. .
Carl von Ossietzky University Oldenburg

CSMR 2012

The 16th European Conference on Software Maintenance and Reengineering will take place in Szeged, Hungary, from March 27-30, 2012.

Technical Track

Software Artefacts Evolution

Friday, March 4, 2011, from 9:00 to 10:30. A14 HS2

Assistance System for OCL Constraints Adaptation During Metamodel Evolution

Kahina Hassam, Salah Sadou, Vincent Le Gloahec and Regis Fleurquin

Metamodels evolve over time, as other artifacts. In most cases, this evolution is performed manually by stepwise adaptation. In MDE, metamodels are described using the MOF language. Often OCL constraints are added to metamodels in order to ensure consistency of their instances (models). However, during metamodel evolution these constraints are omitted or manually rewritten, which is time consuming and error prone. We propose a tool to help the designer to make a decision on the constraints attached to a meta-model during its evolution. Thus, the tool highlights the constraints that should disappear after evolution and makes suggestions for those which need adaptation to remain consistent. For the latter case, we formally describe how the OCL constraints have to be transformed to preserve their syntactical correctness. Our adaptation rules are defined using QVT which is the OMG standard language for specifying model-to-model transformations.

A UML profile and Tool Support for Evolutionary Requirements Engineering

Isabelle Cote and Maritta Heisel

In this paper, we present a method to perform the first steps of software evolution, namely evolutionary requirements engineering, where new requirements have to be analyzed in the context of a set of already given requirements. The basic idea is to adjust an existing requirements engineering process so that evolution is supported. In the requirements engineering process we consider, the original software development problem is decomposed into a number of subproblems that are analyzed according to the problem frame approach. Evolution is performed by defining rules for each process step and each document that is generated in the respective step to incorporate the new evolution requirements into the existing requirements documents or to create, when necessary, additional documents. We show that the evolution task benefits from the chosen problem decomposition. The described software evolution method is tool-supported. Our tool UML4PF, which is based on the Eclipse Modeling Framework, supports the problem frame approach to software engineering by a specifically defined UML profile. We extend that profile so that it also covers software evolution.

Sub-Graph Mining: Identifying Micro-Architectures in Evolving Object Oriented Software

Ahmed Belderrar, Segla Kpodjedo, Yann-Gael Gueheneuc, Giulio Antoniol and Philippe Galinier

Runtime adaptivity is a promising direction towards achieving adaptive behavior for software systems that operate within highly dynamic and non-deterministic environments. Model-centric approaches have proven to be able to successfully address various aspects of runtime adaptivity. In this paper, we propose a target architecture for self-adaptive software systems and show how it facilitates adaptation by interpreting models at runtime. Our approach supports adaptivity using behavioral and structural models, which are causally connected to the software application. These models can be queried and transformed dynamically in reaction to changes in the software system's operating environment. We demonstrate how to implement an infrastructure to support the target architecture, and how to prepare and integrate non-adaptive software to comply with this architecture. Finally, as a proof of concept, we present how to evolve an open-source VoIP telephony server to perform runtime adaptation following our approach.