Building Software for Pervasive Computing @ OOPSLA '04



  Paper submission: 8/21/04
  Notification: 9/3/04
  Workshop: 10/25/04


Pervasive, or Ubiquitous, Computing envisions a world of communicating small devices, sensors and actuators. OOP owes its popularity in part due to the analogy between virtual and physical objects. Physical objects abound in Pervasive Computing, and object technology is playing a major part in pervasive computing, with objects living on even the smallest device. But OOP issues such as contextual programming requirements, dealing with multiple concerns, and the "mass" nature of ubiquitous devices are examples of where object technology needs extension, adaptation or replacement.

This workshop will bring together practitioners involved in the development of pervasive computing solutions and researchers devising new programming models in this area. The goals are (1) to identify recurring architectures  and patterns typically used to build such systems, (2) to raise issues and gaps in design and implementation; and (3) to discuss new ideas and changes to object technology to better support Pervasive Computing.

Contact: bspc04-organizers at  ics dot uci dot edu

There is still an opportunity to participate in the workshop! If you're a practitioner attending OOPSLA'04 but have no time to write papers, please send us an email with a brief description of your interest in this workshop.



Pervasive Computing envisions a world of communicating small and potentially portable devices, sensors, and actuators. We are beginning to see the first steps towards this vision in the proliferation of cell phones, PDAs, and the large variety of sensing and actuating elements. Pervasive Computing raises many challenging issues for computer science. Most interesting to us are those involved in developing software for this new world of ubiquitous computing, particularly the models, methods and tools for Pervasive Computing software development. While software development is challenging, Pervasive Computing presents an additional set of problems, including dealing with the scale of sensing and actuating, the number of autonomous collaborating entities, mobility, and the physical limitations (energy, memory, etc.) of constrained devices.

Existing mobile internet applications contain many elements from standard e-Business systems and are implemented with the same or similar technology. However, computing functionality is becoming pervasive, Internet access omnipresent, remote monitoring for a variety of events practical, and context-awareness economical. These developments push the limits of the current technologies. The widely-used Web ‘Request/Response’ model, as implemented through WAP or i-mode is not enough. Disconnected Work, Intelligent Notification, Ad Hoc Networks, and Data Replication are examples of usage patterns where pervasive computing goes beyond ‘internet for small screens.’ 

Object-Oriented Programming owes its popularity in part due to the natural analogy between virtual objects and real world objects. Physical objects abound in Pervasive Computing, and, to some extent, object technology is playing a major part in shaping this new computing paradigm. One perspective is to program with respect to highly dynamic pervasive objects that live on even the smallest device. But the conventional technologies of OO may not scale to the pervasive problem. In particular, contextual programming requirements, dealing with multiple concerns pervasively in throughout a software system, and the "mass" nature of ubiquitous sensors and actuators are all places where object technology needs extension, adaptation or replacement.

This workshop will bring together practitioners who have been actively involved in the development of pervasive computing solutions, researchers who have been devising new programming models in this area, and professionals who have been involved in the definition of standards. The goals are (1) to identify recurring architecture themes and patterns typically used to build such systems, (2) to raise issues and identify gaps for implementation that need to be resolved; and (3) to discuss new ideas and changes to object technology to better support Pervasive Computing.

The workshop is a sequel to similar sessions from the previous years at OOPSLA, but it expands them to involve future technologies. Examples of new approaches to Pervasive Computing include mechanisms for describing the behavior of collective entities, models and techniques for handling the contextual variety of Pervasive Computing devices (for example, the variety of input and output mechanisms), technologies for expressing pervasive concerns (for example, modulating behavior with respect to power consumption) in ubiquitous systems, and domain-specific programming technologies appropriate for systems heavily intertwined with their context, configuration, mobility, health, memory, communications and power.

The workshop will start off with a short presentation of selected papers and will then be highly interactive, aiming for tangible outcomes, such as sketches of reference architectures or patterns identified in this field. We expect the participation of members of the OOPSLA community as well as researchers in other communities who don't usually attend OOPSLA.



