An Extension for MSC-2000 and its Application

Size: px
Start display at page:

Download "An Extension for MSC-2000 and its Application"

Transcription

1 1. An Extension for MSC-2000 and its Application Tong Zheng and Ferhat Khendek Department of Electrical and Computer Engineering Concordia University 1455 de Maisonneuve W., Montreal (P.Q.) Canada H3G 1M8 {zhengt, Abstract. Message Sequence Charts (MSC) is a standard language widely used in telecommunication software engineering. The latest MSC standard, MSC-2000, includes new features such as time and data. In this paper, we propose a new construct called instance delay as an extension for timed MSC to enhance further its expressiveness. We define formally the semantics of the extension based on a partial order semantics of timed MSC. We demonstrate through an application the need for this extension. 1 Introduction Message Sequence Charts (MSC) [9] is a graphical and textual specification language developed by ITU-T. Since its first standardization, many features have been added to the language to enhance its expressiveness. Now it is widely used in telecommunication software engineering for specifying behavioral scenarios. It can be used to describe use cases and scenarios, to validate the behavior of distributed systems, or to specify test cases [15]. Recently, the new MSC standard, MSC-2000 [9], has added more features such as time constraints and data. With these new concepts, MSC can be used to specify quantified timing requirements. In this paper, we investigate further extensions to MSC for specifying timing requirements for systems with repeated behaviors. To specify a repeated scenario, we may need to specify how long the scenario takes and the interval between the repetitions. The MSC standard defines the relative time constraints between two different events, but it can not specify the delay between two occurrences of the same event. In high level MSCs (HMSC), the time offset can be used to specify the delay of a MSC, but it has some limitations as discussed in Section 3. Therefore we propose a new construct called instance delay. While the standard time offset is an offset to all the absolute time values in a MSC, an instance delay is only for one instance. Using this construct, we can specify the periodicity of instances. The periodicity of events can be specified implicitly with this construct. We define formally the semantics of instance delay and show its usage in the specification of the Radio Resource Control (RRC) protocol [1]. This paper is organized as follows. In Section 2, we briefly review the time concept in MSC In Section 3, we discuss the need for the extension. Then, in Section 4, we define formally its semantics based on our partial order semantics of timed MSC.

2 An application of the extension is given in Section 5 with the RRC protocol. In Section 6, we discuss related work, before we conclude in Section 7. 2 MSC and Time Constructs MSCs [9] consist of plain MSCs and HMSCs. In a plain MSC, the behaviors of processes are described explicitly. A process is represented by a vertical axis and called an instance. Messages between processes are shown as arrows connecting the axes. The communication is one-to-one and asynchronous. There is no explicit information about the communication media. Besides message exchanges, a plain MSC may also contain internal actions, timer events, conditions, and some structures, such as references, coregions. In this paper, we do not consider structures. A plain MSC without structures is referred to a basic MSC (bmsc). A bmsc specifies only a partial behavior or one scenario of a system. For a more complete specification of the system, different scenarios have to be combined. HMSCs are used to describe graphically the composition of MSCs. A HMSC is a directed graph. It contains a start node, end nodes and MSC references. A reference may refer to a bmsc or another HMSC. 2. MSC T offset 2 i 4] a m [1, 6] b Fig. 1. Time Constraints in MSC Time constraints are introduced in MSC-2000 so that real-time systems can be described using quantified time. In the MSC standard, time progress is the same for all instances in a MSC. All events are instantaneous. They do not consume time. A time constraint can be used to specify the delay between two events (relative time constraint), or the occurrence time of an event (absolute time constraint). A time constraint is an interval of time with upper and lower bounds. For example, in Figure 1, the time constraint between two events a and b in the MSC T is at least 1 second and at most 2 seconds. The time unit is omitted in the figure. If the time constraint is exactly 2 seconds, we can specify it as [2]. To specify that event a occurs between the third and the fourth second, we 4] as shown in Figure 1. Similarly, if an event occurs at exactly the third second, the time constraint can be written

3 A MSC can be assigned a time offset as shown in Figure 1. According to the standard [9], it is an offset to all absolute time values within a MSC. So the occurrence time of event a in Figure 1 is actually [5, 6], and event b occurs in the interval [6, 8]. 3 Instance Delay To introduce the concept of instance delay, we first look at an example in a client-server system. A server in the system has to respond continuously to the requests from clients. We require that the server has to respond between 1 and 2 seconds after receiving a request. We also require that a client has to wait 2 seconds to send another request after receiving the response for the previous request. In a bmsc, the first requirement can be specified as a time constraint between two events, as shown in MSC Transaction in Figure 2. For the second requirement, however, we can not specify the delay between a response and the next request after it in a bmsc. 3. msc Transaction Client Server [1,2] Transaction a d request b response [1, 2] c Fig. 2. Time constraints on events and MSC The second requirement actually defines a delay between the executions of MSCs. If we consider this at the HMSC level, only the whole execution time of a MSC can be specified, such as the constraint on the MSC Transaction in Figure 2. We can not specify the delay between the first and the second execution of the MSC Transaction in the loop. We considered the usage of the time offset as defined in the standard to specify the delay between two MSCs indirectly. As mentioned in the last section, a time offset is an offset to all absolute time values within a MSC. Since the scope of a time offset is the whole MSC, it can not be used to specify some more complex timing requirements. For example, if another client is required to wait 3 seconds instead of 2 seconds to send a new request after receiving a response, the time offset cannot express the timing requirement for the two clients in a MSC, because the clients need different offsets. To solve this problem, we introduce a new concept called instance delay, which defines the delay between two MSCs in the manner of weak sequence. By the weak sequencing operation, two MSCs are connected instance by instance. An instance delay affects the occurrence time of events only at one instance, instead of the whole MSC. For example, in Figure 2, if we define the instance delay is 2 seconds for the instance Client in the MSC Transaction, and assume the Client receives the first

