the rosetta meta model framework l.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
The Rosetta Meta-Model Framework PowerPoint Presentation
Download Presentation
The Rosetta Meta-Model Framework

Loading in 2 Seconds...

play fullscreen
1 / 24

The Rosetta Meta-Model Framework - PowerPoint PPT Presentation


  • 119 Views
  • Uploaded on

The Rosetta Meta-Model Framework. When see ball, wag tail. MEMS. OPTICS. HARDWARE. SOFTWARE. POWER. The Sony AIBO. MOTIVATION. Heterogeneous systems naturally complex Different technologies with different domain specific semantics Use of different techniques in design

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'The Rosetta Meta-Model Framework' - karma


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
motivation

When see ball,

wag tail

MEMS

OPTICS

HARDWARE

SOFTWARE

POWER

The Sony AIBO

MOTIVATION

Heterogeneous systems naturally complex

  • Different technologies with different domain specific semantics
  • Use of different techniques in design
  • Problem of methodology integration

ECBS'03

overview
Overview
  • The Rosetta Specification Language
  • Domain Semantics
  • Examples
    • A Vending Machine
    • A Power/Function Domain Interaction
  • Related Work
  • Conclusion and Future Work

ECBS'03

slide4
Next …
  • The Rosetta Specification Language
  • Domain Semantics
  • Examples
    • A Vending Machine
    • A Power/Function Domain Interaction
  • Related Work
  • Conclusion and Future Work

ECBS'03

the rosetta specification language
The Rosetta Specification Language
  • Designed for system level modeling
  • Domains define ontologies of computational models and design paradigms
  • Systems modeled by aspects, called facets, each representing a domain specific viewpoint
  • Facet syntax:

facet <facet-label> (<parameter-list>) :: <domain-label> is

<declarations>

begin

<terms>

end facet <facet-label>;

  • Interaction between domains defines interaction between facets

ECBS'03

slide6
Next …
  • The Rosetta Specification Language
  • Domain Semantics
  • Examples
    • A Vending Machine
    • A Power/Function Domain Interaction
  • Related Work
  • Conclusion and Future Work

ECBS'03

domain semantics definitions of domains
Domain Semantics – Definitions of domains
  • In Rosetta, domains are represented as special facets
  • Syntactic constructs within a facet get their meaning from the domain the facet extends
  • Domains are divided into three groups
    • Units of semantics: representing unifying semantic domains
    • Models of computation
    • Engineering models
  • Two units of semantics identified
    • A state based semantics
    • A signal based semantics [Lee and Sangiovanni-Vincentelli]

ECBS'03

the rosetta domains domain organization
The Rosetta Domains – Domain organization

Static (prelude)

Unit of

Semantics

state-based-semantics

signal-based-semantics

continuous

discrete

CSP

trace-based

Model of

Computation

continuous-time

discrete-time

frequency

finite-state

Engineering

Modeling

RF

digital

sequential-machine

synchronous

ECBS'03

the rosetta domains a state based example

1

4

3

2

Discrete

The Rosetta Domains – A state based example

domaindiscrete :: state_based_semantics is

begin

d1: exists(fnc::<*(st :: States)::natural*> |

forall(s1, s2::States |

(s1 /= s2) implies (fnc(s1) /= fnc(s2))));

end domaindiscrete;

Set of discrete states  elements are countable and distinct as in the set of natural numbers

Natural

injective function between

set of states and natural numbers

ECBS'03

the rosetta domains a signal based example
The Rosetta Domains – A signal based example

domaincsp :: signal_based_semantics is

put(sig::Signals;evt::Event)::Signals;

get(sig::Signals)::Event;

getSignal(sig::Signals)::Signals;

tg::Tags; // current tag

nextTg::Tags; // next tag

begin

c1: forall(t1,t2::Tags | t1 <= t2 or t2 <= t1);

c2: forall(sig::Signals;evt::Event | (get(sig) = evt) implies

forall(otherEvt::Event| (otherEvt in sig) implies (tag(evt) <= tag(otherEvt))));

