Skip to main content
Log in

Selbst-adaptive Software

  • HAUPTBEITRAG
  • Selbst-adaptive Software
  • Published:
Informatik-Spektrum Aims and scope

Zusammenfassung

Der Trend zum ,,Mobile“ und ,,Pervasive Computing“ führt zu einem wachsenden Bedarf an Softwaresystemen, die in der Lage sind, sich selbst an ihre sich dynamisch verändernde Ablaufumgebung anzupassen. Dynamische Adaption findet zur Laufzeit der Anwendung aufgrund von Änderungen des Kontexts oder Ressourcenzustands statt. Zum Beispiel könnte eine Anwendung sich an niedrigere Übertragungsbandbreite, verminderte Batteriekapazität, neu hinzugekommene Geräte und Dienste oder veränderte Benutzerpräferenzen anpassen. In diesem Beitrag geben wir einen Überblick über die Technik selbst-adaptiver Softwaresysteme. Wir diskutieren zunächst die verschiedenartigen Anforderungen an adaptive Software und stellen dann entsprechende Infrastrukturkonzepte vor, die für die Entwicklung adaptiver Systeme erforderlich sind. Auch Anforderungen an eine Entwicklungsmethodik für adaptive Anwendungen werden erläutert. Als Beispiel für eine umfassende und allgemeingültige Lösung präsentieren wir die wichtigsten Ergebnisse des europäischen Forschungsprojektes MADAM (Mobility and ADaptation enAbling Middleware) und vergleichen diese mit verwandten Arbeiten.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

