an introduction to conceptual modeling

69
DISTRIBUTED REAL TIME CYBER PHYSICAL SYSTEMS Slide 1 Chapter 2 Conceptual Modeling An introduction to Conceptual Modeling Dipartimento di Matematica e Informatica, Universita’ di Firenze [email protected]

Upload: others

Post on 22-Feb-2022

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: An introduction to Conceptual Modeling

DISTRIBUTED REAL TIME CYBER PHYSICAL SYSTEMS

Slide 1

Chapter 2 Conceptual Modeling

An introduction to Conceptual

Modeling

Dipartimento di Matematica e Informatica, Universita’ di Firenze

[email protected]

Page 2: An introduction to Conceptual Modeling

DISTRIBUTED REAL TIME CYBER PHYSICAL SYSTEMS

Slide 2

Chapter 2 Conceptual Modeling

Outline

Short history of modeling

Modeling in Computer Science

Types of Modeling in Computer Science

What is Conceptual Modeling?

Breif history of modeling languages

Conceptual modeling languages

What is a metamodel?

Meta-Modeling and the OMG Meta Object Facility (MOF)

Page 3: An introduction to Conceptual Modeling

DISTRIBUTED REAL TIME CYBER PHYSICAL SYSTEMS

Slide 3

Chapter 2 Conceptual Modeling

Short history of modeling

Pre – information age • Humans used symbols to model their

environment since thousands of years.

• Then, they start to model in science and engineering areas.

• But their models were limited by the size of the medium on which they were represented.

Magura cave – Bulgaria 6th– 8th century BC

Leonardo da Vinci 15th – 16th century

Page 4: An introduction to Conceptual Modeling

DISTRIBUTED REAL TIME CYBER PHYSICAL SYSTEMS

Slide 4

Chapter 2 Conceptual Modeling

Short history of modeling

Pre – information age • Humans used symbols to model their

environment since thousands of years.

• Then, they start to model in science and engineering areas.

• But their models were limited by the size of the medium on which they were represented.

Information age • Almost no limits anymore. More specifically, the

limits of models and modeling were defined by the capabilities of the machines on which they were developed and presented.

Page 5: An introduction to Conceptual Modeling

DISTRIBUTED REAL TIME CYBER PHYSICAL SYSTEMS

Slide 5

Chapter 2 Conceptual Modeling

Modeling in Computer Science

Software Engineering: system modeling (model-driven architectures (MDA) and model-driven engineering (MDE)): • Architecture and requirements models (e.g., Object Oriented diagrams, Goal

models, UML, SysML, etc.);

• Software/business process modes (e.g., Business Process Model and Notation (BPMN), Petri-nets, statecharts, etc.).

Modeling in the main areas of Computer Science:

Databases: semantic [data] models (e.g., ER, EER) to design databases;

Artificial Intelligence (AI): knowledge representation depending on Description Logics (DL), semantic networks, ontologies, etc. to build knowledge bases;

Page 6: An introduction to Conceptual Modeling

DISTRIBUTED REAL TIME CYBER PHYSICAL SYSTEMS

Slide 6

Chapter 2 Conceptual Modeling

Modeling in Computer Science

Software Engineering: system modeling (model-driven architectures (MDA) and model-driven engineering (MDE)): • Architecture and requirements models (e.g., Object Oriented diagrams, Goal

models, UML, SysML, etc.);

• Software/business process modes (e.g., Business Process Model and Notation (BPMN), Petri-nets, statecharts, etc.).

Modeling in the main areas of Computer Science:

Databases: semantic [data] models (e.g., ER, EER) to design databases;

Artificial Intelligence (AI): knowledge representation depending on Description Logics (DL), semantic networks, ontologies, etc. to build knowledge bases;

Page 7: An introduction to Conceptual Modeling

DISTRIBUTED REAL TIME CYBER PHYSICAL SYSTEMS

Slide 7

Chapter 2 Conceptual Modeling

Modeling in Computer Science

Software Engineering: people (usually, system stockholders) use the resulting diagrams/models for communicating and exchanging knowledge among one another.

Modeling use in main areas of Computer Science:

Databases: people use semantic [data] models to facilitate the structuring of large amounts of data;

Artificial Intelligence (AI): [expert] systems use knowledge bases to infer new knowledge, and/or perform complex [intelligent] tasks;

Page 8: An introduction to Conceptual Modeling

DISTRIBUTED REAL TIME CYBER PHYSICAL SYSTEMS

Slide 8

Chapter 2 Conceptual Modeling

