Cookies Policy
The website need some cookies and similar means to function. If you permit us, we will use those means to collect data on your visits for aggregated statistics to improve our service. Find out More
Accept Reject
  • Menu
Publications

Publications by HASLab

2015

Tomography: lowering management overhead for distributed component-based applications

Authors
Daniels, W; Proença, J; Matthys, N; Joosen, W; Hughes, D;

Publication
Proceedings of the 2nd Workshop on Middleware for Context-Aware Applications in the IoT, M4IoT@Middleware 2015, Vancouver, BC, Canada, December 7-11, 2015

Abstract
This paper introduces the concept of tomography, a mechanism to lower management overhead for component-based IoT applications. Previous research has shown the advantages of component-based software engineering, wherein applications are built and reconfigured at runtime through the composition of components. While this approach promotes code-reuse and dynamic reconfiguration, the introspection and reconfiguration of distributed applications is cumbersome and inefficient. Tomography addresses this problem by reimagining the visitor design pattern for distributed component based compositions. We evaluate the performance of this approach in a case-study of discovering/introspecting and reconfiguring a real-world IoT application. We show that in comparison to classic management operations, tomography reduces both the number of explicit queries and the volume of network messages. This significantly reduces management effort and energy consumption. © 2015 ACM.

2015

Proceedings 13th International Workshop on Foundations of Coordination Languages and Self-Adaptive Systems

Authors
Cámara, J; Proença, J;

Publication
Electron. Proc. Theor. Comput. Sci. - Electronic Proceedings in Theoretical Computer Science - EPTCS

Abstract

2015

Proceedings 14th International Workshop on Foundations of Coordination Languages and Self-Adaptive Systems, FOCLASA 2015, Madrid, Spain, 5th September 2015

Authors
Proença, J; Tivoli, M;

Publication
FOCLASA

Abstract

2015

Hitch Hiker: A Remote Binding Model with Priority Based Data Aggregation for Wireless Sensor Networks

Authors
Ramachandran, GS; Daniels, W; Proença, J; Michiels, S; Joosen, W; Hughes, D; Porter, B;

Publication
Proceedings of the 18th International ACM SIGSOFT Symposium on Component-Based Software Engineering, CBSE 2015, Montreal, QC, Canada, May 4-8, 2015

Abstract
The aggregation of network traffic has been shown to enhance the performance of wireless sensor networks. By reducing the number of packets that are transmitted, energy consumption, collisions and congestion are minimised. However, current data aggregation schemes restrict developers to a specific network structure or cannot handle multi-hop data aggregation. In this paper, we propose Hitch Hiker, a remote component binding model that provides support for multi-hop data aggregation. Hitch Hiker uses component meta-data to discover remote component bindings and to construct a multi-hop overlay network within the free payload space of existing traffic ows. This overlay network provides end-To-end routing of low-priority traffic while using only a small fraction of the energy of standard communication. We have developed a prototype implementation of Hitch Hiker for the LooCI component model. Our evaluation shows that Hitch Hiker consumes minimal resources and that using Hitch Hiker to deliver low-priority traffic reduces energy consumption by up to 15%. Copyright © 2015 ACM.

2015

Proceedings 13th International Workshop on Foundations of Coordination Languages and Self-Adaptive Systems, FOCLASA 2014, Rome, Italy, 6th September 2014

Authors
Cámara, J; Proença, J;

Publication
FOCLASA

Abstract

2015

Concurrency Debugging with Differential Schedule Projections

Authors
Machado, N; Lucia, B; Rodrigues, L;

Publication
ACM SIGPLAN NOTICES

Abstract
We present Symbiosis: a concurrency debugging technique based on novel differential schedule projections (DSPs). A DSP shows the small set of memory operations and data-flows responsible for a failure, as well as a reordering of those elements that avoids the failure. To build a DSP, Symbiosis first generates a full, failing, multithreaded schedule via thread path profiling and symbolic constraint solving. Symbiosis selectively reorders events in the failing schedule to produce a non-failing, alternate schedule. A DSP reports the ordering and data-flow differences between the failing and non-failing schedules. Our evaluation on buggy real-world software and benchmarks shows that, in practical time, Symbiosis generates DSPs that both isolate the small fraction of event orders and data-flows responsible for the failure, and show which event reorderings prevent failing. In our experiments, DSPs contain 81% fewer events and 96% fewer data-flows than the full failure-inducing schedules. Moreover, by allowing developers to focus on only a few events, DSPs reduce the amount of time required to find a valid fix.

  • 145
  • 262