Topics of Interest

Distributed Objects for the 21st Century is a thematic workshop focusing on the latest trends in distributed object computing. We focus on the following latest trends in particular: the Internet of Things, Cloud computing and viewing software as a service. Particular topics of interest include, but are not limited to:

State-of-the-art distributed object systems. New, innovative programming abstractions, languages, calculi, models, frameworks, etc. to enable distributed object computing.

OO representations for the physical objects of the Internet of Things. The Internet of Things will be an internet of physical, everyday objects. How are we going to represent these physical objects in the digital world? What are appropriate representations and ways of interacting with such objects. This requires us to deal with issues such as miniaturisation, privacy, resource-scarceness, intermittent connectivity and low power consumption, to name but a few.

OO interfaces to RFID-technology. The Internet of Things can be thought of as a virtualization of the physical world. The main technology behind this virtualization is Radio Frequency Identification (RFID). RFID tags are small, low-cost tags that can uniquely identify billions of objects. But what is an appropriate API to help developers talk to these objects? Current APIs are little more than thin layers of abstraction on top of RFID reader device drivers. How should developers integrate the many events spawned by the presence (or even absence) of RFID tags in their applications?

OO abstractions for Pervasive and Ubiquitous Computing. Software is becoming more and more integrated in everyday objects and in mobile devices that communicate in an opportunistic and ad hoc fashion. The runtime environment formed by such devices is completely different from the environment for which most of our distributed computing technology has been designed. New approaches to modelling, designing and implementing such systems are needed.

OO abstractions for developing Software as a Service. What role can distributed object technology play in the emerging trend of providing software as a networked service (mostly, but not necessarily, as internet Web services)? Emerging object-oriented web development frameworks such as Ruby on Rails and Seaside show that OO frameworks can provide strong benefits in this area. However, under the hood of these application frameworks, an exotic assembly of technologies (like Javascript and XML) and hacks (like server push) are being used. From a conceptual point of view, there is much room for improvement in the way web applications are developed.

Combining objects with other paradigms. Distributed object computing is traditionally associated with extensions of the traditional RPC paradigm (as offered by systems like Java RMI and CORBA). RPC is a straightforward extension to local object-oriented computing that has its benefits, but also stringent limitations with respect to scalability and decoupling. While more advanced interaction paradigms such as Publish/Subscribe and Tuple Space-based systems have been developed on top of OO languages (e.g. JMS, Javaspaces), there is often extremely little integration between the underlying OO paradigm and the remote communication paradigm. We solicit any ideas on extending the OO paradigm to facilitate the integration with means of interaction other than pure message passing (such as events, pub/sub, tuples, dataflow, ...). We also solicit any ideas on how traditional distributed OO computing compares to emerging approaches such as Representational State Transfer (REST).

Alternative (non-OO) approaches to the above. We are equally interested in alternative (non-object-oriented) approaches to solving the problems mentioned above. However, it would definitely be interesting to the OO community if differences (advantages and/or disadvantages) with object-oriented technology receive some attention.