A meta-level architecture for stream-based programming languages and its applications in cyber-physical systems

Christophe De Troyer

Research output: ThesisPhD Thesis

99 Downloads (Pure)

Abstract

Contemporary computer networks no longer consist of mainframes and desktop computers. Due to the miniaturization and mass production of computer chips, it has become feasible to embed computers into everyday objected, creating their“digital twin”. The digital twin is causally connected to its physical counterpart;changes in the digital twin affect the physical device and vice versa. A network of digital twins is called a Cyber-Physical System (CPS). In a CPS, digital twins communicate to achieve a common goal and improve the user experience of the physical system. Examples of contemporary CPSs are smart factories, connected cars, oil pipeline monitoring, smart electricity grids, etc.

Contemporary CPSs consist of up to thousands of heterogeneous devices connected to the same network. Devices react to events and instructions emitted by other devices and emit new events and instructions in response, causing chain reactions throughout the system.

The different hardware and software traits of the devices affect the applications deployed on these networks. Some devices are battery-powered, making them unreliable in the long term. Some devices are connected using unreliable networks, making them unpredictable in the short term. Some devices are functionally equivalent (e.g., thermometers) but differ in their non-functional aspects (e.g., encodings or protocols), affecting how they integrate into the system. And finally, some devices are equipped with a computer that is not suited for complex calculations.

In this dissertation, we propose a two-pronged approach to design contemporary CPSs. First, we propose a novel distributed reactive stream-based architecture to design CPSs. Reactive stream applications are declarative transformations of possibly infinite streams of data. Additionally, distributed reactive streams al-low multiple devices to work together on a single computation. The distributed stream-based paradigm maps well to the event-driven large-scale event-driven nature of CPSs. Secondly, we propose a meta-level architecture for stream domain specific languages (DSL) to express the aforementioned non-functional concerns of stream applications. We propose to use the meta-level architecture to express the non-functional concerns and heterogeneous software and hardware traits of the devices in a CPS.

We show that reactive streams is a valid paradigm to implement CPSs. There active, distributed nature of stream programming enables the design of scalable, distributed, resilient, event-driven systems. The paradigm nudges the programmer to design extensible applications that deal with open systems. The meta-level architecture of the stream language separates the non-functional and the logic necessary to integrate heterogeneous devices from the application code.

We evaluate our stream paradigm by implementing a prototype stream Domain Specific Language (DSL) called Creek. We develop a prototype meta-level architecture in Creek called μCreek. We evaluate the meta-level architecture by implementing shortcomings identified in the literature, such as pull-based semantics, logging, encryption, and operator fusion. We evaluate the runtime performance impact of the meta-level architecture. We evaluate our stream-based approach for CPSs by implementing a prototype called Potato, and use it to implement a smart building use case commonly found in the literature. We show that our approach reduces much of the accidental complexity associated with CPSs and that it results in maintainable and extensible applications.
Original languageEnglish
Awarding Institution
  • Vrije Universiteit Brussel
Supervisors/Advisors
  • De Meuter, Wolfgang, Supervisor
  • Nicolay, Jens, Supervisor
Award date27 Jun 2022
Place of PublicationBrussel
Publisher
Print ISBNs9789464443295
Publication statusPublished - 2022

Fingerprint

Dive into the research topics of 'A meta-level architecture for stream-based programming languages and its applications in cyber-physical systems'. Together they form a unique fingerprint.

Cite this