Verifying UML-RT protocol conformance using model checking

In UML-RT, capsules communicate via protocols which connect capsule ports. Protocol StateMachines (PSMs) allow the description of the legal message sequences of a port and are potentially very useful for the modular development and verification of systems. However, it is unclear how exactly conformance of a capsule to its PSMs should be defined and how this can be checked automatically. In this paper, we provide a definition of protocol conformance and show how software model checking can be used to check protocol conformance automatically. We describe the design and implementation of a tool that checks the conformance of a capsule with Java action code with respect to the PSMs of all its ports. The results of the validation of the tool on three case studies are summarized.

[1]  Bran Selic,et al.  Using UML for Modeling Complex Real-Time Systems , 1998, LCTES.

[2]  Reiko Heckel,et al.  Model-Based Verification and Validation of Properties , 2003, UNIGRA.

[3]  Laura Giordano,et al.  Verifying Agent Conformance with Protocols Specified in a Temporal Action Logic , 2007, AI*IA.

[4]  Tevfik Bultan,et al.  Analyzing singularity channel contracts , 2009, ISSTA.

[5]  Thomas Weigert,et al.  Experiences in Deploying Model-Driven Engineering , 2007, SDL Forum.

[6]  Vasco Thudichum Vasconcelos,et al.  Language Primitives and Type Discipline for Structured Communication-Based Programming Revisited: Two Systems for Higher-Order Session Communication , 1998, SecReT@ICALP.

[7]  Daniel Kroening,et al.  Model checking concurrent linux device drivers , 2007, ASE.

[8]  Reiko Heckel,et al.  A methodology for specifying and analyzing consistency of object-oriented behavioral models , 2001, ESEC/FSE-9.

[9]  Stuart Kent,et al.  Model Driven Engineering , 2002, IFM.

[10]  James R. Larus,et al.  Singularity: rethinking the software stack , 2007, OPSR.

[11]  Sriram K. Rajamani,et al.  SLAM and Static Driver Verifier: Technology Transfer of Formal Methods inside Microsoft , 2004, IFM.

[12]  Yuanyuan Song,et al.  Modular aspect-oriented design with XPIs , 2010, ACM Trans. Softw. Eng. Methodol..

[13]  Oscar Nierstrasz,et al.  Regular types for active objects , 1993, OOPSLA '93.

[14]  Reiko Heckel,et al.  Consistency-Preserving Model Evolution through Transformations , 2002, UML.

[15]  Osamu Shigo,et al.  Constructing Behavioral State Machine using Interface Protocol Specification , 2006, 2006 13th Asia Pacific Software Engineering Conference (APSEC'06).

[16]  James R. Larus,et al.  Language support for fast and reliable message-based communication in singularity OS , 2006, EuroSys.

[17]  Felix Naumann,et al.  Data fusion , 2009, CSUR.

[18]  Rupak Majumdar,et al.  Software model checking , 2009, CSUR.

[19]  Parosh Aziz Abdulla,et al.  Designing Safe, Reliable Systems Using Scade , 2004, ISoLA.

[20]  Roberto M. Amadio,et al.  On the symbolic reduction of processes with cryptographic functions , 2001, LACPV@CAV.

[21]  Alberto Martelli,et al.  Verifying Protocol Conformance for Logic-Based Communicating Agents , 2004, CLIMA.

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

[23]  Bran Selic,et al.  Real-time object-oriented modeling , 1994, Wiley professional computing.

[24]  Daniel Brand,et al.  On Communicating Finite-State Machines , 1983, JACM.

[25]  Stephan Merz,et al.  Model checking UML state machines and collaborations , 2001, Workshop on Software Model Checking @ CAV.

[26]  Klaus Havelund,et al.  Model Checking Programs , 2004, Automated Software Engineering.

[27]  David Harel,et al.  Rhapsody: A Complete Life-Cycle Model-Based Development System , 2002, IFM.