Programming for Context-based Adaptability: Lessons learned about OOP, SOA, and AOP

Conference: KiVS 2007 - Kommunikation in Verteilten Systemen - 15. ITG/GI-Fachtagung
02/26/2007 - 03/02/2007 at Bern, Schweiz

Proceedings: KiVS 2007

Pages: 12Language: englishTyp: PDF

Personal VDE Members are entitled to a 10% discount on this title

Mügge, Holger; Rho, Tobias; Speicher, Daniel; Bihler, Pascal; Cremers, Armin B. (Institute of Computer Science III, University of Bonn, Römerstr. 164, 53117 Bonn, Germany)

Context-sensitive applications are a key issue to exploit the benefits of mobile devices. For many applications planned adaptation starts to become status quo. However, the huge potential of adapting to unanticipated situations still remains a research issue. The general question "how to program for adaptivity" in a reasonable way is not answered yet. Current methods relying on statically typed languages either introduce a high level of complexity, or rely on detailed anticipation, or both. First, we describe how a statically typed Object-Oriented language can with the help of some design patterns to cope with basic requirements of adaptivity. Then, we show how adopting a Service-Oriented Architecture (SOA) can leverage coding. Finally, we present the Aspect-Oriented (AOP) language CSLogicAJ (compatible to AspectJ) which includes a logic notation and direct access to context data. We discuss how AOP on top of SOA can help to reduce the level of anticipation of runtime adaptation. Finally, we discuss which of the main obstacles can be overcome with our approach and what remains to be tackled in the future.