Revised submission for MOF 2.0 query / views /transformations RFP.

This submission presents the QVT-Partners proposal for the MOF 2.0 QVT standard. The proposal consists of a number of key ingredients which we briefly discuss in this section. -Specification and implementation: A common scenario in the development of any artifact is to first create a specification of the form and behaviour of the the artifact, and then realise an implementation which satisfies the specification. The specification is characterised by a lack of implementation details, but having a close correspondence to the requirements; conversely an implementation may lack close correspondence to the requirements. This submission maintains this important distinction. Relations provide a specification oriented view of the relationship between models and are specified in a language that can be easily understood. They say what it means to translate between several models but without saying precisely how the translation is achieved. Those details are realised by mappings which characterise the means by which models are translated. It should be noted though, that while the mappings language is rich enough to provide an implementation of relations it also manages to maintain a requirements oriented focus. This may give rise to a scenario where developers prefer to omit relations and directly define mappings. -Scalability and reuse: Decomposition is a key approach to managing complexity. This submission provides a number of composition mechanisms whereby relations and mappings can be composed to form more complex specifications. These mechanisms also aid reuse since mappings and relations can be treated as reusable components which are composed for specific contexts. -Usability: Diagrammatic notations have been important to the success of many OMG standards. This proposal presents a diagrammatic notation which is an extension of collaboration object diagrams and is therefore familiar to many end users. A criticism often levelled at diagrammatic notations is their scalability. This submission also presents a textual syntax, constructs of the diagrammatic notations are closely aligned with its textual counterpart. Considering the domains of relations and mappings at the generic type level is often too limiting. Instead it often is specific-types of things that are of interest. This submission uses patterns to describe the domains of both relations and mappings. Patterns are a means of succinctly describing specific-types of model elements and enable domains of interest to be rapidly stated with ease. -Semantic soundness: By definition a standard should give rise to consistency across differing implementations. It is important that an end user can get the same results on two different implementations. For this reason, this submission goes to some effort to ensure that all the constructs have a well-defined semantic basis. This is achieved by treating the submission in two parts. The infrastructure part has a small number of constructs which can be easily and consistently understood from informal descriptions (although a mathematical semantics is given in Appendix B for the sake of completeness and rigour). The superstructure part uses the infrastructure as its semantic basis and defines the syntax that the end user deals with. The relationship between the superstructure and the infrastructure is expressed as a translation.