CINCO: a simplicity-driven approach to full generation of domain-specific graphical modeling tools

Even with the help of powerful metamodeling frameworks, the development of domain-specific graphical modeling tools is usually a complex, repetitive, and tedious task, which introduces substantial upfront costs often prohibiting such approaches in practice. In order to reduce these costs, the presented Cinco meta tooling suite is designed to provide a holistic approach that greatly simplifies the development of such domain-specific tools. Our solution is based on the idea to apply the concept of domain specialization also to the (meta-)domain of “domain-specific modeling tools”. Important here is our focus on complex graph-based models, comprising various kinds of nodes and edges together with their individual representation, correlations, and interpretation. This focus allows for high-level specifications of the model structures and functionalities as the prerequisite for push-button tool generation.

[1]  Tiziana Margaria,et al.  The METAFrame'95 Environment , 1996, CAV.

[2]  Michael Tiegelkamp,et al.  IEC 61131-3: Programming Industrial Automation Systems , 2001, Springer Berlin Heidelberg.

[3]  Sven Jörges Construction and Evolution of Code Generators - A Model-Driven and Service-Oriented Approach , 2013, Lecture Notes in Computer Science.

[4]  John C. Grundy,et al.  Generating Domain-Specific Visual Language Tools from Abstract Visual Specifications , 2013, IEEE Transactions on Software Engineering.

[5]  Tiziana Margaria,et al.  Genesys: service-oriented construction of property conform code generators , 2008, Innovations in Systems and Software Engineering.

[6]  Roy Fielding,et al.  Architectural Styles and the Design of Network-based Software Architectures"; Doctoral dissertation , 2000 .

[7]  C. A. Petri Communication with automata , 1966 .

[8]  Jean Bézivin,et al.  ATL: A model transformation tool , 2008, Sci. Comput. Program..

[9]  Tiziana Margaria,et al.  Meta-Level Reuse for Mastering Domain Specialization , 2016, ISoLA.

[10]  George S. Avrunin,et al.  Patterns in property specifications for finite-state verification , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[11]  Benoît Combemale,et al.  The Relevance of Model-Driven Engineering Thirty Years from Now , 2014, MoDELS.

[12]  Ivar Jacobson,et al.  Unified Modeling Language User Guide, The (2nd Edition) (Addison-Wesley Object Technology Series) , 2005 .

[13]  Kim G. Larsen,et al.  A Model-Based Framework for the Specification and Analysis of Hierarchical Scheduling Systems , 2016, FMICS-AVoCS.

[14]  John W. Backus,et al.  The syntax and semantics of the proposed international algebraic language of the Zurich ACM-GAMM Conference , 1959, IFIP Congress.

[15]  Wang Yi,et al.  UPPAAL - a Tool Suite for Automatic Verification of Real-Time Systems , 1996, Hybrid Systems.

[16]  Bernhard Steffen,et al.  Plug-and-Play Higher-Order Process Integration , 2013, Computer.

[17]  Joost-Pieter Katoen Labelled Transition Systems , 2004, Model-Based Testing of Reactive Systems.

[18]  Gerard J. Holzmann,et al.  The SPIN Model Checker - primer and reference manual , 2003 .

[19]  John C. Grundy,et al.  Pounamu: A Meta-Yool for Multi-View Visual Language Environment Construction , 2004, 2004 IEEE Symposium on Visual Languages - Human Centric Computing.

[20]  Tiziana Margaria,et al.  Service-Oriented Design: The Roots , 2005, ICSOC.

[21]  Bernhard Steffen,et al.  Loose Programming with PROPHETS , 2012, FASE.

[22]  Dipl.-Inform. Karl-Heinz John,et al.  IEC 61131-3: Programming Industrial Automation Systems , 2001, Springer Berlin Heidelberg.

[23]  Anna-Lena Lamprecht,et al.  User-Level Workflow Design , 2013, Lecture Notes in Computer Science.

[24]  Patrick Wolf,et al.  PG 582 - Industrial Programming by Example , 2015 .

[25]  Sven Jörges,et al.  Construction and Evolution of Code Generators , 2013, Lecture Notes in Computer Science.

[26]  Pierre Boulet,et al.  Evaluation of Modeling Tools Adaptation , 2012 .

[27]  Richard C. Gronback Eclipse Modeling Project: A Domain-Specific Language Toolkit , 2009 .

[28]  Stefan Naujokat,et al.  A Fully Model-Based Approach to Software Development for Industrial Centrifuges , 2016, ISoLA.

[29]  Ekkart Kindler,et al.  The Petri Net Markup Language , 2003, Petri Net Technology for Communication-Based Systems.

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

[31]  Rajeev Alur,et al.  A Theory of Timed Automata , 1994, Theor. Comput. Sci..

[32]  Tiziana Margaria,et al.  Prototype-Driven Development of Web Applications with DyWA , 2014, ISoLA.

[33]  Tiziana Margaria,et al.  Simplicity‐first model‐based plug‐in development , 2014, Softw. Pract. Exp..

