Your SlideShare is downloading. ×
0
Joint Language and Domain Engineering
Joint Language and Domain Engineering
Joint Language and Domain Engineering
Joint Language and Domain Engineering
Joint Language and Domain Engineering
Joint Language and Domain Engineering
Joint Language and Domain Engineering
Joint Language and Domain Engineering
Joint Language and Domain Engineering
Joint Language and Domain Engineering
Joint Language and Domain Engineering
Joint Language and Domain Engineering
Joint Language and Domain Engineering
Joint Language and Domain Engineering
Joint Language and Domain Engineering
Joint Language and Domain Engineering
Joint Language and Domain Engineering
Joint Language and Domain Engineering
Joint Language and Domain Engineering
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Joint Language and Domain Engineering

428

Published on

Talk at the 6th European Conference on Modelling Foundations and Applications, ECMFA, 15-18 June 2010, Paris, France.

Talk at the 6th European Conference on Modelling Foundations and Applications, ECMFA, 15-18 June 2010, Paris, France.

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
428
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • 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)
  • 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)
  • DSL User: builds domain models Uses Language metamodel to create domain models Language Designer Specifies metamodels which is provided to the langugae user Consider both engineering approaches: there is already an overlap. Language user and domain designer are building a domain model next slides: consider domain model using a language and domain model in domain engineering
  • Language engineering (definition of abstract syntax) mainly takes place at the M2 layer Create prescriptive metamodel – which prescribes structure and design of domain models. Language Use at M1 layer Result: Domain model consisting of linguistic instances (instances+links)
  • Domain engineering begins with considering existing domain information which is represented by existing instances in the domain. The idea is to describe these existing elements in the domain by types, relations connecting two instances, or attributes. Furthermore, (exitsing) instances should be assigned by / marked by a type. This should be realized by a separate hasType relation. Domain model is extended by new types and instances After applying the domain engineering, we have a (formal) domain model, which consists of the description of instances (by types, links) and it consists of the types itself.
  • Different domain designers might create different conceptualizations of the same domain. Need of a prescribing language that prescribes the core of the domain. Facility to extend the set of domain types in domain models (which is still not possible, since a usual modeling language only allows for creating instances)
  • Split class into metatype and metainstance (separate the concerns of a class) Definde hasMetatype to restrict the use of the hasType relation in the domain model Create metareference (allows for intantiation twice)
  • 2 dimensions Why is the metamodeling language called „ontology-based“? Leads to the next slide and fulfills new challenges.
  • Services for productively modeling Classification: Domain designers often find instances that have no type. They automatically classify them. Consistency checking: domain instances wrt. domain types; domain model wrt. language metamodel Define a semantic for hasType and instanceOf
  • Define that each Device has at least one card (not possible with multiplicities at refereces, because there could be slots which are not occupied)
  • 1. Each Cisco has plugged in super visor card (via a slot) 2. the type supervisor only consists of two domain instances 3. instance cisco7604 has an anonymous type
  • 12
  • Transcript

    • 1. Joint Language and Domain Engineering Tobias Walter Fernando Silva Parreiras (WeST) Steffen Staab (WeST) Jürgen Ebert ECMFA 2010
    • 2. Objectives
      • Scenario
      • Foundations
        • Language Engineering
        • Domain Engineering
      • Joining Language and Domain Engineering
      • Combination with Description Logics
      • Conclusion
    • 3. Scenario
      • Modeling physical devices, e.g. Cisco network devices
      Cisco 7603:
    • 4. Scenario
      • Modeling of Devices
        • Describe the domain of physical devices
          • by domain instances, e.g. cisco7603, supervisor720
          • by domain types, e.g. Cisco, CiscoSlot, SuperVisor
        • Prescribe the structure of the domain and its models
          • Device -> Slot -> Card
    • 5. Roles in Language and Domain Engineering Language Engineering and Use Domain Engineering Language User Language Designer Language Metamodel uses specifies Domain Model builds Domain Designer builds
    • 6. Language Engineering and Language Use
        • M2 layer :
          • Language Engineering
          • Prescriptive Metamodel
      class Device{ reference hasSlot [1-*]: Slot; } class Slot{ reference hasCard [0-*]: Card; } class Card{ }
        • M1 layer:
          • Language Use
          • Domain Model
      instance cicso7603 instanceOf Device{ hasSlot slot1; } instance slot1 instanceOf Slot{ hasCard supervisor360; } instance supervisor360 instanceOf Card{ } linguistic instanceOf Language Designer Language User
    • 7. Domain Engineering
      • O2 layer:
        • Domain types
        • Type hierarchies
      instance cicso7603 { hasSlot slot1; } instance slot1 hasCard supervisor360; }
      • O1 layer:
        • Domain instances
        • Use of explicit hasType -relation
      ontological hasType type Supervisor extends CiscoCard { } instance supervisor360 hasType CiscoCard{ } hasType CiscoSlot{ type Cisco { reference hasSlot [1-*]: CiscoSlot; } type CiscoSlot { reference hasCard [0-*]: CiscoCard; } type CiscoCard { }
      • Descriptive domain model
      Domain Designer
    • 8. Challenges (1)
      • Combination of Language Engineering and Domain Engineering
        • Language prescribes design and structure of domain models
        • Dynamically extending the set of domain types in domain models
      type Cisco { reference hasCard [1-*]: CiscoCard; } type CiscoCard { } Inconsistent structure of domain models for physical devices
    • 9. Join of Language and Domain Engineering class Device{ reference hasSlot [1-*]: Slot: } class Slot{ } type Cisco { reference hasSlot [1-*]: CiscoSlot; } type CiscoSlot { } metatype Device{ } metatype Slot{ } metainstance SlotInstance { } metainstance DeviceInstance { } instance cicso7603 hasType Cisco{ hasSlot slot1; } instance slot1 { }
        • M2 layer
        • M1 layer
      hasMetatype Device hasMetatype Slot metareference hasSlot [1-*]: Slot; linguistic instanceOf linguistic instanceOf Domain Designer Language Designer
    • 10. Joint Model Hierarchy Ontology-based Metamodeling Language with concepts for metatypes , metainstances , types , instances … M3 Layer Metametamodel M2 Layer Metamodel M1 Layer Domain model metatype metainstance type instance O2 ontological type layer O1 ontological instance layer linguistic instanceOf linguistic instanceOf ontological hasType ontological hasMetaType linguistic instanceOf
    • 11. Challenges (2)
      • Services and Constraints in Language Metamodels and Domain Models
        • Classify existing domain instances in domain models to find a possible domain type
        • Consistency Checking
        • Underlying semantics for hasType and instanceOf relation
        •  Semantic Expressions covering type and instance layer
      instance cicso7603 { hasSlot slot1; } What domain type does an instance have?
    • 12. Description Logics
      • Description Logics (DLs) are logics designed to represent and reason on structured knowledge
      • The domain of interest is structured into ( TBox ):
        • concepts, which correspond to classes, and denote sets of individuals
        • roles, which correspond to associations, and denote binary relations on individuals
      • The knowledge is asserted through so-called assertions ( ABox )
      • They provide formal semantics
      • DLs provide the foundations for standard ontology languages, like OWL2
      Knowledge Base TBox ABox Inference Engine Application
    • 13. Integrated Semantic Expressions (1)
      • Language metamodel
      metatype Device metareference hasSlot [1-*]: Slot; } metatype Slot { metareference hasCard [0-*]: Card; } metatype Card { } metainstance DeviceInstance hasMetatype Device { metalink hasSlot [1-*]: SlotInstance; } metainstance SlotInstance hasMetatype Slot { metalink hasCard [0-*]: CardInstance; } metainstance CardInstance hasMetatype Card { } { { { equivalentWith restrictionOn hasSlot with some restrictionOn hasCard with some Card { DSL Designer
    • 14. Integrated Semantic Expressions (2)
      • Domain Model
      type Cisco equivalentWith reference hasSlot [1-*]: CiscoSlot; } type CiscoSlot { reference hasCard [0-*]: CiscoCard; } type CiscoCard { } type Supervisor instance cicso7603 { hasSlot slot1; } instance cisco7604 } instance slot1 hasType CiscoSlot { hasCard supervisor360; } instance supervisor720 hasType CiscoCard { } instance supervisor360 hasType CiscoCard { } restrictionOn hasSlot with some restrictionOn hasCard with some Supervisor { { equivalentWith oneOf (supervisor720, supervisor360) { } { } hasType restrictionOn hasSlot with some restrictionOn hasCard with some Supervisor { {
    • 15. Services
      • Domain Model
      type Cisco equivalentWith restrictionOn hasSlot with some restrictionOn hasCard with some Supervisor { reference hasSlot [1-*]: CiscoSlot; } type CiscoSlot { reference hasCard [0-*]: CiscoCard; } type CiscoCard { } type Supervisor equivalentWith oneOf (supervisor720, supervisor360) { } instance cicso7603 hasSlot slot1; } instance slot1 hasType CiscoSlot { hasCard supervisor360; } instance supervisor720 hasType CiscoCard { } instance supervisor360 hasType CiscoCard { } instance cisco7604 hasType restrictionOn hasSlot with some restrictionOn hasCard with some Supervisor { } Classify individuals to get its type hastype Cisco { { Check consistency of instances instance cisco7604 hasType restrictionOn hasSlot with some restrictionOn hasCard with some Supervisor { }
    • 16. Benefits of DL in Domain and Language Engineering
      • Open World Assumption
        • assumes incomplete information by default
        • guidance and validation of incomplete models
      • Joint semantic definitions at 2 layers
        • O1/M1- and O2/M2 layer affect each other
        • simultaneously reasoning at two layers possible
      • Debugging and reasoning explanation
        • identifying debugging-relevant facts (e.g. model elements) which lead to inconsistency with regard to the metamodel
        • explanations of errors in domain models
    • 17. Future Work & Conclusion
      • Designing language metamodels by metatypes and metainstances
      • Prescribing structure and design of domain models
      • Using explicit hasType relation in domain models
      • Semantic expressions and services
      • Design metamodeling language for
        • n-dimensional modeling
        • arbitrary depth of instantiations
      In the future Domain Designer Language Designer
    • 18. Finally
      • Thanks for your attention
      • supported by
      www.most-project.eu
    • 19. M3 Metametamodel

    ×