Elsevier

Knowledge-Based Systems

Volume 67, September 2014, Pages 143-161
Knowledge-Based Systems

A hybrid approach to self-management in a pervasive service middleware

https://doi.org/10.1016/j.knosys.2014.06.002Get rights and content

Abstract

Self-management capabilities for pervasive computing systems are critical in improving dependability, usability, and autonomicity. However, realizing self-management is not an easy task due to complexities of implementing autonomous behaviors. It has been recognized that a single autonomicity handling mechanism is not sufficient to realize comprehensive self-management capabilities when different technologies are involved. Therefore, we propose a hybrid approach, the ‘LinkSmart Three Layered architectural (LinkSmart-3L) style’, in which different architecture styles are incorporated. The LinkSmart-3L style enables self-management at an architectural level. In our approach, semantic web technologies are used to achieve comprehensive context-awareness and extensibility of self-management capabilities, genetic algorithms are used to achieve configuration optimizations, and a planner is used to compute planning procedures on how to arrive at an optimum system configuration based on current architectural structure of the underlying system using an architectural query language. These technologies are integrated seamlessly based on the service oriented computing (SoC) paradigm. We have extensively evaluated both runtime and development time qualities of our implementation of the style. These evaluations can serve as guidelines for evaluating other middleware systems. We conclude that our approach is usable and effective in achieving these quality attributes.

Introduction

Self-management capabilities are attractive for pervasive computing systems as these systems are becoming more widely deployed, and requirements on dependability increase. Such systems are operated as open systems undergoing dynamic changes in which services and devices may join or leave at any time anywhere, and system resources, e.g., battery levels may fluctuate dynamically. Self-management capabilities as in autonomic computing [1] can potentially make these pervasive systems more user-friendly and energy efficient. For example, to diagnose the source of a failure and then recover to a normal operating state, or to make full use of remaining energy to prolong the runtime of a system. Because of these potential benefits, many efforts have been put into the realization of self-management capabilities [1]. These self-management capabilities are considered as the most important features of future network applications and should be given priority in future research [2].

Although there is substantial pervasive middleware research such as EU MUSIC [3] and Rainbow [4], [5], these efforts have primarily used a single approach to or focused on a single aspect of self-management. For example, the MUSIC project explored architecture based self-adaptation, while paying little attention to other self-management features such as self-protection, and self-optimization. For architecture-based self-adaptation, a critical issue is the choice of an architectural style to represent a target system [5], but the MUSIC project did not focus on this either. Kramer and Magee [6] observe that many early self-managing systems followed the ‘sense-plan-act’ architecture (e.g., Rainbow by Garlan et al. [4]) in which a system conceptually cycles through sense-plan-act phases. Kramer and Magee proposed a three layered architecture style that incorporate these three phases, but this is only an abstract reference model that needs to be verified in practice, and the problem of how to actually derive a software architecture style that can be implemented and used in practice for self-management systems is not addressed.

On the other hand, implementing and achieving self-management are not easy tasks [7]. There are many aspects that should be considered in a self-management solution, such as effective sensors to detect system status, actuators to accomplish needed changes, change management schemes to react to self-management changes, and reasoning on which actions to take. Furthermore, if an existing scheme cannot fulfill a Quality of Service (QoS) requirement, planning mechanisms should be used to help to find a corresponding (near) optimal configuration, and then this configuration should be enabled dynamically. Thus, the whole self-management process involves quite a number of different tasks which can be realized with different techniques. Correspondingly, a self-management solution should support a hybrid of different techniques technologies at an architecture level in order to integrate these technologies seamlessly. A single mechanism for realizing self-management may be considered as too limited to realize comprehensive autonomic features [7].

In the process of reaching a hybrid solution for self-management, there exist a number of challenges. These include:

  • 1.

    How to define an architectural style that can be used to achieve self-management at an architectural level [6].

  • 2.

    How to verify this architectural style by a practical implementation in order to show usefulness.

  • 3.

    How to achieve interoperability, modifiability, and extensibility in this architectural style to easily integrate various self-management features including self-protection, self-protection, self-optimization, and self-configuration. Preferably it should be simple to add new self-management features that do not exist.

  • 4.

    How to make sure that technologies used for various purposes can be integrated in this architectural style.

