48
The Role of Foundational Ontologies in Deep Modeling Colin Atkinson MODELSWARD 2014 Keynote Lecture January 8th, 2014 Software Engineering Group

1. Find out why software engineering is important see some … · 2016-07-21 · 1 Software Engineering Prof. Dr. Colin Atkinson 1 Overview 1. Find out why software engineering is

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 1. Find out why software engineering is important see some … · 2016-07-21 · 1 Software Engineering Prof. Dr. Colin Atkinson 1 Overview 1. Find out why software engineering is

1

Software EngineeringProf. Dr. Colin Atkinson 1

Overview

1. Find out why software engineering is important

■ see some software engineering failures

2. Get acquainted with –

■ the Chair of Software Engineering

■ the research

■ the people

■ the teaching

The Role of Foundational Ontologies in Deep Modeling

Colin Atkinson

MODELSWARD 2014 Keynote LectureJanuary 8th, 2014

Software Engineering Group

Page 2: 1. Find out why software engineering is important see some … · 2016-07-21 · 1 Software Engineering Prof. Dr. Colin Atkinson 1 Overview 1. Find out why software engineering is

2

Software EngineeringProf. Dr. Colin Atkinson 2

Modeling Everywhere …

■ Modeling is a now key activity in virtually all IT projects

■ today is performed in may different languages

Wikipedia 2012

■ General-purpose structural languages

■ UML, OWL, ERA, RDF ...

■ General-purpose behavioural languages

■ UML activity diagrams, Petri nets, ...

■ Associated textual languages

■ OCL, ATL, QVT, Xtext

■ Domain specific language

■ ……

Page 3: 1. Find out why software engineering is important see some … · 2016-07-21 · 1 Software Engineering Prof. Dr. Colin Atkinson 1 Overview 1. Find out why software engineering is

3

Software EngineeringProf. Dr. Colin Atkinson 3

Basic Tension in Language Design

■ Since models are used to communicate properties of the real world between humans they should be able to -

■ accurately and unambiguously represent the real world (representational adequacy [GGO5])

■ at any desired level of detail

■ in the simplest and most concise way possible (lucidity, ontological clarity, construct redundancy [GGO5])

■ There is a basic tension between expressive power and simplicity

■ rich, expressive languages often complex and verbose

■ simple, concise languages often lack expressive power

■ Related to the question

■ General-purpose versus domain specific?

Page 4: 1. Find out why software engineering is important see some … · 2016-07-21 · 1 Software Engineering Prof. Dr. Colin Atkinson 1 Overview 1. Find out why software engineering is

4

Software EngineeringProf. Dr. Colin Atkinson 4

UML 1.x Four Layer Model Architecture

M1

M0

M2

M3

(from UML Semantics Version 1.1)

Page 5: 1. Find out why software engineering is important see some … · 2016-07-21 · 1 Software Engineering Prof. Dr. Colin Atkinson 1 Overview 1. Find out why software engineering is

5

Software EngineeringProf. Dr. Colin Atkinson 5

Strict Metamodeling (Classic Definition)

■ every element has exactly one type, except those elements in the top level

■ instance-of relationship used to define levels

■ model elements allocated to levels according to their location in the type hierarchy

In an n-level modeling architecture, M0, M1 … Mn-1, every element of an Mm level model must be an instance-of exactly one element of an Mm+1 level model, for all m<n-1 and any relationship other than the instance-of relationship between two elements X and Y implies that level(X)=level(Y).

Page 6: 1. Find out why software engineering is important see some … · 2016-07-21 · 1 Software Engineering Prof. Dr. Colin Atkinson 1 Overview 1. Find out why software engineering is

6

Software EngineeringProf. Dr. Colin Atkinson 6

UML 2.x Infrastructure

■ M0 level contains thereal-world elements(the subject of themodel)

■ M1 level contains modelrepresentation of typesand instances

■ M2 level containslinguistic types of theM1 elements

■ M3 level contains thelinguistic types of theM2 level concepts

(from UML Infrastructure Specification v2.4.1)

