Meta-Modeling. About the Instructor - Background

Size: px
Start display at page:

Download "Meta-Modeling. About the Instructor - Background"

Transcription

1 Meta-Modeling Prof.dr.ir. Bedir Tekinerdogan Wageningen University, Information Technology Wageningen, The Netherlands About the Instructor - Background Prof. Dr. Bedir Tekinerdogan received his MSc degree (1994) and a PhD degree (2000) in Computer Science, both from the University of Twente, The Netherlands. From 2003 until 2008 he was a faculty member at University of Twente, after which he joined Bilkent University until At Bilkent he has founded and led the Bilkent Software Engineering Group which aimed to foster research and education on software engineering in Turkey. Currently he is full professor and chair of the Information Technology group at WageningenUniversity, The Netherlands. He has more than 20 years of experience in software engineering research and education. He has been active in dozens of national and international research and consultancy projects with various large software companies whereby he has worked as a principal researcher and leading software/system architect. He graduated more than 40 MSc students and supervised/graduated more than 10 PhD students. He has reviewed more than 80 national and international projects and is a regular reviewer for around 20 international journals. He has also been very active in scientific conferences and organized more than 50 conferences/workshops on important software engineering research topics. He has developed and taught more than 15 different academic software engineering courses and has provided software engineering courses to more than 50 companies in The Netherlands, Germany and Turkey. He can communicate in five languages (English, Dutch, Turkish, French, German). 1

2 About the Instructor - Research Software Engineering Research Topics Bedir Tekinerdogan Years of experience: >20 years # of publications: >200 # of projects: >30 # of PhD/MSc Students: >50 Object-Oriented Software Engineering Aspect-Oriented Software Engineering Software Architecture Software Product Line Engineering Model-Driven Software Development System Engineering Software Analysis, Verification & Validation # of publications: > 40 # of publications: >40 # of publications: >70 # of publications: >25 # of publications: >20 # of publications: >20 # of publications: >15 Object-Oriented Programming Aspect-Oriented Programming Software Architecture Modeling Product Line Architecture Software Language Engineering System Engineering Design and Analysis Software Testing Object-Oriented Design Aspect-Oriented Design Software Architecture Design Domain Engineering Domain-Specific Languages Systems-of-Systems Model-Checking Object-Oriented Design Patterns Aspect-Oriented Architecture Software Architecture Analysis Variability Modeling Model- Transformations Crowd Computing Run-Time Verification Object-Oriented Framework Aspect-Oriented Requirements Model-Driven Software Architecture System Product Line Engineering Model-Driven Architecture Software Ecosystems Static Analysis Object-Oriented Framework Composition Filters Middleware Architecture Multiple Product Line Engineering Model-Based UI Design Model-Based Testing Method Engineering Cloud Computing Architecture Verification and Validation of SPLE Model-Driven High Perform. Computing >20 years of experience in software engineering More than 200 scientific publications (h-index 21 Google Scholar) Contents Modeling Meta- Modeling Example Metamodel Process Modeling Summary Bedir Tekinerdogan Meta-Modeling 4 2

3 Modeling What is a model? Question Bedir Tekinerdogan Meta-Modeling 6 3

4 Google - Model About 3,750,000,000 results Modeling is a ubiquitous activity. Bedir Tekinerdogan Meta-Modeling 7 Motivation for Model(ing) Visualize any human activity before it is produced (implicit or explicit) Provide template for guiding the production Documents the decisions that are made Communicate our ideas Analyze... system S representation of model M Bedir Tekinerdogan Meta-Modeling 8 4

5 Model Software Engineering - Definitions P.A. Muller, F. Fondement, and B. Baudry. Modeling Modeling, In: A. Schürr and B. Selic (Eds.): MODELS 2009, LNCS 5795, pp. 2 16, Springer-Verlag Berlin Heidelberg 2009 Bedir Tekinerdogan Meta-Modeling 9 Model Software Engineering - Definitions A model is a description of a (part of) system written in a well-defined language. A well-defined language is a language with well-defined form (syntax), and meaning (semantics), which is suitable for automated interpretation by a computer. A. Kleppe, S. Warmer, W. Bast, "MDA Explained. The Model Driven Architecture: Practice and Promise", Addison-Wesley, April 2003 Bedir Tekinerdogan Meta-Modeling 10 5

6 Different Kind of Models Prescriptive model model is developed as a precursor to implementing the original Model System Descriptive model model is derived from an existing system System RDY_ RDY_ A1 A2 a r a rto_a2 r RIN_ t I r IN_A r RIN_ A1 l o N r G_B 2 _ l A2 G_B s sf_a2 G_B t _ 1 At 2 RSL_ f o e eg_b 1 RSL_ LTO_A1 A A A 2o A1 _ LTO_A1 _ a 1 ent_a OUT_ A e _ tlo_a1 A _ 2 tlo_a2a1 A A_ G_A A LOUT_ n 1 1 A1 A 2 M 2 a A1 t GA_ M 1 eg_a1 G_B l F _ F_ l l B1 eg_a 2 LOUT_ t A t dep_a1 _ de A t i GA_A 1 G_A1 2 A_AGA_ LI LA A2 A _ p_ 2 i _ 2 A2 N R_ 1 A r A rti_a2 _ A OUT_ O _ A2 1 A 2 RIN_A1 t ea_a 2 UT A R 1 A1 eg_b 2 i 2 2 G_B _A 2 I _ 2 2 N A _ 1 A 1 Model Bedir Tekinerdogan Meta-Modeling 11 Models - Multiple Views of System Circulatory System represented by Muscular System Skeletal System System Model Digestive System Respiratory System Bedir Tekinerdogan Meta-Modeling 12 6

7 Different Kind of Models Sketch simple drawing model; not precise or complete, nor is it intended to be. The purpose of the sketch is to try out an idea. The sketch is neither maintained nor delivered. Blueprint document/design model describing properties needed to build the real thing. In other words, the blueprint is the embodiment of a plan for construction Executable software model that can be compiled and executed; can be automatically translated into other models or code Mellor, S.J., Scott, K., Uhl, A., Weise, D.: MDA Distilled: Principle of Model Driven Architecture. Addison Wesley, Reading, Fowler suggests a similar distinction based on three levels of models, namely Conceptual Models, Specification Models and Implementation Models. Fowler, M., Scott, K., Booch, G.: UML distilled, Object Oriented series, 179 p. Addison-Wesley, Reading (1999) Bedir Tekinerdogan Meta-Modeling 13 Model-Based Software Development Application of models to software development (model-based) is a historical tradition and has become even more popular since UML Model-Based Software Development (MBSD) aims to use models to develop software However, models are essentially separate from the code, and as such we are faced with mere documentation because the relationship between model and software implementation is only intentional but not formal. Bedir Tekinerdogan Meta-Modeling 14 7

