Software Engineering Journal · 1992 · 63 citations · 15 references
ComputingComputer ScienceDistributed SystemsParallel ComputingProgramming LanguagesConcurrent ProgrammingObject-oriented DesignObject-oriented ProgrammingSoftware ArchitectureSoftware ConstructionCompositionComposition Over InheritanceMultiple InheritanceObject-oriented ArchitectureObjects
The popularity of the object-oriented programming paradigm has stimulated research into its use for parallel and distributed programming. The major issues that affect such use are concurrency control, object interfaces, binding and inheritance. In this paper, we discuss the relative merits of current solutions to these issues and describe an approach based on the use of active objects with essentially explicit interfaces and bindings, and composition as a pragmatic alternative to inheritance. The key feature of our approach is the use of a configuration language to define program structure as a set of objects and their bindings. The configuration language includes facilities for hierarchic definition of composite objects, parameterisation of objects, conditional configurations and recursive definition of objects. This separate and explicit description of program structure complements object-oriented programming. The approach is illustrated by examples from the REX environment for the development of parallel and distributed software.
15
Programming-in-the large versus programming-in-the-small
Frank DeRemer, Hans H. Kron · ACM SIGPLAN Notices · 1975 · 582 citations
Dimensions of object-based language design
Peter Wegner · 1987 · 515 citations · Full text
Concepts and paradigms of object-oriented programming
Peter Wegner · ACM SIGPLAN OOPS Messenger · 1990 · 437 citations · Full text