A Formal Calculus for the Compositional Pattern-Based Design of Correct Real-Time Systems∗

The trend towards more complex software within today’s technical systems results in an increasing demand for dependable high quality software for realtime systems. In this report the foundations for the compositional pattern-based design of correct high level designs and architectures for real-time systems are presented. A formal calculus including a notion of discrete-time automata, a deadlock preserving refinement notion, and a class of supported compositional constraints is developed. It permits to design the required complex cooperation between the system components using verified patterns and includes support to derived the related correct component behavior in a systematic manner, such that the components itself do not invalidate the verified cooperation patterns. keywords: Real-Time Systems, Compositional Verification, Model Checking, Behavior Synthesis ∗This work was developed in the course of the Special Research Initiative 614 – Self-optimizing Concepts and Structures in Mechanical Engineering – University of Paderborn, and was published on its behalf and funded by the Deutsche Forschungsgemeinschaft.

[1]  Rob J. van Glabbeek,et al.  The Linear Time - Branching Time Spectrum I , 2001, Handbook of Process Algebra.

[2]  Holger Giese,et al.  Towards the compositional verification of real-time UML designs , 2003, ESEC/FSE-11.

[3]  Wolfgang Müller,et al.  An OCL Extension for Real-Time Constraints , 2002, Object Modeling with the OCL.

[4]  K. Mani Chandy,et al.  Proofs of Networks of Processes , 1981, IEEE Transactions on Software Engineering.

[5]  Edmund M. Clarke,et al.  Using Branching Time Temporal Logic to Synthesize Synchronization Skeletons , 1982, Sci. Comput. Program..

[6]  Wang Yi,et al.  UPPAAL Implementation Secrets , 2002, FTRTFT.

[7]  Holger Giese Towards Scenario-Based Synthesis for Parametric Timed Automata , 2003 .

[8]  Kassem Saleh,et al.  Synthesis of communications protocols: an annotated bibliography , 1996, CCRV.

[9]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[10]  Kathi Fisler,et al.  Verifying cross-cutting features as open systems , 2002, SIGSOFT '02/FSE-10.

[11]  Sérgio Vale Aguiar Campos,et al.  The Verus Tool: A Quantitative Approach to the Formal Verification of Real-Time Systems , 1997, CAV.

[12]  Holger Giese,et al.  Real-Time Statechart Semantics , 2003 .

[13]  David Notkin,et al.  Model checking large software specifications , 1996, SIGSOFT '96.

[14]  Sergio Yovine,et al.  KRONOS: a verification tool for real-time systems , 1997, International Journal on Software Tools for Technology Transfer.

[15]  Rob J. van Glabbeek,et al.  The Linear Time - Branching Time Spectrum II , 1993, CONCUR.

[16]  Kai Koskimies,et al.  Summary report of the OOPSLA 2000 workshop on scenario-based round-trip engineering , 2001, SOEN.

[17]  Reinhard Gotzhein,et al.  Deriving protocol specifications from service specifications including parameters , 1990, TOCS.

[18]  A. Prasad Sistla,et al.  Quantitative temporal reasoning , 1990, Real-Time Systems.

[19]  Holger Giese,et al.  Contract-based component system design , 2000, Proceedings of the 33rd Annual Hawaii International Conference on System Sciences.

[20]  Robin Milner,et al.  An Algebraic Definition of Simulation Between Programs , 1971, IJCAI.

[21]  Clemens A. Szyperski,et al.  Component software - beyond object-oriented programming , 2002 .

[22]  Jürgen Ruf,et al.  RAVEN: Real-Time Analyzing and Verification Environment , 2001, J. Univers. Comput. Sci..

[23]  Rajeev Alur,et al.  Model-checking for real-time systems , 1990, [1990] Proceedings. Fifth Annual IEEE Symposium on Logic in Computer Science.

[24]  Edmund M. Clarke,et al.  Model Checking , 1999, Handbook of Automated Reasoning.

[25]  Robin Milner,et al.  Communication and concurrency , 1989, PHI Series in computer science.