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

The essence of bidirectional programming

Authors
Fischer, S; Hu, Z; Pacheco, H;

Publication
SCIENCE CHINA Information Sciences

Abstract

2015

A Clear Picture of Lens Laws - Functional Pearl

Authors
Fischer, S; Hu, Z; Pacheco, H;

Publication
Mathematics of Program Construction - 12th International Conference, MPC 2015, Königswinter, Germany, June 29 - July 1, 2015. Proceedings

Abstract
A lens is an optical device which refracts light. Properly adjusted, it can be used to project sharp images of objects onto a screen— a principle underlying photography as well as human vision. Striving for clarity, we shift our focus to lenses as abstractions for bidirectional programming. By means of standard mathematical terminology as well as intuitive properties of bidirectional programs, we observe different ways to characterize lenses and show exactly how their laws interact. Like proper adjustment of optical lenses is essential for taking clear pictures, proper organization of lens laws is essential for forming a clear picture of different lens classes. Incidentally, the process of understanding bidirectional lenses clearly is quite similar to the process of taking a good picture. By showing that it is exactly the backward computation which defines lenses of a certain standard class, we provide an unusual perspective, as contemporary research tends to focus on the forward computation. © Springer International Publishing Switzerland 2015

2015

Typed Connector Families

Authors
Proença, Jose; Clarke, Dave;

Publication
Formal Aspects of Component Software - 12th International Conference, FACS 2015, Niterói, Brazil, October 14-16, 2015, Revised Selected Papers

Abstract
Typed models of connector/component composition specify interfaces describing ports of components and connectors. Typing ensures that these ports are plugged together appropriately, so that data can flow out of each output port and into an input port. These interfaces typically consider the direction of data flow and the type of values flowing. Components, connectors, and systems are often parameterised in such a way that the parameters affect the interfaces. Typing such connector families is challenging. This paper takes a first step towards addressing this problem by presenting a calculus of connector families with integer and boolean parameters. The calculus is based on monoidal categories, with a dependent type system that describes the parameterised interfaces of these connectors. As an example, we demonstrate how to define n-ary Reo connectors in the calculus. The paper focusses on the structure of connectors—well-connectedness—and less on their behaviour, making it easily applicable to a wide range of coordination and componentbased models. A type-checking algorithm based on constraints is used to analyse connector families, supported by a proof-of-concept implementation. © Springer International Publishing Switzerland 2016.

2015

Refraction: Low-Cost Management of Reflective Meta-Data in Pervasive Component-Based Applications

Authors
Daniels, W; Proenca, J; Clarke, D; Joosen, W; Hughes, D;

Publication
2015 18th International ACM SIGSOFT Symposium on Component-Based Software Engineering (CBSE)

Abstract
This paper proposes the concept of refraction, a principled means to lower the cost of managing reflective meta-data for pervasive systems. While prior work has demonstrated the bene fits of reflective component-based middleware for building open and reconfigurable applications, the cost of using remote reflective operations remains high. Refractive components address this problem by selectively augmenting application data flows with their reflective meta-data, which travels at low cost to reflective pools, which serve as loci of inspection and control for the distributed application. Additionally reflective policies are introduced, providing a mechanism to trigger reconfigurations based on incoming reflective meta-data. We evaluate the performance of refraction in a case-study of automatic con figuration repair for a real-world pervasive application. We show that refraction reduces network overhead in comparison to the direct use of reflective operations while not increasing development overhead. To enable further experimentation with the concept of refraction, we provide RxCom, an open-source refractive component model and supporting runtime environment.

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

  • 143
  • 261