Contracts for Multi-instance UML Activities

We present a novel way of encapsulating UML activities using interface contracts, which allows to verify functional properties that depend on the synchronization of parallel instances of software components. Encapsulated UML activities can be reused together with their verification results in SPACE, a model-driven engineering method for reactive systems. Such compositional verification significantly improves the scalability of the method. Employing a small example of a load balancing system, we explain the semantics of the contracts using the temporal logic TLA. Thereafter, we propose a more easily comprehensible graphical notation and clarify that the contracts are able to express the variants of multiplicity that we can encounter using UML activities. Finally, we give the results of verifying some properties of the example system using the TLC model checker.

[1]  Alexander Kurz,et al.  Algebra and Coalgebra in Computer Science, Third International Conference, CALCO 2009, Udine, Italy, September 7-10, 2009. Proceedings , 2009, CALCO.

[2]  Alan Bundy,et al.  Constructing Induction Rules for Deductive Synthesis Proofs , 2006, CLASE.

[3]  Gerard J. Holzmann,et al.  An improvement in formal verification , 1994, FORTE.

[4]  Kwang-Ting Cheng,et al.  Automatic Functional Test Generation Using The Extended Finite State Machine Model , 1993, 30th ACM/IEEE Design Automation Conference.

[5]  Vladimir Mencl Specifying Component Behavior with Port State Machines , 2004, Electron. Notes Theor. Comput. Sci..

[6]  George J. Milne,et al.  Correct Hardware Design and Verification Methods , 2003, Lecture Notes in Computer Science.

[7]  Vidar Slåtten,et al.  Tool support for the rapid composition, analysis and implementation of reactive services , 2009, J. Syst. Softw..

[8]  Peter Herrmann,et al.  Automated Encapsulation of UML Activities for Incremental Development and Verification , 2009, MoDELS.

[9]  Daniel Amyot,et al.  Service Discovery and Component Reuse with Semantic Interfaces , 2005, SDL Forum.

[10]  Krzysztof R. Apt,et al.  Logics and Models of Concurrent Systems , 1989, NATO ASI Series.

[11]  Kevin Lano,et al.  Slicing of UML models using model transformations , 2010, MODELS'10.

[12]  Heiko Krumm,et al.  Analyzing Network Management Effects with SPIN and cTLA , 2004, SEC.

[13]  Jean-Marc Jézéquel,et al.  Making Components Contract Aware , 1999, Computer.

[14]  Elie Najm,et al.  SDL 2007: Design for Dependable Systems, 13th International SDL Forum, Paris, France, September 18-21, 2007, Proceedings , 2007, SDL Forum.

[15]  Rolf Hennicker,et al.  Views on Behaviour Protocols and Their Semantic Foundation , 2009, CALCO.

[16]  David Lee,et al.  Formal Techniques for Distributed Systems, Joint 11th IFIP WG 6.1 International Conference FMOODS 2009 and 29th IFIP WG 6.1 International Conference FORTE 2009, Lisboa, Portugal, June 9-12, 2009. Proceedings , 2009, FMOODS/FORTE.

[17]  John Rushby,et al.  Disappearing formal methods* , 2000, Proceedings. Fifth IEEE International Symposium on High Assurance Systems Engineering (HASE 2000).

[18]  Amir Pnueli,et al.  On the Development of Reactive Systems , 1989, Logics and Models of Concurrent Systems.

[19]  Gerard J. Holzmann,et al.  The SPIN Model Checker - primer and reference manual , 2003 .

[20]  Vidar Slåtten,et al.  ENGINEERING SUPPORT FOR UML ACTIVITIES BY AUTOMATED MODEL-CHECKING | AN EXAMPLE , 2007 .

[21]  Leslie Lamport,et al.  Model Checking TLA+ Specifications , 1999, CHARME.

[22]  Rik Eshuis,et al.  Symbolic model checking of UML activity diagrams , 2006, TSEM.

[23]  Leslie Lamport,et al.  The temporal logic of actions , 1994, TOPL.

[24]  Harald Störrle,et al.  Semantics and Verification of Data Flow in UML 2.0 Activities , 2005, VLFM.

[25]  Peter Herrmann,et al.  FORMALIZING COLLABORATION-ORIENTED SERVICE SPECIFICATIONS USING TEMPORAL LOGIC , 2007 .

[26]  George H. Mealy,et al.  A method for synthesizing sequential circuits , 1955 .

[27]  Peter Herrmann,et al.  Synthesizing Components with Sessions from Collaboration-Oriented Service Specifications , 2007, SDL Forum.

[28]  Amel Mammar,et al.  A formal semantics of timed activity diagrams and its PROMELA translation , 2005, 12th Asia-Pacific Software Engineering Conference (APSEC'05).

[29]  Peter Herrmann,et al.  Reactive Semantics for Distributed UML Activities , 2010, FMOODS/FORTE.