From Task Graphs to Petri Nets

Size: px
Start display at page:

Download "From Task Graphs to Petri Nets"

Transcription

1 From Task Graphs to Petri Nets Anthony Spiteri Staines Department of Computer Inf. Systems, Faculty of ICT, University of Malta Abstract This paper describes the similarities between task graphs and Petri nets and explains how a well formed task graph can be converted or transformed into a Petri net for verification, validation and checking using incidence matrix analysis, invariants and the reachability graph. A case study is presented, results and conclusions are given. Keywords, Petri nets, Task Graphs, Transformation, Verification, Well formedness I. INTRODUCTION Graph based models are becoming increasingly important for representing different computer and computational problems. One of the key points in these models is that they are decomposable. [1]-[4] Different modeling notations and diagrams used are just variants of basic directed or undirected graphs. Task Graphs (TGs) are used to model the flow of events or tasks in a predefined order in a system [13]. Precedence constraints are important for the temporal ordering of events in a system. Most computational problems are decomposable into a collection of independent operations. These operations or tasks are normally depicted as vertices or nodes in a cycle free digraph. The graph edges show the dependencies between the tasks. Tasks are executable in parallel or serially, depending on the inputs available. Problems that can be broken down either into individual tasks that have some form of ordering and precedence constrains or task dependencies can be represented using task graphs. Basic TGs share some common features with other forms of graphs and diagrams from the UML like activities, sequence and communication diagrams [12]. At the basic level TGs have a main or central i)start node and a ii) termination node. The tasks would branch off from the start or source node. Tasks start only when the preceding tasks have completed. Petri nets are graphical and mathematical formalisms that are based on bipartite digraphs, sharing common properties with TGs. Petri nets offer modeling for concurrent, asynchronous, distributed, parallel, nondeterministic and other forms of behavior [5],[6]. Consequently both TGs and Petri nets are visual formalisms. They exhibit some structural similarities, thus intuitive transformation is possible. Extensive work has been carried out in both areas. 36 Both TGs and Petri nets have additional notations and elements that can increase their modeling power and use. However, the use of additional notations, apart from increasing the modeling power, implies that the final model is increasingly complex and applicable only to specific scenarios. TGs provide an interesting medium to study and analyze the behavior of different types of computational problems in the field of modern computing and real time scenarios. TGs are directly and indirectly related to other formalisms and constructs. Repeated patterns can be identified here. Unfortunately, TGs need to be properly validated and verified. It is possible to construct TGs that have some mistakes in them. TGs share some similar properties with Petri nets as both are based on digraphs. A solution to verify TGs is to transform them into basic Petri nets for validation, verification and execution. Obviously there are size related problems both to TGs and Petri nets. The more complex and large the model, the more difficult it is to verify. This can be called the state explosion problem that is common with large Petri nets. Reduction techniques can deal with simplifying this problem. This paper addresses TGs and their possible transformation into basic Petri nets from a practical perspective. The reason for transforming TGs into Petri nets is for detailed verification, analysis and experimentation. Petri nets have special properties that can be used to comprehend the static structure of simple or basic task graphs [11]. Classical task graphs are normally acyclical, however it is possible to include cycles depending on what is being modeled. Simple Petri nets share some similarities with augmented marked graphs [1],[2]. II. BACKGROUND Task graphs are used for computations that are based on logical temporal ordering of tasks or sub-tasks. TGs are useful for modeling program flows and control, inter program or inter process communication and synchronization, system dependencies in large scale software [13]. Thus they are useful for control systems, A.I., modeling game theory, intelligent agents, semantic web, fault representation, distributed computer systems, O.S. task loading, etc.

2 Basic TGs are acyclical, consisting of fork or join nodes. For modeling loops, conditional branching, etc. different types of nodes have to be added, such as branch or merge nodes. These types of TGs are called extended TGs (ETGs) [10]. Both Petri nets and TGs have a visual graphical way or representation. TGs share some similarities with automata, state machine diagrams, network flow graphs and other various graph formalisms. III. PROBLEM FORMULATION Task graphs are well suited for modeling a diversity of computer system problems. However they suffer from some issues, evidenced when creating and using them. These can be considered as design or structural problems. Unfortunately the verification of TGs is not a straightforward or simple task. The complexity of verification is that the structures created, which are a collection of systematic components, have to demonstrate proper behavior and communication. The more complex the model the more difficult it is to examine its properties. There are different methods that can be used to verify the task graphs, however some of the methods based on proofs, etc are quite tedious and take a considerable amount of effort. More practical and simple approaches are necessary from a user s perspective. When considering simple task graphs the problem of verification is mainly structurally related. These issues can be summarized as follows: i) the TG could have proper source or termination missing. i.e. the source node and the sink nodes might be missing or improperly connected. ii) a TG can have conditions or a structure that leads to a deadlock state. iii) TG can have a state that never is initialized or reached. This can happen because of certain conditions. iv) unbounded states could exist in the TG. v) no proper synchronization between the tasks can exist. A task graph that is free from these problems is said to be a well formed TG. Well formed task graphs free from unnecessary complexities are highly desirable and important for proper behavior analysis. Studying networks like TGs provides many useful ways for visualizing, representing and analyzing interconnected components. IV. PROPOSED SOLUTION Petri nets seem to be more expressive than normal or classic task graphs. They offer a wide range of modeling and dynamic properties that can be mathematically and formally verified. The transformation of TGs into Petri nets is rather intuitive and easy to follow. If complex types of TGs are considered then we deviate from the original TGs. 37 The reachability analysis of an equivalent Petri net model can be used to verify the main properties of a TG and if it is a well formed. Different classes of Petri nets offer different types of verification. These could be useful for more complex TGs. Simple TGs that are free from conditional branching can be simply transformed in to choice free Petri nets. This implies that each place in the Petri net, unless it is represents a sink or source node, has exactly one input and output arc. If the TG is extended to include conditional branching, in the corresponding Petri net there is choice, but only one transition is enabled by this choice. Petri net analysis of TGs can be extended to acyclical as well as cyclical TGs and even more complex types of TGs. A. Types of Task Graphs Considered Only simple or basic task graphs are considered in this work. It can be inferred that basic TGs will cover the mainstream needs. Another reason is that other classes of extended task graphs do not follow the regular behavior and intention of basic task graphs. I.e. the behavior of nodes in the graph can vary greatly thus creating unnecessary complexities. These types of task graphs can be called higher order task graphs. The behavior of extended or higher order task graphs deviates from the original intention of TGs and their practical use. B. Definitions about Basic Task Graphs Some assumptions are necessary to explain our task graphs. By definition, a task graph is an ordered pair of elements G=(V,E), where V is a finite set of vertices V={v 1,v 2,.,v n } and E is a finite set of edges E ={e 1,e 2,..,e n }. The nodes or vertices represent the tasks and the edges connect and order the tasks or activities. The finite set V can be considered as containing two special types of nodes. I.e. a i) source node and a ii) sink node. An edge e is connected between two vertices. I.e. an edge ej is an ordered connected pair (v j,v k ) where v j,v k V. v j v k, normally the TG is free from self loops. Also as the TG is a digraph edges expressed as v 1,v 2 normally (v 1,v 2 ) (v 2,v 1 ). I.e. the graph is loop free. Edges can have labels, values, weights or costs associated with them. For simple TGs the edges are of similar type. Task ordering is implied in the relationships or precedence constraints in the task graph. The given path between two vertices v 1 and v n is represented as a set of ordered set of vertices (v 1,v 2,.,v n ); where (v j,v j+1 ) is an edge of a graph given as 1 j n-1 but it does not necessary always hold as the TG is a digraph and for a given path (v 1,v n-1,.,v n ); normally (v i,v i+1 ) (v i+1,v i ). Two vertices (v i,v j ) are said to be path connected iff there exists some path from v i to v j.

