Kahina Gani, Marinette Bouet, Michel Schneider, and Farouk Toumani. 1 2
|
|
- Emory Mathews
- 6 years ago
- Views:
Transcription
1 Modeling Home Care Plans Kahina Gani, Marinette Bouet, Michel Schneider, and Farouk Toumani. 1 2 Research Report LIMOS/RR mai {gani,michel.schneider,ftoumani}@isima.fr 2. marinette.bouet@univ-bpclermont.fr
2 Abstract A (home) care plan defines the health cares or supportive cares delivered by health care professionals in patients homes. Such a care plan is usually constructed through a complex process involving a comprehensive assessment of patient s needs as well as its social and physical environment. Managing home care plans is challenging because care plans are inherently non-structured processes which require complex interdisciplinary cooperation. In this paper, we describe how home care plans, formalized as timed automata, can be generated from a set of high level and user-oriented abstractions. We propose a three-step approach which consists in (i) the identification of the elementary patterns that are useful to specify home care plans, (ii) the use of these elementary patterns to specify atomic activities, and then (iii) automatic construction of a global care plan by composition of the basic activities. The resulting care plan encompasses all the possible allowed schedules of activities for a given patient. We discuss then how verification and monitoring of the resulting care plan can be handled using existing techniques and tools. Keywords: Timed automata, Home care plan, Time Petri Nets, UPPAAL 1
3 1 Introduction A care plan is a set of medical-social activities that are carried out day after day at the patient s home for a determined period or not. It allows to control or pilot the execution of the various activities at the patient s home, and this, in a precise time interval. In fact the time constraints are major factors for the success of care at the patient s home. Care plan must respect specifications, ie ensures that the execution is in complies with expectations, and also satisfies the constraints on the execution time. It is therefore necessary to verify such a care plan formally trying to capture the various events that should not occur and ensure a good managing. Different formalisms There exist in the literature several formalisms that describe real-time systems [5, 9, 3, 1, 6, 4]. Among the well-known formalisms, we have the time extension for Petri Nets(PNs) [14] and Timed automata(ta) [4, 17]. There are several extensions of Petri Nets that take into account time constraints : Time Petri Nets(TPNs) [20] where a time interval is assigned to each transition, Timed Petri Nets(TdPNs) [22] whose transitions have exact duration. Other representations of time may involve tokens or arcs [18], among all these time variants, it has been proven in [10] that Time Petri Nets are more suitable for the expression of a large majority of temporal constraints. In addition to Petri Nets, another well-known model has been extended to represent the time constraint : Timed automata were introduced in [4, 2] as an extension of finite state automata that enables explicit modeling of time. Informally, a timed automata is a finite states automata enriched with clock variables. Moreover, transitions of timed automata are annotated with guards, expressed as time constraints, and clock resets. Several contributions aiming to compare the expressiveness of Time Petri Nets and Timed Automata have been made [12] [11]. The work done in [16] was very interesting in the sense that they have shown that TA and bounded TPNs are equally expressive in term of timed language acceptance. Another work [13] proves that timed Petri Nets are not more expressive than timed automata with respect to read-arc model of timed Petri Nets language which is equivalent to timed automata [21]. In our approach, we are interested in formalizing using Timed automata. The advantage of TA formalism is that the problem of reachability is decidable in polynomial space [4], while it is undecidable for TPNs [19]. On the other hand, timed automata benefit from a very active theoretical research, which among other things allowed to develop very efficient tools 2
4 such as Uppaal [8] or Kronos [15], which will enables us to efficiently use these tools in our verification phase. 2 Approach and objective As we said previously, we adopt as referring formal model for the specification of care plans, the model of timed automata. Several variants of timed automata have been proposed in the literature, we consider in our work timed automata with ɛ-transitions (i.e., silent transitions) and also guards on the states, also called invariants. When considering the care plan, activities that compose it are not instantaneous but have a duration, this is why we need to capture the notion of duration of activity in our timed automata, and this, through the identification of waiting states and execution states. We give in the following the main lines of our approach : The identification of the temporal specification patterns. A care plan is composed of a collection of repetitive activities each having a duration which varies from a few minutes to hours. Specification of irregular activities requires the use of suitable temporal specification patterns, these latter will principally plan the accomplishments (in term of : Times ranges, Day, Period, Duration) of activity for a given patient. The proposal of a model to represent the care plan. Figure 1 shows the approach to follow in order to build the "care plan timed automata" corresponding to a given patient. In fact, the care plan consists of a set of activities which are at their turn defined by a set of elementary temporal specifications that specify their scheduling. Thereby building the care plan timed automata also involves the construction of two types of automata : "Activity timed automata" and "Elementary temporal specification timed automata". The transition between each type of automata requires a set of operations. The use of this model for the verification of the behavior of the care plan. This phase consists in identifying the different treatments and reasoning which may be associated with our model. We long to verify the general properties, such as Reachability as well as the requirements imposed by the home care activities such as Monitoring, Grouping Activity, Regularity research,... etc. The rest of the report is organized as follows : in the next section, we describe the syntax and semantic of timed automata, we mention the work concerning representation activities with durations. Section 4 presents the different temporal specification patterns and shows the various operations required for the construction of activities timed automata and care plan 3
5 Figure 1 Approach to construct care plan timed automata timed automata. In section 5, we show the possible verifications that can be performed within the model. 3 Timed automata We give in this section the intuition and the formal definition of the timed automata model, and then we mention the model that takes into account the activity duration. 3.1 Basic notion of timed automata As mentioned previously, the timed automata is an extension of finite state automata enriched with a clock variables. Indeed, a timed automata is defined by a set of nodes (states), switches, actions and clocks. The nodes represent the states of the system, the transitions are labeled by event symbols, and clocks are variables with zero or positive real values. While state transitions are instantaneous, in every state, the time may elapse ; in fact, the clocks are used to define constraints on the transitions and/or states. Constraints on states are called invariants, they allow to specify that the system can remain in the state while the constraint is satisfied. As for the constraints associated to transitions, called guards, they allow to specify that the system can move from one state to another, triggering the transition only if the associated constraint is satisfied. Clocks valuations We define below the constraints allowed to express invariants and guards. The set of clocks is denoted by X. A clock constraint 4
6 φ is defined by the grammar : φ := x c x c x c x c φ1 φ2. Where x is a clock in X and c is an integer positive value. The set of clock constraints using clocks of X will denoted φ(x). Definition 1 A timed automata is a tuple A = (S, s 0, Σ, X, Inv, T, F ) where : S is a finite set of locations or states of the automata and F S is set of final states ; s 0 S is a set of initial locations ; Σ {ɛ} is a finite set of transition labels, where ɛ defines the silent transition ; X is a finite set of clocks ; Inv : S φ(x) associates an invariant to each state of the automata ; T S Σ {ɛ} φ(x) 2 X S is a set of transitions. A transition (s, a, φ, λ, s ) represents an edge from location s to location s on symbol a. φ is a clock constraint, and the set λ X gives the clocks to be reset after firing such a transition. As an example, Figure 2 depicts timed automata that is made of two states s 0 and s 1 and the clock variable x. This automata includes a transition labeled Toilet from state s 0 to s 1 which is guarded by the condition x >= 8h as well as ɛ-transition from state s 1 to state s 0 which is guarded by condition x == 24h. Figure 2 Example of a timed automata Semantic of timed automata To formally define the semantics of timed automata, we introduce the notion of variable valuation. We consider as a time domain the set of non-negative reals R 0. Let X be a set of variables with values in R 0. A (variable) valuation v : X R 0 is a mappings that assigns to each variable x X a time value v(x). Each state of the automata is represented by a pair (s, v) where s is a state of S and v is an evaluation over X s.t. v satisfies the invariant Inv(S). The semantics of a timed automata A is then expressed in terms of two types of transitions [4] : Action transition : this type of transition can be triggered instantaneously if the current value of the guard is checked. Formally : 5
7 For a state (s, v) and a real-valued time increment d 0, (s, v) d (s, v+d) if for all 0 d d, v+ d satisfies the invariant Inv(s). Time transition : this type of transition consists of staying in the same state and increases the values of clocks respecting the invariant. Formally : For a state (s, v) and a transition (s, a, φ, λ, s ) such that v satisfies φ, (s, v) a (s, v[λ :=0]). Resuming the timed automata shown in Figure 1, a possible implementation of the automata is : (s 0, 0) (s 0, 10.3) T oilet (s 1, 10.3) 10 (s 1, 20.3) 3.7 (s 1, 24) ɛ (s 0, 0). 3.2 Works on timed automata Several variants of timed automata have been proposed in the literature, among them the work proposed by [7] as an extension of timed automata in order to take into account the actions with durations Timed automata with non-instantaneous actions A natural way to represent the duration in a timed automata is to match each activity with two transitions, the first labelled with "start activity" and the second with "end activity". But this approach may alter the original alphabet and lose the information that the activity is unique. [7] proposes an interesting class of timed automata, which enables rightly keeping the same original alphabet and the concept of the unique activity. In this model, each transition is equipped with two constraints : (initiation constraint), (completion constraint), and a set of of clocks : (initiation reset), (completion reset). A transition can be taken if it (initiation constraints) is satisfied and at the same time the set of clocks (initiation reset) are reset to zero, and it can be completed if the (completions constraints) is satisfied and the set of clocks (completions reset) are then reset to zero. Definition 2 (Timed automaton with non-instantaneous actions)a timed automata with non-instantaneous actions (noted : TAD), is a tuple (Q, Σ, ξ, B, R, X), where : Q is a finite set of locations or states of the automaton ; B Q is a set of initial locations ; Σ is a finite set of transition labels ; X is a finite set of clocks ; R Q is the set of repeated states ; ξ is a tuple in Q Ψ x Γ x Σ Ψ x Γ x Q. 6
8 If e = (q, Ψ i, γ i, σ, Ψ j, γ j, q ) is a transition in ξ, q is the source, q is the target, Ψ j is the initiation constraint and Ψ j is the completion constraint, σ is the label, γ i is the initiation reset and γ j is the completion reset. Through its Model,[7] provides a way to match each timed automata with non-instantaneous action transition with timed automata with ɛ- transitions, as well as for the parallel product result of different TADs. This, in order to use the various tools of timed automata. When we look more closely at this model, we note the following information : taking the example of two timed automata with non-instantaneous action transitions T AD 1 and T AD 2, the parallel product result is T AD 1 T AD 2 = T AD 3. According to the model we match a timed automata with ɛ- transitions T A ɛ to the parallel product result in order to do any kind of verification. Now, if we want to match each T AD 1 and T AD 2 with two timed automata with ɛ-transitions T A ɛ1 and T A ɛ2, and calculate the parallel product T A ɛ1 T A ɛ2 = T A ɛ3. We should normally have equivalence between T A ɛ and T A ɛ3, which is far from being the case. Add to this, the fundamental results of this model which consists in, the Timed automata with non-instantaneous action transitions is more expressive than the timed automata and less expressive than timed automata with ɛ-transitions. This results and observations strengthens our choice to use the timed automata with ɛ-transition model. Therefore each activity will be captured by two transitions, the first labelled with the activity name and the second with ɛ, these two transitions will be joined by an execution state, which will allow to the automata to stay there throughout the duration of the activity execution. In this way the original alphabet will be preserved as well as the unicity of the activity and then we can efficiently use the verifications tools directly without having to transform our results. 4 Modeling home care plan using timed automata In this part we will present different patterns of temporal specification, followed by the reasoning used to build activities timed automata, and finally the construction of the overall care plan timed automata. 7
9 4.1 Elementary temporal specifications timed automata Each activity of the care plan is associated with a set of elementary temporal specifications. These specifications provide the information about the time when the activity is performed, expressed as a quadruplet (Days, Time ranges, Period, duration) and allow us to provide a language that can express regular or irregular repetitions of an activity in some period under a condensed form, similar to that used by doctors (e.g. Every day morning and evening). Table 1 shows a simple example of this language. Each line of the table corresponds to an elementary temporal specification associated with the activity "Toilet" and expressed in term of Days, Time ranges, Period and Duration. Both Days and Time ranges fields can take different forms to reflect the various possibilities encountered in the medical world. Bellow the specifications of a basic activity. Activity : contains the activity name ; Days : which can take the values : "Every day" ; Relative days as a list of days (eg. "Sunday, Monday") ; Absolute dates as a list of dates (eg. "07/03/13,09/03/13") ; "Holidays". Time ranges : which can take the values : "Morning" ; "Noon" ; "Afternoon" ; "Evening" ; "Night" ; Specific time (e.g., "9h15") ; Time slots (e.g., 10h-12, 15h30h-17h). Period : contains : start period date, end period date ; Duration : each activity has a theoretical duration, its value is expressed in terms of minutes. Activity Days Time ranges Period Duration Toilet Monday Wednesday morning evening 01/01/13-30 Friday 03/31/13 Sunday morning 01/01/13-03/31/13 Table 1 Elementary temporal specifications for activity "Toilet". Irregular activities are inherent to care plans. For example, a same activity, "Toilet" may be associated with complex temporal specification, (e.g., every day morning evening, Sunday evening). In the following example, there is an ambiguity because we don t know if on Sunday "Toilet" must 8
10 take place in the morning and evening or only in the morning. In order to resolve this ambiguity, we introduce the notion of exception via the keyword "except" then a specification can be expressed as (E 1 ) except (Days1 Days2...) where (E 1 ) is a specification that can be expressed by the quadruplet (days, time range, period, duration) and Days 1,2,3... are the days to exclude from the expression(e 1 ), we call them "exception Days". Thus, the above example is correctly specified as shown in Table 2. In this specification, we have an exception on Sunday, using a keyword "except" we understand that for Sunday it is only in the morning. Activity Days Time ranges Period Duration Toilet Everyday Morning Evening 01/01/13-30 except(sunday) 03/31/13 Sunday Morning 01/01/13-03/31/13 Table 2 Example of complex temporal specifications using "except" These specifications can be used as input for the generation of the timed automata corresponding to each activity of the care plan Temporal specification Patterns From the graphical user interface, the coordinator can specify multiple rows of elementary temporal specifications for the same activity, some of them to express the repetitiveness of the activity for certain days, and others introducing a slowdown or an increasing to the activity. In the following, the temporal specification patterns are introduced one by one. The objective of these patterns is to help us in the design of the elementary temporal specifications timed automata, which in turn will contribute to the construction of activity timed automata using technical operations. Each temporal specification pattern is designed to capture a specific temporality depending on possible combinations of quadruplet (Days, Time ranges, Period, Duration). Relative days Relative days combined with time ranges and period are used to express a regular repetition of the activity of the care plan. For each row of temporality expressed as (Relative days, Time ranges, Period, Duration) defined for an activity a of the care plan, the corresponding timed automata pattern A RD =(S, s 0, Σ, X, Inv, T, F ) is defined as follows : S is a finite set of states where the number of states NbStates= NbT imeranges + 2 +NbDays where NbT imeranges is the number 9
11 of times ranges, "2" corresponds to the two last states and NbDays is the number of specified Days. s 0 S is the set of initial states. We always have one initial state. F is the set of final states. We always have one final state. Σ = {Activity name} {ɛ} is the set of transition labels, where ɛ defines the silent transition. X ={ x d, x t, x p, x w } is the set of clocks expressed in terms of minutes where x d is used to control the execution of the activity in a time of the day, x t is used to control the activity duration, x w is used to control the execution of the activity in a day of the week and x p is used to control the execution of the activity in a day of the period. T S Σ {ɛ} φ(x) 2 X S is the set of transitions. Each transition corresponds to a day of the week. The number of transitions NbT ransitions = NbT imeranges* NbDays where "3" corresponds to the two return transitions to the start state (the first one to reset the x d in the same week, another one is to reset x w in order to move to the next week in the period) and the transition to the final state. φ is a clock constraint defined as follows : φ = x c x c x < c x > c φ 1 φ 2. Where x is a clock in X and c is an integer positive value. This timed automata recognizes timed words. A timed word over an alphabet is a sequence (Activity name, t 0 ),..., (Activity name, t n ) where Activity name belongs to and the occurrence of times increase monotonically, i.e., t 0 t 1... t n. The timed language accepted by the automata A RD is the set of timed words associated with accepting runs. It can be formulated as follows : L(A RD ) = {w/w = ((end(p ) start(p ))/(7 24)) 1 k=0 ( m 1 i=0 ( n 1 j=0 (a, tj i,k ))), tj i,k [d i + k start(p ) + start(i j ), d i + k start(p ) + end(i j )]}. This timed language L(A RD ) consists in concatenating successively the timed word (a, t j i,k ) according to three parameters : the existing time ranges in a day j [0,n-1], the different days of the week i [0,m-1], and finally, the different weeks contained in a period k [0,((end(P)-start(P))/(7*24))-1] such that Period is defined by start(p) and end(p), Time ranges by start(i j ) and end(i j ). d i are different relative days specified and k is the number of the week. The example bellow illustrates the mapping of an elementary temporal specification into timed automata using "Relative days" pattern automata. Consider the following specification of the activity Toilet that takes 30 minutes : Activity : Toilet Days : Monday, Thursday, Friday 10
12 Time ranges : Morning Period : [05/05/2013, 05/05/2014] The corresponding timed automata A RD =(S, s 0, Σ, X, Inv, T, F ) depicted in Figure 3 is defined as follows : Figure 3 Example of a timed automata in case of Relative days S= {s 0, s 1, s 2, s 3, s 4, s 5 } with s 0 the initial state, {s 0, s 4, s 5 } are the waiting states and {s 1, s 2, s 3 } are the execution states ; F ={s 5 } ; Σ = {T oilet} {ɛ} ; X= {x d, x t, x p,x w } ; T is the set of the following transitions : (s 0, T oilet, x d 480 && x w 1440 && x w < 2880, {x t }, s 1 ), this transition specifies that when the automata is at state s o, it can move to state s 1 to triggers the execution of the activity T oilet in the state s 1 on condition that the conjunction of state invariant (x d 720) at s 0 and the transition guard (x d 480 && x w 1440 && x w < 2880) allows it. (x d 480) ensures that the activity T oilet can be performed only in the morning and (x w 1440 && x w < 2880) ensures that the activity T oilet takes place every Monday of the period. {x t } ensures the beginning of the activity T oilet and the state invariant (x t 30) ensures that the automata stays at state s 1 during 30 minutes to perform the activity T oilet. The same principle is followed for the other transitions where the activity T oilet must be performed : (s 0, T oilet, x d 480 && x w 5760 && x w < 7200, {x t }, s 1 ) for Thursday and (s 0, T oilet, x d 11
13 480 && x w 7200 && x w < 8640, {x t }, s 1 ) for Friday. (s 1, ɛ, x t == 30, s 4 ), this transition specifies that when the automata is at state s 1, it can move to state s 4 triggering the end of the activity T oilet. the conjunction of the state invariant (x t 30) and the transition guard (x t == 30) ensure that the activity T oilet was performed at state s 1 during 30 minutes. The same principle is followed for the other transitions (s 2, ɛ, x t == 30, s 4 ) and (s 3, ɛ, x t == 30, s 4 ). (s 4, ɛ, x d == 1440 && x p < && x w < 10080, {x d }, s 0 ), this transition enables the automata to move back from s 4 to s 0, without performing any activity, at the end of the day (i.e., when x d equals 1440) within a specified week (i.e., x w < 10080) and a specific period (i.e., x p < ). Upon this transition, the variable x d is reset to record the beginning of a new day in the current week. (s 4, ɛ, x d == 1440 && x p < && x w == 10080, {x d, x w }, s 0 ), this transition enables the automata to move back from s 4 to s 0, without performing any activity, at the end of the week (i.e., when x w equals 10080) within the specified period (i.e., x p < ). Upon this transition, the variables x d and x w are reset to record the beginning of a new day in a new week. (s 4, ɛ, x d == 1440 && x p == ,, s 5 ), this transition is fired at the end of the period (i.e., when x p equals ) and it enables the automata to move to the final state s 2 and terminate the execution. "Every day" Every day combined with time ranges and period can be used as a particular case of Relative days. There are two ways to represent the corresponding temporal specification pattern. One is based on the representation of "Relative days" where all the seven transitions of a time range will be labeled with the activity name. And the other way is illustrated in the following example. Consider the following elementary temporal specification of the activity T oilet that takes 30 minutes : Activity : Toilet Days : Every day Time ranges : Morning Period : [05/05/2013, 05/05/2014] The corresponding elementary temporal timed automata A ED = (S, s 0, Σ, X, Inv, T, F ) depicted in Figure 4 is defined as follows : S= {s 0, s 1, s 2, s 3 } with s 0 the initial state, NbStates = NbT imeranges * 2+ 2= 4, {s 0, s 2, s 3 } are the waiting states and s 1 is the execution state ; 12
14 Figure 4 Example of a timed automata in case of "Every day" F ={s 3 } ; Σ = {T oilet} {ɛ} ; X= {x d, x t, x p } ; T is the set of transitions where NbT ransitions = NbT imeranges* We will see the meaning of each transition : (s 0, T oilet, x d 480, {x t }, s 1 ), this transition specifies that when the automata is at state s 0, it can move to state s 1 to triggers the execution of the activity T oilet in the state s 1. The conjunction of state invariant (x d 720) at s 0 and the transition guard (x d 480) ensure that the activity T oilet can be performed only in the morning (i.e., when the value of x d is between 480 and 720). {x t } ensures the beginning of the activity T oilet and the state invariant (x t 30) ensures that the automata stays at state s 1 during 30 minutes to perform the activity T oilet. (s 1, ɛ, x t == 30, s 2 ), this transition specifies that when the automata is at state s 1, it can move to state s 2 triggering the end of the activity T oilet. The conjunction of the state invariant (x t 30) and the transition guard (x t == 30) ensure that the activity T oilet was performed at state s 1 during 30 minutes. (s 2, ɛ, x d == 1440 && x p < , {x d }, s 0 ), this transition enables the automata to move back from s 2 to s 0, without performing any activity, at the end of the day (i.e., when x d equals 1440) within the specified period (i.e., x p < ). Upon this transition, the variable x d is reset to record the beginning of a new day. (s 2, ɛ, x d == 1440 && x p == ,, s 3 ), this transition is fired at the end of the period (i.e., when x p equals to ) and it enables the automata to move to the final state s 3 and terminate the execution. The timed language accepted by this timed automata can be formulated 13
15 as follows : L(A ED ) = {w/w = ((end(p ) start(p ))/24) 1 i=0 ( n 1 j=0 (a, tj i )), tj i [i 24 + start(p ) + start(i j ), i 24 + start(p ) + end(i j )]}. The timed language L(A AD ) consists in concatenating successively the timed word (a, t j i ) according to the existing time ranges in a day j [0,n-1], and the different days contained in a period i [0,((end(P)-start(P))/24)- 1]. Absolute dates Absolute dates option allows to define precise dates or single days for an activity of the care plan e.g.,12/12/2013,..., etc. For each elementary temporal specification expressed as (Absolute dates, Time ranges, Period, Duration) defined for an activity a of the care plan, the corresponding timed automata A AD =(S, s 0, Σ, X, Inv, T, F ) is defined as follows : S is a finite set of states where NbStates= NbT imeranges NbDates. s 0 S is the set of initial states. We always have one initial state. F is the set of final states. We always have one final state. Σ = {Activity name} {ɛ} is the set of transition labels. X ={ x d, x t, x p } is the set of clocks expressed in terms of minutes where x d is used to control the execution of the activity in a time of the day, x t is used to control the activity duration and x p is used to control the execution of the activity in a day of the period. T S Σ {ɛ} φ(x) 2 X S is the set of transitions. The number of transitions between two states of time range depends of the number of the specified dates for an activity. The formula to compute this number is as follows : NbT ransitions = NbDates * 2 + NbIntervals + 2 where NbDates is the the number of specific dates when the activity will be performed during the period, N bintervals is the number of intervals [Start date, End date] where the activity will not be performed, and "2" corresponds to the return transition to the start state and the transition to the final state. The timed language accepted by the automata A AD is the set of timed words associated with accepting runs. It can be formulated as follows : L(A AD ) = {w/w = m 1 i=0 ( n 1 j=0 (a, tj i )), tj i [D i + start(p ) + start(i j ), D i + start(p ) + end(i j )]}. Where the timed language L(A AD ) consists in concatenating successively the timed word (a, t j i ) according to the existing time ranges in a day j [0,n-1], and the different specified dates D i where i [0, m-1]. The example bellow illustrates the mapping of an elementary temporal specification into timed automata using "absolute dates " pattern auto- 14
16 mata. Consider the following specification of the activity Toilet that takes 30 minutes : Activity : Toilet Days : 05/06/2013, 05/08/2013, 05/09/2013 Time ranges : Morning Period : [05/05/2013, 05/05/2014] The corresponding timed automata A AD =(S, s 0, Σ, X, Inv, T, F ) depicted in Figure 5 is defined as follows : Figure 5 Example of a timed automata in case of "Absolute dates" S= {s 0, s 1, s 2, s 3, s 4, s 5 } is a finite set of states with s 0 the initial state, {s 0, s 4, s 5 } are the waiting states and {s 1, s 2, s 3 } are the execution state ; F ={s 5 } ; Σ = {T oilet} {ɛ} ; X= {x d, x t, x p } ; T is the set of the following transitions : (s 0, T oilet, x d 480 && x p 1440 && x p < 2880, {x t }, s 1 ), this transition specifies that when the automata is at state s o, it can move to state s 1 to triggers the execution of the activity T oilet in the state s 1 on condition that the conjunction of state invariant (x d 720) at s 0 and the transition guard (x d 480 && x w 1440 && x p < 2880) allow it. (x d 480) ensures that the activity T oilet can be performed only in the morning and (x w 1440 && x w < 2880) ensures that the activity T oilet takes place in the date 05/06/2013 of the period. {x t } ensures the beginning of the activity T oilet and the state invariant (x t 30) ensures that the automata stays at state s 1 during 30 minutes to perform the activity T oilet. The same principle is followed for the other transitions where the activity T oilet must be performed : (s 0, T oilet, x d 15
17 480 && x p 4320 && x p < 5760, {x t }, s 2 ) for 05/08/2013 and (s 0, T oilet, x d 480 && x p 5760 && x p < 7200, {x t }, s 3 ) for 05/09/2013. T 1 = (s 0, ɛ, x p 0 && x p < 1440,, s 4 ), T 2 = (s 0, ɛ, x p 2880 && x p < 4320,, s 4 ), T 3 = (s 0, ɛ, x p 7200 && x p < ,, s 4 ), the passage through these transitions results when x p is in the time interval different from that of specific dates. We have three transitions, T 1 represents the interval between the beginning of the period and the first specific date, T 2 represents the interval between two specific dates, and T 3 represents the interval between the last specific date and end date of the period. For those transitions the automata can move from s 0 to s 4 at any moment where (x d 0 && x d < 720), the guard is composed of a single condition on the clock x p, it ensures the validity of the interval where the activity should not be done. (s 4, ɛ, x d == 1440 && x p < , {x d }, s 0 ), this transition enables the automata to move back from s 4 to s 0, without performing any activity, at the end of the day (i.e., when x d equals to 1440) within the specified period (i.e., x p < ). Upon this transition, the variable x d is reset to record the beginning of a new day. (s 4, ɛ, x d == 1440 && x p == ,, s 5 ), this transition is fired at the end of the period (i.e., when x p equals to ) and enables the automata to move to the final state s 5 and terminate the execution. Patient unavailability Each patient has his/her own specific care plan, the care plan is elaborated for each patient on an individual basis that can take into account the pathology and the patient s needs. A further factor may occur and exert considerable influence in the elaboration of the care plan : "Patient agenda". Indeed, the patient agenda includes all temporal specifications that capture the unavailability of the patient, therefore the coordinator must specify the unavailability of the patient in the same way as the care plan activities in order to avoid predicting an activity when the patient will be unavailable. All temporal specification patterns that we have defined can be used to model the unavailability of the patient. The example in Figure 6 illustrates the patient agenda using the temporal specification patterns : Consider the following specification : "the patient will be unavailable on 06/06/2014 morning for 2 hours". The corresponding timed automata depicted in Figure 6 is made of four states : {s 0, s 2, s 3 } are the waiting states and {s 1 } the execution state, Σ {ɛ} = {unavailable} {ɛ}. This automata includes a transition labeled Unavailable from state s 0 to s 1 16
18 which is guarded by the condition (s 0, unavailable, x d 480 && x p && x p < 22520, {V t }, s 1 ) followed by an ɛ-transition from s 1 to s 2 both capture the information that on 06/06/2014 morning for 120 minutes the patient will be unavailable. Figure 6 Patient unavailability timed automata 4.2 Activities Timed Automata Now that we have seen how to build the "Elementary temporal specification timed automata" using temporal specification patterns, we will see in this section how to construct the "Activity timed automata" by combining its various "elementary temporal specification timed automata"(the same principle is used if we want to construct the patient unavailability timed automata). To do this we propose two procedures : The first procedure deals with the "Basic case" means the case where elementary temporal specifications are specified without any overlap in the Days field, and the second procedure deals with the "General case", ie the case where we can have a wide range of possible combination of the Days field. Each procedure will be followed by an example Basic case In this part, we will give the different steps to follow in order to construct activity timed automata from given elementary temporal specifications. Procedure 1 Given different elementary temporal specifications, the timed automata generation is built through the following steps : 1. Add a new elementary temporal specification : Everyday except (specified Days). 2. Build timed automata for each elementary temporal specification except the added one. 17
19 Activity Days Time ranges Period Duration Toilet Monday Thursday Morning 01/01/ /31/14 Sunday Evening 01/01/14 12/31/14 Table 3 Elementary temporal specifications "Basic case" Activity Days Time ranges Period Duration Toilet Monday Thursday Morning 01/01/ /31/14 Sunday Evening 01/01/14-12/31/14 Everyday except(monday None 01/01/14- Thursday Sunday ) 12/31/14 Table 4 Add a new elementary temporal specification 3. Build for each elementary temporal specification timed automata A, the corresponding special timed automata Â. 4. Build for the added elementary temporal specification the corresponding special timed automata Ã. 5. Build the intersection of all built special timed automata. Note that special timed automata are defined as follows :  "is the timed automata that recognizes timed words that are specified in a precise (Days, Time ranges, Period) and recognizes an infinite number of timed words (including the empty word) outside these specifications within a period". à "is the timed automata that recognizes an infinite number of timed words (including the empty word) within a specified "exception Days" within a period". Table 3 gives an example of two specified elementary temporal specifications for an activity T oilet. Following the procedure 1, we get a new table 4 which contains a new line of elementary temporal specification. Figures 7 and 8 represent successively the timed automata A and B of the first and the second elementary temporal specification built using timed automata patterns. Always following the procedure 1, we will define the special automata corresponding to A and B timed automata. Indeed, let  be the special automata of A timed automata. The timed automata  is defined as follows : Â=(Ŝ, ŝ 0, Σ, X, Înv, ˆT, ˆF ). This timed automata in addition to recognizing timed words defined on "Monday Thursday, morning", it can also recognize all possible timed words 18
20 Figure 7 Timed automata A (even the empty word) which are outside "Monday Thursday" but always within specified period (Figure 9). Among its transitions : (ŝ 1, T oilet, x d 480, {x t }, ŝ 2 ) and (ŝ 2, ɛ, x t == 30, ŝ 5 ) insures that the activity Toilet will be executed on Monday morning, in the same way as for the A timed automata. ŝ 2 is the executing state during 30 minutes, ŝ 1 and ŝ 5 are waiting state. the same principle for (ŝ 3, T oilet, x d 480, {x t }, ŝ 4 ) and (ŝ 4, ɛ, x t == 30, ŝ 5 ). All the transitions from ŝ 5 to ŝ 6 mean that for all days outside "Monday Thursday" we can execute the activity T oilet an infinite number of times and at any moment of the day. ŝ 6 is the execution state, and the transition (ŝ 6, ɛ, x t == 30, ŝ 5 ) allows to triggers the end of the execution of the activity T oilet after each execution. Regarding B timed automata, its corresponding special automata ˆB is defined as follows : ˆB=( Ŝ, ŝ 0, Σ, X, Înv, ˆT, ˆF ). This timed automata in addition to recognizing timed words defined on "Sunday, evening", it can also recognize all possible timed words (even the empty word) which are outside "Sunday" but always within specified period (Figure 10). Among its transitions : (ŝ 1, T oilet, x d 1020, {x t }, ŝ 2) and (ŝ 2, ɛ, x t == 30, ŝ 3) insures that the activity Toilet will be executed on Sunday morning, in the same way as for the B timed automata. ŝ 2 is the executing state during 30 minutes, ŝ 1 and ŝ 3 are waiting state. All the transitions from ŝ 3 to ŝ 4 mean that for all days outside "Sunday" we can execute the activity T oilet an infinite number of times and at any moment of the day. ŝ 4 is the execution state, and the transition (ŝ 4, ɛ, x t == 30, ŝ 3) allows to triggers the end of the execution of the activity T oilet after each execution. 19
21 Figure 8 Timed automata B Figure 9 Timed automata  Let s look at the added temporality. Following the steps 4 of the procedure 1, we have to define for this added temporality a special automata. Let C be the special automata corresponding to the added elementary specification, it is defined as follows : Ĉ=( S, s 0, Σ, X, Ĩnv, T, F ). This timed automata recognizes all possible timed words (even the empty word) which are specified on exception Days ie : "Monday Thursday Sunday" (Figure 11). Among its transitions : ( s 1, T oilet, x w 1440 && x w < 2880, {x t }, s 2 ), ( s 1, T oilet, x w 7200 && x w < 8640, {x t }, s 2 ) and ( s 1, T oilet, x w 5760 && x w < 7200, {x t }, s 2 ), those transitions mean that for "Monday Thursday Sunday" we can execute the activity T oilet an infinite number of times and at any moment of the day. s 2 is the execution state, and 20
22 Figure 10 Timed automata ˆB Figure 11 Timed automata C the transition ( s 2, ɛ, x t == 30, s 1 ) allows to trigger the end of the execution of the activity T oilet after each execution. The last step of the procedure 1 is to build the resulting timed automata intersection of all special automata. The intersection is achieved following the classical construction defined by (Alur and Dill). Here we consider the epsilon transitions in the same way than the activity ones. We recall below the definition of intersection of timed automata. Definition 3. Given two timed automata A 1 = ( S 1, s 0 1, Σ 1 {ɛ}, X1, Inv 1, T 1, F 1 ) and A 2 = ( S 2, s 0 2, Σ 2 {ɛ}, X2, Inv 2, T 2, F 2 ). The intersection A 3 = A 1 A 2 = ( S 3, s 0 3, Σ 3 {ɛ}, X1 X 2, Inv 3, T 3, F 3 ) is built through the following steps : The states are S 3 = S 1 S 2, the initial state is s 0 3 = (s 0 1, s 0 2) and the final state is F 3 = {(s 1, s 2 ) s 1 F 1, s 2 F 2 }). Two transitions e 1 = (s 1, a 1, φ 1, λ 1, s 1) A 1 and e 2 = (s 2, a 2, φ 2, λ 2, s 2) A 2 are synchronized if and only if a 1 = a 2, producing a new switch e 1 e 2 which is added to A 3 : e 1 e 2 = ((s 1, s 2 ), φ 1 φ 2, a 1, x e1 e 2, (s 1, s 2))), a new clock x e1 e 2 is created in A 3. 21
23 Figure 12 gives the intersection automata  ˆB C. The resulting automata encompasses all the possible schedules of the activity Toilet specified in the table 4. In this timed automata, the states are represented by a triple (ŝ i, ŝ j, s k ) where i, j, k {0.. 7}, and every state ŝ i, ŝ j, s k Ŝ, Ŝ, S respectively. (ŝ0, ŝ 0, s 0 ) is the initial state. The invariant of each state corresponds to Inv (ŝ i, ŝ j, s k ))= Inv (ŝ i ) Inv (ŝ j) Inv ( s k ) which specifies that the system can stay in that state while the invariant has a value "True". Figure 12 Activity timed automata (intersection automata) General case As we said previously, in the general case we can have a wide range of possible combination of the "Days" field, e.g., a date or a day that appears in several elementary temporal specifications of the same activity. In this section we will give the procedure to follow to transform a set of elementary temporal specifications expressed in the general case in order to fall in the basic case. Procedure 2 Given different elementary temporal specifications, if a "date" or a "day" appears in several temporal specifications, the activity timed automata is built through the following steps : 1. Extract the repetitive "day" or "date" from the elementary temporal specification where it appears combined with other "days" or "dates". 2. Group all the elementary temporal specifications having the same "day" or "date". 3. Apply the procedure 1 of the "Basic case". 22
24 Table 5 shows a representative example of the general case. Indeed, we note that "Tuesday" appears in both elementary temporal specifications, following the procedure 2, the first step consists to extract "Tuesday" from the first elementary temporal specification (see table 6), the second step consists to group all the specifications having the same fields "Days" (see table 7). Now we can see that with Table 7 we fall exactly in the "Basic case", it is then sufficient to apply the procedure 1 in order to build the "Activity timed automata". Activity Days Time ranges Period Duration Toilet Monday Tuesday Morning 01/01/ /31/14 Tuesday Evening 01/01/14-12/31/14 Table 5 Elementary temporal specifications "General case" Activity Days Time ranges Period Duration Toilet Monday Tuesday Morning 01/01/ /31/14 Tuesday Morning 01/01/14-12/31/14 Tuesday Evening 01/01/14-12/31/14 Table 6 Elementary temporal specifications (After extraction) 4.3 Care plan timed automata The care plan can be also described by means of timed automata which is obtained by composition of Activities timed automata. The composition is achieved following on one hand, the general principle of the parallel product : the transitions are obtained by synchronizing the transitions with the same labels and advance separately when they have different labels [2]. However, on the other hand, this composition must meet specific conditions in reference to our model. Indeed synchronization does not occur on Activity Days Time ranges Period Duration Toilet Monday Morning 01/01/14-12/31/14 30 Tuesday Morning Evening 01/01/14-12/31/14 Table 7 Elementary temporal specification (After grouping) 23
25 any label shared by both transitions but precisely on ɛ-transitions. Afterwards, we defined during the construction of our activities automata, the waiting and the execution states, condition on these states consists in : two successive transitions connected by an execution state should never be dissociated, thus, in order to keep information about the activity execution and its duration. We will see in what follows a more formal definition. Definition 4 (Composition of timed automata) Let A 1 = (S 1, s 1 0, Σ 1, X 1, Inv 1, T 1 ) and A 2 = (S 2, s 2 0, Σ 2, X 2, Inv 2, T 2 ) be two timed automata. The composition of A 1 and A 2, denoted A 1 A 2, is the timed automata (S 1 S 2, s 0 1 s 0 2, Σ 1 Σ 2, Xs 1 X 2, Inv, T), where Inv (S 1, S 2 ) = Inv (S 1 ) Inv (S 2 ) and the transitions are defined function T is defined as follows : 1. {((s 1, s 2 ), ɛ, φ, λ, (s 1, s 2)) : (s 1, ɛ, φ 1,λ 1,s 1) T 1 and (s 2,a,φ 2, λ 2,s 2) T 2, s 1 and s 2 are both waiting states }. 2. {((s 1, s 2 ), a, φ, λ, (s 1, s 2)) : ((s 1,a,φ 1,λ 1,s 1) T 1, s 2 =s 2) or ((s 2, a, φ 2, λ 2, s 2 ) T 2, s 1 =s 1), s 1 and s 2 are both start states }. 3. {((s 1, s 2 ), a, φ, λ, (s 1, s 2)) : ((s 1, a, φ 1, λ 1, s 1) T 1, s 2 =s 2, s 2 is a waiting/start state, s 1 is an execution state) or ((s 2, a, φ 2, λ 2, s 2) T 2,s 1 =s 1,s 1 is a waiting/start state, s 2 is an execution state)}. 4. {((s 1, s 2 ), a, φ, λ, (s 1, s 2)) : ((s 1, a, φ 1,λ 1,s 1) T 1, s 2 =s 2, s 2 is a waiting state,s 1 is a start state) or ((s 2, a, φ 2, λ 2, s 2) T 2, s 1 =s 1, s 1 is a waiting state, s 2 is a start state)}. Table 8 illustrates an example of care plan composed of two activities : T oilet and Dress. Activity Days Time ranges Period Duration Toilet Everyday Morning 01/01/14-12/31/14 30 Dress Everyday 09h00 01/01/14-12/31/14 20 Table 8 Example of care plan" Figure 13 shows the composition result of the automata (Toilet timed automata and Dress timed automata). The resulting automata encompass all the passible schedules of the activities T oilet and Dress. 5 Verification of home care plan model In this part we show some property verified by our model using Uppaal model checker. 24
26 Figure 13 Care plan timed automata 5.1 Realizability of care plans It is important to check the realizability of a care plan, i.e., to check whether or not the activities included in the plan can be effectively scheduled and performed according to the constraints specified in the plan. In other words, a care plan is realizable when each activity can be performed without interruption in the imposed time range on any specified period. Checking realizability of a care plan can be reduced to the emptiness problem of the corresponding timed automata. In fact, the emptiness problem for the timed automata A consists in verifying whatever or not L(A) is empty. To do it, is necessary to check reachability of some final states from an initial state. Consider again the timed automata shown in Figure 13, we check in the following if the final state (S 3, S 3) is reachable from initial state (S 0, S 0). The emptiness checking is performed using the following query : E<>( Process.S3S 3) Figure 14 shows the emptiness checking of a care plan timed automata in Figure
27 Figure 14 Emptiness checking timed automata with UPPAAL 5.2 Monitoring of care plans Note that most of the activities of a care plan are manual, i.e., performed manually by professionals. In current state of affairs, the activities that have been performed are often recorded manually on paper. Our goal is to enable electronic recording of executed activities in order to keep track of the execution traces of care plans. Such information can then be used to monitor care plans. For example, compliance of executions traces w.r.t. a care plan may be checked. In order to detect the executions that do not satisfy the constraints specified in the considered care plan. Also, the monitoring system may be used to detect executions that deviate from the specification. For example, if into the care plan the activity "Injection" is provided at 09h00 and takes 30 minutes, and after Checking compliance of execution traces can be reduces to language recognition in timed automata, it is performed using the following query : E<> ( Process. S0S 1 ) && (Process.xp >= 1440 && Process.xp <
28 && Process.xd >= 660 && Process.xd <= 720) This query checks that the activity "Dress" which was done on January 2 between 11h00 and 12Hh00 is well complying with the care plan timed automata Figure 13. the answer is "No" since Dress was scheduled starting from 9h00. E<> (Process.S1S 2 && Process.xd == 695 && Process.xt == 35) This one checks, that the activity "Toilet" which was done from 11h00 to 11h35 in 35 minutes is well complying with the care plan timed automata Figure 13. The answer is "No" since Toilet takes only 30 minutes. 6 Discussion We described in this paper an approach to generate formal specifications of home care plans, expressed as timed automata, from a set of high level and user-oriented abstractions. We propose a three-step approach which consists in (i) the identification of the elementary patterns that are useful to specify home care plans, (ii) the use of these elementary patterns to specify atomic activities, and then (iii) automatic construction of a global care plan by composition of the basic activities. The resulting care plan encompasses all the possible legal schedules of activities for a given patient. We briefly discussed then how verification and monitoring of the resulting care plan can be handled using existing existing techniques and tools (e.g., UPPAAL model checker). 27
29 Références [1] R. Alur, C. Courcoubetis, and D. Dill. Model-checking for real-time systems, Jun [2] Rajeev Alur. Timed automata. In Nicolas Halbwachs and Doron A. Peled, editors, Proceedings of the 11th International Conference on Computer Aided Verification (CAV 99), volume 1633 of Lecture Notes in Computer Science, pages Springer-Verlag, July [3] Rajeev Alur and D. L. Dill. Automata for modeling real-time systems. In Proceedings of the Seventeenth International Colloquium on Automata, Languages and Programming, pages , New York, NY, USA, Springer-Verlag New York, Inc. [4] Rajeev Alur and David L. Dill. A theory of timed automata. Theoretical Computer Science, 126 : , [5] Rajeev Alur and Thomas A. Henzinger. Logics and models of real time : A survey, [6] Rajeev Alur and Thomas A. Henzinger. A really temporal logic. J. ACM, 41(1) : , January [7] Roberto Barbuti, Nicoletta De Francesco, and Luca Tesei. Timed automata with non-instantaneous actions. Fundam. Inf., 47(3-4) : , October [8] Gerd Behrmann, Re David, and Kim G. Larsen. A tutorial on uppaal. pages Springer, [9] Bernard Berthomieu and Michel Diaz. Modeling and verification of time dependent systems using time petri nets. IEEE Trans. Softw. Eng., 17(3) : , March [10] Bernard Berthomieu and Miguel Menasche. An enumerative approach for analyzing time petri nets. In Proceedings IFIP, pages Elsevier Science Publishers, [11] Bernard Berthomieu, Florent Peres, and François Vernadat. Bridging the gap between timed automata and bounded time petri nets. In Proceedings of the 4th International Conference on Formal Modeling and Analysis of Timed Systems, FORMATS 06, pages 82 97, Berlin, Heidelberg, Springer-Verlag. [12] Patricia Bouyer. Extended timed automata and time petri nets, [13] Patricia Bouyer, Serge Haddad, and Pierre alain Reynier. Timed petri nets and timed automata : On the discriminating power of zeno sequences, [14] F.D.J Bowden. A brief survey and synthesis of the roles of time in petri nets. Mathematical and Computer Modelling. 28
COMP 763. Eugene Syriani. Ph.D. Student in the Modelling, Simulation and Design Lab School of Computer Science. McGill University
Eugene Syriani Ph.D. Student in the Modelling, Simulation and Design Lab School of Computer Science McGill University 1 OVERVIEW In the context In Theory: Timed Automata The language: Definitions and Semantics
More informationRT-Studio: A tool for modular design and analysis of realtime systems using Interpreted Time Petri Nets
RT-Studio: A tool for modular design and analysis of realtime systems using Interpreted Time Petri Nets Rachid Hadjidj and Hanifa Boucheneb Abstract. RT-Studio (Real Time Studio) is an integrated environment
More informationA Test Case Generation Algorithm for Real-Time Systems
A Test Case Generation Algorithm for Real-Time Systems Anders Hessel and Paul Pettersson Department of Information Technology Uppsala University, P.O. Box 337 SE-751 05 Uppsala, Sweden {hessel,paupet}@it.uu.se
More informationMODEL-BASED DESIGN OF CODE FOR PLC CONTROLLERS
Krzysztof Sacha Warsaw University of Technology, Nowowiejska 15/19, 00-665 Warszawa, Poland k.sacha@ia.pw.edu.pl Keywords: Abstract: Automatic program generation, Model verification, Finite state machine,
More informationTimed Automata From Theory to Implementation
Timed Automata From Theory to Implementation Patricia Bouyer LSV CNRS & ENS de Cachan France Chennai january 2003 Timed Automata From Theory to Implementation p.1 Roadmap Timed automata, decidability issues
More informationTimed Automata: Semantics, Algorithms and Tools
Timed Automata: Semantics, Algorithms and Tools Johan Bengtsson and Wang Yi Uppsala University Email: {johanb,yi}@it.uu.se Abstract. This chapter is to provide a tutorial and pointers to results and related
More informationwant turn==me wait req2==0
Uppaal2k: Small Tutorial Λ 16 October 2002 1 Introduction This document is intended to be used by new comers to Uppaal and verification. Students or engineers with little background in formal methods should
More informationSpecification and Analysis of Real-Time Systems Using Real-Time Maude
Specification and Analysis of Real-Time Systems Using Real-Time Maude Peter Csaba Ölveczky1,2 and José Meseguer 1 1 Department of Computer Science, University of Illinois at Urbana-Champaign 2 Department
More informationSoftware Testing IV. Prof. Dr. Holger Schlingloff. Humboldt-Universität zu Berlin
Software Testing IV Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin and Fraunhofer Institute of Computer Architecture and Software Technology FIRST Outline of this Lecture Series 2006/11/24:
More informationAn Introduction to UPPAAL. Purandar Bhaduri Dept. of CSE IIT Guwahati
An Introduction to UPPAAL Purandar Bhaduri Dept. of CSE IIT Guwahati Email: pbhaduri@iitg.ernet.in OUTLINE Introduction Timed Automata UPPAAL Example: Train Gate Example: Task Scheduling Introduction UPPAAL:
More informationModel checking pushdown systems
Model checking pushdown systems R. Ramanujam Institute of Mathematical Sciences, Chennai jam@imsc.res.in Update Meeting, IIT-Guwahati, 4 July 2006 p. 1 Sources of unboundedness Data manipulation: integers,
More informationTimo Latvala. January 28, 2004
Reactive Systems: Kripke Structures and Automata Timo Latvala January 28, 2004 Reactive Systems: Kripke Structures and Automata 3-1 Properties of systems invariants: the system never reaches a bad state
More informationTIMES A Tool for Modelling and Implementation of Embedded Systems
TIMES A Tool for Modelling and Implementation of Embedded Systems Tobias Amnell, Elena Fersman, Leonid Mokrushin, Paul Pettersson, and Wang Yi Uppsala University, Sweden. {tobiasa,elenaf,leom,paupet,yi}@docs.uu.se.
More informationGeneralized Coordinates for Cellular Automata Grids
Generalized Coordinates for Cellular Automata Grids Lev Naumov Saint-Peterburg State Institute of Fine Mechanics and Optics, Computer Science Department, 197101 Sablinskaya st. 14, Saint-Peterburg, Russia
More informationAutomatic synthesis of switching controllers for linear hybrid systems: Reachability control
Automatic synthesis of switching controllers for linear hybrid systems: Reachability control Massimo Benerecetti and Marco Faella Università di Napoli Federico II, Italy Abstract. We consider the problem
More informationT Reactive Systems: Kripke Structures and Automata
Tik-79.186 Reactive Systems 1 T-79.186 Reactive Systems: Kripke Structures and Automata Spring 2005, Lecture 3 January 31, 2005 Tik-79.186 Reactive Systems 2 Properties of systems invariants: the system
More informationMANY real-time applications need to store some data
Proceedings of the International Multiconference on Computer Science and Information Technology pp. 673 678 ISBN 978-83-60810-14-9 ISSN 1896-7094 Modeling Real-Time Database Concurrency Control Protocol
More informationStructure of Abstract Syntax trees for Colored Nets in PNML
Structure of Abstract Syntax trees for Colored Nets in PNML F. Kordon & L. Petrucci Fabrice.Kordon@lip6.fr Laure.Petrucci@lipn.univ-paris13.fr version 0.2 (draft) June 26, 2004 Abstract Formalising the
More informationThe UPPAAL Model Checker. Julián Proenza Systems, Robotics and Vision Group. UIB. SPAIN
The UPPAAL Model Checker Julián Proenza Systems, Robotics and Vision Group. UIB. SPAIN The aim of this presentation Introduce the basic concepts of model checking from a practical perspective Describe
More informationFormal languages and computation models
Formal languages and computation models Guy Perrier Bibliography John E. Hopcroft, Rajeev Motwani, Jeffrey D. Ullman - Introduction to Automata Theory, Languages, and Computation - Addison Wesley, 2006.
More informationOverview of Timed Automata and UPPAAL
Overview of Timed Automata and UPPAAL Table of Contents Timed Automata Introduction Example The Query Language UPPAAL Introduction Example Editor Simulator Verifier Conclusions 2 Introduction to Timed
More informationUSING TIME PETRI NETS FOR MODELING AND VERIFICATION OF TIMED CONSTRAINED WORKFLOW SYSTEMS
ABCM Symposium Series in Mechatronics - Vol. 3 - pp.471-478 Copyright c 2008 by ABCM USING TIME PETRI NETS FOR MODELING AND VERIFICATION OF TIMED CONSTRAINED WORKFLOW SYSTEMS Pedro M. Gonzalez del Foyo,
More informationLexical Analysis. COMP 524, Spring 2014 Bryan Ward
Lexical Analysis COMP 524, Spring 2014 Bryan Ward Based in part on slides and notes by J. Erickson, S. Krishnan, B. Brandenburg, S. Olivier, A. Block and others The Big Picture Character Stream Scanner
More informationModeling and Verification of Priority Assignment in Real-Time Databases Using Uppaal
Modeling and Verification of Priority Assignment in Real-Time Databases Using Uppaal Martin Kot Martin Kot Center for Applied Cybernetics, Department of Computer Science, FEI, Center for Applied VSBCybernetics,
More informationTimed Automata with Asynchronous Processes: Schedulability and Decidability
Timed Automata with Asynchronous Processes: Schedulability and Decidability Elena Fersman, Paul Pettersson and Wang Yi Uppsala University, Sweden Abstract. In this paper, we exend timed automata with asynchronous
More informationAN ABSTRACTION TECHNIQUE FOR REAL-TIME VERIFICATION
AN ABSTRACTION TECHNIQUE FOR REAL-TIME VERIFICATION Edmund M. Clarke, Flavio Lerda, Muralidhar Talupur Computer Science Department Carnegie Mellon University Pittsburgh, PA 15213 {flerda,tmurali,emc}@cs.cmu.edu
More informationFinite Automata Theory and Formal Languages TMV027/DIT321 LP4 2016
Finite Automata Theory and Formal Languages TMV027/DIT321 LP4 2016 Lecture 15 Ana Bove May 23rd 2016 More on Turing machines; Summary of the course. Overview of today s lecture: Recap: PDA, TM Push-down
More informationProc. XVIII Conf. Latinoamericana de Informatica, PANEL'92, pages , August Timed automata have been proposed in [1, 8] to model nite-s
Proc. XVIII Conf. Latinoamericana de Informatica, PANEL'92, pages 1243 1250, August 1992 1 Compiling Timed Algebras into Timed Automata Sergio Yovine VERIMAG Centre Equation, 2 Ave de Vignate, 38610 Gieres,
More informationEfficient Synthesis of Production Schedules by Optimization of Timed Automata
Efficient Synthesis of Production Schedules by Optimization of Timed Automata Inga Krause Institute of Automatic Control Engineering Technische Universität München inga.krause@mytum.de Joint Advanced Student
More informationDISCRETE-event dynamic systems (DEDS) are dynamic
IEEE TRANSACTIONS ON CONTROL SYSTEMS TECHNOLOGY, VOL. 7, NO. 2, MARCH 1999 175 The Supervised Control of Discrete-Event Dynamic Systems François Charbonnier, Hassane Alla, and René David Abstract The supervisory
More informationFormal Definition of Computation. Formal Definition of Computation p.1/28
Formal Definition of Computation Formal Definition of Computation p.1/28 Computation model The model of computation considered so far is the work performed by a finite automaton Formal Definition of Computation
More informationIssues on Decentralized Consistency Checking of Multi-lateral Collaborations
Issues on Decentralized Consistency Checking of Multi-lateral Collaborations Andreas Wombacher University of Twente Enschede The Netherlands a.wombacher@utwente.nl Abstract Decentralized consistency checking
More informationEditor. Analyser XML. Scheduler. generator. Code Generator Code. Scheduler. Analyser. Simulator. Controller Synthesizer.
TIMES - A Tool for Modelling and Implementation of Embedded Systems Tobias Amnell, Elena Fersman, Leonid Mokrushin, Paul Pettersson, and Wang Yi? Uppsala University, Sweden Abstract. Times is a new modelling,
More informationVerifying Periodic Task-Control Systems. Vlad Rusu? Abstract. This paper deals with the automated verication of a class
Verifying Periodic Task-Control Systems Vlad Rusu? Abstract. This paper deals with the automated verication of a class of task-control systems with periods, durations, and scheduling specications. Such
More informationModular Petri Net Processor for Embedded Systems
Modular Petri Net Processor for Embedded Systems Orlando Micolini 1, Emiliano N. Daniele, Luis O. Ventre Laboratorio de Arquitectura de Computadoras (LAC) FCEFyN Universidad Nacional de Córdoba orlando.micolini@unc.edu.ar,
More informationEECS 144/244: Fundamental Algorithms for System Modeling, Analysis, and Optimization
EECS 144/244: Fundamental Algorithms for System Modeling, Analysis, and Optimization Dataflow Lecture: SDF, Kahn Process Networks Stavros Tripakis University of California, Berkeley Stavros Tripakis: EECS
More informationAVERIST: An Algorithmic Verifier for Stability
Available online at www.sciencedirect.com Electronic Notes in Theoretical Computer Science 317 (2015) 133 139 www.elsevier.com/locate/entcs AVERIST: An Algorithmic Verifier for Stability Pavithra Prabhakar
More informationTAPAAL: Editor, Simulator and Verifier of Timed-Arc Petri Nets
TAPAAL: Editor, Simulator and Verifier of Timed-Arc Petri Nets Joakim Byg, Kenneth Yrke Jørgensen, and Jiří Srba Department of Computer Science, Aalborg University, Selma Lagerlöfs Vej 300, 9220 Aalborg
More informationJoint Entity Resolution
Joint Entity Resolution Steven Euijong Whang, Hector Garcia-Molina Computer Science Department, Stanford University 353 Serra Mall, Stanford, CA 94305, USA {swhang, hector}@cs.stanford.edu No Institute
More informationOn Petri Nets and Predicate-Transition Nets
On Petri Nets and Predicate-Transition Nets Andrea Röck INRIA - project CODES Roquencourt - BP 105 Le Chesnay Cedex 78153, FRANCE Ray Kresman Department of Computer Science Bowling Green State University
More informationGraphical Tool For SC Automata.
Graphical Tool For SC Automata. Honours Project: 2000 Dr. Padmanabhan Krishnan 1 Luke Haslett 1 Supervisor Abstract SC automata are a variation of timed automata which are closed under complementation.
More informationA SMIL Editor and Rendering Tool for Multimedia Synchronization and Integration
A SMIL Editor and Rendering Tool for Multimedia Synchronization and Integration Stephen J.H. Yang 1, Norman W.Y. Shao 2, Kevin C.Y. Kuo 3 National Central University 1 National Kaohsiung First University
More informationReal-Time Model-Checking: Parameters Everywhere
"!$#&%(*)+#-,(00!4(57(9(:=*?*?*@BADC$E FHGJIKDLMNPOQG R SUT G
More informationModeling a Production Cell as a Distributed Real-Time System with Cottbus Timed Automata
Modeling a Production Cell as a Distributed Real-Time System with Cottbus Timed Automata Dirk Beyer and Heinrich Rust? Lehrstuhl für Software Systemtechnik, BTU Cottbus Abstract. We build on work in designing
More informationDatabase Theory VU , SS Introduction: Relational Query Languages. Reinhard Pichler
Database Theory Database Theory VU 181.140, SS 2018 1. Introduction: Relational Query Languages Reinhard Pichler Institut für Informationssysteme Arbeitsbereich DBAI Technische Universität Wien 6 March,
More informationECDAR: An Environment for Compositional Design and Analysis of Real Time Systems
ECDAR: An Environment for Compositional Design and Analysis of Real Time Systems AlexandreDavid 1,Kim.G.Larsen 1,AxelLegay 2, UlrikNyman 1,AndrzejWąsowski 3 1 ComputerScience,AalborgUniversity,Denmark
More informationModel checking and timed CTL
Chapter 6 Model checking and timed CTL Ah! What did I tell you? 88 miles per hour! The temporal displacement occurred at exactly 1:20am and *zero* seconds! [Dr Emmett Brown] 6.1 Timed CTL Page 86 Formal
More informationA Formalization of Transition P Systems
Fundamenta Informaticae 49 (2002) 261 272 261 IOS Press A Formalization of Transition P Systems Mario J. Pérez-Jiménez and Fernando Sancho-Caparrini Dpto. Ciencias de la Computación e Inteligencia Artificial
More informationTimed Automata. Rajeev Alur. University of Pennsylvania
Timed Automata Rajeev Alur University of Pennsylvania www.cis.upenn.edu/~alur/ SFM-RT, Bertinoro, Sept 2004 model temporal property Model Checker yes error-trace Advantages Automated formal verification,
More informationFine-grained Compatibility and Replaceability Analysis of Timed Web Service Protocols
Fine-grained Compatibility and Replaceability Analysis of Timed Web Service Protocols Julien Ponge 1,2, Boualem Benatallah 2, Fabio Casati 3 and Farouk Toumani 1 (1) Université Blaise Pascal, Clermont-Ferrand,
More informationMODELING INTERACTIVE SYSTEMS WITH HIERARCHICAL COLORED PETRI NETS
MODELING INTERACTIVE SYSTEMS WITH HIERARCHICAL COLORED PETRI NETS Mohammed Elkoutbi and Rudolf K. Keller Université de Montréal, DIRO, C.P. 6128, Succursale Centre-ville, Montréal, Canada, H3C 3J7 {elkoutbi,
More informationReducing Clocks in Timed Automata while Preserving Bisimulation
Reducing Clocks in Timed Automata while Preserving Bisimulation Shibashis Guha Chinmay Narayan S. Arun-Kumar Indian Institute of Technology Delhi {shibashis, chinmay, sak}@cse.iitd.ac.in arxiv:1404.6613v2
More informationTowards an Environment under which Executing LAPs
Towards an Environment under which Executing s J.B. Mocholí, D. Domínguez. C. Fernández Tecnologías para la Salud y el Bienestar (TSB), Instituto ITACA, Universidad Politécnica de Valencia (UPV) {juamocag,
More informationBy: Chaitanya Settaluri Devendra Kalia
By: Chaitanya Settaluri Devendra Kalia What is an embedded system? An embedded system Uses a controller to perform some function Is not perceived as a computer Software is used for features and flexibility
More informationPast Pushdown Timed Automata and Safety Verification
Past Pushdown Timed Automata and Safety Verification Zhe Dang, Tevfik Bultan, Oscar H. Ibarra, and Richard A. Kemmerer Abstract We consider past pushdown timed automata that are discrete pushdown timed
More informationFachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn. 2.3 Timed Automata and Real-Time Statecharts
2.3 Timed Automata and Real-Time Statecharts Develop a BOOK RATING APP and win awesome prizes! The creators of the best submissions will be invited to an exclusive party in February
More informationDatabase Theory VU , SS Introduction: Relational Query Languages. Reinhard Pichler
Database Theory Database Theory VU 181.140, SS 2011 1. Introduction: Relational Query Languages Reinhard Pichler Institut für Informationssysteme Arbeitsbereich DBAI Technische Universität Wien 8 March,
More informationtempo2hsal: Converting Tempo Models into HybridSal Tool Description
tempo2hsal: Converting Tempo Models into HybridSal Tool Description Ashish Tiwari Bruno Dutertre Computer Science Laboratory SRI International Menlo Park CA 94025 USA Report submitted under Honeywell subcontract
More informationPetri Nets. Robert A. McGuigan, Department of Mathematics, Westfield State
24 Petri Nets Author: College. Robert A. McGuigan, Department of Mathematics, Westfield State Prerequisites: The prerequisites for this chapter are graphs and digraphs. See Sections 9.1, 9.2, and 10.1
More information1. Draw the state graphs for the finite automata which accept sets of strings composed of zeros and ones which:
P R O B L E M S Finite Autom ata. Draw the state graphs for the finite automata which accept sets of strings composed of zeros and ones which: a) Are a multiple of three in length. b) End with the string
More informationModel-based GUI testing using Uppaal at NOVO Nordisk
Model-based GUI testing using Uppaal at NOVO Nordisk Ulrik H. Hjort 2, Jacob Illum 1, Kim G. Larsen 1, Michael A. Petersen 2, and Arne Skou 1 1 Department of Computer Science, Aalborg University, Denmark
More informationManaging test suites for services
Managing test suites for services Kathrin Kaschner Universität Rostock, Institut für Informatik, 18051 Rostock, Germany kathrin.kaschner@uni-rostock.de Abstract. When developing an existing service further,
More informationLecture 6. Abstract Interpretation
Lecture 6. Abstract Interpretation Wei Le 2014.10 Outline Motivation History What it is: an intuitive understanding An example Steps of abstract interpretation Galois connection Narrowing and Widening
More informationCLAN: A Tool for Contract Analysis and Conflict Discovery
CLAN: A Tool for Contract Analysis and Conflict Discovery Stephen Fenech 1, Gordon J. Pace 1, and Gerardo Schneider 2 1 Dept. of Computer Science, University of Malta, Malta 2 Dept. of Informatics, University
More informationCS5371 Theory of Computation. Lecture 8: Automata Theory VI (PDA, PDA = CFG)
CS5371 Theory of Computation Lecture 8: Automata Theory VI (PDA, PDA = CFG) Objectives Introduce Pushdown Automaton (PDA) Show that PDA = CFG In terms of descriptive power Pushdown Automaton (PDA) Roughly
More informationIntroduction to Automata Theory. BİL405 - Automata Theory and Formal Languages 1
Introduction to Automata Theory BİL405 - Automata Theory and Formal Languages 1 Automata, Computability and Complexity Automata, Computability and Complexity are linked by the question: What are the fundamental
More informationjunit RV Adding Runtime Verification to junit
junit RV Adding Runtime Verification to junit Normann Decker, Martin Leucker, and Daniel Thoma Institute for Software Engineering and Programming Languages Universität zu Lübeck, Germany {decker, leucker,
More informationProcess Model Consistency Measurement
IOSR Journal of Computer Engineering (IOSRJCE) ISSN: 2278-0661, ISBN: 2278-8727Volume 7, Issue 6 (Nov. - Dec. 2012), PP 40-44 Process Model Consistency Measurement Sukanth Sistla CSE Department, JNTUniversity,
More informationUppaal can be used to model check Orc models. The approach is demonstrated through a small case study. In [7], the authors deal with the compatibility
Specification and Verification of Timed Semantic web Services Amel Boumaza LIRE laboratory, Constantine 2 University Constantine, Algeria Spd_ing2006@yahoo.fr Ramdane Maameri LIRE laboratory, Constantine
More informationTimed Automata Based Scheduling for a Miniature Pipeless Plant with Mobile Robots *
Timed Automata Based Scheduling for a Miniature Pipeless Plant with Mobile Robots * Christian Schoppmeyer, Martin Hüfner, Subanatarajan Subbiah, and Sebastian Engell Abstract In this contribution we present
More informationFrom Task Graphs to Petri Nets
From Task Graphs to Petri Nets Anthony Spiteri Staines Department of Computer Inf. Systems, Faculty of ICT, University of Malta Abstract This paper describes the similarities between task graphs and Petri
More informationTechnische Universiteit Eindhoven Department of Mathematics and Computer Science. Relationship between Simulink and Petri nets
Technische Universiteit Eindhoven Department of Mathematics and Computer Science Relationship between Simulink and Petri nets D. Bera, K.M. van Hee and H. Nijmeijer 14/06 ISSN 0926-4515 All rights reserved
More informationA Real-Time Animator for Hybrid Systems
A Real-Time Animator for Hybrid Systems Tobias Amnell, Alexandre David Wang Yi Department of Computer Systems, Uppsala University {adavid, tobiasa, yi} @docsuuse Abstract In this paper, we present a real
More informationTiPEX: A Tool Chain for Timed Property Enforcement During execution
TiPEX: A Tool Chain for Timed Property Enforcement During execution Srinivas Pinisetty, Yliès Falcone, Thierry Jéron, Hervé Marchand To cite this version: Srinivas Pinisetty, Yliès Falcone, Thierry Jéron,
More informationTemporal Logic and Timed Automata
Information Systems Analysis Temporal Logic and Timed Automata (5) UPPAAL timed automata Paweł Głuchowski, Wrocław University of Technology version 2.3 Contents of the lecture Tools for automatic verification
More informationApplication of an Exact Transversal Hypergraph in Selection of SM-Components
Application of an Exact Transversal Hypergraph in Selection of SM-Components Łukasz Stefanowicz, Marian Adamski, and Remigiusz Wisniewski University of Zielona Góra, Institute of Computer Engineering and
More informationAbout the Tutorial. Audience. Prerequisites. Copyright & Disclaimer. Compiler Design
i About the Tutorial A compiler translates the codes written in one language to some other language without changing the meaning of the program. It is also expected that a compiler should make the target
More informationPaths, Flowers and Vertex Cover
Paths, Flowers and Vertex Cover Venkatesh Raman M. S. Ramanujan Saket Saurabh Abstract It is well known that in a bipartite (and more generally in a König) graph, the size of the minimum vertex cover is
More informationModal Models in Ptolemy
Modal Models in Ptolemy Edward A. Lee Stavros Tripakis UC Berkeley Workshop on Equation-Based Object-Oriented Modeling Languages and Tools 3rd International Workshop on Equation-Based Object-Oriented Modeling
More informationECS 120 Lesson 7 Regular Expressions, Pt. 1
ECS 120 Lesson 7 Regular Expressions, Pt. 1 Oliver Kreylos Friday, April 13th, 2001 1 Outline Thus far, we have been discussing one way to specify a (regular) language: Giving a machine that reads a word
More informationCS 125 Section #4 RAMs and TMs 9/27/16
CS 125 Section #4 RAMs and TMs 9/27/16 1 RAM A word-ram consists of: A fixed set of instructions P 1,..., P q. Allowed instructions are: Modular arithmetic and integer division on registers; the standard
More informationHYBRID PETRI NET MODEL BASED DECISION SUPPORT SYSTEM. Janetta Culita, Simona Caramihai, Calin Munteanu
HYBRID PETRI NET MODEL BASED DECISION SUPPORT SYSTEM Janetta Culita, Simona Caramihai, Calin Munteanu Politehnica University of Bucharest Dept. of Automatic Control and Computer Science E-mail: jculita@yahoo.com,
More informationLeveraging DTrace for runtime verification
Leveraging DTrace for runtime verification Carl Martin Rosenberg June 7th, 2016 Department of Informatics, University of Oslo Context: Runtime verification Desired properties System Every request gets
More informationplant OUTLINE The Same Goal: Reliable Controllers Who is Who in Real Time Systems
OUTLINE Introduction Lecture 1: Motivation, examples, problems to solve Modeling and Verication of Timed Systems Lecture 2: Timed automata, and timed automata in UAAL Lecture 3: Symbolic verification:
More informationQualitative Analysis of WorkFlow nets using Linear Logic: Soundness Verification
Proceedings of the 2009 IEEE International Conference on Systems, Man, and Cybernetics San Antonio, TX, USA - October 2009 Qualitative Analysis of WorkFlow nets using Linear Logic: Soundness Verification
More informationCover Page. The handle holds various files of this Leiden University dissertation
Cover Page The handle http://hdl.handle.net/1887/22891 holds various files of this Leiden University dissertation Author: Gouw, Stijn de Title: Combining monitoring with run-time assertion checking Issue
More informationAutomated Formal Methods for Embedded Systems
Automated Formal Methods for Embedded Systems Bernd Finkbeiner Universität des Saarlandes Reactive Systems Group 2011/02/03 Bernd Finkbeiner (UdS) Embedded Systems 2011/02/03 1 / 48 Automated Formal Methods
More informationCT32 COMPUTER NETWORKS DEC 2015
Q.2 a. Using the principle of mathematical induction, prove that (10 (2n-1) +1) is divisible by 11 for all n N (8) Let P(n): (10 (2n-1) +1) is divisible by 11 For n = 1, the given expression becomes (10
More informationPetri-net-based Workflow Management Software
Petri-net-based Workflow Management Software W.M.P. van der Aalst Department of Mathematics and Computing Science, Eindhoven University of Technology, P.O. Box 513, NL-5600 MB, Eindhoven, The Netherlands,
More informationExpressiveness of Streaming String Transducers
University of Pennsylvania ScholarlyCommons Departmental Papers (CIS) Department of Computer & Information Science 2010 Expressiveness of Streaming String Transducers Rajeev Alur University of Pennsylvania,
More informationTowards Validated Real-Time Software
Towards Validated Real-Time Software Valérie BERTIN, Michel POIZE, Jacques PULOU France Télécom - Centre National d'etudes des Télécommunications 28 chemin du Vieux Chêne - BP 98-38243 Meylan cedex - France
More informationVerification in Continuous Time Recent Advances
Verification in Continuous Time Recent Advances Hongyang Qu Department of Automatic Control and Systems Engineering University of Sheffield 10 March 2017 Outline Motivation Probabilistic models Real-time
More informationModel-checking with the TimeLine formalism
Model-checking with the TimeLine formalism Andrea Zaccara University of Antwerp Andrea.Zaccara@student.uantwerpen.be Abstract A logical model checker can be an effective tool for verification of software
More information4/6/2011. Model Checking. Encoding test specifications. Model Checking. Encoding test specifications. Model Checking CS 4271
Mel Checking LTL Property System Mel Mel Checking CS 4271 Mel Checking OR Abhik Roychoudhury http://www.comp.nus.edu.sg/~abhik Yes No, with Counter-example trace 2 Recap: Mel Checking for mel-based testing
More informationAction Language Verifier, Extended
Action Language Verifier, Extended Tuba Yavuz-Kahveci 1, Constantinos Bartzis 2, and Tevfik Bultan 3 1 University of Florida 2 Carnegie Mellon University 3 UC, Santa Barbara 1 Introduction Action Language
More informationFinite State Automata as a Data Storage
Finite State Automata as a Data Storage Marian Mindek and Martin Hynar Finite State Automata as Data Storage Department of Computer Science, VŠB Technical University of Ostrava 17. listopadu 15, 708 33
More informationHandout 9: Imperative Programs and State
06-02552 Princ. of Progr. Languages (and Extended ) The University of Birmingham Spring Semester 2016-17 School of Computer Science c Uday Reddy2016-17 Handout 9: Imperative Programs and State Imperative
More informationCS 314 Principles of Programming Languages. Lecture 3
CS 314 Principles of Programming Languages Lecture 3 Zheng Zhang Department of Computer Science Rutgers University Wednesday 14 th September, 2016 Zheng Zhang 1 CS@Rutgers University Class Information
More informationParallel Model Checking of ω-automata
Parallel Model Checking of ω-automata Vincent Bloemen Formal Methods and Tools, University of Twente v.bloemen@utwente.nl Abstract. Specifications for non-terminating reactive systems are described by
More informationProgramming Languages Third Edition
Programming Languages Third Edition Chapter 12 Formal Semantics Objectives Become familiar with a sample small language for the purpose of semantic specification Understand operational semantics Understand
More information