22
MODEL-BASED SYNTHESIS OF GENERATORS FOR EMBEDDED SYSTEMS PI: Gabor Karsai, Co-PI: Akos Ledeczi (615) 343-7471 [email protected] Institute for Software-Integrated Systems Vanderbilt University F30602-00-1-0580,AO: K218 End date: 5/04 Agent: R. Dziegiel, AFRL, Rome, NY

MODEL-BASED SYNTHESIS OF GENERATORS FOR EMBEDDED SYSTEMS PI: Gabor Karsai, Co-PI: Akos Ledeczi (615) 343-7471 [email protected]@vuse.vanderbilt.edu

Embed Size (px)

Citation preview

Page 1: MODEL-BASED SYNTHESIS OF GENERATORS FOR EMBEDDED SYSTEMS PI: Gabor Karsai, Co-PI: Akos Ledeczi (615) 343-7471 gabor@vuse.vanderbilt.edugabor@vuse.vanderbilt.edu

MODEL-BASED SYNTHESIS OF GENERATORS FOR EMBEDDED SYSTEMS

PI: Gabor Karsai, Co-PI: Akos Ledeczi(615) 343-7471 [email protected] for Software-Integrated SystemsVanderbilt UniversityF30602-00-1-0580,AO: K218End date: 5/04Agent: R. Dziegiel, AFRL, Rome, NY

Page 2: MODEL-BASED SYNTHESIS OF GENERATORS FOR EMBEDDED SYSTEMS PI: Gabor Karsai, Co-PI: Akos Ledeczi (615) 343-7471 gabor@vuse.vanderbilt.edugabor@vuse.vanderbilt.edu

2. Subcontractors and CollaboratorsCollaborators

CMU Analysis Interchange Format for embedded systems

Kestrel Matlab input translator, HSIF definition

Southwest Research Modeling language for avionics applications

Teknowledge Rational Rose import facility

U Kansas: Metamodel verification

U Michigan Modeling environment for embedded systems

U Penn & SRI Hybrid System Interchange Format

Planned:Tool integration support for OEP experiments

Page 3: MODEL-BASED SYNTHESIS OF GENERATORS FOR EMBEDDED SYSTEMS PI: Gabor Karsai, Co-PI: Akos Ledeczi (615) 343-7471 gabor@vuse.vanderbilt.edugabor@vuse.vanderbilt.edu

3. Project objectivesProblem:

Model-based development of embedded systems requires tools for transforming models for analysis and synthesis

How to build reusable technology for generators (a.k.a. model interpreters) for embedded systems?

Contribution to MoBIES: Meta-programmable generator technology Tools:

Meta-programmable modeling environment (GME) Reusable translator framework (UDM) Design tool integration framework (OTIF)

Success criteria Affordable and usable tools for building model translators Functional OTIF

Page 4: MODEL-BASED SYNTHESIS OF GENERATORS FOR EMBEDDED SYSTEMS PI: Gabor Karsai, Co-PI: Akos Ledeczi (615) 343-7471 gabor@vuse.vanderbilt.edugabor@vuse.vanderbilt.edu

4. MoBIES Milestone Support

Project Name: Mode l-based Synthesis of Generators

Current Official Milestone

Completinon Date

Does your project support this

milestone? (Y or N)

Identify your specific activities that support(ed) this milestone.

Specify completion date for activities

that support(ed) this milestone

1.      Demonstrate ability of modeling cross cutting physical constraints

1QFY01 Y

The meta-programmable Generic Modeling Environment (GME) supports modeling of cross-cutting physical constraints. Example: power consumption across multiple HW/SW configurations (Adaptive Computing Systems modeling paradigm).

30-Sep-00

2.      Demonstrate ability to model domain specific model semantics

4QFY01 YGME provides support for capturing static semantics in the form of constraints

30-Sep-01

3.      Demonstrate ability to customize generic modeling tools

4QFY01 Y GME is meta-programmable 30-Sep-01

4.      Demonstrate ability of propagating constraints among views

2QFY02 YGME supports constraints across multiple views. Example: avionics challenge problem, integrity constraints across views

31-Dec-01

5.      Demonstrate ability to integrate different models of concurrency