Modeling in Computer Science

Is there any implications of the different uses of models?

Page 9: An introduction to Conceptual Modeling

DISTRIBUTED REAL TIME CYBER PHYSICAL SYSTEMS

Slide 9

Chapter 2 Conceptual Modeling

Modeling in Computer Science

Is there any implications of the different uses of models? Yes

Page 10: An introduction to Conceptual Modeling

DISTRIBUTED REAL TIME CYBER PHYSICAL SYSTEMS

Slide 10

Chapter 2 Conceptual Modeling

Modeling in Computer Science

Is there any implications of the different uses of models? Yes

Level of formality of language, formal, semi-formal, informal e.g., if people use the language can be semi-formal or even informal; for expert systems (AI) the language should be formal.

Types of knowledge to be captured,

for SE and Databases knowledge related to the domain;

for AI, knowledge related to the task.

Level of completeness of the models

for SE and Databases coverage can be incomplete;

for AI, coverage has to be, more or less, complete.

Page 11: An introduction to Conceptual Modeling

DISTRIBUTED REAL TIME CYBER PHYSICAL SYSTEMS

Slide 11

Chapter 2 Conceptual Modeling

Modeling in Computer Science

Is there any implications of the different uses of models? Yes

Level of formality of language, formal, semi-formal, informal e.g., if people use the language can be semi-formal or even informal; for expert systems (AI) the language should be formal.

Types of knowledge to be captured,

for SE and Databases knowledge related to the domain;

for AI, knowledge related to the task.

Level of completeness of the models

for SE and Databases coverage can be incomplete;

for AI, coverage has to be, more or less, complete.

Page 12: An introduction to Conceptual Modeling

DISTRIBUTED REAL TIME CYBER PHYSICAL SYSTEMS

Slide 12

Chapter 2 Conceptual Modeling

Types of Models in Computer Science

Physical models use specific and less generic machine-oriented terms/concepts (e.g., columns, keys, data types, validation rules, database triggers, procedures, access constraints)

Logical models use specific [business-oriented] terms/concepts (e.g., entities (tables), attributes (columns/fields) and relationships (keys)).

Conceptual models use high-level non-technical terms/concepts (e.g., almost every thing you can imagine).

Page 13: An introduction to Conceptual Modeling

DISTRIBUTED REAL TIME CYBER PHYSICAL SYSTEMS

Slide 13

Chapter 2 Conceptual Modeling

Types of Models in Computer Science

Physical models use specific and less generic machine-oriented terms/concepts (e.g., columns, keys, data types, validation rules, database triggers, procedures, access constraints)

Logical models use specific [business-oriented] terms/concepts (e.g., entities (tables), attributes (columns/fields) and relationships (keys)).

Conceptual models use high-level non-technical terms/concepts (e.g., almost every thing you can imagine).

Page 14: An introduction to Conceptual Modeling

DISTRIBUTED REAL TIME CYBER PHYSICAL SYSTEMS

Slide 14

Chapter 2 Conceptual Modeling

What is Conceptual Modeling?

• Conceptual model should represent (model ) specific aspects of a specific domain.

Page 15: An introduction to Conceptual Modeling

DISTRIBUTED REAL TIME CYBER PHYSICAL SYSTEMS

Slide 15

Chapter 2 Conceptual Modeling

What is Conceptual Modeling?

• Conceptual model should represent (model ) specific aspects of a specific domain.

Page 16: An introduction to Conceptual Modeling

DISTRIBUTED REAL TIME CYBER PHYSICAL SYSTEMS

Slide 16

Chapter 2 Conceptual Modeling

Brief history of modeling languages

Brief history of modeling languages in Computer Science • In the 60s, limited attempts for modeling the “real world” to extend some

programming language.

• In the 70s , the Entity-Relationship (E-R) model was developed.

• In the 80s, the attempts to extend the software/hardware limited view of system modeling to consider the environment where such system will be implemented have started.

• In the 90s, the Unified Modeling Language (UML) was developed and latter adopted as a standard modeling language by Object Management Group (OMG).

• In 2001, the Systems Modeling Language (SysML) was developed as an extension of a subset of the UML depending on the same UML's profile mechanism.

Page 17: An introduction to Conceptual Modeling

DISTRIBUTED REAL TIME CYBER PHYSICAL SYSTEMS

Slide 17

Chapter 2 Conceptual Modeling

Brief history of modeling languages

Brief history of modeling languages in Computer Science • In the 60s, limited attempts for modeling the “real world” to extend some

