From Formal Semantics to Executable Models: A Pragmatic Approach to Model-Driven Development

With respect to contents, Software Engineering deals with the mutual combination of formalisms, methods, and tools that are integrated by a common theoretical basis, as well as applications that use all these aspects. The model-driven development (MDD) of software is a typical instance of this view, as it exhibits all the facets mentioned above. In this paper, we identify some major unsolved problems of MDD concerning the contemplated areas and postulate a pragmatically motivated couple of hypotheses defining our constraints for solving these problems. Our particular view of MDD uses the Unified Modeling Language (UML) which we substantiate by defining a formal semantics for wide parts of it. On this basis, we suggest a process which incorporates model elaboration combined with aspects of quality assurance. Prototypical tools to support our approach are presented and their applicability is shown by means of two examples.

[1]  Thomas Baar,et al.  Semantics of OCL specified with QVT , 2008, Software & Systems Modeling.

[2]  Conrad E. Bock JOURNAL OF OBJECT TECHNOLOGY Online at www.jot.fm. Published by ETH Zurich, Chair of Software Engineering ©JOT, 2003 , 2022 .

[3]  Yuri Gurevich Evolving Algebras , 1994, IFIP Congress.

[4]  Walter Guttmann,et al.  Unifying the Semantics of UML 2 State, Activity and Interaction Diagrams , 2009, Ershov Memorial Conference.

[5]  Nicole Beringer,et al.  Developing speech dialogs for multimodal HMIs using finite state machines , 2006, INTERSPEECH.

[6]  Alexander Raschke Translation of UML 2 Activity Diagrams into Finite State Machines for Model Checking , 2009, 2009 35th Euromicro Conference on Software Engineering and Advanced Applications.

[7]  H. Storrle Semantics of interactions in UML 2.0 , 2003, IEEE Symposium on Human Centric Computing Languages and Environments, 2003. Proceedings. 2003.

[8]  Harald Störrle,et al.  Towards a Formal Semantics of UML 2.0 Activities , 2005, Software Engineering.

[9]  Mark Poguntke,et al.  Spezifikation multimodaler Interaktionsanwendungen mit UML , 2010, Mensch & Computer.

[10]  Jifeng He,et al.  A formal semantics of UML sequence diagram , 2004, 2004 Australian Software Engineering Conference. Proceedings..

[11]  Manfred Broy,et al.  Challenges in automotive software engineering , 2006, ICSE.

[12]  Dominik Gessenharter Extending The UML Semantics For A Better Support of Model Driven Software Development , 2010, Software Engineering Research and Practice.

[13]  Klaus Schmid,et al.  A comprehensive analysis of UML tools, their capabilities and their compliance (überarbeitete Ausgabe) , 2011 .

[14]  Dominik Gessenharter,et al.  Mapping the UML2 Semantics of Associations to a Java Code Generation Model , 2008, MoDELS.

[15]  Dominik Gessenharter UML Activities at Runtime - Experiences of Using Interpreters and Running Generated Code , 2010, ER Workshops.

[16]  Lidia Fuentes-Fernández,et al.  An Introduction to UML Profiles , 2004 .

[17]  Alexander Raschke,et al.  Zur automatischen Verifikation von UML-2-Aktivitätsdiagrammen , 2010 .

[18]  Gianna Reggio,et al.  An Algebraic Semantics of UML Supporting its Multiview Approach , 2000 .

[19]  Stefan Sarstedt Semantic foundation and tool support for model-driven development with UML 2 activity diagrams , 2006 .

[20]  Dominik Gessenharter Implementing UML associations in Java: a slim code pattern for a complex modeling concept , 2009 .

[21]  Dominik Gessenharter,et al.  Model-driven software development with ACTIVECHARTS - a case study , 2012 .

[22]  Gerard J. Holzmann,et al.  The Model Checker SPIN , 1997, IEEE Trans. Software Eng..

[23]  Harald Fecher,et al.  UML 2.0 State Machines: Complete Formal Semantics Via core state machine , 2006, FMICS/PDMC.

[24]  Yuri Gurevich,et al.  Evolving algebras 1993: Lipari guide , 1995, Specification and validation methods.

[26]  Jan Hendrik Hausmann,et al.  Dynamic META modeling: a semantics description technique for visual modeling languages , 2005 .

[27]  Manfred Broy,et al.  Seamless Model-Based Development: From Isolated Tools to Integrated Model Engineering Environments , 2010, Proceedings of the IEEE.

[28]  Jürgen Dingel,et al.  Mappings, maps and tables: towards formal semantics for associations in UML2 , 2006, MoDELS'06.

[29]  Jens Kohlmeyer Eine formale Semantik für die Verknüpfung von Verhaltensbeschreibungen in der UML 2 , 2009 .

[30]  Jesús Pardillo,et al.  A systematic review on the definition of UML profiles , 2010, MODELS'10.

[31]  Walter Guttmann,et al.  An ASM Semantics of Token Flow in UML 2 Activity Diagrams , 2006, Ershov Memorial Conference.

[32]  Helmuth Partsch Requirements-Engineering systematisch - Modellbildung für softwaregestützte Systeme , 1998 .

[33]  Marcel Dausend,et al.  Towards a UML profile on formal semantics for modeling multimodal interactive systems - concepts for modeling interactive systems using standard tools of software engineering , 2012 .

[34]  Marco Pistore,et al.  NuSMV 2: An OpenSource Tool for Symbolic Model Checking , 2002, CAV.

[35]  Stefan Sarstedt,et al.  A New Approach to Combine Models and Code in Model Driven Development , 2005, Software Engineering Research and Practice.

[36]  Guido de Melo,et al.  Modellbasierte Entwicklung von Interaktionsanwendungen , 2010 .