144
Ontology-Driven Conceptual Modeling Giancarlo Guizzardi Ontology and Conceptual Modeling Research Group (NEMO) Federal University of Espírito Santo, Brazil

Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

Ontology-Driven Conceptual Modeling

Giancarlo Guizzardi

Ontology and Conceptual Modeling Research Group (NEMO) Federal University of Espírito Santo, Brazil

Page 2: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

The Taxonomy of Animals inThe Celestial Emporium of

Benevolent Knowledge (Borges)• Those that belong to the emperor

• Those that resemble flies from a distance

• Those that have just broken a flower vase

• Embalmed ones

• Fabulous ones

Page 3: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

“Those that resemble flies from a distance” is a logically possible way to group objects, but

it’s not how we naturally make sense of the world. No real language would have a noun for

such a category…Real nouns capture something deep; they refer to kinds of things that are thought to share deep properties…”

(Paul Bloom, How Pleasure Works, 2010)

Page 4: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

“…As the evolutionary theorist Stephen Jay Gould put it, our classifications don’t just exist to avoid chaos, they are “theories about the

basis of natural order.”

(Paul Bloom, How Pleasure Works, 2010)

Page 5: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

How$many$kinds$of$rock?

5

The Ontological Level: Revisiting 30 Years of Knowledge Representation 53

Fig. 1. Kinds of rocks (From [5])

proliferate easily, as soon as new attributes are added to the vocabulary. Hence they proposed a functional approach to knowledge representation designed to only answer “safe” queries that are about analytical relationships between terms, and whose answers are independent of the actual structure of the knowledge base, like “a large grey igneous rock is a grey rock”.

It is clear that, in this example, Brachman and colleagues understood the term “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring the fact that, for many people, there are just three kinds of rocks, as taught at high school: Igneous, Metamorphic, and Sedimentary. On the other hand, two of the same authors, in an earlier paper on terminological competence in knowledge representation [6] stressed the importance of distinguishing an “enhancement mode transistor” (which is “a kind of transistor”) from a “pass transistor” (which is “a role a transistor plays in a larger circuit”).

So why was this distinction ignored? My own conclusion is that important issues related to the different ontological assumptions underlying our use of terms have been simply given up while striving for logical simplification and computational tractability. As a consequence, most representation languages, including “ontology languages” like OWL, do not offer constructs able to distinguish among terms having similar logical structure but different ontological implications. In our example, clearly “large rock” and “sedimentary rock” have the same logical structure, being both interpreted as the conjunction of two (primitive) logical properties; yet we tend to believe that there is something radically different between the two: why? To answer this question we have to investigate:

• the nature of the primitive properties “being a rock”, “being large”, and “being sedimentary”;

• the way they combine together in a structured term, while modifying each other.

Unfortunately, while current representation languages offer us powerful tools to build structured descriptions whose formal semantics is carefully controlled to provide efficient reasoning services, still no agreement has been reached concerning the need to adopt proper mechanisms to control the ontological commitments of structured

rock

igneous rock sedimentary rockmetamorphic rock

large rock grey rock

large grey igneous rock

grey sedimentary

rock

pet metamorphic rock

Brachman,)Fikes)and)Levesque,)1985

Page 6: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

CATEGORIES*OF*OBJECT*TYPES

Page 7: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

General$Terms$and$Common$Nouns

(i)$exactly$five$mice$were$in$the$kitchen$last$night$(ii)$the$mouse$which$has$eaten$the$cheese,$has$been$in$

turn$eaten$by$the$cat$

Page 8: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

General$Terms$and$Common$Nouns

(i)$exactly$five$X$...$(ii)$the$Y$which$is$Z...$

Page 9: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

General$Terms$and$Common$Nouns

(i)$exaclty$five$reds$were$in$the$kitchen$last$night$(ii)$the$red$which$has$...,$has$been$in$turn$...

Page 10: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

General$Terms$and$Common$Nouns

Both$reference$and$quantification$require$that$the$thing$(or$things)$which$are$refered$to$or$which$form$the$domain$of$quantification$are$determinate$individuals,$i.e.$their$conditions$for$individuation$and$numerical$identity$must$be$determinate

Page 11: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

Sortal$and$Characterizing$Types

Whilst$the$characterizing$types$supply$only$a$principle$of$application$for$the$individuals$they$collect,$sortal$types$supply$both$a$principle$of$application$and$a$principle$of$identity$

Page 12: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

The$Logical$Level∃x$Apple(x)$∧ Red(x)

Page 13: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

The$Epistemological$Level

Apple

color = red

Red

sort = apple

Page 14: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

The$Ontological$Level

Apple

color = red

Red

sort = apple

sortal universal characterizing Universal (mixin)

Page 15: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

Foundations (1)$We$can$only$make$identity$and$identification$statements$

with$the$support$of$a$Sortal,$i.e.,$the$identity$of$an$individual$can$only$be$traced$in$connection$with$a$Sortal$type,$which$provides$a$principle$of$individuation$and$identity$to$the$particulars$it$collects$

* Every*Object*in*a*conceptual*model*(CM)*of*the*domain*

must*be*an*instance*of*a*class*representing*a*sortal*type*

*

Page 16: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

Foundations $ Moreover,$since$NonTSortals$cannot$supply$a$principle$of$

