Você está na página 1de 42

Systems Modeling Ontologies

INCOSE Model Based Systems Engineering (MBSE)


San Francisco Workshop
(February 1-3, 2009)

Ralph Hodgson,

CTO, TopQuadrant Inc.


NASA Constellation Program Ontology Lead
Why System Model Ontologies?

• How can ontologies help with MBSE?


– Can they help with modeling multiple aspects
of a problem using different tools?
• An Overview of Ontologies
– What they are
– How they are used
• Making the connection to MBSE
Challenge problems

2/2/2009 INCOSE IW09 MBSE Workshop - SysMO 2


First, what has happened since
January 2008?

ƒ INCOSE Presentation January 2008


ƒ Introduced OWL
ƒ NASA NExIOM Work
ƒ SysMO – an OWL model of SysML
ƒ NATO Presentation November 2008
ƒ Semantic Interoperabilty using Ontologies
ƒ DoD Presentation January 2009
ƒ Command and Control Ontologies
ƒ NASA NExIOM Work for
Constellation Program
2/2/2009 INCOSE IW09 MBSE Workshop - SysMO 3
NASA NExIOM and CxDA

NExIOM, the NASA Exploration Initiatives


Ontology Models formalize the way machines
(and people) refer to NASA Elements, their
Scientific and Engineering disciplines, related
work activities, and their interrelationships
throughout the NASA Constellation Program.

Through the use of knowledge representations


information is intelligible and actionable to
machines, tools, and people. Information can
be found, aggregated and reasoned over to
generate products, enable interoperability
between systems and tools, and inform
decisions.

NExIOM consists of Models, a Semantic


Infrastructure, and Services, integrated with
operational tools and systems.
See http://ontolog.cim3.net/file/work/OKMDS/2008-03-20_Organizing-Science-for-Discovery-at-
NASA/NASA-Constellation-Program-Ontologies--RalphHodgson_20080320.pdf

2/2/2009 INCOSE IW09 MBSE Workshop - SysMO 4


Key Motivations

1. Models need precise specification of their


attributes and relationships
– Organized by Structure, Behavior, Function, Interaction (SBFI)
– Standard Units, Datatypes, Enumerations, Physical Properties
– Common Naming and Identifier Rules
2. Semantic Web Technologies provide precise
semantics for modeling
– URIs enable modularity and composition
– RDF models relationships
– OWL provides semantics for class and type models
3. Semantic Web Technologies must co-exist
with XML Technology
– “There is a lot of XML practices out-there”

2/2/2009 INCOSE IW09 MBSE Workshop - SysMO 5


How Semantic Web Technologies
support NASA Constellation Program
• Data Architecture
– Name and Identifier Rules
– Data Types, Information Types and Structures
– Document Generation
• Interoperability
– Schema and XML Generation: XML SchemaPlus
– Controlled Vocabularies for Units, Data Types, Properties and
Enumerations
• C3I - Telemetry and Command
– Metadata, Packet Definitions
– Controlled Vocabularies for Units, Data Types, Properties and
Enumerations
– Encoding
• Modeling and Simulation
– Tool Specifications and Parameter Interoperability

2/2/2009 INCOSE IW09 MBSE Workshop - SysMO 6


Why OWL - the Ontology Web
Language?
• XML is document-based not model-based
– Hierarchies of Containers with weak support for relationships
– Weak support for aggregation (combining documents)
– Schema Limitiations
• UML is Object-Based
– Restricted Type System
– Weak on Relationships
– Weak notion of identity
– Metamodel (Schema) is in a different language
• OWL is Set-Based
– Expressive Type System
– Strong on Relationships
– Strong notion of identity
– Graphs not Trees
– Metamodel is in the same language

2/2/2009 INCOSE IW09 MBSE Workshop - SysMO 7


Semantic Web Key Idea # 1 –
“Think Triples”: Subject Predicate Object
Subject Predicate Object
hasSubSystem Reaction
Vehicle Control
system
hasComponent
Reaction
Thruster
Control
Jet
system
hasParameter
Thruster
Parameter
Jet

