Execution of UML models: a systematic review of research and practice

Several research efforts from different areas have focused on the execution of UML models, resulting in a diverse and complex scientific body of knowledge. With this work, we aim at identifying, classifying, and evaluating existing solutions for the execution of UML models. We conducted a systematic review in which we selected 63 research studies and 19 tools among over 5400 entries by applying a systematic search and selection process. We defined a classification framework for characterizing solutions for UML model execution, and we applied it to the 82 selected entries. Finally, we analyzed and discussed the obtained data. From the analyzed data, we drew the following conclusions: (i) There is a growing scientific interest on UML model execution; (ii) solutions providing translational execution clearly outnumber interpretive solutions; (iii) model-level debugging is supported in very few cases; (iv) only a few research studies provide evidence of industrial use, with very limited empirical evaluations; (v) the most common limitation deals with coverage of the UML language. Based on these observations, we discuss potential research challenges and implications for the future of UML model execution. Our results provide a concise overview of states of the art and practice for UML model execution intended for use by both researchers and practitioners.

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

[2]  Patricia Lago,et al.  Research on Architecting Microservices: Trends, Focus, and Potential for Industrial Adoption , 2017, 2017 IEEE International Conference on Software Architecture (ICSA).

[3]  Roberto Franzosi,et al.  Quantitative Narrative Analysis , 2009 .

[4]  Julia Rubin,et al.  Model traceability , 2006, IBM Syst. J..

[5]  J. R. Landis,et al.  The measurement of observer agreement for categorical data. , 1977, Biometrics.

[6]  Guy L. Steele,et al.  Common Lisp the Language , 1984 .

[7]  Tore Dybå,et al.  Empirical studies of agile software development: A systematic review , 2008, Inf. Softw. Technol..

[8]  Anselm L. Strauss,et al.  Basics of qualitative research : techniques and procedures for developing grounded theory , 1998 .

[9]  Edward A. Lee,et al.  Introduction to Embedded Systems - A Cyber-Physical Systems Approach , 2013 .

[10]  Jean-Raymond Abrial,et al.  Modeling in event-b - system and software engineering by Jean-Raymond Abrial , 2010, SOEN.

[11]  Lionel C. Briand,et al.  Environment modeling and simulation for automated testing of soft real-time embedded software , 2013, Software & Systems Modeling.

[12]  Mark Rouncefield,et al.  Empirical assessment of MDE in industry , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[13]  Sophie Tison,et al.  BHDL: circuit design in B , 2003, Third International Conference on Application of Concurrency to System Design, 2003. Proceedings..

[14]  Kai Petersen,et al.  Systematic Mapping Studies in Software Engineering , 2008, EASE.

[15]  Samir Mbarki,et al.  UML executable: A comparative study of UML compilers and interpreters , 2016, 2016 International Conference on Information Technology for Organizations Development (IT4OD).

[16]  Pearl Brereton,et al.  Performing systematic literature reviews in software engineering , 2006, ICSE.

[17]  Kai Petersen,et al.  Evaluating strategies for study selection in systematic literature studies , 2014, ESEM '14.

[18]  A. Agresti,et al.  Categorical Data Analysis , 1991, International Encyclopedia of Statistical Science.

[19]  R. K. Ro D G E R S A N D A N G E L A S Ow D E N,et al.  Testing Methodological Guidance on the Conduct of Narrative Synthesis in Systematic Reviews Effectiveness of Interventions to Promote Smoke Alarm Ownership and Function , 2008 .

[20]  Jürgen Dingel,et al.  A Customizable Execution Engine for Models of Embedded Systems , 2015, BM-FA.

[21]  Claes Wohlin,et al.  Experimentation in Software Engineering , 2000, The Kluwer International Series in Software Engineering.

[22]  Pierre Boulet,et al.  Toward optimized code generation through model-based optimization , 2010, 2010 Design, Automation & Test in Europe Conference & Exhibition (DATE 2010).

