Abstract
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.
Original language | English |
---|---|
Pages (from-to) | 277-297 |
Number of pages | 21 |
Journal | Software - Practice and Experience |
Volume | 44 |
Issue number | 3 |
DOIs | |
Publication status | Published - Mar 2014 |
Externally published | Yes |
Keywords
- bootstrapping
- code generation
- domain-specific APIs
- dynamic service binding
- evolution
- loose programming
- plug-ins
- process modeling
- simplicity