Visible to the public The Power of Interoperability: Why Objects Are Inevitable

TitleThe Power of Interoperability: Why Objects Are Inevitable
Publication TypeConference Paper
Year of Publication2013
AuthorsAldrich, Jonathan
Conference NameProceedings of the 2013 ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming & Software
Conference LocationIndianapolis, Indiana, USA
ISBN Number978-1-4503-2472-4
KeywordsA 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
AbstractThree 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.
Citation KeyAldrich:2013:PIW:2509578.2514738