4 response at time t 1, then it can send the second request at time t If it receives the second response at time t 2, it can send the third request at time t 2 + 2, and so on. If the event of sending a request itself is constrained by an absolute time constraint that is a range of time values, then all the occurrences of sending the request should be within that range. We define the syntax of instance delays as follows: <instance delay list> ::= instance delay <instance delay> <instance delay> ::= <instance name> <time range> [, <instance delay>] The <time range> is a range in the time domain with lower and upper bounds. Similar to the time constraints, if an instance delay is between 1 and 2 seconds, we write it as [1, 2]. If it is exactly 2 seconds, we write it as [2]. We state instance delays after the MSC name in a bmsc. If the instance delay of an instance is not specified, it can be any time value. Using an instance delay, the two requirements mentioned above can be specified as shown in Figure msc Transaction instance delay Client [2] Client Server Transaction a d request b response [1, 2] c Fig. 3. Usage of instance delays Since instance delays define the delay between two MSCs, they affect the occurrence time of events in the second and later execution of the MSC only. When the MSC Transaction in Figure 3 is executed for the first time, events a and d are not affected by the instance delay. Later on, their occurrences will be delayed. This is different from the time offset, which changes the occurrence time of events even in the first execution of the MSC. 4 Semantics of Instance Delays We defined the syntax of instance delay and described its meaning informally in the previous section. To verify or validate a MSC specification with instance delays, we need to define its semantics in a formal framework. In this section, we first introduce our semantics for timed MSC as defined in [17], then we extend our semantics to handle instance delays. Unlike our previous work [17], we only consider bmscs and HMSCs in this paper. So the semantics is simplified here.

5 4.1 Semantics of bmsc We define the semantics of timed MSC based on timed labelled partially ordered sets (lposet) [17]. Assume Time is the time domain. P(Time) is a power set of Time, that is, P(Time) is a set of all the subsets of Time. A timed lposet is a tuple (A, E,,l,D, T), in which A is a set of labels. E is a set of events. E E is a partial order on E. l : E A is a labeling function, which associates an event to a label. D : E P(Time) is an absolute delay function, which defines a range within which an event could occur, and T : E E P(Time) is a relative delay function, which defines possible delays between two events. The set of labels A actually defines the meaning of events. An event could be message output, message input, internal action, start timer, stop timer,ortimeout. The labels for these events are defined as follows: send(i, j, m): instance i sends a message m to instance j, receive(i, j, m): instance i receives a message m from instance j, action(i, a): instance i performs an internal action a, starttimer(i, T, n): instance i sets a timer T with a time-out period n, stoptimer(i, T): instance i cancels the timer T, and timeout(i, T): the timer T in instance i expires. We associate every event in a MSC with a unique label. If an instance sends a message m twice to another instance, we relabel them as m1 and m2. In the MSC standard, a message output or message input event can be associated with a message instance name to ensure that the textual notation corresponds to the graphical notation. So it is reasonable to consider that messages contained in a MSC can always be differentiated. Similarly, a timer T can also be associated with a timer instance name as defined in the standard. We also consider that timers can be differentiated. We say that an event e is a minimal element in E according to when there is no event e E such that e e and e e. An event e is a maximal element in E according to when there is no event e E such that e e and e e. Using φ to represent the empty set, we define a lposet ε =(A, E,,l,D, T) as an identity lposet in which A, E,, l, D and T are φ. In a MSC, if absolute or relative time constraints are not specified explicitly for some events, we consider them as [0, ). The semantics of a bmsc is defined as a lposet, which contains all the events in the bmsc and specifies the partial order between them. The orders are determined by message exchanges and instance axes. Along each instance axis, events are ordered from top to bottom. Between different instances, a message output event must occur before the corresponding message input event. For example, the semantics of the MSC Transaction in Figure 2 is a lposet (A, E,, l, D, T) where: 5.

