Semantics-Driven Programming of Self-Adaptive Reactive Systems
Abstract
In recent years, new classes of highly dynamic, complex systems are gaining momentum. These classes include, but are not limited to IoT, smart cities, cyber-physical systems and sensor networks. These systems are characterized by the need to express behaviors driven by external and/or internal changes, i.e. they are reactive and context-aware. A desirable design feature of these systems is the ability of adapting their behavior to environment changes. In this paper, we propose an approach to support adaptive, reactive systems based on semantic runtime representations of their context, enabling the selection of equivalent behaviors, i.e. behaviors that have the same effect on the environment. The context representation and the related knowledge are managed by an engine designed according to a reference architecture and programmable through a declarative definition of sensors and actuators. The knowledge base of sensors and actuators (hosted by an RDF triplestore) is bound to the real world by grounding semantic elements to physical devices via REST APIs. The proposed architecture along with the defined ontology tries to address the main problems of dynamically re-configurable systems by exploiting a declarative, queryable approach to enable runtime reconfiguration with the help of (a) semantics to support discovery in heterogeneous environment, (b) composition logic to define alternative behaviors for variation points, (c) bi-causal connection life-cycle to avoid dangling links with the external environment. The proposal is validated in a case study aimed at designing an edge node for smart buildings dedicated to cultural heritage preservation.
References
- 1. ,
On the development of reactive systems , in Logics and Models of Concurrent Systems (Springer, 1985), pp. 477–498. Crossref, Google Scholar - 2. ,
Synchronous programming of reactive systems , in Computer Aided Verification, eds. A. J. Hu and M. Y. Vardi (Springer, Berlin, Heidelberg, 1998), pp. 1–16. Crossref, Google Scholar - 3. , Context-aware composition of semantic web services, Mobile Netw. Appl. 19(2) (2014) 235–248. Crossref, Web of Science, Google Scholar
- 4. , Semantic sensor network ontology, W3C Recommendation W3C (2017). Google Scholar
- 5. , Design Methods for Reactive Systems: Yourdon, Statemate, and the UML (Elsevier, 2003). Google Scholar
- 6. , Reactive Design Patterns (Manning Publications, 2017). Google Scholar
- 7. , Systematic literature review of the objectives, techniques, kinds, and architectures of models at runtime, Softw. Syst. Model. 15(1) (2016) 31–69. Crossref, Web of Science, Google Scholar
- 8. , Adapting heterogeneous devices into an iot context-aware infrastructure, in IEEE/ACM 11th Int. Symp. Software Engineering for Adaptive and Self-Managing Systems, 2016, pp. 64–74. Crossref, Google Scholar
- 9. , Improving context-awareness in self-adaptation using the DYNAMICO reference model, in Software Engineering for Adaptive and Self-Managing Systems, 2013, pp. 153–162. Crossref, Google Scholar
- 10. , Self-healing for distributed workflows in the internet of things, in IEEE Int. Conf. Software Architecture Workshops, 2017, pp. 72–79. Crossref, Google Scholar
- 11. , Integrating semantic run-time models for adaptive software systems, J. Web Eng. 18(1–3) (2019) 1–42, https://doi.org/10.13052/jwe1540-9589.18131. Crossref, Web of Science, Google Scholar
- 12. , Dynamic high-level in self-adaptive systems, in 6th Int. Conf. Reliability, Infocom Technologies and Optimization (Trends and Future Directions), 2017, pp. 49–60, https://doi.org/10.1109/ICRITO.2017.8342398. Crossref, Google Scholar
- 13. , Semantic run-time models for self-adaptive systems: a case study, in 25th IEEE Int. Conf. Enabling Technologies: Infrastructure for Collaborative Enterprises, 2016, pp. 50–55, https://doi.org/10.1109/WETICE.2016.20. Crossref, Google Scholar
- 14. , An application of semantic technologies to self adaptations, in IEEE 2nd Int. Forum on Research and Technologies for Society and Industry Leveraging a Better Tomorrow, 2016, pp. 1–6, https://doi.org/10.1109/RTSI.2016.7740548. Crossref, Google Scholar
- 15. , Capturing variability in adaptation spaces: A three-peaks approach, in Int. Conf. Conceptual Modeling, Springer, 2015, pp. 384–398. Crossref, Google Scholar
- 16. , Software descriptions with flow expressions, IEEE Trans. Softw. Eng. SE-4(3) (1978) 242–254. Crossref, Web of Science, Google Scholar
- 17. , Relax: Incorporating uncertainty into the specification of self-adaptive systems, in 17th IEEE Int. Requirements Engineering Conf., 2009, pp. 79–88. Crossref, Google Scholar
- 18. , Tiers of ontology and consistency constraints in geographical information systems, Int. J. Geograph. Inf. Sci. 15(7) (2001) 667–678. Crossref, Web of Science, Google Scholar
- 19. , A survey of context modelling and reasoning techniques, Pervasive Mobile Comput. 6(2) (2010) 161–180. Crossref, Web of Science, Google Scholar
- 20. , A general-purpose context modeling architecture for adaptive mobile services, in Int. Conf. Conceptual Modeling, 2008, pp. 208–217. Crossref, Google Scholar
- 21. , Soupa: Standard ontology for ubiquitous and pervasive applications, in The First Annual Int. Conf. Mobile and Ubiquitous Systems: Networking and Services, 2004, pp. 258–267. Crossref, Google Scholar
- 22. , Context aware computing for the internet of things: A survey, IEEE Commun. Surveys Tutorials 16(1) (2014) 414–454. Crossref, Web of Science, Google Scholar
- 23. S. Kaebisch, T. Kamiya, M. McCool, V. Charpenay and M. Kovatsch, Web of things (WoT) thing description, W3C Recommendation, 9 April 2020 (link errors corrected 23 June 2020), W3C, 2020. Google Scholar
- 24. , SOSA: A lightweight ontology for sensors, observations, samples, and actuators, J. Web Semantics 56 (2019) 1–10. Crossref, Web of Science, Google Scholar
- 25. , Modeling smart sensors on top of SOSA/SSN and WOT TD with the semantic smart sensor network (S3N) modular ontology, in 9th Int. Semantic Sensor Network Workshop,
Monterey, United States , 2018. Google Scholar - 26. ,
Reasoning and learning for awareness and adaptation , in Software Engineering for Collective Autonomic Systems, Springer, 2015, pp. 249–290. Crossref, Google Scholar - 27. , Modelling owl ontologies with graffoo, in European Semantic Web Conference, 2014, pp. 320–325. Crossref, Google Scholar
- 28. D. Martin, M. Burstein, J. Hobbs, O. Lassila, D. McDermott, S. McIlraith, S. Narayanan, M. Paolucci, B. Parsia, T. Payne et al., OWL-S: Semantic markup for web services, W3C Member Submission 2004, https://www.w3.org/Submission/OWL-S/. Google Scholar
- 29. , An ontology for the business process modelling notation. in Formal Ontology in Information Systems, 2014, pp. 133–146. Google Scholar
- 30. , Planned etsi saref extensions based on the w3c&ogc sosa/ssn-compatible seas ontology paaerns, in Proc. Workshop on Semantic Interoperability and Standardization in the IoT, 2017, p. 11. Google Scholar
- 31. , Querying a complex web-based kb for cultural heritage preservation, in 2nd Int. Conf. Knowledge Engineering and Applications, 2017, pp. 183–188. Crossref, Google Scholar
- 32. E. Prud’hommeaux, G. Carothers, D. Beckett and T. Berners-Lee, Turtle–terse rdf triple language, 2013, https://www.w3.org/TR/2013/CR-turtle-20130219/. Google Scholar
- 33. , Resilient reactive systems based on runtime semantic models, in IEEE Int. Symp. Software Reliability Engineering Workshops, 2019, pp. 177–184, https://doi.org/10.1109/ISSREW.2019.00069. Crossref, Google Scholar
- 34. , Context-aware reactive systems based on runtime semantic models, in Proc. 31st Int. Conf. Software Engineering and Knowledge Engineering, 2019, pp. 301–306, https://doi.org/10.18293/SEKE2019-169. Crossref, Google Scholar
- 35. , Dynamic high-level requirements in self-adaptive systems, Proc. 33rd Annual ACM Symp. Applied Computing, 2018, pp. 128–137, https://doi.org/10.1145/3167132.3167143. Crossref, Google Scholar
- 36. , Annotations with EARMARK in practice: A fairy tale, in Proc. 1st Int. Workshop on Collaborative Annotations in Shared Environment: Metadata, Vocabularies and Techniques in the Digital Humanities, 2013, pp. 11–18, https://doi.org/10.1145/2517978.2517990. Crossref, Google Scholar
Remember to check out the Most Cited Articles! |
---|
Check out our titles in C++ Programming! |