model-based synthesis of generators for embedded systems pi: gabor karsai, co-pi: akos ledeczi (615)...
Post on 14-Jan-2016
220 Views
Preview:
TRANSCRIPT
MODEL-BASED SYNTHESIS OF GENERATORS FOR EMBEDDED SYSTEMS
PI: Gabor Karsai, Co-PI: Akos Ledeczi(615) 343-7471 gabor@vuse.vanderbilt.eduInstitute for Software-Integrated SystemsVanderbilt UniversityF30602-00-1-0580,AO: K218End date: 5/04Agent: R. Dziegiel, AFRL, Rome, NY
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
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
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
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)
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
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
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
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
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
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
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
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
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
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
* *
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
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)
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.
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
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
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
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
top related