programming language.

• In the 70s , the Entity-Relationship (E-R) model was developed.

• In the 80s, the attempts to extend the software/hardware limited view of system modeling to consider the environment where such system will be implemented have started.

• In the 90s, the Unified Modeling Language (UML) was developed and latter adopted as a standard modeling language by Object Management Group (OMG).

• In 2001, the Systems Modeling Language (SysML) was developed as an extension of a subset of the UML depending on the same UML's profile mechanism.

Page 18: An introduction to Conceptual Modeling

DISTRIBUTED REAL TIME CYBER PHYSICAL SYSTEMS

Slide 18

Chapter 2 Conceptual Modeling

“Conceptual” modeling languages

A modeling language is used to express (represent) information/knowledge about a system, domain, etc. in a structured and consistent way relying on a set of rules (language semantics).

A conceptual modeling language includes:

Building blocks (constructs): 1- Primitive Terms, e.g., classes,

stereotypes, association, etc. and 2- Abstraction Mechanisms, e.g., Generalization, Aggregation.

Semantics: constraints on the use of building blocks of the model (e.g., OCL).

Page 19: An introduction to Conceptual Modeling

DISTRIBUTED REAL TIME CYBER PHYSICAL SYSTEMS

Slide 19

Chapter 2 Conceptual Modeling

“Conceptual” modeling languages

A modeling language is used to express (represent) information/knowledge about a system, domain, etc. in a structured and consistent way relying on a set of rules (language semantics).

A conceptual modeling language includes:

Building blocks (constructs): 1- Primitive Terms, e.g., classes,

stereotypes, association, etc. and 2- Abstraction Mechanisms, e.g., Generalization, Aggregation.

Semantics: constraints on the use of building blocks of the model (e.g., OCL).

Tools can be used for creating, managing, and “validating” a model.

Page 20: An introduction to Conceptual Modeling

DISTRIBUTED REAL TIME CYBER PHYSICAL SYSTEMS

Slide 20

Chapter 2 Conceptual Modeling

Conceptualization the Simpsons family

Page 21: An introduction to Conceptual Modeling

DISTRIBUTED REAL TIME CYBER PHYSICAL SYSTEMS

Slide 21

Chapter 2 Conceptual Modeling

Conceptualization the Simpsons family

Page 22: An introduction to Conceptual Modeling

DISTRIBUTED REAL TIME CYBER PHYSICAL SYSTEMS

Slide 22

Chapter 2 Conceptual Modeling

Conceptualization the Simpsons family

Page 23: An introduction to Conceptual Modeling

DISTRIBUTED REAL TIME CYBER PHYSICAL SYSTEMS

Slide 23

Chapter 2 Conceptual Modeling

Conceptualization the Simpsons family

Page 24: An introduction to Conceptual Modeling

DISTRIBUTED REAL TIME CYBER PHYSICAL SYSTEMS

Slide 24

Chapter 2 Conceptual Modeling

Conceptualization the Simpsons family

Page 25: An introduction to Conceptual Modeling

DISTRIBUTED REAL TIME CYBER PHYSICAL SYSTEMS

Slide 25

Chapter 2 Conceptual Modeling

Conceptualization the Simpsons family

But how can we use these “concepts” and “relationships” to model other families?

Page 26: An introduction to Conceptual Modeling

DISTRIBUTED REAL TIME CYBER PHYSICAL SYSTEMS

Slide 26

Chapter 2 Conceptual Modeling

What is a metamodel?

In Computer Science, the term is used heavily and with several different meanings: • In Databases, a metadata means “data about data”;

• In Conceptual Modeling, a metamodel means a ”model of a data model”.

One of the most fundamental task for developing a modeling language is defining its metamodel .

Page 27: An introduction to Conceptual Modeling

DISTRIBUTED REAL TIME CYBER PHYSICAL SYSTEMS

Slide 27

Chapter 2 Conceptual Modeling

What is a metamodel?

In Computer Science, the term is used heavily and with several different meanings: • In Databases, a metadata means “data about data”;

• In Conceptual Modeling, a metamodel means a ”model of a data model”.

One of the most fundamental task for developing a modeling language is defining its metamodel . WHY

Page 28: An introduction to Conceptual Modeling

DISTRIBUTED REAL TIME CYBER PHYSICAL SYSTEMS

Slide 28

Chapter 2 Conceptual Modeling

What is a metamodel?

In Computer Science, the term is used heavily and with several different meanings: • In Databases, a metadata means “data about data”;