6 A: {send(client, Server, request), receive(server, Client, request), send(server, Client, response), receive(client, Server, response)} E: {a, b, c, d} : {(a, b) (c, d) (b, c) (a, d)} +. (the reflexive pairs such as (a, a), (b, b)... are omitted.) l: l(a) = send(client, Server, request), l(b) = receive(server, Client, request), l(c) = send(server, Client, response), l(d) = receive(client, Server, response). D: the absolute time constraints of all the events are not specified in the MSC. We consider them as [0, ). T: T(b, c) = [1, 2]. The relative time constraints between other events are not specified. We consider them as [0, ) also. 4.2 Semantics of HMSC To define the semantics of HMSC, we define sequential, alternative and parallel compositions on lposets first. For two lposets p = (A p,e p, p,l p,d p, T p ) and q = (A q, E q, q,l q,d q, T q ), in which E p and E q are disjoint, p φand q φ, their sequential composition ( ) is defined as: p q = (A p A q, E p E q, ( p q ) +, l p l q, D p D q, T p T q T), in which = i (E p i E q i ), E p i and E q i are the sets of events that occur at instance i, E p i E p, E q i E q T = {((e, e ), [n]) (e, e ) E p E q l p (e)=starttimer(i, Ti, n) l q (e )=timeout(i, Ti), or ((e, e ), (0, n)) (e, e ) E p E q l p (e)=starttimer(i, Ti, n) l q (e )=stoptimer(i, Ti) )} Informally, in the sequential composition, orders and time constraints in the lposets are preserved. New orders between events in the same process are added. Relative time constraints are implicit between timer events. If an event a corresponds to the starting of a timer with a time-out period n, and another event b corresponds to its expiration, a relative time constraint between them should be [n]. If event b corresponds to its termination, then event b occurs before the expiration. A relative time constraint between a and b should be (0, n). When composing sequentially a lposet p with itself, we need to relabel the events in the second occurrence of p to make them different from the events in the first occurrence. However, the time constraints are not changed. So all the occurrences of an event are constrained by the same time constraint. The alternative composition (#) of two lposets is a set of lposets: p # q = {p, q} = {(A p, E p, p, l p, D p, T p ), (A q, E q, q, l q, D q, T q )}. The parallel composition ( ) is a lposet: p q = (A p A q, E p E q, p q, l p l q, D p D q, T p T q ). For two sets of lposets P = {p 1,p 2,... p n }andq={q 1,q 2,... q k }, we define their sequential ( ), alternative (#) and parallel ( ) compositions as follows: P Q = {p i q j p i P, q j Q, 1 i n, 1 j k}, P # Q = P Q, 6.

7 P Q = {p i q j p i P, q j Q, 1 i n, 1 j k}. In a HMSC, MSC references are connected by the operation of sequence (seq), alternation (alt) or parallel (par). A MSC reference may refer to a bmsc or another HMSC. Since a bmsc is represented by a lposet, operations on bmscs can be mapped to compositions on lposets. Operations on HMSCs can be mapped to compositions on sets of lposets. Using M to represent the mapping of a bmsc (HMSC) to a lposet (a set of lposets), we have the following mappings for the operations on two MSCs A and B: M[A seq B] = M[A] M[B], M[A alt B] = M[A] # M[B], M[A par B] = M[A] M[B]. Moreover, a HMSC can specify the repeated behavior of a system by cycles. A cycle in HMSC can be translated to a loop expression. Using L to represent a bmsc, the notation loop <n, m> L means that L will be executed at least n times and at most m times. However, if some events in L are constrained by absolute time constraints, the number of times that M can be executed may be changed, because all the occurrences of an event have to satisfy its absolute time constraint according to the semantics of sequential composition. 7. MSC M i j MSC L i 3] a 3] a b@[2, 5] m1 b@[5] Fig. 4. MSC with absolute time constraints For example, let us consider a loop expression loop <inf> M, in which M is shown in Figure 4. All the occurrences of events a and b should satisfy their absolute time constraints (@[1, 3] 5] respectively). If we choose non-negative real numbers as the time domain, then MSC M can be executed infinite times. However, if we choose non-negative integers as the time domain, event a and b can only be executed 3 times. In another example, we have a loop expression loop <2, 3> L, in which L is shown in Figure 4. In MSC L, event b is constrained by an absolute time constraint. It specifies event b can only occur at that absolute time point (the fifth second). So event b can only occur once. It results in that MSC L can only be executed once, although the loop boundary is <2, 3>. In these examples, the time constraints refine the loop boundary. It can terminate the loop before the loop boundary is reached. Without limiting the choices of time domain, the semantics of a loop can be defined as one of the following two sets of lposets:

8 8. M[loop <i, j> A] = { {M[Am ]}, m < i. {M[A i ], M[A i+1 ],..., M[A m ]}, i m j. Here m represents the maximal number of times that A can be executed without violating the absolute time constraints in A. The loop will terminate when the time constraints can not be satisfied, or the loop boundary is reached. How to determine m is not discussed in this paper. We define M[A 0 ]=ε and M[A k ]=M[A] M[A k-1 ], for k >0. When calculating M[A k ], we need to relabel message events and timer events in MSC A so that they are unique in the iteration. For an infinite loop, the set may contain an infinite number of lposets. With the compositions on lposets and the mapping of operations on MSCs to these compositions, the semantics of a HMSC is defined as a set of timed lposets. For example, using a lposet p to represent the MSC Transaction in Figure 2, the semantics of the HMSC in the same figure is an infinite set {p, p 2, p 3,...}. 4.3 Extending the Semantics for Instance Delays Now we consider the semantics of instance delays. We extend the definition of lposet as (I, A, E,,l,o,D, T), in which I is a set of instances, and o: I P(Time) is a function that associates an instance to a set of time values. In a lposet, we say an event e is the local minimal element in an instance when there is no event e in the same instance such that e e and e e. An event e is the local maximal element in an instance according to when there is no event e in the same instance such that e e and e e. The sequential, alternative and parallel compositions of lposets also need to be extended to take instance delays into account. For two lposets p = (I p,a p,e p, p,l p,o p, D p, T p )andq=(i q,a q,e q, q,l q,o q,d q, T q ), their sequential composition ( ) is defined formally as: p q=(i p I q, A p A q, E p E q,( p q ) +, l p l q, o p, D p D q, T p T q T T ), in which = i (E p i E q i ), E p i E p, E q i E q. E p i and E q i are the sets of events that occur in instance i, E p i E p, E q i E q T = {((e, e ), n) (e, e ) E p E q l p (e)=starttimer(i, Ti, n) l q (e )=timeout(i, Ti), or ((e, e ), (0, n)) (e, e ) E p E q l p (e)=starttimer(i, Ti, n) l q (e )=stoptimer(i, Ti) )}, and T ={((e, f), o q (i)) e E p i and it is the local maximal event in the instance i, f E q i and it is the local minimal event in the instance i, o q (i) is the instance delay of i in q} and T are same as before. T adds the new relative time constraints between the local maximal events in the lposet p and the local minimal events in the lposet q. The alternative composition (#) is a set of lposets: p # q = {p, q} = {(I p, A p, E p, p, l p, o p, D p, T p ), (I q, A q, E q, q, l q, o q, D q, T q )}. The parallel composition ( ) is a lposet: p q = (I p I q, A p A q, E p E q, p q, l p l q, o p o q, D p D q, T p T q ).

9 The semantics of a bmsc with instance delays is represented by an extended lposet. The semantics of a HMSC is a set of extended lposets. For example, the MSC Transaction in Figure 3 is given by an extended lposet p = (I, A, E,,l,o,D, T), in which E ={a, b, c, d}, T(b, c) = [1, 2], and o(client) = [2]. The semantics of the HMSC in Figure 3 is {p, p 2,p 3,...}. In p 2, for example, E ={a 1,b 1,c 1,d 1,a 2,b 2,c 2,d 2 }, a 1 (a 2 ) and b 1 (b 2 ) correspond to the sending and the reception of the first (second) request message, c 1 (c 2 ) and d 1 (d 2 ) correspond to the sending and the reception of the first (second) response message. T(b 1, c 1 ) = [1, 2], T(b 2, c 2 ) = [1, 2], T(d 1, a 2 ) = [2]. 5 An Application To demonstrate the need and the usage of the extension, we consider the measurement process in the Radio Resource Control (RRC) protocol. In the WCDMA wireless communication network, a User Equipment (UE) keeps measuring the power of radio signals received from Base Stations (BS). On the request of a BS, the measurement result can be sent back to the BS periodically. Specifically, a BS sends a Measurement Control message to indicate how often the UE should report the results. Then the UE sends Measurement Report messages periodically to the BS. Consider there are two kinds of UEs. One needs to report the result every 12 seconds, and another needs to report every 24 seconds. Using instance delays, we specify the measurement process of two UEs with different periods in Figure 5. For the sake of simplicity, we only show the measurement control and report messages. We also add absolute time constraints on the events of receiving the measurement control (@[2]) and sending the measurement report on UE1 and UE2 (@[2, 50] 80] respectively). 9. Control msc Control BS UE1 UE2 msc Report instance delay UE1 [12], UE2 [24] BS UE1 UE2 Report a c b d report e report g Fig. 5. Specification of measurement process using instance delays The MSC Control in Figure 5 can be represented by a timed lposet M 1 =(I 1, A 1, E 1, 1, l 1, o 1, D 1, T 1 ) in which I 1 = {BS, UE1, UE2}, A 1 = {send(bs, UE1, control), receive(ue1, BS, control), send(bs, UE2, control), receive(ue2, BS, control)}, E 1 = {a, b, c, d},

10 l 1 = {(a, send(bs, UE1, control)), (b, receive(ue1, BS, control)), (c, send(bs, UE2, control)), (d, receive(ue2, BS, control))}, 1 = {(a, b), (c, d), (a, c)} +, those reflexive pairs such as (a, a), (b, b) are omitted. o 1 = {(BS, [0, )), (UE1, [0, )), (UE2, [0, ))}, the instance delays are not specified in the MSC, so we consider that they can be any time value. D 1 (b) = [2], D 1 (d) = [2], the absolute time constraint for event a and c are not specified in the MSC, we consider them as [0, ). For the function T 1, all the relative time constraints between events are not specified in the MSC, we consider their default values as [0, ). Similarly, we can use a timed lposet M 2 =(I 2, A 2, E 2, 2, l 2, o 2, D 2, T 2 ) to represent the MSC Report in Figure 5, in which l 2 = {(e, send(ue1, BS, report)), (f, receive(bs, UE1, report)), (g, send(ue2, BS, report)), (h, receive(bs, UE2, report))}, 2 = {(e, f), (g, h), (f, h)} +, those reflexive pairs are omitted. o 2 = {(BS, [0, )), (UE1, [12]), (UE2, [24])}, D 2 (e) = [2, 50], D 2 (g) = [2, 80]. The semantics of the HMSC in Figure 5 can be represented by a set of lposets: {M 1 M 2, M 1 M 2 M 2, M 1 M 2 M 2 M 2,...} In M 1, event b and d are the local maximal elements in UE1 and UE2 respectively. They are constrained by absolute time constraints (@[2]). When we calculate M 1 M 2, the occurrence time of event e (sending a report at UE1) should satisfy its absolute time 50] and the relative time constraint between e and b, which is [12] defined by the instance delay of UE1. So event e occurs at 14 ([2, 50] [2 + 12] = 14). Similarly, the occurrence time of event g (sending a report at UE2) is [2, 80] [2 + 24] = [26]. For M 1 M 2, event e and g are the local maximal elements in UE1 and UE2 respectively. So when we calculate M 1 M 2 M 2, the occurrence time of the event sending the second measurement report at UE1 will be [2, 50] [ ] = [26], and the occurrence time of the event sending the second measurement report at UE2 will be [2, 80] [ ] = [50]. It is worth to note that when we calculate M 1 M 2 M 2 M 2 M2, the occurrence time of the event sending the fourth report in UE2 will be [2, 80] [ ] = φ. It means that M 2 can only be executed three times. The absolute time constraint actually limits the times that M 2 can be executed. So the semantics of the HMSC in Figure 5 can be represented by a set of three lposets: {M 1 M 2, M 1 M 2 M 2, M 1 M 2 M 2 M 2 }. 6 Related Works Some extensions to MSC-2000 have been reported in several papers [4][5][7]. In [4], the HyperMSC concept is elaborated and enhanced by MSC connectors. The need for broadcast messages and timer tables is discussed in [5]. In the Interval project [7][16], the authors proposed a new symbol to express periodic occurrence of repetitive events. The symbol is associated with an event. 10.

