HumanUsable Textual Notation HUTN - PowerPoint PPT Presentation

1 / 31
About This Presentation
Title:

HumanUsable Textual Notation HUTN

Description:

Keywords and Adjectives ... Adjectives are keywords that precede the ... (Also shown above are negated boolean adjective, and contained instances) ad/2002-04-11 ... – PowerPoint PPT presentation

Number of Views:47
Avg rating:3.0/5.0
Slides: 32
Provided by: omg3
Category:

less

Transcript and Presenter's Notes

Title: HumanUsable Textual Notation HUTN


1
Human-Usable Textual Notation(HUTN)
  • Keith Duddy, DSTC
  • hutn_at_dstc.edu.au

Submission ad/2002-03-02
2
Revised Submission
  • Submitters
  • Data Access
  • DSTC
  • IBM
  • Open-IT
  • Supporters
  • France Telecom
  • IONA
  • SINTEF
  • Unisys

3
Motivation
  • XMI is often too verbose for human
    construction/consumption without tools
  • Textual notations offer advantages over graphical
    tools (search/replace, complexity)
  • Hand-written tools or languages take time to
    develop, and require maintenance if the metamodel
    changes

4
Requirements
  • RFP calls for
  • Human-usable textual notations for (EDOC) models
  • A(n optional) generic approach
  • Close relationship with XMI

5
Our Approach
  • Generic solution
  • based on generation of textual language from any
    MOF model
  • same approach as XMI

6
The Big Picture
MOF Meta-Model Repository
generates
Generated XMI Schema/DTD
Generated HUTN Language
MOFlet Model Repository
XMI Document
HUTN Document
Transform
7
Generic Approach Benefits
  • Consistency
  • All generated languages have similar structure
    and style (look and feel)
  • Automation
  • Producer and consumer code can be fully generated
  • Completeness
  • Any MOF model can have a HUTN language

8
Example MOF Model
  • Event Notification model

inherits
EventType
contains
domain string name string private boolean
imports
9
Example XMI
  • ltXMI.contentgt
  • ltNotification xmi.idnotif01gt
  • ltNotification.EventTypeRepository
    xmi.idrepos1gt
  • ltNotification.EventTypeRepository.contentsgt
  • ltNotification.EventType xmi.idn4
    domainroom nameroomevent privatefalse /gt
  • ltNotification.EventType xmi.idn2
    domainroom nameentry privatetrue
    inheritsn4/gt
  • ltNotification.EventType xmi.idn3
    domainroom nameannounce privatefalse /gt
  • lt/Notification.EventTypeRepository.contentsgt
  • lt/Notification.EventTypeRepositorygt
  • lt/Notificationgt
  • lt/XMI.contentgt

10
Example HUTN
  • Notification notif01
  • EventTypeRepository repos1
  • EventType roomEvent domain room
  • private EventType entry
  • domain room
  • inherits roomEvent
  • EventType announce domain room

11
HUTN Basic Structure
  • Structure reflects containment
  • Like XMI
  • Major Structuring Concepts
  • Package, Class, Association
  • Detail Concepts
  • Attributes, References, Links

12
Language Variations and Customizations
  • Renaming of MOF model elements
  • Use of meaningful identifiers
  • Attribute values as unique Ids for instances
  • Identifiers relative to scope
  • Shortened forms for references
  • Boolean attributes as keywords/adjectives
  • Enum attribute labels as adjectives
  • Parametric form for attribute values
  • Default values for attributes
  • To avoid tedious repetition

13
An automated approach
  • Based on a metamodel and language configuration,
    generate a language automatically
  • Common representations for packages, classes,
    associations, references, etc
  • Producer for inspection of a MOF-compliant
    repositorys metadata
  • Consumer for altering metadata and/or populating
    such a repository

14
Example Notification
  • Modified Notification model used as an example
    here

inherits
EventType
contains
domain string name string private boolean
imports
15
Example Package
  • Notification notif01
  • EventTypeRepository repos1
  • EventType roomEvent domain room
  • private EventType entry
  • domain room
  • inherits roomEvent
  • EventType announce domain room

