| Literature DB >> 23012526 |
Ramon Alcarria1, Tomas Robles, Augusto Morales, Diego López-de-Ipiña, Unai Aguilera.
Abstract
Mobile prosumer environments require the communication with heterogeneous devices during the execution of mobile services. These environments integrate sensors, actuators and smart devices, whose availability continuously changes. The aim of this paper is to design a reference architecture for implementing a model for continuous service execution and access to capabilities, i.e., the functionalities provided by these devices. The defined architecture follows a set of software engineering patterns and includes some communication paradigms to cope with the heterogeneity of sensors, actuators, controllers and other devices in the environment. In addition, we stress the importance of the flexibility in capability invocation by allowing the communication middleware to select the access technology and change the communication paradigm when dealing with smart devices, and by describing and evaluating two algorithms for resource access management.Entities:
Keywords: communication paradigms; prosumer; resource management; software engineering; ubiquitous computing
Year: 2012 PMID: 23012526 PMCID: PMC3444084 DOI: 10.3390/s120708930
Source DB: PubMed Journal: Sensors (Basel) ISSN: 1424-8220 Impact factor: 3.576
Figure 1.Service logical parts.
Communication paradigms and features.
| Request/Reply | Synchronous | Synchronous | ✓ | Consumer (Middleware) | Client-server model |
| QP2P | Asynchronous | Synchronous | ✗ | Producer/Consumer | Messages are retrieved in a predefined order |
| Tuple Spaces | Asynchronous | Synchronous | ✗ | ✗ | Intermediated by a tuple space service |
| Publish-Subscribe | Asynchronous | Asynchronous | ✓ | Event Channel Service | Event channel service must be external |
Figure 2.Overall architecture.
Requirements, patterns and design implications.
| Capability selection strategies | Strategy | Harmonizer | Inclusion of selection strategies in the form of plugins. Plugin management. |
| Low coupling in arch. modules | Command | Sync/Async operations | Definition of Async/Sync operation and processors. |
| Asynchronous communication | Proactor | Invocation and discovery API | Inversion control mechanism: Callback and hook method definition in harmonizer. |
| Capability Access reusability | Acceptor/Connector | Communication paradigms | Pool of service handlers for each connection driver. Bidirectional communication in drivers. |
| Efficient resource management | Monitor Object | Shared resource controller | Concurrency management in limited resources |
Figure 3.Capability Invocation API.
Figure 4.Interaction diagram of synchronous invocation.
Figure 5.Interaction diagram of asynchronous invocation.
Figure 6.Internal driver communication.
Figure 7.Communication paradigm selection process.
Figure 8.Interaction diagram of a Request-Reply to Publish-Subscribe paradigm change.
Figure 9.Resource request in drivers.
Service Execution Scenario.
| Serv. #1 | 0.0 | 100 | 1 |
| Serv. #2 | 3.39 | 27.6 | 1.087 |
| Serv. #3 | 50.32 | 33 | 0.909 |
| δ = 10 ms | |||
Figure 10.Transmission comparison in Service Execution Scenario.
Figure 11.Average resource utilization for Bluetooth in Case #1 (left) and Case #2 (right).