identity$for$its$instances,$we$have$that,$all$NonTSortal$Types$in$the$model$must$be$represented$as$Abstract*Classes*

*

Page 17: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

Unique$principle$of$Identity

X Y*Y$

Page 18: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

18

PRINCIPLE OF IDENTITY

=

Page 19: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

X Y*

Unique$principle$of$Identity

Y$

Page 20: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

PRINCIPLE OF IDENTITY

Page 21: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

Foundations (2)$An$individual$cannot$obey$incompatible$principles$of$

identity

Page 22: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

Distinctions$Among$$Categories$of$Object$Types

Object Type

Sortal Type Non-Sortal Type

Type

{Person,$Apple,$Student} {Insurable$Item,$Red}

Page 23: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

Rigidity$(R+)

A$type$T$is$rigid$if$for$every$instance$x$of$T,$x$is$necessarily$(in$the$modal$sense)$an$instance$of$T.$In$other$words,$if$x$instantiates$T$in$a$given$world$w,$then$x$must$instantiate$T$in$every$possible$world$w’:$

R+(T)*=def$□(∀x*T(x)*→*□(T(x)))*

$

R+(Person)*=def$□(∀x*Person(x)*→*□(Person(x)))$

e.g.,

Page 24: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

AntiTRigidity$(R~)

A$types$T$is$antiTrigid$if$for$every$instance$x$of$T,$x$is$possibly$(in$the$modal$sense)$not$an$instance$of$T.$In$other$words,$if$x$instantiates$T$in$a$given$world$w,$then$there$is$a$possible$world$w’$in$which$x$does$not$instantiate$T:$

R~(T)*=def$□(∀x*T(x)*→*◊(¬T(x)))$

R~(Student)*=def$□(∀x*Student)*→*◊(¬Student(x)))$

e.g.,

Page 25: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

ObjectType

Sortal Type Non-Sortal Type

Rigid Sortal Type Anti-Rigid Sortal Type

Type

Distinctions$Among$Categories$ of$Object$Types

{Person,$Organization}

{Insurable$Item}

{Student,$Teenager,$$FootballPlayer}

Page 26: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

26

PRINCIPLE OF IDENTITY

Page 27: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring
Page 28: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

A$principle$of$identity$cannot$be$supplied$by$$either$of$these$two$antiTrigid$types,$

since$it$should$be$used$to$identify$individuals$$in$every$possible$situations!

Page 29: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

Foundations

(3)$If$an$individual$falls$under$two$sortals$in$the$course$of$its$history$there$must$be$exactly$one$ultimate$rigid$sortal$of$which$both$sortals$are$specializations$and$from$which$they$inherit$a$principle$of$identity

P P’

S

Page 30: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

Restriction$Principle

P P’

(4) Instances$of$P$and$P’$must$have$obey$a$principle$of$identity$(by$1)$

(5) The$principles$obeyed$by$the$instances$of$P$and$P’$must$be$the$same$(by$2)$

(6)$ The$common$principle$of$identity$cannot$be$supplied$by$P$neither$by$P’

S

Page 31: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

Uniqueness$Principle

$ (7)$G$and$S$cannot$have$incompatible$principles$of$identity$(by$2).$Therefore,$either:$

$ T$$ G$supplies$the$same$principle$as$S$and$therefore$G$is$the$ultimate$Sortal$

$ T$$ G$is$does$not$supply$any$principle$of$identity$(nonTsortal)$

$

P P’

G

S

Page 32: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

ObjectType

Sortal Type

Kind

Non-Sortal Type

Rigid Sortal Type Anti-Rigid Sortal Type

Type

subKind

Distinctions$Among$Categories$ of$Object$Types

{Person,$Organization}

{Insurable$Item}

{Student,$Teenager,$$FootballPlayer}

{Man,$Woman}

Page 33: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

Foundations$Since$the$unique$principle$of$identity$supplied$by$a$Kind$is$

inherited$by$its$subclasses,$we$have$that:$A$NonTsortal$type$cannot$appear$in$a$conceptual$model$as$a$

subtype$of$a$sortal

Person

InsuredItem HeavyEntity

Page 34: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

Foundations$Since$the$unique$principle$of$identity$supplied$by$a$Kind$is$

inherited$by$its$subclasses,$we$have$that:$A$NonTsortal$type$cannot$appear$in$a$conceptual$model$as$a$

subtype$of$a$sortal

Person

InsuredItem HeavyEntity

Page 35: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

Foundations$Since$the$unique$principle$of$identity$supplied$by$a$Kind$is$

inherited$by$its$subclasses,$we$have$that:$A$NonTsortal$type$cannot$appear$in$a$conceptual$model$as$a$

subtype$of$a$sortal

Person

InsuredPerson HeavyPerson

HeavyEntityInsuredItem

Page 36: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

Foundations$Since$the$unique$principle$of$identity$supplied$by$a$Kind$is$

inherited$by$its$subclasses,$we$have$that:$A$NonTsortal$type$cannot$appear$in$a$conceptual$model$as$a$

subtype$of$a$sortal

Person

InsuredPerson HeavyPerson

HeavyEntityInsuredItem I1

I1 I1

Page 37: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

Foundations$Since$the$unique$principle$of$identity$supplied$by$a$Kind$is$

