Dipl.-Ing. Lars Grunske, 1 Hasso-Plattner-Institute for Software System Engineering at the University of Potsdam Department of Software Engineering and Quality Management 3th OOPSLA Workshop on Domain-Specific Modeling A Visual Architecture Description Language for Embedded Systems with Hierarchical Typed Hypergraphs Dipl.-Ing., Dipl. Inf. Lars Grunske
Dipl.-Ing. Lars Grunske, 2 Hasso-Plattner-Institute for Software System Engineering at the University of Potsdam Department of Software Engineering and Quality Management Agenda Context Basic example The architecture description language COOL Software type system Hardware type system Extension for the behavior specification and architecture evaluation Graphical notation Practical realization The tool “Balance” Case study Conclusion
Dipl.-Ing. Lars Grunske, 3 Hasso-Plattner-Institute for Software System Engineering at the University of Potsdam Department of Software Engineering and Quality Management Context Goal: Architecture specification of embedded systems and quality improvement by architecture transformation Needs: Transformation Operators that: Improve the non-functional properties Preserve the functional properties
Dipl.-Ing. Lars Grunske, 4 Hasso-Plattner-Institute for Software System Engineering at the University of Potsdam Department of Software Engineering and Quality Management Basic Example (1) Level Crossing Control System Safety critical situation (hazard): Gates are open and the arriving train gets the permission to enter the level crossing section
Dipl.-Ing. Lars Grunske, 5 Hasso-Plattner-Institute for Software System Engineering at the University of Potsdam Department of Software Engineering and Quality Management Basic Example (2) Solution: Increase the reliability of the gate sensor by transforming the architecture
Dipl.-Ing. Lars Grunske, 6 Hasso-Plattner-Institute for Software System Engineering at the University of Potsdam Department of Software Engineering and Quality Management Basic Example (3) The transformation operator “Homogeneous Redundancy with Voting” Problem: How can such a system be modelled in a consistent way
Dipl.-Ing. Lars Grunske, 7 Hasso-Plattner-Institute for Software System Engineering at the University of Potsdam Department of Software Engineering and Quality Management The ADL COOL Focus Aim Model the architecture of software intensive technical or embedded systems Requirements Must be suitable to describe the sensors, actuators, hardware components, and software components. Must provide a transformation formalism Must have a graphical notation Must have a formalism for hierarchical decomposition It must be possible: -to determine the non-functional properties (NFPs) of the system such as safety, availability, reliability, and temporal correctness -to check the fulfillment of the non-functional requirements. Must allow for the specification of the functional behavior
Dipl.-Ing. Lars Grunske, 8 Hasso-Plattner-Institute for Software System Engineering at the University of Potsdam Department of Software Engineering and Quality Management The ADL COOL Concept Use of hierarchical typed hypergraphs Formal Specification Language Architecture transformation = Application of hypergraph transformation
Dipl.-Ing. Lars Grunske, 9 Hasso-Plattner-Institute for Software System Engineering at the University of Potsdam Department of Software Engineering and Quality Management The ADL COOL Software Aspects
Dipl.-Ing. Lars Grunske, 10 Hasso-Plattner-Institute for Software System Engineering at the University of Potsdam Department of Software Engineering and Quality Management The ADL COOL Hardware Aspects
Dipl.-Ing. Lars Grunske, 11 Hasso-Plattner-Institute for Software System Engineering at the University of Potsdam Department of Software Engineering and Quality Management Extending the Structure Specification for Architecture Evaluation and Behaviour Specification Behaviour specification Annotate architectural elements with interface automata Requirements Tracing Extension of the meta-classes hardware element and software element with requirements references Architecture Evaluation Extension of the meta-classes hardware element and software element with evaluation models: -Fault tree models -Markov models -Scheduling models -Performance models -Economical models
Dipl.-Ing. Lars Grunske, 12 Hasso-Plattner-Institute for Software System Engineering at the University of Potsdam Department of Software Engineering and Quality Management Graphical Notation
Dipl.-Ing. Lars Grunske, 13 Hasso-Plattner-Institute for Software System Engineering at the University of Potsdam Department of Software Engineering and Quality Management Practical Realization and the Tool Balance
Dipl.-Ing. Lars Grunske, 14 Hasso-Plattner-Institute for Software System Engineering at the University of Potsdam Department of Software Engineering and Quality Management Conclusion We have presented in these slides and the paper: Basic concepts of architectural transformations Architecture description language COOL Visualization of this ADL Practical realization of the presented concepts Thanks for your attention Questions?