towards semantic modeling of network physical devices
DESCRIPTION
Talk in the Doctoral Symposium of 12th International Conference on Model Driven Engineering Languages and Systems, MoDELS, 6 October 2009, Denver, United States.TRANSCRIPT
<is web> Information Systems & Semantic WebUniversity of Koblenz ▪ Landau, Germany
Tobias WalterUniversity of Koblenz-Landau, Germany
Krzysztof Miksa, Marek Kasztelnik, Pawel SabinaComarch SA, Poland
Towards Semantic Modelling of Network Physical Devices
Workshop on Transforming and Weaving Ontologies in Model Driven Engineering (TWOMDE)
04.10.2009, Denver, Colorado
<is web>
ISWeb - Information Systems & Semantic Web
Tobias [email protected]
TWOMDE’09
2 of 20
Objectives
Scenario• Roles• Requirements
Languages• Physical Device DSL• Phyiscal Device Instance DSL
Transformation of languages to ontology
Conclusion
1 of 8
<is web>
ISWeb - Information Systems & Semantic Web
Tobias [email protected]
TWOMDE’09
3 of 20
Scenario (Roles)
DSL User
DSL Designer DSLMetamodel
uses
specifies
Domain Modelbuilds
requires
Guidance and services
Constraints
based on
defined in
<is web>
ISWeb - Information Systems & Semantic Web
Tobias [email protected]
TWOMDE’09
4 of 20
Scenario• Modeling physical devices, e.g. Cisco network devices
Cisco 7603:
Possible and mandatory connections of elements• A slot can be occupied by a specific set of cards• Card from a specific group is required in a device
Other constraints• If two supervisor engines are inserted they must be identical• A card requires that a specific supervisor engine is in the
device
Domain Model:
supervisor_720
hot_swappable_osmslot_1: Slot
slot_2: Slot
slot_3: Slot
conf: C
onfigdev:
Chassis
<is web>
ISWeb - Information Systems & Semantic Web
Tobias [email protected]
TWOMDE’09
5 of 20
hot_swappable_osm
Scenario (DSL User)
• Domain Model:
• Requirements of DSL User:• Consistency Checking
• Debugging of domain models
ErrorErrorErrorspa_interface_osm
hot_swappable_osmslot_1
slot_2
slot_3
conf7603dev7603
<is web>
ISWeb - Information Systems & Semantic Web
Tobias [email protected]
TWOMDE’09
6 of 20
Scenario (DSL User)
• Requirements of DSL User:• Consistency Checking
• Debugging of domain models• Suggestions of suitable domain concepts• Use of services without any extra effort
• Domain Model:
supervisor_720
hot_swappable_osmslot_1
slot_2
slot_3
confC
onfiguration7603dev
Cisco7603
<is web>
ISWeb - Information Systems & Semantic Web
Tobias [email protected]
TWOMDE’09
7 of 20
PDDSL
• PDDSL – Physical Device Domain Specific Language• PDDSL models (M1 layer) conform to metamodel (M2 layer)
M2 layerM2 layer
M1 layerM1 layerconformsTo
conformsTo
PDDSL MetamodelPDDSL Metamodel
PDDSL ModelPDDSL Model
SupervisorEngine
HotSwappableOSMSlot
Slot
SlotC
onfiguration
Cisco
conformsTo
<is web>
ISWeb - Information Systems & Semantic Web
Tobias [email protected]
TWOMDE’09
8 of 20
PDDSL model to PDIDSL metamodel
• PDIDSL – Physical Device Instance Domain Specific Language
• PDDSL model is mapped to PDIDSL metamodel
SupervisorEngine
HotSwappableOSMSlot
Slot
Slot
Configuratio
nC
isco
PDDSL ModelPDDSL ModelM1 layerM1 layer
PDIDSL MetamodelPDIDSL MetamodelM1 layerM1 layer
mapped to
<is web>
ISWeb - Information Systems & Semantic Web
Tobias [email protected]
TWOMDE’09
9 of 20
PDIDSL• PDIDSL model represents concrete configuration• PDIDSL model conforms to PDIDSL metamodel
PDIDSL MetamodelPDIDSL MetamodelM1 layerM1 layer
PDIDSL ModelPDIDSL ModelM0 layerM0 layer
supervisor_720
hot_swappable_osmslot_1
slot_2
slot_3conf7603dev7603
<is web>
ISWeb - Information Systems & Semantic Web
Tobias [email protected]
TWOMDE’09
10 of 20
Language hierarchy
M3 level • Ecore metametamodel
M2 level • PDDSL metamodel: the definition of the language needed
to describe possible configurations of devicesM1 level
• PDDSL model: a model describing the possible configurations of a device.
• PDIDSL metamodel: the definition of the language needed to describe concrete configurations of devices.
M0 level • PDIDSL model: concrete configurations
DSL User
DSL Designer
<is web>
ISWeb - Information Systems & Semantic Web
Tobias [email protected]
TWOMDE’09
11 of 20
Main assumptions
Language design• Two layers: type and instance layer• PDDSL (type layer) defines a metalayer for PDIDSL
(instance layer)
Ontology design• Device types and information about possible configurations
in TBox• Concrete configurations and instances of devices in ABox• “Closed-Domain-Assumption”
<is web>
ISWeb - Information Systems & Semantic Web
Tobias [email protected]
TWOMDE’09
12 of 20
Model-based architecture
PDIDSL Model
PDIDSL Metamodel
PDDSL Model
PDDSL Metamodel
map to
instance of
instance of
M1 layer
M2 layer
M0 layer
Ontology
ABox
TBox
transformed to
OntologyExtension
imports
OWL Reasoner(Pellet)
transformed to
<is web>
ISWeb - Information Systems & Semantic Web
Tobias [email protected]
TWOMDE’09
13 of 20
Generated OWL – basic concepts
PDDSL Model
transformed to
TBox: Class: Configuration Class: Slot Class: Card
ObjectProperty: hasSlot Domain: Configuration Range: Slot ObjectProperty: hasCard Domain: Slot Range: Card
Ontology
ABox
TBox
<is web>
ISWeb - Information Systems & Semantic Web
Tobias [email protected]
TWOMDE’09
14 of 20
Generated configuration
PDDSL Model
transformed to
Ontology
ABox
TBox
Class: Cisco7603Configuration EquivalentTo: Configuration and # cardinality restriction on slots: hasSlot exactly 3 Slot and # required cards restriction: (hasSlot some (hasCard some Supervisors and id value 1)) and #optional card restriction: (hasSlot only (((hasCard some Supervisors and id value 1)) or ((hasCard some Supervisors and id value 2) or (hasCard some Hot_Swappable_OSM and id value 2)) or ((hasCard some Hot_Swappable_OSM and id value 3) or (hasCard some SPA_interface_processors and id value 3))))
TBox:
<is web>
ISWeb - Information Systems & Semantic Web
Tobias [email protected]
TWOMDE’09
15 of 20
Additional axioms in OWL
Import of additional axioms:
Future work: Integrated Approach• DSL designer can simultaneously implement additional
constraints while designing the PDIDSL metamodel• MoDELS talk
Namespace: pd <http://www.comarch.com/oss/pd.owl#>Ontology: <http://www.comarch.com/oss/pd-ext.owl>
Class: pd:Cisco7603Configuration SubClassOf: ((pd:containsCard some pd:Hot_Swappable_OSM) and (pd:containsCard some pd:Supervisor_engine_720)) or (pd:containsCard only (not (pd:Hot_Swappable_OSM)))
<is web>
ISWeb - Information Systems & Semantic Web
Tobias [email protected]
TWOMDE’09
16 of 20
Generated OWL – individuals
PDIDSL Model
transformed to
Ontology
ABox
TBox
ABox: Individual: cisco1 Types: Configuration Facts: hasSlot slot_1, hasSlot cslot_2, hasSlot slot_3 Individual: slot_1 Types: Slot Facts: hasCard supervisor_2_1, id 1 Individual: slot_2 Types: Slot Facts: hasCard supervisor_2_3, id 2 Individual: slot_3 Types: Slot Facts: hasCard spa_1, id 3
<is web>
ISWeb - Information Systems & Semantic Web
Tobias [email protected]
TWOMDE’09
17 of 20
Generated OWL – CDA
PDIDSL Model
transformed to
Ontology
ABox
TBox
TBox:
Class: Configuration Class: Slot EquivalentTo: {slot_3, slot_2, slot_1} Class: Card EquivalentTo: {supervisor_2_2, HS_OSM_1, supervisor_720_1, supervisor_720_3, H_OSM_2, supervisor_2_1, supervisor_2_3, spa_1}
<is web>
ISWeb - Information Systems & Semantic Web
Tobias [email protected]
TWOMDE’09
18 of 20
Implementation
• (Meta-) Modelling Framework: EMF
• Transformation language: QVT Operational
Concrete syntax: EMF tree editors / EMFText
Ontology metamodel: OWL2 metamodel with Manchester Syntax
OWL Reasoner: Pellet
<is web>
ISWeb - Information Systems & Semantic Web
Tobias [email protected]
TWOMDE’09
19 of 20
Conclusions
Ontologies improve DSLs• Define formal semantics • Take profit from reasoning, query answering, semantic
rules• DSLs enrichment by additional constraints
DSLs improve Ontology Engineering• DSLs can be regarded as mean to visualize and edit
ontologies• Bring the idea of metamodeling into ontologies
<is web>
ISWeb - Information Systems & Semantic Web
Tobias [email protected]
TWOMDE’09
20 of 20
Finally
Thanks for your attention
supported by
www.most-project.eu