• Keine Ergebnisse gefunden

Towards Precise Operational Semantics of Use Cases

Chapter 7 ConclusionConclusion

Chapter 7

trans-formation quality assurance. This approach is realized based on the USE tool, which offers full OCL support.

The third major contribution of the thesis is showing the practical applicabil-ity of the model-driven approach based on the integration of OCL and TGGs.

This is carried out with case studies of model transformation. They include (1) the transformation from a UML subset to a Java subset as explained in Chapter 5, (2) the transformation from UML activity diagrams to Com-municating Sequential Processes (CSPs) as mentioned in [DGB07, VAB+08], (3) the transformation between logic languages as mentioned in Chapter 3, (4) the transformation between statecharts and extended hierarchical au-tomata as presented in [DG09b], and (5) the relation between use case mod-els and design modmod-els for an operation semantics of use cases as explained in Chapter 6. Especially, our approach for describing the operation semantics of use cases on the one hand can be broaden in order to describe the opera-tional semantics of modeling languages. On the other hand, it allows us to generate scenarios as test cases, to validate system behavior, and to check the conformance between use case models and design models. This supports basic constructions of an automatic and semi-automatic design.

7.2 Future Work

The model-driven approach together with engineering solutions proposed in this thesis has contributed to the effort realizing the MDE vision. Substan-tial work remains toward the goal of achieving a full support for the MDE paradigm. In what follows we discuss several directions for future work.

7.2.1 Transformation, Consistency, and Traceability

The approach based on TGGs incorporating OCL for model transformation in this thesis allows us to detect and fix the inconsistency between models in a semi-automatic way. Our concern in future is how to generate OCL queries from triple rules incorporating OCL in order to detect such an inconsistency in an automatic way. We will explore different situations of the change of source and target models and develop algorithms to synchronize them. The challenge is how to locate such an inconsistency so that we can fix it by applying derived triple rules for model synchronization. Our future work also concerns the case of integrated models produced by deleting rules. We will develop a mechanism to keep the information of rule derivations, which

may be lost by deleting rules. It broadens our approach for maintaining the consistency between models.

The approach based on TGGs incorporating OCL in this thesis allows us to explain relationships between two models. In practice we often need to keep the consistency among many models. We plan to extend our approach for this aim. The case study for our work will be an extension of the case study of use cases presented in this thesis: Use case models and design models will be seen as aspect models. The focus of our work will be the concern how aspect models to be executed in synchronization.

We will evaluate the practical applicability of our OCL-based framework for model transformation with middle and large scale case studies. In particu-lar, we see applications in the fundamentals of language engineering where a source language (including syntax and semantics) is translated into a tar-get language (also including syntax and semantics). Transforming Domain-Specific Languages (DSLs) into core modeling languages is also our aim in future. The work in this thesis and in [DG09c] explains how TGGs incor-porating OCL can be employed in order to describe operational semantics of modeling languages. We aim to extend this approach by studying its applicability for various other modeling languages.

With transformations based on TGGs incorporating OCL, we can check OCL properties of the target model. We plan to explore the possibility to prove such a property based on the specification of transformations with triple rules incorporating OCL. Here, properties of models can be expressed in alternate verification calculus, e.g., with temporal logic.

We plan to enhance features of our USE-based tool for model transforma-tion, including algorithms for applying triple rules and the compiler for the extended USE4TGG language. We also focus on the feature that allows us to present the result of transformations in both concrete and abstract syntax.

7.2.2 Expressiveness of the Transformation Language

The USE4TGG language in our approach is a transformation language. This language must be studied with various case studies and extended in several ways in order to increase its expressiveness within the MDE context. First, transformations can be seen as artifacts. They may have relations such as composition, separation, and inheritance of transformations. This transfor-mation language needs to be extended in order to support such features. We aim to extend our language to special QVT features expressed in QVT by

keywords ‘check’, ‘enforce’, and ‘realize’. Second, this language needs to sup-port control structures for sequences of complex transformations. In parallel with such extensions, a corresponding formal foundation must be defined.

We will focus on a structure that has a higher level of abstraction than triple rules and is similar to transformation units for plain graph transformation.

A further activity will concentrate on how to generate correspondence meta-models from TGG rules.

7.2.3 Use Case Modeling Language

We have introduced an approach to use cases. Our general goal is a modeling language for use cases. We will focus on how to generate test cases from models in this language. This allows us to simulate the automatic evolution of the system in order that we can check properties as well as non-functional requirements, e.g., performance or security features of the designed system.

We will study transformations from use case models to other models such as User Interface models, design models, simulation models, and test models.

Our approach to use cases is an effort to represent the textual description of use cases in a precise way. In future we continue the effort to narrow the gap between use case models and textual descriptions of use cases. We will also consider the possibility of representing use case models in natural language, where the core is to translate OCL conditions to natural language. In this way a use case model is really a requirements model of a system.

7.2.4 Expressiveness of OCL

OCL is the central ingredient of our current approach as well as of the fu-ture work mentioned above. During the implementation of our fufu-ture work the applicability of OCL will be explored. Our concern is how to increase the expressiveness of OCL for the applications. Note that some extensions for OCL have been introduced recently such as temporal OCL [ZG03] and imperative OCL [OMG07a].