Currently, the following system models are available in the form of a PSF library.
ToolBusIn our research of Software Engineering with PSF we used the ToolBus as system model. The ToolBus is a coordination architecture that uses a scripting language based on process algebra to describe the communication between software tools making up a software system.
Client / Server ArchitectureWe aim at the development of a general model for client/server systems. Using a toolkit that hides the transport protocol and the encoding/decoding of the data, applications can be built that make use of for instance web services.
Our goal is to support other system models as well. For this, we have to develop PSF libraries for the specification of these models. Some of these models can be intermixed allowing for implementation of parts of the system in different models, but they can also be refinements of other models allowing for more levels of design.
Modelling Programming Language ConceptsTo close the gap between the specification of the design for a system and its implementation, we propose to refine the specification into a specification that uses the concepts of the implementation langauge(s) without the implementation details.
One of these concepts is the function call mechanism, and another is the object-orientation paradigm. We have started a sub-project on computational models for this.
Peer to Peer ModelWhere in the client/server model the nodes are either a client or a server, in the Peer to Peer (P2P) model the nodes can simultanously function as both a client and a server.