Page 1, CBSE graduate course Lecture 4 Component Behavioral Modeling with REMES.

Slides:



Advertisements
Similar presentations
Modeling and Simulation By Lecturer: Nada Ahmed. Introduction to simulation and Modeling.
Advertisements

Hardware/ Software Partitioning 2011 年 12 月 09 日 Peter Marwedel TU Dortmund, Informatik 12 Germany Graphics: © Alexandra Nolte, Gesine Marwedel, 2003 These.
1 CS101 Introduction to Computing Lecture 17 Algorithms II.
1 MODULE name (parameters) “Ontology” “Program” “Properties” The NuSMV language A module can contain modules Top level: parameters less module Lower level.
Timed Automata.
Silberschatz, Galvin and Gagne ©2013 Operating System Concepts – 9 th Edition Chapter 5: Process Synchronization.
UPPAAL Andreas Hadiyono Arrummaisha Adrifina Harya Iswara Aditya Wibowo Juwita Utami Putri.
ComS 512 Project John Altidor Michelle Ruse Jonathan Schroeder.
Verification/Simulati on –GUI for simulation and formal verification –Simulator: Exploration of dynamic behavior Checking.
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 04. Other.
Byzantine Generals Problem: Solution using signed messages.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
Page 1 Building Reliable Component-based Systems Chapter 13 -Components in Real-Time Systems Chapter 13 Components in Real-Time Systems.
Vertically Integrated Analysis and Transformation for Embedded Software John Regehr University of Utah.
Introduction to Software Design Chapter 1. Chapter 1: Introduction to Software Design2 Chapter Objectives To become familiar with the software challenge.
University of Pennsylvania 1 SDRL CHARON SDRL and GRASP University of Pennsylvania Funded by DARPA ITO.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
Chapter 13 Embedded Systems
Chapter 8: Introduction to High-level Language Programming Invitation to Computer Science, C++ Version, Third Edition.
November 18, 2004 Embedded System Design Flow Arkadeb Ghosal Alessandro Pinto Daniele Gasperini Alberto Sangiovanni-Vincentelli
Code Generation from CHARON Rajeev Alur, Yerang Hur, Franjo Ivancic, Jesung Kim, Insup Lee, and Oleg Sokolsky University of Pennsylvania.
Introduction to Software Design Chapter 1. Chapter 1: Introduction to Software Design2 Chapter Objectives To become familiar with the software challenge.
Page 1, August 14, 2015 Advanced CBSE Advanced Component-Based Software Engineering Course Organization Ivica Crnkovic.
Page 1, August 14, 2015 Advanced CBSE Advanced Component-Based Software Engineering Course Organization Ivica Crnkovic.
Page 1, CBSE graduate course. Overall Description  Design and implement a “drive-by-wire"-like solution to electronically drive a vehicle  Using the.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
02/06/05 “Investigating a Finite–State Machine Notation for Discrete–Event Systems” Nikolay Stoimenov.
Lecture 4 Component Behavioral Modeling with REMES Advanced Component-Based Software Engineering.
1 Data Object Object Types A VHDL object consists of one of the following: –Signal, Which represents interconnection wires that connect component instantiation.
Timed UML State Machines Ognyana Hristova Tutor: Priv.-Doz. Dr. Thomas Noll June, 2007.
ECE 720T5 Winter 2014 Cyber-Physical Systems Rodolfo Pellizzoni.
1.eCognition Overview. 1 eCognition eCognition is a knowledge utilisation platform based on Active Knowledge Network technology eCognition covers the.
Designing a Discrete Event Simulation Tool Peter L. Jackson School of Operations Research and Industrial Engineering March 15, 2003 Cornell University.
Hardware Supported Time Synchronization in Multi-Core Architectures 林孟諭 Dept. of Electrical Engineering National Cheng Kung University Tainan, Taiwan,
GUI for development of REMES models REMES GUI group.
1 Software testing. 2 Testing Objectives Testing is a process of executing a program with the intent of finding an error. A good test case is in that.
Introduction to Software Design Chapter 1. Chapter Objectives  To become familiar with the software challenge and the software life cycle  To understand.
10/14/ Algorithms1 Algorithms - Ch2 - Sorting.
By the end of this session you should be able to...
Introduction to Computer Programming Using C Session 23 - Review.
- 1 - Embedded Systems - SDL Some general properties of languages 1. Synchronous vs. asynchronous languages Description of several processes in many languages.
Timed Use Case Maps Jameleddine Hassine Concordia University, Montreal, Canada URN Meeting, Ottawa, January 16-18, 2008.
Selected Topics in Software Engineering - Distributed Software Development.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
Page 1, CBSE graduate course Lecture 3 CBSE in Embedded System Development.
1 Introduction to Software Engineering Lecture 1.
1 5 Nov 2002 Risto Pohjonen, Juha-Pekka Tolvanen MetaCase Consulting AUTOMATED PRODUCTION OF FAMILY MEMBERS: LESSONS LEARNED.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 05. Review Software design methods Design Paradigms Typical Design Trade-offs.
Prepare by : Ihab shahtout.  Overview  To give an overview of fixed priority schedule  Scheduling and Fixed Priority Scheduling.
Visual Basic Programming
System Design Research Lab University of Pennylvania 1/29/2002 CHARON modeling language.
Page 1, CBSE graduate course Lecture 4 Component Behavioral Modeling with REMES.
Fall 2004EE 3563 Digital Systems Design EE 3563 VHSIC Hardware Description Language  Required Reading: –These Slides –VHDL Tutorial  Very High Speed.
Communicating Real-Time State Machines (CRSM) State machines that communicate synchronously Unique unidirectional channels are used for the communication.
Electrical and Computer Engineering University of Cyprus LAB 1: VHDL.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
CS3773 Software Engineering Lecture 06 UML State Machines.
Course: COMS-E6125 Professor: Gail E. Kaiser Student: Shanghao Li (sl2967)
CS451 Lecture 10: Software Testing Yugi Lee STB #555 (816)
Data Structure Introduction Dr. Bernard Chen Ph.D. University of Central Arkansas Fall 2010.
04/26/20031 ECE 551: Digital System Design & Synthesis Lecture Set : Introduction to VHDL 12.2: VHDL versus Verilog (Separate File)
Formal Verification. Background Information Formal verification methods based on theorem proving techniques and model­checking –To prove the absence of.
Software Systems Verification and Validation Laboratory Assignment 4 Model checking Assignment date: Lab 4 Delivery date: Lab 4, 5.
Page 1, CBSE graduate course Lecture 4 Component Behavioral Modeling with REMES.
SystemC Semantics by Actors and Reduction Techniques in Model Checking Marjan Sirjani Formal Methods Lab, ECE Dept. University of Tehran, Iran MoCC 2008.
Topics Introduction to Repetition Structures
Gabor Madl Ph.D. Candidate, UC Irvine Advisor: Nikil Dutt
Model Checking for an Executable Subset of UML
Paper written by Flavio Oquendo Presented by Ernesto Medina
Presented By: Darlene Banta
Presentation transcript:

