Logic at Botik '89


Book Description

The present volume contains the proceedings of Logic at Botik '89, a symposium on logical foundations of computer science organized by the Program Systems Institute of the USSR Academy of Sciences and held at Pereslavl-Zalessky, USSR, July 3-8, 1989. The scope of the symposium was very broad; the topics of interest were: complexity of formal systems, constructive mathematics in computer science, denotational and operational semantics of programs, descriptive complexity, dynamic and algorithmic logics and schematology, formal tools to describe concurrent computations, lambda calculus and related topics, foundations of logic programming, logical foundations of database theory, logics for knowledge representation, modal and temporal logics, type theory in programming, and verification of programs. Thus, the papers in this volume represent many interesting trends in logical foundations of Computer Science, ranging from purely theoretical research to practical applications of theory.




Concrete and Abstract Voronoi Diagrams


Book Description

The Voronoi diagram of a set of sites is a partition of the plane into regions, one to each site, such that the region of each site contains all points of the plane that are closer to this site than to the other ones. Such partitions are of great importance to computer science and many other fields. The challenge is to compute Voronoi diagrams quickly. The problem is that their structure depends on the notion of distance and the sort of site. In this book the author proposes a unifying approach by introducing abstract Voronoi diagrams. These are based on the concept of bisecting curves, which are required to have some simple properties that are actually possessed by most bisectors of concrete Voronoi diagrams. Abstract Voronoi diagrams can be computed efficiently and there exists a worst-case efficient algorithm of divide-and-conquer type that applies to all abstract Voronoi diagrams satisfying a certain constraint. The author shows that this constraint is fulfilled by the concrete diagrams based on large classes of metrics in the plane.




Optimal Algorithms


Book Description

This volume brings together papers from various fields of theoretical computer science, including computational geometry, parallel algorithms, algorithms on graphs, data structures and complexity of algorithms. Some of the invited papers include surveys of results in particular fields and some report original research, while all the contributed papers report original research. Most of the algorithms given are for parallel models of computation. The papers were presented at the Second International Symposium on Optimal Algorithms held in Varna, Bulgaria, in May/June 1989. The volume will be useful to researchers and students in theoretical computer science, especially in parallel computing.




Concepts, Design, and Performance Analysis of a Parallel Prolog Machine


Book Description

This monograph presents a novel execution model for the parallel execution of standard sequential Prolog. In this execution model Prolog procedure calls can be efficiently pipelined, and the author shows how even fully deterministic Prolog programs can be effectively mapped onto the proposed architecture. The design is based on a highly optimized abstract Prolog specific instruction set. A special feature of this work is a sophisticated classification scheme for Prolog variables which substantially reduces the overhead for unification with occur-check. To support the model an architecture consisting of a circular pipeline of independent processors has been designed. This pipeline has been designed to work as a co-processor to a UNIX based workstation. In contrast to other attempts to execute sequential Prolog in parallel, the proposed model does not restrict the use of any of the standard Prolog language features. The book gives a full account of the execution model, the system architecture, and the abstract Prolog instruction set.




Foundations of Software Technology and Theoretical Computer Science


Book Description

The papers in this volume accepted for the conference on foundations of software technology and theoretical computer science project research results in - Algorithmics: design and analysis of graph, geometric, algebraic and VLSI algorithms; data structures; average analysis; complexity theory; parallel parsing. - Concurrency: algebraic semantics, event structures. - Logic programming: algebraic properties, semantics. - Software technology: program transformations, algebraic methods. These results together with the formal techniques employed to present them reflect current trends pursued by leading research groups around the world. The papers treat their topics in depth by carefully reviewing existing results, developing and demonstrating new techniques and suggesting further directions for research.




Automatic Verification Methods for Finite State Systems


Book Description

This volume contains the proceedings of a workshop held in Grenoble in June 1989. This was the first workshop entirely devoted to the verification of finite state systems. The workshop brought together researchers and practitioners interested in the development and use of methods, tools and theories for automatic verification of finite state systems. The goal at the workshop was to compare verification methods and tools to assist the applications designer. The papers in this volume review verification techniques for finite state systems and evaluate their relative advantages. The techniques considered cover various specification formalisms such as process algebras, automata and logics. Most of the papers focus on exploitation of existing results in three application areas: hardware design, communication protocols and real-time systems.




