Skip to main content

Applying Architecture-Based Adaptation to Automate the Management of Internet-of-Things

  • Conference paper
  • First Online:
Software Architecture (ECSA 2018)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 11048))

Included in the following conference series:

Abstract

Architecture-based adaptation equips a software-intensive system with a feedback loop that enables the system to adapt itself at runtime to changes to maintain its required quality goals. To guarantee the required goals, existing adaptation approaches apply exhaustive verification techniques at runtime. However these approaches are restricted to small-scale settings, which often limits their applicability in practice. To tackle this problem, we introduce an innovative architecture-based adaptation approach to solve a concrete practical problem of VersaSense: automating the management of Internet-of-Things (IoT). The approach, called MARTAS, equips a software system with a feedback loop that employs Models At Run Time and Statistical techniques to reason about the system and adapt it to ensure the required goals. We apply MARTAS to a building security case system, which is a representative IoT system deployed by VersaSense. The application comprises a set of IoT devices that communicate sensor data over a time synchronized smart mess network to a central monitoring facility. We demonstrate how MARTAS outperforms a conservative approach that is typically applied in practice and a state-of-the-art adaptation approach for different quality goals, and we report lessons learned from this industrial case.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 59.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 74.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    https://www.lora-alliance.org/; https://www.semtech.com/technology/lora.

  2. 2.

    http://ww1.microchip.com/downloads/en/DeviceDoc/50002346C.pdf.

  3. 3.

    The simulator: https://people.cs.kuleuven.be/~danny.weyns/software/DeltaIoT/.

  4. 4.

    RQV could complete the ongoing verifications that were started within 8  min.