[23]  Pearl Brereton,et al.  A systematic review of systematic review process research in software engineering , 2013, Inf. Softw. Technol..

[24]  Gerti Kappel,et al.  xMOF: Executable DSMLs Based on fUML , 2013, SLE.

[25]  Sébastien Gérard,et al.  Formalizing Execution Semantics of UML Profiles with fUML Models , 2014, MoDELS.

[26]  Mark Rouncefield,et al.  Model-driven engineering practices in industry: Social, organizational and managerial factors that lead to success or failure , 2014, Sci. Comput. Program..

[27]  Kai Petersen,et al.  Guidelines for conducting systematic mapping studies in software engineering: An update , 2015, Inf. Softw. Technol..

[28]  Jacob Cohen,et al.  Weighted kappa: Nominal scale agreement provision for scaled disagreement or partial credit. , 1968 .

[29]  Jerome A. Rolia,et al.  Automatic generation of a software performance model using an object-oriented prototype , 1995, MASCOTS '95. Proceedings of the Third International Workshop on Modeling, Analysis, and Simulation of Computer and Telecommunication Systems.

[30]  Claes Wohlin,et al.  Guidelines for snowballing in systematic literature studies and a replication in software engineering , 2014, EASE '14.

[31]  Daniela Cruzes,et al.  Research synthesis in software engineering: A tertiary study , 2011, Inf. Softw. Technol..

[32]  N. Hoffart Basics of Qualitative Research: Techniques and Procedures for Developing Grounded Theory , 2000 .

[33]  Marie-Pierre Gervais,et al.  Executing and debugging UML models: an fUML extension , 2013, SAC '13.

[34]  Federico Ciccozzi,et al.  UniComp: A Semantics-Aware Model Compiler for Optimised Predictable Software , 2018, 2018 IEEE/ACM 40th International Conference on Software Engineering: New Ideas and Emerging Technologies Results (ICSE-NIER).

[35]  Fabrizio Montesi,et al.  Microservices: Yesterday, Today, and Tomorrow , 2017, Present and Ulterior Software Engineering.

[36]  T. Greenhalgh,et al.  Effectiveness and efficiency of search methods in systematic reviews of complex evidence: audit of primary sources , 2005, BMJ : British Medical Journal.

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

[38]  Danny Weyns,et al.  Variability in Software Systems—A Systematic Literature Review , 2014, IEEE Transactions on Software Engineering.

[39]  Anneke Kleppe,et al.  MDA explained - the Model Driven Architecture: practice and promise , 2003, Addison Wesley object technology series.

[40]  Muhammad Ali Babar,et al.  Systematic reviews in software engineering: An empirical investigation , 2013, Inf. Softw. Technol..

[41]  Philippe Leblanc,et al.  An Action Language for UML: Proposal for a Precise Execution Semantics , 1998, UML.

[42]  J. Bézivin,et al.  A Practical Approach to Bridging Domain Specific Languages with UML profiles , 2005 .

[43]  Gianluigi Zavattaro,et al.  Composing Services with JOLIE , 2007, Fifth European Conference on Web Services (ECOWS'07).

[44]  Bran Selic The Less Well Known UML - A Short User Guide , 2012, SFM.

[45]  Markus Bischof,et al.  Verification of Mondex Electronic Purses with KIV: From a Security Protocol to Verified Code , 2008, FM.

[46]  Lianping Chen,et al.  A systematic review of comparative evidence of aspect-oriented programming , 2010, Inf. Softw. Technol..

[47]  Henry Muccini,et al.  What Industry Needs from Architectural Languages: A Survey , 2013, IEEE Transactions on Software Engineering.

[48]  Jane Sinclair,et al.  Introduction to formal specification and Z , 1991, Prentice Hall International Series in Computer Science.

[49]  Peter Radford,et al.  Petri Net Theory and the Modeling of Systems , 1982 .

[50]  Federico Ciccozzi,et al.  Round-trip support for extra-functional property management in model-driven engineering of embedded systems , 2013, Inf. Softw. Technol..