A Formal Approach to Modeling and Model Transformations in Software Engineering

Similar documents
A Formal Approach to Modeling and Model Transformations in Software Engineering

A comprehensive application of category theory to semantics of modelling language

Towards a traceability framework for model transformations in Kermeta

Electronic Notes in Theoretical Computer Science 18 (1998) URL: 8 pages Towards characterizing bisim

Boolean Algebra and Propositional Logic

Boolean Algebra and Propositional Logic

Diagram-based Formalisms for the Verication of. Reactive Systems. Anca Browne, Luca de Alfaro, Zohar Manna, Henny B. Sipma and Tomas E.

A Graph Transformation-Based Semantics for Deep Metamodelling

Transformation Rules for Locally Stratied Constraint Logic Programs

Table of Contents. Preface...viii. Acknowledgment... xiv. Section 1 Basics

Lecture 14 - P v.s. NP 1

Sampled Semantics of Timed Automata

Injectivity of Composite Functions

Computing the acceptability semantics. London SW7 2BZ, UK, Nicosia P.O. Box 537, Cyprus,

SAMPLED SEMANTICS OF TIMED AUTOMATA

{},{a},{a,c} {},{c} {c,d}

Non-elementary Lower Bound for Propositional Duration. Calculus. A. Rabinovich. Department of Computer Science. Tel Aviv University

TDDD08 Tutorial 1. Who? From? When? 6 september Victor Lagerkvist (& Wªodek Drabent)

Lecture 9 : PPAD and the Complexity of Equilibrium Computation. 1 Complexity Class PPAD. 1.1 What does PPAD mean?

distinct models, still insists on a function always returning a particular value, given a particular list of arguments. In the case of nondeterministi

2 C. A. Gunter ackground asic Domain Theory. A poset is a set D together with a binary relation v which is reexive, transitive and anti-symmetric. A s

INSTITUT FÜR INFORMATIK

Can Vector Space Bases Model Context?

Design Patterns for Metamodel Design

Ensuring Structural Constraints in Graph-Based Models with Type Inheritance

Analysis and Optimization of Discrete Event Systems using Petri Nets

CS632 Notes on Relational Query Languages I

A Diagrammatic Logic for Object-Oriented Visual Modeling

This program is equivalent to: path(x; Y ) edge(x; Y ): path(x; Y ) edge(x; Z); path(z; Y ): The second is a linear program, while the rst is not. In

An Alternative To The Iteration Operator Of. Propositional Dynamic Logic. Marcos Alexandre Castilho 1. IRIT - Universite Paul Sabatier and

Knowledge-based systems

Adding a temporal dimension to a logic. Abstract. We introduce a methodology whereby an arbitrary logic system L can be enriched

and combine the results of the searches. We consider parallel search with subdivision, although most notions can be generalized to using dierent searc

A Foundation for Metareasoning. Part

SPN 2003 Preliminary Version. Translating Hybrid Petri Nets into Hybrid. Automata 1. Dipartimento di Informatica. Universita di Torino

From Constructibility and Absoluteness to Computability and Domain Independence

A Proof-Theoretic Approach to Irrelevance: Richard E. Fikes. KSL, Stanford University. et al., 1994b].

Lecture 15 - NP Completeness 1

Logic Part II: Intuitionistic Logic and Natural Deduction

CHAPTER 10. Gentzen Style Proof Systems for Classical Logic

COURSE CONTENT for Computer Science & Engineering [CSE]

First Steps in Relational Lattice

Degradable Agreement in the Presence of. Byzantine Faults. Nitin H. Vaidya. Technical Report #

Course code: 8D020. Date: Wednesday April 11, Time: 09h00 12h00. Place: MA Read this first!

On the specification and verification of model transformations

straight segment and the symbol b representing a corner, the strings ababaab, babaaba and abaabab represent the same shape. In order to learn a model,

Behavioural theories and the proof of. LIENS, C.N.R.S. U.R.A & Ecole Normale Superieure, 45 Rue d'ulm, F{75230 Paris Cedex 05, France

