Integrational Software Engineering
The RISE research project on integrational software engineering, is located at PELAB, Linköping university, Sweden.
RISE is partly funded by SSF during 2002-2005 and 2006-2007.
Integrational software engineering is a novel direction in software
technology that postulates that program development techniques
be based on the composition of separately engineered parts that
goes beyond simple black-box composition of software components,
such as classes or off-the-shelf components.
This is a clear step forward from the currently predominant object-oriented computing paradigm, and it even goes beyond software architecture systems.
Instead, software is decomposed into different specifications (so-called aspects) for different cross-cutting concerns of the software product under construction, in order to allow for working on a single concern at a time, while these different views on the same overall software product are to be kept consistent automatically.
Aspect Weaving, Invasive Software Composition, and Automatic Roundtrip Engineering
Invasive software composition tools can be used to weave the different aspects together in order to obtain a monolithic software product. Ideally, this weaving process should work in both directions, such that edits of one aspect are automatically committed to the composed software and to the other aspects, and likewise should modifications of the woven software product be automatically propagated back to the concerned aspect sources, in order to keep the views consistent. This is called automatic roundtrip engineering (ARE) and it imposes a real challenge for software tools technology. The necessary theoretical basis of ARE is bidirectional or invertible weaving (coupled forward and backward weaving), a problem that turned out to be very hard to solve in a more general setting. Hence, basic research on bidirectional weaving and ARE was one of the two main activities of the RISE project.
Although the invasive composition of concrete program code by bidirectional weaving of separately specified aspects appears to be the main target of this technology, it is certainly not the only one. Rather, integrational techniques can be applied to the entire software design process, ranging from requirements specification via coding and documentation up to testing, debugging, code generation, deployment, and performance tuning. This is made technically possible by adopting formal descriptions of requirements, test code, hardware platforms, or parallelization recommendations, denoted in a structured format like XML that can be composed invasively in the same way as program code. Consequently, the other main activity of the RISE project was to study the scope of applicability of invasive software composition techniques throughout the entire software design process. A generic schema for the consistent application of the weaving concept throughout the entire software design cycle has been derived from our observations.
Model-driven Architectures (MDA)
Whenever parts of a software system are generated from a specification
(i.e., forward weaving), there may arise a consistency problem
if the generated code is subject to manual editing.
A typical scenario occurs in model-driven architecture MDA(R)
MDA is a new paradigm for the stepwise engineering of large software systems
where a platform-independent model (PIM) is, often in multiple
refinement steps, transformed semi-automatically into more
platform-specific models (PSM) and, in a final code-generating step,
into (source) code that can be compiled.
PIM and PSM models are specified in a modeling language such as UML 2.0,
and also the properties of platforms and platform-specific functionality
are given in UML form.
Hence, models and platform specifications can be woven together
to produce a more specific model, which may be partially automated.
The goal of MDA is improved programmer productivity
(as less code has to be written by hand)
and better model reuse (as a PIM survives changes in the underlying platform).
In the next years, MDA will become increasingly important for Swedish software industry. For instance, Ericsson AB is currently introducing MDA in its internal tools development, and Combitech Systems is increasingly using UML-based development approaches in software projects.
The RISE project is currently (second funding period, 2006-2007) organized into the following four work packages:
Basic techniques for composition with weaving and automatic roundtrip engineering (ARE).
Uniform composition of XML-based active documents with semantics specifications and Modelica meta-modeling.
Integrational Specification and Management of Requirements.
Integrated Code Generation.
Automatic roundtrip engineering (ARE) for software engineering environments (Prof. Uwe Assmann)
Composition of XML-based active documents based on natural semantics (Prof. Peter Fritzson)
Composition of parallel software (Prof. Christoph Kessler)
Integrational Specification and Management of Requirements (Prof. Kristian Sandahl)
Evolving Tests with Integrational Development (Prof. Mariam Kamkar)
Integrated Code Generation (Prof. Christoph Kessler)
Dynamic Software Updating and Run-time Composition (Prof. Peter Fritzson)
Page responsible: Webmaster
Last updated: 2012-05-07