[34]  Jean Bézivin,et al.  On the unification power of models , 2005, Software & Systems Modeling.

[35]  Øystein Haugen,et al.  Evaluating Domain-Specific Modelling Solutions , 2010, ER Workshops.

[36]  Uwe Kastens,et al.  The Eli System , 1998, CC.

[37]  Tiziana Margaria,et al.  Business Process Modeling in the jABC , 2009, Handbook of Research on Business Process Modeling.

[38]  Johannes Neubauer,et al.  MODEL DRIVEN DESIGN OF SECURE HIGH ASSURANCE SYSTEMS : AN INTRODUCTION TO THE OPEN PLATFORM FROM THE USER PERSPECTIVE , 2016 .

[39]  Jordi Cabot,et al.  Model-Driven Software Engineering in Practice , 2017, Synthesis Lectures on Software Engineering.

[40]  Tiziana Margaria,et al.  Simplicity as a Driver for Agile Innovation , 2010, Computer.

[41]  Tiziana Margaria,et al.  Scientific Workflows: Eternal Components, Changing Interfaces, Varying Compositions , 2012, ISoLA.

[42]  Gabor Karsai,et al.  The Generic Modeling Environment , 2001 .

[43]  John C. Grundy,et al.  HorusCML: Context-aware domain-specific visual languages designer , 2014, 2014 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC).

[44]  Anna-Lena Lamprecht User-Level Workflow Design - A Bioinformatics Perspective , 2013, Lecture Notes in Computer Science.

[45]  Axel Legay,et al.  Domain-Specific Code Generator Modeling: A Case Study for Multi-faceted Concurrent Systems , 2014, ISoLA.

[46]  Marta Z. Kwiatkowska,et al.  PRISM 4.0: Verification of Probabilistic Real-Time Systems , 2011, CAV.

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

[48]  Martin Fowler,et al.  Domain-Specific Languages , 2010, The Addison-Wesley signature series.

[49]  Tiziana Margaria,et al.  Synthesis-Based Loose Programming , 2010, 2010 Seventh International Conference on the Quality of Information and Communications Technology.

[50]  Bernhard Steffen,et al.  DIME: A Programming-Less Modeling Environment for Web Applications , 2016, ISoLA.

[51]  R. Bellman,et al.  Dynamic Programming and Markov Processes , 1960 .

[52]  Wolfgang Reisig Petri Nets: An Introduction , 1985, EATCS Monographs on Theoretical Computer Science.

[53]  Frank Budinsky,et al.  Eclipse Modeling Framework , 2003 .

[54]  Richard J. Sadus,et al.  A suite of domain-specific visual languages for scientific software application modelling , 2013, 2013 IEEE Symposium on Visual Languages and Human Centric Computing.

[55]  Tiziana Margaria,et al.  Bio-jETI: a framework for semantics-based service composition , 2009, BMC Bioinformatics.

[56]  Tiziana Margaria,et al.  Higher-Order Process Modeling: Product-Lining, Variability Modeling and Beyond , 2013, Festschrift for Dave Schmidt.

[57]  R. Segala,et al.  Automatic Verification of Real-Time Systems with Discrete Probability Distributions , 1999, ARTS.

[58]  Jeff McAffer,et al.  Eclipse Rich Client Platform , 2010 .

[59]  Tiziana Margaria,et al.  Lightweight coarse-grained coordination: a scalable system-level approach , 2004, International Journal on Software Tools for Technology Transfer.

[60]  Axel Legay,et al.  PLASMA-lab: A Flexible, Distributable Statistical Model Checking Library , 2013, QEST.

[61]  Richard C. Gronback Eclipse Modeling Project: A Domain-Specific Language (DSL) Toolkit , 2009 .

[62]  Kalle Lyytinen,et al.  MetaEdit+: A Fully Configurable Multi-User and Multi-Tool CASE and CAME Environment , 1996, CAiSE.

[63]  Bernhard Steffen,et al.  Archimedean Points: The Essence for Mastering Change , 2016, LNCS Trans. Found. Mastering Chang..

[64]  Manfred Broy,et al.  Towards a Unified View of Modeling and Programming , 2016, ISoLA.

[65]  Tiziana Margaria,et al.  Service-Oriented Design: The jABC Approach , 2005, Service Oriented Computing.

[66]  Juha-Pekka Tolvanen,et al.  Domain-Specific Modeling: Enabling Full Code Generation , 2008 .

[67]  Kim G. Larsen,et al.  A Tutorial on Uppaal 4 . 0 , 2006 .

[68]  Richard F. Paige,et al.  Taming EMF and GMF using model transformation , 2010, MODELS'10.

[69]  Tiziana Margaria,et al.  Model-Driven Development with the jABC , 2006, Haifa Verification Conference.

[70]  Uwe Kastens,et al.  Generating visual structure editors from high-level specifications , 2006 .

[71]  Bernhard Steffen,et al.  An Evaluation of Service Integration Approaches of Business Process Management Systems , 2012, 2012 35th Annual IEEE Software Engineering Workshop.