o       Applications of Pervasive Computing, e.g. for mobile phones, Handhelds, Cars, households appliances, smart machines, wearable computers, etc.
Mobile phone applications and communications, e.g. using WAP, SIM Toolkit, i-Mode, SMS, MMS, …
Architectures for client devices and back-end server systems, peer to peer systems, etc.
Wireless Portals
Specific mobility-related topics such as Content Adaptation / Transcoding, Location Based Services, Content Management or Personalization for mobile devices
Mobile Agents
(Micro)-Payments, mobile e-Commerce
Management and administration of software deployed on a large number of heterogeneous devices, including OSGi capable devices
Security and Privacy
Supporting dramatically different user interface paradigms
Adaptability and learning
Networking infrastructure

Future technologies:

o       Experiences with non-OO programming for Pervasive Computing.
Experiences with aspect-oriented programming, generative programming and related technologies for Pervasive Computing.
High-level domain-specific languages for Pervasive Computing.
Visual programming environments for Pervasive Computing.
End-user programming of Pervasive Computing systems.
Software structuring for dealing with incomplete specifications and rapid changes.
Component integration and dealing with a variety of component technologies.
Alternative and novel design methodologies.


Participation is by invitation only. Prospective participants should submit a 2-5 page position paper in PDF format to bspc04-organizers at  ics dot uci dot edu, no later than 8/8/04. Notification of acceptance will be on 9/3/04.

Accepted position papers will be compiled in a single document, and made available before the workshop.

The workshop will have a healthy mix of paper presentations and discussion sessions.


Cristina Videira Lopes (co-Chair) is an Assistant Professor in the School of Information and Computer Science, Department of Informatics, of the University of California, Irvine. Before coming to UCI, she worked for several years at Xerox PARC, where she was a founding member of the group that developed Aspect-Oriented Programming and AspectJ. Her interests include the design of programming languages for better software development, communication mechanisms in Ubicomp networks, and programming models for dealing with the intertwined aspects of ubiquitous and pervasive systems. She has extensive experience in organizing workshops, having been the principal organizer of a series of AOP-related workshops at ECOOP and other conferences between 1997 and 2000, as well as an earlier workshop on Adaptive Software at OOPSLA'95. She served as program committee member for ECOOP, AOSD and numerous other conferences and workshops. In particular, she serves as Program Committee member for OOPSLA’04 Onward! Track.

Steffen Schaefer (co-Chair) is Technical Thought Leader for wireless e-business in IBM Global Services, working for more than twelve years in Object Technology and component development. Steffen has worked on sensor and actuator networks for RFID and developed a reference architecture for this area. He has built wireless application platforms as well as applications for mobile computing – working in lead architecture roles, as well as a development lead / technical project manager. The last couple of years he has primarily spent in Scandinavia, involved with Mobile Internet for leading wireless service providers. He was also involved with car manufacturers on OSGi based Telematics clients and back end platforms and is strongly engaged on projects for Mobile Gaming. Steffen has organized various workshops at OOPSLA, on Pervasive Computing, methodology and component development. He has published a book and a number of articles on object oriented methodologies.

Siobhán Clarke is a lecturer in the Computer Science Department at Trinity College Dublin. She teaches at postgraduate level on software engineering for distributed systems and also on middleware for ubiquitous computing. Her research interests relate to middleware and programming models for mobile, context-aware ubiquitous computing. She has been co-organizer of numerous workshops at OOPSLA, ECOOP, ICSE, UML and AOSD in areas relating to software engineering and context-awareness. In particular, she was co-organizer of the OOPSLA 2002 Workshop on Engineering Context-aware Object-Oriented Systems and Environments, and co-organiser of the ECOOP 2004 Workshop on Component-oriented approaches to context-aware systems.

