Eclipse POOSL comes with an integrated editing, debugging and validation environment combined with a high-speed simulation engine.

Support of POOSL language

The Parallel Object-Oriented Specification Language (POOSL) is a very expressive and specialized language to model concurrent hardware/software systems.

The language is structured into three layers:

  • Object-oriented data structures: atomic deterministic operations.
  • Hierarchical architecture: composition of interacting parallel processes.
  • Non-deterministic process behavior: internal data, synchronous communication and discrete time.

Textual Editor

The edit view allows a user to edit POOSL process and data classes textually.

The editor supports key features that are expected from a modern IDE, such as

  • syntax highlighting,
  • content assist,
  • quick fixes,
  • validation,
  • formatting,
  • navigation,
  • and refactoring/renaming.

Composite Structure Diagram

Some users may prefer a graphical view for adding and connecting POOSL processes and clusters, or just to understand what a given system architecture looks like.

This is all possible using the composite structure diagram.

The graphical representation in the composite structure diagram is synchronized with the edit view at all times, allowing the user to seemlessly switch between editing in the two views.

Class Diagram

Class diagrams can be generated to illustrate the relation between POOSL classes and showing the methods and a parameters that are available for each class.

It is also possible to edit and add new classes, methods, and parameters graphically and having the appropriate POOSL code being added automatically in the synchronized edit view.

Debug View

The debug view facilitates efficient debugging by allowing a user to go through a simulation step-by-step or to execute to specified breakpoints.

While the system is simulated in this view, it is possible to view interactions between POOSL processes in an automatically generated sequence diagram.

It is also possible to visualize the execution in a communication diagram, which displays message communications on top of a composite structure diagram.