hasUnits
Parameter Unit

hasDatatype
Parameter DataType

2/2/2009 INCOSE IW09 MBSE Workshop - SysMO 8


Semantic Web Key Idea # 2 –
Identifiers not Names (“Everything has a URI”)
Subject Predicate Object
subsystem Reaction Control
ORION
system

subsystem Guidance &


ORION Navigation Control
System

cev:ORION rdf:type nasa:Vehicle;


cev:ORION sys:subsystem cx:RCS

+ cev:ORION
cev:ORION
rdf:type
sys:subsystem
nasa:Vehicle;
cx:GNCS

Æ Statements in different models but same URIs means


more information about the same things

2/2/2009 INCOSE IW09 MBSE Workshop - SysMO 9


Semantics of Relationships are key to
Component Ontologies
Structural subassembly, element , component , contains, attachment, hasPart ,
hasComponent
Material madeOf, fabricatedFrom
Behavioral/Causal triggers, respondsToEvent, generatesEvent, causes , indicates
Functional starts , stops, halts, resumes, ingests , controls , notifies
Derivational derivedFrom, ammends , transcriptionOf, tracesTo
Ordering sucessor (predecessor), next (previous)
Temporal before (after), during, after
Spatial above (below), between, adjacent, encloses (enclosedBy), oppositeTo, over
(under), near
Designational synonym, symbolizes, references
Compliance satisfies, fulfills, requires , compliant, endorses
Purpose intendedFor, applicableFor
Governance performs (performedBy), manages (managedBy), approves (approvedBy),
owns (ownedBy)
Explicative explains, justifies
Comparative higher (lower), bigger (smaller)
Social ancestorOf (descendentOf), mother (motherOf), father (fatherOf), parentOf
(childOf), friendOf, employerOf (employedBy), contractor (subcontractor)

2/2/2009 INCOSE IW09 MBSE Workshop - SysMO 10


NASA NExIOM Modular Ontologies
CxDA,
C3i
ƒ ~120 Schema
Ontologies
Vehicles
ƒ 100’s Datasets
ƒ ~ 20 of Aggregation,
Bridging, Mapping
and Proxy Ontologies

Systems
Data,
Units

Core

Some foundation Ontologies may be available subject to a NASA license

2/2/2009 INCOSE IW09 MBSE Workshop - SysMO 11


Ontology Architecture Example:
Units Ontologies
Named Graph (n2 level)
Imports relation

Ontology

An Ontology is a namespace – a named graph can contribute to


more than one ontology

2/2/2009 INCOSE IW09 MBSE Workshop - SysMO 12


OWL – think of it as XML++

• OWL = Web Ontology Language


– A language for describing a domain of
interest
– Classes of things, properties of things,
relationships between things
– A standard defined by the World-Wide
Web Consortium (W3C)
• How does it relate to XML?
– OWL can be serialized in XML and N3
– OWL is built on the Resource
Description Framework (RDF)
– OWL constructs allow us to say things
that XML Schema does not allow

2/2/2009 INCOSE IW09 MBSE Workshop - SysMO 13


XML SchemaPlus - semantic interoperability
between the XML and OWL worlds
• Problem: Ambiguous Semantics in XML
– XML documents are tree structures of nested elements
• meaning of the nesting is typically not made explicit
– XML attributes are commonly text strings with no semantics
• meaning of the attribute is not explicit

• Solution: NExIOM compliant XML


– XML SchemaPlus: the bridge between ontologies and XML
– QNAMES for controlled vocabularies
XML
XML
SchemaPlus
Schemas
Preschemas

Transformation
XML
OWL Models
Vocabularies
See: www.xspl.us

2/2/2009 INCOSE IW09 MBSE Workshop - SysMO 14


