Skip to main content
Log in

Inheritance on processes, exemplified on distributed termination detection

  • Published:
International Journal of Parallel Programming Aims and scope Submit manuscript

Abstract

A multiple inheritance mechanism on processes is designed and presented within the framework of a small object oriented language. Processes are described in classes, and the different action parts of a process inherited from different classes are executed in a coroutine-like style called alternation. The inheritance mechanism is a useful tool for factorizing the description of common aspects of processes. This is demonstrated within the domain of distributed programming by using the inheritance mechanism to factorize the description of distributed termination detection algorithms from the description of the distributed main computations for which termination is to be detected. A clear separation of concerns is obtained, and arbitrary combinations of termination detection algorithms and main computations can be formed. The same termination detection classes can also be used for more general purposes within distributed programming, such as detecting termination of each phase in a multi-phase main computation.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. A. Goldberg and D. Robson,Smalltalk-80, The Language and its Implementation, Addison-Wesley (1983).

  2. O. J. Dahl, B. Myhrhaug, and K. Nygaard, SIMULA Information, Common Base Language, Norwegian Computing Center (October 1970).

  3. E. W. Dijkstra, W. H. J. Feien, and A. J. M. vanGasteren, Derivation of a Termination Detection Algorithm for Distributed Computations,Information Processing Letters,16:217–219 (1980).

    Google Scholar 

  4. A. Borgida, Features of Languages for the Development of Information Systems at the Conceptual Level, IEEE Software (January 1985).

  5. A. Borgida, J. Mylopoulos, and H. K. T. Wong, Generalization/Specialization as a Basis for Software Specification, in M. L. Brodie, J. Mylopoulos, J. W. Schmidt (eds.): On Conceptual Modeling—Perspectives from Artificial Intelligence, Databases and Programming Languages, Springer Verlag, New York (1984).

    Google Scholar 

  6. J. M. Smith and D. C. P. Smith, Database Abstractions: Aggregation and Generalization,ACM Transactions on Database Systems, Vol. 2, No. 2 (June 1977).

  7. H. K. T. Wong, Design and Verification of Interactive Information Systems Using Taxis, TR CSRG-129, University of Toronto (April 1981).

  8. B. B. Kristensen, O. L. Madsen, B. M. Pedersen, and K. Nygaard, Abstraction Mechanisms in the Beta Programming Language,Proceedings of the 10th ACW Symposium on principles of Programming Languages, Austin, Texas (1983).

  9. B. B. Kristensen, O. L. Madsen, B. M. Pedersen, and K. Nygaard, Multi-sequential Execution in the Beta Programming Language,Sigplan Notices, Vol. 20, No. 4 (April 1985).

  10. A. Albano, L. Cardelli, and R. Orsini, Galileo: A Strongly-Typed, Interateractive Conceptual Language,ACM Transactions on Database Systems,10(2):230–260 (June 1985).

    Google Scholar 

  11. Rationale for the Design of the ADA Programming Language,ACM Sigplan Notices, Vol. 14, No. 6, Part B (June 1979).

  12. C. A. R. Hoare, Communicating Sequential Processes,Communications of the ACM,21(8):666–677 (August 1978).

    Google Scholar 

  13. P. B. Hansen, Distributed Processes: A Concurrent Programming Concept,Communications of the ACM,21(11):934–941 (November 1978).

    Google Scholar 

  14. N. Francez and M. Rodeh, Acheiving Distributed Termination Without Freezing,IEEE Transactions on Software Engineering,8(3):287–292 (1982).

    Google Scholar 

  15. D. Kumar, A Class of Termination Detection Algorithms for Distributed Computations,Lecture Notes in Computer Science 206:73–100.

  16. R. W. Topor, Termination Detection for Distributed Computations,Information Processing Letters,18:33–36 (1984).

    Google Scholar 

  17. K. S. Thomsen, Inheritance Used to Factorize Distributed Termination Detection Algorithms, Dept. of Computer Science, Aarhus, DAIMI PB-210 (1986).

  18. E. W. Dijkstra and C. S. Scholten, Termination Detection for Diffusing Computations,Information Processing Letters,11:1–4 (1980).

    Google Scholar 

  19. K. M. Chandy and L. Lamport, Distributed Snapshots: Determining Global States of Distributed Systems,ACM Transactions on Computer Systems,3(1):63–75 (February 1985).

    Google Scholar 

  20. R. D. Tennent, Language Design Methods Based on Semantic Principles,Acta Informatica 8:97–112 (1977).

    Google Scholar 

  21. K. S. Thomsen, Multiple Inheritance, A Structuring Mechanism for Data, Processes, and Procedures, Dept. of Computer Science, Aarhus, DAIMI PB-209 (1986).

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Thomsen, K.S. Inheritance on processes, exemplified on distributed termination detection. Int J Parallel Prog 16, 17–52 (1987). https://doi.org/10.1007/BF01408173

Download citation

  • Received:

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF01408173

Key Words

Navigation