Towards User-Friendly and Efficient Analysis with Alloy

In model-driven engineering, structural models represent software at the early phases of software development. They are assumed to generate the models in subsequent phases which finally result in software. Thus, it is important to make sure these models are correct w.r.t. different concerns, e.g., consistency, or lack of redundant constraints. In this paper, we present a bounded verification approach using Alloy and integrate it into a graphical modelling tool. The graphical models and the properties to be verified are automatically transformed to Alloy specifications, which are examined by the Alloy Analyzer to verify whether the models satisfy the properties. The verification results are presented as feedbacks in the modelling tool. In this way, a model designer can verify models without knowing the underlying verification techniques and receive user-friendly feedbacks. A challenge in the verification approach is scalability. To tackle this, we present a technique for splitting models into submodels according to their constraints and the properties to be verified. A submodel is left-total if each of its instances can be extended to an instance of the whole model by adding elements typed by the elements that are not in the submodel. The verification of a model is then reduced to the verification of its left-total submodels. We will demonstrate the approach by a running example and we present an experimental result to show that the splitting technique may alleviate the scalability problem.

[1]  Adrian Rutle,et al.  DPF Workbench: a multi-level language workbench for MDE , 2013 .

[2]  Behzad Bordbar,et al.  From UML to alloy and back again , 2009, MODELS'09.

[3]  Michael Barr,et al.  Category theory for computing science , 1995, Prentice Hall International Series in Computer Science.

[4]  Martin Gogolla,et al.  Validating UML and OCL models in USE by automatic snapshot generation , 2005, Software & Systems Modeling.

[5]  Jordi Cabot,et al.  Formal verification of static software models in MDE: A systematic review , 2014, Inf. Softw. Technol..

[6]  Jordi Cabot,et al.  Lightweight String Reasoning for OCL , 2012, ECMFA.

[7]  Hartmut Ehrig,et al.  Fundamentals of Algebraic Graph Transformation (Monographs in Theoretical Computer Science. An EATCS Series) , 1992 .

[8]  Adrian Rutle,et al.  DPF Workbench: A Diagrammatic Multi-Layer Domain Specific (Meta-)Modelling Environment , 2012 .

[9]  Adrian Rutle,et al.  Diagram predicate framework: A formal approach to MDE , 2010 .

[10]  Jordi Cabot,et al.  UMLtoCSP: a tool for the formal verification of UML/OCL models using constraint programming , 2007, ASE.

[11]  Douglas C. Schmidt,et al.  Guest Editor's Introduction: Model-Driven Engineering , 2006, Computer.

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

[13]  Michael Barr,et al.  Category theory for computing science (2. ed.) , 1995, Prentice Hall international series in computer science.

[14]  Martin Gogolla,et al.  Initiating a Benchmark for UML and OCL Analysis Tools , 2013, TAP@STAF.

[15]  R. Ulusay,et al.  Object Constraint Language Specification , 1997 .

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

[17]  Jordi Cabot,et al.  EMFtoCSP: A tool for the lightweight verification of EMF models , 2012, 2012 First International Workshop on Formal Methods in Software Engineering: Rigorous and Agile Approaches (FormSERA).

[18]  Achim D. Brucker,et al.  HOL-OCL: A Formal Proof Environment for UML/OCL , 2008, FASE.

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

[20]  M. Alam,et al.  An Accessible Formal Specification of the UML and OCL Meta-Model in Isabelle/HOL , 2007, 2007 IEEE International Multitopic Conference.

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

[22]  Uffe Kock Wiil,et al.  Verification-driven slicing of UML/OCL models , 2010, ASE.

[23]  Jordi Cabot,et al.  Verification of UML/OCL Class Diagrams using Constraint Programming , 1899, 2008 IEEE International Conference on Software Testing Verification and Validation Workshop.