Integrating SysML with OWL (or other logic based formalisms) Abstract The promise of Model-based systems engineering (MBSE) is to reduce traditional problems of complexity management and allow for design evaluation before implementation. The promise has been difficult to realize. The promise requires the ability to share models without the necessity of the model being accompanied by a subject matter expert to explain what the model means and what assumptions are made. An ontological foundation, or formal foundation, for a modeling language enables model sharing between humans and computers as the meaning of the model is in a form that is independent of subject matter experts. An ontological foundation not only provides the ability to share models, but also provides the justification for inference. SysML does not currently have an ontological foundation. However, it can be retrofitted with one. The retrofit is outlined using a SysML model as an example. The formal foundation uses intuitionistic type theory. the semantics of type theory accords well with the informal semantics. An intuitionistic type theory is generated from axioms expressed in the language of a multi-sorted signature of types, properties, and operations. Henson Graves Conrad Bock
Outline Why integrate SysML with logic-based system What does integration of SysML with logic mean How does integration achieve objectives What are success criteria for integration Leveraging OWL and other logic-based systems for integration
Engineering has always been about building models that represent a system under design or analysis and its operating environment Interpretation Model A model may have multiple interpretations, where an interpretation is anything that satisfies the model. Building a model for a product does not itself guarantee that any implementations of the model exist. In logic, terminology regarding models is reversed; a model is an interpretation of the representation. However, the concepts of representation and implementation are similar. Model – representation of system and environment in some real domain Interpretation – correspondence of model elements to domain
Why Integrate SysML With Logic Know what is actually being specified, to avoid under / over specification Avoid having needing a domain expert to accompany each model Check that models are consistent, particularly when models from multiple sources are integrated Use automated reasoning tools to perform tasks which outstrip manual capability Provide formal derivations (justification) of engineering decisions
Two Areas Where Logic Integration Can Help Avoid Mistakes Lack of established common meaning for terms in model (inference semantics) People interpret names of concepts differently You don’t want to have to have a subject mater expert accompany each model for anybody to use it Conclusions drawn when model underspecifies system (reference semantics) Conclusions drawn from model are unjustified Customer think the are getting one thing, but really getting less than they expected Design model not detailed enough for manufacturing
Example Where Reasoning Can Help Simple Heart Model Diagram Analysis of consequences of interconnections between components Effects of pathology and disease symptom propagation Analysis of a specific system (fault detection) Heart LeftSide RightSide AorticValve MitralValve PulmonicValve TricuspidValve LeftVentricle Septum RightVentricle HasComponent hasConnection divisionOF
What Does It Mean For SysML to Integrate With Logic-Based System Inference semantics Give axioms for language constructions, Translation of language constructions to logic-based system with justification of translation E.g, what properties does one expect for parts and wholes Reference semantics Give conditions for a valid interpretation (implementation)
How Does Integration With Logic Achieve Objectives Constructions in logical language are given (axiomatic and/or referential) semantics, to … Codify expected properties of language constructions such as subclass, instance, part,… Allow users as they model systems to not be dependent on subject matter experts to convey their meaning Use automated reasoning, based on formal semantics, for consistency checking as models are developed and merged Justification for assumptions and decisions made on basis of models based on formal derivations (proofs).
What Are Success Criteria For Integration? Minimal disruption to modeling practice with SysML Closeness in matching informal semantics of SysML with some logic-based formal semantics Coverage of SysML language constructions Employment of well worked out semantics in logical languages for SysML language constructions Integrability of automated reasoning tools
John’sCar – individual To Leverage Logic-Based Systems Look At The Overlap of Language Constructions Car Car, SmallCar, - class John’sCar – individual SmallCar subclass Car John’sCar : SmallCar «subclass» Small Car What Are The Commonality (And Differences) In Language Constructions «instanceOf» John’s Car
How Do Informal Semantic Compare With Logic Semantics? Is instance of subclass an instance of superclass? Is sub-classing transitive? Car Car «instanceOf» Small Car Small Car Benefits of these is modeler can know things about all cars without being concerned that subtypes might negate that knowledge. «instanceOf» Tiny Car John’s Car
Part Properties Informally part properties give necessary conditions A car is powered by one engine and rolls on 4 wheels Standard part properties exclude a part being in two wholes Some questions: 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 poweredBy rollsOn 1 4 Engine Wheel
Logical Interpretation Of Part Properties Can Make Part Properties Precise Translation of diagram Car subclass (poweredBy 1 Engine) and (rollsOn 4 Wheel) Want to prohibit other parts Have to introduce hasPart property and Part class with some axioms and say Car subclass (hasPart exactly 3 Part) Logic default is that Engine could be replaced by a subclass of Engine Engine and wheels may or may not be connected Car poweredBy rollsOn 1 4 Engine Wheel
Connectors: Logical Interpretation Translation of diagram Car subclass (poweredBy 1 Engine) and (rollsOn 4 Wheel) poweredBy.drives = rollsOn This says that the engine in each car drive wheels in that same car Does not preclude driving a wheel in some other car without explicitly prohibiting it Car 1 poweredBy : Engine 4 rollson : Wheel drives
Instances, classes, properties, operations, behavior, … Sysml Has Language Constructions Not Present In OWL, But Are In Other Logical Formalisms Instances, classes, properties, operations, behavior, … Parts, wholes and sets, granularity, idealization, and the roles of time and change A:Class Parts part1:B part2:C values x :D operators f(x:X):E Constraints y = f(x) State diagrams