from a single ontologically sound conceptual model to multiple physical schema languages bruce t....
TRANSCRIPT
1
Separating Semantics and Implementation
From a Single Ontologically Sound Conceptual Model to Multiple Physical
Schema Languages
Bruce T. Bauman, U.S. DoD
2
AgendaMotivationChallengeOntoUMLCompiling
RDFSXSDSQL
SummaryFurther WorkConclusion
3
Model Types
Implementation
Perspective
System
Project
Enterprise
RepresentationNeutral
ProductSpecific
Conceptual
Logical
Optimized PhysicalPhysical
TechnologySpecific
Greater Detail
Fewer Models
Greater
Complexity
Reflects
Semantics
Greater Reuse
4
Model Types - Languages
Implementation
Perspective
System
Project
Enterprise
Neutral Product
Conceptual
Logical
Optimized PhysicalPhysical
Technology
OntoUML
OntoUML with limited encoding annotations
Technology specific tooling
Full use of encoding annotations
5
Why existing languages don’t cut itLanguages pitched at analysis and design
(e.g., UML, ERD)Optimized for design targeting specific
technologiesDon’t have a well defined semantic mapping
Implementation languages (e.g., XML Schema, DDL, OWL, RDFS)Clearly they have made implementation trades.
Natural Language Not precise enough.
6
Unified Foundational Ontology (UFO) Created by Giancarlo GuizzardiFor Conceptual / Analysis modelingOntologically BasedUML class diagram notation
7
Our subset of OntoUMLClasses
<<kind>> <<category>> <<role>> <<roleCategory>> <<dependent>> <<associative>> <<event>>
Associations <<non-dependency>> <<dependency>> <<composition>> <<aggregation>> (merelogical
relations)AttributesDatatypes
<<primitive>> <<domain>>3 <<enumeration>> <<structure>> <<union>>3
8
ClassesConcept Rigidity Identity Existential
DependenceExample
<<kind>> Rigid Unified Independent Person
<<role>> Anti-Rigid Unified Independent Spouse
<<dependent>>
Rigid Unified Dependent Mental State
<<associative>>
Rigid Unified Dependent Marriage
<<category>>
Rigid Dispersive Independent Party
<<roleCategory>>
Anti-Rigid Dispersive Independent Customer
9
The finished product
10
XSD – key assignment
11
Association Encoding - embedTarget
id : stringattrib : integer
Source
id : stringattrib : integer
associationA B
1..* 1..*
<Source> <Id>Value</Id> <Attrib>Value</Attrib> <Target> <Id>Value</Id> <Attrib>Value</Attrib> </Target></Source>
Include Association: true false Global
AN/A
BNavigable Include Endpoint true false Encoding : embed
12
Association Encoding - reference
Target
id : stringattrib : integer
Source
id : stringattrib : integer
associationA B
1..* 1..*
<Source> <Target> <Id>FK Value</Id> </Target></Source>
Include Association: true false Global
AN/A
BNavigable Include Endpoint true false Encoding : reference
13
Association Encoding - linkTarget
id : stringattrib : integer
Source
id : stringattrib : integer
associationA B
1..* 1..*
<Source><Target href=“”/></Source>
Include Association: true false Global
AN/A
BNavigable Include Endpoint true false Encoding : link
14
Association Encoding - partsTarget
id : stringattrib : integer
Source
id : stringattrib : integer
associationA B
1..* 1..*
<Source> <Target>FK Value</Target></Source>
Include Association: true false Global
AN/A
BNavigable Include Endpoint true false Encoding : reference
15
Association Encoding - partsTarget
id : stringattrib : integer
Source
id : stringattrib : integer
associationA B
1..* 1..*
Include Association: true false Global
AN/A
BNavigable Include Endpoint true false Encoding : reference
<Source><Association> <Target> <Id>FK Value</Id> </Target> </Association></Source>
16
Association Encoding - partsTarget
id : stringattrib : integer
Source
id : stringattrib : integer
associationA B
1..* 1..*
Include Association: true false Global
AN/A
BNavigable Include Endpoint true false Encoding : reference
<Association> <Source>FK Value</Source> <Target>FK Value</Target></Association>
17
Successes / ObservationsIt actually does workUsed on many projectsModel reuse is occurringEncoding rules are sufficient however new
encoding patterns are still being discoveredProjects select very different encodings
18
ChallengesHard but not too hard
Physical Model Duality (encoding can seem like magic)
ToolsReally Hard
TalentCulture
Things to considerReturn on Investment
19
Future WorkBetter visualizationChange managementContinue to improve documentationPrototype other implementationsExplore semi-automatic translation