Cost-effective evolution of research prototypes into end-user tools: The MACH case study

Much of Software Engineering research needs to provide an implementation as proof-of-concept. Often such implementations are created as exploratory prototypes without polished user interfaces, making it difficult to (1) run user studies to validate the tool's contribution, (2) validate the author's claim by fellow scientists, and (3) demonstrate the utility and value of the research contribution to any interested parties. However, turning an exploratory prototype into a "proper" tool for end-users often entails great effort. Heavyweight mainstream frameworks such as Eclipse do not address this issue; their steep learning curves constitute substantial entry barriers to such ecosystems.In this paper, we present the Model Analyzer/Checker (MACH), a stand-alone tool with a command-line interpreter. MACH integrates a set of research prototypes for analyzing UML models. By choosing a simple command line interpreter rather than (costly) graphical user interface, we achieved the core goal of quickly deploying research results to a broader audience while keeping the required effort to an absolute minimum. We analyze MACH as a case study of how requirements and constraints in an academic environment influence design decisions in software tool development. We argue that our approach while perhaps unconventional, serves its purpose with a remarkable cost-benefit ratio.

[1]  Harald Störrle Effective and Efficient Model Clone Detection , 2015, Software, Services, and Systems.

[2]  Rainer Koschke,et al.  Survey of Research on Software Clones , 2006, Duplication, Redundancy, and Similarity in Software.

[3]  Harald Störrle,et al.  Hypersonic: Model Analysis and Checking in the Cloud , 2014, BigMDE@STAF.

[4]  Harald Störrle Making Sense to Modelers - Presenting UML Class Model Differences in Prose , 2013, MODELSWARD.

[5]  Harald Störrle,et al.  Towards clone detection in UML domain models , 2010, Software & Systems Modeling.

[6]  Eric Latimer,et al.  Teaching model-driven engineering from a relational database perspective , 2013, Software & Systems Modeling.

[7]  Harald Störrle Large scale modeling efforts: a survey on challenges and best practices , 2007 .

[8]  Marcela Genero Metrics For Software Conceptual Models , 2005 .

[9]  Harald Störrle,et al.  Hypersonic - Model Analysis as a Service , 2014, PSRC@MoDELS.

[10]  Steffen Mazanek,et al.  SHARE: a web portal for creating and sharing executable research papers , 2011, ICCS.

[11]  Harald Störrle,et al.  MQ-2 A Tool for Prolog-based Model Querying , 2012, ECMFA 2012.

[12]  Mario Piattini,et al.  A Survey of Metrics for UML Class Diagrams , 2005, J. Object Technol..

[13]  Frank Budinsky,et al.  EMF: Eclipse Modeling Framework 2.0 , 2009 .

[14]  Chanchal K. Roy,et al.  A Survey on Software Clone Detection Research , 2007 .

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