inherited$by$its$subclasses,$we$have$that:$An$Object$in$a$conceptual$model$of$the$domain$cannot$

instantiate$more$than$one$ultimate$Kind

«kind»SocialBeing

«kind»Group

Organization

TheBeatles

instance of

Page 38: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

«kind»SocialBeing

«kind»Group

Organization

TheBeatles

instance of

I1 I2

I1,$I2$

I1,$I2$

Page 39: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

«kind»SocialBeing

«kind»Group

Organization

TheBeatles

instance of

Page 40: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

«kind»SocialBeing

StaffOrganization

{John,Paul,George,Ringo}TheBeatles

instance of instance of

«constitution»

«kind»Group

Page 41: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

Foundations$It$is$not$the$case$that$we$cannot$have$multiple$supertyping.$

Only$that$a$type$cannot$have$multiple$kinds$as$supertypes!

Page 42: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

Foundations$It$is$important$to$emphasize$the$supertyping$is$a$modal$relation$

as$well,$i.e.,$if$A$is$supertype$of$B$then$A$is$necessarily$a$supertype$of$B

A

B

Ac

B

Fixed$ConfigurationSupertype(A,B)*=def$□(∀x*B(x)*→*A(x))$

Page 43: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

ObjectType

Sortal Type

Kind

Non-Sortal Type

Rigid Sortal Type Anti-Rigid Sortal Type

Type

subKind

A$Kind$cannot$be$a$supertype$of$another$Kind

Page 44: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

ObjectType

Sortal Type

Kind

Non-Sortal Type

Rigid Sortal Type Anti-Rigid Sortal Type

Type

subKind

A$subKind$cannot$be$a$supertype$of$a$kind

Page 45: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

ObjectType

Sortal Type

Kind

Non-Sortal Type

Rigid Sortal Type Anti-Rigid Sortal Type

Type

subKind

A$subKind$type$MUST$have$as$a$supertype$$a$(unique)$Kind

Page 46: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

Subkind$PartitionsIt$is$typical$that$subkinds$are$defined$in$structures$called$

Subkind$Partitions$These$are$not$always$partitions$in$the$strong$sense,$i.e.,$they$

defined$as$disjoint$but$rarely$complete$generalization$sets

«kind»Person

«subkind»Man «subkind»Woman

{disjoint ,complete }

Page 47: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

Subkind$Partitions

«kind»Person

«subkind»Man «subkind»Woman

{disjoint ,complete }

MalePerson

Female$Person

PERSON

These$partitions$are$the$same$In$every$possible$world!

Page 48: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

SubkindsHowever,$subkinds$also$appear$outside$generalization$sets$as$

specializations$of$kinds

«kind»Organization

«subkind»EntertainmentOrganization

Page 49: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

Subkinds

«kind»Organization

«subkind»EntertainmentOrganization

«subkind»NewsOrganization

«subkind»News&EntertainmentOrganization

This$only$makes$sense$if$there$are$genuine$(intrinsic$or$relational)$properties$to$be$defined$for$the$intersection$type

Page 50: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

SubkindRemember$that$property$overriding$is$always$a$bad$idea$and$it$

is$always$caused$by$a$conceptual$modeling$mistake

declaredProfit:Currency

«subkind»NonProfitOrganization

declaredProfit:Currency

«kind»Organization

Page 51: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

SubkindRemember$that$property$overriding$is$always$a$bad$idea$and$it$

is$always$caused$by$a$conceptual$modeling$mistake

declaredProfit:Currency

«subkind»ForProfitOrganization

«kind»Organization

«subkind»NonProfitOrganization

{disjoint,complete}

Page 52: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

ObjectType

Sortal Type

Kind

Non-Sortal Type

Rigid Sortal Type Anti-Rigid Sortal Type

Type

subKind

An$AntiTRigid$type$MUST$have$as$a$supertype$$a$(unique)$Kind

Page 53: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

ObjectType

Sortal Type

Kind

Non-Sortal Type

Rigid Sortal Type Anti-Rigid Sortal Type

Type

subKind

A$Kind$cannot$be$a$supertype$of$a$NonTSortal$Type

Page 54: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

ObjectType

Sortal Type

Kind

Non-Sortal Type

Rigid Sortal Type Anti-Rigid Sortal Type

Type

subKind

A$Kind$cannot$be$a$supertype$of$a$NonTSortal$Type$in$fact,$since$all$sortals$will$inherit$a$principle$of$

Identity$from$a$Kind

Page 55: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

ObjectType

Sortal Type

Kind

Non-Sortal Type

Rigid Sortal Type Anti-Rigid Sortal Type

Type

subKind

A$Sortal$Type$cannot$be$a$supertype$of$a$NonTSortal$Type

Page 56: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

ObjectType

Sortal Type

Kind

Non-Sortal Type

Rigid Sortal Type Anti-Rigid Sortal Type

Type

subKind

Distinctions$Among$Categories$ of$Object$Types

{Person}

{Insurable$Item}

{Student,$Teenager,$$FootballPlayer}

{Man,$Woman}

Page 57: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

Relational$Dependence$(D+)

A$type$T$is$relationally$dependent$on$another$type$P$via$relation$R$iff$for$every$instance$x$of$T$there$is$an$instance$y$of$P$such$that$x$and$y$are$related$via$R:$