Page 7: 1. Find out why software engineering is important see some … · 2016-07-21 · 1 Software Engineering Prof. Dr. Colin Atkinson 1 Overview 1. Find out why software engineering is

7

Software EngineeringProf. Dr. Colin Atkinson 7

■ X is a power type of Y, if the instances of X are subclasses of Y

■ power types are classes whose instances are also subclasses

■ therefore, according to the strict modeling tenet, powertypesmust be at the M2 level

■ but they are representdomain concepts

■ the isPowerTypeOfrelationship crosses level boundaries

■ occur very frequently in practice

The Powertype Problem

Product ProductType

Video Book

:ProductType

{disjoint, incomplete}

*1

title:String

:Video

title = “2001: A space Odyssey“

Page 8: 1. Find out why software engineering is important see some … · 2016-07-21 · 1 Software Engineering Prof. Dr. Colin Atkinson 1 Overview 1. Find out why software engineering is

8

Software EngineeringProf. Dr. Colin Atkinson 8

Deep Characterization

■ usually a type only describes its instances

■ e.g., every dog has an age

■ sometimes, however, a type needs to define constraints on the properties of the instances of its instances

■ e.g. every instance, of a breed instance, has an age

■ such transitive influences cannot be directly expressed using traditional instanceOf relationships

■ with UML must resort to -

■ constraints

■ powertypes

■ stereotypes

■ ….. Breed

Poodle

Fido

Dog

Breed Poodle Fido

Dog

Page 9: 1. Find out why software engineering is important see some … · 2016-07-21 · 1 Software Engineering Prof. Dr. Colin Atkinson 1 Overview 1. Find out why software engineering is

9

Software EngineeringProf. Dr. Colin Atkinson 9

■ two distinct forms of classification organized in different, dimensions

■ linguistic and ontological

■ Strict (meta)-modeling in each dimension

■ So called “linguistic/ontological metamodeling paradox” [EHA13]

Orthogonal Classification Architecture

ProductType

Metaclass Class ObjectclassifiedBy classifiedBy

OinstanceOfOinstanceOf

LinstanceOf LinstanceOf LinstanceOf

Page 10: 1. Find out why software engineering is important see some … · 2016-07-21 · 1 Software Engineering Prof. Dr. Colin Atkinson 1 Overview 1. Find out why software engineering is

10

Software EngineeringProf. Dr. Colin Atkinson 10

Deep (Multi-Level )Modeling

■ Orthogonal classification architecture

■ Unified class/object model element

■ Clabject

■ Level-agnostic mechanisms for representing “typeness” of clabjects

■ Potency (deep instantiation)

ProductType

Page 11: 1. Find out why software engineering is important see some … · 2016-07-21 · 1 Software Engineering Prof. Dr. Colin Atkinson 1 Overview 1. Find out why software engineering is

11

Software EngineeringProf. Dr. Colin Atkinson 11

Different Views of the Infrastructure

Linguistic (Meta)model

FidoBreed Poodle

Dog

Tool Developer's View

900

Lin

gu

istic (Me

ta)m

od

el

Fid

oB

reed

Po

od

le

Do

g

Modeler's View

Page 12: 1. Find out why software engineering is important see some … · 2016-07-21 · 1 Software Engineering Prof. Dr. Colin Atkinson 1 Overview 1. Find out why software engineering is

12

Software EngineeringProf. Dr. Colin Atkinson 12

Essence of a Deep Linguistic Metamodel

Clabject

Connection Entity

DomainElement

Feature

AttributeMethod

name

potency : Natural durability: Naturalmutability : Natural

Value : StringDatatype : String

transitive : Boolean signature : Stringbody: String

■ abstract syntax for a Level-Agnostic Modeling language (LML)

Page 13: 1. Find out why software engineering is important see some … · 2016-07-21 · 1 Software Engineering Prof. Dr. Colin Atkinson 1 Overview 1. Find out why software engineering is

13

Software EngineeringProf. Dr. Colin Atkinson 13

Classes and Objects

■ In LML classes and objects are unfied into the notion of “clabjects“

■ clabjects can have ontological attributes that play the role of UML attributes / slots

