Simplicity‐first model‐based plug‐in development

In this article, we present our experience with over a decade of strict simplicity orientation in the development and evolution of plug‐ins. The point of our approach is to enable our graphical modeling framework jABC to capture plug‐in development in a domain‐specific setting. The typically quite tedious and technical plug‐in development is shifted this way from a programming task to the modeling level, where it can be mastered also by application experts without programming expertise. We show how the classical plug‐in development profits from a systematic domain‐specific API design and how the level of abstraction achieved this way can be further enhanced by defining adequate building blocks for high‐level plug‐in modeling. As the resulting plug‐in models can be compiled and deployed automatically, our approach decomposes plug‐in development into three phases where only the realization phase requires plug‐in‐specific effort. By using our modeling framework jABC, this effort boils down to graphical, tool‐supported process modeling. Furthermore, we support the automatic completion of process sketches for executability. All this will be illustrated along the most recent plug‐in‐based evolution of the jABC framework, which witnessed quite some bootstrapping effects. Copyright © 2013 John Wiley & Sons, Ltd.

[1]  Tiziana Margaria,et al.  Building Code Generators with Genesys: A Tutorial Introduction , 2009, GTTSE.

[2]  Tiziana Margaria,et al.  Heterogeneous Analysis and Verification for Distributed Systems , 1996, Softw. Concepts Tools.

[3]  Tiziana Margaria,et al.  Bio-jETI: a service integration, design, and provisioning platform for orchestrated bioinformatics processes , 2008, BMC Bioinformatics.

[4]  Tiziana Margaria,et al.  Simplicity principles for plug-in development: The jABC approach , 2012, 2012 Second International Workshop on Developing Tools as Plug-Ins (TOPI).

[5]  Johannes Neubauer Entwicklung eines jABC Plugin zur grafischen Beschreibung von Transformationen strukturierter Daten , 2013 .

[6]  Tiziana Margaria,et al.  Backtracking-Free Design Planning by Automatic Synthesis in METAFrame , 1998, FASE.

[7]  Tiziana Margaria,et al.  Next Generation LearnLib , 2011, TACAS.

[8]  Krzysztof Czarnecki,et al.  Overview of Generative Software Development , 2004, UPP.

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

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

[11]  Bengt Jonsson,et al.  Demonstrating Learning of Register Automata , 2012, TACAS.

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

[13]  Tiziana Margaria,et al.  Tool-supported enhancement of diagnosis in model-driven verification , 2009, Innovations in Systems and Software Engineering.

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

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

[16]  Tiziana Margaria,et al.  Automatic Synthesis of Linear Process Models from Temporal Constraints: An Incremental Approach , 1997 .

[17]  Ira R. Forman,et al.  Java reflection in action , 2005 .

[18]  Deborah L. McGuinness,et al.  OWL Web ontology language overview , 2004 .

[19]  Stephan Merz,et al.  Model Checking , 2000 .

[20]  Ralf Nagel,et al.  Technische Herausforderungen modellgetriebener Beherrschung von Prozesslebenszyklen aus der Fachperspektive: von der Anforderungsanalyse zur Realisierung , 2009 .

[21]  Bernhard Steffen,et al.  Tailoring Process Synthesis to Domain Characteristics , 2011, 2011 16th IEEE International Conference on Engineering of Complex Computer Systems.

[22]  Bernhard Steffen,et al.  Second-Order Servification , 2013, ICSOB.

[23]  Tiziana Margaria,et al.  Module Connguration by Minimal Model Construction , 1993 .

[24]  Tiziana Margaria,et al.  Second-Order Semantic Web , 2005, 29th Annual IEEE/NASA Software Engineering Workshop.

[25]  G. G. Meyer,et al.  Lecture notes in business information processing , 2009 .

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

[27]  Manfred Reitenspie,et al.  Service Creation: Formal Veriication and Abstract Views , 1996 .

[28]  Klaus Schmid,et al.  Software product lines in action - the best industrial practice in product line engineering , 2007 .

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

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

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

[32]  Klaus Pohl,et al.  Software Product Line Engineering , 2005 .

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

[34]  Terence John Parr,et al.  Enforcing strict model-view separation in template engines , 2004, WWW '04.

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

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

[37]  Tiziana Margaria,et al.  FormulaBuilder: a tool for graph-based modelling and generation of formulae , 2006, ICSE.

[38]  Tiziana Margaria,et al.  Feature-based Modelling of a Complex, Online-Reconfigurable Decision Support Service , 2005, WWV.

[39]  Klaus Pohl,et al.  Software Product Line Engineering - Foundations, Principles, and Techniques , 2005 .

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

[41]  Tiziana Margaria,et al.  Test your Strategy: Graphical Construction of Strategies for Connect-Four , 2009, 2009 14th IEEE International Conference on Engineering of Complex Computer Systems.

[42]  Tiziana Margaria,et al.  LTL Guided Planning: Revisiting Automatic Tool Composition in ETI , 2007, 31st IEEE Software Engineering Workshop (SEW 2007).