TAPAs model checker
TAPAs is a tool for specifying and analyzing concurrent systems. Its aim is to support teaching of process algebras. Systems are described as process algebra terms that are then mapped to labeled transition systems. Properties can be verified by checking equivalences between concrete and abstract system descriptions or by model checking temporal formulas over the obtained LTS. A key feature of TAPAs that makes it particularly suited for teaching is that it maintains a consistent graphical and textual representation of each system. After a change in the graphic notation, the textual representation is updated immediately; but after textual modifications, the update of the graphical representation has to be manually triggered.
In TAPAs, concurrent systems are described by means of processes, which are nondeterministic descriptions of system behaviors, and process systems, which are obtained by process compositions. Notably, processes can be defined in terms of other processes or process systems. Processes and process systems are composed by using the operators of a given process algebra. Currently, TAPAs supports two process algebras: CCSP and PEPA.
CCSP is obtained from CCS by considering some operators of CSP. After creating a CCSP process system, the user can analyze it using one of the following tools.
- Equivalence Checker: allows to compare pairs of automata using a choice of equivalence
- Model checker: given a model of a system, test automatically whether this model meets a given specification
- Simulator: following one possible execution path through the system and presenting the resulting execution trace to the user.
TAPAS is the result of collective work, beginning in 1990 with a tool named JACK by IEI CNR of Pisa. The work was continued by ISTI-CNR of Pisa. The new TAPAs version was developed at the Dipartimento Sistemi ed Informatica of the University of Florence.