Related Work - lf-lang/lingua-franca GitHub Wiki

Lingua Franca is focused more on using the best ideas than on being innovative. Here, we list most closely related work first, then other work with which it may be useful to contrast.

Software Frameworks

  • Rubus.

  • Akka framework for distributed Fog computing.

  • Accessors, from Berkeley, a JavaScript-based framework for IoT: This framework is the most direct inspiration for Lingua Franca. The idea behind accessors is to componentize IoT resources by encapsulating them in actors. As such, their interactions can be coordinated under a discrete event semantics paper.

  • Rebecca.

  • The Kiel Integrated Environment for Layout Eclipse Rich Client (KIELER) is a graphical environment for programming using SCCharts (see the 2014 PLDI paper).

  • RTMAPS: From Intempora. It has a graphical syntax in a UI and advertises "data is acquired asynchronously and each data sample is captured along with its time stamp at its own pace." You can build your own blocks in C++ or Python. It does, however, look like its not deterministic.

Usage of the Term Reactor

Other Pointers

  • Reactive Manifesto: Version 2.0, Published in 2014, this position paper defines Reactive Systems as those that are Responsive, Resilient, Elastic and Message Driven.

Academic Projects

  • I/O Automata, from MIT, is a formalism that could be used to model the semantics of Lingua Franca. Timed I/O Automata FIXME: link extend I/O Automata with temporal semantics. They share with LF the notion of reactions to input messages and internal events that change the state of an actor and produce outputs. The behavior of a component is given as a state machine.

  • FIXME Hewitt actors.

  • SyncCharts: By Charles André. See the 1996 technical report.

  • ReactiveML: Website

Contrasting Work

  • CAPH (a recursive acronym for CAPH Ain't plain HDL), a hardware description language from CNRS, is a fine-grained dataflow language for compiling into FPGAs. The language has no temporal semantics, and although it has a notion of firing rules, it is not clear which of the many variants of dataflow is realized nor whether the MoC is deterministic. The paper does not cite any of the prior work on dataflow MoCs.

  • Robot Operating System (ROS), an open-source project originally from Willow Garage: ROS provides a publish-and-subscribe server for interaction between components. Version 1 has no timing properties at all. Version 2 has some timing properties such as priorities, but it makes no effort to be deterministic.

  • RADLER framework from SRI, which is based on a publish-and-subscribe architecture similar to ROS. It introduces some timing constructs such as periodic execution and scheduling constraints, but it makes no effort to be deterministic.