BORO introduction
description
Transcript of BORO introduction
BORO introduction
ONTOBRAS-2013
The industrial application of ontology: Driven by a foundational ontology
An introduction to the BORO BDM
© 2013 BORO Solutions
Topics
BORO BDM from a distance
Types, Type Types, Type Type Types, ...,
Tuples
Mereology in the BORO BDM
BORO naming pattern
BORO BDM from a distance
© 2013 BORO Solutions
BORO BDM from a distance (1)
BORO = Business Object Reference Ontology
BDM = Business Domain Model
We assume a realist position that distinguishes between an ontology (e.g. Business Domain) and its representation (e.g. Business Domain Model)
An ontology is understood as a chunk of the reality we focus on
A representantion of ontology is a representation of this chunk
One ontology may be related to a number of different representations
© 2013 BORO Solutions
BORO BDM from a distance (2)
Main ontological categories:• Elements• tuples• Types
Types
tuples
Elements
Objects
© 2013 BORO Solutions
BORO BDM from a distance (3)
Main ontological relations:• super-sub-type • type-instance
GPRs
Towns
Towns is a subtype of GPRs
GPRs
Towns
UK
USA Germany
France
Paris
London
Berlin
Washington DC
London is an instance of Towns
© 2013 BORO Solutions
BORO BDM from a distance (4)
Elements are four-dimensional chunks of the space-time reality
They are related by the mereological relations
© 2013 BORO Solutions
BORO BDM from a distance (5)
BORO BDM assumes the extensionalist criterion of identity for types, which makes it possible to employ set theory as a background theory
BORO BDM employs a number of set-theoretical concepts. The most frequently among those are• powerset• singleton• the union and partition of classes
© 2013 BORO Solutions
BORO BDM from a distance (6)
Another characteristic feature of BDM is the fact that it models relationships among BDM entities. For instance, models the relation of parthood among four-dimensional objects from BDM
BDM models also its set-theoretical structure
This implies that if, say, Towns is a subtype of Elements, then the tuple <Towns, Elements> is an instance of
«tuples»wholes-parts
«meta,tuples,super-sub-type»
super-sub-types
«meta,tuples,type-instance types»
types-instances
«meta,tuples,super-sub-type»
super-sub-types
© 2013 BORO Solutions
BORO BDM from a distance (7)
BUML = BORO BUML
BUML is a representation format for BORO Models
So the BORO BDM can be represented in the BUML format; and stored in the UML class diagrams
However, these sometimes have a slightly different non-UML semantics
© 2013 BORO Solutions
BORO BDM from a distance (8)
In particular the following UML representations are used• classes
• generalization links
• dependency links
• association and compositionassociation links
• constraints
«Meta-types»Elements
«tuples»wholes-parts
wholes*
parts*
«Meta-types,Objects»Objects
«Meta-types,Objects»Objects
«Meta-types,tuples»tuples
«Meta-types»Types
«Meta-types»Elements
«Meta-types»Types
«Meta-types,Objects»Objects
«Meta-types,tuples»tuples
«Meta-types»Elements
{P}
Types, Type Types, Type Type Types, ...
© 2013 BORO Solutions
Types, Type Types, Type Type Types, ... (1)
The BORO BDM object Types collects all classes of objects that BORO BDM recognises
This means that if a BORO BDM object is an instance of Types, then it is a class of BORO BDM objects
For example, since Subjects is an instance of Types, this means that Subjects is a class of BORO BDM entities
«Meta-types»Types
Subjects
Tuples
© 2013 BORO Solutions
Tuples (1)
The relationships between BORO BDM objects are modelled by means of tuples
An (individual) tuple models a particular relation between a number of BDM objects. The BDM notion of (individual) tuple corresponds to the set-theoretical notion of n-tuple
A class of tuples is called a tuple type and is stereotyped as <<tuples>>. The BDM notion of tuple type corresponds to the set-theoretical notion of relation
Example • the relation between Paris and France due to which Paris is the capital of France is
modelled as below
The class of all BDM tuples is
«tuples,Example»capital of
«Elements»France
«Elements,Example»Paris
«Example,tuple»t333
«Meta-types,tuples»tuples
© 2013 BORO Solutions
Tuples (2)
A tuple has the fixed number of tuple places, i.e. it has a certain arity. Therefore, we can divide the class of all BDM tuples into couples, triples, quadruples, etc.
Tuple places are occupied by objects
Example • the tuple t333 has two tuple places, i.e. it is a couple• one place is occupied by Paris• the other place is occupied by France
Any tuple places of any tuple may by occupied by any BORO BDM object. So, there may be tuples that relate other tuples
«tuples,Example»capital of
«Elements»France
«Elements,Example»Paris
«Example,tuple»t333
Mereology in the BORO BDM
© 2013 BORO Solutions
Mereology (1)
All mereological relations between BORO BDM elements are modelled with the help of the tuple type
Wholes-parts is a couple whose both tuple type places are occupied by Elements
• place1 tuple type place models wholes• place2 tuple type place models parts• place1 tuple type place is represented by means of a composition association
link
«tuples»wholes-parts
«tuples»couples
«tuples»wholes-parts
«Meta-types»Elements
«place2»parts
*
«place1»wholes*
© 2013 BORO Solutions
Mereology (2)
In the example below, Paris is modelled as a part of France
«tuples»wholes-parts
«tuples,Example»capital of
«Elements»France
«Elements,Example»Paris
«Example,tuple»t333
Countries«Example»Cities
«place1»whole
«place2»part
«place2»part
«place1»whole
© 2013 BORO Solutions
Mereology (3)
It is an assumption of the BORO BDM that the relation of parthood satisfies all axioms of the standard mereology
This implies that wholes-parts is the relation of improper parthood
The relation of proper parthood is modelled in BORO BDM by means of strict wholes-parts
«tuples»wholes-parts
«tuples»strict wholes-parts
© 2013 BORO Solutions
Mereology (4)
Since the BORO BDM is constructed from a four-dimensional perspective, it models temporal parts of elements. To this end it employs the temporal stages of tuple type
«tuples»wholes-parts
«tuples»strict wholes-parts
«tuples»reflexive elements
«tuples»strict temporal stages of
«Defined,tuples»temporal stages of
{P}
© 2013 BORO Solutions
Mereology (5)
In the model below, the temporal part of Wales from the year 1543 onwards is modelled as a temporal part of Wales
Note that all temporal parts of BORO BDM objects are instances of Elements «tuples»
strict temporal stages of
«Elements»Wales 1543-?
«tuple»t136
«Elements»Wales
«place1»whole
«place2»part
BORO BDM naming pattern
© 2013 BORO Solutions
Naming pattern (1)
BORO BDM adopts an utterance theory of names according to which names are classes of utterances/inscriptions/..., which are here called character strings
All character strings are four-dimensional objects, i.e. they are instances of Elements
Some classes of character strings are names
«PowerType»Character String
Types
Names
Character Strings
- powertypes of
*
Representations
© 2013 BORO Solutions
Naming pattern (2)
All objects in BORO BDM can have names
The relation between objects and their names is modelled by means of the named by tuple type
Each name names exactly one object, but some objects may be named by more than one name
«Meta-types,Objects»Objects
Names«tuples»named by
«place1»
1
«place2»
© 2013 BORO Solutions
Naming pattern (3)
In this example, ABC Bank is named by the <ABC Bank> Name whose one instance is the „ABC Bank” #1 character string
«Meta-types,Objects»Objects
Names«tuples»named by
Character Strings«place1»
1
«place2»
«tuple»t850
<ABC Bank> Name«Elements»ABC Bank
«place2»«place1»
«Elements»"ABC Bank" #1
© 2013 BORO Solutions
Naming pattern (4)
Among different properties that BORO BDM ascribes to names, there are three that play an important role
• distinctness• uniqueness• being reserved
All three properties are modelled as name types
All three properties are intended
Names«PowerType»Name Types
Intended Unique Characters Name
Types
Intended Distinct Characters Name
Types
«Defined»Intended Reserved Characters Name
Types
{I}
«Defined»Intended Name
Types
- powertype ofs
© 2013 BORO Solutions
Naming pattern (5)
A name type is a subtype of Intended Distinct Characters Name Types only if there are no string equivalent duplicates among the instances of this name type
A name type is a subtype of Intended Unique Characters Name Types only if no two instances of this name type name the same object
A name type is a subtype of Intended Reserved Characters Name Types if it is a subtype of Intended Distinct Characters Name Types and a subtype of Intended Unique Characters Name Types