lingua-franca

Intuitive concurrent programming in any language

https://github.com/lf-lang/lingua-franca

Science Score: 54.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    24 of 73 committers (32.9%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (9.7%) to scientific vocabulary

Keywords

concurrency coordination determinism language polyglot timing
Last synced: 6 months ago · JSON representation ·

Repository

Intuitive concurrent programming in any language

Basic Info
  • Host: GitHub
  • Owner: lf-lang
  • License: other
  • Language: Java
  • Default Branch: master
  • Homepage: https://www.lf-lang.org
  • Size: 129 MB
Statistics
  • Stars: 267
  • Watchers: 17
  • Forks: 70
  • Open Issues: 346
  • Releases: 0
Topics
concurrency coordination determinism language polyglot timing
Created over 7 years ago · Last pushed 6 months ago
Metadata Files
Readme Changelog Contributing License Citation

README.md

Website | User Documentation | Code Documentation | Installation | Contributing | Changelog

CI (targets) CI (misc) CI (misc) API docs

Open VSX Downloads Visual Studio Marketplace Downloads Nightly Build

CodeCov GitHub Contributors Zulip

The Lingua Franca Coordination Language

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 lf-lang.org for installation instructions, documentation, and research papers. See also the wiki for further information on ongoing projects.

Owner

  • Name: The Lingua Franca Coordination Language
  • Login: lf-lang
  • Kind: organization
  • Location: United States of America

Citation (CITATION.cff)

cff-version: 1.2.0
title: Lingua Franca
message: >-
  If you use this software, please cite it using the
  metadata from this file.
type: software
authors:
  - given-names: Marten
    family-names: Lohstroh
    email: marten@berkeley.edu
    affiliation: UC Berkeley
    orcid: 'https://orcid.org/0000-0001-8833-4117'
  - given-names: Edward
    family-names: Lee
    email: eal@berkeley.edu
    affiliation: UC Berkeley
    orcid: 'https://orcid.org/0000-0002-5663-0584'
  - given-names: Soroush
    family-names: Bateni
    email: soroosh129@gmail.com
    affiliation: UT Dallas
    orcid: 'https://orcid.org/0000-0002-5448-3664'
  - given-names: Christian
    family-names: Menard
    email: christian.menard@tu-dresden.de
    affiliation: TU Dresden
    orcid: 'https://orcid.org/0000-0002-7134-8384'
  - given-names: Peter
    family-names: Donovan
    email: peterdonovan@berkeley.edu
    affiliation: UC Berkeley
  - given-names: Clément
    family-names: Fournier
    email: clement.fournier@tu-dresden.de
    affiliation: TU Dresden
  - given-names: Hou Seng (Steven)
    family-names: Wong
    email: housengw@berkeley.edu
    affiliation: UC Berkeley
  - given-names: Alexander
    family-names: Schulz-Rosengarten
    email: als@informatik.uni-kiel.de
    affiliation: Kiel University
  - given-names: Erling Rennemo
    family-names: Jellum
    email: erling.r.jellum@ntnu.no
    affiliation: NTNU
  - given-names: Hokeun
    family-names: Kim
    email: hokeun@berkeley.edu
    affiliation: UC Berkeley
  - given-names: Matt
    family-names: Weber
    email: matt.weber@berkeley.edu
    affiliation: UC Berkeley
  - given-names: Shaokai
    family-names: Lin
    email: shaokai@berkeley.edu
    affiliation: UC Berkeley
  - given-names: Anirudh
    family-names: Rengarajan
    email: arengarajan@berkeley.edu
    affiliation: UC Berkeley
repository-code: 'https://github.com/lf-lang/lingua-franca'
url: 'https://lf-lang.org/'
abstract: >-
  Lingua Franca is a polyglot coordination language for building complex
  systems in a component-wise fashion with worry-free deterministic
  concurrency, low-effort distribution, and time as a first-class citizen.
keywords:
  - coordination languages
  - polyglot
  - deterministic concurrency
  - distributed systems
  - embedded systems
  - cloud computing
  - realtime computing
license: BSD-2-Clause

GitHub Events

Total
  • Create event: 134
  • Issues event: 62
  • Release event: 287
  • Watch event: 35
  • Delete event: 129
  • Member event: 1
  • Issue comment event: 151
  • Push event: 533
  • Pull request review event: 110
  • Pull request review comment event: 47
  • Pull request event: 153
  • Fork event: 9
Last Year
  • Create event: 134
  • Issues event: 62
  • Release event: 287
  • Watch event: 35
  • Delete event: 129
  • Member event: 1
  • Issue comment event: 151
  • Push event: 533
  • Pull request review event: 110
  • Pull request review comment event: 47
  • Pull request event: 153
  • Fork event: 9

Committers

Last synced: 8 months ago

All Time
  • Total Commits: 14,584
  • Total Committers: 73
  • Avg Commits per committer: 199.781
  • Development Distribution Score (DDS): 0.835
Past Year
  • Commits: 649
  • Committers: 19
  • Avg Commits per committer: 34.158
  • Development Distribution Score (DDS): 0.618
Top Committers
Name Email Commits
eal e****l@e****u 2,401
Marten Lohstroh m****n@b****u 2,393
Soroush Bateni s****9@g****m 2,005
Christian Menard c****d@t****e 1,869
Peter Donovan p****n@b****u 1,387
Clément Fournier c****6@g****m 754
Steven s****g@g****m 689
erlingrj e****m@g****m 539
Alexander Schulz-Rosengarten a****s@i****e 347
Hokeun Kim h****m@b****u 303
Shaokai Lin s****n@1****m 213
mew2ub m****r@b****u 192
Anirudh Rengarajan 4****9 161
Byeong-gil Jun j****g@h****r 93
depetrol l****t@o****m 82
Johannes Hayeß j****e@m****g 68
revol-xut r****t@p****m 67
Jakio815 j****o@h****r 63
Martin Schoeberl m****n@j****m 59
Billy Bao b****o@1****m 55
Dongha Kim d****a@a****u 54
lingua-franca[bot] 9****t 52
Matthew Chorlian m****n@b****u 50
ChadliaJerad c****d@g****m 48
Benjamin Asch b****h@b****u 44
Rodario m****s@t****e 44
vinzbarbuto v****o@g****m 42
Magnus Mæhlum m****m@o****m 40
mniknami m****i 38
Abhinav Gundrala g****a@b****u 34
and 43 more...

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 290
  • Total pull requests: 485
  • Average time to close issues: 4 months
  • Average time to close pull requests: about 1 month
  • Total issue authors: 51
  • Total pull request authors: 40
  • Average comments per issue: 2.8
  • Average comments per pull request: 1.63
  • Merged pull requests: 341
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 37
  • Pull requests: 151
  • Average time to close issues: 13 days
  • Average time to close pull requests: 6 days
  • Issue authors: 11
  • Pull request authors: 21
  • Average comments per issue: 1.73
  • Average comments per pull request: 0.9
  • Merged pull requests: 105
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • lhstrh (52)
  • edwardalee (42)
  • erlingrj (34)
  • cmnrd (28)
  • petervdonovan (22)
  • mkhubaibumer (8)
  • Depetrol (7)
  • OmerMajNition (7)
  • zhuyipeng (6)
  • Jakio815 (6)
  • a-sr (4)
  • elgeeko1 (4)
  • Soroosh129 (4)
  • NiklasRentzCAU (4)
  • keiichibando (4)
Pull Request Authors
  • edwardalee (144)
  • lhstrh (109)
  • erlingrj (69)
  • cmnrd (67)
  • petervdonovan (40)
  • francabot (37)
  • Depetrol (23)
  • Jakio815 (23)
  • lsk567 (21)
  • byeonggiljun (13)
  • soerendomroes (10)
  • EhsanKhodadad (10)
  • patilatharva (7)
  • byeong-gil (7)
  • magnmaeh (6)
Top Labels
Issue Labels
bug (90) c (53) federated (28) enhancement (23) good first issue (22) cpp (14) python (14) compiler (13) diagrams (11) ci (10) feature (7) cli (7) validation (7) docker (6) lfc (6) testing (5) help wanted (5) build system (5) typescript (4) tracing (3) cmake (3) refactoring (2) modal models (2) windows (2) language (2) wontfix (2) invalid (2) zephyr (2) cleanup (2) mac (2)
Pull Request Labels
bugfix (192) enhancement (109) c (66) ci (59) federated (48) exclude (45) feature (44) automated (37) docker (36) cleanup (30) testing (24) python (21) refactoring (19) cpp (15) build system (14) zephyr (9) upgrade (9) cmake (8) diagrams (6) docs (6) documentation (6) compiler (6) windows (5) bug (5) typescript (4) cli (4) language (3) validation (3) tracing (2) security (2)