420 likes | 531 Views
Lecture 4 Component Behavioral Modeling with REMES. Agenda. Background and Motivation REMES Connecting REMES and ProCom REMES Editor Lab2. Background and Motivation. Embedded systems “Computer that does not look like computer” Part of a larger system or machine Typical requirements
E N D
Lecture 4 Component Behavioral Modelingwith REMES Advanced Component-Based Software Engineering
Agenda Advanced Component-Based Software Engineering Background and Motivation REMES Connecting REMES and ProCom REMES Editor Lab2
Background and Motivation Advanced Component-Based Software Engineering • 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
C2 C3 Cn {RC2} {RC3} {RCn} Background and Motivation {RB} > {RC1} Repository B {RB {RC1} C1 Advanced Component-Based Software Engineering
Background 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 system’s specification Advanced Component-Based Software Engineering
REMES behavioural language Advanced Component-Based Software Engineering
Classification 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 Advanced Component-Based Software Engineering
REMES – REsourceModel 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 Advanced Component-Based Software Engineering
REMES - modes • Mode M (SM, V, In, Out, E, RC, Inv, CC) • Control pointsIn: (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
Example1- internal behaviour of Control component in REMES Control Credentials t<=30, cpu’=2 login=userdata mem+=30, t:=0 Init logged==false C Entry Exit turnoff==true Air_conditioning logged==true cpu’=10 eng’=2 Initialization resource mem:TA; resource cpu:TC; resource eng:TC; t:clock
Analysing REMES based ES • REMES modes have access to R1,…, Rn • Goal • analyzevarious scenarios of system’s 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 Advanced Component-Based Software Engineering
Analysing 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
Analysing 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
Analysing REMES based ES Model Checker (Uppaal Cora) yes PTA / MPTA resource-aware property error trace Assumptions from hardware abstraction: Memory budget, Bandwidth, Cost model Advanced Component-Based Software Engineering
Analysing 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 Advanced Component-Based Software Engineering
Connecting ProCom and REMES • ProSavelevel • trigger port REMES interface booleanvariable • 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 Advanced Component-Based Software Engineering
Example2- Temperature control system • core is heated at some given rate • coretemperatureshould be maintainedbetween a minimum and a maximum • when max temp. is reached, designed to be cooleddown by insertingone of twoexistingrods , which cool at different rates R1 or R2 • a rod is availableagain after T time units Advanced Component-Based Software Engineering
Example2- Temperature control system • Model of the architecture and behaviour • System modeled with 3 ProSave components • Eachcomponent has a behaviordepicted by a REMES mode • Assumememory and cpuusage • Formal analysis • ProCom + REMES PTA Advanced Component-Based Software Engineering
Example2- Temperature control system Advanced Component-Based Software Engineering
Example2- Temperature control system Advanced Component-Based Software Engineering
Example2- Temperature control system – Analysis in Uppaal Just for illustration!
Questions ??? Advanced Component-Based Software Engineering
REMES tool-chain Advanced Component-Based Software Engineering
REMES tool-chain Advanced Component-Based Software Engineering • 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 • Integrated in PRIDE
REMES editor Advanced Component-Based Software Engineering
REMES language elements • Composite mode • Compartments for declaration variables, resources, constants Advanced Component-Based Software Engineering
REMES 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) Advanced Component-Based Software Engineering
REMES language elements • Input and output • Init-, entry-, exit-, write – points(local exit points not presented here) Advanced Component-Based Software Engineering
REMES language elements • Control flow • Edges with guards and actions • Conditional connectors Advanced Component-Based Software Engineering
Introduction to Lab2 Advanced Component-Based Software Engineering
Objectives • 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 Advanced Component-Based Software Engineering
Expected Output Advanced Component-Based Software Engineering • Same system as for Lab1 • Archive files only (no folder) named ”Lab2_X.zip” where X is student name • 1 report explaining your design choices • The Project folder for your system • Submission to mahnaz.malekzadeh@mdh.se • Individual work • And nothing else! • Do not copy solutions from others !
Deadline • Thursday 21 February 2014 23:59 (FIRM Deadline!) • If you submit your work late, you fail one submission opportunity • Remember • Lab2 needs to be aproved for passing the course
The assignment Advanced Component-Based Software Engineering • In 2 exercices • Modelling behavior of simple Touch-Lamp system • Modeling behavior of an abstracted version of a Baking Conveyor System
Exercise 1- Touch Lamp System • Lamp has two modes of light operation • Dim – 1 touch • Bright – 2 successive touches within 15 sec Advanced Component-Based Software Engineering
Exercise 2- Industrial Baking Conveyor System • Main parts • Oven • Conveyor Belt • Orchestrator Advanced Component-Based Software Engineering
Usage 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 Advanced Component-Based Software Engineering
Exercise 1 and 2- What do you need to do? Advanced Component-Based Software Engineering • 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
Questions ??? Advanced Component-Based Software Engineering