Hyper/J™: Multi-dimensional separation of concerns for Java™
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 re-modularization. Hyper/J works with standard Java software, not requiring special compilers or environments. This demonstration will show it in action in a number of software engineering scenarios at different stages of the software lifecycle.