XML SchemaPlus – a language for
specifying XML Document Structure
<?xml version="1.0" encoding="UTF-8"?>
<SchemaPlus xmlns:xsi="http://www.w3.org/2001/XMLSchema-
instance" xsi:noNamespaceSchemaLocation=“SchemaPlus.xsd">
<RootElement name="TrainingExample"/>
<ScalarElement name="SimulationTitle"></ScalarElement>
<ReferenceElement name="Unit"></ReferenceElement>
<NestedElement
name="scenario“ type="ScenarioType">
</NestedElement>
<ObjectType name="ScenarioType">
<Attribute name=“provenance”></Attribute>
<CollectionElement
name="simulationConfigurationParameter"
type="SimulationConfigurationParameterType">
</CollectionElement>
</ObjectType>
</SchemaPlus>

Retaining OWL Semantics


2/2/2009 INCOSE IW09 MBSE Workshop - SysMO 15
Example of SchemaPlus:
Sensor Specification
Sensor is a ‘NestedElement at the Root level
<NestedElement name="Sensor" type="system:SensorType"></NestedElement>
<ObjectType name="SensorType" namespace="system" baseType="system:DeviceType">
<Attribute ref="data:bitsPerSample" type="xs:int"></Attribute>
<Attribute ref="data:bitsPerSecond" type="xs:int"></Attribute> Specification of an
<Attribute ref="data:samplePerSecond"></Attribute> Attribute with semantics
<Attribute ref="device:accuracy"></Attribute> from the model
<Attribute ref="device:frequencyResponse"></Attribute>
<Attribute ref="device:lowerRange"></Attribute>
<Attribute ref="device:resolution"></Attribute>
<Attribute ref="device:upperRange"></Attribute>
<Attribute ref="system:io_device" type="xs:string"></Attribute>
<Attribute ref="system:sharedSensor" type="xs:boolean" use="required"></Attribute>
<Attribute ref="system:tolerancePressureMax" type="xs:float" use="required"></Attribute>
<Attribute ref="system:tolerancePressureMin" type="xs:float" use="required"></Attribute>
<Attribute ref="system:toleranceTemperatureMax" type="xs:float” use="required"></Attribute>
<Attribute ref="system:toleranceTemperatureMin" type="xs:float" use="required"></Attribute>
<Attribute ref="system:toleranceVibrationMax" type="xs:float" use="required"></Attribute>
<ReferenceElement name="measures" minOccurs="1" maxOccurs="1"
type="system:ParameterType"></ReferenceElement> Specification of a
</ObjectType> Reference Element

2/2/2009 INCOSE IW09 MBSE Workshop - SysMO 16


Example: XSD for Sensor Specification
The Sensor becomes
<xs:complexType xmlns="system" name="SensorType">
<xs:annotation> an XSD Complex Type
<xs:documentation>An Object Type</xs:documentation>
</xs:annotation>
<xs:complexContent> Sensor extends Device
<xs:extension base="system:DeviceType">
<xs:sequence>
<xs:element name="measures" minOccurs="1" maxOccurs="1">
<xs:annotation>
Sensor
<xs:documentation>Reference Element. Attribute nc:ref is used to point to the referenced value, which must be of type ‘measures’
system:ParameterType</xs:documentation>
</xs:annotation> Parameter
<xs:complexType>
<xs:annotation><xs:documentation>A Reference Element Type</xs:documentation>
</xs:annotation>
<xs:attributeGroup ref="nc:W3C-AttributeGroup"/>
<xs:attributeGroup ref="nc:NC-AttributeGroup"/>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute ref="data:bitsPerSample">
<xs:annotation>
<xs:documentation>An Attribute. <xs:annotation>
<xs:documentation>Value of this attribute should be of type xs:int</xs:documentation>
</xs:annotation>
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute ref="data:bitsPerSecond">
<xs:annotation>
Attribute definition
<xs:documentation>An Attribute. <xs:annotation>
<xs:documentation>Value of this attribute should be of type xs:int</xs:documentation>
</xs:annotation>
</xs:documentation>
</xs:annotation>
</xs:attribute>