• In Conceptual Modeling, a metamodel means a ”model of a data model”.

One of the most fundamental task for developing a modeling language is defining its metamodel . WHY

A metamodel defines the key concepts of a modeling language as well as various relationships among these concepts.

Page 29: An introduction to Conceptual Modeling

DISTRIBUTED REAL TIME CYBER PHYSICAL SYSTEMS

Slide 29

Chapter 2 Conceptual Modeling

Designing a metamodel for a language to describe a family

Page 30: An introduction to Conceptual Modeling

DISTRIBUTED REAL TIME CYBER PHYSICAL SYSTEMS

Slide 30

Chapter 2 Conceptual Modeling

Designing a metamodel for a language to describe a family

Page 31: An introduction to Conceptual Modeling

DISTRIBUTED REAL TIME CYBER PHYSICAL SYSTEMS

Slide 31

Chapter 2 Conceptual Modeling

Designing a metamodel for a language to describe a family

Page 32: An introduction to Conceptual Modeling

DISTRIBUTED REAL TIME CYBER PHYSICAL SYSTEMS

Slide 32

Chapter 2 Conceptual Modeling

Designing a metamodel for a language to describe a family

Page 33: An introduction to Conceptual Modeling

DISTRIBUTED REAL TIME CYBER PHYSICAL SYSTEMS

Slide 33

Chapter 2 Conceptual Modeling

Designing a metamodel for a language to describe a family

Page 34: An introduction to Conceptual Modeling

DISTRIBUTED REAL TIME CYBER PHYSICAL SYSTEMS

Slide 34

Chapter 2 Conceptual Modeling

Designing a metamodel for a language to describe a family

Page 35: An introduction to Conceptual Modeling

DISTRIBUTED REAL TIME CYBER PHYSICAL SYSTEMS

Slide 35

Chapter 2 Conceptual Modeling

Designing a metamodel for a language to describe a family

Page 36: An introduction to Conceptual Modeling

DISTRIBUTED REAL TIME CYBER PHYSICAL SYSTEMS

Slide 36

Chapter 2 Conceptual Modeling

Designing a metamodel for a language to describe a family

Page 37: An introduction to Conceptual Modeling

DISTRIBUTED REAL TIME CYBER PHYSICAL SYSTEMS

Slide 37

Chapter 2 Conceptual Modeling

Designing a metamodel for a language to describe a family

Page 38: An introduction to Conceptual Modeling

DISTRIBUTED REAL TIME CYBER PHYSICAL SYSTEMS

Slide 38

Chapter 2 Conceptual Modeling

Designing a metamodel for a language to describe a family

Page 39: An introduction to Conceptual Modeling

DISTRIBUTED REAL TIME CYBER PHYSICAL SYSTEMS

Slide 39

Chapter 2 Conceptual Modeling

Designing a metamodel for a language to describe a family

Page 40: An introduction to Conceptual Modeling

DISTRIBUTED REAL TIME CYBER PHYSICAL SYSTEMS

Slide 40

Chapter 2 Conceptual Modeling

Designing a metamodel for a language to describe a family

Page 41: An introduction to Conceptual Modeling

DISTRIBUTED REAL TIME CYBER PHYSICAL SYSTEMS

Slide 41

Chapter 2 Conceptual Modeling

Designing a metamodel for a language to describe a family

Page 42: An introduction to Conceptual Modeling

DISTRIBUTED REAL TIME CYBER PHYSICAL SYSTEMS

Slide 42

Chapter 2 Conceptual Modeling

Designing a metamodel for a language to describe a family

Page 43: An introduction to Conceptual Modeling

DISTRIBUTED REAL TIME CYBER PHYSICAL SYSTEMS

Slide 43

Chapter 2 Conceptual Modeling

Designing a metamodel for a language to describe a family

Page 44: An introduction to Conceptual Modeling

DISTRIBUTED REAL TIME CYBER PHYSICAL SYSTEMS

Slide 44

Chapter 2 Conceptual Modeling

Designing a metamodel for a language to describe a family

Page 45: An introduction to Conceptual Modeling

DISTRIBUTED REAL TIME CYBER PHYSICAL SYSTEMS

Slide 45

Chapter 2 Conceptual Modeling

Designing a metamodel for a language to describe a family

Page 46: An introduction to Conceptual Modeling

DISTRIBUTED REAL TIME CYBER PHYSICAL SYSTEMS

Slide 46

Chapter 2 Conceptual Modeling

Designing a metamodel for a language to describe a family

