On the Applicability of an Interval Time Structure for Protocol Verification

Size: px
Start display at page:

Download "On the Applicability of an Interval Time Structure for Protocol Verification"

Transcription

1 On the Applicability of an Interval Time Structure for Protocol Verification Jerzy BRZZIŃSKI, Michał SAJKOWSKI Institute of Computing Science, Poznań University of Technology Piotrowo 3a, Poznań, Poland {brzezinski, Abstract. We demonstrate that the interval time structure may be inadequate for the modelling and the verification of a certain protocol class, in which both competing and supporting events are present. This observation has an important meaning for the generation of a correct state space for protocols and then for the detection of a proper set of qualitative protocol properties, such as deadlock, livelock, tempo blocking and starvation. 1. Introduction In the nineties, it has been observed that there is a significant development of formal methods, tools and algorithms applied to computer aided verification of real-time concurrent systems [2], [5], [7] and, in particular, computer network protocols [8], [2]. Recently, in the discussion of the advantages and disadvantages of current verification tools [3], it has been emphasized that computer aided verification performs an exhaustive exploration of the state space and considers all possible interactions of concurrent processes. It has also been pointed out that many subtle errors are extremely difficult to discover using the conventional techniques of simulation and testing. In the work presented, the protocol is seen as a timed concurrent system. The main distinction of the formal model of such a system is the presence of a time notion in an explicit form. Generally, time in the model may be presented by means of point or interval time structures [6]. However, to model a computer network protocol only the interval time structure seems to be adequate. It is because, first, the yielding of exact point times corresponding to real-life values is practically impossible. Secondly, any even slight variations of these point times in real-life, may cause the results of the analysis of the protocol model to be exactly inverse when compared to the properties existing in a real-life protocol. Therefore, in this paper we have focused on the evaluation of protocol verification techniques applying the interval time structure. We have considered a single representative of such techniques, presented in [9]. (We do not consider the timed automata model [1] - i.e. finite automata with a finite set of real-valued clocks, and their derivatives). As a result, we have found that the interval time structure may be inadequate for the analysis of a certain protocol class, in which both competing and supporting events are present. The competing events deal with processes which compete for precedence. The supporting events deal with processes which wait for the execution of other processes, like in the case of the receipt of a buffered message. Two or more supporting events may act on behalf of a single (supported) event. 453

2 The rest of the paper is organized in the following way. In the second section the currently used time interval approach for the verification of communication protocols is discussed. This approach has been applied to the protocol class in which only competing events are present. Section three presents the extension of this approach, proposed for protocols in which both competing and supporting events are present. In the fourth section the proposed extension is applied to the generation of a state space of a simple protocol, and the adequacy of this approach is analysed. Finally, in the fifth section conclusions are given. 2. Time Interval Approach The time interval approach to the modelling and the verification of communication protocol has been proposed in [9], [10]. We will present this approach in the sample context of User-Server Protocol [4] modelled by time Petri net, as is shown in Fig. 1. In the model there are distinguished: User entity, Server entity, Upper Protocol entity initializing the activity of User entity, and medium. ach place of the Petri net models some possible activity (processing, transmission) whose time duration is described by time interval [τ, τ']. This time interval denotes that after initialization (token arrival) the activity is running and lasts at least τ but at most τ' time units. Sample time intervals specified for the activities in the considered protocol are also presented in Fig. 1. When an activity is running, its remaining time interval (i.e. time interval left to completion of the activity) is decreasing. If an activity is completed and other transition conditions are fulfilled, the state is changed (transition is fired) and other activities are initialized (tokens are placed into other places). In the time interval approach proposed by [9], the state s k of a protocol is composed of two matrices: state matrix SM k and timing constraint matrix TCM k. As is shown in Fig. 2, in matrix SM k (included in large brackets) the remaining times of events (i.e. time intervals left to complete the appropriate activities like process executions or message transmissions) corresponding to the states of entities are placed on its diagonal, and corresponding to the states of channels are placed outside the diagonal. In Fig. 2 for example, in matrix SM 2 of state s 2, WAIT [16, 17] is the remaining time of an event denoting the state of the User entity, IDL [0, 5] is the remaining time of an event denoting the state of the Server entity, WFC [30, 35] is the remaining time of an event denoting the state of the Upper Protocol entity and RQ [1, 2] it is the specification of time of an event denoting the state of the channel from User to Server. (State s 2 is one of the states of User-Server Protocol discussed later in section 4). Fig. 1. The time Petri net model of User-Server Protocol 454

3 Fig. 2. xample of the state of a protocol in the time interval approach We should mention here, that in each state we may have two kinds of events: new ones and old ones. The new event was initialized in the considered state. The old event was initialized in one of the previous states and has not yet completed. The entry (event D, event ) in TCM k, denoted as τ D,, determines the adjustment distance of event D and event, at the time when these two events first meet each other. The adjustment distance is understood as the shift (forward or backward, along the time axis) of the interval associated with event D in order to properly precede the interval associated with event. The interval properly precedes the other interval if the upper bound of the former is equal to lower bound of the latter. Therefore the adjustment distance is calculated by the subtraction of the upper bound of the first event interval (D) from the lower bound of the second event interval (). It is worthwhile to emphasize that τ D, and τ D, values are calculated only once when these two events first meet each other and are left unchanged in the consecutive states as long as both events are present [9]. In Fig. 2 for example, in matrix TCM 2 of state s 2, the value +11 in entry TCM 2 [1,3] denotes the adjustment distance by which event IDL [0, 5] properly precedes event WAIT [16, 17]. This distance is equal to +11, because 16-5 = 11. Therefore, interval [0, 5] associated with event IDL should be shifted forward 11 time units in order to properly precede interval [16, 17] associated with event WAIT. Similarly, value -17 in entry TCM 2 [3,1] denotes the adjustment distance by which event WAIT [16, 17] properly precedes event IDL [0, 5]. This distance is equal to -17, because 0-17 = -17. Hence, interval [16, 17] associated with event WAIT should be shifted backward 17 time units in order to properly precede interval [0, 5] associated with event IDL. We should emphasize that in Lin's approach there are only competing events (i.e. dealing with processes which compete for precedence of their execution, like RADY and IDL in Fig.1). The most significant part of this technique comprises the procedure of the computation of the set of feasible events, i.e. events that can occur in the current state leading to a state transition: The procedure of the computation of the set of feasible events [9] begin for each new event A in state s k compute the remaining time interval [ τ A, τ A ] of this event by the use of a substitution: [ τ A, τ A ] := [ τ a, τ a ] (1) where [ τ a, τ a ] is the time interval specified for event A; for each old event in state s k compute the remaining time interval [ τ, τ ] of this event. If event D just occurred, apply the following formula ([9], Theorem 1, p.90): [ τ, τ ] := [max(τ, τ D, ), min( τ, -τ D, )] (2) where [ τ, τ ] is calculated by using the formula (3): [ τ, τ ] = [ τ, τ ] [ τ D, τ D] = [max( 0, τ τ D), τ τ D] (3) Values τ D, and τ D, are taken from the entries of the timing constraint matrix TCM k for state s k, and calculated as follows: 455

4 τ D, = τ * τ D* (4) τ D, = τ D* τ * (5) where values with an asterisk (*) denote the bounds of event intervals, at the time when these two events first meet each other. for all events in state s k, both new and old ones, do ([9], pages 86-87) Denote the event which has the smallest upper bound of the remaining times as the due event (if there are more than one such event, arbitrarily select one). Select from the other events those events whose remaining times overlap with that of the due event (these are the events which are properly preceded by the due event by a negative adjustment distance). Set the lower bounds of the occurrence time of the events to the lower bounds of their remaining times. Set the upper bounds of the occurrence time of the events to the upper bound of the remaining time of the due event. Include such calculated events together with the due event and their occurrence times into the set of feasible events in the state s k. end Note, formula 3 is very natural. Indeed, when activities leading to some events are running, their remaining time intervals are reduced. If event D has occurred (activity D has completed), then an interval of time [ τ D, τ D ] had to elapse. Thus, the upper bound of the remaining time (the maximum remaining time) of is τ τ D (D occurs at the earliest possible moment). On the other hand, the lower bound of is the maximum of 0 and τ τ D. The former case means, that event is competing with D and could occur before or simultaneously with D, but according to the assumption (event D just occurred) it did not. The latter case means, that the remaining time interval of these events are disjoint, thus to the occurrence of remains at least τ τ D time units. Formulae 4 and 5 describe the lower and upper bounds of the remaining time interval of in the state when events D and met for the first time. From this perspective, the minimum and maximum time that event can still remain not occurring after event D occurs, are τ D, and τ D,, respectively. The remaining time of event must satisfy formula 3 as well as formulae 4 and 5. It implies, finally, formula 2 [9]. 3. An xtension of Time Interval Approach We will now discuss an extension of the time interval approach applied to both competing and supporting events. The supporting events deal with processes which wait for the execution of other processes, like in the case of of the receipt of a buffered message (the examples of these events will be given below). Let event Di denote here the time in which a receiver is ready to receive the message, and event Dj denote the time in which a message arrives to the receiver. Both events, called supporting ones, support event D. So event D, called supported event, denotes the receipt of the message. Such a model specifies the receipt of a message, which is buffered at the receiver side when the receiver is not ready to receive it. (This is in a contrast to the model accepted by Lin's approach, in which for the receipt of a message the event of the message arriving is responsible only). Let us note, that the supported event does not appear explicitly in the model of the state. This event is the result of the combination of other events supporting it. Therefore, events Di and Dj appear both in the state matrix and the timing constraint matrix explicitly, and event D does not. However the transition from one state to another is caused by event D. 456

5 In this extension we have adapted formula (2) for the calculation of the remaining time of the old event in the case when event D, which has just occurred, is the event supported by other (here called supporting) events Di, Dj,... : [ τ, τ ] = [max( τ, τ Dmax, ), min( τ', τ, Dmin )] (6) where τ and τ' are calculated by (3) with τ D and τ' D of event D substituted as follows: τ D = max(τ Di, τ Dj,...) (7) τ' D = max(τ' Di, τ' Dj,...) (8) and where τ Dmax, and τ D, min are given by formulae: τ Dmax, = min(τ Di,, τ Dj,,...) (9) τ D, min = max(τ Di,, τ Dj,,...) (10) Here τ Di, denotes the adjustment distance by which event Di properly precedes event, and τ Di, denotes the adjustment distance by which event properly precedes event Di, etc. These values have been calculated by formulae (4) and (5) and placed in TCM. As a result, τ Dmax, is responsible for the lower bound and τ D, min is responsible for the upper bound of the remaining time of the old event (see Fig. 3). Let us refer to the example state (Fig. 4) of User-Server Protocol. In state s 5 we consider the following events: two supporting events and a single supported event. The supporting events are WAIT [0, 10] (denoting how long a User entity waits for the receipt of a message) and DON [3, 8] (denoting the arrival of message DON at User entity). The supported event is +done (denoting the receipt of message DON by User entity) (please see Fig.1). We will now calculate the time of the occurrence of event +done. We refer here to Fig 3: We denote event WAIT [0, 10] as event Di and event DON [3, 8] as event Dj, and event +done as event D. So we have: [τ Di, τ' Di ] = [0, 10] [τ Dj, τ' Dj ] = [3, 8] By the application of formulae (7) and (8) we have: τ D = max(τ Di, τ Dj ) = max(0, 3) = 3 τ' D = max(τ' Di, τ' Dj,...) = max(10, 8) = 10 Fig. 3. A concept of supporting events 457

6 Fig. 4. The example state with supporting events included Hence the time of the occurrence of event +done is equal to the interval: [τ D, τ' D ] = [3, 10] vent +done is the only event which may occur in state s 5. The reasons for this are the following: First, the lower bound of the time of the occurrence of some other events existing in state s 5 is greater than the upper bound of event +done (indeed 10 is less than the lower bound of events ALARM [12, 13] or FAULT [21, 22]). Second, some other events support certain consecutive events - however not all required events supporting these consecutive events are present - as in the case of event WFC [6, 16] and the absence of event CONFIRM supporting event conf. Let us assume, that event +done just occurred in state s 5 (Fig. 4). We now calculate the remaining time of the event ALARM in the next state. Let us note, that event ALARM is a new event in state s 5 and the remaining time of its occurrence is equal to the time interval specified for this event: [12, 13]. After the occurrence of event +done, event ALARM in the next state is treated as an old event. Therefore we may apply the procedure - presented above - of calculating the remaining time of the occurrence of old event, in the case when event D just occurred is the supported one. So we denote event ALARM [12, 13] as event. We first apply formulae (9) and (10) for the calculation of τ Dmax, and τ D, min. We recall here, that we denote event WAIT [0, 10] as event Di and event DON [3, 8] as event Dj. Thus, τ Dmax, = min(τ Di,, τ Dj, ) = min(+2, +4) = +2 τ D, min = max(τ Di,, τ Dj, ) = max(-15, -10) = -10 Values τ Di,, τ Dj,, τ Di,, τ Dj, are taken from timing constraint matrix TCM 5 in Fig. 4. Now we calculate the subtraction of the remaining time of event ALARM [12, 13] and the time of the occurrence of event +done[3, 10], applying formula (3): [ τ, τ ] = [ τ, τ ] [ τ D, τ D] = [max( 0, τ τ D), τ τ D] = = [12, 13] - [3, 10] = [max(0, 12-10), 13-3] = [2, 10] Next we apply formula (6) for the calculation of the remaining time of event ALARM in the next state, i.e. state s 6 : [ τ, τ ] = [max( τ, τ Dmax, ), min( τ', τ, Dmin )] = [max(2, +2), min(10, -(-10))] = [2, 10] 4. Application of the xtension of Time Interval Approach We have applied the extension of the time interval approach for the generation of the set of feasible events for the sample User-Server Protocol. As a result we obtained a part of the state space for the considered protocol presented in Fig. 5. The transition from one state to another is denoted by an arrow. With each transition a name of an event and the time of the occurrence of the event are placed. Near the end of the arrow, an absolute time of the entry to the next state is specified. (The absolute time we call the time expired from the beginning of the analysis of a protocol). 458

7 Fig. 5. Part of a state space generated for User-Server Protocol by means of the extension of the time interval approach 459

8 Fig. 6. The remaining time of event IDL in consecutive states s 1 and s 2 In this paper, all times are considered as relative ones (i.e. times which expired from the beginning of the entry to the state just considered), unless indicated explicitly as absolute times. We will now compare part of the state space (Fig. 5) with the analysis of the path leading to the particular event in the state space to check if the event selected is feasible in reality. We perform the analysis in four steps discussed below. In the analysis we take into acount the fact, that the remaining times of events may be dependent on the entry time to a state Step 1 - Analysis of a Path to the Selected State and Given ntry Time to It We will now analyse a certain path in the state space from an initial state s 1 to state s 8, assuming that the protocol enters state s 8 in the absolute time equal to 32 (see Fig. 5). We begin from state s 1. In state s 1 we have two intervals: RADY [2, 4] and IDL [3, 7]. When event RADY is completed, event -req occurs, and the considered protocol enters state s 2 in absolute time [2, 4]. Please note, that the remaining time of event IDL in state s 2 is dependent on the entry time to the state, and is given in the form of a polygon (as is shown in Fig. 6). This polygon is obtained by the subtraction from interval IDL [3, 7] the consecutive points of interval RADY [2, 4] (RADY is responsible here of event -req, representing the possible time moments of an entrance to state s 2 ). For instance, for selected points we have: [3, 7] - 2 = [1, 5], [3, 7] - 3 = [0, 4], and [3, 7] - 4 = [max(0, -1), 3] = [0, 3]. Hence, beginning from state s 2, all the remaining times in the next states will be considered as polygons, too. In state s 2, a new event WAIT is initiated. The absolute time of its occurrence is equal to the sum of the entry time to state s 2, and the time interval specified for event WAIT: [2, 4] + [16, 17] = [18, 21]. Then after the occurrence of event +req (supported by events IDL and RQ), the protocol enters state s 3. In state s 3, after the completion of event SRVIC, event -done occurs and the protocol enters state s 4. In state s 4, a new event DON is initiated. The absolute time of its occurrence is equal to the sum of the entry time to state s 4 and the time interval specified for event DON: [6, 13] + [10, 11] = [16, 24]. When event -alarm occurs in state s 4 in time interval [3, 7], the protocol enters state s 5. Hence, we may calculate the remaining time of event DON in state s 5. It is equal to [3, 8], because [10, 11] - [3, 7] = [3, 8]. In state s 5, event +done may occur. It is easy to observe from Fig. 1, that event +done is supported by two supporting events: DON and WAIT. Let us assume, that event +done occurs in the absolute time equal to 24. In order to determine the (relative) time of the occurrence of event +done in state s 5, which satisfies this assumption, we use the absolute times of events DON and WAIT, calculated above. From these absolute times we may deduce that the specific values of event +done are determined by event DON only. It is 460

9 because event DON occurs in time point 24 and event WAIT has occurred earlier (at the absolute time point 21 at the latest). We determine now for which values from interval DON [3, 8], the exit time from state s 5 may be equal to time point 24. The remaining times of event DON depend on the entry time to state s 5 and are described by the hexagon ABCDF in Fig. 7. This hexagon is obtained taking into account three intervals: the entry time to state s 5, [9, 20] (determines two vertical lines), the interval DON [3, 8] (determines two horizontal lines), and the absolute time of the event, [16, 24] (determines two lines specified by line segments AF and CD). The only values from the hexagon ABCDF for which absolute times may be equal to 24 belong to line segment CD. For instance, for entry time equal to 16, the only feasible value of event DON occurrence is 8, because = 24, and 8 [3, 8] (point C in Fig. 7). Summarizing, the protocol may exit state s 5 in time point 24, when event DON occurs in time interval [4, 8]. Therefore, we assume further that event +done occurs in the time interval [4, 8]. In state s 5 the time interval specified for event FAULT is equal to [21, 22], and for event ALARM is equal to [12, 13]. Hence when the protocol exits s 5 in time point 24, then the remaining time of event FAULT in the next state (s 6 ) is equal to time interval [13, 18], because [21, 22] - [4, 8] = [13, 18], and the remaining time of event ALARM is equal to [4, 9], because [12, 13] - [4, 8] = [4, 9]. When considering s 6, we assume that the protocol exits from this state (and enters state s 7 ) in absolute time 28. It is possible when in state s 6 both events which support event +alarm (i.e. ALARM and RADY) occur in point 4. (vent ALARM may occur in state s 6 in time interval [4, 9]. vent RADY may occur in time interval [2, 4]). Then the remaining time of event FAULT in state s 7 is equal to [9, 14], because [13, 18] - 4 = [9, 14]. When considering s 7, we assume that the protocol exits from this state in the absolute time 32. We calculate the relative time of the occurrence of event -ack. The only value of event RGISTR (responsible for event -ack) which satisfies this requirement is 4. Hence, event -ack occurs in time point 4 and the protocol enters state s 8. The remaining time of of event FAULT in state s 8, for entry point 32, is equal to [5, 10], because [9, 14] - 4 = [5, 10] Step 2 - The Repetition of Step 1 for Other ntry Times We repeat the analysis of the path and the calculation of the remaining time of event FAULT, assuming other values of entry times to state s 8 (please see Fig. 8). For the entry point to state s 8 equal to 24, the remaining time of event FAULT is equal to interval [6, 14]. For point 25 it is interval [5, 14], for point 26 it is interval [4, 14], for point 27 it is interval [3, 13], for point 28 it is interval [3, 12], for point 29 it is interval [3, 12], for point 30 it is interval [5, 12], for point 31 it is interval [5, 11]. So the remaining time of event FAULT is dependent on the entry time to state s 8, and the obtained polygon may be a concave one. Fig. 7. The values of event DON when protocol exits state s 5 in time point

10 Fig. 8. vent FAULT Fig. 9. vent +ack 4.3. Step 3 - Calculation of the Real ntry Time to the Next State In state s 8, the end of the execution of process RADY is denoted as event -req. It may occur in time [2, 4], i.e. in the absolute time [26, 36] (because [24, 32] + [2, 4] = [26, 36]). We now calculate the time of the occurrence of another event in state s 8, which is event +ack. vent +ack is supported by two supporting events: the arrival of message ACK and the readiness of its receipt i.e. completion of FAULT. Because the arrival of message ACK occurred earlier, during time interval [1, 2], the interval denoting the remaining time of event FAULT is in fact responsible for the occurrence of event +ack. As we remember, the interval associated with event FAULT is dependent on the entry time to state s 8. Because event +ack competes with event -req, therefore event +ack may occur for intervals which include values less or equal to 4 (4 is the upper bound of the occurrence of event -req). For example, four such intervals of the remaining time of event FAULT which satisfy this criterion are: interval [4, 14] for entry time point 26, interval [3, 13] for point 27, interval [3, 12] for point 28 and interval [3, 12] for point 29. So event FAULT allows event +ack to occur for entry times to s 8 belonging to interval [26, 29] (see, please, Fig. 9). If we impose the upper bound 4 on the intervals given above, we obtain the following intervals denoting the times of the occurrence of event +ack for the entry times to state s 8 from 26 to 29, respectively: [4, 4], [3, 4], [3, 4], and [3, 4] (Fig. 9). Thus, in state s 8 event +ack may occur in time interval [3, 4]. The absolute time of event +ack is then equal to [26 +4, ] = [30, 33]. So in fact, the protocol enters state s 9 in the absolute time [30, 33] Step 4 - Checking the Real Occurrence of vents We now check if event conf can occur in state s 9. Let us note, that the entry time [30, 33] to state s 9 differs from the entry time [30, 36] in the time interval approach presented in Figure 5. It has significant consequences. vent -req (for which its absolute time interval [30, 36] and entry time [30, 33] to state s 9 calculated above overlap) occurs in state s 9 in the absolute time [30, 33]. vent conf (for which its absolute time interval [34, 36] and entry time [30, 33] to state s 9 do not overlap) is delayed in comparison to event -req, and in fact 462

11 Fig. 10. Absolute times of events occurring in fact in state s 9 cannot occur in state s 9. So event conf depicted in state s 9 in the extension of the time interval approach (Fig. 5), in fact cannot occur in state s 9 (Fig. 10). This means, that in the extension of the time interval approach, after the occurrence of event conf in state s 9, a state may be generated which in fact is unavailable. 5. Conclusions The paper has shown that the extension of the time interval approach may lead to the generation of unavailable states, and then possibly to the detection of an incorrect set of protocol errors. This means, that the interval time structure may be inadequate for the verification of a protocol in which both competing and supporting events are present. It is because in the time interval model the dependence of the remaining time on the state entrance time is neglected. Thus in this case more accurate time models are required which should allow enabling conditions to be defined in the form of convex as well as concave polygons. A derivation of such a model is a major line of our further investigations. References [1] R. Alur and D.L. Dill, A Theory of Timed Automata, Theoretical Computer Science, 126 (1994) [2] R. Alur, T.A. Henzinger, (ds.), Computer Aided Verification, Lecture Notes in Computer Science 1102, ISBN: Springer-Verlag, Berlin [3] R. Alur, L.J. Jagadeesan, J.J. Kott and J.. Von Olnhausen, Model-Checking of Real-Time Systems: a Telecommunication Application, Proceedings of the 19th International Conference on Software ngineering, May 1997, Boston, Mass., ISBN: X. I Computer Society Press, [4] D. Brand and P. Zafiropulo, On Communicating Finite State Machines, Journal of the ACM 30 (1983) [5].M. Clarke and R.P. Kurshan, Computer-Aided Verification, I Spectrum, 33 (1996) [6]. Hajnicz, Time Structures. Formal Description and Algorithmic Representation, Lecture Notes in Artificial Intelligence 1047, ISBN: Springer-Verlag, Berlin, [7] C. Heitmeyer and D. Mandrioli, (ds.), Formal Methods for Real-Time Computing, Trends in Software 5, ISBN: John Wiley & Sons Ltd., Chichester, ngland, [8] G.J. Holzmann, Design and Validation of Computer Protocols, ISBN: Prentice-Hall International, Inc., nglewood Cliffs, New Jersey, [9] F.J. Lin, An Integrated Approach to Verification and Performance Analysis of Communication Protocols, Ph.D. Dissertation, Department of Computer and Information Science, The Ohio State University, Columbus, Ohio, [10] F.J. Lin and M.T. Liu, An Integrated Approach to Verification and Performance Analysis of Communication Protocols. In: S. Aggarwal, K. Sabnani (ds.), Protocol Specification, Testing, and Verification, VIII, ISBN: lsevier Science Publishers, Amsterdam, 1988, pp

Analysis and Optimization of Discrete Event Systems using Petri Nets

Analysis and Optimization of Discrete Event Systems using Petri Nets Volume 113 No. 11 2017, 1 10 ISSN: 1311-8080 (printed version); ISSN: 1314-3395 (on-line version) url: http://www.ijpam.eu ijpam.eu Analysis and Optimization of Discrete Event Systems using Petri Nets

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

EE 144/244: Fundamental Algorithms for System Modeling, Analysis, and Optimization Fall 2016

EE 144/244: Fundamental Algorithms for System Modeling, Analysis, and Optimization Fall 2016 EE 144/244: Fundamental Algorithms for System Modeling, Analysis, and Optimization Fall 2016 Discrete Event Simulation Stavros Tripakis University of California, Berkeley Stavros Tripakis (UC Berkeley)

More information

HYPENS Manual. Fausto Sessego, Alessandro Giua, Carla Seatzu. February 7, 2008

HYPENS Manual. Fausto Sessego, Alessandro Giua, Carla Seatzu. February 7, 2008 HYPENS Manual Fausto Sessego, Alessandro Giua, Carla Seatzu February 7, 28 HYPENS is an open source tool to simulate timed discrete, continuous and hybrid Petri nets. It has been developed in Matlab to

More information

MULTIPLE CHOICE QUESTIONS DECISION SCIENCE

MULTIPLE CHOICE QUESTIONS DECISION SCIENCE MULTIPLE CHOICE QUESTIONS DECISION SCIENCE 1. Decision Science approach is a. Multi-disciplinary b. Scientific c. Intuitive 2. For analyzing a problem, decision-makers should study a. Its qualitative aspects

More information

Control Synthesis of Discrete Manufacturing Systems using Timed Finite Automata

Control Synthesis of Discrete Manufacturing Systems using Timed Finite Automata Control Synthesis of Discrete Manufacturing Systems using Timed Finite utomata JROSLV FOGEL Institute of Informatics Slovak cademy of Sciences ratislav Dúbravská 9, SLOVK REPULIC bstract: - n application

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

Chapter 7 HYPOTHESIS-BASED INVESTIGATION OF DIGITAL TIMESTAMPS. 1. Introduction. Svein Willassen

Chapter 7 HYPOTHESIS-BASED INVESTIGATION OF DIGITAL TIMESTAMPS. 1. Introduction. Svein Willassen Chapter 7 HYPOTHESIS-BASED INVESTIGATION OF DIGITAL TIMESTAMPS Svein Willassen Abstract Timestamps stored on digital media play an important role in digital investigations. However, the evidentiary value

More information

DISTINGUING NON-DETERMINISTIC TIMED FINITE STATE MACHINES

DISTINGUING NON-DETERMINISTIC TIMED FINITE STATE MACHINES DISTINGUING NON-DETERMINISTIC TIMED FINITE STATE MACHINES Maxim Gromov 1, Khaled El-Fakih 2, Natalia Shabaldina 1, Nina Yevtushenko 1 1 Tomsk State University, 36 Lenin Str.. Tomsk, 634050, Russia gromov@sibmail.com,

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

Convergence of Time Decay for Event Weights

Convergence of Time Decay for Event Weights Convergence of Time Decay for Event Weights Sharon Simmons and Dennis Edwards Department of Computer Science, University of West Florida 11000 University Parkway, Pensacola, FL, USA Abstract Events of

More information

Control of Hybrid Petri Nets using Max-Plus Algebra

Control of Hybrid Petri Nets using Max-Plus Algebra Control of Hybrid Petri Nets using Max-Plus Algebra FABIO BALDUZZI*, ANGELA DI FEBBRARO*, ALESSANDRO GIUA, SIMONA SACONE^ *Dipartimento di Automatica e Informatica Politecnico di Torino Corso Duca degli

More information

CHAPTER 3. CAPACITY OF SIGNALIZED INTERSECTIONS

CHAPTER 3. CAPACITY OF SIGNALIZED INTERSECTIONS CHAPTER 3. CAPACITY OF SIGNALIZED INTERSECTIONS 1. Overview In this chapter we explore the models on which the HCM capacity analysis method for signalized intersections are based. While the method has

More information

THROUGHPUT ANALYSIS OF MANUFACTURING CELLS USING TIMED PETRI NETS

THROUGHPUT ANALYSIS OF MANUFACTURING CELLS USING TIMED PETRI NETS c 1994 IEEE. Published in the Proceedings of the IEEE International Conference on Systems, Man and Cybernetics, San Antonio, TX, October 2 5, 1994. Personal use of this material is permitted. However,

More information

EE291E Lecture Notes 3 Autonomous Hybrid Automata

EE291E Lecture Notes 3 Autonomous Hybrid Automata EE9E Lecture Notes 3 Autonomous Hybrid Automata Claire J. Tomlin January, 8 The lecture notes for this course are based on the first draft of a research monograph: Hybrid Systems. The monograph is copyright

More information

EE 144/244: Fundamental Algorithms for System Modeling, Analysis, and Optimization Fall 2014

EE 144/244: Fundamental Algorithms for System Modeling, Analysis, and Optimization Fall 2014 EE 144/244: Fundamental Algorithms for System Modeling, Analysis, and Optimization Fall 2014 Discrete Event Simulation Stavros Tripakis University of California, Berkeley Stavros Tripakis (UC Berkeley)

More information

Designing Information Devices and Systems I Fall 2018 Lecture Notes Note Introduction to Linear Algebra the EECS Way

Designing Information Devices and Systems I Fall 2018 Lecture Notes Note Introduction to Linear Algebra the EECS Way EECS 16A Designing Information Devices and Systems I Fall 018 Lecture Notes Note 1 1.1 Introduction to Linear Algebra the EECS Way In this note, we will teach the basics of linear algebra and relate it

More information

Module 7. Software Engineering Issues. Version 2 EE IIT, Kharagpur 1

Module 7. Software Engineering Issues. Version 2 EE IIT, Kharagpur 1 Module 7 Software Engineering Issues Version 2 EE IIT, Kharagpur 1 Lesson 35 Modelling Timing Constraints Version 2 EE IIT, Kharagpur 2 Specific Instructional Objectives At the end of this lesson, the

More information

Designing Information Devices and Systems I Spring 2018 Lecture Notes Note Introduction to Linear Algebra the EECS Way

Designing Information Devices and Systems I Spring 2018 Lecture Notes Note Introduction to Linear Algebra the EECS Way EECS 16A Designing Information Devices and Systems I Spring 018 Lecture Notes Note 1 1.1 Introduction to Linear Algebra the EECS Way In this note, we will teach the basics of linear algebra and relate

More information

416 Distributed Systems. Time Synchronization (Part 2: Lamport and vector clocks) Jan 27, 2017

416 Distributed Systems. Time Synchronization (Part 2: Lamport and vector clocks) Jan 27, 2017 416 Distributed Systems Time Synchronization (Part 2: Lamport and vector clocks) Jan 27, 2017 1 Important Lessons (last lecture) Clocks on different systems will always behave differently Skew and drift

More information

Compact Regions for Place/Transition Nets

Compact Regions for Place/Transition Nets Compact Regions for Place/Transition Nets Robin Bergenthum Department of Software Engineering and Theory of Programming, FernUniversität in Hagen robin.bergenthum@fernuni-hagen.de Abstract. This paper

More information

Using Patterns and Composite Propositions to Automate the Generation of Complex LTL Specifications

Using Patterns and Composite Propositions to Automate the Generation of Complex LTL Specifications Using Patterns and Composite Propositions to Automate the Generation of Complex LTL Specifications Salamah Salamah, Ann Q. Gates, Vladik Kreinovich, and Steve Roach Dept. of Computer Science, University

More information

Time(d) Petri Net. Serge Haddad. Petri Nets 2016, June 20th LSV ENS Cachan, Université Paris-Saclay & CNRS & INRIA

Time(d) Petri Net. Serge Haddad. Petri Nets 2016, June 20th LSV ENS Cachan, Université Paris-Saclay & CNRS & INRIA Time(d) Petri Net Serge Haddad LSV ENS Cachan, Université Paris-Saclay & CNRS & INRIA haddad@lsv.ens-cachan.fr Petri Nets 2016, June 20th 2016 1 Time and Petri Nets 2 Time Petri Net: Syntax and Semantic

More information

Proxel-Based Simulation of Stochastic Petri Nets Containing Immediate Transitions

Proxel-Based Simulation of Stochastic Petri Nets Containing Immediate Transitions Electronic Notes in Theoretical Computer Science Vol. 85 No. 4 (2003) URL: http://www.elsevier.nl/locate/entsc/volume85.html Proxel-Based Simulation of Stochastic Petri Nets Containing Immediate Transitions

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

Improper Nesting Example

Improper Nesting Example Improper Nesting Example One of the limits on the use of parbegin/parend, and any related constructs, is that the program involved must be properly nested. Not all programs are. For example, consider the

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

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

Time Petri Nets. Miriam Zia School of Computer Science McGill University

Time Petri Nets. Miriam Zia School of Computer Science McGill University Time Petri Nets Miriam Zia School of Computer Science McGill University Timing Specifications Why is time introduced in Petri nets? To model interaction between activities taking into account their start

More information

The Design Procedure. Output Equation Determination - Derive output equations from the state table

The Design Procedure. Output Equation Determination - Derive output equations from the state table The Design Procedure Specification Formulation - Obtain a state diagram or state table State Assignment - Assign binary codes to the states Flip-Flop Input Equation Determination - Select flipflop types

More information

Using Patterns and Composite Propositions to Automate the Generation of LTL Specifications

Using Patterns and Composite Propositions to Automate the Generation of LTL Specifications Using Patterns and Composite Propositions to Automate the Generation of LTL Specifications Salamah Salamah, Ann Q. Gates, Vladik Kreinovich, and Steve Roach Dept. of Computer Science, University of Texas

More information

Solving the Poisson Disorder Problem

Solving the Poisson Disorder Problem Advances in Finance and Stochastics: Essays in Honour of Dieter Sondermann, Springer-Verlag, 22, (295-32) Research Report No. 49, 2, Dept. Theoret. Statist. Aarhus Solving the Poisson Disorder Problem

More information

1. sort of tokens (e.g. indistinguishable (black), coloured, structured,...),

1. sort of tokens (e.g. indistinguishable (black), coloured, structured,...), 7. High Level Petri-Nets Definition 7.1 A Net Type is determined if the following specification is given: 1. sort of tokens (e.g. indistinguishable (black), coloured, structured,...), 2. sort of labeling

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

A REACHABLE THROUGHPUT UPPER BOUND FOR LIVE AND SAFE FREE CHOICE NETS VIA T-INVARIANTS

A REACHABLE THROUGHPUT UPPER BOUND FOR LIVE AND SAFE FREE CHOICE NETS VIA T-INVARIANTS A REACHABLE THROUGHPUT UPPER BOUND FOR LIVE AND SAFE FREE CHOICE NETS VIA T-INVARIANTS Francesco Basile, Ciro Carbone, Pasquale Chiacchio Dipartimento di Ingegneria Elettrica e dell Informazione, Università

More information

The Second Order Commutative Pairs of a First Order Linear Time-Varying System

The Second Order Commutative Pairs of a First Order Linear Time-Varying System Appl. Math. Inf. Sci. 9, No., 69-74 (05) 69 Applied Mathematics & Information Sciences An International Journal http://dx.doi.org/0.785/amis/090 The Second Order Commutative Pairs of a First Order Linear

More information

Georg Frey ANALYSIS OF PETRI NET BASED CONTROL ALGORITHMS

Georg Frey ANALYSIS OF PETRI NET BASED CONTROL ALGORITHMS Georg Frey ANALYSIS OF PETRI NET BASED CONTROL ALGORITHMS Proceedings SDPS, Fifth World Conference on Integrated Design and Process Technologies, IEEE International Conference on Systems Integration, Dallas,

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

Logical Time. 1. Introduction 2. Clock and Events 3. Logical (Lamport) Clocks 4. Vector Clocks 5. Efficient Implementation

Logical Time. 1. Introduction 2. Clock and Events 3. Logical (Lamport) Clocks 4. Vector Clocks 5. Efficient Implementation Logical Time Nicola Dragoni Embedded Systems Engineering DTU Compute 1. Introduction 2. Clock and Events 3. Logical (Lamport) Clocks 4. Vector Clocks 5. Efficient Implementation 2013 ACM Turing Award:

More information

An Holistic State Equation for Timed Petri Nets

An Holistic State Equation for Timed Petri Nets An Holistic State Equation for Timed Petri Nets Matthias Werner, Louchka Popova-Zeugmann, Mario Haustein, and E. Pelz 3 Professur Betriebssysteme, Technische Universität Chemnitz Institut für Informatik,

More information

Algorithms and Data Structures for Efficient Timing Analysis of Asynchronous Real-time Systems

Algorithms and Data Structures for Efficient Timing Analysis of Asynchronous Real-time Systems University of South Florida Scholar Commons Graduate Theses and Dissertations Graduate School 1-1-2013 Algorithms and Data Structures for Efficient Timing Analysis of Asynchronous Real-time Systems Yingying

More information

Task Models and Scheduling

Task Models and Scheduling Task Models and Scheduling Jan Reineke Saarland University June 27 th, 2013 With thanks to Jian-Jia Chen at KIT! Jan Reineke Task Models and Scheduling June 27 th, 2013 1 / 36 Task Models and Scheduling

More information

Modelling of Railway Network Using Petri Nets

Modelling of Railway Network Using Petri Nets Modelling of Railway Network Using Petri Nets MANDIRA BANIK 1, RANJAN DASGUPTA 2 1 Dept. of Computer Sc. & Engg., National Institute of Technical Teachers' Training & Research, Kolkata, West Bengal, India

More information

EDF Feasibility and Hardware Accelerators

EDF Feasibility and Hardware Accelerators EDF Feasibility and Hardware Accelerators Andrew Morton University of Waterloo, Waterloo, Canada, arrmorton@uwaterloo.ca Wayne M. Loucks University of Waterloo, Waterloo, Canada, wmloucks@pads.uwaterloo.ca

More information

2. Project management

2. Project management 2. Project management In what follows, we consider production processes where only a single item of a specific product is produced in the planning horizon In this case specific instruments for planning

More information

Distributed Real-Time Control Systems. Lecture Distributed Control Linear Programming

Distributed Real-Time Control Systems. Lecture Distributed Control Linear Programming Distributed Real-Time Control Systems Lecture 13-14 Distributed Control Linear Programming 1 Linear Programs Optimize a linear function subject to a set of linear (affine) constraints. Many problems can

More information

Clock Synchronization

Clock Synchronization Today: Canonical Problems in Distributed Systems Time ordering and clock synchronization Leader election Mutual exclusion Distributed transactions Deadlock detection Lecture 11, page 7 Clock Synchronization

More information

Dynamic resource sharing

Dynamic resource sharing J. Virtamo 38.34 Teletraffic Theory / Dynamic resource sharing and balanced fairness Dynamic resource sharing In previous lectures we have studied different notions of fair resource sharing. Our focus

More information

IMPLICIT INTERVAL MULTISTEP METHODS FOR SOLVING THE INITIAL VALUE PROBLEM

IMPLICIT INTERVAL MULTISTEP METHODS FOR SOLVING THE INITIAL VALUE PROBLEM COMPUTATIONAL METHODS IN SCIENCE AND TECHNOLOGY 8 (1), 17-30 (2002) IMPLICIT INTERVAL MULTISTEP METHODS FOR SOLVING THE INITIAL VALUE PROBLEM MAŁGORZATA JANKOWSKA 1, ANDRZEJ MARCINIAK 1,2 1 Poznań University

More information

Coalitional Structure of the Muller-Satterthwaite Theorem

Coalitional Structure of the Muller-Satterthwaite Theorem Coalitional Structure of the Muller-Satterthwaite Theorem Pingzhong Tang and Tuomas Sandholm Computer Science Department Carnegie Mellon University {kenshin,sandholm}@cscmuedu Abstract The Muller-Satterthwaite

More information

A New Method for Converting Trace Theoretic Specifications to Signal Transition Graphs

A New Method for Converting Trace Theoretic Specifications to Signal Transition Graphs A New Method for Converting Trace Theoretic Specifications to Signal Transition Graphs C. J. Coomber and P. Horan School of Computing and Mathematics Deakin University, Geelong AUSTRALIA 3217 Abstract

More information

OPTIMAL INPUT SIGNAL DESIGN FOR IDENTIFICATION OF MAX PLUS LINEAR SYSTEMS

OPTIMAL INPUT SIGNAL DESIGN FOR IDENTIFICATION OF MAX PLUS LINEAR SYSTEMS OPTIMAL INPUT SIGNAL DESIGN FOR IDENTIFICATION OF MAX PLUS LINEAR SYSTEMS Gernot Schullerus, Volker Krebs, Bart De Schutter, Ton van den Boom Institut für Regelungs- und Steuerungssysteme, Universität

More information

First Steps Towards a CPU Made of Spiking Neural P Systems

First Steps Towards a CPU Made of Spiking Neural P Systems Int. J. of Computers, Communications & Control, ISSN 1841-9836, E-ISSN 1841-9844 Vol. IV (2009), No. 3, pp. 244-252 First Steps Towards a CPU Made of Spiking Neural P Systems Miguel A. Gutiérrez-Naranjo,

More information

CIS 4930/6930: Principles of Cyber-Physical Systems

CIS 4930/6930: Principles of Cyber-Physical Systems CIS 4930/6930: Principles of Cyber-Physical Systems Chapter 11 Scheduling Hao Zheng Department of Computer Science and Engineering University of South Florida H. Zheng (CSE USF) CIS 4930/6930: Principles

More information

Livelock example. p 1. Assume this as initial marking. t 1 R. t 2. t 4. t 3. t 6. t 5. t 7. t 8. (taken from Fundamentals of SE by C.

Livelock example. p 1. Assume this as initial marking. t 1 R. t 2. t 4. t 3. t 6. t 5. t 7. t 8. (taken from Fundamentals of SE by C. p 1 Livelock example (taken from Fundamentals of SE by C. Ghezzi) p 1 Assume this as initial marking. t 1 R t 3 t 4 t 5 t 6 t 7 t 8 Slide No.106 Livelock example analysis The tokens in R cannot be divided

More information

Exam Spring Embedded Systems. Prof. L. Thiele

Exam Spring Embedded Systems. Prof. L. Thiele Exam Spring 20 Embedded Systems Prof. L. Thiele NOTE: The given solution is only a proposal. For correctness, completeness, or understandability no responsibility is taken. Sommer 20 Eingebettete Systeme

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

Technical report bds:00-21

Technical report bds:00-21 Delft University of Technology Fac. of Information Technology and Systems Control Systems Engineering Technical report bds:00-21 Stability Analysis of Discrete Event Systems (by K.M. Passino and K.L. Burgess,

More information

Motors Automation Energy Transmission & Distribution Coatings. Servo Drive SCA06 V1.5X. Addendum to the Programming Manual SCA06 V1.

Motors Automation Energy Transmission & Distribution Coatings. Servo Drive SCA06 V1.5X. Addendum to the Programming Manual SCA06 V1. Motors Automation Energy Transmission & Distribution Coatings Servo Drive SCA06 V1.5X SCA06 V1.4X Series: SCA06 Language: English Document Number: 10003604017 / 01 Software Version: V1.5X Publication Date:

More information

An inspection-based compositional approach to the quantitative evaluation of assembly lines

An inspection-based compositional approach to the quantitative evaluation of assembly lines An inspection-based compositional approach to the quantitative evaluation of assembly lines Marco Biagi 1 Laura Carnevali 1 Tommaso Papini 1 Kumiko Tadano 2 Enrico Vicario 1 1 Department of Information

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

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

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

Optimal Utilization Bounds for the Fixed-priority Scheduling of Periodic Task Systems on Identical Multiprocessors. Sanjoy K.

Optimal Utilization Bounds for the Fixed-priority Scheduling of Periodic Task Systems on Identical Multiprocessors. Sanjoy K. Optimal Utilization Bounds for the Fixed-priority Scheduling of Periodic Task Systems on Identical Multiprocessors Sanjoy K. Baruah Abstract In fixed-priority scheduling the priority of a job, once assigned,

More information

Construction Operation Simulation

Construction Operation Simulation Construction Operation Simulation Lecture #8 Output analysis Amin Alvanchi, PhD Construction Engineering and Management Department of Civil Engineering, Sharif University of Technology Outline 2 Introduction

More information

Convex Hull-Based Metric Refinements for Topological Spatial Relations

Convex Hull-Based Metric Refinements for Topological Spatial Relations ABSTRACT Convex Hull-Based Metric Refinements for Topological Spatial Relations Fuyu (Frank) Xu School of Computing and Information Science University of Maine Orono, ME 04469-5711, USA fuyu.xu@maine.edu

More information

Analysis of Multilayer Neural Network Modeling and Long Short-Term Memory

Analysis of Multilayer Neural Network Modeling and Long Short-Term Memory Analysis of Multilayer Neural Network Modeling and Long Short-Term Memory Danilo López, Nelson Vera, Luis Pedraza International Science Index, Mathematical and Computational Sciences waset.org/publication/10006216

More information

A lower bound for scheduling of unit jobs with immediate decision on parallel machines

A lower bound for scheduling of unit jobs with immediate decision on parallel machines A lower bound for scheduling of unit jobs with immediate decision on parallel machines Tomáš Ebenlendr Jiří Sgall Abstract Consider scheduling of unit jobs with release times and deadlines on m identical

More information

Generating Linear Temporal Logic Formulas for Pattern-Based Specifications

Generating Linear Temporal Logic Formulas for Pattern-Based Specifications Generating Linear Temporal Logic Formulas for Pattern-Based Specifications Salamah Salamah, Vladik Kreinovich, and Ann Q. Gates Dept. of Computer Science, University of Texas at El Paso El Paso, TX 79968,

More information

The efficiency of identifying timed automata and the power of clocks

The efficiency of identifying timed automata and the power of clocks The efficiency of identifying timed automata and the power of clocks Sicco Verwer a,b,1,, Mathijs de Weerdt b, Cees Witteveen b a Eindhoven University of Technology, Department of Mathematics and Computer

More information

INF 4140: Models of Concurrency Series 3

INF 4140: Models of Concurrency Series 3 Universitetet i Oslo Institutt for Informatikk PMA Olaf Owe, Martin Steffen, Toktam Ramezani INF 4140: Models of Concurrency Høst 2016 Series 3 14. 9. 2016 Topic: Semaphores (Exercises with hints for solution)

More information

Some Remarks on Alternating Temporal Epistemic Logic

Some Remarks on Alternating Temporal Epistemic Logic Some Remarks on Alternating Temporal Epistemic Logic Corrected version: July 2003 Wojciech Jamroga Parlevink Group, University of Twente, Netherlands Institute of Mathematics, University of Gdansk, Poland

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

Petri Net Modeling of Irrigation Canal Networks

Petri Net Modeling of Irrigation Canal Networks Petri Net Modeling of Irrigation Canal Networks Giorgio Corriga, Alessandro Giua, Giampaolo Usai DIEE: Dip. di Ingegneria Elettrica ed Elettronica Università di Cagliari P.zza d Armi 09123 CAGLIARI, Italy

More information

On max-algebraic models for transportation networks

On max-algebraic models for transportation networks K.U.Leuven Department of Electrical Engineering (ESAT) SISTA Technical report 98-00 On max-algebraic models for transportation networks R. de Vries, B. De Schutter, and B. De Moor If you want to cite this

More information

Formal Methods in Software Engineering

Formal Methods in Software Engineering Formal Methods in Software Engineering Modeling Prof. Dr. Joel Greenyer October 21, 2014 Organizational Issues Tutorial dates: I will offer two tutorial dates Tuesdays 15:00-16:00 in A310 (before the lecture,

More information

Modeling and Verifying a Temperature Control System using Continuous Action Systems

Modeling and Verifying a Temperature Control System using Continuous Action Systems Modeling and Verifying a Temperature Control System using Continuous Action Systems Ralph-Johan Back Cristina Cerschi Turku Centre for Computer Science (TUCS), Lemminkäisenkatu 14 A, FIN-20520, Turku,

More information

Non-preemptive multiprocessor scheduling of strict periodic systems with precedence constraints

Non-preemptive multiprocessor scheduling of strict periodic systems with precedence constraints Non-preemptive multiprocessor scheduling of strict periodic systems with precedence constraints Liliana Cucu, Yves Sorel INRIA Rocquencourt, BP 105-78153 Le Chesnay Cedex, France liliana.cucu@inria.fr,

More information

Embedded Systems 15. REVIEW: Aperiodic scheduling. C i J i 0 a i s i f i d i

Embedded Systems 15. REVIEW: Aperiodic scheduling. C i J i 0 a i s i f i d i Embedded Systems 15-1 - REVIEW: Aperiodic scheduling C i J i 0 a i s i f i d i Given: A set of non-periodic tasks {J 1,, J n } with arrival times a i, deadlines d i, computation times C i precedence constraints

More information

Modeling and Simulation NETW 707

Modeling and Simulation NETW 707 Modeling and Simulation NETW 707 Lecture 6 ARQ Modeling: Modeling Error/Flow Control Course Instructor: Dr.-Ing. Maggie Mashaly maggie.ezzat@guc.edu.eg C3.220 1 Data Link Layer Data Link Layer provides

More information

CHAPTER 1: Functions

CHAPTER 1: Functions CHAPTER 1: Functions 1.1: Functions 1.2: Graphs of Functions 1.3: Basic Graphs and Symmetry 1.4: Transformations 1.5: Piecewise-Defined Functions; Limits and Continuity in Calculus 1.6: Combining Functions

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

University of Surrey. Bounded Retransmission in Event-B CSP: A Case Study. Steve Schneider, Helen Treharne and Heike Wehrheim

University of Surrey. Bounded Retransmission in Event-B CSP: A Case Study. Steve Schneider, Helen Treharne and Heike Wehrheim University of Surrey Bounded Retransmission in Event-B CSP: A Case Study Department of Computing Steve Schneider, Helen Treharne and Heike Wehrheim March 21 st 2011 Computing Sciences Report CS-11-04 Bounded

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

Time and Timed Petri Nets

Time and Timed Petri Nets Time and Timed Petri Nets Serge Haddad LSV ENS Cachan & CNRS & INRIA haddad@lsv.ens-cachan.fr DISC 11, June 9th 2011 1 Time and Petri Nets 2 Timed Models 3 Expressiveness 4 Analysis 1/36 Outline 1 Time

More information

The Weakest Failure Detector to Solve Mutual Exclusion

The Weakest Failure Detector to Solve Mutual Exclusion The Weakest Failure Detector to Solve Mutual Exclusion Vibhor Bhatt Nicholas Christman Prasad Jayanti Dartmouth College, Hanover, NH Dartmouth Computer Science Technical Report TR2008-618 April 17, 2008

More information

NONBLOCKING CONTROL OF PETRI NETS USING UNFOLDING. Alessandro Giua Xiaolan Xie

NONBLOCKING CONTROL OF PETRI NETS USING UNFOLDING. Alessandro Giua Xiaolan Xie NONBLOCKING CONTROL OF PETRI NETS USING UNFOLDING Alessandro Giua Xiaolan Xie Dip. Ing. Elettrica ed Elettronica, U. di Cagliari, Italy. Email: giua@diee.unica.it INRIA/MACSI Team, ISGMP, U. de Metz, France.

More information

Structural Analysis of Resource Allocation Systems with Synchronization Constraints

Structural Analysis of Resource Allocation Systems with Synchronization Constraints Structural Analysis of Resource Allocation Systems with Synchronization Constraints Spyros Reveliotis School of Industrial & Systems Engineering Georgia Institute of Technology Atlanta, GA 30332 USA Abstract

More information

Conceptual Modeling in the Environmental Domain

Conceptual Modeling in the Environmental Domain Appeared in: 15 th IMACS World Congress on Scientific Computation, Modelling and Applied Mathematics, Berlin, 1997 Conceptual Modeling in the Environmental Domain Ulrich Heller, Peter Struss Dept. of Computer

More information

Parallel Turing Machines on a Two-Dimensional Tape

Parallel Turing Machines on a Two-Dimensional Tape Czech Pattern ecognition Workshop 000, Tomáš Svoboda (Ed.) Peršlák, Czech epublic, February 4, 000 Czech Pattern ecognition Society Parallel Turing Machines on a Two-Dimensional Tape Daniel Průša František

More information

Distributed Systems Principles and Paradigms. Chapter 06: Synchronization

Distributed Systems Principles and Paradigms. Chapter 06: Synchronization Distributed Systems Principles and Paradigms Maarten van Steen VU Amsterdam, Dept. Computer Science Room R4.20, steen@cs.vu.nl Chapter 06: Synchronization Version: November 16, 2009 2 / 39 Contents Chapter

More information

Rectangular Systems and Echelon Forms

Rectangular Systems and Echelon Forms CHAPTER 2 Rectangular Systems and Echelon Forms 2.1 ROW ECHELON FORM AND RANK We are now ready to analyze more general linear systems consisting of m linear equations involving n unknowns a 11 x 1 + a

More information

MEE224: Engineering Mechanics Lecture 4

MEE224: Engineering Mechanics Lecture 4 Lecture 4: Structural Analysis Part 1: Trusses So far we have only analysed forces and moments on a single rigid body, i.e. bars. Remember that a structure is a formed by and this lecture will investigate

More information

On Equilibria of Distributed Message-Passing Games

On Equilibria of Distributed Message-Passing Games On Equilibria of Distributed Message-Passing Games Concetta Pilotto and K. Mani Chandy California Institute of Technology, Computer Science Department 1200 E. California Blvd. MC 256-80 Pasadena, US {pilotto,mani}@cs.caltech.edu

More information

632 CHAP. 11 EIGENVALUES AND EIGENVECTORS. QR Method

632 CHAP. 11 EIGENVALUES AND EIGENVECTORS. QR Method 632 CHAP 11 EIGENVALUES AND EIGENVECTORS QR Method Suppose that A is a real symmetric matrix In the preceding section we saw how Householder s method is used to construct a similar tridiagonal matrix The

More information

Decidability of Single Rate Hybrid Petri Nets

Decidability of Single Rate Hybrid Petri Nets Decidability of Single Rate Hybrid Petri Nets Carla Seatzu, Angela Di Febbraro, Fabio Balduzzi, Alessandro Giua Dip. di Ing. Elettrica ed Elettronica, Università di Cagliari, Italy email: {giua,seatzu}@diee.unica.it.

More information

MODELING AND SIMULATION BY HYBRID PETRI NETS. systems, communication systems, etc). Continuous Petri nets (in which the markings are real

MODELING AND SIMULATION BY HYBRID PETRI NETS. systems, communication systems, etc). Continuous Petri nets (in which the markings are real Proceedings of the 2012 Winter Simulation Conference C. Laroque, J. Himmelspach, R. Pasupathy, O. Rose, and A. M. Uhrmacher, eds. MODELING AND SIMULATION BY HYBRID PETRI NETS Hassane Alla Latéfa Ghomri

More information

Lecture 2: The Simplex method

Lecture 2: The Simplex method Lecture 2 1 Linear and Combinatorial Optimization Lecture 2: The Simplex method Basic solution. The Simplex method (standardform, b>0). 1. Repetition of basic solution. 2. One step in the Simplex algorithm.

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

Diagnosis of Dense-Time Systems using Digital-Clocks

Diagnosis of Dense-Time Systems using Digital-Clocks Diagnosis of Dense-Time Systems using Digital-Clocks Shengbing Jiang GM R&D and Planning Mail Code 480-106-390 Warren, MI 48090-9055 Email: shengbing.jiang@gm.com Ratnesh Kumar Dept. of Elec. & Comp. Eng.

More information