HDS: a software framework for the realization of pervasive applications

  • Authors:
  • Agostino Poggi

  • Affiliations:
  • Dipartimento di Ingegneria dell'Informazione, Università degli Studi di Parma, Parma, Italy

  • Venue:
  • WSEAS Transactions on Computers
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

Nowadays pervasive computing is one of the most active research fields because it promises the creation of environments where computing and communication devices are gracefully integrated with users so that applications can provide largely invisible support for tasks performed by users. This paper presents a software framework, called HDS (Heterogeneous Distributed System), that tries to simplify the realization of pervasive applications by merging the client-server and the peer-to-peer paradigms and by implementing all the interactions among the processes of a system through the exchange of typed messages and the use of composition filters for driving and dynamically adapting the behavior of the system. Typed messages and computational filters are the elements that mainly characterize such a software framework. In fact, typed messages can be considered an object-oriented "implementation" of the types of message defined by an agent communication language and so they are means that make HDS a suitable software framework both for the realization of multi-agent systems and for the reuse of multi-agent model and techniques in non-agent based systems. Composition filters drive and adapt the behavior of a system by acting on the exchange of messages. In fact, on the one hand, composition filters can constrain the exchange of messages (e.g., they can block the sending/reception of some messages to/from some processes), they can modify the flow of messages (e.g., they can redirect some messages to another destination) and they can manipulate messages (e.g., they can encrypt and descript messages). On the other hand, processes can dynamically add and remove some composition filters to adapt the behavior of a system to any hardware and software new configuration and to any new user requirement.