Page 47: An introduction to Conceptual Modeling

DISTRIBUTED REAL TIME CYBER PHYSICAL SYSTEMS

Slide 47

Chapter 2 Conceptual Modeling

Designing a metamodel for a language to describe a family

Page 48: An introduction to Conceptual Modeling

DISTRIBUTED REAL TIME CYBER PHYSICAL SYSTEMS

Slide 48

Chapter 2 Conceptual Modeling

Designing a metamodel for a language to describe a family

Page 49: An introduction to Conceptual Modeling

DISTRIBUTED REAL TIME CYBER PHYSICAL SYSTEMS

Slide 49

Chapter 2 Conceptual Modeling

Designing a metamodel for a language to describe a family

Page 50: An introduction to Conceptual Modeling

DISTRIBUTED REAL TIME CYBER PHYSICAL SYSTEMS

Slide 50

Chapter 2 Conceptual Modeling

Designing a metamodel for a language to describe a family

Page 51: An introduction to Conceptual Modeling

DISTRIBUTED REAL TIME CYBER PHYSICAL SYSTEMS

Slide 51

Chapter 2 Conceptual Modeling

The quality of a metamodel

Page 52: An introduction to Conceptual Modeling

DISTRIBUTED REAL TIME CYBER PHYSICAL SYSTEMS

Slide 52

Chapter 2 Conceptual Modeling

Designing a metamodel for CPSoS

System-of-Systems (SoS) is an integration of a finite number of Constituent Systems (CS) which are independent and operable, and which are networked together for a period of time to achieve a certain higher goal.

Page 53: An introduction to Conceptual Modeling

DISTRIBUTED REAL TIME CYBER PHYSICAL SYSTEMS

Slide 53

Chapter 2 Conceptual Modeling

Designing a metamodel for CPSoS

System-of-Systems (SoS) is an integration of a finite number of Constituent Systems (CS) which are independent and operable, and which are networked together for a period of time to achieve a certain higher goal.

A SoS integrates CSs.

Page 54: An introduction to Conceptual Modeling

DISTRIBUTED REAL TIME CYBER PHYSICAL SYSTEMS

Slide 54

Chapter 2 Conceptual Modeling

Designing a metamodel for CPSoS

Page 55: An introduction to Conceptual Modeling

DISTRIBUTED REAL TIME CYBER PHYSICAL SYSTEMS

Slide 55

Chapter 2 Conceptual Modeling

Designing a metamodel for CPSoS

Page 56: An introduction to Conceptual Modeling

DISTRIBUTED REAL TIME CYBER PHYSICAL SYSTEMS

Slide 56

Chapter 2 Conceptual Modeling

Designing a metamodel for CPSoS

System-of-Systems (SoS) is an integration of a finite number of Constituent Systems (CS) which are independent and operable, and which are networked together for a period of time to achieve a certain higher goal.

A SoS integrates CSs.

A Constituent System (CS): A system consisting of a computer system (the cyber system), a controlled object (a physical system) and possibly of interacting humans

Page 57: An introduction to Conceptual Modeling

DISTRIBUTED REAL TIME CYBER PHYSICAL SYSTEMS

Slide 57

Chapter 2 Conceptual Modeling

Designing a metamodel for CPSoS

Page 58: An introduction to Conceptual Modeling

DISTRIBUTED REAL TIME CYBER PHYSICAL SYSTEMS

Slide 58

Chapter 2 Conceptual Modeling

Designing a metamodel for CPSoS

System-of-Systems (SoS) is an integration of a finite number of Constituent Systems (CS) which are independent and operable, and which are networked together for a period of time to achieve a certain higher goal.

A SoS integrates CSs.

A SoS can be: • Directed SoS: An SoS with a central managed purpose and central ownership of all CSs. An example would

be the set of control systems in an unmanned rocket.

• Acknowledged SoS: Independent ownership of the CSs, but cooperative agreements among the owners to an aligned purpose.

• Collaborative SoS: Voluntary interactions of independent CSs to achieve a goal that is beneficial to the individual CS.

• Virtual SoS: Lack of central purpose and central alignment.

A Constituent System (CS): A system consisting of a computer system (the cyber system), a controlled object (a physical system) and possibly of interacting humans

Page 59: An introduction to Conceptual Modeling

DISTRIBUTED REAL TIME CYBER PHYSICAL SYSTEMS

Slide 59

Chapter 2 Conceptual Modeling

Designing a metamodel for CPSoS