References

  1. Bridges P, Chen W-K, Hiltunen MA, Schlichting RD (2001) Supporting coordinated adaptation in networked systems. Proceedings of the 8th Workshop on Hot Topics in Operating Systems (HotOS VIII), Elmau/Oberbayern, Germany, May 20–23, 2001, IEEE Computer Society

  2. Becker C, Dürr F, Knoll M, Nicklas D, Weis T (2006) Entwicklung ortsbezogener Anwendungen. PIK – Praxis der Informationsverarbeitung und Kommunikation. Bd. 29, Nr. 1. K.G. Saur, München, S 30–36

    Google Scholar 

  3. Becker C, Geihs K (2006) Generic QoS Support for CORBA. In: 5th IEEE Symposium on Computers and Communications (ISCC 2000). Antibes, France, IEEE Press, pp 60–65

  4. Bishop J, Horspool N (2006) Cross-Platform Development: Software that Lasts. IEEE Computer 39:26–35

    Google Scholar 

  5. Blair GS, Coulson G, Blair L, Duran-Limon H, Grace P, Moreira R, Parlavantzas N (2002) Reflection, self-awareness and self-healing in OpenORB. Proceedings of the first workshop on Self-healing systems, Charleston, South Carolina. ACM Press, pp 9–14

  6. Katz RH, Brewer EA, et al. (1996) The Bay Area Research Wireless Access Network (BARWAN). Proceedings of 41st IEEE Computer Conference (COMPCON). ACM, New York, pp 15–20

    Google Scholar 

  7. Coutaz J, Crowley J, Dobson S, Garlan D (2005) Context is Key. In: Communications of the ACM. Bd. 48, Nr. 3. ACM, New York, pp 49–53

    Google Scholar 

  8. Castaldi M, Carzaniga A, Inverardi P, Wolf A (2003) A lightweight infrastructure for reconfiguring applications. In: Proceedings of the 11th International Workshop on Software Configuration Management (Lecture Notes in Computer Science 2049). Springer, Berlin, pp 231–244

  9. Engler DR, Kaashoek MF, O’Toole J Jr (1995) Exokernel: an operating system architecture for application-level resource management. In: Proceedings of the 15th ACM Symposium on Operating Systems Principles (SOSP ’95). Copper Mountain Resort, Colorado, pp 251–266

  10. Eisenbach S, Sadler C, Wong D (2007) Component Adaptation in Contemporary Execution Environments. 7th IFIP International Conference on Distributed Applications and Interoperable Systems (DAIS2007), Paphos, Cyprus, pp 90–103

  11. Garlan D, et al. (2004) Rainbow: Architecture-based self-adaptation with reusable infrastructure. IEEE Computer 37:46–54

    Google Scholar 

  12. Geihs K, Ullah Khan M, Reichle R, Solberg A (2006) Modeling of Component-Based Self-Adapting Context-Aware Applications for Mobile Devices. IFIP Working Conference on Software Engineering Techniques, Warschau, pp 718–722

  13. Gamma E, Helm R, Johnson R, Vlissides J (1997) Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading, MA

    Google Scholar 

  14. Henricksen K, Indulska J (2006) Developing context-aware pervasive computing applications: Models and approach. Pervasive and Mobile Computing 2:37–64

    Article  Google Scholar 

  15. Henricksen K, Indulska J, Rakotonirainy A (2006) Using context and preferences to implement self-adapting pervasive computing applications. Software Pract Exper 36:1307–1330

    Article  Google Scholar 

  16. Heineman GT, Loyall JP, et al. (2004) Component Technology and QoS Management. International Symposium on Component-based Software Engineering (CBSE7), Edinburgh, Scotland

  17. Hofmeister CR (1993) Dynamic Reconfiguration of Distributed Applications. PhD Thesis, Computer Science Department, University of Maryland

  18. Kephart JO, Chess DM (2003) The vision of autonomic computing. IEEE Computer 36:41–52

    Google Scholar 

  19. Kapitza R, Hauck FJ, Reiser H (2004) Decentralized, Adaptive Services: The AspectIX Approach for a Flexible and Secure Grid Environment. Proc. of the GSEM 2004 Conferences (GSEM, Erfurt, Germany). Springer, Heidelberg

  20. Kiczales G, et al. (2001) An overview of AspectJ. In: Proceedings ECOOP. Springer, Heidelberg

  21. Kon F, Román M, Liu P, Mao J, Yamane T, Magalhaes LC, Campbell RH (2000) Monitoring, security, and dynamic configuration with the dynamicTAO reflective ORB. In: Proceedings of the IFIP/ACM International Conference on Distributed Systems Platforms. Springer, New York, pp 121–143

  22. Kramer J, Magee J (1985) Dynamic Configuration for Distributed Systems. IEEE T Software Eng 11:424–436

    Article  Google Scholar 

  23. Li B, Jeon W, Kalter W, Nahrstedt K, Seo J (2000) Adaptive middleware architecture for a distributed omnidirectional visual tracking system. In: Proceedings of SPIE Multimedia Computing and Networking (MMCN’00), Bellingham, USA, pp 101–112

  24. Li B, Nahrstedt K (1999) A control-based middleware framework for quality of service adaptations. IEEE Journal of Selected Areas in Communications 17:1632–1650

    Article  Google Scholar 

  25. MADAM (20. August 2007) Project Homepage, http://www.intermedia.uio.no/confluence/display/madam/Home

  26. Maes P (1987) Concepts and experiments in computational reflection. In: Proc. of the ACM Conference on Object-Oriented Languages (OOPSLA). ACM Press, New York, pp 147–155

  27. Model Driven Architecture (MDA) (20. August 2007) www.omg.org/mda

  28. Mügge H, Rho T, Cremers AB (2007) Integrating Aspect-Orientation and Structural Annotations to Support Adaptive Middleware. EuroSys Workshop on Middleware-Application Interaction, Lisabon

  29. McKinley PK, Sadjadi SM, Kasten EP, Cheng BHC (2004) Composing Adaptive Software. IEEE Computer 37:56–64

    Google Scholar 

  30. Mügge H, Rho T, Speicher D, Bihler P, Cremers AB (2007) Programming for Context-based Adaptability – Lessons learned about OOP, SOA, and AOP. GI-Workshop SAKS 2007, Bern, Schweiz

  31. Noble BD, Satyanarayanan M (1999) Experience with adaptive mobile applications in Odyssey. Mobile Netw Appl 4:245–254

    Article  Google Scholar 

  32. Poladian V, Sousa JP, Garlan D, Shaw M (2004) Dynamic configuration of resource-aware services. In: Proceedings of the 26th Internat. Conference on Software Engineering. Edinburgh, Scotland, Los Alamitos, CA

  33. Rasche A, Polze A (2003) Configuration and dynamic reconfiguration of component-based applications with Microsoft .NET. 6th IEEE International Symposium on Object-Oriented Real-Time Distributed Computing. pp 164–171

  34. Rasche A, Schult W (2007) Dynamic Updates of Graphical Components in the .NET Framework. GI-Workshop SAKS 2007, Bern, Schweiz

  35. Ren Y(J), Bakken DE, Courtney T, Cukier M, Karr DA, Rubel P, Sabnis C, Sanders WH, Schantz RE, Seri M (2003) AQuA: An Adaptive Architecture that Provides Dependable Distributed Objects. IEEE T Comput 52(1):31–50

    Article  Google Scholar 

  36. Schilit B, Adams N, Want R (1994) Context-Aware Computing Applications. Proceedings of IEEE Workshop on Mobile Computing Systems and Applications. Santa Cruz, CA, pp 85–90

  37. Senart A, Charra O, Stefani JB (2002) Developing dynamically reconfigurable operating system kernels with the THINK component architecture. In: Proceedings of the Workshop on Engineering Context-aware Object-Oriented Systems and Environments, in association with OOPSLA 2002. Seattle, Washington

  38. Seltzer M, Small C (1997) Self-monitoring and Self-adapting Operating Systems. Proceedings of the Sixth Workshop on Hot Topics in Operating Systems (HotOS VI). May 5–6, Cape Cod, Massachusetts, USA, IEEE Computer Society Press, pp 124–129

  39. Strang T, Linnhoff-Popien L, Frank K (2003) CoOL: A Context Ontology Language to enable Contextual Interoperability. In LNCS 2893. Proc. of 4th IFIP WG 6.1 International Conference on Distributed Applications and Interoperable Systems (DAIS). Paris, Frankreich, pp 236–247

  40. RFC 793 (1981) Transmission control protocol

  41. Walsh W, Tesauro G, Kephart J, Das R (2004) Utility Functions in Autonomic Systems. International Conference on Autonomic Computing (ICAC-04), New York

  42. XML Metadata Interchange (20. August 2007) http://www.omg.org/technology/documents/formal/xmi.htm

  43. Yarvis M, Reiher P et al. (1999) Conductor: A framework for distributed adaptation. In: Proceedings of the 7th Workshop on Hot Topics in Operating Systems (HotOS VII), March 28–30, 1999, Rio Rico, Arizona, USA, IEEE Computer Society Press, pp 44–49

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Kurt Geihs.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Geihs, K. Selbst-adaptive Software. Informatik Spektrum 31, 133–145 (2008). https://doi.org/10.1007/s00287-007-0198-9

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00287-007-0198-9

Navigation