OPEN-R SDK OPEN-Rの基礎知識 |
1.おおまかなOPEN-Rの仕組み
OPEN-RはマルチスレッドOSである。複数のオブジェクトが通信を行い、メッセージを交換しつつ処理を平行に行う。
OPEN−R起動時に動作すべき実行形式のファイルが呼び出されそれぞれが専用のスレッドで動作する。実行形式のファイル毎にオブジェクトが生成される。
実行するファイル(オブジェクト)はOBJECT.CFGに列挙される。
ただし、それぞれのオブジェクトはシングルスレッドであり、メッセージが複数到着した場合は順番待ち行列(キュー)となり、順に処理される。
メッセージはデータとセレクターで構成されている。セレクターとはオブジェクト内でのメッセージの識別子(ID)であり、セレクターによってデータを受け取り、処理を行う関数(メソッド)が特定される。
2.OPEN-Rを実現するための仕組み
オブジェクト間の通信はあらかじめ接続関係が設定されている。(CONNECT.CFG)
オブジェクトが他のオブジェクトからメッセージを受ける動作はそれぞれ担当の関数が割り当てられる。どういった通信にどの関数が割り当てられ、メッセージに使用するデータ形式は何であるかをあらかじめ登録する。(stub.cfg)
※stub.cfgはコンパイル時に処理されて他のC++ソースコードに変換される。