3 The cost of a path (v j,v n ) can be given as the sum of the n cost of the edges. E.g. C = 1 w ( v, ) j 1 j v. j 1 A cycle in the graph is represented as a connection back into a previous task but not into the task itself or as a loop. To extend the task graphs it is possible to extend the set of vertices or nodes V to contain other elements and the set of edges E to contain other edge types. C. Some Considerations about Task Graphs Some assumptions about the TGs considered are necessary: i) A task is called simple if it has exactly one outgoing and exactly one ingoing edge. ii) The execution of the task graph has to occur from the initial source or start node. iii) The termination of the task graph has to occur at the sink or final node. The basic node type of the TG can be extended to contain two types of main nodes apart from the source and sink nodes. These task nodes can be an And node or an Or node. The And nodes are the normal and most common ones. And nodes are depicted using circles and they imply that all previous tasks have to be complete before the task of the And node is performed. On the other hand the Or nodes are depicted using a square or rectangular shape. The Or nodes imply that previous tasks do not need to be all completed for the Or task to start. To transform an Or node into its Petri net counterpart, more detail is required. The Or node introduces choice or conflict in the Petri net. Hence both the TG and Petri net are more complex. D. Assumptions for the Transformation For considering the transformation, the task graphs must be limited in size. I.e. the larger the task graph, more than 100 task nodes, the more complex will the transformation be, but it is still achievable. For this precise reason this work focuses on TGs that are limited in size or reduced. E. Transformation into Petri nets Transformation of TGs into Petri nets is straightforward and intuitive. There are exceptions when considering the source and sink nodes. Another exception is the Or node which requires different treatment from the other nodes. The high level algorithm briefly outlined below, explains the transformation approach Algorithm 1: Convert TG into a basic Petri net INPUT : Well formed simple TG OUTPUT: Basic Petri net PROCEDURE STEP 1: Select unconverted TG. 38 STEP 2: Start Transformation STEP 3: Traverse TG from start\source node STEP 4: If start node create Place -> Output arc- >start transition STEP 5: Loop IF no exception represent TG edge in Petri net as output arc-> and represent TG normal node in PN as a transition. IF exception e.g. OR node in TG Represent previous tasks as parallel Transitions But have a single input place and a single output Place (i.e. choice in Petri net) do connect Until ( sink node/ termination node is reached) STEP 6 End Transformation Algorithm 2: Connect STEP 1: Connect input arc/s to place & transition STEP 2: Connect output arc/s to transition and place STEP 3: End F. Verification and Validation Possibilities The TG in the form of Petri nets offer many possibilities for verification and validation. The simpler the Petri net, the easier is its verification and validation. At a basic level the Petri net can be represented using two matrices, i) input flows and ii) output flows. These matrices will have certain properties that show repetitive pattern behavior of the task graph. I.e. inside the matrix it is possible to find sub matrixes with circulant properties. From the input and output flow matrixes, the incidence matrix for the Petri net can be derived. This is C ij =I ij -O ij where I ij is the input flow matrix and O ij is the output flow matrix. The incidence matrix expresses important structural properties of the net. I.e. if the sum of a complete row containing non zero values is zero then this implies that the number of outputs and inputs of a transition are equal. Different properties like i) reachability, ii) boundedness, iii) safeness, iv) conservativeness, v)liveness, vi) reversibility, vii) homestates, viii)cyclical or acyclical behavior etc. can all be used to verify and validate the Petri net TG model. These qualities can be confirmed or checked using place and transition invariants. Transition invariants confirm that there is a repetitive firing cycle. These properties can be used to confirm that the Petri net is deadlock free and is structurally sound and safe. I.e. in simple terms it is properly constructed and error free for the intended purpose of representing the TG.

