Programming with Software Components: From Globals to URIs, Classes to Interfaces
presentation
Staehli, Richard: Simula Research Laboratory
Monday 4 pm to 4:45 pm
Abstract: Component-Based Software Engineering (CBSE) promises to simplify the construction of high-quality applications through composition of off-the shelf components. This is arguably a fulfillment of the original promise of object-oriented programming; that objects may encapsulate arbitrary implementations.
Surprisingly, the Smalltalk community lags behind the industry in advancing CBSE technology. The idea of composing a computing system from components that may encapsulate heterogeneous programming language and runtime environment is at odds with Smalltalk's single image heritage. Further, todays component technology, such as CCM, force a programmer to choose when to use heavyweight components and when to use lightweight local class instances.
Our investigation into a Quality-of-Service (QoS) -aware component architecture suggests a way to improve Smalltalk programming by separating concerns of functional composition from concerns of component implementation. In this presentation I show how Smalltalk source code may be made more robust by replacing a global reference to an implementation class with a Universal Reference Identifier (URI) for a component interface type. This allows the implementation of this component to be determined at compile time, deployment time, or even upgraded dynamically at runtime without violating the semantics of the source code.
Bio: Richard Staehli has worked the past three years architecting and prototyping a Quality-of-Service (QoS) -aware component architecture in Smalltalk for Simula Research Laboratory in Oslo, Norway. He received a Ph.D. in 1996 from The Oregon Graduate Institute of Science & Technology and has since worked on video data types for Informix Software, on a CORBA application server for Oracle Corporation and as a senior technical consultant for the interactive web services firm AGENCY.COM .