ALGORITHMS FOR HIGH LEVEL PETRI NETS SIMULATION AND RULE-BASED SYSTEMS

Size: px
Start display at page:

Download "ALGORITHMS FOR HIGH LEVEL PETRI NETS SIMULATION AND RULE-BASED SYSTEMS"

Transcription

1 ALGORITHMS FOR HIGH LEVEL PETRI NETS SIMULATION AND RULE-BASED SYSTEMS Dumitru Dan BURDESCU *, Marius BREZOVAN ** * University of Craiova, Faculty of Automatic Control, Computer and Electronics Software Engineering Department tel/fax: , burdescu@topedge.com ** University of Craiova, Faculty of Automatic Control, Computer and Electronics Software Engineering Department brezovan@comp-craiova.ro Abstract: This paper presents a way for implementing the dynamic semantics of High Level Petri Nets by using a mied version of RETE algorithm. To do this, a rule-based language for High Level Petri Nets specications is described. First a connection between rule-based systems and High Level Petri Nets is presented, and it is sown then that for every Petri net, a rule-based system exists, which is semantic equivalent. The proposed algorithms are algorithms for simulation, and the High Level Petri Nets can be used for discrete event system melling. The algorithms presented in this paper are based on the RETE algorithm for rule-based systems, and avoid the testing of all transitions for enabling determination. The tokens are propagated in the RETE graph, as much as possible; when tokens reach an output ne, they activate the transition associated to that ne. Keywords: Petri nets, rule-based systems, system melling, discrete event systems, algebraical specications. 1. Intruction The structure of a rule-based system contains mainly a fact base, called the working memory of the system where the known facts at different moments are stored, a rule base which contains the rules used to infer new facts, and an inference engine which selects some applicable rules to infer new facts. The rules from the rule base are syntactic structures of the form: If conditions then actions The conditions represent the rule antecedent and they are patterns that are tested for the rule activation. If the conditions match with the facts from the fact base, the rule can re, and the actions representing the consequent of the rule are performed. The pattern-matching process is performed during the inference process, and the variables appearing into the patterns are bound to some constants from the facts of the fact base. There are two important classes of inference algorithms: forward chaining algorithms and backward chaining algorithms. In the following the case of forward chaining algorithms is considered. The main structure of a forward chaining algorithm is presented in procedure Infer: procedure Infer(input rule-base, fact-base) selected-rules Select(rule-base, fact-base) while selected-rules Φ do rule SolveConflicts( selected-rules) ApplyRule(rule) selected-rules Select( rule-base, fact-base) rule-set function Select(rule-base, fact-base)

2 selected-rules Φ for * rule rule-base* do if Match(Antecedent(rule), fact-base) then selected-rules selected rules rule return selected-rules The function Select selects a set of rules, or rule instances in the case of systems allowing variables, from the rule base whose antecedent matches with the facts from the fact base. The function Match determines this matching process. One of the rules selected will be red, which is determined by function SolveConflicts. The procedure ApplyRule res a rule by performing the actions of its consequent. An improved version of this algorithm was described by Forgy [9], which allows to increase the speed of pattern-matching process. This algorithm is called RETE, and it tries to avoid the iterations over facts of the fact base by storing for each pattern a list of the matched rule antecedents. Similarities between Predicate/Transition nets and rule based systems have been established [14, 17, 18]. High Level Petri Nets preserve this property; one can show that for every High Level Petri Net a rule based system exists, which is semantic equivalent. To do this, an appropriate syntax of the pruction rule language, closed to the High Level Petri Nets denition is chosen. rule :: = if antecedent then consequent antecedent :: = λ pattern { pattern } * [ test ] pattern :: = ident ( multiset ) test :: = test ( boolean expression ) multiset :: = integer * ident {, integer * ident } * consequent :: = action { action } * action :: = app delete app :: = add ( ident, { multiset } ) delete :: = del ( ident, { multiset } ) fact :: = { multiset of constants } multiset of constants :: = integer * const {, integer * const } * The transformation of a High Level Petri Net into a rule-based system is made through the following steps: (1) the rule base construction; to each transition of the net, one pruction rule is associated, as in the following: - to each input place of the transition, a pattern is associated; the parameters of the pattern represents the expression L(a) of the arc connecting the place to the transition; - to the selector of the transition, a test condition is associated, specifying its boolean expression; - to each output place of the transition, a delete action is associated, in a similar way to the pattern association; - to each output place of the transition, an app action is associated, by specifying the place name and the expression L(a) of the arc connecting the place to the transition. (2) the construction of initial fact base, which contains all multisets of the initial marking: F = p P (M 0 (p)). In other words, a fact represents a multiset of constants, which is compatible with the type of its associated place. Proposition 1. For every High Level Petri Net, a rulebased system exists, which is semantic equivalent. Proof. In concordance with the steps (1) and (2), a High Level Petri Net is transformed into a knowledge base with the property that a biunivocal correspondence exists between the net transitions and system rules. The following remarks state that the rules red by inference algorithm in procedure Infer represents a subset of the reachability graph of the initial net: (a) the pattern-matching operation, whose effect is the binding of the antecedent variables to appropriate values, is made by matching the multiset of variables (belonging the input arcs of the transition) against the multiset of constants representing the marking of those places. (b) The operation of antecedent evaluation represents the verication of the two important conditions from the denition of enabling transition. Through the pattern-matching operation, the occurrence me of the transition is realised. (c) The performing of consequent actions of a rule represents the operations performed at the ring of the correspondent transition; this means that a rule ring is semantic equivalent to its correspondent transition ring. #. It follows that inference algorithms can be used to implement the semantics of the High Level Petri Nets. 2. RETE algorithms for implementation of High Level Petri Nets semantics In place to translate a net into a pruction system [6], the RETE algorithm is adopted so that it works directly with a High Level Petri Net. The general structure of a sorting net adapted to te High Level Petri Nets is presented in gure 1.

