Operational and Denotational Models for Languages 
Supporting Nondeterminism and Synchronization


Table of Contents:

  1. Principal Investigator.
  2. Productivity Measures.
  3. Summary of Objectives and Approach.
  4. Detailed Summary of Technical Progress.
  5. Transitions and DOD Interactions.
  6. Software and Hardware Prototypes.
  7. List of Publications.
  8. Invited and Contributed Presentations.
  9. Honors, Prizes or Awards Received.
  10. Project Personnel Promotions.
  11. Project Staff.
  12. URLs.
  13. Keywords.
  14. Business Office.
  15. Expenditures.
  16. Students.
  17. Book Plans.
  18. Sabbatical Plans.
  19. Related Research.
  20. History.

Principal Investigator.

 


Productivity Measures.

 


Summary of Objectives and Approach.

 

  1. The objective of this research project is to understand better the process of building operational and related denotational models for languages supporting communication and synchronization. The goal is to show that operational models and related denotational models that are adequate and fully abstract with respect to the given operational model can be built up using a straightforward, uniform methodology. The goal also includes exploring the relationships between varying methods for devising operational and denotational models.
  2. The application focus of the work is the language CSP originally crafted by members of the Programming Research Group at Oxford. The aim is to relate the operational and denotational models built up using the uniform methods we devise to the models that have proved so successful for the PRG.

  3. The approach is to exploit techniques from universal algebra, domain theory, category theory and spectral theory to prove that operational and related denotational models can be built up in incremental stages. It also includes simplifying the "standard techniques" from domain theory to gain a better insight into the constructions that are used. We also generalize domain-theoretic techniques to build models that support features that are not supported by domain theory.
  4. The theory of local cpos has been developed and shown to provide denotational models for languages supporting unbounded nondeterminism. In addition, we are exploring methods of building truly concurrent models for concurrent programs, and relating these models to the interleaving models that are more conventionally used.

    Ultimately, the established models for untimed CSP - the failures model and the failures-divergences model - will be analyzed from these viewpoints.

  5. An emerging line of research is the development of computational models. This area was initiated by Abbas Edalat (Imperial College), and has rapidly become a focal point for research in the applications of domain theory. Results developed at Tulane have added the notion of a measurement on a domain which is used to provide additional insight into how domains can serve as computational models for metric spaces that arise in modeling computational processes.

