Advertisement

The typeset-10 message exchange facility a case study in systemic design

  • Michael J. Spier
  • Richard L. Hill
  • Timothy J. Stein
  • Daniel Bricklin
Session 4: System Control
Part of the Lecture Notes in Computer Science book series (LNCS, volume 24)

Abstract

This paper describes the design considerations which led to the successful implementation of an interprocess communication mechanism, named the Message Exchange Facility (MX). The software implemented Message Exchange Facility provides services analogous to those of the hardware bus. It is the central link that binds a collection of synergistic asynchronous processes into a single systemic entity, the Digital Equipment Corporation's TYPESET-10 computerized newspaper production system. The peculiar functional constraints and requirements — dictated by TYPESET-10's specialized runtime environment — confronted us with a very difficult, and at the same time highly challenging, design problem. In this paper, the emphasis is placed on the decision making process leading from the statement of the problem to a specific technical solution.

Keywords

News Story Digital Equipment Corporation JUSTIF Process Active Message Operating System Principle 
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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [1]
    R. M. Balzer, Ports — A Method for Dynamic Interprogram and Job Control, in Proc. 1971 SJCC, pp. 485–490.Google Scholar
  2. [2]
    A. J. Bernstein, G. D. Detlefsen, R. H. Kerr, Process Control and Communication, in Proc. 2nd ACM Symposium on Operating Systems Principles, Princeton University, October 1969, pp. 60–66.Google Scholar
  3. [3]
    C. Betourne, et al, Process Management and Resource Sharing in the Multiaccess System ESOPE, in Comm. of the ACM, 13 12(1970), pp. 727–733.Google Scholar
  4. [4]
    P. Brinch Hansen, The Nucleus of a Multiprogramming System, in Comm. of the ACM, 13 4(1970), pp. 238–242.Google Scholar
  5. [5]
    P. Brinch Hansen, Structured Multiporgramming, in Comm. of the ACM, 15 7(1972), pp. 574–578.Google Scholar
  6. [6]
    P. Brinch Hansen, A Comparison of Two Synchronizing Concepts, in Acta Informatica, 1 3(1972), pp. 190–199.Google Scholar
  7. [7]
    P. Brinch Hansen, A Reply to Comments on ‘A Comparison of Two Synchronizing Concepts', in Acta Informatica, 2 2(1973), pp. 189–190.Google Scholar
  8. [8]
    R. H. Campbell, The Specification of Process Synchronization by Path Expressions, in Proc. Symposium on the Theoretical and Practical Aspects of Operating Systems, IRIA, Rocquencourt (France), April 1974, pp. 93–106.Google Scholar
  9. [9]
    J. M. Chambers, A User Controlled Synchronization Method, in Operating Systems Review, ACM SIGOPS 7 2(1973), pp. 16–25.Google Scholar
  10. [10]
    C. Carr, S. Crocker, V. Cerf, Host/Host Communication Protocol in the ARPA Network, in Proc. 1970 SJCC, pp. 589–597.Google Scholar
  11. [11]
    P. J. Courtois, F. Heymans, D. L. Parnas, Concurrent Control with ‘Readers’ and ‘writers', in Comm. of the ACM, 14 10(1971), pp. 667–668.Google Scholar
  12. [12]
    P. J. Courtois, F. Heymans, D. L. Parnas, Comments on ‘A Comparison of Two Synchronizing Concepts', in Acta Informatica, 1 4(1972), pp. 375–376.Google Scholar
  13. [13]
    Digital Equipment Corporation, The PDP10 Assembly Language Handbook, Maynard, Massachusetts, (1974).Google Scholar
  14. [14]
    E. W. Dijkstra, Cooperating Sequential Processes, in Programming Languages, F. Genuys (ed.), Academic Press (1968), pp. 43–112.Google Scholar
  15. [15]
    E. W. Dijkstra, Information Streams Sharing a Finite Buffer, in Information Processing Letters, 1 (1972), pp. 179–180.Google Scholar
  16. [16]
    P. Gilbert, J. W. Chandler, Interference Between Communicating Parallel Processes, in Comm, of the ACM, 15 6(1972), pp. 427–437.Google Scholar
  17. [17]
    A. N. Habermann, Synchronization of Communicating Processes, in Comm of the ACM, 15 3(1972), pp. 171–176.Google Scholar
  18. [18]
    J. J. Horning, B. Randell, Process Structuring, in ACM Computing Surveys, 5 1(1973), pp.5–30.Google Scholar
  19. [19]
    J. B. Johnston, The Structure of Multiple Activity Algorithms, in Proc. 2nd ACM Symposium on Operating Systems Principles, Princeton University, October, 1969, pp. 80–82.Google Scholar
  20. [20]
    B. W. Lampson, A Scheduling Philosophy for Multiprocessing Systems, in Comm. of the ACM, 11 5(1968), pp. 347–360.Google Scholar
  21. [21]
    L. Pouzin, Network Protocols, in Proc. NATO Advanced Study Institute, University of Sussex, Brighton, England, September 1973.Google Scholar
  22. [22]
    M. J. Spier, E. I. Organick, The Multics Interprocess Communication Facility, in Proc. 2nd ACM Symposium on Operating Systems Principles, Princeton University, October 1969, pp. 83–91.Google Scholar
  23. [23]
    M. J. Spier, Process Communication Prerequisites, or the IPC-Setup Revisited, in Proc. 1973 Sagamore Conference on Parallel Processing, Syracuse University, pp. 79–88.Google Scholar
  24. [24]
    M. J. Spier, The Experimental Implementation of a Comprehensive Intermodule Communication Mechanism, in Proc. 1973 Sagamore Conference on Parallel Processing, Syracuse University, pp. 89.Google Scholar
  25. [25]
    M. J. Spier, A Critical Look at the State of our Science, in Operating Systems Review, ACM SIGOPS 8 2(1974), pp. 9–15.Google Scholar
  26. [26]
    M. J. Spier, The TYPESET-10 Codex Programmaticus, internal publication, Digital Equipment Corporation (1974).Google Scholar
  27. [27]
    M. J. Spier, Etude Systemologique de la Maitrise de Complexite, Appliquee a la Synthese des Systemes Informatiques, in preparation (1974).Google Scholar
  28. [28]
    P. G. Sorensen, Interprocess Communication in Real-Time Systems, in Proc. 4th ACM Symposium on Operating Systems Principles, T. J. Watson Research Institute, October 1973, pp. 1–7.Google Scholar
  29. [29]
    H. Vantilborgh, A. Van Lamsweerde, On an Extension of Dijkstra's Semaphore Primitives, in Structure et Programmation des Calculateurs, Seminairs, IRIA, Rocquencourt (France), (1973), pp. 31–40.Google Scholar
  30. [30]
    N. Wirth, On Multiprogramming, Machine Coding and Computer Organization, in Comm. of the ACM, 12 9(1969), pp. 489–498.Google Scholar
  31. [31]
    C. M. Wood, An Example in Synchronization of Cooperative Processes: Theory and Practice, in Operating Systems Review, ACM SIGOPS 7 3(1973), pp. 10–18.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1975

Authors and Affiliations

  • Michael J. Spier
    • 1
  • Richard L. Hill
    • 2
  • Timothy J. Stein
    • 2
  • Daniel Bricklin
    • 2
  1. 1.Software Engineering DepartmentDigital Equipment CorporationMaynard
  2. 2.TYPESET-10 Development GroupDigital Equipment CorporationMaynard

Personalised recommendations