11 We proposed the instance delay as an extension to MSC More importantly, we defined formally its semantics based on our denotational semantics for timed MSC. In this semantics, both relative and absolute time constraints defined in MSC-2000 are considered. A bmsc is represented by a timed lposet. A HMSC is represented by a set of timed lposets. If a HMSC contains infinite loops, this set is infinite. It is straightforward to describe the semantics of HMSCs using infinite sets of lposets. However, analysing HMSC specifications with infinite loops is challenging. Different approaches have been proposed to define the semantics of un-timed MSC ([2][6][8][10][11][13][14]). For timed MSC, P. L. Maigat and L. Helouët [12] associate each event and each communication in MSC with a duration. A MSC is transformed to order automata. In MSC-2000, a duration can be specified between any two events, not just between pair of communication events. R. Alur et al. [2] interpreted timed MSC as partial orders with timing functions that map each pair of events in the partial order to a time interval. In their timed MSC, time constraints can only be imposed on pair of events. They do not consider absolute time constraints for events, and only bmscs with sending and reception events are taken into account. Similarly, H. Ben-Abdallah and S. Leue [3] use timing delay intervals and timer events to express timing constraints. A MSC is interpreted as traces that are consistent with the partial order of events. They define a timing assignment that assigns a time stamp to each event in a trace. They do not consider absolute time constraints. 7 Conclusion To specify periodical behaviors more precisely, we introduced instance delays as an extension to MSC Using this extension, we can specify the delay between two MSCs in a HMSC, and the periodicity can be specified at the instance level. The concept of instance delays is consistent with the weak sequence composition. To define the semantics of this extension, we extended our partial order semantics of timed MSC. With the application to the RRC protocol, we demonstrated the need for this extension. Time constraints in HMSC bring some new challenges. Among them, for instance, the consistency of time constraints is an important one. In this paper, we did not discuss how to determine the number of times a loop can be repeated without violating time constraints of events in the loop. We are currently working on this issue. 11. Acknowledgements. This work has been partially supported by the National Sciences and Engineering Research Council (NSERC) of Canada. We would like to thank reviewers for their helpful comments. References 1. 3GPP, TS Radio Resource Control (RRC) Protocol Specification, R. Alur, G. J. Holzmann and D. Peled, An Analyzer for Message Sequence Charts. Proceedings of 2nd International Workshop on Tools and Algorithms for the