Page 1, CBSE graduate course Lecture 4 Component Behavioral Modeling with REMES

Agenda  Background and Motivation  REMES  Connecting REMES and ProCom  REMES Editor  Lab2 CBSE graduate course Page 2,

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 CBSE graduate course

C2C2 {R C2 } C3C3 {R C3 } CnCn {R Cn } {R B } > {R C1 } C1C1 {R C1 } B {R B Repository Page 4, CBSE graduate course 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 Background and Motivation Page 5, CBSE graduate course

REMES behavioural language CBSE graduate course Page 6,

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 Page 7, CBSE graduate course

REMES – REsource Model for Embedded Systems CBSE graduate course  Behavioral model intended to describe the resource-wise behavior of interacting embedded components  Behavior of a component is a mode  Modes atomic composite Page 8,

REMES - modes Page 9,  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

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 Page 10, CBSE graduate course

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 Page 11, CBSE graduate course

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

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 Page 13,

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 Page 14, CBSE graduate course

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 CBSE graduate course Page 15,

 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 Page 16, CBSE graduate course

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 Page 17, CBSE graduate course

 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 Page 18, CBSE graduate course

Example2 - Temperature control system Page 19, CBSE graduate course

Example2 - Temperature control system Page 20, CBSE graduate course

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

Page 22, CBSE graduate course

REMES tool-chain CBSE graduate course Page 23,

 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 Page 24, CBSE graduate course REMES tool-chain CBSE graduate course

Page 25, CBSE graduate course

REMES editor CBSE graduate course Page 26,

Page 27, CBSE graduate course

REMES language elements CBSE graduate course Composite mode  Compartments  for declaration variables, resources, constants   Page 28,

REMES language elements CBSE graduate course    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). Page 29,

REMES language elements CBSE graduate course     Input and output  Init-, entry-, exit-, write – points (local exit points not presented here) Page 30,

CBSE graduate course REMES language elements      Control flow Edges with guards and actions  Conditional connectors  Page 31,

Introduction to Lab2 CBSE graduate course Page 32,

Page 33, CBSE graduate course 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

Expected Output  Same system as for Lab1 Archive files only (no folder) named ”Lab2_X_Y.zip” where X_Y=first 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 ! CBSE graduate course Page 34,

Deadline  Thursday 21 February :59 (FIRM Deadline!)  If you submit your work late, you fail one submission opportunity  Remember Lab2 needs to be aproved for passing the course CBSE graduate course Page 35,

The assignment  In 2 exercices Modelling behavior of simple Touch-Lamp system Modeling behavior of an abstracted version of a Baking Conveyor System CBSE graduate course Page 36,

Exercise 1- Touch Lamp System CBSE graduate course  Lamp has two modes of light operation Dim – 1 touch Bright – 2 successive touches within 15 sec Page 37,

Exercise 2- Industrial Baking Conveyor System CBSE graduate course Page 38,  Main parts Oven Conveyor Belt Orchestrator

Usage Scenario CBSE graduate course 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 Page 39,

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 CBSE graduate course Page 40,

CBSE graduate course Page 41,