2QFY02 N

6.      Demonstrate ability to integrate domain specific modeling tools

2QFY02 YSupport for tool integration activities: translators and integration infrastructure components.

31-Mar-02

7.      Demonstrate ability to compose multiple view models

4QFY02 Y

GME provides support for multiple view modeling. Example: Avionics OEP component, (SW) interactions, and (HW) configurations views

31-Jan-02

8. Demonstrate ability to verify multiple-view models

4QFY03 N

1.      Demonstrate ability to mathematically model generators

4QFY01 YModeling translator inputs and outpus, and translation activities (using graph rewriting rules)

30-Sep-01

2.      Demonstrate ability to customize frameworks with generators

4QFY02 YConfiguration Generator for the Avionics OEP Bold Stroke framework

31-Jan-02

3.      Demonstrate ability to compose generators from components

2QFY02 YComponentatization of generators, reusable/generic components

31-Mar-021.      Define challenge problems and metrics in detail2QFY01

4.      Demonstrate ability to generate embedded software from models

4QFY02 YCode generator for a dataflow/stateflow modeling language. Example: Automotive OEP code generator

1-Mar-022.      MIDTERM DEMONSTRATION: Generate embedded software for avionics/vetronics systems using model-based environment2QFY02

5.      Demonstrate ability to synthesize generators from formal spec.

2QFY03 YThe generator's code will be synthesized from the abstract models of generator input and output, and the graph rewriting

31-Mar-033.      Demonstrate superior performance of the synthesized system4QFY02

6.      Demonstrate ability to synthesize systems from models

4QFY03 YThe generator technology will be used to demonstrate that it can be used to build a tool that synthesizes the entire system

30-Sep-034.      Demonstrate framework integration for avionics/vetronics challenge problem with model-based approach2QFY04

7. Demonstrate ability to guarantee properties of generated systems

4QFY04 Y3rd party tools integrated into the generation process will be used to verify properties

30-Sep-04Demonstrate the rapid re-synthesis of embedded avionics/vetronics software on modified frameworks2QFY04

1.      Demonstrate ability to customize multiple frameworks from models

4QFY02 N

2.      Demonstrate ability to generate interface code to couple frameworks

4QFY03 YOur generator technology could be applicable here.

30-Sep-03

3.      Demonstrate ability to model framework constraints

2QFY02 Y GME could be applicable here 31-Mar-02

4. Demonstrate ability to verify composability of frameworks

2QFY04 N

1.      Define challenge problems and metrics in detail

2QFY01 N

Task 4: Challenge Problem

MoBIES Program Milestone Support Matrix

Task 1: Multiple-View Modeling of Physical Constraints

Task 2: Model-Based Generation Technology

Task 3: Framework Composition Technology

Page 5: MODEL-BASED SYNTHESIS OF GENERATORS FOR EMBEDDED SYSTEMS PI: Gabor Karsai, Co-PI: Akos Ledeczi (615) 343-7471 gabor@vuse.vanderbilt.edugabor@vuse.vanderbilt.edu

5. Tool DescriptionGME: Meta-programmable modeling environment

Generic modeling framework for constructing domain-specific modeling environmentsInputs: user input, models from other toolsOutputs: modelsMetamodel: see GME meta-model in docInterface now

U Michigan AIRES (Meta & API) SWRI ASC (Meta & API) Tek Rose Export (XML) KU MetaV (Manual via UML class diagrams)

Interface in 6 mos CMU TimeWiz (XML) UCB Ptolemy (XML) UPenn Charon (Model text) HTC (XML) SRI SAL (XML)

NonMoBIES Matlab SL/SF (Translator & XML) R Rose (XMI & Translator)

Page 6: MODEL-BASED SYNTHESIS OF GENERATORS FOR EMBEDDED SYSTEMS PI: Gabor Karsai, Co-PI: Akos Ledeczi (615) 343-7471 gabor@vuse.vanderbilt.edugabor@vuse.vanderbilt.edu

5. Tool DescriptionUDM: Universal Data Model facility

Meta-programmable package for building generators/translatorsInputs: Data model in UML class diagramsOutputs: C++ implementation of data model, usable with various backends Metamodel: see UDM meta-model in docInterface now/in 6 mos, MoBIES & non-MoBIES

