Diseño de software autoadaptativo
DOI:
https://doi.org/10.18046/syt.v9i18.1076Palavras-chave:
Autoadaptación, modelos de referencia para auto-adaptación, software auto-adaptativo, bucles de control.Resumo
Ante condiciones cambiantes del entorno, los sistemas autoadaptativos pueden modificarse a sí mismos para controlar la satisfacción de sus requerimientos en tiempo de ejecución. Durante el siglo pasado los sistemas de retroalimentación fueron importantes modelos para controlar el comportamiento dinámico de sistemas mecánicos, eléctricos, de fluidos y químicos, en sus respectivos campos de la ingeniería. Más recientemente fueron adoptados para diseñar software autoadaptativo. No obstante, lograr mapeos coherentes y explícitos consistentemente entre las arquitecturas de software adaptativo y los elementos de sistemas de retroalimentación es aún un reto abierto. Este artículo, sobre un modelo de referencia propuesto con ese propósito, discute aspectos clave del diseño de software autoadaptativo, en que los elementos de sistemas de retroalimentación se definen explícitamente como componentes de primer nivel en su arquitectura. Adicionalmente, ilustra la aplicación de este modelo de referencia a un ejemplo real de software adaptativo. El artículo ofrece a los ingenieros de software un punto de referencia para iniciar el diseño de software autoadaptativo.Referências
Abid, Z., Chabridon, S., & Conan, D. (2009). A framework for quality of context management. En Quality of Context. First International Workshop, QuaCon 2009, Stuttgart, Germany, June 25-26, 2009. Revised Papers (Lecture Notes in Computer Science 5786) (120-131). Berlín, Alemania: Springer-Verlag. DOI: 10.1007/978-3-642-04559-2
Bass, L., Clements, P., & Kazman, R. (2003). Software Architecture in Practice (2nd ed.). Boston, MA: Addison-Wesley.
Caprarescu, B.A, Petcu, D., (2009). A Self-Organizing Feedback Loop for Autonomic Computing. En Proceedings Computation World: future computing, service computation, cognitive, content, patterns. ComputationWorld, 2009 (pp.126-131). Los Alamitos, CA: IEEE Computer Society
Cheng, B.H., Lemos, R., Giese, H., Inverardi, P., Magee, J., Andersson, J.,...Whittle, J. (2009). Software Engineering for Self-Adaptive Systems: A Research Roadmap. En Software Engineering for Self-Adaptive Systems (Lecture Notes in Computer Science 5525) (pp. 1-26). Berlín, Alemania: Springer-Verlag. doi: 10.1007/978-3-642-02161-9
Chignell, M., Cordy, J., Ng, J., & Yesha, J. (Eds.) (2010). The smart Internet. Current research and future applications (Lecture Notes in Computer Science 6400). Berlín, Alemania: Springer-Verlag. DOI: 10.1007/978-3-642-16599-3
Coutaz, J., Crowley, J.L., & Dobson, S. (2005). Context is key. Communications of the ACM (48)3, 49–53.
Frincu, M.E., Villegas, N.M., Petcu, D., Müller, H.A., & Rouvoy, R. (2011). Self-healing distributed scheduling platform. En Proceedings IEEE International symposium on cluster, cloud and grid computing, CCGrid 2011 (pp. 225-234). Los Alamitos, CA: IEEE Computer Society
Garlan, D., Cheng, S-W., & Schmerl, B. (2003). Increasing System Dependability through Architecture-Based Self-Repair. En Architecting dependable systems (Lecture Notes in Computer Science 2677) (pp. 61-89). Berlín, Alemania: Springer-Verlag. doi: 10.1007/3-540-45177-3
Giese, H., Brun, Y., Serugendo, J.D.M., Gacek, C., Kienle, H., Müller, H.,…Shaw, M. (2009). Engineering self-adaptive and self-managing systems. En Applied Algebra, Algebraic Algorithms and Error-Correcting Codes. 18th International Symposium, AAECC-18 2009, Tarragona, Spain, June 8-12, 2009. Proceedings (Lecture Notes in Computer Science 5527) (pp. 47-69). Berlín, Alemania: Springer-Verlag. doi: 10.1007/978-3-642-02181-7
Hebig, R., Giese, H., & Becker, B. (2010). Making control loops explicit when architecting self-adaptive systems. En Proceedings 2nd international workshop on Self-organizing architectures (pp. 21–28). New York, NY: ACM.
Hellerstein, J.L., Diao, Y., Parekh, S., & Tilbury, D.M. (2004). Feedback Control of Computing Systems. Hoboken, NJ: John Wiley & Sons.
Hellerstein, J.L., Singhal, S., & Wang, Q. (2009). Research Challenges in Control Engineering of Computing Systems. IEEE Transactions on Network and Service Management (6)4, 206.211.
IBM Corporation (2006). An architectural blueprint for autonomic computing (4th ed.) [Technical Report]. Hawthorne, NY: Autor
Kephart, J.O., & Chess, D.M. (2003). The vision of autonomic computing. Computer (36)1, 41–50.
Kramer, J., & Magee, J. (2007). Self-managed systems: an architectural challenge. En Proceedings: 2007 workshop on the Future of Software Engineering (FOSE 2007) (pp. 259-268). Los Alamitos, CA: IEEE Computer Society
Müller, H., Pezzè, M., & Shaw, M. (2008). Visibility of control in adaptive systems. En Proceedings 2nd international workshop on Ultra-large-scale software-intensive systems, ULSSIS 2008 (pp. 23-26). New Yok, NY: ACM.
Müller, H.A., Kienle, H.M., & Stege, U., (2009). Autonomic computing: Now you see it, now you don’t. Design and evolution of autonomic software systems. En Software Engineering. International Summer Schools, ISSSE 2006-2008, Salerno, Italy, Revised Tutorial Lectures (Lecture Notes in Computer Science 5413). (pp. 32-54). Berlín, Alemania: Springer-Verlag. doi: 10.1007/978-3-540-95888-8
Ogata, K. (2010). Modern Control Engineering (5th ed.). Boston, MA: Prentice Hall.
Oreizy, P., Medvidovic, N., & Taylor, R.N., (2008). Runtime software adaptation: framework, approaches, and styles. En Proceedings 30th International Conference on Software Engineering, ICSE 2008 (pp. 899-910). New Yok, NY: ACM.
Parra, C., Blanc, X., & Duchien, L. (2009). Context Awareness for Dynamic Service-Oriented Product Lines. En Proceedings 13th Intentaional Software Product Line Conference, SPLC 2009 (pp.131.140). New Yok, NY: ACM.
Salehie, M., & Tahvildari, L. (2009). Self-Adaptive Software: Landscape and Research Challenges. ACM Transactions on Autonomous and Adaptive Systems (4)2, 14:1-14:42. doi: 10.1145/1516533.1516538
Solomon, B., Ionescu, D., Litoiu, M., & Mihaescu, M. (2007). A real-time adaptive control of autonomic computing environments. En Proceedings 17th Annual International Conference hosted by the Centre for Advanced Studies Research, IBM Canada Software Laboratory, CASCON 2007 (pp. 124-136). New York, NY: ACM
Tamura, G., Casallas, R., Cleve, A., & Duchien, L. (2011a). QoS Contract-Aware Reconfiguration of Component Architectures Using E-Graphs. En 7th International Workshop on Formal Aspects of Component Software, FACS 2010 (Lecture Notes in Computer Science 6921) (pp. 34-52). Berlín, Alemania: Springer-Verlag.
Tamura, G., Villegas, N.M., Müller, H.A., Duchien, L., & Casallas, R. (2011b). A control-engineered reference model to optimize context relevance in self-adaptation. Recuperado de: https://connex.csc.uvic.ca/access/content/group/eac7abb3-27a0-4a53-be0f-10525cabe46e/Papers/control-based-reference-model-for-self-adapt.pdf
Truex, D.P., Baskerville, R., & Klein, H. (1999). Growing systems in emergent organizations. Communications of the ACM (42)8, 117–123.
Villegas, N.M., & Müller, H.A. (2010). Managing dynamic context to optimize smart interactions and services. En The Smart Internet: Current Research and Future Applications (Lecture Notes in Computer Science 6400) (pp. 289-318). Berlín, Alemania: Springer-Verlag.
Villegas, N.M., Müller, H.A., Muñoz, J.C., Lau, A., Ng, J., & Brealey, C. (2011a [in press]). A dynamic context management infrastructure for supporting user-driven web integration in the personal web. En Proceedings the 2011 Conference of the Center for Advanced Studies on Collaborative Research, Canada (CASCON 2010) (pp. 1-15). New York, NY: ACM.
Villegas, N.M., Müller, H.A., Tamura, G., Duchien, L., & Casallas, R. (2011b). A framework for evaluating quality-driven self-adaptive software systems. En Proceeding 6th international symposium on Software engineering for adaptive and self-managing systems (pp. 80–89). New York, NY: ACM.
Bass, L., Clements, P., & Kazman, R. (2003). Software Architecture in Practice (2nd ed.). Boston, MA: Addison-Wesley.
Caprarescu, B.A, Petcu, D., (2009). A Self-Organizing Feedback Loop for Autonomic Computing. En Proceedings Computation World: future computing, service computation, cognitive, content, patterns. ComputationWorld, 2009 (pp.126-131). Los Alamitos, CA: IEEE Computer Society
Cheng, B.H., Lemos, R., Giese, H., Inverardi, P., Magee, J., Andersson, J.,...Whittle, J. (2009). Software Engineering for Self-Adaptive Systems: A Research Roadmap. En Software Engineering for Self-Adaptive Systems (Lecture Notes in Computer Science 5525) (pp. 1-26). Berlín, Alemania: Springer-Verlag. doi: 10.1007/978-3-642-02161-9
Chignell, M., Cordy, J., Ng, J., & Yesha, J. (Eds.) (2010). The smart Internet. Current research and future applications (Lecture Notes in Computer Science 6400). Berlín, Alemania: Springer-Verlag. DOI: 10.1007/978-3-642-16599-3
Coutaz, J., Crowley, J.L., & Dobson, S. (2005). Context is key. Communications of the ACM (48)3, 49–53.
Frincu, M.E., Villegas, N.M., Petcu, D., Müller, H.A., & Rouvoy, R. (2011). Self-healing distributed scheduling platform. En Proceedings IEEE International symposium on cluster, cloud and grid computing, CCGrid 2011 (pp. 225-234). Los Alamitos, CA: IEEE Computer Society
Garlan, D., Cheng, S-W., & Schmerl, B. (2003). Increasing System Dependability through Architecture-Based Self-Repair. En Architecting dependable systems (Lecture Notes in Computer Science 2677) (pp. 61-89). Berlín, Alemania: Springer-Verlag. doi: 10.1007/3-540-45177-3
Giese, H., Brun, Y., Serugendo, J.D.M., Gacek, C., Kienle, H., Müller, H.,…Shaw, M. (2009). Engineering self-adaptive and self-managing systems. En Applied Algebra, Algebraic Algorithms and Error-Correcting Codes. 18th International Symposium, AAECC-18 2009, Tarragona, Spain, June 8-12, 2009. Proceedings (Lecture Notes in Computer Science 5527) (pp. 47-69). Berlín, Alemania: Springer-Verlag. doi: 10.1007/978-3-642-02181-7
Hebig, R., Giese, H., & Becker, B. (2010). Making control loops explicit when architecting self-adaptive systems. En Proceedings 2nd international workshop on Self-organizing architectures (pp. 21–28). New York, NY: ACM.
Hellerstein, J.L., Diao, Y., Parekh, S., & Tilbury, D.M. (2004). Feedback Control of Computing Systems. Hoboken, NJ: John Wiley & Sons.
Hellerstein, J.L., Singhal, S., & Wang, Q. (2009). Research Challenges in Control Engineering of Computing Systems. IEEE Transactions on Network and Service Management (6)4, 206.211.
IBM Corporation (2006). An architectural blueprint for autonomic computing (4th ed.) [Technical Report]. Hawthorne, NY: Autor
Kephart, J.O., & Chess, D.M. (2003). The vision of autonomic computing. Computer (36)1, 41–50.
Kramer, J., & Magee, J. (2007). Self-managed systems: an architectural challenge. En Proceedings: 2007 workshop on the Future of Software Engineering (FOSE 2007) (pp. 259-268). Los Alamitos, CA: IEEE Computer Society
Müller, H., Pezzè, M., & Shaw, M. (2008). Visibility of control in adaptive systems. En Proceedings 2nd international workshop on Ultra-large-scale software-intensive systems, ULSSIS 2008 (pp. 23-26). New Yok, NY: ACM.
Müller, H.A., Kienle, H.M., & Stege, U., (2009). Autonomic computing: Now you see it, now you don’t. Design and evolution of autonomic software systems. En Software Engineering. International Summer Schools, ISSSE 2006-2008, Salerno, Italy, Revised Tutorial Lectures (Lecture Notes in Computer Science 5413). (pp. 32-54). Berlín, Alemania: Springer-Verlag. doi: 10.1007/978-3-540-95888-8
Ogata, K. (2010). Modern Control Engineering (5th ed.). Boston, MA: Prentice Hall.
Oreizy, P., Medvidovic, N., & Taylor, R.N., (2008). Runtime software adaptation: framework, approaches, and styles. En Proceedings 30th International Conference on Software Engineering, ICSE 2008 (pp. 899-910). New Yok, NY: ACM.
Parra, C., Blanc, X., & Duchien, L. (2009). Context Awareness for Dynamic Service-Oriented Product Lines. En Proceedings 13th Intentaional Software Product Line Conference, SPLC 2009 (pp.131.140). New Yok, NY: ACM.
Salehie, M., & Tahvildari, L. (2009). Self-Adaptive Software: Landscape and Research Challenges. ACM Transactions on Autonomous and Adaptive Systems (4)2, 14:1-14:42. doi: 10.1145/1516533.1516538
Solomon, B., Ionescu, D., Litoiu, M., & Mihaescu, M. (2007). A real-time adaptive control of autonomic computing environments. En Proceedings 17th Annual International Conference hosted by the Centre for Advanced Studies Research, IBM Canada Software Laboratory, CASCON 2007 (pp. 124-136). New York, NY: ACM
Tamura, G., Casallas, R., Cleve, A., & Duchien, L. (2011a). QoS Contract-Aware Reconfiguration of Component Architectures Using E-Graphs. En 7th International Workshop on Formal Aspects of Component Software, FACS 2010 (Lecture Notes in Computer Science 6921) (pp. 34-52). Berlín, Alemania: Springer-Verlag.
Tamura, G., Villegas, N.M., Müller, H.A., Duchien, L., & Casallas, R. (2011b). A control-engineered reference model to optimize context relevance in self-adaptation. Recuperado de: https://connex.csc.uvic.ca/access/content/group/eac7abb3-27a0-4a53-be0f-10525cabe46e/Papers/control-based-reference-model-for-self-adapt.pdf
Truex, D.P., Baskerville, R., & Klein, H. (1999). Growing systems in emergent organizations. Communications of the ACM (42)8, 117–123.
Villegas, N.M., & Müller, H.A. (2010). Managing dynamic context to optimize smart interactions and services. En The Smart Internet: Current Research and Future Applications (Lecture Notes in Computer Science 6400) (pp. 289-318). Berlín, Alemania: Springer-Verlag.
Villegas, N.M., Müller, H.A., Muñoz, J.C., Lau, A., Ng, J., & Brealey, C. (2011a [in press]). A dynamic context management infrastructure for supporting user-driven web integration in the personal web. En Proceedings the 2011 Conference of the Center for Advanced Studies on Collaborative Research, Canada (CASCON 2010) (pp. 1-15). New York, NY: ACM.
Villegas, N.M., Müller, H.A., Tamura, G., Duchien, L., & Casallas, R. (2011b). A framework for evaluating quality-driven self-adaptive software systems. En Proceeding 6th international symposium on Software engineering for adaptive and self-managing systems (pp. 80–89). New York, NY: ACM.
Downloads
Publicado
2011-09-30
Edição
Seção
Discussion papers
Licença
Esta publicação está licenciada sob os termos da licença CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/deed.pt_BR).