Reuseware Composition Framework
Many of the languages used today in software engineering have poor built-in support for software composition. As is well-known, there are many benefits to be harvested from creating software based on components and this method is considered a vital part of large mature systems. Among other things, creating software from components allow for reuse of implementation artefacts which is crucial in Product-Line Engineering. To address this problem one can re-design the individual languages such that they support composition based thinking and development. However, many languages are designed for some specific purpose and do not initially consider the component aspect. For example, the authors of a new modelling language might not initially consider how to express variation points in a modular fashion using components. Rather, the design is focused on the fixed structural aspects of the language, and rightly so. Thus, trying to realize and enable software composition on the level of individual languages is not ideal.
On the other hand, one can consider the possibility of addressing the problem on a language independent level, without tampering with the specifics of each individual language. This has the advantage that the same composition technique can be reused for every language. More importantly, one can create a general tool framework for enabling component based development for a number of languages lacking such capabilities.
The Reuseware project aims at providing composition technology and techniques for formal languages lacking built-in reuse mechanisms. These include simple as well as advanced composition techniques such as view-based or aspect oriented programming. The composition techniques used are based on Invasive Software Composition (ISC).
One of the core goals of the project is to create a robust and flexible framework where: 1) well-known composition techniques can be realized and ported to arbitrary languages, and 2) experiments with new interesting techniques can be easily performed.
Solution and Application
The Reuseware Composition Framework is now available from http://www.reuseware.org. The core of the framework is based on the Eclipse Modeling Framework. On top of that, an IDE building on the popular Eclipse platform is provided. The IDE can be easily installed via Eclipse's build-in update manager.
During the last year, the framework was effectively utilized to realize composition systems for different languages, including Aspect-Oriented Modelling for UML class diagrams and Ecore-based languages.
Reuseware is under development at the Software Technology group at Technische Universitšt Dresden, Germany. Please visit our project website at
|Copyright © feasiPLe Consortium 2006-2008|