8 optional, can be repeated Model-Driven Software Development Model-Driven Software Development does focus on models (instead of dropping these as in the agile approach) In contrast to Model-Based Software Development, however, Model-Driven Software Development adopts models as the basic abstraction. Models do not constitute documentation, but are considered equal to code, as their implementation is automated Model Model Model Transformer Model Transformer Generated Code Metamodel Tranformation Rules Metamodel Code Generation Templates Manually Written Code optional Bedir Tekinerdogan Meta-Modeling 15 Meta-Modeling 8

9 Models: geographical maps iller Haritası represented by Maden Haritası System Balıklar Haritası Models Bedir Tekinerdogan Meta-Modeling 17 Model - Metamodel Maden Haritası The metamodel Model has no meaning when separated from metamodel Bedir Tekinerdogan Meta-Modeling 18 9

10 Metamodel - Example Metamodel conforms to Model represented by System Bedir Tekinerdogan Meta-Modeling 19 Metamodel MS-Visio Metamodels for drawing models in MS-Visio Bedir Tekinerdogan Meta-Modeling 20 10

11 Meta-Modeling conforms to represented by conforms to represented by Metamodel Model System Bedir Tekinerdogan Meta-Modeling 21 Google Meta-Model Meta-Modeling is also a ubiquitous activity. Bedir Tekinerdogan Meta-Modeling 22 11

12 What is Metamodelling? Modelling describes the concepts of a domain with the concepts provided by a modelling language. Metamodelling allows for the modelling of modelling languages. Metamodel: A model that defines the language for expressing a model Metamodelling thus allows the definition of tailored, or domain-specific modelling languages Bedir Tekinerdogan Meta-Modeling 23 Metamodel C. Atkinson & T. Kuhne. Profiles in a strict metamodeling framework. Science of Computer Programming, 44, pp. 5-22, Bedir Tekinerdogan Meta-Modeling 24 12

13 Domain Metamodel describes relevant concepts of a domain Domain Bounded field of interest or knowledge consisting of concepts Domain may itself be composed of subdomains Domain describes relevant concepts of Meta Model 0..* subdomain Bedir Tekinerdogan Meta-Modeling 25 Domain Categorization Horizontal domains Also called technical domains applied to a large group of applications that share the same technical characteristic E.g GUI layout and persistence Vertical domains Also called in-house, business-oriented usually indicates that the concepts in the domain are not computer science concepts but instead come from the business in which computer science is applied. E.g. In insurance domain concepts like product type, life insurance, vehicle, liability, etc. Bedir Tekinerdogan Meta-Modeling 26 13

14 Abstract Syntax Metamodel can be expressed in different notations: Abstract Syntax The concepts and definition of the language Concrete Syntax Realization of Abstract Syntax Textual or Visual Meta Model Abstract Syntax Concrete Syntax Bedir Tekinerdogan Meta-Modeling 27 Abstract Syntax The abstract syntax of a language describes the vocabulary of concepts provided by the language and how they may be combined to create models. It consists of a definition of the concepts, the relationships that exist between concepts Meta Model Abstract Syntax Bedir Tekinerdogan Meta-Modeling 28 14

15 Abstract Syntax - Process There are a number of stages involved in the development of an abstract syntax model: concept identification; concept modelling; model architecting; model validation and model testing. Bedir Tekinerdogan Meta-Modeling 29 Domain and Domain Analysis Domain An area of knowledge or activity Characterized by a set of concepts and terminology Understood by practitioners in that area. -G. Booch, J. Rumbaugh, I. Jacobson, The Unified Modeling Language User Guide, Addison-Wesley, Domain Analysis is the systematic activity of collecting, organizing and storing domain knowledge Bedir Tekinerdogan Meta-Modeling 30 15

16 Domain Analysis Domain Scoping Define the domain of interest wrt stakeholders and business context. Domain Modeling Providing a domain model by data collection, data analysis, classification and evaluation. Bedir Tekinerdogan Meta-Modeling 31 Domain, Knowledge Source, Concept <<domain>> Domain Includes <<domain>> Knowledge Source Includes <<domain>> Concept PCS System Bedir Tekinerdogan Meta-Modeling 32 16

17 Commonality Analysis Domain Domain Literature Existing Systems common Domain Experts Bedir Tekinerdogan Meta-Modeling 33 Example: Domain Lexicon Monitor, The entity that monitors the driver and the engine performance Sensor Entity that observes the controlled entity. Control Data Data which represents the goal parameters Feedback Reaction given to the driver by the monitor Display Physical entity to represent the feedback of the monitor. Bedir Tekinerdogan Meta-Modeling 34 17

18 Abstract Syntax - Example Imagine a business modelling language suitable for modelling high level business rules about business data. An appropriate language for this domain might provide modelling concepts, such as: data model, data entity, and business rule. In addition there will be relationships between these concepts: a data model may be composed of a number of data entities. There will also be rules describing the valid models (static semantics) that may be constructed in the language, for instance, a datamodel cannot contain data entities with the same name Bedir Tekinerdogan Meta-Modeling 35 Abstract Syntax It is important to emphasize that a language s abstract syntax is independent of its concrete syntax and semantics. Abstract syntax deals solely with the form and structure of concepts in a language without any consideration given to their presentation (concrete syntax) or meaning (semantics) Bedir Tekinerdogan Meta-Modeling 36 18

19 Abstract Syntax is further constrained using wellformedness rules that state how the concepts may be legally combined (i.e. syntactically valid) Additional constraints on models that should conform to metamodel Static Semantics an interface may not have any attributes: context Interface inv: features->select(f f.ocliskindof( Attribute ) )->isempty() Specified based on Meta Model Abstract Syntax Static Semantics Bedir Tekinerdogan Meta-Modeling 37 Concrete Syntax Metamodel can be expressed in different notations: Abstract Syntax The concepts and definition of the language Concrete Syntax Realization of Abstract Syntax Textual or Visual Meta Model Abstract Syntax Concrete Syntax Bedir Tekinerdogan Meta-Modeling 38 19

20 Concrete Syntax - Textual A textual syntax enables models or programs to be described in a structured textual form. A textual syntax typically consists of a mixture of declarations, which declare specific objects and variables to be available, and expressions, which state properties relating to the declared objects and variables. ability to capture complex expressions. Can become difficult to comprehend Bedir Tekinerdogan Meta-Modeling 39 Concrete Syntax - Visual presents a model or program in a diagrammatical form. consists of a number of graphical icons that represent views on an underlying model. ability to express large amounts of detail in an intuitive and understandable form. only certain levels of detail can be expressed beyond which it becomes overly complex and incomprehensible Bedir Tekinerdogan Meta-Modeling 40 20

21 Specified based on Concrete Syntax Sentence formulated in DSL The program Formal Model Meta Model Abstract Syntax Concrete Syntax specified based on Formal Model Bedir Tekinerdogan Meta-Modeling 41 Semantics An abstract syntax conveys little information about what the concepts in a language actually mean. Therefore, additional information is needed in order to capture the semantics of a language. Defining a semantics for a language is important in order to be clear about what the language represents and means. Otherwise, assumptions may be made about the language that lead to its incorrect use. Bedir Tekinerdogan Meta-Modeling 42 21

