Argus(ID:1295/arg004)
Concurrent CLU
- Country: us
- Began: 1983
- Published: 1983
- Sammet:MLT
LCS, MIT. A successor to CLU. Supports distributed programming through guardians (like monitors, but can be dynamically created) and atomic actions (indivisible activity). cobegin/coend.
People:
Related languages
| CLU |
=> |
Argus | |
Evolution of |
| SR |
=> |
Argus | |
Influence |
| Argus |
=> |
Avalon/C++ | |
Influence |
| Argus |
=> |
Avalon/Common LISP | |
Influence |
| Argus |
=> |
CSSA | |
Influence |
| Argus |
=> |
THETA | |
Influence |
References:
Liskov, B. et al "Guardians and Actions: Linguistic Support for Robust, Distributed Programs" view details
in TOPLAS 5(3) July 1983 view details
Liskov, Barbara "The Argus Language and System" view details
in Distributed Systems: Methods and Tools for Specification, An Advanced Course, April 3-12, 1984 and April 16-25, 1985 Munich. Lecture Notes in Computer Science, Vol. 190, Springer, 1985 view details
Liskov, B. "Implementation of Argus" pp111-122 view details
Abstract: Argus is a programming language and system developed to support the construction and execution of distributed programs. This paper describes the implementation of Argus, with particular emphasis on the way we implement atomic actions, because this is where Argus differs most from other implemented systems. The paper also discusses the performance of Argus. The cost of actions is quite reasonable, indicating that action systems like Argus are practical.
DOI
in Proceedings of the Eleventh Symposium on Operating Systems Principles, ACM Press, New York, 1987 view details
Liskov, B. et al. "Argus Reference Manual", TR-400, MIT/LCS, 1987 view details
Abstract: Argus is an experimental language/system designed to support the construction and execution of distributed programs. Argus is intended to support only a subset of the applications that could benefit from being implemented by a distributed program. Two properties distinguish these applications: they make use of on-line data that must remain consistent in spite of concurrency and hardware failures, and they provide services under real-time constraints that are not severe. Examples of such applications are office automation systems and banking systems. Argus is based on CLU. It is largely an extension of CLU, but there are a number of differences. Like CLU, Argus provides procedures for procedural abstraction, iterators for control abstraction, and clusters for data abstraction. In addition, Argus provides guardians that encapsulate and control access to one or more resources. Argus also provides equate modules as a convenient way to refer to constants. As in CLU, modules may be parameterized, so that a single module can define a class of related abstractions.
External link: Online at
in Proceedings of the Eleventh Symposium on Operating Systems Principles, ACM Press, New York, 1987 view details
Liskov, B.; Shrira, L. "Promises: linguistic support for efficient asynchronous procedure calls in distributed systems" pp260-267
view details
Abstract: This paper deals with the integration of an efficient asynchronous remote procedure call mechanism into a programming language. It describes a new data type called a promise that was designed to support asynchronous calls. Promises allow a caller to run in parallel with a call and to pick up the results of the call, including any exceptions it raises, in a convenient and type-safe manner. The paper also discusses efficient composition of sequences of asynchronous calls to different locations in a network.
DOI
in SIGPLAN Notices 23(07) July 1988 (Proceedings of the SIGPLAN'88 conference on Programming Language design and Implementation, June 20-24, 1988, Atlanta, Georgia, United States)
view details
Liskov, Barbara "Distributed Programming in Argus" view details
DOI
Abstract: Argus?a programming language and system developed to support the implementation and execution of distributed programs?provides mechanisms that help programmers cope with the special problems that arise in distributed programs, such as network partitions and crashes of remote nodes.
in [ACM] CACM 31(03) (Mar 1988). 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
|