■ ontological attributes must always have a name

■ can also, optionally, have a type and /or a value

Clabject

linguistic Instance Oflinguistic Instance Of

ontological Instance Of

UML LML

Page 14: 1. Find out why software engineering is important see some … · 2016-07-21 · 1 Software Engineering Prof. Dr. Colin Atkinson 1 Overview 1. Find out why software engineering is

14

Software EngineeringProf. Dr. Colin Atkinson 14

employer

employer

Associations and Links

■ Associations / links are also represented by a unified concept in LML – Connections

■ conection are also clabjects

■ can have attributes and particpate in generalizations

■ can be visualized in an exploded or “dotted“ form

Person Company

Mike: Person Apple:Company

employee

0..1

employee

0..1isEmployedBy

isEmployedBy

UMLLML

Page 15: 1. Find out why software engineering is important see some … · 2016-07-21 · 1 Software Engineering Prof. Dr. Colin Atkinson 1 Overview 1. Find out why software engineering is

15

Software EngineeringProf. Dr. Colin Atkinson 15

Generalization

■ Generalizations are another first class citizen of LML

■ can also be view in an exploded or visually “insignificant“ form

■ The name of the generalization usually identifies the discriminant

■ Usual constraints such as disjoint and complete also supported

PersonemploymentStatus

FemalePerson MalePerson

Employeegender

UML LML

Page 16: 1. Find out why software engineering is important see some … · 2016-07-21 · 1 Software Engineering Prof. Dr. Colin Atkinson 1 Overview 1. Find out why software engineering is

16

Software EngineeringProf. Dr. Colin Atkinson 16

Stereotypes

«Clock»AlarmClock

OSVersion = “ 1.1“startOperation = startPOSIXCompliant = True

«Stereotype»Clock

OSVersion : StringstartOperation : OperationPOSIXCompliant :Boolean

«Metaclass»Class

Stereotyped Element

Stereotype

UML LML

■ Stereotypes and stereotyping supported by metamodeling

«Clock»

Page 17: 1. Find out why software engineering is important see some … · 2016-07-21 · 1 Software Engineering Prof. Dr. Colin Atkinson 1 Overview 1. Find out why software engineering is

17

Software EngineeringProf. Dr. Colin Atkinson 17

Powertypes

Account AccountType

CheckingAccount SavingAccount

:AccountType

{disjoint, incomplete}

account* account classifier

1

UML LML

■ LML also provides natural support for powertypes

■ power types are metaclasses whose instances are also subclasses.■ X is a power type of Y, if the

instances of X are subclasses of Y

Page 18: 1. Find out why software engineering is important see some … · 2016-07-21 · 1 Software Engineering Prof. Dr. Colin Atkinson 1 Overview 1. Find out why software engineering is

18

Software EngineeringProf. Dr. Colin Atkinson 18

Deep Instantiation

■ a simple mechanism supporting deep characterization

■ allows feature properties to be exactly specified using the notion of

potency

■ provides a simple but precise definition of instanceOf relationships (principle of application) over multiple classification levels

■ potency takes non-negative integer values

■ an instance of a type always has a potency that is one lowerthan the type

■ although instantiation also lowers the level of a clabject by one,

■ the potency and level of a clabject do not have to be the same

Page 19: 1. Find out why software engineering is important see some … · 2016-07-21 · 1 Software Engineering Prof. Dr. Colin Atkinson 1 Overview 1. Find out why software engineering is

19

Software EngineeringProf. Dr. Colin Atkinson 19

The Power Type Example Revisited

LML

Page 20: 1. Find out why software engineering is important see some … · 2016-07-21 · 1 Software Engineering Prof. Dr. Colin Atkinson 1 Overview 1. Find out why software engineering is

20

Software EngineeringProf. Dr. Colin Atkinson 20

■ E.g UML, Java, XML etc.

■ Lingua Franca

■ less concise and efficient

■ facilitate inter-domain communication

Domain Specific v General Purpose?

BankBank

■ E.g. BPMN, Circuit Diagrams etc

■ optimized for special tasks

■ more concise and efficient

■ “Tower of Babel“ problem