D+(T,P,R)*=def$□(∀x*T(x)*→*∃y$P(y)*∧*R(x,y))$

D+(Student,*School,*EnrolledOat)*=def$$

□(∀x*Student(x)*→*∃y$School*(y)*∧*EnrolledOat(x,y))$

e.g.,

Page 58: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

ObjectType

Sortal Type

Kind

Non-Sortal Type

Rigid Sortal Type Anti-Rigid Sortal Type

Type

subKind Phase Role

Distinctions$Among$Categories$ of$Object$Types

{Person}

{Insurable$Item}

{Student,$$Husband}

{Man,$Woman} {Teenager,$$LivingPerson}

Page 59: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

Roles

School«role»Student

*

enrolledTat

Page 60: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

Roles

School«role»Student

*

The$Relational$property$in$this$case$is$part$of$$the$very$definition$of$the$Role:$

Student(x)$=def$Person(x)$∧ ∃y$School(y)$∧ enrolledTat(x,y)

en

enrolledTat

Page 61: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

RolesDefined$as$a$(antiTrigid)$specialization$of$a$kind$such$that$the$

specialization$condition$is$a$relational$one$(correlated$with$derivation$by$participation)

«kind»Person

«role»Student «kind»School

1..* 1..*

enrolled-at

Page 62: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

PERSON

STUDENT

SCHOOL

«kind»Person

«role»Student «kind»School

1..* 1..*

enrolled-at

WORLD$W

Page 63: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

PERSON

STUDENT

SCHOOL

«kind»Person

«role»Student «kind»School

1..* 1..*

enrolled-at

WORLD$W’

Page 64: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

PERSON

STUDENT

SCHOOL

«kind»Person

«role»Student «kind»School

1..* 1..*

enrolled-at

WORLD$W’’

Page 65: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

PhasesDefined$as$a$(antiTrigid)$specialization$of$a$kind$such$that$the$

specialization$condition$is$an$intrinsic$one$Phases$are$always$defined$in$a$soTcalled$Phase$Partition$Phase$Partitions$are$partitions$in$strong$sense,$i.e.,$they$are$

disjoint$and$complete$generalization$sets

Person

{disjoint,complete}

«phase»LivingPerson

«phase»DeceasedPerson

Page 66: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

Person

{disjoint,complete}

«phase»LivingPerson

«phase»DeceasedPerson

LivingPerson

Deceased$Person

PERSON

WORLD$$W

Page 67: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

Person

{disjoint,complete}

«phase»LivingPerson

«phase»DeceasedPerson

LivingPerson

Deceased$Person

PERSON

WORLD$W’

Page 68: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

Person

{disjoint,complete}

«phase»LivingPerson

«phase»DeceasedPerson

LivingPerson

Deceased$Person

PERSON

WORLD$W’’

Page 69: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

«kind»Person

«subkind»Man

«subkind»Woman

{disjoint ,complete }

«phase»LivingPerson

«phase»DeceasedPerson

{disjoint ,complete}

Page 70: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

Deceased$Person

PERSON

WORLD$W

Living$Person

Man

Woman

«kind»Person

«subkind»Man

«subkind»Woman

{disjoint ,complete }

«phase»LivingPerson

«phase»DeceasedPerson

{disjoint ,complete}

Page 71: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

Deceased$Person

PERSON

WORLD$W’

Living$Person

Man

Woman

«kind»Person

«subkind»Man

«subkind»Woman

{disjoint ,complete }

«phase»LivingPerson

«phase»DeceasedPerson

{disjoint ,complete}

Page 72: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

«kind»Person

«subkind»Man

«subkind»Woman

{disjoint ,complete}

«phase»LivingPerson

«phase»DeceasedPerson

{disjoint ,complete }«phase»Child

«phase»Teenager

«phase»Adult

{disjoint ,complete}

Page 73: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

73

Page 74: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

«kind»Person

«role»Customer

Page 75: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

«role»Customer

«kind»Person

«kind»Organization

Page 76: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

«role»Customer

«kind»Person

«kind»Organization

An$antiTrigid$type$cannot$be$a$supertype$of$a$Rigid$Type

Page 77: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

Student

Person

x

Instance$of

WORLD$W

Page 78: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

Student

Person

x

Instance$of

WORLD$W

Instance$of

Page 79: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

Student

Person

x

Instance$of

WORLD$W’

Instance$of

RT

Since$Student$is$antiTrigid,$there$must$be$a$world$W’$such$that$x$is$not$an$instance$of$Student$in$W’

Page 80: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

Student

Person

x

Instance$of

WORLD$W’

Instance$of

RT

But$since$Person$is$rigid$then$x$must$be$an$instance$of$Person$in$all$worlds,$

including$in$W’

R+

Page 81: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

Student

Person

x

Instance$of

WORLD$W’

Instance$of

RT

But,$given$the$semantics$of$supertying,$we$have$that$in$all$worlds$(including$W’),$$

whoever$is$a$Person$is$a$Student

R+Instance$of

Page 82: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

Student

Person

x

Instance$of

WORLD$W’

Instance$of

RT

We$run$into$a$logical$contradiction!

R+Instance$of

Page 83: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

ObjectType

Sortal Type

Kind

