Integrating Semantic Run-Time Models for Adaptive Software Systems
Software-intensive systems work in ever-changing environments requiring expensive technical efforts to manage their evolution. In order to mitigate their risks and costs they should dynamically self-adapt to any modification of their environment. MAPE-K (Monitor,
Analyze, Plan, Execute – Knowledge) is the basic architectural pattern for building software-intensive self-adaptable systems. In this paper we propose an approach in which all the information about a system and its environment is unified by using Semantic Web technologies into a set of semantic run-time models which enhance the Knowledge in MAPE-K. Ontologies are used to manage the interaction and integration of these models with disparate data sources. The resulting knowledge base is then used to drive adaptation activities exploiting well known languages and notations. We discuss how MAPE-K can be exploited in order to take advantage of ontological representations, along with Semantic Web languages and tools, by studying a real-word case study: a legacy system that was not designed to perform automatic adaptation. We discuss merits and limits of our approach based on semantic runtime models both in the context of this specific case study and in a broader scope.
M. Salehie and L. Tahvildari, “Self-adaptive software: Landscape and research challenges,” ACM Transactions on Autonomous and Adaptive Systems (TAAS), vol. 4, no. 2, p. 14, 2009.
J. L. Hellerstein, Y. Diao, S. Parekh, and D. M. Tilbury, Feedback control of computing systems. John Wiley and Sons, 2004.
K. J. Aström and R. M. Murray, Feedback systems: an introduction for scientists and engineers. Princeton university press, 2010.
G. Blair, N. Bencomo, and R. B. France, “Models@run.time,” Computer, vol. 42, no. 10, pp. 22–27, 2009.
P. Oreizy, M. Gorlick et al., “An architecture-based approach to self-adaptive software,” IEEE Intelligent systems, no. 3, pp. 54–62, 1999.
J. O. Kephart and D. M. Chess, “The vision of autonomic computing,” Computer, vol. 36, no. 1, pp. 41–50, 2003.
D. Garlan, S.-W. Cheng, A.-C. Huang, B. Schmerl, and P. Steenkiste, “Rainbow: Architecture-based self-adaptation with reusable infrastructure,” Computer, vol. 37, no. 10, pp. 46–54, 2004.
R. France and B. Rumpe, “Model-driven development of complex software: A research roadmap,” in Future of Software Engineering. IEEE Computer Society, 2007, pp. 37–54.
M. Derakhshanmanesh, J. Ebert, M. Grieger, and G. Engels, “Model-integrating development of software systems: a flexible component-based approach,” Software and Systems Modeling, 2018.
P. Agarwal, “Ontological considerations in giscience,” International Journal of Geographical Information Science, vol. 19, no. 5, pp. 501–536, 2005.
W. O. W. Group, “Owl 2 web ontology language,” 2012. [Online]. Available: https: //www.w3.org/TR/owl2-overview/
E. Prud’Hommeaux, A. Seaborne et al., “Sparql query language for rdf,” 2008. [Online]. Available: https://www.w3.org/TR/rdf-sparql-query/
E. Sirin, B. Parsia, B. C. Grau, A. Kalyanpur, and Y. Katz, “Pellet: A practical owl-dl reasoner,” Web Semantics: science, services and agents on the World Wide Web, vol. 5, no. 2, pp. 51–53, 2007.
D. Tsarkov and I. Horrocks, “Fact++ description logic reasoner: System description,” in Automated reasoning. Springer, 2006, pp. 292–297.
B. Glimm, I. Horrocks, B. Motik, G. Stoilos, and Z. Wang, “HermiT: an OWL 2 reasoner,” Journal of Automated Reasoning, vol. 53, no. 3, pp. 245–269, 2014.
I. Horrocks, Patel-Schneider et al., “SWRL: A semantic web rule language combining OWL and RuleML,” 2004.
J. Rao and X. Su, “A survey of automated web service composition methods,” in Semantic Web Services and Web Process Composition. Springer, 2005, pp. 43–54.
D. Martin, M. Burstein, D. Mcdermott, S. Mcilraith, M. Paolucci, K. Sycara, D. L. Mcguinness, E. Sirin, and N. Srinivasan, “Bringing semantics to web services with OWL-S,” World Wide Web, vol. 10, no. 3, pp. 243–277, 2007.
A. Ankolekar, M. Burstein, J. R. Hobbs, O. Lassila, D. Martin, D. McDermott, S. A. McIlraith, S. Narayanan, M. Paolucci, T. Payne, and others, “DAML-S: Web service description for the semantic web,” in The Semantic Web—ISWC 2002. Springer, 2002, pp. 348–363.
S. Narayanan and S. McIlraith, “Simulation, verification and automated composition of web services,” in Proc. 11th Int. Conf. on the WWW. ACM, 2002, pp. 77–88.
K. Sycara, M. Paolucci, A. Ankolekar, and N. Srinivasan, “Automated discovery, interaction and composition of semantic web services,” Web Semantics: Science, Services and Agents on the World Wide Web, vol. 1, no. 1, pp. 27–46, 2003.
E. Sirin, J. Hendler, and B. Parsia, “Semi-automatic Composition of Web Services using Semantic Descriptions,” In Web Services: Modeling, Architecture and Infrastructure workshop in ICEIS. 2003. Citeseer, 2002.
G. Gharbi, M. B. Alaya, C. Diop, and E. Exposito, “Aoda: an autonomic and ontology-driven architecture for service-oriented and event-driven systems,” in Enabling Technologies: Infrastructure for Collaborative Enterprises (WETICE 13). IEEE, 2012, pp. 72–77.
S. Ramanathan, A. Kamoun, and C. Chassot, “Ontology-based collaborative framework for disaster recovery scenarios,” in Enabling Technologies: Infrastructure for Collaborative Enterprises (WET-ICE 13). IEEE, 2012, pp. 104–106.
S. Niemczyk and K. Geihs, “Adaptive run-time models for groups of autonomous robots,” in Proc. 10th Int. Symp. on Software Engineering for Adaptive and Self-Managing Systems, 2015, pp. 127–133.
M. Gelfond and V. Lifschitz, “Classical negation in logic programs and disjunctive databases,” New generation computing, vol. 9, no. 3–4, pp. 365–385, 1991.
G. Stevenson, J. Ye, S. Dobson, D. Pianini, S. Montagna, and M. Viroli, “Combining Self-organisation, Context-awareness and Semantic Reasoning: The Case of Resource Discovery in Opportunistic Networks,” in Proc. 28th ACM Symposium on Applied Computing, ser. SAC. New York, USA: ACM, 2013, pp. 1369–1376.
H. Chen, F. Perich, T. Finin, and A. Joshi, “Soupa: Standard ontology for ubiquitous and pervasive applications,” in First Int. Conf. on Mobile and Ubiquitous Systems: Networking and Services. IEEE, 2004, pp. 258–267.
S. Kaebisch and T. Kamiya, “Web of Things (WoT) thing description,” First Public Working Draft, W3C, 2017.
A. Haller, K. Janowicz, S. Cox, D. Le Phuoc, K. Taylor, and M. Lefranc¸ois, “Semantic sensor network ontology,” W3C Rec-ommendation, W3C, 2017.
K. Janowicz, A. Haller, S. J. Cox, D. Le Phuoc, and M. Lefranc¸ois, “Sosa: A lightweight ontology for sensors, observations, samples, and actuators,” Journal of Web Semantics, 2018.
S. Sagar, M. Lefranc¸ois, I. Rebai, M. Khemaja, S. Garlatti, J. Feki, and L. Médini, “Modeling Smart Sensors on top of SOSA/SSN and WoT TD with the Semantic Smart Sensor Network (S3N) modular Ontology,” in Proc. 9th International Semantic Sensor Networks Workshop, Monterey, USA, 2018.
R. Dautov, I. Paraskakis, and D. Kourtesis, “An ontology-driven approach to self-management in cloud application platforms,” in Proc. 7th South East European Doctoral Student Conference, 2012, pp. 539–550.
M. B. Alaya and T. Monteil, “Frameself: an ontology-based framework for the self-management of machine-to-machine systems,” Concurrency and Computation: Practice and Experience, vol. 27, no. 6, pp. 1412–1426, 2015.
R. Dautov, D. Kourtesis, I. Paraskakis, and M. Stannett, “Addressing self-management in cloud platforms: a semantic sensor web approach,” in Proc. Int. workshop on Hot topics in cloud services. ACM, 2013, pp. 11–18.
R. Dautov, I. Paraskakis, and M. Stannett, “Utilising stream reasoning techniques to underpin an autonomous framework for cloud application platforms,” Journal of Cloud Computing, vol. 3, no. 1, p. 13, 2014.
D. Rossi, F. Poggi, and P. Ciancarini, “Dynamic high-level in self-adaptive systems,” in Proc. 6th Int. Conf. on Reliability, Infocom Technologies and Optimization (ICRITO). IEEE, 2017, pp. 49–60.
M. Uschold and M. Gruninger, “Ontologies: Principles, methods and applications,” The knowledge engineering review, vol. 11, no. 02, pp. 93–136, 1996.
A. Gómez-Pérez, M. Fernández-López, and O. Corcho, Ontological Engineering: with examples from the areas of Knowledge Management, e-Commerce and the Semantic Web. Springer Science and Business Media, 2006.
M. C. Suárez-Figueroa, A. Gómez-Pérez, E. Motta, and A. Gangemi, Ontology engineering in a networked world. Springer Science and Business Media, 2012.
A. Gangemi and V. Presutti, “Ontology design patterns,” in Handbook on ontologies. Springer, 2009, pp. 221–243.
J. Shore et al., The art of Agile development. O’Reilly Media, 2007.
V. R. Basili, G. Caldiera, and H. D. Rombach, “Experience factory,” Encyclopedia of software engineering, pp. 469–476, 1994.
B. Morin, O. Barais, J.-M. Jezequel, F. Fleurey, and A. Solberg, “Models@ run. time to support dynamic adaptation,” Computer, vol. 42, no. 10, pp. 44–51, 2009.
T. Vogel and H. Giese, “Model-driven engineering of self-adaptive software with EUREMA,” ACM Transactions on Autonomous and Adaptive Systems (TAAS), vol. 8, no. 4, p. 18, 2014.
M. M. Lankhorst, H. A. Proper, and H. Jonkers, “The architecture of the archimate language,” in Enterprise, Business-Process and Information Systems Modeling. Springer, 2009, pp. 367–380.
F. Poggi, D. Rossi, P. Ciancarini, and L. Bompani, “Semantic runtime models for self-adaptative systems: a case study,” in Enabling Technologies: Infrastructure for Collaborative Enterprises (WET-ICE 16). IEEE, 2016.
J. O. Kephart and W. E. Walsh, “An artificial intelligence perspective on autonomic computing policies,” in Proceedings. 5th IEEE Int. Workshop on Policies for Distributed Systems and Networks, 2004, pp. 3–12.
G. Lodi, F. Panzieri, D. Rossi, and E. Turrini, “Sla-driven clustering of qos-aware application servers,” Software Engineering, IEEE Transactions on, vol. 33, no. 3, pp. 186–197, 2007.
E. Luna et al., “Challenges for the adoption of Model-Driven Web Engineering approached in industry,” Journal of Web Engineering, vol. 17, no. 3-4, pp. 183–205, 2018.
M. Szvetits and U. Zdun, “Systematic literature review of the objectives, techniques, kinds, and architectures of models at runtime,” Software and Systems Modeling, vol. 15, no. 1, pp. 31–69, 2016.
J. Whittle, P. Sawyer, N. Bencomo, B. H. Cheng, and J.-M. Bruel, “Relax: Incorporating uncertainty into the specification of self-adaptive systems,” in Proc. 17th IEEE Int. Requirements Engineering Conference. IEEE, 2009, pp. 79–88.
D. Rossi, F. Poggi, and P. Ciancarini, “Dynamic high-level requirements in self-adaptive systems,” in Proc. 33rd ACM Symposium on Applied Computing. ACM, 2018, pp. 128–137.
P. Inverardi and M. Mori, “A software lifecycle process to support consistent evolutions,” in Software Engineering for Self-Adaptive Systems II. Springer, 2013, pp. 239–264.
J. Mylopoulos, L. Chung, and B. Nixon, “Representing and using nonfunctional requirements: A process-oriented approach,” IEEE Transactions on Software Engineering, vol. 18, no. 6, pp. 483–497, 1992.
R. Calinescu, L. Grunske, M. Kwiatkowska, R. Mirandola, and G. Tamburrelli, “Dynamic qos management and optimization in service-based systems,” IEEE Transactions on Software Engineering, vol. 37, no. 3, pp. 387–409, 2011.
Y.-D. Bromberg, P. Grace, and L. Réveillère, “Starlink: runtime interoperability between heterogeneous middleware protocols,” in 2011 31st International Conference on Distributed Computing Systems. IEEE, 2011, pp. 446–455.
D. Schneider and M. Trapp, “Conditional safety certification of open adaptive systems,” ACM Transactions on Autonomous and Adaptive Systems (TAAS), vol. 8, no. 2, p. 8, 2013.
P. Ciancarini, A. Messina, F. Poggi, and D. Russo, “Agile knowledge engineering for mission critical software requirements,” in Synergies Between Knowledge Engineering and Software Engineering. Springer, 2018, pp. 151–171.
S. Röttger and S. Zschaler, “Tool support for refinement of non-functional specifications,” Software and Systems Modeling, vol. 6, no. 2, pp. 185–204, 2007.
F. Poggi, D. Rossi, P. Ciancarini, and L. Bompani, “An application of semantic technologies to self adaptations,” in 2016 IEEE 2nd International Forum on Research and Technologies for Society and Industry Leveraging a better tomorrow (RTSI). IEEE, 2016, pp. 1–6.
J. C. Georgas, A. van der Hoek, and R. N. Taylor, “Using architectural models to manage and visualize runtime adaptation,” Computer, vol. 42, no. 10, 2009.
A. Frece and M. B. Juric, “Modeling functional requirements for configurable content-and context-aware dynamic service selection in business process models,” Journal of Visual Languages and Computing, vol. 23, no. 4, pp. 223–247, 2012.
D. Schneider and M. Trapp, “Conditional safety certificates in open systems,” in Proc. 1st Workshop on critical automotive applications: robustness and safety. ACM, 2010, pp. 57–60.
S. B. Akers, “Binary decision diagrams,” IEEE Transactions on Computers, no. 6, pp. 509–516, 1978.
S. Röttger and S. Zschaler, “CQML+: Enhancements to CQML,” in Proc. 1st Int. Workshop on Quality of Service in Component-Based Software Engineering, 2003, pp. 43–56.
A. Margara, J. Urbani, F. van Harmelen, and H. Bal, “Streaming the web: Reasoning over dynamic data,” Web Semantics: Science, Services and Agents on the WWW, vol. 25, pp. 24–44, 2014.
F. Corcoglioniti, M. Rospocher, M. Mostarda, and M. Amadori, “Processing Billions of RDF Triples on a Single Machine Using Streaming and Sorting,” in Procs 30th ACM Symposium on Applied Computing, ser. SAC ’15. New York, NY, USA: ACM, 2015, pp. 368–375.