Reseach Focus: Semantics Preserving Model Composition
The problems of managing SoC are still far from solved. UML provides many sub-languages that allow describing a system from different perspectives, hence providing a certain SoC. However, it is hard not to scatter and tangle concerns, since mechanisms for composing them are lacking. In responsibility-driven design and role modelling, the main focus was interacting roles providing SoC. The OOram method even proposed a mechanism for synthesising (composing) role models. Similar mechanisms exist in UML in the Collaboration and Collaboration Use concepts. These should be well suited for representing separation of concerns in UML. What is missing are mechanisms for composing concerns and reasoning about the semantics of the concerns and the composed result. If two concerns are defined as collaborations (or classes) containing structure and behaviour, it is not obvious nor well-defined how to compose them. This work addresses composition of collaborations/structured classes that contain behaviour defined by interactions and how semantics of the models are preserved in the composition.
In this work, composition denotes the combination of two or more model elements (classes, behaviours, etc.) into new model elements. The composition should preserve semantics of whole or parts of its constituents. An open question in this regard is how to arrive at a definition of semantics preservation, both formally and pragmatically.
Interactions in the form of sequence diagrams are frequently used to describe high-level requirements, architecture, and detailed design. The built-in mechanisms of UML allow composition of interactions through references (interaction uses). When binding roles (parts) from two classifiers together (as in UML Collaboration Uses), there is no way of specifying how the owned interactions should be composed. Composition of structure is better understood, at least when it comes to binding together parts. However, introducing new parts (or ports) to a structure or refining communication links (connectors) to more complex structures are more challenging. The latter issues are particularly interesting from an architectural modelling perspective. This work will address both syntactic and semantic issues of such compositions.
In product line engineering (PLE) there are specific challenges in representing features and producing product variants. The relationship with mechanisms for concern representation (e.g. hyperspaces, aspects) have been addressed by the research community. Generative approaches are established as key elements of product variant production, but there is no single standard for the PLE domain. This work will investigate the relationship between concern and feature composition by addressing suitable mechanisms for composition. Specifically, it will look at the role higher-order model transformations may play in supporting this.