Thomas N. Hibbard
California Institute of Technology
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Thomas N. Hibbard.
international colloquium on automata, languages and programming | 1978
Armin B. Cremers; Thomas N. Hibbard
The concurrent programming control problem of mutual exclusion can be precisely defined in the framework of data spaces. The size of the shared message variable is introduced as a machine-independent complexity measure for the effort of implementing scheduling schemes for mutual exclusion. Along the lines of a minimal solution for two-processor mutual exclusion using a three-valued message variable, a general n-processor solution is developed using uninterruptable test-and-set instructions on a (2n-1)-valued message variable.
Acta Informatica | 1978
Armin B. Cremers; Thomas N. Hibbard
SummaryIn the mathematical framework of data spaces the paper develops some important general principles of information structuring. These principles are related to the notions of redundancy of information, completeness of a set of access paths, information sharing and compounding, and virtual access to information. The results are relevant to both sequential and concurrent processing.
international colloquium on automata, languages and programming | 1979
Armin B. Cremers; Thomas N. Hibbard
An algorithm is presented which implements mutual exclusion for a system of n processes by means of protocol-controled communication on a (n + const.)-valued shared buffer. The algorithm uses a generalized test-and-set instruction, and schedules processes into their critical sections on a first-come, first-serve basis. The method can be extended to accomodate any queueing discipline defined as a function of the system history between consecutive idle periods.
New Results and New Trends in Computer Science | 1991
Armin B. Cremers; Thomas N. Hibbard
The theoretical construct data space is intended for modeling computing processes in general 1, 2, 3] and proved of considerable utility in modelling algorithms designed for VLSI 4, 5]. It is here applied, along with a sharpened deenition of subspace, to the formalization of two notions of concurrent processing: the functional equivalence of message passing and shared memory, and the mutual exclusion problem. A method for constructing big mutual exclusion schemes from small ones is presented formally. Fundamental Deenitions. A data space D consists of a set X(D) of states, a relation p(D), called the moves, on the states such that no (x; x) is in p, a subset of X called the start states, and a set F(D) of functions on the states which is complete: if f(x) = f(y) for all f 2 F then x = y, and orthogonal: for any function on F such that (f) is in the range of f for each f, there is a state x such that f(x) = (f) for each f in F, The functions F are often referred to as the memory cells. The range of one of them corresponds to a data type. The orthogonality property says in eeect that the memory cells are independent: that for any set of values of the memory cells there is a state in which all those values are found in the memory cells. We use the notation x ! y, or x ! y in D when D needs to be speciied, to say that x; y is in p. We also call x ! y a move of D, which is technically not compatible with the rst use but will always be clear in the context. A history of D, or D-history, is a ((nite or innnite) sequence x 1 ; x 2 ; : : : of states such that x i ! x i+1 for each i. A state x is reachable if there is a nite history beginning with a start state and ending with x. We use the notation x(f 1 = v 1) to denote the state y such that f 1 (y) = v 1 and f(y) = f(x) for all f 6 = f 1. Continuing by induction, x(f 1 = v 1 ; : : : ; f n+1 = v n+1) means x(f 1 = v 1 ; : : …
Acta Informatica | 1978
Armin B. Cremers; Thomas N. Hibbard
SummaryIn order to verify that a nondeterministic sequential program is partially correct it is sufficient to establish the conjunction of two constituent properties: “weak” partial correctness and functional, that is reproducible, behavior. It is possible to continue this divide-and-conquer strategy for the concept of functional behavior. If the nondeterministic sequential program is derived from a set of interacting parallel processes then the functional behavior of the former can be expressed in terms of two weaker complementary properties of the latter: weak functional behavior and input/output liveness. The only remaining issue is input/output dependability: the absence of input/output livelock. The theoretical framework of data spaces is used to derive closure theorems for these constituent properties. For instance, it is shown that a system of weakly functional processes is again weakly functional.
GI - 13. Jahrestagung | 1983
Armin B. Cremers; Thomas N. Hibbard
Applicative state transition (AST) systems combine the abstractions of “function” and “state”: they offer the possibility of powerful transformations of the state in a single transition. An AST system is made up of a state space and a set of transition rules, together with an applicative subsystem in which to program these components. Considering the great number of possible variations of this concept of a computing system, the design and implementation of concrete AST systems becomes a highly experimental and very challenging task. Experience gathered from prototypical software implementations is required before a computer architecture suitable to the concept can be designed. In the present paper, a concrete instance of the AST system concept, based on the “data space” model of computation, is described. A LISP-like notation is presented in which to specify a data space as an ensemble of data-defined functions of an associative memory consisting of named and typed cells, and of expression-defined functions of a processor. The advantages of the algorithmic notation (functional style, history sensivity, executability) are illustrated by a set of examples executed on the “data space machine.” Extensions to larger areas of application such as e.g. VLSI algorithms and embedded systems requirements are briefly discussed.
Theoretical Computer Science | 1977
Armin B. Cremers; Thomas N. Hibbard
Abstract A data space is a general mathematical model for data types with a dynamic component (procedures). It consists of a set of objects (states), a set of functions for describing the information aspects of these objects, together with a control, i.e. a function mapping objects into objects. A set of properties is given which specify the formal relationship among the constituent components of a data space. The results of this paper especially concern the dependency between information structuring and control structuring. The mathematical analysis of this relationship is enhanced by focussing on the structure of so-called dependency sets, i.e. sets of objects which reflect the underlying control structure. The paper develops techniques for constructing meaningful dependency sets.
Theory of Computing Systems \/ Mathematical Systems Theory | 1978
Armin B. Cremers; Thomas N. Hibbard
A data space is a mathematical model for virtual machines as they arise in programming. It consists of a set of objects (states), a set of descriptors, and a control. In this general framework, formal definitions of both fixed-depth and variable-depth indirect addressing are developed. The former definition serves as a model for simple hardware spaces, whereas the latter has applications in the realm of higher-level programming.
Archive | 1975
Armin B. Cremers; Thomas N. Hibbard
international colloquium on automata, languages and programming | 1978
Armin B. Cremers; Thomas N. Hibbard