c3: forall(sig::Signals;evt1,evt2::Event |(evt1 in sig) and (evt2 in sig) and (evt1 /= evt2)

implies (tag(evt1) /= (tag(evt2)))

enddomain csp;

ECBS'03

slide11
Next …
  • The Rosetta Specification Language
  • Domain Semantics
  • Examples
    • A Vending Machine
    • A Power/Function Domain Interaction
  • Related Work
  • Conclusion and Future Work

ECBS'03

example a vending machine

event(1,75c)

event(1,dollar)

event(2,chocolate)

ctrlSig

e.g. event(1,init)

event(2,dollarCoin)

event(2,coffee)

VM

output

input

e.g. event(1,dollar)

event(2,coffee)

event(1,75c)

e.g. event(2,coffee)

event(2,chocolate)

event(2,tea)

Example – A vending machine

CSP for a vending machine

VM = (dollar  (coffee [] chocolate)  VM) || 75c  (tea [] cookie)  VM

facet csp_vending :: csp is

input,output,ctrlSig::VendSignals;

export input, output;

begin

c1: tg = tag(get(ctrlSig));

c2: nextTg = if (tg = 1) then 2 else 1 end if;

c3: case value(get(ctrlSig)) is

init case get(input) is

event(1,dollar)  (ctrlSig@nextTg = put(getSignal(ctrlSig),event(nextTg,dollarCoin))) |

end case |

dollarCoin  case get(input) is

event(2,chocolate)  (output@nextTg = put(output,event(2,chocolate)))

and (ctrlSig@nextTg = put(getSig(ctrlSig),event(nextTg,init)))

and (input@nextTg = {}) |

endfacet csp_vending;

ECBS'03

slide13
Next …
  • The Rosetta Specification Language
  • Domain Semantics
  • Examples
    • A Vending Machine
    • A Power/Function Domain Interaction
  • Related Work
  • Conclusion and Future Work

ECBS'03

example a power function interaction
Example – A power/function interaction
  • Interaction – relation defining when and where information from one domain impacts another
  • Example description
    • Power – leading constraint in embedded system modeling
    • Estimate power dissipation at high level of abstraction for different technologies
    • Provide functional model for a timer
    • Use interaction between domain of timer and power domain to estimate power consumed if timer implemented using a specific technology
    • Power consumption is calculated across state change by

power@next(st) = activity * nominal + leakage

ECBS'03

example a power function interaction15

Implementation

Composition

j1

j2

Projection

into Power

Projection

into Discrete

Function + Constraint

(Spec1,Spec2)

Spec2’

Spec1’

p1

p2

Projection

Compose

Compose

Spec1a

Augmented

Functional model

Spec2a

Augmented

Constraint model

Example – A power/function interaction

Theory of interaction

Power

Spec2

Constraint model

Discrete

Spec1

Functional model

ECBS'03

example a power function interaction16

facet timer(set::in boolean; startTime::in natural; alarm::out boolean)::discrete is

currentTime::real;

decrement(time::natural) :: natural is time – 1;

begin

init:set => currentTime’ = startTime;

t1: (not set) => currentTime’ = decrement(time);

t2: alarm =if (currentTime’ = 0) then true else false end if;

end facet timer;

7 instructions

Total current: 3700mA

Power = 3.7*5+leak W

Example – A power/function interaction

Estimated current drawn by

executing instruction on a 486DX2 processor.

(Values derived from Tiwari’s work)

facet timer(set::in boolean; startTime::in natural; alarm::out boolean)::discrete is

currentTime::real;

decrement(time::natural) :: natural is time – 1;

begin

init:set => currentTime’ = startTime;

t1: (not set) => currentTime’ = decrement(time);

t2: alarm = if (currentTime’ = 0) then true else false end if;

end facet timer;

ECBS'03

example a power function interaction17
Example – A power/function interaction

interaction DandP(f::discrete;g::power) :: static is

begin

power_to_discrete:{};

discrete_to_power: <get activity coefficient from discrete facet>

end interaction DandP;

facet augmented_swp(…) :: power is

calOpActivity(…)::posReal is

<recursive function that calculates total current drawn given a list of instructions>

begin

<terms from original software power facet>

discrete_to_power: <term obtained from interaction containing information gathered

from the function (discrete) facet>

end facet augmented_swp;

ECBS'03

slide18
Next …
  • The Rosetta Specification Language
  • Domain Semantics
  • Examples
    • A Vending Machine
    • A Power/Function Domain Interaction
  • Related Work
  • Conclusion and Future Work

ECBS'03

related work
Related Work
  • Ptolemy II – Heterogeneous Concurrent Modeling and Design in Java – J. Davis, C. Hylands, B. Kienhuis, E. Lee, et al.; University of California at Berkeley
  • Metropolis – Overcoming Heterophobia: Modeling Concurrency in Heterogeneous Systems – J. Burch, R. Passerone, A. Sangiovanni-Vincentelli
  • SAL – An Overview of SAL – J. Rushby, S. Owre, N. Shankar, A. Tiwari et al.

ECBS'03

related work20
Related Work
  • Viewpoints Modeling – Viewpoints: A Framework for Integrating Multiple Perspectives in System Development – A. Finkelstein et al.
  • Feature Engineering – Feature-Oriented Description, Formal Methods, and DFC – P. Zave
  • Aspect-oriented –
    • Aspect-Oriented Programming – G. Kiczales et al.
    • Aspect-Oriented Requirements Engineering for Component-Based Software Systems – J. Grundy

ECBS'03

related work21
Related Work
  • The MultiGraph Architecture – Metamodeling – Rapid Design and Evolution of Domain-Specific Modeling Environments – G. Nordstrom et al.; Vanderbilt University
  • GME – The Generic Modeling Environment – A. Ledeczi et al.; Vanderbilt University
  • UML-Metamodeling Architecture – An UML-metamodeling Architecture for Interoperability of Information Systems – M. Terrasse et al.

ECBS'03

related work22
Related Work
  • A Framework for Multi-Notation Requirements Specification and Analysis – N. Day and J. Joyce
  • Constructing Multi-Formalism State-Space Analysis Tools: Using rules to specify dynamic semantics of models – M. Pezze and M. Young
  • A Multi-Formalism Specification Environment – E. Ipser, Jr and D. Wile
  • Acme: An Architecture Description Interchange Language – D. Garlan, R. Monroe and D. Wile

ECBS'03

slide23
Next …
  • The Rosetta Specification Language
  • Domain Semantics
  • Examples
    • A Vending Machine
    • A Power/Function Domain Interaction
  • Related Work
  • Conclusion and Future Work

ECBS'03

conclusion
Conclusion
  • Rosetta meta-model framework
    • Allows defining different models of computation
    • Allows defining domains that provide semantics for facets
    • Allows modeling behavior, environment properties and non-functional requirements
    • 2 examples
      • a vending machine in a CSP domain
      • a power estimation analysis using interaction
  • Future Work
    • Defining more domain semantics and interaction
    • Integrating Rosetta into traditional systems design flow
    • Rosetta is currently undergoing standardization by the Accellera EDA standards organization

ECBS'03