Software Engineering with PSF
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.