SlideShare a Scribd company logo
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 2012
Fault 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 requirements
at least two Sensors.
                                  • (re)validation
Motivation


   Formalized                                      Prototype
  Requirements                Auto-derive          DSM Editor

                                            «instance of»

                  satisfy



   Automatically build a
   DSM editor to design
      instance models
satisfying 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
             Mapping
Ontology                 DSL spec.


      OWL2             Ecore


      SWRL             IQPL
Mapping OWL2 to Ecore (example)
                     Mapping
        Ontology               DSL spec.




OWL2         Ecore


SWRL          IQPL
Mapping OWL2 to Ecore (example)
                           Mapping
        Ontology                               DSL spec.

                 Every Switch is a TrackElement.
          Every TrackElement is supervisedBy a Sensor.




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 ⊑ TrackElement
Switch ⊑
                           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 ⊑ TrackElement
Switch ⊑
∃ supervisedBy.Sensor




 OWL2          Ecore


 SWRL          IQPL
Mapping OWL2 to IQPL (example)
                    Mapping
       Ontology               DSL spec.




OWL2        Ecore


SWRL         IQPL
Mapping OWL2 to IQPL (example)
                            Mapping
       Ontology                                  DSL spec.

        Every Switch is supervisedBy at least two Sensors.




OWL2          Ecore


SWRL          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 incrementally


Switch ⊑
                                 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
      elements

Switch ⊑
                                 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        Ecore


SWRL         IQPL
Mapping SWRL to IQPL (example)
                             Mapping
        Ontology                                 DSL spec.

       Two track elements with same signal must be connected.




OWL2            Ecore


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),        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
->                                                                 NEG
connectedTo(?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               Solution
Multityped instances   Object has exactly one   Multiple inheritance
                       direct type              can be used
Relation inheritance   No relation              Mapped to GP,
allowed                inheritance              relation instances
                                                must be inserted
Multiple syntax can                             Transformed to Ecore
have one semantics                              or GP depending on
                                                the syntax
Open world             Closed world             OWA → tolerates
assumption             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
    formalization

Requirements            Ontology               DSM Editor
    (textual)                (formal)            (prototype)

                                                      «instance of»




     Efficiently check
consistent requirements of
   large, continuously
     evolving models
Results
    Consistent                     Automatic transformation
    formalization

Requirements            Ontology               DSM Editor
    (textual)                (formal)            (prototype)

                                                      «instance of»




     Efficiently check
consistent requirements of
   large, continuously
     evolving models
Future work



Requirements   Ontology         DSL spec.
   (textual)   (OWL2+SWRL)       (Ecore+IQPL)
                             «instance of»
Future work



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)
               «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                     Mapping


Requirements               Ontology         DSM Editor

                                                   «instance of»




    Efficiently check
large models on-the-fly

More Related Content

Similar to OWL2+SWRL to EMF+IQPL

Transformer Mods for Document Length Inputs
Transformer Mods for Document Length InputsTransformer Mods for Document Length Inputs
Transformer Mods for Document Length InputsSujit Pal
 
A meta model supporting both hardware and smalltalk-based execution of FPGA c...
A meta model supporting both hardware and smalltalk-based execution of FPGA c...A meta model supporting both hardware and smalltalk-based execution of FPGA c...
A meta model supporting both hardware and smalltalk-based execution of FPGA c...ESUG
 
Overview Of I E C61850 Presentation..... W S M
Overview Of  I E C61850  Presentation..... W S MOverview Of  I E C61850  Presentation..... W S M
Overview Of I E C61850 Presentation..... W S Mginquesada
 
Scaling massive elastic search clusters - Rafał Kuć - Sematext
Scaling massive elastic search clusters - Rafał Kuć - SematextScaling massive elastic search clusters - Rafał Kuć - Sematext
Scaling massive elastic search clusters - Rafał Kuć - SematextRafał Kuć
 
Wrapper induction construct wrappers automatically to extract information f...
Wrapper induction   construct wrappers automatically to extract information f...Wrapper induction   construct wrappers automatically to extract information f...
Wrapper induction construct wrappers automatically to extract information f...George Ang
 
Fast, Faster and Super-Fast Queries
Fast, Faster and Super-Fast QueriesFast, Faster and Super-Fast Queries
Fast, Faster and Super-Fast QueriesEdward Willink
 
Summer training vhdl
Summer training vhdlSummer training vhdl
Summer training vhdlArshit Rai
 
2017:12:06 acl読み会"Learning attention for historical text normalization by lea...
2017:12:06 acl読み会"Learning attention for historical text normalization by lea...2017:12:06 acl読み会"Learning attention for historical text normalization by lea...
2017:12:06 acl読み会"Learning attention for historical text normalization by lea...ayaha osaki
 
