Supporting information may be found in the online version of this article.
Special Issue Paper
MASH: tool integration made easy†
Article first published online: 1 MAY 2012
Copyright © 2012 John Wiley & Sons, Ltd.
Software: Practice and Experience
Special Issue: Developing Tools as Plug-ins: TOPI 2011
Volume 43, Issue 4, pages 419–433, April 2013
How to Cite
Mariani, L. and Pastore, F. (2013), MASH: tool integration made easy. Softw: Pract. Exper., 43: 419–433. doi: 10.1002/spe.2129
- Issue published online: 18 MAR 2013
- Article first published online: 1 MAY 2012
- Manuscript Accepted: 4 APR 2012
- Manuscript Received: 21 SEP 2011
- software engineering;
- tool integration;
- plug-in architecture;
- visual languages;
Integrating tools implemented as plug-ins is a complex and time-consuming activity that requires good programming skills and a deep understanding of the underlying plug-in architecture for successful completion. Even when tools are implemented as plug-ins for a same integrated development environment (IDE), users frequently prefer to manually perform the same inefficient operations every time they use the tools rather than implementing automated tool integration.
In our vision, IDE users must be able to flexibly execute plug-ins and easily integrate their results by designing workflows that can be persisted, automatically executed, and reused in other workflows.
This paper therefore presents MASH, a framework that extends IDEs with task-based plug-ins (TB-plug-ins) and workflows. A TB-plug-in is a plug-in that exposes its functionalities as executable tasks in a workflow. TB-plug-in workflows are processes that automatically execute multiple tools and integrate their results. IDE users can turn regular plug-ins into TB-plug-ins by writing simple scripts or using the GUI capturing feature that MASH offers.
We validated our idea with two case studies examining the design of two data-driven analyses as tool integration. We discovered that workflows can be easily designed by knowing little about the IDE or plug-ins API, saving significant effort otherwise devoted to implementing additional plug-ins and glue code, and they produce analyses that can be quickly modified and reused. Copyright © 2012 John Wiley & Sons, Ltd.