1 of 141
Integrating Embedded System Design Tools in the Generic Modeling Environment
Peter Tureby, Fredrik Wester
Final Project at the Embedded Systems Lab Linköping University, Sweden
Work Packages
WP1: SymTA/S model
2005-04-30
WP2: Interface to holistic analysis
2005-04-30
WP3: Worst-case scenario visualization
2005-04-30: Can it be done in GME?
WP4: Complex modeling
Model to be received from Paul: 2005-05-09
2005-06-06
WP5: Interface to Traian’s analysis tool
2005-06-17
WP6: Documentation
Start latest on 2005-06-13
3 of 143
Work Package #1
SymTA/S model
Implement the SymTA/S model in GME
Same entities and attributes
Specify the architecture separately
What are the constraints and how to write them?
Examples
Model Kai Richter’s RTSS example
Model a more complex example
WP1 Model: Process
Process
Name (process name, or “identifier”)
BCET (best case execution time on the resource it is mapped to, in milliseconds)
WCET (worst case execution time on the resource it is mapped to, in milliseconds)
Priority (process priority, natural number)
Period (how often is the process executed, natural number)
Jitter (optional; natural number)
Offset (optional; natural number)
Deadline (optional; natural number)
Note
See my thesis (page 144) for a definition of these terms
5 of 145
WP1 Model: Message and Resource
Message
Name
Size (the size of the message, in bits)
Resource
Name
WP1 Model: Notes
Notes:
It is assumed that all processes and messages are scheduled using
“Fixed-Priority Preemptive Scheduling” (FPS)
Processes can be connected to each other in an application graph
Processes can be connected through messages…
For example, P1->m1->P2
…but also directly
For example, P1->P2
The application graph should have no cycles
Resources can be connected to each other
For example, several CPUs are connected to a bus
7 of 147
Work Package #2
Interface to holistic analysis
Holistic analysis implementation from MAST
Decide which implementation to use
Traian’s (C)
Sorin’s (C)
Integrate the analysis with WP1
How to pass the model to the analysis tool?
How to send the results back to GME?
Analyze the two examples from WP1
Work Package #3
Worst-case scenario visualization
For a given process, visualize it’s worst-case scenario
How should a worst-case scenario be depicted?
See SymTA/S for an example
Is it possible to use GME for the visualization, or do you have to build an external tool?
Write by hand the worst-case scenario of a process in one of the examples from WP1
The worst-case scenario is produced by the analysis tool
How to pass it to GME?
9 of 149
Work Package #4
Complex modeling
Decide on a more complex model (responsible:
Paul, Sorin, Traian)
Extend the SymTA/S model to the complex model
What are the constraints and how to write them?
Three examples
Model an example from Traian
Hierarchical scheduling and FlexRay
Model an example from Sorin
Stochastic execution times
Model an example from Paul
Multi-cluster
Work Package #5
Interface to Traian’s analysis tool
Integrate Traian’s analysis tool in GME
Complex modeling
Traian’s example from WP4
11 of 1411
Work Package #6
Documentation
The metamodels and the source code should be documented in English
Report
Preferably in English (Swedish is OK)
Preferably written in LaTeX (Word, or FrameMaker is also fine)
Presentation
In English
Presented in an ESLAB meeting
Before the summer?
Use this template in PowerPoint
Action Points
Discuss with Paul
Clarify what has to be done for each WP
Decide who does what work package
Decide on milestones
13 of 1413
Report ToC
Suggested Table of Contents
Introduction
Embedded systems design
Modeling
Analysis
Motivation
Analysis tools at ESLAB
Related work
SymTA/S interface
Aires’ interface in GME
MAST interface
Modeling using GME
Generic Modeling Environment
Simple (SymTA/S) model
Examples
Complex model
Examples
Tool integration in GME
Design choices
ESLAB’s tools integration
Examples
Worst-case scenario visualization
Examples
Conclusions and future work
References