Metamodeling. 16. April 2012 Real-Time Systems Lab Prof. Dr. Andy Schürr Dr. Gergely Varró 1

Size: px
Start display at page:

Download "Metamodeling. 16. April 2012 Real-Time Systems Lab Prof. Dr. Andy Schürr Dr. Gergely Varró 1"

Transcription

1 Metamodeling The slides of this lecture are reused from the Model Engineering course at TU Vienna with the kind permission of Prof. Gerti Kappel (head of the Business Informatics Group) 16. April 2012 Real-Time Systems Lab Prof. Dr. Andy Schürr Dr. Gergely Varró 1

2 Contents Introduction Meta languages Metamodeling language: MOF 16. April 2012 Real-Time Systems Lab Prof. Dr. Andy Schürr Dr. Gergely Varró 2

3 Introduction Motivating example: a simple UML activity diagram Activity, ActivityTransition, InitialNode, FinalNode ad Course workflow Attend lecture Study content Write exam Question: Is this UML Activity diagram valid? Answer: Check the UML metamodel! Prefix meta : an operation is applied onto itself Further examples: meta discussion, meta learning, Aim of this lecture: What is meant by the term metamodel and how are metamodels defined? 16. April 2012 Real-Time Systems Lab Prof. Dr. Andy Schürr Dr. Gergely Varró 3

4 Anatomy of Formal Languages I. Although languages have, in general, divergent orientations and fields of application they still have a common language definition structure Formal languages Defines language elements/grammar Persistency and model exchange Semantics Abstract Syntax Meaning of the language elements Notation of the language elements Serialization Syntax Concrete Syntax 16. April 2012 Real-Time Systems Lab Prof. Dr. Andy Schürr Dr. Gergely Varró 4

5 Anatomy of Formal Languages II. Main components Abstract syntax: Defines the language concepts and how these concepts can be combined (~ grammar) However, it does not define the notation or meaning of the concepts Concrete syntax: Notation to illustrate the language concepts intuitively 2 ways: textual or graphical Semantics: Defines the meaning of the language concepts How are language concepts interpreted? Serialization syntax: For persistent storage and model exchange between tools XML, proprietary format, Additional components Extension of the language by new language concepts Domain- or technology-specific extensions Mapping to other languages, domains Transformation, semantic equivalence, abstraction, Examples: UML2Java, UML2SetTheory, PetriNet2BPEL, 16. April 2012 Real-Time Systems Lab Prof. Dr. Andy Schürr Dr. Gergely Varró 5

6 Contents Introduction Meta languages Metamodeling language: MOF 16. April 2012 Real-Time Systems Lab Prof. Dr. Andy Schürr Dr. Gergely Varró 6

7 Metamodeling Old Wine in New Bottles? Formal languages have a long tradition in computer science First attempts: Transition from machine code instructions to high-level programming languages (Algol60) Major successes Imperative, executable, high-level languages such as Java, C++, C#, Declarative languages such as XML Schema, DTD, RDF, OWL, SQL, Excursus How are programming languages and XML-based languages defined? What can be learned for modeling languages? 16. April 2012 Real-Time Systems Lab Prof. Dr. Andy Schürr Dr. Gergely Varró 7

8 Programming Languages I. John Backus and Peter Naur invented formal languages for the definition of languages so-called meta languages Examples for meta languages: BNF, EBNF, Used since 1960 for the definition of the syntax of programming languages Remark: The abstract and the concrete syntax are defined EBNF Example: Optional Java := [PackageDec] {ImportDec} ClassDec; PackageDec := package QualifiedIdentifier; ImportDec := import QualifiedIdentifier; ClassDec := Modifier class Identifier [ extends Identifier] [ implements IdentifierList] ClassBody; Production Rule Sequence 16. April 2012 Real-Time Systems Lab Prof. Dr. Andy Schürr Dr. Gergely Varró 8 Non-Terminal Terminal

9 Programming Languages II.: MiniJava Example Grammar Java := [PackageDec] {ImportDec} ClassDec; PackageDec := package QualifiedIdentifier; ImportDec := import QualifiedIdentifier; ClassDec := Modifier class Identifier [ extends Identifier] [ implements IdentifierList] ClassBody; Modifier := public private protected ; Identifier := { a z A Z 0 9 }; Program package de.tu-darmstadt.es; import java.util.*; public class Student extends Person { } Validation Does the program conform to the grammar? Compiler: javac, gcc, Interpreter: Ruby, Python, 16. April 2012 Real-Time Systems Lab Prof. Dr. Andy Schürr Dr. Gergely Varró 9

10 Programming Languages III. Four layer architecture Grammar := {Rule}; Rule := Terminal NonTerminal ; Definition of EBNF in EBNF - reflexive M3-Layer Java := [PackageDec] {ImportDec} ClassDec; PackageDec := package QualifiedIdentifier; Definition of Java in EBNF grammar M2-Layer package de.tu-darmstadt.es; public class Student extends Person { } Program Sentence conform to the grammar M1-Layer Execution of the program M0-Layer 16. April 2012 Real-Time Systems Lab Prof. Dr. Andy Schürr Dr. Gergely Varró 10