3 p 1 p i p j p n distribution trees test trees t 1 t k Figure 1. The sorting net The inputs for the sorting net correspond to the places of the associated High Level Petri Net, and the output places to the transitions of the net. The sorting net contains two subnets: the distribution net and the test net. The distribution net is composed by a number of trees equal to the number of places from the High Level Petri Net, each tree having two levels: the root and the leaves. To simplify the test net, if a place is an input place for more transitions, this place must be duplicated. As a consequence, the leaves from a distribution tree are duplications of its associated place. The test tree contains one test tree for each transition. The root of the tree is an output ne for the sorting net, and the leaves represent outputs of the distribution net. The construction of the sorting net starts with the test subnet, because the distribution subnet is a simple list of lists, which can be easy constructed if the test subnet is constructed. To simplify the construction operation, one observe some elements: Even if the sorting net is regarded as a directed graph, it represents in fact a set of disjoint trees: general trees in the distribution subnet, and binary trees in the test subnet; the coupling of these subnets is made by using the leaf nes. One use for simplicity three attributes of the nes to specify the links to the neighbour nes: left, right and down; As in RETE graphs, there are two types of nes in the test net: (a) one input nes, called also input nes (denoted by I and representing the leaf nes of the test trees), and (b) two input nes, which can be internal nes (denoted by IO) and internal nes (denoted by O, and representing the roots of the test trees); To specify the connections to the environment, two attributes are used for the input/output nes of the sorting net (specifying the associated ne of the High Level Petri Net): place for input nes, and transition for output nes. Denoting by p 1, p 2,..., p k the input places for a transition t, and by p lm the two input ne obtained from the ascats p l and p m, the order for nes generating (in the test tree for transition t) is: p 1, p 2, p 12, p 3, p 123, p 4, p 1234,..., p n, p 12...n. The root of the tree is p 12...n, for which: transition(p 12...n )=t. The leaf nes are: p 1, p 2,..., p n, for which: place(p i )=p i, i=1,2,..., n. The algorithm to create the test net is presented in function TestNetCreation: ne_list function TestNetCreation (output lq) initq(lq) for * t T do lq TestTreeCreation(t,lq) return lq Each test tree is created by using the function TestTreeCreation. The distribution net is generated having the list lq of the leaf nes of the test net as

4 input parameter, and the list lp of the root nes of the distribution trees as output parameter. ne_list function DistributionNetCreation(output lq) initq(lp) for * p P do n DistributionTreeCreation( p,lq) addq(lp,n) return lp A distribution tree represents in fact the root ne (whose place attribute points to the associated place of the High Level Petri Net) and a list of its descants (indicated by the attribute down). To manage both the tokens from the place markings, and the variable assignment of the occurrence me of a transition, the nes from the sorting net have two additionally attributes: tokens, which represents a multiset of constants, and variables, which represents a list of pairs of the form (variable-value). The tokens propagation is distinct in the two subnets: in the distribution net they are copied in the leaf nes, while in the test net they descs from level to level, if it is possible. When tokens reach an output ne, they activate the transition associated to that ne. The algorithm to add a multiset of tokens in a place of a High Level Petri Net is specied in the procedure AddTokensRete, which has two input parameters: the place and the multiset of tokens: procedure AddTokensRete(input p, e) q Search(lp,p) for * n down(q) do tokens(n) tokens(n) e tokens(place(n)) Match(p,L(p, transition(place(n))),var) variables(place(n)) var Propagate(place(n)) The function Search determines the input ne of the sorting net associated to the place p. The procedure Match(p, L(p,t), var) performs the matching process of the tokens from the marking M(p) with the expression L(p, t), the multiset of variables associated with the arc (p, t). The procedure Propagate propagates the multiset of tokens (as a result of the matching process) in the test net: procedure Propagate(input q) term false if ntype(q) O then q down(q) while term (ntype(q) O) do term Perform(q) q down(q) The variable term is used to determine when an internal ne founds a discordance between the assignments of a variable in two distinct places (by using the function Perform): logic function Perform(input q) if (left(q) λ) (right(q) λ) then if DifferentValues(variables( left(q)), variables( right(q))) then return false tokens(q) tokens(left(q)) tokens(right(q)) variables(q) variables(left(q)) variables(right(q)) if ntype(q) = O then variables(q) variables(q) AssignOut(transition(q)) α(transition(q)) variables(q) addq(enabled, transition(q))) return true In the case when the function Perform works on an output ne of the sorting net, and the matching is not failed, the transition associated this ne is added to the list of the enabled transitions. For simplicity one can assume that the list enabled is a global variable of the algorithm. To delete a multiset of constants from a place marking is similar to the adding operation, unless the fact that the tokens are not propagated in the sorting net. One can observe that the transition enabling operation is made in the procedure AddTokensRete by using the function Perform. The ring procedure calls these two procedures: procedure FiringTransitionRete( input t, a) for * p t do DelTokensRete(p,Eval(L(p,t))) for * p t do AddTokensReteT(p,Eval(L(t,p)))