GPLs DSLs

PurchaseOrder

shipTo : StringbillTo : String

Item

productName : Stringquantity : intprice : float0..*

items

0..*

Page 21: 1. Find out why software engineering is important see some … · 2016-07-21 · 1 Software Engineering Prof. Dr. Colin Atkinson 1 Overview 1. Find out why software engineering is

21

Software EngineeringProf. Dr. Colin Atkinson 21

DSL State-of-the-Art

■ DSLs defined in rigid, disjoint phases and environments

■ result of one phase has to be “deployed” in a major compilation step to enable the second phase

■ in each phase/environment only one classification level is “soft”

■ only one concrete syntax is available in a given phase.

Define Use Apply

DSL

deploy deploy

Page 22: 1. Find out why software engineering is important see some … · 2016-07-21 · 1 Software Engineering Prof. Dr. Colin Atkinson 1 Overview 1. Find out why software engineering is

22

Software EngineeringProf. Dr. Colin Atkinson 22

Package Diagrams as a DSL

UML LML

■ Many features of UML were not included in the earlier comparison of UML and LML

■ packages, components, composition...

■ these can be added as DSL features

Page 23: 1. Find out why software engineering is important see some … · 2016-07-21 · 1 Software Engineering Prof. Dr. Colin Atkinson 1 Overview 1. Find out why software engineering is

23

Software EngineeringProf. Dr. Colin Atkinson 23

Page 24: 1. Find out why software engineering is important see some … · 2016-07-21 · 1 Software Engineering Prof. Dr. Colin Atkinson 1 Overview 1. Find out why software engineering is

24

Software EngineeringProf. Dr. Colin Atkinson 24

Symbiotic Languages

■ Symbiosis – a relationship in which two things compenstate for each other‘s weaknesses and reinforce each other‘s strengths

■ Symbiotic languages

■ coexists and can be mixed in arbitrary ways

■ Melanie supports a symbiosis between general purpose and domain specific visualizations

■ Key features –

■ choice between purely general purpose or domain specific representations of the same model

■ symbols can be arbitrarily mixed

■ any symbol can be dynamically toggled from domain-specific to general purpose and back

■ can be applied at multiple classification level (i.e. models) simultaneously

Page 25: 1. Find out why software engineering is important see some … · 2016-07-21 · 1 Software Engineering Prof. Dr. Colin Atkinson 1 Overview 1. Find out why software engineering is

25

Software EngineeringProf. Dr. Colin Atkinson 25

Symbiotic Language Example (1/3)

Page 26: 1. Find out why software engineering is important see some … · 2016-07-21 · 1 Software Engineering Prof. Dr. Colin Atkinson 1 Overview 1. Find out why software engineering is

26

Software EngineeringProf. Dr. Colin Atkinson 26

Symbiotic Language Example (2/3)

Page 27: 1. Find out why software engineering is important see some … · 2016-07-21 · 1 Software Engineering Prof. Dr. Colin Atkinson 1 Overview 1. Find out why software engineering is

27

Software EngineeringProf. Dr. Colin Atkinson 27

Symbiotic Language Example (3/3)

Page 28: 1. Find out why software engineering is important see some … · 2016-07-21 · 1 Software Engineering Prof. Dr. Colin Atkinson 1 Overview 1. Find out why software engineering is

28

Software EngineeringProf. Dr. Colin Atkinson 28

Foundation Ontologies

■ a foundation ontology (also known as a top-level ontology or upper ontology) describes very general concepts that are common across all knowledge domains

■ meet the following basic needs [EHA13]

■ promote reuse in a higher level of abstraction aimed at maximising the reuse of domain models

■ produce domain specifications that are truthful to reality

■ theoretical foundations for conceptual modelling languages

■ Examples

■ Bunge-Ward-Weber (BWW), Basic Formal Ontology (BFO), General Formal Ontology (GFO), Descriptive Ontology for Linguistic and Cognitive Engineering (DOLCE), Suggested Upper Merged Ontology (SUMO),

■ Unified Foundation Ontology (UFO) [GG05]

