%0 Conference Proceedings %T Quality-Aware Reactive Programming for the Internet of Things %+ Institute for Systems and Computer Engineering, Technology and Science [Braga] (INESC TEC) %+ Universidade do Minho = University of Minho [Braga] %A Proença, José %A Baquero, Carlos %< avec comité de lecture %( Lecture Notes in Computer Science %B 7th International Conference on Fundamentals of Software Engineering (FSEN) %C Teheran, Iran %Y Mehdi Dastani %Y Marjan Sirjani %I Springer International Publishing %3 Fundamentals of Software Engineering %V LNCS-10522 %P 180-195 %8 2017-04-26 %D 2017 %R 10.1007/978-3-319-68972-2_12 %K Reactive programming %K Component-based systems %K Pervasive systems %K Distributed systems %K Failure %Z Computer Science [cs]Conference papers %X The reactive paradigm recently became very popular in user-interface development: updates — such as the ones from the mouse, keyboard, or from the network — can trigger a chain of computations organised in a dependency graph, letting the underlying engine control the scheduling of these computations. In the context of the Internet of Things (IoT), typical applications deploy components in distributed nodes and link their interfaces, employing a publish-subscribe architecture. The paradigm for Distributed Reactive Programming marries these two concepts, treating each distributed component as a reactive computation. However, existing approaches either require expensive synchronisation mechanisms or they do not support pipelining, i.e., allowing multiple “waves” of updates to be executed in parallel.We propose Quarp (Quality-Aware Reactive Programming), a scalable and light-weight mechanism aimed at the IoT to orchestrate components triggered by updates of data-producing components or of aggregating components. This mechanism appends meta-information to messages between components capturing the context of the data, used to dynamically monitor and guarantee useful properties of the dynamic applications. These include the so-called glitch freedom, time synchronisation, and geographical proximity. We formalise Quarp using a simple operational semantics, provide concrete examples of useful instances of contexts, and situate our approach in the realm of distributed reactive programming. %G English %Z TC 2 %Z WG 2.2 %2 https://inria.hal.science/hal-01760858/document %2 https://inria.hal.science/hal-01760858/file/459025_1_En_12_Chapter.pdf %L hal-01760858 %U https://inria.hal.science/hal-01760858 %~ IFIP-LNCS %~ IFIP %~ IFIP-TC %~ IFIP-TC2 %~ IFIP-WG2-2 %~ IFIP-FSEN %~ IFIP-LNCS-10522