Title | The Power of Interoperability: Why Objects Are Inevitable |
Publication Type | Conference Paper |
Year of Publication | 2013 |
Authors | Aldrich, Jonathan |
Conference Name | Proceedings of the 2013 ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming & Software |
Publisher | ACM |
Conference Location | Indianapolis, Indiana, USA |
ISBN Number | 978-1-4503-2472-4 |
Keywords | A Language and Framework for Development of Secure Mobile Applications, CMU, frameworks, Human Behavior, interoperability, object-oriented programming, Scalability and Composability, science of security, service abstractions, SoS Lablet |
Abstract | Three years ago in this venue, Cook argued that in their essence, objects are what Reynolds called procedural data structures. His observation raises a natural question: if procedural data structures are the essence of objects, has this contributed to the empirical success of objects, and if so, how? This essay attempts to answer that question. After reviewing Cook's definition, I propose the term service abstractions to capture the essential nature of objects. This terminology emphasizes, following Kay, that objects are not primarily about representing and manipulating data, but are more about providing services in support of higher-level goals. Using examples taken from object-oriented frameworks, I illustrate the unique design leverage that service abstractions provide: the ability to define abstractions that can be extended, and whose extensions are interoperable in a first-class way. The essay argues that the form of interoperable extension supported by service abstractions is essential to modern software: many modern frameworks and ecosystems could not have been built without service abstractions. In this sense, the success of objects was not a coincidence: it was an inevitable consequence of their service abstraction nature. |
URL | http://doi.acm.org/10.1145/2509578.2514738 |
DOI | 10.1145/2509578.2514738 |
Citation Key | Aldrich:2013:PIW:2509578.2514738 |