1 / 42

Lecture 4 Component Behavioral Modeling with REMES

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

eric-barber
Download Presentation

Lecture 4 Component Behavioral Modeling with REMES

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Lecture 4 Component Behavioral Modelingwith REMES Advanced Component-Based Software Engineering

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

  3. 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

  4. C2 C3 Cn {RC2} {RC3} {RCn} Background and Motivation {RB} > {RC1} Repository B {RB {RC1} C1 Advanced Component-Based Software Engineering

  5. 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

  6. REMES behavioural language Advanced Component-Based Software Engineering

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

  8. 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

  9. 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

  10. 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

  11. 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

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

  14. 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

  15. 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

  16. 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

  17. 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

  18. 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

  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. Questions ??? Advanced Component-Based Software Engineering

  23. REMES tool-chain Advanced Component-Based Software Engineering

  24. 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

  25. REMES tool-chain

  26. CBSE graduate course

  27. REMES editor Advanced Component-Based Software Engineering

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

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

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

  41. 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

  42. Questions ??? Advanced Component-Based Software Engineering

More Related