12 construction and Analysis of Systems, TACAS 96, Passau, Germany, March 1996, Lecture Notes in Computer Science, Vol. 1055, pp H. Ben-Abdallah and S. Leue, Expressing and Analyzing Timing Constraints in Message Sequence Chart Specifications, Technical Report 97-04, Department of Electrical and Computer Engineering, University of Waterloo, April J. Grabowski, P. Graubmann and E. Rudolph, HyperMSCs with Connectors for Advanced Visual System Modelling and Testing, Proceedings of 10th International SDL Forum, LNCS 2078, Copenhagen, Denmark, June L. Helouët, Distributed System Modeling with Scenarios: The Example of the RMTP2 Protocol, Concordia Prestigious Workshop on Communication Software Engineering, Concordia University, Canada, September S. Heymer, A Non-Interleaving Semantics for MSC, SAM 98, The 1st Workshop of the SDL Forum Society on SDL and MSC, Berlin, Germany, D. Hogrefe, B. Koch and H. Neukirchen, Some Implications of MSC, SDL and TTCN Time Extensions for Computer-Aided Test Generation, Proceedings of 10th International SDL Forum, LNCS 2078, Copenhagen, Denmark, June B. Jonsson and G. Padilla, An Execution Semantics for MSC-2000, Proceedings of 10th International SDL Forum, LNCS 2078, Copenhagen, Denmark, June ITU-T, Message Sequence Charts, ITU-T Recommendation Z.120, November J. P. Katoen and L. Lambert, Pomsets for Message Sequence Charts, SAM 98, The 1st Workshop of the SDL Forum Society on SDL and MSC, Berlin, Germany, P. B. Ladkin and S. Leue, Interpreting Message Flow Graphs, Formal Aspects of Computing, 7(5): , P. L. Maigat and L. Helouët, A (MAX, +) Approach for Time in Message Sequence Charts, 5th Workshop on Discrete Event Systems, Ghent, Belgium, August, 2000, pp. 83~ S. Mauw and M. A. Reniers, Operational Semantics for MSC 96, Computer Networks and ISDN Systems, 31(17): , S. Mauw and M. A. Reniers, High-level Message Sequence Charts, SDL 97: Time for Testing - SDL, MSC and Trends, Evry, France, September S. Mauw, M. A. Reniers, and T. A. C. Willemse, Message Sequence Charts in the Software Engineering Process, Handbook of Software Engineering and Knowledge Engineering, Vol. 1, pages , World Scientific Publishing Co., December, The Interval Project, T. Zheng, F. Khendek and L. Helouët, A Semantics for Timed MSC, International Workshop on Validation and Implementation of Scenario-based Specifications, Grenoble, France, Electronic Notes in Theoretical Computer Science, Vol. 65, Issue 7, April,

Netcharts: Bridging the gap between HMSCs and executable specifications

Netcharts: Bridging the gap between HMSCs and executable specifications CONCUR 2003, 14th International Conference on Concurrency Theory Proceedings: Roberto Amadio, Denis Lugiez (eds.) Springer Lecture Notes in Computer Science 2761 (2003), 296 311 Netcharts: Bridging the

More information

TESTING is one of the most important parts of the

TESTING is one of the most important parts of the IEEE TRANSACTIONS 1 Generating Complete Controllable Test Suites for Distributed Testing Robert M. Hierons, Senior Member, IEEE Abstract A test suite is m-complete for finite state machine (FSM) M if it

More information

Theoretical Foundations of the UML

Theoretical Foundations of the UML Theoretical Foundations of the UML Lecture 17+18: A Logic for MSCs Joost-Pieter Katoen Lehrstuhl für Informatik 2 Software Modeling and Verification Group moves.rwth-aachen.de/teaching/ws-1718/fuml/ 5.

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

Overview. 1 Lecture 1: Introduction. 2 Lecture 2: Message Sequence Charts. Joost-Pieter Katoen Theoretical Foundations of the UML 1/32

Overview. 1 Lecture 1: Introduction. 2 Lecture 2: Message Sequence Charts. Joost-Pieter Katoen Theoretical Foundations of the UML 1/32 Overview 1 Lecture 1: Introduction 2 Lecture 2: Message Sequence Charts Joost-Pieter Katoen Theoretical Foundations of the UML 1/32 Theoretical Foundations of the UML Lecture 1: Introduction Joost-Pieter

More information

Phase Semantics of MSC Traces

Phase Semantics of MSC Traces Paul Bristow, Clive Jervis,, Robert Thomson, b.mitchell@motorola.com Motorola UK Research Lab March 28, 2003 Abstract Specifications for wireless telecommunications systems are often only partially defined.

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

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

524 R. Morin Popular, graphical, and poerful, MSCs are intuitive and easy to use. Hoever they may lead to specifications that do not correspond to the

524 R. Morin Popular, graphical, and poerful, MSCs are intuitive and easy to use. Hoever they may lead to specifications that do not correspond to the Recognizable Sets of Message Sequence Charts Rémi Morin Laboratoire d Informatique Fondamentale de Marseille Université de Provence, 39 rue F. Joliot-Curie, F-13453 Marseille cedex 13, France Abstract.

More information

Notes on BAN Logic CSG 399. March 7, 2006

