ITEM METADATA RECORD
Title: Middleware for Shared and Always-on Embedded Devices Extending component models to ease development effort and improve resource efficiency
Other Titles: Middleware voor gedeelde en continu operationele embedded systemen Het uitbreiden van componentenmodellen ter vereenvoudiging van software ontwikkeling en verbetering van systeem-efficiëntie
Authors: del Cid Garcia, Pedro Javier; S0043877
Issue Date: 26-Nov-2014
Abstract: The current generation of Wireless Sensor and Actuator Networks (WSANs) must support multiple applications that are deployed and managed by different parties. As these WSANs are typically long-lived and always-on, application software must therefore be deployed, configured and reconfigured over time while the system is running. Re-configurable component models assist in this context by providing the basic mechanisms necessary to achieve reconfiguration at runtime. However, in scenarios where resource constrained environments are shared between multiple applications, today¬ís generation of re-configurable component models provide a poor fit in terms of preserving application integrity during the deployment of new applications or their respective co-execution. Ensuring application integrity through existing component models typically results in increased developer efforts, less efficient resource usage, longer disruptions, or even faults. A second problem with contemporary component models is that they commonly only support specification of complete software compositions in terms of individual component instances and their interconnections. In addition, deployment of these compositions requires the listing of all low-level reconfiguration commands related with deployment, configuration, instantiation and interconnection of these individual component instances. Specifying applications in terms of only these lower level abstractions is known to be complex and error prone. This dissertation addresses these two problems through the use of middleware extensions to re-configurable component models. Our first contribution, the Resource Sharing Framework (RSF), proposes Composition-Swapping to ensure application integrity during the deployment of new applications and during their respective co-execution. Composition-Swapping is an extension to reconfigurable component models in which state management delegation, extended component meta-data and admission control are used to ensure application integrity, improve resource efficiency and reduce deployment efforts. Secondly, to reduce the effort incurred during the specification of applications we propose the Application Composition Service (ACS). The ACS offers the Sense-Process-React (SPR) specification and its supporting middleware. The SPR specification offers a data-flow driven declarative specification, allowing developers to specify applications in terms of logical application flows. Its supporting middleware automates the application assembly process, therefore reducing the effort incurred during the assembly of applications. Finally, additional to the two aforementioned contributions, this dissertation addresses a tangential issue. Due to the lack of appropriate test-bed infrastructure for evaluation and experimentation, we designed and built the DistriNet smart office test-bed. This in-house test-bed has been deployed inside two offices of our research facility and entails a fully functional approximation environment targeting future smart office scenarios. The test-bed infrastructure allowed us to perform in-depth research and experimentation with our solutions. We validated our solutions through a series of prototype implementations using embedded C and Java programming languages, targeting different embedded sensing platforms. We evaluated our middleware solutions through a series of reconfiguration cases, during which eight applications were incrementally deployed and reconfigured on the DistriNet smart office test-bed. Evaluation results demonstrate that our middleware reduce the human efforts incurred and the cost of reconfiguration during the specification and assembly of applications. Furthermore, our middleware eliminates disruption and faults, while demonstrating a more efficient use of resources.
Table of Contents: Abstract iii
Contents... vii
List of Figures... xv
List of Tables... xxiii
1 Introduction... 1
1.1 Resource constrained, shared and always-on Wireless Sensor and Actuator networks . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2.1 Re-configurable component models and their runtime
support . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2.2 The application life-cycle in shared, always-on WSANs . 4
1.3 Research goal and challenges addressed . . . . . . . . . . . . . 5
1.3.1 Deploying new applications without compromising existing ones, while maintaining resource efficiency . . . . . . 6
1.3.2 Specifying applications using only the low level abstractions provided by existing component models. . . . . . . 7
1.3.3 Lack of appropriate test-bed infrastructure . . . . . . . 8
1.4 Requirements for the proposed solution . . . . . . . . . . . . . 9
1.5 Our approach: extending re-configurable component models . . 10
1.6 Contribution summary . . . . . . . . . . . . . . . . . . . . . . . . 11
1.7 Overview of the disseration . . . . . . . . . . . . . . . . . . . . 12
2 Related work 15
2.1 Sharing WSAN resources . . . . . . . . . . . . . . . . . . . . . 15
2.1.1 Sharing strategies for WSANs . . . . . . . . . . . . . . . 16
2.1.2 Sharing of sensors and RAM . . . . . . . . . . . . . . . 29
2.2 Component based development . . . . . . . . . . . . . . . . . . 33
2.2.1 Runtime re-configurable component models . . . . . . . 33
2.2.2 Integrity of component based applications . . . . . . . . . 41
2.3 Specification of WSAN applications . . . . . . . . . . . . . . . . 45
2.3.1 Specification based on monolithic approaches . . . . . . 46
2.3.2 Specifications based on dynamic approaches . . . . . . . 49
2.4 Chapter summary . . . . . . . . . . . . . . . . . . . . . . . . . 56
3 Improving resource efficiency and application integrity through the
Resource Sharing Framework 59
3.1 Deploying new applications without compromising existing ones
while maintaining resource efficiency . . . . . . . . . . . . . . . 60
3.1.1 The requirement on resource efficiency . . . . . . . . . . 60
3.1.2 The requirement on application integrity . . . . . . . . . 63
3.1.3 The manifestation of this challenge in the context of our
smart office . . . . . . . . . . . . . . . . . . . . . . . . . 69
3.1.4 The causes that make deploying new applications lead
to resource inefficiency, disruption, faults and increased
assembly effort . . . . . . . . . . . . . . . . . . . . . . . 74
3.2 RSF: Addressing resource efficiency and application integrity . 75
3.2.1 State management delegation: Isolation and management
of component configuration and coordination . . . . . . 78
3.2.2 Extending component meta-data: Performance information
and application constraints . . . . . . . . . . . . . . 79
3.2.3 RAM admission control . . . . . . . . . . . . . . . . . . . 81
3.3 The RSF in the application life-cycle . . . . . . . . . . . . . . . 83
3.3.1 Component development phase: Implementing RSF
compliant components . . . . . . . . . . . . . . . . . . . 83
3.3.2 Specification phase: Specifying sensing applications . . . 90
3.3.3 Assembly phase: Deploying new applications . . . . . . 97
3.3.4 Runtime phase: Composition-Swapping supports concurrent
applications . . . . . . . . . . . . . . . . . . . . . . 100
3.4 RSF’s architecture . . . . . . . . . . . . . . . . . . . . . . . . . 105
3.4.1 RSF’s component based design . . . . . . . . . . . . . . 106
3.4.2 Major design choices . . . . . . . . . . . . . . . . . . . . 110
3.5 Chapter summary . . . . . . . . . . . . . . . . . . . . . . . . . 113
4 Raising the abstraction level with the Application Composition
Service 115
4.1 Specifying applications using only the low level abstractions
provided by existing component models. . . . . . . . . . . . . . 116
4.1.1 The requirement on fine grained control . . . . . . . . . 116
4.1.2 The requirement on human effort . . . . . . . . . . . . . 119
4.1.3 Why is component level specification inadequate? . . . . 123
4.2 Raising the abstraction level and retaining fine-grained control 123
4.2.1 Data-flow driven specification with Sense-Process-React
flows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
4.2.2 The automated assembly of applications . . . . . . . . . 126
4.3 The ACS in the application life-cycle . . . . . . . . . . . . . . . 127
4.3.1 Development phase: Implementing ACS compliant
components . . . . . . . . . . . . . . . . . . . . . . . . . 127
4.3.2 Specification phase: Specifying sensing applications . . . 132
4.3.3 Assembly phase: Deploying new applications . . . . . . 145
4.3.4 Runtime phase: Modifying running applications . . . . 149
4.4 ACS’ design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
4.5 Chapter summary . . . . . . . . . . . . . . . . . . . . . . . . . 153
5 The smart office, a representative shared and always-on WSAN 155
5.1 A working approximation of future smart offices . . . . . . . . 156
5.1.1 Expected characteristics of smart offices . . . . . . . . . 158
5.2 The test-bed infrastructure . . . . . . . . . . . . . . . . . . . . 159
5.2.1 The hardware infrastructure . . . . . . . . . . . . . . . . 159
5.2.2 The Software infrastructure . . . . . . . . . . . . . . . . 162
5.3 Prototype applications deployed on the test-bed . . . . . . . . . 177
5.3.1 HVAC: Lighting and ventilation control . . . . . . . . . 177
5.3.2 Workplace safety . . . . . . . . . . . . . . . . . . . . . . 179
5.3.3 Office comfort . . . . . . . . . . . . . . . . . . . . . . . . 180
5.3.4 Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
5.3.5 Employee notification . . . . . . . . . . . . . . . . . . . 182
5.3.6 Occupancy . . . . . . . . . . . . . . . . . . . . . . . . . 183
5.3.7 Working hours . . . . . . . . . . . . . . . . . . . . . . . 184
5.3.8 Air quality . . . . . . . . . . . . . . . . . . . . . . . . . 185
5.4 The added value of the smart office . . . . . . . . . . . . . . . . 186
5.4.1 The smart office as an evaluation infrastructure . . . . . 187
5.4.2 The smart office as an asset for the research group . . . 190
5.5 Chapter summary . . . . . . . . . . . . . . . . . . . . . . . . . 193
6 Evaluation 195
6.1 The evaluation procedure . . . . . . . . . . . . . . . . . . . . . 196
6.1.1 The four criteria used for evaluation . . . . . . . . . . . 198
6.1.2 The reconfiguration cases used for the evaluation . . . . 199
6.1.3 The evaluation environment . . . . . . . . . . . . . . . . . 201
6.2 Benefits achieved by the RSF and ACS . . . . . . . . . . . . . . 206
6.2.1 Reduced human effort during the specification and
assembly of applications . . . . . . . . . . . . . . . . . . 206
6.2.2 Reduced cost of reconfiguration . . . . . . . . . . . . . . 212
6.2.3 Ensuring application integrity: the elimination of disruption
and faults . . . . . . . . . . . . . . . . . . . . . . . 215
6.2.4 Efficient use of resources . . . . . . . . . . . . . . . . . . 217
6.2.5 Case per case breakdown of cost, effort and disruption . 220
6.3 Overhead imposed by the RSF/ACS . . . . . . . . . . . . . . . 224
6.3.1 Increased programming effort: LOC in component
implementation . . . . . . . . . . . . . . . . . . . . . . . 224
6.3.2 Increased RAM and FLASH footprint, and processing
overhead . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
6.4 Chapter summary . . . . . . . . . . . . . . . . . . . . . . . . . 236
7 Conclusion 241
7.1 Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
7.2 Impact and limitations . . . . . . . . . . . . . . . . . . . . . . . 242
7.3 Observations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
7.4 Future work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
7.5 Outlook . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
A Supplementary documents for the smart office test-bed 249
A.1 Non functional requirements for the smart office test-bed . . . . 249
A.1.1 Design qualities, define how applications are designed and
maintained . . . . . . . . . . . . . . . . . . . . . . . . . 250
A.1.2 Runtime qualities, define how applications should behave
at runtime . . . . . . . . . . . . . . . . . . . . . . . . . . 253
A.2 Practical details and initial setup of the test-bed . . . . . . . . 260
B Supplementary documents for the evaluation 262
B.1 A model to quantify reconfiguration activities . . . . . . . . . . 262
B.1.1 Introspection commands . . . . . . . . . . . . . . . . . . 263
B.1.2 Configuration commands . . . . . . . . . . . . . . . . . 264
B.1.3 Decisions required . . . . . . . . . . . . . . . . . . . . . 264
B.1.4 Time incurred during reconfiguration . . . . . . . . . . . 267
B.2 Architectural views for each of the evaluated reconfiguration cases268
B.2.1 Case 0: HVAC ventilation control (partial coverage) . . 269
B.2.2 Case 1: HVAC ventilation control . . . . . . . . . . . . 270
B.2.3 Case 2: HVAC illumination control . . . . . . . . . . . . 272
B.2.4 Case 3: Workplace safety . . . . . . . . . . . . . . . . . 273
B.2.5 Case 4: Office comfort . . . . . . . . . . . . . . . . . . . 276
B.2.6 Case 5: Security . . . . . . . . . . . . . . . . . . . . . . 279
B.2.7 Case 6: Employee notification . . . . . . . . . . . . . . . . 281
B.2.8 Case 7: Occupancy . . . . . . . . . . . . . . . . . . . . . 283
B.2.9 Case 8: Working hours . . . . . . . . . . . . . . . . . . . 285
B.2.10 Case 9: Air quality . . . . . . . . . . . . . . . . . . . . . 287
B.3 Description of each reconfiguration case followed during the
evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
B.3.1 Case 0: HVAC ventilation control (partial coverage) . . 289
B.3.2 Case 1: HVAC ventilation control . . . . . . . . . . . . 290
B.3.3 Case 2: HVAC illumination control . . . . . . . . . . . . 290
B.3.4 Case 3: Workplace safety . . . . . . . . . . . . . . . . . 290
B.3.5 Case 4: Office comfort . . . . . . . . . . . . . . . . . . . . 291
B.3.6 Case 5: Security . . . . . . . . . . . . . . . . . . . . . . . 291
B.3.7 Case 6: Employee notification . . . . . . . . . . . . . . . 292
B.3.8 Case 7: Office occupancy . . . . . . . . . . . . . . . . . 292
B.3.9 Case 8: Working hours . . . . . . . . . . . . . . . . . . . 293
B.3.10 Case 9: Air quality . . . . . . . . . . . . . . . . . . . . . 293
B.4 Detailed description of the per case break down included in the
evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
Bibliography 299
List of publications 319
ISBN: 978-94-6018-921-0
Publication status: published
KU Leuven publication type: TH
Appears in Collections:Informatics Section

Files in This Item:
File Status SizeFormat
thesis.pdf Published 54976KbAdobe PDFView/Open Request a copy

These files are only available to some KU Leuven Association staff members

 




All items in Lirias are protected by copyright, with all rights reserved.