RJLRef: $PH/OMG/MOFScriptSofteam-ad2005-11-03.txt This is an introduction to Softeam's 57-page proposal "MOFScript, Second Revised submission, OMG document ad/2005-11-03 Version 0.3 (2005/11/14)" which I saved (in $PH/OMG) as: http://www.cs.uml.edu/~lechner/OMG/MOF2TextXformSofteam05-11-03.pdf This proposal is a response to OMG's RFP for a MOF Model to Text Transformation Language. Its abstract says: "The main aim of the MOFScript is to provide a set of facilities that provide a high usability factor for end users writing text transformations from models, including text manipulation utilities and specialised libraries for XML output." MOFScript recommends a minimum set of semantic capabilities that extend QVT (Query,View,Transformation) which is based on OCL (Object Constraint Language). From 2.7 TYPES: "MOFScript reuses the type define in OCL and QVT. In addition, it adds to some type operations, especially so for String manipulation. The available types are: String, Integer, Boolean, Real, List, Dict/Hashtable, and the QVT Tuple type." ... "A Dictionary is an unordered set of key/value pairs, equivalent to a Hashtable in Java. This is similar to the Dictionary type in QVT, but is not parameterized." ... "A List is an ordered list of values, equivalent to a List in Java and similar to List in QVT. The List type as defined in QVT is a parameterized type. It can, however, be used untyped." From 2.8: HONOURING HAND MADE CHANGES: "Honouring hand made changes is a pertinent issue for model to text generation. Issues such as handling manual changes to generated code, changes to source models, synchronisation of generated text and the original model, traces between model information and generation code, and round-trip engineering need to be addressed in the context of MOF model to text generation." "This submission defines a trace metamodel, which allows the generation of traces from source model elements to segments in the generated text. Segments in the generated text may be part of protected blocks. Protection is provided by tags wrapped in comments in the generated text." From 2.9 TEXTUAL SYNTAX: "Model to text transformation is primarily concerned with textual notations, as graphical notations are less useful when expressing lexical output. MOFScript is a purely lexical notation." "The textual syntax for MOFScript is similar to that of QVT, with some exceptions to support output printing etc."