Page 29: 1. Find out why software engineering is important see some … · 2016-07-21 · 1 Software Engineering Prof. Dr. Colin Atkinson 1 Overview 1. Find out why software engineering is

29

Software EngineeringProf. Dr. Colin Atkinson 29

■ [GG05] Guizzardi, G. Ontological Foundations for Structural Conceptual Models, PhD Thesis, University of Twente, The Netherlands.

■ published as the book “Ontological Foundations for Structural Conceptual Models”, TelematicaInstituut Fundamental Research Series No. 15, ISBN 90-75176-81-3 ISSN 1388-1795

■ [EHG13] Owen Eriksson, Brian Henderson-Sellers, and Pär J. Agerfalk. 2013. Ontological and linguistic metamodelling revisited: A language use approach. Inf. Softw. Technol. 55, 12, December 2013.

■ B. Henderson-Sellers, On the Mathematics of Modelling, Metamodelling,Ontologies and Modelling Languages, SpringerBriefs in Computer Science, Springer-Verlag, Heidelberg, 2012.

References

Page 30: 1. Find out why software engineering is important see some … · 2016-07-21 · 1 Software Engineering Prof. Dr. Colin Atkinson 1 Overview 1. Find out why software engineering is

30

Software EngineeringProf. Dr. Colin Atkinson 30

Semantics of Models

Ullmann’s Triangle

■ basis for understanding how symbolsrepresent concepts in a language

■ “the relation between language and reality is always intermediated by a certain conceptualization” (Baldinger)

Guizzardi’s Square

■ characterizes relationshipbetween conceptualizations,models, languages andspecializations [GG05]

Concept(Conceptualization)

Thing(reality)

Symbol(language)

abstracts

refers to

represents

Page 31: 1. Find out why software engineering is important see some … · 2016-07-21 · 1 Software Engineering Prof. Dr. Colin Atkinson 1 Overview 1. Find out why software engineering is

31

Software EngineeringProf. Dr. Colin Atkinson 31

Concrete Incarnation

■ In practice, boils down to a detailed taxonomy of modelling constructs capturing and philosophically well-founded concepts

■ Based on a traditional (two-level) class / object dichotomy

■ Aristotle’s four category ontology

■ Most widely used and practical incarnation is OntoUML

■ a UML profile capturing the UFO taxonomy

■ supported by a tool developed by NEMO (Ontology & Conceptual Modeling Research Group) in Vitoria, Brazil

■ Arguments for validity and utility are philosophical

■ the necessity or correctness of modelling features can not be proven per se

■ often the information they convey can be modelling in another way (albeit perhaps less elegant)

■ phases can be modelled by attributes of enumeration types

Page 32: 1. Find out why software engineering is important see some … · 2016-07-21 · 1 Software Engineering Prof. Dr. Colin Atkinson 1 Overview 1. Find out why software engineering is

32

Software EngineeringProf. Dr. Colin Atkinson 32

Heart of the UFO

■ Aristotle’s four category ontology

Second chapter of Aristotle’ s Categories [GG05]

Page 33: 1. Find out why software engineering is important see some … · 2016-07-21 · 1 Software Engineering Prof. Dr. Colin Atkinson 1 Overview 1. Find out why software engineering is

33

Software EngineeringProf. Dr. Colin Atkinson 33

Heart of the UFO

■ Aristotle’s four category ontology

“are in time”• persist over

time• same individual

can exist at two times

• e.g. a house, a pile of bricks

“happen in time”• extend in time accumulating

temporal parts • same individual cannot exist at

two time intervals• e.g a race, a party

Second chapter of Aristotle’ s Categories [GG05]

Page 34: 1. Find out why software engineering is important see some … · 2016-07-21 · 1 Software Engineering Prof. Dr. Colin Atkinson 1 Overview 1. Find out why software engineering is

34

Software EngineeringProf. Dr. Colin Atkinson 34

Heart of the UFO

■ Aristotle’s four category ontology

“can exist independently”• objects or

amounts of matter

• e.g. house, pile of sand

“inhere in other individuals ”• attribute, properties, tropes• cannot exist independent• e.g age, reliability

