MASH: tool integration made easy1. (1st May 2012) - Mariani, L.; Pastore, F.; Bishop, Judith; Notkin, David
SUMMARY 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.