Requirements in Cyber-Physical Systems: Specifications and Applications
Requirements in Cyber-Physical Systems: Specifications and ApplicationsRequirements in Cyber-Physical Systems: Specifications and Applications
Requirements in Cyber-Physical Systems: Specifications and ApplicationsLionel Briand
 
High-performance model queries
High-performance model queriesHigh-performance model queries
High-performance model queriesIstvan Rath
 
Summer training vhdl
Summer training vhdlSummer training vhdl
Summer training vhdlArshit Rai
 
On the Use of an Internal DSL for Enriching EMF Models
On the Use of an Internal DSL for Enriching EMF ModelsOn the Use of an Internal DSL for Enriching EMF Models
On the Use of an Internal DSL for Enriching EMF ModelsFilip Krikava
 
Spark NLP: State of the Art Natural Language Processing at Scale
Spark NLP: State of the Art Natural Language Processing at ScaleSpark NLP: State of the Art Natural Language Processing at Scale
Spark NLP: State of the Art Natural Language Processing at ScaleDatabricks
 
Aiche 2008, Philadelphia
Aiche 2008, PhiladelphiaAiche 2008, Philadelphia
Aiche 2008, Philadelphiajshine
 
Implementation of quantum gates using verilog
Implementation of quantum gates using verilogImplementation of quantum gates using verilog
Implementation of quantum gates using verilogShashank Kumar
 
Generating Assertion Code from OCL: A Transformational Approach Based on Simi...
Generating Assertion Code from OCL: A Transformational Approach Based on Simi...Generating Assertion Code from OCL: A Transformational Approach Based on Simi...
Generating Assertion Code from OCL: A Transformational Approach Based on Simi...Shinpei Hayashi
 
SERENE 2014 School: Incremental Model Queries over the Cloud
SERENE 2014 School: Incremental Model Queries over the CloudSERENE 2014 School: Incremental Model Queries over the Cloud
SERENE 2014 School: Incremental Model Queries over the CloudSERENEWorkshop
 
SERENE 2014 School: Daniel varro serene2014_school
SERENE 2014 School: Daniel varro serene2014_schoolSERENE 2014 School: Daniel varro serene2014_school
SERENE 2014 School: Daniel varro serene2014_schoolHenry Muccini
 

Similar to OWL2+SWRL to EMF+IQPL (20)

Transformer Mods for Document Length Inputs
Transformer Mods for Document Length InputsTransformer Mods for Document Length Inputs
Transformer Mods for Document Length Inputs
 
Eclipse OCL Summary
Eclipse OCL SummaryEclipse OCL Summary
Eclipse OCL Summary
 
A meta model supporting both hardware and smalltalk-based execution of FPGA c...
A meta model supporting both hardware and smalltalk-based execution of FPGA c...A meta model supporting both hardware and smalltalk-based execution of FPGA c...
A meta model supporting both hardware and smalltalk-based execution of FPGA c...
 
Overview Of I E C61850 Presentation..... W S M
Overview Of  I E C61850  Presentation..... W S MOverview Of  I E C61850  Presentation..... W S M
Overview Of I E C61850 Presentation..... W S M
 
Scaling massive elastic search clusters - Rafał Kuć - Sematext
Scaling massive elastic search clusters - Rafał Kuć - SematextScaling massive elastic search clusters - Rafał Kuć - Sematext
Scaling massive elastic search clusters - Rafał Kuć - Sematext
 
Wrapper induction construct wrappers automatically to extract information f...
Wrapper induction   construct wrappers automatically to extract information f...Wrapper induction   construct wrappers automatically to extract information f...
Wrapper induction construct wrappers automatically to extract information f...
 
DLD5.pdf
DLD5.pdfDLD5.pdf
DLD5.pdf
 
Fast, Faster and Super-Fast Queries
Fast, Faster and Super-Fast QueriesFast, Faster and Super-Fast Queries
Fast, Faster and Super-Fast Queries
 
Summer training vhdl
Summer training vhdlSummer training vhdl
Summer training vhdl
 
2017:12:06 acl読み会"Learning attention for historical text normalization by lea...
2017:12:06 acl読み会"Learning attention for historical text normalization by lea...2017:12:06 acl読み会"Learning attention for historical text normalization by lea...
2017:12:06 acl読み会"Learning attention for historical text normalization by lea...
 
Requirements in Cyber-Physical Systems: Specifications and Applications
Requirements in Cyber-Physical Systems: Specifications and ApplicationsRequirements in Cyber-Physical Systems: Specifications and Applications
Requirements in Cyber-Physical Systems: Specifications and Applications
 
