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.
The seminal paper
about PPOOA was published in 1998. "An Architectural Style for Object-Oriented
Real-Time Systems", 5th International Conference on Software Reuse.
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
- 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.
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.