A UML Profile for Executable and Incremental Specification-Level Modeling

Model executability is widely considered an important enabling factor for model driven development. However, executability of Unified Modeling Language (UML) models tends to imply quite a low level of abstraction, which causes executable models to resemble diagrammatically structured program code. In this article, a UML profile that enables executable specification-level modeling using an incremental approach is proposed. The profile employs the Object Constraint Language (OCL) with multi-object joint actions to declaratively specify behavior on a higher level of abstraction than sequences of messages between objects. A nondeterministic mode of execution removes the need for explicit control flow, greatly simplifying the models. A variant of superposition is used to construct specification models incrementally, utilizing aspect-oriented layers, and preserving safety properties. The proposed mechanism also aims at bridging the gap between use cases and design level specifications. As the profile is based on ideas taken from the DisCo modeling language, originally designed for formal specification of reactive systems, there is a straight-forward mapping that enables use of existing DisCo tools for animation, verification and synthesis. A running example is presented to illustrate the use of the proposed approach.

[1]  Reino Kurki-Suonio,et al.  Action systems in incremental and aspect-oriented modeling , 2003, Distributed Computing.

[2]  Reino Kurki-Suonio,et al.  DisCo specification language: marriage of actions and objects , 1991, [1991] Proceedings. 11th International Conference on Distributed Computing Systems.

[3]  S. Kent,et al.  Validation of object oriented models using animation , 1999, Proceedings 25th EUROMICRO Conference. Informatics: Theory and Practice for the New Millennium.

[4]  Siobhán Clarke,et al.  Composing Design Models: An Extension to the UML , 2000, UML.

[5]  Pertti Kellomäki Verification of Reactive Systems Using DisCo and PVS , 1997, FME.

[6]  Siobhán Clarke,et al.  Subject-oriented design: towards improved alignment of requirements, design, and code , 1999, OOPSLA '99.

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

[8]  Ivan Porres,et al.  Difference and Union of Models , 2003, UML.

[9]  Petri Selonen Set Operations for the Unified Modeling Language , 2003, SPLST.

[10]  Ivar Jacobson,et al.  The Unified Software Development Process , 1999 .

[11]  Shmuel Katz,et al.  Architectural views of aspects , 2003, AOSD '03.

[12]  Stephen J. Mellor,et al.  Executable UML - A Foundation for Model-Driven Architecture , 2002, Addison Wesley object technology series.

[13]  Garry D. Coleman,et al.  Advancing the Standard , 1999 .

[14]  Jifeng He,et al.  Formal and use-case driven requirement analysis in UML , 2001, 25th Annual International Computer Software and Applications Conference. COMPSAC 2001.

[15]  Mika Katara,et al.  DisCo Toolset - The New Generation , 2001, J. Univers. Comput. Sci..

[16]  Jari Peltonen An approach and a platform for building UML model processing tools , 2004, ICSE 2004.

[17]  Jean-Marc Jézéquel,et al.  Using UML Action Semantics for Executable Modeling and Beyond , 2001, CAiSE.

[18]  Stuart Anderson,et al.  Diagrams and Programming Languages for Programmable Controllers , 1997, FME.

[19]  Markus Lepper,et al.  Using use cases in Executable Z , 2000, ICFEM 2000. Third IEEE International Conference on Formal Engineering Methods.