A Semantic Web-driven Approach to Self-Configurating Computer Systems

The explosive growth, in both the size and complexity, of communication and computing systems has made it increasingly difficult to manage and configure these. In todays ever-changing environments, systems frequently need to adapt and reconfigure their components to suit the restrictions imposed on them by the same environment. However, such configuration tasks may be quite time consuming and is often suited only for trained personnel. If the complexity continues to grow, it will at some point grow beyond any humans ability to manage. Consequently, there have recently been great interest in making computer systems more autonomic, thus giving them the ability to configure themselves. The purpose of this masters thesis was to assess how one could create such self-configuring systems using Semantic Web technologies to classify and recover from pre-defined error scenarios. The Semantic Web is an effort to give meaning to information in a machine-readable way, through the use of a knowledge-representation technique known as ontologies. Ontologies are formal and explicit specifications of shared conceptualisations [103] that can be used to model and represent an entire domain, including its units and relations. This is useful in self-configuring systems as such world models are considered good starting points for reasoning as well as error solutions [3]. The thesis describes how one can utilise these ontologies encoded using the Web Ontology Language (OWL) combined with another Semantic Web technology, the Semantic Web Rule Language (SWRL), in order to classify the pre-defined error scenarios. This classification is suggested realised using three separate steps: first, the given domain is modelled and an OWL-encoded ontology is created, then necessary unit information is inserted into the ontology by the use of ontology instances. Finally, SWRLs horn-style rules are used to determine which error scenario the given situation should be classified as. It is further suggested using an event-based monitoring solution to decide when such a classification is needed. The thesis also shows how one can use the OWL service specification ontology, OWL-S, to specify and describe which actions a failed unit should take in order to recover from an error. In addition to a thorough theoretical assessment on how Semantic Web technologies could be used in self-configuring systems, an architecture design for the realisation of such a system is proposed. The proposal includes block diagrams, state machines describing functionality, and message sequence charts. All conforms to the UML2.0 standard. The use of such formal modelling languages allows for easy translation into an executable framework to which the more specific functionality may be added (including OWL-S execution etc). To test the feasibility of the suggested approach, two experiments were designed and conducted. These set out to test whether SWRL rules could classify error scenarios and if it was possible to execute repair procedures encoded in OWL-S. Although some of the sub-tests failed due to the immaturity of the Semantic Web field and its technologies, the approach seemed to be promising. A complete realisation of the architecture will however require that underlying technology issues are resolved.