16
Example Classes
  • Notification notif01
  • EventTypeRepository repos1
  • EventType roomEvent domain room
  • private EventType entry
  • domain room
  • inherits roomEvent
  • EventType announce domain room

17
Example Attributes
  • Notification notif01
  • EventTypeRepository repos1
  • EventType roomEvent domain room
  • private EventType entry
  • domain room
  • inherits roomEvent
  • EventType announce domain room

18
Example References
  • Notification notif01
  • EventTypeRepository repos1
  • EventType roomEvent domain room
  • private EventType entry
  • domain room
  • inherits roomEvent
  • EventType announce domain room

19
Example HUTN
  • Notification notif01
  • EventTypeRepository repos1
  • EventType roomEvent domain room
  • private EventType entry
  • domain room
  • inherits roomEvent
  • EventType announce domain room

20
Language Configurations
21
Identifiers
  • Attribute values as unique Ids for instances
  • Any single non-class-valued attribute can be used
  • Family The Smiths
  • Attribute and Reference representations
  • Identifiers relative to scope
  • Unless absolute package prefix / or absolute
    document prefix // is used, all scoping is
    relative

22
Renaming
  • Some MOF identifiers are inappropriate for use in
    textual languages
  • Contain whitespace
  • Clash with reserved words (true/false/null)
  • Too long
  • Renaming configurations allow tools to substitute
    more convenient names

23
Shortened forms for references
  • If a consistent naming scheme is used for
    references
  • Type name can be elided
  • Names of Containment References can be elided
  • Family The Smiths
  • familyFriends Family The McDonalds
  • petFish Fish Wanda
  • becomes
  • Family The Smiths
  • familyFriends The McDonalds
  • Fish Wanda

24
Keywords and Adjectives
  • Keywords are single words in the body of an
    instance to replace an attribute name/value
  • Adjectives are keywords that precede the instance
    type and identifier
  • Boolean attributes can be keywords or adjectives
  • nuclear Family The Smiths
  • Family The Joneses nuclear
  • Enum attribute labels can be adjectives
  • male Person Peter Smith

25
Parametric form for attribute values
  • Some attributes always occur, and their values
    are conventionally listed in an order
  • Attributes in parametric form are in parentheses
    after the instance type and ID
  • filled polygon my_triangle
  • coordinate (3.6, 7.3)
  • coordinate (5.2, 7.673)
  • coordinate (9.4 ,13)
  • (Also shown above are negated boolean adjective,
    and contained instances)

26
Default values for attributes
  • Language Configurations may include default
    values for attributes
  • When attributes have the default value they need
    not be explicitly declared
  • This avoids tedious repetition

27
HUTN for EDOC
  • Derived using ECA metamodel
  • Appropriate customisations and shorthands used
  • name attributes as identifiers
  • Default empty string values for most string
    attributes
  • Eligible boolean attributes as adjectives
  • Enum adjectives where suitable
  • This configuaration to be made part of EDOC spec

28
EDOC Example Model
  • Business Process Example

29
EDOC Example HUTN
  • ECA BusinessProcessExample
  • CompoundTask ct1
  • portsUsed Pending
  • portsUsed Approved
  • nodes Pending nodes Approved
  • nodes Orders In nodes Orders Out
  • connections d1 connections d2
  • Activity Approve Orders
  • ResponsibleParty Order Approvals Officer

30
EDOC Example HUTN
  • Activity Approve Orders
  • portsUsed Orders In portsUsed Orders Out
  • responsibleFor Order Approvals Officer
  • ResponsibleParty Order Approvals Officer
  • responsiblePartyFor Approve Orders
  • ProcessPortConnector Orders In
  • extent Approve Orders
  • incoming d1 represents Orders InGroup

31
Prototype
  • Developed against DSTCs dMOF product
  • Generates an XSL stylesheet for conversion from
    XMI for production
  • Generates a ANTLR grammar and backend for
    consumption
  • Customizations specified in a generated language
    and stored in a repository
  • http//www.dstc.com/Research/Projects/Pegamento/To
    kTok
Write a Comment
User Comments (0)
About PowerShow.com