------------ GReAT: Graph Rewriting And Transformations ------------ This folder contains the GReAT related metamodels, tools, and examples developed by ISIS/Vanderbilt University. ------------ Copyright ------------ Copyright (c) Vanderbilt University, 2000-2004 Permission is granted to use this software for academic/research purposes ALL RIGHTS RESERVED Vanderbilt University disclaims all warranties with regard to this software, including all implied warranties of merchantability and fitness. In no event shall Vanderbilt University be liable for any special, indirect or consequential damages or any damages whatsoever resulting from loss of use, data or profits, whether in an action of contract, negligence or other tortious action, arising out of or in connection with the use or performance of this software. --------------------- Software Requirements --------------------- 1. Windows Operating system (preferably NT, 2000, XP) 2. GME 4, R4.11.10 from: http://www.isis.vanderbilt.edu/Projects/gme/Download.html NOTE: You need to have administrative privileges to install GME correctly. 3. Visual Studio 7.1 PLEASE DOWNLOAD AND INSTALL 2 and 3 before proceeding. ---------------------- Folder structure ---------------------- The following folders are used by the individual projects. These folders are created by the toplevel GREAT project, and the folders are also available in the release package. bin/ Place for executables, DLLs doc/ Documents etc/ Helper files for the user code compilers,etc. lib/ Library files meta/ Metamodel files samples/ Contains some GReAT samples ---------------------- Changelog ---------------------- 07/15/05 - Release 1.4.1 1. Fixed MetaGME2UML/MetaGME2UMT bug dealing with GME proxies 2. GReAT Tutorial added 3. OCL method support added to UdmOCLPat 4. Minor Udm bugfixes 06/13/05 - Release 1.4.0 1. VC71 support: This means (1) all UDM and GReAT tools and core libraries are compiled with VC71; (2) all the tools produce cpp files and Visual Studio project files for VS7. 2. Global namespace: use the temporary attribute of Class Packages in your UMT models, and you'll be able to access a global root object from all the rules without passing it as a packet. (for an example, see SignalFlow2FlatSF_test_globalObject) 3. Sorting: specify a compare function in CodeLibrary under your Configuration folder, and use that compare function in the specification of an output port to sort the rule's output packets. (for an example, see SignalFlow2FlatSF_test_sortingFunc) 4. Distinguished cross product: set the "Distinguished cross product" attribute true, so that each object is allowed to occur only once among the results, i.e. all objects will be unique. (for an example, see SignalFlow_test_distinguished) 5. The code generator now automatically generates VS7 project files, so that you don't have to set up the project manually. The command line tool, CG.exe, can also compile the generated files, i.e. it can generate the transformation executable file. (see the command line help of CG.exe for more info) 6. You can call the compare functions specifications in Guard and AM code. Code library is a future placeholder for code snippets, that can be called from Guard and AM code. 11/12/04 - Release 1.3.3 1. Updated to GME 4, R4.11.10. Please install GME4.11.10 first. 09/28/04 - Release 1.3.2 1. Require GME 4, R4.8.25 2. Support multiple models of the same meta. 3. Support UserCode library. In configuration model, user can define some other required include and library files, also user needs to specify the directories for these files. 4. Some bug fixes. 06/18/04 - Release 1.3.1 1. Minor bugfixes: -in umt cross link diagram PatternAssociation and PatternComposition links are not allowed, and a constraint has been added that checks if there are any of them present in the diagram. - in uml class diagram, if the association end has blank name, the Class name will be used as default name. 2. Please note the change of the software license. 06/04/04 - Release 1.3.0 1. GReAT has been ported to GME4. 2. The MetaGME2UML interpreter now supports interface inheritance, implementation inheritance and equivalence operators. 3. The GReAT engine now supports direct manipulation of in/out files. 4. Temporary links within the same paradigm are now supported. 5. Some minor bugfixes 05/06/04 - Release 1.2.4 1. Added support for cross links within the same paradigm 2. Added support for (1) Implementation Inheritance, (2) Interface Inhertance, (3) Equivalence, in MetaGME. 04/09/04 - Release 1.2.3 1. UMT paraidgm has changed. UPC.exe provided to migrate previous models. 2. UML paradigm has changed. UPC.exe can be used to migrate previous models. 3. Bug fixes in the master interpreter (including the one reported by Gabor Madl) 4. Bug fixes in GRE and GRD (reported by Tivadar) 5. GReAT Master interpreter dialog has a new "R" to be used when transformations have been moved to a different directory or computer. 6. Automated rolenames when connector connected to association class. 7. Code generator now supports direct manipulation of in/out files. ------------------------- Install instructions ------------------------- 1. Uninstall previous version of GReAT and UDM (if installed seperately) 2. Run the install shield package to install GReAT and its related components 3. Read the GReAT User Manual for instructions on how to used GReAT and its associated tools. 6. To run the examples, please read the readme each example directory. The example directory is under the GReAT in the install path. ------------------------- Known Issues ------------------------- Porting your old UMT models: You can import your old UMT models using the "Import XML" feature in GME. The UserCodeLibrary has been moved from the Config model to the UserCodeLibrary model. If your old model contains UserCodeLibraries, it must be moved to the UserCodeLibrary model. This can be done automatically, by using the XSLT script found here: $\GReAT\etc\UmtUpdater.xls. To do this, GME requires that the mga.dtd file be in the same folder as the input UMT model. You may need to manually copy this file to the appropriate folder to complete this operation. User code libraries compatibility requirements: 1. If Udm features are used , you are requiered to specify UDM_DYNAMIC_LINKING preprocessor directive in the project options this is needed because the generated files are linked against UdmDll(d).lib. 2. You must conform to the library naming convention of using the 'd' suffix for debug libraries. The generated project file links with d.lib for Debug configuration, and .lib for Release configuration.