TIMO: Timed Mobility in Distributed Systems

Size: px
Start display at page:

Download "TIMO: Timed Mobility in Distributed Systems"

Transcription

1 TIMO: Timed Mobility in Distributed Systems Gabriel Ciobanu Romanian Academy, Institute of Computer Science, Iaşi Abstract A simple and expressive formalism called TIMO is presented as a simplified version of timed distributed π-calculus. TIMO aims to bridge the gap between the existing theoretical approach of process calculi and forthcoming realistic languages for multi-agent systems. Keywords-Distributed systems, timed migration and communication, local clocks, maximal parallelism, formal verification. I. INTRODUCTION The complexity of safety-critical systems, in particular the new systems involving time and mobility, is increasing year by year. They require appropriate formalisms and techniques for their specification and verification. Since these time-critical systems grow more complex and more powerful, it is important to find scaling formal methods for both specification and verification. Two successful formalisms for specification and verification of time-critical systems are timed automata and Petri nets; however, they are not easily scalable, a reason why we look for compositional specification and verification techniques. In terms of specification, a process calculus would solve the compositional issue. However, the use of absolute time given by the duration of the actions do not lead to good results in automated verification. This is a reason why we use a relative time provided by timeouts for the actions of such a process calculus. We consider a process calculus named TIMO with explicit migration allowing the use of timers for controlling process mobility and interaction. Migration involves several (explicit) locations. Each location has a local clock; the idea of local clocks attempts to specify distributed systems in a more accurate way. It is possible to use a single global clock, and we also consider such a real-time version of the process calculus. Timing constraints for migration allow to specify a temporal timeout after which a mobile process must move to another location. Two processes may communicate only if they are present at the same location. TIMO allows a maximal parallelism of actions. Thus we can specify and analyse complex timing systems in a new way, which is different from traditional ones. In terms of verification, interesting properties described by TIMO regarding process migration, time constraints, bounded liveness and optimal reachability could be analysed and checked. A verification tool called TIMO@PAT is developed by using an extensible platform for model checkers called PAT. II. TIMO Process calculi are used to model distributed systems. Various features were introduced to obtain such formalisms, including explicit locations in distributed π-calculus [13], and explicit migration and timers in timed distributed π- calculus [9]. Most of the papers considering time assume the existence of a global clock; however, there are several applications and systems for which considering a global clock would be inappropriate. The process calculus TIMO is introduced in [6] as a formalism for mobile systems in which it is possible to add timers to control process mobility and interaction. A local clock is assigned to each location, and each local clock determines the timing of actions executed at the corresponding location [7]. Inspired by TIMO, a flexible software platform supporting the specification of agents and allowing a timed migration in a distributed environment is presented in [5]. Timing constraints for migration allow one to specify a temporal interval in which a mobile process must move to another location. A timer denoted by 3 associated to a migration action go 3 work indicates that the process moves to location work after at most 3 time units. It is also possible to constrain the waiting period for a communication on a channel; if a communication action does not happen before a deadline, the process gives up and switches its operation to an alternative. E.g., a timer 5 associated to an output action a 5! 10 makes the channel available for communication only for a period of 5 time units. We assume suitable data sets including a set Loc of locations and a set Chan of communication channels. We use a set Id of process identifiers, and each id Id has the arity m id. In what follows, we use x to denote a finite tuple of elements (x 1,..., x k ) whenever it does not lead to confusion. P ::= a lt! v then P else P (output) a lt?( u: X) then P else P go lt l then P P P (input) (move) (parallel) 0 (termination) id( v) SP (definition) (stalling) L ::= l[[p ]] Located Processes N ::= L L N Networks Table I TIMO SYNTAX.