22 Semantics Semantics must be either well-documented or be intuitively clear to the modeler. This is made easier by adopting concepts from the problem space so that a domain expert will recognize the domain language Different approaches for describing semantics including Translational Operational Denotational Bedir Tekinerdogan Meta-Modeling 43 Abstract Syntax, Concrete Syntax and Semantics Abstract Syntax depends on Concrete Syntax Semantics gets meaning from specified based on Formal Model Bedir Tekinerdogan Meta-Modeling 44 22

23 Meta-Metamodel Metamodel describes concepts that can be used for modeling the model (i.e. instances of the metamodel) Meta-Metamodel Metamodel <<instance of>> Consequently, the metamodel itself has a meta metamodel Bedir Tekinerdogan Meta-Modeling 45 Program, Grammar, EBNF EBNF conforms to Grammar conforms to conforms to Program Bedir Tekinerdogan Meta-Modeling 46 23

24 Example OMG - MOF MOF stands for Meta Object Facility enables meta-metamodeling of UML level metamodels MOF was first described in 1998 MOF a language used to define metamodels Metamodels define language/constructs to build models Relational for information sources BPEL, BPMI for business process XML Schema for XML documents UML for modeling applications MOF is now an international standard: ISO/IEC 19502:2005 Information technology -- Meta Object Facility (MOF) Bedir Tekinerdogan Meta-Modeling 47 How does the M3: MOF Meta-Metamodel look like? MOF M2: Metamodel UML depends on Model Element M1: Model M0: Instances Class model Run-time objects Stahl & Voelter, 2006 Import Namespace Constraint Tag Feature imports generalizes Generalizable Element Behavioral Feature Package Classifier Operation Exception can throw Association Class MOF Specification - Bedir Tekinerdogan Meta-Modeling 48 24

25 Modeling Constructs In order to describe a particular kind of model we have to describe the set of modeling constructs that make up models of that kind: For relational data modeling table, column, key, and so on. For workflow activity, performer, transition, split, join, and so on. For UML class modeling class, attribute, operation, association, and so on. For defining CORBA interfaces interface, valuetype, and so on. MOF is universal way of describing modeling constructs. Bedir Tekinerdogan Meta-Modeling 49 Metamodels defined using MOF UML Metamodel Relational Data Metamodel CORBA Component Metamodel State Machine Metamodel Bedir Tekinerdogan Meta-Modeling 50 25

26 Cardinality of Models. Level MOF terms Examples Cardinality * User M3 meta-metamodel The MOF meta model 1 Standards developer M2 metamodel, meta-metadata UML metamodel, CWM metamodel Developer for tools or infrastructures M1 model, metadata UML models such as class diagrams for a specific application, CWM metadata 1,000 10,000 Application developer M0 object, information Instances of modeled class etc., data 100,000 10,000,000 End user Summary Meta-Metamodel Domain describes relevant concepts of Meta Model <<instance of>> Abstract Syntax Specified based on Static Semantics 0..* subdomain depends on Concrete Syntax Semantics gets meaning from specified based on Formal Model Bedir Tekinerdogan Meta-Modeling 52 26

27 0..* Summary Domain decribes bounded field of interest; Domain can be decomposed into sub-domains Metamodel defines a model for a modeling language. Meta-model describes relevant concepts of domain Metamodel consists of Abstract Syntax and Concrete Syntax Abstract Syntax consists of a definition of the concepts, the relationships that exist between concepts and defines the well-formedness rules that state how the concepts may be legally combined (Static Semantics) Concrete Syntax is the realization of the abstract syntax, and describes how the concepts are represented (textual, visual) Semantics defines the meaning of concepts in Abstract Syntax Formal Model is the program defined using Concrete Syntax Domain subdomain describes relevant concepts of Semantics Meta-Metamodel Meta Model depends on <<instance of>> gets meaning from Abstract Syntax Concrete Syntax specified based on Formal Model Specified based on Static Semantics Bedir Tekinerdogan Meta-Modeling 53 Meta-Modeling Goals 27

28 Question Why do we need metamodels in software development? Bedir Tekinerdogan Meta-Modeling 55 Metamodelling Domain-Specific Modeling Metamodel: A model that defines the language for expressing a model Metamodeling can focus on a particular domain and represent the model for the language in that specific domain a domain-specific language (DSL) is a language dedicated to a particular problem domain, a particular problem representation technique, and/or a particular solution technique. DSL programs are concise, self-documenting to a large extent, and can be reused for different purposes. DSLs enhance productivity, reliability, maintainability, and portability. Bedir Tekinerdogan Meta-Modeling 56 28

29 Metamodelling Validation Model Validation models are validated against the constraints defined in the metamodel Validation ensures that the model meets its intended requirements The ultimate goal of model validation is to make the model useful in the sense that the model addresses the right problem, provides accurate information about the system being modeled, and to makes the model actually used Metamodel Model <<conforms to?>> Bedir Tekinerdogan Meta-Modeling 57 Metamodelling Tool Integration Tool adaptation and integration based on the metamodel, modeling tools can be adapted to the respective domain Metamodel based on based on based on Tool1 Tool2 Tool3 Bedir Tekinerdogan Meta-Modeling 58 29

30 optional, can be repeated Metamodelling Interoperability Current systems are large scale and complex; not monolithic but consist of different modules Usually depending on different technologies How to achieve interoperability? Interoperability - the ability of two or more systems or components to exchange information and to use the information that has been exchanged IEEE Metamodel based on based on based on System 1 System 2 System 3 Bedir Tekinerdogan Meta-Modeling 59 Metamodelling Transformations Developer develops model(s) based on certain metamodel(s). Model Model Model Metamodel Using code generation templates, the model is transformed to executable code. Transformer Tranformation Rules Optionally, the generated code is merged with manually written code. Model Metamodel One or more model-to-model transformation steps may precede code generation. Transformer Code Generation Templates Generated Code Manually Written Code optional Bedir Tekinerdogan Meta-Modeling 60 30

31 Metamodelling - Goals Domain-specific modelling the metamodel describes abstract syntax of a DSL (see later) Model Validation models are validated against the constraints defined in the metamodel Tool adaptation and integration based on the metamodel, modeling tools can be adapted to the respective domain Enable development and interoperability of model driven systems Model Transformations model transformations are defined as mapping rules between two metamodels Code Generation Generation templates refer to the metamodel of the DSL Bedir Tekinerdogan Meta-Modeling 61 Example Meta-Models 31

32 Question Assume that we are developing a metamodel for Statemachine Which concepts will the abstract syntax typically include? What is a typical concrete syntax for statemachines? Why would you need such a metamodel? Bedir Tekinerdogan Meta-Modeling 63 Description of the Domain StateMachines have an initial state and an optional final state StateMachines provide guards, actions and events. Guards are owned by transitions, and are boolean expressions that must evaluate to true before a transition can be invoked. Events are associated with transitions via an event. Events have a name and some optional parameters. It is the receipt of an event that causes a transition to be triggered. Events can be generated by StateMachine actions Bedir Tekinerdogan Meta-Modeling 64 32

