Invited Talks
First International Workshop on Bidirectional Transformations (2012)
We are proud to feature the following two invited talks:
- Juan de Lara (Autonomous University of Madrid, Spain): Bidirectional Transformations with Graphical Constraints. (joint talk with GT-VMT 2012)
Abstract: Model Driven Engineering (MDE) is a software engineering paradigm that attacks the accidental complexity in the development process by increasing the abstraction level at which engineers work. In this way, models (in contrast to programs) are the core assets, and model transformations become first-class citizens. Still, most current transformation languages are directed to the implementation of model transformations, and little effort is currently devoted to support other phases of the transformation development, like requirements specification or testing.
In this talk, I will first present a formal language (called PAMOMO) for the specification of model transformations in a declarative, graphical, bidirectional way. The approach is based on patterns or constraints describing the allowed and forbidden relations between two models. Such specification can be compiled into operational mechanisms, based on Graph Transformation, to perform forward and backward transformations. The language has a general semantics, which makes it applicable to several scenarios and activities relevant for MDE, which will be explored in the second part of the talk.
First, PAMOMO can be used as a general framework supporting inter-modelling, which is the activity of building models that describe how other models should be related. This includes many common activities in MDE, like the specification of model-to-model transformations seen before, but also the definition of model matching and model traceability constraints, the development of inter-model consistency maintainers and exogenous model management operators. Second, PAMOMO can be used as a language for specifying transformation contracts, enabling the verification of transformations implemented with any transformation language. The verification can be performed by compiling the contracts either into OCL expressions, which can then be used as partial oracle functions, or into QVT Relations check-only transformations to detect disconformities of transformation results with respect to the contracts. Finally, the general bi-directional semantics of PAMOMO can be used as a basis to describe other languages, like QVT Relations.
- Jean-Luc Hainaut (University of Namur, Belgium): Bidirectional Transformations in Database Engineering.
Abstract: Most processes in database engineering consist in transforming schemas according to definite requirements. Basically, a schema transformation is a rewriting rule that allows schema constructs to be replaced by other constructs that are expected to better meet these requirements. Schema normalization, logical design, schema integration, view derivation, proving schema equivalence, data conversion, database reverse engineering, database evolution, schema optimization, ETL, wrapper generation are some popular database related processes that can be modelled as schema transformations.
In most cases, schemas have instances, so that parallel data transformation rules are associated with schema transformations in order to adapt the contents of the source database to the new target schema. A transformation is qualified semantics-preserving, or bidirectional, if there exists an inverse transformation through which the source database (schema and instances) can be recovered from the target database. This class of transformations are important in that they guarantee the preservation of information capacity of the source database through an arbitrary chain of transformations. For instance, describing the database design process as a bidirectional transformation ensures that all the user requirements expressed by the conceptual schema have been translated into the physical database. Conversely, modeling database reverse engineering as a chain of (mostly) bidirectional transformations helps in recovering the hidden intended semantics of a physical database.
In this talk, we briefly recall the principles of database engineering as a specific domain of complex software systems engineering. We then describe basic and practical aspects of database transformation techniques including their properties of semantics preservation. Major database engineering activities are redefined in terms of transformation techniques, and the impact on CASE technology is discussed and illustrated.