Metamodeling. 16. April 2012 Real-Time Systems Lab Prof. Dr. Andy Schürr Dr. Gergely Varró 1
|
|
- Diana Little
- 5 years ago
- Views:
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) Meta-modelling and Domain Specific Languages (DSLs) and Summary and Outlook Meta-modelling (and MOF) 3 Class Diagrams are models too PetriNet Object
More informationAdvanced 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 informationModel-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 informationModel-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 informationMetamodeling 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 informationMOF 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 informationAttributes 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 informationMODEL 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 informationAn 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 informationModelling 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 informationModel-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 informationThe 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 informationGrammars. 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 informationThe 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 informationModel 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 informationMetamodeling. 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 informationOutline. 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 informationBetter 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 information02291: 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 informationATL 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 informationChristian 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 informationModel 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 informationCWM: 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 informationApproach 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 informationModels 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 informationOMG 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 informationWHY 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 informationMDA & 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 informationThe 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 informationSoftwaretechnik 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 informationAutomation 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 informationThe 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 informationModel 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 informationAdvanced 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 informationMETADATA 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 informationUML 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 informationMetamodeling. 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 informationLanguage 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 informationIntroduction 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 informationJava 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 informationSERG. 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 informationATL 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 informationAn 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 informationPlan. 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 informationS 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 informationCompositional 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 informationChapter 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 informationIngegneria 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 informationThe 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 informationIntegration 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 informationUN/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 informationMetamodeling 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 informationATL 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 informationSyntax. 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 informationHospitality 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 informationMeta-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 informationATL 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 informationCoral: 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 informationModel 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 informationUML 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 informationCISC836: 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 informationSUMMARY: 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 informationModel 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 informationTechnische 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 informationLecture 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 informationWeaving 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 informationIMCE 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 informationMain 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 informationAn 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 informationUsing 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 informationDirectives 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 informationA 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 informationFrom 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 informationDominique 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 informationComputation 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 informationChapter 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 informationCore 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 informationMetamodeling 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 informationChapter 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 informationSecond 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 informationTable 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 informationKnowledge 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 informationRepresentation 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 informationINF5120 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 informationInheritance 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 informationOMG 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 informationModelling 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 informationThe 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 informationA 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 informationContents 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 informationMDD 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 informationThe 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 informationCopyright 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 informationUNIT 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 informationUML 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 informationObject-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 informationSoftwaretechnik. 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*!
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 informationTheoretical 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 informationIntroduction 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