[Zurück]


Wissenschaftliche Berichte:

A. Kalnins, A. Sostaks, E. Celms, E. Kalnina, A. Ambroziewicz, J. Bojarski, W. Nowakowski, T. Straszak, V. Riediger, H. Schwarz, D. Bildhauer, S. Kavaldjian, R. Popp, J. Falb:
"Reuse-Oriented Modelling and Transformation Language Definition";
Bericht für EU, ReDSeeDS, Projektnr. IST-2006-033596; Berichts-Nr. D3.2.1, 2007; 230 S.



Kurzfassung englisch:
The ReDSeeDS project is primarily about reusing software cases. Before being reused, however, these software cases must be created. The artefacts constituting such a software case - requirements, models, code-are to be specified using the software case language (SCL). SCL is actually a union of several languages. One component of SCL - the Requirements Specification Language (RSL) - is already defined in previous deliverables. In this deliverable, we define the other parts of SCL for specifying software cases in the ReDSeeDS approach.

For creating software cases, we focus on model-driven software development. This approach requires one or more models to be built in a modelling language before code development can be started. In ReDSeeDS, two such models should be built as artefacts within a software case - an architecture model and a detailed design model. Hence, an appropriate modelling language must be part of SCL. There are some reuse-related issues common for all parts of SCL. Firstly, reuse must be supported by traceability links between all artefacts constituting one software case. Secondly, as far as possible, automatic transformations should be provided for generating an initial version of the next artefact in the chain from the previous one (which is then completed manually). Therefore, a model transformation language for defining these transformations is needed in SCL as well. All these issues are discussed in this document to a certain degree, but the main emphasis is on two of them - the definition of an appropriate modelling language for specifying architecture and detailed design models, and the definition of an appropriate model transformation language.

In contrast to RSL, which is an original development within the ReDSeeDS project, there has been no intention to develop a completely new modelling language for specifying architecture and detailed design models. Instead, we developed principles for how to select an appropriate subset of an existing language, together with some usage guidelines. Due to the wide use of the Universal Modelling Language (UML) in software design practice, especially the use of UML for SCL is discussed in detail. The main issue with UML is that it is too large and too universal to be efficiently used by software case developers without guidelines. Therefore, we propose appropriate subsets for specifying architecture and design models. However, another approach to building these models and another subsets of UML could be used as well within the general
framework of SCL.

The situation with model transformation languages is different. Though there is a growing interest in such languages, no widely accepted candidate exists. The efforts by the OMG to propose a standard in this area have not succeeded yet. Therefore, we decided to use the transformation language MOLA, being developed by one of the ReDSeeDS partners - University of Latvia IMCS. This document contains the complete description of this language.

The possibility of applying transformations for automatic generation of models for software cases is discussed and illustrated through examples, especially for arriving at an architecture model from requirements. We sketch related transformation rules, some of which are also formalized as MOLA transformation examples. As a special innovation, the possibility of applying transformations is sketched for generating a user interface as well.

In addition, we propose a consistent approach to traceability among all parts of SCL. The technical evolution of RSL (how to make its metamodel tool-ready), and how a programming language can smoothly be incorporated into SCL are discussed as well. The latter issue is dealt with on the basis of Java 5, by analyzing its metamodel.

Overall, we propose a comprehensive solution for the complete SCL for specifying software cases to be reused.

Schlagworte:
Reuse, Model transformation


Elektronische Version der Publikation:
http://publik.tuwien.ac.at/files/pub-et_13421.pdf



Zugeordnete Projekte:
Projektleitung Hermann Kaindl:
Requirements Driven Software Development System