Programming for Context-based Adaptability: Lessons learned about OOP, SOA, and AOP
Konferenz: KiVS 2007 - Kommunikation in Verteilten Systemen - 15. ITG/GI-Fachtagung
26.02.2007 - 02.03.2007 in Bern, Schweiz
Tagungsband: KiVS 2007
Seiten: 12Sprache: EnglischTyp: PDFPersönliche VDE-Mitglieder erhalten auf diesen Artikel 10% Rabatt
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.