Set-based Failure Diagnosis for Concurrent
Constraint Programming
Autor: Martin Müller
Herausgeber:
Oz is a recent high-level programming language, based on an extension
of the concurrent constraint model by higher-order procedures and
state. Oz is a dynamically typed language like Prolog, Scheme, or
Smalltalk. We investigate two approaches of making static type
analysis available for Oz: Set-based failure diagnosis and strong
typing. We define a new system of set constraints over feature trees
that is appropriate for the analysis of record structures, and we
investigate its satisfiability, emptiness, and entailment problem. We
present a set-based diagnosis for constraint logic programming and
concurrent constraint programming as first-order fragments of Oz, and
we prove that it correctly detects inevitable run-time errors. We also
propose an analysis for a larger sublanguage of Oz. Complementarily,
we define an Oz-style language called Plain that allows an expressive
strong type system. We present such a type system and prove its
soundness.
|