Real-Time Implementation of BIP: Clocks and Real-Time Constraints
|
|
- Michael Strickland
- 6 years ago
- Views:
Transcription
1 Real-Time Implementation of BIP: Clocks and Real-Time Constraints Jacques Combaz DCS Days March 27, 2009 Verimag
2 Outline 1. Introduction: (Timed) BIP Model 2. Computing Timed Interactions 3. Model Time vs Real-Time 4. Real-Time Scheduling Policy 5. Future Work Verimag
3 Outline 1. Introduction: (Timed) BIP Model 2. Computing Timed Interactions 3. Model Time vs Real-Time 4. Real-Time Scheduling Policy 5. Future Work Verimag
4 BIP Model Behavior: components automata + ports + data + C code init A init init wait s wait f() r init B init s r init compute Interactions (synchronizations): { init, init }, { s }, { s, r } Priorities (conflict resolution): { s, r } > { s } BIP Engine Platform Verimag
5 Centralized Implementation of the BIP Engine initialize atoms wait for a stable state execute involved atoms choose one interaction there is one interaction (or more) compute legal interactions filter them using priorities there is no interaction deadlock
6 Timed BIP Model Behavior: timed automata (clocks with discrete semantics + urgency type) init init x:=0 wait s [x=p] delayable x:=0 init s A r init init init f() y:=0 wait compute r B
7 Implementing with Tick Connector Connector tick is synchronized with the platform clock tick x++ init init x:=0 A tick y++ init init y:=0 B tick [x<p ] x++ wait s [x=p] x:=0 f() wait r compute tick init s r init tick tick y++ Problem: - inefficient: synchronous execution - not implementable if execution times clock period Engine time engine connector tick Platform all components RT Clock Verimag
8 Proposed Engine Behavior: timed automata (urgency) + ports + data + C code init init x:=0 wait s [x=p] delayable x:=0 init s A r init init init f() y:=0 wait compute r B Engine Real-Time Engine Platform Event Handler RT Clock
9 Real-Time BIP Engine (Centralized) initialize atoms execute involved atoms wait for the chosen interaction real-time scheduling policy wait for a stable state there is one interaction (or more) compute legal timed interactions restrict guards using priorities there is no interaction deadlock
10 Outline 1. Introduction: (Timed) BIP Model 2. Computing Timed Interactions 3. Model Time vs Real-Time 4. Real-Time Scheduling Policy 5. Future Work Verimag
11 Computing Timed Interactions p A q B r C s D p [ 7 x 10 ] delayable q [ 3 y 5 ] eager r s [ 1 z 5 ] delayable p: q: r: s: last reset x last reset y last reset z {p,q} 3 y 5 7 x 10 { r, s } 1 z 5 t (platform clock) { p, q }: [ 17 t 20 ] delayable [ 16 t 18 ] eager { r, s }: [ - t + ] lazy [ 16 t 20 ] delayable = [ 17 t 18 ] eager = [ 16 t 20 ] delayable Verimag 11
12 Priorities { p, q } > { r, s } p A q B r C s D p [ 7 x 10 ] delayable q [ 3 y 5 ] eager r s [ 1 z 5 ] delayable last reset x {p,q} last reset y t (platform clock) last reset z { r, s } { r, s }: [ 16 t 20 ] delayable \ [ 17 t 18 ] eager = [ t = 16 ] lazy [ 19 t 20 ] delayable Verimag 12
13 Outline 1. Introduction: (Timed) BIP Model 2. Computing Timed Interactions 3. Model Time vs Real-Time 4. Real-Time Scheduling Policy 5. Future Work Verimag
14 Example #1 (Model Execution) [ x P ] eager [ x = P ] eager x = 0P
15 Example #1 (Actual Execution) deadlock which is not in the model! [ x P ] eager [ x = P ] eager x = 0 P+ε execution times of transitions: ε
16 Example #2 (Model Execution) p A q B p x := 0 q y := 0 [ x P ] eager f() [ y 2P ] eager g() x := 0 y := 0 x = P0 y = P2P 0
17 Example #2 (Actual Execution) p A q B p x := 0 q y := 0 [ x P ] eager f() [ y 2P ] eager g() x := 0 y := 0 x = εp-2ε P-ε 0 f +ε g y = P+ε 0 2P P+2ε+ε f +ε gf execution times of transitions: f() ε f g() ε g others ε
18 Model Time vs Real-Time In model semantics, interaction execution is instantaneous In actual implementation, everything takes time Model time and real-time cannot coincide at each state of the system t I t+ε time s,s : states I: interaction (s,t) I I,ε (s,t) (s,t+ε) model actual execution The Real-Time BIP Engine should be based on logical or model time Synchronizations between model time and real-time are required
19 Exact Synchronization Interaction I can be executed for any value of time between t and t+ε Synchronization at each control state δ t t+δ I t+ε time I (s,t) δ (s,t+δ) ε-δ I (s,t+δ) ε-δ (s,t+ε) Actual execution: (s,t) I,ε (s,t+ε) Model: δ [0;ε] (s,t) δ (s,t+δ) I (s,t+δ) ε-δ (s,t+ε)
20 Relaxed Synchronization Synchronization can be made after a finite sequence I 1 I n of interactions that have to be executed at model time t I 1 t I 1 I 2 I n t+ε time I 2 I n ε (s,t) I 1 (s 1,t) I 2 I n (s n,t) ε=ε ε n (s n,t n +ε) Actual execution: (s,t) I 1,ε 1 (s1,t+ε 1 ) I 2,ε 2... I n,ε n (sn,t+ε n ) Model: (s,t) I 1 (s1,t) I 2... I n (sn,t) ε (s n,t + ε 1 + +ε n )
21 Implementing Clock Synchronization Clock t encapsulates the platform clock: it represents logical or model time Clock t and platform clock are synchronized only when necessary, depending on the synchronization model (exact or relaxed) User clocks x, y, z, are computed w.r.t. model time t Real-Time Engine clock x clock y clock z Platform clock t RT Clock
22 Implementability Problem: Given a platform, the synchronized model (exact or relaxed) may give traces (sequences of transitions) that are not in the model. 1. Using a faster processor solves the problem. OK 2. The model requires an infinite processor speed for executing correctly. not implementable with the considered semantics Formally, the model is implementable if there exists execution times ε i > 0 for transitions such that the set of traces of the synchronized model are included in the set of traces of the model.
23 Implementability (Examples 1/3) [ L x U ] delayable [ x = P ] delayable [ x P ] eager implementability: exact relaxed implementability: exact relaxed implementability: exact relaxed
24 Implementability (Examples 2/3) [ x P ] eager [ x P ] eager [ x 2 ] eager [ x = P ] eager [ x = P ] eager x:=0 [ x 3 ] eager implementability: implementability: implementability: exact relaxed exact relaxed exact relaxed
25 Implementability (Examples 3/3) p A q B p x := 0 q y := 0 [ x P ] eager f() [ y 2P ] eager g() x := 0 y := 0 x = 2ε+ε P0 f f +ε g y = 2P 0 2ε+ε P+ε+ε f +ε f g implementability: exact relaxed execution times of transitions: f() ε f g() ε g others ε
26 Outline 1. Introduction: (Timed) BIP Model 2. Computing Timed Interactions 3. Model Time vs Real-Time 4. Real-Time Scheduling Policy 5. Future Work Verimag
27 Computing Deadlines deadline(c,t) : deadline associated to constraint C, if the current value of the involved clock is T deadline([l t U] lazy,t) = + deadline([l t U] delayable,t) = max [L;U] [T;+ ] (with max = + ) deadline([l t U] eager,t) = min [L;U] [T;+ ] (with min = + ) deadline([l 1 t U 1 ] u1... [L N t U N ] un,t) = min deadline([l i t U i ] ui,t) Verimag 27
28 Computing Next Activation next(c,t) : next value of the involved clock for which C is enabled, if the current value of the clock is T next([l t U] urgency,t) = min [L;U] [T;+ ] (with min = + ) next([l 1 t U 1 ] u1... [L N t U N ] un,t) = min next([l i t U i ] ui,t) Verimag 28
29 Relaxed Sync. Implementation Engine() clk := 0 T := 0 /* reset platform clock */ /* logical time := 0 */ infinite_loop Legals := GetLegalInteractions() /* interactions and constraints */ if (Legals = ) break /* deadlock */ Legals := ApplyPriorities(Rules, Legals) /* restrict constraints with priorities*/ I := EDF_Scheduler(Legals, T) /* real-time scheduler */ D := deadline(i, T) /* deadline for I */ if ( D > T clk - T > MAX_DRIFT ) T := clk /* synchronize T and clk */ if ( D > T) break /* deadline is missed */ wait( t next(i, T ) ) /* wait for next activation of I */ T := next(i, T)) /* update logical time if needed */ execute(i) /* execute I */
30 Implementing EDF Scheduling Policy EDF_Scheduler(Legals, T) D := min I Legals deadline(i, T) return I such that deadline(i, T) = D EDF_ _Scheduler(Legals, T) D := min I Legals deadline(i, T) N := min I Legals next(i, T) if ( D N > ) /* enough time to execute non-urgent interactions */ return I such that next(i, T) =N else return I such that deadline(i, T) = D
31 5. Future Work BIP Toolchain: - a prototype of a (centralized) Real-Time BIP Engine has been done optimization of the Real-Time BIP Engine modification of the parser and the code generator Distributed implementation: distributed clocks (synchronizations)
32 Backup Verimag 32
33 Components = { A 1, A 2, A 1 } Clocks = { x, y } Ports = { p, q, r } Connectors 2 Ports = { C } BIP Model p C = { p, q, r } q p q 1 x 10 δ 3 y 5 ε A 1 A 2 A 3 r r Real-time: t Reals Reset function: last_reset_date : Clocks Reals x:=0 last_reset_date[x] = t 0 where t 0 is the current value of t At a given system state : Synced = { (p,x,[1;10],δ), (q,y,[3;5],ε), (r,-,-,-) } ε: eager δ: delayable λ: lazy ε > δ > λ Verimag 33
34 Clocks and Real-Time Constraints B 1 B 2 B 3 B n Engine Interactions Real-Time Engine Platform Event Handler Clock t p on p provided delayable x in [L;U] p on p provided delayable x in [L;U] Real-Time t Engine L = L + last_reset_date[x] U = U + last_reset_date[x] enabled test L t U Verimag 34
35 Components = { A 1, A 2, A 1 } Clocks = { x, y } Ports = { p, q, r } Connectors 2 Ports = { C } Timed BIP Model p C = { p, q, r } q p q 1 x 10 δ 3 y 5 ε A 1 A 2 A 3 r r Real-time: t Reals Reset function: last_reset_date : Clocks Reals x:=0 last_reset_date[x] = t 0 where t 0 is the current value of t At a given system state : Synced = { (p,x,[1;10],δ), (q,y,[3;5],ε), (r,-,-,-) } ε: eager δ: delayable λ: lazy ε > δ > λ Verimag 35
36 Platform clock: t (p,-,-,-) (p,t,[- ;+ ], λ) (p,x,[l;u],τ) (p,t,[l ;U ], τ) where Time Conversion Synced = { (p,x,[1;10],δ), (q,y,[3;5],ε), (r,-,-,-) } Synced = { (p,t,[1;10],δ), (q,t,[4;6],ε), (r,-,-,-) } if last_reset_date[x]=0 and last_reset_date[y]=1 L = L + last_reset_date[x] U = U + last_reset_date[x] C = { p, q, r } p q p q 1 x 10 δ 3 y 5 ε r r A 1 A 2 A 3 We write p Synced for (p,t,[l;u],τ) Synced p Synced untimed for (p,t,[- ;+ ],λ) Synced guard(p) for [L;U] if (p,t,[l;u],τ) Synced guard(p) for if p Synced τ(p) τ if for (p,t,[l;u],τ) Synced Verimag 36
37 Computing Legal Interactions 1. Strong Synchronization Let C Connectors such that C = { p 1,,p n } is a strong synchronization, i.e. C defines the set of interactions { { p 1,,p n } } For I = { p 1,,p n } we have (I,t,guard(I),τ) Legals iff: 1. I Synced 2. guard(i) = [t 0 ;+ ] p I guard(p) 3. guard(i) 4. τ = max p I τ(p) We have (I,t,guard(I),max τ j ) Legals iff: 1. I Synced 2. guard(i) = [L;U] where (p j,t,[l j ;U j ],τ j ) Synced and L = max j L j,t 0 U = min j U j 3. L U Verimag 37
38 Computing Legal Interactions 1. Strong Synchronization (example) p C = { p, q, r } q r p q 1 x 10 δ 3 y 5 ε r A 1 A 2 A 3 If Synced = { (p,t,[1;10],δ), (q,t,[4;6],ε), (r,t,[- ;+ ],λ) } and t 0 = 5 then Legals = { ({ p,q,r },t,[5;6],ε) } Verimag 38
39 Computing Legal Interactions 2. General Case Let C Connectors such that C = { p 1,,p n } C defines a set of interactions { I 1,,I m } For each I { I 1,,I m } we have (I,t,guard(I),τ) Legals iff: 1. Synced untimed I Synced 2. guard(i) = [t 0 ;+ ] p I guard(p) \ ( p C \ I guard(p)) 3. guard(i) 4. τ = max p I τ(p) Notice that guard(i) will be of the form guard(i) = [L 1 ;U 1 ]... [L N ;U N ] (we consider the discrete semantics for \) Verimag 39
40 Computing Legal Interactions 2. General Case (example) p C = { p, q, r } q r p q 1 x 10 δ 3 y 5 ε r A 1 A 2 A 3 Synced = { (p,t,[1;10],δ), (q,t,[9;11],ε), (r,t, [- ;+ ],λ) } (last_reset_date[x]=0, last_reset_date [y]=6) C defines the set of interactions { I 1,I 2,I 3,I 4 } such that, for t 0 = 1, we have: I 1 = { r } guard(i 1 ) = [t 0 ;+ ] \ ([1;10] [9;11]) (I 1,t, [12;+ ],λ) Legals I 2 = { r,p } guard(i 2 ) = [t 0 ;+ ] [1;10] \ [9;11] (I 2,t, [1;8],δ) Legals I 3 = { r,q } guard(i 3 ) = [t 0 ;+ ] [9;11] \ [1;10] (I 3,t, [11;11],ε) Legals I 4 = { r,p,q } guard(i 4 ) = [t 0 ;+ ] [1;10] [9;11] (I 4,t, [9;10],ε) Legals Verimag 40
41 Computing Priorities Applying priorities: Legals Legals Let I and I 1,I 2,, I n such that I < I i provided L i t U i then (I,t, guard (I), τ) Legals iff : 1. I Legals and for all i=1..n I i Legals 2. guard (I) = guard(i) \ ( i=1..n [L i ;U i ] guard(i i ) ) 3. guard (I) Verimag 41
42 Implementation (Clocks) class GlobalClock : Clock + time(),reset() + wait() + freeze(),go(),update() computed w.r.t. another clock or directly
43 Centralized Engine (Monothread) Engine() { T = new Clock(t); /* T: logical time, t: real-time, both freezed */ t.go(); /* start real-time */ while(true) { Synced = GetSyncedPorts(); /* list of synced ports */ Legals = GetLegalInteractions(Synced); /* list of legal interactions */ Legals = ApplyPriorities(Legals); /* priorities*/ I = EDF_Scheduler(Legals, T.time()); /* real-time scheduler */ if (I == NULL) break; /* deadlock */ if (SyncPoint(I, T.time(), t.time())) { old_time = T.time(); T.update(); /* synchronize logical time */ if (CheckDeadlineMiss(I, old_time, T.time())) break; } } T.wait(next(I, T.time())); /* wait for next activation of I */ I.execute(); /* execute I */ if (CheckForDeadlineMiss(I, T.time(), t.time())) break; } DeadlockOrDeadlineMiss();
44 Centralized Engine (Monothread) SyncPointExact(I, T, t) { return true; } CheckDeadlineMissExact(I, T, t) { if (deadline(i,t) < t) return true; else return false; } SyncPointRelaxed(I, T, t) { if (deadline(i,t) == T && t - T < MAX_DRIFT) return false; else return true; } CheckDeadlineMissRelaxed(I, T, t) { if (T < deadline(i,t) < t) return true; else return false; }
45 Implementation (Atom, Ports, ) class Atom class Compound + rt_sync() + rt_activate() class Port + constraint real-time constraint associated to the port by rt_sync() + rt_execute() class Connector + mfeasibleinter list of feasible interactions (depending on the real-time) + rt_execute() class Interaction + constraint associated real-time constraint + mnext next interaction in the list + rt_execute()
46 Planning BIP engine: Functionality Prototype Tested clocks guard and urgency connectors hierarchical connectors priorities real-time scheduler BIP tool chain: Functionality Prototype Tested parser code generator
47 Tick Implementation B 1 B 2 B 3 B n sync(tick) tick Interactions tick Engine Platform tick RT Clock Synchronous execution: inefficient engine connector tick all components Verimag 47
48 Standards Ports / Events Clock t Engine enabled test p on p N p =t 0 D p =+ N p t D p Clock t Engine enabled test Platform event p on p N p : minimal arrival time D p : deadline if present N p t D p Verimag 48
49 Real-Time Engine Implementation One engine for simulation and implementation In simulation mode, the real-time t is driven by the engine In execution mode, the real-time t is connected to the platform clock Application Software RT scheduling priorities policy (RT scheduling policy) priorities Engine Platform clocks x,y, clocks real- x,y, time t realtime t platform clock Simulation Execution Verimag 49
50 OASIS in BIP: control flow Clock c=0; body start { code1; advance(1); code2; advance(2); do { code3; advance(1); } while (condition); } provided c=1 code1; c=0; provided c=2 code3; c=0; provided c=1 code3; c=0;
51 OASIS in BIP: computation body start {... Y=f(X); advance(1);... } read Y=f(X) 1 write write read read_x write_y write read c=0; on read_x provided c=0 provided 0 c 1 Y=f(X) X on write_y provided c=1 c=0; Y
52 OASIS in BIP: coordination If the reader doesn t read old values of X, we store only the current value in X: X.X = W.X R.X = X.X int X write_x write read read_x int X int X on write on read on write_x on read_x W X R The priority rule write write_x > read read_x resolves conflicts when writing and reading are possible at the same time. W R
53 Simulation vs Implementation (2/2) B 1 B 2 B 3 B n Interactions Environment Engine Real-Time Engine Platform Event Handler event event Direct implementation: events are directly handled by the engine efficient active wait or interruption mechanisms standard interfaces Verimag 53
54 Simulation vs Implementation (1/2) sync() sync() B 1 B 2 B 3 B n Platform Environment Interactions Environment event event Engine Platform Simulation Implementation : the BIP by encapsulation: model contains the events environment are handled behavior into components the only platform active waits behavior (no interruption mechanisms) specific interfaces Verimag 54
Formal Modeling and Analysis of Stream Processing Systems
Formal Modeling and Analysis of Stream Processing Systems Linh T.X. Phan March 2009 Computer and Information Science University of Pennsylvania 1 High performance Highly optimized requirements systems
More informationResource-bound process algebras for Schedulability and Performance Analysis of Real-Time and Embedded Systems
Resource-bound process algebras for Schedulability and Performance Analysis of Real-Time and Embedded Systems Insup Lee 1, Oleg Sokolsky 1, Anna Philippou 2 1 RTG (Real-Time Systems Group) Department of
More informationM. De Wulf, L. Doyen,J.-F. Raskin Université Libre de Bruxelles Centre Fédéré en Vérification
Systematic Implementation of Real-Time Models M. De Wulf, L. Doyen,J.-F. Raskin Université Libre de Bruxelles Centre Fédéré en Vérification Model-based Development for Controllers Make a model of the environment
More informationFachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn. 2.3 Timed Automata and Real-Time Statecharts
2.3 Timed Automata and Real-Time Statecharts Develop a BOOK RATING APP and win awesome prizes! The creators of the best submissions will be invited to an exclusive party in February
More informationComponent-based Construction of Heterogeneous Real-time Systems in BIP
Component-based Construction of Heterogeneous Real-time Systems in BIP Joseph Sifakis VERIMAG FETCH07 Villard-de-Lans, January 2007 Joseph Sifakis FETCH07 1 Key-issues: Component-based construction Develop
More informationA Time-Triggered View. Peter PUSCHNER
Predictable Timing on MPSoC A Time-Triggered View Peter PUSCHNER 1 st Workshop on Mapping Applications to MPSoCs Schloss Rheinfels, Germany June 2008 Focus goal: build safety-critical hard real-time systems
More informationModeling Heterogeneous Real-time Components in BIP
Modeling Heterogeneous Real-time Components in BIP Joseph Sifakis in collaboration with Ananda Basu and Marius Bozga VERIMAG Composition of Embedded Systems Scientific and Industrial Issues Monterey Workshop
More informationWebGME-BIP: A Design Studio for Modeling Systems with BIP. Anastasia Mavridou, Joseph Sifakis, and Janos Sztipanovits
WebGME-BIP: A Design Studio for Modeling Systems with BIP Anastasia Mavridou, Joseph Sifakis, and Janos Sztipanovits Why BIP? A language and tool-set for component-based system design formal semantics
More informationIntroduction 2 The first synchronous language (early 80 s) Gérard Berry and his team (École des Mines de Paris / INRIA Sophia-Antipolis) Imperative, s
Pascal Raymond, Verimag-CNRS Introduction 2 The first synchronous language (early 80 s) Gérard Berry and his team (École des Mines de Paris / INRIA Sophia-Antipolis) Imperative, sequential style (i.e.
More informationThe Esterel language
Pascal Raymond, Verimag-CNRS Introduction 2 The first synchronous language (early 80 s) Gérard Berry and his team (École des Mines de Paris / INRIA Sophia-Antipolis) Imperative, sequential style (i.e.
More information1 The comparison of QC, SC and LIN
Com S 611 Spring Semester 2009 Algorithms for Multiprocessor Synchronization Lecture 5: Tuesday, 3rd February 2009 Instructor: Soma Chaudhuri Scribe: Jianrong Dong 1 The comparison of QC, SC and LIN Pi
More informationAn Introduction to UPPAAL. Purandar Bhaduri Dept. of CSE IIT Guwahati
An Introduction to UPPAAL Purandar Bhaduri Dept. of CSE IIT Guwahati Email: pbhaduri@iitg.ernet.in OUTLINE Introduction Timed Automata UPPAAL Example: Train Gate Example: Task Scheduling Introduction UPPAAL:
More informationModel checking and timed CTL
Chapter 6 Model checking and timed CTL Ah! What did I tell you? 88 miles per hour! The temporal displacement occurred at exactly 1:20am and *zero* seconds! [Dr Emmett Brown] 6.1 Timed CTL Page 86 Formal
More informationThe SPIN Model Checker
The SPIN Model Checker Metodi di Verifica del Software Andrea Corradini Lezione 1 2013 Slides liberamente adattate da Logic Model Checking, per gentile concessione di Gerard J. Holzmann http://spinroot.com/spin/doc/course/
More informationFrom synchronous models to distributed, asynchronous architectures
From synchronous models to distributed, asynchronous architectures Stavros Tripakis Joint work with Claudio Pinello, Cadence Alberto Sangiovanni-Vincentelli, UC Berkeley Albert Benveniste, IRISA (France)
More informationLecture #23: Conversion and Type Inference
Lecture #23: Conversion and Type Inference Administrivia. Due date for Project #2 moved to midnight tonight. Midterm mean 20, median 21 (my expectation: 17.5). Last modified: Fri Oct 20 10:46:40 2006 CS164:
More informationConversion vs. Subtyping. Lecture #23: Conversion and Type Inference. Integer Conversions. Conversions: Implicit vs. Explicit. Object x = "Hello";
Lecture #23: Conversion and Type Inference Administrivia. Due date for Project #2 moved to midnight tonight. Midterm mean 20, median 21 (my expectation: 17.5). In Java, this is legal: Object x = "Hello";
More informationModel-based Analysis of Event-driven Distributed Real-time Embedded Systems
Model-based Analysis of Event-driven Distributed Real-time Embedded Systems Gabor Madl Committee Chancellor s Professor Nikil Dutt (Chair) Professor Tony Givargis Professor Ian Harris University of California,
More informationModel Requirements and JAVA Programs MVP 2 1
Model Requirements and JAVA Programs MVP 2 1 Traditional Software The Waterfall Model Problem Area Development Analysis REVIEWS Design Implementation Costly wrt time and money. Errors are found too late
More informationInvestigation on Soundness Regarding Lazy Activities
Investigation on Soundness Regarding Lazy Activities Frank Puhlmann and Mathias Weske Business Process Technology Group Hasso-Plattner-Institute Potsdam, Germany 1 Outline Motivation (Problem Statement)
More informationTranslating AADL into BIP Application to the Verification of Real time Systems
Toulouse, France (in conjunction with MODELS 2008) 1st International Workshop on Model Based Architecting and Construction of Embedded Systems (ACESMB 2008) Translating AADL into BIP Application to the
More informationReducing Clocks in Timed Automata while Preserving Bisimulation
Reducing Clocks in Timed Automata while Preserving Bisimulation Shibashis Guha Chinmay Narayan S. Arun-Kumar Indian Institute of Technology Delhi {shibashis, chinmay, sak}@cse.iitd.ac.in arxiv:1404.6613v2
More informationSchedulability Analysis of AADL Models
Schedulability Analysis of AADL Models Oleg Sokolsky Insup Lee University of Pennsylvania Duncan Clarke Fremont Associates Overview AADL modeling language Why is it useful and what it has Formal schedulability
More informationEfficient Synthesis of Production Schedules by Optimization of Timed Automata
Efficient Synthesis of Production Schedules by Optimization of Timed Automata Inga Krause Institute of Automatic Control Engineering Technische Universität München inga.krause@mytum.de Joint Advanced Student
More informationPotential violations of Serializability: Example 1
CSCE 6610:Advanced Computer Architecture Review New Amdahl s law A possible idea for a term project Explore my idea about changing frequency based on serial fraction to maintain fixed energy or keep same
More informationOff-line (Optimal) Multiprocessor Scheduling of Dependent Periodic Tasks
Off-line (Optimal) Multiprocessor Scheduling of Dependent Periodic Tasks Julie Barot, Frédéric Boniol, Mikel Cordovilla, Eric Noulard, Claire Pagetti ONERA, Toulouse, France SAC 2012 March, 27th 2012 1
More informationFine-grained Compatibility and Replaceability Analysis of Timed Web Service Protocols
Fine-grained Compatibility and Replaceability Analysis of Timed Web Service Protocols Julien Ponge 1,2, Boualem Benatallah 2, Fabio Casati 3 and Farouk Toumani 1 (1) Université Blaise Pascal, Clermont-Ferrand,
More informationDistributed Transaction Management
Distributed Transaction Management Material from: Principles of Distributed Database Systems Özsu, M. Tamer, Valduriez, Patrick, 3rd ed. 2011 + Presented by C. Roncancio Distributed DBMS M. T. Özsu & P.
More informationReal-time Testing with Timed Automata Testers and Coverage Criteria
Unité Mixte de Recherche 5104 CNRS - INPG - UJF Centre Equation 2, avenue de VIGNATE F-38610 GIERES tel : +33 456 52 03 40 fax : +33 456 52 03 50 http://www-verimag.imag.fr Real-time Testing with Timed
More informationTime Triggered and Event Triggered; Off-line Scheduling
Time Triggered and Event Triggered; Off-line Scheduling Real-Time Architectures -TUe Gerhard Fohler 2004 Mälardalen University, Sweden gerhard.fohler@mdh.se Real-time: TT and ET Gerhard Fohler 2004 1 Activation
More informationChapter 9: Concurrency Control
Chapter 9: Concurrency Control Concurrency, Conflicts, and Schedules Locking Based Algorithms Timestamp Ordering Algorithms Deadlock Management Acknowledgements: I am indebted to Arturas Mazeika for providing
More informationA Stack-Based Resource Allocation Policy for Realtime Processes
A Stack-Based Resource Allocation Policy for Realtime Processes T.P. Baker Department of Computer Science Florida State University Tallahassee, FL 32304-4019 Presented by Tsai Lin-Jiun Outline! Abstract
More informationComposition of State Machines
Chapter 5 Composition of State Machines Hongwei Zhang http://www.cs.wayne.edu/~hzhang/ Ack.: this lecture is prepared in part based on slides of Lee, Sangiovanni-Vincentelli, Seshia. Outline Concurrent
More informationA Simple Example. The Synchronous Language Esterel. A First Try: An FSM. The Esterel Version. The Esterel Version. The Esterel Version
The Synchronous Language Prof. Stephen. Edwards Simple Example The specification: The output O should occur when inputs and have both arrived. The R input should restart this behavior. First Try: n FSM
More informationCMSC330 Spring 2017 Midterm 2
CMSC330 Spring 2017 Midterm 2 Name (PRINT YOUR NAME as it appears on gradescope ): Discussion Time (circle one) 10am 11am 12pm 1pm 2pm 3pm Discussion TA (circle one) Aaron Alex Austin Ayman Daniel Eric
More informationQuick Introduction to SystemVerilog: Sequental Logic
! Quick Introduction to SystemVerilog: Sequental Logic Lecture L3 8-545 Advanced Digital Design ECE Department Many elements Don Thomas, 24, used with permission with credit to G. Larson Today Quick synopsis
More informationADVANCED trouble-shooting of real-time systems. Bernd Hufmann, Ericsson
ADVANCED trouble-shooting of real-time systems Bernd Hufmann, Ericsson AGENDA 1 Introduction 2 3 Timing Analysis 4 References 5 Q&A Trace Compass Overview ADVANCED trouble-shooting of critical real-time
More informationChapter 8. Basic Synchronization Principles
Chapter 8 Basic Synchronization Principles Need for Synchronization Multiprogramming Multiple concurrent, independent processes Those processes might want to coordinate activities Proc A { while (true)
More informationContext Free Languages and Pushdown Automata
Context Free Languages and Pushdown Automata COMP2600 Formal Methods for Software Engineering Ranald Clouston Australian National University Semester 2, 2013 COMP 2600 Context Free Languages and Pushdown
More informationModel-Checking and Simulation for Stochastic Timed Systems
Model-Checking and Simulation for Stochastic Timed Systems QUASIMODO FMCO 2010, Graz Universität des Saarlandes Outline 1. Stochastic Timed Automata STA Submodels Modest 2. Model-Checking mcpta PTA Case
More informationCSC312 Principles of Programming Languages : Functional Programming Language. Copyright 2006 The McGraw-Hill Companies, Inc.
CSC312 Principles of Programming Languages : Functional Programming Language Overview of Functional Languages They emerged in the 1960 s with Lisp Functional programming mirrors mathematical functions:
More informationCMSC 714 Lecture 14 Lamport Clocks and Eraser
Notes CMSC 714 Lecture 14 Lamport Clocks and Eraser Midterm exam on April 16 sample exam questions posted Research project questions? Alan Sussman (with thanks to Chris Ackermann) 2 Lamport Clocks Distributed
More informationThe Timed Asynchronous Distributed System Model By Flaviu Cristian and Christof Fetzer
The Timed Asynchronous Distributed System Model By Flaviu Cristian and Christof Fetzer - proposes a formal definition for the timed asynchronous distributed system model - presents measurements of process
More informationEE382N.23: Embedded System Design and Modeling
EE382N.23: Embedded System Design and Modeling Lecture 3 Language Semantics Andreas Gerstlauer Electrical and Computer Engineering University of Texas at Austin gerstl@ece.utexas.edu Lecture 3: Outline
More informationDistributed Databases Systems
Distributed Databases Systems Lecture No. 07 Concurrency Control Naeem Ahmed Email: naeemmahoto@gmail.com Department of Software Engineering Mehran Univeristy of Engineering and Technology Jamshoro Outline
More informationIntro to UPPAAL. Gerd Behrmann Kim Larsen. BRICS & Aalborg University. Intro to UPPAAL p.1/23
Intro to UPPAAL p.1/23 Intro to UPPAAL Gerd Behrmann Kim Larsen BRICS & Aalborg University Intro to UPPAAL p.2/23 Plan of the Lecture 1. UPPAAL Architecture 2. UPPAAL Features 3. Train Gate Example 4.
More informationIntroduction to Lexical Analysis
Introduction to Lexical Analysis Outline Informal sketch of lexical analysis Identifies tokens in input string Issues in lexical analysis Lookahead Ambiguities Specifying lexical analyzers (lexers) Regular
More information10. Replication. CSEP 545 Transaction Processing Philip A. Bernstein. Copyright 2003 Philip A. Bernstein. Outline
10. Replication CSEP 545 Transaction Processing Philip A. Bernstein Copyright 2003 Philip A. Bernstein 1 Outline 1. Introduction 2. Primary-Copy Replication 3. Multi-Master Replication 4. Other Approaches
More informationOverview of Timed Automata and UPPAAL
Overview of Timed Automata and UPPAAL Table of Contents Timed Automata Introduction Example The Query Language UPPAAL Introduction Example Editor Simulator Verifier Conclusions 2 Introduction to Timed
More informationINTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERING Structural Testing d_sinnig@cs.concordia.ca Department for Computer Science and Software Engineering Introduction Testing is simple all a tester needs to do is find
More informationUPPAAL. Verification Engine, Options & Patterns. Alexandre David
UPPAAL Verification Engine, Options & Patterns Alexandre David 1.2.05 Outline UPPAAL Modelling Language Specification Language UPPAAL Verification Engine Symbolic exploration algorithm Zones & DBMs Verification
More informationThe Java Memory Model
Jeremy Manson 1, William Pugh 1, and Sarita Adve 2 1 University of Maryland 2 University of Illinois at Urbana-Champaign Presented by John Fisher-Ogden November 22, 2005 Outline Introduction Sequential
More informationCS 312. Lecture April Lazy Evaluation, Thunks, and Streams. Evaluation
CS 312 Lecture 27 29 April 2008 Lazy Evaluation, Thunks, and Streams Evaluation SML as you know it (substitution semantics) if true then e 1 else e 2 e 1 if false then e 1 else e 2 e 2 if eagerly evaluates
More informationVerification Options. To Store Or Not To Store? Inside the UPPAAL tool. Inactive (passive) Clock Reduction. Global Reduction
Inside the UPPAAL tool Data Structures DBM s (Difference Bounds Matrices) Canonical and Minimal Constraints Algorithms Reachability analysis Liveness checking Termination Verification Otions Verification
More informationTime and distributed systems. Just use time stamps? Correct consistency model? Replication and Consistency
Correct consistency model? Replication and Consistency B COS 58: dvanced Computer Systems Lecture 3 Let s say and B send an op. ll readers see B? ll readers see B? Michael Freedman Some see B and others
More informationThe Real Time Thing. What the hack is real time and what to do with it. 22C3 30. December Erwin Erkinger e.at
The Real Time Thing What the hack is real time and what to do with it 22C3 30. December 2005 Erwin Erkinger vindaome@p e.at Content Part 1: Introduction the vocabulary and the concepts Part 2: Practical
More informationThe Lustre Language Synchronous Programming Pascal Raymond, Nicolas Halbwachs Verimag-CNRS
The Lustre Language Synchronous Programming Pascal Raymond, Nicolas Halbwachs Verimag-CNRS Data-flow approach 2 A program = a network of operators connected by wires Rather classical (control theory, circuits)
More informationTowards Validated Real-Time Software
Towards Validated Real-Time Software Valérie BERTIN, Michel POIZE, Jacques PULOU France Télécom - Centre National d'etudes des Télécommunications 28 chemin du Vieux Chêne - BP 98-38243 Meylan cedex - France
More informationLexical Analysis. COMP 524, Spring 2014 Bryan Ward
Lexical Analysis COMP 524, Spring 2014 Bryan Ward Based in part on slides and notes by J. Erickson, S. Krishnan, B. Brandenburg, S. Olivier, A. Block and others The Big Picture Character Stream Scanner
More informationThreads and Locks. Chapter Introduction Locks
Chapter 1 Threads and Locks 1.1 Introduction Java virtual machines support multiple threads of execution. Threads are represented in Java by the Thread class. The only way for a user to create a thread
More informationModel Based Development of Embedded Control Software
Model Based Development of Embedded Control Software Part 5: Portable TDL Run-time System Claudiu Farcas Credits: MoDECS Project Team, Giotto Department of Computer Science cs.uni-salzburg.at Contents
More informationInteracting Process Classes
The problem addressed Interacting Process Classes Abhik Roychoudhury National University of Singapore Joint work with Ankit Goel and P.S. Thiagarajan Visit to UNU-IIST May 29/30 2006 Reactive systems with
More information2. Time and Global States Page 1. University of Freiburg, Germany Department of Computer Science. Distributed Systems
2. Time and Global States Page 1 University of Freiburg, Germany Department of Computer Science Distributed Systems Chapter 3 Time and Global States Christian Schindelhauer 12. May 2014 2. Time and Global
More informationMemory Consistency. Minsoo Ryu. Department of Computer Science and Engineering. Hanyang University. Real-Time Computing and Communications Lab.
Memory Consistency Minsoo Ryu Department of Computer Science and Engineering 2 Distributed Shared Memory Two types of memory organization in parallel and distributed systems Shared memory (shared address
More informationDistributed Systems. Distributed Shared Memory. Paul Krzyzanowski
Distributed Systems Distributed Shared Memory Paul Krzyzanowski pxk@cs.rutgers.edu Except as otherwise noted, the content of this presentation is licensed under the Creative Commons Attribution 2.5 License.
More informationPessimistic v.s. Optimistic. Outline. Timestamps. Timestamps. Timestamps. CSE 444: Database Internals. Main invariant:
Pessimistic v.s. Optimistic SE 444: Database Internals Lectures 5 and 6 Transactions: Optimistic oncurrency ontrol Pessimistic (locking) Prevents unserializable schedules Never for serializability (but
More informationProcess Synchronization. Mehdi Kargahi School of ECE University of Tehran Spring 2008
Process Synchronization Mehdi Kargahi School of ECE University of Tehran Spring 2008 Producer-Consumer (Bounded Buffer) Producer Consumer Race Condition Producer Consumer Critical Sections Structure of
More informationTransaction Management using Causal Snapshot Isolation in Partially Replicated Databases
Transaction Management using Causal Snapshot Isolation in Partially Replicated Databases ABSTRACT We present here a transaction management protocol using snapshot isolation in partially replicated multi-version
More informationCS3502 OPERATING SYSTEMS
CS3502 OPERATING SYSTEMS Spring 2018 Synchronization Chapter 6 Synchronization The coordination of the activities of the processes Processes interfere with each other Processes compete for resources Processes
More informationOperating Systems, Fall
Input / Output & Real-time Scheduling Chapter 5.1 5.4, Chapter 7.5 1 I/O Software Device controllers Memory-mapped mapped I/O DMA & interrupts briefly I/O Content I/O software layers and drivers Disks
More information6.033: Fault Tolerance: Isolation Lecture 17 Katrina LaCurts,
6.033: Fault Tolerance: Isolation Lecture 17 Katrina LaCurts, lacurts@mit.edu 0. Introduction - Last time: Atomicity via logging. We're good with atomicity now. - Today: Isolation - The problem: We have
More informationSCXML State Chart XML
SCXML State Chart XML Previously, in this course... Previously, in this course... Running Example all actions omitted wasn t it supposed to help? Previously, in this course... Running Example all actions
More informationCarnegie Mellon Univ. Dept. of Computer Science Database Applications. General Overview NOTICE: Faloutsos CMU SCS
Faloutsos 15-415 Carnegie Mellon Univ. Dept. of Computer Science 15-415 - Database Applications Lecture #24: Crash Recovery - part 1 (R&G, ch. 18) General Overview Preliminaries Write-Ahead Log - main
More informationEmbedded Software Programming
Embedded Software Programming Computer Science & Engineering Department Arizona State University Tempe, AZ 85287 Dr. Yann-Hang Lee yhlee@asu.edu (480) 727-7507 Event and Time-Driven Threads taskspawn (name,
More informationReference Model and Scheduling Policies for Real-Time Systems
ESG Seminar p.1/42 Reference Model and Scheduling Policies for Real-Time Systems Mayank Agarwal and Ankit Mathur Dept. of Computer Science and Engineering, Indian Institute of Technology Delhi ESG Seminar
More informationImplementing caches. Example. Client. N. America. Client System + Caches. Asia. Client. Africa. Client. Client. Client. Client. Client.
N. America Example Implementing caches Doug Woos Asia System + Caches Africa put (k2, g(get(k1)) put (k2, g(get(k1)) What if clients use a sharded key-value store to coordinate their output? Or CPUs use
More informationPage 1. Challenges" Concurrency" CS162 Operating Systems and Systems Programming Lecture 4. Synchronization, Atomic operations, Locks"
CS162 Operating Systems and Systems Programming Lecture 4 Synchronization, Atomic operations, Locks" January 30, 2012 Anthony D Joseph and Ion Stoica http://insteecsberkeleyedu/~cs162 Space Shuttle Example"
More informationModeling of immediate vs. delayed data communications: from AADL to UML MARTE
ECSI Forum on specification & Design Languages (FDL) (2007) 249-254 Modeling of immediate vs. delayed communications: from AADL to UML MARTE Charles André, Frédéric Mallet, Robert de Simone I3S, Université
More informationSoftware Testing IV. Prof. Dr. Holger Schlingloff. Humboldt-Universität zu Berlin
Software Testing IV Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin and Fraunhofer Institute of Computer Architecture and Software Technology FIRST Outline of this Lecture Series 2006/11/24:
More informationCS 4604: Introduc0on to Database Management Systems. B. Aditya Prakash Lecture #19: Logging and Recovery 1
CS 4604: Introduc0on to Database Management Systems B. Aditya Prakash Lecture #19: Logging and Recovery 1 General Overview Preliminaries Write-Ahead Log - main ideas (Shadow paging) Write-Ahead Log: ARIES
More informationEmbedded Systems 7 BF - ES - 1 -
Embedded Systems 7-1 - Production system A modelbased realtime faultdiagnosis system for technical processes Ch. Steger, R. Weiss - 2 - Sprout Counter Flow Pipeline-Processor Based on a stream of data
More informationThe Abstract Behavioral Specification Language
The Abstract Behavioral Specification Language Frank S. de Boer CWI frb@cwi.nl Scientific Meeting CWI, November 29, 2013 How It All Started? Simula (Ole Johan Dahl, Turing award 2001) Credo FP6 project
More informationConsistency: Relaxed. SWE 622, Spring 2017 Distributed Software Engineering
Consistency: Relaxed SWE 622, Spring 2017 Distributed Software Engineering Review: HW2 What did we do? Cache->Redis Locks->Lock Server Post-mortem feedback: http://b.socrative.com/ click on student login,
More informationCS153: Midterm (Fall 16)
Name: CS153: Midterm (Fall 16) Answer all questions. State any assumptions clearly. Problem 1: (16 points + 2 bonus; 10 minutes) Mark any 8 of the following statements as True or False. Answer all 10 to
More informationECE 462 Object-Oriented Programming using C++ and Java. Scheduling and Critical Section
ECE 462 Object-Oriented Programming g using C++ and Java Scheduling and Critical Section Yung-Hsiang Lu yunglu@purdue.edu d YHL Scheduling and Critical Section 1 Thread States born terminated ready running
More informationG52CON: Concepts of Concurrency
G52CON: Concepts of Concurrency Lecture 11: Semaphores I" Brian Logan School of Computer Science bsl@cs.nott.ac.uk Outline of this lecture" problems with Peterson s algorithm semaphores implementing semaphores
More informationFormal Methods for Software Development
Formal Methods for Software Development Model Checking with Temporal Logic Wolfgang Ahrendt 21st September 2018 FMSD: Model Checking with Temporal Logic /GU 180921 1 / 37 Model Checking Check whether a
More informationProgramming Languages for Real-Time Systems. LS 12, TU Dortmund
Programming Languages for Real-Time Systems Prof. Dr. Jian-Jia Chen LS 12, TU Dortmund 20 June 2016 Prof. Dr. Jian-Jia Chen (LS 12, TU Dortmund) 1 / 41 References Slides are based on Prof. Wang Yi, Prof.
More informationThe Esterel Language. The Esterel Version. Basic Ideas of Esterel
The Synchronous Language Esterel OMS W4995-02 Prof. Stephen. Edwards Fall 2002 olumbia University epartment of omputer Science The Esterel Language eveloped by Gérard erry starting 1983 Originally for
More informationUNIT 3
UNIT 3 Presentation Outline Sequence control with expressions Conditional Statements, Loops Exception Handling Subprogram definition and activation Simple and Recursive Subprogram Subprogram Environment
More informationPromela and SPIN. Mads Dam Dept. Microelectronics and Information Technology Royal Institute of Technology, KTH. Promela and SPIN
Promela and SPIN Mads Dam Dept. Microelectronics and Information Technology Royal Institute of Technology, KTH Promela and SPIN Promela (Protocol Meta Language): Language for modelling discrete, event-driven
More informationEmbedded software design with Polychrony
Embedded software design with Polychrony DATE 09 tutorial on Correct-by-Construction Embedded Software Synthesis: Formal Frameworks, Methodologies, and Tools Jean-Pierre Talpin, RIA List of contributors
More informationLecture #13: Type Inference and Unification. Typing In the Language ML. Type Inference. Doing Type Inference
Lecture #13: Type Inference and Unification Typing In the Language ML Examples from the language ML: fun map f [] = [] map f (a :: y) = (f a) :: (map f y) fun reduce f init [] = init reduce f init (a ::
More informationStatic Program Analysis
Static Program Analysis Thomas Noll Software Modeling and Verification Group RWTH Aachen University https://moves.rwth-aachen.de/teaching/ss-18/spa/ Preliminaries Outline of Lecture 1 Preliminaries Introduction
More informationLexical Analysis. Chapter 2
Lexical Analysis Chapter 2 1 Outline Informal sketch of lexical analysis Identifies tokens in input string Issues in lexical analysis Lookahead Ambiguities Specifying lexers Regular expressions Examples
More informationReplication and Consistency
Replication and Consistency Today l Replication l Consistency models l Consistency protocols The value of replication For reliability and availability Avoid problems with disconnection, data corruption,
More informationHardware-Software Codesign. 6. System Simulation
Hardware-Software Codesign 6. System Simulation Lothar Thiele 6-1 System Design specification system simulation (this lecture) (worst-case) perf. analysis (lectures 10-11) system synthesis estimation SW-compilation
More informationModel checking pushdown systems
Model checking pushdown systems R. Ramanujam Institute of Mathematical Sciences, Chennai jam@imsc.res.in Update Meeting, IIT-Guwahati, 4 July 2006 p. 1 Sources of unboundedness Data manipulation: integers,
More informationSDL. Jian-Jia Chen (slides are based on Peter Marwedel) TU Dortmund, Informatik 年 10 月 18 日. technische universität dortmund
12 SDL Jian-Jia Chen (slides are based on Peter Marwedel) TU Dortmund, Informatik 12 2017 年 10 月 18 日 Springer, 2010 These slides use Microsoft clip arts. Microsoft copyright restrictions apply. Models
More informationL11: Major/Minor FSMs
L11: Major/Minor FSMs Acknowledgements: Materials in this lecture are courtesy of the following sources and are used with permission. Rex Min 1 Quiz Quiz will be Closed Book Tuesday, March 21, 2006, 7:30pm-9:30pm
More information