Page 60: An introduction to Conceptual Modeling

DISTRIBUTED REAL TIME CYBER PHYSICAL SYSTEMS

Slide 60

Chapter 2 Conceptual Modeling

Designing a metamodel for CPSoS

Each CS has an interface , where the services are offered to other CSs, namely:

Relied upon Interface (RUI): An interface of a CS where the services of the CS are offered to other CSs.

RUI is composed of :

Relied upon Physical Interface (RUPI):

Relied upon Message Interface (RUMI):

Page 61: An introduction to Conceptual Modeling

DISTRIBUTED REAL TIME CYBER PHYSICAL SYSTEMS

Slide 61

Chapter 2 Conceptual Modeling

Designing a metamodel for CPSoS

Page 62: An introduction to Conceptual Modeling

DISTRIBUTED REAL TIME CYBER PHYSICAL SYSTEMS

Slide 62

Chapter 2 Conceptual Modeling

Designing a metamodel for CPSoS

Relied upon Physical Interface (RUPI): A physical interface where things or energy are exchanged among the CSs of an SoS.

Relied upon Message Interface (RUMI): A message interface where the services of a CS are offered to the other CSs of an SoS.

Each CS has an interface , where the services are offered to other CSs, namely:

Relied upon Interface (RUI): An interface of a CS where the services of the CS are offered to other CSs.

RUI is composed of :

Page 63: An introduction to Conceptual Modeling

DISTRIBUTED REAL TIME CYBER PHYSICAL SYSTEMS

Slide 63

Chapter 2 Conceptual Modeling

Designing a metamodel for CPSoS

Not UML

Page 64: An introduction to Conceptual Modeling

DISTRIBUTED REAL TIME CYBER PHYSICAL SYSTEMS

Slide 64

Chapter 2 Conceptual Modeling

Meta-Modeling and the OMG Meta Object Facility (MOF)

MOF is an OMG standard for modeling languages • It is a model of metamodels (a meta-metamodel).

• All UML modelling concepts can be represented within the MOF.

• UML modelling concepts are defined as “metaclasses”, i.e., metaclasses themselves are instance objects of MOF classes.

The MOF has a 4-layer architecture: M0, M1, M2, and M3.

Page 65: An introduction to Conceptual Modeling

DISTRIBUTED REAL TIME CYBER PHYSICAL SYSTEMS

Slide 65

Chapter 2 Conceptual Modeling

Meta-Modeling and the OMG Meta Object Facility (MOF) - M0

Layer M0 defines an actual system. • Instances and/or

executing instances

• E.g., component instances, customer objects.

Page 66: An introduction to Conceptual Modeling

DISTRIBUTED REAL TIME CYBER PHYSICAL SYSTEMS

Slide 66

Chapter 2 Conceptual Modeling

Meta-Modeling and the OMG Meta Object Facility (MOF) - M1

Layer M1 is a system model. • Defines the types of

entities and relationships that make up a system

• E.g., a UML class model.

Every element of M0 is an instance of M1

Page 67: An introduction to Conceptual Modeling

DISTRIBUTED REAL TIME CYBER PHYSICAL SYSTEMS

Slide 67

Chapter 2 Conceptual Modeling

Meta-Modeling and the OMG Meta Object Facility (MOF) – M2

Layer M2 defines the metamodel in M1 • E.g., language used to

make models in M1 defined by a model in M2.

Every element of M1 is an instance of M2

Page 68: An introduction to Conceptual Modeling

DISTRIBUTED REAL TIME CYBER PHYSICAL SYSTEMS

Slide 68

Chapter 2 Conceptual Modeling

Meta-Modeling and the OMG Meta Object Facility (MOF) – M3

Layer M3 defines the model of metamodels in M2 (the meta-metamodel).

The metaclasses of M2 are instances of M3 classes.

M3 classes are called MOF classes.

Page 69: An introduction to Conceptual Modeling

DISTRIBUTED REAL TIME CYBER PHYSICAL SYSTEMS

Slide 69

Chapter 2 Conceptual Modeling

Selected References for Reading

[1] Sprinkle, Jonathan, et al. 3. Metamodelling." Model-Based Engineering of Embedded Real-Time Systems. Springer, Berlin, Heidelberg, 2010. 57-76.

[2] Schichl, Hermann. "Models and the history of modeling." Modeling languages in mathematical optimization. Springer, Boston, MA, 2004. 25-36.

[3] OMG. 2001. OMG Unified Modeling Language specification, version 1.4. OMG document ad/00-11-01.