11 XML-Based Languages I. XML files require definite structures to allow for a standardized and automatic processing Examples for XML meta languages: DTD, XML Schema Characteristics of XML files Well-formed (character level) vs. valid (grammar level) DTD Example: Element Containment 1..* <!ELEMENT cookbook (title, meal+)> <!ELEMENT title (#PCDATA)> <!ELEMENT meal (ingredient+)> <!ELEMENT ingredient> <!ATTLIST ingredient name CDATA #REQUIRED amount CDATA #IMPLIED Attributes unit CDATA #IMPLIED> April 2012 Real-Time Systems Lab Prof. Dr. Andy Schürr Dr. Gergely Varró 11

12 XML-Based Languages II. DTD <!ELEMENT cookbook (title, meal+)> <!ELEMENT title (#PCDATA)> <!ELEMENT meal (ingredient+)> <!ELEMENT ingredient> <!ATTLIST ingredient name CDATA #REQUIRED amount CDATA #IMPLIED unit CDATA #IMPLIED> XML <cookbook> <title>how to cook!</title> <meal name="spaghetti"> <ingredient name="tomato" amount="300" unit="gramm"/> <ingredient name="meat" amount="200" unit="gramm"/> </meal> </cookbook> Validation XML Parser: Xerces, 16. April 2012 Real-Time Systems Lab Prof. Dr. Andy Schürr Dr. Gergely Varró 12

13 XML-Based Languages III. Five layer architecture (revised with XML-Schema) Grammar := {Rule}; Rule := Terminal NonTerminal ; Element := <!ELEMENT Identifier > AttList; AttList := <!ATTLIST Identifier ; <!ELEMENT javaprog (packagedec*, importdec*, classdec)> <!ELEMENT packagedec (#PCDATA)> Definition of EBNF in EBNF Definition of DTD in EBNF Definition of Java in DTD Grammar M4-Layer M3-Layer M2-Layer <javaprog> <packagedec>de.tu-darmstadt.es</packagedec> <classdec name="student" extends="person"/> </javaprog> XML conform to the DTD M1-Layer Objects (e.g., of type Student) M0-Layer 16. April 2012 Real-Time Systems Lab Prof. Dr. Andy Schürr Dr. Gergely Varró 13

14 Contents Introduction Meta languages Metamodeling language: MOF 16. April 2012 Real-Time Systems Lab Prof. Dr. Andy Schürr Dr. Gergely Varró 14

15 Spirit and Purpose of Metamodeling I. Metamodels define language concepts and their grammar for the specification of models The Greek prefix»meta«means»about«- hence a metamodel states something»about«other models Differentiation between model elements and metamodel elements Metamodel Model Model Excerpt of reality View View (transitive) View 16. April 2012 Real-Time Systems Lab Prof. Dr. Andy Schürr Dr. Gergely Varró 15

16 Spirit and Purpose of Metamodeling II. Advantages of metamodels Concise and precise definition of the language concepts Standardized exchange format Checking correctness of models Management of models in repositories Extensibility of the language Generalization on a higher level of abstraction by means of the meta-metamodel Language concepts for the definition of a metamodel MOF is considered as a universally accepted meta-metamodel 16. April 2012 Real-Time Systems Lab Prof. Dr. Andy Schürr Dr. Gergely Varró 16

17 Spirit and Purpose of Metamodeling III. Metamodeling stack Language definitions Examples Meta- Metamodel defines Meta language MOF, Ecore represents conformsto conformsto Metamodel defines Language UML, ER, Model System Used terms Intra-level Inter-level Author instanceof conformsto [Bézivin01] instof meta [Favre04] ontological instof linguistic instof [Atkinson02] 16. April 2012 Real-Time Systems Lab Prof. Dr. Andy Schürr Dr. Gergely Varró 17

18 Meta Object Facility I. OMG standard for the definition of metamodels Defines set of language concepts for the modeling of object-oriented structures Language concepts based on object-orientation Objects are described by classes which can be generalized Intrinsic properties of objects Relationships (associations) between objects Packages to group classes MOF itself is defined by MOF (reflexive) and divided into EMOF (Essential MOF) Simple language for the definition of metamodels Interesting for metamodelers CMOF (Complete MOF) Extends EMOF Supports management of meta data via enhanced services (e.g., reflection) Interesting for tool manufacturers 16. April 2012 Real-Time Systems Lab Prof. Dr. Andy Schürr Dr. Gergely Varró 18

19 Meta Object Facility II. Offers modeling infrastructure for MDA MDA dictates MOF as meta-metamodel Metamodels are defined by means of MOF language concepts MOF is used as a metamodeling language and at the same time it is used for the storage of models UML, CWM and further OMG standards are conform to MOF In addition, there are mapping rules for various technical platforms defined for MOF XML: XML Metadata Interchange (XMI) Java: Java Metadata Interfaces (JMI) CORBA: Interface Definition Language (IDL) 16. April 2012 Real-Time Systems Lab Prof. Dr. Andy Schürr Dr. Gergely Varró 19

20 Meta Object Facility III. OMG language definition stack MOF Model M3-Layer Meta-Metamodel UML Metamodel IDL Metamodel CWM Metamodel M2-Layer Metamodel Models Models UML Models Models Models IDL Interfaces CWM Models Models Models M1-Layer Model M0-Layer Instances 16. April 2012 Real-Time Systems Lab Prof. Dr. Andy Schürr Dr. Gergely Varró 20

21 MOF 2.0 Language Architecture I. MOF 2.0 Minimal OO language range Extended reflection and OO concepts EMOF CMOF Extension Extensionmechanism Reflection Selfreflection Identity Unambiguous identification 16. April 2012 Real-Time Systems Lab Prof. Dr. Andy Schürr Dr. Gergely Varró 21

22 MOF 2.0 Language Architecture II. Core of EMOF Based on object-orientation Classes, attributes, associations, operations and parameter Type TypedElement MultiplicityElement Property Class isabstract: Boolean ownedattribute 0..1 * isreadonly: Boolean = false default: String [0..1] iscomposite: Boolean = false isderived: Boolean = false 0..1 opposite superclass * 0..1 TypedElement * Operation MultiplicityElement TypedElement ownedparameter * Parameter MultiplicityElement ownedoperation raisedexception * Type 16. April 2012 Real-Time Systems Lab Prof. Dr. Andy Schürr Dr. Gergely Varró 22

23 MOF 2.0 Language Architecture III. Abstract classes of EMOF Definition of general properties NamedElement Name TypedElement Type MultiplicityElement Multiplicities Order Set semantics Type isinstance(element:element): Boolean 0..1 type Taxonomy of the abstract classes Object Element NamedElement name:string TypedElement MultiplicityElement isordered: Boolean = false isunique: Boolean = true lower: Integer upper: UnlimitedNatural 16. April 2012 Real-Time Systems Lab Prof. Dr. Andy Schürr Dr. Gergely Varró 23

24 Classes A class specifies structure and behavior of a set of objects An unlimited number of instances (objects) of a class can be created A class has a unique name At least in the local namespace Abstract classes: cannot be instantiated! only useful in inheritance hierarchies used for»highlighting«of common features of a set of subclasses Concrete classes: can be instantiated directly! MOF Example Transition Class name : String isabstract : boolea name: String isabstract : boolean Activity Event 16. April 2012 Real-Time Systems Lab Prof. Dr. Andy Schürr Dr. Gergely Varró 24

25 Generalization Generalization: taxonomic relation between a specialized class (subclass) and a general class (superclass) Subclass inherits properties of the superclass and appends further properties Discriminator: virtual attribute used for the classification Disjoint (non-overlapping) generalization Multiple inheritance but no multiple classification (Reason: see previous bullet) MOF Example TimeEvent Class 0..* superclasses Event TimeOrCall Event CallEvent 16. April 2012 Real-Time Systems Lab Prof. Dr. Andy Schürr Dr. Gergely Varró 25 not possible in MOF!

26 Attributes Attributes describe inherent characteristics of concepts (classes) Consist of a name and a range of values Initial value - default Derived (calculated) attributes Multiplicity: how many values can be stored in an attribute Interval: upper and lower limit are natural numbers * asterisk - also possible for upper limit (Semantics: unlimited number) 0..1 (optional): null values are allowed MOF Example id: Integer [1..1] TimeEvent kinds: String [1..*] Class * ownedattribute Property isreadonly: Boolean default: String[0..1] iscomposite: Boolean isderived: Boolean Event CallEvent synchron: boolean = true [0..1] 16. April 2012 Real-Time Systems Lab Prof. Dr. Andy Schürr Dr. Gergely Varró 26

27 Associations An association describes the common structure of a set of relationships between objects MOF only allows binary associations, i.e., an association is always defined between two classes Associations consist of: Role name Objects can play multiple roles Objects can dynamically take on/off roles Multiplicity limits the number of partner objects of an object Navigation navigable end getter and setter methods non-navigable end no access Composition part-whole relationship (also part-of relationship) One part can always be at most part of one composed object Asymmetric and transitive Multiplicity: 1 or April 2012 Real-Time Systems Lab Prof. Dr. Andy Schürr Dr. Gergely Varró 27

28 Association Example Association multiplicity A 1..* association * role name B Composition non-navigable role navigable role Example 1 Example 2 Example 3 A 0..1 * B A 1 C B 1 * * Syntax Semantics A 0..1 {xor} C B * * Syntax Semantics April 2012 Real-Time Systems Lab Prof. Dr. Andy Schürr Dr. Gergely Varró 28

29 Packages Packages serve as a grouping mechanism Grouping of related type declarations Partitioning criteria Functional cohesion Information cohesion Packages form own namespace Usage of identical names in different parts of a metamodel Packages can be nested Hierarchical grouping Model elements can be assigned to at most one package abstract: elements derived from Type concrete: classes, enumerations MOF NamedElement name:string Package Example X Y A C B * +nestingpackage nestedpackage 0..* Z A X Type B 16. April 2012 Real-Time Systems Lab Prof. Dr. Andy Schürr Dr. Gergely Varró 29

30 Types I. Primitive data types: Predefined types for integers, character strings and Boolean values Enumerations: Enumeration types consisting of named constants Allowed values are defined in the course of the declaration Example: enum Color {red, blue, green} Enumeration types can be used as data types for attributes Type isinstance() DataType NamedElement name:string PrimitiveType Enumeration Enumeration Literal enumeration ownedliteral 0..1 {ordered} 0..* <<primitive>> Integer <<primitive>> Boolean <<primitive>> String <<primitive>> UnlimitedNatural 16. April 2012 Real-Time Systems Lab Prof. Dr. Andy Schürr Dr. Gergely Varró 30

31 Types II. Differentiation between Value types and Reference types Value types: contain a direct value (e.g., 123 or x ) Reference types: contain a reference to an object Types Value types Reference types Primitive types Enumerations Classes Boolean Integer String user-defined types Primitive types Enumerations Reference types Car color: String Car color: CarColor «enumeration» CarColor red green blue 16. April 2012 Real-Time Systems Lab Prof. Dr. Andy Schürr Dr. Gergely Varró 31 Car owner: Person Person

32 Example I. Activity diagram example Activity, ActivityTransition, InitialNode, FinalNode ad Course workflow Attend lecture Study content Write exam How does the metamodel of this language look like? Metamodel development process 1. Identification of the modeling concepts 2. Determining the properties of the modeling concepts 3. Object-oriented design of the language 16. April 2012 Real-Time Systems Lab Prof. Dr. Andy Schürr Dr. Gergely Varró 32

33 Example II.: Identifying Modeling Concepts ad Course workflow Attend lecture Study content Write exam Notation table Syntax ad name ActivityDiagram Concept FinalNode InitialNode name Activity Transition 16. April 2012 Real-Time Systems Lab Prof. Dr. Andy Schürr Dr. Gergely Varró 33

34 Example III.: Determining Properties ad Course workflow Attend lecture Study content Write exam Concept properties Concept Intrinsic properties Relationships ActivityDiagram Name 1 InitialNode 1 FinalNode Unlimited number of Activities and Transitions FinalNode - Incoming Transition InitialNode - Outgoing Transition Activity Name Incoming and outgoing Transitions Transition - Source node and target node Nodes: InitialNode, FinalNode, Activity 16. April 2012 Real-Time Systems Lab Prof. Dr. Andy Schürr Dr. Gergely Varró 34

35 Example IV.: Object-Oriented Design MOF Class Property Property Concept Intrinsic properties Relationships ActivityDiagram Name 1 InitialNode 1 FinalNode Unlimited number of Activities and Transitions FinalNode - Incoming Transition InitialNode - Outgoing Transition Activity Name Incoming and outgoing Transitions Transition - Source node and target node Nodes: InitialNode, FinalNode, Activity ActivityDiagram name:string 1 InitialNode Transition 16. April 2012 Real-Time Systems Lab Prof. Dr. Andy Schürr Dr. Gergely Varró 35 * in out src 1 out 1 in trg src 0..1 trg Activity 0..1 name:string 0..1 FinalNode 1

36 Model Metamodel Example V.: Overview ActivityDiagram name:string 1 InitialNode * in 1 Transition out src 1 out 1 in trg src 0..1 trg * Activity 0..1 name:string 0..1 FinalNode 1 2:InitialNode 1:ActivityDiagram 3:FinalNode 7:Transition name="course workflow" 10:Transition 4:Activity 8:Transition 5:Activity 9:Transition 6:Activity name="attend lecture" name="study content" name="write exam" Abstract syntax Concrete syntax ad Course workflow Attend lecture Study content Write exam 16. April 2012 Real-Time Systems Lab Prof. Dr. Andy Schürr Dr. Gergely Varró 36

37 Correspondence between EBNF and MOF Mapping table (excerpt): EBNF MOF Production Composition Non-Terminal Class Sequence Multiplicity 0..* Example: Grammar Model ::= {Class} Class ::= Name {Attribute} {Method} C Metamodel Model * Class 1 Name * Attribute * Method 16. April 2012 Real-Time Systems Lab Prof. Dr. Andy Schürr Dr. Gergely Varró 37

38 Correspondence between DTD and MOF Mapping table (excerpt): DTD MOF Item Composition Element Class Cardinality * Multiplicity 0..* Example: DTD <!ELEMENT Model (Class*)> <!ELEMENT Class (Name, Attribute*, Method*)> C Metamodel Model * Class 1 Name * Attribute * Method 16. April 2012 Real-Time Systems Lab Prof. Dr. Andy Schürr Dr. Gergely Varró 38

39 MOF vs. UML MOF only a subset of UML? MOF very similar to the UML class diagram, but much more limited No n-ary or qualifying associations, no association classes No overlapping inheritance No interfaces, dependencies, Main differences result from the field of application UML Domain: object-oriented modeling Comprehensive modeling language for various software systems Structural and behavioral modeling Conceptual and implementation modeling MOF Domain: metamodeling Simple conceptual structure modeling language Conclusion MOF is a specialized DSML for metamodeling What is included in UML? Core of UML and MOF (almost) identical What is not included in UML? Concepts which can be used on the programming level to realize repositories, e.g., reflection 16. April 2012 Real-Time Systems Lab Prof. Dr. Andy Schürr Dr. Gergely Varró 39

Model-based Software Engineering (02341, spring 2017) Ekkart Kindler

Model-based Software Engineering (02341, spring 2017) Ekkart Kindler Model-based Software Engineering (02341, spring 2017) Meta-modelling and Domain Specific Languages (DSLs) and Summary and Outlook Meta-modelling (and MOF) 3 Class Diagrams are models too PetriNet Object

More information

Advanced Topics in Software Engineering (02265) Ekkart Kindler

Advanced Topics in Software Engineering (02265) Ekkart Kindler Advanced Topics in Software Engineering (02265) III. Meta-modelling 2 1. Background / Motivation Mid / end 90ties: CASE (Computer Aided Software Engineering) modelling tools become more popular code generation

More information

Model-based Software Engineering (02341, spring 2017) Ekkart Kindler

Model-based Software Engineering (02341, spring 2017) Ekkart Kindler Model-based Software Engineering (02341, spring 2017) Meta-modelling and Domain Specific Languages (DSLs) Idea for some Software 3 Example of a Petri net request 1 request 2 critical 1 critical 2 semaphor

More information

Model-based Software Engineering (02341, spring 2016) Ekkart Kindler

Model-based Software Engineering (02341, spring 2016) Ekkart Kindler Model-based Software Engineering (02341, spring 2016) Meta-modelling and Domain Specific Languages (DSLs) Idea for some Software 3 Example of a Petri net request 1 request 2 critical 1 critical 2 semaphor

More information

Metamodeling with Metamodels. Using. UML/MOF including OCL

Metamodeling with Metamodels. Using. UML/MOF including OCL Metamodeling with Metamodels Using UML/MOF including OCL Introducing Metamodels (Wikipedia) A metamodel is a model of a model An instantiation of metamodel gives a model Metamodeling is the process of

More information

MOF and XMI. (version 2.0) by Philippe Nguyen March 24, 2005

MOF and XMI. (version 2.0) by Philippe Nguyen March 24, 2005 MOF and XMI (version 2.0) by Philippe Nguyen March 24, 2005 What should you get from this? A clear understanding of: The big picture of the MOF 2.0 and XMI 2.0 The motivation behind each standard and the

More information

Attributes and Associations of Class Property

Attributes and Associations of Class Property and of Class Property By Anneke Kleppe, Klasse Objecten (a.kleppe@klasse.nl) Introduction The UML Infrastructure (3rd revised submission, dated 3 March 2003, document number: ad/2003-03-01) has recently

More information

MODEL DRIVEN ARCHITECTURE (MDA)

MODEL DRIVEN ARCHITECTURE (MDA) Chapter #4 MODEL DRIVEN ARCHITECTURE (MDA) Teaching material for the book Model-Driven Software Engineering in Practice by Morgan & Claypool, USA, 2012. www.mdse-book.com Contents MDA UML (from a metamodeling

More information

An introduction to MOF MetaObject Facility.

An introduction to MOF MetaObject Facility. An introduction to MOF MetaObject Facility pierre-alain.muller@irisa.fr About The MetaObject Facility Specification is the foundation of OMG's industry-standard standard environment where models can be

More information

Modelling in Enterprise Architecture. MSc Business Information Systems

Modelling in Enterprise Architecture. MSc Business Information Systems Modelling in Enterprise Architecture MSc Business Information Systems Models and Modelling Modelling Describing and Representing all relevant aspects of a domain in a defined language. Result of modelling

More information

Model-Driven Engineering (MDE) Lecture 1: Metamodels and Xtext Regina Hebig, Thorsten Berger

Model-Driven Engineering (MDE) Lecture 1: Metamodels and Xtext Regina Hebig, Thorsten Berger Model-Driven Engineering (MDE) Lecture 1: Metamodels and Xtext Regina Hebig, Thorsten Berger Reuses some material from: Andrzej Wasowski, Model-Driven Development, ITU Copenhagen Where I am from WASP 2017

More information

The Eclipse Modeling Framework and MDA Status and Opportunities

The Eclipse Modeling Framework and MDA Status and Opportunities The Eclipse Modeling Framework and MDA Status and Opportunities David Frankel Consulting df@davidfrankelconsulting.com www.davidfrankelconsulting.com Portions adapted from the book Model Driven Architecture:

More information

Grammars. Prof. Andreas Prinz. Introduction, Compilers. Examples Meta-models vs. Grammars Summary

Grammars. Prof. Andreas Prinz. Introduction, Compilers. Examples Meta-models vs. Grammars Summary Meta-models and Grammars Prof. Andreas Prinz Introduction, Compilers Modelling & Meta-modelling Examples Meta-models vs. Grammars Summary Compilers Graphical Editor Parser Text editor Static checks (OCL)

More information

The Unified Modelling Language. Example Diagrams. Notation vs. Methodology. UML and Meta Modelling

The Unified Modelling Language. Example Diagrams. Notation vs. Methodology. UML and Meta Modelling UML and Meta ling Topics: UML as an example visual notation The UML meta model and the concept of meta modelling Driven Architecture and model engineering The AndroMDA open source project Applying cognitive

More information

Model Driven Engineering with Ontology Technologies

Model Driven Engineering with Ontology Technologies Model Driven Engineering with Ontology Technologies Steffen Staab, Tobias Walter, Gerd Gröner, and Fernando Silva Parreiras Institute for Web Science and Technology, University of Koblenz-Landau Universitätsstrasse

More information

Metamodeling. Janos Sztipanovits ISIS, Vanderbilt University

Metamodeling. Janos Sztipanovits ISIS, Vanderbilt University Metamodeling Janos ISIS, Vanderbilt University janos.sztipanovits@vanderbilt.edusztipanovits@vanderbilt edu Content Overview of Metamodeling Abstract Syntax Metamodeling Concepts Metamodeling languages

More information

Outline. A little history. Outline. The Unified Modeling Language Opportunities and Challenges for Formal Methods

Outline. A little history. Outline. The Unified Modeling Language Opportunities and Challenges for Formal Methods Outline The Unified Modeling Language Opportunities and Challenges for Formal Methods An update on UML Language definition Tools A precise OO meta-modeling facility - MMF Stuart Kent University of Kent

More information

Better Metadata Management through Better Metamodels

Better Metadata Management through Better Metamodels Better Metadata Management through Better Metamodels Issues to consider when developing a metamodel, and why you might care GK Khalsa khalsa@objectrad.com Objectrad, Temecula, CA Discussion The role of

More information

02291: System Integration

02291: System Integration 02291: System Integration Introduction to UML Hubert Baumeister huba@dtu.dk DTU Compute Technical University of Denmark Spring 2019 What is the UML? Unified Modelling Language (UML) Family of graphical

More information

ATL TRANSFORMATION EXAMPLE

ATL TRANSFORMATION EXAMPLE 1. ATL Transformation Example 1.1. Example: KM3 Problem The example describes a transformation a KM3 metamodel [1] in a Problem model. The generated Problem model contains the list of non-structural errors

More information

Christian Doppler Laboratory

Christian Doppler Laboratory Christian Doppler Laboratory Software Engineering Integration For Flexible Automation Systems AutomationML Models (in EMF and EA) for Modelers and Software Developers Emanuel Mätzler Institute of Software

More information

Model Driven Development Unified Modeling Language (UML)

Model Driven Development Unified Modeling Language (UML) Model Driven Development Unified Modeling Language (UML) An Overview UML UML is a modeling notation standardized by OMG (proposal 1997, ver.1.1 in 1998, ver. 2.0 in 2004) now in 2.4.1 mature based on notations

More information

CWM: Model Driven Architecture

CWM: Model Driven Architecture CWM: Model Driven Architecture Dr. Daniel T. Chang IBM DBTI for e-business (dtchang@us.ibm.com) Abstract CWM is a new metadata standard for data warehousing and business intelligence, which was adopted

More information

Approach for Mapping Ontologies to Relational Databases

Approach for Mapping Ontologies to Relational Databases Approach for Mapping Ontologies to Relational Databases A. Rozeva Technical University Sofia E-mail: arozeva@tu-sofia.bg INTRODUCTION Research field mapping ontologies to databases Research goal facilitation

More information

Models versus Ontologies - What's the Difference and where does it Matter?

Models versus Ontologies - What's the Difference and where does it Matter? Models versus Ontologies - What's the Difference and where does it Matter? Colin Atkinson University of Mannheim Presentation for University of Birmingham April 19th 2007 1 Brief History Ontologies originated

More information

OMG Modeling Glossary B

OMG Modeling Glossary B OMG Modeling Glossary B This glossary defines the terms that are used to describe the Unified Modeling Language (UML) and the Meta Object Facility (MOF). In addition to UML and MOF specific terminology,

More information

WHY WE NEED AN XML STANDARD FOR REPRESENTING BUSINESS RULES. Introduction. Production rules. Christian de Sainte Marie ILOG

WHY WE NEED AN XML STANDARD FOR REPRESENTING BUSINESS RULES. Introduction. Production rules. Christian de Sainte Marie ILOG WHY WE NEED AN XML STANDARD FOR REPRESENTING BUSINESS RULES Christian de Sainte Marie ILOG Introduction We are interested in the topic of communicating policy decisions to other parties, and, more generally,

More information

MDA & Semantic Web Services Integrating SWSF & OWL with ODM

MDA & Semantic Web Services Integrating SWSF & OWL with ODM MDA & Semantic Web Services Integrating SWSF & OWL with ODM Elisa Kendall Sandpiper Software March 30, 2006 Level Setting An ontology specifies a rich description of the Terminology, concepts, nomenclature

More information

The Model-Driven Semantic Web Emerging Standards & Technologies

The Model-Driven Semantic Web Emerging Standards & Technologies The Model-Driven Semantic Web Emerging Standards & Technologies Elisa Kendall Sandpiper Software March 24, 2005 1 Model Driven Architecture (MDA ) Insulates business applications from technology evolution,

More information

Softwaretechnik Model Driven Architecture Meta Modeling

Softwaretechnik Model Driven Architecture Meta Modeling Softwaretechnik Model Driven Architecture Meta Modeling Prof. Dr. Peter Thiemann Universität Freiburg 22.06.2009 PT (Univ. Freiburg) Softwaretechnik Model Driven Architecture Meta Modeling 22.06.2009 1

More information

Automation of Semantic Web based Digital Library using Unified Modeling Language Minal Bhise 1 1

Automation of Semantic Web based Digital Library using Unified Modeling Language Minal Bhise 1 1 Automation of Semantic Web based Digital Library using Unified Modeling Language Minal Bhise 1 1 Dhirubhai Ambani Institute for Information and Communication Technology, Gandhinagar, Gujarat, India Email:

More information

The Substitution Model

The Substitution Model The Substitution Model Prof. Clarkson Fall 2017 Today s music: Substitute by The Who Review Previously in 3110: simple interpreter for expression language abstract syntax tree (AST) evaluation based on

More information

Model driven Engineering & Model driven Architecture

Model driven Engineering & Model driven Architecture Model driven Engineering & Model driven Architecture Prof. Dr. Mark van den Brand Software Engineering and Technology Faculteit Wiskunde en Informatica Technische Universiteit Eindhoven Model driven software

More information

Advanced Topics in Software Engineering (02265) Ekkart Kindler

Advanced Topics in Software Engineering (02265) Ekkart Kindler Advanced Topics in Software Engineering (02265) Recapitulation (I. Introduction ) 2 Levels of models ClassDiagram is an instance of PetriNet * Object * Class 1 start 1 end * Association concrete syntax

More information

METADATA INTERCHANGE IN SERVICE BASED ARCHITECTURE

METADATA INTERCHANGE IN SERVICE BASED ARCHITECTURE UDC:681.324 Review paper METADATA INTERCHANGE IN SERVICE BASED ARCHITECTURE Alma Butkovi Tomac Nagravision Kudelski group, Cheseaux / Lausanne alma.butkovictomac@nagra.com Dražen Tomac Cambridge Technology

More information

UML Modeling I. Instructor: Yongjie Zheng September 3, CS 490MT/5555 Software Methods and Tools

UML Modeling I. Instructor: Yongjie Zheng September 3, CS 490MT/5555 Software Methods and Tools UML Modeling I Instructor: Yongjie Zheng September 3, 2015 CS 490MT/5555 Software Methods and Tools Object-Oriented Design: Topics & Skills Rational Unified Process Unified Modeling Languages (UML) Provide

More information

Metamodeling. What is Metamodeling? Dimensions on Metamodeling The Information Resource Dictionary Standard (IRDS) Repositories

Metamodeling. What is Metamodeling? Dimensions on Metamodeling The Information Resource Dictionary Standard (IRDS) Repositories Metamodeling What is Metamodeling? Dimensions on Metamodeling The Information Resource Dictionary Standard (IRDS) Repositories! Metamodeling -- 1 What is Metamodeling?! Meta means literally after in Greek.!

More information

Language engineering and Domain Specific Languages

Language engineering and Domain Specific Languages Language engineering and Domain Specific Languages Perdita Stevens School of Informatics University of Edinburgh Plan 1. Defining languages 2. General purpose languages vs domain specific languages 3.

More information

Introduction to Dependable Systems: Meta-modeling and modeldriven

Introduction to Dependable Systems: Meta-modeling and modeldriven Introduction to Dependable Systems: Meta-modeling and modeldriven development http://d3s.mff.cuni.cz CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics 3 Software development Automated software

More information

Java Metadata Interface (JMI)

Java Metadata Interface (JMI) Faculty of Electrical Engineering, Computer Science and Mathematics Department Software Engineering Warburger Straße 98 D-33098 Paderborn Java Metadata Interface (JMI) -Seminar Paper- Thorsten Pivl Paderborn,

More information

SERG. An Extensive Catalog of Operators for the Coupled Evolution of Metamodels and Models

SERG. An Extensive Catalog of Operators for the Coupled Evolution of Metamodels and Models Delft University of Technology Software Engineering Research Group Technical Report Series An Extensive Catalog of Operators for the Coupled Evolution of Metamodels and Models Markus Herrmannsdoerfer,

More information

ATL Transformation. Catalogue of Model Transformations

ATL Transformation. Catalogue of Model Transformations 1. ATL TRANSFORMATION EXAMPLE: REPLACE ASSOCIATION BY FOREIGN KEY... 1 2. ATL TRANSFORMATION OVERVIEW... 2 2.1. DESCRIPTION... 2 2.2. PURPOSE... 2 2.3. RULES SPECIFICATION... 2 2.4. ATL CODE... 3 3. REFERENCES...

More information

An Ontological Analysis of Metamodeling Languages

An Ontological Analysis of Metamodeling Languages An Ontological Analysis of Metamodeling Languages Erki Eessaar and Rünno Sgirka 2 Department of Informatics, Tallinn University of Technology, Estonia, eessaar@staff.ttu.ee 2 Department of Informatics,

More information

Plan. Language engineering and Domain Specific Languages. Language designer defines syntax. How to define language

Plan. Language engineering and Domain Specific Languages. Language designer defines syntax. How to define language Plan Language engineering and Domain Specific Languages Perdita Stevens School of Informatics University of Edinburgh 1. Defining languages 2. General purpose languages vs domain specific languages 3.

More information

S T R U C T U R A L M O D E L I N G ( M O D E L I N G A S Y S T E M ' S L O G I C A L S T R U C T U R E U S I N G C L A S S E S A N D C L A S S D I A

S T R U C T U R A L M O D E L I N G ( M O D E L I N G A S Y S T E M ' S L O G I C A L S T R U C T U R E U S I N G C L A S S E S A N D C L A S S D I A S T R U C T U R A L M O D E L I N G ( M O D E L I N G A S Y S T E M ' S L O G I C A L S T R U C T U R E U S I N G C L A S S E S A N D C L A S S D I A G R A M S ) WHAT IS CLASS DIAGRAM? A class diagram

More information

Compositional Model Based Software Development

Compositional Model Based Software Development Compositional Model Based Software Development Prof. Dr. Bernhard Rumpe http://www.se-rwth.de/ Seite 2 Our Working Groups and Topics Automotive / Robotics Autonomous driving Functional architecture Variability

More information

Chapter 8: Enhanced ER Model

Chapter 8: Enhanced ER Model Chapter 8: Enhanced ER Model Subclasses, Superclasses, and Inheritance Specialization and Generalization Constraints and Characteristics of Specialization and Generalization Hierarchies Modeling of UNION

More information

Ingegneria del Software Corso di Laurea in Informatica per il Management. Introduction to UML

Ingegneria del Software Corso di Laurea in Informatica per il Management. Introduction to UML Ingegneria del Software Corso di Laurea in Informatica per il Management Introduction to UML Davide Rossi Dipartimento di Informatica Università di Bologna Modeling A model is an (abstract) representation

More information

The MEMO Meta Modelling Language (MML) and Language Architecture

The MEMO Meta Modelling Language (MML) and Language Architecture ICB Institut für Informatik und Wirtschaftsinformatik Ulrich Frank 43 The MEMO Meta Modelling Language (MML) and Language Architecture ICB-RESEARCH REPORT 2 nd Edition ICB-Research Report No. 43 February

More information

Integration of the Semantic Web with Meta Object Facilities

Integration of the Semantic Web with Meta Object Facilities Integration of the Semantic Web with Meta Object Facilities Work in progress supported by the U.S. General Service Administration s Open Source egov Reference Architecture (OsEra) Project Cory Casanave,

More information

UN/CEFACT Core Components Data Type Catalogue Version September 2009

UN/CEFACT Core Components Data Type Catalogue Version September 2009 UN/CEFACT Core Components Data Type Catalogue Version 3.0 29 September 2009 UN/CEFACT Core Components Data Type Catalogue Version 3.0 Page 1 of 88 Abstract CCTS 3.0 defines the rules for developing Core

More information

Metamodeling and Metaprogramming

Metamodeling and Metaprogramming TDDD05 Component-Based Software Metamodeling and Metaprogramming 1. Introduction to metalevels 2. Different Ways of Metaprogramming 3. UML Metamodel and MOF 4. Component markup U. Assmann: Invasive Software

More information

ATL Transformation. Catalogue of Model Transformations

ATL Transformation. Catalogue of Model Transformations 1. ATL TRANSFORMATION EXAMPLE: REPLACE ASSOCIATION BY ATTRIBUTE... 1 2. ATL TRANSFORMATION OVERVIEW... 2 2.1. DESCRIPTION... 2 2.2. PURPOSE... 2 2.3. RULES SPECIFICATION... 2 2.4. ATL CODE... 3 3. REFERENCES...

More information

Syntax. A. Bellaachia Page: 1

Syntax. A. Bellaachia Page: 1 Syntax 1. Objectives & Definitions... 2 2. Definitions... 3 3. Lexical Rules... 4 4. BNF: Formal Syntactic rules... 6 5. Syntax Diagrams... 9 6. EBNF: Extended BNF... 10 7. Example:... 11 8. BNF Statement

More information

Hospitality Industry Technology Integration Standards Glossary of Terminology

Hospitality Industry Technology Integration Standards Glossary of Terminology Hospitality Industry Technology Integration Standards Glossary of Terminology Abstract Class Account API Application Architecture Association Attribute Bandwidth Base Class Behavior Binding Blind Post

More information

Meta-Modeling and Modeling Languages

Meta-Modeling and Modeling Languages member of Meta-Modeling and Modeling Languages Models and Modelling Model A reproduction of the part of reality which contains the essential aspects to be investigated. Modelling Describing and Representing

More information

ATL Transformation Examples. The KM3 to Metric ATL transformation

ATL Transformation Examples. The KM3 to Metric ATL transformation s The KM3 to Metric ATL transformation - version 0.1 - September 2005 by ATLAS group LINA & INRIA Nantes Content 1 Introduction... 1 2 The KM3 to Metrics ATL transformation... 1 2.1 Transformation overview...

More information

Coral: A Metamodel Kernel for Transformation Engines

Coral: A Metamodel Kernel for Transformation Engines Coral: A Metamodel Kernel for Transformation Engines Marcus Alanen and Ivan Porres TUCS Turku Centre for Computer Science Department of Computer Science, Åbo Akademi University Lemminkäisenkatu 14, FIN-20520

More information

Model Driven Architecture - The Vision

Model Driven Architecture - The Vision Model Driven Architecture - The Vision Marko Fabiunke Fraunhofer Institut für Rechnerarchitektur und Softwaretechnik marko.fabiunke@first.fraunhofer.de The Fraunhofer FIRST Institut Your partner We support

More information

UML Class Diagrams 2. Martin Nečaský Dept. of Software Engineering Faculty of Mathematics and Physics Charles University in Prague

UML Class Diagrams 2. Martin Nečaský Dept. of Software Engineering Faculty of Mathematics and Physics Charles University in Prague UML Class Diagrams 2 Martin Nečaský Dept. of Software Engineering Faculty of Mathematics and Physics Charles University in Prague Previous Lecture Reminder What are UML class diagrams? basic constructs

More information

CISC836: Models in Software Development: Methods, Techniques and Tools

CISC836: Models in Software Development: Methods, Techniques and Tools CISC836: Models in Software Development: Methods, Techniques and Tools Topic 4: Code Generation with EMF Meta modeling Languages for meta models: Ecore Using EMF and Ecoreto define a data model Using EMF

More information

SUMMARY: MODEL DRIVEN SECURITY

SUMMARY: MODEL DRIVEN SECURITY SUMMARY: MODEL DRIVEN SECURITY JAN-FILIP ZAGALAK, JZAGALAK@STUDENT.ETHZ.CH Model Driven Security: From UML Models to Access Control Infrastructres David Basin, Juergen Doser, ETH Zuerich Torsten lodderstedt,

More information

Model Driven Engineering (MDE)

Model Driven Engineering (MDE) Model Driven Engineering (MDE) Yngve Lamo 1 1 Faculty of Engineering, Bergen University College, Norway 26 April 2011 Ålesund Outline Background Software Engineering History, SE Model Driven Engineering

More information

Technische Universität Dresden

Technische Universität Dresden Technische Universität Dresden Department of Computer Science Institute for Software and Multimedia Technology Software Technology Group Prof. Dr. Uwe Aßmann Großer Beleg Design and Prototypical Implementation

More information

Lecture 1/2. Copyright 2007 STI - INNSBRUCK

Lecture 1/2. Copyright 2007 STI - INNSBRUCK Introduction to modeling MSc 2008/2009 009 Lecture 1/2 1 Copyright 2007 STI - INNSBRUCK www.sti-innsbruck.at Course overview Introduces modeling as a discipline within Computer Science and Engineering,

More information

Weaving Executability into Object-Oriented Meta-Languages

Weaving Executability into Object-Oriented Meta-Languages Weaving Executability into Object-Oriented Meta-Languages Pierre-Alain Muller, Franck Fleurey, and Jean-Marc Jézéquel IRISA / INRIA Rennes Campus Universitaire de Beaulieu Avenue du Général Leclerc 35042

More information

IMCE MOF2 / OWL2 Integration

IMCE MOF2 / OWL2 Integration National Aeronautics and IMCE MOF2 / OWL2 Integration Nicolas Rouquette System Architectures & Behaviors Group, 313K 2012-03-20 Copyright 2012, Government Sponsorship Acknowledged Systems Engineering Domain-Specific

More information

Main topics: Presenter: Introduction to OWL Protégé, an ontology editor OWL 2 Semantic reasoner Summary TDT OWL

Main topics: Presenter: Introduction to OWL Protégé, an ontology editor OWL 2 Semantic reasoner Summary TDT OWL 1 TDT4215 Web Intelligence Main topics: Introduction to Web Ontology Language (OWL) Presenter: Stein L. Tomassen 2 Outline Introduction to OWL Protégé, an ontology editor OWL 2 Semantic reasoner Summary

More information

An Implementation of the Behavior Annex in the AADL-toolset Osate2

An Implementation of the Behavior Annex in the AADL-toolset Osate2 2011 16th IEEE International Conference on Engineering of Complex Computer Systems An Implementation of the Behavior Annex in the AADL-toolset Osate2 Gilles Lasnier, Laurent Pautet Inst. TELECOM - TELECOM

More information

Using UML To Define XML Document Types

Using UML To Define XML Document Types Using UML To Define XML Document Types W. Eliot Kimber ISOGEN International, A DataChannel Company Created On: 10 Dec 1999 Last Revised: 14 Jan 2000 Defines a convention for the use of UML to define XML

More information

Directives for Composing Aspect-Oriented Design Class Models

Directives for Composing Aspect-Oriented Design Class Models Directives for Composing Aspect-Oriented Design Class Models Y. R. Reddy, S. Ghosh, R. B. France, G. Straw, J. M. Bieman, N. McEachen, E. Song, G. Georg Contact Email: ghosh@cs.colostate.edu Computer Science

More information

A Metamodel for SDL-2000 in the Context of Metamodelling ULF

A Metamodel for SDL-2000 in the Context of Metamodelling ULF A Metamodel for SDL-2000 in the Context of Metamodelling ULF Joachim Fischer, Michael Piefel, and Markus Scheidgen Humboldt Universität zu Berlin Institut für Informatik Unter den Linden 6 0099 Berlin,

More information

From Models to Components. Rapid Service Creation with

From Models to Components. Rapid Service Creation with From Models to Components Rapid Service Creation with Marc Born, Olaf Kath {born kath}@ikv.de Evolutions in Software Construction C O M P L E X I T Y Model Driven Architectures Meta Object Facility and

More information

Dominique Blouin Etienne Borde

Dominique Blouin Etienne Borde Dominique Blouin Etienne Borde dominique.blouin@telecom-paristech.fr etienne.borde@telecom-paristech.fr Institut Mines-Télécom Content Domain specific Languages in a Nutshell Overview of Eclipse Modeling

More information

Computation Independent Model (CIM): Platform Independent Model (PIM): Platform Specific Model (PSM): Implementation Specific Model (ISM):

Computation Independent Model (CIM): Platform Independent Model (PIM): Platform Specific Model (PSM): Implementation Specific Model (ISM): viii Preface The software industry has evolved to tackle new approaches aligned with the Internet, object-orientation, distributed components and new platforms. However, the majority of the large information

More information

Chapter 3. Describing Syntax and Semantics

Chapter 3. Describing Syntax and Semantics Chapter 3 Describing Syntax and Semantics Chapter 3 Topics Introduction The General Problem of Describing Syntax Formal Methods of Describing Syntax Attribute Grammars Describing the Meanings of Programs:

More information

Core Java - SCJP. Q2Technologies, Rajajinagar. Course content

Core Java - SCJP. Q2Technologies, Rajajinagar. Course content Core Java - SCJP Course content NOTE: For exam objectives refer to the SCJP 1.6 objectives. 1. Declarations and Access Control Java Refresher Identifiers & JavaBeans Legal Identifiers. Sun's Java Code

More information

Metamodeling and Metaprogramming

Metamodeling and Metaprogramming TDDD05 / DF4900 Metamodeling and ming Linköpings universitet Some slides by courtesy of U. Assmann, IDA / TU Dresden. Introduction to metalevels 2. Different Ways of ming 3. UML Metamodel and MOF 4. Component

More information

Chapter 9: Relational DB Design byer/eer to Relational Mapping Relational Database Design Using ER-to- Relational Mapping Mapping EER Model

Chapter 9: Relational DB Design byer/eer to Relational Mapping Relational Database Design Using ER-to- Relational Mapping Mapping EER Model Chapter 9: Relational DB Design byer/eer to Relational Mapping Relational Database Design Using ER-to- Relational Mapping Mapping EER Model Constructs to Relations Relational Database Design by ER- and

More information

Second OMG Workshop on Web Services Modeling. Easy Development of Scalable Web Services Based on Model-Driven Process Management

Second OMG Workshop on Web Services Modeling. Easy Development of Scalable Web Services Based on Model-Driven Process Management Second OMG Workshop on Web Services Modeling Easy Development of Scalable Web Services Based on Model-Driven Process Management 88 solutions Chief Technology Officer 2003 Outline! Introduction to Web Services!

More information

Table of Contents. iii

Table of Contents. iii Current Web 1 1.1 Current Web History 1 1.2 Current Web Characteristics 2 1.2.1 Current Web Features 2 1.2.2 Current Web Benefits 3 1.2.3. Current Web Applications 3 1.3 Why the Current Web is not Enough

More information

Knowledge Representations. How else can we represent knowledge in addition to formal logic?

Knowledge Representations. How else can we represent knowledge in addition to formal logic? Knowledge Representations How else can we represent knowledge in addition to formal logic? 1 Common Knowledge Representations Formal Logic Production Rules Semantic Nets Schemata and Frames 2 Production

More information

Representation of UML Class Diagrams in OWL 2 on the Background of Domain Ontologies

Representation of UML Class Diagrams in OWL 2 on the Background of Domain Ontologies e-informatica Software Engineering Journal, Volume 13, Issue 1, 2019, pages: 63 103, DOI 10.5277/e-Inf190103 Representation of UML Class Diagrams in OWL 2 on the Background of Domain Ontologies Małgorzata

More information

INF5120 Model-Based System Development

INF5120 Model-Based System Development INF5120 Model-Based System Development Lecture #3: Metamodelling and UML profiles, MDA technologies 04 February 2008 Brian Elvesæter, SINTEF 1 Outline Model-driven interoperability (MDI) framework MDA

More information

Inheritance and Interfaces

Inheritance and Interfaces Inheritance and Interfaces Object Orientated Programming in Java Benjamin Kenwright Outline Review What is Inheritance? Why we need Inheritance? Syntax, Formatting,.. What is an Interface? Today s Practical

More information

OMG Specifications for Enterprise Interoperability

OMG Specifications for Enterprise Interoperability OMG Specifications for Enterprise Interoperability Brian Elvesæter* Arne-Jørgen Berre* *SINTEF ICT, P. O. Box 124 Blindern, N-0314 Oslo, Norway brian.elvesater@sintef.no arne.j.berre@sintef.no ABSTRACT:

More information

Modelling XML Applications

Modelling XML Applications Modelling XML Applications Patryk Czarnik XML and Applications 2013/2014 Lecture 2 14.10.2013 XML application (recall) XML application (zastosowanie XML) A concrete language with XML syntax Typically defined

More information

The Substitution Model. Nate Foster Spring 2018

The Substitution Model. Nate Foster Spring 2018 The Substitution Model Nate Foster Spring 2018 Review Previously in 3110: simple interpreter for expression language abstract syntax tree (AST) evaluation based on single steps parser and lexer (in lab)

More information

A UML 2 Profile for Variability Models and their Dependency to Business Processes

A UML 2 Profile for Variability Models and their Dependency to Business Processes A UML 2 Profile for Variability Models and their Dependency to Business Processes Birgit Korherr and Beate List Women s Postgraduate College for Internet Technologies Institute of Software Technology and

More information

Contents Contents 1 Introduction Entity Types... 37

Contents Contents 1 Introduction Entity Types... 37 1 Introduction...1 1.1 Functions of an Information System...1 1.1.1 The Memory Function...3 1.1.2 The Informative Function...4 1.1.3 The Active Function...6 1.1.4 Examples of Information Systems...7 1.2

More information

MDD with OMG Standards MOF, OCL, QVT & Graph Transformations

MDD with OMG Standards MOF, OCL, QVT & Graph Transformations 1 MDD with OMG Standards MOF, OCL, QVT & Graph Transformations Andy Schürr Darmstadt University of Technology andy. schuerr@es.tu-darmstadt.de 20th Feb. 2007, Trento Outline of Presentation 2 Languages

More information

The TTC 2011 Reengineering Challenge Using MOLA and Higher-Order Transformations

The TTC 2011 Reengineering Challenge Using MOLA and Higher-Order Transformations The TTC 2011 Reengineering Challenge Using MOLA and Higher-Order Transformations Agris Sostaks, Elina Kalnina, Audris Kalnins, Edgars Celms, and Janis Iraids Institute of Computer Science and Mathematics,

More information

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe Chapter 12 Outline Overview of Object Database Concepts Object-Relational Features Object Database Extensions to SQL ODMG Object Model and the Object Definition Language ODL Object Database Conceptual

More information

UNIT I Programming Language Syntax and semantics. Kainjan Sanghavi

UNIT I Programming Language Syntax and semantics. Kainjan Sanghavi UNIT I Programming Language Syntax and semantics B y Kainjan Sanghavi Contents Language Definition Syntax Abstract and Concrete Syntax Concept of binding Language Definition Should enable a person or computer

More information

UML with Action Semantics

UML with Action Semantics UML with Action Semantics Concepts, Application and Implications Milan Ignjatovic Software Engineering Consultant Software Engineering Trainer Zuehlke Engineering AG Agenda Part 1: What is UML with Action

More information

Object-Oriented Design

Object-Oriented Design Object-Oriented Design Lecture 14: Design Workflow Department of Computer Engineering Sharif University of Technology 1 UP iterations and workflow Workflows Requirements Analysis Phases Inception Elaboration

More information

Softwaretechnik. Lecture 19: Model Driven Engineering. Peter Thiemann. University of Freiburg, Germany

Softwaretechnik. Lecture 19: Model Driven Engineering. Peter Thiemann. University of Freiburg, Germany Softwaretechnik Lecture 19: Model Driven Engineering Peter Thiemann University of Freiburg, Germany 23.07.2012 Peter Thiemann (Univ. Freiburg) Softwaretechnik 23.07.2012 1 / 50 Introduction MDA Introduction

More information

!MDA$based*Teaching*and* Research*in*Software*Engineering*!

!MDA$based*Teaching*and* Research*in*Software*Engineering*! Plan!MDA$based*Teaching*and* Research*in*Software*Engineering*! Ludwik!Kuźniarz! Blekinge*Institute*of*Technology* School*of*Computing* Sweden*! Myself! Driven Architecture! MDA based Reaserch! Sample

More information

Theoretical Part. Chapter one:- - What are the Phases of compiler? Answer:

Theoretical Part. Chapter one:- - What are the Phases of compiler? Answer: Theoretical Part Chapter one:- - What are the Phases of compiler? Six phases Scanner Parser Semantic Analyzer Source code optimizer Code generator Target Code Optimizer Three auxiliary components Literal

More information

Introduction to MDE and Model Transformation

Introduction to MDE and Model Transformation Vlad Acretoaie Department of Applied Mathematics and Computer Science Technical University of Denmark rvac@dtu.dk DTU Course 02291 System Integration Vlad Acretoaie Department of Applied Mathematics and

More information