Outline F eria AADL behavior 1/ 78

Size: px
Start display at page:

Download "Outline F eria AADL behavior 1/ 78"

Transcription

1 Outline AADL behavior Annex Jean-Paul Bodeveix 2 Pierre Dissaux 3 Mamoun Filali 2 Pierre Gaufillet 1 François Vernadat 2 1 AIRBUS-FRANCE 2 FéRIA 3 ELLIDIS SAE AS2C Detroit Michigan April 2006 FéRIA AADL behavior 1/ 78

2 Outline Outline 1 Behavior basics Subprogram behavior Message exchanges Thread behavior Specific properties FéRIA Basic temporal operators AADL behavior 2/ 78

3 Outline Outline 1 Behavior basics Subprogram behavior Message exchanges Thread behavior Specific properties FéRIA Basic temporal operators AADL behavior 2/ 78

4 Outline Outline 1 Behavior basics Subprogram behavior Message exchanges Thread behavior Specific properties FéRIA Basic temporal operators AADL behavior 2/ 78

5 Outline Outline 1 Behavior basics Subprogram behavior Message exchanges Thread behavior Specific properties FéRIA Basic temporal operators AADL behavior 2/ 78

6 Outline Outline 1 Behavior basics Subprogram behavior Message exchanges Thread behavior Specific properties FéRIA Basic temporal operators AADL behavior 2/ 78

7 Outline Outline 1 Behavior basics Subprogram behavior Message exchanges Thread behavior Specific properties FéRIA Basic temporal operators AADL behavior 2/ 78

8 Outline Subprogram behavior Message exchanges Thread behavior 1 Behavior basics Subprogram behavior Message exchanges Thread behavior Specific properties FéRIA Basic temporal operators AADL behavior 3/ 78

9 Subprograms Subprogram behavior Message exchanges Thread behavior Behavior attached to subprogram implementations Access to subprogram parameters Access to visible data declared in AADL FéRIA AADL behavior 4/ 78

10 Annex for subprogram behavior Subprogram behavior Message exchanges Thread behavior Specified by an automaton Reuse of mode automata syntax Action part associated to a transition Guard added to event return state declaration: when reached: output parameters are transmitted to the caller, control returns to the caller. FéRIA AADL behavior 5/ 78

11 Example (specification) Subprogram behavior Message exchanges Thread behavior subprogram addition features x: in parameter Behavior::integer; y: in parameter Behavior::integer; r: out parameter Behavior::integer; ovf: out parameter Behavior::boolean; end addition; FéRIA AADL behavior 7/ 78

12 Example (implementation) Subprogram behavior Message exchanges Thread behavior subprogram implementation a d d i t i o n. d e f a u l t annex b e h a v i o r s p e c i f i c a t i o n { states s0 : i n i t i a l s t a t e ; s1 : return s t a t e ; transitions normal : s0 [ ] s1 { r := x + y ; ovf := false ; } ; overflow : s0 [ ] s1 { r := 0; ovf := true ; } ; }; end a d d i t i o n. d e f a u l t ; FéRIA AADL behavior 9/ 78

13 Subprogram call Subprogram behavior Message exchanges Thread behavior AADL control flow: specification of unconditional call sequences proposed annex: data dependent control flows subprogram calls send of events FéRIA AADL behavior 10/ 78

14 Example (2): AADL specification Subprogram behavior Message exchanges Thread behavior subprogram s t a r t r e a d features debug : i n parameter Behavior : : boolean ; end s t a r t r e a d ; subprogram implementation s t a r t r e a d. i c a l l s { p1 : subprogram std : : p r i n t ; } ; FéRIA AADL behavior 12/ 78

15 Subprogram behavior Message exchanges Thread behavior Example (3): behavior specification subprogram implementation s t a r t r e a d. i c a l l s { p1 : subprogram std : : p r i n t ; } ; annex b e h a v i o r s p e c i f i c a t i o n { states s0 : i n i t i a l s t a t e ; s1 : return s t a t e ; transitions s0 [ on debug ] s1 { std : : p r i n t! } ; s0 [ on not debug ] s1 { } ; }; end s t a r t r e a d ; FéRIA AADL behavior 14/ 78

16 Sending an event Subprogram behavior Message exchanges Thread behavior subprogram addition features x: in parameter Behavior::integer; y: in parameter Behavior::integer; r: out parameter Behavior::integer; ovf: out parameter Behavior::boolean; end addition; FéRIA AADL behavior 15/ 78

17 Subprogram behavior Message exchanges Thread behavior subprogram implementation a d d i t i o n. d e f a u l t annex b e h a v i o r s p e c i f i c a t i o n { states s0 : i n i t i a l s t a t e ; s1 : return s t a t e ; transitions s0 [ ] s1 { r := x + y ; } s0 [ ] s1 { ovf! } }; end a d d i t i o n. d e f a u l t ; FéRIA AADL behavior 16/ 78

18 Subprogram behavior Message exchanges Thread behavior The action part can contain subprogram parameterized calls annex b e h a v i o r s p e c i f i c a t i o n { s t a t e v a r i a b l e s r e s u l t : Behavior : : i n t e g e r ; states s0 : i n i t i a l s t a t e ; s1 : return s t a t e ; transitions s0 [ ] s1 { a d d i t i o n!(1 >x,2 >y, r >r e s u l t ) ; } ; }; FéRIA AADL behavior 17/ 78

19 Reception Subprogram behavior Message exchanges Thread behavior Messages are received through event, data or event data ports. Event and event data ports have associated queues. On dispatch, delivery depends on the Dequeue Protocol. p can be used as a data value and: contains the data stored in the port variable if p is a data port, contains the delivered data if p is an event data port with the OneItem Dequeue Protocol, contains the first item of the queue associated to the event data port if p is an event data port with the AllItems Dequeue Protocol. FéRIA AADL behavior 18/ 78

20 Reception (2) Subprogram behavior Message exchanges Thread behavior p.count returns the number of internally queued messages p.fresh return true if the port variable has been refreshed at the previous dispatch. p? dequeues an event on an event port. p.count must be non zero and is decremented. p? (x) dequeues in the variable x a data on an event data port with the AllItems protocol. p.count must be non zero and is decremented. FéRIA AADL behavior 19/ 78

21 Emission Subprogram behavior Message exchanges Thread behavior p!d writes data d to the event data port p and calls Raise Event. The data is immediately sent to the destination. p! calls Raise Event on an event or event data port. The event is immediately sent to the destination with the stored data if any. p := d writes data d on a data or event data port. Data is transferred to the destination port at the next p! call or after completion. FéRIA AADL behavior 20/ 78

22 Example of thread specification Subprogram behavior Message exchanges Thread behavior thread t e s t features p i n : i n event data port Behavior : : i n t e g e r ; p out : out event data port Behavior : : i n t e g e r ; end t e s t ; FéRIA AADL behavior 21/ 78

23 Example of thread specification Subprogram behavior Message exchanges Thread behavior thread implementation t e s t. d e f a u l t subcomponents x : data Behavior : : i n t e g e r ; annex b e h a v i o r s p e c i f i c a t i o n { states s0 : i n i t i a l f i n a l s t a t e ; transitions s0 [p i n? ( x ) ] s0 { p out! ( x + 1 ) ; } ; }; end t e s t. d e f a u l t ; FéRIA AADL behavior 22/ 78