Non-Sortal Type

Rigid Sortal Type Anti-Rigid Sortal Type

Type

subKind Phase Role

An$antiTrigid$type$cannot$be$a$supertype$of$a$Rigid$Type

Page 84: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

Different$Categories$of$Object$Types

Category*of*Type* Supply*

Identity*

Inherits*

Identity*

Rigidity* Dependence*

SORTAL* O* +*

«*kind*»* +* +* +* O*

«*subkind*»* O* +* +* O*

«*role*»* O* +* O* +*

«*phase*»* O* +* O* O*

NONOSORTAL* O* O*

Page 85: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

K1

K2

K3

K4

K5

Kinds

Page 86: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

K1

K2

K3

K4

K5

Anti-Rigid Sortals (Roles and Phases)

Page 87: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

K1

K2

K3

K4

K5

Anti-Rigid Sortals (Roles and Phases)

Page 88: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

Distinctions$Among$Object$Types

{Person} {Customer}{Student,$$Employee}

{Teenager,$$Living$Person}

ObjectType

Sortal Type

RoleKind

Non-Sortal Type

Rigid Sortal Type Anti-Rigid Sortal Type

Phase

Rigid Non-Sortal Type

Type

Anti-Rigid Non-Sortal Type

subkind

Page 89: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

Distinctions$Among$Object$Types

ObjectType

Sortal Type

RoleKind

Non-Sortal Type

Rigid Sortal Type Anti-Rigid Sortal Type

Phase

Rigid Non-Sortal Type

Type

Anti-Rigid Non-Sortal Type

subkind Category

{Person} {Physical$Object}{Student,$$Husband}

{Brazilian,$Man,$Woman}

{Teenager,$$LivingPerson}

Page 90: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

Categories$are$rigid$nonTsortals$representing$necessary$(in$the$modal$sense)$features$of$entities$of$different$kinds$

Typically,$they$form$the$topTmost$layer$of$object$types$in$an$ontology$$

Categories$(IT,R+)

«kind»Person

«kind»Artificial Agent

«category»Rational Entity

{disjoint}

ARTIFICIAL$AGENT

PERSON

RATIONAL*ENTITY

Page 91: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

Categories

Like$all$nonTsortals,$categories$are$always$defined$as$abstract$classes,$which$means$that$all$categories$must$have$at$least$a$kind$as$a$subtype

ObjectType

Sortal Type

RoleKind

Non-Sortal Type

Rigid Sortal Type Anti-Rigid Sortal Type

Phase

Rigid Non-Sortal Type

Type

Anti-Rigid Non-Sortal Type

subkind Category

Page 92: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

CategoriesA$kind$can$be$subtype$of$multiple$categories$and$a$category$can$

be$a$supertype$of$multiple$kinds$Since$all$kinds$are$disjoint$(otherwise$the$instances$in$their$

intersection$would$inherit$multiple$principles$of$identity),$all$subtypes$of$a$category$form$a$disjoint$generalization$set$

On$the$other$hand,$since$categories$represent$features$of$multiple$kinds,$they$are$very$seldom$complete$$

«category»PhysicalObject

«kind»Person «kind»Car «kind»Bridge

{disjoint}

Page 93: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

Distinctions$Among$Object$Types

{Person} {Customer}{Student,$$Employee}

{Teenager,$$Living$Person}

ObjectType

Sortal Type

RoleKind

Non-Sortal Type

Rigid Sortal Type Anti-Rigid Sortal Type

Phase

Rigid Non-Sortal Type

Type

Anti-Rigid Non-Sortal Type

subkind Category RoleMixin

{Person} {Physical$Object}{Student,$$Husband}

{Brazilian,$Man,$Woman}

{Teenager,$$LivingPerson}

{Crime$Weapon}

Page 94: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

RoleMixin(IT,RT,D+)RoleMixen$are$antiTrigid$and$relational$dependent$nonTsortals$

representing$contigent$(in$the$modal$sense)$features$of$entities$of$different$kinds$

As$all$NonTSortals,$RoleMixins$classify$entities$belonging$to$different$kinds$$

Like$all$nonTsortals,$categories$are$always$defined$as$abstract$classes

Page 95: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

Roles$with$Disjoint$Allowed$Types

«role»Customer

Person Organization

Page 96: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

Roles$with$Disjoint$Allowed$Types

«role»Customer

Person Organization

Page 97: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

Participant

Person SIG

Forum

1..* *

participation

Page 98: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

Roles$with$Disjoint$Admissible$Types

«roleMixin»Customer

Page 99: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

Roles$with$Disjoint$Allowed$Types

«roleMixin»Customer

«role»PersonalCustomer

«role»CorporateCustomer

Page 100: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

Roles$with$Disjoint$Allowed$Types

«roleMixin»Customer

«role»PersonalCustomer

Person Organization

«role»CorporateCustomer

Page 101: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

«roleMixin»Customer

«role»PrivateCustomer

«role»CorporateCustomer

«kind»Person

Organization

«kind»Social Being

«roleMixin»Participant

«role»IndividualParticipant

«role»CollectiveParticipant

«kind»Person

SIG

«kind»Social Being

Page 102: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

Roles$with$Disjoint$Admissible$Types

«roleMixin»A

«role»B

F

D E

«role»C

1..*

