Skip to content

Related Work

Edward A. Lee edited this page May 7, 2019 · 17 revisions

Related Work

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

  • Accessors, from Berkeley, a JavaScript-based framework for IoT: This framework is the most direct inspiration for Lingua Franca and provides one of the first full-featured targets. See the paper.

  • FIXME Rebecca.

Using 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. I/O Automata lack a temporal semantics, but they share with LF the notion of reactions to input messages and internal events that change the state of an actor and produce outputs.

  • FIXME Hewitt actors.

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)]{https://en.wikipedia.org/wiki/Robot_Operating_System}, 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.