33 Concepts from the Domain State: A named representation of the state of an object at a particular point in time. Initial State: The initial state that the object is in when it is created. Final State: The final state of the object - typically when the object has been destroyed. Transition: A state change. A transition has a source and target state. Event: A named event that causes a transition to occur. Action: An executable expression that may be attached to a transition or a state. Actions are invoked whenever the transition occurs, or a state is entered. Guard: A boolean expression which must be evaluated to be true before a transition can occur. Bedir Tekinerdogan Meta-Modeling 65 Abstract Syntax Is each concept a distinct abstract syntax concept? States and Transitions are clearly core to StateMachines, as they capture the central concepts of state and state change. However, initial states and final states could be argued not to be concepts in their own right. An initial state can be modelled as an attribute of the StateMachine, whilst a final state can be viewed as a property of the instance Bedir Tekinerdogan Meta-Modeling 66 33

34 Concrete Syntax How to represent each concept in the abstract syntax? How to represent State? How to represent Initial State? How to represent Final State? How to represent Transitition? How to represent Action? How to represent Event? How to represent Guard? Bedir Tekinerdogan Meta-Modeling 67 Concrete Syntax - Graphical Bedir Tekinerdogan Meta-Modeling 68 34

35 Static Semantics - Well-Formedness Rules Once the concepts and relationship in the StateMachine language have been identified, well-formedness rules can be defined. Examples (OCL): all states should have unique names the initial state of the StateMachine must be one of the StateMachine s states Bedir Tekinerdogan Meta-Modeling 69 Semantics - Example Although we may have an intuitive understanding of what is meant by a state machine, it is likely that the detailed semantics of the language will be open to misinterpretation if they are not defined precisely. Consider, for example, the following questions: What exactly is a state? What does it mean for transition to occur? What happens if two transitions leave the same state. Which will be chosen? All these questions should be captured by the semantics of the language. See for example (defining 16 different semantics): M. von der Beek. A Comparision of Statechart Variants. In W.-P. de Roever H. Langmaack and J. Vytopil, editors, Formal Techniques in Real-Time and Fault-Tolerant Systems, number 863 in Lecture Notes in Computer Science, pages Springer Verlag, September Bedir Tekinerdogan Meta-Modeling 70 35

36 Example Music Metamodel Assume the following Case: Music theory is a field of study that investigates the nature or mechanics of music. Every piece of music. How to define the abstract syntax? How to define concrete syntax? How to define the static semantics? What are the wellformedness rules? Semantics? Bedir Tekinerdogan Meta-Modeling 71 Music Theory Music theory is the field of study that deals with how music works. It examines the language and notation of music. It identifies patterns that govern composers' techniques. In a global sense, music theory distills and analyzes the parameters or elements of music rhythm, harmony (harmonic function), melody, structure, form, and texture Bedir Tekinerdogan Meta-Modeling 72 36

37 Metamodel for Music Music notation Metamodel instance of Model Music sheet Music Metamodel Abstract Syntax Elements of music Melody Pitch Scales and modes Rhythm Harmony Consonance and dissonance Dynamics Texture Form or structure 37

38 0..* Music Concrete Syntax Music in XML Bedir Tekinerdogan Meta-Modeling 75 Metamodel Elements Domain decribes bounded field of interest; Domain can be decomposed into sub-domains Metamodel defines a model for a modeling language. Meta-model describes relevant concepts of domain Metamodel consists of Abstract Syntax and Concrete Syntax Abstract Syntax consists of a definition of the concepts, the relationships that exist between concepts and defines the well-formedness rules that state how the concepts may be legally combined (Static Semantics) Concrete Syntax is the realization of the abstract syntax, and describes how the concepts are represented (textual, visual) Semantics defines the meaning of concepts in Abstract Syntax Formal Model is the program defined using Concrete Syntax Domain subdomain describes relevant concepts of Semantics Meta-Metamodel Meta Model depends on <<instance of>> gets meaning from Abstract Syntax Concrete Syntax specified based on Formal Model Specified based on Static Semantics Bedir Tekinerdogan Meta-Modeling 76 38

39 Example Standard Metamodels UML2 Metamodel CWM Metamodel Java Metamodel AspectJ Metamodel Bedir Tekinerdogan Meta-Modeling 77 UML Metamodel Abstract Syntax Element Link * Relationship Generalization discriminator Comment * qualifier * Attribute initialvalue ModelElement name * specialization importedelement * ownedelement * * {ordered} child parent 2..* AssociationEnd * type connection isnavigable participant specification aggregation * * Association multiplicity 0..1 StructuralFeature multiplicity Operation isabstract Feature visibility GeneralizableElement isroot isleaf isabstract owner BehaviouralFeature specification * * Method body Classifier type 1..* Namespace Package * * Parameter defaultvalue kind * * Model {ordered} Instance * Object Class Interface DataType Subsystem Node * resident Component deploymmentlocation * AssociationClass Primitive Enumeration ProgrammingLanguageType 1..* EnumerationLiteral Bedir Tekinerdogan Meta-Modeling 78 39

40 Organization of UML2 In contrast to UML 1.*, UML 2.* includes not only one but four specification documents. The UML is structured using a metamodeling approach with four layers. The metamodel is again structured into rings Infrastructure Superstructure Extensions (profiles) The Superstructure is structured into a tree of packages in turn. (e.g. Actions, Activities, Common Behaviors, Classes, ) Bedir Tekinerdogan Meta-Modeling 79 Model and Metamodel - Example Class UML metamodel <<instanceof>> Association <<instanceof>> model +employer Person 0..n Company Bedir Tekinerdogan Meta-Modeling 80 40

41 Metamodel Abstract Syntax UML2 Metamodel for Use Cases Bedir Tekinerdogan Meta-Modeling 81 Model and Metamodel - Example UML Meta-Model of Use-Cases inherits 1.. * extends actor usecase 0..1 participates 0..* case +name +title includes system +name ATM UML Model: Use-Case Diagram withdraw deposit Bedir Tekinerdogan Meta-Modeling 82 41

42 Software Process Metamodeling Software Process Engineering Model (SPEM) Standardized way of expressing any software development process Vendor, framework, methodology neutral The SPEM is a metamodel for defining processes and their components. A tool based on SPEM would be a tool for process authoring and customizing. Defines the minimal set of process modeling elements necessary to describe any software development process, without adding specific models or constraints for any specific area or discipline, such as project management or analysis. Bedir Tekinerdogan Meta-Modeling 83 SPEM Metamodel - Concepts Basic Elements (External Description, Guidance) Dependencies (Categorizes, Impacts, Import, Precedes, RefersTo, Trace) Process Structure (WorkProduct, WorkDefinition, Activity, Step, ProcessRole) Process Components (Package, ProcessComponent, Process, Discipline) Process Lifecycle (Lifecycle, Phase, Iteration, Precondition, Goal) Bedir Tekinerdogan Meta-Modeling 84 42

