|
QVT Project Design Pattern Evolution |
Objective
Understand the existing project
Learn how to run the project
Extend the existing project
Develop detailed documentation for the project
Paper Related to the Project
Tool
Together is a Java development environment based on eclipse platform. It can be downloaded at http://www.borland.com/us/products/together/index.html and you have to request for registration file (with 30 days trial). If you are a student in my research group and need this software, please email me at jdong@utdallas.edu.
UML2 support for Eclipse can be download at http://www.eclipse.org/modeling/mdt/downloads/index.php?project=uml2&showAll=0&showMax=5. Unzip the file, place all files under plugin folder under the plugin folder of eclipse; and all files under features folder under the features folder of eclipse. Be sure your environment meets its build dependencies (prerequisites) which is listed on the webpage.
Eclipse EMF, SDO, and XSD all-in-one SDK can be download at http://www.eclipse.org/modeling/emf/downloads/?project=emf. Unzip the file, place all files under plugin folder under plugin folder of eclipse; and all files under features folder under the features folder of eclipse. Be sure your environment meets its build dependencies (prerequisites) which is listed on the webpage.
IBM Model Transformation Framework (MTF) version 2 can be download at http://www.alphaworks.ibm.com/tech/mtf/download. Unzip the file, place all files under plugin folder under plugin folder of eclipse; and all files under features folder under the features folder of eclipse. For information about the installation prerequisites, please refer to http://www.alphaworks.ibm.com/tech/mtf/requirements and make sure your environment meets all the requirements. If you cannot configure your environment to meet all the requirement for version 2, you can download MTF version 1 here. Inside the mtfinstall directory there is a readme file describing the prerequisites of this product, make sure your environment meets them.
Resources
1. The pattern transformation tool is developed based on QVT. It's an Eclipse project developed in Together environment. The project is named UMLCopy and is available here.
To use this project
After Together is started, click File-->Import-->Existing Project into Workspace to import the project to import the UMLCopy project into workspace. Click Project-->Properties-->Java Build Path-->Libraries to modify the classpath. Replace the incorrect jar file with the correct version (which you installed).
To run the project:
In the left panel, Select MappingRules and create a new mappingrule (say UMLCopy), right panel should be set as shown by the following figure.

Or you can run through java application:
In package navigator, right click the project name and click Run As ก


2. jdt2uml is an eclipse project that defines rules
which can generate a UML2 model from Java source files
in the Eclipse
workbench.These rules use the Eclipse JDT API to get information about Java
classes, properties and methods. Corresponding
UML2 classes, operations,
properties etc are created. The source code can be downloaded here.
3. new_patterns is a Java standalone application that generate XML files for pattern evolution. If you want to do any pattern evolution (addition or removal) based on the current system, you will need an XML file to describe what will be added or removed. This tool takes the original system description (in XML format) as input and generates user interfaces where user can specify what to add or remove. After user's confirmation, the tool will generate the XML file for it. The source code of this project can be downloaded here. Just open the project with NetBeans and run it. Click Open and select either Adapter_PathIterator_ArcIterator_tag.xml or Adapter_PathIterator_GeneralPathIterator_tag.xml as input, you will be able to see the user interface. If you expand one node, you can see two nodes, Add and Remove. Click Add node, you will see the following interface. By filling out the information and clicking Add, you will get an output file named output.xml under /build/classes/new_patterns/ directory.

Click Remove node, you will see the following interface. However the Remove button shown on the interface hasn't be realized yet.

กก
Reference
Test Data
Some test data for UMLCopy project is included in the UMLCopy project directory. (I haven't figured out how to use the test data yet.)
There are currently two files to test new_patterns project. They are Adapter_PathIterator_ArcIterator_tag.xml and Adapter_PathIterator_GeneralPathIterator_tag.xml.
Work Break Down Structure
| Time | กก | กก |
| กก | กก | กก |
| กก | กก | กก |
| กก | กก | กก |
| กก | กก | กก |