Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/2797433.2797497acmotherconferencesArticle/Chapter ViewAbstractPublication PagesecsawConference Proceedingsconference-collections
research-article

Design for Sustainability = Runtime Adaptation ∪ Evolution

Published: 07 September 2015 Publication History

Abstract

Continuous change changes everything; it introduces various uncertainties, which may harm the sustainability of software systems. We argue that integrating runtime adaptation and evolution is crucial for the sustainability of software systems. Realising this integration calls for a radical change in the way software is developed and operated. Our position is that we need to Design for Sustainability. To that end, we present: (i) the AdEpS model (Adaptation and Evolution processes for Sustainability) to handle and mitigate uncertainties by means of integrating runtime adaptation and evolution, and (ii) a set of engineering principles to design software systems that facilitate the application of the AdEpS model to build sustainable software.

References

[1]
J. Andersson and T. Ritzau. Dynamic code update in JDRUMS. In Workshop on Software Engineering for Wearable and Pervasive Computing, 2000.
[2]
J. M. Barnes, D. Garlan, and B. Schmerl. Evolution styles: Foundations and models for software architecture evolution. Softw. Syst. Model., 13(2):649--678, May 2014.
[3]
C. Becker, R. Chitchyan, L. Duboc, S. Easterbrook, M. Mahaux, B. Penzenstadler, G. Rodríguez-Navas, C. Salinesi, N. Seyff, C. C. Venters, C. Calero, S. A. Koçak, and S. Betz. The karlskrona manifesto for sustainability design. CoRR, abs/1410.6968, 2014.
[4]
J. Bosch, R. Capilla, and R. Hilliard. Trends in systems and software variability {guest editors' introduction}. Software, IEEE, 32(3):44--51, May 2015.
[5]
E. Bruneton, T. Coupaye, M. Leclercq, V. Quéma, and J.-B. Stefani. The fractal component model and its support in java: Experiences with auto-adaptive and reconfigurable systems. Softw. Pract. Exper., 36(11-12):1257--1284, Sept. 2006.
[6]
M. Caporuscio, A. D. Marco, and P. Inverardi. Model-based system reconfiguration for dynamic performance management. Journal of Systems and Software, 80(4):455--473, 2007.
[7]
B. H. Cheng, R. Lemos, H. Giese, P. Inverardi, J. Magee, J. Andersson, B. Becker, N. Bencomo, Y. Brun, B. Cukic, G. Marzo Serugendo, S. Dustdar, A. Finkelstein, C. Gacek, K. Geihs, V. Grassi, G. Karsai, H. M. Kienle, J. Kramer, M. Litoiu, S. Malek, R. Mirandola, H. A. Müller, S. Park, M. Shaw, M. Tichy, M. Tivoli, D. Weyns, and J. Whittle. Software engineering for self-adaptive systems: A second research roadmap. In Software Engineering for Self-Adaptive Systems II, volume 7475 of Lecture Notes in Computer Science. Springer, 2009.
[8]
C. E. da Silva and R. de Lemos. Using dynamic workflows for coordinating self-adaptation of software systems. In 2009 ICSE Workshop on Software Engineering for Adaptive and Self-Managing Systems, SEAMS 2009, Vancouver, BC, Canada, May 18-19, 2009, pages 86--95. IEEE, 2009.
[9]
R. de Lemos, H. Giese, H. Muller, M. Shaw, J. Andersson, M. Litoiu, B. Schmerl, G. Tamura, N. Villegas, T. Vogel, D. Weyns, L. Baresi, B. Becker, N. Bencomo, Y. Brun, B. Cukic, R. Desmarais, S. Dustdar, G. Engels, K. Geihs, K. Goschka, A. Gorla, V. Grassi, P. Inverardi, G. Karsai, J. Kramer, A. Lopes, J. Magee, S. Malek, S. Mankovskii, R. Mirandola, J. Mylopoulos, O. Nierstrasz, M. Pezze, C. Prehofer, W. Sch Lfer, R. Schlichting, D. Smith, J. P. Sousa, L. Tahvildari, K. Wong, and J. Wuttke. Software engineering for self-adaptive systems: A second research roadmap. In Software Engineering for Self-Adaptive Systems II, volume 7475 of Lecture Notes in Computer Science. Springer Berlin Heidelberg, 2013.
[10]
M. Dmitriev. Towards flexible and safe technology for runtime evolution of java language applications. In Proc. of the Workshop on Engineering Complex Object-Oriented Systems for Evolution, 2001.
[11]
A. Elkhodary, N. Esfahani, and S. Malek. Fusion: A framework for engineering self-tuning self-adaptive software systems. In Eighteenth ACM SIGSOFT International Symposium on Foundations of Software Engineering, FSE '10, 2010.
[12]
Ericsson Computer Science Laboratory. Erlang. http://www.erlang.org/.
[13]
M. Galster, D. Weyns, D. Tofan, B. Michalik, and P. Avgeriou. Variability in software systems - a systematic literature review. Software Engineering, IEEE Transactions on, 40(3):282--306, March 2014.
[14]
D. Garlan, S.-W. Cheng, A.-C. Huang, B. Schmerl, and P. Steenkiste. Rainbow: Architecture-based self-adaptation with reusable infrastructure. Computer, 37(10):46--54, Oct. 2004.
[15]
T. Gu, H. K. Pung, and D. Q. Zhang. A service-oriented middleware for building context-aware services. Journal of Network and Computer Applications, 28(1):1--18, 2005.
[16]
S. Hallsteinsen, M. Hinchey, S. Park, and K. Schmid. Dynamic software product lines. Computer, 41(4):93--95, April 2008.
[17]
A. Helleboogh, D. Weyns, K. Schmid, T. Holvoet, K. Schelfthout, and W. Van Betsbrugge. Adding variants on-the-fly: Modeling meta-variability in dynamic software product lines. In Proceedings of the Third International Workshop on Dynamic Software Product Lines (DSPL SPLC 2009), pages 18--27, 2009.
[18]
M. Hinchey, S. Park, and K. Schmid. Building dynamic software product lines. Computer, 45(10):22--26, Oct 2012.
[19]
R. Hirschfeld, P. Costanza, and O. Nierstrasz. Context-oriented programming. Journal of Object Technology, 7(3):125--151, 2008.
[20]
T. Hofer, W. Schwinger, M. Pichler, G. Leonhartsberger, J. Altmann, and W. Retschitzegger. Context-awareness on mobile devices - the hydrogen approach. In HICSS, 2003.
[21]
M. U. Iftikhar and D. Weyns. Activforms: Active formal models for self-adaptation. In Proceedings of the 9th International Symposium on Software Engineering for Adaptive and Self-Managing Systems, SEAMS 2014, pages 125--134, New York, NY, USA, 2014. ACM.
[22]
J. Kramer and J. Magee. The evolving philosophers problem: Dynamic change management. IEEE Trans. Softw. Eng., 16(11):1293--1306, Nov. 1990.
[23]
J. Kramer and J. Magee. Self-managed systems: An architectural challenge. In 2007 Future of Software Engineering, FOSE '07, pages 259--268, 2007.
[24]
S. Malabarba, R. Pandey, J. Gragg, E. Barr, and J. F. Barnes. Runtime support for type-safe dynamic java classes. In Proc. of the 14th European Conference on Object-Oriented Programming, 2000.
[25]
J. McAffer, P. VanderLei, and S. Archer. OSGi and Equinox: Creating Highly Modular Java Systems. Addison Wesley, 2010.
[26]
B. Michalik, D. Weyns, N. Boucke, and A. Helleboogh. Supporting online updates of software product lines: A controlled experiment. In Empirical Software Engineering and Measurement (ESEM), 2011.
[27]
P. Oreizy, M. M. Golick, R. N. Taylor, D. Heimbigner, G. Johnson, N. Medvidovic, A. Quilici, D. S. Rosenblum, and A. L. Wolf. An architecture-based approach to self-adaptive software. IEEE Intelligent Systems, 14(3):54--62, 1999.
[28]
D. Perez-Palacin and R. Mirandola. Uncertainties in the modeling of self-adaptive systems: A taxonomy and an example of availability evaluation. In Proceedings of the 5th ACM/SPEC International Conference on Performance Engineering, ICPE '14, pages 3--14, 2014.
[29]
D. Ram and M. Rajasree. Enabling design evolution in software through pattern oriented approach. In D. Konstantas, M. Léonard, Y. Pigneur, and S. Patel, editors, Object-Oriented Information Systems, volume 2817 of Lecture Notes in Computer Science, pages 179--190. Springer Berlin Heidelberg, 2003.
[30]
J. C. Refsgaard, J. P. van der Sluijs, A. L. Højberg, and P. A. Vanrolleghem. Uncertainty in the environmental modelling process - a framework and guidance. Environ. Model. Softw., 22(11):1543--1556, Nov. 2007.
[31]
O. Riva. Contory: A middleware for the provisioning of context information on smart phones. In Middleware, pages 219--239, 2006.
[32]
M. Svahnberg, J. van Gurp, and J. Bosch. A taxonomy of variability realization techniques: Research articles. Softw. Pract. Exper., 35(8):705--754, July 2005.
[33]
Y. Vandewoude, P. Ebraert, Y. Berbers, and T. D'Hondt. Tranquility: A low disruptive alternative to quiescence for ensuring safe dynamic updates. IEEE Trans. Softw. Eng., 33(12):856--868, 2007.
[34]
D. Weyns, S. Malek, and J. Andersson. Forms: Unifying reference model for formal specification of distributed self-adaptive systems. ACM Trans. Auton. Adapt. Syst., 7(1):8:1--8:61, May 2012.
[35]
D. Weyns, B. Michalik, A. Helleboogh, and N. Boucke. An architectural approach to support online updates of software product lines. In Proceedings of the 2011 Ninth Working IEEE/IFIP Conference on Software Architecture, WICSA '11, pages 204--213, Washington, DC, USA, 2011. IEEE Computer Society.
[36]
D. Weyns, B. Schmerl, V. Grassi, S. Malek, R. Mirandola, C. Prehofer, J. Wuttke, J. Andersson, H. Giese, and K. Goschka. On patterns for decentralized control in self-adaptive systems. In Software Engineering for Self-Adaptive Systems II, volume 7475 of Lecture Notes in Computer Science, pages 76--107. Springer, 2013.

Cited By

View all
  • (2023)Towards DevOps for Cyber-Physical Systems (CPSs): Resilient Self-Adaptive Software for Sustainable Human-Centric Smart CPS Facilitated by Digital TwinsMachines10.3390/machines1110097311:10(973)Online publication date: 19-Oct-2023
  • (2023)The vision of self-evolving computing systemsJournal of Integrated Design and Process Science10.3233/JID-22000326:3-4(351-367)Online publication date: 13-Oct-2023
  • (2023)From Self-Adaptation to Self-Evolution Leveraging the Operational Design Domain2023 IEEE/ACM 18th Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS)10.1109/SEAMS59076.2023.00022(90-96)Online publication date: May-2023
  • Show More Cited By
  1. Design for Sustainability = Runtime Adaptation ∪ Evolution

    Recommendations

    Comments

    Please enable JavaScript to view thecomments powered by Disqus.

    Information & Contributors

    Information

    Published In

    cover image ACM Other conferences
    ECSAW '15: Proceedings of the 2015 European Conference on Software Architecture Workshops
    September 2015
    364 pages
    ISBN:9781450333931
    DOI:10.1145/2797433
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 07 September 2015

    Permissions

    Request permissions for this article.

    Check for updates

    Qualifiers

    • Research-article
    • Research
    • Refereed limited

    Conference

    ECSAW '15
    ECSAW '15: 2015 European Conference on Software Architecture Workshops
    September 7 - 11, 2015
    Cavtat, Dubrovnik, Croatia

    Acceptance Rates

    ECSAW '15 Paper Acceptance Rate 51 of 77 submissions, 66%;
    Overall Acceptance Rate 80 of 120 submissions, 67%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)11
    • Downloads (Last 6 weeks)2
    Reflects downloads up to 16 Nov 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2023)Towards DevOps for Cyber-Physical Systems (CPSs): Resilient Self-Adaptive Software for Sustainable Human-Centric Smart CPS Facilitated by Digital TwinsMachines10.3390/machines1110097311:10(973)Online publication date: 19-Oct-2023
    • (2023)The vision of self-evolving computing systemsJournal of Integrated Design and Process Science10.3233/JID-22000326:3-4(351-367)Online publication date: 13-Oct-2023
    • (2023)From Self-Adaptation to Self-Evolution Leveraging the Operational Design Domain2023 IEEE/ACM 18th Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS)10.1109/SEAMS59076.2023.00022(90-96)Online publication date: May-2023
    • (2022)Quantitative verification with adaptive uncertainty reductionJournal of Systems and Software10.1016/j.jss.2022.111275188:COnline publication date: 1-Jun-2022
    • (2020)Managing software evolution in embedded automotive systems20. Internationales Stuttgarter Symposium10.1007/978-3-658-30995-4_48(557-571)Online publication date: 18-Aug-2020
    • (2020)Towards a New Perspective of Building Tools for Context-Aware Mobile ApplicationsComputational Science and Its Applications – ICCSA 202010.1007/978-3-030-58817-5_42(576-586)Online publication date: 30-Sep-2020
    • (2019)Modeling Approach and Evaluation Criteria for Adaptable Architectural Runtime Model Instances2019 ACM/IEEE 22nd International Conference on Model Driven Engineering Languages and Systems (MODELS)10.1109/MODELS.2019.00006(227-232)Online publication date: Sep-2019
    • (2017)An open architecture approachProceedings of the 11th European Conference on Software Architecture: Companion Proceedings10.1145/3129790.3129793(85-88)Online publication date: 11-Sep-2017
    • (2017)Authoring tool for location-based learning experiencesProceedings of the 4th International Conference on Mobile Software Engineering and Systems10.1109/MOBILESoft.2017.32(211-212)Online publication date: 20-May-2017
    • (2017)IoT-Enabled Physical Telerehabilitation Platform2017 IEEE International Conference on Software Architecture Workshops (ICSAW)10.1109/ICSAW.2017.43(112-119)Online publication date: Apr-2017
    • Show More Cited By

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media