Ν 1. Τ 5 Error X. Error

Size: px
Start display at page:

Download "Ν 1. Τ 5 Error X. Error"

Transcription

1 PLC-Automata: A New Class of Implementable Real-Time Automata? Henning Dierks?? University of Oldenburg, Germany Abstract. We introduce a new class of automata which are tailored for dealing with real-time properties modelling the behaviour of Programmable Logic Controllers (PLC) that are often used in practice to solve controlling problems. A semantics in an appropriate temporal logic (Duration Calculus) is given and an implementation schema is presented in a programming language for PLCs that ts the semantics. Finally, a case study shows the suitability of this approach. Introduction In this paper we propose a language to specify real-time systems that ts both the needs of computer scientists and programmers of such systems. Formal specication and verication of real-time systems that are used in practice depend on the communication between the scientist who models the behaviour of the system by formal methods and the programmer who is working in practice with it. This language is motivated by the experiences we made in the UniForMproject [7] with an industrial partner. The aim of the project is the development of real-time systems in a workbench using combinations of formal methods. We present a formal semantics that allows formal reasoning and proving correctness using the Duration Calculus [4] which is a suitable temporal logic. We also give an implementation of such systems in a particular hardware called Programmable Logic Controllers (PLC). These PLCs are very often used in practice to implement real-time systems. The reason is that they provide both convenient methods to deal with time and an automatic polling mechanism. Nevertheless, every computer system can be used to implement the proposed language if a comparable handling of time and an explicit polling is added. Furthermore, the language can be viewed as a denition of a very small but implementable subset of Timed Automata [].? This research was partially supported by the German Ministry for Education and Research (BMBF) as part of the project UniForM under grant No. FKZ IS 52 B3.?? dierks@informatik.uni-oldenburg.de See the appendix.