High-performance model queries
High-performance model queriesHigh-performance model queries
High-performance model queries
 
Summer training vhdl
Summer training vhdlSummer training vhdl
Summer training vhdl
 
On the Use of an Internal DSL for Enriching EMF Models
On the Use of an Internal DSL for Enriching EMF ModelsOn the Use of an Internal DSL for Enriching EMF Models
On the Use of an Internal DSL for Enriching EMF Models
 
Spark NLP: State of the Art Natural Language Processing at Scale
Spark NLP: State of the Art Natural Language Processing at ScaleSpark NLP: State of the Art Natural Language Processing at Scale
Spark NLP: State of the Art Natural Language Processing at Scale
 
Aiche 2008, Philadelphia
Aiche 2008, PhiladelphiaAiche 2008, Philadelphia
Aiche 2008, Philadelphia
 
Implementation of quantum gates using verilog
Implementation of quantum gates using verilogImplementation of quantum gates using verilog
Implementation of quantum gates using verilog
 
Generating Assertion Code from OCL: A Transformational Approach Based on Simi...
Generating Assertion Code from OCL: A Transformational Approach Based on Simi...Generating Assertion Code from OCL: A Transformational Approach Based on Simi...
Generating Assertion Code from OCL: A Transformational Approach Based on Simi...
 
SERENE 2014 School: Incremental Model Queries over the Cloud
SERENE 2014 School: Incremental Model Queries over the CloudSERENE 2014 School: Incremental Model Queries over the Cloud
SERENE 2014 School: Incremental Model Queries over the Cloud
 
SERENE 2014 School: Daniel varro serene2014_school
SERENE 2014 School: Daniel varro serene2014_schoolSERENE 2014 School: Daniel varro serene2014_school
SERENE 2014 School: Daniel varro serene2014_school
 

Recently uploaded

JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaRTTS
 
Strategic AI Integration in Engineering Teams
Strategic AI Integration in Engineering TeamsStrategic AI Integration in Engineering Teams
Strategic AI Integration in Engineering TeamsUXDXConf
 
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxUnpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxDavid Michel
 
Introduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG EvaluationIntroduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG EvaluationZilliz
 
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeFree and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeCzechDreamin
 
Motion for AI: Creating Empathy in Technology
Motion for AI: Creating Empathy in TechnologyMotion for AI: Creating Empathy in Technology
Motion for AI: Creating Empathy in TechnologyUXDXConf
 
Server-Driven User Interface (SDUI) at Priceline
Server-Driven User Interface (SDUI) at PricelineServer-Driven User Interface (SDUI) at Priceline
Server-Driven User Interface (SDUI) at PricelineUXDXConf
 
The architecture of Generative AI for enterprises.pdf
The architecture of Generative AI for enterprises.pdfThe architecture of Generative AI for enterprises.pdf
The architecture of Generative AI for enterprises.pdfalexjohnson7307
 
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀DianaGray10
 
WSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptxWSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptxJennifer Lim
 
AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101vincent683379
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
 
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlFuture Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlPeter Udo Diehl
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backElena Simperl
 
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...CzechDreamin
 
IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoTAnalytics
 
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...CzechDreamin
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonDianaGray10
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Tobias Schneck
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
 

Recently uploaded (20)

JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
Strategic AI Integration in Engineering Teams
Strategic AI Integration in Engineering TeamsStrategic AI Integration in Engineering Teams
Strategic AI Integration in Engineering Teams
 
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxUnpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
 
Introduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG EvaluationIntroduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG Evaluation
 
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeFree and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
 
Motion for AI: Creating Empathy in Technology
Motion for AI: Creating Empathy in TechnologyMotion for AI: Creating Empathy in Technology
Motion for AI: Creating Empathy in Technology
 
Server-Driven User Interface (SDUI) at Priceline
Server-Driven User Interface (SDUI) at PricelineServer-Driven User Interface (SDUI) at Priceline
Server-Driven User Interface (SDUI) at Priceline
 
The architecture of Generative AI for enterprises.pdf
The architecture of Generative AI for enterprises.pdfThe architecture of Generative AI for enterprises.pdf
The architecture of Generative AI for enterprises.pdf
 
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
 
WSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptxWSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptx
 
AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlFuture Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
 
IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024
 
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 