4 G. Task Graph Execution via Petri Nets The resultant Petri net offers straightforward execution. This is not directly possible with the task graph. Execution of the Petri net is quite straightforward and involves the firing of the transitions that represent the task nodes in the TG. The execution of the Petri net on a simulation tool or other indicates the correctness of the net which in turn indicates the validity of the task graph. The reachability graph or tree, also known as the marking graph, can be constructed to prove the correctness or execution of the Petri net. The depth of the reachability graph indicates the complexity of the task graph. H. Reducibility/Reduction One of the greatest problems, in the construction and verification of Petri nets and TGs, is space related. The objective of reduction is always to simplify and increase the effectiveness of Petri net analysis [7]-[9]. Given an ever increasing model size, space requirements become the bottleneck. Any methods for reducing the model size are welcome because the modeling and state space problems are reduced. For task graphs and Petri nets the concept of reducability can be normally applied because it is possible to find subnets or sub graphs from main structures. The TG reduction implies finding patterns like sequential behavior and combining sequential tasks into a single general task. The same principle can be applied for parallel tasks. Reduction in this case from the view of the Petri net, implies fusion or augmentation of places in series or sequential and fusion of sequential transitions. Parallel places and transitions can also be reduced. The principle of reduction is just mentioned. It otherwise requires detailed treatment beyond the scope of this work. The most important point is that whatever reduction rules are applied to the Petri net, the main properties must still be preserved for it to make sense. Fig. 1 Task Graphs to Petri Net Correspondence for Transformation Fig.2. A Simple Task Graph 39

5 V. A CASE STUDY EXAMPLE A simple toy example of a TG having several task nodes, an and or parallel node and an or node is used to illustrate the main concepts. The diagram in fig. 2 shows the TG that is to be transformed into a Petri net. Using the information in fig. 1 and the algorithm previously outlined, the transformation is very simple. The resultant Petri net is shown in fig. 3. It is noted that a cycle has been added in the net. Fig.3. Resultant Petri Net 40 This is from the sink place p13 to the source place p1 via transition t12. The cycle is shown as a dotted line. A. Incidence Matrix Analysis VI. RESULTS AND FINDINGS An incidence, change or flow matrix C ij for the Petri net is simple to construct and represents the ordered input and output flows. The rows represent places {p 1..p 13 } and the columns the transitions {t 1..t 12 }. The Incidence matrix is given as C ij = I ij -O ij. Where I ij are the input flows i.e. the flows from a place to a transition and O ij are the output flows, i.e. the flows from a transition to places. The incidence matrix represents the structure of the net. The individual sum of the elements of a non empty row having exactly two elements 1 and -1, imply that the place represented by that row, has exactly one input and one output. I.e. it can be defined as a simple or straight forward place. The individual sum of the elements of an non empty column having exactly two elements 1 and -1, imply that the transition represented by that column has exactly one input and one output arc, and also one input and one output place. I.e. the transition can be defined or called a simple transition. This is significant because it means that the transition represents a simple task. A simple task has only one point of entry and one point of exit. Source, sink, and or nodes do not qualify as simple tasks. The incidence matrix can be used to perform simple structural checks about the accuracy of the Petri net and the TG. Many interesting inferences can be derived from this. B. Invariant Analysis A place invariant is denoted by the existence of vector m t v Z iff v Cij = 0. A transition invariant is denoted by the existence of a vector M y Z iff C ij y = 0 denoting a repeatable pattern or firing sequence. The Petri net is completely covered by place and transition invariants. This is significant because it implies deterministic behavior. C. Coverability Graph For this simple Petri net the coverability graph can be constructed just by fining the transitions and recording the current markings. The marking graph is denoted as follows: t t2 t M M M... n M n

6 TABLE I RESULTS SUMMARY FOR TASK GRAPH PETRI NET VALIDATION Property Details Result 1 Completeness Indicates if the TG is complete. It is derived from the Petri net OK, YES 2 Well- Formedness 3 Simple Task Graph Or Task Graph has some simple properties 4 Complex Tasks 5 Petri Net Verifiability Fig.4. Incidence Matrix Obtained from various Petri net properties. Obtained from Petri net invariants, cycle, incidence matrix etc. Observed from Incidence matrix and connectivity of the net Major Petri net static and behavioural properties like invariants, boundedness, reachability, liveness etc. 6 Executability Petri net is fully executable YES YES, signifies that the task graph has some simple tasks. Task Graph has some Complete, Implies that the there are no errors in the Petri net and it has significant properties Observed from executing the Petri net and the reachability graph 41 The coverability graph, reachability graph or marking graph for the given Petri net is finite. The coverability graph has not been shown. There are different ways of representing the coverability graph. The coverabilty graph is similar to a state transition diagram for the task graph. D. Main Properties From the invariant analysis, execution and the reachability tree or graph, the proper behavior of the Petri net can be explained. This Petri net is i) bounded, it can be classified as a ii) 1-safe net implying that every place in the net can hold one token exactly but not more. It is a iii) conservative net, i.e. there is no loss of tokens, iv) liveness has been obtained through the adding of the cycle. V) behavior is cyclical. The markings of the Petri net are vi) reversible and the net has vii) homestates because it returns to the original state. There are no dead markings and every transition can fire. The Petri net forms a complete circuit this is because of the addition of transition t12. E. Relevance for Validating the Task Graph The analysis of the Petri net in fig. presents some interesting findings. Even though at a first glance the task graph looks simple this might not be the case. The fact that there is an or task introduces choice. Obviously by default if the places are given a restricted capacity that at maximum they can contain only one token, the net would still be a 1-safe net. Here this is not necessary as the place and transition invariants and the marking graph show that places will have a restricted capacity of 1 at maximum. The fact that the Petri net is completely covered by place invariants and transition invariants indicates that there is no design flaw or problem in the task graph even if the task graph has some different type of nodes. If the OR task nodes were to be removed the TG and the resultant Petri net will be further simplified. Completeness of the task graph is indicated because it has a start and end or termination point, i.e. a source and sink node. The well formedness property can be inferred from the Petri net analysis because of the limited coverability graph, the existence of invariants and the properties like boundedness and1-safeness. Table 1 presents a concise form of the results for the TG conversion and analysis using Petri nets. The details have been omitted for the sake of simplicity. Other results like the maximum number of possible markings, the drawing of the marking graph, etc. are available. It can be clearly inferred that the TG is safe and complete in the sense that there are no apparent problems inherent in this structure. There is a strongly connected component in the net.

