Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
Skip header Section
Programming distributed systemsJanuary 1990
Publisher:
  • Silicon Press
  • 25 Beverly Road Summit, NJ
  • United States
ISBN:978-0-929306-05-6
Published:03 January 1990
Pages:
282
Skip Bibliometrics Section
Bibliometrics
Abstract

No abstract available.

Cited By

  1. Cao J, Liu Y, Xie L, Mao B and Zhang K (2004). The design and implementation of a runtime system for graph-oriented parallel and distributed programming, Journal of Systems and Software, 72:3, (389-399), Online publication date: 1-Aug-2004.
  2. Juhász S and Charaf H Execution time prediction for parallel data processing tasks Proceedings of the 10th Euromicro conference on Parallel, distributed and network-based processing, (31-38)
  3. ACM
    Hasselbring W (2000). Programming languages and systems for prototyping concurrent applications, ACM Computing Surveys (CSUR), 32:1, (43-79), Online publication date: 1-Mar-2000.
  4. Bertrand F and Augeraud M (1999). BDL, IEEE Transactions on Software Engineering, 25:3, (347-362), Online publication date: 1-May-1999.
  5. Waters R, Anderson D and Schwenke D Design of the Interactive Sharing Transfer Protocol Proceedings of the 6th Workshop on Enabling Technologies on Infrastructure for Collaborative Enterprises, (140-147)
  6. ACM
    Ben Hassen S, Athanasiu I and Bal H (1996). A flexible operation execution model for shared distributed objects, ACM SIGPLAN Notices, 31:10, (30-50), Online publication date: 1-Oct-1996.
  7. ACM
    Ben Hassen S, Athanasiu I and Bal H A flexible operation execution model for shared distributed objects Proceedings of the 11th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, (30-50)
  8. ACM
    Eskicioglu M (1996). A comprehensive bibliography of distributed shared memory, ACM SIGOPS Operating Systems Review, 30:1, (71-96), Online publication date: 1-Jan-1996.
  9. ACM
    Bal H and Allis V Parallel retrograde analysis on a distributed system Proceedings of the 1995 ACM/IEEE conference on Supercomputing, (73-es)
  10. ACM
    Ledru P (1995). Protected types with entry barriers depending on parameters of the entries, ACM SIGAda Ada Letters, XV:4, (46-49), Online publication date: 1-Jul-1995.
  11. ACM
    Bal H (1995). Comparing data synchronization in Ada 9X and Orca, ACM SIGAda Ada Letters, XV:1, (50-63), Online publication date: 1-Jan-1995.
  12. ACM
    Rühl T and Bal H The nested object model Proceedings of the 6th workshop on ACM SIGOPS European workshop: Matching operating systems to application needs, (134-137)
  13. ACM
    van Dorn L and Tanenbaum A Using active messages to support shared objects Proceedings of the 6th workshop on ACM SIGOPS European workshop: Matching operating systems to application needs, (112-116)
  14. ACM
    Bal H and Kaashoek M (2019). Object distribution in Orca using Compile-Time and Run-Time techniques, ACM SIGPLAN Notices, 28:10, (162-177), Online publication date: 1-Oct-1993.
  15. ACM
    Bal H and Kaashoek M Object distribution in Orca using Compile-Time and Run-Time techniques Proceedings of the eighth annual conference on Object-oriented programming systems, languages, and applications, (162-177)
  16. Bal H, Kaashoek M and Tanenbaum A (2019). Orca, IEEE Transactions on Software Engineering, 18:3, (190-205), Online publication date: 1-Mar-1992.
  17. ACM
    Bal H (1990). Orca, ACM SIGPLAN Notices, 25:5, (17-24), Online publication date: 1-May-1990.
Contributors
  • Free University Amsterdam

Reviews

John S. Edwards

Several parts of this work, which grew from the author's Ph.D. thesis submitted to Vrije University, have been published in such places as the ACM Computing Surveys, Proceedings of the AFIPS National Computer Conference 1987, Proceedings of the IEEE Computer Society 1988 International Conference on Computer Languages, and Proceedings of the USENIX Workshop on Experiences with Building Distributed and Multiprocessor Systems. The book's basic purpose is to relate the results of Bal's research, which defines a new model for implementing applications of distributed systems called the shared data-object model. The book fulfills this purpose and also describes the entire field of distributed programming, including discussions of many languages. The major goal of the book is to ease the implementation of distributed systems. Whether Orca will ever be widely used is secondary to the insights into distributed problem solving. As the state of the art moves forward, the capabilities of programs for distributed systems will continue to evolve. To date, most of the work has been on specialized networks of processors for (usually) real-time distributed applications such as telecommunications switching systems. In these machines, most applications are ad hoc and proprietary. This book represents a contribution to the field. The book begins by defining a logically distributed software system as “consist[ing] of multiple software processes that communicate by explicit message passing.” This definition excludes systems in which the software processes communicate through shared data. The work covers combinations of logically and physically distributed systems. The author describes the troubles encountered when the distributed system was based on an existing client-server operating system called Amoeba, also developed at Vrije University. While Amoeba was readily available and was used to support early investigations, the author discovered several limitations while attempting to develop a true distributed system capability. In an attempt to determine the state of the art, the discussion turns to several existing languages for programming distributed systems. Bal examines them with six objectives in mind: expressiveness, simple semantics, type security, efficiency, readability, and portability. He considered all the sample languages with respect to a general classification schema where the address space was either shared or not. The distributed address space category was further divided among several message communication styles, such as synchronous or asynchronous message passing. The shared address space category was divided into parallel functional languages, parallel logic languages, and languages with distributed data structures. Each of the languages examined had shortcomings when evaluated against the predetermined goals. Some, like Ada, were not designed with parallel processes in mind, and many were designed for implementing distributed services rather than for general distributed applications programming. Finally, “existing languages for distributed programming also have other shortcomings, like poor integration of sequential and distributed constructs, high complexity, and lack of type security. Although these issues are not directly related to distributed programming, they are important and need more attention.” With these observations in mind, the author embarks on the main portion of the work—the design of a new language, Orca, based on the shared data model. This model hides the physical communication from the user. Instead, the user can allow different parts of the program to communicate through logically shared data objects. The idea behind the shared data object is to allow the language implementation to manage the actual physical replication of data among the various processors, while the programmer is unaware of the replication. Fault tolerance is also handled at a level transparent to the user and is not discussed directly. “Orca is a procedural, strongly typed language. Its statements and expressions are fairly conventional…it supports records, unions, dynamic arrays, ser bags, and general graphs.” The remainder of the book is devoted to implementation details and examples of Orca programs. The book includes an extensive bibliography, an adequate index, and a set of short appendices giving several examples of classic programs in Orca. It seems to be intended to record a research direction and point toward further effort. The book was pre pared with computer support and thus the typography is flawless.

Access critical reviews of Computing literature here

Become a reviewer for Computing Reviews.

Recommendations