20
1 Common MBSE Modeling Questions and How Ontology Helps Henson Graves Conrad Bock January 10, 2011

Common MBSE Modeling Questions and How Ontology Helps

Embed Size (px)

DESCRIPTION

Common MBSE Modeling Questions and How Ontology Helps. Henson Graves. Conrad Bock. January 10, 2011. Outline. Examine meanings of some SysML / UML modelling examples. Discuss how ontology languages can help clarify those meanings. What Does a Model Describe? Completeness. - PowerPoint PPT Presentation

Citation preview

Page 1: Common MBSE Modeling Questions and How Ontology Helps

1

Common MBSE Modeling Questions and How Ontology Helps

Henson GravesConrad Bock

January 10, 2011

Page 2: Common MBSE Modeling Questions and How Ontology Helps

2

Outline

Examine meanings of some SysML / UML modelling examples.

Discuss how ontology languages can help clarify those meanings.

Page 3: Common MBSE Modeling Questions and How Ontology Helps

3

What Does a Model Describe?Completeness

Is the model a complete description of cars? In particular: Can a car have more than one

engine and four wheels (maybe a spare wheel)?

What about having other parts that are not engines or wheels?

SysML/UML currently cannot capture whether the model is complete (open vs closed). The author of the model might

think it’s complete or not complete, but others can only guess the intention.

Car

Engine Wheel

41

poweredBy rollsOn

Page 4: Common MBSE Modeling Questions and How Ontology Helps

4

What Does a Model Describe?Combinations

What combinations of cars, wheels and engines are allowed? In particular: Can any kind of engine or wheel be used

in any kind of car? Can specialized engines and wheels add

more parts internal to them?

SysML/UML say no, combination constraints might exist, but: SysML/UML cannot capture whether the

specified constraints are complete (see previous slide).

Modeler might not specify constraints expecting others will, but the others cannot tell from the model.

Software practioners typically assume no constraints specified means none will ever be specified.

Car

Engine Wheel

41

poweredBy rollsOn

Page 5: Common MBSE Modeling Questions and How Ontology Helps

5

What Does a Model Describe?Sufficient Conditions

Are the specified parts sufficient to call something a car? Is anything with an engine and

four wheels a car (even a go- cart)?

SysML/UML say yes, but: It requires a deep knowledge of

the SysML/UML metamodel to know this.

SysML/UML currently cannot capture “no” if that’s the intention.

Car

Engine Wheel

41

poweredBy rollsOn

Page 6: Common MBSE Modeling Questions and How Ontology Helps

6

What Does a Model Describe?Part Equivalence

When are parts the same? In particular: Do powered wheels need to also be

rolling wheels?

UML (w/o OCL) currently cannot capture whether parts are the same or not. The author of the model might think

they can be the same, but others can only guess the intention.

SysML can capture when parts are the same. But only when they are exactly the

same set, not this example.

SysML (w/o OCL) cannot capture when parts are not the same.

Car

Wheel

42

drivenWheels rollsOn

Page 7: Common MBSE Modeling Questions and How Ontology Helps

7

What Does a Model Describe?Generalization 1

What does generalization mean exactly? In particular: Could John’s car be small?

SysML/UML say yes (John’s car might be small, the modeler just doesn’t know it yet), but: Many modelers, especially object-

oriented practioners, say no. SysML/UML currently cannot

capture “no” if that’s the intention.

Car

Small CarJohn’s

Car

«instanceOf»

Page 8: Common MBSE Modeling Questions and How Ontology Helps

8

What Does a Model Describe? Generalization 2

What does generalization mean exactly? In particular: Is John’s car an instance of Car?

SysML/UML say yes (small cars are cars, and John’s car is small), but: Some modelers, especially software

practioners, say no. SysML/UML currently cannot capture

“no” if that’s the intention. Sometimes an issue of convention:

Are squares rectangles? Mathematics says yes, squares have four

equal angles, which makes them rectangles.

Non-mathematicians sometimes say no. They typically classify objects under the narrowest category they are aware of.

Car

Small Car

John’s Car

«instanceOf»

Page 9: Common MBSE Modeling Questions and How Ontology Helps

9

What Does a Model Describe? Generalization 3

What does generalization mean exactly? In particular: Are all inexpensive cars small?

SysML/UML say no (some large cars might be inexpensive), but: Many modelers say yes. SysML/UML currently cannot

capture “yes” if that’s the intention.

Car

Small Car

InexpensiveProduct

Page 10: Common MBSE Modeling Questions and How Ontology Helps

10

What Does a Model Describe? Generalization 4

What does generalization mean exactly? In particular: Can some small cars be deisel? Are all cars either small or deisel?

SysML/UML says yes to the first and no to the second, but: Many modelers think say no to the

first and yes to the second. SysML/UML can say no and yes,

respectively, but many modelers don’t know how.

Car

Small Car Deisel Car