To address these challenges, we propose the LinkSmart Three Layered architectural (LinkSmart-3L) style that features a service-oriented architecture and seamlessly integrates several technologies to facilitate self-management. In our practical implementation and evaluation, we use pervasive web services [8] and OSGi Declarative Services [9]. The main contributions of our work are:

  • 1.

    A ‘LinkSmart Three Layered architectural (LinkSmart-3L) style’ is proposed and exemplified. This style combines different architectural styles to enable architecture-level self-management. This makes it possible to bring together benefits from those underlying architectural styles.

  • 2.

    Our approach is realized such that different self-management technologies can be integrated seamlessly based on the service-oriented computing paradigm. In our implementation, we have integrated Semantic Web technologies, genetic algorithms, an architectural scripting language, and an architectural query language.

  • 3.

    Our middleware is evaluated in terms of runtime qualities including interoperability, performance, scalability, and development-time qualities including modifiability, testability and, usability, following the quality attributes framework proposed by Bass et al. [10]. We have performed evaluations which can serve as guidelines for evaluating other middleware systems, as currently there are no unified evaluation criteria or methodology.

  • 4.

    Following the proposed evaluation quality attributes, our approach has been evaluated extensively in the LinkSmart middleware. For interoperability, both the .NET and Java environments are tested. This includes tests of using various available wired and wireless communication protocols. The performance has been tested extensively for various components and a whole self-management life cycle takes less than 4s which is acceptable in a distributed pervasive service environment. The scalability tests show that the needed time to process self-management actions is in linear with the number of events for our tests. The modifiability tests show that the middleware can be extended with relative ease to add new self-management functions. The testability and usability tests show that the proposed approach is practical in use.

  • 5.

    To promote the usage of self-management technologies and encourage research in this area, we have released our work including a set of supporting ontologies as open source such that other researchers can explore and potentially further our work.

The remainder of this article is organized as follows. First, we present background on self-management, especially architectures for self-management in Section 2. In order to address challenge number 1, we define an architectural style (LinkSmart-3L) based on a set of objectives and constraints for self-management (Section 3) and we discuss key design choices of the LinkSmart-3L style. We then present the LinkSmart-3L architecture that follows a three layered self-management architectural model (Section 4) and we give design details of each layer. We show how to develop a self-managed application in B using a simple case study. Comprehensive evaluations regarding runtime and development time qualities of our approach are presented in Section 5. We discuss related work in Section 6. Conclusions and future work end this paper in Section 7.

Section snippets

Software architectures for self-management

The task of architecting self-managing systems can be approached from several conceptual perspectives, which lead to different architectures.

In one approach, inspiration is sought from nature to build systems with no explicit locus of control. An example is division of labor in a group of robots inspired by the decentralized organization of an ant colony [11]. This approach has particularly been applied to autonomic communications [12], but systems based on it are arguably difficult to engineer

The LinkSmart three layered architectural style

The three-layered reference model as proposed by Kramer and Magee is a logical reference model, and it does not as such constitute a clearly defined architectural style. In the following we remedy that by defining the concrete styles that are realized by our implementation architecture.

We follow Fielding’s and Taylor’s [20] definition of an architectural style as “a coordinated set of architectural constraints that restricts the roles and architectural elements, and the allowed relationships

Design of self-management in LinkSmart

