Uml-Based Comparison of Model Transformational Term Paper
- Length: 29 pages
- Sources: 15
- Subject: Education - Computers
- Type: Term Paper
- Paper: #3350276
Excerpt from Term Paper :
Generally, the classification of model transformation tools is based on whether it is declarative or operational, directionality or multiplicity.
The study further discusses the sub-categories of model transformation that include:
hybrid transformation tools, graph transformation, relational, template based, operational based, structure driven and direct manipulation.
All the sub-categories of model transformation have the following features:
Hybrid transformation combines two or more transformation approaches;
Graph transformation focuses on graph rewriting over variation and extensions of labeled graphs.
Relational approach uses declarative approach-based mathematical relations; template approach uses model template specifications.
ATL Transformation Tool
The project reveals that ATL is one of the effective transformation tools used to semantic or syntactic translation and it is built on transformation Virtual Machine model. The ATL was developed from the ATLAS framework, which enabled the specification of one or more target models. The project further reveals that ATL is hybrid language providing the mix of imperative and declarative constructs. While imperative is used to construct a complex mapping, however, the declarative is mostly used because it could be used to construct a simple mapping. ATL also supports major tasks during system design that include executing, debugging, editing and compiling.
The study provides the characteristics of Rational Rhapsody as UML based and use graphical model to generate software application. The system assists model checking, model verification, model execution and stimulation. A special benefit of Rational Rhapsody is that it assists in the code improvement and it enhances visual design environment for creating unified modeling language diagrams. Typically, Rational Rhapsody generates a complete application code from the state charts, activity diagrams, class diagrams and flow charts that supports UML 2.1.
YATL Transformation Tool
The findings of the project also reveal that YATL is a hybrid language used for the mixture of declarative and imperative design construction. Unlike other transformation tools, the YATL does not provide a graphical concrete syntax to assist in system design. However, YALT has a well-defined semantics with deterministic transformation rule used to deliver an efficient transformation. In YATL, the rule of UML profiling mechanism makes it to be a general-purpose language having an ease of use and intuitive clarity.
MOLA Tool Architecture
Based on the thesis results, the MOLA tools consist of two parts:
Transformation Development Environment (TDE)
Transformation Execution Environment (TEE)
However, MOLA widely use Java compiler version the API of Eclipse EMF used for a model transformation.
XSLT Transformation Tool
Analysis of related literatures reveals that XSLT Mapper assists in the data transformation used to create the contents of a map file. Typically, XSLT is a W3C standard language used to describe transformations between XML documents. XSLT also describe the rules to transform the source XML into a result XML.
UMLX Transformation Tool
The results of the project also reveal that UMLX Transformation Tool is used for the annotated Usage, Scan and Build transformation. The UMLX delivers the graphical transformation tool having a minor extension UML and it uses a standard UML class diagram to define information schemas and inter-schema transformations.
BOTL Transformation Tool
BOTL is a mathematical transformation tool that can easily be extended to specify transformations on a single model. Thus, BOLT is an object-oriented model that offers a UML-like notation in order to specify the rules comparable to graph transformations. Typically, BOTL is based on the formalization of UML class diagrams and serve as a protocol for the description of tool chains and model integration. Thus, BOTL is based on formal comprehensive graphical notation using UML-like notations.
The thesis further argues that VMT tool is visual declarative language that supports composition, specification, and reuse of model transformation rules. Typically, VMT tool delivers schema of rule to formulate graph transformation.
4.2: Results of the Chosen Tools
The methodology in the chapter 3 reveals the analysis of various transformation tools discussed in chapter 2. Analysis of all the various transformation tools identified reveals that all the tools are UML based. Based on the analysis of the transformation, it is revealed that it is only Rational Rhapsody tool that is able to deliver excellent operational requirements and able to satisfy all the transformational outcomes. Within a software development environment, standardization and quality of the transformation tools are critical for the acceptability of a transformation tool. Typically, transformation tool should possess theoretical properties such as completeness, correctness, and termination. Moreover, a transformation tool should be scalable to cope with complex and large project. The Rational Rhapsody transformation models possess essential features such as reusability, maintenance as well as having ability to perform a large operation.
Thus, the project discusses the operational procedure of the chosen tools, their operational procedures as well as their transformation outcomes.
Operational Procedure and Transformation Outcome of Rational Rhapsody
This section discusses the operational procedure and transformation outcome of Rational Rhapsody. A system architect, software developer and system engineer use Rational Rhapsody as an embedded and real timed system. Generally, Rational Rhapsody uses a visual design environment to create model systems using the Unified Modeling Language diagrams. Rational Rhapsody assists developers to develop a dynamic system using any of the four supported languages, which include Java, Ada, C, and C++.
The development process within the Rational Rhapsody assists a developer to create and test code accurately, and quickly. The operational procedure is implemented using the following procedures:
First, a developer or system engineer will need to download one of the following Rational Rhapsody product families.
Rational Rhapsody Architect for a Systems Engineer
Rational Rhapsody Designer for a Systems Engineer
Rational Rhapsody Architect for a Software Developer
Rational Rhapsody Developer.
When a developer decides to create a new project using Rational Rhapsody it is essential to follow following steps:
"Navigate to the Rational Rhapsody Samples directory in your installation to examine the official Rational Rhapsody sample models."
"Click Proceed in the Project Samples area of the Welcome screen."
"Click the Samples icon on the Welcome screen" (IBM 2009 P. 2).
One of the most important operational functions of the Rational Rhapsody is its ability to create Standard UML diagrams. Typically, Rational Rhapsody assists a system engineer, information architect and software engineer to create the following UML diagram in most development environment:
Object model diagram
Use case diagram
More importantly, Rational Rhapsody also assists in designing additional specialized diagrams that include:
Block definition diagram
Internal block diagram
To enhance greater understanding of the operation procedure of Rational Rhapsody, the study uses the strategy the Rational Rhapsody used to create activity diagrams:
In the Rational Rhapsody package, it is possible to stimulate the activity diagram to test the new features. For example, the package contains the sample of activity diagram in the following Rational Rhapsody installation folder:
The activity diagram could be created automatically, stimulated and run as class activities.
Start Rational Rhapsody software,
Navigate to the Packages, Use cases, blocks or Operations, to the activity diagram,
Right-click the component of the package, or operation to add the activity diagram to, select Add New > Diagrams > Activity Diagram,
Alternatively, click the Activity Diagram icon located at the top of the window.
The diagram below reveals the operations of the activity diagram discussed.
Fig: Activity Diagram
From: IBM (2009). Creating activity diagrams. IBM Corporation.USA. Retrieved February 20, 2013, from http://publib.boulder.ibm.com/infocenter/rhaphlp/v7r6/index.jsp?topic=%2Fcom.ibm.rhp.sysml.doc%2Ftopics%2Frhp_t_dev_creating_activity_dgrms_sysml.html
Based on the above operation, the following result is automatically generated:
From: IBM (2009). Java Tutorial for Rational Rhapsody. IBM Corporation.USA. Retrieved February 20, 2013, from http://publib.boulder.ibm.com/infocenter/rsdp/v1r0m0/topic/com.ibm.help.download.rhapsody.doc/pdf75/tutorialj.pdf
Apart from assisting system designer, system engineer, or information architect to create a dynamic UML diagram, Rational Rhapsody also assists in code generation. The study discusses the operational procedure in the code generation strategy using Rational Rhapsody.
Rational Rhapsody Java Code Generation
The study reveals the strategy to generate code from the Dishwater project.
To create a Dishwater project, it is essential to provide the analysis of the Dishwasher system.
Dishwasher System Analysis
The thesis attempts to answer the following questions through the analysis Dishwater:
Who are going to use the system?
How they are going to use it?
What are the more important actions of the system?
When do these actions going to occur?
What are the relationships, differences or similarities between the actions?
What are standard behaviors?
What are the actions that can go wrong?
Based on the questions specified above the following specified answers are considered:
The system actors or users would include "service and "user" person.
The system rinses, washes, and then dries dishes.
The "user" will load the dishes into the dishwasher. Then start the dishwasher, and finally remove dishes after they are washed.
The system might fail to rinse, wash, or dry the dishes and will require additional service.
Thus, three types of actors are identified:
External components responsible to provide information to the system,
External components that are…