Distributed Objects for the 21st Century
is a thematic workshop focusing on the latest trends in
distributed object computing. This year, we focus on the
following latest trends: 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.