"Automatic model transformations using extended UML object diagrams in modeling environments".

Authors Avatar

SC207 Software Engineering - Term Paper 2003

Automatic Model Transformations Using Extended UML Object Diagrams in Modeling Environments

Chathapuram V Satish

Year 2 Computer Engineering

Nanyang Technological University

[email protected]

TOPIC DETAILS

“Automatic model transformations using extended UML object diagrams in modeling environments”.

Author: Dragan Milicev

Source: Software Engineering, IEEE Transactions, Volume: 28,   Issue: 4,   Apr 2002, Page(s): 413-431

ABOUT THE AUTHOR

Dragan Milicev received the diploma degree in 1993, Msc degree in 1995, and PhD degree in 2001 all in computer science at the School of Electrical Engineering at the University of Belgrade, Yugoslavia. His research interests include object oriented software engineering, metamodeling and information systems. His personal webpage can be found at http://www.rcub.bg.ac.yu/~dmilicev.

INTRODUCTION

Modeling is a critical part of all the activities that are involved in the deployment of an engineering system. Modeling tools that provide an interface to implement, apply, check and visualize the modeling process are available and make the entire process less cumbersome and tedious. One of the most important features of the modeling tools is the automatic generation of an output and this is the main focus of discussion in the above stated paper. The output can be documentation, source code, net list or any other model created by the user. The problem relies on the automatic translation of problem domain1 to the target domain. Few solutions to this problem do exist and the evaluation of these methods is the other focus of the paper. The author also introduces his solution and introduces the concept called ‘domain mapping’.

RELEVANCE TO LECTURE TOPICS

This paper discusses the issue of output generation from object diagrams. Our software engineering course structure does not have any explicit module in output generation. Since creating object diagrams is a substantial part in the process of the out put generation, the following are related topics.

  1. Object oriented Analysis: This module helps to identify objects from the client specification or problem statement.
  2. Object Orientation – The Complete Picture: This module covers the basic object oriented topics like abstractions, polymorphism which are important considerations in generating an object oriented source code.

ELABORATION ON THE PROPOSED APPROACH

Background Information

A modeling domain is a conceptual space of modeling various systems from similar problem domains using a certain modeling language (e.g.:- UML). To describe this modeling domain we have a conceptual model called Metamodel. A metamodel is thus a model that describes a model. These metamodel can be described using basic object oriented concepts like classes, attributes, associations and generalization. In the past a grammar based specification technique was used but his paper focuses on the former method.

One of the earlier approaches is as follows. The user defines the problem domain say by using state machine diagrams. The user then specifies the metamodel for the output domain say a C++ source code. A modeling tool would then use the above information to generate a pseudo code which needs modifications. This method has drawbacks. Firstly the process of specification is tedious and the user needs to deal with the C++ syntax and semantics. The code generator is not reusable and       modifications are difficult to apply.

Join now!

Few revised techniques were developed to overcome the draw back of the earlier approaches but their success was only limited.

Proposed Approach

Since directing conversion between two distant domains has the same drawbacks as mentioned previously, this approach tackles the situation by creating intermediate models from domains of higher level of abstraction.

This intermediate model may be designed using the object-oriented concepts from UML, like attributes, class and method. These can then be converted into target C++ domain using the standard built-in C++ generators.

Though some modeling tools follow a similar procedure the proposed ...

This is a preview of the whole essay