ReIOS: Reflective Architecting in the Internet of Objects

Marina Mongiello, Gennaro Boggia, Eugenio Di Sciascio


Self-adaptive systems are modern applications in which the running software system should be able to react on its own, by dynamically adapting its behavior, for sustaining a required set of qualities of service, and dynamic changes in the context or in user requirements. They are typically involved in Future Internet development such as the Internet of Things where interoperability, flexibility, and adaptability are key requirements. Convergence of contents, services, things and networks seems to be the cornerstone to fullfil these requirements. We propose a reflective approach to provide a common abstraction for automating the deployment of component based applications in the Internet of Things environment. The proposed framework allows the design of heterogeneous, distributed, and adaptive applications built on the component based software engineering paradigm. The framework considers a metamodel instantiated in a Rest middleware properly modified for allowing different implementations by using reflective design patterns. We are currently working to refine the framework metamodel and to validate it in several implementation domains.


  1. Arcaini, P., Riccobene, E., and Scandurra, P. (2015). Modeling and analyzing MAPE-K feedback loops for selfadaptation. In 10th IEEE/ACM International Symposium on Software Engineering for Adaptive and Self-Managing Systems, SEAMS 2015, Florence, Italy, May 18-19, 2015, pages 13-23.
  2. Autili, M., Benedetto, P. D., and Inverardi, P. (2009). Context-aware adaptive services: The PLASTIC approach. In Fundamental Approaches to Software Engineering, 12th International Conference, FASE 2009, ETAPS 2009, York, UK, March 22-29, 2009. Proceedings, pages 124-139.
  3. Autili, M., Inverardi, P., and Tivoli, M. (2014). CHOREOS: large scale choreographies for the future internet. In 2014 Software Evolution Week - IEEE Conference on Software Maintenance, Reengineering, and Reverse Engineering, CSMR-WCRE 2014, Antwerp, Belgium, February 3-6, 2014, pages 391-394.
  4. Baldauf, M., Dustdar, S., and Rosenberg, F. (2007). A survey on context-aware systems. Int. J. of Ad Hoc and Ubiquitous Computing, 2(4):263-277.
  5. Bucchiarone, A., Ehrig, H., Ermel, C., Pelliccione, P., and Runge, O. (2015). Rule-based modeling and static analysis of self-adaptive systems by graph transformation. In Software, Services, and Systems, pages 582- 601.
  6. Calinescu, R. (2013). Emerging techniques for the engineering of self-adaptive high-integrity software. In Assurances for Self-Adaptive Systems, pages 297-310. Springer.
  7. Cheng, B. H. e. a. (2009). Software engineering for selfadaptive systems: A research roadmap. In Software Engineering for Self-Adaptive Systems, pages 1-26. Springer-Verlag, Berlin, Heidelberg.
  8. Cubo, J., Brogi, A., and Pimentel, E. (2012). Behaviouraware compositions of things. In Green Computing and Communications (GreenCom), 2012 IEEE International Conference on, pages 1-8. IEEE.
  9. Cubo, J., Ortiz, G., Boubeta-Puig, J., Foster, H., and Lamersdorf, W. (2014). Adaptive services for the future internet. J. UCS, 20(8):1046-1048.
  10. Ferreira, L. L. and Rubira, C. M. F. (1998). Reflective design patterns to implement fault tolerance. In OOPSLA 1998.
  11. Gamma, E., Helm, R., Johnson, R., and Vlissides, J. (1994). Design patterns: elements of reusable object-oriented software. Pearson Education.
  12. González, L., Cubo, J., Brogi, A., Pimentel, E., and Ruggia, R. (2013). Run-time verification of behaviour-aware mashups in the internet of things. In Advances in Service-Oriented and Cloud Computing, pages 318- 330. Springer.
  13. Guinard, D., Ion, I., and Mayer, S. (2012). In search of an internet of things service architecture: Rest or ws*? a developers perspective. In Mobile and Ubiquitous Systems: Computing, Networking, and Services, pages 326-337. Springer.
  14. Guinard, D., Trifa, V., and Wilde, E. (2010). A resource oriented architecture for the web of things. In Internet of Things (IOT), 2010, pages 1-8. IEEE.
  15. Hamida, A. B., Kon, F., Oliva, G. A., Dos Santos, C. E. M., Lorré, J.-P., Autili, M., De Angelis, G., Zarras, A., Georgantas, N., Issarny, V., et al. (2012). An integrated development and runtime environment for the future internet. In The Future Internet, pages 81-92. Springer.
  16. Kramer, J. and Magee, J. (2007). Self-managed systems: an architectural challenge. In Future of Software Engineering, 2007. FOSE'07, pages 259-268. IEEE.
  17. Lehmann, G., Blumendorf, M., Trollmann, F., and Albayrak, S. (2011). Meta-modeling runtime models. In Proceedings of the 2010 International Conference on Models in Software Engineering, MODELS'10, pages 209-223, Berlin, Heidelberg. Springer-Verlag.
  18. Maes, P. (1987a). Concepts and experiments in computational reflection. In Conference Proceedings on Object-oriented Programming Systems, Languages and Applications, OOPSLA 7887, pages 147-155, New York, NY, USA. ACM.
  19. Maes, P. (1987b). Concepts and experiments in computational reflection. SIGPLAN Not., 22(12):147-155.
  20. Mongiello, M., Grieco, A. L., Sciancalepore, M., and Vogli, E. (2015a). Adaptive architectural model for future internet applications. In Proc. of the 5th International Workshop on Adaptive services for future internet.
  21. Mongiello, M., Pelliccione, P., and Siancalepore, M. (2015b). Ac-contract: run-time verification of context-aware systems. In Software Engineering for Adaptive and Self-Managing Systems, 2015. SEAMS 7815. ICSE Workshop on, pages 106-115.
  22. Palattella, M. R., Accettura, N., Vilajosana, X., Watteyne, T., Grieco, L. A., Boggia, G., and Dohler, M. (2013). Standardized protocol stack for the internet of (important) things. IEEE Commun. Surveys & Tutorials, 15(3):1389-1406. doi:10.1109/SURV.2012.111412.00158.
  23. Pelliccione, P., Tivoli, M., Bucchiarone, A., and Polini, A. (2008). An architectural approach to the correct and automatic assembly of evolving componentbased systems. Journal of Systems and Software, 81(12):2237-2251.
  24. R. de Lemos et al. (2013). Software engineering for selfadaptive systems: A second research roadmap. In Software Engineering for Self-Adaptive Systems II, volume 7475 of Lecture Notes in Computer Science, pages 1-32. Springer Berlin Heidelberg.
  25. Riccobene, E. and Scandurra, P. (2015). Formal modeling self-adaptive service-oriented applications. In Proceedings of the 30th Annual ACM Symposium on Applied Computing, Salamanca, Spain, April 13-17, 2015, pages 1704-1710.
  26. Salehie, M. and Tahvildari, L. (2009). Self-adaptive software: Landscape and research challenges. ACM Trans. Auton. Adapt. Syst., 4(2):14:1-14:42.
  27. Salvaneschi, G., Ghezzi, C., and Pradella, M. (2013). An analysis of language-level support for self-adaptive software. ACM (TAAS), 8(2):7.
  28. Strang, T. and Linnhoff-Popien, C. (2004). A context modeling survey. In Workshop Proceedings.
  29. Swetina, J., Lu, G., Jacobs, P., Ennesser, F., and Song, J. (2014). Toward a standardized common m2m service layer platform: Introduction to onem2m. IEEE Wireless Communications, 21(3):20-26.
  30. Tan, L. and Wang, N. (2010). Future internet: The internet of things. In Advanced Computer Theory and Engineering (ICACTE), 2010 3rd International Conference on, volume 5, pages V5-376. IEEE.
  31. Torjusen, A. B., Abie, H., Paintsil, E., Trcek, D., and Skomedal, A°. (2014). Towards run-time verification of adaptive security for IoT in eHealth. In Proc. of the 2014 European Conf. on Software Architecture Workshops, page 4. ACM.
  32. Vögler, M., Li, F., Claeßens, M., Schleicher, J. M., Sehic, S., Nastic, S., and Dustdar, S. (2015). Colt collaborative delivery of lightweight iot applications. In Internet of Things. User-Centric IoT, pages 265-272. Springer.
  33. Vogli, E., Ben Alaya, M., Monteil, T., Grieco, L. A., and Drira, K. (2015). An efficient resource naming for enabling constrained devices in smartm2m architecture. In IEEE International Conference on Industrial Technology (ICIT) 2015, pages 1832-1837.
  34. Weyns, D., Iftikhar, M. U., de la Iglesia, D. G., and Ahmad, T. (2012). A survey of formal methods in self-adaptive systems. In Proceedings of the Fifth International C* Conference on Computer Science and Software Engineering, pages 67-79. ACM.

Paper Citation

in Harvard Style

Mongiello M., Boggia G. and Sciascio E. (2016). ReIOS: Reflective Architecting in the Internet of Objects . In Proceedings of the 4th International Conference on Model-Driven Engineering and Software Development - Volume 1: MODELSWARD, ISBN 978-989-758-168-7, pages 384-389. DOI: 10.5220/0005800603840389

in Bibtex Style

author={Marina Mongiello and Gennaro Boggia and Eugenio Di Sciascio},
title={ReIOS: Reflective Architecting in the Internet of Objects},
booktitle={Proceedings of the 4th International Conference on Model-Driven Engineering and Software Development - Volume 1: MODELSWARD,},

in EndNote Style

JO - Proceedings of the 4th International Conference on Model-Driven Engineering and Software Development - Volume 1: MODELSWARD,
TI - ReIOS: Reflective Architecting in the Internet of Objects
SN - 978-989-758-168-7
AU - Mongiello M.
AU - Boggia G.
AU - Sciascio E.
PY - 2016
SP - 384
EP - 389
DO - 10.5220/0005800603840389