| パラダイム | 手続き的、命令的、同時的 |
|---|---|
| 開発者 | ゴラン・ヘムダール |
| 初登場 | 1970年代 |
| OS | エリクソンAPZ |
| ライセンス | 独自 |
| 方言 | |
| プレックスC、プレックスM | |
| 影響を受けた | |
| アーラン | |

PLEX (Programming Language for EXchanges) は、特殊な用途の並行リアルタイムプログラミング言語です。独自の PLEX 言語は、Ericsson のAXE 電話交換機のアーキテクチャと密接に結びついており、その制御を目的として設計されました。PLEX は1970 年代にEricssonの Göran Hemdahl によって開発され、 [1] それ以来継続的に進化しています。[2] PLEX は 2008 年に「 Fortranとマクロアセンブラの融合」と説明されました。[3]
この言語には2つのバリエーションがあり、AXE中央プロセッサ(CP)に使用されるPlex-Cと、拡張モジュール地域プロセッサ(EMRP)に使用されるPlex-Mです。 [4]
エリクソンは1980年代半ばに後継言語を作成するプロジェクトを開始し、その結果Erlangが誕生しました。共同開発者のジョー・アームストロングによると、「ErlangはPLEXとAXEの設計に大きく影響を受けました。」[1] ErlangはPLEXに取って代わることはなく、並行して使用されました。
実行モデル
システムは、「ブロック」と呼ばれる別々にコンパイルされロードされたコード単位に分割されます。ブロックは、システム内の他の場所から送信される1つ以上の信号を待機し、コードの実行をトリガーします。[4]
プリコンパイラ
高級言語やグラフィカル モデルからPlex-Cのソース コードを生成するためのプリコンパイラやコード ジェネレータはいくつかあります。これらは、次のものからPlex-Cを生成できます。
- 仕様記述言語のグラフィカル表現 (SDL/GR)
- Plex-SQL は、データベース機能を備えたPlex-Cの拡張版です。
- High Level Plex (HLPLEX) はPlex-Cの別の拡張です。
Plex-Cのソース コードは、アセンブリ言語ASA210C にコンパイルされます。ASA210Cのバイナリ形式は、ハードウェアとマイクロコードの組み合わせによって解釈されるか、ジャストインタイム コンパイラによって大容量マイクロプロセッサのネイティブマシン コードにコンパイルされます。
参考文献
- ^ ab Armstrong, Joe (2007). 「Erlangの歴史」。プログラミング言語の歴史に関する第3回ACM SIGPLAN会議の議事録。doi : 10.1145 / 1238844.1238850。ISBN 9781595937667. S2CID 555765。
- ^ Johan Erikson と Björn Lisper。「PLEX の形式意味論」(PDF)。メーラルダーレン大学。2009年 3 月 7 日閲覧。
- ^ Hague, James. 「Erlang への道」。21世紀のプログラミング。
- ^ ab Johan Erikson および Bo Lindell。「APZ/PLEX の実行モデル - 非公式の説明」(PDF) 。Mälardalen 大学。2009 年 9 月 4 日のオリジナル(PDF)からアーカイブ。2009 年 3 月 7 日に取得。
