Hyper/JTM: Multi-Dimensional Separation of Concerns for JavaTM
Abstract
Hyper/J supports a new approach to constructing, integrating and evolving software, called multi-dimensional separation of concerns. Developers can decompose and organize code and other artifacts according to multiple arbitrary criteria (concerns) simultaneously - even after the software has been implemented - and synthesize or integrate the pieces into larger-scale components and systems. Hyper/J facilitates several common development and evolution activities non-invasively, including: adaptation and customization, mix-and-match of features, reconciliation and integration of multiple domain models, reuse, product line management, extraction or replacement of existing parts of software, and on-demand remodularization. Hyper/J works with standard Java software, not requiring special compilers or environments. This demonstration shows it in action in a number of software engineering scenarios at different stages of the software life-cycle.