Detailed Summary of Technical Progress.

 

  1. Full Abstraction and Recursion. Full abstraction is a fundamental issue for semantics. It involves the relationship between two types on semantic models: operational models and denotational models. The first are models for a language that define how programs in the language act when run on a computer. Such models inherently treat programs as individual entities, and their construction is not modular -- the action of the machine on each program must be computed from scratch on a program-by-program basis.
  2.  On the other hand, denotational models for programming languages are most easily described in mathematical terms. If we regard a programming language as a universal algebra, then a denotational model for the language is nothing more than an algebra with the same signature together with an algebra homomorphism from the language to the model. Such a model is inherently modular or compositional, in that the meaning of any program is given by combining the meanings of its components. Such models allow one to analyze how programs interact with one another.

     A denotational model for a programming language is said to be fully abstract with respect to an operational model for the same language if and only two programs have the same meaning in the denotational model if and only they have the same behavior in the operational model, no matter what environment they are placed in when running them in the operational model. Here an environment is nothing more than a one-variable polynomial in the language viewed as a universal algebra. The sine qua non in semantics is to have both an operational model and a related, fully abstract denotational model for the language in question.

     In [MO95] Oles and I showed that, in certain circumstances, a somewhat stronger notion -- strong order full abstraction -- can be lifted from a language without variables or recursion operators to models for the language of closed terms when identifiers and recursion operators are added to the language. Moreover, the models for the extended language arise naturally from the original models. These results are applicable in particular to languages like CSP that support concurrent computation.

     More recently, my work has focused on enhancing the theory underlying this result and showed how to simplifying the process of building models, so that the work occurs "at the poset level". Domains that are used as semantic models are algebraic, which means they are the ideal completion of a poset with properties similar to those that are required for the domain. For example, power domains provide models for the traditional method of understanding parallel composition in terms of the ``simpler'' constructs of sequential composition and nondeterministic choice. The three standard power domains are defined in terms of the set of compact elements of the underlying domain, which is nothing more than a partially ordered set. As previously reported, my work has shown that the functorial construction of a power domain is the ideal completion of a related construction at the poset level, as reported at MFPS 11 (1996).

    The problem with the approach just described is that not all continuous maps between algebraic cpos preserve compact elements, so the object-level association of a domain to its set of compact elements does not extend to a functor between the category of algebraic cpos and continuous maps and the category of posets and monotone maps. But For example, a large number of domain equations have solutions which arise using a limit of lower adjoints, and so these solutions also can be obtained by considering the associated upper adjoints, restricting them to the posets of compact elements, finding the initial algebra satisfying this system (i.e., finding the colimit in poset), and then lifting back to domains to solve the original equation. The three power domains are examples here - they each arise using associated free semilattice constructions over posets, and following them by the ideal completion functor.

    In the past year we have investigated which domain equations can be solved using this approach. In a paper presented at MFPS 12, we showed that a number of domain equations can be solved using duality. The duality referred to here is that of domains and continuous maps that have "upper adjoints". The objects of both categories are algebraic cpos (and continuous cpos more generally, as described below), and maps in one category are those continuous mappings that have "dual mappings" which go in the opposite direction in the other category, and for which the pair of mappings form a Galois adjunction. In this situation, each mapping determines the other completely, so information encoded in one is also encoded in the other. But, upper adjoints between algebraic cpos preserve compact elements, so these mappings are liftings to the cpo-level of mappings between the compact elements of the underlying domains. While not all continuous maps between domains are lower adjoints, enough of them satisfy this criterion to support a viable theory which can be used to account for a number of constructions at the domain level. To solve a domain equation in the category of algebraic cpos and lower adjoints, one can thus

    This theory can be used to solve a number of the "usual" domain equations which are needed for modeling programming languages, including process algebra. What this theory cannot do, however, is solve the most famous of the domain equations: D = [D --> D]. But, we have also shown that the same approach applies in the case of continuous cpos and categories of abstract bases, objects first investigated by Smyth and most recently used to present a unified theory of domains by Abramsky and Jung.
  3. Truly Concurrent Models. For the past two years, the principle investigator has been collaborating with Professor Paul Gastin (Universitè de Paris 7) on a project relating trace theory and dentotational semantics. Trace theory began with the work of Mazurkiewicz in an effort to provide models for Petri nets, themselves intended to model nondeterministic automata. The research in this area focused on automata theoretic issues until a few years ago, when Gastin and his colleagues devised domain-theoretic models for this approach.
  4. Gastin and I have been developing truly concurrent models for concurrent programming languages. This theory is more general than the traditional interleaving approach to modeling concurrent computation in which parallel composition is a derived operator which is defined in terms of sequential composition and nondeterministic choice. The truly concurrent approach supports individual actions or events being able to commute with one another, if they are independent, and this is used to develop more expressive models. The goal of our work is to provide insight into the relationship between truly concurrent semantics and interleaving semantics.

    So far, we have devised a simple, truly concurrent language that supports concatenation of processes (the true concurrency analogue to sequential composition), restriction of processes to a subset of the set of possible actions according to the resources that are required, and of course recursion. While the work is still in the formative stages, we have a full abstraction result for our initial language, and some further results for the language extended to include parallel composition of processes. The language itself has some interesting and appealing properties. It is deterministic, and also fair. This last means that actions that are infinitely often enabled in any trace are executed infinitely often. Full abstraction results for languages supporting fairness are difficult to come by, and we are hopeful that our approach will provide a simple yet effective means to support this notion. We also are interested in understanding the exact relationship between interleaving models for concurrent languages and the truly concurrent ones we are devising. In particular, we would like to find more definitive information about the oft-made claim that true concurrency is more expressive than the interleaving approach can be.

    There are several potential applications of the models we are devising. One is security work, where results have recently been devised by Roscoe showing that determinism in CSP captures a wide range of security properties. The aim here is to generalize Roscoe's results so that security can be assured in a trusted network even if the low-level user's viewpoint is nondeterministic.

    A second potential application for this approach is in object-based programming. Here, it is hoped that the truly concurrent language and its models will provide natural setting in which to model concurrent object-based programming.

    More details about this research can be found in the report on the principal investigator's visit to the Universitè de Paris 7 in June, 1997.

     

  5. Computational Models: Work has proceeded at Tulane in the area of computational models for metric spaces. The area was initiated with the work of Abbas Edalat (Imperial College) who showed how domains could provide simple, yet very expressive models for varying processes, from fractals to neural networks to Riemann integration. Most recently, Edalat has focused on providing a real number datatype in which he combines the reals with the simply typed lambda calculus - a real numbers PCF, as it were. Part of this research program also has resulted in algorithms for exact real arithmetic, which are notable not only for their efficiency, but also for the fact that they are incremental. If it is later decided that a more accuracy is needed for a computation that already was completed, then the computation can be resumed where it left off, rather than having to recompute the quantity from the start. See ENTCS 6 for more details here.
  6. Work at Tulane in this area has centered on the PhD thesis of Keye Martin, who is working under the direction of the Principal Investigator. Mr. Martin's approach to computational models incorporates the notion of a measurement function on a domain, which is a Scott continuous map from the domain to the non-negative reals ordered under the greater-than-or-equal-to order. Additional assumptions are needed of this function, including the fact that it induces the Scott topology "near the top" of the domain, and that the points that have measure 0 are among the maximal elements of the domain. There are many examples of such situations, including lists over a fixed set, with the length of the list as the measurement, and the closed, bounded intervals of real numbers, ordered by reverse inclusion and with the length of the interval as the measurement function. In both these cases (and, in fact, in most cases) the measurement function actually induces the Scott topology on the whole domain, rather than just near the top. This approach provides a uniform setting in which one can analyze both

    Mr. Martin's results include showing that a topological space can be modeled as the set of maximal elements of a continuous poset if and only if it is a metric space, and that complete metric spaces arise exactly as the maximal elements of continuous domains. He also has a fixed point theorem for partial maps - it should be noted that these maps need not be continuous, or even monotone. They only need to satisfy the property that their composition with the measurement function is continuous. This reflects the novel character of his approach, which is why it applies to such algorithms as searching and sorting algorithms, and to the bisection algorithm for finding roots of continuous selfmaps of the reals.

     Mr. Martin also has developed the notion of a derivative of a selfmap of a domain with measurement. For a selfmap f of the reals, one can induce a selfmap F of the compact intervals, and F has domain-theoretic derivative at each maximal element {x} of the domain of intervals for which f is differentiable at x, and F's derivative at {x} is equal to the absolute value of the derivative of f at x, for each real number x. This work allows one to define the rate of convergence of an algorithm which generalizes the usual notion from numerical analysis. It also can be used to analyze the number of iterations an algorithm takes to get within epsilon accuracy of its limiting value.

     We are investigating applications of these results as a theoretical basis for work of T. Peters (University of Connecticut) which is aimed at resolving discrepancies between the theoretical structure of objects such as aircraft and their implementation with computer-aided design and manufacturing. Professor Peters has been collaborating with Pratt & Whitney and with Boeing in an effort to better understand and analyze the inconsistencies between the representations of objects designed and manufactured using CAD/CAM and other computer-based technologies, and their theoretically precise structure.