Any tool that 1. uses XML as data representation, or2. for which a back-end is/can be developed

Page 7: MODEL-BASED SYNTHESIS OF GENERATORS FOR EMBEDDED SYSTEMS PI: Gabor Karsai, Co-PI: Akos Ledeczi (615) 343-7471 gabor@vuse.vanderbilt.edugabor@vuse.vanderbilt.edu

5. Tool DescriptionXLT(?): Translator/generator

Meta-programmable tool for building the rewriting engine generators/translatorsInputs: Translation models + UDM Data modelsOutputs: C++ code that implements the engineMetamodel: Possible (bootstrap!)Interface now/in 6 mos, MoBIES & non-MoBIES

Same as UDM, as the rewriting engine relies on UDM

Page 8: MODEL-BASED SYNTHESIS OF GENERATORS FOR EMBEDDED SYSTEMS PI: Gabor Karsai, Co-PI: Akos Ledeczi (615) 343-7471 gabor@vuse.vanderbilt.edugabor@vuse.vanderbilt.edu

5. Tool Description(M)OTIF: (MoBIES) Open Tool Integration Framework

Reusable framework components and meta-programmable generators for building tool integration solutionsInputs:

Translation models + UDM Data models Hand-coded components (e.g. physical tool adaptors)

Outputs: Tool chain instance: support framework that connects the tools

Metamodel: Yes: UDM + XLT models and model of tool chainInterface now/in 6 mos, MoBIES & non-MoBIES

(Hopefully) all tools will be integratable via the framework

Page 9: MODEL-BASED SYNTHESIS OF GENERATORS FOR EMBEDDED SYSTEMS PI: Gabor Karsai, Co-PI: Akos Ledeczi (615) 343-7471 gabor@vuse.vanderbilt.edugabor@vuse.vanderbilt.edu

6. OEP Support: Automotive OEPRole:

MATLAB import translator & prototype code generator provider

HSIF contributor Tool integration solution provider

Midterm experiment: Import translator for Matlab SL/SF into ECSL Prototype code generator for ECSL

Contributions to experiment planning & tech assessment: Tool chain definition, HSIF definition, integration

technology

Tech POC: P. Varaiya, A. Girard, P. Griffiths

Page 10: MODEL-BASED SYNTHESIS OF GENERATORS FOR EMBEDDED SYSTEMS PI: Gabor Karsai, Co-PI: Akos Ledeczi (615) 343-7471 gabor@vuse.vanderbilt.edugabor@vuse.vanderbilt.edu

6. OEP Support: Avionics OEPRole:

Provider of ESML modeling environment, translators, and generators

AIF contributor Tool integration solution provider

Midterm experiment: Import translator from R Rose into ESML ESML modeling environment Generators for XMLConfig and AIF Analysis tool/report generator for ESML

Contributions to experiment planning & tech assessment: Tool chain definition, AIF definition, integration technology

Tech POC: D. Sharp, M. Schulte, W. Roll

Page 11: MODEL-BASED SYNTHESIS OF GENERATORS FOR EMBEDDED SYSTEMS PI: Gabor Karsai, Co-PI: Akos Ledeczi (615) 343-7471 gabor@vuse.vanderbilt.edugabor@vuse.vanderbilt.edu

7. Project StatusTechnical approach

Key concept:Capture the semantic

mapping between the two type systems/semantics in a mapping model. This mapping describes a generation process.

Synthesize generators from the model of the input/target/generation process

SoftwarePlatform

Output ModelMapping ModelInput Model

Generator Models

Meta-Generator

Domain-SpecificModels

Platform-SpecificCode/Data

Domain/Platform-Specific

Generator

Domain Generation: System Generation Process

Meta- Generation: Generator Generation Process

Describes Describes

Executes

Page 12: MODEL-BASED SYNTHESIS OF GENERATORS FOR EMBEDDED SYSTEMS PI: Gabor Karsai, Co-PI: Akos Ledeczi (615) 343-7471 gabor@vuse.vanderbilt.edugabor@vuse.vanderbilt.edu

7. Project StatusNew developments