7 VII. CONCLUSIONS Simple task graphs have been considered for transformation into Petri nets. This can be done quite simply and basic Petri net verification techniques can indicate if there are problems with the TG. It is possible to have Or nodes then other types like Xor and even logic gates can be added to the task digraph and it might no longer be called a TG but will resemble more of a logic or control circuit. As the circuit can represent main levels of complexity, assumptions about the TGs considered will be necessary. Problems will arise if complex TGs with over 100 nodes are considered. The solution is to reduce the TGs by removing repetition as explained. The atomicity of the solution is based on reduction and repeated simplification of the TG. REFERENCES [1] Cheung, K. S Augmented Marked Graphs and the Analysis of Shared Resource Systems, Petri Net, Theory and Applications, Vedran Kordic (Ed.), ISBN: , InTech, DOI: /5326. Available s/augmented_marked_graphs_and_the_analysis_of_shared_resource _systems. [2] Cheung, K.S. and Chow, K.O Compositional Synthesis of Augmented Marked Graphs, Control and Automation, ICCA, IEEE, pp [3] Hawryszkiewycz, I.T Introduction to Systems Analysis and Design, Prentice Hall, ISBN: , [4] Burns, A. and Wellings, A Real Time Systems and Programming languages, Addison Wesley Longmain, ISBN: [5] Zhou, M. and Venkatesh, K Modeling, Simulation, and Control of Flexible Manufacturing Systems A Petri Net Approach, Series in Intelligent Control and Intelligent Automation vol. 6 World Scientific, MA USA. [6] Murata, T Petri nets: Properties, analysis and applications, Proc. of IEEE, vol.: 77, issue:4, pp [7] M.B. and Clarke, L.A A compact Petri net representation and its implications for analysis, IEEE Transactions on Software Engineering, vol. 22, issue 11, pp [8] Sloan, R.H. and Buy, U Reduction Rules for Time Petri Nets, Acta Informatica, Vol. 33, Issue 5, Springer-Verlag, pp [9] Stemersch, G. and Boel, R.K Structuring acyclical Petri Nets for Reachability Analysis and Control, International Journal of Intelligent Control and Systems, vol. 10, no. 2, pp [10] Ghodsi, M. and Kant, K Well-Formed Generalized Task Graphs, Proceedings of the 3 rd IEEE Symposium on Parallel and Distributed Processing, pp [11] Cortés, L.A. Eles, P. and Peng, Z Verification of Real-Time Embedded Systems using Petri Net Models and Timed Automata, Proc. of RTCSA Conference, pp [12] OMG UML 2 Superstructure Specification 2012., OMG, [13] Liu, J.W. S Real-Time Systems, Pretence Hall, NJ. 42

Algebraic Representation for Ordinary Place Transition Petri Nets

Algebraic Representation for Ordinary Place Transition Petri Nets Algebraic Representation for Ordinary lace Transition etri Nets A. Spiteri Staines Abstract Ordinary place transition etri nets are useful for modeling discrete systems at a low level. It can be shown

More information

Outline. Petri nets. Introduction Examples Properties Analysis techniques. 1 EE249Fall04

Outline. Petri nets. Introduction Examples Properties Analysis techniques. 1 EE249Fall04 Outline Petri nets Introduction Examples Properties Analysis techniques 1 Petri Nets (PNs) Model introduced by C.A. Petri in 1962 Ph.D. Thesis: Communication with Automata Applications: distributed computing,

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

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

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

Diagnostic Information for Control-Flow Analysis of Workflow Graphs (aka Free-Choice Workflow Nets)

Diagnostic Information for Control-Flow Analysis of Workflow Graphs (aka Free-Choice Workflow Nets) Diagnostic Information for Control-Flow Analysis of Workflow Graphs (aka Free-Choice Workflow Nets) Cédric Favre(1,2), Hagen Völzer(1), Peter Müller(2) (1) IBM Research - Zurich (2) ETH Zurich 1 Outline

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

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

A Schedulability-Preserving Transformation Scheme from Boolean- Controlled Dataflow Networks to Petri Nets

A Schedulability-Preserving Transformation Scheme from Boolean- Controlled Dataflow Networks to Petri Nets Schedulability-Preserving ransformation Scheme from oolean- ontrolled Dataflow Networks to Petri Nets ong Liu Edward. Lee University of alifornia at erkeley erkeley,, 94720, US {congliu,eal}@eecs. berkeley.edu

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

PETRI NET ANALYSIS OF BATCH RECIPES

PETRI NET ANALYSIS OF BATCH RECIPES Presented at FOCAPO 98, Snowbird, USA. PETRI NET ANALYSIS OF BATCH RECIPES STRUCTURED WITH GRAFCHART Charlotta Johnsson and Karl-Erik Årzén Department of Automatic Control, Lund Institute of Technology,

More information

Rule Based Bi-Directional Transformation of UML2 Activities into Petri Nets

Rule Based Bi-Directional Transformation of UML2 Activities into Petri Nets Rule Based Bi-Directional Transformation of UML2 Activities into Petri Nets A. Spiteri Staines Abstract Many modern software models and notations are graph based. UML 2 activities are important notations

More information

By: Chaitanya Settaluri Devendra Kalia

By: Chaitanya Settaluri Devendra Kalia By: Chaitanya Settaluri Devendra Kalia What is an embedded system? An embedded system Uses a controller to perform some function Is not perceived as a computer Software is used for features and flexibility