Anind Dey is a Senior Researcher with Intel Research Berkeley, holding the title "Ubicomp Software Architect". He is also an Adjunct Assistant Professor in Computer Science at UC Berkeley, where he teaches classes and conducts research in ubiquitous computing. His research focuses on the intersection of ubiquitous computing and human-computer interaction, building tools and software support to make it easier to build ubicomp applications and supporting end users in controlling their ubicomp systems. In the past, he has looked at programming support for context-aware applications, building the Context Toolkit, a widely used tool for building applications. He has organized two workshops on ubiquitous computing at the ACM CHI conference, and is currently organizing a workshop on context-awareness to be held at ACM Mobisys 2004. He was the Program co-Chair for Ubicomp’03.

Tzilla Elrad is a Research Professor at the Computer Science Department, Illinois Institute of Technology. Her interests include concurrent and distributed programming, programming language design, software design for dynamic adaptability, and aspect oriented software development. She served as organizer/program committee for numerous AOSD and software development related workshops. Tzilla is an editor (with Robert Filman, Siobhán Clarke, and Mehmet Aksit) of the forthcoming Aspect Oriented Software Development (Addison-Wesley). She is one of founding member of the Aspect-Oriented Software Association, and she is the Organizing Chair for the upcoming AOSD’05.

Robert E. Filman is a Senior Scientist at the Research Institute for Advanced Computer Science at NASA Ames Research Center, working on frameworks for distributed applications. He is Editor in Chief of IEEE Internet Computing and is on the editorial boards of the Journal of Software Maintenance and Evolution, Transactions on Aspect-Oriented Software Development and the International Journal of Artificial Intelligence Tools. He is the author (with Daniel P. Friedman) of Coordinated Computing: Tools and Techniques for Distributed Software (1984, McGraw-Hill), and the editor (with Tzilla Elrad, Siobhán Clarke, and Mehmet Aksit) of the forthcoming Aspect Oriented Software Development (Addison-Wesley). He was the founding chair of the Aspect-Oriented Software Association, and the general chair of AOSD-2006. He was the Workshop Chair for the Eleventh National Conference on Artificial Intelligence (AAAI-93) and Associate Program Chair for the Fifth National Conference on Artificial Intelligence (AAAI-86). He has been on the organizing committee of eight conferences and workshops so far this century, including three at OOPSLA (Workshop on Engineering Context-Aware Object-Oriented Systems and Environments, 2002; Workshop on the Advanced Separation of Concerns, 2001; Workshop on Engineering Complex Object-Oriented Systems for Evolution, OOPSLA 2001). He has worked and published in the areas of software engineering, distributed computing, network security, programming languages, artificial intelligence, algorithms, and human-machine interface. He received his B. S. (1974, Mathematics), M.S. (1974, Computer Science) and Ph. D. (1979, Computer Science) from Stanford University.

Jens Jahnke is an Associate Professor in the Department of Computer Science at the University of Victoria, Canada. He is also a Research Fellow of the Advanced Systems Institute of British Columbia (ASI). His research interest are in issues of network-centric software engineering and embedded pervasive devices. He directs several research projects in this area with industrial collaboration. He has served as organizer for several workshops including the 3rd Workshop on Net-Centric Computing in co-location with the International Conference on Software Engineering (ICSE 2001). He received the German Software Engineering Prize of the Ernst-Denert Stiftung.

Tony Willis has been involved in Pervasive Computing projects since 1999. In that time, he has undertaken a number of architectural projects, including the development of a blueprint for a Pervasive Gateway infrastructure for a leading South African organization, and architecture for a Mobile Payment Gateway that currently provides Pervasive access from different channels, development of the South African Government’s e-Gateway, reviews of pervasive strategy and architecture for one of the largest two banks in South Africa, evaluate T-systems International’s Mobile Corporate Portal. He has also been involved in a number of initiatives to develop and deploy Pervasive Computing solutions, including: Innovation laboratories with a number of customers to demonstrate Pervasive functionality, a mobile project for a leading beverage manufacturer, and providing T-systems executives with Pervasive access to their e-mail and diaries. Tony has participated in many Pervasive Computing workshops at OOPSLA in previous years.