SlideShare uma empresa Scribd logo
1 de 22
OntoDSL An Ontology-Based Framework for  Domain-Specific Languages Tobias Walter Fernando Silva Parreiras Steffen Staab 08.10.2009
Objectives ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Scenario (Roles) Abstract syntax Semantics Concrete syntax Guidance and services Constraints DSL User DSL Designer DSL Metamodel uses specifies Domain Model builds Metamodeling Language uses Framework Developer specifies requires based on defined in
Scenario ,[object Object],Cisco 7603: ,[object Object],[object Object],[object Object],[object Object],Domain Model: SupervisorEngine HotSwappableOSM Slot Slot Slot Configuration Device DSL Designer
Scenario (DSL User) ,[object Object],[object Object],[object Object],[object Object],(inconsistent) Error HotSwappableOSM Configuration Device DSL User
Scenario (DSL User) ,[object Object],[object Object],[object Object],[object Object],[object Object],HotSwappableOSM ,[object Object],(consistent) Slot Slot Slot Configuration Device DSL User
Scenario (DSL User) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],(inconsistent) Error Error Error Explanation: Configuration  hasSlot some  Slot  and hasCard some  SupervisorEngine SPAInterface HotSwappableOSM HotSwappableOSM Slot Slot Slot Configuration Device DSL User
Scenario (DSL User) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],(consistent) SupervisorEngine HotSwappableOSM Slot Slot Slot Configuration DSL User Configuration7603 Device Cisco7603
State of the Art ,[object Object],[object Object],[object Object],[object Object],class  Device { reference  hasConfiguration [1-*]: Configuration; } class  Cicso7603  extends  Device{ } class  Configuration { reference  hasSlot [1-*]: Slot; } class  Configuration7603  extends  Configuration{ } class  Slot { reference  hasCard [1-*]: Card; } class  Card { } DSL Designer
Description Logics ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Knowledge Base TBox ABox Inference Engine Application
Description Logic (Example) ,[object Object],[object Object],Configuration7603(conf) Cisco7603(cisco)
Description Logics ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],DSL Designer
Proposed Solution ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Ontology-based framework for domain-specific languages DSL User DSL Designer Framework Developer
Model-based Integration Architecture ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],DSL User DSL Designer Framework Developer
Integrated Modeling ,[object Object],class  Device { reference  hasConfiguration [1-*]: Configuration; } class  Cisco7603  extends  Device  } class  Configuration  reference  hasSlot : Slot; } class  Configuration7603  extends  Configuration } class  Slot { reference  hasCard [1-*]: Card; } ,  equivalentWith restrictionOn  hasConfiguration  with min  1 Configuration7603  { { equivalentWith  IntersectionOf(restrictionOn  hasSlot  with min  1 Slot,  restrictionOn  hasSlot  some   restrictionOn  hasCard  some  SupervisorEngine)  { { , equivalentWith   IntersectionOf ( restrictionOn  hasSlot  with exactly  3 Slot, restrictionOn  hasSlot  with some   restrictionOn  hasCard  with some UnionOf (HotSwappableOSM, SPAInterface)  { { DSL Designer
Benefits of DL in Domain Modeling ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Conclusion ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],DSL User DSL Designer Framework Developer
Discussion… ,[object Object],[object Object],http://ontodsl.semanticsoftware.eu Supported by EU STReP-216691 MOST
Description Logic (Example) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],TBox (Concepts):
Description Logic (Example) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],TBox (Roles):
Description Logic (Example) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Individual: cisco Types: Device  Facts: hasConfiguration conf Individual: conf Types: Configuration7603,  Facts: hasSlot slot1, hasSlot slot2, hasSlot slot3 Individual: slot1 Types: Slot Facts: hasCard supervisor720 Individual: slot2 Types: Slot  Facts: hasCard spa1 Individual: slot3 Types: Slot  Facts: hasCard hotSwappable  Individual: spa1 Types: SPAInterface Individual: supervisor720 Types: SupervisorEngine Individual: hotSwappable Types: HotSwappableOSM ABox:
Description Logic (Example) ABox:

Mais conteúdo relacionado

Mais procurados

DDS Programming with IDL to C++11 tutorial
DDS Programming with IDL to C++11 tutorialDDS Programming with IDL to C++11 tutorial
DDS Programming with IDL to C++11 tutorialRemedy IT
 
NHibernate (The ORM For .NET Platform)
NHibernate (The ORM For .NET Platform)NHibernate (The ORM For .NET Platform)
NHibernate (The ORM For .NET Platform)Samnang Chhun
 
Introduction to NHibernate
Introduction to NHibernateIntroduction to NHibernate
Introduction to NHibernateDublin Alt,Net
 
Xml processing-by-asfak
Xml processing-by-asfakXml processing-by-asfak
Xml processing-by-asfakAsfak Mahamud
 

Mais procurados (6)

DDS Programming with IDL to C++11 tutorial
DDS Programming with IDL to C++11 tutorialDDS Programming with IDL to C++11 tutorial
DDS Programming with IDL to C++11 tutorial
 
A3 from sql to orm
A3 from sql to ormA3 from sql to orm
A3 from sql to orm
 
NHibernate
NHibernateNHibernate
NHibernate
 
NHibernate (The ORM For .NET Platform)
NHibernate (The ORM For .NET Platform)NHibernate (The ORM For .NET Platform)
NHibernate (The ORM For .NET Platform)
 
Introduction to NHibernate
Introduction to NHibernateIntroduction to NHibernate
Introduction to NHibernate
 
Xml processing-by-asfak
Xml processing-by-asfakXml processing-by-asfak
Xml processing-by-asfak
 

Semelhante a OntoDSL: An Ontology-Based Framework for Domain-Specific Languages

Domain-Specific Languages for Composable Editor Plugins (LDTA 2009)
Domain-Specific Languages for Composable Editor Plugins (LDTA 2009)Domain-Specific Languages for Composable Editor Plugins (LDTA 2009)
Domain-Specific Languages for Composable Editor Plugins (LDTA 2009)lennartkats
 
Runtime Environment Of .Net Divya Rathore
Runtime Environment Of .Net Divya RathoreRuntime Environment Of .Net Divya Rathore
Runtime Environment Of .Net Divya RathoreEsha Yadav
 
Cisco Networking - WAN Implementation with SOHO ConfigurationYou.docx
Cisco Networking - WAN Implementation with SOHO ConfigurationYou.docxCisco Networking - WAN Implementation with SOHO ConfigurationYou.docx
Cisco Networking - WAN Implementation with SOHO ConfigurationYou.docxbrownliecarmella
 
DDS Advanced Tutorial - OMG June 2013 Berlin Meeting
DDS Advanced Tutorial - OMG June 2013 Berlin MeetingDDS Advanced Tutorial - OMG June 2013 Berlin Meeting
DDS Advanced Tutorial - OMG June 2013 Berlin MeetingJaime Martin Losa
 
Mainframe Technology Overview
Mainframe Technology OverviewMainframe Technology Overview
Mainframe Technology OverviewHaim Ben Zagmi
 
SAP integration sample payloads for Azure Logic Apps
SAP integration sample payloads for Azure Logic AppsSAP integration sample payloads for Azure Logic Apps
SAP integration sample payloads for Azure Logic AppsDavid Burg
 
Smoothing Your Java with DSLs
Smoothing Your Java with DSLsSmoothing Your Java with DSLs
Smoothing Your Java with DSLsintelliyole
 
The Power of Relationships in Your Big Data
The Power of Relationships in Your Big DataThe Power of Relationships in Your Big Data
The Power of Relationships in Your Big DataPaulo Fagundes
 
Oracle NoSQL Database release 3.0 overview
Oracle NoSQL Database release 3.0 overviewOracle NoSQL Database release 3.0 overview
Oracle NoSQL Database release 3.0 overviewDave Segleau
 
System on Chip Design and Modelling Dr. David J Greaves
System on Chip Design and Modelling   Dr. David J GreavesSystem on Chip Design and Modelling   Dr. David J Greaves
System on Chip Design and Modelling Dr. David J GreavesSatya Harish
 
Distributed Systems: How to connect your real-time applications
Distributed Systems: How to connect your real-time applicationsDistributed Systems: How to connect your real-time applications
Distributed Systems: How to connect your real-time applicationsJaime Martin Losa
 
DC-2008 Architecture Forum Open session
DC-2008 Architecture Forum Open sessionDC-2008 Architecture Forum Open session
DC-2008 Architecture Forum Open sessionMikael Nilsson
 
Tag Integration with Schneider Electric PLCs and Modbus in InduSoft Web Studio
Tag Integration with Schneider Electric PLCs and Modbus in InduSoft Web StudioTag Integration with Schneider Electric PLCs and Modbus in InduSoft Web Studio
Tag Integration with Schneider Electric PLCs and Modbus in InduSoft Web StudioAVEVA
 
Serverless Analytics with Amazon Redshift Spectrum, AWS Glue, and Amazon Quic...
Serverless Analytics with Amazon Redshift Spectrum, AWS Glue, and Amazon Quic...Serverless Analytics with Amazon Redshift Spectrum, AWS Glue, and Amazon Quic...
Serverless Analytics with Amazon Redshift Spectrum, AWS Glue, and Amazon Quic...Amazon Web Services
 
Alberto Maria Angelo Paro - Isomorphic programming in Scala and WebDevelopmen...
Alberto Maria Angelo Paro - Isomorphic programming in Scala and WebDevelopmen...Alberto Maria Angelo Paro - Isomorphic programming in Scala and WebDevelopmen...
Alberto Maria Angelo Paro - Isomorphic programming in Scala and WebDevelopmen...Codemotion
 
Approaching to domain driven development
Approaching to domain driven developmentApproaching to domain driven development
Approaching to domain driven developmentdaxnet
 
Reverse Engineering of Rocket Chip
Reverse Engineering of Rocket ChipReverse Engineering of Rocket Chip
Reverse Engineering of Rocket ChipRISC-V International
 
What you need to know about .NET Core 3.0 and beyond
What you need to know about .NET Core 3.0 and beyondWhat you need to know about .NET Core 3.0 and beyond
What you need to know about .NET Core 3.0 and beyondJon Galloway
 
Introducing SOA and Oracle SOA Suite 11g for Database Professionals
Introducing SOA and Oracle SOA Suite 11g for Database ProfessionalsIntroducing SOA and Oracle SOA Suite 11g for Database Professionals
Introducing SOA and Oracle SOA Suite 11g for Database ProfessionalsLucas Jellema
 

Semelhante a OntoDSL: An Ontology-Based Framework for Domain-Specific Languages (20)

Ontology Based Domain Specific Languages
Ontology Based Domain Specific LanguagesOntology Based Domain Specific Languages
Ontology Based Domain Specific Languages
 
Domain-Specific Languages for Composable Editor Plugins (LDTA 2009)
Domain-Specific Languages for Composable Editor Plugins (LDTA 2009)Domain-Specific Languages for Composable Editor Plugins (LDTA 2009)
Domain-Specific Languages for Composable Editor Plugins (LDTA 2009)
 
Runtime Environment Of .Net Divya Rathore
Runtime Environment Of .Net Divya RathoreRuntime Environment Of .Net Divya Rathore
Runtime Environment Of .Net Divya Rathore
 
Cisco Networking - WAN Implementation with SOHO ConfigurationYou.docx
Cisco Networking - WAN Implementation with SOHO ConfigurationYou.docxCisco Networking - WAN Implementation with SOHO ConfigurationYou.docx
Cisco Networking - WAN Implementation with SOHO ConfigurationYou.docx
 
DDS Advanced Tutorial - OMG June 2013 Berlin Meeting
DDS Advanced Tutorial - OMG June 2013 Berlin MeetingDDS Advanced Tutorial - OMG June 2013 Berlin Meeting
DDS Advanced Tutorial - OMG June 2013 Berlin Meeting
 
Mainframe Technology Overview
Mainframe Technology OverviewMainframe Technology Overview
Mainframe Technology Overview
 
SAP integration sample payloads for Azure Logic Apps
SAP integration sample payloads for Azure Logic AppsSAP integration sample payloads for Azure Logic Apps
SAP integration sample payloads for Azure Logic Apps
 
Smoothing Your Java with DSLs
Smoothing Your Java with DSLsSmoothing Your Java with DSLs
Smoothing Your Java with DSLs
 
The Power of Relationships in Your Big Data
The Power of Relationships in Your Big DataThe Power of Relationships in Your Big Data
The Power of Relationships in Your Big Data
 
Oracle NoSQL Database release 3.0 overview
Oracle NoSQL Database release 3.0 overviewOracle NoSQL Database release 3.0 overview
Oracle NoSQL Database release 3.0 overview
 
System on Chip Design and Modelling Dr. David J Greaves
System on Chip Design and Modelling   Dr. David J GreavesSystem on Chip Design and Modelling   Dr. David J Greaves
System on Chip Design and Modelling Dr. David J Greaves
 
Distributed Systems: How to connect your real-time applications
Distributed Systems: How to connect your real-time applicationsDistributed Systems: How to connect your real-time applications
Distributed Systems: How to connect your real-time applications
 
DC-2008 Architecture Forum Open session
DC-2008 Architecture Forum Open sessionDC-2008 Architecture Forum Open session
DC-2008 Architecture Forum Open session
 
Tag Integration with Schneider Electric PLCs and Modbus in InduSoft Web Studio
Tag Integration with Schneider Electric PLCs and Modbus in InduSoft Web StudioTag Integration with Schneider Electric PLCs and Modbus in InduSoft Web Studio
Tag Integration with Schneider Electric PLCs and Modbus in InduSoft Web Studio
 
Serverless Analytics with Amazon Redshift Spectrum, AWS Glue, and Amazon Quic...
Serverless Analytics with Amazon Redshift Spectrum, AWS Glue, and Amazon Quic...Serverless Analytics with Amazon Redshift Spectrum, AWS Glue, and Amazon Quic...
Serverless Analytics with Amazon Redshift Spectrum, AWS Glue, and Amazon Quic...
 
Alberto Maria Angelo Paro - Isomorphic programming in Scala and WebDevelopmen...
Alberto Maria Angelo Paro - Isomorphic programming in Scala and WebDevelopmen...Alberto Maria Angelo Paro - Isomorphic programming in Scala and WebDevelopmen...
Alberto Maria Angelo Paro - Isomorphic programming in Scala and WebDevelopmen...
 
Approaching to domain driven development
Approaching to domain driven developmentApproaching to domain driven development
Approaching to domain driven development
 
Reverse Engineering of Rocket Chip
Reverse Engineering of Rocket ChipReverse Engineering of Rocket Chip
Reverse Engineering of Rocket Chip
 
What you need to know about .NET Core 3.0 and beyond
What you need to know about .NET Core 3.0 and beyondWhat you need to know about .NET Core 3.0 and beyond
What you need to know about .NET Core 3.0 and beyond
 
Introducing SOA and Oracle SOA Suite 11g for Database Professionals
Introducing SOA and Oracle SOA Suite 11g for Database ProfessionalsIntroducing SOA and Oracle SOA Suite 11g for Database Professionals
Introducing SOA and Oracle SOA Suite 11g for Database Professionals
 

OntoDSL: An Ontology-Based Framework for Domain-Specific Languages

  • 1. OntoDSL An Ontology-Based Framework for Domain-Specific Languages Tobias Walter Fernando Silva Parreiras Steffen Staab 08.10.2009
  • 2.
  • 3. Scenario (Roles) Abstract syntax Semantics Concrete syntax Guidance and services Constraints DSL User DSL Designer DSL Metamodel uses specifies Domain Model builds Metamodeling Language uses Framework Developer specifies requires based on defined in
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.

Notas do Editor

  1. DSL User Uses domain-specific language to create domain models E.g. Models are financial contracts (bank officer), network device configuration (system engineer) Needs services for productively modeling DSL Designer Creates metamodels to specify the domain specific language Provides concrete syntax to DSL users Supports the DSL user, e.g. by guidance, validation
  2. The complete box is called a chassis. The chassis consists of different cards, for example: Supervisor Engine 720 card for different IP and security features SPA Interface Card for 1-Gbps broadband connections (OSM Card) Hot Swap Controller for swapping cards at runtime (OSM Card)
  3. Incomplete and inconsistent -> Reasoning Explanation
  4. Incomplete and consistent -> Validating possible
  5. Complete and inconsistent
  6. Complete and consistent -> dynamic classification (refine the model)
  7. 9
  8. 11
  9. 13
  10. 12
  11. 18
  12. Folie 8
  13. Folie 8
  14. Folie 8
  15. Folie 8