Dynamic UNITY

Abstract

Dynamic distributed systems, where a changing set of communicating processes must interoperate to accomplish particular computational tasks, are becoming extremely important. Designing and implementing these systems, and verifying the correctness of the designs and implementations, are difficult cult tasks. The goal of this thesis is to make these tasks easier. This thesis presents a specification language for dynamic distributed systems, based on Chandy and Misra's UNITY language. It extends the UNITY language to enable process creation, process deletion, and dynamic communication patterns. The thesis defines an execution model for systems specified in this language, which leads to a proof logic similar to that of UNITY. While extending UNITY logic to correctly handle systems with dynamic behavior, this logic retains the familiar UNITY operators and most of the proof rules associated with them. The thesis presents specifications for three example dynamic distributed systems to demonstrate the use of the specification language, and full correctness proofs for two of these systems and a partial correctness proof for the third to demonstrate the use of the proof logic. The thesis details a method for determining whether a system in the specification language can be transformed into an implementation in a standard programming language, as well as a method for performing this transformation on those specifications that can. This guarantees a correct implementation for any specification that can be so transformed.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Jan 01, 2002
Accession Number
ADA446108

Entities

People

  • Daniel M. Zimmerman

Organizations

  • California Institute of Technology

Tags

DTIC Thesaurus Topics

  • Algorithms
  • Automata
  • Computations
  • Computer Programming
  • Computer Programs
  • Computer Science
  • Computers
  • Engineering
  • Infrastructure
  • Java Programming Language
  • Language
  • Operating Systems
  • Prime Numbers
  • Programming Languages
  • Random Number Generators
  • Software Development
  • Virtual Machines

Fields of Study

  • Computer science
  • Engineering

Readers

  • Computational Linguistics
  • Joint Military Operations and Doctrine.
  • Parallel and Distributed Computing.