PPOOA Evolution

PPOOA is the result of 17 years of research led by Prof. Jose L. Fernandez from Madrid   Technical University (UPM), located in Madrid, Spain (http://www.etsii.upm.es/ingor/proyectos/ )  .

The main goal of PPOOA research is to offer a rigorous solution for architecting real-time systems that can be easy adopted by industry.

 It began with a taxonomy of coordination mechanisms for real-time systems developed by the author at the SEI: "A Taxonomy of Coordination Mechanisms Used in Real-Time Software Based on Domain Analysis". CMU/SEI-93-TR-34. Software Engineering Institute. Carnegie Mellon University.  December 1993.

The seminal paper about PPOOA was published in 1998. "An Architectural Style for Object-Oriented Real-Time Systems", 5th International Conference on Software Reuse. Victoria (Canada). IEEE 1998. This paper describes the style emphasizing the usage of coordination mechanisms and the architecting guidelines specified for the style.

 PPOOA was developed before UML standard publication. So it did not use UML notation. As UML popularity increased, the author realized the importance of using UML notation. So, partially funded by the European Union CARTS  IST project, we developed a UML profile for real-time systems based on PPOOA, and an architecting process named PPOOA_AP. PPOOA and PPOOA_AP were validated in autonomous robots and ground space systems developed by the industrial partners of CARTS (1999-2001).

Finally on 2004, PPOOA has been implemented in Microsoft Visio. This is a general design tool that provides mechanisms for implementing diverse engineering methods. This implementation offers the benefits of commercial CASE tools that already support UML notation.

 PPOOA Features

- A complete solution (building elements+architecting process+CASE tool) for architecting  real-time systems.

- Based on UML notation. New stereotypes for PPOOA components and coordination mechanisms were added to UML metamodel. 

- Supports a diversity of components and coordination mechanisms (for synchronization and communication) not found in standard UML.

- Highlights  behaviour modelling (“causal flow of activities” modelling system responses) based on UML activity diagrams allowing performance assessment.

- Eases the system synthesis and trade-offs , by allowing the allocation of behaviour to the architecture components (not found in other tools).

- An architecting process (PPOOA_AP), defining the steps to build the logical components architecture with explicit concurremcy concerns (processes view).

- PPOOA is implemented on the top of Microsoft Visio commercial CASE tool. 

 

First New Feature: Support for Model-Based Performance Evaluation

Predicting software performance at early phases ( for example  after architecture) of the software life cycle and evaluating it based on UML models is an attractive approach for saving expensive effort in system testing and fix it later.

PPOOA_Visio CASE tool offers a new module ("Visio add on") that translates the PPOOA_UML architecture diagrams of a system to a XML file that can be read by Cheddar, a  "scheduling analyzer and simulation tool" developed by the University of Brest (France)  ( http://beru.univ-brest.fr/~singhoff/cheddar/).

How does model-based performance evaluation work with PPOOA and Cheddar?

When a software architect has completed the software architecture models in PPOOA_Visio, he or she can execute the PPOOA _XML add on. This add on performs the identification of the different components of the system architecture ( processes, buffers and resources) and the dependencies among them. This information is described in an XML file that is used as an input to the Cheddar tool. The Cheddar tool offers real-time feasibility checks based on sheduling theory ( for example Rate Monotonic Analysis, RMA) without executing a  real scheduler. Additionally Cheddar offers simulation engine which allows the software architect to describe and run simulations of the architected system.

  • Demo in English (only video) showing the interoperability between PPOOA CASE tool and Cheddar sheduling analyzer and simulation tool (ppooa_cheddar_e.zip)
  • Demo in Spanish (only video) showing the interoperability between PPOOA CASE tool and  Cheddar scheduling analyzer and simulation tool (ppooa_cheddar_es.zip)

Second New Feature: Deadlock risk assessment

Current reserarch topic related to PPOOA is a new method for deadlock risk assessment. The approach is applicable to software architectures designed with PPOOA method and tool. Here deadlock detection is based on an innovative approach combining graph theory and resources utilization patterns which are identified using the system architecture  static and dynamic views or CFAs.

No time estimation inputs are needed for using this feature for deadlock risk asessment. If the user prefers to evaluate the architecture based on schedulability theory and time estimation we offer the interoperation with Cheddar tool described in the first new feature above.

This new deadlock risk assessment feature has been applied to case studies in different domains: industrial control systems, avionics and robotics. See the publications page for papers related to this innovative issue.