Towards a semantics for concurrent MetateM

  • Michael Fisher
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 897)


Concurrent MetateM is a programming language based on the notion of concurrent, communicating objects, where each object directly executes a specification given in temporal logic, and communicates with other objects using asynchronous broadcast message-passing. Thus, Concurrent MetateM represents a combination of the direct execution of temporal specifications, together with a novel model of concurrent computation. In contrast to the notions of predicates as processes and stream parallelism seen in concurrent logic languages, Concurrent MetateM represents a more coarse-grained approach, where an object consists of a set of logical rales and communication is achieved by the evaluation of certain types of predicate. Representing concurrent systems as groups of such objects provides a powerful tool for modelling complex reactive systems. Being based upon executable temporal logic, objects in isolation have an intuitive semantics. However, the addition of both operational constraints upon the object's execution and global constraints provided by the model of concurrency and communication, complicates the overall semantics of networks of objects. It is this, more complex, semantics that we address here, where a basis for the full semantics of Concurrent MetateM is provided.


Temporal Logic Individual Object Concurrent System Execution Step Message Queue 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    G. Agha. Actors — A Model for Concurrent Computation in Distributed Systems. MIT Press, 1986.Google Scholar
  2. 2.
    G. Andrews. Paradigms for Process Interaction in Distributed Programs. ACM Computing Surveys, 23(1):49–90, March 1991.Google Scholar
  3. 3.
    H. Bal, J. Steiner, and A. Tanenbaum. Programming Languages for Distributed Computing Systems. ACM Computing Surveys, 21(3):261–322, September 1989.Google Scholar
  4. 4.
    H. Barringer, M. Fisher, D. Gabbay, G. Gough, and R. Owens. MetateM: A Framework for Programming in Temporal Logic. In Proceedings of REX Workshop on Stepwise Refinement of Distributed Systems: Models, Formalisms, Correctness, Mook, Netherlands, June 1989. (Published in Lecture Notes in Computer Science, volume 430, Springer Verlag).Google Scholar
  5. 5.
    H. Barringer, R. Kuiper, and A. Pnueli. A Really Abstract Concurrent Model and its Temporal Logic. In Proceedings of the Thirteenth ACM Symposium on the Principles of Programming Languages, St. Petersberg Beach, Florida, January 1986.Google Scholar
  6. 6.
    K. Birman and T. Joseph. Reliable Communication in the Presence of Failures. ACM Transactions on Computer Systems, 5(1):47–76, February 1987.Google Scholar
  7. 7.
    K. Birman. The Process Group Approach to Reliable Distributed Computing. Techanical Report TR91-1216, Department of Computer Science, Cornell University, July 1991.Google Scholar
  8. 8.
    A. Borg, J. Baumbach, and S. Glazer. A Message System Supporting Fault Tolerance. In Proceedings of the Ninth ACM Symposium on Operating System Principles, New Hampshire, October 1983. ACM. (In ACM Operating Systems Review, vol. 17, no. 5).Google Scholar
  9. 9.
    E. A. Emerson. Temporal and Modal Logic. In J. van Leeuwen, editor, Handbook of Theoretical Computer Science. Elsevier, 1990.Google Scholar
  10. 10.
    M. Fisher. A Survey of Concurrent MetateM — The Language and its Applications. In First International Conference on Temporal Logic (ICTL), July 1994.Google Scholar
  11. 11.
    M. Fisher and R. Owens. From the Past to the Future: Executing Temporal Logic Programs. In Proceedings of Logic Programming and Automated Reasoning, St. Petersberg, Russia, July 1992. (Published in Lecture Notes in Computer Science, volume 624, Springer-Verlag)Google Scholar
  12. 12.
    M. Fisher and M. Wooldridge. A Logical Approach to the Representation of Societies of Agents. In Proceedings of Second International Workshop on Simulating Societies (SimSoc), Certosa di Pontignano, Siena, Italy, July 1993.Google Scholar
  13. 13.
    M. Fisher. A Normal Form for First-Order Temporal Formulae. In Proceedings of Eleventh International Conference on Automated Deduction (CADE), Saratoga Springs, New York, June 1992. (Published in Lecture Notes in Computer Science, volume 607, Springer-Verlag)Google Scholar
  14. 14.
    M. Fisher. Concurrent METATEM — A Language for Modeling Reactive Systems. In Parallel Architectures and Languages, Europe (PARLE), Munich, Germany, June 1993. Springer-Verlag.Google Scholar
  15. 15.
    D. Gabbay. Declarative Past and Imperative Future: Executable Temporal Logic for Interactive Systems. In B. Banieqbal, H. Barringer, and A. Pnueli, editors, Proceedings of Colloquium on Temporal Logic in Specification, Altrincham, U.K., 1987. (Published in Lecture Notes in Computer Science, volume 398, Springer-Verlag).Google Scholar
  16. 16.
    D. Harel and A. Pnueli. On the Development of Reactive Systems. Technical Report CS85-02, Department of Applied Mathematics, The Weizmann Institute of Science, Revohot, Israel, January 1985.Google Scholar
  17. 17.
    C. Hewitt. Control Structure as Patterns of Passing Messages. In P. H. Winston and R. H. Brown, editors, Artificial Intelligence: An MIT Perspective (Volume 2). MIT Press, 1979.Google Scholar
  18. 18.
    K. Kahn, E. Tribble, M. Miller, and D. Bobrow. Vulcan: Logical Concurrent Objects. In B. Shriver and P. Wegner, editors, Research Directions in Object-Oriented Programming. MIT Press, 1987.Google Scholar
  19. 19.
    H. Lieberman. Concurrent Object-Oriented Programming in Act 1. In A. Yonezawa and M. Tokoro, editors, Object-Oriented Concurrent Programming. MIT Press, 1986.Google Scholar
  20. 20.
    Z. Manna and A. Pnueli. The Temporal Logic of Reactive and Concurrent Systems: Specification. Springer-Verlag, New York, 1992.Google Scholar
  21. 21.
    T. Maruichi, M. Ichikawa, and M. Tokoro. Modelling Autonomous Agents and their Groups. In Y. Demazeau and J. P. Muller, editors, Decentralized AI 2 — Proceedings of the 2 nd European Workshop on Modelling Autonomous Agents and Multi-Agent Worlds (MAAMAW '90). Elsevier/North Holland, 1991.Google Scholar
  22. 22.
    A. Pnueli. Applications of Temporal Logic to the Specification and Verification of Reactive Systems: A Survey of Current Trends. Lecture Notes in Computer Science, 224, August 1986.Google Scholar
  23. 23.
    K. V. S. Prasad. A Calculus of Broadcasting Systems. In S. Abramsky and T. Maibaum, editors, Proceedings of the International Joint Conference on Theory and Practice of Software Development (TAPSOFT), Brighton, U.K., April 1991. (Published in Lecture Notes in Computer Science, volume 493, Springer Verlag).Google Scholar
  24. 24.
    E. Shapiro and A. Takeuchi. Object Oriented Programming in Concurrent Prolog. In E. Shapiro, editor, Concurrent Prolog-Collected Papers, chapter 29. MIT Press, 1987.Google Scholar
  25. 25.
    R. Strom and S. Yemini. Optimistic Recovery in Distributed Systems. ACM Transactions on Computer Systems, 3(3):204–226, August 1985.Google Scholar
  26. 26.
    M. Wooldridge. This is MyWorld: The Logic of an Agent-Oriented Testbed for DAI. In M. Wooldridge and N. R. Jennings, editors, Intelligent Agents — Proceedings of the 1994 Workshop on Agent Theories, Architectures, and Languages, Springer-Verlag, 1995.Google Scholar
  27. 27.
    A. Yonezawa, editor. ABCL: An Object-Oriented Concurrent System. MIT Press, 1990.Google Scholar
  28. 28.
    A. Yonezawa and M. Tokoro. Object-Oriented Concurrent Programming. In A. Yonezawa and M. Tokoro, editors, Object-Oriented Concurrent Programming. MIT Press, 1986.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1995

Authors and Affiliations

  • Michael Fisher

There are no affiliations available

Personalised recommendations