Proceedings
Workshop Proceedings on CEUR
In cooperation with the SQM workshop, the proceedings of both
workshops have been published on CEUR-WS.org:
Fuhr, A., Riediger, V., Hasselbring, W., Bruntink, M., & Kontogiannis, K. (Eds.) 2011.
Joint Proceedings of the First International Workshop on Model-Driven Software Migration (MDSM 2011)
and Fifth International Workshop on Software Quality and Maintainability (SQM 2011): Oldenburg, Germany, March 1, 2011.
CEUR Workshop Proceedings (ISSN 1613-0073), Vol. 708.
Online at http://ceur-ws.org/Vol-708.
Accepted Papers
The following papers have been accepted by the program comittee for
presentation at the MDSM workshop. The full articles are accessible via
CEUR-WS.org/Vol-708; the presentation slides or online ressources can
be accessed by clicking on the icon below the abstracts.
Model-Driven Migration of Scientific Legacy Systems to Service-Oriented Architectures
Jon Oldevik, Gøran K. Olsen, Ute Brönner, Nils Rune Bodsberg
We propose a model-driven and generative approach to specify and
generate web services for migrating scientific legacy systems to
service-oriented platforms. From a model specification of the system
migration, we use code generation to generate web services and automate
the legacy integration. We use a case study from an existing oil spill
analysis application developed in Fortran and C++ to show the
feasibility of the approach.
Model-driven Modernisation of Java Programs with JaMoPP
Florian Heidenreich, Jendrik Johannes, Jan Reimann, Mirko Seifert,
Christian Wende, Christian Werner, Claas Wilke, Uwe Assmann
The history of all programming languages exposes the introduction of
new language features. In the case of Java---a widespread general
purpose language---multiple language extensions were applied over the
last years and new ones are planned for the future. Often, such language
extensions provide means to replace complex constructs with more compact
ones. To benefit from new language extensions for large bodies of
existing source code, a technique is required that performs the
modernisation of existing source code automatically.
In this paper we demonstrate, how Java programs can be automatically
migrated to new versions of the Java language. Using JaMoPP, a tool that
can create models from Java source code, we enable the application of
model transformations to perform model-driven modernisation of Java
programs. Our approach is evaluated by applying two concrete
transformations to large open source projects. First, we migrate
classical for loops to the new for-each style (introduced in Java 5).
Second, we convert anonymous classes to closures (planned for Java 8).
Furthermore, we discuss how tracing transformations allows to quantify
the impact of planned extensions.
Comprehensive Model Integration for Dependency
Identification with EMFTrace
Stephan Bode, Steffen Lehnert, Matthias Riebisch
As model-based software development becomes increasingly important, the
number of models to express various aspects of software at different
levels of abstraction raises. Meanwhile evolutionary development and
continuous changes demand for explicit dependencies between involved
models to facilitate change impact analysis, software comprehension, or
coverage and consistency checks. However, there are no comprehensive
approaches supporting models, dependencies, changes, and related
information throughout the entire software development process. The
approach presented in this paper provides a unified and model-spanning
concept with a repository for model integration, model versioning, and
dependency identification among models utilizing traceability
techniques, enhanced with analytic capabilities. The identification is
based on a rule set to provide high values for precision and recall. The
approach is implemented in a tool called EMFTrace, which is based on
Eclipse technology and supports different CASE tools for modeling.
Combining multiple dimensions of knowledge in API migration
Thiago Bartolomei, Mahdi Derakhshanmanesh,
Andreas Fuhr,
Peter Koch, Mathias Konrath, Ralf Lämmel, Heiko Winnebeck
We combine multiple dimensions of knowledge about APIs so that we can
support API migration by wrapping or transformation in new ways. That
is, we assess wrapper-based API re-implementations and provide guidance
for migrating API methods. We demonstrate our approach with two major
GUI APIs for the Java platform and two wrapper-based re-implementations
for migrating between the GUI APIs.
Project Presentations
In addition to the four scientific papers, three projects in the
context of model-driven software migration have been presented at the
MDSM workshop. For each project, a two-pages short description is
provided at CEUR-WS.org/Vol-708; the presentation slides or online
ressources can be accessed by clicking on the icon below the abstracts.
DynaMod Project: Dynamic Analysis for Model-Driven Software Modernization
André van Hoorn, Sören Frey, Wolfgang Goerigk, Wilhelm Hasselbring, Holger Knoche, Sönke Köster, Harald Krause, Marcus Porembski, Thomas Stahl, Marcus Steinkamp, Norman Wittmüss
Our project DynaMod addresses model-driven modernization of software
systems. Key characteristics of the envisioned approach are: (1)
combining static and dynamic analysis for extracting models of a legacy
system\'s architecture and usage profile; (2) augmenting these models with
information that is relevant to the subsequent architecture-based
modernization steps; and (3) automatically generating implementation
artifacts and test cases based on the information captured in the
models. This paper provides an overview of the DynaMod project.
REMICS Project: REuse and Migration of legacy applications to Interoperable Cloud Services
Parastoo Mohagheghi, Arne J. Berre, Alexis Henry, Franck Barbier, Andrey Sadovykh
The main objective of the REMICS project is to specify, develop and
evaluate a tool-supported model-driven methodology for migrating legacy
applications to interoperable service cloud platforms. The migration
process consists of understanding the legacy system in terms of its
architecture and functions, designing a new SOA application that
provides the same or better functionality, and verifying and
implementing the new application in the cloud. The demonstrations will
show the support for two tasks in this migration: recovery process with
the BLU AGE tool and the use of SoaML and forward engineering with
Modelio tool.
SOAMIG Project: Model-Driven Migration towards Service-Oriented Architectures
Uwe Erdmenger, Andreas Fuhr, Axel Herget, Tassilo Horn, Uwe Kaiser, Volker Riediger, Werner Teppe, Marianne Theurer, Denis Uhlig, Andreas Winter, Christian Zillmann, Yvonne Zimmermann
The SOAMIG project aims at developing a general migration process for
model-driven migrations towards Service-Oriented Architectures. This
paper highlights the model-driven tools developed during the SOAMIG
project for two case studies: A language migration from a COBOL
transactional server to Java web services, and a second study on an
architecture migration from a monolithic Java fat client to a SOA-based
JavaEE web application.