1..*

Page 103: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

Which$one$is$better?

Computer

hasTpart

MemoryDisk$Drive

Computer$Part

Memory$PartDisk$Part

Computer$Part

Disk$Drive Memory

Computer

hasTpart

by)Chris)Welty

Page 104: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

The$Pattern$in$ORM

by)Terry)Halpin

Page 105: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

Patterns$and$Metaphors

From$a$modeling$viewpoint,$patterns$can$be$seen$as$higherTgranularity$modeling$primitives$$$

Design$Patterns$are$the$modeling$counterpart$of$a$device$for$Structure$Transferability$capturing$a$domainTindependent$system$of$types$and$relations$that$offer$a$stardardized$solution$for$a$recurrent$problem$$$

Page 106: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

RoleMixinsA$RoleMixin$cannot$be$a$superTtype$of$a$category,$in$fact,$

an$AntiTRigid$NonTSortal$type$cannot$be$a$supertype$of$a$rigid$one$

ObjectType

Sortal Type

RoleKind

Non-Sortal Type

Rigid Sortal Type Anti-Rigid Sortal Type

Phase

Rigid Non-Sortal Type

Type

Anti-Rigid Non-Sortal Type

subkind Category RoleMixin

Page 107: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

RoleMixin

PERSON

CUSTOMER

Personal$Customer

Corporate$Customer

WORLD$WORGANIZATION

Supplier

Page 108: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

RoleMixin

PERSON

CUSTOMER

Personal$Customer

Corporate$Customer

WORLD$W’ORGANIZATION

Supplier

Page 109: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

ObjectType

Sortal Type

RoleKind

Non-Sortal Type

Rigid Sortal Type Anti-Rigid Sortal Type

Phase

Rigid Non-Sortal Type

Type

Non-Rigid Non-Sortal Type

subkind Category

RoleMixin

Anti-Rigid Non-Sortal Type Semi-Rigid Non-Sortal Type

Mixin

Distinctions$Among$Object$Types

{Person} {Physical$Object}{Student,$$Husband}

{Brazilian,$Man,$Woman}

{Teenager,$$LivingPerson}

{Insurable$Item}

Page 110: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

Modal$MetaTPropertiesWe$will$discuss$here$four$types$of$Ontological$MetaTProperties$

which$are$of$a$modal$nature

RIGIDITY NONORIGIDITY

ANTIORIGIDITY SEMIORIGIDITY

Page 111: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

NonTRigidityAntiTRigidity$is$not$the$logical$negation$of$rigidity,$nonTrigidity$

is!$AntiTRigidity$is$stronger$than$that$as$a$logical$constraint

R+(T)*=def$□(∀x*T(x)*→*□(T(x)))*

$

RO(T)*=def$◊(∃xT(x) ∧◊¬T(x))*

$

Logical$Negation

Rigidity

NonTRigidity

Page 112: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

NonTRigidity

AntiTRigidity$is$not$the$logical$negation$of$rigidity,$nonTrigidity$is!$AntiTRigidity$is$stronger$than$that$as$a$logical$constraint

R+(T)*=def$□(∀x*T(x)*→*□(T(x)))*

$

RO(T)*=def$◊(∃xT(x) ∧◊¬T(x))*

$

Logical$Negation

R~(T)*=def$□(∀x*T(x)*→*◊(¬T(x)))$AntiTRigidity

Rigidity

NonTRigidity

Page 113: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

NonTRigidity

AntiTRigidity$is$not$the$logical$negation$of$rigidity,$nonTrigidity$is!$AntiTRigidity$is$stronger$than$that$as$a$logical$constraint

R+(T)*=def$□(∀x*T(x)*→*□(T(x)))*

$

R ¬(T)*=def$◊(∃xT(x) ∧◊¬T(x))*

$

Logical$Negation

RO(T)*=def$□(∀x*T(x)*→*◊(¬T(x)))$AntiTRigidity

Rigidity

NonTRigidity

R~*(T)*=def$RO(T)*∧ ¬R~(T)SemiTRigidity

Page 114: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

Mixin(IT,R~)Mixins$are$semiTrigid$nonTsortals,$i.e.,$they$represent$features$

which$are$necessary$(in$the$modal$sense)$for$some$of$its$instances$but$contingent$to$others$$

SR(T)*=def*NR(T)*∧ ¬RO(T)*

Every$Mixin$must$be$a$supertype$of$a$rigid$type$as$well$as$a$supertype$of$a$NonTRigid$type$(typically$a$phase)

«mixin»InsuredItem

«kind»Car «phase»InsuredHouse

{disjoint }

«phase»NonInsuredHouse

«kind»House

{disjoint,complete}

Page 115: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

MixinsMixins$represent$semiTrigid$features$of$multiple$kinds$Since$all$kinds$are$disjoint,$all$subtypes$of$a$mixin$form$a$

disjoint$generalization$set.$On$the$other,$like$in$the$case$of$categories,$these$generalization$sets$are$very$seldom$complete$$

«mixin»InsuredItem

«kind»Car «phase»InsuredHouse

{disjoint }

«phase»NonInsuredHouse

«kind»House

{disjoint,complete}

Page 116: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

Mixin

HOUSE

CAR

INSURABLE**ITEM Insured$$

house

Uninsured$$house

