Presentation is loading. Please wait.

Presentation is loading. Please wait.

Lecture 4 Component Behavioral Modeling with REMES Advanced Component-Based Software Engineering.

Similar presentations


Presentation on theme: "Lecture 4 Component Behavioral Modeling with REMES Advanced Component-Based Software Engineering."— Presentation transcript:

1 Lecture 4 Component Behavioral Modeling with REMES Advanced Component-Based Software Engineering

2 Agenda  Background and Motivation  REMES  Connecting REMES and ProCom  REMES Editor  Lab2 Advanced Component-Based Software Engineering

3  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 Background and Motivation Advanced Component-Based Software Engineering

4 C2C2 {R C2 } C3C3 {R C3 } CnCn {R Cn } {R B } > {R C1 } C1C1 {R C1 } B {R B Repository Background and Motivation Advanced Component-Based Software Engineering

5  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 Background and Motivation Advanced Component-Based Software Engineering

6 REMES behavioural language Advanced Component-Based Software Engineering

7 Resource ClassCharacteristics A (memory) discrete c´=0 or c’=inf referable B (CPU, bandwidth) discrete c’=0 or c´=inf non-referable C (CPU, energy) continuous c´=n, n in Z - {-inf,+inf} non-referable  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 Classification of resources Advanced Component-Based Software Engineering

8 REMES – 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 Advanced Component-Based Software Engineering

9 REMES - 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) Entry Point Init Point C M submode1 submode2 submode3 Exit Point Write Point (guard, body) Inv1 RC1

10 C Control Init Entry Exit login=userdata cpu’=2 t<=30, Credentials Air_conditioning Example1 - internal behaviour of Control component in REMES logged==true logged==false cpu’=10 eng’=2 mem+=30, t:=0 Initialization resource mem:T A ; resource cpu:T C ; resource eng:T C ; t:clock turnoff==true

11 Analysing REMES based ES  REMES modes have access to R 1,…, R n  Goal analyze various scenarios of system’s resource usage  Analysis model for REMES r tot total accumulated resource consumption for R 1,…, R n r 1,…, r n accumulated consumption of R 1,…, R n w 1,…, w n relative importance of r 1,…, r n Advanced Component-Based Software Engineering

12 12 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

13 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

14 Model Checker (Uppaal Cora) PTA / MPTA resource-aware property error trace yes Assumptions from hardware abstraction: Memory budget, Bandwidth, Cost mode l Analysing REMES based ES Advanced Component-Based Software Engineering

15 ProCom component REMES model of component behavior 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 Analysing REMES based ES Advanced Component-Based Software Engineering

16  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 Connecting ProCom and REMES Advanced Component-Based Software Engineering

17 Example2 - 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 Advanced Component-Based Software Engineering

18  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 Example2 - Temperature control system Advanced Component-Based Software Engineering

19 Example2 - Temperature control system Advanced Component-Based Software Engineering

20 Example2 - Temperature control system Advanced Component-Based Software Engineering

21 Example2 - Temperature control system – Analysis in Uppaal Just for illustration!

22 Advanced Component-Based Software Engineering

23 REMES tool-chain Advanced Component-Based Software Engineering

24  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 tool-chain Advanced Component-Based Software Engineering

25 REMES tool-chain

26 Page 26, CBSE graduate course

27 REMES editor Advanced Component-Based Software Engineering

28 Page 28, CBSE graduate course

29 REMES language elements Composite mode  Compartments  for declaration variables, resources, constants   Advanced Component-Based Software Engineering

30 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

31 REMES language elements     Input and output  Init-, entry-, exit-, write – points (local exit points not presented here) Advanced Component-Based Software Engineering

32 REMES language elements      Control flow Edges with guards and actions  Conditional connectors  Advanced Component-Based Software Engineering

33 Introduction to Lab2 Advanced Component-Based Software Engineering

34 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

35 Expected Output  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 ! Advanced Component-Based Software Engineering

36 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

37 The assignment  In 2 exercices Modelling behavior of simple Touch-Lamp system Modeling behavior of an abstracted version of a Baking Conveyor System Advanced Component-Based Software Engineering

38 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

39 Exercise 2- Industrial Baking Conveyor System  Main parts Oven Conveyor Belt Orchestrator Advanced Component-Based Software Engineering

40 Usage Scenario Orchestrator Oven Conveyor Belt 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 Carries the cookies from point A to point B in passing by the oven Ensure that the conveyor belt and the oven are working together Advanced Component-Based Software Engineering

41 Exercise 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 Advanced Component-Based Software Engineering

42


Download ppt "Lecture 4 Component Behavioral Modeling with REMES Advanced Component-Based Software Engineering."

Similar presentations


Ads by Google