The Workbench : Project Types

The Keywood Workbench supports a number of different Project Types. Some of the ways in which Project Types differ are:

The reason that the Keywood Workbench supports different project types is historical. Over the last twenty years or so, a number of different tools have been produced to support Jackson methods - for example PDF, JSP-COBOL, and JSP-TOOL, and a major design aim of the workbench was to be able to support the file formats and code generation schemes used by these earlier tools.

To Workbench users, the different Project types manifest themselves as variations in the composition of the tree displayed by the Project Editor, and in the operations that can be invoked via the tree.

The Workbench currently supports the following Project Types:

(Note that your installation may be restricted, and therefore not all of these Project Types may be available to you.)

AbbeyNational Projects

AbbeyNational Projects support the Abbey National Building Society's JSD/JSP development procedures. The source files for an AbbeyNational Project are a number of PDF files plus an optional 'BGN' header file. The JSP Structure Editor is used to edit the contents of the PDF files.

The operations and conditions in the PDF files, plus the information in the BGN file are assumed to be fragments of a JSP-COBOL source program. The Workbench can construct the JSP-COBOL source from these fragments and then translate it into pure COBOL. The COBOL output produced by the Workbench is lexically equivalent to that produced by the original JSP-COBOL processor.

All the JSD-style network information is encoded as special JSP-COBOL statements, so for AbbeyNational Projects the JSD Network Editor is not used to construct network descriptions. It can, however, be used to view them, because each time the Workbench generates COBOL from a JSP-COBOL file, it also automatically generates a JSD Network Editor diagram from it.

Note also that JSP-COBOL macros and copy files are supported - the Workbench allows you to add references to the relevant libraries to your Projects.

JSPTool Projects

The source for a JSPTool Project is a single JSP-TOOL file, which is edited using the JSP Structure Editor. In contrast to PDF files which can only hold one process structure and an associated header, a JSP-TOOL file can contain a number of process structures each with an associated header and trailer, and also a header and trailer for the whole file. This means that a whole JSD Network can be stored in a single source file. For this kind of project the Workbench again assumes that the fragments inside the source file are fragments of JSP-COBOL, and provides the same COBOL code and diagram generation facilities as for AbbeyNational Projects.

JSPCobol Projects

A JSPCobol Project is like a JSPTool project without the JSP-TOOL source file - in other words the source material for the Project is held as a single JSP-COBOL file. With this kind of project you can edit the contents of the JSP-COBOL file using the JSP Structure Editor, and the Workbench provides the same COBOL code and diagram generation facilities as for AbbeyNational and JSPTool Projects.

Note however that the Workbench cannot read ANY JSP-COBOL file - it can only read those files originally saved by itself. This means that they must either be created from scratch using the Structure Editor, or read into the Structure Editor as PDF or JSP-TOOL files, before being saved as JSP-COBOL files.

SimplePDF projects

SimplePDF projects are for people who just want to edit PDF files. The source material for a SimplePDF Project is, as one might expect, a collection of PDF files that can be edited using the JSP Structure Editor. For this kind of project the Workbench provides a flexible code-generation scheme (completely different from that used to process JSP-COBOL) that can generate code in various target languages.

JSDNetwork Projects

JSDNetwork Projects are for new developments where there is no reliance on the earlier tools or their file formats. In this kind of project the JSD Network Editor is used to construct a network. The internal structure of each process in the network is edited using the JSP Structure Editor, which can be launched simply by double-clicking on a box in the network. The flexible code-generation scheme used in SimplePDF projects is also used here. The source file format used to hold process structures in JSDNetwork Projects is an extended version of the PDF format called PDFX (which allows each process to have a trailer as well as a header). A header and trailer for the whole project are stored in a simple text file with a 'PHAT' extension (which stands for Project Header And Trailer).