BOTL - The Bidirectional Object Oriented Transformation Language

Modern software engineering bases heavily on models that represent an abstraction of a system under development. Object orientation has established as a standard modeling technique for the specification of software systems. Abstraction and refinement relations within the development process require the transformation of different models. Today there exists no language that is capable to unambiguously define transformations of object oriented models. This report presents the Bidirectional Object oriented Transformation Language (BOTL). BOTL is based upon a precise, formal foundation and a comprehensible, graphical notation. Further techniques are presented that allow to verify whether a BOTL specification is applicable and whether it will produce models that are conform to a given metamodel. Another property that is introduced is the bijectivity of BOTL specifications. A running example is used throughout the report to illustrate the BOTL concepts. Further an extension for inheritance and a mapping to the UML are presented as detailed applications of the BOTL. BOTL is intended to be supported by a tool that uses the presented verification techniques and generates code for the transformation of object oriented models.

[1]  Axel Uhl,et al.  Model-Driven Architecture , 2002, OOIS Workshops.

[2]  Manfred Nagl,et al.  Building Tightly Integrated Software Development Environments: The IPSEN Approach , 1996, Lecture Notes in Computer Science.

[3]  Massachusett Framingham,et al.  The Common Object Request Broker: Architecture and Specification Version 3 , 2003 .

[4]  Peter Fettke,et al.  Model Driven Architecture (MDA) , 2003, Wirtsch..

[5]  Nacer Boudjlida,et al.  Managing Schema Changes in Object-Relationship Databases , 1995, OOER.

[6]  Grzegorz Rozenberg,et al.  Handbook of Graph Grammars and Computing by Graph Transformations, Volume 1: Foundations , 1997 .

[7]  Marianne Winslett,et al.  A Rigorous Approach to Schema Restructuring , 1995, OOER.

[8]  Eduardo Casais,et al.  Managing class evolution in object-oriented systems , 1995 .

[9]  David H. Akehurst,et al.  Model translation : a UML-based specification technique and active implementation approach , 2000 .

[10]  Jean Bézivin,et al.  MTRANS : A general framework , based on XSLT , for model transformations , 2001 .

[11]  Panos K. Chrysanthis,et al.  Database Schema Evolution through the Specification and Maintenance of Changes on Entities and Relationships , 1994, ER.

[12]  Peter Braun,et al.  Transforming Object Oriented Models with BOTL , 2003, GT-VMT@ICGT.

[13]  Andy Schürr,et al.  Specification of Graph Translators with Triple Graph Grammars , 1994, WG.

[14]  Peter Braun,et al.  Automotive Software Development: A Model Based Approach , 2002 .

[15]  C. M. Sperberg-McQueen,et al.  Extensible Markup Language (XML) , 1997, World Wide Web J..

[16]  Jim Steel,et al.  Transformation: The Missing Link of MDA , 2002, ICGT.