TEMPORAL TABLEAUX. United Kingdom. ABSTRACT

Size: px
Start display at page:

Download "TEMPORAL TABLEAUX. United Kingdom. ABSTRACT"

Transcription

1 A BLACKBOARD APPROACH TO PARALLEL TEMPORAL TABLEAUX ROBERT JOHNSON Department of Computing Manchester Metropolitan University Manchester, M1 5GD United Kingdom tel: (+44) fax: (+44) ABSTRACT Before we can contemplate specifying, verifying and animating reactive systems using temporal logics the computational eectiveness of the reasoning process must be vastly improved. While parallel processing will not decrease the total amount of processing required to solve a problem, (in fact it usually increases it) it has the potential to solve the problem faster than sequential systems by distributing the load for for concurrent computation. We illustrate a mechanism by which we are able to harness the available potential of the tableau method for temporal logic, and give an account of an implementation that will permit us to selectively tailor the amount of parallelism for a particular physical architecture. Our approach builds a single, regulated, shared data structure with many concurrent processes acting on it. 1. Introduction In order to port an existing algorithm to a parallel architecture a number of points must be addressed. Firstly, maximal parallelism must be identied in the algorithm, then a suitable process grain size must be determined, principally to suit the characteristics of the target architecture. The overheads involved with incorporating the parallelism must be deemed not to outweigh the potential benets to be accrued. Finally, an ecient mapping between algorithmic processes and the target architecture must be constructed. Temporal logics are used in order to facilitate reasoning about properties that change with time. Temporal logic formulas used in the modelling of large systems are correspondingly large, and require extensive computation for proof derivation. Thus, This research has been supported by SERC grant GR/J48979

2 a large amount of temporal information must be stored and manipulated during the proof process. Nevertheless, temporal logics have been used for modelling dynamic systems and reasoning about their domains. This reasoning inevitably requires proof procedures. The improved eciency and eectiveness of these is our goal. We are concerned with porting a variety of automated theorem proving techniques to novel parallel and distributed processing architectures. Here we shall restrict our discussion to the tableau method for linear, discrete propositional temporal logic. 4 We will not concern ourselves with possible topologies since the proposed approach is independent of any particular structure, however our design is based on a general message-passing architecture. It is currently being implemented using Strand88. Here we discuss our approach to the design and implementation of a parallel theorem prover for temporal logic. We give a semi-formal description of the original sequential algorithm, then suggest possible parallelisations. Some of these parallelisations maintain the structure of the original algorithm, others require a considerable restructuring of the approach. We then give specic algorithms that describe the function and interactions of a number of concurrent agents that collectively carry out the theorem proving operation. Finally we briey consider the problem of load balancing across a network of processors Notation For Algorithm Specication The notation we employ for the specication of algorithms seeks to present the fundamental processes of the algorithm in a semi-formal structure. Thus a specication may be used both for discussion and coding purposes, it being neither too rigorous for the former, nor too simplistic for the latter. Each statement is presented in the form: <statement number>.<description> Q 1 ; : : : ; Q p : R 1 ; : : : ; R q :: O 1 ; : : : ; O r ; where Q i ; 1 i p represent quantications, R j ; 1 j q represent restrictions on the quantications, and O k ; 1 k r represents the operations to be carried out. This is a coarse derivation of the schema employed in. 3 The restrictions component may have additional nested quantications and further restrictions on them as required. The description and restriction components may however not always be required. Control of statement execution is provided by conventional loop and IF: : :THEN: : :ELSE type constructs. Simplied algorithms may dispense with much of the mathematical nomenclature, relying on the description to convey the function of each statement. Variables that are not temporal logic formulas (or sets of formulas) may in most cases alternatively be viewed as sets of formulas, or as pipes/channels/streams between processes, along which messages ow. It should be stressed that the notation is intended to be exible and is designed as a vehicle for conveying the general semantics of an algorithm rather than for providing a full formal denition. Statements may be nested to describe more complex algorithmic functions. The statement numbers have no semantic relevance and are presented purely for reference purposes. Strand88 is a trademark of Strand Software Technologies Limited. 2

3 2. Wolper's Sequential Algorithm For Temporal Tableau The method described here is a non-analytic extension of the tableau method (described in 4 ). The approach is essentially two-phased. Firstly, it involves constructing a digraph by applying tableau rules to the formulas stored at each node. Then the graph is reduced by the application of reduction rules that enable nodes of the graph to be discarded. If the root node is removed then the supplied formula may be deemed unsatisable. In the sequential case the graph reduction phase commences immediately the graph is fully constructed. The tableau expansion rules are given in. 4 Graph Construction 1. Create node N := (ff g; ;) where F is the formula to be tested G := fn i g; WHILE 9g 2 L i ; g is an unmarked, non-elementary formula, N i 2 G; N i = (L i ; ;) DO 2. Apply tableau rule to f f ) fs i g; 3. Build successor nodes (N si ) to N i ; and mark f as used 8S i :: N si := (S i [ (L i? ffg) [ ff g; ;) where f is f marked as used, N 0 i := (L i; C i [ fs i g) (where s i are the names of the successors), G := (G? N i ) [ fn 0 i ; N sig; 4. If some N j is a state then build prestate N 0 j 8N j : N j = (L j ; ;); 6 9f 2 L j such that f is unmarked and non-elementary :: N sj := (ffj h f 2 L j g; ;); N 0 j := (L j ; fn sj g) (where N sj is a name), G := (G? N j ) [ fn 0 j ; N sjg; END WHILE Graph Reduction REPEAT 5. Set ag to indicate that no graph reduction has occurred so far in this pass reducing := f alse; 6. Delete contradictory nodes 8N i : N i 2 G; N i = (L i ; c i ); f; :f 2 L i :: 8N j : N j 2 G; N j = (L j ; c j ); N i 2 c j :: N 0 j := (L j; c j? fn i g) (where N i is a name in the last two instances); G := (G? (fn j g [ fn i g)) [ fn 0 j g; reducing := true;

