1 / 24

The Rosetta Meta-Model Framework

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

karma
Download Presentation

The Rosetta Meta-Model Framework

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. The Rosetta Meta-Model Framework

  2. 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

  3. Overview • The Rosetta Specification Language • Domain Semantics • Examples • A Vending Machine • A Power/Function Domain Interaction • Related Work • Conclusion and Future Work ECBS'03

  4. Next … • The Rosetta Specification Language • Domain Semantics • Examples • A Vending Machine • A Power/Function Domain Interaction • Related Work • Conclusion and Future Work ECBS'03

  5. 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

  6. Next … • The Rosetta Specification Language • Domain Semantics • Examples • A Vending Machine • A Power/Function Domain Interaction • Related Work • Conclusion and Future Work ECBS'03

  7. 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

  8. 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

  9. 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

  10. 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

  11. Next … • The Rosetta Specification Language • Domain Semantics • Examples • A Vending Machine • A Power/Function Domain Interaction • Related Work • Conclusion and Future Work ECBS'03

  12. 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

  13. Next … • The Rosetta Specification Language • Domain Semantics • Examples • A Vending Machine • A Power/Function Domain Interaction • Related Work • Conclusion and Future Work ECBS'03

  14. 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

  15. 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

  16. 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

  17. 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

  18. Next … • The Rosetta Specification Language • Domain Semantics • Examples • A Vending Machine • A Power/Function Domain Interaction • Related Work • Conclusion and Future Work ECBS'03

  19. 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

  20. 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

  21. 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

  22. 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

  23. Next … • The Rosetta Specification Language • Domain Semantics • Examples • A Vending Machine • A Power/Function Domain Interaction • Related Work • Conclusion and Future Work ECBS'03

  24. 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

More Related