Anirudh Rengarajan

EECS Department, University of California, Berkeley

Technical Report No. UCB/EECS-2023-185

May 19, 2023

http://www2.eecs.berkeley.edu/Pubs/TechRpts/2023/EECS-2023-185.pdf

Lingua Franca, a polyglot coordination language, provides deterministic reactive concurrency and time functionality that is preserved even in distributed environments. Most of Lingua Franca's implementation is optimized for computer platforms like MacOS and Linux, and is in its infancy for embedded platforms like Arduino. As such, federated execution, the distributed runtime implementation of Lingua Franca, does not account for hardware constraints in its implementation, such as limits on threads and memory overhead. At the same time, Reactor-C, the runtime library for executing Lingua Franca in C, relies on a level assignment system for determining when reactions can execute in place of storing the entire reaction graph in the runtime library. Though such a level assignment system works for standard Lingua Franca programs, deploying programs over an entire federation can lead to federates (individual programs that communicate with one another) deadlocking unless constraints that were lost when converting from federation to federates, are added. This report first examines how to add support for Arduino and Arduino-compatible boards pointing out the problem posed by the high memory overhead of the Reactor-C runtime. Then it proposes an updated framework for creating the federation in the Reactor-C suite. The framework is based on modular reactor generation and novel approaches to address deficiencies in the level assignment algorithm, including Max Level Allowed to Advance (MLAA) and Total Port Ordering (TPO). MLAA and TPO show promise in the future deployment of federated programs onto low-overhead devices like Arduino.

Advisors: Edward A. Lee


BibTeX citation:

@mastersthesis{Rengarajan:EECS-2023-185,
    Author= {Rengarajan, Anirudh},
    Editor= {Lee, Edward A. and Sangiovanni-Vincentelli, Alberto L. and Lohstroh, Marten},
    Title= {Towards Enabling Deployment of Lingua Franca on Distributed Embedded Devices},
    School= {EECS Department, University of California, Berkeley},
    Year= {2023},
    Month= {May},
    Url= {http://www2.eecs.berkeley.edu/Pubs/TechRpts/2023/EECS-2023-185.html},
    Number= {UCB/EECS-2023-185},
    Abstract= {Lingua Franca, a polyglot coordination language, provides deterministic reactive concurrency and time functionality that is preserved even in distributed environments. Most of Lingua Franca's implementation is optimized for computer platforms like MacOS and Linux, and is in its infancy for embedded platforms like Arduino. As such, federated execution, the distributed runtime implementation of Lingua Franca, does not account for hardware constraints in its implementation, such as limits on threads and memory overhead. At the same time, Reactor-C, the runtime library for executing Lingua Franca in C, relies on a level assignment system for determining when reactions can execute in place of storing the entire reaction graph in the runtime library. Though such a level assignment system works for standard Lingua Franca programs, deploying programs over an entire federation can lead to federates (individual programs that communicate with one another) deadlocking unless constraints that were lost when converting from federation to federates, are added. This report first examines how to add support for Arduino and Arduino-compatible boards pointing out the problem posed by the high memory overhead of the Reactor-C runtime. Then it proposes an updated framework for creating the federation in the Reactor-C suite. The framework is based on modular reactor generation and novel approaches to address deficiencies in the level assignment algorithm, including Max Level Allowed to Advance (MLAA) and Total Port Ordering (TPO). MLAA and TPO show promise in the future deployment of federated programs onto low-overhead devices like Arduino.},
}

EndNote citation:

%0 Thesis
%A Rengarajan, Anirudh 
%E Lee, Edward A. 
%E Sangiovanni-Vincentelli, Alberto L. 
%E Lohstroh, Marten 
%T Towards Enabling Deployment of Lingua Franca on Distributed Embedded Devices
%I EECS Department, University of California, Berkeley
%D 2023
%8 May 19
%@ UCB/EECS-2023-185
%U http://www2.eecs.berkeley.edu/Pubs/TechRpts/2023/EECS-2023-185.html
%F Rengarajan:EECS-2023-185