4 7. Delete nodes without successors 8N i : N i 2 G; N i = (L i ; ;) :: 8N j : N j 2 G; N j = (L j ; c j ); N i 2 c j :: N 0 j := (L j ; c j? fn i g) (where N i is a name in the last two instances); G := (G? (fn j g [ fn i g)) [ fn 0 jg; reducing := true; 8. Delete nodes in cycles where the prestate eventuality is unsatised 8cycle : cycle = fn i ; N i + 1; : : : ; N j g; cycle G; N j = (L j ; c j ); N i 2 c j (where N i is a name); 9N p : N p 2 cycle; N p is a prestate, i p j; N p = (L p ; c p );}f 2 L p ; 6 9N q : N q 2 cycle; N q = (L q ; c q ); f 2 L q :: G := G? N p ; reducing := true; 6 9. Delete nodes in cycles where the prestate until( U ) eventuality is unsatised 8cycle : cycle = fn i ; N i + 1; : : : ; N j g; cycle G; N j = (L j ; c j ); N i 2 c j (where N i is a name); 9N p : N p 2 cycle; N p is a prestate, i p j; N p = (L p ; c p ); f 1 U f 2 2 L p ; 9N q : N q 2 cycle; N q = (L q ; c q ); f 2 2 L q :: G := G? N p ; reducing := true; UNTIL reducing = false 10. IF G = ; then F is unsatisable ELSE formula F is satisable. If the graph G is successfully reduced to nothing (i.e. we are able to remove the root node) then the supplied formula is unsatisable. Otherwise there exists an interpretation that will satisfy it. 3. Exploiting Control Parallelism Given the above algorithms we are able to identify the opportunities for control parallelism in the algorithm as follows: 1. Partitioning during graph construction following -rule application; 2. concurrently checking for duplicate state generation during graph construction; 3. deleting contradictory states; 4. deleting states without successors; 5. deleting states containing unsatisable eventualities, and within this: (a) concurrently searching graph for unsatisable eventualities, (b) concurrently applying graph deletion;

5 6. pipelining the entire procedure; 7. partitioning following -rule application. Note that contradictory nodes may be detected and deleted during the construction phase, thus avoiding redundant graph construction. 4. A Framework For Parallel Temporal Tableaux Our design is implemented as a framework so that parallel options may be enforced or retracted enabling a range of congurations from maximal parallelism to sequential execution to be produced. This allows us to experiment with the process granularity and to tailor the system to suit the characteristics of a particular architecture. Our implementation incorporates all of the parallel options given in with the exception of -partitioning (option 7) which has not been implemented at present since the requisite level of preprocessing analysis suggests that the overheads associated with such an approach are relatively high. The system is constructed using six communicating process agents: the director, process supplier, preprocessor, constructor, checker, and searcher. The agents cooperate to build (and reduce) a digraph that is stored, under the control of the director, as a shared data structure, eectively a blackboard structure. Each dierent type of agent incorporates facilities for internal parallel computation to a lesser or greater degree. Additionally there exists scope for parallelism between the agents using partitioning and pipelining strategies. For reasons of space the algorithms for each agent are presented in an abridged format (unabridged versions are also available). Given the shared blackboard data structure G some processes attempt to extend G through the application of tableau expansion rules; others try to clarify the graph structure, e.g. by detecting duplicate nodes; yet others attempt to prune the structure, e.g. by deleting contradictory nodes, deleting nodes with no successor, and deleting nodes with unsatisable eventualities. All these processes may proceed concurrently to exploit maximal parallelism. To a certain extent the model may be viewed as representing competition between the dierent processes where some are aiming at expansion, others at conciseness, and others still at the reduction of G. During graph construction, all agents may be concurrently active. However, once the graph is completed, only the director and searcher will operate. Each agent may be allocated any number of processes on demand, as ultimately determined by the process supplier. The process supplier agent assesses the relative loadings of each processor and the level of activity of each agent with respect to the state of G before allocating a process The Director The director agent is primarily responsible for the regulation of the graph G (the blackboard), and, through its subordinate agent, the process supplier, for the allocation and

6 mapping of processes to agents at the algorithmic level, and processes to processors at the physical level. During graph construction the director is ultimately responsible for adding nodes and edges to G. Similarly, during reduction, it acts upon the advice of the searcher as it systematically reduces G. In this algorithm we leave the process supplier to operate independent of directorial control. However, since both the incoming process request stream and the outgoing process address stream pass through the director agent, control may easily be enforced if required. The abridged version of the director's algorithm is as follows. 1. state := construction; 2. Build initial balance set (the set of relative processor loadings); 3. Spawn supplier sub-process to handle processor address requests for process distribution and pass to it both balance set and the process request stream; 4. Pass initial node to constructor; WHILE 9N 2 G : N is active DO 5. Poll constructor for returned `used' nodes N 0 ; 6. Pass N 0 to checker; 7. Terminate any constructor process that a checker identies as having derived a duplicate node; 8. Update G with checker reports. (a) either G := G [ N 0 (b) or update parent edge on existing n 2 G if a duplicate label; 9. IF N is a pre-state THEN pass it to a search process; 10. IF any searcher has a prestate P to delete THEN G := G? fp g; END WHILE 11. state := reduction REPEAT 12. IF G 6= ; THEN formula is valid ELSE 13. Poll search channels; 14. Delete any cycles from searchers - if dependent node then delete node - otherwise delete relevant edges; 15. IF any node has no successors THEN delete node; 16. Inform searchers of deletions ENDIF UNTIL no more deletions are possible 17. Formula is invalid.

7 4.2. The Process Supplier This agent receives a stream of process requests and operations information from the constructor via the director. It returns a stream of processor addresses while maintaining the relative processing loadings of balance set so that the processor with the lightest load can be determined on each request. WHILE StreamIn (the process request stream) not terminated DO IF head item of StreamIn is a process request THEN 1. Place address of processor with lightest load on StreamOut ELSE 2. Update process count to account for an expired process ENDIF ENDWHILE The Preprocessor The preprocessor deals with the initial parsing of the supplied formula. It is responsible for inserting meta-information into the formulas and for applying a few syntactic manipulations such as the removal of double negations prior to commencing graph building. The preprocessor receives input from the user and returns it to the director. While the preprocessing operation may be pipelined so that processed formulas are passed to the director and on to the constructor in a piecemeal fashion, it should be noted that the complexity of the preprocessing phase is linear on the size of the formula, and is generally a relatively low cost procedure. 1. Restructure formula; 2. Insert meta-information into sub-formulas The Constructor The constructor applies tableaux expansion rules to the formulas in a node to derive new successor nodes. It receives a node from another constructor as determined by the director then repeatedly returns derived nodes to the director (via the checker) until either a contradictory node is derived, no further rule applications may be made to the formulas in a node, or the constructor is instructed to terminate. The latter may occur if the formula has been identied as having derived a duplicate node and hence is pursuing a redundant computation. The constructor solicits the director for new processes when more than one successor node is derived. One successor is kept for expansion by the current processor while the other is expanded by the processor determined by the director. The granularity of each process is dictated by the frequency with which the constructor demands new processes. WHILE not-terminated AND 9active? nodes DO 1. Apply rule to active node N to derive new active? node set S = fs1; :::; sng; 2. Mark N as used (N 0 );

8 3. IF any s 2 S is contradictory THEN S := S? fsg, update child edge in N 0 ; 4. Place N 0 on G channel to director; 5. Spawn constructor process for some s 2 S; S := S? fsg; 6. IF s 6= ; THEN 8s 2 S spawn a new constructor process on the node dictated by Director process address channel; END WHILE The Checker This agent receives generated nodes from the constructor and searches the graph to determine whether or not they contain labels that are duplicated elsewhere. The checker may employ multiple subprocesses, each searching a subgraph to improve the eciency of this operation. The eciency of subgraph searching is of great importance since it is a relatively high cost operation in terms of processor time. WHILE state=construction DO 1. IF search? space is too large THEN partition it and spawn sub-processes to search partitions; 2. Poll director channel for incoming nodes N; 3. Pass N to all sub-checker processes (if they exist); 4. Check search? space for duplicate label L; 5. IF any checker or sub-process nds a match THEN report `found' on channel to director ELSE report unique; END WHILE 6. Terminate process and all sub-processes The Searcher The searcher agent is responsible for detecting unsatisable eventualities in any prestates that may occur in G. It does this by analysing G for strongly-connected components (cycles). Given that }f occurs in a prestate N p there must be a state N i reachable from N p that contains f, otherwise }f is unsatisable and the director may be instructed to delete N p from G. Similarly if f 2 does not appear in the cycle (which is detectable as a strongly-connected component of the graph) then formula f 1 U f 2 (where U is the `until' temporal operator) is unsatisable with the same operations resulting. WHILE state=construction DO 1. Poll incoming channel for node N; IF N is contradictory THEN 2. place its name on Gdel channel (nodes to be deleted) and delete its local instance; ELSE

9 3. Add N to each cycle that reaches it; ENDIF 4. IF N satises eventuality e from pre-state P, and P reaches N THEN tag the cycle for e with a reference to N; 5. IF N is a prestate THEN for every eventuality E 2 N create a new cycle and add them to the set of cycles EV ; 6. IF any cycle is subsumed by another THEN discard the subsumed cycle; 7. IF any cycle for e is strongly connected and e is unsatisable THEN delete the cycle for e, and IF the prestate P e references no other cycles THEN place P e on Gdel; END WHILE REPEAT 8. IF any cycle does not satisfy its respective e THEN delete the local instance of prestate P e, place the name of P e on Gdel, and remove cycles for any e in P e from EV ; 9. IF d 2 DN (nodes deleted by the director for having no successors) and d is tagged as satisfying e in a cycle THEN remove the tag; UNTIL EV = ; Incorporating Lemmata Since we are dealing with a blackboard architecture incorporating lemmata is a straightforward task. The checker agent deals with the identication of duplicate labels in the graph which constitute cycles. Theorem 1. (from Ben-Ari 1 ) The structure created from a semantic tableau is a Hintikka structure. Proof. Immediate by construction. Theorem 2. Given subgraphs H 1 and H 2 generated respectively from nodes N 1 and N 2 which are labelled by the same set of formulas F, then H 1 and H 2 are Hintikka structures and H 1 H 2. Proof. A corollary of the tableau soundness proof. Assuming theorem 2 it follows that deriving any new node, N 2, that has an identical label to one (N 1 ) already existing in the G permits us to discard the new node (since the graph formed from the formulas in the label of a node represents a proof of the formulas and so constitutes a lemma), and simply redirect the parent of N 2 to inherit N 1 as successor node instead. Since it is necessary for us to search G for duplicates for the purpose of cycle identication anyway we incur no additional computational costs by incorporating lemmata. Additionally we benet from reduced storage costs and the elimination of redundant duplicate computation.

10 5. The Problem Of Load Balancing A distributed network of processors is likely to be less tolerant of high inter-process communication (IPC) levels than a physically localised network of message-passing nodes such as the KSR y. Therefore a schema based on a single distribution model and process grain size is probably inappropriate. An eective balance of parallelism may be determined by analysing the relative amounts of processing and IPC produced during test running. This will enable a suitable process grain-size to be predicted. Furthermore, proling tools permit us to analyse the balance of process loadings across a network of nodes so that the most eective loading may be applied through the allocation of processors to pools available to particular agents, and the utilisation of the pools by each agent, under the control of the director. We shall consider a variety of load balancing techniques in future. 6. Conclusion We have provided a semi-formal description of Wolper's algorithm 4 for temporal tableaux and have described the potential opportunities for parallelism exhibited by the general method. Moreover, we have described a system suitable for implementation on a parallel or distributed architecture. An important feature of the system is the incorporation of lemmata as an integral part of the approach. The implementation of this design will enable us to insert and retract parallel options in order to tailor the system to best exploit particular physical architectures through the analysis of typical relative processor loads and IPC levels. References 1. M. Ben-Ari. Mathematical Logic For Computer Science. Prentice Hall I. Foster, S. Taylor. Strand: New Concepts In Parallel Programming. Prentice Hall F. Kurfe Parallelism In Logic. Vieweg P. Wolper. The Tableau Method For Temporal Logic: An Overview. Logique et Analyse vols June-Sept y Kendal Square Research machine.

Binary Decision Diagrams

Binary Decision Diagrams Logic and roof Hilary 2016 James Worrell Binary Decision Diagrams A propositional formula is determined up to logical equivalence by its truth table. If the formula has n variables then its truth table

More information

FUTURE communication networks are expected to support

FUTURE communication networks are expected to support 1146 IEEE/ACM TRANSACTIONS ON NETWORKING, VOL 13, NO 5, OCTOBER 2005 A Scalable Approach to the Partition of QoS Requirements in Unicast and Multicast Ariel Orda, Senior Member, IEEE, and Alexander Sprintson,

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

of m clauses, each containing the disjunction of boolean variables from a nite set V = fv 1 ; : : : ; vng of size n [8]. Each variable occurrence with

of m clauses, each containing the disjunction of boolean variables from a nite set V = fv 1 ; : : : ; vng of size n [8]. Each variable occurrence with A Hybridised 3-SAT Algorithm Andrew Slater Automated Reasoning Project, Computer Sciences Laboratory, RSISE, Australian National University, 0200, Canberra Andrew.Slater@anu.edu.au April 9, 1999 1 Introduction

More information

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

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

More information

Unit 9 : Fundamentals of Parallel Processing

Unit 9 : Fundamentals of Parallel Processing Unit 9 : Fundamentals of Parallel Processing Lesson 1 : Types of Parallel Processing 1.1. Learning Objectives On completion of this lesson you will be able to : classify different types of parallel processing

More information

to automatically generate parallel code for many applications that periodically update shared data structures using commuting operations and/or manipu

to automatically generate parallel code for many applications that periodically update shared data structures using commuting operations and/or manipu Semantic Foundations of Commutativity Analysis Martin C. Rinard y and Pedro C. Diniz z Department of Computer Science University of California, Santa Barbara Santa Barbara, CA 93106 fmartin,pedrog@cs.ucsb.edu

More information

A Simplied NP-complete MAXSAT Problem. Abstract. It is shown that the MAX2SAT problem is NP-complete even if every variable

A Simplied NP-complete MAXSAT Problem. Abstract. It is shown that the MAX2SAT problem is NP-complete even if every variable A Simplied NP-complete MAXSAT Problem Venkatesh Raman 1, B. Ravikumar 2 and S. Srinivasa Rao 1 1 The Institute of Mathematical Sciences, C. I. T. Campus, Chennai 600 113. India 2 Department of Computer

More information

Theorem proving. PVS theorem prover. Hoare style verification PVS. More on embeddings. What if. Abhik Roychoudhury CS 6214

Theorem proving. PVS theorem prover. Hoare style verification PVS. More on embeddings. What if. Abhik Roychoudhury CS 6214 Theorem proving PVS theorem prover Abhik Roychoudhury National University of Singapore Both specification and implementation can be formalized in a suitable logic. Proof rules for proving statements in

More information

Software Architecture. Lecture 4

Software Architecture. Lecture 4 Software Architecture Lecture 4 Last time We discussed tactics to achieve architecture qualities We briefly surveyed architectural styles 23-Jan-08 http://www.users.abo.fi/lpetre/sa08/ 2 Today We check

More information

1 Introduction One of the contributions of Java is in its bytecode verier, which checks type safety of bytecode for JVM (Java Virtual Machine) prior t

1 Introduction One of the contributions of Java is in its bytecode verier, which checks type safety of bytecode for JVM (Java Virtual Machine) prior t On a New Method for Dataow Analysis of Java Virtual Machine Subroutines Masami Hagiya Department of Information Science, Graduate School of Science, University of Tokyo hagiyais.s.u-tokyo.ac.jp Abstract

More information

Lecture 9 - Matrix Multiplication Equivalences and Spectral Graph Theory 1

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

More information

Specification of Behavioural Requirements within Compositional Multi-Agent System Design

Specification of Behavioural Requirements within Compositional Multi-Agent System Design Specification of Behavioural Requirements within Compositional Multi-Agent System Design Daniela E. Herlea 1, Catholijn M. Jonker 2, Jan Treur 2, Niek J.E. Wijngaards 1,2 1 University of Calgary, Software

More information

E-Companion: On Styles in Product Design: An Analysis of US. Design Patents

E-Companion: On Styles in Product Design: An Analysis of US. Design Patents E-Companion: On Styles in Product Design: An Analysis of US Design Patents 1 PART A: FORMALIZING THE DEFINITION OF STYLES A.1 Styles as categories of designs of similar form Our task involves categorizing

More information

D. Crocker, Ed. Updates: RFC4871 June 10, 2009 (if approved) Intended status: Standards Track Expires: December 12, 2009

D. Crocker, Ed. Updates: RFC4871 June 10, 2009 (if approved) Intended status: Standards Track Expires: December 12, 2009 DKIM D. Crocker, Ed. Internet-Draft Brandenburg InternetWorking Updates: RFC4871 June 10, 2009 (if approved) Intended status: Standards Track Expires: December 12, 2009 RFC 4871 DomainKeys Identified Mail

More information

Distributed Systems Programming (F21DS1) Formal Verification

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

More information

A Framework for Building Parallel ATPs. James Cook University. Automated Theorem Proving (ATP) systems attempt to prove proposed theorems from given

A Framework for Building Parallel ATPs. James Cook University. Automated Theorem Proving (ATP) systems attempt to prove proposed theorems from given A Framework for Building Parallel ATPs Geo Sutclie and Kalvinder Singh James Cook University 1 Introduction Automated Theorem Proving (ATP) systems attempt to prove proposed theorems from given sets of

More information

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

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

More information

Certification Authorities Software Team (CAST) Position Paper CAST-25

Certification Authorities Software Team (CAST) Position Paper CAST-25 Certification Authorities Software Team (CAST) Position Paper CAST-25 CONSIDERATIONS WHEN USING A QUALIFIABLE DEVELOPMENT ENVIRONMENT (QDE) IN CERTIFICATION PROJECTS COMPLETED SEPTEMBER 2005 (Rev 0) NOTE:

More information

contribution of this paper is to demonstrate that rule orderings can also improve eciency by reducing the number of rule applications. In eect, since

contribution of this paper is to demonstrate that rule orderings can also improve eciency by reducing the number of rule applications. In eect, since Rule Ordering in Bottom-Up Fixpoint Evaluation of Logic Programs Raghu Ramakrishnan Divesh Srivastava S. Sudarshan y Computer Sciences Department, University of Wisconsin-Madison, WI 53706, U.S.A. Abstract

More information

Steering. Stream. User Interface. Stream. Manager. Interaction Managers. Snapshot. Stream

Steering. Stream. User Interface. Stream. Manager. Interaction Managers. Snapshot. Stream Agent Roles in Snapshot Assembly Delbert Hart Dept. of Computer Science Washington University in St. Louis St. Louis, MO 63130 hart@cs.wustl.edu Eileen Kraemer Dept. of Computer Science University of Georgia

More information

Sardar Vallabhbhai Patel Institute of Technology (SVIT), Vasad M.C.A. Department COSMOS LECTURE SERIES ( ) (ODD) Code Optimization

Sardar Vallabhbhai Patel Institute of Technology (SVIT), Vasad M.C.A. Department COSMOS LECTURE SERIES ( ) (ODD) Code Optimization Sardar Vallabhbhai Patel Institute of Technology (SVIT), Vasad M.C.A. Department COSMOS LECTURE SERIES (2018-19) (ODD) Code Optimization Prof. Jonita Roman Date: 30/06/2018 Time: 9:45 to 10:45 Venue: MCA

More information

Chapter S:V. V. Formal Properties of A*

Chapter S:V. V. Formal Properties of A* Chapter S:V V. Formal Properties of A* Properties of Search Space Graphs Auxiliary Concepts Roadmap Completeness of A* Admissibility of A* Efficiency of A* Monotone Heuristic Functions S:V-1 Formal Properties

More information

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

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

More information

Lecture 2 - Graph Theory Fundamentals - Reachability and Exploration 1

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

More information

ABSTRACT Finding a cut or nding a matching in a graph are so simple problems that hardly are considered problems at all. Finding a cut whose split edg

ABSTRACT Finding a cut or nding a matching in a graph are so simple problems that hardly are considered problems at all. Finding a cut whose split edg R O M A TRE DIA Universita degli Studi di Roma Tre Dipartimento di Informatica e Automazione Via della Vasca Navale, 79 { 00146 Roma, Italy The Complexity of the Matching-Cut Problem Maurizio Patrignani

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

Modeling Dependencies for Cascading Selective Undo

Modeling Dependencies for Cascading Selective Undo Modeling Dependencies for Cascading Selective Undo Aaron G. Cass and Chris S. T. Fernandes Union College, Schenectady, NY 12308, USA, {cassa fernandc}@union.edu Abstract. Linear and selective undo mechanisms

More information

under Timing Constraints David Filo David Ku Claudionor N. Coelho, Jr. Giovanni De Micheli

under Timing Constraints David Filo David Ku Claudionor N. Coelho, Jr. Giovanni De Micheli Interface Optimization for Concurrent Systems under Timing Constraints David Filo David Ku Claudionor N. Coelho, Jr. Giovanni De Micheli Abstract The scope of most high-level synthesis eorts to date has

More information

3.4 Deduction and Evaluation: Tools Conditional-Equational Logic

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

More information

has phone Phone Person Person degree Degree isa isa has addr has addr has phone has phone major Degree Phone Schema S1 Phone Schema S2

has phone Phone Person Person degree Degree isa isa has addr has addr has phone has phone major Degree Phone Schema S1 Phone Schema S2 Schema Equivalence in Heterogeneous Systems: Bridging Theory and Practice R. J. Miller y Y. E. Ioannidis z R. Ramakrishnan x Department of Computer Sciences University of Wisconsin-Madison frmiller, yannis,

More information

Mathematically Rigorous Software Design Review of mathematical prerequisites

Mathematically Rigorous Software Design Review of mathematical prerequisites Mathematically Rigorous Software Design 2002 September 27 Part 1: Boolean algebra 1. Define the Boolean functions and, or, not, implication ( ), equivalence ( ) and equals (=) by truth tables. 2. In an

More information

The Paired Assignment Problem

The Paired Assignment Problem Open Journal of Discrete Mathematics, 04, 4, 44-54 Published Online April 04 in SciRes http://wwwscirporg/ournal/odm http://dxdoiorg/0436/odm044007 The Paired Assignment Problem Vardges Melkonian Department

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

Construction of Application Generators Using Eli. Uwe Kastens, University of Paderborn, FRG. Abstract

Construction of Application Generators Using Eli. Uwe Kastens, University of Paderborn, FRG. Abstract Construction of Application Generators Using Eli Uwe Kastens, University of Paderborn, FRG Abstract Application generators are a powerful means for reuse of software design. They produce special purpose

More information

! Use of formal notations. ! in software system descriptions. ! for a broad range of effects. ! and varying levels of use. !

! Use of formal notations. ! in software system descriptions. ! for a broad range of effects. ! and varying levels of use. ! What Are Formal Methods? David S. Rosenblum ICS 221 Winter 2001! Use of formal notations! first-order logic, state machines, etc.! in software system descriptions! system models, constraints, specifications,

More information

The Stepping Stones. to Object-Oriented Design and Programming. Karl J. Lieberherr. Northeastern University, College of Computer Science

The Stepping Stones. to Object-Oriented Design and Programming. Karl J. Lieberherr. Northeastern University, College of Computer Science The Stepping Stones to Object-Oriented Design and Programming Karl J. Lieberherr Northeastern University, College of Computer Science Cullinane Hall, 360 Huntington Ave., Boston MA 02115 lieber@corwin.ccs.northeastern.edu

More information

The Encoding Complexity of Network Coding

The Encoding Complexity of Network Coding The Encoding Complexity of Network Coding Michael Langberg Alexander Sprintson Jehoshua Bruck California Institute of Technology Email: mikel,spalex,bruck @caltech.edu Abstract In the multicast network

More information

Implementation Techniques

Implementation Techniques V Implementation Techniques 34 Efficient Evaluation of the Valid-Time Natural Join 35 Efficient Differential Timeslice Computation 36 R-Tree Based Indexing of Now-Relative Bitemporal Data 37 Light-Weight

More information

On the Rainbow Neighbourhood Number of Set-Graphs

On the Rainbow Neighbourhood Number of Set-Graphs On the Rainbow Neighbourhood Number of Set-Graphs Johan Kok, Sudev Naduvath arxiv:1712.02324v1 [math.gm] 6 Dec 2017 Centre for Studies in Discrete Mathematics Vidya Academy of Science & Technology Thalakkottukara,

More information

3.7 Denotational Semantics

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

More information

Security for Multithreaded Programs under Cooperative Scheduling

Security for Multithreaded Programs under Cooperative Scheduling Security for Multithreaded Programs under Cooperative Scheduling Alejandro Russo and Andrei Sabelfeld Dept. of Computer Science and Engineering, Chalmers University of Technology 412 96 Göteborg, Sweden,

More information

Faster and Dynamic Algorithms For Maximal End-Component Decomposition And Related Graph Problems In Probabilistic Verification

Faster and Dynamic Algorithms For Maximal End-Component Decomposition And Related Graph Problems In Probabilistic Verification Faster and Dynamic Algorithms For Maximal End-Component Decomposition And Related Graph Problems In Probabilistic Verification Krishnendu Chatterjee Monika Henzinger Abstract We present faster and dynamic

More information

Formal Verification Techniques for GPU Kernels Lecture 1

Formal Verification Techniques for GPU Kernels Lecture 1 École de Recherche: Semantics and Tools for Low-Level Concurrent Programming ENS Lyon Formal Verification Techniques for GPU Kernels Lecture 1 Alastair Donaldson Imperial College London www.doc.ic.ac.uk/~afd

More information

Model Checking I Binary Decision Diagrams

Model Checking I Binary Decision Diagrams /42 Model Checking I Binary Decision Diagrams Edmund M. Clarke, Jr. School of Computer Science Carnegie Mellon University Pittsburgh, PA 523 2/42 Binary Decision Diagrams Ordered binary decision diagrams

More information

Modeling Dependencies for Cascading Selective Undo

Modeling Dependencies for Cascading Selective Undo Modeling Dependencies for Cascading Selective Undo Aaron G. Cass and Chris S. T. Fernandes Union College, Schenectady, NY 12308, USA, {cassa fernandc}@union.edu Abstract. Linear and selective undo mechanisms

More information

Basic Graph Theory with Applications to Economics

Basic Graph Theory with Applications to Economics Basic Graph Theory with Applications to Economics Debasis Mishra February, 0 What is a Graph? Let N = {,..., n} be a finite set. Let E be a collection of ordered or unordered pairs of distinct elements

More information

Conceptual Model for a Software Maintenance Environment

Conceptual Model for a Software Maintenance Environment Conceptual Model for a Software Environment Miriam. A. M. Capretz Software Engineering Lab School of Computer Science & Engineering University of Aizu Aizu-Wakamatsu City Fukushima, 965-80 Japan phone:

More information

time using O( n log n ) processors on the EREW PRAM. Thus, our algorithm improves on the previous results, either in time complexity or in the model o

time using O( n log n ) processors on the EREW PRAM. Thus, our algorithm improves on the previous results, either in time complexity or in the model o Reconstructing a Binary Tree from its Traversals in Doubly-Logarithmic CREW Time Stephan Olariu Michael Overstreet Department of Computer Science, Old Dominion University, Norfolk, VA 23529 Zhaofang Wen

More information

Verification of Bakery algorithm variants for two processes

Verification of Bakery algorithm variants for two processes Verification of Bakery algorithm variants for two processes David Dedi 1, Robert Meolic 2 1 Nova Vizija d.o.o., Vreerjeva ulica 8, SI-3310 Žalec 2 Faculty of Electrical Engineering and Computer Science,

More information

SAT-CNF Is N P-complete

SAT-CNF Is N P-complete SAT-CNF Is N P-complete Rod Howell Kansas State University November 9, 2000 The purpose of this paper is to give a detailed presentation of an N P- completeness proof using the definition of N P given

More information

Principles of Programming Languages

Principles of Programming Languages (An Introduction to... ) Principles of Programming Languages Adrian Francalanza Department of Computer Science ICT, University of Malta 2009/10 There is usually two parts to the definition of a (programming)

More information

Network. Department of Statistics. University of California, Berkeley. January, Abstract

Network. Department of Statistics. University of California, Berkeley. January, Abstract Parallelizing CART Using a Workstation Network Phil Spector Leo Breiman Department of Statistics University of California, Berkeley January, 1995 Abstract The CART (Classication and Regression Trees) program,

More information

Principles of AI Planning. Principles of AI Planning. 8.1 Parallel plans. 8.2 Relaxed planning graphs. 8.3 Relaxation heuristics. 8.

Principles of AI Planning. Principles of AI Planning. 8.1 Parallel plans. 8.2 Relaxed planning graphs. 8.3 Relaxation heuristics. 8. Principles of AI Planning June th, 8. Planning as search: relaxation heuristics Principles of AI Planning 8. Planning as search: relaxation heuristics alte Helmert and Bernhard Nebel Albert-Ludwigs-Universität

More information

Reverse Engineering with a CASE Tool. Bret Johnson. Research advisors: Spencer Rugaber and Rich LeBlanc. October 6, Abstract

Reverse Engineering with a CASE Tool. Bret Johnson. Research advisors: Spencer Rugaber and Rich LeBlanc. October 6, Abstract Reverse Engineering with a CASE Tool Bret Johnson Research advisors: Spencer Rugaber and Rich LeBlanc October 6, 994 Abstract We examine using a CASE tool, Interactive Development Environment's Software

More information

Dual-Based Approximation Algorithms for Cut-Based Network Connectivity Problems

Dual-Based Approximation Algorithms for Cut-Based Network Connectivity Problems Dual-Based Approximation Algorithms for Cut-Based Network Connectivity Problems Benjamin Grimmer bdg79@cornell.edu arxiv:1508.05567v2 [cs.ds] 20 Jul 2017 Abstract We consider a variety of NP-Complete network

More information

Fundamental Concepts. Chapter 1

Fundamental Concepts. Chapter 1 Chapter 1 Fundamental Concepts This book is about the mathematical foundations of programming, with a special attention on computing with infinite objects. How can mathematics help in programming? There

More information

and therefore the system throughput in a distributed database system [, 1]. Vertical fragmentation further enhances the performance of database transa

and therefore the system throughput in a distributed database system [, 1]. Vertical fragmentation further enhances the performance of database transa Vertical Fragmentation and Allocation in Distributed Deductive Database Systems Seung-Jin Lim Yiu-Kai Ng Department of Computer Science Brigham Young University Provo, Utah 80, U.S.A. Email: fsjlim,ngg@cs.byu.edu

More information

Chapter S:II. II. Search Space Representation

Chapter S:II. II. Search Space Representation Chapter S:II II. Search Space Representation Systematic Search Encoding of Problems State-Space Representation Problem-Reduction Representation Choosing a Representation S:II-1 Search Space Representation

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

Connection Based Strategies for Logic

Connection Based Strategies for Logic From: AAAI-97 Proceedings. Copyright 1997, AAAI (www.aaai.org). All rights reserved. Connection Based Strategies for Logic rspositional Temporal Subash Shankar and James Slagle University of Minnesota

More information

Stating the obvious, people and computers do not speak the same language.

Stating the obvious, people and computers do not speak the same language. 3.4 SYSTEM SOFTWARE 3.4.3 TRANSLATION SOFTWARE INTRODUCTION Stating the obvious, people and computers do not speak the same language. People have to write programs in order to instruct a computer what

More information

Fault-Tolerant Real-Time Communication in FDDI-Based Networks. Biao Chen, Sanjay Kamat and Wei Zhao. Texas A&M University

Fault-Tolerant Real-Time Communication in FDDI-Based Networks. Biao Chen, Sanjay Kamat and Wei Zhao. Texas A&M University Fault-Tolerant Real-Time Communication in FDDI-Based Networks Biao Chen, Sanjay Kamat and Wei Zhao Department of Computer Science Texas A&M University College Station, Texas 7783-32 Abstract FDDI-Based

More information

KeyNote: Trust Management for Public-Key. 180 Park Avenue. Florham Park, NJ USA.

KeyNote: Trust Management for Public-Key. 180 Park Avenue. Florham Park, NJ USA. KeyNote: Trust Management for Public-Key Infrastructures Matt Blaze 1 Joan Feigenbaum 1 Angelos D. Keromytis 2 1 AT&T Labs { Research 180 Park Avenue Florham Park, NJ 07932 USA fmab,jfg@research.att.com

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

Axioms: Semantics Aspects of C++ Concepts

Axioms: Semantics Aspects of C++ Concepts Doc no: N2887=09-0077 Date: 2009-06-21 Project: ISO/IEC JTC1/SC22/WG21 Reply-To: Gabriel Dos Reis gdr@cs.tamu.edu Axioms: Semantics Aspects of C++ Concepts Gabriel Dos Reis Bjarne Stroustrup Alisdair Meredith

More information

Financial Planning Institute of Southern Africa SETTING THE STANDARD. Continuous Professional Development (Cpd) Policy

Financial Planning Institute of Southern Africa SETTING THE STANDARD. Continuous Professional Development (Cpd) Policy FPI FPI Financial Planning Institute of Southern Africa SETTING THE STANDARD Continuous Professional Development (Cpd) Policy Table of Contents Definitions 3-4 Introduction 4 Primary Responsibility 5 Mandatory

More information

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

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

More information

Decreasing a key FIB-HEAP-DECREASE-KEY(,, ) 3.. NIL. 2. error new key is greater than current key 6. CASCADING-CUT(, )

Decreasing a key FIB-HEAP-DECREASE-KEY(,, ) 3.. NIL. 2. error new key is greater than current key 6. CASCADING-CUT(, ) Decreasing a key FIB-HEAP-DECREASE-KEY(,, ) 1. if >. 2. error new key is greater than current key 3.. 4.. 5. if NIL and.

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

ITERATIVE MULTI-LEVEL MODELLING - A METHODOLOGY FOR COMPUTER SYSTEM DESIGN. F. W. Zurcher B. Randell

ITERATIVE MULTI-LEVEL MODELLING - A METHODOLOGY FOR COMPUTER SYSTEM DESIGN. F. W. Zurcher B. Randell ITERATIVE MULTI-LEVEL MODELLING - A METHODOLOGY FOR COMPUTER SYSTEM DESIGN F. W. Zurcher B. Randell Thomas J. Watson Research Center Yorktown Heights, New York Abstract: The paper presents a method of

More information

Characterization of Boolean Topological Logics

Characterization of Boolean Topological Logics Characterization of Boolean Topological Logics Short Form: Boolean Topological Logics Anthony R. Fressola Denison University Granville, OH 43023 University of Illinois Urbana-Champaign, IL USA 61801-61802

More information

2 Keywords Backtracking Algorithms, Constraint Satisfaction Problem, Distributed Articial Intelligence, Iterative Improvement Algorithm, Multiagent Sy

2 Keywords Backtracking Algorithms, Constraint Satisfaction Problem, Distributed Articial Intelligence, Iterative Improvement Algorithm, Multiagent Sy 1 The Distributed Constraint Satisfaction Problem: Formalization and Algorithms IEEE Trans. on Knowledge and DATA Engineering, vol.10, No.5 September 1998 Makoto Yokoo, Edmund H. Durfee, Toru Ishida, and

More information

On Nested Depth First Search

On Nested Depth First Search DIMACS Series in Discrete Mathematics and Theoretical Computer Science Volume 32, 1997 On Nested Depth First Search Gerard J. Holzmann, Doron Peled, and Mihalis Yannakakis The SPIN. ABSTRACT. We show in

More information

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

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

More information

Formal Verification. Lecture 10

Formal Verification. Lecture 10 Formal Verification Lecture 10 Formal Verification Formal verification relies on Descriptions of the properties or requirements of interest Descriptions of systems to be analyzed, and rely on underlying

More information

A GRAPH FROM THE VIEWPOINT OF ALGEBRAIC TOPOLOGY

A GRAPH FROM THE VIEWPOINT OF ALGEBRAIC TOPOLOGY A GRAPH FROM THE VIEWPOINT OF ALGEBRAIC TOPOLOGY KARL L. STRATOS Abstract. The conventional method of describing a graph as a pair (V, E), where V and E repectively denote the sets of vertices and edges,

More information

22 Elementary Graph Algorithms. There are two standard ways to represent a

22 Elementary Graph Algorithms. There are two standard ways to represent a VI Graph Algorithms Elementary Graph Algorithms Minimum Spanning Trees Single-Source Shortest Paths All-Pairs Shortest Paths 22 Elementary Graph Algorithms There are two standard ways to represent a graph

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

Appendix G: Some questions concerning the representation of theorems

Appendix G: Some questions concerning the representation of theorems Appendix G: Some questions concerning the representation of theorems Specific discussion points 1. What should the meta-structure to represent mathematics, in which theorems naturally fall, be? There obviously

More information

2386 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 52, NO. 6, JUNE 2006

2386 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 52, NO. 6, JUNE 2006 2386 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 52, NO. 6, JUNE 2006 The Encoding Complexity of Network Coding Michael Langberg, Member, IEEE, Alexander Sprintson, Member, IEEE, and Jehoshua Bruck,

More information

Ecient Implementation of Sorting Algorithms on Asynchronous Distributed-Memory Machines

Ecient Implementation of Sorting Algorithms on Asynchronous Distributed-Memory Machines Ecient Implementation of Sorting Algorithms on Asynchronous Distributed-Memory Machines Zhou B. B., Brent R. P. and Tridgell A. y Computer Sciences Laboratory The Australian National University Canberra,

More information

1 A Tale of Two Lovers

1 A Tale of Two Lovers CS 120/ E-177: Introduction to Cryptography Salil Vadhan and Alon Rosen Dec. 12, 2006 Lecture Notes 19 (expanded): Secure Two-Party Computation Recommended Reading. Goldreich Volume II 7.2.2, 7.3.2, 7.3.3.

More information

SURIEM 2016 Final Report: Games on Graphs

SURIEM 2016 Final Report: Games on Graphs SURIEM 2016 Final Report: Games on Graphs Julie Anne Bowman, Arthur Diep-Nguyen, Rashmika Goswami, Dylan King, Nicholas Lindell, Emily Olson, Robert W. Bell July 14, 2016 1 Introduction The game of Cops

More information

Lecture 11 Lecture 11 Nov 5, 2014

Lecture 11 Lecture 11 Nov 5, 2014 Formal Verification/Methods Lecture 11 Lecture 11 Nov 5, 2014 Formal Verification Formal verification relies on Descriptions of the properties or requirements Descriptions of systems to be analyzed, and

More information

What do Compilers Produce?

What do Compilers Produce? What do Compilers Produce? Pure Machine Code Compilers may generate code for a particular machine, not assuming any operating system or library routines. This is pure code because it includes nothing beyond

More information

Distributed Scheduling for the Sombrero Single Address Space Distributed Operating System

Distributed Scheduling for the Sombrero Single Address Space Distributed Operating System Distributed Scheduling for the Sombrero Single Address Space Distributed Operating System Donald S. Miller Department of Computer Science and Engineering Arizona State University Tempe, AZ, USA Alan C.

More information

21. Distributed Algorithms

21. Distributed Algorithms 21. Distributed Algorithms We dene a distributed system as a collection of individual computing devices that can communicate with each other [2]. This denition is very broad, it includes anything, from

More information

Compilation Issues for High Performance Computers: A Comparative. Overview of a General Model and the Unied Model. Brian J.

Compilation Issues for High Performance Computers: A Comparative. Overview of a General Model and the Unied Model. Brian J. Compilation Issues for High Performance Computers: A Comparative Overview of a General Model and the Unied Model Abstract This paper presents a comparison of two models suitable for use in a compiler for

More information

Transactional Information Systems:

Transactional Information Systems: Transactional Information Systems: Theory, Algorithms, and the Practice of Concurrency Control and Recovery Gerhard Weikum and Gottfried Vossen 2002 Morgan Kaufmann ISBN 1-55860-508-8 Teamwork is essential.

More information

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

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

More information

Graphs. The ultimate data structure. graphs 1

Graphs. The ultimate data structure. graphs 1 Graphs The ultimate data structure graphs 1 Definition of graph Non-linear data structure consisting of nodes & links between them (like trees in this sense) Unlike trees, graph nodes may be completely

More information

Super-Key Classes for Updating. Materialized Derived Classes in Object Bases

Super-Key Classes for Updating. Materialized Derived Classes in Object Bases Super-Key Classes for Updating Materialized Derived Classes in Object Bases Shin'ichi KONOMI 1, Tetsuya FURUKAWA 1 and Yahiko KAMBAYASHI 2 1 Comper Center, Kyushu University, Higashi, Fukuoka 812, Japan

More information

Weak Dynamic Coloring of Planar Graphs

Weak Dynamic Coloring of Planar Graphs Weak Dynamic Coloring of Planar Graphs Caroline Accurso 1,5, Vitaliy Chernyshov 2,5, Leaha Hand 3,5, Sogol Jahanbekam 2,4,5, and Paul Wenger 2 Abstract The k-weak-dynamic number of a graph G is the smallest

More information

Foundations of Discrete Mathematics

Foundations of Discrete Mathematics Foundations of Discrete Mathematics Chapter 12 By Dr. Dalia M. Gil, Ph.D. Trees Tree are useful in computer science, where they are employed in a wide range of algorithms. They are used to construct efficient

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

Beyond Nested Parallelism: Tight Bounds on Work-Stealing Overheads for Parallel Futures

Beyond Nested Parallelism: Tight Bounds on Work-Stealing Overheads for Parallel Futures Beyond Nested Parallelism: Tight Bounds on Work-Stealing Overheads for Parallel Futures Daniel Spoonhower Guy E. Blelloch Phillip B. Gibbons Robert Harper Carnegie Mellon University {spoons,blelloch,rwh}@cs.cmu.edu

More information

On maximum spanning DAG algorithms for semantic DAG parsing

On maximum spanning DAG algorithms for semantic DAG parsing On maximum spanning DAG algorithms for semantic DAG parsing Natalie Schluter Department of Computer Science School of Technology, Malmö University Malmö, Sweden natalie.schluter@mah.se Abstract Consideration

More information

NYSVMS WEBSITE PRIVACY POLICY

NYSVMS WEBSITE PRIVACY POLICY Your Privacy Rights Effective Date: June 16, 2016 NYSVMS WEBSITE PRIVACY POLICY The New York State Veterinary Medical Society, Inc. and its affiliates ( NYSVMS, we, and us ) recognize the importance of

More information

22 Elementary Graph Algorithms. There are two standard ways to represent a

22 Elementary Graph Algorithms. There are two standard ways to represent a VI Graph Algorithms Elementary Graph Algorithms Minimum Spanning Trees Single-Source Shortest Paths All-Pairs Shortest Paths 22 Elementary Graph Algorithms There are two standard ways to represent a graph

More information