POOSL, the Parallel Object-Oriented Specification Language [1][2], is an expressive formal modelling language for system specification. POOSL specifications are executable and can be used for validation, verification and performance analysis. In POOSL a system is captured as a set of parallel communicating processes. Processes encapsulate their state and data and interact only through synchronous message passing. POOSL has a mathematically defined semantics [3], which builds on operational semantics of common process calculi, such as CCS [4].
A particular strength of POOSL is its support for performance modeling and statistical analysis techniques [5]. There is an extensive library of stochastic modelling and statistical analysis techniques.
Tools
The POOSL language is only useful, because of the modelling and efficient simulation tools that have been developed, initially by TU/e. Later TNO-ESI has taken over the development of the Integrated Development Environment (IDE), while TU/e continued work on the simulator or execution engine. Currently, the POOSL IDE is an Eclipse project, supported by Obeo, specialist in visual development tools.
The execution engine for POOSL is called Rotalumis. It is a C++ based simulator that efficiently executes POOSL models. It supports co-simulation with external tools and interactive debugging within the POOSL IDE.
Links
- https://projects.eclipse.org/projects/modeling.poosl
- https://www.poosl.org/
- documentation: https://eclipse.github.io/poosl/nightly/help/index.html
References
- (2007): Software/Hardware Engineering with the Parallel Object-Oriented Specification Language. In: 2007 5th IEEE/ACM International Conference on Formal Methods and Models for Codesign (MEMOCODE 2007), pp. 139-148, 2007.
- (1997): Specification of reactive hardware/software systems : the method software/hardware engineering (SHE). Electrical Engineering, 1997, ISBN: 90-386-0280-4.
- (2002): Constructive tool design for formal languages : from semantics to executing models. Electrical Engineering, 2002, ISBN: 90-386-1960-X.
- (1980): A calculus of communicating systems. Springer, 1980.
- (2004): Performance modelling for system-level design. Electrical Engineering, 2004, ISBN: 90-386-1633-3, (Proefschrift.).
Selected Related Publications
2007
Software/Hardware Engineering with the Parallel Object-Oriented Specification Language Proceedings Article
In: 2007 5th IEEE/ACM International Conference on Formal Methods and Models for Codesign (MEMOCODE 2007), pp. 139-148, 2007.
A Performance Analysis Tool for Scenario-Aware Streaming Applications Proceedings Article
In: Fourth International Conference on the Quantitative Evaluation of Systems (QEST 2007), pp. 269-270, 2007.
2006
Correctness-preserving synthesis for real-time control software Proceedings Article
In: 2006 Sixth International Conference on Quality Software (QSIC'06), pp. 65-73, 2006.
2004
Performance modelling for system-level design PhD Thesis
Electrical Engineering, 2004, ISBN: 90-386-1633-3, (Proefschrift.).
2002
Constructive tool design for formal languages : from semantics to executing models PhD Thesis
Electrical Engineering, 2002, ISBN: 90-386-1960-X.
Formal techniques for verification of complex real-time systems PhD Thesis
Electrical Engineering, 2002, ISBN: 90-386-1930-8.
1997
Specification of reactive hardware/software systems : the method software/hardware engineering (SHE) PhD Thesis
Electrical Engineering, 1997, ISBN: 90-386-0280-4.
1980
A calculus of communicating systems Book
Springer, 1980.