2/2/2009 INCOSE IW09 MBSE Workshop - SysMO 17


NASA Modeling and Simulation Teams use tools that
interoperate through the use of OWL-compliant XML
schemas and controlled vocabularies

Community Of Practice - 2
Community Of Practice - 1
Subsystem Team 4
Subsystem Team 3
Subsystem Team 2
Subsystem Team 1

Developer Developer Developer Developer


Domain Specific Tool Performance Tool Risk Tool Cost Tool
Tool 1 Tool 2 Tool 3 Tool 4
inputs outputs inputs outputs inputs outputs inputs outputs
• Assumptions • Assumptions • Assumptions • Assumptions
• Caveats • Caveats • Caveats • Caveats
• V&V • V&V • V&V • V&V
Horizontal Integration among Capabilities within each Subsystem

Shared Vocabularies and Semantics Analyst


Decision Support Tool
Analyst Trades
inputs Support Tool outputs
Decision
• Assumptions
Trades
• FOMs
inputs outputs
• Budget
• Assumptions
• FOMs
• Budget

Aggregate
Results

2/2/2009 INCOSE IW09 MBSE Workshop - SysMO 18


OWL Model of a Tool

The class ‘TOOL’

Object property
‘isUsedBy’ makes
connection to
‘AssignedRole’ and/or
‘CommunityOfPractices’

Object property for


the tool’s
computational model

Data property
attribute for ‘ITAR
Restriction’

2/2/2009 INCOSE IW09 MBSE Workshop - SysMO 19


A Software Tool has a Set of Inputs and
a Set of Outputs
hasInputSet
Software
InputSet
Tool

hasOutputSet
Software
OutputSet
Tool

2/2/2009 INCOSE IW09 MBSE Workshop - SysMO 20


Input and Output Sets are ‘ParameterSets’ – a
class that specifies common properties, e.g.
assumptions and constraints
subClassOf
Parameter
InputSet
Set

2/2/2009 INCOSE IW09 MBSE Workshop - SysMO 21


A System is modeled
using an SBFI formalism
The NASA System Ontology extends SBF with other SE modeling
constructs. Some SysML concepts are modeled directly others need to
be “free-ed’ from their UML dependencies

2/2/2009 INCOSE IW09 MBSE Workshop - SysMO 22


NExIOM relates Vehicle Elements, System
Functions, Parameters and Units
Mission has Phase
Mission has Objective
Mission has Vehicle...
….

Maneuver requires Burn

2/2/2009 INCOSE IW09 MBSE Workshop - SysMO 23


KSC Launch Control System

Ontologies model and locate Devices in their Functional


Hierarchies for checking out of launch sequence
operations

2/2/2009 INCOSE IW09 MBSE Workshop - SysMO 24


SysML and OWL SBF Models

• The NASA System


Ontology extends SBF
with other SE modeling
constructs
• Some SysML concepts
are modeling directly
others need to be
changed because of
their UML
dependencies

2/2/2009 INCOSE IW09 MBSE Workshop - SysMO 25


SysMO Ontology: Blocks and Ports

2/2/2009 INCOSE IW09 MBSE Workshop - SysMO 26


SysMO Example: SysML FlowPort

2/2/2009 INCOSE IW09 MBSE Workshop - SysMO 27


