Software Engineering with Process Algebra

The Software Engineering with Process Algebra project investigates the application of process algebra (PA) in the field of software engineering (SE) and software re-engineering (SRE). This work is motivated by a range of previous examples of the use of process algebra in the area of architectural description languages (ADL's). We do not limit our attention to software architecture but apply process algebra on other levels of abstraction as well.

The main advantage of applying process algebra is that process algebra techniques and tools can be used in the development of software design on the different abstract levels.

We use the process algebra based language PSF (Process Specification Formalism). This language is based on ACP (Algebra of Communicating Processes) and ASF (Algebraic Specification Formalism). PSF is accompanied by a Toolkit that contains a compiler, and a simulator. The simulator can be coupled to an animation to visualize the simulated actions. An animation can be created by hand or generated from the specification.

Using PSF for the specification of abstract levels of the software design makes it possible to test the abstract design and thus to give feedback to previous steps in the design much earlier.

To describe our software development process more formally, we present it in a Computer Aided Software Engineering (CASE) setting.