43 Process Metamodel Abstract Syntax Bedir Tekinerdogan Meta-Modeling 85 Process Metamodel Concrete Syntax Bedir Tekinerdogan Meta-Modeling 86 43

44 Process Metamodel Concrete Syntax Bedir Tekinerdogan Meta-Modeling 87 Common Warehouse Metamodel (CWM) OMG s data warehouse standard A data warehouse is a repository of an organization's electronically stored data. Designed to facilitate reporting and analysis Enable easy interchange of warehouse and business intelligence metadata between warehouse tools warehouse platforms and metadata repositories in distributed heterogenous environments. Defined using MOF Bedir Tekinerdogan Meta-Modeling 88 44

45 Common Warehouse Metamodel (CWM) Comprised of a number of constituent metamodels representing: Data resources Analysis Warehouse management Foundational components of a typical data warehousing/business intelligence environment Drawn using UML profile for MOF Bedir Tekinerdogan Meta-Modeling 89 Example: The Relational Metamodel /constraint /constrainedelement CheckConstraint {ordered} deferrability : DeferrabilityType * * Column /type SQLDataType * /constrant precision : Integer * typenumber : Integer scale : Integer /structuralfeature 1 ColumnSet 0..1 /feature isnullable : NullableType length : Integer /owner * collationname : String {ordered} charactersetname : String / optionscopecolumnset : NamedColumnSet / referencedtabletype : SQLStructuredType NamedColumnSet / optionscopecolumn : Column / type : SQLStructuredType / usingtrigger : Trigger /constrainedelement QueryColumnSet query : QueryExpression SQLDistinctType length : Integer precision : Integer scale : Integer / sqlsimpletype : SQLSimpleType * {ordered} Table istemporary : Boolean temporaryscope : String / trigger : Trigger issystem : Boolean sqldistincttype * View isreadonly : Boolean checkoption : Boolean queryexpression : QueryExpression SQLSimpleType charactermaximumlength : Integer 1 characteroctetlength : Integer numericprecision : Integer sqlsimpletype numericprecisionradix : Integer numericscale : Integer datetimeprecision : Integer Bedir Tekinerdogan Meta-Modeling 90 45

46 Summary Metamodel Model vs. Metamodel Motivation for Metamodel Software Language Engineering Abstract Syntax vs. Concrete Syntax Static Semantics Semantics Formal Model Standard Metamodels Bedir Tekinerdogan Meta-Modeling 91 Summary Meta-Metamodel Domain describes relevant concepts of Meta Model <<instance of>> Abstract Syntax Specified based on Static Semantics 0..* subdomain depends on Concrete Syntax Semantics gets meaning from specified based on Formal Model Bedir Tekinerdogan Meta-Modeling 92 46

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

Software Language Engineering of Architectural Viewpoints

Software Language Engineering of Architectural Viewpoints Software Language Engineering of Architectural Viewpoints Elif Demirli and Bedir Tekinerdogan Department of Computer Engineering, Bilkent University, Ankara 06800, Turkey {demirli,bedir}@cs.bilkent.edu.tr

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

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

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

Using Model Driven Architecture to Manage Metadata

Using Model Driven Architecture to Manage Metadata Using Model Driven Architecture to Manage Metadata An Architectural Overview of the Meta Object Facility (MOF ) David Frankel Consulting df@davidfrankelconsulting.com www.davidfrankelconsulting.com Adapted

More information

Model-Driven Architecture TM Reality and Implementation

Model-Driven Architecture TM Reality and Implementation Model-Driven Architecture TM Reality and Implementation David S. Frankel Chief Consulting Architect IONA Technologies, Inc. OMG Architecture Board Member david.frankel@iona.com The Sisyphus Syndrome There

More information

Model-Driven Architecture TM and Web Services David S. Frankel Chief Consulting Architect

Model-Driven Architecture TM and Web Services David S. Frankel Chief Consulting Architect Model-Driven Architecture TM and Web Services David S. Frankel Chief Consulting Architect The Sisyphus Syndrome There is no question that if Web services are to take off as smoothly as vendors hope, a

More information

Software Service Engineering

Software Service Engineering Software Service Engineering Lecture 4: Unified Modeling Language Doctor Guangyu Gao Some contents and notes selected from Fowler, M. UML Distilled, 3rd edition. Addison-Wesley Unified Modeling Language

More information

UML Semantics 2. Contents. Section Title. This chapter contains the following sections.

UML Semantics 2. Contents. Section Title. This chapter contains the following sections. UML Semantics 2 Contents This chapter contains the following sections. Section Title Page Part 1 - Background Introduction 2-2 Language Architecture 2-4 Language Formalism 2-7 Part 2 - Foundation Foundation

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

CHAPTER 1. Topic: UML Overview. CHAPTER 1: Topic 1. Topic: UML Overview

CHAPTER 1. Topic: UML Overview. CHAPTER 1: Topic 1. Topic: UML Overview CHAPTER 1 Topic: UML Overview After studying this Chapter, students should be able to: Describe the goals of UML. Analyze the History of UML. Evaluate the use of UML in an area of interest. CHAPTER 1:

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

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

Whole Platform Foundation. The Long Way Toward Language Oriented Programming

Whole Platform Foundation. The Long Way Toward Language Oriented Programming Whole Platform Foundation The Long Way Toward Language Oriented Programming 2008 by Riccardo Solmi made available under the Creative Commons License last updated 22 October 2008 Outline Aim: Engineering

More information

UML Metamodel version September 1997

UML Metamodel version September 1997 UML Metamodel version. September 997 This is the metamodel of the Unified Modeling Language (UML). It describes the constituents of all well-formed models that may be represented in the UML, using the

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

Modeling Requirements

Modeling Requirements Modeling Requirements Critical Embedded Systems Dr. Balázs Polgár Prepared by Budapest University of Technology and Economics Faculty of Electrical Engineering and Informatics Dept. of Measurement and

More information

UNIT II. Syllabus. a. An Overview of the UML: Visualizing, Specifying, Constructing, Documenting

UNIT II. Syllabus. a. An Overview of the UML: Visualizing, Specifying, Constructing, Documenting UNIT II Syllabus Introduction to UML (08 Hrs, 16 Marks) a. An Overview of the UML: Visualizing, Specifying, Constructing, Documenting b. Background, UML Basics c. Introducing UML 2.0 A Conceptual Model

More information

Developing Web-Based Applications Using Model Driven Architecture and Domain Specific Languages

Developing Web-Based Applications Using Model Driven Architecture and Domain Specific Languages Proceedings of the 8 th International Conference on Applied Informatics Eger, Hungary, January 27 30, 2010. Vol. 2. pp. 287 293. Developing Web-Based Applications Using Model Driven Architecture and Domain