FlowPort in N3 Format
system:FlowPort rdfs:subClassOf
a owl:Class ; [a owl:Restriction ;
rdfs:label "Flow port"^^xsd:string ; owl:maxCardinality "1"^^xsd:int ;
rdfs:subClassOf system:Port ; owl:onProperty system:hasFlowSpecification
rdfs:subClassOf ];
[a owl:Restriction ; rdfs:subClassOf
dc:description "Indicates the direction in which an Atomic FlowPort [a owl:Restriction ;
relays its items. If the direction is set to in then the items are relayed owl:allValuesFrom system:Connector ;
from an external connector via the FlowPort into the FlowPort's owner owl:onProperty system:isSinkFor
(or one of its Parts). If the direction is set to out, then the items are
];
relayed from the FlowPort's owner, via the FlowPort, through an
external connector attached to the FlowPort, and if the direction is set to rdfs:subClassOf
inout then items can flow both ways. By default, the value is inout." ; [a owl:Restriction ;
owl:allValuesFrom system:FlowDirection ; owl:cardinality "1"^^xsd:int ;
owl:onProperty system:hasDirection owl:onProperty system:hasDirection
]; ];
rdfs:subClassOf dc:description "Flow Ports are interaction points through
[a owl:Restriction ; which input and/or output of items such as data, material
or some property such as torque, pressure or energy
owl:allValuesFrom system:FlowSpecification ;
may flow. This enables the owning block to declare
owl:onProperty system:hasFlowSpecification which items it may exchange with its environment and
]; what are the interaction points through which the
rdfs:subClassOf exchange is made. A FlowPort specifies the input and
[a owl:Restriction ; output items that may flow between a Block and its
environment. FlowPorts are interaction points through
owl:allValuesFrom system:InOutFlowProperty ;
which data, material or energy 'can' enter or leave the
owl:onProperty system:bidirectionalFlow owning Block. The specification of what can flow is
]; achieved by typing the FlowPort with a specification of
rdfs:subClassOf things that flow. In general, flow ports are intended to be
[a owl:Restriction ; used for asynchronous, broadcast, or send and forget
owl:allValuesFrom system:Connector ; interactions." .
owl:onProperty system:isSourceFor
];

2/2/2009 INCOSE IW09 MBSE Workshop - SysMO 28


Key Benefits of Semantic Technology

• Information Integration
– Map-able terms to build consistent & extensible vocabularies.
– Integrate models with both structured and unstructured data
• Search and Analysis
– Semantic relationships between data enable powerful queries that
leverage knowledge organized by people to deliver specific answers
in a highly scalable fashion
– Non-programmers can connect , search and analyze data
• Application Longevity and Flexibility
– Future-proof applications (30, 50 100 years) by enabling knowledge
workers to participate in model-based application development

2/2/2009 INCOSE IW09 MBSE Workshop - SysMO 29


How can ontologies help the
Challenge Projects?
• Controlled Vocabularies
• Models of:
– Process, Artifacts, Systems, Interfaces, Data
• For the purpose of:
– Data Interoperability
– Generating Documentation
– Interpretation and Assessment of Work
• Ontology-Driven Systems

2/2/2009 INCOSE IW09 MBSE Workshop - SysMO 30


Using SysMO for Interoperability
between SysML Tools

2/2/2009 INCOSE IW09 MBSE Workshop - SysMO 31


Capability Case: Ontology-Based Data
Exchange (between SysML Tools)
Each tool’s model is converted to triples using SPIN. Triples can be related through
a unified SysMO Model. Data exchange and other operations are then possible.

Tool 1 Models Unified Models Tool 2 Models


SysML Model 1 Domain Models
SPIN SPIN SysML Model 2 Domain Models
SysML Model Domain Models
System Block Vehicle SpaceVehicle
Port + Component
System Block
Port + Vehicle
SubSystem
System Block
Port + SubSystem
Param
Mapping Parameter Mapping Parameter

Rules Rules
XMI Import XMI Import

SPIN Controlled SPIN


Semantic XML Vocabularies Semantic XML
Name and Identifier Alignment
Alignment
Rules
SysML SysML
Tool 1 Units Data Types
Tool 2

Properties +

2/2/2009 INCOSE IW09 MBSE Workshop - SysMO 32


Semantic XML

OWL representation of XML document


•Composite Pattern
•Elements contain Elements
•Elements have attributes
composite:child relation

UBL CreditNote

2/2/2009 INCOSE IW09 MBSE Workshop - SysMO 33


