Generating operation specifications from UML class diagrams: A model transformation approach

One of the more tedious and complex tasks during the specification of conceptual schemas (CSs) is modeling the operations that define the system behavior. This paper aims to simplify this task by providing a method that automatically generates a set of basic operations that complement the static aspects of the CS and suffice to perform all typical life-cycle create/update/delete changes on the population of the elements of the CS. Our method guarantees that the generated operations are executable, i.e. their executions produce a consistent state wrt the most typical structural constraints that can be defined in CSs (e.g. multiplicity constraints). In particular, our method takes as input a CS expressed as a Unified Modeling Language (UML) class diagram (optionally defined using a profile to enrich the specification of associations) and generates an extended version of the CS that includes all necessary operations to start operating the system. If desired, these basic operations can be later used as building blocks for creating more complex ones. We show the formalization and implementation of our method by means of model-to-model transformations. Our approach is particularly relevant in the context of Model Driven Development approaches.

[1]  Bernhard Thalheim,et al.  Semantics in Databases , 2001, Semantics in Databases.

[2]  Sebastian Link Consistency Enforcement in Databases , 2001, Semantics in Databases.

[3]  Shane Sendall,et al.  From Use Cases to System Operation Specifications , 2000, UML.

[4]  Terry A. Halpin,et al.  Information modeling and relational databases (2. ed.) , 2008 .

[5]  Desmond D'Souza,et al.  Objects, Components, and Frameworks with UML: The Catalysis Approach , 1998 .

[6]  Ruth Raventós Pagès A conceptual schema for a conference management application , 2005 .

[7]  Antoni Olivé,et al.  The Role of Structural Events in Behaviour Specification , 1997, DEXA.

[8]  Jim Davies,et al.  Automatic maintenance of association invariants , 2005, Third IEEE International Conference on Software Engineering and Formal Methods (SEFM'05).

[9]  Michał 'MiMaS' Świątkiewicz,et al.  Poseidon for UML , 2004 .

[10]  Steffen Staab,et al.  Using ontologies with UML class-based modeling: The TwoUse approach , 2010, Data Knowl. Eng..

[11]  Ivar Jacobson,et al.  The unified modeling language reference manual , 2010 .

[12]  Bernhard Thalheim,et al.  Towards a theory of consistency enforcement , 1999, Acta Informatica.

[13]  Jeffrey Parsons,et al.  How UML is used , 2006, CACM.

[14]  Andrew J. McAllister,et al.  An approach for decomposing N‐ary data relationships , 1998 .

[15]  Jean-Raymond Abrial,et al.  The B-book - assigning programs to meanings , 1996 .

[16]  J. Bézivin,et al.  ATLAS GDD — R ESEARCH R EPORT No 05 . 01 February 2005 An introduction to the ATLAS Model Management Architecture , 2005 .

[17]  Diomidis Spinellis UML Everywhere , 2010, IEEE Software.

[18]  Jordi Cabot,et al.  Verifying Action Semantics Specifications in UML Behavioral Models , 2009, CAiSE.

[19]  Vicente Pelechano,et al.  Implementing UML Association, Aggregation, and Composition. A Particular Interpretation Based on a Multidimensional Framework , 2003, CAiSE.

[20]  W. Gareth J. Howells,et al.  Implementing associations: UML 2.0 to Java 5 , 2007, Software & Systems Modeling.

[21]  Vicente Pelechano,et al.  Test-Driven Development of Model Transformations , 2009, MoDELS.

[22]  Albert Tort Testing the osCommerce conceptual schema by using CSTL , 2009 .

[23]  Veda C. Storey,et al.  An ontological analysis of the relationship construct in conceptual modeling , 1999, TODS.

[24]  David Sharpe,et al.  An Approach for Decomposing N-Ary Data Relationships , 1998, Softw. Pract. Exp..

[25]  Brian Henderson-Sellers,et al.  Open Modeling Language (OML)-Refer-ence Manual , 1998 .

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

[27]  Yves Ledru,et al.  Identifying pre-conditions with the Z/EVES theorem prover , 1998, Proceedings 13th IEEE International Conference on Automated Software Engineering (Cat. No.98EX239).

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

[29]  Franco Civello,et al.  Roles for composite objects in object-oriented analysis and design , 1993, OOPSLA '93.

[30]  Dragan Milicev On the Semantics of Associations and Association Ends in UML , 2007, IEEE Transactions on Software Engineering.

[31]  William C. Hetzel,et al.  The complete guide to software testing , 1984 .

[32]  Régine Laleau,et al.  Specification of integrity-preserving operations in information systems by using a formal UML-based language , 2001, Inf. Softw. Technol..

[33]  Juan Antonio Pastor Collado,et al.  Supporting transaction design in conceptual modelling of information systems , 1995 .

[34]  Letizia Tanca,et al.  Automatic generation of production rules for integrity maintenance , 1994, TODS.

[35]  Brian Henderson-Sellers,et al.  What is this thing called aggregation? , 1999, Proceedings Technology of Object-Oriented Languages and Systems. TOOLS 29 (Cat. No.PR00275).

[36]  Martin Gogolla,et al.  Conceptual Modelling of Database Applications Using an Extended Er Model H.2.1 Database Management] Logical Design { Data Modelss Schema and Subschema. H.2.3 Database Management] Languages { Data Description Languages (ddl)) Data Manipulation Languages (dml)) , 2008 .

[37]  Vicente Pelechano,et al.  OO-METHOD: An OO Software Production Environment Combining Conventional and Formal Methods , 1997, CAiSE.

[38]  Cristina Gómez,et al.  Drawing Preconditions of Operation Contracts from Conceptual Schemas , 2008, CAiSE.

[39]  Jordi Cabot,et al.  Incremental integrity checking of UML/OCL conceptual schemas , 2009, J. Syst. Softw..

[40]  Jennifer Widom,et al.  Deriving Production Rules for Constraint Maintainance , 1990, VLDB.

[41]  Maria M. Larrondo-Petrie,et al.  A Characterization of Aggregation , 1998 .

[42]  Brian Henderson-Sellers,et al.  Ontological analysis of whole-part relationships in OO-models , 2001, Inf. Softw. Technol..

[43]  John Daniels,et al.  Designing Object Systems , 1994 .

[44]  Iris Reinhartz-Berger,et al.  Towards automatization of domain modeling , 2010, Data Knowl. Eng..

[45]  Terry Halpin,et al.  Information modeling and relational databases: from conceptual analysis to logical design , 2001 .

[46]  Vicente Pelechano,et al.  Automatic generation of basic behavior schemas from UML class diagrams , 2008, Software & Systems Modeling.

[47]  John Daniels,et al.  Designing object systems: object-oriented modelling with Syntropy , 1995 .