Combinatorics on Traces


Book Description

The construction of a software system is a task that has to be structured toensure that the software product fulfills all expectations and the process of producing it remains manageable and reliable. Mathematical methods, including logic, algebra and functional calculus, are needed to support structuring and provide notations and basic formal concepts for the foundations of software engineering. Mathematical methods of programming reflect the need for modularization and abstraction and suggest appropriate goal-directed procedures for the construction of software programs. This volume contains the proceedings of an International Summer School held at Marktoberdorf in 1990, the 11th in a series on mathematical methods in programming. Outstanding scientists contributed papers centered around logical and functional calculi for the specification, refinement and verification of programs and program systems, and remarkable examples for the formal development of proofs and algorithms are given.




On the Shape of Mathematical Arguments


Book Description

This book deals with the presentation and systematic design of mathematical proofs, including correctness proofs of algorithms. Its purpose is to show how completeness of argument, an important constraint especially for the correctness of algorithms, can be combined with brevity. The author stresses that the use of formalism is indispensible for achieving this. A second purpose of the book is to discuss matters of design. Rather than addressing psychological questions, the author deals with more technical questions like how analysis of the shape of the demonstrandum can guide the design of a proof. This technical rather than psychological view of heuristics together with the stress on exploiting formalism effectively are two key features of the book. The book consists of two independently readable parts. One part includes a number of general chapters discussing techniques for clear exposition, the use of formalism, the choice of notations, the choice of what to name and how to name it, and so on. The other part consists of a series of expositional essays, each dealing with a proof or an algorithm and illustrating the use of techniques discussed in the more general chapters.




A Systematic Catalogue of Reusable Abstract Data Types


Book Description

This book presents a comprehensive catalogue of elementary data types like sets, maps, orders, trees and lists, written in Ada. Such data types are often used in systems programming. The major focus is on: - a uniform syntactic and semantic interface for all data types, - many implementation variants per data type, all ac cessible through a single interface, - a hierarchical system of the data types as a basis for data type selection and implementation. Meeting these goals is the main achievement of the book. The combination of efficient applicability and ease of learning and maintenance is achieved by the carefully elaborated interfaces of the catalogue's data types. These interfaces combine abstraction, which is necessary for easy learning and for leaving implementation freedom, and functional completeness, which is an essential prerequisite for high performance in different application contexts. The selection of the right data type implementation for a given context is supported by the data type hierarchy which imposes different abstraction levels, and an orthogonal scheme of implementation variants which can be freely combined. Together with the uniformity of interfaces, the hierarchical composition of the catalogue leads to a small code base, from which different implementation variants are generated using a macro processor.




Software Engineering Environments


Book Description

Report on the process session at chinon -- An introduction to the IPSE 2.5 project -- TRW's SEE sage -- MASP: A model for assisted software processes -- Goal oriented decomposition -- Its application for process modelling in the PIMS project -- A metaphor and a conceptual architecture for software development environments -- Configuration management with the NSE -- Experiments with rule based process modelling in an SDE -- Principles of a reference model for computer aided software engineering environments -- An overview of the inscape environment -- Tool integration in software engineering environments -- The PCTE contribution to Ada programming support environments (APSE) -- The Tooluse approach to integration -- An experimental Ada programming support environment in the HP CASEdge integration framework -- Experience and conclusions from the system engineering environment prototype PROSYT -- Issues in designing object management systems -- Experiencing the next generation computing environment -- Group paradigms in discretionary access controls for object management systems -- Typing in an object management system (OMS) -- Environment object management technology: Experiences, opportunities and risks -- Towards formal description and automatic generation of programming environments -- Use and extension of PCTE : The SPMMS information system -- User interface session -- CENTAUR: Towards a "software tool box" for programming environments -- List of participants.