Skip to content

A coordination language for defining and composing reactors. See the Wiki for documentation.

License

Notifications You must be signed in to change notification settings

hokeun/lingua-franca

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build Status Nightly Build codecov Community Status GitHub Contributors

Lingua Franca

Lingua Franca (LF) is a polyglot coordination language for concurrent and possibly time-sensitive applications ranging from low-level embedded code to distributed cloud and edge applications. An LF program specifies the interactions between components called reactors. The emphasis of the framework is on ensuring deterministic interaction with explicit management of timing. The logic of each reactor is written in one of a suite of target languages (currently C, C++, Python, and TypeScript) and can integrate legacy code in those languages. A code generator synthesizes one or more programs in the target language, which are then compiled using standard toolchains. If the application has exploitable parallelism, then it executes transparently on multiple cores without compromising determinacy. A distributed application translates into multiple programs and scripts to launch those programs on distributed machines. The communication fabric connecting components is synthesized as part of the programs.

See the main wiki for further information and detailed documentation.

See our Publications and Presentations.

About

A coordination language for defining and composing reactors. See the Wiki for documentation.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 71.7%
  • Kotlin 13.0%
  • Python 9.7%
  • C 2.5%
  • Shell 0.9%
  • HTML 0.6%
  • Other 1.6%