Functional Database Query Languages as. Typed Lambda Calculi of Fixed Order. Gerd G. Hillebrand and Paris C. Kanellakis

Two-Valued Logic Programs

A Method for Ontology Based Evaluation of Biometric Systems in Organizations Do We Use the Right Biometric Characteristic?

7. F.Balarin and A.Sangiovanni-Vincentelli, A Verication Strategy for Timing-

A Logical Formulation of the Granular Data Model

Visualizing Logical Thinking using Homotopy A new learning method to survive in dynamically changing cyberworlds

1 Introduction Duality transformations have provided a useful tool for investigating many theories both in the continuum and on the lattice. The term

Logic for Computational Effects: work in progress

Requirement level. Specification level. Implementation level

Chapter 11: Automated Proof Systems

Special Classes of Fuzzy Integer Programming Models with All-Dierent Constraints

Contents. 2.1 Vectors in R n. Linear Algebra (part 2) : Vector Spaces (by Evan Dummit, 2017, v. 2.50) 2 Vector Spaces

Tableau Calculus for Local Cubic Modal Logic and it's Implementation MAARTEN MARX, Department of Articial Intelligence, Faculty of Sciences, Vrije Uni

Formal Analysis of UML/OCL Models

Research Report 326 ISBN ISSN

Extending temporal logic with!-automata Thesis for the M.Sc. Degree by Nir Piterman Under the Supervision of Prof. Amir Pnueli Department of Computer

The Importance of Being Formal. Martin Henz. February 5, Propositional Logic

Linear Algebra (part 1) : Vector Spaces (by Evan Dummit, 2017, v. 1.07) 1.1 The Formal Denition of a Vector Space

Interpolation theorems, lower bounds for proof. systems, and independence results for bounded. arithmetic. Jan Krajcek

A Graph Rewriting Semantics for the Polyadic π-calculus

The State Explosion Problem

2. Elements of the Theory of Computation, Lewis and Papadimitrou,

What You Must Remember When Processing Data Words

Logic Part I: Classical Logic and Its Semantics

Parameterized study of a Time Petri Net

Activity Graphs. The Harvard community has made this article openly available. Please share how this access benefits you. Your story matters.

Splitting a Default Theory. Hudson Turner. University of Texas at Austin.

HOW TO MAKE ELEMENTARY GEOMETRY MORE ROBUST AND THUS, MORE PRACTICAL: GENERAL ALGORITHMS. O. Kosheleva. 1. Formulation of the Problem

Finite information logic

On Controllability and Normality of Discrete Event. Dynamical Systems. Ratnesh Kumar Vijay Garg Steven I. Marcus

Chapter 11: Automated Proof Systems (1)

Foundations of Databases

Comparing normative argumentation to other probabilistic systems. Simon Parsons. Mile End Road. London E1 4NS.

DIAGRAMMATIC SYNTAX AND ITS CONSTRAINTS. 1. Introduction: Applications and Foundations

Designing and Evaluating Generic Ontologies

Exponential Functions and Graphs - Grade 11 *

Propositional Logic: Part II - Syntax & Proofs 0-0

In order to master the techniques explained here it is vital that you undertake plenty of practice exercises so that they become second nature.

Every formula evaluates to either \true" or \false." To say that the value of (x = y) is true is to say that the value of the term x is the same as th

Static Analysis Techniques for. Predicting the Behavior of Database Production Rules. Alexander Aiken. Jennifer Widom. Joseph M.

Computational Logic Fundamentals (of Definite Programs): Syntax and Semantics

Interpolation in Logics with Constructors

Secondly, a loose semantics for graph transformation systems is dened, which

In this paper, we take a new approach to explaining Shostak's algorithm. We rst present a subset of the original algorithm, in particular, the subset

The semantics of ALN knowledge bases is the standard model-based semantics of rst-order logic. An interpretation I contains a non-empty domain O I. It

Reasoning with Constraint Diagrams

1 Introduction In this paper we propose a framework for studying the process of database revision. Revisions that we have in mind are specied by means

On the Design of Adaptive Supervisors for Discrete Event Systems