5 The main algorithm rst generates the sorting net associated with the High Level Petri Net, initialises the sorting net, and calls the procedure ReteCycle: procedure ReteControl InitRete ReteCycle procedure InitRete lq TestNetCreation lp DistributionNetCreation(lq) initq(enabled) for * p P do if M 0 (p) Φ then AddTokensRete(p, M 0 (p)) procedure ReteCycle while enabled Φ do t 1 delq(enabled) FiringTransitionRete(t 1 ) 3. Conclusions A meth of implementing the semantics of High Level Petri Nets is presented, based on the inference algorithms of the rule-based systems. The using of this type of algorithms is possible because it was proved that for every High Level Petri Net a rule-based system exists, which is semantic equivalent. The most proposals use token-player algorithms for semantic implementation of Petri nets [12, 19, 23]. A token-player simulation algorithm for Petri nets can be simple described by an innite loop, at each step the enabled transitions are determined and one enabled transition is red. The main disadvantage is the fact that each iteration, all transition of the top level net must be tested [23]. An optimal alternative uses the launch places [19]. Every transition has assigned an input place, which is tested for enabling: if this place has a non-empty marking, the corresponding transition is possible to be enabled; else the transition is certainly non-enabled. The algorithms presented in this paper are based on the RETE algorithm for rule-based systems, and avoid the testing of all transitions for enabling determination. The tokens are propagated in the RETE graph, as much as possible; when tokens reach an output ne, they activate the transition associated to that ne. In this way, the presented algorithm is faster than a token-player algorithm. An important problem in the system melling is the language used to specify the Petri net, which describe the melled system. The most proposals in system melling with Petri nets, both text oriented and graphic oriented, describe the Petri net conguration, rather than the melled system [6, 8, 12, 15]. The language proposed in this paper uses the pruction rules formalism, having two main advantages: (a) it describes the working of the melled system, and (b) it allows to generate automatically the corresponding High Level Petri Net. References [1] Argewala T., Choed-Amphai Y. A synthesis rule for concurrent systems, Proc. Of the 15th Design Automation Conference, 1978, pp ; [2] Bauman R., Turano T.A. Pruction based language simulation of Petri nets, Simulation, 1986, vol. 47, pp ; [3] Brezovan M. A Formal denition of Hierarchical Hgh Level Petri Nets, Proc. of the International Symposium on Systems Theory, Robotics, Computers and Process Informatics, Craiova, 1998, pp ; [4] Bruno G., Marchetto G. Process-Translatable Petri Nets for the Rapid Prototyping of Process Control Systems, IEEE Trans. on Software Engineering, 1986, vol. 12, no. 2, pp ; [5] Christensen S., Toksvig J. DesignBeta V BETA Ce Segments in CP nets, Lecture Notes OO&CPN, nr. 5, Computer Science Department, Aarhus University, 1993; [6] Colom J.M., Silva M., Villarroel J.L. On software implementation of Petri nets and coloured Petri nets using high-level concurrent languages, European Workshop on Application and Theory of Petri nets, 1986, pp ; [7] Fiswick P.A. The Role of Process Abstraction in Simulation, IEEE Transactions on Systems, Man and Cybernetics, 1988, vol. 18, no. 1, pp ; [8] Fleischack H., Weber A. Rule-based programming, Predicate/Transition nets and the meling of the procedures and flexible manufacturing systems, Proc. of the 10th International Conference on Applications and Theory of Petri Nets, June, 1989; [9] Forgy C. RETE: A Fast Algorithm for Many Pattern/Many Objects, Articial Intelligence, 1982, vol. 19, pp ; [10] Jensen K., Christensen S., Huber P., Holla M. Design/CPN: A Reference Manual, MetaSoftware Corporation, 1992; [11] Jensen K. Coloured Petri Nets. Basic Concepts, Analysis Meths and Practical Use. Vol. 1: Basic Concepts, EATCS Monographs on Theoretical Computer Science, 1992; [12] Martinez J., Muro P.R., Silva M. Melling, Validation and Software Implementation of Pruction Systems Using High Level Petri Nets, Proc. of the IEEE International Conference in Robotics and Automation, 1987, pp ; [13] Martinez J.M., Muro P.R., Silva M., Snith S.F., Villarroel J.L., Merging articial intelligence techniques and Petri nets for real-time scheduling and control of

6 pruction systems, Proc. of the 12th IMACS World Congress on Scientic Computation, 1988, vol. 3, pp ; [14] Murata T., Zhang D. - A Predicate-Transition net mel for parallel interpretation of logic programs, IEEE Transactions on Software Engineering, 1988, vol. 14, no.1; [15] Nelson R.A. Haibt L.M. Sheridan P.B. Casting Petri Nets into Programs, IEEE Transactions on Software Engineering, 1983, vol. 9, no. 5, pp ; [16] Paludetto M., Raymaond S. A methology based on objects and Petri nets for development of realtime software, 1993, LAAS-CNRS, Tech. Rep ; [17] Peterka G., Murata T. Proof procedure and answer extraction in Petri net mel of logic programs, IEEE Transactions on Software Engineering, 1989, vol. 15, no.2; [18] Sahroui A., Atabakhche H., Courvoisier M., Valette R. Joining Petri Nets and Knowlwdge Based Systems for monitoring purposes, Proc. of the IEEE International Conference on Robotics and Automation, 1987, pp ; [19] Taubner D. On the Imlementation of Petri Nets, Lecture Notes in computer Science, 1988, vol. 340; [20] Thiagarajan P.S. Some Behavioural Aspects of Net Theory, Lecture Notes in Computer Science, 1988, vol. 317, pp ; [21] Valette R., Bako B. Software Implementation of Petri Nets and Compilation Rule-Based Systems, Lecture Notes in Computer Science, 1991, vol. 524, pp ; [22] Valette R., Cardoso J., Atabakhche H., Courvoisier M. Petri nets and pruction rules for decision levels in FMS control, Proc. of the 12th IMACS World Congress on Scientic Computation, 1988, vol. 3, pp ; [23] Valette R. Nets in pruction systems, Lecture Notes in Computer Science, 1986, vol. 255, pp ;

KRON: An Approach for the Integration of Petri Nets in Object Oriented Models of Discrete Event Systems

KRON: An Approach for the Integration of Petri Nets in Object Oriented Models of Discrete Event Systems KRON: An Approach for the Integration of Petri Nets in Object Oriented Models of Discrete Event Systems J.L. Villarroel, J.A. Bañares and P.R. Muro-Medrano Departamento de Ingeniería Eléctrica e Informatica

More information

Structure of Abstract Syntax trees for Colored Nets in PNML

Structure of Abstract Syntax trees for Colored Nets in PNML Structure of Abstract Syntax trees for Colored Nets in PNML F. Kordon & L. Petrucci Fabrice.Kordon@lip6.fr Laure.Petrucci@lipn.univ-paris13.fr version 0.2 (draft) June 26, 2004 Abstract Formalising the