More information

WEEK 5 - APPLICATION OF PETRI NETS. 4.4 Producers-consumers problem with priority

WEEK 5 - APPLICATION OF PETRI NETS. 4.4 Producers-consumers problem with priority 4.4 Producers-consumers problem with priority The net shown in Fig. 27 represents a producers-consumers system with priority, i.e., consumer A has priority over consumer B in the sense that A can consume

More information

Ravi K. Gedela, Sol M. Shatz and Haiping Xu Concurrent Software Systems Lab The University of Illinois at Chicago Chicago, IL USA

Ravi K. Gedela, Sol M. Shatz and Haiping Xu Concurrent Software Systems Lab The University of Illinois at Chicago Chicago, IL USA Compositional Petri Net Models of Advanced Tasking in Ada-95 1 Ravi K. Gedela, Sol M. Shatz and Haiping Xu Concurrent Software Systems Lab The University of Illinois at Chicago Chicago, IL 60607 USA Abstract

More information

Anthony Spiteri Staines. Department of Computer Information Systems, Faculty of ICT, University of Malta, Msida MSD 2080, Malta

Anthony Spiteri Staines. Department of Computer Information Systems, Faculty of ICT, University of Malta, Msida MSD 2080, Malta Representing System Processes using the Actor Model / Processor Net Anthony Spiteri Staines Department of Computer Information Systems, Faculty of ICT, University of Malta, Msida MSD 2080, Malta Abstract.

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

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

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

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

CHAPTER 5 GENERATING TEST SCENARIOS AND TEST CASES FROM AN EVENT-FLOW MODEL

CHAPTER 5 GENERATING TEST SCENARIOS AND TEST CASES FROM AN EVENT-FLOW MODEL CHAPTER 5 GENERATING TEST SCENARIOS AND TEST CASES FROM AN EVENT-FLOW MODEL 5.1 INTRODUCTION The survey presented in Chapter 1 has shown that Model based testing approach for automatic generation of test

More information

Contents Introduction Petri Net Toolbox at a First Glance... 4

Contents Introduction Petri Net Toolbox at a First Glance... 4 Learning about Petri Ne t Toolbox For Use with MATLAB Version 2.1 Mihaela-Hanako Matcovschi Cristian Mahulea Octavian Pastravanu 2005 Contents Contents... 2 Introduction Petri Net Toolbox at a First Glance...

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

EXTENDED DISTRIBUTED UML-BASED PROTOCOL SYNTHESIS METHOD

EXTENDED DISTRIBUTED UML-BASED PROTOCOL SYNTHESIS METHOD EXTENDED DISTRIBUTED UML-BASED PROTOCOL SYNTHESIS METHOD Jehad Al Dallal Department of Information Science, Kuwait University, Kuwait ABSTRACT Synthesizing specifications for real time applications that

More information

Łabiak G., Miczulski P. (IIE, UZ, Zielona Góra, Poland)

Łabiak G., Miczulski P. (IIE, UZ, Zielona Góra, Poland) UML STATECHARTS AND PETRI NETS MODEL COMPARIS FOR SYSTEM LEVEL MODELLING Łabiak G., Miczulski P. (IIE, UZ, Zielona Góra, Poland) The system level modelling can be carried out with using some miscellaneous

More information

Reducing Directed Max Flow to Undirected Max Flow and Bipartite Matching

Reducing Directed Max Flow to Undirected Max Flow and Bipartite Matching Reducing Directed Max Flow to Undirected Max Flow and Bipartite Matching Henry Lin Division of Computer Science University of California, Berkeley Berkeley, CA 94720 Email: henrylin@eecs.berkeley.edu Abstract

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

Distributed minimum spanning tree problem

Distributed minimum spanning tree problem Distributed minimum spanning tree problem Juho-Kustaa Kangas 24th November 2012 Abstract Given a connected weighted undirected graph, the minimum spanning tree problem asks for a spanning subtree with

More information

Introduction to Mathematical Programming IE406. Lecture 16. Dr. Ted Ralphs

Introduction to Mathematical Programming IE406. Lecture 16. Dr. Ted Ralphs Introduction to Mathematical Programming IE406 Lecture 16 Dr. Ted Ralphs IE406 Lecture 16 1 Reading for This Lecture Bertsimas 7.1-7.3 IE406 Lecture 16 2 Network Flow Problems Networks are used to model

More information

An Approach for Ensuring Security and its Verification

An Approach for Ensuring Security and its Verification An Approach for Ensuring Security and its Verification Suparna Karmakar Department of Information Technology Guru Nanak Institute of Technology Sodepur, Kolkata, West Bengal, India E-mail - karmakarsuparna27@gmail.com

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

Chapter 2 Graphs. 2.1 Definition of Graphs

Chapter 2 Graphs. 2.1 Definition of Graphs Chapter 2 Graphs Abstract Graphs are discrete structures that consist of vertices and edges connecting some of these vertices. Graphs have many applications in Mathematics, Computer Science, Engineering,

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

Workflow : Patterns and Specifications

Workflow : Patterns and Specifications Workflow : Patterns and Specifications Seminar Presentation by Ahana Pradhan Under the guidance of Prof. Rushikesh K. Joshi Department of Computer Science and Engineering Indian Institute of Technology,

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

An Introduction to Modular Process Nets

An Introduction to Modular Process Nets An Introduction to Modular Process Nets Dietmar Wikarski 1 TR-96-019 April 1996 1. On leave from Fraunhofer Institute for Software Engineering and Systems Engineering (ISST) Berlin, Germany An Introduction

More information

Chapter 4. Capturing the Requirements. 4th Edition. Shari L. Pfleeger Joanne M. Atlee