WORLD$W

Page 117: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

Mixin

HOUSE

CAR

INSURABLE**ITEM Insured$$

house

Uninsured$$house

WORLD$W’

Page 118: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

Different$Categories$of$Object$Types

Category*of*Type* Supply*

Identity*

Identity* Rigidity* Dependence*

SORTAL* O* +*

«*kind*»* +* +* +* O*

«*subkind*»* O* +* +* O*

«*role*»* O* +* O* +*

«*phase*»* O* +* O* O*

NONOSORTAL* O* O*

«*category*»* O* O* +* O*

«*roleMixin*»* O* O* O* +*

«*mixin*»* O* O* ¬ O*

Page 119: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

K1

K2

K3

K4

K5

Rigid Non-Sortals

Page 120: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

K1

K2

K3

K4

K5

Anti-Rigid Non-Sortals

Page 121: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

K1

K2

K3

K4

K5

Anti-Rigid Non-Sortals

Page 122: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

METHODOLOGICAL*GUIDELINES

Page 123: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

Ontological$MetaTProperties$of$Object$Types

These$ontological$metaTproperties$define$a$typology$of$Object$Types$that:$Define$a$formal$semantics$for$these$modeling$primitives$(present$in$a$number$of$current$approaches$–$ORM,$OntoClean)$but$which$have$been$defined$in$a$ad$hoc$manner$in$the$past$

Support$a$number$of$operational$semantics$with$important$consequences$to$a$number$of$implementation$technologies$(e.g.,$OWL,$OOP,$RDB),$but$also$for$verification$and$validation$technologies$

Define$methodological$guidelines$for$guiding$users$in$the$modeling$activity

Page 124: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

Rigid$Backbone:$Kinds$and$SubKindsStart$by$identifying$the$rigid$backbone$of$your$model$This$is$the$taxonomic$structure$containing$only$kinds$and$their$

specializing$subkinds$Notice$that,$since$all$kinds$are$disjoint,$you$will$end$up$with$a$

forest$of$modelTtrees$This$Rigid$Backbone$defines$the$stable$structure$of$your$model$

and,$this$should$have$a$significant$impact$on$all$possible$implementations$of$your$model$regardless$of$the$implementation$technology$adopted$(e.g.,$ObjectTOriented$Technology,$Database$Technology,$RuleTBased$Systems,$Description$Logics$Systems)$

Page 125: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

Rigid$Backbone:$Kinds$and$SubKindsSubkinds$frequently$appear$in$a$subkind$partition$with$

specializations$of$a$common$Kind.$This$partition$will$typically$be$disjoint$but$rarely$complete$Nonetheless,$it$is$interesting$to$identify$the$properties$which$

differentiate$the$subkinds$of$a$common$kind$as$well$as$to$identify$the$complementary$subkinds$belonging$to$the$same$partition

«kind»Person

«subkind»Man

«subkind»Woman

{disjoint ,complete }

Methodological$Questions:$

Is$there$another$subkind$of$[Person]$which$is$complementary$to$Man?

Page 126: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

Identify$AntiTRigid$Sortals

«kind»A

B

Candidate$AntiTRigid$Class

Methodological$Questions:$

•Can$a$[A]$which$is$not$a$[B]$become$one?$(e.g.,$can$a$PERSON$who$is$not$a$FATHER$become$one?)$

•Can$a$[A]$which$is$[B]$cease$to$be$a$[B]?$(e.g.,$can$a$PERSON$who$is$a$FATHER$cease$to$be$a$FATHER?)

Page 127: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

RolesRoles$are$always$(ultimately)$defined$as$specializations$of$kind$

via$a$relational$specialization$condition

«kind»A

B

AntiTRigid$Class

Methodological$Questions:$

•Does$a$[A]$become$a$[B]$by$establishing$a$relation$to$another$type$of$entity?$(e.g.,$Does$a$PERSON$become$a$FATHER$by$establishing$a$relation$to$another$type$of$entity?)$

•What$would$be$name$of$that$defining$relation?$

•Find$out$the$cardinality$constraints$of$that$defining$relation

Page 128: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

Roles

It$is$typical$that$this$type$will$also$be$a$role

«kind»Person

«role»Father «role»Offspring

1 1..*fatherhood

Minimum$cardinality$here$is$always$≥ 1

Page 129: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

PhasesPhases$are$always$(ultimately)$defined$as$specializations$of$kind$

via$an$intrinsic$specialization$condition

«kind»A

B

AntiTRigid$Class

Methodological$Questions:$

•Does$a$[A]$become$a$[B]$due$to$a$change$on$one$or$more$of$its$attribute$values?$(e.g.,$Does$a$PERSON$become$a$TEENAGER$due$to$a$change$on$one$or$more$of$its$attribute$values?)$

•Find$out$about$the$defining$attributes$and$associated$defining$values

Page 130: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

Phases$are$always$defined$in$a$disjoint$and$complete$phase$partition

«kind»Person

«phase»Child

«phase»Teenager

«phase»Adult

{disjoint ,complete}

Phases

Methodological$Questions:$

•What$are$the$other$phases$complementary$to$[B]$in$which$[A]$can$be?$(e.g.,$What$are$the$other$phases$complementary$to$TEENAGER$in$which$a$PERSON$can$be?)$

