Semantics Preserving Model Composition.
Jon Oldevik · 2007
Separation of concerns (SoC) and modularisation are well established strategies for managing complex specifications [1, 2]. However, although software is designed with SoC in mind, the language mechanisms at hand often lead to tangling and scattering of concerns. This has motivated a range of language extensions to support concern specification, such as aspects and subjects in programming and modelling. The current trend is modularisation of cross-cutting concerns into units, e.g. aspects, that can later be composed by some transformation process (composition/merging/weaving). An important issue in this process is how the semantics of the models/programs is preserved. The focus of this PhD work is on composition and configuration of software specifications from a modelling perspective. Standard mechanisms in modelling (e.g. in UML) provide composition and configuration with well understood characteristics. Examples from UML are class redefinitions, composite structures, composite states, structured activities, interaction decomposition, and package merge. This work goes beyond those by exploring modelling and composition of concerns at a collaboration level, focusing on their architecture and interaction dimensions. The semantics governing such compositions and their results is of particular interest in this regard. I will address how generative techniques can be used for implementing the compositions and guide semantics preservation. I will also address what semantics preservation means in different modelling and composition contexts. UML is used as the language for experimentation, as this is the de-facto standard for software modelling.