24 Subprogram behavior Message exchanges Thread behavior (56) The subset of enabled event or event data ports that are concerned by data transfer and that can trigger a dispatch (if the Dispatch port is not connected) is specified as follows: a port is in the enabled subset if a transition starting from the current state and the guard of which evaluates to true contains a reception from that port. (57) At initialization, the current state is an initial state. When, reaching a final state, the thread is completed. The next dispatch starts from this completion state, which is used to determine the enabled ports. The thread is supposed to retain its data between a completion and the following dispatch. Reaching a final state can be interpreted as calling the Await Dispatch service. FéRIA AADL behavior 23/ 78

25 thread behavior Subprogram behavior Message exchanges Thread behavior thread merger features p1 : i n event data port Behavior : : i n t e g e r ; p2 : i n event data port Behavior : : i n t e g e r ; m : out event data port Behavior : : i n t e g e r ; end merger ; FéRIA AADL behavior 24/ 78

26 Remark Subprogram behavior Message exchanges Thread behavior A reception p? can appear either in the transition : between [ ] or in the action associated to the transition: between {}. Then: in the transition, it is a concurrent offer with other transitions starting at the same state. in the action associated to the transition, execution must perform (wait for) the transmission FéRIA AADL behavior 25/ 78

27 Subprogram behavior Message exchanges Thread behavior thread implementation merger. i annex b e h a v i o r s p e c i f i c a t i o n { s t a t e v a r i a b l e s x1, x2 : Behavior : : i n t e g e r ; states s0 : i n i t i a l s t a t e ; comp : s t a t e ; next1, next2 : f i n a l s t a t e ; transitions s0 [ p1?( x1 ) ] next2 { } ; s0 [ p2?( x2 ) ] next1 { } ; next1 [ p1?( x1 ) ] comp { } ; only one enabled p o r next2 [ p2?( x2 ) ] comp { } ; only one enabled p o r comp [ on x1 < x2 ] next1 { m! ( x1 ) ; } ; comp [ on x2 <= x1 ] next2 { m! ( x2 ) ; } ; }; end merger. i ; FéRIA AADL behavior 26/ 78

28 Outline 1 Behavior basics Subprogram behavior Message exchanges Thread behavior Specific properties FéRIA Basic temporal operators AADL behavior 27/ 78

29 Direct translation to AADL data declarations package stack public subprogram push features v : i n parameter Behavior : : i n t e g e r ; t h i s : requires data access stack { Required Access => access Read Write ; } ; overflow : out event port ; end push ; subprogram pop... end pop ; subprogram c l e a r... end c l e a r ; subprogram is empty... end is empty ;... FéRIA AADL behavior 28/ 78

30 data specification package stack public... data stack features put : subprogram push ; get : subprogram pop ; c l e a r : subprogram c l e a r ; is empty : subprogram is empty ; end stack ; end stack ; FéRIA AADL behavior 29/ 78

31 (45) The internal state of a data component is specified by the subcomponents of the data implementation. It is accessed through the this data reference by the behavioral annex associated to the implementation of each subprogram. Dereferencing this is implicit. FéRIA AADL behavior 30/ 78

32 supported by AADL data with property Concurrency Control Protocol Access control left unspecified by AADL property Supported Concurrency Control Protocols to be defined FéRIA AADL behavior 31/ 78

33 Protected object example data stack features put: subprogram put; get: subprogram get; empty: subprogram empty; full: subprogram full; properties Concurrency_Control_Protocol => protected end stack; FéRIA AADL behavior 32/ 78

34 (I) are accessed through protocols. Three protocols are considered (HRT-HOOD): asynchronous (ASER), synchronous (HSER) and semi-synchronous (LSER). Server Call Protocol: type enumeration (ASER,HSER,LSER) => HSER applies to (server subprogram); ASER, there is no synchronization LSER, the caller waits for the acceptation of the request. HSER, the caller waits for the completion of the request and gets results if any. FéRIA AADL behavior 34/ 78

35 (II) Entry points are AADL ports Asynchronous message sending Thread associated to the server Bounded message queue (AADL attribute Queue Size) Acceptance conditions specified by the server thread FéRIA AADL behavior 35/ 78

36 (54) an active object exports a set of so called entry points. These can be seen as an extension of AADL server subprograms. In fact, a protocol is associated to an entry through a property. The parameters and the results of subprograms are handled automatically: the actual call to the subprogram is implicit. (55) The transitions of the server thread specify when requests are accepted and when the client is resumed. FéRIA AADL behavior 36/ 78

37 (59 ) Server subprograms can be guarded. The guard should only depend on the internal state of the thread. It cannot depend on the parameters of the subprogram. (60) Subprograms can be attached to event or event data input ports of non periodic threads. AADL defines the property Compute Entrypoint to associate source text specified by a string to a port. We introduce a new property which specifies the subprogram to be called: property set Behavior is Entrypoint: classifier (subprogram) applies to (event data port,event port) end Behavior; FéRIA AADL behavior 37/ 78

38 (61) The subprogram attached to a port is automatically executed by the thread if an event is received on that port. (62) We use AADL call sequences and associated connections to link the port with its corresponding subprogram. The subprogram associated to an event data port takes one input parameter of the same type as the port. The subprogram associated to an event port takes no parameters. Output ports of the thread must be declared within the subprogram. They are linked together by the connection clause. FéRIA AADL behavior 38/ 78

39 thread t e s t features p i n : i n event data port Behavior : : i n t e g e r { Behavior : : E n t r y p o i n t => subprogram get ; } ; p out : out event data port Behavior : : i n t e g e r ; end t e s t ; subprogram get features v : i n parameter Behavior : : i n t e g e r ; p out : out event data port Behavior : : i n t e g e r ; end get ; FéRIA AADL behavior 39/ 78

40 thread implementation t e s t. d e f a u l t c a l l s { g : subprogram get ; } ; connections parameter p i n > g. v ; event data port g. p out > p out ; end t e s t. d e f a u l t ; FéRIA AADL behavior 40/ 78

41 Asynchronous protocol (59) In the asynchronous protocol several clients can invoke the services of a server object. The invocation is non-blocking. The processing of an accepted request is carried out in parallel with the client. The entry points are represented by event ports which may support data. These events are stored in queues that can be bound via the Queue Size attribute. FéRIA AADL behavior 41/ 78