More information

A Brief Introduction to Coloured Petri Nets

A Brief Introduction to Coloured Petri Nets A Brief Introduction to Coloured Petri Nets Kurt Jensen Computer Science Department, University of Aarhus NyMunkegade, Bldg. 540, DK-8000 AarhusC, Denmark E-mml: kjensen9 WWV~: http://www.daimi.aau.dk/~kjensen/

More information

Computation of enabled transition instances for colored Petri nets

Computation of enabled transition instances for colored Petri nets Computation of enabled transition instances for colored Petri nets Fei Liu and Monika Heiner Department of Computer Science, Brandenburg University of Technology Postbox 10 13 44, 03013 Cottbus, Germany

More information

An Annotated Language

An Annotated Language Hoare Logic An Annotated Language State and Semantics Expressions are interpreted as functions from states to the corresponding domain of interpretation Operators have the obvious interpretation Free of

More information

An Algorithm to Compute a Basis of Petri Net Invariants

An Algorithm to Compute a Basis of Petri Net Invariants An Algorithm to Compute a Basis of Petri Net Invariants S. Cayir and M. Ucer Electronics and Communication Department, Istanbul Technical University, Istanbul, Turkey cayirs@itu.edu.tr and murvet@ehb.itu.edu.tr

More information

Deadlock Avoidance For Flexible Manufacturing Systems With Choices Based On Digraph Circuit Analysis

Deadlock Avoidance For Flexible Manufacturing Systems With Choices Based On Digraph Circuit Analysis Deadlock Avoidance For Flexible Manufacturing Systems With Choices Based On Digraph Circuit Analysis Wenle Zhang and Robert P. Judd School of Electrical Engineering and Computer Science Ohio University

More information

ON-LINE QUALITATIVE MODEL-BASED DIAGNOSIS OF TECHNOLOGICAL SYSTEMS USING COLORED PETRI NETS

ON-LINE QUALITATIVE MODEL-BASED DIAGNOSIS OF TECHNOLOGICAL SYSTEMS USING COLORED PETRI NETS ON-LINE QUALITATIVE MODEL-BASED DIAGNOSIS OF TECHNOLOGICAL SYSTEMS USING COLORED PETRI NETS Adrien Leitold 1 Miklós Gerzson 2 Anna I. Pózna 2 and Katalin M. Hangos 2,3 1 Department of Mathematics 3 Process

More information

Programming Languages Third Edition

Programming Languages Third Edition Programming Languages Third Edition Chapter 12 Formal Semantics Objectives Become familiar with a sample small language for the purpose of semantic specification Understand operational semantics Understand

More information

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

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

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

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

SOLVING DEADLOCK STATES IN MODEL OF RAILWAY STATION OPERATION USING COLOURED PETRI NETS

SOLVING DEADLOCK STATES IN MODEL OF RAILWAY STATION OPERATION USING COLOURED PETRI NETS SOLVING DEADLOCK STATES IN MODEL OF RAILWAY STATION OPERATION USING COLOURED PETRI NETS Michal Žarnay University of Žilina, Faculty of Management Science and Informatics, Address: Univerzitná 8215/1, Žilina,

More information

A Fast Method for Extracting all Minimal Siphons from Maximal Unmarked Siphons of a Petri Net

A Fast Method for Extracting all Minimal Siphons from Maximal Unmarked Siphons of a Petri Net 582 JOURNAL OF SOFTWARE, VOL. 9, NO. 3, MARCH 2014 A Fast Method for Extracting all Minimal Siphons from Maximal Unmarked Siphons of a Petri Net Qiaoli Zhuang School of Information Science and Technology,

More information

Petri-net-based Workflow Management Software

Petri-net-based Workflow Management Software Petri-net-based Workflow Management Software W.M.P. van der Aalst Department of Mathematics and Computing Science, Eindhoven University of Technology, P.O. Box 513, NL-5600 MB, Eindhoven, The Netherlands,

More information

A Visual Editor for Reconfigurable Object Nets based on the ECLIPSE Graphical Editor Framework

A Visual Editor for Reconfigurable Object Nets based on the ECLIPSE Graphical Editor Framework A Visual Editor for Reconfigurable Object Nets based on the ECLIPSE Graphical Editor Framework Enrico Biermann, Claudia Ermel, Frank Hermann and Tony Modica Technische Universität Berlin, Germany {enrico,lieske,frank,modica}@cs.tu-berlin.de

More information

Discrete-event simulation of railway systems with hybrid models

Discrete-event simulation of railway systems with hybrid models Discrete-event simulation of railway systems with hybrid models G. Decknatel & E. Schnieder Imtitutfur Regelungs- undautomatisierungstechnik, Technische Universitat Braunschweig, Braunschweig, Germany.

More information

CSC Discrete Math I, Spring Sets

CSC Discrete Math I, Spring Sets CSC 125 - Discrete Math I, Spring 2017 Sets Sets A set is well-defined, unordered collection of objects The objects in a set are called the elements, or members, of the set A set is said to contain its

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

1.3. Conditional expressions To express case distinctions like

1.3. Conditional expressions To express case distinctions like Introduction Much of the theory developed in the underlying course Logic II can be implemented in a proof assistant. In the present setting this is interesting, since we can then machine extract from a

More information

CSCI B522 Lecture 11 Naming and Scope 8 Oct, 2009

CSCI B522 Lecture 11 Naming and Scope 8 Oct, 2009 CSCI B522 Lecture 11 Naming and Scope 8 Oct, 2009 Lecture notes for CS 6110 (Spring 09) taught by Andrew Myers at Cornell; edited by Amal Ahmed, Fall 09. 1 Static vs. dynamic scoping The scope of a variable

More information

Propositional Logic. Part I

Propositional Logic. Part I Part I Propositional Logic 1 Classical Logic and the Material Conditional 1.1 Introduction 1.1.1 The first purpose of this chapter is to review classical propositional logic, including semantic tableaux.

More information

