EPL(ID:1079/epl003)

Eden Programming Language - concurrent 


Eden Programming Language. U Washington. Based on Concurrent Euclid and used with the Eden distributed OS. Influenced Emerald and Distributed Smalltalk.


Structures:
Related languages
Concurrent Euclid => EPL   Influence
EPL => Distributed Smalltalk   Influence
EPL => Emerald   Successor
EPL => LIMP   Influence

References:
  • May, M. D.; Taylor, R. J. B.; and Whitby-Strevens, C. "EPL: An Experimental Language for Distributed Computing", pp 69-71 view details
          in Trends and applications: 1978 distributed processing, National Bureau of Standards, Washington, B.C., 1978 view details
  • Hunt, J. et al, "Messages in Typed Languages" view details Abstract: Messages are increasingly being used for interprocess communication. The problem of introducing messages into typed languages is considered, and a solution in terms of typed message-channels is presented. Our particular treatment permits dynamic connexions, including secure linking of separately-compiled programmes, and also features nondeterminacy, thereby enabling automatic resource-scheduling without monitors. Implementation considerations are discussed, and a comparison with the work of other authors is given.
    Extract: Intro
    Since the construction of the first real-time systems, the notion of processes as a means of structuring programmes has become well-established. Early "real-time" languages (e.g. Coral 66 and RTL/2} concentrated primarily on generating "efficient" (i.e. fast) code; whilst later languages (e.g. Pearl, Procol, Progress) included constructs for process management, scheduling, communication and synchronisation. Traditionally, communication is by means of shared variables or data areas: and countless papers have been written on various methods of achieving synchronisation so as to reduce the frequency of errors. Thus more recently we have Concurrent Pascal and Modula in which monitors have been introduced to automate some of the synchronisation.

    With the advent of distributed systems, more attention has been devoted to killing the birds Communication and Synchronisation with the stone of message-passing. This concept, if not palaeolithic, is not new: but hitherto the method has often been disregarded, owing to the relative slowness of the resulting code. Jackson /18/, for example, advocates the technique for the design of systems, but not for the actual implementation. However, this situation is changing. Messages have been infiltrating operating systems for some years, e.g. [...] and a high-level language (EPL) has been produced for the implementation of systems of processes communicating by means of messages.

    EPL is based on BCPL, and is therefore typeless. Typeless languages are unable to provide the security of typed languages, and so will not be considered suitable for many applications. If messages are to be more-widely used, it therefore seems desirable to consider how they may be incorporated into typed languages. This is the problem we address in this paper.
          in SIGPLAN Notices 14(01) January 1979 view details
  • Sproull, R. F. review of May et al (1978) view details Extract: Review
    This paper gives a very brief description of EPL, a language for distributed computing being developed at the University of Warwick. The language encourages hierarchical organizations of processes (ACTORS) that communicate with messages. It is lamentable that the paper includes no reference to more extensive information on EPL.
    The interested reader may benefit from some additional references not included in the paper. The style of programming with classes and instances grew from SIMULA [1] and more recently Smalltalk [2,3] and ACTORS [4]. Techniques similar to those in EPL that use messages to communicate with and synchronize distributed processes are described in [5,6].
    R. F. Sproull, Pittsburgh, Pa.

    REFERENCES
    [1] DAHL, O. J.; AND NYGAARD, K. "Class and subclass declarations," in Simulation programming languages, J. N. Buxton (Ed.), North-Holland Publ. Co., Amsterdam, 1968, 158-174.
    [2] GOLDBERG, A., (Eo.), Smalltalk-72 instruction manual, Xerox Palo Alto Research Center.
    [3] INGALLS, D. H., "The Smalltalk-76 programming system design and implementation," in 5th Annual ACM symposium on principles of programming languages, (Tuscon, Ariz, Jan. 23-25, 1978), ACM, New York, 1978.
    [4] HEWITT, C. E.; AND SMITH, B. "Towards a programming apprentice," IEEE Trans. Softw. Eng. SE-1, 1 (March 1975), 26-25.
    [5] HOARE, C. A. R. "Communicating sequential processes," Commun, ACM, 21, 8 (Aug. 1978), 666.
    [6] FELDMAN, J. A. A programming methodology for distributed computing, TR9, Univ. of Rochester, Sept. 1976, to appear in Commun. ACM.

          in ACM Computing Reviews 20(06) June 1979 view details
  • Black, A. et al, "EPL Programmer's Guide", U Washington June 1984. view details
          in ACM Computing Reviews 20(06) June 1979 view details
  • Skillicorn, David B. and Talia, Domenico "Models and languages for parallel computation" pp123-169 view details
          in [ACM] ACM Computing Surveys (CSUR) 30(2) June 1998 view details