OWL2+SWRL to EMF+IQPL

  • 1. 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 2012 Fault Tolerant Systems Research Group Innsbruck, Austria, 2012. 09. 30.
  • 2. Overview  Motivation  Ontology based language engineering process  Ontology to DSL mapping  Results and future work
  • 3. Motivation Textual Requirements ? DSM Editor «instance of» • early prototyping • Every Switch is supervisedBy • satisfy requirements at least two Sensors. • (re)validation
  • 4. Motivation Formalized Prototype Requirements Auto-derive DSM Editor «instance of» satisfy Automatically build a DSM editor to design instance models satisfying all requirements
  • 5. 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
  • 6. 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
  • 7. 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
  • 8. Overview of the approach Mapping Ontology DSL spec. OWL2 Ecore SWRL IQPL
  • 9. Mapping OWL2 to Ecore (example) Mapping Ontology DSL spec. OWL2 Ecore SWRL IQPL
  • 10. Mapping OWL2 to Ecore (example) Mapping Ontology DSL spec. Every Switch is a TrackElement. Every TrackElement is supervisedBy a Sensor. OWL2 Ecore SWRL IQPL
  • 11. Mapping OWL2 to Ecore (example) Mapping Ontology DSL spec. Every Switch is a TrackElement. Every TrackElement is supervisedBy a Sensor. Switch ⊑ TrackElement Switch ⊑ 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
  • 12. Mapping OWL2 to Ecore (example) Mapping Ontology DSL spec. Every Switch is a TrackElement. Every TrackElement is supervisedBy a Sensor. Switch ⊑ TrackElement Switch ⊑ ∃ supervisedBy.Sensor OWL2 Ecore SWRL IQPL
  • 13. Mapping OWL2 to IQPL (example) Mapping Ontology DSL spec. OWL2 Ecore SWRL IQPL
  • 14. Mapping OWL2 to IQPL (example) Mapping Ontology DSL spec. Every Switch is supervisedBy at least two Sensors. OWL2 Ecore SWRL IQPL
  • 15. 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
  • 16. 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 incrementally Switch ⊑ NEG supervisedBy ≥2 supervisedBy.Sensor s1:Sensor OWL2 Ecore s2:Sensor supervisedBy sw:Switch SWRL IQPL
  • 17. Mapping OWL2 to IQPL (example) Mapping Ontology DSL spec. Every Switch is supervisedBy at least two Sensors. Consequent is negated to match violating elements Switch ⊑ NEG supervisedBy ≥2 supervisedBy.Sensor s1:Sensor OWL2 Ecore s2:Sensor supervisedBy sw:Switch SWRL IQPL
  • 18. Mapping SWRL to IQPL (example) Mapping Ontology DSL spec. OWL2 Ecore SWRL IQPL
  • 19. Mapping SWRL to IQPL (example) Mapping Ontology DSL spec. Two track elements with same signal must be connected. OWL2 Ecore SWRL IQPL
  • 20. 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
  • 21. 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 -> NEG connectedTo(?te1, ?te2) ?sig:Signal connectedTo hasSignal OWL2 Ecore ?te2:TrackElement SWRL IQPL
  • 22. 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
  • 23. Language Differences OWL2+SWRL Ecore + IQPL Solution Multityped instances Object has exactly one Multiple inheritance direct type can be used Relation inheritance No relation Mapped to GP, allowed inheritance relation instances must be inserted Multiple syntax can Transformed to Ecore have one semantics or GP depending on the syntax Open world Closed world OWA → tolerates assumption assumption incomplete models CWA → complete knowledge assumed
  • 24. Language Differences (OWA → CWA) Ontology DSL spec. Every Switch is supervisedBy at least two Sensors. s2:Sensor supervisedBy sw:Switch
  • 25. 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
  • 26. 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
  • 27. 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
  • 28. 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)
  • 29. Results Consistent Automatic transformation formalization Requirements Ontology DSM Editor (textual) (formal) (prototype) «instance of» Efficiently check consistent requirements of large, continuously evolving models
  • 30. Results Consistent Automatic transformation formalization Requirements Ontology DSM Editor (textual) (formal) (prototype) «instance of» Efficiently check consistent requirements of large, continuously evolving models
  • 31. Future work Requirements Ontology DSL spec. (textual) (OWL2+SWRL) (Ecore+IQPL) «instance of»
  • 32. Future work Requirements Ontology DSL spec. (textual) (OWL2+SWRL) (Ecore+IQPL) «instance of» «instance of» Ontology instance Instance model mapping
  • 33. Future work Reverse mapping (expressivity!) Requirements Ontology DSL spec. (textual) (OWL2+SWRL) (Ecore+IQPL) «instance of» «instance of» Ontology instance Instance model mapping
  • 34. Future work Reverse mapping (expressivity!) Requirements Ontology DSL spec. (textual) (OWL2+SWRL) (Ecore+IQPL) OCL «instance of» «instance of» Ontology instance Instance model mapping
  • 35. Summary Consistent Automatic transformation formalization Mapping Requirements Ontology DSM Editor «instance of» Efficiently check large models on-the-fly