Second chapter of Aristotle’ s Categories [GG05]

Page 35: 1. Find out why software engineering is important see some … · 2016-07-21 · 1 Software Engineering Prof. Dr. Colin Atkinson 1 Overview 1. Find out why software engineering is

35

Software EngineeringProf. Dr. Colin Atkinson 35

Taxonomy of Substantial Universals

Page 36: 1. Find out why software engineering is important see some … · 2016-07-21 · 1 Software Engineering Prof. Dr. Colin Atkinson 1 Overview 1. Find out why software engineering is

36

Software EngineeringProf. Dr. Colin Atkinson 36

Taxonomy of Substantial Universals

“have a sense of identify and type”• support classification (principle of

application) and identification (principle of identity)

• sasically correspond to classes in UML• e.g. person, video

“dispersive universals”• represent things with

a particular quality• e.g rational entity,

strong entity

Page 37: 1. Find out why software engineering is important see some … · 2016-07-21 · 1 Software Engineering Prof. Dr. Colin Atkinson 1 Overview 1. Find out why software engineering is

37

Software EngineeringProf. Dr. Colin Atkinson 37

Taxonomy of Substantial Universals

A type whose instances cannot cease to be instances of the type without ceasing to exist• if I is an instance of T in one

possible world, then I must be an instance of T in every possible world

• e.g. person

A type whose instances can cease to be instances of the type whilst continuing to exist• if I is an instance of T in a

given world, there is another possible world in which I is not an instance of T

• e.g. student,

Page 38: 1. Find out why software engineering is important see some … · 2016-07-21 · 1 Software Engineering Prof. Dr. Colin Atkinson 1 Overview 1. Find out why software engineering is

38

Software EngineeringProf. Dr. Colin Atkinson 38

Example (OntoUML) [GG05]

Page 39: 1. Find out why software engineering is important see some … · 2016-07-21 · 1 Software Engineering Prof. Dr. Colin Atkinson 1 Overview 1. Find out why software engineering is

39

Software EngineeringProf. Dr. Colin Atkinson 39

Compatability of FOs and Deep Modeling

■ At first sight FOs and deep modelling are fundamentally incompatible

■ UFO based on the fundamental universal / instance dichotomy

■ deep modelling exists to precisely to overcome this limitation

■ UFO does not explain some concepts that are important in IT

■ abstract classes

■ interfaces

■ power types

■ stereotypes?

■ but UFO can be regarded as a DSL in deep modelling

■ provides exactly the same expressive power as OntoUML

Page 40: 1. Find out why software engineering is important see some … · 2016-07-21 · 1 Software Engineering Prof. Dr. Colin Atkinson 1 Overview 1. Find out why software engineering is

40

Software EngineeringProf. Dr. Colin Atkinson 40

Cla

bje

ct

Conne

ction

Entity

Dom

ain

Ele

ment

Featu

re

Attrib

ute

Meth

od

nam

e

pote

ncy : N

atu

ral

dura

bility: N

atu

ral

muta

bility : N

atu

ralValu

e : S

tring

Data

type

: Strin

gtra

nsitive

: Boole

an

signatu

re : S

tring

body: S

tring

UFO as DSL

Page 41: 1. Find out why software engineering is important see some … · 2016-07-21 · 1 Software Engineering Prof. Dr. Colin Atkinson 1 Overview 1. Find out why software engineering is

41

Software EngineeringProf. Dr. Colin Atkinson 41

Big Question

■ In an optimal deep modelling environment, what features in (e.g.) UFO be moved to the linguistic (meta)model ?

■ would the notion of rigid or antirigid clabjects be useful?

■ would it be useful to introduce the notion of role clabjects?

■ For example EHA13 argue that Dog is a substantial class while Breed is a moment type

■ but what if Dog were not in the model?

■ The top ontological modeland the linguistic modelneed to be aligned andoptimized to supportdeep, FO based modeling

Page 42: 1. Find out why software engineering is important see some … · 2016-07-21 · 1 Software Engineering Prof. Dr. Colin Atkinson 1 Overview 1. Find out why software engineering is

42

