Abstract
It is commonly agreed that a self-adaptive software system is one that can modify itself at run-time due to changes in the system, its requirements, or the environment in which it is deployed. A cursory review of the software engineering literature attests to the wide spectrum of software systems that are described as self-adaptive. The way self-adaptation is conceived depends on various aspects, such as the users’ requirements, the particular properties of a system, and the characteristics of the environment. In this paper, we propose a classification of modeling dimensions for self-adaptive software systems. Each modeling dimension describes a particular facet of the system that is relevant to self-adaptation. The modeling dimensions provide the engineers with a common set of vocabulary for specifying the self-adaptive properties under consideration and select suitable solutions. We illustrate how the modeling dimensions apply to several application scenarios.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Andersson, J., et al.: An Adaptive High-Performance Service Architecture. In: ETAPS Workshop on Software Composition Electronic Notes Theoretical Computer Science, vol. 114 (2005)
Bradbury, J.S., et al.: A Survey Of Self-Management In Dynamic Software Architecture Specifications. In: Garlan, D., Kramer, J., Wolf, A. (eds.) ACM SIGSOFT Workshop on Self-Managed Systems (WOSS 2004), pp. 28–33 (2004)
Buckley, J., Mens, T., Zenger, M., Rashid, A., Kniesel, G.: Towards A Taxonomy of Software Change. Journal of Software Maintenance and Evolution, 309–332 (September 2005)
Cheng, B.H.C., et al.: Software Engineering for Self-Adaptive Systems: A Research Road Map. In: Cheng, B.H.C., et al. (eds.) Software Engineering for Self-Adaptive Systems. 08031 Dagstuhl Seminar. Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik, Germany (2008)
Dobson, S., Denazis, S., et al.: A Survey of Autonomic Communications. ACM Transactions on Autonomous and Adaptive Systems 1(2), 223–259 (2006)
ERTICO. Intelligent Transportation Systems for Europe, http://www.ertico.com/
Fuggetta, A., Picco, G.P., Vigna, G.: Understanding Code Mobility. IEEE Trans. on Software Engineering 24, 342–361 (1998)
Gómez-Pérez, A.: Evaluation of Ontologies. International Journal of Intelligent Systems 16, 391–409 (2001)
Haesevoets, R., et al.: Managing Agent Interactions with Context-Driven Dynamic Organizations. In: Weyns, D., Brueckner, S.A., Demazeau, Y. (eds.) EEMMAS 2007. LNCS, vol. 5049, pp. 166–186. Springer, Heidelberg (2008)
ITS. Intelligent Transportation Society of America, http://www.itsa.org/
Kistler, J.J., Satyanarayanan, M.: Disconnected Operation in the Coda File System. ACM Transactions on Computer Systems 10(1) (Feburary 1992)
Kuenning, G.H., Popek, G.J.: Automated Hoarding for Mobile Computers. In: ACM Symp. on Operating Systems Principles, St. Malo, France (October 1997)
van Lamsweerde, A.: Goal-Oriented Requirements Engineering: A Guided Tour. In: IEEE International Symposium on Requirements Engineering, Toronto, Canada (August 2001)
Laprie, J.C.: From Dependability to Resilience. In: International Conference on Dependable Systems & Networks (DSN 2008), Anchorage, Alaska, June 2008, pp. G8–G9 (2008)
de Lemos, R.: Architecting Web Services Applications for Improving Availability. In: de Lemos, R., Gacek, C., Romanovsky, A. (eds.) Architecting Dependable Systems III. LNCS, vol. 3549, pp. 69–91. Springer, Heidelberg (2005)
Malek, S., et al.: A Framework for Ensuring and Improving Dependability in Highly Distributed Systems. In: de Lemos, R., Gacek, C., Romanovsky, A. (eds.) Architecting Dependable Systems III. LNCS, vol. 3549, pp. 173–193. Springer, Heidelberg (2005)
Malek, S., Seo, C., Ravula, S., Petrus, B., Medvidovic, N.: Reconceptualizing a Family of Heterogeneous Embedded Systems via Explicit Architectural Support. In: International Conference on Software Engineering (ICSE 2007), Minneapolis, Minnesota (May 2007)
Mckinley, P.K., Sadjadi, S.M., Kasten, E.P., Cheng, B.H.C.: Composing Adaptive Software. IEEE Computer 37(7), 56–64 (2004)
Mikic-Rakic, M., Malek, S., Medvidovic, N.: Architecture-Driven Software Mobility in Support of QoS Requirements. In: International Workshop on Software Architectures and Mobility (SAM), Leipzig, Germany (May 2008)
Popovici, A., et al.: Dynamic Weaving for Aspect-oriented Programming. In: International Conference on Aspect-Oriented Software Development (AOSD 2002), Enschede, Netherlands, April 2002, pp. 141–147 (2002)
Weinsberg, Y., Ben-Shaul, I.: A Programming Model and System Support for Disconnected-Aware Applications on Resource-Constrained Devices. In: International Conference on Software Engineering (ICSE 2002), Orlando, FL (2002)
Weyns, D., et al.: Environments for multiagent systems, state-of-the-art and research challenges. In: Weyns, D., Van Dyke Parunak, H., Michel, F. (eds.) E4MAS 2004. LNCS, vol. 3374, pp. 1–47. Springer, Heidelberg (2005)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2009 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Andersson, J., de Lemos, R., Malek, S., Weyns, D. (2009). Modeling Dimensions of Self-Adaptive Software Systems. In: Cheng, B.H.C., de Lemos, R., Giese, H., Inverardi, P., Magee, J. (eds) Software Engineering for Self-Adaptive Systems. Lecture Notes in Computer Science, vol 5525. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-02161-9_2
Download citation
DOI: https://doi.org/10.1007/978-3-642-02161-9_2
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-02160-2
Online ISBN: 978-3-642-02161-9
eBook Packages: Computer ScienceComputer Science (R0)