RISE
Integrational Software Engineering
Project Overview
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.
Introduction
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)
(OMG 2003).
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.
Organization
The RISE project is currently (second funding period, 2006-2007) organized into the following four work packages:
-
RISE-ARECOMP
Basic techniques for composition with weaving and automatic roundtrip engineering (ARE).
RISE-XMLCOMP
Uniform composition of XML-based active documents with semantics specifications and Modelica meta-modeling.
RISE-REQCOMP
Integrational Specification and Management of Requirements.
RISE-CODECOMP
Integrated Code Generation.
- RISE-ARE
Automatic roundtrip engineering (ARE) for software engineering environments (Prof. Uwe Assmann) - RISE-XMLCOMP
Composition of XML-based active documents based on natural semantics (Prof. Peter Fritzson) - RISE-PARACOMP
Composition of parallel software (Prof. Christoph Kessler) - RISE-REQCOMP
Integrational Specification and Management of Requirements (Prof. Kristian Sandahl) - RISE-TESTCOMP
Evolving Tests with Integrational Development (Prof. Mariam Kamkar) - RISE-OPTIMIST
Integrated Code Generation (Prof. Christoph Kessler) - RISE-DYNACOMP
Dynamic Software Updating and Run-time Composition (Prof. Peter Fritzson)
Further information:
Project members 2006-2007
Events 2002-2007
Publications 2002-2007
Master thesis projects (exjobb)
Address and location
RISE-I archive 2002-2005
Page responsible: Webmaster
Last updated: 2012-05-07