あらゆる言語で直感的な並行プログラミングを実現
Intuitive concurrent programming in any language (lf-lang.org)
要約
Lingua Franca (LF) は、予測可能で、並行処理、時間制約、分散型のシステムを構築するための協調言語です。スレッド管理や同期、競合状態の心配なく、決定論的なマルチスレッドおよび分散アプリケーションを記述できます。LFはリアクター指向の言語であり、C、C++、Python、TypeScript、Rustなどの既存言語でコード本体を記述できるため、新しい言語を学ぶ必要はありません。
全文翻訳
予測可能で、並行処理が可能で、時間制約があり、分散されたシステムを構築する。
Lingua Francaは、効率的で、決定論的で、マルチスレッド、時間制約、組み込み、分散プログラムのための調整言語です。数十年にわたる研究の成果であり、スレッド、Pub-Sub、アクター、サービス指向アーキテクチャを含む他の並行プログラミングフレームワークよりも再現性の高い動作を提供します。
決定論的な並行処理
Lingua Francaは、決定論的なマルチスレッドおよび分散アプリケーションを記述するための簡単な方法を提供し、スレッド管理、同期、競合状態に関する懸念を排除します。
組み込みのタイミングセマンティクス
タイミングはLingua Francaのコアに組み込まれており、開発者は並行プログラミングで一般的に必要とされる複雑なタイミングロジックなしに、時間制約のあるタスクを正確に処理できます。
ABC
簡略化された分散処理
Lingua Francaは、最小限の変更で単一システムから分散システムアーキテクチャへのシームレスな移行を可能にし、分散システムプログラミングの複雑さを抽象化します。
LFでアプリケーションを設計する
import Player from "../Player.lf"
main reactor RockPaperScissors {
// ここに2つのPlayerリアクターをインスタンス化する
player1 = new Player(id=1)
player2 = new Player(id=2)
// それらの間に接続を作成する
player2.reveal -> player1.observe
player1.reveal -> player2.observe
}
RockPaperScissorsプログラムのLingua Francaダイアグラム
RockPaperScissors
player2:Player
observereveal
player1:Player
observereveal
[画像:Lingua Franca Playgroundへのリンク]
新しいプログラミングパラダイム
Lingua Francaは、初のリアクター指向調整言語です。これにより、リアクティブコンポーネントを指定し、それらを合成できます。Lingua Francaは、構築によって競合状態を排除し、タイミング動作の指定を容易にし、手動同期の必要性をなくします。
2人のプレイヤーが同時に選択を明らかにする必要がある「じゃんけん」のゲームを考えてみてください。Lingua Francaでは、「同時に」という言葉には明確で正確な意味があります。これにより、実装はシンプルで直感的になり、公平性が保証されます。もしPlayerクラスが自身の選択を明らかにする前に相手の選択を観察した場合、Lingua Francaの因果関係分析は因果関係ループを見つけ、プログラムが無効であることを通知します。
新しいプログラミング言語ではない
Lingua Francaを使用すると、スレッドライブラリやメッセージパッシングミドルウェアを忘れることができますが、好きな言語を使い続けることができます。リアクターの機能を作成するリアクティブコードの本体は、選択したプログラミング言語で記述されます。現在、C、C++、Python、TypeScript、Rustをサポートしています。
オープンソースで研究に裏打ちされている
Lingua FrancaはUC Berkeleyで最初に開発され、計算モデルにおける数十年にわたる研究の影響を受けていました。
Lingua Francaの主要貢献者が居住する場所を示す世界地図Lingua Francaの主要貢献者が居住する場所を示す世界地図
発足 shortly after、Kiel UniversityとTU Dresdenの研究者がチームに参加し、ダイアグラム合成とレイアウト技術、高効率なランタイム実装、およびさまざまなコンパイラ改善に貢献しました。それ以来、UT Dallasのリアルタイムシステム専門家、NTNUの組み込みシステム専門家、Hanyang UniversityとASUのネットワークおよびセキュリティ研究者と協力してきました。
A world map showing where key Lingua Franca contributors reside.