More information

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

Metamodeling. 16. April 2012 Real-Time Systems Lab Prof. Dr. Andy Schürr Dr. Gergely Varró 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

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

Ontology-based Model Transformation

Ontology-based Model Transformation Ontology-based Model Transformation Stephan Roser Advisor: Bernhard Bauer Progamming of Distributed Systems Institute of Computer Science, University of Augsburg, Germany [roser,bauer]@informatik.uni-augsburg.de

More information

UML 2.0 State Machines

UML 2.0 State Machines UML 2.0 State Machines Frederic.Mallet@unice.fr Université Nice Sophia Antipolis M1 Formalisms for the functional and temporal analysis With R. de Simone Objectives UML, OMG and MDA Main diagrams in UML

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

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

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

02291: System Integration

02291: System Integration 02291: System Integration Hubert Baumeister hub@imm.dtu.dk Spring 2012 Contents 1 General Information 1 2 Overview 3 3 Introduction to UML 11 4 Summary 16 1 General Information System Integration Type

More information

Spemmet - A Tool for Modeling Software Processes with SPEM

Spemmet - A Tool for Modeling Software Processes with SPEM Spemmet - A Tool for Modeling Software Processes with SPEM Tuomas Mäkilä tuomas.makila@it.utu.fi Antero Järvi antero.jarvi@it.utu.fi Abstract: The software development process has many unique attributes

More information

COSC 3351 Software Design. An Introduction to UML (I)

COSC 3351 Software Design. An Introduction to UML (I) COSC 3351 Software Design An Introduction to UML (I) This lecture contains material from: http://wps.prenhall.com/esm_pfleeger_softengtp_2 http://sunset.usc.edu/classes/cs577a_2000/lectures/05/ec-05.ppt

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

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

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

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

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

Introduction to Software Engineering. 5. Modeling Objects and Classes

Introduction to Software Engineering. 5. Modeling Objects and Classes Introduction to Software Engineering 5. Modeling Objects and Classes Roadmap > UML Overview > Classes, attributes and operations > UML Lines and Arrows > Parameterized Classes, Interfaces and Utilities

More information

Index. business modeling syntax 181 business process modeling 57 business rule 40

Index. business modeling syntax 181 business process modeling 57 business rule 40 OCL.book Page 203 Tuesday, July 22, 2003 9:48 PM Index Symbols OclAny, of 167 = OclAny, of 167 @pre 34, 86, 155 ^ 34, 156 ^^ 157 A abstract syntax 93 accumulator 153 action in statechart 56 activity

More information

Object-Oriented Design

Object-Oriented Design Object-Oriented Design Lecturer: Raman Ramsin Lecture 10: Analysis Packages 1 Analysis Workflow: Packages The analysis workflow consists of the following activities: Architectural analysis Analyze a use

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

Copying Subgraphs within Model Repositories

Copying Subgraphs within Model Repositories Copying Subgraphs within Model Repositories Pieter van Gorp, Hans Schippers, Dirk Janssens April 2, 2006 1 / 37 Contents Languages 2 / 37 Outline Languages 3 / 37 : Model Driven Software Engineering Model

More information

SOFTWARE DESIGN COSC 4353 / Dr. Raj Singh

SOFTWARE DESIGN COSC 4353 / Dr. Raj Singh SOFTWARE DESIGN COSC 4353 / 6353 Dr. Raj Singh UML - History 2 The Unified Modeling Language (UML) is a general purpose modeling language designed to provide a standard way to visualize the design of a

More information

Index. Add Diagram > Sequence Diagram command,

Index. Add Diagram > Sequence Diagram command, Quatrani.book Page 183 Monday, May 8, 2006 11:56 AM Index A abstraction, 3 actions completing before processing, 54 55 data flowing through, 53 passing control between, 51 performing, 155 157 as round-cornered

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

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

Enterprise Architect. User Guide Series. UML Models. Author: Sparx Systems. Date: 30/06/2017. Version: 1.0 CREATED WITH

Enterprise Architect. User Guide Series. UML Models. Author: Sparx Systems. Date: 30/06/2017. Version: 1.0 CREATED WITH Enterprise Architect User Guide Series UML Models Author: Sparx Systems Date: 30/06/2017 Version: 1.0 CREATED WITH Table of Contents UML Models UML Diagrams UML Structural Models Class Diagram Composite

More information

Object-Oriented Theories for Model Driven Architecture

Object-Oriented Theories for Model Driven Architecture Object-Oriented Theories for Model Driven Architecture Tony Clark 1, Andy Evans 2, Robert France 3 1 King s College London, UK, anclark@dcs.kcl.ac.uk, 2 University of York, UK, andye@cs.york.ac.uk, 3 University

More information

OCL Support in MOF Repositories

OCL Support in MOF Repositories OCL Support in MOF Repositories Joachim Hoessler, Michael Soden Department of Computer Science Technical University Berlin hoessler@cs.tu-berlin.de, soden@cs.tu-berlin.de Abstract From metamodels that

More information

Object-Oriented Analysis and Design. Pre-UML Situation. The Unified Modeling Language. Unification Efforts

Object-Oriented Analysis and Design. Pre-UML Situation. The Unified Modeling Language. Unification Efforts Object-Oriented Analysis and Design Analysis vs. Design Analysis Activities Finding the Objects/ Classes An Analysis Example The Unified Modeling Language Pre-UML Situation Early 90s Explosion of OO methods/notations

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

OO Analysis and Design with UML 2 and UP

OO Analysis and Design with UML 2 and UP OO Analysis and Design with UML 2 and UP Dr. Jim Arlow, Zuhlke Engineering Limited Clear View Training 2008 v2.5 1 UML principles Clear View Training 2008 v2.5 2 1.2 What is UML? Unified Modelling Language

More information

Model-Based Social Networking Over Femtocell Environments

Model-Based Social Networking Over Femtocell Environments Proc. of World Cong. on Multimedia and Computer Science Model-Based Social Networking Over Femtocell Environments 1 Hajer Berhouma, 2 Kaouthar Sethom Ben Reguiga 1 ESPRIT, Institute of Engineering, Tunis,

More information

Business Process Modeling. Version 25/10/2012

Business Process Modeling. Version 25/10/2012 Business Process Modeling Version 25/10/2012 Maurizio Morisio, Marco Torchiano, 2012, 2013 3 BP Aspects Process flow Process modeling UML Activity Diagrams BPMN Information Conceptual modeling UML Class

More information

UNIT-II Introduction to UML

UNIT-II Introduction to UML UNIT-II Introduction to UML - P. P. Mahale UML OVERVIEW OF UML :- We need a Modeling Language! We will use the Unified Modeling Language, UML), Provides a standard for artifacts produced during development

More information

Sequence Diagram Generation with Model Transformation Technology

Sequence Diagram Generation with Model Transformation Technology , March 12-14, 2014, Hong Kong Sequence Diagram Generation with Model Transformation Technology Photchana Sawprakhon, Yachai Limpiyakorn Abstract Creating Sequence diagrams with UML tools can be incomplete,

