Common MBSE Modeling Questions and How Ontology Helps

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

Outline § Examine meanings of some Sys. ML / UML modelling examples. § Discuss how ontology languages can help clarify those meanings. 2

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? Car powered. By 1 Engine rolls. On 4 Wheel § Sys. ML/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. 3

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? Car powered. By 1 Engine rolls. On 4 Wheel § Sys. ML/UML say no, combination constraints might exist, but: § Sys. ML/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. 4

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 gocart)? Car powered. By 1 Engine rolls. On 4 Wheel § Sys. ML/UML say yes, but: § It requires a deep knowledge of the Sys. ML/UML metamodel to know this. § Sys. ML/UML currently cannot capture “no” if that’s the intention. 5

What Does a Model Describe? Part Equivalence § When are parts the same? In particular: § Do powered wheels need to also be rolling wheels? Car driven. Wheels 2 rolls. On 4 Wheel § 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. § Sys. ML can capture when parts are the same. § But only when they are exactly the same set, not this example. § Sys. ML (w/o OCL) cannot capture when parts are not the same. 6

What Does a Model Describe? Generalization 1 § What does generalization mean exactly? In particular: § Could John’s car be small? Car «instance. Of» Small Car John’s Car § Sys. ML/UML say yes (John’s car might be small, the modeler just doesn’t know it yet), but: § Many modelers, especially objectoriented practioners, say no. § Sys. ML/UML currently cannot capture “no” if that’s the intention. 7

What Does a Model Describe? Generalization 2 Car Small Car «instance. Of» John’s Car § What does generalization mean exactly? In particular: § Is John’s car an instance of Car? § Sys. ML/UML say yes (small cars are cars, and John’s car is small), but: § Some modelers, especially software practioners, say no. § Sys. ML/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. 8

What Does a Model Describe? Generalization 3 Inexpensive Product Car § What does generalization mean exactly? In particular: § Are all inexpensive cars small? § Sys. ML/UML say no (some large cars might be inexpensive), but: § Many modelers say yes. § Sys. ML/UML currently cannot capture “yes” if that’s the intention. Small Car 9

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? Car Small Car Deisel Car § Sys. ML/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. § Sys. ML/UML can say no and yes, respectively, but many modelers don’t know how. 10

What Does a Model Describe? Instance Equivalence § Modeled instances are only in the model, not reality. Car «instance. Of» John’s Car «instance. Of» Mary’s Car § Are instances in the model the same real things? In particular: § Are John and Mary’s cars the same car in reality? § Sys. ML/UML currently cannot capture whether modeled instances are about the same thing but: § Some modelers, especially software practioners, say no. 11

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? Car § Sys. ML/UML say maybe. § Some modelers, especially knowing only UML 1, say yes. powered. By 1 Engine rolls. On 4 drives Wheel § Are associations limited to some context? In particular: § Can an engine in one car power the wheels in another? § Sys. ML/UML say yes. § Some modelers, especially knowing only UML 1, say no. 12

What Does a Model Describe? Connectors Car 1 powered. By : Engine drives 4 rollson : Wheel § Connectors in Sys. ML 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 Sys. ML/UML (w/o OCL) cannot limit associations to the context of a block. In particular: § Sys. ML/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. 13

Does a Model Describe Different Things? § Many of the previous questions can be summed up as: § Are 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? 14

Does a Model Describe Different Things? Intentional Variation Impeller Design Refinement Propeller Vehicle Engine Wheel Impeller Wheel h : Hub Frame t: Tire Hull Chasis Boat Car Engine Rudder Propeller Engine Hull pw : Wheel Chassis upw : Wheel Design Alternatives § The Vehicle block is intentionally inspecific. 15

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 Sys. ML/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. 16

Existing Ontology Extensions for Sys. ML/UML § Some in the Sys. ML / 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 (same. As and different. From). § 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). 17

Possible Ontology Extensions for Sys. ML/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. 18

Translation to Ontology Languages § Sys. ML/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. 19

Summary § Sys. ML/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. 20
- Slides: 20