References

  1. Asadollahi, R., et al.: StarMX: a framework for developing self-managing java-based systems. In: Software Engineering for Adaptive and Self-Managing Systems. IEEE (2009)

    Google Scholar 

  2. Brun, Y., et al.: Engineering self-adaptive systems through feedback loops. In: Cheng, B.H.C. (ed.) Software Engineering for Self-Adaptive Systems. LNCS, vol. 5525, pp. 48–70. Springer, Heidelberg (2009). https://doi.org/10.1007/978-3-642-02161-9_3

    Chapter  Google Scholar 

  3. Calinescu, R.: Dynamic QoS management and optimization in service-based systems. IEEE Trans. Softw. Eng. 37(3), 387–409 (2011)

    Article  Google Scholar 

  4. Cámara, J.: Assurances for Self-Adaptive Systems. LNCS, vol. 7740. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-36249-1

    Book  Google Scholar 

  5. Cámara, J., et al.: Evolving an adaptive industrial software system to use architecture-based self-adaptation. In: International Symposium on Software Engineering for Adaptive and Self-Managing Systems. IEEE Press (2013)

    Google Scholar 

  6. Cheng, B.H.C., et al.: Software engineering for self-adaptive systems: a research roadmap. In: Cheng, B.H.C. (ed.) Software Engineering for Self-Adaptive Systems. LNCS, vol. 5525, pp. 1–26. Springer, Heidelberg (2009). https://doi.org/10.1007/978-3-642-02161-9_1

    Chapter  Google Scholar 

  7. Di Marzo Serugendo, G., Gleizes, M.P., Karageorgos, A.: Self-organization in multi-agent systems. Knowl. Eng. Rev. 20(2), 165–189 (2005)

    Article  Google Scholar 

  8. Dobson, S.: A survey of autonomic communications. ACM Trans. Auton. Adapt. Syst. 1, 223–259 (2006)

    Article  Google Scholar 

  9. Dustdar, S.: Principles of elastic processes. IEEE Internet Comput. 15(5), 66–71 (2011)

    Article  Google Scholar 

  10. Galante, G., de Bona, L.: A survey on cloud computing elasticity. In: International Conference on Utility and Cloud Computing. IEEE Computer Society (2012)

    Google Scholar 

  11. Garlan, D.: Rainbow: architecture-based self-adaptation with reusable infrastructure. Computer 37(10), 46–54 (2004)

    Article  Google Scholar 

  12. Georgas, J.C., Taylor, R.N.: Policy-based architectural adaptation management: robotics domain case studies. In: Cheng, B.H.C., et al. (eds.) Software Engineering for Self-Adaptive Systems. LNCS, vol. 5525, pp. 89–108. Springer, Heidelberg (2009). https://doi.org/10.1007/978-3-642-02161-9_5

    Chapter  Google Scholar 

  13. Happe, J., Koziolek, H., Bellur, U., et al.: The role of models in self-adaptive and self-healing systems. In: Self-Healing and Self-Adaptive Systems, Dagstuhl Report (2009)

    Google Scholar 

  14. Kephart, J.O., Chess, D.M.: The vision of autonomic computing. Computer 36(1), 41–50 (2003)

    Article  MathSciNet  Google Scholar 

  15. Kounev, S.: Self-Aware Computing Systems. Springer, Heidelberg (2017). https://doi.org/10.1007/978-3-319-47474-8

    Book  Google Scholar 

  16. Kramer, J., Magee, J.: Self-managed systems: an architectural challenge. In: Future of Software Engineering. IEEE Computer Society (2007)

    Google Scholar 

  17. Kwiatkowska, M., Norman, G., Parker, D.: PRISM 4.0: verification of probabilistic real-time systems. In: Gopalakrishnan, G., Qadeer, S. (eds.) CAV 2011. LNCS, vol. 6806, pp. 585–591. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-22110-1_47

    Chapter  Google Scholar 

  18. de Lemos, R., et al.: Software engineering for self-adaptive systems: a second research roadmap. In: de Lemos, R., Giese, H., Müller, H.A., Shaw, M. (eds.) Software Engineering for Self-Adaptive Systems II. LNCS, vol. 7475, pp. 1–32. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-35813-5_1

    Chapter  Google Scholar 

  19. de Lemos, R., et al.: Software engineering for self-adaptive systems: research challenges in the provision of assurances. In: de Lemos, R., Garlan, D., Ghezzi, C., Giese, H. (eds.) Software Engineering for Self-Adaptive Systems III. Assurances. LNCS, vol. 9640, pp. 3–30. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-74183-3_1

    Chapter  Google Scholar 

  20. Matthys, N., et al.: \(\mu \)pnp-mesh: the plug-and-play mesh network for the internet of things. In: IEEE 2nd World Forum on Internet of Things (2015)

    Google Scholar 

  21. Oreizy, P., Medvidovic, N., Taylor, R.N.: Architecture-based runtime software evolution. In: International Conference on Software Engineering. IEEE Computer Society (1998)

    Google Scholar 

  22. Redwine, S., Riddle, W.: Software technology maturation. In: International Conference on Software Engineering. IEEE Computer Society Press (1985)

    Google Scholar 

  23. Salehie, M., Tahvildari, L.: Self-adaptive software: landscape and research challenges. Trans. Auton. Adapt. Syst. 4, 14:1–14:42 (2009)

    Google Scholar 

  24. Shevtsov, S.: Control-theoretical software adaptation: a systematic literature review. IEEE Trans. Softw. Eng. 44, 784–810 (2017)

    Article  Google Scholar 

  25. da Silva, C.E., et al.: Self-adaptive role-based access control for business processes. In: Software Engineering for Adaptive and Self-Managing Systems. IEEE Press (2017)

    Google Scholar 

  26. Van Der Donckt, J., et al.: Cost-benefit analysis at runtime for self-adaptive systems applied to an IoT application. In: Evaluation of Novel Approaches to Software Engineering (2018)

    Google Scholar 

  27. Weyns, D.: Software Engineering of Self-Adaptive Systems: An Organised Tour and Future Challenges. In: Handbook of Software Engineering. Springer, Heidelberg (2018). https://people.cs.kuleuven.be/danny.weyns/papers/2017HSE.pdf. (forthcoming)

  28. Weyns, D., Iftikhar, U., Söderlund, J.: Do external feedback loops improve the design of self-adaptive systems? A controlled experiment. In: International Symposium on Software Engineering of Self-Managing and Adaptive Systems. SEAMS 2013 (2013)

    Google Scholar 

  29. Weyns, D., Malek, S., Andersson, J.: FORMS: unifying reference model for formal specification of distributed self-adaptive systems. ACM TAAS 7(1), 8:1–8:61 (2012)

    Google Scholar 

  30. Weyns, D., et al.: Perpetual assurances for self-adaptive systems. In: de Lemos, R., Garlan, D., Ghezzi, C., Giese, H. (eds.) Software Engineering for Self-Adaptive Systems III. Assurances. LNCS, vol. 9640, pp. 31–63. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-74183-3_2

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Danny Weyns .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2018 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Weyns, D., Iftikhar, M.U., Hughes, D., Matthys, N. (2018). Applying Architecture-Based Adaptation to Automate the Management of Internet-of-Things. In: Cuesta, C., Garlan, D., Pérez, J. (eds) Software Architecture. ECSA 2018. Lecture Notes in Computer Science(), vol 11048. Springer, Cham. https://doi.org/10.1007/978-3-030-00761-4_4

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-00761-4_4

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-00760-7

  • Online ISBN: 978-3-030-00761-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics