Towards Defining Families of Systems in IoT: Logical Architectures with Variation Points

  • Simone Di ColaEmail author
  • Kung-Kiu Lau
  • Cuong Tran
  • Chen Qian
Conference paper
Part of the Lecture Notes of the Institute for Computer Sciences, Social Informatics and Telecommunications Engineering book series (LNICST, volume 169)


In system design, the distinction between a logical architecture at design level and the corresponding physical distributed architecture at implementation level is recognised as good practice. In this paper we show how we can define logical architectures in which variation points can be defined explicitly. Such architectures define families of systems, and should therefore be useful for defining such families in IoT.


Software architecture Product families Component model Variability 


  1. 1.
    Asikainen, T., Männistö, T., Soininen, T.: Kumbang: a domain ontology for modelling variability in software product families. Adv. Eng. Inf. 21, 23–40 (2007)CrossRefGoogle Scholar
  2. 2.
    Asikainen, T., Soininen, T., Xu, Y.: A koala-based approach for modelling and deploying configurable software product families. In: van der Linden, F.J. (ed.) PFE 2003. LNCS, vol. 3014, pp. 225–249. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  3. 3.
    Bass, L., Clements, P., Kazman, R.: Software Architecture in Practice. SEI Series in Software Engineering, 3rd edn. Addison-Wesley, Boston (2012)Google Scholar
  4. 4.
    Broy, M.: Challenges in automotive software engineering. In: Leon, J., Osterweil, H., Rombach, D., Soffa, M.L. (edr.) 28th International Conference on Software Engineering, pp. 33–42. ACM (2006)Google Scholar
  5. 5.
    Clements, P., Northrop, L.: Software Product Lines: Practices and Patterns. Addison-Wesley, Boston (2002)Google Scholar
  6. 6.
    Clements, P.: Biglever newsletter: from the ple frontline - paul’s three surprises: part 3Google Scholar
  7. 7.
    Cola, S.D., Lau, K.-K., Tran, C., Qian, C., Arshad, R., Christou, V.: A component model for software product families. In: Paper submitted to the 18th International ACM Sigsoft Symposium on Component-Based Software Engineering (2015)Google Scholar
  8. 8.
    Cola, S., Tran, C., Lau, K.-K., Celesti, A., Fazio, M.: A heterogeneous approach for developing applications with FIWARE GEs. In: Dustdar, S., Leymann, F., Villari, M. (eds.) ESOCC 2015. LNCS, vol. 9306, pp. 65–79. Springer, Heidelberg (2015). doi: 10.1007/978-3-319-24072-5_5 CrossRefGoogle Scholar
  9. 9.
    Dashofy, E.M., van der Hoek, A., Taylor, R.N.: A comprehensive approach for the development of modular software architecture description languages. ACM Trans. Softw. Eng. Methodol. (TOSEM) 14, 199–245 (2005)CrossRefGoogle Scholar
  10. 10.
    Fazio, M., Celesti, A., Puliafito, A., Villari, M.: An integrated system for advanced multi-risk management based on cloud for IoT. In: Re, G.L. (ed.) Advances onto the Internet of Things. AISC, vol. 260, pp. 253–269. Springer, Heidelberg (2014)CrossRefGoogle Scholar
  11. 11.
    Fazio, M., Puliafito, A.: Cloud4sens: a cloud-based architecture for sensor controlling and monitoring. IEEE Commun. Mag. 53(3), 41–47 (2015)CrossRefGoogle Scholar
  12. 12.
    Galster, M., Avgeriou, P., Weyns, D., Männistö, T.: Variability in software architecture: current practice and challenges. SIGSOFT Softw. Eng. Notes 36(5), 30–32 (2011)CrossRefGoogle Scholar
  13. 13.
    Garlan, D.: Software architecture: a travelogue. In: Proceedings of the on Future of Software Engineering, FOSE, pp. 29–39. ACM, New York (2014)Google Scholar
  14. 14.
    Haber, A., Rendel, H., Rumpe, B., Schaefer, I., Van Der Linden, F.: Hierarchical variability modeling for software architectures. In: 15th International Software Product Line Conference (SPLC), pp. 150–159. IEEE (2011)Google Scholar
  15. 15.
    He, N., Kroening, D., Wahl, T., Lau, K.-K., Taweel, F., Tran, C., Rümmer, P., Sharma, S.: Component-based design and verification in X-MAN. In: Proceedings of Embedded Real Time Software and Systems (2012)Google Scholar
  16. 16.
    Tran, C., Saudrais, S., Lau, K.-K., Štěpán, P., Tchakaloff, B.: A holistic (component-based) approach to autosar designs. In: Proceedings of 39th EUROMICRO Conference on Software Engineering and Advanced Applications, pp. 203–207. IEEE (2013)Google Scholar
  17. 17.
    Kyo, C., Kang, J.L., Donohoe, P.: Feature-oriented product line engineering. IEEE Softw. 19(4), 58–65 (2002)CrossRefGoogle Scholar
  18. 18.
    Kruchten, P.: The Rational Unified Process: an Introduction. Addison-Wesley Professional, Boston (2004)Google Scholar
  19. 19.
    Lau, K.-K., Wang, Z.: Software component models. IEEE Trans. Softw. Eng. 33(10), 709–724 (2007)CrossRefGoogle Scholar
  20. 20.
    Lau, K.: Software component models: past, present and future. In: Proceedings of the 17th International ACM Sigsoft Symposium on Component-based Software Engineering, pp. 185–186. ACM (2014)Google Scholar
  21. 21.
    Medvidovic, N., Taylor, R.N.: A classification and comparison framework for software architecture description languages. IEEE Trans. Softw. Eng. 26(1), 70–93 (2000)CrossRefGoogle Scholar
  22. 22.
    Nakagawa, E.Y.: Reference architectures and variability: Current status and future perspectives. In: Proceedings of the WICSA/ECSA 2012 Companion Volume, WICSA/ECSA 2012, pp. 159–162. ACM, New York (2012)Google Scholar
  23. 23.
    Pérez, J., Díaz, J., Costa-Soria, C., Garbajosa, J.: Plastic partial components: a solution to support variability in architectural components. In: Joint Working IEEE/IFIP Conference on Software Architecture, & European Conference on Software Architecture, WICSA/ECSA, pp. 221–230. IEEE (2009)Google Scholar
  24. 24.
    Pohl, K., Böckle, G., Van Der Linden, F.: Software Product Line Engineering: Foundations, Principles, and Techniques. Springer, Berlin (2005)CrossRefzbMATHGoogle Scholar
  25. 25.
    Pretschner, A., Broy, M., Kruger, I.H., Stauner, T.: Software engineering for automotive systems: a roadmap. In: Future of Software Engineering, FOSE 2007, pp. 55–71. IEEE Computer Society, Washington (2007)Google Scholar
  26. 26.
    Sinnema, M., Deelstra, S., Nijhuis, J., Dannenberg, R.B.: COVAMOF: a framework for modeling variability in software product families. In: Nord, R.L. (ed.) SPLC 2004. LNCS, vol. 3154, pp. 197–213. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  27. 27.
    van der Hoek, A., Mikic-Rakic, M., Roshandel, R., Medvidovic, N.: Taming architectural evolution. In: Proceedings of the 8th European Software Engineering Conference Held Jointly with 9th ACM SIGSOFT International Symposium on Foundations of Software Engineering, ESEC/FSE-9, pp. 1–10. ACM, New York (2001)Google Scholar
  28. 28.
    van Ommering, R., van der Linden, F., Kramer, J., Magee, J.: The Koala component model for consumer electronics software. IEEE Computer (2000)Google Scholar

Copyright information

© ICST Institute for Computer Sciences, Social Informatics and Telecommunications Engineering 2016

Authors and Affiliations

  • Simone Di Cola
    • 1
    Email author
  • Kung-Kiu Lau
    • 1
  • Cuong Tran
    • 1
  • Chen Qian
    • 1
  1. 1.School of Computer ScienceThe University of ManchesterManchesterUK

Personalised recommendations