Chapter 4. Capturing the Requirements. 4th Edition. Shari L. Pfleeger Joanne M. Atlee Chapter 4 Capturing the Requirements Shari L. Pfleeger Joanne M. Atlee 4th Edition It is important to have standard notations for modeling, documenting, and communicating decisions Modeling helps us to

More information

PNets - the Verification Tool based on Petri Nets

PNets - the Verification Tool based on Petri Nets PNets - the Verification Tool based on Petri Nets Miroslav Siebert, Jana Flochová Abstract The paper is aimed to digital systems modelling and verification using Petri nets. A new teaching method was proposed

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

Technical Research on Describing Reconfigurable Systems by Object Oriented Petri net

Technical Research on Describing Reconfigurable Systems by Object Oriented Petri net Technical Research on Describing Reconfigurable Systems by Object Oriented Petri net Jun Guo 1,2 Sheqin Dong 1 Kegang Hao 2 Satoshi Goto 3 1 Dept. of Computer Science of Tsinghua University, Beijin 100084

More information

THE TRANSITIVE REDUCTION OF A DIRECTED GRAPH*

THE TRANSITIVE REDUCTION OF A DIRECTED GRAPH* SIAM J. COMPUT. Vol. 1, No. 2, June 1972 THE TRANSITIVE REDUCTION OF A DIRECTED GRAPH* A. V. AHO, M. R. GAREY" AND J. D. ULLMAN Abstract. We consider economical representations for the path information

More information

LabVIEW Based Embedded Design [First Report]

LabVIEW Based Embedded Design [First Report] LabVIEW Based Embedded Design [First Report] Sadia Malik Ram Rajagopal Department of Electrical and Computer Engineering University of Texas at Austin Austin, TX 78712 malik@ece.utexas.edu ram.rajagopal@ni.com

More information

Modular Petri Net Processor for Embedded Systems

Modular Petri Net Processor for Embedded Systems Modular Petri Net Processor for Embedded Systems Orlando Micolini 1, Emiliano N. Daniele, Luis O. Ventre Laboratorio de Arquitectura de Computadoras (LAC) FCEFyN Universidad Nacional de Córdoba orlando.micolini@unc.edu.ar,

More information

Embedded Systems 7 BF - ES - 1 -

Embedded Systems 7 BF - ES - 1 - Embedded Systems 7-1 - Production system A modelbased realtime faultdiagnosis system for technical processes Ch. Steger, R. Weiss - 2 - Sprout Counter Flow Pipeline-Processor Based on a stream of data

More information

Termination Analysis of the Transformation UML to CSP

Termination Analysis of the Transformation UML to CSP Magyar Kutatók 8. Nemzetközi Szimpóziuma 8 th International Symposium of Hungarian Researchers on Computational Intelligence and Informatics Termination Analysis of the Transformation UML to CSP Márk Asztalos,

More information

IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, VOL. 16, NO. 8, AUGUST

IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, VOL. 16, NO. 8, AUGUST IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, VOL. 16, NO. 8, AUGUST 1997 793 A Region-Based Theory for State Assignment in Speed-Independent Circuits Jordi Cortadella,

More information

Discrete, Continuous, and Hybrid Petri Nets

Discrete, Continuous, and Hybrid Petri Nets Discrete, Continuous, and Hybrid Petri Nets Bearbeitet von René David, Hassane Alla 1. Auflage 2004. Buch. XXII, 570 S. Hardcover ISBN 978 3 540 22480 8 Format (B x L): 15,5 x 23,5 cm Gewicht: 2080 g Weitere

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

Local Two-Level And-Inverter Graph Minimization without Blowup

