A Catalog of Reusable Design Decisions for Developing UML/MOF-based Domain-specific Modeling Languages

In model-driven development (MDD), domain-specific modeling languages (DSMLs) act as a communication vehicle for aligning the requirements of domain experts with the needs of software engineers. With the rise of the UML as a de facto standard, UML/MOF-based DSMLs are now widely used for MDD. This paper documents design decisions collected from 90 UML/MOF-based DSML projects. These recurring design decisions were gained, on the one hand, by performing a systematic literature review (SLR) on the development of UML/MOF-based DSMLs. Via the SLR, we retrieved 80 related DSML projects for review. On the other hand, we collected decisions from developing ten DSML projects by ourselves. The design decisions are presented in the form of reusable decision records, with each decision record corresponding to a decision point in DSML development processes. Furthermore, we also report on frequently observed (combinations of) decision options as well as on associations between options which may occur within a single decision point or between two decision points. This collection of decision-record documents targets decision makers in DSML development (e.g., DSML engineers, software architects, domain experts). (authors' abstract)

[1]  Alan W. Brown,et al.  A Model-Driven Development Approach to Creating Service-Oriented Solutions , 2006, ICSOC.

[2]  Cheeyang Song,et al.  An Integrated GUI-Business Component Modeling Method for the MDD- and MVC-Based Hierarchical Designs , 2011, Int. J. Softw. Eng. Knowl. Eng..

[3]  Mark Strembeck,et al.  An approach for the systematic development of domain‐specific languages , 2009, Softw. Pract. Exp..

[4]  Mourad Oussalah,et al.  SPEM Extension with Software Process Architectural Concepts , 2011, 2011 IEEE 35th Annual Computer Software and Applications Conference.

[5]  Krzysztof Czarnecki,et al.  Generative programming - methods, tools and applications , 2000 .

[6]  Antonio Vallecillo,et al.  WebML modelling in UML , 2007, IET Softw..

[7]  Gerti Kappel,et al.  Conflict Visualization for Evolving UML Models , 2012, J. Object Technol..

[8]  Mark Strembeck,et al.  A UML Extension for the Model-Driven Specification of Audit Rules , 2012, CAiSE Workshops.

[9]  Claudia Pons,et al.  A Domain Specific Language for the Development of Collaborative Systems , 2008, 2008 International Conference of the Chilean Computer Science Society.

[10]  Indrakshi Ray,et al.  On challenges of model transformation from UML to Alloy , 2008, Software & Systems Modeling.

[11]  Daniel Jackson,et al.  Software Abstractions - Logic, Language, and Analysis , 2006 .

[12]  Marie-Pierre Gervais,et al.  UML4SPM: a UML2.0-Based metamodel for software process modelling , 2005, MoDELS'05.

[13]  Mark Strembeck,et al.  An approach for the systematic development of domain-specific languages , 2009 .

[14]  Christian Borgelt,et al.  Frequent item set mining , 2012, WIREs Data Mining Knowl. Discov..

[15]  Preeti Ranjan Panda,et al.  A SysML Profile for Development and Early Validation of TLM 2.0 Models , 2011, ECMFA.

[16]  Iris Reinhartz-Berger,et al.  Utilizing domain models for application design and validation , 2009, Inf. Softw. Technol..

[17]  Michael Philippsen,et al.  eSPEM - A SPEM Extension for Enactable Behavior Modeling , 2010, ECMFA.

[18]  Lionel C. Briand,et al.  Environment modeling with UML/MARTE to support black-box system testing for real-time embedded systems: methodology and industrial case studies , 2010, MODELS'10.

[19]  Alejandro Alonso,et al.  Integration of safety analysis in model-driven software development , 2008, IET Softw..

[20]  Cristina Gómez,et al.  Improving the definition of general constraints in UML , 2007, Software & Systems Modeling.

[21]  Franklin Ramalho,et al.  Automatic generation of built-in contract test drivers , 2012, Software & Systems Modeling.

[22]  Stefano Marrone,et al.  Model-Driven Availability Evaluation of Railway Control Systems , 2011, SAFECOMP.

[23]  Mara Nikolaidou,et al.  Accommodating EIS UML 2.0 Profile using a standard UML modeling tool , 2007, International Conference on Software Engineering Advances (ICSEA 2007).

[24]  Mehrdad Sabetzadeh,et al.  A Model-Driven Engineering Approach to Support the Verification of Compliance to Safety Standards , 2011, 2011 IEEE 22nd International Symposium on Software Reliability Engineering.

[25]  Sigrid Schefer Consistency Checks for Duties in Extended UML2 Activity Models , 2011, 2011 Sixth International Conference on Availability, Reliability and Security.

[26]  Kurt Hornik,et al.  Introduction to arules – A computational environment for mining association rules and frequent item sets , 2009 .

[27]  Wil M. P. van der Aalst,et al.  On the suitability of UML 2.0 activity diagrams for business process modelling , 2006, APCCM.

[28]  David S. Rosenblum,et al.  Reliability prediction in model-driven development , 2005, MoDELS'05.

[29]  Michelle L. Crane,et al.  Rendering UML Activity Diagrams as Human-Readable Text , 2007 .

[30]  Pearl Brereton,et al.  Systematic literature reviews in software engineering - A systematic literature review , 2009, Inf. Softw. Technol..

[31]  Krzysztof Czarnecki,et al.  Classification of Model Transformation Approaches , 2003 .

[32]  Bill Mitchell,et al.  Detecting and resolving semantic pathologies in UML sequence diagrams , 2005, ESEC/FSE-13.

[33]  Muhammad Ali Babar,et al.  Identifying relevant studies in software engineering , 2011, Inf. Softw. Technol..

[34]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[35]  Elvinia Riccobene,et al.  A UML 2.0 profile for SystemC: toward high-level SoC design , 2005, EMSOFT.

[36]  Andreas Classen,et al.  A text-based approach to feature modelling: Syntax and semantics of TVL , 2011, Sci. Comput. Program..

[37]  Uwe Zdun,et al.  Modeling architectural patterns using architectural primitives , 2005, OOPSLA '05.

[38]  Mario Piattini,et al.  A UML 2.0 profile to define security requirements for Data Warehouses , 2009, Comput. Stand. Interfaces.

[39]  Igor Ivkovic,et al.  A framework for software architecture refactoring using model transformations and semantic annotations , 2006, Conference on Software Maintenance and Reengineering (CSMR'06).

[40]  Nora Koch,et al.  MDD4SOA: Model-Driven Service Orchestration , 2008, 2008 12th International IEEE Enterprise Distributed Object Computing Conference.

[41]  Iakovos S. Venieris,et al.  Model-driven development of composite context-aware web applications , 2009, Inf. Softw. Technol..

[42]  Bernhard Hoisl,et al.  Integrity and Confidentiality Annotations for Service Interfaces in SoaML Models , 2011, 2011 Sixth International Conference on Availability, Reliability and Security.

[43]  Ruth Breu,et al.  Realizing model driven security for inter-organizational workflows with WS-CDL and UML 2.0 , 2005, MoDELS'05.

[44]  Luciano Baresi,et al.  Style-based modeling and refinement of service-oriented architectures , 2006, Software & Systems Modeling.

[45]  George N. Prezerakos,et al.  Model-driven Composition of Context-aware Web Services Using ContextUML and Aspects , 2007, IEEE International Conference on Web Services (ICWS 2007).

[46]  Ernest Teniente,et al.  A platform independent model for the electronic marketplace domain , 2007, Software & Systems Modeling.

[47]  Uwe Zdun A DSL toolkit for deferring architectural decisions in DSL-based software design , 2010, Inf. Softw. Technol..

[48]  Cristina Cachero,et al.  Domain-specific language modelling with UML profiles by decoupling abstract and concrete syntaxes , 2010, J. Syst. Softw..

[49]  Soo Dong Kim,et al.  A Technique to Represent and Generate Components in MDA/PIM for Automation , 2006, FASE.

[50]  Stéphane S. Somé A Meta-Model for Textual Use Case Description , 2009, J. Object Technol..

[51]  Marie-Pierre Gervais,et al.  MDA Tool Components: a proposal for packaging know-how in model driven development , 2007, Software & Systems Modeling.

[52]  Franck Barbier,et al.  Contracts for Model Execution Verification , 2011, ECMFA.

[53]  Douglas C. Schmidt,et al.  Pattern Oriented Software Architecture: On Patterns and Pattern Languages (Wiley Software Patterns Series) , 2007 .

[54]  Manuel Wimmer,et al.  Towards xMOF: executable DSMLs based on fUML , 2012, DSM '12.

[55]  Mirko Seifert,et al.  Derivation and Refinement of Textual Syntax for Models , 2009, ECMDA-FA.

[56]  Maritta Heisel,et al.  A UML Profile for Requirements Analysis of Dependable Software , 2010, SAFECOMP.

[57]  Vahid Garousi,et al.  Control Flow Analysis of UML 2.0 Sequence Diagrams , 2005, ECMDA-FA.

[58]  Jan Krystof An LPGM method: Platform Independent Modeling and Development of Graphical User Interface , 2010, Informatica.

[59]  Bernhard Hoisl,et al.  Protocol for a Systematic Literature Review on Design Decisions for UML-based DSMLs , 2014 .

[60]  Mark Strembeck Embedding policy rules for software-based systems in a requirements context , 2005, Sixth IEEE International Workshop on Policies for Distributed Systems and Networks (POLICY'05).

[61]  Birgit Hofreiter Extending UN/CEFACT’s modeling methodology by a UML profile for local choreographies , 2009, Inf. Syst. E Bus. Manag..

[62]  Gregory Zoughbi,et al.  Modeling safety and airworthiness (RTCA DO-178B) information: conceptual model and UML profile , 2011, Software & Systems Modeling.

[63]  Mario Piattini,et al.  A UML 2.0/OCL Extension for Designing Secure Data Warehouses , 2005, J. Res. Pract. Inf. Technol..

[64]  Tom Mens,et al.  A Taxonomy of Model Transformation , 2006, GRaMoT@GPCE.

[65]  Maritta Heisel,et al.  Making Pattern- and Model-Based Software Development More Rigorous , 2010, ICFEM.

[66]  Giuseppe Lipari,et al.  A UML Profile and a Methodology for Real-Time Systems Design , 2006, 32nd EUROMICRO Conference on Software Engineering and Advanced Applications (EUROMICRO'06).

[67]  Mark Strembeck,et al.  Modeling Composition in Dynamic Programming Environments with Model Transformations , 2006, SC@ETAPS.

[68]  Rogardt Heldal,et al.  A model-based and automated approach to size estimation of embedded software components , 2011, MODELS'11.

[69]  Sven Hartmann,et al.  Higher-order entity relationship modelling with UML , 2005, Fifth International Conference on Quality Software (QSIC'05).

[70]  Mohd Fadzil Hassan,et al.  SECURE BUSINESS PROCESS MODELLING OF SOA APPLICATIONS USING “ UML-SOA-SEC ” , 2012 .

[71]  Mario Piattini,et al.  Building a secure star schema in data warehouses by an extension of the relational package from CWM , 2008, Comput. Stand. Interfaces.

[72]  Martin Gogolla,et al.  OCL: Syntax, Semantics, and Tools , 2002, Object Modeling with the OCL.

[73]  Beate List,et al.  An evaluation of conceptual business process modelling languages , 2006, SAC.

[74]  R. K. Shyamasundar,et al.  UML-based Approach to Specify Secured, Fine-grained Concurrent Access to Shared Resources , 2007, J. Object Technol..

[75]  Ernesto Damiani,et al.  A Metamodel for Modeling and Measuring Scrum Development Process , 2007, XP.

[76]  Mark Strembeck,et al.  Modeling Process-Related Duties with Extended UML Activity and Interaction Diagrams , 2011, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

[77]  Jos van Hillegersberg,et al.  Evaluating the Visual Syntax of UML: An Analysis of the Cognitive Effectiveness of the UMLFamily of Diagrams , 2009, SLE.

[78]  Keng Siau,et al.  A semiotic analysis of unified modeling language graphical notations , 2008, Requirements Engineering.

[79]  Mario Piattini,et al.  Automated generation of test oracles using a model-driven approach , 2013, Inf. Softw. Technol..

[80]  Janos Sztipanovits,et al.  Formalizing the structural semantics of domain-specific modeling languages , 2009, Software & Systems Modeling.

[81]  Mark Strembeck,et al.  Modeling Context-Aware RBAC Models for Business Processes in Ubiquitous Computing Environments , 2012, 2012 Third FTRA International Conference on Mobile, Ubiquitous, and Intelligent Computing.

[82]  Jan Van den Bergh,et al.  CUP 2.0: high-level modeling of context-sensitive interactive applications , 2006, MoDELS'06.

[83]  Christian Huemer,et al.  Registry support for core component-based business document models , 2011, Service Oriented Computing and Applications.

[84]  Claus Pahl,et al.  Model driven distribution pattern design for dynamic web service compositions , 2006, ICWE '06.

[85]  Lionel C. Briand,et al.  Modeling robustness behavior using aspect-oriented modeling to support robustness testing of industrial systems , 2011, Software & Systems Modeling.

[86]  Abdelwahab Hamou-Lhadj,et al.  A UML-Based Domain Specific Modeling Language for the Availability Management Framework , 2010, 2010 IEEE 12th International Symposium on High Assurance Systems Engineering.

[87]  Rosângela Dellosso Penteado,et al.  An overview and an empirical evaluation of UML-AOF: an UML profile for aspect-oriented frameworks , 2010, SAC '10.

[88]  Ulrich Hannemann,et al.  Modeling the Railway Control Domain Rigorously with a UML 2.0 Profile , 2006, SAFECOMP.

[89]  Ruth Breu,et al.  Model-Driven Security Engineering for Trust Management in SECTET , 2007, J. Softw..

[90]  Junichi Suzuki,et al.  Modeling Non-Functional Aspects in Service Oriented Architecture , 2006, 2006 IEEE International Conference on Services Computing (SCC'06).

[91]  João Pascoal Faria,et al.  A metamodel-based approach for automatic user interface generation , 2010, MODELS'10.

[92]  Gefei Zhang,et al.  Weaving semantic aspects in HiLA , 2012, AOSD '12.

[93]  Jan Mendling,et al.  On the transformation of control flow between block-oriented and graph-oriented process modelling languages , 2008, Int. J. Bus. Process. Integr. Manag..

[94]  Bran Selic,et al.  Extending SysML with AADL Concepts for Comprehensive System Architecture Modeling , 2011, ECMFA.

[95]  Pearl Brereton,et al.  Lessons from applying the systematic literature review process within the software engineering domain , 2007, J. Syst. Softw..

[96]  Raymond McCall,et al.  Rationale-Based Software Engineering , 2008 .

[97]  Miroslaw Staron,et al.  An Industrial Case Study on the Choice Between Language Customization Mechanisms , 2006, PROFES.

[98]  Bernhard Hoisl,et al.  Modeling Support for Confidentiality and Integrity of Object Flows in Activity Models , 2011, BIS.

[99]  Raymond McCall,et al.  Rationale Management in Software Engineering: Concepts and Techniques , 2006 .

[100]  Miroslaw Staron,et al.  Empirical assessment of using stereotypes to improve comprehension of UML models: A set of experiments , 2006, J. Syst. Softw..

[101]  Esperanza Marcos,et al.  Model transformations for hypertext modeling on web information systems , 2006, SAC.

[102]  O. Coplien,et al.  Software Patterns , 1996 .

[103]  Alan R. Hevner,et al.  Reviewing software diagrams: a cognitive study , 2004, IEEE Transactions on Software Engineering.

[104]  Mohammad Zulkernine,et al.  UMLtrust: towards developing trust-aware software , 2008, SAC '08.

[105]  Sébastien Gérard,et al.  Improving uml profile design practices by leveraging conceptual domain models , 2007, ASE.

[106]  Gregor Engels,et al.  Using UML activities for system-on-chip design and synthesis , 2006, MoDELS'06.

[107]  Mark Strembeck,et al.  Design Decisions for UML and MOF based Domain-specific Language Models : Some Lessons Learned ∗ , 2012 .

[108]  Antonio Vallecillo,et al.  Modeling the ODP computational viewpoint with UML 2.0 , 2005, Ninth IEEE International EDOC Enterprise Computing Conference (EDOC'05).

[109]  Antonio Cicchetti,et al.  A Metamodel Independent Approach to Difference Representation , 2007, J. Object Technol..

[110]  Mark Strembeck,et al.  An Approach for Consistent Delegation in Process-Aware Information Systems , 2012, BIS.

[111]  Bernhard Hoisl,et al.  Modeling and enforcing secure object flows in process-driven SOAs: an integrated model-driven approach , 2012, Software & Systems Modeling.

[112]  Jens Grabowski,et al.  UML-based specification and generation of executable web services , 2010, SAM'10.

[113]  Mark Strembeck,et al.  Reusable Architectural Decisions for DSL Design: Foundational Decisions in DSL Projects , 2009, EuroPLoP.

[114]  Wilhelm Hasselbring,et al.  Model Driven Performance Measurement and Assessment with MoDePeMART , 2009, MoDELS.

[115]  Dianxiang Xu,et al.  Modeling and integrating aspects with UML activity diagrams , 2009, SAC '09.

[116]  Mark Strembeck,et al.  Modeling process-related RBAC models with extended UML activity models , 2011, Inf. Softw. Technol..

[117]  Jean Bézivin,et al.  First experiments with the ATL model transformation language: Transforming XSLT into XQuery , 2003 .

[118]  Dániel Varró,et al.  Non-functional properties in the model-driven development of service-oriented systems , 2010, Software & Systems Modeling.

[119]  Markus Völter,et al.  Model-Driven Software Development: Technology, Engineering, Management , 2006 .

[120]  Krzysztof Czarnecki,et al.  Feature-based survey of model transformation approaches , 2006, IBM Syst. J..

[121]  Bernhard Rumpe,et al.  Textbased Modeling , 2014, ArXiv.

[122]  Jan Jürjens,et al.  Secure systems development with UML , 2004 .

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

[124]  I-Ching Hsu,et al.  Extending UML to model Web 2.0‐based context‐aware applications , 2012, Softw. Pract. Exp..

[125]  Yi Liu,et al.  Modeling and Checking for Non-functional Attributes in Extended UML Class Diagram , 2008, 2008 32nd Annual IEEE International Computer Software and Applications Conference.

[126]  Lingyu Wang,et al.  An Aspect-Oriented Approach for Software Security Hardening : from Design to Implementation Conference , 2010 .

[127]  Mehrdad Sabetzadeh,et al.  Using UML Profiles for Sector-Specific Tailoring of Safety Evidence Information , 2011, ER.

[128]  Rédouane Lbath,et al.  Specification and Implementation of SPEM4MDE, a metamodel for MDE software processes , 2011, SEKE.

[129]  Vincenzo Grassi Performance Analysis of Mobile Systems , 2005, SFM.

[130]  Evans,et al.  Domain-driven design , 2003 .

[131]  Mark Strembeck,et al.  Modeling Support for Delegating Roles, Tasks, and Duties in a Process-Related RBAC Context , 2011, CAiSE Workshops.

[132]  Mark Strembeck,et al.  Modeling Interdependent Concern Behavior Using Extended Activity Models , 2008, J. Object Technol..

[133]  Richard F. Paige,et al.  A feature model for model-to-text transformation languages , 2012, 2012 4th International Workshop on Modeling in Software Engineering (MISE).

[134]  Mark Strembeck,et al.  Reusable Architectural Decisions for DSL Design Foundational Decisions in DSL Development , 2009 .

[135]  Almudena Sierra-Alonso,et al.  From Analysis Model to Software Architecture: A PIM2PIM Mapping , 2006, ECMDA-FA.

[136]  Martin Schindler,et al.  Text-based Modeling , 2007 .