1 / 20

Common MBSE Modeling Questions and How Ontology Helps

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.

Download Presentation

Common MBSE Modeling Questions and How Ontology Helps

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Outline • Examine meanings of some SysML / UML modelling examples. • Discuss how ontology languages can help clarify those meanings.

  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 poweredBy rollsOn 4 1 Engine Wheel

  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 poweredBy rollsOn 4 1 Engine Wheel

  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 poweredBy rollsOn 4 1 Engine Wheel

  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 drivenWheels rollsOn 2 4 Wheel

  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 «instanceOf» Small Car John’s Car

  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 «instanceOf» John’s Car

  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 Inexpensive Product Small Car

  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

  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 «instanceOf» «instanceOf» John’s Car Mary’s Car

  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 poweredBy rollsOn 4 1 Engine Wheel drives

  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 1 poweredBy : Engine 4 rollson : Wheel drives

  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?

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

  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.

  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).

  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.

  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.

  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.

More Related