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

Harald Störrle

Research output: Contribution to journalJournal articleResearchpeer-review

2 Downloads (Pure)


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.
Original languageEnglish
JournalScience of Computer Programming
Pages (from-to)47–60
Number of pages14
Publication statusPublished - 2017


  • Architectural design process
  • Design decisions
  • Software tool research prototype
  • Architectural choice points
  • UML model analysis and checking

Fingerprint Dive into the research topics of 'Cost-effective evolution of research prototypes into end-user tools: The MACH case study'. Together they form a unique fingerprint.

Cite this