More information

UNIT I. 3. Write a short notes on process view of 4+1 architecture. 4. Why is object-oriented approach superior to procedural approach?

UNIT I. 3. Write a short notes on process view of 4+1 architecture. 4. Why is object-oriented approach superior to procedural approach? Department: Information Technology Questions Bank Class: B.E. (I.T) Prof. Bhujbal Dnyaneshwar K. Subject: Object Oriented Modeling & Design dnyanesh.bhujbal11@gmail.com ------------------------------------------------------------------------------------------------------------

More information

Rich Hilliard 20 February 2011

Rich Hilliard 20 February 2011 Metamodels in 42010 Executive summary: The purpose of this note is to investigate the use of metamodels in IEEE 1471 ISO/IEC 42010. In the present draft, metamodels serve two roles: (1) to describe the

More information

LABORATORY 1 REVISION

LABORATORY 1 REVISION UTCN Computer Science Department Software Design 2012/2013 LABORATORY 1 REVISION ================================================================== I. UML Revision This section focuses on reviewing the

More information

Formal Specification of Software Systems

Formal Specification of Software Systems Formal Specification of Software Systems Lecture Notes Winter Term 2001 / 2002 Heinrich Hußmann Technische Universität Dresden Formal Specification of Software Systems Summary: Construction of large software

More information

Oral Questions. Unit-1 Concepts. Oral Question/Assignment/Gate Question with Answer

Oral Questions. Unit-1 Concepts. Oral Question/Assignment/Gate Question with Answer Unit-1 Concepts Oral Question/Assignment/Gate Question with Answer The Meta-Object Facility (MOF) is an Object Management Group (OMG) standard for model-driven engineering Object Management Group (OMG)

More information

Software Engineering from a

Software Engineering from a Software Engineering from a modeling perspective Robert B. France Dept. of Computer Science Colorado State University USA france@cs.colostate.edu Softwaredevelopment problems Little or no prior planning

More information

Enterprise Architect. User Guide Series. Domain Models

Enterprise Architect. User Guide Series. Domain Models Enterprise Architect User Guide Series Domain Models What support for modeling domains? Sparx Systems Enterprise Architect supports a range of modeling languages, technologies and methods that can be used

More information

Business Process Modeling. Version /10/2017

Business Process Modeling. Version /10/2017 Business Process Modeling Version 1.2.1-16/10/2017 Maurizio Morisio, Marco Torchiano, 2012-2017 3 BP Aspects Process flow Process modeling UML Activity Diagrams BPMN Information Conceptual modeling UML

More information

2 nd UML 2 Semantics Symposium: Formal Semantics for UML

2 nd UML 2 Semantics Symposium: Formal Semantics for UML 2 nd UML 2 Semantics Symposium: Formal Semantics for UML Manfred Broy 1, Michelle L. Crane 2, Juergen Dingel 2, Alan Hartman 3, Bernhard Rumpe 4, and Bran Selic 5 1 Technische Universität München, Germany

More information

Transformational Design with

Transformational Design with Fakultät Informatik, Institut für Software- und Multimediatechnik, Lehrstuhl für Softwaretechnologie Transformational Design with Model-Driven Architecture () Prof. Dr. U. Aßmann Technische Universität

More information

Generalized Document Data Model for Integrating Autonomous Applications

Generalized Document Data Model for Integrating Autonomous Applications 6 th International Conference on Applied Informatics Eger, Hungary, January 27 31, 2004. Generalized Document Data Model for Integrating Autonomous Applications Zsolt Hernáth, Zoltán Vincellér Abstract

More information

Software Engineering

Software Engineering Software Engineering Object-Oriented Analysis and Design and Modeling with UML Assoc. Prof. Marenglen Biba MSc in Computer Science, UoG-UNYT Foundation Programme 3-1 Material Get the material from http://www.marenglenbiba.net/foundprog/

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

OCL for the Specification of Model Transformation Contracts

OCL for the Specification of Model Transformation Contracts OCL for the Specification of Model Transformation Contracts Eric Cariou, Raphaël Marvie, Lionel Seinturier, and Laurence Duchien LIFL - Université des Sciences et Technologies de Lille UMR CNRS 8022 -

More information

INTRODUCING A MULTIVIEW SOFTWARE ARCHITECTURE PROCESS BY EXAMPLE Ahmad K heir 1, Hala Naja 1 and Mourad Oussalah 2

INTRODUCING A MULTIVIEW SOFTWARE ARCHITECTURE PROCESS BY EXAMPLE Ahmad K heir 1, Hala Naja 1 and Mourad Oussalah 2 INTRODUCING A MULTIVIEW SOFTWARE ARCHITECTURE PROCESS BY EXAMPLE Ahmad K heir 1, Hala Naja 1 and Mourad Oussalah 2 1 Faculty of Sciences, Lebanese University 2 LINA Laboratory, University of Nantes ABSTRACT:

More information

Domain-Driven Development with Ontologies and Aspects

Domain-Driven Development with Ontologies and Aspects Domain-Driven Development with Ontologies and Aspects Submitted for Domain-Specific Modeling workshop at OOPSLA 2005 Latest version of this paper can be downloaded from http://phruby.com Pavel Hruby Microsoft

More information

2.0.3 attributes: A named property of a class that describes the range of values that the class or its instances (i.e., objects) may hold.

2.0.3 attributes: A named property of a class that describes the range of values that the class or its instances (i.e., objects) may hold. T0/04-023 revision 2 Date: September 06, 2005 To: T0 Committee (SCSI) From: George Penokie (IBM/Tivoli) Subject: SAM-4: Converting to UML part Overview The current SCSI architecture follows no particular

More information

NOTES ON OBJECT-ORIENTED MODELING AND DESIGN

NOTES ON OBJECT-ORIENTED MODELING AND DESIGN NOTES ON OBJECT-ORIENTED MODELING AND DESIGN Stephen W. Clyde Brigham Young University Provo, UT 86402 Abstract: A review of the Object Modeling Technique (OMT) is presented. OMT is an object-oriented

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

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

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

Software Architectures

Software Architectures Software Architectures Richard N. Taylor Information and Computer Science University of California, Irvine Irvine, California 92697-3425 taylor@ics.uci.edu http://www.ics.uci.edu/~taylor +1-949-824-6429

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

Model Driven Architecture based Testing Tool based on Architecture Views

Model Driven Architecture based Testing Tool based on Architecture Views Model Driven Architecture based Testing Tool based on Architecture Views Burak Uzun and Bedir Tekinerdogan Information Technology Group, Wageningen University, Wageningen, The Netherlands Keywords: Abstract:

More information

Role of Executable UML in MDA. Presented by Shahid Alam

Role of Executable UML in MDA. Presented by Shahid Alam Role of Executable UML in MDA Presented by Shahid Alam salam3@connect.carleton.ca 12/2005 Outline Introduction to MDA Executable UML Does it apply to MDA Model Compilers Conclusion Model Driven Architecture