2 2 The Behaviour of Programmable Logic Controllers Programmable Logic Controllers (PLC) are often used in industry for solving tasks calling for real-time problems like railway crossings, trac control, or production cells. Due to this special application background PLCs have features for making the design of time- and safety-critical systems easier: { PLCs have input and output channels where sensors and actuators resp. can be plugged in. { They behave in a cyclic manner where every cycle consists of the following phases: Polling all inputs and storing the read values. Compute the new values for the outputs. Update all outputs. The repeated execution of this cycle is managed by the operating system. The only part the programmer has to adapt is the computing phase. Thus, PLCs are implemented polling machines realising the typical method of solving time-critical problems in reality. { Depending on the program and on the number of inputs and outputs there is an upper time bound for a cycle that can be used to calculate the reaction time. { Convenient standardised libraries are given to simplify the handling of time. Although these characteristics are quite useful PLC-programmers have to face the following problem: If an input signal does not hold for at least the maximum amount of time needed for a cycle, one cannot be sure that the PLC will ever read this signal. This problem can be solved either by { changing the sensors used in the setting or by { using PLCs that are fast enough. The decision in which way the problem should be solved depends on availability and costs of both faster PLCs and sensors that assure longer lasting signals. Another important feature of PLCs is that they can be coupled: the output of one PLC can be the input of another PLC. In fact, their operating systems do not dierentiate between a sensor's input and a PLC's input and between an output to actuators or to PLCs respectively. Thus, the programmer is again obliged to consider how long an output signal from one PLC will be held and how long it must be held to make sure that it has been noticed by the other PLC. Note that this is one advantage of using PLCs. It obliges the programmer to check both his sensors and cycle time, which makes the assumptions concerning the hardware explicit.

3 3 The Denition of PLC-Automata In this section we propose a language which is designed for tting both the needs of computer scientists and engineers programming PLCs. Engineers, often being electrical engineers, are used to developing PLC-programs in assemblerlike languages or languages that are closely related to circuit diagrams. In the UniForM-project [7] we made the experience that automaton-like pictures can serve as a common basis for computer scientists and engineers because the latter gave them a semantics suitable to PLCs in an intuitive way. This was the motivation for us to formalise this language and to dene a formal semantics for it in a suitable temporal logic. On the one hand, this allows formal reasoning; on the other hand, this respects the behaviour of PLCs and the intuitive semantics given by the programmers. In the railway case study of the UniForM-Project we are dealing with problems like the following one: Problem 3.. Consider a train detecting sensor that signals \" if a train is approaching and \" if not. Unfortunately, the sensor can stutter for at most four seconds after a train has passed the sensor. Assume that the distance between two subsequent trains is at least six seconds. Develop a system that lters the stuttering. The automaton in Fig. shows such a device. This gure denes a PLCautomaton consisting of two states N and T. It reacts on the lter's input or accordingly. This automaton should behave as follows: { It starts in state \N". { It polls the input. { If it is in state \N" and the input is \", it changes to state \T". { Now the automaton holds this state for ve seconds. Afterwards it remains in this state as long as polling the input yields a \". { Otherwise it changes to state \N" and continues as before. Ν T 5 Figure. Filtering device. Thus, counting the trains that passed the sensor simply requires to count the changes from \N" to \T". Filtering the stuttering is done by ignoring the input for ve seconds. Note that we have to assume an upper bound for the cycle time in order to detect subsequent trains correctly. A semantics of these automata should enable us to calculate this upper bound. This sort of automaton and the informal description of its behaviour is a result of our discussions with industrial experts.

4 A more sophisticated problem is: Problem 3.2. Consider the train detecting sensor given in Problem 3. again, but now let it be equipped with a watch dog that detects failures of the device by the signal \Error". The task is now to lter the stuttering and to recognise such errors as soon as possible. Ν Τ 5 Error X Error Figure 2. Filtering device with detection of errors. Σ We want to enhance the automaton of Fig. in order to react on the \Error" signal immediately. Therefore, an error state X is added to represent this information (Fig. 2). The additional transitions are trivial: Whenever there is the signal \Error" the automaton should change its state to \X". However, this automaton does not solve Problem 3.2. Consider the case when an \Error" occurs immediately after a change from \N" to \T". In this case the automaton would not change to \X" immediately because it is required to stay at least ve seconds in \T". Ν,Σ Error X,Σ Τ 5,{,} Error Figure 3. Filtering device with immediate detection of errors. Read as f; ; Errorg. Σ To overcome this problem we introduce a set of inputs for each state of the automaton. The informal meaning of a state equipped with a delay time t and a set A of inputs is that inputs contained in A are ignored for the rst t seconds staying in this state. Inputs outside A are never ignored, i.e. they force the automaton to react immediately. Figure 3 shows how this extension can be used to solve Problem 3.2. It behaves the same way as the automaton of Fig. provided that no \Error" signal occurs. If an \Error" occurs, the automaton of Fig. 3 changes to state \X" regardless in which state it was before and how long

5 it was there. Summarising this we dene an automaton-like structure extended by some components: Denition 3.3. A tuple A = (Q; ; ; ; "; S t ; S e ; ;!) is a PLC-automaton if { Q is a nonempty, nite set of states, { is a nonempty, nite set of inputs, { is a function of type Q?! Q (transition function), { 2 Q is the initial state, { " > is the upper bound for a cycle. { S t is a function of type Q?! IR assigning to each state a delay time how long the inputs contained in S e () should be ignored, { S e is a function of type Q?! P() n f;g assigning to each state a set of delayed inputs that cause no change of the state during the rst time units the automaton stays in this state, { is a nonempty, nites set of outputs, {! is a function of type Q?! (output function) and it holds 8 2 Q; a 2 : S t () > ^ a =2 S e () =) (; a) 6= : () The additional components are needed to model PLC-behaviour and to enrich the language for dealing with real-time aspects. The " represents the upper bound for a cycle of a PLC and enables us to model this cycle in the semantics. More dicult to understand are the functions S t and S e. They attach to each state of A a delay time and a set of inputs. We want the automaton to remain in state for at least S t () seconds provided that only inputs in S e () are read. In other words inputs in S e () are ignored for the rst S t () seconds. An equivalent description is that the state is held for S t () seconds, but if during this period an input in n S e () is read the automaton will react immediately. The restriction () is introduced because the set n S e () is intended to be a set of \emergency exits" and we expect that such an exit leads to a state dierent from. PLC-Automata look similar to Timed Automata [] but the details are dierent. Although a transformation of a PLC-Automaton into a Timed Automaton can be given, the result is a much more complicated description because we have to switch from a state-based to an event-based formalism. Another reason is that we have to consider that the PLC is not obliged to react on all input signals. 2 4 The Duration Calculus In this section we recall the Duration Calculus, a logic which is particularly appropriate to formulate the semantics of a PLC-automaton (see Sect. 5). The 2 See the appendix for details.

6 Duration Calculus [4, 3] is a real-time interval temporal logic extending earlier work on discrete interval temporal logic of [9]. A formal description of a realtime system using Duration Calculus (DC for short) starts by choosing a number of time-dependent state variables or observables obs of a certain type. An interpretation I assigns to each state variable a function obs I : Time?! D where Time is the time domain, here the non-negative reals, and D is the type of obs. State assertions P are obtained by applying propositional connectives to elementary assertions of the form obs = v (v for short if obs is clear) for a v 2 D. For a given interpretation I state assertions denote functions P I : Time?! Bool: Duration formulae F are evaluated in a given interpretation I and a given time interval [b; e] Time. The basic syntax of duration formulae is as follows: R { Duration: P = k expresses that the duration of the R state assertion P in e [b; e] is k. Semantically, duration is the measurement P b I(t)dt. { Chop: The composite duration formula F ; F 2 (read as F chop F 2 ) holds in [b; e] if this interval can be divided into an initial subinterval [b; m] where F holds and a nal subinterval [m; e] where F 2 holds. { Connectives: Duration formulae are closed under propositional connectives. Besides this basic syntax R various abbreviations are used: length: ` = df true point interval: de = df ` R = everywhere: dp e = df P = ` ^ ` > somewhere: 3F = df true; F ; true always: 2F = df :3:F F t = df (F ^ ` = t) A duration formula F holds in an interpretation I if F evaluates to true in I and every interval of the form [; t] with t 2 Time. The following so-called standard forms are useful to describe dynamic behaviour: { followed-by: F?! dp e = df 2:(F ; d:p e) { timed leads-to: F?! t dp e = df (F ^ ` = t)?! dp e { timed up-to: F?! t dp e = df (F ^ ` t)?! dp e As before we have t 2 Time. Intuitively, F?! dp e expresses the fact that whenever a pattern given by a formula F is observed, then it will be \followed by" an interval in which P holds (cf. Fig. 4). In the \leads-to" form this pattern is required to have a length t (Fig. 4), and in the \up-to" form the pattern is bounded by a length \up to" t. Note that the \leads-to" does not simply say that whenever F holds then t time units later dp e holds; rather, a stability of F for t time units is required before we can be certain that dp e holds. The \up-to" form is mainly used to specify certain stability conditions. For example d:e ; de?! t de is an expression that is true i is stable for at least t seconds whenever becomes true.

7 F F P P t t2 Q time t t t2 t Q time Figure 4. Example for \followed by" and \leads to". The left gure exhibits an interpretation for F, P and Q. In this interpretation F?! dp e is true because for every interval in which F holds there is a succeeding interval in which dp e is true. F?! dqe is not true: choosing the interval [t,t2] there is no succeeding interval in which dqe holds. The t right gure demonstrates the meaning of?!. There are two phases where F is true and the former phase lasts longer than t seconds. F?! t dp e holds because for every interval of length t in which F holds there is a succeeding interval in which dp e is true. F?! t dqe is not true: choosing the interval [t; t2] there is no succeeding interval in which dqe holds. 5 A Duration Calculus Semantics for PLC-Automata In this section we dene the semantics of the PLC-automata proposed in Sect. 3 with DC-formulae. This enables us to prove real-time properties of such automata by means of logical reasoning. The semantics [A] DC of a PLC-automaton A = (Q; ; ; ; "; S e ; S t ; ;!) is given by the conjunction of the following predicates regarding the observables state : Time?! Q, input : Time?! and output : Time?!. First of all, the starting of the automaton in the proper initial state is expressed by: d e ; true _ de : (2) Note that d e is an abbreviation of dstate = e. Next, we want to describe the behaviour of the automaton in state. The cyclic behaviour of PLCs has to be reected in the semantics to achieve a realistic modelling. One question the semantics should answer is: When a state is entered, what kind of input can inuence the behaviour of the PLC? The answer to this question is: { only the inputs after entering and { only the inputs during the last cycle-time. This is expressed by the following predicates where A ranges over all sets of

8 inputs with ; 6= A : 3 d:e ; d ^ Ae?! d _ (; A)e (3) d ^ Ae?! " d _ (; A)e (4) The statement (3) formalises the fact that after a change of the automaton's state to only the set of inputs A that is valid after the change can have an eect on the behaviour in the future. The statement (4) represents the formalisation of the cyclic behaviour of PLCs. A PLC reacts only on inputs during the last cycle. Preceding inputs are forgotten and cannot inuence the PLC anymore. The quantication over all nonempty subsets of the input alphabet was motivated by the behaviour of the PLCs. The more we know about the inputs during the last cycle the more we know about the actions of the PLC. For example, it is necessary that an input a is held for at least " seconds to assure that the PLC reads this at least once. This is directly reected in the semantics as well. If there is an interval of length ", predicate (4) can be applied with A = fag to this interval. This implies that after this interval is over either the state changes to (; a) or remains unchanged. For states without a stability requirement we expect a change to (; a) or more generally we expect that the automaton reacts accordingly in at most 2" seconds. For states with a stability requirement we expect this behaviour after the required period of time. This leads us to additional statements in the semantics: S t () = =) d ^ Ae?! 2" d(; A)e (5) S t () > =) de ; d ^ Ae 2" 2"+S t()?! d(; A)e (6) S t () = ^ =2 (; A) =) d:e ; d ^ Ae "?! d:e (7) Statement (5) says that after at most 2" seconds the automaton reacts on the input accordingly if there is no stability required for. Note that " seconds are needed to assure that the PLC read at least once and " seconds are needed to react on this input in the worst case. Formula (6) states this behaviour after S t () seconds: if S t () seconds have elapsed the automaton reacts on inputs in at most 2" seconds. In the case that we know that the automaton has just changed the state then we want to be able to exploit the information that within the next " seconds another reaction on the input A has to occur. This is formalised by (7). Next we want to describe the automaton's behaviour if it is in a state where a stability is required and the S t () seconds have not elapsed. Then we want to hold this state provided that during this phase only inputs in S e () are read. That means inputs in S e () cannot cause a change of state during the rst S t () seconds: S t () > =) d:e ; d ^ Ae St()?! d _ (; A n S e ())e (8) 3 In the formulae we use A as an abbreviation for input 2 A resp. (; A) for state 2 f(; a)ja 2 Ag.

9 However, we have to take into account the cyclic behaviour of the hardware again. In particular, we should require that if is left during the stability phase then there has to be an input not contained in S e () at most " seconds ago: S t () > =) d:e ; de ; d ^ Ae " S t()?! d _ (; A n S e ())e (9) Furthermore, we know that the automaton reacts according to the input if there is a set A that is valid for the last 2" seconds and disjoint from S e (): S t () > ^ A \ S e () = ; =) d ^ Ae?! 2" d(; A)e () S t () > ^ A \ S e () = ; =) d:e ; d ^ Ae "?! d:e) () Formula () corresponds to (7). Due to () we know =2 (; A). Note that (3), (7), (8), (9), and () require a change from d:e to de to restrict the possible behaviour. But for the initial state there is no change and therefore the assertions are not applicable in this case. This can be expressed by ve corresponding assertions suitable for the initial state, which for brevity are omitted here as they do not provide any new insight into the PLC-Automaton. Finally, the relation between the observables state and output is established by 2(de =) d!()e) (2) 6 Implementing PLC-Automata on PLCs In this section we want to describe how the PLC-automata can easily be implemented in PLCs. To this end we use the language \ST" (structured text [8, 6]) that provides all usual basic constructs of imperative languages and that is used in reality for programming PLCs. We illustrate its usage by means of an example. Let A = (Q; ; ; ; "; S e ; S t ; ;!) be a PLC-automaton. Without loss of generality we assume Q = f; : : : ; ng, = f; : : : ; mg, and =. Then the behaviour of it can be implemented by the following ST-program: VAR state : INT :=; END VAR timer : TP; (* Timer Type *) time up : BOOL := FALSE; CASE state OF. i: (* state = i, no stability required *). state:= (i,input); (* end of state=i *)

10 k: (* state = k, stability required *). END CASE output:=!(state); timer(in:=true, PT:=t#S t (k)); time up:=not timer.q; CASE input OF. l: (* l=2 S e (k) *). state:= (k,l); timer(in:=false, PT:=t#S t (k)); m: (* m2 S e (k) *). END CASE; IF time up THEN state:= (k,m); timer(in:=false, PT:=t#S t (k)); END IF; For all three cases it is shown what the PLC has to do. If S t () = for a state, it just has to poll the input and behave accordingly (* state = i*). Otherwise it has to call the timer with the corresponding time value S t () (* state = k *). Setting the parameter IN to TRUE makes the timer start running for PT seconds if it has not started already. The next statement reads the output Q of the timer. It is TRUE if the time since the starting of the timer has not exceeded PT. Thus, the rst two statements for the case state=k in the listing start the timer if needed and check whether the stability time is over or not. Now the PLC has to check the input. If it is an input that is not in S e (k) (* l=2 S e (k) *) the PLC changes the variable state accordingly and stops the timer by calling it with IN set to FALSE. Otherwise (* m2 S e (k) *) it does the same provided that the time is over. Note that this ST-program is executed once in each cycle of the PLC. So it is the body of an implicit loop-forever statement. 7 Useful Theorems for PLC-Automata This section demonstrates one major advantage of using PLC-automata for specifying controllers: the semantics given in Sect. 5 allows formal reasoning in Duration Calculus leading to reusable theorems. Just to give an idea of what can be formally established we state the following theorem and demonstrate its usefulness. This theorem provides information on how long it takes at most to reach a certain set of states. Often it is necessary that the controller enters a set of

11 states provided that a special set A of inputs holds. Usually the controller is therefore specied in such a way that it will reach after several transitions. Provided that n (Q; A) for some n 2 IN the theorem estimates the delay until is reached in the worst case. 4 Theorem 7.. Let A = (Q; ; ; ; S e ; S t ; ;!) be a PLC-automaton and let Q and A with (; A) : Then we have for all n 2 IN : with where s(; A) = df c(n) =" df + max d ^ Ae c(n)?! d n (; A)e (3) 8 < kx : i= s( i ; A) "; if A \ S e () = ; S t () + 2"; otherwise k n ^ 9 ; : : : ; k 2 n n (; A) : 8j < k : j 2 ( j? ; A) 9 = ; (4) (5) Example 7.2. Consider Fig. 3 again. We can apply Theorem 7. to this automaton and get, for example, the assertions below. To get the last one Theorem 7. is applied with n =. d ^ :Xe 5+3"?! dne derrore?! 2" dxe d ^ T e?! " dt e 8 A Case Study The following case study illustrates how fast and ecient real-time systems can be specied and implemented by PLC-automata in comparison with the conventional ProCoS-style. To this end we choose the well-known case study of the ProCoS-project. It is a gasburner [] that is controlled by a thermostat; it can directly control a gas valve and monitor the ame @ Gas Valve - Thermostat ` ((( hhh Flame sensor Figure 5. The gasburner 4 (; A) = df and n+ (; A) = df f(q; a)jq 2 n (; A); a 2 Ag for Q and A.

12 There are three Boolean observables describing this physical system. hr (\heatrequest") represents the state of the thermostat. (\ame") represents the presence of a ame at the gas valve. gas (\gas") represents the state of the gas valve. One of the requirements is the formula below which assures that in every period of 3 seconds gas must not leak for more than four seconds: 2 ` 3 =) Z (gas ^ :fl) 4 : (6) In the ProCoS-project [2] this case-study was transformed rst from Duration Calculus into a certain subset of Duration Calculus called Implementables. This yielded a specication of a controller using four states (idle, purge, ignite, burn) fullling the following assertions: de _ didlee ; true (7) didlee?! didle _ purgee dpurgee?! dpurge _ ignitee (8) dignitee?! dignite _ burne dburne?! dburn _ idlee (9) d:purgee ; dpurgee 3?! dpurgee d:ignitee ; dignitee?! dignitee (2) dpurgee 3+"?! d:purgee dignitee +"?! d:ignitee (2) d:idlee ; didle ^ :hre?! didlee d:burne ; dburn ^ hr ^ e?! dburne (22) didle ^ hre?! " d:idlee dburn ^ :hre?! " d:burne (23) dburn ^ :e?! " d:burne (24) The gas valve should be opened i state is in fburn; igniteg. hr no gas hr no gas idle,σ 3,Σ purge fl hr Σ burn gas,σ Σ gas,σ ignite (fl,hr) Figure 6. The gasburner as PLC-automaton. In the ProCoS-project this specication was transformed via several steps and interfacing languages to hardware. Due to the special suitability of PLCs to control real-time systems we need not perform these transformations here. It is sucient to read the specication given above as a specication of a PLCautomaton, which leads us to the PLC-automaton in Fig. 6. The semantics of

13 the PLC-automaton in this gure renes the specication given in (7){(24). Table shows which assertion of the semantics fulls the requirements of the specication. The only assumption made is 2" ". This tells the implementor how fast his PLC has to cycle in the worst case. And this problem normally corresponds to the question: \How much money do we have to spend in order to guarantee that the upper time bound is not violated?" requirement is rened by : : : of the semantics (7) (2) (8){(9) (3) with A = (2) (8) with A = (2) (6) with A = and assuming that 2" " (22) (3) with A = f:hrg resp. A = fhr ^ g (23){(24) (5) with A = fhrg, A = f:hrg, or A = f:g Table. Fig. 6 renes (7){(24). 9 Concluding Remarks Currently we are investigating extensions that allow us to introduce additional variables in order to make the PLC-automata more exible. A typical problem that is dicult to solve by PLC-automata as presented here is: \Is this train the n-th one?". To answer this question with the PLC-automata proposed in this paper is likely to cause an explosion of states because we have to model n with the help of the states. To overcome this problem we are thinking about introducing variables and extending transitions by predicates over these variables. Depending on these predicates the PLC-automaton is allowed to make transitions or not. Furthermore, they should describe how variables are changed when a transition takes place. These extensions should allow a parametric design without loss of the advantages presented here. Moreover, it is necessary to structure the design for systems of higher complexity. To this end we are aiming at a combination of PLC-Automata with Z [] and CSP [5] which is part of our project UniForM [7]. We are also looking for comprehensive case studies to evaluate our approach. As a result of our experiences with case study of the UniForM-project we think that our approach is a very promising one, because we start from a formal temporal description technique and nally reach an implementation on hardware that is used in real life. Furthermore, we can make quantitative assessments of this hardware. Acknowledgements I would like to thank E.-R. Olderog, H. Becker, J. Knoop, C. Dietz, C. Fischer, and other members of the \semantics group" in Oldenburg for detailed comments and various discussions on the subject of this paper.

14 References. R. Alur and D.L. Dill. A theory of timed automata. Theoret. Comput. Sci., 26:83{235, J. Bowen, C.A.R. Hoare, H. Langmaack, E.-R. Olderog, and A.P. Ravn. ProCoS II: A ProCoS II Project Final Report, chapter 7, pages 76{99. Number 59 in Bulletin of the EATCS. European Association for Theoretical Computer Science, June Zhou Chaochen. Duration Calculi: An overview. In D. Bjrner, M. Broy, and I.V. Pottosin, editors, Formal Methods in Programming and Their Application, volume 735 of Lecture Notes in Computer Science, pages 256{266. Springer-Verlag, Zhou Chaochen, C.A.R. Hoare, and A.P. Ravn. A Calculus of Durations. Inform. Proc. Letters, 4/5:269{276, C.A.R. Hoare. Communicating Sequential Processes. Prentice-Hall International, K.-H. John and M. Tiegelkamp. SPS-Programmierung mit IEC 3-3. Springer- Verlag, 995. in German. 7. B. Krieg-Bruckner, J. Peleska, E.-R. Olderog, D. Balzer, and A. Baer. UniForM Universal Formal Methods Workbench. In U. Grote and G. Wolf, editors, Statusseminar des BMBF Softwaretechnologie, pages 357{378. BMBF, Berlin, March R.W. Lewis. Programming industrial control systems using IEC 3-3. The institution of Electrical Engineers, B. Moszkowski. A Temporal Logic for Multilevel Reasoning about Hardware. IEEE Computer, 8(2):{9, A.P. Ravn, H. Rischel, and K.M. Hansen. Specifying and Verifying Requirements of Real-Time Systems. IEEE Transactions on Software Engineering, 9:4{55, January J.M. Spivey. The Z Notation: A Reference Manual. Prentice Hall International Series in Computer Science, second edition, 992. A A Timed Automata Semantics for PLC-Automata In this appendix we discuss the relationship between the PLC-Automata and the well-known Timed Automata []. We will dene a semantics for PLC-Automata expressed in terms of Timed Automata. This denition has several distinct sideeects: We get a denition of a subset of Timed Automata, namely the set of Timed Automata that are the semantics of a PLC-Automata. By the results of Sect. 6, this subset has an implementation in PLC. Thus, this subset fulls the criterion of realisability. Furthermore, we can apply the results established for Timed Automata. They include various theorems about their behaviour and their connection to tools built for Timed Automata, for example Kronos. Denition A.. For a given PLC-Automata A = (Q; ; ; ; "; S e ; S t ; ;!) with Q\ = ; we dene the corresponding Timed Automaton T A(A) as follows: T A(A) = df h ; S; S ; C; E; F i with df = [ Q, S = df f(; a) j 2 Q ^ a 2 g,

15 df S = f( ; a) j a 2 g, C = df fx a j a 2 g [ fy; zg, F = df S, and and E df = f((; a); (; a ); a ; fx a g; z ") j 2 Q; a 6= a 2 g (25) [ [ [ ((; a ); ( ; a ); ; C(; ); (; a; a )) 2 Q; a; a 2 ; = (; a) ((; a ); (; a ); ; fzg; (; a; a )) 2 Q; a; a 2 ; S t () > C(; ) = df (; a; a ) = df (; a; a ) = df (; a ); (; a ); ; fzg; S t() < y < S t () + " ^z " ( fy; zg 6= 8 >< >: S t () > (26) (27) (28) fzg = (29) z "; a = a ^ :(S t () > ^ a 2 S e ()) z " ^ y > S t (); a = a ^ S t () > ^ a 2 S e () x a < " ^ x a < y ^ z "; a 6= a ^ :(S t () > ^ a 2 S e ()) x a < " ^ x a < y ^ z " ^y > S t (); a 6= a ^ S t () > ^ a 2 S e () (3) ( z " ^ y S t (); x a < " ^ x a < y ^ z " ^ y S t (); a = a ^ a 2 S e () a 6= a ^ a 2 S e () (3) The Timed Automata semantics [A] TA for A is the timed language L(T A(A)). T A(A) is a Timed Automaton with the pairs of states and inputs of A as states. It is equipped with one clock x a for each input a. The x a are used to measure how long the input a has not held. The clock y is used to check whether S t () has already elapsed or not. To ensure progress an additional clock z is introduced. The transition relation consists of three parts. The rst part (25) introduces transitions that react on the inputs without any clock constraints. The inputpart of the state changes accordingly and the corresponding input-clock is reset. (26) introduces transitions that model the behaviour of A in after S t () seconds have elapsed. The clock y is reset i the state changes. The clock constraints ensure three properties: { The constraint z " models the cyclic behaviour of the PLC. { x a < z models the fact that the PLC can react on every input that has held during the last cycle. This constraint is only necessary when the last input a is not equal to a. { y > S t () ensures the required time of stability of state. This is not necessary if S t () = or if the input a that is read by the PLC is not in S e ().

16 (27) introduces transitions that model the behaviour of the PLC-Automaton during the rst S t () second in state. They allow input a to be read in a cycle but do not react on this input provided that a 2 S e (). Due to this Timed Automata semantics PLC-Automata can be understood just as an abbreviation of Timed Automata that full certain properties. However, we claim that it is more useful to work with PLC-Automata instead of a very restricted subset of Timed Automata. The reason is that it is quite complicated and error prone to check whether a Timed Automaton fulls the necessary conditions. Furthermore, we claim that is it much easier to specify PLC-Automata and to understand their behaviour. For example, consider the automaton in Fig. 3. The Timed Automata semantics of this PLC-Automaton consists of 9 states, 5 clocks, and 57 transitions.

Moby/plc { Graphical Development of. University of Oldenburg { Department of Computer Science. P.O.Box 2503, D Oldenburg, Germany

Moby/plc { Graphical Development of. University of Oldenburg { Department of Computer Science. P.O.Box 2503, D Oldenburg, Germany Moby/plc { Graphical Development of PLC-Automata??? Josef Tapken and Henning Dierks University of Oldenburg { Department of Computer Science P.O.Box 2503, D-26111 Oldenburg, Germany Fax: +49 441 798-2965

More information

Proc. 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 , 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 information

The Moby/plc Tutorial. Henning Dierks, Hans Fleischhack, Josef Tapken. CvO-Universitat Oldenburg. 16th February 2001.

The Moby/plc Tutorial. Henning Dierks, Hans Fleischhack, Josef Tapken. CvO-Universitat Oldenburg. 16th February 2001. The Moby/plc Tutorial Henning Dierks, Hans Fleischhack, Josef Tapken CvO-Universitat Oldenburg 16th February 2001 Contents 1 Introduction 1 1.1 PLC-Automata............................ 1 1.2 Moby/plc..............................

More information

3.7 Denotational Semantics

3.7 Denotational Semantics 3.7 Denotational Semantics Denotational semantics, also known as fixed-point semantics, associates to each programming language construct a well-defined and rigorously understood mathematical object. These

More information

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

Implementing Hierarchical Graph-Structures

Implementing Hierarchical Graph-Structures Implementing Hierarchical Graph-Structures Josef Tapken Faculty of Computer Science, University of Oldenburg P.O.Box 2503, 26111 Oldenburg, Germany Fax: +49 441 798-2965 tapken@informatik.uni-oldenburg.de

More information

This chapter describes the syntax and semantics of the safemos programming language,

This chapter describes the syntax and semantics of the safemos programming language, A Real-time Programming Language R.W.S. Hale and He Jifeng Overview URL: http://www.cam.sri.com/tr/crc039/paper.ps.z Towards Verified Systems, Jonathan Bowen (ed.), Elsevier; 1992 This chapter describes

More information

SAMOS: an Active Object{Oriented Database System. Stella Gatziu, Klaus R. Dittrich. Database Technology Research Group

SAMOS: an Active Object{Oriented Database System. Stella Gatziu, Klaus R. Dittrich. Database Technology Research Group SAMOS: an Active Object{Oriented Database System Stella Gatziu, Klaus R. Dittrich Database Technology Research Group Institut fur Informatik, Universitat Zurich fgatziu, dittrichg@ifi.unizh.ch to appear

More information

DISCRETE-event dynamic systems (DEDS) are dynamic

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

CS2 Language Processing note 3

CS2 Language Processing note 3 CS2 Language Processing note 3 CS2Ah 5..4 CS2 Language Processing note 3 Nondeterministic finite automata In this lecture we look at nondeterministic finite automata and prove the Conversion Theorem, which

More information

SORT INFERENCE \coregular" signatures, they derive an algorithm for computing a most general typing for expressions e which is only slightly more comp

SORT INFERENCE \coregular signatures, they derive an algorithm for computing a most general typing for expressions e which is only slightly more comp Haskell Overloading is DEXPTIME{complete Helmut Seidl Fachbereich Informatik Universitat des Saarlandes Postfach 151150 D{66041 Saarbrucken Germany seidl@cs.uni-sb.de Febr., 1994 Keywords: Haskell type

More information

Proving the Correctness of Distributed Algorithms using TLA

Proving the Correctness of Distributed Algorithms using TLA Proving the Correctness of Distributed Algorithms using TLA Khushboo Kanjani, khush@cs.tamu.edu, Texas A & M University 11 May 2007 Abstract This work is a summary of the Temporal Logic of Actions(TLA)

More information

Abstract formula. Net formula

Abstract formula. Net formula { PEP { More than a Petri Net Tool ABSTRACT Bernd Grahlmann and Eike Best The PEP system (Programming Environment based on Petri Nets) supports the most important tasks of a good net tool, including HL

More information

the application rule M : x:a: B N : A M N : (x:a: B) N and the reduction rule (x: A: B) N! Bfx := Ng. Their algorithm is not fully satisfactory in the

the application rule M : x:a: B N : A M N : (x:a: B) N and the reduction rule (x: A: B) N! Bfx := Ng. Their algorithm is not fully satisfactory in the The Semi-Full Closure of Pure Type Systems? Gilles Barthe Institutionen for Datavetenskap, Chalmers Tekniska Hogskola, Goteborg, Sweden Departamento de Informatica, Universidade do Minho, Braga, Portugal

More information

Algebraic Properties of CSP Model Operators? Y.C. Law and J.H.M. Lee. The Chinese University of Hong Kong.

Algebraic Properties of CSP Model Operators? Y.C. Law and J.H.M. Lee. The Chinese University of Hong Kong. Algebraic Properties of CSP Model Operators? Y.C. Law and J.H.M. Lee Department of Computer Science and Engineering The Chinese University of Hong Kong Shatin, N.T., Hong Kong SAR, China fyclaw,jleeg@cse.cuhk.edu.hk

More information

A Boolean Expression. Reachability Analysis or Bisimulation. Equation Solver. Boolean. equations.

A Boolean Expression. Reachability Analysis or Bisimulation. Equation Solver. Boolean. equations. A Framework for Embedded Real-time System Design? Jin-Young Choi 1, Hee-Hwan Kwak 2, and Insup Lee 2 1 Department of Computer Science and Engineering, Korea Univerity choi@formal.korea.ac.kr 2 Department

More information

such internal data dependencies can be formally specied. A possible approach to specify

such internal data dependencies can be formally specied. A possible approach to specify Chapter 6 Specication and generation of valid data unit instantiations In this chapter, we discuss the problem of generating valid data unit instantiations. As valid data unit instantiations must adhere

More information

Modelling, Specification and Verification of an Emergency Closing System

Modelling, Specification and Verification of an Emergency Closing System From: FLAIRS-00 Proceedings. Copyright 2000, AAAI (www.aaai.org). All rights reserved. Modelling, Specification and Verification of an Emergency Closing System Werner Stephan and Georg Rock and Michael

More information

Using formal methods for quality assurance of interlocking systems L.-H. Eriksson* & K. Johansson^

Using formal methods for quality assurance of interlocking systems L.-H. Eriksson* & K. Johansson^ Using formal methods for quality assurance of interlocking systems L.-H. Eriksson* & K. Johansson^ Email: lhe@l4i.se *6W%#jA AWm^^ Sweden. Email: kjell.johansson@hk. banverket.se Abstract "Formal methods"

More information

MODEL-BASED DESIGN OF CODE FOR PLC CONTROLLERS

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

has developed a specication of portions of the IEEE 854 oating-point standard in PVS [7]. In PVS, the injective function space injection can be dened

has developed a specication of portions of the IEEE 854 oating-point standard in PVS [7]. In PVS, the injective function space injection can be dened PVS: Combining Specication, Proof Checking, and Model Checking? To appear in CAV'96 S. Owre, S. Rajan, J. M. Rushby, N. Shankar, and M. Srivas Computer Science Laboratory, SRI International, Menlo Park

More information

CS422 - Programming Language Design

CS422 - Programming Language Design 1 CS422 - Programming Language Design Denotational Semantics Grigore Roşu Department of Computer Science University of Illinois at Urbana-Champaign 2 Denotational semantics, alsoknownasfix-point semantics,

More information

A Note on Fairness in I/O Automata. Judi Romijn and Frits Vaandrager CWI. Abstract

A Note on Fairness in I/O Automata. Judi Romijn and Frits Vaandrager CWI. Abstract A Note on Fairness in I/O Automata Judi Romijn and Frits Vaandrager CWI P.O. Box 94079, 1090 GB Amsterdam, The Netherlands judi@cwi.nl, fritsv@cwi.nl Abstract Notions of weak and strong fairness are studied

More information

Note that in this definition, n + m denotes the syntactic expression with three symbols n, +, and m, not to the number that is the sum of n and m.

Note that in this definition, n + m denotes the syntactic expression with three symbols n, +, and m, not to the number that is the sum of n and m. CS 6110 S18 Lecture 8 Structural Operational Semantics and IMP Today we introduce a very simple imperative language, IMP, along with two systems of rules for evaluation called small-step and big-step semantics.

More information

Handout 9: Imperative Programs and State

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

An Ecient Approximation Algorithm for the. File Redistribution Scheduling Problem in. Fully Connected Networks. Abstract

An Ecient Approximation Algorithm for the. File Redistribution Scheduling Problem in. Fully Connected Networks. Abstract An Ecient Approximation Algorithm for the File Redistribution Scheduling Problem in Fully Connected Networks Ravi Varadarajan Pedro I. Rivera-Vega y Abstract We consider the problem of transferring a set

More information

This is already grossly inconvenient in present formalisms. Why do we want to make this convenient? GENERAL GOALS

This is already grossly inconvenient in present formalisms. Why do we want to make this convenient? GENERAL GOALS 1 THE FORMALIZATION OF MATHEMATICS by Harvey M. Friedman Ohio State University Department of Mathematics friedman@math.ohio-state.edu www.math.ohio-state.edu/~friedman/ May 21, 1997 Can mathematics be

More information

Program Design in PVS. Eindhoven University of Technology. Abstract. Hoare triples (precondition, program, postcondition) have

Program Design in PVS. Eindhoven University of Technology. Abstract. Hoare triples (precondition, program, postcondition) have Program Design in PVS Jozef Hooman Dept. of Computing Science Eindhoven University of Technology P.O. Box 513, 5600 MB Eindhoven, The Netherlands e-mail: wsinjh@win.tue.nl Abstract. Hoare triples (precondition,

More information

Specification and Analysis of Real-Time Systems Using Real-Time Maude

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

Abstract This paper describes AxSL, an Axiomatic Specication Language that extends algebraic axiom methods to support object-oriented concepts such as

Abstract This paper describes AxSL, an Axiomatic Specication Language that extends algebraic axiom methods to support object-oriented concepts such as Extending Algebraic Axiom Techniques to Handle Object-Oriented Specications Alyce Brady, Member, IEEE David R. Musser, Member, IEEE Computer Society David L. Spooner, Member, IEEE August 2, 1999 Abstract

More information

DRAFT for FINAL VERSION. Accepted for CACSD'97, Gent, Belgium, April 1997 IMPLEMENTATION ASPECTS OF THE PLC STANDARD IEC

DRAFT for FINAL VERSION. Accepted for CACSD'97, Gent, Belgium, April 1997 IMPLEMENTATION ASPECTS OF THE PLC STANDARD IEC DRAFT for FINAL VERSION. Accepted for CACSD'97, Gent, Belgium, 28-3 April 1997 IMPLEMENTATION ASPECTS OF THE PLC STANDARD IEC 1131-3 Martin hman Stefan Johansson Karl-Erik rzen Department of Automatic

More information

Parallel Rewriting of Graphs through the. Pullback Approach. Michel Bauderon 1. Laboratoire Bordelais de Recherche en Informatique

Parallel Rewriting of Graphs through the. Pullback Approach. Michel Bauderon 1. Laboratoire Bordelais de Recherche en Informatique URL: http://www.elsevier.nl/locate/entcs/volume.html 8 pages Parallel Rewriting of Graphs through the Pullback Approach Michel Bauderon Laboratoire Bordelais de Recherche en Informatique Universite Bordeaux

More information

Solve the Data Flow Problem

Solve the Data Flow Problem Gaining Condence in Distributed Systems Gleb Naumovich, Lori A. Clarke, and Leon J. Osterweil University of Massachusetts, Amherst Computer Science Department University of Massachusetts Amherst, Massachusetts

More information

Synchronization Expressions: Characterization Results and. Implementation. Kai Salomaa y Sheng Yu y. Abstract

Synchronization Expressions: Characterization Results and. Implementation. Kai Salomaa y Sheng Yu y. Abstract Synchronization Expressions: Characterization Results and Implementation Kai Salomaa y Sheng Yu y Abstract Synchronization expressions are dened as restricted regular expressions that specify synchronization

More information

3.4 Deduction and Evaluation: Tools Conditional-Equational Logic

3.4 Deduction and Evaluation: Tools Conditional-Equational Logic 3.4 Deduction and Evaluation: Tools 3.4.1 Conditional-Equational Logic The general definition of a formal specification from above was based on the existence of a precisely defined semantics for the syntax

More information

Liveness and Fairness Properties in Multi-Agent Systems

Liveness and Fairness Properties in Multi-Agent Systems Liveness and Fairness Properties in Multi-Agent Systems Hans-Dieter Burkhard FB Informatik Humboldt-University Berlin PF 1297, 1086 Berlin, Germany e-mail: hdb@informatik.hu-berlin.de Abstract Problems

More information

A Lift Controller in Lustre. (a case study in developing a reactive system) Leszek Holenderski

A Lift Controller in Lustre. (a case study in developing a reactive system) Leszek Holenderski Presented at 5 th Nordic Workshop on Program Correctness, Turku, Finland, October 25{28, 1993. Published in Proc. of the 5 th Nordic Workshop on Program Correctness, ed. R.J.R. Back and K. Sere, Abo Akademi

More information

.Math 0450 Honors intro to analysis Spring, 2009 Notes #4 corrected (as of Monday evening, 1/12) some changes on page 6, as in .

.Math 0450 Honors intro to analysis Spring, 2009 Notes #4 corrected (as of Monday evening, 1/12) some changes on page 6, as in  . 0.1 More on innity.math 0450 Honors intro to analysis Spring, 2009 Notes #4 corrected (as of Monday evening, 1/12) some changes on page 6, as in email. 0.1.1 If you haven't read 1.3, do so now! In notes#1

More information

Inadequacy of Computable Loop Invariants ANDREAS BLASS University of Michigan and YURI GUREVICH Microsoft Research Hoare logic is a widely recommended

Inadequacy of Computable Loop Invariants ANDREAS BLASS University of Michigan and YURI GUREVICH Microsoft Research Hoare logic is a widely recommended Inadequacy of Computable Loop Invariants ANDREAS BLASS University of Michigan and YURI GUREVICH Microsoft Research Hoare logic is a widely recommended verication tool. There is, however, a problem of nding

More information

2 ATTILA FAZEKAS The tracking model of the robot car The schematic picture of the robot car can be seen on Fig.1. Figure 1. The main controlling task

2 ATTILA FAZEKAS The tracking model of the robot car The schematic picture of the robot car can be seen on Fig.1. Figure 1. The main controlling task NEW OPTICAL TRACKING METHODS FOR ROBOT CARS Attila Fazekas Debrecen Abstract. In this paper new methods are proposed for intelligent optical tracking of robot cars the important tools of CIM (Computer

More information

2.8 Universal Turing Machines and the Halting Problem

2.8 Universal Turing Machines and the Halting Problem 2.8 Universal Turing Machines and the Halting Problem Through the hierarchy of Slide 74 we indirectly get a sense that Turing Machines are at least as computationally powerful as any other known model

More information

Overview. Probabilistic Programming. Dijkstra s guarded command language: Syntax. Elementary pgcl ingredients. Lecture #4: Probabilistic GCL

Overview. Probabilistic Programming. Dijkstra s guarded command language: Syntax. Elementary pgcl ingredients. Lecture #4: Probabilistic GCL Overview Lecture #4: Probabilistic GCL 1 Joost-Pieter Katoen 2 3 Recursion RWTH Lecture Series on 2018 Joost-Pieter Katoen 1/31 Joost-Pieter Katoen 2/31 Dijkstra s guarded command language: Syntax Elementary

More information

Formal Verification: Practical Exercise Model Checking with NuSMV

Formal Verification: Practical Exercise Model Checking with NuSMV Formal Verification: Practical Exercise Model Checking with NuSMV Jacques Fleuriot Daniel Raggi Semester 2, 2017 This is the first non-assessed practical exercise for the Formal Verification course. You

More information

Lecture 2 - Graph Theory Fundamentals - Reachability and Exploration 1

Lecture 2 - Graph Theory Fundamentals - Reachability and Exploration 1 CME 305: Discrete Mathematics and Algorithms Instructor: Professor Aaron Sidford (sidford@stanford.edu) January 11, 2018 Lecture 2 - Graph Theory Fundamentals - Reachability and Exploration 1 In this lecture

More information

where is a constant, 0 < <. In other words, the ratio between the shortest and longest paths from a node to a leaf is at least. An BB-tree allows ecie

where is a constant, 0 < <. In other words, the ratio between the shortest and longest paths from a node to a leaf is at least. An BB-tree allows ecie Maintaining -balanced Trees by Partial Rebuilding Arne Andersson Department of Computer Science Lund University Box 8 S-22 00 Lund Sweden Abstract The balance criterion dening the class of -balanced trees

More information

Linear Types for Higher Order Processes with. First Class Directed Channels. Georg Schied. Institut fur Informatik. Universitat Stuttgart

Linear Types for Higher Order Processes with. First Class Directed Channels. Georg Schied. Institut fur Informatik. Universitat Stuttgart URL: http://www.elsevier.nl/locate/entcs/volume2.html 8 pages Linear Types for Higher Order Processes with First Class Directed Channels Georg Schied Institut fur Informatik Universitat Stuttgart D-70565

More information

want turn==me wait req2==0

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

3 No-Wait Job Shops with Variable Processing Times

3 No-Wait Job Shops with Variable Processing Times 3 No-Wait Job Shops with Variable Processing Times In this chapter we assume that, on top of the classical no-wait job shop setting, we are given a set of processing times for each operation. We may select

More information

Incremental design of statechart specications

Incremental design of statechart specications Science of Computer Programming 40 (2001) 119 145 www.elsevier.nl/locate/scico Incremental design of statechart specications Peter Scholz ;1 Technische Universitat Munchen, Institut fur Informatik, D-80290

More information

Core Membership Computation for Succinct Representations of Coalitional Games

Core Membership Computation for Succinct Representations of Coalitional Games Core Membership Computation for Succinct Representations of Coalitional Games Xi Alice Gao May 11, 2009 Abstract In this paper, I compare and contrast two formal results on the computational complexity

More information

Provably Correct Software

Provably Correct Software Provably Correct Software Max Schäfer Institute of Information Science/Academia Sinica September 17, 2007 1 / 48 The Need for Provably Correct Software BUT bugs are annoying, embarrassing, and cost gazillions

More information

1 INTRODUCTION 2 Represent a multiset as an association list, where the rst argument of a pair is an item and the second argument is the multiplicity

1 INTRODUCTION 2 Represent a multiset as an association list, where the rst argument of a pair is an item and the second argument is the multiplicity Programming with Multisets J.W. Lloyd Department of Computer Science University of Bristol Bristol BS8 1UB, UK Abstract This paper proposes a novel way of introducing multisets into declarative programming

More information

requests or displaying activities, hence they usually have soft deadlines, or no deadlines at all. Aperiodic tasks with hard deadlines are called spor

requests or displaying activities, hence they usually have soft deadlines, or no deadlines at all. Aperiodic tasks with hard deadlines are called spor Scheduling Aperiodic Tasks in Dynamic Priority Systems Marco Spuri and Giorgio Buttazzo Scuola Superiore S.Anna, via Carducci 4, 561 Pisa, Italy Email: spuri@fastnet.it, giorgio@sssup.it Abstract In this

More information

2 Introduction to operational semantics

2 Introduction to operational semantics 2 Introduction to operational semantics This chapter presents the syntax of a programming language, IMP, a small language of while programs. IMP is called an "imperative" language because program execution

More information

User Interface Modelling Based on the Graph Transformations of Conceptual Data Model

User Interface Modelling Based on the Graph Transformations of Conceptual Data Model User Interface Modelling Based on the Graph Transformations of Conceptual Data Model Martin Molhanec Department of e-technology, Faculty of Electrical Engineering Czech Technical University in Prague Technická

More information

Lecture 3: Recursion; Structural Induction

Lecture 3: Recursion; Structural Induction 15-150 Lecture 3: Recursion; Structural Induction Lecture by Dan Licata January 24, 2012 Today, we are going to talk about one of the most important ideas in functional programming, structural recursion

More information

Eulerian disjoint paths problem in grid graphs is NP-complete

Eulerian disjoint paths problem in grid graphs is NP-complete Discrete Applied Mathematics 143 (2004) 336 341 Notes Eulerian disjoint paths problem in grid graphs is NP-complete Daniel Marx www.elsevier.com/locate/dam Department of Computer Science and Information

More information

Creating Meaningful Training Data for Dicult Job Shop Scheduling Instances for Ordinal Regression

Creating Meaningful Training Data for Dicult Job Shop Scheduling Instances for Ordinal Regression Creating Meaningful Training Data for Dicult Job Shop Scheduling Instances for Ordinal Regression Helga Ingimundardóttir University of Iceland March 28 th, 2012 Outline Introduction Job Shop Scheduling

More information

An Algebraic Framework for Optimizing Parallel Programs

An Algebraic Framework for Optimizing Parallel Programs An Algebraic Framework for Optimizing Parallel Programs Ichiro Satoh Department of Information Sciences, Ochanomizu University 2-1-1 Otsuka Bunkyo-ku Tokyo 112, Japan ichiro@is.ocha.ac.jp Abstract This

More information

History: Combinational Logic! single FSM! Hierarchy. Facilities for managing networks of FSMs MISII. Facilities for handling latches

History: Combinational Logic! single FSM! Hierarchy. Facilities for managing networks of FSMs MISII. Facilities for handling latches FSM Introduction History: Combinational Logic! single FSM! Hierarchy of FSM's. Sequential Circuit Optimization (single machine) SIS Facilities for managing networks of FSMs MISII Facilities for handling

More information

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

Software Testing IV. Prof. Dr. Holger Schlingloff. Humboldt-Universität zu Berlin Software Testing IV Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin and Fraunhofer Institute of Computer Architecture and Software Technology FIRST Outline of this Lecture Series 2006/11/24:

More information

Model checking and timed CTL

Model checking and timed CTL Chapter 6 Model checking and timed CTL Ah! What did I tell you? 88 miles per hour! The temporal displacement occurred at exactly 1:20am and *zero* seconds! [Dr Emmett Brown] 6.1 Timed CTL Page 86 Formal

More information

Logic, and last but not least the previous acquaintance of the author with this particular verication system. Experiences with proving the correctness

Logic, and last but not least the previous acquaintance of the author with this particular verication system. Experiences with proving the correctness PAMELA+PVS { Verication of Sequential Programs Bettina Buth 1 Introduction Tool support is an essential requirement for the applicability of Formal Methods to realistic, large-scale systems, and the acceptance

More information

Part II. Hoare Logic and Program Verification. Why specify programs? Specification and Verification. Code Verification. Why verify programs?

Part II. Hoare Logic and Program Verification. Why specify programs? Specification and Verification. Code Verification. Why verify programs? Part II. Hoare Logic and Program Verification Part II. Hoare Logic and Program Verification Dilian Gurov Props: Models: Specs: Method: Tool: safety of data manipulation source code logic assertions Hoare

More information

Dynamic Logic David Harel, The Weizmann Institute Dexter Kozen, Cornell University Jerzy Tiuryn, University of Warsaw The MIT Press, Cambridge, Massac

Dynamic Logic David Harel, The Weizmann Institute Dexter Kozen, Cornell University Jerzy Tiuryn, University of Warsaw The MIT Press, Cambridge, Massac Dynamic Logic David Harel, The Weizmann Institute Dexter Kozen, Cornell University Jerzy Tiuryn, University of Warsaw The MIT Press, Cambridge, Massachusetts, 2000 Among the many approaches to formal reasoning

More information

From Types to Sets in Isabelle/HOL

From Types to Sets in Isabelle/HOL From Types to Sets in Isabelle/HOL Extented Abstract Ondřej Kunčar 1 and Andrei Popescu 1,2 1 Fakultät für Informatik, Technische Universität München, Germany 2 Institute of Mathematics Simion Stoilow

More information

Distributed Systems Programming (F21DS1) Formal Verification

Distributed Systems Programming (F21DS1) Formal Verification Distributed Systems Programming (F21DS1) Formal Verification Andrew Ireland Department of Computer Science School of Mathematical and Computer Sciences Heriot-Watt University Edinburgh Overview Focus on

More information

Industrial Automation course

Industrial Automation course Industrial Automation course Lesson 5 PLC - SFC Politecnico di Milano Universidad de Monterrey, July 2015, A. L. Cologni 1 History Before the 60s the SEQUENTIAL CONTROL was seen as EXTENSION OF THE CONTINUOUS

More information

Managing test suites for services

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

A Partial Correctness Proof for Programs with Decided Specifications

A Partial Correctness Proof for Programs with Decided Specifications Applied Mathematics & Information Sciences 1(2)(2007), 195-202 An International Journal c 2007 Dixie W Publishing Corporation, U. S. A. A Partial Correctness Proof for Programs with Decided Specifications

More information

Performance Measures for Multi-Graded Relevance

Performance Measures for Multi-Graded Relevance Performance Measures for Multi-Graded Relevance Christian Scheel, Andreas Lommatzsch, and Sahin Albayrak Technische Universität Berlin, DAI-Labor, Germany {christian.scheel,andreas.lommatzsch,sahin.albayrak}@dai-labor.de

More information

Revised version, February 1991, appeared in Information Processing Letters 38 (1991), 123{127 COMPUTING THE MINIMUM HAUSDORFF DISTANCE BETWEEN

Revised version, February 1991, appeared in Information Processing Letters 38 (1991), 123{127 COMPUTING THE MINIMUM HAUSDORFF DISTANCE BETWEEN Revised version, February 1991, appeared in Information Processing Letters 38 (1991), 123{127 COMPUTING THE MINIMUM HAUSDORFF DISTANCE BETWEEN TWO POINT SETS ON A LINE UNDER TRANSLATION Gunter Rote Technische

More information

proc {Produce State Out} local State2 Out2 in State2 = State + 1 Out = State Out2 {Produce State2 Out2}

proc {Produce State Out} local State2 Out2 in State2 = State + 1 Out = State Out2 {Produce State2 Out2} Laziness and Declarative Concurrency Raphael Collet Universite Catholique de Louvain, B-1348 Louvain-la-Neuve, Belgium raph@info.ucl.ac.be May 7, 2004 Abstract Concurrency and distribution in a programming

More information

Byzantine Consensus in Directed Graphs

Byzantine Consensus in Directed Graphs Byzantine Consensus in Directed Graphs Lewis Tseng 1,3, and Nitin Vaidya 2,3 1 Department of Computer Science, 2 Department of Electrical and Computer Engineering, and 3 Coordinated Science Laboratory

More information

6. Hoare Logic and Weakest Preconditions

6. Hoare Logic and Weakest Preconditions 6. Hoare Logic and Weakest Preconditions Program Verification ETH Zurich, Spring Semester 07 Alexander J. Summers 30 Program Correctness There are many notions of correctness properties for a given program

More information

Graphical Tool For SC Automata.

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

SCR*: A Toolset for Specifying and. Analyzing Software Requirements? Constance Heitmeyer, James Kirby, Bruce Labaw and Ramesh Bharadwaj

SCR*: A Toolset for Specifying and. Analyzing Software Requirements? Constance Heitmeyer, James Kirby, Bruce Labaw and Ramesh Bharadwaj SCR*: A Toolset for Specifying and Analyzing Software Requirements? Constance Heitmeyer, James Kirby, Bruce Labaw and Ramesh Bharadwaj Naval Research Laboratory, Code 5546, Washington, DC 20375, USA Abstract.

More information

Automatic synthesis of switching controllers for linear hybrid systems: Reachability control

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

2 Data Reduction Techniques The granularity of reducible information is one of the main criteria for classifying the reduction techniques. While the t

2 Data Reduction Techniques The granularity of reducible information is one of the main criteria for classifying the reduction techniques. While the t Data Reduction - an Adaptation Technique for Mobile Environments A. Heuer, A. Lubinski Computer Science Dept., University of Rostock, Germany Keywords. Reduction. Mobile Database Systems, Data Abstract.

More information

Autolink. A Tool for the Automatic and Semi-Automatic Test Generation

Autolink. A Tool for the Automatic and Semi-Automatic Test Generation Autolink A Tool for the Automatic and Semi-Automatic Test Generation Michael Schmitt, Beat Koch, Jens Grabowski and Dieter Hogrefe University of Lubeck, Institute for Telematics, Ratzeburger Allee 160,

More information

Finite automata. We have looked at using Lex to build a scanner on the basis of regular expressions.

Finite automata. We have looked at using Lex to build a scanner on the basis of regular expressions. Finite automata We have looked at using Lex to build a scanner on the basis of regular expressions. Now we begin to consider the results from automata theory that make Lex possible. Recall: An alphabet

More information

Localization in Graphs. Richardson, TX Azriel Rosenfeld. Center for Automation Research. College Park, MD

Localization in Graphs. Richardson, TX Azriel Rosenfeld. Center for Automation Research. College Park, MD CAR-TR-728 CS-TR-3326 UMIACS-TR-94-92 Samir Khuller Department of Computer Science Institute for Advanced Computer Studies University of Maryland College Park, MD 20742-3255 Localization in Graphs Azriel

More information

Lecture 9 - Matrix Multiplication Equivalences and Spectral Graph Theory 1

Lecture 9 - Matrix Multiplication Equivalences and Spectral Graph Theory 1 CME 305: Discrete Mathematics and Algorithms Instructor: Professor Aaron Sidford (sidford@stanfordedu) February 6, 2018 Lecture 9 - Matrix Multiplication Equivalences and Spectral Graph Theory 1 In the

More information

The Programming Language Core

The Programming Language Core The Programming Language Core Wolfgang Schreiner Research Institute for Symbolic Computation (RISC-Linz) Johannes Kepler University, A-4040 Linz, Austria Wolfgang.Schreiner@risc.uni-linz.ac.at http://www.risc.uni-linz.ac.at/people/schreine

More information

Guarded Operations, Refinement and Simulation

Guarded Operations, Refinement and Simulation Guarded Operations, Refinement and Simulation Steve Reeves and David Streader Department of Computer Science University of Waikato Hamilton, New Zealand stever,dstr@cs.waikato.ac.nz Abstract Simulation

More information

axiomatic semantics involving logical rules for deriving relations between preconditions and postconditions.

axiomatic semantics involving logical rules for deriving relations between preconditions and postconditions. CS 6110 S18 Lecture 18 Denotational Semantics 1 What is Denotational Semantics? So far we have looked at operational semantics involving rules for state transitions, definitional semantics involving translations

More information

Computability and Complexity

Computability and Complexity Computability and Complexity Turing Machines CAS 705 Ryszard Janicki Department of Computing and Software McMaster University Hamilton, Ontario, Canada janicki@mcmaster.ca Ryszard Janicki Computability

More information

Modelling and verification of cyber-physical system

Modelling and verification of cyber-physical system Modelling and verification of cyber-physical system Michal Pluska, David Sinclair LERO @ DCU Dublin City University School of Computing Dublin 9, Ireland michal.pluska@computing.dcu.ie Abstract * Embedded

More information

INF672 Protocol Safety and Verification. Karthik Bhargavan Xavier Rival Thomas Clausen

INF672 Protocol Safety and Verification. Karthik Bhargavan Xavier Rival Thomas Clausen INF672 Protocol Safety and Verication Karthik Bhargavan Xavier Rival Thomas Clausen 1 Course Outline Lecture 1 [Today, Sep 15] Introduction, Motivating Examples Lectures 2-4 [Sep 22,29, Oct 6] Network

More information

Revisiting the PAXOS algorithm

Revisiting the PAXOS algorithm Theoretical Computer Science 243 (2000) 35 91 www.elsevier.com/locate/tcs Fundamental Study Revisiting the PAXOS algorithm Roberto De Prisco a;, Butler Lampson b, Nancy Lynch a a MIT Laboratory for Computer

More information

(Refer Slide Time: 4:00)

(Refer Slide Time: 4:00) Principles of Programming Languages Dr. S. Arun Kumar Department of Computer Science & Engineering Indian Institute of Technology, Delhi Lecture - 38 Meanings Let us look at abstracts namely functional

More information

Harvard School of Engineering and Applied Sciences CS 152: Programming Languages

Harvard School of Engineering and Applied Sciences CS 152: Programming Languages Harvard School of Engineering and Applied Sciences CS 152: Programming Languages Lecture 19 Tuesday, April 3, 2018 1 Introduction to axiomatic semantics The idea in axiomatic semantics is to give specifications

More information

Issues on Decentralized Consistency Checking of Multi-lateral Collaborations

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

AMT2.0 - Qualitative and Quantitative Trace Analysis with Extended Signal Temporal Logic

AMT2.0 - Qualitative and Quantitative Trace Analysis with Extended Signal Temporal Logic AMT2.0 - Qualitative and Quantitative Trace Analysis with Extended Signal Temporal Logic TACAS 2018 Dejan Ničković AIT Austrian Institute of Technology Olivier Lebeltel, Oded Maler, Dogan Ulus VERIMAG

More information

Argos: an automaton-based synchronous language

Argos: an automaton-based synchronous language Computer Languages 27 (2001) 61 92 www.elsevier.com/locate/complang Argos: an automaton-based synchronous language Florence Maraninchi a;, Yann Remond b a VERIMAG 1 /Institut National Polytechnique de

More information

TIMES A Tool for Modelling and Implementation of Embedded Systems

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

Siegfried Loer and Ahmed Serhrouchni. Abstract. SPIN is a tool to simulate and validate Protocols. PROMELA, its

Siegfried Loer and Ahmed Serhrouchni. Abstract. SPIN is a tool to simulate and validate Protocols. PROMELA, its DIMACS Series in Discrete Mathematics and Theoretical Computer Science Volume 00, 19xx Creating Implementations from PROMELA Models Siegfried Loer and Ahmed Serhrouchni Abstract. SPIN is a tool to simulate

More information

hal , version 1-9 Apr 2009

hal , version 1-9 Apr 2009 Author manuscript, published in "Computer Aided Verification 10th International Conference, CAV'98, Vancouver, BC : Canada (1998)" DOI : 10.1007/BFb0028779 Kronos: a model-checking tool for real-time systems?

More information

A Mixed Fragmentation Methodology For. Initial Distributed Database Design. Shamkant B. Navathe. Georgia Institute of Technology.

A Mixed Fragmentation Methodology For. Initial Distributed Database Design. Shamkant B. Navathe. Georgia Institute of Technology. A Mixed Fragmentation Methodology For Initial Distributed Database Design Shamkant B. Navathe Georgia Institute of Technology Kamalakar Karlapalem Hong Kong University of Science and Technology Minyoung

More information

Incompatibility Dimensions and Integration of Atomic Commit Protocols

Incompatibility Dimensions and Integration of Atomic Commit Protocols The International Arab Journal of Information Technology, Vol. 5, No. 4, October 2008 381 Incompatibility Dimensions and Integration of Atomic Commit Protocols Yousef Al-Houmaily Department of Computer

More information