Specifying UML Protocol State Machines in Alloy

A UML Protocol State Machine (PSM) is a behavioral diagram for the specification of the external behavior of a class, interface or component. PSMs have been used in the software development process for different purposes, such as requirements analysis and testing. However, like other UML diagrams, they are often difficult to validate and verify, specially when combined with other artifacts, such as Object Constraint Language (OCL) specifications. This drawback can be overcome by application of an off-the-shelf formal method, namely one supporting automatic validation and verification. Among those, we have the increasingly popular Alloy, based on a simple relational flavor of first-order logic. This paper presents a model transformation from PSMs, optionally complemented with OCL specifications, to Alloy. Not only it enables automatic verification and validation of PSMs, but also a smooth integration of Alloy in current software development practices.

[1]  Piotr Kosiuczenko Specification of Invariability. , 2006 .

[2]  Kyriakos Anastasakis,et al.  A Model Driven Approach for the Atomated Analysis of UML Class Diagrams , 2009 .

[3]  Benoît Ries,et al.  SESAME: a Model-Driven Process for the Test Selection of Small-size Safety-related Embedded Software , 2009 .

[4]  João Pascoal Faria,et al.  Test Generation from Bounded Algebraic Specifications using Alloy , 2011, ICSOFT.

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

[6]  Daniel Riesco,et al.  Translating Alloy Specifications to UML Class Diagrams Annotated with OCL , 2011, SEFM.

[7]  Arnaud Lanoix,et al.  Trustworthy Assembly of Components using the B Refinement , 2008, e Informatica Softw. Eng. J..

[8]  Ana C. R. Paiva,et al.  Towards the Integration of Visual and Formal Models for GUI Testing , 2007, MBT.

[9]  Ivan Porres,et al.  Generating class contracts from UML protocol statemachines , 2009, MoDeVVa '09.

[10]  George S. Avrunin,et al.  Patterns in property specifications for finite-state verification , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[11]  Sousuke Amasaki,et al.  Model Checking Consistency of UML Diagrams Using Alloy , 2010 .

[12]  Heike Wehrheim,et al.  Checking Consistency in UML Diagramms: Classes and State Machines , 2003, FMOODS.

[13]  Bernd Westphal,et al.  The Rhapsody UML Verification Environment , 2004, Proceedings of the Second International Conference on Software Engineering and Formal Methods, 2004. SEFM 2004..

[14]  Piotr Kosiuczenko Specification of invariability in OCL , 2006, MoDELS'06.

[15]  Mana Taghdiri,et al.  A Lightweight Formal Analysis of a Multicast Key Management Scheme , 2003, FORTE.

[16]  Farida Mostefaoui,et al.  Verification of Aspect-UML models using alloy , 2007, AOM@AOSD.

[17]  Giancarlo Guizzardi,et al.  Transforming OntoUML into Alloy: towards conceptual model validation using a lightweight formal method , 2010, Innovations in Systems and Software Engineering.

[18]  Colin F. Snook,et al.  UML-B: Formal modeling and design aided by UML , 2006, TSEM.

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

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

[21]  Daniel Jackson,et al.  Software Abstractions - Logic, Language, and Analysis , 2006 .

[22]  Bernhard Rumpe,et al.  CD2Alloy: class diagrams analysis using alloy revisited , 2011, MODELS'11.

[23]  Manachai Toahchoodee,et al.  Verification and Trade-Off Analysis of Security Properties in UML System Models , 2010, IEEE Transactions on Software Engineering.

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

[25]  Indrakshi Ray,et al.  On challenges of model transformation from UML to Alloy , 2008, Software & Systems Modeling.

[26]  Adam Wolisz,et al.  Formal Techniques for Networked and Distributed Systems - FORTE 2003 , 2003, Lecture Notes in Computer Science.