More information

3rd Lecture Languages for information modeling

3rd Lecture Languages for information modeling 3rd Lecture Languages for information modeling Agenda Languages for information modeling UML UML basic concepts Modeling by UML diagrams CASE tools: concepts, features and objectives CASE toolset architecture

More information

Software Engineering Lab Manual

Software Engineering Lab Manual Kingdom of Saudi Arabia Ministry Education Prince Sattam Bin Abdulaziz University College of Computer Engineering and Sciences Department of Computer Science Software Engineering Lab Manual 1 Background:-

More information

An Introduction to Model Driven Engineering (MDE) Bahman Zamani, Ph.D. bahmanzamani.com

An Introduction to Model Driven Engineering (MDE) Bahman Zamani, Ph.D. bahmanzamani.com An Introduction to Model Driven Engineering (MDE) Bahman Zamani, Ph.D. bahmanzamani.com Department of Software Systems Engineering University of Isfahan Fall 2013 Overview Model & Modeling UML & UML Profile

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

Dresden OCL2 in MOFLON

Dresden OCL2 in MOFLON Dresden OCL2 in MOFLON 10 Jahre Dresden-OCL Workshop Felix Klar Felix.Klar@es.tu-darmstadt.de ES Real-Time Systems Lab Prof. Dr. rer. nat. Andy Schürr Dept. of Electrical Engineering and Information Technology

More information

Science of Computer Programming. Aspect-oriented model-driven skeleton code generation: A graph-based transformation approach

Science of Computer Programming. Aspect-oriented model-driven skeleton code generation: A graph-based transformation approach Science of Computer Programming 75 (2010) 689 725 Contents lists available at ScienceDirect Science of Computer Programming journal homepage: www.elsevier.com/locate/scico Aspect-oriented model-driven

More information

Designing a System Engineering Environment in a structured way

Designing a System Engineering Environment in a structured way Designing a System Engineering Environment in a structured way Anna Todino Ivo Viglietti Bruno Tranchero Leonardo-Finmeccanica Aircraft Division Torino, Italy Copyright held by the authors. Rubén de Juan

More information

Introduction to Software Engineering 10. Software Architecture

Introduction to Software Engineering 10. Software Architecture Introduction to Software Engineering 10. Software Architecture Roadmap > What is Software Architecture? > Coupling and Cohesion > Architectural styles: Layered Client-Server Blackboard, Dataflow,... >

More information

TTool Training. I. Introduction to UML

TTool Training. I. Introduction to UML TTool Training I. Introduction to UML Ludovic Apvrille ludovic.apvrille@telecom-paris.fr Eurecom, Office 223 Ludovic Apvrille TTool Training - 2004. Slide #1 Outline of the Training Introduction to UML

More information

Object-Oriented Software Engineering Practical Software Development using UML and Java

Object-Oriented Software Engineering Practical Software Development using UML and Java Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 5: Modelling with Classes Lecture 5 5.1 What is UML? The Unified Modelling Language is a standard graphical

More information

A (Very) Short Introduction to Model-Driven Development (MDD)

A (Very) Short Introduction to Model-Driven Development (MDD) A (Very) Short Introduction to Model-Driven Development (MDD) (MDD ~ Model-Driven Engineering (MDE)) Introduction to MDD by Jan Pettersen Nytun, UiA, page 1, 4-Aug-11 Content Some background info What

More information

Transforming UML Collaborating Statecharts for Verification and Simulation

Transforming UML Collaborating Statecharts for Verification and Simulation Transforming UML Collaborating Statecharts for Verification and Simulation Patrick O. Bobbie, Yiming Ji, and Lusheng Liang School of Computing and Software Engineering Southern Polytechnic State University

More information

Course 3 7 March

Course 3 7 March Course 3 7 March adiftene@info.uaic.ro 1 From Courses 1, 2 Modeling Modeling Languages Graphic Languages UML History UML Definition UML Diagram Types UML Use Case Diagram Actors Use Case UML Class Diagrams

More information

Unified Modeling Language (UML)

Unified Modeling Language (UML) Unified Modeling Language (UML) Troy Mockenhaupt Chi-Hang ( Alex) Lin Pejman ( PJ ) Yedidsion Overview Definition History Behavior Diagrams Interaction Diagrams Structural Diagrams Tools Effect on Software

More information

Element. ModelElement. GeneralizableElement isroot : Boolean isleaf : Boolean isabstract : Boolean. +type. Method body : ProcedureExpression

Element. ModelElement. GeneralizableElement isroot : Boolean isleaf : Boolean isabstract : Boolean. +type. Method body : ProcedureExpression Element name : Name +constrainedelement.. ElementOwnership visibility : VisibilityKind +ownedelement +stereotypeconstraint Feature ownerscope : ScopeKind visibility : VisibilityKind +feature +namespace

More information

Open Work of Two-Hemisphere Model Transformation Definition into UML Class Diagram in the Context of MDA

Open Work of Two-Hemisphere Model Transformation Definition into UML Class Diagram in the Context of MDA Open Work of Two-Hemisphere Model Transformation Definition into UML Class Diagram in the Context of MDA Oksana Nikiforova and Natalja Pavlova Department of Applied Computer Science, Riga Technical University,

More information

USING BPEL FOR BEHAVIOURAL CONCEPTS IN ODP ENTERPRISE LANGUAGE

USING BPEL FOR BEHAVIOURAL CONCEPTS IN ODP ENTERPRISE LANGUAGE 23 USING BPEL FOR BEHAVIOURAL CONCEPTS IN ODP ENTERPRISE LANGUAGE Youssef Balouki, Mohamed Bouhdadi A Department of Mathematics & Computer Science, University Mohammed V Morocco, MOROCCO email: balouki@cmr.gov.ma

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

SLIDES: Introductory Modeling Example Employing UML and OCL [UML: Unified Modeling Language, OCL:Object Constarint Language]

SLIDES: Introductory Modeling Example Employing UML and OCL [UML: Unified Modeling Language, OCL:Object Constarint Language] Lecture day 2016-04-07 SLIDES: Introductory Modeling Example Employing UML and OCL [UML: Unified Modeling Language, OCL:Object Constarint Language] - System design in an object-oriented way employing USE

More information

Exploiting Visual Languages Generation and UML Meta Modeling to Construct Meta-CASE Workbenches

Exploiting Visual Languages Generation and UML Meta Modeling to Construct Meta-CASE Workbenches Electronic Notes in Theoretical Computer Science 72 No. 3 (2003) URL: http://www.elsevier.nl/locate/entcs/volume72.html 11 pages Exploiting Visual Languages Generation and UML Meta Modeling to Construct

More information

Definition of Information Systems

Definition of Information Systems Information Systems Modeling To provide a foundation for the discussions throughout this book, this chapter begins by defining what is actually meant by the term information system. The focus is on model-driven

More information