Modelling and Simulation of a Network Management System using Hierarchical Coloured Petri Nets. Extended version

Modelling and Simulation of a Network Management System using Hierarchical Coloured Petri Nets. Extended version Modelling and Simulation of a Network Management System using Hierarchical Coloured Petri Nets. Extended version Søren Christensen Computer Science Department Aarhus University Ny Munkegade, Bldg. 540

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

Typestate-Oriented Design

Typestate-Oriented Design Typestate-Oriented Design A Coloured Petri Net Approach Jorge Luis Guevara Díaz Department of Computer Science Institute of Mathematics and Statistics São Paulo University,São Paulo-Brazil jorjasso@vision.ime.usp.br

More information

Construction of a transitive orientation using B-stable subgraphs

Construction of a transitive orientation using B-stable subgraphs Computer Science Journal of Moldova, vol.23, no.1(67), 2015 Construction of a transitive orientation using B-stable subgraphs Nicolae Grigoriu Abstract A special method for construction of transitive orientations

More information

1. M,M sequential composition: try tactic M; if it succeeds try tactic M. sequential composition (, )

1. M,M sequential composition: try tactic M; if it succeeds try tactic M. sequential composition (, ) Dipl.-Inf. Achim D. Brucker Dr. Burkhart Wolff Computer-supported Modeling and Reasoning http://www.infsec.ethz.ch/ education/permanent/csmr/ (rev. 16802) Submission date: FOL with Equality: Equational

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

Discrete Mathematics Lecture 4. Harper Langston New York University

Discrete Mathematics Lecture 4. Harper Langston New York University Discrete Mathematics Lecture 4 Harper Langston New York University Sequences Sequence is a set of (usually infinite number of) ordered elements: a 1, a 2,, a n, Each individual element a k is called a

More information

Propositional Logic. Andreas Klappenecker

Propositional Logic. Andreas Klappenecker Propositional Logic Andreas Klappenecker Propositions A proposition is a declarative sentence that is either true or false (but not both). Examples: College Station is the capital of the USA. There are

More information

An Optimal Algorithm for the Euclidean Bottleneck Full Steiner Tree Problem

An Optimal Algorithm for the Euclidean Bottleneck Full Steiner Tree Problem An Optimal Algorithm for the Euclidean Bottleneck Full Steiner Tree Problem Ahmad Biniaz Anil Maheshwari Michiel Smid September 30, 2013 Abstract Let P and S be two disjoint sets of n and m points in the

More information

Design/CPN ASK-CTL Manual

Design/CPN ASK-CTL Manual Design/CPN ASK-CTL Manual Version 0.9 University of Aarhus Computer Science Department Ny Munkegade, Bldg. 540 DK-8000 Aarhus C, Denmark Tel: +45 89 42 31 88 Fax: +45 89 42 32 55 1996 University of Aarhus

More information

DEADLOCK AVOIDANCE FOR FLEXIBLE MANUFACTURING SYSTEMS WITH CHOICES BASED ON DIGRAPH CIRCUIT ANALYSIS

DEADLOCK AVOIDANCE FOR FLEXIBLE MANUFACTURING SYSTEMS WITH CHOICES BASED ON DIGRAPH CIRCUIT ANALYSIS Asian Journal of Control, Vol. 9, No. 2, pp. 111-120, June 2007 111 DEADLOCK AVOIDANCE FOR FLEXIBLE MANUFACTURING SYSTEMS WITH CHOICES BASED ON DIGRAPH CIRCUIT ANALYSIS Wenle Zhang and Robert P. Judd ABSTRACT

More information

Chapter 3. Describing Syntax and Semantics

Chapter 3. Describing Syntax and Semantics Chapter 3 Describing Syntax and Semantics Chapter 3 Topics Introduction The General Problem of Describing Syntax Formal Methods of Describing Syntax Attribute Grammars Describing the Meanings of Programs:

More information

5 Conclusions. References

5 Conclusions. References contain a token in the list_of_tokens. Each time a new marking is reached, the list_of_tokens of the appropriate objects are readjusted according to the removed or to the added tokens. In the actual version

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

MODELING INTERACTIVE SYSTEMS WITH HIERARCHICAL COLORED PETRI NETS