Based on the above introduced LinkSmart-3L architectural style, we describe the architecture of the LinkSmart self-management architecture using the approach of Clements et al. [27]. Our overall system model is shown as a deployment view in Fig. 3. The deployment follows Kramer’s and Magee’s model with each layer deployed on a node, and uses a publish/subscribe implementation (“Event Manager”) as an implementation of an event connector and it uses Web Ontology Language (OWL;

Evaluation

There are neither unified evaluation guidelines nor methodologies for autonomic middleware systems [26]. However, the recent version of the quality attribute framework proposed by Bass et al. [10] is comprehensive and widely adopted for evaluating software architectures and we base our evaluation on this. Considering the characteristics of pervasive computing systems and pervasive service middleware, and also our objectives for the LinkSmart 3L architectural style, we propose to evaluate

Related work

Large Internet of Things (IoT), Internet of Services (IoS), and Internet of People (IoP) applications are gaining increasing attention. This brings us increasing complexities for management due to the large number of involved devices, events and contexts, heterogeneity of networking, hardware and software, and so on. These challenges call for useful self-managing capabilities to alleviate problems. Therefore, quite some work on self-managing middleware has been reported and we relate our work

Conclusions and future work

Realizing autonomicity for pervasive service computing is increasingly important as self-management capabilities can enable high dependability, intelligence, and quality of a large pervasive system. Although there is considerable research work on this topic, integrating existing technologies into a self-management system remains problematic. In particular, there is little open source work that explores self-management activities. In this paper, we have proposed a hybrid approach to the

Acknowledgments

The research reported in this paper had been supported by the Hydra EU project (IST-2005-034891) which build the LinkSmart middleware. The research is also supported by “Key Technologies Development Plan of Qingdao Technical Economic Development Area”. Weishan Zhang has been supported by “the Fundamental Research Funds for the Central Universities” and also the start-up funds for “Academic Top-Notch Professors in China University of Petroleum”. We would like to thank to Martin O’Connor and

References (63)

  • B. Cheng et al.

    Software engineering for self-adaptive systems: a research roadmap

    Software Eng. Self-Adapt. Syst.

    (2009)
  • K.M. Hansen, W. Zhang, J. Fernandes, OSGi based and ontology-enabled generation of pervasive web services, in: 15th...
  • R. Hall et al.

    OSGi in Action: Creating Modular Applications in Java

    (2011)
  • L. Bass et al.

    Software Architecture in Practice

    (2012)
  • T.H. Labella et al.

    Division of labor in a group of robots inspired by ants’ foraging behavior

    ACM Trans. Auton. Adapt. Syst.

    (2006)
  • S. Dobson et al.

    A survey of autonomic communications

    ACM Trans. Auton. Adapt. Syst.

    (2006)
  • J.M. Ottino

    Engineering complex systems

    Nature

    (2004)
  • A. Ranganathan, R.H. Campbell, Autonomic pervasive computing based on planning, in: Proceedings of International...
  • A. Rao, M. Georgeff, BDI agents: from theory to practice, in: Proceedings of the first international conference on...
  • Y. Diao et al.

    A control theory foundation for self-managing computing systems

    IEEE J. Select. Areas Commun.

    (2005)
  • E. Gat

    On three-layer architectures

    Artif. Intell. Mobile Robots

    (1998)
  • K. Hansen, W. Zhang, M. Ingstrup, Towards self-managed executable petri nets, in: Second IEEE International Conference...
  • R.T. Fielding et al.

    Principled design of the modern web architecture

    ACM Trans. Internet Technol.

    (2002)
  • M. Shaw et al.

    Software Architecture: Perspectives on an Emerging Discipline

    (1996)
  • P.T. Eugster et al.

    The many faces of publish/subscribe

    ACM Comput. Surv.

    (2003)
  • T. Erl

    Service-Oriented Architecture: Concepts, Technology, and Design

    (2005)
  • N. Mehta, N. Medvidovic, S. Phadke, Towards a taxonomy of software connectors, in: Proceedings of the 22nd...
  • W. Zhang, K.M. Hansen, Semantic web based self-management for a pervasive service middleware, in: Second IEEE...
  • W. Zhang, K.M. Hansen, Using context awareness for self management in pervasive service middleware, in: F.M. Nak-Young...
  • P. Clements et al.

    Documenting Software Architectures: Views and Beyond

    (2003)
  • K.M. Hansen, W. Zhang, G. Soares, Ontology-enabled generation of embedded web services, in: Proceedings of the 20th...
  • Cited by (5)

    View full text