Page 11: Common MBSE Modeling Questions and How Ontology Helps

11

What Does a Model Describe?Instance Equivalence

Modeled instances are only in the model, not reality.

Are instances in the model the same real things? In particular: Are John and Mary’s cars the

same car in reality?

SysML/UML currently cannot capture whether modeled instances are about the same thing but: Some modelers, especially

software practioners, say no.

Car

John’s Car

«instanceOf»

Mary’s Car

«instanceOf»

Page 12: Common MBSE Modeling Questions and How Ontology Helps

12

What Does a Model Describe?Associations in Context

Do associations apply in some context? In particular: Does the engine in a car drive the

wheels in that same car?

SysML/UML say maybe. Some modelers, especially

knowing only UML 1, say yes.

Are associations limited to some context? In particular: Can an engine in one car power

the wheels in another?

SysML/UML say yes. Some modelers, especially

knowing only UML 1, say no.

Car

Engine Wheel

41

poweredBy rollsOn

drives

Page 13: Common MBSE Modeling Questions and How Ontology Helps

13

What Does a Model Describe? Connectors

Connectors in SysML internal block diagrams (UML composite structure) apply associations to the context of a block. In particular: Connectors between part

properties, rather than classes. Engines in each car drive wheels

in that same car. Currently SysML/UML (w/o OCL)

cannot limit associations to the context of a block. In particular: SysML/UML (w/o OCL) cannot

prevent an engine in one car from driving the wheels in another.

Related to completeness. If model is assumed complete, then an engine in a car only drives the wheels in that same car.

Car

drives 1poweredBy :

Engine

4 rollson : Wheel

Page 14: Common MBSE Modeling Questions and How Ontology Helps

14

Does a Model Describe Different Things?

Many of the previous questions can be summed up as: Are the things described by a model all the same, or

can they be different? In particular, do they all have the same parts linked

together in the same way? The answer is no (perhaps intentionally) if

The model is incomplete. Does a car have more than engines and wheels?

Are there any specializations of the model? Is there more than one model of the same car?

The model is complete, but isn’t specific. What kind of engine? What kind of wheel? Which goes with

which? Parts aren’t distinguished or equated.

Does the car roll on the driven wheels?

Page 15: Common MBSE Modeling Questions and How Ontology Helps

15

Does a Model Describe Different Things?Intentional Variation

The Vehicle block is intentionally inspecific.

Vehicle

ImpellerEngine

Frame

Boat

PropellerEngine

Hull

Car

pw : WheelEngine

Impeller

WheelPropeller

Frame

ChasisHull

Rudder upw : WheelChassis

Wheel

t: Tire

h : Hub

Des

ign

Ref

ine

men

t

Design Alternatives

Page 16: Common MBSE Modeling Questions and How Ontology Helps

16

Ontology Languages

Ontology languages enable modelers to say how they want these questions to be answered.

Doesn’t mean system engineers need to learn ontology languages. Ontology languages can motivate and validate

extensions to SysML/UML and other modeling languages to address ambiguities.

Improves quality of communication between people, between people and machines, and between machines. Giving a model a descriptive name (“complete car

model”) does not mean that people or machines know exactly what you are talking about.

Page 17: Common MBSE Modeling Questions and How Ontology Helps

17

Existing Ontology Extensions for SysML/UML

Some in the SysML / UML already, just not well known: Disjointness and covering for specializations (using

generalization sets). Subsets and redefinition for properties, specialization for

association classes/blocks. Others in the UML Profile for OWL (Ontology Web

Language), part of the Ontology Definition Metamodel. Intersection constraint on generalizations. Dependencies dependencies for indicating two instance

specifications are the same or different (sameAs and differentFrom).

Complement and equivalent classes, equivalent properties.

Restriction classes for expressing necessary, sufficient, or equivalent conditions on classes (conditions are limited to property types and values, and multiplicities).

Page 18: Common MBSE Modeling Questions and How Ontology Helps

18

Possible Ontology Extensions for SysML/UML

From OWL 2, for properties: Property chains for clarying connector semantics. Disjoint properties. Property negation.

Ontology-inspired: Completeness property for models, or parts of models

(classes, properties, etc). Necessary and sufficiency properties for classes and

properties.

Page 19: Common MBSE Modeling Questions and How Ontology Helps

19

Translation to Ontology Languages

SysML/UML and other modeling languages (and their ontology extensions) can be translated to ontology languages Clarifies semantics of the modeling language. Support automated checking and reasoning.

Requires reporting back in a modeling syntax. Might be easier to translate ontology reasoners to work on modeling languages.

Page 20: Common MBSE Modeling Questions and How Ontology Helps

20

Summary

SysML/UML models contain alot of ambiguity regarding their meaning.

The ambiguity can be resolved using ontology: Modeling extensions derived from ontology languages,

or ontology language themselves. Translation to ontology languages.