SlideShare una empresa de Scribd logo
1 de 35
Descargar para leer sin conexión
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

Más contenido relacionado

Similar a 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: 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
 
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
 

Similar a 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: Daniel varro serene2014_school
SERENE 2014 School: Daniel varro serene2014_schoolSERENE 2014 School: Daniel varro serene2014_school
SERENE 2014 School: Daniel varro serene2014_school
 
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
 

Último

"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 

Último (20)

"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 

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