MODELING INTERACTIVE SYSTEMS WITH HIERARCHICAL COLORED PETRI NETS MODELING INTERACTIVE SYSTEMS WITH HIERARCHICAL COLORED PETRI NETS Mohammed Elkoutbi and Rudolf K. Keller Université de Montréal, DIRO, C.P. 6128, Succursale Centre-ville, Montréal, Canada, H3C 3J7 {elkoutbi,

More information

CS 242. Fundamentals. Reading: See last slide

CS 242. Fundamentals. Reading: See last slide CS 242 Fundamentals Reading: See last slide Syntax and Semantics of Programs Syntax The symbols used to write a program Semantics The actions that occur when a program is executed Programming language

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

Mutable References. Chapter 1

Mutable References. Chapter 1 Chapter 1 Mutable References In the (typed or untyped) λ-calculus, or in pure functional languages, a variable is immutable in that once bound to a value as the result of a substitution, its contents never

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

ISO/IEC INTERNATIONAL STANDARD. Software and system engineering High-level Petri nets Part 1: Concepts, definitions and graphical notation

ISO/IEC INTERNATIONAL STANDARD. Software and system engineering High-level Petri nets Part 1: Concepts, definitions and graphical notation INTERNATIONAL STANDARD ISO/IEC 15909-1 First edition 2004-12-01 Software and system engineering High-level Petri nets Part 1: Concepts, definitions and graphical notation Ingénierie du logiciel et du système

More information

Modeling and Verification of Deadlock Potentials of a Concurrency Control Mechanism in Distributed Databases Using Hierarchical Colored Petri Net

Modeling and Verification of Deadlock Potentials of a Concurrency Control Mechanism in Distributed Databases Using Hierarchical Colored Petri Net Modeling and Verification of Deadlock Potentials of a Concurrency Control Mechanism in Distributed Databases Using Hierarchical Colored Petri Net Saeid Pashazadeh, Senior Member, IACSIT Abstract Formal

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

CODING TCPN MODELS INTO THE SIMIO SIMULATION ENVIRONMENT

CODING TCPN MODELS INTO THE SIMIO SIMULATION ENVIRONMENT CODING TCPN MODELS INTO THE SIMIO SIMULATION ENVIRONMENT Miguel Mujica (a), Miquel Angel Piera (b) (a,b) Autonomous University of Barcelona, Faculty of Telecommunications and Systems Engineering, 08193,

More information

Relational Database: The Relational Data Model; Operations on Database Relations

Relational Database: The Relational Data Model; Operations on Database Relations Relational Database: The Relational Data Model; Operations on Database Relations Greg Plaxton Theory in Programming Practice, Spring 2005 Department of Computer Science University of Texas at Austin Overview

More information

Semantics of ARIS Model

Semantics of ARIS Model Semantics of ARIS Model Why is Semantics Important? Jon Atle Gulla An analysis of the ARIS ing language with respect to - conceptual foundation and - formal properties Green, P. and M. Rosemann: An Ontological

More information

Supply Tank 1. Storage Tank 1 TE1. Supply Tank 2. Storage Tank 2 TE2

Supply Tank 1. Storage Tank 1 TE1. Supply Tank 2. Storage Tank 2 TE2 AN APPROACH BASED ON DYNAMIC UML DIAGRAMS AND ON A TOKEN PLAYER ALGORITHM FOR THE SCENARIO VERIFICATION OF REAL TIME SYSTEMS Stéphane Julia, Elis^angela Mieko Kanacilo Faculdade de Ci^encia da Computaοc~ao,

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

Foundations. Yu Zhang. Acknowledgement: modified from Stanford CS242

Foundations. Yu Zhang. Acknowledgement: modified from Stanford CS242 Spring 2013 Foundations Yu Zhang Acknowledgement: modified from Stanford CS242 https://courseware.stanford.edu/pg/courses/317431/ Course web site: http://staff.ustc.edu.cn/~yuzhang/fpl Reading Concepts

More information

Comp 411 Principles of Programming Languages Lecture 7 Meta-interpreters. Corky Cartwright January 26, 2018

Comp 411 Principles of Programming Languages Lecture 7 Meta-interpreters. Corky Cartwright January 26, 2018 Comp 411 Principles of Programming Languages Lecture 7 Meta-interpreters Corky Cartwright January 26, 2018 Denotational Semantics The primary alternative to syntactic semantics is denotational semantics.

More information

Petri Nets and PNeS in Modeling and Analysis of Concurrent Systems

Petri Nets and PNeS in Modeling and Analysis of Concurrent Systems Petri Nets and PNeS in Modeling and Analysis of Concurrent Systems Zbigniew Suraj and Piotr Grochowalski Department of Computer Science University of Rzeszów, Rzeszów, Poland e-mail:{zbigniew.suraj,piotrg}@ur.edu.pl

More information

Formal Process Modelling

Formal Process Modelling Formal Process Modelling Petri Net Behaviour Net Model Event-driven Process Chains Formalisation Håvard D. Jørgensen Materiale fra: Jon Atle Gulla, NTNU Folker den Braber, SINTEF Anders Moen, Norsk Regnesentral

More information

Formal languages and computation models

Formal languages and computation models Formal languages and computation models Guy Perrier Bibliography John E. Hopcroft, Rajeev Motwani, Jeffrey D. Ullman - Introduction to Automata Theory, Languages, and Computation - Addison Wesley, 2006.

More information

Simulation of Petri Nets in Rule-Based Expert System Shell McESE

Simulation of Petri Nets in Rule-Based Expert System Shell McESE Abstract Simulation of Petri Nets in Rule-Based Expert System Shell McESE F. Franek and I. Bruha Dept of Computer Science and Systems, McMaster University Hamilton, Ont., Canada, L8S4K1 Email: {franya

More information

Chapter 3. Describing Syntax and Semantics ISBN

Chapter 3. Describing Syntax and Semantics ISBN Chapter 3 Describing Syntax and Semantics ISBN 0-321-49362-1 Chapter 3 Topics Introduction The General Problem of Describing Syntax Formal Methods of Describing Syntax Attribute Grammars Describing the

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

Natural Semantics [14] within the Centaur system [6], and the Typol formalism [8] which provides us with executable specications. The outcome of such

Natural Semantics [14] within the Centaur system [6], and the Typol formalism [8] which provides us with executable specications. The outcome of such A Formal Executable Semantics for Java Isabelle Attali, Denis Caromel, Marjorie Russo INRIA Sophia Antipolis, CNRS - I3S - Univ. Nice Sophia Antipolis, BP 93, 06902 Sophia Antipolis Cedex - France tel:

More information

5. Semantic Analysis!

5. Semantic Analysis! 5. Semantic Analysis! Prof. O. Nierstrasz! Thanks to Jens Palsberg and Tony Hosking for their kind permission to reuse and adapt the CS132 and CS502 lecture notes.! http://www.cs.ucla.edu/~palsberg/! http://www.cs.purdue.edu/homes/hosking/!

More information

10/18/18. Outline. Semantic Analysis. Two types of semantic rules. Syntax vs. Semantics. Static Semantics. Static Semantics.

10/18/18. Outline. Semantic Analysis. Two types of semantic rules. Syntax vs. Semantics. Static Semantics. Static Semantics. Outline Semantic Analysis In Text: Chapter 3 Static semantics Attribute grammars Dynamic semantics Operational semantics Denotational semantics N. Meng, S. Arthur 2 Syntax vs. Semantics Syntax concerns

More information

Data Flow Graph Partitioning Schemes

Data Flow Graph Partitioning Schemes Data Flow Graph Partitioning Schemes Avanti Nadgir and Harshal Haridas Department of Computer Science and Engineering, The Pennsylvania State University, University Park, Pennsylvania 16802 Abstract: The

More information

9/19/12. Why Study Discrete Math? What is discrete? Sets (Rosen, Chapter 2) can be described by discrete math TOPICS

9/19/12. Why Study Discrete Math? What is discrete? Sets (Rosen, Chapter 2) can be described by discrete math TOPICS What is discrete? Sets (Rosen, Chapter 2) TOPICS Discrete math Set Definition Set Operations Tuples Consisting of distinct or unconnected elements, not continuous (calculus) Helps us in Computer Science

More information

On Petri Nets and Predicate-Transition Nets

On Petri Nets and Predicate-Transition Nets On Petri Nets and Predicate-Transition Nets Andrea Röck INRIA - project CODES Roquencourt - BP 105 Le Chesnay Cedex 78153, FRANCE Ray Kresman Department of Computer Science Bowling Green State University

More information

IMPERATIVE PROGRAMS BEHAVIOR SIMULATION IN TERMS OF COMPOSITIONAL PETRI NETS

IMPERATIVE PROGRAMS BEHAVIOR SIMULATION IN TERMS OF COMPOSITIONAL PETRI NETS IMPERATIVE PROGRAMS BEHAVIOR SIMULATION IN TERMS OF COMPOSITIONAL PETRI NETS Leontyev Denis Vasilevich, Kharitonov Dmitry Ivanovich and Tarasov Georgiy Vitalievich ABSTRACT Institute of Automation and

More information

COSC252: Programming Languages: Semantic Specification. Jeremy Bolton, PhD Adjunct Professor

COSC252: Programming Languages: Semantic Specification. Jeremy Bolton, PhD Adjunct Professor COSC252: Programming Languages: Semantic Specification Jeremy Bolton, PhD Adjunct Professor Outline I. What happens after syntactic analysis (parsing)? II. Attribute Grammars: bridging the gap III. Semantic

More information

The University of Nottingham SCHOOL OF COMPUTER SCIENCE A LEVEL 4 MODULE, SPRING SEMESTER MATHEMATICAL FOUNDATIONS OF PROGRAMMING ANSWERS

The University of Nottingham SCHOOL OF COMPUTER SCIENCE A LEVEL 4 MODULE, SPRING SEMESTER MATHEMATICAL FOUNDATIONS OF PROGRAMMING ANSWERS The University of Nottingham SCHOOL OF COMPUTER SCIENCE A LEVEL 4 MODULE, SPRING SEMESTER 2012 2013 MATHEMATICAL FOUNDATIONS OF PROGRAMMING ANSWERS Time allowed TWO hours Candidates may complete the front

More information

Induction and Semantics in Dafny

Induction and Semantics in Dafny 15-414 Lecture 11 1 Instructor: Matt Fredrikson Induction and Semantics in Dafny TA: Ryan Wagner Encoding the syntax of Imp Recall the abstract syntax of Imp: a AExp ::= n Z x Var a 1 + a 2 b BExp ::=

More information

Semantic Subtyping. Alain Frisch (ENS Paris) Giuseppe Castagna (ENS Paris) Véronique Benzaken (LRI U Paris Sud)

Semantic Subtyping.  Alain Frisch (ENS Paris) Giuseppe Castagna (ENS Paris) Véronique Benzaken (LRI U Paris Sud) Semantic Subtyping Alain Frisch (ENS Paris) Giuseppe Castagna (ENS Paris) Véronique Benzaken (LRI U Paris Sud) http://www.cduce.org/ Semantic Subtyping - Groupe de travail BD LRI p.1/28 CDuce A functional

More information

CSC 501 Semantics of Programming Languages

CSC 501 Semantics of Programming Languages CSC 501 Semantics of Programming Languages Subtitle: An Introduction to Formal Methods. Instructor: Dr. Lutz Hamel Email: hamel@cs.uri.edu Office: Tyler, Rm 251 Books There are no required books in this

More information

A technique for adding range restrictions to. August 30, Abstract. In a generalized searching problem, a set S of n colored geometric objects

A technique for adding range restrictions to. August 30, Abstract. In a generalized searching problem, a set S of n colored geometric objects A technique for adding range restrictions to generalized searching problems Prosenjit Gupta Ravi Janardan y Michiel Smid z August 30, 1996 Abstract In a generalized searching problem, a set S of n colored

More information

PN Matlab Toolbox 2.0

PN Matlab Toolbox 2.0 PN Matlab Toolbox. Martina Svadova, Zdenek Hanzalek Center for Applied Cybernetics, Czech Technical University Abstact. This paper introduces PN Matlab Toobox. further called PN Toolbox. PN Toolbox is

More information

Building Petri nets tools around Neco compiler

Building Petri nets tools around Neco compiler Building Petri nets tools around Neco compiler Lukasz Fronc and Franck Pommereau {fronc,pommereau}@ibisc.univ-evry.fr IBISC, Université d Évry/Paris-Saclay IBGBI, 23 boulevard de France 91037 Évry Cedex,

More information

Constrained Types and their Expressiveness

Constrained Types and their Expressiveness Constrained Types and their Expressiveness JENS PALSBERG Massachusetts Institute of Technology and SCOTT SMITH Johns Hopkins University A constrained type consists of both a standard type and a constraint

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

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

An Evolution of Mathematical Tools

An Evolution of Mathematical Tools An Evolution of Mathematical Tools From Conceptualization to Formalization Here's what we do when we build a formal model (or do a computation): 0. Identify a collection of objects/events in the real world.

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

Functional programming with Common Lisp

Functional programming with Common Lisp Functional programming with Common Lisp Dr. C. Constantinides Department of Computer Science and Software Engineering Concordia University Montreal, Canada August 11, 2016 1 / 81 Expressions and functions

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

EE249 Discussion Petri Nets: Properties, Analysis and Applications - T. Murata. Chang-Ching Wu 10/9/2007

EE249 Discussion Petri Nets: Properties, Analysis and Applications - T. Murata. Chang-Ching Wu 10/9/2007 EE249 Discussion Petri Nets: Properties, Analysis and Applications - T. Murata Chang-Ching Wu 10/9/2007 What are Petri Nets A graphical & modeling tool. Describe systems that are concurrent, asynchronous,

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

Introduction to Formal Methods

Introduction to Formal Methods 2008 Spring Software Special Development 1 Introduction to Formal Methods Part I : Formal Specification i JUNBEOM YOO jbyoo@knokuk.ac.kr Reference AS Specifier s Introduction to Formal lmethods Jeannette

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

CSCI.6962/4962 Software Verification Fundamental Proof Methods in Computer Science (Arkoudas and Musser) Chapter p. 1/27

CSCI.6962/4962 Software Verification Fundamental Proof Methods in Computer Science (Arkoudas and Musser) Chapter p. 1/27 CSCI.6962/4962 Software Verification Fundamental Proof Methods in Computer Science (Arkoudas and Musser) Chapter 2.1-2.7 p. 1/27 CSCI.6962/4962 Software Verification Fundamental Proof Methods in Computer

More information

Petri Nets ee249 Fall 2000

Petri Nets ee249 Fall 2000 Petri Nets ee249 Fall 2000 Marco Sgroi Most slides borrowed from Luciano Lavagno s lecture ee249 (1998) 1 Models Of Computation for reactive systems Main MOCs: Communicating Finite State Machines Dataflow

More information

Chapter 3. Describing Syntax and Semantics

Chapter 3. Describing Syntax and Semantics Chapter 3 Describing Syntax and Semantics Chapter 3 Topics Introduction The General Problem of Describing Syntax Formal Methods of Describing Syntax Attribute Grammars Describing the Meanings of Programs:

More information

Chapter 3. Describing Syntax and Semantics ISBN

Chapter 3. Describing Syntax and Semantics ISBN Chapter 3 Describing Syntax and Semantics ISBN 0-321-49362-1 Chapter 3 Topics Describing the Meanings of Programs: Dynamic Semantics Copyright 2015 Pearson. All rights reserved. 2 Semantics There is no

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

APPLICATION OF COLORED PETRI NET IN MODELING OF AN AGRICULTURAL ENTERPRISE INFORMATION MANAGEMENT SYSTEM

APPLICATION OF COLORED PETRI NET IN MODELING OF AN AGRICULTURAL ENTERPRISE INFORMATION MANAGEMENT SYSTEM APPLICAION OF COLORED PERI NE IN MODELING OF AN AGRICULURAL ENERPRISE INFORMAION MANAGEMEN SYSEM Fangtian Zhang 1, Kaiyi Wang 1,2,*, Jin Sui 1, Chang Liu 1, Zhongqiang Liu 1 1 National Engineering Research

More information

Programming Safe Agents in Blueprint. Alex Muscar University of Craiova

Programming Safe Agents in Blueprint. Alex Muscar University of Craiova Programming Safe Agents in Blueprint Alex Muscar University of Craiova Programmers are craftsmen, and, as such, they are only as productive as theirs tools allow them to be Introduction Agent Oriented

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

Equations for Asynchronous Message Passing

Equations for Asynchronous Message Passing Equations for Asynchronous Message Passing Ludwik Czaja 1,2 1 Institute of Informatics, The University of Warsaw 2 University of Economics and Computer Science Vistula in Warsaw lczaja@mimuw.edu.pl 1 Introduction

More information

A Comparison of the Expressiveness of SPA and Bounded SPN models

A Comparison of the Expressiveness of SPA and Bounded SPN models A Comparison of the Expressiveness of SPA and Bounded SPN models J. Hillston ½, L. Recalde ¾, M. Ribaudo, M. Silva ¾ ½ LFCS, University of Edinburgh ¾ DIIS, Universidad de Zaragoza Dipartimento di Informatica,

More information

for (i=1; i<=100000; i++) { x = sqrt (y); // square root function cout << x+i << endl; }

for (i=1; i<=100000; i++) { x = sqrt (y); // square root function cout << x+i << endl; } Ex: The difference between Compiler and Interpreter The interpreter actually carries out the computations specified in the source program. In other words, the output of a compiler is a program, whereas

More information

Petri Nets. Robert A. McGuigan, Department of Mathematics, Westfield State

Petri Nets. Robert A. McGuigan, Department of Mathematics, Westfield State 24 Petri Nets Author: College. Robert A. McGuigan, Department of Mathematics, Westfield State Prerequisites: The prerequisites for this chapter are graphs and digraphs. See Sections 9.1, 9.2, and 10.1

More information

A Coloured Petri Net Trust Model

A Coloured Petri Net Trust Model A Coloured Petri Net Trust Model Peter Lory Universität Regensburg Institut für Wirtschaftsinformatik D93040 Regensburg, Germany Peter.Lory@wiwi.uniregensburg.de Abstract Publickey infrastructures are

More information

15.4 Longest common subsequence

15.4 Longest common subsequence 15.4 Longest common subsequence Biological applications often need to compare the DNA of two (or more) different organisms A strand of DNA consists of a string of molecules called bases, where the possible

More information

Overview. CS389L: Automated Logical Reasoning. Lecture 6: First Order Logic Syntax and Semantics. Constants in First-Order Logic.

Overview. CS389L: Automated Logical Reasoning. Lecture 6: First Order Logic Syntax and Semantics. Constants in First-Order Logic. Overview CS389L: Automated Logical Reasoning Lecture 6: First Order Logic Syntax and Semantics Işıl Dillig So far: Automated reasoning in propositional logic. Propositional logic is simple and easy to

More information

Qualitative Analysis of WorkFlow nets using Linear Logic: Soundness Verification

Qualitative Analysis of WorkFlow nets using Linear Logic: Soundness Verification Proceedings of the 2009 IEEE International Conference on Systems, Man, and Cybernetics San Antonio, TX, USA - October 2009 Qualitative Analysis of WorkFlow nets using Linear Logic: Soundness Verification

More information