Real-Time Implementation of BIP: Clocks and Real-Time Constraints

Size: px
Start display at page:

Download "Real-Time Implementation of BIP: Clocks and Real-Time Constraints"

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

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

M. De Wulf, L. Doyen,J.-F. Raskin Université Libre de Bruxelles Centre Fédéré en Vérification

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

Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn. 2.3 Timed Automata and Real-Time Statecharts

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

Component-based Construction of Heterogeneous Real-time Systems in BIP

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

A Time-Triggered View. Peter PUSCHNER

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

Modeling Heterogeneous Real-time Components in BIP

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

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

Introduction 2 The first synchronous language (early 80 s) Gérard Berry and his team (École des Mines de Paris / INRIA Sophia-Antipolis) Imperative, s

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

The Esterel language

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

1 The comparison of QC, SC and LIN

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

An Introduction to UPPAAL. Purandar Bhaduri Dept. of CSE IIT Guwahati

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

Model checking and timed CTL

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

The SPIN Model Checker

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

From synchronous models to distributed, asynchronous architectures

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

Lecture #23: Conversion and Type Inference

Lecture #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 information

Conversion vs. Subtyping. Lecture #23: Conversion and Type Inference. Integer Conversions. Conversions: Implicit vs. Explicit. Object x = "Hello";

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

Model-based Analysis of Event-driven Distributed Real-time Embedded Systems

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

Model Requirements and JAVA Programs MVP 2 1

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

Investigation on Soundness Regarding Lazy Activities

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

Translating AADL into BIP Application to the Verification of Real time Systems

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

Reducing Clocks in Timed Automata while Preserving Bisimulation

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

Schedulability Analysis of AADL Models

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

Efficient Synthesis of Production Schedules by Optimization of Timed Automata

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

Potential violations of Serializability: Example 1

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

Off-line (Optimal) Multiprocessor Scheduling of Dependent Periodic Tasks

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

Fine-grained Compatibility and Replaceability Analysis of Timed Web Service Protocols

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

Distributed Transaction Management

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

Real-time Testing with Timed Automata Testers and Coverage Criteria

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

Time Triggered and Event Triggered; Off-line Scheduling

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

Chapter 9: Concurrency Control

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

A Stack-Based Resource Allocation Policy for Realtime Processes

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

Composition of State Machines

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

A Simple Example. The Synchronous Language Esterel. A First Try: An FSM. The Esterel Version. The Esterel Version. The Esterel Version

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

CMSC330 Spring 2017 Midterm 2

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

Quick Introduction to SystemVerilog: Sequental Logic

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

ADVANCED trouble-shooting of real-time systems. Bernd Hufmann, Ericsson

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

Chapter 8. Basic Synchronization Principles

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

Context Free Languages and Pushdown Automata

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

Model-Checking and Simulation for Stochastic Timed Systems

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

CSC312 Principles of Programming Languages : Functional Programming Language. Copyright 2006 The McGraw-Hill Companies, Inc.

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

CMSC 714 Lecture 14 Lamport Clocks and Eraser

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

The Timed Asynchronous Distributed System Model By Flaviu Cristian and Christof Fetzer

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

EE382N.23: Embedded System Design and Modeling

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

Distributed Databases Systems

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

Intro to UPPAAL. Gerd Behrmann Kim Larsen. BRICS & Aalborg University. Intro to UPPAAL p.1/23

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

Introduction to Lexical Analysis

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

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

Overview of Timed Automata and UPPAAL

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

INTRODUCTION TO SOFTWARE ENGINEERING

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

UPPAAL. Verification Engine, Options & Patterns. Alexandre David

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

The Java Memory Model

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

CS 312. Lecture April Lazy Evaluation, Thunks, and Streams. Evaluation

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

Verification Options. To Store Or Not To Store? Inside the UPPAAL tool. Inactive (passive) Clock Reduction. Global Reduction

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

Time and distributed systems. Just use time stamps? Correct consistency model? Replication and Consistency

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

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

The Lustre Language Synchronous Programming Pascal Raymond, Nicolas Halbwachs Verimag-CNRS

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

Towards Validated Real-Time Software

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

Lexical Analysis. COMP 524, Spring 2014 Bryan Ward

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

Threads and Locks. Chapter Introduction Locks

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

Model Based Development of Embedded Control Software

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

Interacting Process Classes

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

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

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

Distributed Systems. Distributed Shared Memory. Paul Krzyzanowski

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

Pessimistic v.s. Optimistic. Outline. Timestamps. Timestamps. Timestamps. CSE 444: Database Internals. Main invariant:

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

Process Synchronization. Mehdi Kargahi School of ECE University of Tehran Spring 2008

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

Transaction Management using Causal Snapshot Isolation in Partially Replicated Databases

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

CS3502 OPERATING SYSTEMS

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

Operating Systems, Fall

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

6.033: Fault Tolerance: Isolation Lecture 17 Katrina LaCurts,

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

SCXML State Chart XML

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

Carnegie Mellon Univ. Dept. of Computer Science Database Applications. General Overview NOTICE: Faloutsos CMU SCS

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

Embedded Software Programming

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

Reference Model and Scheduling Policies for Real-Time Systems

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

Implementing caches. Example. Client. N. America. Client System + Caches. Asia. Client. Africa. Client. Client. Client. Client. Client.

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

Page 1. Challenges" Concurrency" CS162 Operating Systems and Systems Programming Lecture 4. Synchronization, Atomic operations, Locks"

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

Modeling of immediate vs. delayed data communications: from AADL to UML MARTE

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

Software Testing IV. Prof. Dr. Holger Schlingloff. Humboldt-Universität zu Berlin

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

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

Embedded Systems 7 BF - ES - 1 -

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

The Abstract Behavioral Specification Language

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

Consistency: Relaxed. SWE 622, Spring 2017 Distributed Software Engineering

Consistency: 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 information

CS153: Midterm (Fall 16)

CS153: 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 information

ECE 462 Object-Oriented Programming using C++ and Java. Scheduling and Critical Section

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

G52CON: Concepts of Concurrency

G52CON: 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 information

Formal Methods for Software Development

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

Programming Languages for Real-Time Systems. LS 12, TU Dortmund

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

The Esterel Language. The Esterel Version. Basic Ideas of Esterel

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

UNIT 3

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

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

Embedded software design with Polychrony

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

Lecture #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. 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 information

Static Program Analysis

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

Lexical Analysis. Chapter 2

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

Replication and Consistency

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

Hardware-Software Codesign. 6. System Simulation

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

Model checking pushdown systems

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

SDL. Jian-Jia Chen (slides are based on Peter Marwedel) TU Dortmund, Informatik 年 10 月 18 日. technische universität dortmund

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

L11: Major/Minor FSMs

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