42 Asynchronous communication example (1) thread RW monitor features s t a r t r e a d : server subprogram s t a r t r e a d { Behavior : : S e r v e r C a l l P r o t o c o l => ASER; end read : server subprogram end read { Behavior : : S e r v e r C a l l P r o t o c o l => ASER; s t a r t w r i t e : server subprogram s t a r t w r i t e { Behavior : : S e r v e r C a l l P r o t o c o l => ASER; e n d w r i t e : server subprogram e n d w r i t e { Behavior : : S e r v e r C a l l P r o t o c o l => ASER; access error : out event port ; end RW monitor ; FéRIA AADL behavior 42/ 78

43 Asynchronous communication example (2) thread implementation RW monitor. i subcomponents r e a d i n g c p t : data Behavior : : i n t e g e r ; w r i t i n g f l g : data Behavior : : boolean ; c a l l s { sr : subprogram s t a r t r e a d ; } ; c a l l i f thread dispatched on s t a r t r e a d { er : subprogram end read ; } ; c a l l i f thread dispatched on end read connections data access r e a d i n g c p t > sr. rd ; data access w r i t i n g f l g > sr. wr ; event data port sr. e r r > access error ;... FéRIA AADL behavior 43/ 78

44 Highly synchronous mode The called service can return a result to the client. Already implemented by AADL client/server subprogram. New: specification of activation conditions. FéRIA AADL behavior 44/ 78

45 Proposed solution Use of the server thread to express conditions The server thread waits for allowed input events. and implicitly calls the corresponding subprogram. The client waits for the return of the called subprogram. FéRIA AADL behavior 45/ 78

46 Highly synchronous communication example (buffer) put is allowed if buffer is not full get is allowed if buffer is not empty subprogram put f e a t u r e s v : i n data Behavior : : i n t e g e r ; t h i s : r e q u i r e s data access b u f f e r ; end put ;... data b u f f e r f e a t u r e s put : subprogram put ; get : subprogram get ; end b u f f e r ; FéRIA AADL behavior 47/ 78

47 Buffer behavior (I) thread BufferServer f e a t u r e s put : server subprogram b u f f e r. put ; get : server subprogram b u f f e r. get ; end BufferServer ; FéRIA AADL behavior 48/ 78

48 Buffer behavior (II) thread implementation BufferServer. d e f a u l t subcomponents buf : data b u f f e r ; annex b e h a v i o r s p e c i f i c a t i o n { s t a t e s empty : i n i t i a l r e t u r n s t a t e ; f u l l : s t a t e ; t r a n s i t i o n s empty [ put? ] > f u l l { } ; f u l l [ get? ] > empty { } ; }; end BufferServer. d e f a u l t ; FéRIA AADL behavior 49/ 78

49 Semi-synchronous protocol (75) In the semi-synchronous protocol, the client is unblocked when the message is accepted. In this mode, only the input parameters are transmitted. The thread is dispatched when it receives a call on an enabled entry. At that moment, the client is resumed and the server thread implicitly calls the entry point. (76) The semi-synchronous and synchronous protocols are distinguished by the client wake-up time (which occurs when the request is accepted for the semi-synchronous mode and at the end of processing for the synchronous mode). This protocol is specified by attaching the LSER property to the subprogram declaration. FéRIA AADL behavior 50/ 78

50 thread BufferServer features put : server subprogram b u f f e r. put { Behavior : : S e r v e r C a l l P r o t o c o l => LSER ; } ; end BufferServer ; thread implementation BufferServer. d e f a u l t annex b e h a v i o r s p e c i f i c a t i o n { states s0 : i n i t i a l s t a t e ; transitions s0 [ put? ] s0 { } ; } end BufferServer. d e f a u l t ; FéRIA AADL behavior 51/ 78

51 Elapse of time defined as new actions Computation(min,max): non deterministic CPU usage Delay(min,max): non deterministic wait FéRIA AADL behavior 52/ 78

52 Periodic threads Reuse of AADL properties attached to threads: Dispatch Protocol=>Periodic Period=>... The behavior defined by the behavioral annex starts from an initial state and must reach all final states before the Compute Deadline. FéRIA AADL behavior 53/ 78

53 Example of periodic thread thread T r a n s m i t t e r features l p u t : subprogram put ; end T r a n s m i t t e r ; thread implementation T r a n s m i t t e r. d e f a u l t properties D i s p a t c h P r o t o c o l => p e r i o d i c ; Period => 10 ms; annex b e h a v i o r s p e c i f i c a t i o n { states s0 : i n i t i a l s t a t e ; s1 : f i n a l s t a t e ; transitions s0 [ l p u t! ] s1 { } ; }; FéRIA AADL behavior 54/ 78

54 Interaction in bounded time (93) The solution we have chosen to express bounded wait involves adding a timeout T predicate which becomes true when the system has been waiting for T units of time since the last transition has been completed. Using such a guard on an alternative transition limits the time the response of a server subprogram can be called. FéRIA AADL behavior 55/ 78

55 Interaction in bounded time: example s0 [ on g > p! ] s1 { } ; s0 [ on g and timeout T ] s2 { } ; The synchronization on p! is then expected for T units of time at the most. This declaration is meaningful if the communication is time consuming. This is the case for calls to server subprograms using the HSER or LSER protocols. FéRIA AADL behavior 56/ 78

56 Outline 1 Behavior basics Subprogram behavior Message exchanges Thread behavior Specific properties FéRIA Basic temporal operators AADL behavior 57/ 78

57 property set behavior i s S e r v e r C a l l P r o t o c o l : type enumeration (ASER,LSER applies to ( server subprogram ) ; M u l t i p l i c i t y : aadlinteger applies to ( data ) ; M u l t i p l i c i t i e s : l i s t of aadlinteger applies to ( Constructor : aadlboolean applies to ( subprogram ) A b stract : aadlboolean applies to ( data ) ; E n t r y p o i n t : c l a s s i f i e r ( subprogram ) applies to ( e With Dispatch : aadlboolean applies to ( thread ) ; end behavior ; FéRIA AADL behavior 58/ 78

58 Outline 1 Behavior basics Subprogram behavior Message exchanges Thread behavior Specific properties FéRIA Basic temporal operators AADL behavior 59/ 78

59 Thread dispatch Extension to the basic dispatch protocol (1) Definition of a new runtime service: Enable ports: subprogram; if the Dispatch port is connected and receives an event, event/data available on the subset of the ports are transferred and the entry point associated to the Dispatch port is called to process transferred data. FéRIA AADL behavior 60/ 78

60 Thread dispatch Extension to the basic dispatch protocol (2) If the Dispatch port is not connected and an event arrives to a port of the subset, queued event/data of that port is transferred and the corresponding entry point is called. The choice is non deterministic among the most urgent ports of the subset that have received an event. The subset of enabled ports is defined at initialization and at completion. It controls the next dispatch. The subset can be specified using the new predeclared runtime service Enable ports. FéRIA AADL behavior 61/ 78

61 Outline 1 Behavior basics Subprogram behavior Message exchanges Thread behavior Specific properties FéRIA Basic temporal operators AADL behavior 62/ 78

62 (21) The goal of the proposed properties is to support the specification of enumerated data types. An enumerated type is defined as a data classifier. The constants of that type are declared as subprograms having one output parameter of that type. We also consider that enumerated constants can be parameterized. FéRIA AADL behavior 63/ 78

63 (22) are specified by a set of injective constructors so that a default implementation can be automatically provided. They extend and generalize the notion of enumerated type by allowing parameters. To each constructor is associated an observer indicating if its parameter has been build using the constructor, and a set of accessors which return the value of the effective arguments passed to the constructor. FéRIA AADL behavior 64/ 78

64 22 (cont) The following conventions are used to enforce this semantics: The boolean property Behavior::Abstract is defined to be true in the data component. The boolean property Behavior::Constructor is defined to be true for each subprogram acting as a constructor. A constructor has a unique out parameter. Its type must be the data it is associated with. FéRIA AADL behavior 65/ 78

65 package message subprogram Success features r e s u l t : out parameter Message ; end Success ; subprogram F a i l u r e features reason : i n parameter Behavior : : i n t e g e r ; r e s u l t : out parameter Message ; end F a i l u r e ; data Message features Success : subprogram Success { Behavior : : Constructor => true ; } ; F a i l u r e : subprogram F a i l u r e { Behavior : : Constructor => true ; } ; properties Behavior : : A b s t r a c FéRIA t => true AADL behavior ; 66/ 78

66 package message... data Message features Success : subprogram Success { Behavior : : Constructor => true ; } ; F a i l u r e : subprogram F a i l u r e { Behavior : : Constructor => true ; } ; properties Behavior : : A b s t r a c t => true ; end Message ; end message ; FéRIA AADL behavior 67/ 78

67 (24)Implicitly declared observers and accessors are specified as follows. By convention, we use the identifier this to denote the reference to the data to be accessed. observers are named by adding the p r e f i x is to the c o n s t r u c t o r name subprogram issuccess features r e s u l t : out parameter Behavior : : boolean ; t h i s : requires data access Message { Required Access => read only ; } ; end issuccess ; subprogram i s F a i l u r e... end i s F a i l u r e ; FéRIA AADL behavior 68/ 78

68 an accessor i s defined f o r each parameter of each c o n s t r u c t o r the name of the accessed parameter i s appended to the c o n s t r u c t o r name t h i s subprogram must only be c a l l e d on a F a i l u r e subprogram FailureReason features reason : out parameter Behavior : : i n t e g e r ; t h i s : requires data access Message { Required Access => read only ; } ; e r r o r : out event port ; r a i s e d i f data i s not a end FailureReason ; FéRIA AADL behavior 69/ 78

69 (25) Automatically generated subprograms can be called in the behavioral annex. As abstract data instances play the role of values, a functional notation is used for subprogram calls. To each such subprograms is associated a function with the same name and input parameters. For example, the term isfailure(failure(10)) is a legal boolean expression. In the same way, a term can be assigned to a variable as in err := Failure(10), or sent to a data port of the corresponding type. FéRIA AADL behavior 70/ 78

70 Outline 1 Behavior basics Subprogram behavior Message exchanges Thread behavior Specific properties FéRIA Basic temporal operators AADL behavior 71/ 78

71 Environment of a component Verification needs a closed system Compositional verification needs environment hypothesis attach an environment component to each component one to one correspondence between declared features Environment can be specified hierarchically Environment has a behavior Verification of the product (closed system) FéRIA AADL behavior 72/ 78

72 Environment of a component Verification needs a closed system Compositional verification needs environment hypothesis attach an environment component to each component one to one correspondence between declared features Environment can be specified hierarchically Environment has a behavior Verification of the product (closed system) FéRIA AADL behavior 73/ 78

73 Specification of system properties branching time logic. state-based domain specific properties. event-based domain specific properties. FéRIA AADL behavior 74/ 78

74 Re-initializable resettable pot ( AG EF initial) The component may return to its initial state (from any state). resettable inev ( AG AF initial) The component must return to its initial state (from any state). FéRIA AADL behavior 75/ 78

75 Component liveness Let C be the subset of events of the component. is alive ( AG EF C true) Always some action of the component must be possible in the future remark: When used in the root component, this property implies absence of deadlock. no livelock ( AG AF C true) A component may not be indefinitely idle (without performing some action) FéRIA AADL behavior 76/ 78

76 n order to specify more specific properties, we propose also a invariant p ( AG p) Property p always holds FéRIA AADL behavior 77/ 78

77 Leadsto e 1 leadsto e 2 [within d] AG (e 1 AF d e 2 ) When expression e 1 holds then expression e 2 eventually holds in the future [at most in d unit time]. Reachable from reachable e 1 [from e 2 ][within d] AG(e 1 EF d e 2 ) When expression e 1 holds then expression e 2 potentially holds in the future [at most in d unit time]. After e 1 after e 2 A[ e 2 Weak Until e 1 ] When expression e 1 holds then expression e 2 has been necessarily satisfied in the past Remark: Taking benefit of presence of labels of transitions it is also possible to envisage the use of behavioral equivalences (bisimulation, testing equivalence,... ) to specify directly by means of an abstract automaton FéRIA the AADLdesired behavior behavior of the 78/ 78

The AADL behavior annex - experiments and roadmap

The AADL behavior annex - experiments and roadmap The AADL behavior annex - experiments and roadmap R. B. França 1 J-P. Bodeveix 1 M. Filali 1 J-F. Rolland 1 D. Chemouil 2 D. Thomas 3 1 Institut de Recherche en Informatique de Toulouse Université Paul

More information

Logic Model Checking

Logic Model Checking Logic Model Checking Lecture Notes 10:18 Caltech 101b.2 January-March 2004 Course Text: The Spin Model Checker: Primer and Reference Manual Addison-Wesley 2003, ISBN 0-321-22862-6, 608 pgs. the assignment

More information

Decentralized Control of Discrete Event Systems with Bounded or Unbounded Delay Communication

Decentralized Control of Discrete Event Systems with Bounded or Unbounded Delay Communication Decentralized Control of Discrete Event Systems with Bounded or Unbounded Delay Communication Stavros Tripakis Abstract We introduce problems of decentralized control with communication, where we explicitly

More information

Automatic Synthesis of Distributed Protocols

Automatic Synthesis of Distributed Protocols Automatic Synthesis of Distributed Protocols Rajeev Alur Stavros Tripakis 1 Introduction Protocols for coordination among concurrent processes are an essential component of modern multiprocessor and distributed

More information

Consistent Global States of Distributed Systems: Fundamental Concepts and Mechanisms. CS 249 Project Fall 2005 Wing Wong

Consistent Global States of Distributed Systems: Fundamental Concepts and Mechanisms. CS 249 Project Fall 2005 Wing Wong Consistent Global States of Distributed Systems: Fundamental Concepts and Mechanisms CS 249 Project Fall 2005 Wing Wong Outline Introduction Asynchronous distributed systems, distributed computations,

More information

Automata-based Verification - III

Automata-based Verification - III COMP30172: Advanced Algorithms Automata-based Verification - III Howard Barringer Room KB2.20: email: howard.barringer@manchester.ac.uk March 2009 Third Topic Infinite Word Automata Motivation Büchi Automata

More information

Decentralized Control of Discrete Event Systems with Bounded or Unbounded Delay Communication 1

Decentralized Control of Discrete Event Systems with Bounded or Unbounded Delay Communication 1 Decentralized Control of Discrete Event Systems with Bounded or Unbounded Delay Communication 1 Stavros Tripakis 2 VERIMAG Technical Report TR-2004-26 November 2004 Abstract We introduce problems of decentralized

More information

Slides for Chapter 14: Time and Global States

Slides for Chapter 14: Time and Global States Slides for Chapter 14: Time and Global States From Coulouris, Dollimore, Kindberg and Blair Distributed Systems: Concepts and Design Edition 5, Addison-Wesley 2012 Overview of Chapter Introduction Clocks,

More information

SDS developer guide. Develop distributed and parallel applications in Java. Nathanaël Cottin. version

SDS developer guide. Develop distributed and parallel applications in Java. Nathanaël Cottin. version SDS developer guide Develop distributed and parallel applications in Java Nathanaël Cottin sds@ncottin.net http://sds.ncottin.net version 0.0.3 Copyright 2007 - Nathanaël Cottin Permission is granted to

More information

INF Models of concurrency

INF Models of concurrency INF4140 - Models of concurrency RPC and Rendezvous INF4140 Lecture 15. Nov. 2017 RPC and Rendezvous Outline More on asynchronous message passing interacting processes with different patterns of communication

More information

Distributed Algorithms Time, clocks and the ordering of events

Distributed Algorithms Time, clocks and the ordering of events Distributed Algorithms Time, clocks and the ordering of events Alberto Montresor University of Trento, Italy 2016/04/26 This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International

More information

7. Queueing Systems. 8. Petri nets vs. State Automata

7. Queueing Systems. 8. Petri nets vs. State Automata Petri Nets 1. Finite State Automata 2. Petri net notation and definition (no dynamics) 3. Introducing State: Petri net marking 4. Petri net dynamics 5. Capacity Constrained Petri nets 6. Petri net models

More information

Models for Efficient Timed Verification

Models for Efficient Timed Verification Models for Efficient Timed Verification François Laroussinie LSV / ENS de Cachan CNRS UMR 8643 Monterey Workshop - Composition of embedded systems Model checking System Properties Formalizing step? ϕ Model

More information

Information System Design IT60105

Information System Design IT60105 n IT60105 Lecture 13 Statechart Diagrams Lecture #13 What is a Statechart diagram? Basic components in a state-chart diagram and their notations Examples: Process Order in OLP system What is a Statechart

More information

An introduction to Uppaal and Timed Automata MVP5 1

An introduction to Uppaal and Timed Automata MVP5 1 An introduction to Uppaal and Timed Automata MVP5 1 What is Uppaal? (http://www.uppaal.com/) A simple graphical interface for drawing extended finite state machines (automatons + shared variables A graphical

More information

Algorithmic verification

Algorithmic verification Algorithmic verification Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2018 Outline Overview Model checking Symbolic execution Outline Overview Model checking Symbolic execution Program verification

More information

Lab Course: distributed data analytics

Lab Course: distributed data analytics Lab Course: distributed data analytics 01. Threading and Parallelism Nghia Duong-Trung, Mohsan Jameel Information Systems and Machine Learning Lab (ISMLL) University of Hildesheim, Germany International

More information

Our Problem. Model. Clock Synchronization. Global Predicate Detection and Event Ordering

Our Problem. Model. Clock Synchronization. Global Predicate Detection and Event Ordering Our Problem Global Predicate Detection and Event Ordering To compute predicates over the state of a distributed application Model Clock Synchronization Message passing No failures Two possible timing assumptions:

More information

Asynchronous Communication 2

Asynchronous Communication 2 Asynchronous Communication 2 INF4140 22.11.12 Lecture 11 INF4140 (22.11.12) Asynchronous Communication 2 Lecture 11 1 / 37 Overview: Last time semantics: histories and trace sets specification: invariants

More information

INF Models of concurrency

INF Models of concurrency Monitors INF4140 - Models of concurrency Monitors, lecture 4 Fall 2017 27. September 2017 2 / 49 Overview Concurrent execution of different processes Communication by shared variables Processes may interfere

More information

MAD. Models & Algorithms for Distributed systems -- 2/5 -- download slides at

MAD. Models & Algorithms for Distributed systems -- 2/5 -- download slides at MAD Models & Algorithms for Distributed systems -- /5 -- download slides at http://people.rennes.inria.fr/eric.fabre/ 1 Today Runs/executions of a distributed system are partial orders of events We introduce

More information

Agreement. Today. l Coordination and agreement in group communication. l Consensus

Agreement. Today. l Coordination and agreement in group communication. l Consensus Agreement Today l Coordination and agreement in group communication l Consensus Events and process states " A distributed system a collection P of N singlethreaded processes w/o shared memory Each process

More information

Finite-State Model Checking

Finite-State Model Checking EECS 219C: Computer-Aided Verification Intro. to Model Checking: Models and Properties Sanjit A. Seshia EECS, UC Berkeley Finite-State Model Checking G(p X q) Temporal logic q p FSM Model Checker Yes,

More information

Timed Automata VINO 2011

Timed Automata VINO 2011 Timed Automata VINO 2011 VeriDis Group - LORIA July 18, 2011 Content 1 Introduction 2 Timed Automata 3 Networks of timed automata Motivation Formalism for modeling and verification of real-time systems.

More information

Modeling Concurrent Systems

Modeling Concurrent Systems Modeling Concurrent Systems Wolfgang Schreiner Wolfgang.Schreiner@risc.uni-linz.ac.at Research Institute for Symbolic Computation (RISC) Johannes Kepler University, Linz, Austria http://www.risc.uni-linz.ac.at

More information

Mechanizing a Process Algebra for Network Protocols

Mechanizing a Process Algebra for Network Protocols Submitted to Journal of Automated Reasoning October 2015 Mechanizing a Process Algebra for Network Protocols Timothy Bourke Robert J. van Glabbeek Peter Höfner Abstract This paper presents the mechanization

More information

Automata-based Verification - III

Automata-based Verification - III CS3172: Advanced Algorithms Automata-based Verification - III Howard Barringer Room KB2.20/22: email: howard.barringer@manchester.ac.uk March 2005 Third Topic Infinite Word Automata Motivation Büchi Automata

More information

Temporal logics and explicit-state model checking. Pierre Wolper Université de Liège

Temporal logics and explicit-state model checking. Pierre Wolper Université de Liège Temporal logics and explicit-state model checking Pierre Wolper Université de Liège 1 Topics to be covered Introducing explicit-state model checking Finite automata on infinite words Temporal Logics and

More information

Automata-Theoretic Model Checking of Reactive Systems

Automata-Theoretic Model Checking of Reactive Systems Automata-Theoretic Model Checking of Reactive Systems Radu Iosif Verimag/CNRS (Grenoble, France) Thanks to Tom Henzinger (IST, Austria), Barbara Jobstmann (CNRS, Grenoble) and Doron Peled (Bar-Ilan University,

More information

Towards a Property Preserving Transformation from IEC to BIP

Towards a Property Preserving Transformation from IEC to BIP Towards a Property Preserving Transformation from IEC 61131 3 to BIP Jan Olaf Blech, Anton Hattendorf, Jia Huang fortiss GmbH, Guerickestraße 25, 80805 München, Germany September 7, 2010 arxiv:1009.0817v1

More information

Embedded Systems 2. REVIEW: Actor models. A system is a function that accepts an input signal and yields an output signal.

Embedded Systems 2. REVIEW: Actor models. A system is a function that accepts an input signal and yields an output signal. Embedded Systems 2 REVIEW: Actor models A system is a function that accepts an input signal and yields an output signal. The domain and range of the system function are sets of signals, which themselves

More information

Shared Memory vs Message Passing

Shared Memory vs Message Passing Shared Memory vs Message Passing Carole Delporte-Gallet Hugues Fauconnier Rachid Guerraoui Revised: 15 February 2004 Abstract This paper determines the computational strength of the shared memory abstraction

More information

CS 347 Parallel and Distributed Data Processing

CS 347 Parallel and Distributed Data Processing CS 347 Parallel and Distributed Data Processing Spring 2016 & Clocks, Clocks, and the Ordering of Events in a Distributed System. L. Lamport, Communications of the ACM, 1978 Notes 15: & Clocks CS 347 Notes

More information

Blocking Synchronization: Streams Vijay Saraswat (Dec 10, 2012)

Blocking Synchronization: Streams Vijay Saraswat (Dec 10, 2012) 1 Streams Blocking Synchronization: Streams Vijay Saraswat (Dec 10, 2012) Streams provide a very simple abstraction for determinate parallel computation. The intuition for streams is already present in

More information

Clocks in Asynchronous Systems

Clocks in Asynchronous Systems Clocks in Asynchronous Systems The Internet Network Time Protocol (NTP) 8 Goals provide the ability to externally synchronize clients across internet to UTC provide reliable service tolerating lengthy

More information

Formal Verification of Mobile Network Protocols

Formal Verification of Mobile Network Protocols Dipartimento di Informatica, Università di Pisa, Italy milazzo@di.unipi.it Pisa April 26, 2005 Introduction Modelling Systems Specifications Examples Algorithms Introduction Design validation ensuring

More information

CS505: Distributed Systems

CS505: Distributed Systems Cristina Nita-Rotaru CS505: Distributed Systems Ordering events. Lamport and vector clocks. Global states. Detecting failures. Required reading for this topic } Leslie Lamport,"Time, Clocks, and the Ordering

More information

MODEL CHECKING. Arie Gurfinkel

MODEL CHECKING. Arie Gurfinkel 1 MODEL CHECKING Arie Gurfinkel 2 Overview Kripke structures as models of computation CTL, LTL and property patterns CTL model-checking and counterexample generation State of the Art Model-Checkers 3 SW/HW

More information

Improved cellular models with parallel Cell-DEVS

Improved cellular models with parallel Cell-DEVS Improved cellular models with parallel Cell-DEVS Gabriel A. Wainer Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos Aires Pabellón I - Ciudad Universitaria Buenos

More information

Design and Analysis of Distributed Interacting Systems

Design and Analysis of Distributed Interacting Systems Design and Analysis of Distributed Interacting Systems Organization Prof. Dr. Joel Greenyer April 11, 2013 Organization Lecture: Thursdays, 10:15 11:45, F 128 Tutorial: Thursdays, 13:00 13:45, G 323 first

More information

Realizability and Verification of MSC Graphs

Realizability and Verification of MSC Graphs Realizability and Verification of MSC Graphs Rajeev Alur a,1 a Department of Computer and Information Science, University of Pennsylvania Kousha Etessami b b Bell Laboratories, Lucent Technologies Mihalis

More information

Finite State Machines. CS 447 Wireless Embedded Systems

Finite State Machines. CS 447 Wireless Embedded Systems Finite State Machines CS 447 Wireless Embedded Systems Outline Discrete systems Finite State Machines Transitions Timing Update functions Determinacy and Receptiveness 1 Discrete Systems Operates in sequence

More information

The State Explosion Problem

The State Explosion Problem The State Explosion Problem Martin Kot August 16, 2003 1 Introduction One from main approaches to checking correctness of a concurrent system are state space methods. They are suitable for automatic analysis

More information

Abstractions and Decision Procedures for Effective Software Model Checking

Abstractions and Decision Procedures for Effective Software Model Checking Abstractions and Decision Procedures for Effective Software Model Checking Prof. Natasha Sharygina The University of Lugano, Carnegie Mellon University Microsoft Summer School, Moscow, July 2011 Lecture

More information

Verification of Recursive Programs. Andreas Podelski February 8, 2012

Verification of Recursive Programs. Andreas Podelski February 8, 2012 Verification of Recursive Programs Andreas Podelski February 8, 2012 1 m(x) = x 10 if x > 100 m(m(x + 11)) if x 100 2 procedure m(x) returns (res) `0: if x>100 `1: res:=x-10 else `2: x m := x+11 `3: res

More information

State modeling. Marlon Dumas. Institute of Computer Science

State modeling. Marlon Dumas. Institute of Computer Science State modeling Marlon Dumas Institute of Computer Science Where are we? Notation Class diagrams Use case diagrams/use cases Sequence diagrams Statecharts Petri nets Decision trees & DMN Purpose Domain

More information

Alan Bundy. Automated Reasoning LTL Model Checking

Alan Bundy. Automated Reasoning LTL Model Checking Automated Reasoning LTL Model Checking Alan Bundy Lecture 9, page 1 Introduction So far we have looked at theorem proving Powerful, especially where good sets of rewrite rules or decision procedures have

More information

Outline. PeerSim: Informal introduction. Resources. What is PeerSim? Alberto Montresor Gianluca Ciccarelli

Outline. PeerSim: Informal introduction. Resources. What is PeerSim? Alberto Montresor Gianluca Ciccarelli Outline PeerSim: Informal introduction Alberto Montresor Gianluca Ciccarelli Networking group - University of Trento April 3, 2009 1 2 files structure 3 1 / 45 2 / 45 Resources What is PeerSim? These slides

More information

The algorithmic analysis of hybrid system

The algorithmic analysis of hybrid system The algorithmic analysis of hybrid system Authors: R.Alur, C. Courcoubetis etc. Course teacher: Prof. Ugo Buy Xin Li, Huiyong Xiao Nov. 13, 2002 Summary What s a hybrid system? Definition of Hybrid Automaton

More information

Integer Linear Programming Based Property Checking for Asynchronous Reactive Systems

Integer Linear Programming Based Property Checking for Asynchronous Reactive Systems IEEE TRANSACTIONS ON SOFTWARE ENGINEERING 1 Integer Linear Programming Based Property Checking for Asynchronous Reactive Systems Stefan Leue Department of Computer and Information Science University of

More information

Industrial Automation (Automação de Processos Industriais)

Industrial Automation (Automação de Processos Industriais) Industrial Automation (Automação de Processos Industriais) Discrete Event Systems http://users.isr.ist.utl.pt/~jag/courses/api1516/api1516.html Slides 2010/2011 Prof. Paulo Jorge Oliveira Rev. 2011-2015

More information

An Indian Journal FULL PAPER ABSTRACT KEYWORDS. Trade Science Inc.

An Indian Journal FULL PAPER ABSTRACT KEYWORDS. Trade Science Inc. [Type text] [Type text] [Type text] ISSN : 0974-7435 Volume 10 Issue 11 BioTechnology 2014 An Indian Journal FULL PAPER BTAIJ, 10(11), 2014 [5576-5583] Research on the probability of extended UML state

More information

CS256/Spring 2008 Lecture #11 Zohar Manna. Beyond Temporal Logics

CS256/Spring 2008 Lecture #11 Zohar Manna. Beyond Temporal Logics CS256/Spring 2008 Lecture #11 Zohar Manna Beyond Temporal Logics Temporal logic expresses properties of infinite sequences of states, but there are interesting properties that cannot be expressed, e.g.,

More information

Socket Programming. Daniel Zappala. CS 360 Internet Programming Brigham Young University

Socket Programming. Daniel Zappala. CS 360 Internet Programming Brigham Young University Socket Programming Daniel Zappala CS 360 Internet Programming Brigham Young University Sockets, Addresses, Ports Clients and Servers 3/33 clients request a service from a server using a protocol need an

More information

Realizability of Interactions in Collaboration Diagrams

Realizability of Interactions in Collaboration Diagrams Realizability of Interactions in Collaboration Diagrams Tevfik Bultan Department of Computer Science University of California Santa Barbara, CA 93106, USA bultan@cs.ucsb.edu Xiang Fu School of Computer

More information

Information-Theoretic Lower Bounds on the Storage Cost of Shared Memory Emulation

Information-Theoretic Lower Bounds on the Storage Cost of Shared Memory Emulation Information-Theoretic Lower Bounds on the Storage Cost of Shared Memory Emulation Viveck R. Cadambe EE Department, Pennsylvania State University, University Park, PA, USA viveck@engr.psu.edu Nancy Lynch

More information

A Sample State Machine

A Sample State Machine A Sample State Machine Environment Signatures An environment signature is a triple of sets of guards, actions, and messages. H = (G H, A H, M H ) Guards: formulas in some logical language, e.g. OCL. Actions

More information

Opus: University of Bath Online Publication Store

Opus: University of Bath Online Publication Store Lam, V. S. W. (2006) A formal execution semantics and rigorous analytical approach for communicating UML statechart diagrams. Other. Department of Computer Science, University of Bath. Link to official

More information

TIME BOUNDS FOR SHARED OBJECTS IN PARTIALLY SYNCHRONOUS SYSTEMS. A Thesis JIAQI WANG

TIME BOUNDS FOR SHARED OBJECTS IN PARTIALLY SYNCHRONOUS SYSTEMS. A Thesis JIAQI WANG TIME BOUNDS FOR SHARED OBJECTS IN PARTIALLY SYNCHRONOUS SYSTEMS A Thesis by JIAQI WANG Submitted to the Office of Graduate Studies of Texas A&M University in partial fulfillment of the requirements for

More information

Modal and Temporal Logics

Modal and Temporal Logics Modal and Temporal Logics Colin Stirling School of Informatics University of Edinburgh July 23, 2003 Why modal and temporal logics? 1 Computational System Modal and temporal logics Operational semantics

More information

SFM-11:CONNECT Summer School, Bertinoro, June 2011

SFM-11:CONNECT Summer School, Bertinoro, June 2011 SFM-:CONNECT Summer School, Bertinoro, June 20 EU-FP7: CONNECT LSCITS/PSS VERIWARE Part 3 Markov decision processes Overview Lectures and 2: Introduction 2 Discrete-time Markov chains 3 Markov decision

More information

Scheduling. Uwe R. Zimmer & Alistair Rendell The Australian National University

Scheduling. Uwe R. Zimmer & Alistair Rendell The Australian National University 6 Scheduling Uwe R. Zimmer & Alistair Rendell The Australian National University References for this chapter [Bacon98] J. Bacon Concurrent Systems 1998 (2nd Edition) Addison Wesley Longman Ltd, ISBN 0-201-17767-6

More information

DES. 4. Petri Nets. Introduction. Different Classes of Petri Net. Petri net properties. Analysis of Petri net models

DES. 4. Petri Nets. Introduction. Different Classes of Petri Net. Petri net properties. Analysis of Petri net models 4. Petri Nets Introduction Different Classes of Petri Net Petri net properties Analysis of Petri net models 1 Petri Nets C.A Petri, TU Darmstadt, 1962 A mathematical and graphical modeling method. Describe

More information

Helsinki University of Technology Laboratory for Theoretical Computer Science Research Reports 66

Helsinki University of Technology Laboratory for Theoretical Computer Science Research Reports 66 Helsinki University of Technology Laboratory for Theoretical Computer Science Research Reports 66 Teknillisen korkeakoulun tietojenkäsittelyteorian laboratorion tutkimusraportti 66 Espoo 2000 HUT-TCS-A66

More information

Semantic Equivalences and the. Verification of Infinite-State Systems 1 c 2004 Richard Mayr

Semantic Equivalences and the. Verification of Infinite-State Systems 1 c 2004 Richard Mayr Semantic Equivalences and the Verification of Infinite-State Systems Richard Mayr Department of Computer Science Albert-Ludwigs-University Freiburg Germany Verification of Infinite-State Systems 1 c 2004

More information

Description of the ED library Basic Atoms

Description of the ED library Basic Atoms Description of the ED library Basic Atoms Simulation Software / Description of the ED library BASIC ATOMS Enterprise Dynamics Copyright 2010 Incontrol Simulation Software B.V. All rights reserved Papendorpseweg

More information

Recent results on Timed Systems

Recent results on Timed Systems Recent results on Timed Systems Time Petri Nets and Timed Automata Béatrice Bérard LAMSADE Université Paris-Dauphine & CNRS berard@lamsade.dauphine.fr Based on joint work with F. Cassez, S. Haddad, D.

More information

Constructing Mid-points for Two-party Asynchronous Protocols

Constructing Mid-points for Two-party Asynchronous Protocols Constructing Mid-points for Two-party Asynchronous Protocols Petar Tsankov, Mohammad Torabi-Dashti, and David Basin ETH Zürich, 8092 Zürich, Switzerland Abstract. Communication protocols describe the steps

More information

Solutions to COMP9334 Week 8 Sample Problems

Solutions to COMP9334 Week 8 Sample Problems Solutions to COMP9334 Week 8 Sample Problems Problem 1: Customers arrive at a grocery store s checkout counter according to a Poisson process with rate 1 per minute. Each customer carries a number of items

More information

Operating Systems. VII. Synchronization

Operating Systems. VII. Synchronization Operating Systems VII. Synchronization Ludovic Apvrille ludovic.apvrille@telecom-paristech.fr Eurecom, office 470 http://soc.eurecom.fr/os/ @OS Eurecom Outline Synchronization issues 2/22 Fall 2017 Institut

More information

Adding the METAR service to the CNS/ATM-1 FIS Application

Adding the METAR service to the CNS/ATM-1 FIS Application ATNP/WG3/WP14- AERONAUTICAL TELECOMMUNICATIONS NETWORK PANEL Working Group 3 (Applications and Upper Layers) Bordeaux (France), 29 th September 2nd October 1998 Adding the METAR service to the CNS/ATM-1

More information

Crashed router. Instructor s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3 Pearson Education

Crashed router. Instructor s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3 Pearson Education Figure 11.1 A network artition Crashed router Instructor s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concets and Design Edn. 3 Pearson Education 2001 1 Figure 11.2 Server managing

More information

Time is an important issue in DS

Time is an important issue in DS Chapter 0: Time and Global States Introduction Clocks,events and process states Synchronizing physical clocks Logical time and logical clocks Global states Distributed debugging Summary Time is an important

More information

Formal Verification Techniques. Riccardo Sisto, Politecnico di Torino

Formal Verification Techniques. Riccardo Sisto, Politecnico di Torino Formal Verification Techniques Riccardo Sisto, Politecnico di Torino State exploration State Exploration and Theorem Proving Exhaustive exploration => result is certain (correctness or noncorrectness proof)

More information

Bridging the Semantic Gap Between Heterogeneous Modeling Formalisms and FMI

Bridging the Semantic Gap Between Heterogeneous Modeling Formalisms and FMI Bridging the Semantic Gap Between Heterogeneous Modeling Formalisms and FMI Stavros Tripakis Aalto University and University of California, Berkeley Abstract FMI (Functional Mockup Interface) is a standard

More information

2IN35 VLSI Programming Lab Work Communication Protocols: A Synchronous and an Asynchronous One

2IN35 VLSI Programming Lab Work Communication Protocols: A Synchronous and an Asynchronous One 2IN35 VLSI Programming Lab Work Communication Protocols: A Synchronous and an Asynchronous One René Gabriëls, r.gabriels@student.tue.nl July 1, 2008 1 Contents 1 Introduction 3 2 Problem Description 3

More information

MONOTONIC ABSTRACTION (ON EFFICIENT VERIFICATION OF PARAMETERIZED SYSTEMS)

MONOTONIC ABSTRACTION (ON EFFICIENT VERIFICATION OF PARAMETERIZED SYSTEMS) International Journal of Foundations of Computer Science Vol. 20, No. 5 (2009) 779 801 c World Scientific Publishing Company MONOTONIC ABSTRACTION (ON EFFICIENT VERIFICATION OF PARAMETERIZED SYSTEMS) PAROSH

More information

On Boolean Encodings of Transition Relation for Parallel Compositions of Transition Systems

On Boolean Encodings of Transition Relation for Parallel Compositions of Transition Systems On Boolean Encodings of Transition Relation for Parallel Compositions of Transition Systems Extended abstract Andrzej Zbrzezny IMCS, Jan Długosz University in Częstochowa, Al. Armii Krajowej 13/15, 42-2

More information

arxiv: v1 [cs.dc] 26 Nov 2018

arxiv: v1 [cs.dc] 26 Nov 2018 The SNOW Theorem Revisited Kishori M Konwar, Wyatt Lloyd, Haonan Lu, Nancy Lynch November 27, 2018 arxiv:1811.10577v1 [cs.dc] 26 Nov 2018 Abstract In highly-scalable storage systems for Web services, data

More information

Communication and Concurrency: CCS. R. Milner, A Calculus of Communicating Systems, 1980

Communication and Concurrency: CCS. R. Milner, A Calculus of Communicating Systems, 1980 Communication and Concurrency: CCS R. Milner, A Calculus of Communicating Systems, 1980 Why calculi? Prove properties on programs and languages Principle: tiny syntax, small semantics, to be handled on

More information

EP2200 Course Project 2017 Project II - Mobile Computation Offloading

EP2200 Course Project 2017 Project II - Mobile Computation Offloading EP2200 Course Project 2017 Project II - Mobile Computation Offloading 1 Introduction Queuing theory provides us a very useful mathematic tool that can be used to analytically evaluate the performance of

More information

Models of Concurrency

Models of Concurrency Models of Concurrency GERARDO SCHNEIDER UPPSALA UNIVERSITY DEPARTMENT OF INFORMATION TECHNOLOGY UPPSALA, SWEDEN Thanks to Frank Valencia Models of Concurrency p.1/57 Concurrency is Everywhere Concurrent

More information

Complex Systems Design & Distributed Calculus and Coordination

Complex Systems Design & Distributed Calculus and Coordination Complex Systems Design & Distributed Calculus and Coordination Concurrency and Process Algebras: Theory and Practice Francesco Tiezzi University of Camerino francesco.tiezzi@unicam.it A.A. 2014/2015 F.

More information

Modelling Real-Time Systems. Henrik Ejersbo Jensen Aalborg University

Modelling Real-Time Systems. Henrik Ejersbo Jensen Aalborg University Modelling Real-Time Systems Henrik Ejersbo Jensen Aalborg University Hybrid & Real Time Systems Control Theory Plant Continuous sensors actuators Task TaskTask Controller Program Discrete Computer Science

More information

The Discrete EVent System specification (DEVS) formalism

The Discrete EVent System specification (DEVS) formalism The Discrete EVent System specification (DEVS) formalism Hans Vangheluwe The DEVS formalism was conceived by Zeigler [Zei84a, Zei84b] to provide a rigourous common basis for discrete-event modelling and

More information

Visibly Linear Dynamic Logic

Visibly Linear Dynamic Logic Visibly Linear Dynamic Logic Joint work with Alexander Weinert (Saarland University) Martin Zimmermann Saarland University September 8th, 2016 Highlights Conference, Brussels, Belgium Martin Zimmermann

More information

Verification of Real-Time Specification Patterns on Time Transition Systems

Verification of Real-Time Specification Patterns on Time Transition Systems Verification of Real-Time Specification Patterns on Time Transition Systems Nouha Abid 1,2, Silvano Dal Zilio 1,2, and Didier Le Botlan 1,2 1 CNRS ; LAAS ; 7 avenue colonel Roche, F-31077 Toulouse, France

More information

PySy: A Python Package for Enhanced Concurrent Programming. TODD WILLIAMSON B.S (University of California at Davis) 2007 THESIS

PySy: A Python Package for Enhanced Concurrent Programming. TODD WILLIAMSON B.S (University of California at Davis) 2007 THESIS PySy: A Python Package for Enhanced Concurrent Programming By TODD WILLIAMSON B.S (University of California at Davis) 2007 THESIS Submitted in partial satisfaction of the requirements for the degree of

More information

540 IEEE TRANSACTIONS ON AUTOMATIC CONTROL, VOL. 43, NO. 4, APRIL Algorithmic Analysis of Nonlinear Hybrid Systems

540 IEEE TRANSACTIONS ON AUTOMATIC CONTROL, VOL. 43, NO. 4, APRIL Algorithmic Analysis of Nonlinear Hybrid Systems 540 IEEE TRANSACTIONS ON AUTOMATIC CONTROL, VOL. 43, NO. 4, APRIL 1998 Algorithmic Analysis of Nonlinear Hybrid Systems Thomas A. Henzinger, Pei-Hsin Ho, Howard Wong-Toi Abstract Hybrid systems are digital

More information

Lecture 4 Event Systems

Lecture 4 Event Systems Lecture 4 Event Systems This lecture is based on work done with Mark Bickford. Marktoberdorf Summer School, 2003 Formal Methods One of the major research challenges faced by computer science is providing

More information

Interface Automata with Complex Actions - Extended Version

Interface Automata with Complex Actions - Extended Version Interface Automata with Complex Actions - Extended Version Shahram Esmaeilsabzali Nancy A. Day Farhad Mavaddat David R. Cheriton School of Computer Science University of Waterloo Waterloo, Ontario, Canada

More information

SMV the Symbolic Model Verifier. Example: the alternating bit protocol. LTL Linear Time temporal Logic

SMV the Symbolic Model Verifier. Example: the alternating bit protocol. LTL Linear Time temporal Logic Model Checking (I) SMV the Symbolic Model Verifier Example: the alternating bit protocol LTL Linear Time temporal Logic CTL Fixed Points Correctness Slide 1 SMV - Symbolic Model Verifier SMV - Symbolic

More information

Real Time Operating Systems

Real Time Operating Systems Real Time Operating ystems Luca Abeni luca.abeni@unitn.it Interacting Tasks Until now, only independent tasks... A job never blocks or suspends A task only blocks on job termination In real world, jobs

More information

Go Tutorial. Ian Lance Taylor. Introduction. Why? Language. Go Tutorial. Ian Lance Taylor. GCC Summit, October 27, 2010

Go Tutorial. Ian Lance Taylor. Introduction. Why? Language. Go Tutorial. Ian Lance Taylor. GCC Summit, October 27, 2010 GCC Summit, October 27, 2010 Go Go is a new experimental general purpose programming language. Main developers are: Russ Cox Robert Griesemer Rob Pike Ken Thompson It was released as free software in November

More information

Distributed Deadlock-Avoidance. IMDEA Software Institute, Spain

Distributed Deadlock-Avoidance. IMDEA Software Institute, Spain Distributed Deadlock-voidance César Sánchez IMDE Software Institute, Spain DRV Workshop, ertinoro 19-May, 216 Distributed Deadlock-voidance little story about how static knowledge can help solve unsolvable

More information

Communication and Concurrency: CCS

Communication and Concurrency: CCS Communication and Concurrency: CCS R. Milner, A Calculus of Communicating Systems, 1980 cours SSDE Master 1 Why calculi? Prove properties on programs and languages Principle: tiny syntax, small semantics,

More information

Trivadis Integration Blueprint V0.1

Trivadis Integration Blueprint V0.1 Spring Integration Peter Welkenbach Principal Consultant peter.welkenbach@trivadis.com Agenda Integration Blueprint Enterprise Integration Patterns Spring Integration Goals Main Components Architectures

More information

Software Verification

Software Verification Software Verification Grégoire Sutre LaBRI, University of Bordeaux, CNRS, France Summer School on Verification Technology, Systems & Applications September 2008 Grégoire Sutre Software Verification VTSA

More information

Timo Latvala. March 7, 2004

Timo Latvala. March 7, 2004 Reactive Systems: Safety, Liveness, and Fairness Timo Latvala March 7, 2004 Reactive Systems: Safety, Liveness, and Fairness 14-1 Safety Safety properties are a very useful subclass of specifications.

More information

T Reactive Systems: Temporal Logic LTL

T Reactive Systems: Temporal Logic LTL Tik-79.186 Reactive Systems 1 T-79.186 Reactive Systems: Temporal Logic LTL Spring 2005, Lecture 4 January 31, 2005 Tik-79.186 Reactive Systems 2 Temporal Logics Temporal logics are currently the most

More information