OWL2+SWRL to EMF+IQPL
Upcoming SlideShare
Loading in...5
×
 

OWL2+SWRL to EMF+IQPL

on

  • 703 views

 

Statistics

Views

Total Views
703
Views on SlideShare
703
Embed Views
0

Actions

Likes
2
Downloads
3
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

OWL2+SWRL to EMF+IQPL OWL2+SWRL to EMF+IQPL Presentation Transcript

  • Ontology Driven Design of EMF Metamodels and Well-formedness Constraints Benedek Izsó, Zoltán Szatmári, Gábor Bergmann, Ákos Horváth, István Ráth, and Dániel VarróBudapest University of Technology and Economics MODELS Conference – OCL Workshop 2012Fault Tolerant Systems Research Group Innsbruck, Austria, 2012. 09. 30.
  • Overview Motivation Ontology based language engineering process Ontology to DSL mapping Results and future work
  • Motivation Textual Requirements ? DSM Editor «instance of» • early prototyping• Every Switch is supervisedBy • satisfy requirementsat least two Sensors. • (re)validation
  • Motivation Formalized Prototype Requirements Auto-derive DSM Editor «instance of» satisfy Automatically build a DSM editor to design instance modelssatisfying all requirements
  • Modeling techniques Requirements Ontology DSL spec.• Textual • Mathematically • Great tool support• Can be ambiguous, precise semantics • Wide industry usage inconsistent • Efficient meta level • Efficient instance• Expectations of consistency checking model validation stakeholders • Easy schema merg- ing and refactoring
  • Modeling techniques Requirements Consistent translation? Ontology DSL spec.• Textual • Mathematically • Great tool support• Can be ambiguous, precise semantics • Wide industry usage inconsistent • Efficient meta level • Efficient instance• Expectations of consistency checking model validation stakeholders • Easy schema merg- ing and refactoring
  • Ontology-based modeling techniques Modeling techniques Controlled English Tools Automatic transformation Protégé Requirements Ontology DSL spec.• Textual • Mathematically • Great tool support• Can be ambiguous, precise semantics • Wide industry usage inconsistent • Efficient meta level • Efficient instance• Expectations of consistency checking model validation stakeholders • Easy schema merg- ing and refactoring
  • Overview of the approach MappingOntology DSL spec. OWL2 Ecore SWRL IQPL
  • Mapping OWL2 to Ecore (example) Mapping Ontology DSL spec.OWL2 EcoreSWRL IQPL
  • Mapping OWL2 to Ecore (example) Mapping Ontology DSL spec. Every Switch is a TrackElement. Every TrackElement is supervisedBy a Sensor.OWL2 EcoreSWRL IQPL
  • Mapping OWL2 to Ecore (example) Mapping Ontology DSL spec. Every Switch is a TrackElement. Every TrackElement is supervisedBy a Sensor.Switch ⊑ TrackElementSwitch ⊑ OWL2 (Web Ontology Language):∃ supervisedBy.Sensor • W3C Standard for describing semantic web • Axiomatic language: decidable description logic • Here used for metamodel constraint description OWL2 Ecore SWRL IQPL
  • Mapping OWL2 to Ecore (example) Mapping Ontology DSL spec. Every Switch is a TrackElement. Every TrackElement is supervisedBy a Sensor.Switch ⊑ TrackElementSwitch ⊑∃ supervisedBy.Sensor OWL2 Ecore SWRL IQPL
  • Mapping OWL2 to IQPL (example) Mapping Ontology DSL spec.OWL2 EcoreSWRL IQPL
  • Mapping OWL2 to IQPL (example) Mapping Ontology DSL spec. Every Switch is supervisedBy at least two Sensors.OWL2 EcoreSWRL IQPL
  • Mapping OWL2 to IQPL (example) Mapping Ontology DSL spec. Every Switch is supervisedBy at least two Sensors.Switch ⊑≥2 supervisedBy.Sensor OWL2 Ecore SWRL IQPL
  • Mapping OWL2 to IQPL (example) Mapping Ontology DSL spec. Every Switch is supervisedBy at least two Sensors. IQPL (IncQuery Pattern Language): • Graph pattern based model query language • EMF-IncQuery evaluates incrementallySwitch ⊑ NEG supervisedBy≥2 supervisedBy.Sensor s1:Sensor OWL2 Ecore s2:Sensor supervisedBy sw:Switch SWRL IQPL
  • Mapping OWL2 to IQPL (example) Mapping Ontology DSL spec. Every Switch is supervisedBy at least two Sensors.Consequent is negated to match violating elementsSwitch ⊑ NEG supervisedBy≥2 supervisedBy.Sensor s1:Sensor OWL2 Ecore s2:Sensor supervisedBy sw:Switch SWRL IQPL
  • Mapping SWRL to IQPL (example) Mapping Ontology DSL spec.OWL2 EcoreSWRL IQPL
  • Mapping SWRL to IQPL (example) Mapping Ontology DSL spec. Two track elements with same signal must be connected.OWL2 EcoreSWRL IQPL
  • Mapping SWRL to IQPL (example) Mapping Ontology DSL spec. Two track elements with same signal must be connected.TrackElement(?te1),TrackElement(?te2),Signal(?sig),hasSignal(?te1, ?sig),hasSignal(?te2, ?sig), SWRL (Semantic Web Rule Language):DifferentFrom (?te1, ?te2) • Extension of OWL2->connectedTo(?te1, ?te2) • Variables and property expressions can be used OWL2 Ecore • DL-Safe rules maintain decidability SWRL IQPL
  • Mapping SWRL to IQPL (example) Mapping Ontology DSL spec. Two track elements with same signal must be connected.TrackElement(?te1),TrackElement(?te2),Signal(?sig),hasSignal(?te1, ?sig),hasSignal(?te2, ?sig),DifferentFrom (?te1, ?te2) ?te1:TrackElement hasSignal-> NEGconnectedTo(?te1, ?te2) ?sig:Signal connectedTo hasSignal OWL2 Ecore ?te2:TrackElement SWRL IQPL
  • Mapping SWRL to IQPL (example) Mapping Ontology DSL spec. Two track elements with same signal must be connected. pattern invalidWiring(te1, te2, sig) {TrackElement(?te1), TrackElement(te1);TrackElement(?te2), TrackElement(te2);Signal(?sig), Signal(sig);hasSignal(?te1, ?sig), TrackElement.hasSignal(te1, sig);hasSignal(?te2, ?sig), TrackElement.hasSignal(te2, sig);DifferentFrom (?te1, ?te2) te1 != te2;-> neg find connected(te1, te2);connectedTo(?te1, ?te2) } pattern connected(te1, te2) { OWL2 Ecore TrackElement.connectedTo(te1, te2); } SWRL IQPL
  • Language Differences OWL2+SWRL Ecore + IQPL SolutionMultityped instances Object has exactly one Multiple inheritance direct type can be usedRelation inheritance No relation Mapped to GP,allowed inheritance relation instances must be insertedMultiple syntax can Transformed to Ecorehave one semantics or GP depending on the syntaxOpen world Closed world OWA → toleratesassumption assumption incomplete models CWA → complete knowledge assumed
  • Language Differences (OWA → CWA) Ontology DSL spec. Every Switch is supervisedBy at least two Sensors. s2:Sensor supervisedBy sw:Switch
  • Language Differences (OWA → CWA) Ontology DSL spec. Every Switch is supervisedBy at least two Sensors.Open World Assumption:Tolerates incomplete knowledge ✓ Valid s2:Sensor supervisedBy sw:Switch
  • Language Differences (OWA → CWA) Ontology DSL spec. Every Switch is supervisedBy at least two Sensors.Open World Assumption: Closed World Assumption:Tolerates incomplete knowledge Complete knowledge assumed ✓ Valid ✘Invalid s2:Sensor supervisedBy sw:Switch
  • Language Differences (OWA → CWA) Ontology DSL spec. Every Switch is supervisedBy at least two Sensors.Open World Assumption: Closed World Assumption:Tolerates incomplete knowledge Complete knowledge assumed ✓ Valid ✘Invalid s2:Sensor supervisedBy sw:Switch Mapped graph patterns return invalid elements following the close world assumption
  • Implementation Transform Ontology DSL spec. Large part of the language was mapped (~50 axioms and 45 expressions) Transformation is implemented in the VIATRA2 framework with the required ontology importer, Ecore and IQPL exporter Traceability between source and target model An Eclipse plug-in automates the process o Converts ontology with 50 axiom in 30 sec. (code generation dominates)
  • Results Consistent Automatic transformation formalizationRequirements Ontology DSM Editor (textual) (formal) (prototype) «instance of» Efficiently checkconsistent requirements of large, continuously evolving models
  • Results Consistent Automatic transformation formalizationRequirements Ontology DSM Editor (textual) (formal) (prototype) «instance of» Efficiently checkconsistent requirements of large, continuously evolving models
  • Future workRequirements Ontology DSL spec. (textual) (OWL2+SWRL) (Ecore+IQPL) «instance of»
  • Future workRequirements Ontology DSL spec. (textual) (OWL2+SWRL) (Ecore+IQPL) «instance of» «instance of» Ontology instance Instance model mapping
  • Future work Reverse mapping (expressivity!)Requirements Ontology DSL spec. (textual) (OWL2+SWRL) (Ecore+IQPL) «instance of» «instance of» Ontology instance Instance model mapping
  • Future work Reverse mapping (expressivity!)Requirements Ontology DSL spec. (textual) (OWL2+SWRL) (Ecore+IQPL) OCL «instance of» «instance of» Ontology instance Instance model mapping
  • Summary Consistent Automatic transformation formalization MappingRequirements Ontology DSM Editor «instance of» Efficiently checklarge models on-the-fly