References
  1. Abramsky, S. and A. Jung, Domain theory, Handbook of Computer Science and Logic 3, Clarendon Press (1995).
  2. Mislove, M. W., Full abstraction and recursion, Theoretical Computer Science 151 (1995), 207 - 256 (with F. J. Oles). Abstract.
  3. Smyth, M. B., Power domains and predicate transformers: a topological view, Lecture Notes in Computer Science 54 (1983), Springer-Verlag, pp.~662--676..

Transitions and DOD Interactions.

 


Software and Hardware Prototypes.

 


List of Publications.

 

  1. Mislove, M. W., Topology, domain theory and theoretical computer science, Topology and Its Applications, to appear, 55pp. Abstract.
  2. Mislove, M., Using duality to solve domain equations, Electronic Notes in Theoretical Computer Science 9 (1997) (with S. Brookes). http://www.elsevier.nl/locate/entcs/volume6.html.
  3. Mislove, M., Bicontinuous function spaces, Research Report (with Michael Huth and Reinhold Heckmann).
  4. Mislove, M. W., editor, Proceedings of the Twelfth Conference on the Mathematical Foundations of Programming Semantics, Electronic Notes in Theoretical Computer Science 9 (1997) (with S. Brookes). http://www.elsevier.nl/locate/entcs/volume6.html.