Local Two-Level And-Inverter Graph Minimization without Blowup Local Two-Level And-Inverter Graph Minimization without Blowup Robert Brummayer and Armin Biere Institute for Formal Models and Verification Johannes Kepler University Linz, Austria {robert.brummayer,

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

Timed Circuit Verification Using TEL Structures

Timed Circuit Verification Using TEL Structures IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, VOL. 20, NO. 1, JANUARY 2001 129 Timed Circuit Verification Using TEL Structures Wendy Belluomini, Member, IEEE, Chris J.

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

Producing Graphical User Interface from Activity Diagrams Ebitisam K. Elberkawi, Mohamed M. Elammari

Producing Graphical User Interface from Activity Diagrams Ebitisam K. Elberkawi, Mohamed M. Elammari Producing Graphical User Interface from Activity Diagrams Ebitisam K. Elberkawi, Mohamed M. Elammari Abstract Graphical User Interface (GUI) is essential to programming, as is any other characteristic

More information

Number Theory and Graph Theory

Number Theory and Graph Theory 1 Number Theory and Graph Theory Chapter 6 Basic concepts and definitions of graph theory By A. Satyanarayana Reddy Department of Mathematics Shiv Nadar University Uttar Pradesh, India E-mail: satya8118@gmail.com

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

Introduction to Electronic Design Automation. Model of Computation. Model of Computation. Model of Computation

Introduction to Electronic Design Automation. Model of Computation. Model of Computation. Model of Computation Introduction to Electronic Design Automation Model of Computation Jie-Hong Roland Jiang 江介宏 Department of Electrical Engineering National Taiwan University Spring 03 Model of Computation In system design,

More information

Lecture 5 - Axiomatic semantics

Lecture 5 - Axiomatic semantics Program Verification March 2014 Lecture 5 - Axiomatic semantics Lecturer: Noam Rinetzky Scribes by: Nir Hemed 1.1 Axiomatic semantics The development of the theory is contributed to Robert Floyd, C.A.R

More information

Static Safety Analysis of UML Action Semantics for Critical Systems Development

Static Safety Analysis of UML Action Semantics for Critical Systems Development Static Safety Analysis of UML Action Semantics for Critical Systems Development Zsigmond Pap, Dániel Varró Dept. of Measurement and Information Systems Budapest University of Technology and Economics H-1521

More information

Material handling and Transportation in Logistics. Paolo Detti Dipartimento di Ingegneria dell Informazione e Scienze Matematiche Università di Siena

Material handling and Transportation in Logistics. Paolo Detti Dipartimento di Ingegneria dell Informazione e Scienze Matematiche Università di Siena Material handling and Transportation in Logistics Paolo Detti Dipartimento di Ingegneria dell Informazione e Scienze Matematiche Università di Siena Introduction to Graph Theory Graph Theory As Mathematical

More information

Hardness of Subgraph and Supergraph Problems in c-tournaments

Hardness of Subgraph and Supergraph Problems in c-tournaments Hardness of Subgraph and Supergraph Problems in c-tournaments Kanthi K Sarpatwar 1 and N.S. Narayanaswamy 1 Department of Computer Science and Engineering, IIT madras, Chennai 600036, India kanthik@gmail.com,swamy@cse.iitm.ac.in

More information

Test Cases Generation from UML Activity Diagrams

Test Cases Generation from UML Activity Diagrams Eighth ACIS International Conference on Software Engineering, Artificial Intelligence, Networking, and Parallel/Distributed Computing Test Cases Generation from UML Activity Diagrams Hyungchoul Kim, Sungwon

More information

Timed Petri Nets in Modeling and Analysis of Cluster Tools

Timed Petri Nets in Modeling and Analysis of Cluster Tools 562 IEEE TRANSACTIONS ON ROBOTICS AND AUTOMATION, VOL. 17, NO. 5, OCTOBER 2001 Timed Petri Nets in Modeling and Analysis of Cluster Tools Wlodek M. Zuberek Abstract Timed Petri nets are used as models

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

Discrete Mathematics

Discrete Mathematics Discrete Mathematics Lecturer: Mgr. Tereza Kovářová, Ph.D. tereza.kovarova@vsb.cz Guarantor: doc. Mgr. Petr Kovář, Ph.D. Department of Applied Mathematics, VŠB Technical University of Ostrava About this

More information

Lecture 22 Tuesday, April 10

Lecture 22 Tuesday, April 10 CIS 160 - Spring 2018 (instructor Val Tannen) Lecture 22 Tuesday, April 10 GRAPH THEORY Directed Graphs Directed graphs (a.k.a. digraphs) are an important mathematical modeling tool in Computer Science,

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

Picture Maze Generation by Repeated Contour Connection and Graph Structure of Maze

Picture Maze Generation by Repeated Contour Connection and Graph Structure of Maze Computer Science and Engineering 2013, 3(3): 76-83 DOI: 10.5923/j.computer.20130303.04 Picture Maze Generation by Repeated Contour Connection and Graph Structure of Maze Tomio Kurokawa Department of Information

More information

Intuitionistic Fuzzy Petri Nets for Knowledge Representation and Reasoning

Intuitionistic Fuzzy Petri Nets for Knowledge Representation and Reasoning Intuitionistic Fuzzy Petri Nets for Knowledge Representation and Reasoning Meng Fei-xiang 1 Lei Ying-jie 1 Zhang Bo 1 Shen Xiao-yong 1 Zhao Jing-yu 2 1 Air and Missile Defense College Air Force Engineering

More information

6. Lecture notes on matroid intersection

6. Lecture notes on matroid intersection Massachusetts Institute of Technology 18.453: Combinatorial Optimization Michel X. Goemans May 2, 2017 6. Lecture notes on matroid intersection One nice feature about matroids is that a simple greedy algorithm

More information

The packing problem: A divide and conquer algorithm on cellular automata

The packing problem: A divide and conquer algorithm on cellular automata The packing problem: A divide and conquer algorithm on cellular automata Nicolas Bacquey Groupe de Recherche en Informatique, Image, Automatique et Instrumentation de Caen Université de Caen Basse-Normandie,

More information

A counter-example to the minimal coverability tree algorithm

A counter-example to the minimal coverability tree algorithm A counter-example to the minimal coverability tree algorithm A. Finkel, G. Geeraerts, J.-F. Raskin and L. Van Begin Abstract In [1], an algorithm to compute a minimal coverability tree for Petri nets has

More information

of optimization problems. In this chapter, it is explained that what network design

of optimization problems. In this chapter, it is explained that what network design CHAPTER 2 Network Design Network design is one of the most important and most frequently encountered classes of optimization problems. In this chapter, it is explained that what network design is? The

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

15-750: Parallel Algorithms

15-750: Parallel Algorithms 5-750: Parallel Algorithms Scribe: Ilari Shafer March {8,2} 20 Introduction A Few Machine Models of Parallel Computation SIMD Single instruction, multiple data: one instruction operates on multiple data

More information

Models of Petri Nets

Models of Petri Nets Artificial Intelligence Applications to Business and Engineering Domains 113 Models of Petri Nets MODELING AND SOLVING TECHNOLOGICAL TASKS BY LANGUAGE OF PETRI NETS Nataliya Golian, Vera Golian, Olga Kalynychenko

More information

Core Membership Computation for Succinct Representations of Coalitional Games

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

More information

Graph Theory. Part of Texas Counties.

Graph Theory. Part of Texas Counties. Graph Theory Part of Texas Counties. We would like to visit each of the above counties, crossing each county only once, starting from Harris county. Is this possible? This problem can be modeled as a graph.

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

6. Hoare Logic and Weakest Preconditions

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

More information

4 Integer Linear Programming (ILP)

4 Integer Linear Programming (ILP) TDA6/DIT37 DISCRETE OPTIMIZATION 17 PERIOD 3 WEEK III 4 Integer Linear Programg (ILP) 14 An integer linear program, ILP for short, has the same form as a linear program (LP). The only difference is that

More information

Graphs. Pseudograph: multiple edges and loops allowed

Graphs. Pseudograph: multiple edges and loops allowed Graphs G = (V, E) V - set of vertices, E - set of edges Undirected graphs Simple graph: V - nonempty set of vertices, E - set of unordered pairs of distinct vertices (no multiple edges or loops) Multigraph:

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

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

Directed Graph for Finite-State Machine

Directed Graph for Finite-State Machine Directed Graph for Finite-State Machine Tito D. Kesumo Siregar (13511018) 1 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung 40132,

More information

Studies on Dimultigraph and Prograph Based Applications of Graph Theory in Computer Science

Studies on Dimultigraph and Prograph Based Applications of Graph Theory in Computer Science Studies on Dimultigraph and Prograph Based Applications of Graph Theory in Computer Science Studies on Dimultigraph and Prograph Based Applications of Graph Theory in Computer Science 57 Biswajit Bhowmik

More information

MOST attention in the literature of network codes has

MOST attention in the literature of network codes has 3862 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 56, NO. 8, AUGUST 2010 Efficient Network Code Design for Cyclic Networks Elona Erez, Member, IEEE, and Meir Feder, Fellow, IEEE Abstract This paper introduces

More information

Implementation of Process Networks in Java

Implementation of Process Networks in Java Implementation of Process Networks in Java Richard S, Stevens 1, Marlene Wan, Peggy Laramie, Thomas M. Parks, Edward A. Lee DRAFT: 10 July 1997 Abstract A process network, as described by G. Kahn, is a

More information

Module 3. Requirements Analysis and Specification. Version 2 CSE IIT, Kharagpur

Module 3. Requirements Analysis and Specification. Version 2 CSE IIT, Kharagpur Module 3 Requirements Analysis and Specification Lesson 6 Formal Requirements Specification Specific Instructional Objectives At the end of this lesson the student will be able to: Explain what a formal

More information

Tool Support for Design Inspection: Automatic Generation of Questions

Tool Support for Design Inspection: Automatic Generation of Questions Tool Support for Design Inspection: Automatic Generation of Questions Tim Heyer Department of Computer and Information Science, Linköping University, S-581 83 Linköping, Email: Tim.Heyer@ida.liu.se Contents

More information

by conservation of flow, hence the cancelation. Similarly, we have

by conservation of flow, hence the cancelation. Similarly, we have Chapter 13: Network Flows and Applications Network: directed graph with source S and target T. Non-negative edge weights represent capacities. Assume no edges into S or out of T. (If necessary, we can

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

About the Tutorial. Audience. Prerequisites. Copyright & Disclaimer. Compiler Design

About the Tutorial. Audience. Prerequisites. Copyright & Disclaimer. Compiler Design i About the Tutorial A compiler translates the codes written in one language to some other language without changing the meaning of the program. It is also expected that a compiler should make the target

More information

An Efficient Method for Constructing a Distributed Depth-First Search Tree

An Efficient Method for Constructing a Distributed Depth-First Search Tree An Efficient Method for Constructing a Distributed Depth-First Search Tree S. A. M. Makki and George Havas School of Information Technology The University of Queensland Queensland 4072 Australia sam@it.uq.oz.au

More information

OCL Support in MOF Repositories

OCL Support in MOF Repositories OCL Support in MOF Repositories Joachim Hoessler, Michael Soden Department of Computer Science Technical University Berlin hoessler@cs.tu-berlin.de, soden@cs.tu-berlin.de Abstract From metamodels that

More information

Total No. of Questions : 18] [Total No. of Pages : 02. M.Sc. DEGREE EXAMINATION, DEC First Year COMPUTER SCIENCE.

Total No. of Questions : 18] [Total No. of Pages : 02. M.Sc. DEGREE EXAMINATION, DEC First Year COMPUTER SCIENCE. (DMCS01) Total No. of Questions : 18] [Total No. of Pages : 02 M.Sc. DEGREE EXAMINATION, DEC. 2016 First Year COMPUTER SCIENCE Data Structures Time : 3 Hours Maximum Marks : 70 Section - A (3 x 15 = 45)

More information

TAGUCHI TECHNIQUES FOR 2 k FRACTIONAL FACTORIAL EXPERIMENTS

TAGUCHI TECHNIQUES FOR 2 k FRACTIONAL FACTORIAL EXPERIMENTS Hacettepe Journal of Mathematics and Statistics Volume 4 (200), 8 9 TAGUCHI TECHNIQUES FOR 2 k FRACTIONAL FACTORIAL EXPERIMENTS Nazan Danacıoğlu and F.Zehra Muluk Received 0: 0: 200 : Accepted 14: 06:

More information

Intelligent Risk Identification and Analysis in IT Network Systems

Intelligent Risk Identification and Analysis in IT Network Systems Intelligent Risk Identification and Analysis in IT Network Systems Masoud Mohammadian University of Canberra, Faculty of Information Sciences and Engineering, Canberra, ACT 2616, Australia masoud.mohammadian@canberra.edu.au

More information

Reading assignment: Reviews and Inspections

Reading assignment: Reviews and Inspections Foundations for SE Analysis Reading assignment: Reviews and Inspections M. E. Fagan, "Design and code inspections to reduce error in program development, IBM Systems Journal, 38 (2&3), 1999, pp. 258-287.

More information

The alternator. Mohamed G. Gouda F. Furman Haddix

The alternator. Mohamed G. Gouda F. Furman Haddix Distrib. Comput. (2007) 20:21 28 DOI 10.1007/s00446-007-0033-1 The alternator Mohamed G. Gouda F. Furman Haddix Received: 28 August 1999 / Accepted: 5 July 2000 / Published online: 12 June 2007 Springer-Verlag

More information

Fork Sequential Consistency is Blocking

Fork Sequential Consistency is Blocking Fork Sequential Consistency is Blocking Christian Cachin Idit Keidar Alexander Shraer Novembe4, 008 Abstract We consider an untrusted server storing shared data on behalf of clients. We show that no storage

More information