member of Meta-Modeling and Modeling Languages Prof. Dr. Knut Hinkelmann Prof. Dr. Knut Hinkelmann Models and Modelling Model A reproduction of the part of reality which contains the essential aspects to be investigated. Modelling Describing and Representing all relevant aspects of a domain in a defined language. Result of modelling is a model. Prof. Dr. Knut Hinkelmann Metamodel and Modeling2 Languages Model in Architecture real object model house architect’s drawing (plan) Prof. Dr. Knut Hinkelmann Metamodel and Modeling Languages 3 Model and Modeling Language in Architecture real object model modeling language (concrete syntax) object types: wall door window house architect’s drawing (plan) Prof. Dr. Knut Hinkelmann Metamodel and Modeling Languages 4 Modelling Language ■ A modelling "language" specifies the building blocks (elements) from which a model can be made. ■ There can be different types of created with Modelling Model modelling languages, depending Language on the kind of model indirect model of ♦ graphical model Reality ♦ textual description ♦ mathematical model ♦ conceptual model ♦ physical model Metamodel and Modeling Languages Prof. Dr. Knut Hinkelmann 5 Modeling Model Language Prof. Dr. Knut Hinkelmann Metamodel and Modeling Languages 6 Model and Meta-Model in Architecture real object model modeling language meta-model (concrete syntax) (abstract syntax) object types: object types: • wall wall • door • window door rules: • a door is adjacent to window a wall on both sides • Windows are on outer walls. house architect’s drawing (plan) Prof. Dr. Knut Hinkelmann Metamodel and Modeling Languages 7 Meta-model A meta-model defines the semantics of the modelling language, i.e. the building blocks that can be used to Meta-model make a model. It defines the direct model of indirect ♦ object types that can be used model of to represent a model ♦ relations between object types created with Modelling Model ♦ attributes of the object types Language model of ♦ rules to combine object types and relations Reality ■ The meta-model is the abstract syntax, the modeling language is the concrete syntax. Metamodel and Modeling Languages Prof. Dr. Knut Hinkelmann 8 Meta Model vs Model Language = Abstract vs. Concrete Syntax Abstract Syntax Concrete Syntax ■ Deep structure of a ■ Surface level of a language. language. ■ What does the expression ■ What are the significant look like? parts of the expression? ■ Example: a sum expression has two operand expressions as its significant parts http://www.cse.chalmers.se/edu/year/2011/course/TIN321/lectures/proglang-02.html Prof. Dr. Knut Hinkelmann Metamodel and Modeling Languages 9 Metamodel and Modeling Language Metamodel ■ The metamodel is a model of a model. It defines the modeling elements (concepts, relations, constraints) without specifying the layout and notation ■ The metamodel corresponds to the abstract syntax Modeling language ■ The modeling language defines the notation/appearance of the modeling elements ■ The modeling language corresponds to the concrete syntax Prof. Dr. Knut Hinkelmann Metamodel and Modeling Languages 10 Illustration: Meta-model and Model for Processes Metamodel: Model: Abstract syntax: Concepts which can be used to create models. Example: A process model consists of concepts for Modeling • «task», «subprocess», Language: «event», «gateway», Concrete syntax: «data object» Notation/appearance of • «sequence flow», A model contains instances of the «data association». meta-model elements object types defined in the meta- The elements have model, according to the concrete attributes and there are task syntax of the modeling language. rules how the elements subprocess The object „confirm order“ can be combined. represents a real entity; it is an event instance of the object type «task" gateway data object sequence flow data association Prof. Dr. Knut Hinkelmann Metamodel and Modeling Languages 11 Components of Modeling Methods A Modeling Language is Part of a Modeling Modeling A Modeling Language consists of the Metamodel (Syntax and Semantics) and the Notation Metamodel Concrete (Karagiannis & Kühn 2002) Syntax Prof. Dr. Knut Hinkelmann Metamodel and Modeling Languages 12 Meta Model Hierarchy The meta-model must again be described in some language, which has to be specified in a meta-meta-model Language Level Models Language Name created with Meta2-Modelling Level 3 Meta2-Model Language indirect direct model of model of Level 2 Metamodel created with Metamodelling Language indirect direct model of model of created with Modelling Level 1 Model Language model of Reality Karagiannis, D. & Kühn, H., 2002. Metamodelling Platforms. In K. Bauknecht, A. Min Tjoa, & G. Quirchmayer, eds. Proceedings of the Third International Conference EC-Web at DEXA 2002. Berlin: Springer-Verlag. Prof. Dr. Knut Hinkelmann Metamodel and Modeling Languages 13 The Model Stack describes ■ A model is a simplified M3: meta-meta-model representation of a reality ■ A meta-model defines a describes instance of modeling language in which a M2: meta-model model can be expressed. ■ A meta-meta model defines the describes instance of language in which a meta- M1: model model can be expressed. describes instance of M0: Reality Prof. Dr. Knut Hinkelmann Metamodel and Modeling Languages 14 Domain-specific vs. General-purpose Modeling Languages ■ Domain-specific languages are notations which are defined to model knowledge about a specific domain ■ General-purpose modeling languages can be used to represent any kind of knowledge Prof. Dr. Knut Hinkelmann Metamodel and Modeling Languages 15 Domain-specific Modeling Languages ■ Domain-specific modeling languages have modeling elements for typical concepts and relations of a domain of discourse ♦ Predefined classes, relations and constraints ♦ Specific shapes for modeling elements and relations ■ Modeling means to create instances of theses classes and relations Prof. Dr. Knut Hinkelmann Metamodel and Modeling Languages 16 Domain-specific Modeling Languages ■ Domain-specific modeling languages correspond to model kinds which have modeling elements for concepts and relations to represent specific views ■ Examples of domain-specific modeling languages: ♦ BPMN is a domain-specific language for business processes ● Modeling elements: task, event, gateway, …. ● relations: sequence flow, message flow, data association, … ♦ ArchiMate is a domain-specific language for enterprise architectures ● Modeling elements: process, actor, role, business object, … ● relations: uses, realizes, … ♦ BMM is a domain-specific language for business motivation ● Modeling elements: vision, mission, goal, strategy, influencer, … ● relations: judges, channels efforts, … Prof. Dr. Knut Hinkelmann Metamodel and Modeling Languages 17 A Business Process Model and Metamodel Modeling Language Flow object event subclass of activity gateway subclass of data object subclass of subclass of instance of start event end event task subprocess instance of instance of instance of instance of instance of instance of order ship procure goods on order processed confirmation confirm goods goods stock? arrived triggers order has name output "Confirm order" Model Prof. Dr. Knut Hinkelmann Metamodel and Modeling Languages 18 Metamodels can be defined as Class Diagrams To model a metamodel one can use (a subset of) UML class diagrams (UML Class diagrams where originally designed for modeling in object-oriented programming. This is why they contain operations and other features, which are not relevant for most modeling languages) Prof. Dr. Knut Hinkelmann Metamodel and Modeling Languages 19 A Domain-specific Metamodel for Processes Meta-model: • Classes and relations that can Model: be used for modeling • Abstract syntax and semantics Modeling Language: Concrete Syntax (notation, appearance) of meta-model A model contains instances of the elements object types defined in the meta- model, according to the concrete task Example: A process model syntax of the modeling language. consists of object types for The object „confirm order“ • «task», «subprocess», subprocess represents a real entity; it is an «event», «gateway», event «data object» instance of the object type «task" • «sequence flow», gateway «data association». The elements have data object attributes and there are rules how the elements sequence flow can be combined. data association Prof. Dr. Knut Hinkelmann Metamodel and Modeling Languages 20 Subset of the BPMN Metamodel in UML Source: BPMN 2.0 specification Prof. Dr. Knut Hinkelmann Metamodel and Modeling Languages 21 Strengths and Weaknesses of Domain Modeling Languages ■ Strengths ♦ Comprehensiblity of models ● elements and relations are adequate for stakeholders ● domain-specific shapes ♦ Reuse of models ● domain-language can be standardized (e.g. BPMN, ArchiMate) ■ Weaknesses ♦ Restricted to a specific domain ● Only what can be expressed with the modeling elements can be modeled Prof. Dr. Knut Hinkelmann Metamodel and Modeling Languages 22 What do we do if there is no Domain-specific Modelling Language ■ If there is no domain-specific modelling language for a domain of interest, we have two options 1. Define a new domain-specific modelling language ● meta model ● modeling language 2. Use a general-purpose modeling language Prof. Dr. Knut Hinkelmann Metamodel and Modeling Languages 23 General-purpose Modeling Languages ■ General-purpose modeling languages can be used to represent any kind of knowledge ■ They can be used, if no domain-specific modeling language is available (for a view)
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages31 Page
-
File Size-