Invited and Contributed Presentations.

 

  1. Using duality to solve domain equations, MFPS 12, Carnegie-Mellon University, March, 1997
  2. Applications of domain theory, First US-Brazil Workshop on the Formal Foundations of Software Systems, Catholic University, Rio de Janeiro, Brazil, May, 1997.
  3. Generalizing domain theory, École Normale Supérieur, Paris, June, 1997.
  4. Lectures on Domain Theory, A one day course for PhD students at École Normale Supérieur, Cachan, France, June, 1997.
  5. A computational notion of model, Second Comprox Workshop, University of Birmingham, England, September, 1997 (given by Keye Martin).
  6. Applications of domain theory, Second US-Brazil Workshop on the Formal Foundations of Software Systems, Tulane University, New Orleans, November, 1997.

Honors, Prizes or Awards Received.

 

  1. Professeur Inviteè, Universitè de Paris 7, June, 1997.
  2. Awarded Astor Visiting Lectureship, University of Oxford, England, 1998.
  3. Invited to address first annual ETAPS conference, Lisbon, Portugal, March, 1998.
Service to Profession:
  1. Co-chairman, MFPS 13, Carnegie-Mellon University, March, 1997 (with Steve Brookes).
  2. Co-organizer, Second US-Brazil Workshop on the Formal Foundations of Software Systems, Sponsored by NSF and CNPq, Tulane University, New Orleans, November, 1997 (with Rance Cleaveland and Phil Mulry).

Project Personnel Promotions.

 


Project Staff.

 

  1. Name: Dr Michael W. Mislove

URLs.

 

  1. Report on month-long visit to the Université de Paris 7, June, 1997.
  2. EOYL FY96
  3. QUAD FY96
  4. EOYL FY95
  5. QUAD FY95
  6. EOYL FY94

Keywords.

 

  1. Semantics of Nondeterminism.
  2. Concurrency and Synchronization.
  3. Computational models.
  4. Domain theory.
  5. Non-well-founded Set Theory.

Business Office

 


Expenditures

 

  1. Est. FY97: 98%
  2. FY96: 100%
  3. FY95: 100%
  4. FY94: 100%
  5. FY93: 100%

Current and Former Students

 

    Present students:
  1. Name: Mr. Jeffrey Seifert
  2. Name: Mr. Keye Martin
  3. Name: Mr. Steven Shalit
  4. Former student:
  5. Name: Dr. Michael Huth

Book Plans

 


Sabbatical Plans

 I will be on sabbatical during the Spring, 1998 term. My plans include three trips abroad. These will include:


Related Research

 

  1. Information about Mathematical Foundations of Programming Semantics conference series.
  2. Tulane Computer Science Archive
  3. Imperial College Collection
  4. Electronic Notes in Theoretical Computer Science home page.

History