RewriteEngineInput

ModelsTargetModels

Physi

cal in

terf

ace

Physi

cal in

terf

ace

Inp

ut

ab

stra

ct s

yn

tax

Ou

tpu

t ab

stra

ct s

yn

tax

Input Interface Output InterfaceAPI API

UDMUDM Focus:How do we model & build the

rewriting engine?

Approach:1.Translators transform graphs of

objects2.Transformations are easy to

describe using graph rewriting rules, of the form:

[guard] Graph Pattern =>

New Graph3.For efficiency: search in graph

matching has to be minimized. Solution:

•Explicit specification of traversal

•“Anchoring” the rule application

Page 13: MODEL-BASED SYNTHESIS OF GENERATORS FOR EMBEDDED SYSTEMS PI: Gabor Karsai, Co-PI: Akos Ledeczi (615) 343-7471 gabor@vuse.vanderbilt.edugabor@vuse.vanderbilt.edu

7. Project StatusExampleProblem:

Input: Hierarchical dataflow network, consisting of Primitive and Compound Blocks, with Input, Output, and Local signals, connected through Dataflow edges.

S

I O L

B

P C

*

*

*

*

*

*

*

*

s 1

d

1

D

Page 14: MODEL-BASED SYNTHESIS OF GENERATORS FOR EMBEDDED SYSTEMS PI: Gabor Karsai, Co-PI: Akos Ledeczi (615) 343-7471 gabor@vuse.vanderbilt.edugabor@vuse.vanderbilt.edu

7. Project StatusExampleProblem:

Output: Flat network of Actor nodes with Transmit and Receive ports, connected through Queues.

Translator’s task: Transform (flatten) input graph into output graph.

R T

A

**

Q

s

1d 1X 1

1Y

Page 15: MODEL-BASED SYNTHESIS OF GENERATORS FOR EMBEDDED SYSTEMS PI: Gabor Karsai, Co-PI: Akos Ledeczi (615) 343-7471 gabor@vuse.vanderbilt.edugabor@vuse.vanderbilt.edu

7. Project StatusExampleRewriting rules:R1: Map a compound’s input

and output signals into queues.

R2: Map the local signal of a compound into a queue.

R3: Insert an extra local signal for direct connections between of input and output signals of child blocks, and map it into a queue.

c : C

i : I

o : O

*

*iq : Q

oq : Q

R1:

*

*

c : C

l : L

*

q : Q

R2

c : C

sb : B

db : B

**

s d

d:Dl : S

c : C

sb : B db : B

**

s

d s

d q : Q

R3:

sbo : O

*

dbi : I

* dbi : Isbo : O

* *

Page 16: MODEL-BASED SYNTHESIS OF GENERATORS FOR EMBEDDED SYSTEMS PI: Gabor Karsai, Co-PI: Akos Ledeczi (615) 343-7471 gabor@vuse.vanderbilt.edugabor@vuse.vanderbilt.edu

7. Project StatusExampleRewriting rules:R4: If a signal is part of a compound,

and it is connected to a signal of a child of the compound, then the map of the child’s signal is the same as the map of the parent’s signal.

R5: Map a primitive to an actor, map its input and output signals into the receive and transmit ports of the actor, and wire them.

c : C

s : S

b : C

bs : S

*

*

*s

dd:D

R4:

q : Q

s1 : S

p : P

i : I

o : O

*

*s

ddi:D

s

d

do:D

a : A

r : R

t : T

*

*

q1 : Q

s

d

y:Y

s

d

x:X

R5:

s2 : S

q2 : Q

Page 17: MODEL-BASED SYNTHESIS OF GENERATORS FOR EMBEDDED SYSTEMS PI: Gabor Karsai, Co-PI: Akos Ledeczi (615) 343-7471 gabor@vuse.vanderbilt.edugabor@vuse.vanderbilt.edu

7. Project StatusExampleTraversal spec:Start with a toplevel compound c.

Apply R1 to c, then call P1 with c.In P1, apply R2,R3, and R4 in

sequence, to c, then call P1 or P2 with each child c.b of c, recursively. Selection depends on type of c.b, for Compounds use P1, for Primitives use P2.