2 The syntax of TIMO is given in Table I, where P are processes, L, located processes, and N, networks [7]. For each id Id there is a unique definition of the form id(u 1,..., u mid : X1 id,..., Xm id id ) = P id, where P id is a process expression, the u i s are distinct variables playing the role of parameters, and the Xi id s are data types. In the syntax, a Chan is a channel; lt N { } is a deadline, where lt stands for local time; each v i in v is an expression built from data values and variables; each u i in u is a variable, and each X i in X is a data type; l is a location or a location variable; and S is a special symbol used to state that a process is temporarily stalled and will be re-activated after a time progress. The only variable binding constructor is a lt?( u: X) then P else P, which binds the variables u within P (but not within P ). We use fv(p ) to denote the free variables of a process P (and similarly for networks). For a process definition, we assume that fv(p id ) {u 1,..., u mid }, and so the free variables of P id are parameter bound. Processes are defined up to α-conversion, and {v/u,...}p is obtained from P by replacing all free occurrences of a variable u by v, etc, possible after α-converting P in order to avoid clashes. Moreover, if v and u are tuples of the same length then { v/ u}p denotes {v 1 /u 1, v 2 /u 2,..., v k /u k }P. Intuitively, a process a lt! v then P else P attempts to send a tuple of values v over channel a for lt time units. If successful, it continues as process P ; otherwise, it continues as process P. Similarly, a lt?( u: X) then P else P is a process that attempts for lt time units to input a tuple of values of type X and substitute them for the variables u. Mobility is implemented by a process go lt l then P which moves from the current location to the location l within lt time units. Note that since l can be a variable, and so its value is assigned dynamically through the communication with other processes, migration actions support a flexible scheme for the movement of processes from one location to another. By delaying the migration to another location, we can model in a simple way the movement time of processes within the network which is, in general, outside the control of a system designer. Processes are further constructed from the (terminated) process 0 and parallel composition P P. A located process l [P ] specifies a process P running at location l, and networks are composed of located processes. A network N is well-formed if there are no free variables in N, there are no occurrences of the special symbol S in N, and assuming that id is as in the recursive definition of a process, for every id( v) occurring in N or on the right hand side of any recursive equation, the expression v i is of type corresponding to X id i. The set of processes is denoted by P, the set of located processes by L, and the set of networks by N. The operational semantics of TIMO uses a structural equivalence on networks. This is the smallest congruence such that the first three equalities in Table II hold, and its role is to rearrange a network in order to apply the action rules which are also given in Table II. Using the first three equalities in Table II, one can always transform a given network N into a finite parallel composition of located processes of the form l 1 [P 1 ]... l n [P n ] such that no process P i has the parallel composition operator at its topmost level. Each located process l i [P i ] is called a component of N, and the parallel composition is called a component decomposition of the network N. Note that these notions are well defined since component decomposition is unique up to the permutation of the components. This follows from the rule (CALL) which treats recursive definitions as function calls that take a unit of time. Another consequence of such a treatment is that it is impossible to execute an infinite sequence of action steps without executing any time actions. Table II presents two kinds of rules: N λ N l and N N. The former is an execution of an action λ; the latter is a time step at location l. (NCOMM) N N N N (NASSOC) (N N ) N N (N N ) (NSPLIT) l[[p P ]] l[[p ]] l[[p ] (MOVE) (COM) (CALL) (PAR) (EQUIV) (TIME) l[[go lt l then P ]] l [SP ] v 1 X 1... v k X k l[[a lt! v then P else Q a lt?( u: X) then P else Q ] a l[[sp S{ v/ u}p ] l[[id( v)]] id@l l[[s{ v/ u}p id ] N λ N N N λ N N N N N λ N N λ N N l l N φ l (N) Table II TIMO OPERATIONAL SEMANTICS. N N In the rule (TIME), N l means that the rules (CALL) and (Com) as well as (MOVE) with lt = 0 cannot be applied to N for location l. Moreover, φ l (N) is obtained by taking the component decomposition of N and simultaneously replacing all components l [a lt ω then P else Q] by { l [Q] if lt = 0 l [a lt 1 ω then P else Q] otherwise and l [go lt l then P ] by l [go lt 1 l then P ]. Here ω stands for! v or?( u: X). After that, all the occurrences of the symbol S in N are erased since processes that were unfolded or interacted with other processes or migrated need to be activated (note that the number of the symbols S to be erased cannot exceed the number of the components of the network).

3 Name Definition Meaning T (init R client = 70 1 The balance of client is 70 and the balance of agent is 170. balance agent = 170) R 2 T client@bank client is able to arrive at bank. BL 1 R 1 tclient 10 R 1 is satisfied within 10 ticks for client. BL 2 R 2 tclient 5 R 2 is satisfied within 5 ticks for client. OR 1 R 1 min(tclient ) The shortest time of R 1 for client. OR 2 R 2 min(tclient ) The shortest time of R 2 for client. DF deadlock free A deadlock state is undesired. Table III INTERESTING PROPERTIES OF TRAVEL SHOP SYSTEM The rules of Table II express executions of individual actions. A complete computational step is captured by a derivation of the form N === Λ@l N, where Λ = {λ 1,..., λ m } (m 0) is a finite multiset of actions for some location l (i.e., actions λ i of the form or a or id@l) such that N λ1 λ N 1... N m m 1 l Nm N. That means that a derivation represents a sequence of individual actions followed by a clock tick, all happening at the same location. Intuitively, this captures the cumulative effect of the concurrent execution of the multiset of actions Λ at location l, and so we write N N. In terms of executing TIMO specifications on an abstract machine, one can imagine the latter as a device transforming well-formed networks into well-formed networks. At any stage, the machine selects one location l as the active one. Then, it executes all interprocess communications within location l as well as all migrations with expired (zero) timers in a maximally concurrent way. This is followed by the execution of arbitrarily many migrations with unexpired timers at location l. Finally, one decrements all the top-most timers in all the network components at location l which have not yet been involved in the current computational step. III. TIMO@PAT In order to support the automated analysis of TIMO models, we use the PAT [16] framework to develop a model checker for TIMO, called TIMO@PAT. The new tool is created in two steps: firstly, we encode the operational semantics of each TIMO construct to obtain a Labelled Transition System (LTS) semantics and the state space of the system; secondly, we define domain-specific properties for TIMO and develop model checking algorithms based on the generic algorithms provided by PAT s library. Figure 1 presents the overview of our tool TiMo@PAT. The tool can be found at TiMo System Parser Figure 1. LTS Simulator TiMo@PAT System Assertions Verifier Besides general properties of systems such as state reachability, deadlock freeness and so on, TiMo@PAT supports the analysis of domain-specific properties, including process location reachability and time-bounded process migration. In particular, TIMO properties are related to the implicit variables of TIMO processes and channels, including process location, process timer and channel data. To illustrate the types of properties that can be verified in TIMO@PAT, we present a simple TIMO system for a travel shop where a client process migrates between the locations home and travelshop to purchase a flight ticket. Example 1 (Simple Travel Shop System). T S = home[[client(130)]] server[[agent(100)]] server[[query]]; client(init : int) = go 1 travelshop flight?(price : int) go 1 home client(init price); agent(balance : int) = data?(price : int) go 1 travelshop flight! price agent(balance + amount); query = data! 100 query; Firstly, we might be interested in reachability properties (i.e., whether the system T S can reach a certain state). For example, we could check if the process client is able to arrive at location travelshop, or whether it is possible for the value of balance to become less than 100, during the system evolution. Secondly, we can integrate reachability properties with bounded constraints (i.e., by asking whether a particular state is reached before a given number of time steps have elapsed). For instance, we might verify whether the process client is able to arrive at location paying within less than 10 time units. Thirdly, if a (bounded) reachability property P R is valid, we can ask for the states of T S which both satisfy P R and are optimal with respect to a certain criterion. For properties of this kind, the TIMO@PAT tool provides an explicit path to one of the aforementioned states. As an example, we can obtain an execution path for the process client to arrive at location paying with the shortest time. Such properties are very practical for distributed systems such as banking and train ticketing systems. We can define different optimisation heuristics by changing the optimal constraint. For example, instead of looking for the shortest time of a certain client, the optimised constraint could be defined as the minimal sum of time of all clients in the system. A number of properties were analysed in [11] for the TIMO system described in [8]. These properties are defined in Table III. For the properties from R 1 to BL 2, the results are obtained in a short time (namely less than one second). This is because that on-the-fly model checking approach is

4 applied, and the analysis terminates when a target state is evidenced. As for optimised reachability and deadlock-free checking, it requires much more time, because the whole state space needs to be explored to answer the questions. Since the value increases infinitely for each process timer, we need to set a bound for each process timer in order to apply model checking. In our experiments, we set the timer bound at 10 ticks. This is reasonable for our example, because all the reachability properties are satisfied within 10 ticks, WHILE the optimal properties are looking for the shortest time. IV. TIMO WITH ACCESS PERMISSIONS In TIMO, there is unrestricted communication between processes residing at the same location and sharing the same channel. However, in more realistic settings, it is very likely that some channels are not available at certain locations, for reasons of security. As a means of dealing with such issues, we extend TIMO with access permissions for interprocess communication, resulting in a new formalism called PERTIMO (Permissions, Timers and Mobility). An important feature of the proposed formalism is that access permissions are dynamic. More precisely, processes can acquire new access permissions, or lose some of their current access permissions while moving from one location to another, modelling an important security feature. Access permissions in PERTIMO have a straightforward meaning: to communicate over a channel at a given network location, the sender process should have a put access permission, and the receiving process a get access permission. In general, the set of access permissions Γ of a process is a subset of the overall set of access permissions: AccPerm = df {put, get} Chan Loc We use the notation get a@l to denote an access permission (get, a, l) AccPerm and put a@l to denote (put, a, l) AccPerm. Intuitively, we work with access permissions over sockets where l represents an IP address and a represents a communication port. Inspired primarily by the security issues of network migration, we allow access permissions of a process to change while moving from one location to another. To model this, we use the following four basic access permission modification operations: put + a@l get + a@l put a@l get a@l where l is a location and a is a communication channel. The first two (put + a@l and get + a@l ) add access permissions, while the latter two (put a@l and get a@l ) remove access permissions. For instance, put + a@l (Γ) = Γ {put a@l } Then an access permission modification operation is either the identity on AccPerm, or a composition of some basic access permission modification operations such that if put + a@l is used in the composition then put a@l is not used (giving and at the same time removing an access permission does not make sense). For instance, get + a@l put b@l (Γ) = Γ {get a@l } \ {put b@l } For a given network, we then specify what the changes are to the access permission sets of processes migrating from one location to another. This is specified as an access permission modification mapping apmod which, for each pair of locations, returns a permission modification operation. Hence, if a process with the current access permissions Γ moves from location l to location l, its new set of access permissions becomes apmod(l, l )(Γ). In order to demonstrate the practical utility of PERTIMO, we aim an algorithm for verifying that a migrating process possesses a sufficiently rich set of initial access permissions so that whenever it attempts to communicate over a channel, it has the required access permission, irrespective of the other processes used in the construction of the system. While doing so, we take into account that migrating processes have their access permission sets modified according to the mapping apmod. As a result, we provide a solution to an important security problem related to migration and access permissions in the sense that one should rule out unauthorised attempts to communicate over the channels. V. PROBABILISTIC TIMO In order to allow a quantitative examination of behaviours, we add probabilities to TIMO, resulting in the new language PTIMO (probabilistic TiMo). When defining the semantics for PTIMO, we start from the fact that the behaviour of a well-formed network N consists of an alternating sequence of derivations (i.e., complete computational steps, in which a maximally parallel multiset of actions is performed at a certain location) and location selections (i.e., choosing the location at which the next complete computational step take place). Both derivations and location selections can be seen as forms of nondeterministic choice: in the case of derivations, the nondeterminism originates in the fact that moving processes can choose either to stay at the current location or to move to a new location, and in the fact that there are multiple possible outcomes when more than one sender and one receiver have the possibility of communicating over a certain channel, at the same time; in the case of location selections, the nondeterminism is caused by the fact that the semantics of TIMO does not include any rule regarding the selection. Therefore, we can obtain a probabilistic version of TIMO just by turning all the aforementioned nondeterministic choices into corresponding probabilistic choices. To create ptimo, we treat each source of nondeterminism in the following manner: 1) split complete computational steps into (a) a part containing only potential movements, and (b) a part containing only potential communications 2) define discrete probability distributions for each part, individually

5 3) define discrete probability distributions for location selections 4) combine the resulting probability distributions into joint distributions The new formalism assigns probabilities to the complete transitions that describe the behaviour of TIMO networks, by employing a number of schedulers, which solve the nondeterminism involved in the movement and in the communication of processes, as well as in the selection of active locations. Accordingly, PTIMO models are no longer labelled transitions systems like in TIMO, but instead they are labelled discretetime Markov chains (DTMCs). In order to benefit from the quantitative aspects of PTIMO, we introduce the probabilistic query language PLTM, which is inspired by the existing logic PCTL [12], but includes a number of features not commonly found in other logics, such as the ability to check properties which make explicit reference to specific locations and/or processes, to impose temporal constraints over local clocks (i.e., finite or infinite upper bounds, for each location independently), and to define complex action guards over multisets of actions. By using PLTM, we can express transient and steady-state properties, such as with probability greater than 0.5, the process P 1 will engage in communication at location l 1, on channels a 1 or a 3, before 3 time steps have elapsed at location l 1, and 4 time steps have elapsed at location l 2, or the longrun probability that no movement occurs during a complete transition is less than 0.3, or the average number of time steps until a message is communicated over channel a is less than 3.5. Furthermore, a simple model checking algorithm for PLTM can be obtained by adapting the standard algorithm for verifying PCTL properties [14]. VI. REAL-TIME TIMO Unlike the case for computer systems, the behaviour of several real-time distributed systems cannot be correctly captured through the use of local clocks. In order to address this issue, we define a real-time extension of TIMO, named RTIMO, in which a global clock is used for the dynamic evolution of the whole system. In RTIMO, the discrete transitions caused by performing actions with timeouts are alternated with continuous transitions. Although the syntax of RTIMO is close to that of TIMO, their semantics are dissimilar. The main differences between the two formalisms are the following: RTIMO employs a single global clock, while in TIMO there is a local clock for each location; the nature of time in RTIMO is continuous, and not discrete, like in TIMO. Consequently, action deadlines are specified using positive real numbers, and time steps can have any length; time progress in RTIMO is performed by delay rules, in contrast with TIMO where in each location l there is a local function φ l that is used to decrement all timers by 1 at location l; an evolution step in RTIMO is a sequence of individual actions followed by the passage of time, in contrast with TIMO where an evolution step is a sequence of individual actions happening at the same location l, followed by the passage of time and the reactivation of all the stalled processes residing at location l Within RTIMO it is possible to investigate certain interesting real-time properties, such as those related to safety (a specified error cannot occur) and bounded liveness (a configuration is reachable within a certain amount of time). In order to use well-known model checking tools, such as UPPAAL [15], for the verification of distributed networks with migration and communication, we establish a formal relationship between RTIMO and timed automata. UPPAAL can then be employed in verifying temporal properties of networks of timed safety automata, properties expressed in CTL (Computation Tree Logic). VII. CONCLUSION When modelling distributed systems it is useful to have an explicit notion of location and explicit timed migration. Here we present shortly a rather simple and expressive formalism called TIMO. It was introduced to bridge the gap between the existing theoretical approach of process calculi and forthcoming realistic languages for multi-agent systems. Several variants were developed during the last years: a probabilistic extension PTIMO [10], a real-time version RTIMO [1], access permissions given by a type system in PERTIMO [8]. Interesting properties of distributed systems described by TIMO refer to process migration, time constraints, bounded liveness and optimal reachability [2], [7]. A verification tool called TIMO@PAT [11] was developed by using Process Analysis Toolkit (PAT). A flexible software platform was introduced in [3], [5] to support the specification of agents allowing timed migration in a distributed environment [4]. A formal relationship between RTIMO and timed automata defined in [1] allows the use of model checking capabilities provided by UPPAAL. A probabilistic temporal logic called PLTM was introduced in [10] to verify complex properties making explicit reference to specific locations, temporal constraints over local clocks and multisets of actions. Acknowledgement Many thanks to the co-authors and colleagues involved in several activities related to TIMO : Maciej Koutny, Bogdan Aman, Calin Juravle, Armand Rotaru, Jason Steggles and Manchun Zheng. The work was supported by a grant from the Romanian National Authority for Scientific Research, CNCS-UEFISCDI, project number PN-II-ID-PCE REFERENCES [1] B. Aman, G. Ciobanu. Real-Time Migration Properties of RTIMO Verified in UPPAAL. In 11th International Conference on Software Engineering and Formal Methods, LNCS, vol.8137, 31 45, [2] B. Aman, G. Ciobanu, M. Koutny. Behavioural Equivalences over Migrating Processes with Timers. In IFIP Joint International Conference on Formal Techniques for Distributed Systems (32nd FORTE / 14th FMOODS), LNCS, vol.7273, 52 66, 2012.

6 [3] G. Ciobanu, C. Juravle. A Software Platform for Timed Mobility and Timed Interaction. In IFIP Joint International Conference on Formal Techniques for Distributed Systems (29th FORTE / 11th FMOODS), LNCS, vol.5522, , [4] G. Ciobanu, C. Juravle. Mobile Agents with Timers, and Their Implementation. Intelligent Distributed Computing IV. Studies in Computational Intelligence, vol.315, , [5] G. Ciobanu, C. Juravle. Flexible Software Architecture and Language for Mobile Agents. Concurrency and Computation: Practice and Experience, vol.24(6), , [6] G. Ciobanu, M. Koutny. Modelling and Verification of Timed Interaction and Migration. In Fundamental Approaches to Software Engineering, LNCS, vol.4961, , [7] G. Ciobanu, M. Koutny. Timed Mobility in Process Algebra and Petri nets. The Journal of Logic and Algebraic Programming, vol.80(7), , [8] G. Ciobanu, M. Koutny. Timed Migration and Interaction with Access Permissions. In 17th International Symposium on Formal Methods, LNCS, vol.6664, , [9] G. Ciobanu, C. Prisacariu. Timers for Distributed Systems. In 4th Workshop on Quantitative Aspects of Programming Languages, ENTCS, vol.164(3), 81 99, [10] G. Ciobanu, A. Rotaru. A Probabilistic Logic for PTIMO. In 10th International Colloquium on Theoretical Aspects of Computing, LNCS, vol.8049, , [11] G. Ciobanu, M. Zheng. Automatic Analysis of TIMO Systems in PAT. In Proc. 18th International Conference on Engineering of Complex Computer Systems, , [12] H. Hansson, B. Jonsson. A logic for reasoning about time and reliability. Formal Aspects of Computing, vol.6(5), , [13] M. Hennessy. A distributed π-calculus. Cambridge University Press, [14] M. Kwiatkowska, G. Norman, D. Parker. Stochastic Model Checking. In Formal Methods for Performance Evaluation. Lecture Notes in Computer Science, LNCS, vol.4486, , [15] K.G. Larsen, P. Petterson, W. Yi. UPPAAL in a Nutshell. International Journal on Software Tools for Technology Transfer, vol.1(2), , [16] J. Sun, Y. Liu, J.S. Dong, J. Pang. PAT: Towards Flexible Verification under Fairness. In 21th International Conference on Computer Aided Verification, LNCS, vol.5643, , 2009.

From TiMo to Event-B: Event-Driven Timed Mobility

From TiMo to Event-B: Event-Driven Timed Mobility From TiMo to Event-B: Event-Driven Timed Mobility Gabriel Ciobanu Romanian Academy, Inst. of Computer Science, Iaşi, Romania Thai Son Hoang ETH Zürich, Inst. of Information Security, Switzerland Alin Stefanescu

More information

COMP 763. Eugene Syriani. Ph.D. Student in the Modelling, Simulation and Design Lab School of Computer Science. McGill University

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 information

Modeling, Testing and Executing Reo Connectors with the. Reo, Eclipse Coordination Tools

Modeling, Testing and Executing Reo Connectors with the. Reo, Eclipse Coordination Tools Replace this file with prentcsmacro.sty for your meeting, or with entcsmacro.sty for your meeting. Both can be found at the ENTCS Macro Home Page. Modeling, Testing and Executing Reo Connectors with the

More information

Improved BDD-based Discrete Analysis of Timed Systems

Improved BDD-based Discrete Analysis of Timed Systems Improved BDD-based Discrete Analysis of Timed Systems Truong Khanh Nguyen 1, Jun Sun 2, Yang Liu 1, Jin Song Dong 1 and Yan Liu 1 1 School of Computing National University of Singapore 2 Information System

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

Overview of Timed Automata and UPPAAL

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

Incremental Runtime Verification of Probabilistic Systems

Incremental Runtime Verification of Probabilistic Systems Incremental Runtime Verification of Probabilistic Systems Vojtěch Forejt 1, Marta Kwiatkowska 1, David Parker 2, Hongyang Qu 1, and Mateusz Ujma 1 1 Department of Computer Science, University of Oxford,

More information

CONTROLLER DEPENDABILITY ANALYSIS BY PROBABILISTIC MODEL CHECKING. Marta Kwiatkowska, Gethin Norman and David Parker

CONTROLLER DEPENDABILITY ANALYSIS BY PROBABILISTIC MODEL CHECKING. Marta Kwiatkowska, Gethin Norman and David Parker CONTROLLER DEPENDABILITY ANALYSIS BY PROBABILISTIC MODEL CHECKING Marta Kwiatkowska, Gethin Norman and David Parker School of Computer Science, University of Birmingham, Birmingham, B15 2TT, United Kingdom

More information

An Introduction to UPPAAL. Purandar Bhaduri Dept. of CSE IIT Guwahati

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

CLAN: A Tool for Contract Analysis and Conflict Discovery

CLAN: 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 information

A Test Case Generation Algorithm for Real-Time Systems

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

Editor. Analyser XML. Scheduler. generator. Code Generator Code. Scheduler. Analyser. Simulator. Controller Synthesizer.

Editor. 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 information

Petri Nets. Petri Nets. Petri Net Example. Systems are specified as a directed bipartite graph. The two kinds of nodes in the graph:

Petri Nets. Petri Nets. Petri Net Example. Systems are specified as a directed bipartite graph. The two kinds of nodes in the graph: System Design&Methodologies Fö - 1 System Design&Methodologies Fö - 2 Petri Nets 1. Basic Petri Net Model 2. Properties and Analysis of Petri Nets 3. Extended Petri Net Models Petri Nets Systems are specified

More information

PRISM An overview. automatic verification of systems with stochastic behaviour e.g. due to unreliability, uncertainty, randomisation,

PRISM An overview. automatic verification of systems with stochastic behaviour e.g. due to unreliability, uncertainty, randomisation, PRISM An overview PRISM is a probabilistic model checker automatic verification of systems with stochastic behaviour e.g. due to unreliability, uncertainty, randomisation, Construction/analysis of probabilistic

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

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

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

CS 4110 Programming Languages & Logics. Lecture 28 Recursive Types

CS 4110 Programming Languages & Logics. Lecture 28 Recursive Types CS 4110 Programming Languages & Logics Lecture 28 Recursive Types 7 November 2014 Announcements 2 Foster office hours 11-12pm Guest lecture by Fran on Monday Recursive Types 3 Many languages support recursive

More information

PRISM 4.0: Verification of Probabilistic Real-Time Systems

PRISM 4.0: Verification of Probabilistic Real-Time Systems PRISM 4.0: Verification of Probabilistic Real-Time Systems Marta Kwiatkowska 1,GethinNorman 2,andDavidParker 1 1 Department of Computer Science, University of Oxford, Oxford, OX1 3QD, UK 2 School of Computing

More information

Monitoring Interfaces for Faults

Monitoring Interfaces for Faults Monitoring Interfaces for Faults Aleksandr Zaks RV 05 - Fifth Workshop on Runtime Verification Joint work with: Amir Pnueli, Lenore Zuck Motivation Motivation Consider two components interacting with each

More information

Software verification for ubiquitous computing

Software verification for ubiquitous computing Software verification for ubiquitous computing Marta Kwiatkowska Computing Laboratory, University of Oxford QA 09, Grenoble, June 2009 Software everywhere Electronic devices, ever smaller Laptops, phones,

More information

Course Modelling of Concurrent Systems Summer Semester 2016 University of Duisburg-Essen

Course Modelling of Concurrent Systems Summer Semester 2016 University of Duisburg-Essen Course Modelling of Concurrent Systems Summer Semester 2016 University of Duisburg-Essen Harsh Beohar LF 265, harsh.beohar@uni-due.de Harsh Beohar Course Modelling of Concurrent Systems 1 Course handler

More information

Parallel Model Checking of ω-automata

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

PRISM-games: Verification and Strategy Synthesis for Stochastic Multi-player Games with Multiple Objectives

PRISM-games: Verification and Strategy Synthesis for Stochastic Multi-player Games with Multiple Objectives Software Tools for Technology Transfer manuscript No. (will be inserted by the editor) PRISM-games: Verification and Strategy Synthesis for Stochastic Multi-player Games with Multiple Objectives Marta

More information

Efficient Synthesis of Production Schedules by Optimization of Timed Automata

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

Course Modelling of Concurrent Systems Summer Semester 2016 University of Duisburg-Essen

Course Modelling of Concurrent Systems Summer Semester 2016 University of Duisburg-Essen Course Modelling of Concurrent Systems Summer Semester 2016 University of Duisburg-Essen Harsh Beohar LF 265, harsh.beohar@uni-due.de Harsh Beohar Course Modelling of Concurrent Systems 1 Course handler

More information

Modeling Hybrid Systems with Petri Nets

Modeling Hybrid Systems with Petri Nets Modeling Hybrid Systems with Petri Nets Debjyoti Bera, Kees van Hee and Henk Nijmeijer Abstract The behavior of a hybrid system is a mixture of continuous behavior and discrete event behavior. The Simulink/Stateflow

More information

EECS 144/244: Fundamental Algorithms for System Modeling, Analysis, and Optimization

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

Hierarchical Composition and Abstraction In Architecture Models

Hierarchical Composition and Abstraction In Architecture Models Hierarchical Composition and Abstraction In Architecture Models Pam Binns and Steve Vestal Honeywell Labs {pam.binns, steve.vestal}@honeywell.com Supported by the Air Force Office of Scientific Research

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

MANY real-time applications need to store some data

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

ISCASMC: A Web-Based Probabilistic Model Checker

ISCASMC: A Web-Based Probabilistic Model Checker ISCASMC: A Web-Based Probabilistic Model Checker Ernst Moritz Hahn 1, Yi Li 2, Sven Schewe 3, Andrea Turrini 1, and Lijun Zhang 1 1 State Key Laboratory of Computer Science, Institute of Software, Chinese

More information

Timed Automata Based Scheduling for a Miniature Pipeless Plant with Mobile Robots *

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

A Formal Model for Web-Service Composition

A Formal Model for Web-Service Composition Simon Foster Department of Computer Science University of Sheffield http://www.dcs.shef.ac.uk/~simonf BCTCS 2006 Outline 1 Composing Web-Services Current Technologies 2 3 4 Outline

More information

Resource-bound process algebras for Schedulability and Performance Analysis of Real-Time and Embedded Systems

Resource-bound process algebras for Schedulability and Performance Analysis of Real-Time and Embedded Systems Resource-bound process algebras for Schedulability and Performance Analysis of Real-Time and Embedded Systems Insup Lee 1, Oleg Sokolsky 1, Anna Philippou 2 1 RTG (Real-Time Systems Group) Department of

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

TTM/PAT: Specifying and Verifying Timed Transition Models

TTM/PAT: Specifying and Verifying Timed Transition Models TTM/PAT: Specifying and Verifying Timed Transition Models Jonathan S. Ostroff 1, Chen-Wei Wang 1,Yang Liu 2, Jun Sun 3, and Simon Hudon 1 1 Department of Electrical Engineering & Computer Science, York

More information

Analysis of a Gossip Protocol in PRISM

Analysis of a Gossip Protocol in PRISM Analysis of a Gossip Protocol in PRISM Marta Kwiatkowska, Gethin Norman and David Parker Oxford University Computing Laboratory, Wolfson Building, Parks Road, Oxford, OX1 QD ABSTRACT Gossip protocols have

More information

Formal Methods in Software Engineering. Lecture 07

Formal Methods in Software Engineering. Lecture 07 Formal Methods in Software Engineering Lecture 07 What is Temporal Logic? Objective: We describe temporal aspects of formal methods to model and specify concurrent systems and verify their correctness

More information

Computational problems. Lecture 2: Combinatorial search and optimisation problems. Computational problems. Examples. Example

Computational problems. Lecture 2: Combinatorial search and optimisation problems. Computational problems. Examples. Example Lecture 2: Combinatorial search and optimisation problems Different types of computational problems Examples of computational problems Relationships between problems Computational properties of different

More information

A Framework for Enforcing Constrained RBAC Policies

A Framework for Enforcing Constrained RBAC Policies A Framework for Enforcing Constrained RBAC Policies Jason Crampton Information Security Group Royal Holloway, University of London jason.crampton@rhul.ac.uk Hemanth Khambhammettu Information Security Group

More information

Introduction to Model Checking

Introduction to Model Checking Introduction to Model Checking René Thiemann Institute of Computer Science University of Innsbruck WS 2007/2008 RT (ICS @ UIBK) week 4 1/23 Outline Promela - Syntax and Intuitive Meaning Promela - Formal

More information

Course on Probabilistic Methods in Concurrency. (Concurrent Languages for Probabilistic Asynchronous Communication) Lecture 1

Course on Probabilistic Methods in Concurrency. (Concurrent Languages for Probabilistic Asynchronous Communication) Lecture 1 Course on Probabilistic Methods in Concurrency (Concurrent Languages for Probabilistic Asynchronous Communication) Lecture 1 The pi-calculus and the asynchronous pi-calculus. Catuscia Palamidessi INRIA

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

Composability Test of BOM based models using Petri Nets

Composability Test of BOM based models using Petri Nets I. Mahmood, R. Ayani, V. Vlassov and F. Moradi 7 Composability Test of BOM based models using Petri Nets Imran Mahmood 1, Rassul Ayani 1, Vladimir Vlassov 1, and Farshad Moradi 2 1 Royal Institute of Technology

More information

Timing Analysis of Distributed End-to-End Task Graphs with Model-Checking

Timing Analysis of Distributed End-to-End Task Graphs with Model-Checking Timing Analysis of Distributed End-to-End Task Graphs with Model-Checking Zonghua Gu Department of Computer Science, Hong Kong University of Science and Technology Abstract. Real-time embedded systems

More information

3. Relational Data Model 3.5 The Tuple Relational Calculus

3. Relational Data Model 3.5 The Tuple Relational Calculus 3. Relational Data Model 3.5 The Tuple Relational Calculus forall quantification Syntax: t R(P(t)) semantics: for all tuples t in relation R, P(t) has to be fulfilled example query: Determine all students

More information

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

1 Scope, Bound and Free Occurrences, Closed Terms

1 Scope, Bound and Free Occurrences, Closed Terms CS 6110 S18 Lecture 2 The λ-calculus Last time we introduced the λ-calculus, a mathematical system for studying the interaction of functional abstraction and functional application. We discussed the syntax

More information

MODEL CHECKING FOR PLANNING RESOURCE-SHARING PRODUCTION

MODEL CHECKING FOR PLANNING RESOURCE-SHARING PRODUCTION MODEL CHECKING FOR PLANNING RESOURCE-SHARING PRODUCTION Jüri Vain, Tauno Otto, Alar Kuusik Tallinn University of Technology, vain@ioc.ee, tauno.otto@ttu.ee, kalar@va.ttu.ee Effectiveness of operation of

More information

Type systems. Types in access control and privacy. Outline. 1. Dynamic Web Data. p-calculus Dp XDp

Type systems. Types in access control and privacy. Outline. 1. Dynamic Web Data. p-calculus Dp XDp Type systems Types in access control and privacy Silvia Ghilezan University of Novi Sad NII Shonan Meeting 069 LOGIC AND VERIFICATION METHODS IN SECURITY AND PRIVACY October 26-29, 2015 Types have gained

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

Formal specification of semantics of UML 2.0 activity diagrams by using Graph Transformation Systems

Formal specification of semantics of UML 2.0 activity diagrams by using Graph Transformation Systems Formal specification of semantics of UML 2.0 activity diagrams by using Graph Transformation Systems Somayeh Azizi 1, Vahid Panahi 2 Computer science department, Sama Technical and vocational, Training

More information

Formal Modeling of Testing Software for Cyber-Physical Automation Systems

Formal Modeling of Testing Software for Cyber-Physical Automation Systems Formal Modeling of Testing Software for Cyber-Physical Automation Systems Igor Buzhinsky, Cheng Pang, Valeriy Vyatkin Computer Technologies Laboratory, ITMO University, St. Petersburg, Russia Department

More information

Model checking pushdown systems

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

Implicit vs. Explicit Data-Flow Requirements in Web Service Composition Goals

Implicit vs. Explicit Data-Flow Requirements in Web Service Composition Goals Implicit vs. Explicit Data-Flow Requirements in Web Service Composition Goals Annapaola Marconi, Marco Pistore, and Paolo Traverso ITC-irst Via Sommarive 18, Trento, Italy {marconi, pistore, traverso}@itc.it

More information

A Formalization of Transition P Systems

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

CS 4110 Programming Languages & Logics. Lecture 27 Recursive Types

CS 4110 Programming Languages & Logics. Lecture 27 Recursive Types CS 4110 Programming Languages & Logics Lecture 27 Recursive Types 4 November 2016 Announcements 2 My office hours are at the normal time today but canceled on Monday Guest lecture by Seung Hee Han on Monday

More information

Modeling Interactions of Web Software

Modeling Interactions of Web Software Modeling Interactions of Web Software Tevfik Bultan Department of Computer Science University of California Santa Barbara, CA 9106 bultan@cs.ucsb.edu Abstract Modeling interactions among software components

More information

Simplifying Itai-Rodeh Leader Election for Anonymous Rings

Simplifying Itai-Rodeh Leader Election for Anonymous Rings AVoCS 04 Preliminary Version Simplifying Itai-Rodeh Leader Election for Anonymous Rings Wan Fokkink 1 Department of Software Engineering, CWI, Amsterdam, The Netherlands Department of Computer Science,

More information

How useful is the UML profile SPT without Semantics? 1

How useful is the UML profile SPT without Semantics? 1 How useful is the UML profile SPT without Semantics? 1 Susanne Graf, Ileana Ober VERIMAG 2, avenue de Vignate - F-38610 Gières - France e-mail:{susanne.graf, Ileana.Ober}@imag.fr http://www-verimag.imag.fr/~{graf,iober}

More information

StateClock: a Tool for Timed Reactive Modules

StateClock: a Tool for Timed Reactive Modules StateClock: a Tool for Timed Reactive Modules Jonathan S. Ostroff Department Of Computer Science, York University, Toronto, Canada, M3J 1P3. Email: jonathan@yorku.ca Abstract: We provide an overview of

More information

Stochastic Petri nets

Stochastic Petri nets Stochastic Petri nets 1 Stochastic Petri nets Markov Chain grows very fast with the dimension of the system Petri nets: High-level specification formalism Markovian Stochastic Petri nets adding temporal

More information

Behavioural Equivalences and Abstraction Techniques. Natalia Sidorova

Behavioural Equivalences and Abstraction Techniques. Natalia Sidorova Behavioural Equivalences and Abstraction Techniques Natalia Sidorova Part 1: Behavioural Equivalences p. p. The elevator example once more How to compare this elevator model with some other? The cabin

More information

CONVENTIONAL EXECUTABLE SEMANTICS. Grigore Rosu CS522 Programming Language Semantics

CONVENTIONAL EXECUTABLE SEMANTICS. Grigore Rosu CS522 Programming Language Semantics CONVENTIONAL EXECUTABLE SEMANTICS Grigore Rosu CS522 Programming Language Semantics Conventional Semantic Approaches A language designer should understand the existing design approaches, techniques and

More information

Stochastic Games for Verification of Probabilistic Timed Automata

Stochastic Games for Verification of Probabilistic Timed Automata Stochastic ames for Verification of Probabilistic Timed Automata Marta Kwiatkowska, ethin Norman, and David Parker Oxford University Computing Laboratory, Parks Road, Oxford, OX1 3QD Abstract. Probabilistic

More information

Lecture Notes on Program Equivalence

Lecture Notes on Program Equivalence Lecture Notes on Program Equivalence 15-312: Foundations of Programming Languages Frank Pfenning Lecture 24 November 30, 2004 When are two programs equal? Without much reflection one might say that two

More information

FSP Language Specification

FSP Language Specification FSP Language Specification V2.0 additions 1 V2.0 -Additions FSP Language Specification This document describes the additions that have been made to the FSP input notation to the LTSA tool since its initial

More information

A Simplified Abstract Syntax for the Dataflow Algebra. A. J. Cowling

A Simplified Abstract Syntax for the Dataflow Algebra. A. J. Cowling Verification and Testing Research Group, Department of Computer Science, University of Sheffield, Regent Court, 211, Portobello Street, Sheffield, S1 4DP, United Kingdom Email: A.Cowling @ dcs.shef.ac.uk

More information

Automated Formal Methods for Embedded Systems

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

2 after reception of a message from the sender, do one of two things: either the message is delivered to the receiver, or it is lost. The loss of a me

2 after reception of a message from the sender, do one of two things: either the message is delivered to the receiver, or it is lost. The loss of a me Protocol Verification using UPPAAL: Exercises? Lab assistant: Alexandre David Department of Computer Systems (room 1237, mailbox 26), Uppsala University, Box 325, S751 05, Uppsala. Phone: 018-18 73 41.

More information

Model-Checking and Simulation for Stochastic Timed Systems

Model-Checking and Simulation for Stochastic Timed Systems Model-Checking and Simulation for Stochastic Timed Systems QUASIMODO FMCO 2010, Graz Universität des Saarlandes Outline 1. Stochastic Timed Automata STA Submodels Modest 2. Model-Checking mcpta PTA Case

More information

Probabilistic Model Checking. Mohammad Roohitavaf

Probabilistic Model Checking. Mohammad Roohitavaf Probabilistic Model Checking Mohammad Roohitavaf Index! Introduction! Probabilistic Systems! Probabilistic Logics! PRISM! Performance Evaluation! Model Checking and Performance Evaluation! Challenges Introduction!

More information

Combining Declarative and Procedural Views in the Specification and Analysis of Product Families FMSPLE 2013

Combining Declarative and Procedural Views in the Specification and Analysis of Product Families FMSPLE 2013 Combining Declarative and Procedural Views in the Specification and Analysis of Product Families Maurice H. ter Beek ISTI CNR, Pisa, Italy joint work with Alberto Lluch Lafuente Marinella Petrocchi IMT,

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

This full text version, available on TeesRep, is the post-print (final version prior to publication) of:

This full text version, available on TeesRep, is the post-print (final version prior to publication) of: This full text version, available on TeesRep, is the post-print (final version prior to publication) of: Dong, J. S. et. al. (2006) 'HighSpec: A tool for building and checking OZTA models', 28th international

More information

A Modelling and Analysis Environment for LARES

A Modelling and Analysis Environment for LARES A Modelling and Analysis Environment for LARES Alexander Gouberman, Martin Riedl, Johann Schuster, and Markus Siegle Institut für Technische Informatik, Universität der Bundeswehr München, {firstname.lastname@unibw.de

More information

Petri Nets ~------~ R-ES-O---N-A-N-C-E-I--se-p-te-m--be-r Applications.

Petri Nets ~------~ R-ES-O---N-A-N-C-E-I--se-p-te-m--be-r Applications. Petri Nets 2. Applications Y Narahari Y Narahari is currently an Associate Professor of Computer Science and Automation at the Indian Institute of Science, Bangalore. His research interests are broadly

More information

Software Model Checking: Theory and Practice

Software Model Checking: Theory and Practice Software Model Checking: Theory and Practice Lecture: Specification Checking - Specification Patterns Copyright 2004, Matt Dwyer, John Hatcliff, and Robby. The syllabus and all lectures for this course

More information

Towards Validated Real-Time Software

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

PRISM-games 2.0: A Tool for Multi-Objective Strategy Synthesis for Stochastic Games

PRISM-games 2.0: A Tool for Multi-Objective Strategy Synthesis for Stochastic Games PRISM-games 2.0: A Tool for Multi-Objective Strategy Synthesis for Stochastic Games Marta Kwiatkowska 1, David Parker 2, and Clemens Wiltsche 1 1 Department of Computer Science, University of Oxford, UK

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

these developments has been in the field of formal methods. Such methods, typically given by a

these developments has been in the field of formal methods. Such methods, typically given by a PCX: A Translation Tool from PROMELA/Spin to the C-Based Stochastic Petri et Language Abstract: Stochastic Petri ets (SPs) are a graphical tool for the formal description of systems with the features of

More information

Lambda Calculus. Type Systems, Lectures 3. Jevgeni Kabanov Tartu,

Lambda Calculus. Type Systems, Lectures 3. Jevgeni Kabanov Tartu, Lambda Calculus Type Systems, Lectures 3 Jevgeni Kabanov Tartu, 13.02.2006 PREVIOUSLY ON TYPE SYSTEMS Arithmetical expressions and Booleans Evaluation semantics Normal forms & Values Getting stuck Safety

More information

Negations in Refinement Type Systems

Negations in Refinement Type Systems Negations in Refinement Type Systems T. Tsukada (U. Tokyo) 14th March 2016 Shonan, JAPAN This Talk About refinement intersection type systems that refute judgements of other type systems. Background Refinement

More information

CS 556 Advanced Computer Networks Spring Solutions to Midterm Test March 10, YOUR NAME: Abraham MATTA

CS 556 Advanced Computer Networks Spring Solutions to Midterm Test March 10, YOUR NAME: Abraham MATTA CS 556 Advanced Computer Networks Spring 2011 Solutions to Midterm Test March 10, 2011 YOUR NAME: Abraham MATTA This test is closed books. You are only allowed to have one sheet of notes (8.5 11 ). Please

More information

Formal Analysis and Verification of a Communication Protocol

Formal Analysis and Verification of a Communication Protocol Proceedings of the 5th WSEAS Int. Conference on Information Security and Privacy, Venice, Italy, November 20-22, 2006 103 Formal Analysis and Verification of a Communication Protocol XIN BEN LI, DE CHAO

More information

MODERN automated manufacturing systems require. An Extended Event Graph With Negative Places and Tokens for Time Window Constraints

MODERN automated manufacturing systems require. An Extended Event Graph With Negative Places and Tokens for Time Window Constraints IEEE TRANSACTIONS ON AUTOMATION SCIENCE AND ENGINEERING, VOL. 2, NO. 4, OCTOBER 2005 319 An Extended Event Graph With Negative Places and Tokens for Time Window Constraints Tae-Eog Lee and Seong-Ho Park

More information

Introduction to Embedded Systems

Introduction to Embedded Systems Introduction to Embedded Systems Sanjit A. Seshia UC Berkeley EECS 149/249A Fall 2015 2008-2015: E. A. Lee, A. L. Sangiovanni-Vincentelli, S. A. Seshia. All rights reserved. Chapter 3: Discrete Dynamics,

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

PETRI NET MODELLING OF CONCURRENCY CONTROL IN DISTRIBUTED DATABASE SYSTEM

PETRI NET MODELLING OF CONCURRENCY CONTROL IN DISTRIBUTED DATABASE SYSTEM PETRI NET MODELLING OF CONCURRENCY CONTROL IN DISTRIBUTED DATABASE SYSTEM Djoko Haryono, Jimmy Tirtawangsa, Bayu Erfianto Abstract- The life time of transaction is divided into two stages: executing stage

More information

12 PEPA Case Study: Rap Genius on Heroku

12 PEPA Case Study: Rap Genius on Heroku 1 PEPA Case Study: Rap Genius on Heroku As an example of a realistic case study, we consider a Platform as a service (PaaS) system, Heroku, and study its behaviour under different policies for assigning

More information

A FAMILY OF RESOURCE-BOUND REAL- TIME PROCESS ALGEBRAS

A FAMILY OF RESOURCE-BOUND REAL- TIME PROCESS ALGEBRAS A FAMILY OF RESOURCE-BOUND REAL- TIME PROCESS ALGEBRAS Insup Lee University of Pennsylvania, Philadelphia, PA (lee@cis.upenn.edu) Jin-Young Choi Korea University, Seoul, Korea (choi@formal.korea.ac.kr)

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

Formal modelling and verification in UPPAAL

Formal modelling and verification in UPPAAL Budapest University of Technology and Economics Department of Measurement and Information Systems Fault Tolerant Systems Research Group Critical Embedded Systems Formal modelling and verification in UPPAAL

More information

Joint Entity Resolution

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

Hierarchical Petri Net Simulator: Simulation, Design Validation, and Model Checking Tool for Hierarchical Place/Transition Petri Nets

Hierarchical Petri Net Simulator: Simulation, Design Validation, and Model Checking Tool for Hierarchical Place/Transition Petri Nets Hierarchical Petri Net Simulator: Simulation, Design Validation, and Model Checking Tool for Hierarchical Place/Transition Petri Nets Yojiro Harie and Katsumi Wasaki Interdisciplinary Graduate School of

More information

CONVENTIONAL EXECUTABLE SEMANTICS. Grigore Rosu CS422 Programming Language Semantics

CONVENTIONAL EXECUTABLE SEMANTICS. Grigore Rosu CS422 Programming Language Semantics CONVENTIONAL EXECUTABLE SEMANTICS Grigore Rosu CS422 Programming Language Semantics Conventional Semantic Approaches A language designer should understand the existing design approaches, techniques and

More information

Automatic Verification of the IEEE-1394 Root Contention Protocol with KRONOS and PRISM

Automatic Verification of the IEEE-1394 Root Contention Protocol with KRONOS and PRISM Software Tools for Technology Transfer manuscript No. (will be inserted by the editor) Automatic Verification of the IEEE-1394 Root Contention Protocol with KRONOS and PRISM Conrado Daws 1, Marta Kwiatkowska

More information