Lessons from Generative Techniques at Lucent Technologies - PowerPoint PPT Presentation

About This Presentation
Title:

Lessons from Generative Techniques at Lucent Technologies

Description:

Lessons from Generative Techniques at Lucent Technologies Lloyd H. Nakatani Avaya Labs Murray Hill, New Jersey lhn_at_avaya.com Mark Ardis Rose-Hulman Institute of ... – PowerPoint PPT presentation

Number of Views:97
Avg rating:3.0/5.0
Slides: 19
Provided by: BellL150
Category:

less

Transcript and Presenter's Notes

Title: Lessons from Generative Techniques at Lucent Technologies


1
Lessons from Generative Techniques at Lucent
Technologies
  • Lloyd H. Nakatani
  • Avaya Labs
  • Murray Hill, New Jersey
  • lhn_at_avaya.com
  • Mark Ardis
  • Rose-Hulman Institute of Technology
  • Terre Haute, Indiana
  • Mark.A.Ardis_at_Rose-Hulman.edu

2
Three Lessons for DSLs
  • 1. Composability
  • 2. Composability
  • 3. Composability

3
InfoWiz Product Line for Jargons
Fit programming language and API library
WizTalk syntax
Jargon J
Semantics S
Model M
Product P
InfoWiz interpreter
Comes with InfoWiz (commonalities)
Created by user (variabilities)
4
Example Procedural Jargon
  • For modeling algorithms
  • heightinputEnter your height
  • if( .height gt 72 )
  • outputTallercr
  • else( .height gt 64 )
  • outputMediumcr
  • else
  • outputShortcr

5
Example Data Jargon
  • For modeling hierarchical data
  • person
  • name
  • firstAlan
  • lastTuring
  • address
  • street600 Mountain Ave.
  • townMurray Hill
  • stateNJ
  • zip07974
  • phone(work)908/582-1234

6
Example Markup Jargon
  • For modeling text format
  • p
  • This is iitalic, this is bbold,
  • and this is s(16)big.

7
Jargon Composition
S1
S2
S3
InfoWiz interpreter
P
Composite model
8
Example Composite Model
  • person
  • name
  • firstAlan
  • lastTuring
  • if( a-z .person(namefirst) )
  • output
  • Hello i.person(namefirst)cr
  • else
  • outputNo namecr

9
Domain Engineering with Jargons
Decompose
Model
Compose
S1
S2
Subdomain D1
InfoWiz interpreter
Domain model
P
Domain
Subdomain D2
10
Example Domain and Subdomains
5ESS Configuration Control Domain
Hardware units and configuration
Target data structures
11
Reconfiguration Algorithms
realization(remove) chk(cond,self,working) chk(
cond,spare_mate,ready) invokeelevatespare_mate
invokedelevateself invokeremovechild ch
k(result,abortORfail) set(ack)fail,remove_child
skipexpsendreal invokeinhibitself sendha
rdwareremove chk(result,fail) set(ack)fail,rem
ove invokeallowself skipexpsendreal set(c
ond)remove set(ack)success sendrmtceremove
skipendendreal sendack end
21 lines
InfoWiz interpreter
2423 lines
VFSM code generator
3505 lines
12
Hardware Units and Configuration
. . . . . .
Visual modeling tool
642 lines
InfoWiz interpreter
589 lines
13
RAD Visual Modeling Tool
14
Divide and Conquer Domains
15
Composition of Subdomain Models
16
Teamwork Today
Domain A
Domain B
Domain C
17
Teamwork Tomorrow
Superdomain S
Domain B
Domain A
Subdomain A2
Subdomain A3
Domain C
Subdomain C3
18
Conclusions for Generative DSLs
  • Multiple DSLs per domain, so they must be ...
  • easy to make and maintain
  • composable
  • to support divide-and-conquer
  • to scale up in complexity
  • We walked our own talk and made generative DSLs a
    product line
Write a Comment
User Comments (0)
About PowerShow.com