Separation of concerns is an important factor in the development of complex software systems. Being able to reason about system concerns in isolation and compose them to a whole are key elements for succeeding with the specification and implementation of such systems. In software product line engineering, management of features is an essential activity in the product development process. Features represent concerns, or parts of concerns, which are composed into products.
The mechanisms supporting separation of concerns become increasingly more sophisticated, e.g. through aspect-oriented tools and techniques featuring flexible composition of crosscutting concerns in programming and modelling.
Composition of concerns do not come without challenges; in current aspect-oriented composition languages, the syntactic nature of pointcut expressions leads to vulnerable relationships between aspects and base systems. When multiple concerns are involved, in the form of an aspect-oriented design, a product line feature design, or other, these may be in conflict with each other. In many cases, the state-of-the-art composition technologies leave little control for constraining the effects imposed on a system by compositions.
This thesis defines theoretical and practical solutions for detecting and solving conflicting or problematic situations when composing software systems. First, it gives a definition for semantics preservation for sequence diagram aspect composition, which is a tool that helps ensuring consistent application of scenario – or trace-based – aspects even if the base model changes. Second, it defines mechanisms for composing and analysing product line features, which help toward ensuring consistency of feature composition by addressing confluence and conflict situations. Third, it defines a technique for defining and associating composition contracts with models. It allows constraining the model composition by pre- and post-conditions, which gives increased control over changes that can be imposed by model composition, e.g. by aspects. These aspects all contribute toward the overall goal of the thesis – semantics preservation of systems during model composition.
List of papers
Paper I: Architectural Aspects in UML. Jon Oldevik and Øystein Haugen. Published in the proceedings of the ACM/IEEE 10th International Conference on Model Driven Engineering Languages and Systems (MODELS) 2007.G. Engels et al. (Eds.): MoDELS 2007, LNCS 4735, pp. 301–315, 2007. Springer-Verlag Berlin Heidelberg 2007 DOI: 10.1007/978-3-540-75209-7_21Springerlink
Paper II: Higher-Order Transformations for Product Lines. Jon Oldevik and Øystein Haugen. Published in the proceedings of the 11th Software Product Line Conference (SPLC) 2007. IEEE DOI: DOI 10.1109/SPLINE.2007.11
Paper III: Semantics Preservation of Sequence Diagram Aspects. Jon Oldevik and Øystein Haugen. Published in the proceedings of the 4th European Conference on Model Driven Architecture Foundations and Applications (ECMDA-FA) 2008. I. Schieferdecker and A. Hartman (Eds.): ECMDA-FA 2008, LNCS 5095, pp. 215–230, 2008. Springer-Verlag Berlin Heidelberg 2008 DOI: 10.1007/978-3-540-69100-6_15Springerlink
Paper IV: From Sequence Diagrams to Java-STAIRS Aspects. Jon Oldevik and Øystein Haugen. Published in the proceedings of the 8th International Conference on Aspect-Oriented Software Development (AOSD) 2009. AOSD’09, March 2–6, 2009, Charlottesville, Virginia, USA. DOI: 10.1145/1509239.1509253
Paper V: Confluence in Domain-Independent Product Line Transformations. Jon Oldevik, Øystein Haugen, and Birger Møller-Pedersen. Published in the proceedings of Fundamental Approaches to Software Engineering (FASE) 2009. M. Chechik and M. Wirsing (Eds.): FASE 2009, LNCS 5503, pp. 34–48, 2009.
Paper VI: Model Composition Contracts. Jon Oldevik, Massimiliano Menarini, Ingolf Krüger. Published in the proceedings from ACM/IEEE 12th International Conference on Model Driven Engineering Languages and Systems (MODELS) 2009. A. Schürr and B. Selic (Eds.): MODELS 2009, LNCS 5795, pp. 531–545, 2009. Springer-Verlag Berlin Heidelberg 2009 DOI: 10.1007/978-3-642-04425-0_40Springerlink