Notes on BAN Logic CSG 399. March 7, 2006 Notes on BAN Logic CSG 399 March 7, 2006 The wide-mouthed frog protocol, in a slightly different form, with only the first two messages, and time stamps: A S : A, {T a, B, K ab } Kas S B : {T s, A, K ab

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

Design of Distributed Systems Melinda Tóth, Zoltán Horváth

Design of Distributed Systems Melinda Tóth, Zoltán Horváth Design of Distributed Systems Melinda Tóth, Zoltán Horváth Design of Distributed Systems Melinda Tóth, Zoltán Horváth Publication date 2014 Copyright 2014 Melinda Tóth, Zoltán Horváth Supported by TÁMOP-412A/1-11/1-2011-0052

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

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

Timing analysis of MSC specifications with asynchronous concatenation

Timing analysis of MSC specifications with asynchronous concatenation Software Engineering Group Department of Computer Science Nanjing University http://seg.nju.edu.cn Technical Report No. NJU-SEG-2012-IJ-001 Timing analysis of MSC specifications with asynchronous concatenation

More information

A Simplified Approach for Testing Real-Time Systems Based on Action Refinement

A Simplified Approach for Testing Real-Time Systems Based on Action Refinement A Simplified Approach for Testing Real-Time Systems Based on Action Refinement Saddek Bensalem, Moez Krichen, Lotfi Majdoub, Riadh Robbana, Stavros Tripakis Verimag Laboratory, Centre Equation 2, avenue

More information

CPSA and Formal Security Goals

CPSA and Formal Security Goals CPSA and Formal Security Goals John D. Ramsdell The MITRE Corporation CPSA Version 2.5.1 July 8, 2015 Contents 1 Introduction 3 2 Syntax 6 3 Semantics 8 4 Examples 10 4.1 Needham-Schroeder Responder.................

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

Algebraic Trace Theory

Algebraic Trace Theory Algebraic Trace Theory EE249 Roberto Passerone Material from: Jerry R. Burch, Trace Theory for Automatic Verification of Real-Time Concurrent Systems, PhD thesis, CMU, August 1992 October 21, 2002 ee249

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

On the Applicability of an Interval Time Structure for Protocol Verification

On the Applicability of an Interval Time Structure for Protocol Verification 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, 60-965 Poznań,

More information

Acceptance Test. Mohamed Mussa, Ferhat Khendek

Acceptance Test. Mohamed Mussa, Ferhat Khendek Acceptance Optimization Mohamed Mussa, Ferhat Khendek SAM 2014 Outline Background Problem Statement Overall Approach Integration test cases selection Comparing test models Conclusion 2 Background process

More information

Finite-state machines (FSMs)

Finite-state machines (FSMs) Finite-state machines (FSMs) Dr. C. Constantinides Department of Computer Science and Software Engineering Concordia University Montreal, Canada January 10, 2017 1/19 Finite-state machines (FSMs) and state

More information

Algebraic Trace Theory

Algebraic Trace Theory Algebraic Trace Theory EE249 Presented by Roberto Passerone Material from: Jerry R. Burch, Trace Theory for Automatic Verification of Real-Time Concurrent Systems, PhD thesis, CMU, August 1992 October

More information

Termination Problem of the APO Algorithm

Termination Problem of the APO Algorithm Termination Problem of the APO Algorithm Tal Grinshpoun, Moshe Zazon, Maxim Binshtok, and Amnon Meisels Department of Computer Science Ben-Gurion University of the Negev Beer-Sheva, Israel Abstract. Asynchronous

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

Scenarios and Covert channels: another game...

Scenarios and Covert channels: another game... Scenarios and Covert channels: another game... Loïc Hélouët 1 IRISA/INRIA, Campus de Beaulieu, 35042 Rennes Cedex, France Marc Zeitoun 2 LIAFA, Case 7014, 2 place Jussieu 75251 Paris Cedex 05, France Aldric

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

Model checking the basic modalities of CTL with Description Logic

Model checking the basic modalities of CTL with Description Logic Model checking the basic modalities of CTL with Description Logic Shoham Ben-David Richard Trefler Grant Weddell David R. Cheriton School of Computer Science University of Waterloo Abstract. Model checking

More information

Embedded Systems Development

Embedded Systems Development Embedded Systems Development Lecture 2 Finite Automata & SyncCharts Daniel Kästner AbsInt Angewandte Informatik GmbH kaestner@absint.com Some things I forgot to mention 2 Remember the HISPOS registration

More information

Outline F eria AADL behavior 1/ 78

Outline F eria AADL behavior 1/ 78 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

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

Distributed Implementation of Message Sequence Charts

Distributed Implementation of Message Sequence Charts Distributed Implementation of Message Sequence harts Rouwaida Abdallah, Loïc Hélouët, laude Jard To cite this version: Rouwaida Abdallah, Loïc Hélouët, laude Jard. Distributed Implementation of Message

More information

Branching Time Semantics for UML 2.0 Sequence Diagrams

Branching Time Semantics for UML 2.0 Sequence Diagrams Branching Time Semantics for UML 2.0 Sequence Diagrams Youcef Hammal LSI, Département d Informatique, Faculté d Electronique & Informatique Université des Sciences et de la Technologie Houari Boumediene

More information

Data Gathering and Personalized Broadcasting in Radio Grids with Interferences

Data Gathering and Personalized Broadcasting in Radio Grids with Interferences Data Gathering and Personalized Broadcasting in Radio Grids with Interferences Jean-Claude Bermond a,, Bi Li a,b, Nicolas Nisse a, Hervé Rivano c, Min-Li Yu d a Coati Project, INRIA I3S(CNRS/UNSA), Sophia

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

Report. Stepwise refinement of sequence diagrams with soft real-time requirements. Author(s) Atle Refsdal Ragnhild Kobro Runde, Ketil Stølen

Report. Stepwise refinement of sequence diagrams with soft real-time requirements. Author(s) Atle Refsdal Ragnhild Kobro Runde, Ketil Stølen A19749- Unrestricted Report Stepwise refinement of sequence diagrams with soft real-time requirements Author(s) Atle Refsdal Ragnhild Kobro Runde, Ketil Stølen SINTEF ICT Networked Systems and Services

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

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

Formal Conformance Testing 2006

Formal Conformance Testing 2006 Formal Conformance Testing 2006 Lecture 1 14th Sep 2006 Welcome! This is T-79.5304: Formal Conformance Testing Lectures from 10 to 12 am, no regular tutorials Cancellations and other notes at the web page

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

Timed Test Generation Based on Timed Temporal Logic

Timed Test Generation Based on Timed Temporal Logic Timed Test Generation Based on Timed Temporal Logic STEFAN D. BRUDA and CHUN DAI Department of Computer Science Bishop s University Sherbrooke, Quebec J1M 1Z7 CANADA stefan@bruda.ca, cdai@cs.ubishops.ca

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

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

cse303 ELEMENTS OF THE THEORY OF COMPUTATION Professor Anita Wasilewska

cse303 ELEMENTS OF THE THEORY OF COMPUTATION Professor Anita Wasilewska cse303 ELEMENTS OF THE THEORY OF COMPUTATION Professor Anita Wasilewska LECTURE 1 Course Web Page www3.cs.stonybrook.edu/ cse303 The webpage contains: lectures notes slides; very detailed solutions to

More information

Multicore Semantics and Programming

Multicore Semantics and Programming Multicore Semantics and Programming Peter Sewell Tim Harris University of Cambridge Oracle October November, 2015 p. 1 These Lectures Part 1: Multicore Semantics: the concurrency of multiprocessors and

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

Model for reactive systems/software

Model for reactive systems/software Temporal Logics CS 5219 Abhik Roychoudhury National University of Singapore The big picture Software/ Sys. to be built (Dream) Properties to Satisfy (caution) Today s lecture System Model (Rough Idea)

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

DISTRIBUTED COMPUTER SYSTEMS

DISTRIBUTED COMPUTER SYSTEMS DISTRIBUTED COMPUTER SYSTEMS SYNCHRONIZATION Dr. Jack Lange Computer Science Department University of Pittsburgh Fall 2015 Topics Clock Synchronization Physical Clocks Clock Synchronization Algorithms

More information

A POMDP Framework for Cognitive MAC Based on Primary Feedback Exploitation

A POMDP Framework for Cognitive MAC Based on Primary Feedback Exploitation A POMDP Framework for Cognitive MAC Based on Primary Feedback Exploitation Karim G. Seddik and Amr A. El-Sherif 2 Electronics and Communications Engineering Department, American University in Cairo, New

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

Linear Temporal Logic and Büchi Automata

Linear Temporal Logic and Büchi Automata Linear Temporal Logic and Büchi Automata Yih-Kuen Tsay Department of Information Management National Taiwan University FLOLAC 2009 Yih-Kuen Tsay (SVVRL @ IM.NTU) Linear Temporal Logic and Büchi Automata

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

Sanjit A. Seshia EECS, UC Berkeley

Sanjit A. Seshia EECS, UC Berkeley EECS 219C: Computer-Aided Verification Explicit-State Model Checking: Additional Material Sanjit A. Seshia EECS, UC Berkeley Acknowledgments: G. Holzmann Checking if M satisfies : Steps 1. Compute Buchi

More information

Simulation of Spiking Neural P Systems using Pnet Lab

Simulation of Spiking Neural P Systems using Pnet Lab Simulation of Spiking Neural P Systems using Pnet Lab Venkata Padmavati Metta Bhilai Institute of Technology, Durg vmetta@gmail.com Kamala Krithivasan Indian Institute of Technology, Madras kamala@iitm.ac.in

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

A Thread Algebra with Multi-level Strategic Interleaving

A Thread Algebra with Multi-level Strategic Interleaving Theory of Computing Systems manuscript No. (will be inserted by the editor) A Thread Algebra with Multi-level Strategic Interleaving J.A. Bergstra 1,2, C.A. Middelburg 3,1 1 Programming Research Group,

More information

cse303 ELEMENTS OF THE THEORY OF COMPUTATION Professor Anita Wasilewska

cse303 ELEMENTS OF THE THEORY OF COMPUTATION Professor Anita Wasilewska cse303 ELEMENTS OF THE THEORY OF COMPUTATION Professor Anita Wasilewska LECTURE 5 CHAPTER 2 FINITE AUTOMATA 1. Deterministic Finite Automata DFA 2. Nondeterministic Finite Automata NDFA 3. Finite Automata

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

A Theory of Regular MSC Languages

A Theory of Regular MSC Languages A Theory of Regular MSC Languages Jesper G. Henriksen 1 BRICS, Computer Science Department, Aarhus University, Aarhus, Denmark 2 Madhavan Mukund Chennai Mathematical Institute, Chennai, India K. Narayan

More information

Performance Modeling of Distributed Collaboration Services with Independent Inputs/Outputs

Performance Modeling of Distributed Collaboration Services with Independent Inputs/Outputs Performance Modeling of Distributed Collaboration Services with Independent Inputs/Outputs Toqeer Israr, Gregor v Bochmann Department of Electrical Engineering and Computer Science University of Ottawa

More information

Efficient Algorithm for Reachability Checking in Modeling

Efficient Algorithm for Reachability Checking in Modeling Efficient Algorithm for Reachability Checking in Modeling Alexander Letichevsky 1, Olexander Letychevskyi 1, and Vladimir Peschanenko 2 1 Glushkov Institute of Cybernetics of NAS of Ukraine, 40 Glushkova

More information

Optimal Decentralized Control of Coupled Subsystems With Control Sharing

Optimal Decentralized Control of Coupled Subsystems With Control Sharing IEEE TRANSACTIONS ON AUTOMATIC CONTROL, VOL. 58, NO. 9, SEPTEMBER 2013 2377 Optimal Decentralized Control of Coupled Subsystems With Control Sharing Aditya Mahajan, Member, IEEE Abstract Subsystems that

More information

Chapter Five: Nondeterministic Finite Automata

Chapter Five: Nondeterministic Finite Automata Chapter Five: Nondeterministic Finite Automata From DFA to NFA A DFA has exactly one transition from every state on every symbol in the alphabet. By relaxing this requirement we get a related but more

More information

Towards Lightweight Integration of SMT Solvers

Towards Lightweight Integration of SMT Solvers Towards Lightweight Integration of SMT Solvers Andrei Lapets Boston University Boston, USA lapets@bu.edu Saber Mirzaei Boston University Boston, USA smirzaei@bu.edu 1 Introduction A large variety of SMT

More information

Petri nets. s 1 s 2. s 3 s 4. directed arcs.

Petri nets. s 1 s 2. s 3 s 4. directed arcs. Petri nets Petri nets Petri nets are a basic model of parallel and distributed systems (named after Carl Adam Petri). The basic idea is to describe state changes in a system with transitions. @ @R s 1

More information

Parallel Performance Evaluation through Critical Path Analysis

Parallel Performance Evaluation through Critical Path Analysis Parallel Performance Evaluation through Critical Path Analysis Benno J. Overeinder and Peter M. A. Sloot University of Amsterdam, Parallel Scientific Computing & Simulation Group Kruislaan 403, NL-1098

More information

P Finite Automata and Regular Languages over Countably Infinite Alphabets

P Finite Automata and Regular Languages over Countably Infinite Alphabets P Finite Automata and Regular Languages over Countably Infinite Alphabets Jürgen Dassow 1 and György Vaszil 2 1 Otto-von-Guericke-Universität Magdeburg Fakultät für Informatik PSF 4120, D-39016 Magdeburg,

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

Formal Verification of Analog and Mixed Signal Designs in Mathematica

Formal Verification of Analog and Mixed Signal Designs in Mathematica Formal Verification of Analog and Mixed Signal Designs in Mathematica Mohamed H. Zaki, Ghiath Al-Sammane, and Sofiène Tahar Dept. of Electrical & Computer Engineering, Concordia University 1455 de Maisonneuve

More information

Classes and conversions

Classes and conversions Classes and conversions Regular expressions Syntax: r = ε a r r r + r r Semantics: The language L r of a regular expression r is inductively defined as follows: L =, L ε = {ε}, L a = a L r r = L r L r

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

Hybrid Transition Modes in (Tissue) P Systems

Hybrid Transition Modes in (Tissue) P Systems Hybrid Transition Modes in (Tissue) P Systems Rudolf Freund and Marian Kogler Faculty of Informatics, Vienna University of Technology Favoritenstr. 9, 1040 Vienna, Austria {rudi,marian}@emcc.at Summary.

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

Research Report 326 ISBN ISSN

Research Report 326 ISBN ISSN University of Oslo Department of Informatics How to transform UML neg into a useful construct Ragnhild Kobro Runde, Øystein Haugen, Ketil Stølen Research Report 326 ISBN 82-7368-280-3 ISSN 0806-3036 November

More information

Do we have a quorum?

Do we have a quorum? Do we have a quorum? Quorum Systems Given a set U of servers, U = n: A quorum system is a set Q 2 U such that Q 1, Q 2 Q : Q 1 Q 2 Each Q in Q is a quorum How quorum systems work: A read/write shared register

More information

Property Checking of Safety- Critical Systems Mathematical Foundations and Concrete Algorithms

Property Checking of Safety- Critical Systems Mathematical Foundations and Concrete Algorithms Property Checking of Safety- Critical Systems Mathematical Foundations and Concrete Algorithms Wen-ling Huang and Jan Peleska University of Bremen {huang,jp}@cs.uni-bremen.de MBT-Paradigm Model Is a partial

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

Timo Latvala. February 4, 2004

Timo Latvala. February 4, 2004 Reactive Systems: Temporal Logic LT L Timo Latvala February 4, 2004 Reactive Systems: Temporal Logic LT L 8-1 Temporal Logics Temporal logics are currently the most widely used specification formalism

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

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

Data Gathering and Personalized Broadcasting in Radio Grids with Interferences

Data Gathering and Personalized Broadcasting in Radio Grids with Interferences Data Gathering and Personalized Broadcasting in Radio Grids with Interferences Jean-Claude Bermond a,b,, Bi Li b,a,c, Nicolas Nisse b,a, Hervé Rivano d, Min-Li Yu e a Univ. Nice Sophia Antipolis, CNRS,

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

A Graph Rewriting Semantics for the Polyadic π-calculus

A Graph Rewriting Semantics for the Polyadic π-calculus A Graph Rewriting Semantics for the Polyadic π-calculus BARBARA KÖNIG Fakultät für Informatik, Technische Universität München Abstract We give a hypergraph rewriting semantics for the polyadic π-calculus,

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

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

Discrete-event simulations

Discrete-event simulations Discrete-event simulations Lecturer: Dmitri A. Moltchanov E-mail: moltchan@cs.tut.fi http://www.cs.tut.fi/kurssit/elt-53606/ OUTLINE: Why do we need simulations? Step-by-step simulations; Classifications;

More information

1 Introduction. 2 First Order Logic. 3 SPL Syntax. 4 Hoare Logic. 5 Exercises

1 Introduction. 2 First Order Logic. 3 SPL Syntax. 4 Hoare Logic. 5 Exercises Contents 1 Introduction INF5140: Lecture 2 Espen H. Lian Institutt for informatikk, Universitetet i Oslo January 28, 2009 2 Proof System 3 SPL 4 GCD 5 Exercises Institutt for informatikk (UiO) INF5140:

More information

MOST OF the published research on control of discreteevent

MOST OF the published research on control of discreteevent IEEE TRANSACTIONS ON AUTOMATIC CONTROL, VOL. 43, NO. 1, JANUARY 1998 3 Discrete-Event Control of Nondeterministic Systems Michael Heymann and Feng Lin, Member, IEEE Abstract Nondeterminism in discrete-event

More information

P Systems with Symport/Antiport of Rules

P Systems with Symport/Antiport of Rules P Systems with Symport/Antiport of Rules Matteo CAVALIERE Research Group on Mathematical Linguistics Rovira i Virgili University Pl. Imperial Tárraco 1, 43005 Tarragona, Spain E-mail: matteo.cavaliere@estudiants.urv.es

More information

MCS 260 Exam 2 13 November In order to get full credit, you need to show your work.

MCS 260 Exam 2 13 November In order to get full credit, you need to show your work. MCS 260 Exam 2 13 November 2015 Name: Do not start until instructed to do so. In order to get full credit, you need to show your work. You have 50 minutes to complete the exam. Good Luck! Problem 1 /15

More information

Test Generation for a Protocol Specified in SDL with Complex Loops by Event-based EFSM Modeling

Test Generation for a Protocol Specified in SDL with Complex Loops by Event-based EFSM Modeling 122 IJCSNS International Journal of Computer Science and Network Security, VOL.8 No.3, March 2008 Test Generation for a Protocol Specified in SDL with Complex Loops by Event-based EFSM Modeling Tae-Hyong

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

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

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

Reasoning with Constraint Diagrams

Reasoning with Constraint Diagrams Reasoning with Constraint Diagrams Gem Stapleton The Visual Modelling Group University of righton, righton, UK www.cmis.brighton.ac.uk/research/vmg g.e.stapletonbrighton.ac.uk Technical Report VMG.04.01

More information

Probabilistic Action System Trace Semantics

Probabilistic Action System Trace Semantics Probabilistic Action System Trace Semantics Larissa Meinicke April 007 Technical Report SSE-007-0 Division of Systems and Software Engineering Research School of Information Technology and Electrical Engineering

More information