Title: Lecture 4 Component Behavioral Modeling with REMES
1Lecture 4 Component Behavioral Modelingwith
REMES
2Agenda
- Background and Motivation
- REMES
- Connecting REMES and ProCom
- REMES Editor
- Lab2
3Background and Motivation
- Embedded systems
- Computer that does not look like computer
- Part of a larger system or machine
- Typical requirements
- Low cost
- Constantly react to changes in the environment
- Dependability
- Compute certain results in real-time without
delay - Limited available resources
- Manage the growing complexity of software
- Need for solutions that
- Alleviate software complexity
- Ensure predictable system behavior
CBSE graduate course
3
4Background and Motivation
RB gt RC1
Repository
5Background and Motivation
- Challenge
- construct component model for ES design enriched
with behavioral information - support predictable system development and as
such guarantee absence or presence of certain
properties - prediction methods should be available already at
early design stage - bottom-up ? resource analysis can guide the
selection of components - top-down ? resource analysis could help in
correct decomposition of systems specification
6REMES behavioural language
7Classification of resources
- Resource consumption- annotated with c
- accumulated resource usage up to some time
point - c - rate of consumption over time
- Classification of resources
- discrete or continuous nature
- referable or non-referable
Resource Class Characteristics
A (memory) discrete c0 or cinf referable
B (CPU, bandwidth) discrete c0 or cinf non-referable
C (CPU, energy) continuous cn, n in Z - -inf,inf non-referable
8REMES REsource Model for Embedded Systems
- Behavioral model intended to describe the
resource-wise behavior of interacting embedded
components - Behavior of a component is a mode
- Modes
- atomic
- composite
9REMES - modes
- Mode M (SM, V, In, Out, E, RC, Inv, CC)
- Control points In (Init point, Entry point),
Out (Write point, Exit point) - Variables (V) (boolean, natural, integer, array,
clock, history variables) - Actions over edges (E)
- discrete A (guard, body)
- delay/timed
- Constraints
- set of invariants (Inv)
- set of res. diff equations (RC)
- Conditional connectors (CC)
- Nested submodes (SM)
M
C
submode3
(guard, body)
Entry Point
submode1
submode2
Inv1 RC1
Init Point
Exit Point
Write Point
10Example1- internal behaviour of Control component
in REMES
Control
Credentials
tlt30,
cpu2
loginuserdata
mem30, t0
Init
loggedfalse
C
Entry
Exit
turnofftrue
Air_conditioning
loggedtrue
cpu10 eng2
Initialization resource memTA resource
cpuTC resource engTC tclock
11Analysing REMES based ES
- REMES modes have access to R1,, Rn
- Goal
- analyze various scenarios of systems resource
usage - Analysis model for REMES
- rtot total accumulated resource consumption for
R1,, Rn - r1,, rn accumulated consumption of R1,, Rn
- w1,, wn relative importance of r1,, rn
12Analysing REMES based ES
- Translating REMES into Priced timed automata or
Multi PTA - TA costs on locations and edges
- REMES atomic submode ? PTA location(s)
- REMES discrete edge ? PTA edge
- REMES discrete step ? PTA
transition - REMES conditional connectors are removed
- Automated translation
- Types of analysis
- Feasibility
- Optimal/ worst-case resource consumption
- Trade-off analysis
Page 12,
13Analysing REMES based ES
- PTA waits in location Start for system startup
- Init, Entry, Write and Exit locations created
- Transformation of Submode2
- Internal execution rounds - PTA edge connecting
locations Write and Submode1 - Synchronization with other components
Page 13,
14Analysing REMES based ES
Model Checker (Uppaal Cora)
yes
PTA / MPTA
resource-aware property
error trace
Assumptions from hardware abstraction Memory
budget, Bandwidth, Cost model
15Analysing REMES based ES
REMES model of component behavior
ProCom component
Attribute Framework
- Managing and integrating properties
- Each ProCom component has an attribute with a
complex value - Reference to a REMES model file
- Reference to a mapping file between ProCom and
REMES interfaces
Page 15,
CBSE graduate course
16Connecting ProCom and REMES
- ProSave level
- trigger port ? REMES interface boolean
variable - data port ? REMES interface data variable
- ProSys level
- input message port ? REMES read boolean
variable and REMES read data
variable of the - same
type as the port type - output message port ? REMES write boolean
variable
and REMES write data
variable
17Example2- Temperature control system
- core is heated at some given rate
-
- core temperature should be maintained between a
minimum and a maximum - when max temp. is reached, designed to be cooled
down by inserting one of two existing rods ,
which cool at different rates R1 or R2 - a rod is available again after T time units
18Example2- Temperature control system
- Model of the architecture and behaviour
- System modeled with 3 ProSave components
- Each component has a behavior depicted by a REMES
mode - Assume memory and cpu usage
- Formal analysis
- ProCom REMES ? PTA
19Example2- Temperature control system
20Example2- Temperature control system
21Example2- Temperature control system Analysis
in Uppaal
Just for illustration!
22Questions ???
23REMES tool-chain
24REMES tool-chain
- The REMES tool-chain consists of
- REMES model editor
- REMES simulator to test timing and resource
behavior prior to formal analysis - Automated transformation from REMES to PTA for
formal analysis and UppaalLite editor
CBSE graduate course
25(No Transcript)
26REMES editor
27(No Transcript)
28REMES language elements
?
?
- Composite mode ?
- Compartments ? for declaration variables,
resources, constants
29REMES language elements
?
?
?
- Submodes ?
- Invariant time is allowed to pass until
invariant is violated - Non-lazy does not contain any.invariant, Time
is allowed to pass in a non-lazy mode until at
least one of the guards of the outgoing discrete
actions evaluates to true - Urgent time is not allowed to pass (invariant
is false) - .
30REMES language elements
?
?
?
?
- Input and output ?
- Init-, entry-, exit-, write points (local exit
points not presented here)
31REMES language elements
?
?
?
?
?
?
- Control flow
- Edges with guards and actions ?
- Conditional connectors ?
32Introduction to Lab2
33Objectives
- Learn how to model behaviors of component-based
embedded systems - Model internal behavior of components
- Think about modes, actions, resources, invariants
etc. - Get familiar with the REMES editor
34Expected Output
- Same system as for Lab1
- Archive files only (no folder) named
Lab2_X_Y.zip where X_Yfirst student
name_second student name - 1 report explaining your design choices
- The Project folder for your system
- Individual work/ group of two students
- And nothing else!
- Do not copy solutions from others !
35Deadline
- Thursday 21 February 2013 2359 (FIRM Deadline!)
- If you submit your work late, you fail one
submission opportunity - Remember
- Lab2 needs to be aproved for passing the course
-
36The assignment
- In 2 exercices
- Modelling behavior of simple Touch-Lamp system
- Modeling behavior of an abstracted version of a
Baking Conveyor System
37Exercise 1- Touch Lamp System
- Lamp has two modes of light operation
- Dim 1 touch
- Bright 2 successive touches within 15 sec
38Exercise 2- Industrial Baking Conveyor System
- Main parts
- Oven
- Conveyor Belt
- Orchestrator
39Usage Scenario
Ensure that the conveyor belt and the oven are
working together
Orchestrator
Oven
Conveyor Belt
Carries the cookies from point A to point B in
passing by the oven
Oven monitors the temperature and humidity and
determines 1. if the heat should be increased or
decreased and 2. displays the status of the
cookies
40Exercise 1 and 2- What do you need to do?
- To model the behaviour of the system components
- Lamp component for Exercise 1
- Orchestrator, Oven and Conveyor Belt component
for Exercise 2 - Tips
- Start by understanding REMES
- think about different types of modes that exist
in REMES - Use pen and paper before using REMES editor
- Once you are sure of your solution. Model it in
the REMES editor
41Questions ???