| Literature DB >> 22969366 |
Carlos Rodríguez-Domínguez1, Kawtar Benghazi, Manuel Noguera, José Luis Garrido, María Luisa Rodríguez, Tomás Ruiz-López.
Abstract
The Request-Response (RR) paradigm is widely used in ubiquitous systems to exchange information in a secure, reliable and timely manner. Nonetheless, there is also an emerging need for adopting the Publish-Subscribe (PubSub) paradigm in this kind of systems, due to the advantages that this paradigm offers in supporting mobility by means of asynchronous, non-blocking and one-to-many message distribution semantics for event notification. This paper analyzes the strengths and weaknesses of both the RR and PubSub paradigms to support communications in ubiquitous systems and proposes an abstract communication model in order to enable their seamless integration. Thus, developers will be focused on communication semantics and the required quality properties, rather than be concerned about specific communication mechanisms. The aim is to provide developers with abstractions intended to decrease the complexity of integrating different communication paradigms commonly needed in ubiquitous systems. The proposal has been applied to implement a middleware and a real home automation system to show its applicability and benefits.Entities:
Keywords: abstract models; communication paradigms; middleware design; quality properties; ubiquitous systems
Year: 2012 PMID: 22969366 PMCID: PMC3435995 DOI: 10.3390/s120607648
Source DB: PubMed Journal: Sensors (Basel) ISSN: 1424-8220 Impact factor: 3.576
Quality properties promoted by the PubSub and the RR paradigms.
| Efficiency | partial | partial |
| Mobility Support | ✓ | |
| Adaptability | ✓ | |
| Reliable Delivery | ✓ | |
| Security | partial | ✓ |
| Timeliness | ✓ |
Figure 1.Common model for the PubSub and RR communication paradigms.
Elements of the communication model.
| Receiver | A target for the reception of some information. |
| Sender | The deliverer of some information to one or more receivers. |
| Message | Information that is exchanged between a sender and a receiver (e.g., an application and a service). |
| Communication Channel | A communication channel (BlueTooth, Wi-Fi, |
| Marshallable | Model of a coded or serialized object that can be transferred as part of a message, as specified by the communication protocol. |
| Operation Mode | How the messages are delivered through the communication channel: synchronously or asynchronously. |
| delivers message | A sender can deliver a message to several recipients. The mechanism to deliver the message depends on the operation mode. |
| codifies | A message contains codified data. |
| uses for transferring | A sender delivers a message through one or more communication channels. |
| transferred through | A message can be delivered to a receiver through a set of communication channels, which can be different from the channels that are used by the sender. |
| receives through | A message can be received from one or more communication channels, that can be shared or not with the sender. |
Figure 2.Specialized model to support RR semantics.
Definition of the elements of the specialized model to support RR semantics.
| Request Message | A message intended to request some information to a receiver. |
| Response Message | A message to provide a response to a previous request. |
| Synchronous Method Invocation | Models the action to be executed whenever messages are synchronously received. |
Figure 3.Specialized model to support PubSub semantics.
Definition of the elements of the specialized model to support PubSub semantics.
| Event Message | Specialization of a message to model notifications. |
| Event | A notification of a change in the state of a publisher. A further explanation of this model is described in [ |
| Event Node | An event node is the specification of a piece of information associated with an event. It is an identifier-type-value tuple. |
| Topic | Both events and event nodes will have an associated topic, that is, a way of specifying their semantics. |
| Event Consumer | Receiver of an event. |
| Event Supplier | Sender of an event. |
| Asynchronous EventListener | They execute certain actions whenever a specific event is notified to an event consumer. A listener may trigger the actions if the notified event is associated to a topic and/or if the event complies with a set of restrictions (a predicate). |
| Predicate | Element allowing the specification of the set of restrictions over the nodes of an event. Predicates are used by event listeners to trigger their associated actions. |
| Event Handler | Element that publishes events through an instance of |
| Semantic Servant | Service storing the topics, so as to retrieve them. |
Figure 4.Run-time operation of the proposed hybrid broker as a UML sequence diagram.
Figure 5.Simplified software architecture of BlueRose.
Figure 6.Simplified schema of the XML file used to support multiple implementations of the specialized brokers in BlueRose.
Figure 7.Architecture of the home automation system.
Figure 8.Two users interacting with the home control environment at the same time.