In P2, apply R5 to p.

TOP

c:C

R5(p)

P1

c:C

P2

p:P

R1(c)

P1(c)

R2(c)

R3(c)

R4(c)

P1(c.b) P2(c.b)

Page 18: MODEL-BASED SYNTHESIS OF GENERATORS FOR EMBEDDED SYSTEMS PI: Gabor Karsai, Co-PI: Akos Ledeczi (615) 343-7471 gabor@vuse.vanderbilt.edugabor@vuse.vanderbilt.edu

7. Project StatusCore researchStatus:

Core concepts/principles/techniques developed, prototype implementation is in progress. Implementation is based on UDM (for data structures), and uses an “interpretative” approach: data structures represent patterns, rules, and traversal specifications. “Rule interpreter” executes traversal, graph matching, and actions (graph modification/construction).

Milestone:Base technology for mathematical modeling of translators.

Publication: “Model reuse with metamodel based-transformations”, accepted for publication at ICSR-7.

Page 19: MODEL-BASED SYNTHESIS OF GENERATORS FOR EMBEDDED SYSTEMS PI: Gabor Karsai, Co-PI: Akos Ledeczi (615) 343-7471 gabor@vuse.vanderbilt.edugabor@vuse.vanderbilt.edu

7. Project StatusUpdates and OEP supportCore technology:

New GME release: librariesNew capabilities for UDM: volatile attributes, association classes, copy and pattern toolsOCL constraint interpreter prototype

Avionics OEP:ESML revision and extensionsUpgrades to generators, translators, and analysis toolAIF definitionAIF exporter for GME/ESML

Automotive OEP:Bug fixes and upgrades to Matlab SL/SF translatorsPrototype code generator for ECSL: Simulink discrete time blocks and Stateflow blocks into CHSIF definition

Page 20: MODEL-BASED SYNTHESIS OF GENERATORS FOR EMBEDDED SYSTEMS PI: Gabor Karsai, Co-PI: Akos Ledeczi (615) 343-7471 gabor@vuse.vanderbilt.edugabor@vuse.vanderbilt.edu

8. Project PlansNext 6 months1. Support OEP experiments2. Finish GRR engine (interpreter) prototype, show composition of generator, build

examples, and test3. Start work on translator generator4. Build prototype tool integration framework and instantiate it for OEP-specific

scenariosPerformance goals

Functional GRR engine, with 3 simple translators workingCore components of the OTIF functionalOTIF instance created, and functional for end-to-end scenarios with 3 types of tools: modeling, analysis, and generator.

Success metricsFunctioning translatorsDevelopment of translators is at least 50% faster than by hand codingOTIF core components functionalTool integration solution is created at least 50% faster than by handOEP success criteria satisfied

Page 21: MODEL-BASED SYNTHESIS OF GENERATORS FOR EMBEDDED SYSTEMS PI: Gabor Karsai, Co-PI: Akos Ledeczi (615) 343-7471 gabor@vuse.vanderbilt.edugabor@vuse.vanderbilt.edu

9. Project ScheduleTasks1.Development of model-based technology for generators:

modeling and synthesis2.Develop techniques for composable and embeddable

generators3.Develop a solution for Open Tool Integration Frameworks4.Integration with IDEs, analysisMilestones in next 6 months:1.Demo ability to integrate design tools2.Composition of multiple view models3.Customize frameworks with gen’s4.Compose generators 5.Generate embedded SW for OEPs

2000 2001 2002 2003

Embedded generators

Baseline

Integration with IDEsAnalytical capabilities

2004

Math modeling,synthesis

OTIFFramework, Instances

Page 22: MODEL-BASED SYNTHESIS OF GENERATORS FOR EMBEDDED SYSTEMS PI: Gabor Karsai, Co-PI: Akos Ledeczi (615) 343-7471 gabor@vuse.vanderbilt.edugabor@vuse.vanderbilt.edu

10. Technology TransferVehicles:

DoD contractors: Boeing, LM, Raytheon

Software and non-software business entities using the technology Daimler-Chrysler, Ford, Mathworks, …

Graduating students

Status Discussions with Boeing, LM, and Raytheon Communication with various interested

aerospace and other industrial entities