We describe our software development process more formally by presenting the tools
we use in the development process in a CASE (Computer-Aided Software
Engineering) setting.
To reason on CASE technology it is necessary to use a fixed terminology.
We use the terminology as proposed by Fuggetta, which has since been used
by many others.
The following three catagories are used for classifying CASE technology.
- Tools
- support individual process tasks.
- Workbenches
- support process phases or activities and normally consist of a
set of tools with some degree of integration.
- Environments
- support at least a substantial part of the software process and
normally include several integrated workbenches.
In the representation of our workbenches and environments we use the following scheme. Objects to be specified are presented as bold boxes, workbench tools as ellipses, and generated objects as slanted boxes.
We can combine workbenches together with tools for horizontal implementation and vertical implementation to form software engineering environments. The refine step in these environments can be generalized into a software engineering workbench. Several instances of the generalized workbench can be combined to form a software engineering environment.
So far, we used PSF as process algebra language with the workbenches. However, similar workbenches can be set up for variants of PSF or process algebra based languages similar to PSF. By generalizing from PSF we obtain a Process Algebra Software Engineering Workbench.