Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
article
Free access

CCAL: an interpreted language for experimentation in concurrent control

Published: 01 July 1987 Publication History

Abstract

Concurrent Control Abstraction Language, CCAL, is an interpreted language which provides no particular control regime to the user. CCAL instead supports five primitive operations which manipulate an abstract model of inter-procedural control. This model is intrinsically concurrent, and the user is allowed to construct high-level concurrent control operations from the primitives (hence, control abstraction). The primary use of CCAL is as a vehicle by which rapid prototyping of application specific control forms may be done and as a tool for the construction and evaluation of novel control forms, especially control forms for highly concurrent and distributed systems. The CCAL interpreter is implemented as a distributed program on a network of Vaxen and Sun-3 workstations under 4.2bsd and 4.3bsd Unix1. CCAL programs appear as multi-process programs in a shared memory system. Both true and apparent concurrency are possible. This paper describes the control abstraction facilities offered by the CCAL interpreter, its use, and implementation strategies in the distributed environment.

References

[1]
[Coo84] E. C. Cooper. Replicated procedure call. In Proc. Third Annual ACM Symp. on Principles of Distributed Computing, pages 220-232, 1984.
[2]
[DFv83] E. W. Dijkstra, W. H. J. Feijen, and A. J. M. vanGasteren. Derivation of a termination detection algorithm for distributed computations. Information Processing Letters, 16(5):217-219, 1983.
[3]
[Fis70] D. Fisher. Control structures for programming languages. PhD thesis, Department of Computer Science, Carnegie-Mellon University, 1970.
[4]
[HG78] D. R. Hanson and R. E. Griswold. The SL5 procedure mechanism. Communications of the ACM, 21(5):392-400, 1978.
[5]
[Hil83] P. Hilfinger. Abstraction mechanisms and language design. The MIT Press. 1983.
[6]
[KQ84] J. P. Kearns and D. Quammen. An efficient evaluation stack for ada tasking programs. In IEEE Computer Society 1984 Conference on Ada Applications and Environments , pages 33-40, 1984.
[7]
[KS83] J. P. Kearns and M. L. Soffa. The implementation of retention in a coroutine environment. Acta Informatica, 19:221-233. 1983.
[8]
[Lew79] B. Lewis. Sequential control structure abstractions for programming languages. Technical Report 79-10-02, Department of Computer Science, University of Washington, 1979.
[9]
[Qua86] D. Quammen. Stack-based implementations of concurrent high level languages. PhD thesis, Department of Computer Science, University of Pittsburgh, 1986.
[10]
[RA81] G. Ricart and A. K. Agrawala. An optimal algorithm for mutual exclusion in computer networks. Communications of the ACM, 24(1):9-17, 1981.
[11]
[THLZ77] L. Travis, M. Honda, R. LeBlanc, and S. Zeigler. Design rationale for TELOS, a Pascal-based AI language. In Proc. of the Symp. on Artificial Intelligence and Programming Languages, pages 67-76, 1977. (Also published as ACM SIGPLAN Notices, Vol. 12(8).).
[12]
[Tur83] F. Turini. Abstractions of control environments BIT, 23:21-35, 1983.
[13]
[Tur84] F. Turini. Magma2: a language oriented towards experiments in control. ACM Transactions on Programming Languages and Systems, 6(4):468-486, 1984.
[14]
[WD71] A. Wang and Ole-J. Dahl. Coroutine sequencing in a block-structured environment. BIT, 11:425-449, 1971.

Cited By

View all
  • (2013)Efficient Ada multitasking on a RISC register window architecture6th Computers in Aerospace VI Conference10.2514/6.1987-2782Online publication date: 18-Feb-2013
  • (2001)Compiler to interpreter: experiences with a distributed programming languageSoftware: Practice and Experience10.1002/spe.39331:9(893-909)Online publication date: 2-May-2001
  • (1990)Key references in distributed computer systems 1959–1989Distributed Computer Systems10.1016/B978-0-408-02938-4.50016-4(193-295)Online publication date: 1990
  • Show More Cited By

Index Terms

  1. CCAL: an interpreted language for experimentation in concurrent control

                      Recommendations

                      Comments

                      Information & Contributors

                      Information

                      Published In

                      cover image ACM SIGPLAN Notices
                      ACM SIGPLAN Notices  Volume 22, Issue 7
                      July 1987
                      291 pages
                      ISSN:0362-1340
                      EISSN:1558-1160
                      DOI:10.1145/960114
                      Issue’s Table of Contents
                      • cover image ACM Conferences
                        SIGPLAN '87: Papers of the Symposium on Interpreters and interpretive techniques
                        July 1987
                        291 pages
                        ISBN:0897912357
                        DOI:10.1145/29650
                      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

                      Publisher

                      Association for Computing Machinery

                      New York, NY, United States

                      Publication History

                      Published: 01 July 1987
                      Published in SIGPLAN Volume 22, Issue 7

                      Check for updates

                      Qualifiers

                      • Article

                      Contributors

                      Other Metrics

                      Bibliometrics & Citations

                      Bibliometrics

                      Article Metrics

                      • Downloads (Last 12 months)67
                      • Downloads (Last 6 weeks)19
                      Reflects downloads up to 17 Oct 2024

                      Other Metrics

                      Citations

                      Cited By

                      View all
                      • (2013)Efficient Ada multitasking on a RISC register window architecture6th Computers in Aerospace VI Conference10.2514/6.1987-2782Online publication date: 18-Feb-2013
                      • (2001)Compiler to interpreter: experiences with a distributed programming languageSoftware: Practice and Experience10.1002/spe.39331:9(893-909)Online publication date: 2-May-2001
                      • (1990)Key references in distributed computer systems 1959–1989Distributed Computer Systems10.1016/B978-0-408-02938-4.50016-4(193-295)Online publication date: 1990
                      • (2001)Compiler to interpreterSoftware—Practice & Experience10.5555/3129401.312940631:9(893-909)Online publication date: 25-Jul-2001
                      • (2001)Compiler to interpreter: experiences with a distributed programming languageSoftware: Practice and Experience10.1002/spe.39331:9(893-909)Online publication date: 2-May-2001

                      View Options

                      View options

                      PDF

                      View or Download as a PDF file.

                      PDF

                      eReader

                      View online with eReader.

                      eReader

                      Get Access

                      Login options

                      Media

                      Figures

                      Other

                      Tables

                      Share

                      Share

                      Share this Publication link

                      Share on social media