SPIN – using SPARQL as a Rules
Language
• SPIN – SPARQL Inferencing Notation
– A Rules Language based on SPARQL
– define constraints and inference rules on Semantic Web models
– http://spinrdf.org
• Specification for representing SPARQL with RDF
– RDF syntax for SPARQL queries
• Modeling vocabulary
– constraints, constructors, rules
– templates, functions
• Standard Modules Library
– small set of frequently
needed SPARQL queries
more at www.spinRDF.org

2/2/2009 INCOSE IW09 MBSE Workshop - SysMO 34


SPIN Example: Kennedy Family Rules –
Using SPARQL as a Rules Language
Person Class

SPIN Rule using


SPARQL Construct

2/2/2009 INCOSE IW09 MBSE Workshop - SysMO 35


SPIN Example: Kennedy Family Rules
(Template Version)
Template for Rule

Class invokes rules


by passing arguments
to templates

2/2/2009 INCOSE IW09 MBSE Workshop - SysMO 36


Example of a NExIOM SPIN Rule for
XML Generation from NASA Ontologies
CONSTRUCT {
?genlib_rootType sxml:element ?genlib_rootElement .
?genlib_xmlnsType a owl:DatatypeProperty .
?genlib_xmlnsType sxml:attribute ?genlib_rootTypeAttr .
?genlib_root ?genlib_xmlnsType ?genlib_baseURI .
?genlib_root genxml:xsiSchemaLocation ?genlib_location . }
WHERE {
?genlib_root a ?genlib_rootType .
?genlib_rootElement tops:constructString ( "{0}:NExIOM" ?genlib_nsQName ) .
?genlib_rootTypeAttr tops:constructString ( "xmlns:{0}" ?genlib_nsQName ) .
LET (?genlib_xmlnsType := smf:buildURI("{?genlib_nsQName}:baseNSAttribute")) .
?genlib_locationSimple tops:constructString ( "{0} ../NExIOM_XSP_XSD-{1}"
?genlib_baseURI ?genlib_nsQName ) .
?genlib_locationNoNumber tops:constructString ( "{0}.xsd" ?genlib_locationSimple ) .
OPTIONAL {
FILTER (?genlib_revisionNumber != "0") .
?genlib_locationNumber tops:constructString ( "{0}-(v{1}).xsd" ?genlib_locationSimple
?genlib_revisionNumber ) . } .
LET (?genlib_location := smf:if((!bound(?genlib_locationNumber)),
?genlib_locationNoNumber, ?genlib_locationNumber)) .
}

2/2/2009 INCOSE IW09 MBSE Workshop - SysMO 37


Ontology Architecture for SysMO Model
Creation
SysML Metamodel in XMI
SPIN Inferencing

Semantic XML

Composite Pattern

SPIN SPARQL Syntax

2/2/2009 INCOSE IW09 MBSE Workshop - SysMO 38


Semantic XML translation of SysML
using TopBraid Composer

2/2/2009 INCOSE IW09 MBSE Workshop - SysMO 39


Importing XMI.XSD file into TopBraid
Composer provided the start for XMI Ontology

2/2/2009 INCOSE IW09 MBSE Workshop - SysMO 40


Concluding Remarks

• Ontologies can be used both for inferencing and


specification
• Ontology Architecture and Namespace management are
key to success
• OWL + Rules (SPIN) provides expressive support for
knowledge modeling, transformations and
documentation
• OWL can interoperate using XML technologies through
the use of XML SchemaPlus and controlled vocabularies
• Data Quality requires compliance to Naming and
Identifier Rules

2/2/2009 INCOSE IW09 MBSE Workshop - SysMO 41


Thank You

Ralph Hodgson
E-mail: rhodgson at topquadrant.com,
Ralph.Hodgson at nasa.gov
http://del.icio.us/ralphtq

2/2/2009 INCOSE IW09 MBSE Workshop - SysMO 42

Você também pode gostar