•Find$out$about$the$defining$attributes$and$associated$defining$values$for$the$complementary$phases

Page 131: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

Identify$NonTSortalsThe$direct$rule$of$thumb$for$identifying$nonTsortals$is$to$look$

for$types$that$can$have$instances$that$belong$to$multiple$kinds$

NonTSortals,$thus,$represent$common$features$that$are$shared$by$entities$of$multiple$kinds$

Are$these$features$necessary$or$contingent$ones?$

Page 132: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

Categories$are$represent$necessary$features$shared$by$entities$of$multiple$kinds$

They$are$always$defined$a$supertype$of$multiple$rigid$types$forming$a$disjoint$partition$

Categories$(nonTsortals$in$general)$play$an$important$role$as$a$structuring$mechanism$in$conceptual$models$(particularly$in$large$ontologies)

Categories

Page 133: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

Typically,$categories$are$identified$a*posteriori,$i.e.,$as$an$abstraction$mechanism$for$a$number$of$rigid$sortal$types$that$have$already$been$modeled$

The$definition$of$a$Category$them$amounts$to$abstract$these$shared$features$in$a$common$type$which$will$be$the$common$supertype$in$a$disjoint$generalization$set$relating$all$these$rigid$sortal$types$

«kind»Person

«kind»Artificial Agent

«category»Rational Entity

Categories

{disjoint}

Page 134: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

Mixins$represent$features$shared$by$entities$of$multiple$kinds$which$are$necessary$for$some$of$its$instances$and$contingent$to$others$

Typically,$these$shared$features$are$identified$a*posteriori,$i.e.,$as$an$abstraction$mechanism$for$a$number$of$sortal$types$that$have$already$been$modeled$such$that$some$of$these$sortal$types$are$rigid$while$others$are$not$

The$definition$of$a$Mixin$them$amounts$to$abstract$these$shared$features$in$a$common$type$which$will$be$the$common$supertype$in$a$disjoint$generalization$set$relating$all$these$sortal$types$

Mixins

Page 135: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

Again,$some$of$the$types$in$this$generalization$set$will$be$rigid$types$while$others$will$be$nonTrigid$ones$(typically$phases)

Mixins

«mixin»InsuredItem

«kind»Car «phase»InsuredHouse

{disjoint }

«phase»NonInsuredHouse

«kind»House

{disjoint,complete}

Page 136: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

Role$Mixins$represent$contingent$and$relational$features$shared$by$entities$of$multiple$kinds$

Role$Mixins$typically$manifest$themselves$when$one$has$to$face$the$problem$of$Role*Modeling*with*Players*of*Multiple*Kinds***

In$other$words,$one$is$typically$faced$with$the$problem$of$having$a$candidate$role$(antiTrigid$sortal$with$an$identified$defining$relation)$but$which$can$be$played$by$entities$of$multiple$kinds

Role$Mixins

Page 137: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

Decompose$the$candidate$Role$(which$is$in$fact$a$Role$Mixin)$in$a$number$of$specializing$Roles$such$that$each$of$these$subTroles$classify$only$entities$that$belong$to$the$same$Kind$$$

Connect$these$subTroles$with$their$corresponding$Kinds$via$specialization$relationships$$

The$role$mixin,$thus,$serve$as$an$abstraction$mechanism$for$all$these$subTroles$representing$its$shared$relational$features$(including$the$defining$relations)*

Role$Mixins

«roleMixin»A

«role»B

F

D E

«role»C

1..*

1..*

Page 138: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

OntologyTDerived$Patterns

«roleMixin»A

«role»B

Obj.Type F

Sortal D Sortal E

«role»C

1..*

1..*

min≥1

Page 139: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

«roleMixin»Customer

«role»PrivateCustomer

«role»CorporateCustomer

«phase»Active Organization

«phase»Living Person

«role»Supplier

1..* 1..*

{disjoint , complete }

Page 140: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

«roleMixin»Customer

«role»PrivateCustomer

«role»CorporateCustomer

«phase»Active Organization

«phase»Living Person

«role»Supplier

1..*

1..*

«phase»Deceased Person

«phase»Extinct Organization

«kind»Organization

{disjoint, complete}

«kind»Person

{disjoint, complete}

{disjoint, complete}

Page 141: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

OntologyTDerived$Patterns

«roleMixin»A

«role»B

Obj.Type F

Sortal D Sortal E

«role»C

1..*

1..*

min≥1

Page 142: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

«roleMixin»Customer

«role»PrivateCustomer

«role»CorporateCustomer

«phase»Active Organization

«phase»Living Person

«role»Supplier

1..* 1..*

{disjoint , complete }

Page 143: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

«roleMixin»Customer

«role»PrivateCustomer

«role»CorporateCustomer

«phase»Active Organization

«phase»Living Person

«role»Supplier

1..*

1..*

«phase»Deceased Person

«phase»Extinct Organization

«kind»Organization

{disjoint, complete}

«kind»Person

{disjoint, complete}

{disjoint, complete}

Page 144: Ontology-Driven Conceptual Modelingguizzardi.panrepa.org/PUE-2016-p3.pdf · “rock kind” in a very simple, minimalist way (perhaps as synonymous with “rock class”), ignoring

http://nemo.inf.ufes.br/ [email protected]