A Tool for Verified Design using Alloy for Specification and CrocoPat for Verification

The context of our work is a project that focuses on methods and tools for modeling enterprise architectures. An enterprise architecture model represents the structure of an enterprise across multiple levels, from the markets in which it operates down to the implementation of the technical systems that support its operation. These models are based on an ontology that defines the model elements and their relations. In this paper, we describe an efficient method to fully automatically verify the design that our modeling tool manages. We specify the ontology in Alloy, and use the efficient interpreter for relational programs CrocoPat to verify that the design fulfills all constraints specified in the ontology. Technically, we transform all constraints from Alloy into a relational program in CrocoPat’s programming language. Then, we execute the relational program and feed it with a relational representation of the design as input, in order to check that the design element instances fulfill all constraints of the Alloy representation of the ontology. We also present the current limitations of our approach and how –by overcoming these limitations– we can develop an Alloy-based parameterized modeling tool.

[1]  Martin Gogolla,et al.  Validating UML Models and OCL Constraints , 2000, UML.

[2]  Lam-Son Lê,et al.  Definition of an Object-Oriented Modeling Language for Enterprise Architecture , 2005, Proceedings of the 38th Annual Hawaii International Conference on System Sciences.

[3]  Daniel Jackson,et al.  Alloy: a lightweight object modelling notation , 2002, TSEM.

[4]  Cyril S. Ku,et al.  Design Patterns , 2008, Wiley Encyclopedia of Computer Science and Engineering.

[5]  Christopher G. Lasater,et al.  Design Patterns , 2008, Wiley Encyclopedia of Computer Science and Engineering.

[6]  Dirk Beyer,et al.  Relational programming with CrocoPat , 2006, ICSE.

[7]  Lam-Son Lê,et al.  An RM-ODP Based Ontology and a CAD Tool for Modeling Hierarchical Systems in Enterprise Architecture , 2005 .

[8]  Thomas Baar,et al.  An OCL semantics specified with QVT , 2006, MoDELS'06.

[9]  Ephraim R. McLean,et al.  Key Issues for IT Executives , 2004, MIS Q. Executive.

[10]  Alain Wegmann,et al.  On the Systemic Enterprise Architecture Methodology (Seam) , 2003, ICEIS.

[11]  Dirk Beyer,et al.  CrocoPat 2.1 Introduction and Reference Manual , 2004, ArXiv.

[12]  Lam-Son Lê,et al.  SeamCAD: Object-Oriented Modeling Tool for Hierarchical Systems in Enterprise Architecture , 2006, Proceedings of the 39th Annual Hawaii International Conference on System Sciences (HICSS'06).