Software EngineeringProf. Dr. Colin Atkinson 42

Deep Interpretation of Ullman’s Triangle

Lin

gu

istic(M

eta

)mo

de

lFid

oB

reed

Po

od

le

■ ontological model elements are symbols

■ real world entities, including concepts, are things

■ higher level model elements are concepts

a concept can be an instance of another concept (counter to [EHA13])

Concept(Conceptualization)

Thing(reality)

Symbol(language)

abstracts

refers to

represents

Page 43: 1. Find out why software engineering is important see some … · 2016-07-21 · 1 Software Engineering Prof. Dr. Colin Atkinson 1 Overview 1. Find out why software engineering is

43

Software EngineeringProf. Dr. Colin Atkinson 43

Deep Interpretation of Ullman’s Triangle

Lin

gu

istic(M

eta

)mo

de

lFid

oB

reed

Po

od

le

S

S

C

C

T

T

T

S

■ ontological model elements are symbols

■ real world entities, including concepts, are things

■ higher level model elements are concepts

a concept can be an instance of another concept (counter to [EHA13])

Concept(Conceptualization)

Thing(reality)

Symbol(language)

abstracts

refers to

represents

Page 44: 1. Find out why software engineering is important see some … · 2016-07-21 · 1 Software Engineering Prof. Dr. Colin Atkinson 1 Overview 1. Find out why software engineering is

44

Software EngineeringProf. Dr. Colin Atkinson 44

Deep Interpretation of Guizzardi’s Square

Lin

gu

istic(M

eta

)mo

de

l

Fid

oB

reed

Po

od

le

■ model elements at one level are a language for the model specification at the level below

■ a model language represents a conceptualization

■ a model, a an instance of a conceptualization, is a model specification

Page 45: 1. Find out why software engineering is important see some … · 2016-07-21 · 1 Software Engineering Prof. Dr. Colin Atkinson 1 Overview 1. Find out why software engineering is

45

Software EngineeringProf. Dr. Colin Atkinson 45

Deep Interpretation of Guizzardi’s Square

Lin

gu

istic(M

eta

)mo

de

l

Fid

oB

reed

Po

od

leF

ido

Po

od

le

■ model elements at one level are a language for the model specification at the level below

■ a model language represents a conceptualization

■ a model, a an instance of a conceptualization, is a model specification

Page 46: 1. Find out why software engineering is important see some … · 2016-07-21 · 1 Software Engineering Prof. Dr. Colin Atkinson 1 Overview 1. Find out why software engineering is

46

Software EngineeringProf. Dr. Colin Atkinson 46

Deep Interpretation of Guizzardi’s Square

Lin

gu

istic(M

eta

)mo

de

l

Fid

oB

reed

Po

od

leB

reed

Po

od

le

■ model elements at one level are a language for the model specification at the level below

■ a model language represents a conceptualization

■ a model, an instance of a conceptualization, is a model specification

Page 47: 1. Find out why software engineering is important see some … · 2016-07-21 · 1 Software Engineering Prof. Dr. Colin Atkinson 1 Overview 1. Find out why software engineering is

47

Software EngineeringProf. Dr. Colin Atkinson 47

Conclusion

■ FOs and deep modelling are at one level fundamentally incompatible, but at another level they are synergetic

■ an FO can be supported as a DSL in deep modelling

■ FO semantic models map well to a potency-based OCA (Ullmans’s triangle, Guizzardi’s square)

■ “Linguistic” and “ontological” are highly misleading labels for the different forms of classification

■ infrastructural versus conceptual or domain

■ The modeling community would benefit from a fundamental unification of FO and deep modelling

■ FOs needs to move beyond the two-level world view

■ Infrastructural model needs to be enhanced with FO concepts

■ Deep modelling environment from Uni. Mannheim

■ www.melanee.org

Page 48: 1. Find out why software engineering is important see some … · 2016-07-21 · 1 Software Engineering Prof. Dr. Colin Atkinson 1 Overview 1. Find out why software engineering is

48

Software EngineeringProf. Dr. Colin Atkinson 48

Deep, SUM-based Environments

SUM