1 Introduction A general problem that arises in dierent areas of computer science is the following combination problem: given two structures or theori

Lecture 7. Logic. Section1: Statement Logic.

A Novel Approach to the 2D Analytic Signal? Thomas Bulow and Gerald Sommer. Christian{Albrechts{Universitat zu Kiel

HOW DO ULTRAFILTERS ACT ON THEORIES? THE CUT SPECTRUM AND TREETOPS

The nite submodel property and ω-categorical expansions of pregeometries

Transcription:

A Formal Approach to Modeling and Model Transformations in Software Engineering Adrian Rutle 1, Uwe Wolter 2, and Yngve Lamo 1 1 Bergen University College, p.b. 7030, 5020 Bergen, Norway {aru,yla}@hib.no 2 University of Bergen, p.b. 7803, 5020 Bergen, Norway Uwe.Wolter@ii.uib.no Abstract. A software model is an abstract representation of a software system which can be used to describe, at a higher abstraction level, different aspects of the software system. Since the beginning of computer science, raising the abstraction level of software systems has been a continuous goal for many computer scientists. This has lead to the usage of models and modeling languages in software development processes. Currently in addition to documentation purposes, models are increasingly used to automatically generate and integrate parts of the systems that they describe. As a consequence, there is a huge need for formal modeling languages and formal transformation denition techniques which can be employed to automatically translate between (and integrate) models. Therefore, a major focus of our research is on the formalization of modeling and model transformation in the generic formalism, Diagrammatic Predicate Logic (DPL). This paper provides an overview of the stateof-the-art of our ongoing research on analysis of modeling and model transformations based on the DPL framework. 1 Introduction and Motivation Models, model transformations and automatization of model transformations are key issues in the emergent approach of software development process, which is standardized by the Object Management Group (OMG) as Model Driven Architecture (MDA) [5]. In the MDA approach, building an application starts with a (set of) formal, platform-independent models (PIM) in which the structure, logic and behavior of the application are specied. The PIMs are then transformed by transformation tools to a set of platform-specic models (PSM). These PSMs are used as input to code-generation tools which automatically create software systems based on the input models [4]. In MDA, the application platform and the implementation technology are chosen independently of the input models. This provides the eibility to migrate to new technologies without doing changes in the domain model. In addition, the domain model can be modied, in response to business changes, independently of the application platform. The transformation processes in MDA are specied by transformation definition languages and are eecuted by transformation tools. In order to enable dierent tools to understand the same transformations in the same way, the

2 models and the transformations between them are required to be dened formally [4]. This implies the necessity of techniques which can be used to specify formal models and formal transformation denitions. In addition, using formal modeling techniques provides mechanisms for reasoning about models and model transformations; mechanisms for model de-composition and integration; as well as mechanisms for verication of correctness, consistency and validity of models and transformation denitions. There are many modeling languages that are used to write formal domain models. However, most of these modeling languages are either not suciently formalized or very complicated (tet-based) or both, which makes writing formal models dicult and error-prone [3]. Moreover, since software models are graphbased, modeling languages which use string-based logic instead of graph-based logic may fail to epress all properties of software systems in an intuitive way [2]. Thus, diagrammatic modeling is a better approach for modeling software systems since it is graph-based making the relation between the synta and semantics of models more compact, and nonetheless, it is easier for domain eperts to understand. However, diagrammatic modeling languages are considered more dicult to formalize than tet-based languages, therefore, diagrammatic languages often use tet-based languages to dene constraints and system properties that are dicult to epress by their own synta and semantics, e.g. the combination of UML and OCL. This turns models to a miture of tet and diagrams which is often dicult for non-eperts to evaluate and understand, i.e. the models loose their simplicity and high level of abstraction which are the most appealing features of modeling. The challenges in our research are to nd a mathematical foundation for terms and processes that are frequently used in conjunction with MDA. We have used the DPL framework to answer questions such as; what is a model? what is an instance of a model? how to check conformance of a model to its metamodel? what is a model transformation? what is a correct model transformation? how to categorize model transformations? how the eects of the eecution of a model transformation are analyzed? Some of these questions are discussed in more details in this paper (Sectoin 2); and Section 3 concludes the paper. 2 The Approach for the Formalization Our approach to the formalization is based on the generic formalism, Diagrammatic Predicate Logic (DPL) [9,8] 3. We considered DPL as a suitable specication formalism to dene diagrammatic modeling languages with a strong mathematical foundation since it is a fully diagrammatic specication formalism which we believe is necessary for formalization of modeling and model transformations 3 The DPL framework is called Generalized Sketches in previous publications, however, since the concept of "sketch" is misleading in SE, the name of the formalism is changed to DPL.

in Software Engineering (SE). This section summarizes the DPL framework and its usage in modeling and model transformations. 3 2.1 Modeling and DPL DPL is a graph-based specication format that borrows its main ideas from both categorical and rst-order logic, and adapts them to SE needs [9]. The DPL formalism is a generalization and adaptation of the categorical sketch formalism where signatures are restricted to a limited set of predicates: limit, colimit and commutative diagrams [7]. This generalization is necessary to make DPL suitable for use in SE. Signatures and diagram specications are the concepts in the DPL framework which we use to represent modeling languages and models. The denition of these concepts are given as follows: Denition 1. A diagrammatic predicate signature Σ := (Π, ar) is an abstract structure consisting of a collection of predicate symbols Π with a mapping that assigns an arity (graph) ar(p) to each predicate symbol p Π, i.e. ar : Π Graph. Denition 2. A diagram (p, δ) labeled with the predicate p in a graph G(S) is a graph homomorphism δ : ar(p) G(S), where ar(p) is the arity of p. Denition 3. A Σ-specication S := (G(S), S(Π)), is a graph G(S) with a set S(Π) of diagrams in G(S) labeled with predicates from the signature Σ. In DPL, each (modeling) language L is represented by a formalism F L = (Σ L, M L ) which consists of a diagrammatic signature Σ L and a metamodel M L. The signature Σ L contains the language constructs and constraints that can be set by the language L, while the metamodel M L (which is a diagram specication) species the syntactical structure of models that are allowed to be specied by the language. In addition, the arity of each diagram predicate in the signature Σ L is typed over the metamodel of the language L (discussed later). Moreover, software models that are specied by L are represented by Σ L -specications which conform to M L [7,6]. The diagram specication which represents the metamodel of a language L may, in cases where L is reective, be a Σ L -specication. However in general, a common formalism F C = (Γ, M) is used to specify the metamodels of the languages in the DPL framework. Metamodeling is a mechanism for dening graphical modeling languages which is used in the way grammars in Bakus Naur Form (BNF) are used to dene tet-based languages such as programming languages [4]. A BNF grammar describes which series of tokens are valid epressions in a language. In the same way, a metamodel describes which graphs are valid models in a given modeling language. A fundamental dierence here is that the representation of the structure of tet-based languages is based on terms (abstract synta trees,) while

4 graphical languages have a graph-like structure which makes it impossible to apply BNF for their representation [1]. The metamodels of the graphical languages are usually represented by typed graphs. Figure 1 shows an eample of two diagram specications which are representing a simplied metamodel of EMF Ecore (Figure 1a) and a simplied metamodel of Relational Databases (RDB) (Figure 1b). The details of some of the diagram predicates (and their semantics) from the signature Γ which are used to label parts of the diagram specications in the gures are shown in in Table 1. For eample primary key in the metamodel of RDB is a special property which every table in relational databases must have. This constraint is enforced by the predicate label [cover] on the arrow table : P rimarykey T able, which is visualized as a lled arrow head. The set of columns which are specied as primary key must be unique for each table, i.e. each primary key belongs to only one table and each table has only one primary key. This constraint is enforced by the predicate labels [1 1] and [1] on the diagrams T able P rimarykey Column, and table : P rimarykey T able, respectively, meaning that each primary key is a relationship between a table and a set of columns which is uniquely identied by the set of columns and the table. name arity visualization semantic [objectnode] 1 A set of objects [valuenode] 1 A set of values f [total] 1 2 A B a A : b B b f(a) [key] 1 2 A f [key] B a, a A : a a implies f(a) f(a ) [singlevalued] 1 [cover] 1 [inverse] 1 2 A f 1 B a A : f(a) 1 2 A f B b (B) : a A b f(a) y 2 A f [inv] g B a A, b B : b f(a) i a g(b) [disjointcover] 1 2 A f B y g S {f(a) a A} S {g(c) c C} = and S {f(a) a A} S {g(c) c C} = B [jointlymono] [1-1] or 1 3 [=] 1 y 3 2 2 [=] z 3 y C A f B g C A f B h g a, a A : a a implies f(a) f(a ) or g(a) g(a ) h(a) = S {g(b) b f(a)} C Table 1: A signature Γ.

5 (a) A simplied diagram specication M EMF of Ecore. (b) A simplied diagram specication M RDB of the metamodel of RDB. Fig. 1: The simplied metamodels of EMF and RDB. Fig. 2: An EMF model, I EMF, which is an instance of the diagram specication M EMF (Figure 1a). We say that a diagram specication I conforms to, or is typed by, its metamodel M if there is a graph homomorphism t : G(I) G(M), where G(I) and G(M) are the carrier graphs of I and M respectively. While ι : I G(M) is said to be a valid instance of M i for each diagram (p, δ) in M(Π), the part of I related to the diagram δ, is a valid instance of p. The denition and eamples of being a valid instance of a diagram predicate and a diagram specication are given in [7]. Thus, we distinguish between conformance to and being instance of (meta)models. An eample of an instance of the metamodel in Figure 1a is I EMF which is shown in Figure 2. The nodes in this instance are typed by the nodes in M EMF, e.g. Person:EClass and worksfor:ereference 4. In addition, the diagram predicates in M EMF are respected by I EMF, e.g. the diagram ([total], δ 1 ) : ( 1 2 ) ( EReference Int ) is fullled in I EMF which means that every node of type ERef erence must have an upperbound (multiplicity) of type Int. In cases where it is desirable to classify the predicates in a signature according to the diagrams of t a δ ar([cover]) I EMF the diagram specication which they are allowed t to label, the arity of the predicates can be typed t r over the metamodel of the language. As an eam- M EMF 4 Notice that Person:EClass is a "user-friendly" notation for the assignment (ι : P erson EClass)

6 ple consider a diagram predicate [cover] with the arity 1 2 in Σ in Table 1. This predicate may be used to label instances of EClass EAttribute, e.g. P erson : EClass name : EAttribute. However, [cover] can also be used to label instances of EClass EReference, e.g. P erson : EClass worksf or : ERef erence. Thus to distinguish between these two cases, the predicate [cover] can be typed by t a and t r (in the gure) such that either t a = δ; t or t r = δ; t for any usage of [cover]. Alternatively, the predicate can be subdivided to [cover a ] and [cover r ]. 2.2 Model Transformation and DPL A model transformation MT : M 1 M 2 consists of a set of transformation rules t. Figure 3 shows a simple model transformation which contains one transformation rule. In the gure, the transformation rule t : (ι P : P G(M 1 )) (ι P : P G(M 2 )) is declared for a specic pattern P which in turn is an instance ι P : P G(M 1 ) of M 1. For each match m : P I of the pattern P in a given input instance ι : I G(M 1 ), [t] will produce a match m : P I of the pattern P in the output instance ι : I G(M 2 ). That is, [t](m) = m. P ι P [=] G(M 1) I ι m trace [t ](m) P [=] ι P I G(M 2) ι Fig. 3: A model transformation with only one transformation rule For a match m(p ), the analogy is that P is the formal parameter of m and some part of I is the actual parameter. That is, a pattern P can be seen as a scheme and a match m assigns values from I to the variables in P. Thus the input and output of transformation rules are set by patterns. Figure 4 show eamples of two transformation rules. The patterns P 1 and P 2 (Figures 4a and 4c, respectively) are instances of the metamodel of EMF (Figure 1a), and the patterns P 1 and P 2 (Figures 4b and 4d, respectively) are instances of the metamodel of RDB (Figure 1b). Matches of the patterns P 1 and P 2 are to be found in EMF models, i.e. instances of the Ecore model which is shown in Figure 1a. An eample of such an instance (I EMF ) is shown in Figure 2. In this gure, the matches of the pattern P 1 are the nodes and. Moreover, the match of the pattern P 2 in I EMF will be. Eplicit Mapping between Patterns Generally in SE, equal names imply equal elements, e.g. the transformation rule t 1 in Figure 4 is understood as

7 (a) P 1 (b) P 1 (c) P 2 (d) P 2 Fig. 4: The transformation rules t 1 and t 2. creating a Table for each EClass. To make this equality eplicit, we introduce an eplicit mapping of elements in the input and output patterns. This can in be epressed by setting the requirement P K in P P P where in P ; m = in P ; m (Figure 5). An eplicit mapping between the rules in Figure 4 may be like K t1 := {1 = 1} and K t2 := {1 = 1, 2 = 2, 3 = 3}. The set of mappings K t1 are abbreviated such that in { 1:EClass X in P P1 1 1:T able } with X 1:EClass and X 1:T able is written as {1 = 1} where the rst 1 is in P 1 and the second 1 is in P 1 5. M 1 K in in P P P P ι ι P P m m [=] [=] I I ι ι trace Fig. 5: A model transformation rule where the mappings between the patterns P and P are epressed eplicitly. M 2 Thus, following our eample of model transformation, the only match of the pattern P 2 that will be created in the target instance I RDB (Figure 6) will be. Model Transformation vs Model Transaction It is important to distinguish between the concepts of model transformation and model transaction. While model transformation is a set of model transformation rules with a con- 5 The same abbreviation is applied for the coordinations C i,j and C i,j (Denition 5)

8 trol mechanism to decide on the order of their eecution on a transformation engine (operational), model transaction is the global declaration of the translation of an input model to an output model (declarative). That is, model transaction T : M 1 M 2 is a mapping which independently of realization details species which instances of an input model has to be translated to which instances of an output model. In that sense, model transactions can be compared to transactions in database systems, where each transaction is composed of a series of database actions queries and updates, eecuted in a specic order. As an eample of a model transaction, see the metamodels in Figure 1. The gures show only the declaration of the translation between the models without giving any details of the eecution or the mappings between model elements. The model transaction in the gure is declared for the simplied versions of Ecore and the metamodel of RDB (Figures 1a and 1b respectively). Denition 4. A model transformation is a set MT = {K i, t i, [t i ], }, where: K i is the set of mappings between P i and P i t i : P i P i is a set of transformation rules' declaration [t i ] : m i m i is the semantics of t i The denition of model transformation above allows for heterogeneous model transformations. The corresponding homogeneous model transformation is de- ned in the same way for M 1 = M 2. Coordinating Transformation Rules The way in which the set of transformation rules t i in a model transformation are related to each other will depend on coordinations between the patterns of the rules. These coordinations are specied as follows. Denition 5. A coordination C for a model transformation MT is the sets C i,j and C i,j, where in Pi C i,j := { P i C in Pj i,j P j } of common matches between the patterns P i, P j MT for i j, that is, in Pi ; m i = in Pj ; m j. The set C i,j is dened in the same way for all P i and P j where i j. The sets of coordinations between the patterns in Figure 4 may be dened as C 1,2 := {1 = 1} and C 1,2 := {1 = 1}. The coordination is a syntactical requirement for the alignment of the rules, i.e. to identify which elements of an input/output pattern is part of the other input/output patterns. This is necessary to avoid duplicates of elements in the generated model. A model transformation MT with a set of coordinations C is denoted by MT C. The same model transformation M T with dierent sets of coordinations C may give rise to dierent model transactions, i.e. it may generate dierent instances of the output model. In the same way, dierent model transformations

9 may create the same instance of the target model. This motivates for the design of a calculus to answer questions like: does a model transformation satisfy a certain model transaction? and, if a model transformation satises a model transaction, are we able to prove that satisfaction? Denition 6. A model transformation MT C : M 1 M 2 with a set of coordinations C, satises a model transaction T : M 1 M 2, written MT C T, if for each instance ι 1 : I 1 G(M 1 ) of M 1, MT C generates an instance ι 2 : I 2 G(M 2 ) of M 2. The satisfaction condition above may be used as a condition for checking the correctness of model transformations. However, it's important to note that proving that a model transformation satises a model transaction may not be a trivial case. This discussion, which is part of our current research, will be detailed in a future work. According to the model transaction T in Figure 1, any model transformation MT C T which satises T, with the input model I EMF (Figure 2), will cerate an instance of M RDB, I RDB, as shown in Figure 6. Fig. 6: The generated RDB model, I RDB, which is an instance of the diagram specication M RDB (Figure 1b). 3 Conclusion In this paper we have given an overview of the state-of-the-art of our ongoing project on the formalization of modeling and model transformations based on the formal, diagrammatic framework DPL. We have argued that a formal, diagrammatic framework based on Category Theory is necessary for this formalization process and shown how models, metamodels, modeling languages, transformation rules, patterns and transformation denitions can be represented in DPL. In DPL, each language L is represented by a formalism F L which consists of a signature Σ L and a metamodel M L. The metamodel is specied as a Σ L - specication if it is reective, or as a Γ -specication where Γ is the signature of

10 a common formalism which is used for the specication of the metamodels of the languages in the DPL framework. L-models are then specied Σ L -specications. All Σ L -specications are required to both conform to M L and be instances of M L. We have distinguished between conformance to and being an instance of a (meta)model; as conformance is only concerned about the synta of the models while being an instance means, in addition to conformance, respecting predicates (or constraints) that are set by the metamodel. Model transformations in DPL are represented as a set of transformation rules which assign a match of an output pattern to matches of input patterns. The global declaration of a model transformation is distinguished from the operational description and called model transaction. Each model transformation is controlled through a coordination mechanism and the order of its rules. Thus the same set of rules may give rise to dierent model transactions. In addition, the same model transaction may be achieved by dierent model transformations. This result motivates for creating a calculus to reason about the satisfaction of model transactions by model transformations with dierent coordinations. Some eamples of models and model transformations are presented in the paper. However, the details of checking of conformance, checking validity of instances, checking satisfacition of model transactions and checking correctnett of transformations are not discussed in this overview paper. References 1. Luciano Baresi and Reiko Heckel. Tutorial introduction to graph transformation: A software engineering perspective. In ICGT '02: Proceedings of the First International Conference on Graph Transformation, pages 402429, London, UK, 2002. Springer-Verlag. 2. Zinovy Diskin. The graph-based logic of ER-diagrams and taming heterogeneity of semantic data models, 1997. 3. Zinovy Diskin. Mathematics of UML: Making the Odysseys of UML less dramatic. Practical foundations of business system specications, chapter 8, pages 145178. Kluwer Academic Publishers, 2003. 4. Anneke Kleppe, Jos Warmer, and Wim Bast. MDA Eplained: practice and promise. Addison-Wesley, 1 edition, April 2003. 5. OMG. OMG Model Driven Architecture Web Site, June 2007. Object Management Group, http://www.omg.org/mda/inde.htm. 6. Adrian Rutle, Uwe Wolter, and Yngve Lamo. Models and model transformations in view of diagrammatic predicate logic. Proceedings, OOPSLA 2008, Submitted. Available at gs.hib.no. 7. Adrian Rutle, Uwe Wolter, and Yngve Lamo. Generalized sketches and model driven architecture. Technical Report 367, Department of Informatics, University of Bergen, Norway, 2008. Presented at CALCO Young Researchers Workshop 2007. 8. Uwe Wolter and Zinovy Diskin. The net hundred diagrammatic specication techniques: A gentle introduction to generalized sketches. Technical Report 358, Dept of Informatics, University of Bergen, July 2007. 9. Uwe Wolter and Zinovy Diskin. Generalized sketches: Towards a universal logic for diagrammatic modeling in software engineering. 2008. Proceedings, ACCAT 2007, ENTCS, Submitted.