RAM-SE06: call for paper (pdf).
Download the complete proceedings of the workshop (PDF 2.6MB)
Download the complete set of slides presented at the workshop (RAR 3.4MB).
RAM-SE past editions: RAM-SE04 and RAM-SE05.
A special thanks for their sponsorship to the DICo, University of Milano, and the Otto-von-Guericke-Universität Magdeburg.
Software evolution and adaptation is a research area in continuous evolution, and offering stimulating challenges for both academic and industrial researchers.
The evolution of software systems, to face unexpected situations or just for improving their features, relies on software engineering techniques and methodologies. Nowadays a similar approach is not applicable in all situations e.g., for evolving nonstopping systems or systems whose code is not available.
Features of reflection such as transparency, separation of concerns, and extensibility seem to be perfect tools to aid the dynamic evolution of running systems. Aspect-oriented programming can simplify code instrumentation whereas techniques that rely on meta-data can be used to inspect the system and to extract the necessary data for designing the heuristic that the reflective and aspect-oriented mechanism use for managing the evolution.
We feel the necessity to investigate the benefits brought by the use of these techniques on the evolution of object-oriented software systems. In particular we would determine how these techniques can be integrated together with more traditional approaches to evolve a system and the benefits we get from their use.
This workshop can be a good meeting-point for people working in the software evolution area, and an occasion to present reflective, aspect-oriented and data-mining based solutions to evolutionary problems, and new ideas straddling these areas.
In red has been stressed the person who is going to present the contribution at the workshop.
Aspects and Evolution: The Case for Versioned Types and Meta-Aspect Protocols.
Abstract. One of the often cited advantages of aspect-oriented programming (AOP) is improved evolvability. No doubt the modularisation support provided by aspects helps to localise changes thus supporting evolution. However, evolution often requires keeping track of changes in order to make them reversible. Furthermore, often such changes (and their reversal) needs to be done online, e.g., in case of business and mission critical systems that can't be taken offline. In this talk, I will discuss whether current AOP mechanisms are suited to such evolution needs. I will highlight the need for first class support for versioned types as well as fully-fledged meta-aspect protocols and present some practical experiences of implementing these in the Vejal aspect language and its associated dynamic evolution framework. The talk will conclude with a roadmap of key research issues that need to be tackled to ensure that the full potential of aspects can be realised with regards to improving the evolvability of software systems.
DownloadImproving AOP Systems' Evolvability by Decoupling Advices from Base Code.
DownloadMaking Aspect Oriented System Evolution Safer.
DownloadDesign-Based Pointcuts Robustness Against Software Evolution.
DownloadEvolution of an Adaptive Middleware Exploiting Architectural Reflection.
DownloadAn Aspect-Oriented Adaptation Framework for Dynamic Component Evolution.
DownloadAn Aspect-Aware Outline Viewer.
DownloadSolving Aspectual Semantic Conflicts in Resource Aware Systems.
DownloadStatement Annotations for Fine-Grained Advising.
DownloadDynamic Refactorings: Improving the Program Structure at Run-time.
DownloadImplementing Bounded Aspect Quantification in AspectJ.