メインコンテンツ

データ通信方法

アプリケーションまたはコンポーネント モデルを設計する際、一部のターゲット環境サービスでは、そのサービスで使用するデータ通信方法を考慮する必要があります。直接アクセス、実行外、および実行中のデータ通信方法があります。これらの方法は、データへの同時アクセスなど、タスクのデータ通信を調整します。生成された関数コードでは、ターゲット環境サービスで使用されているデータ通信方法を適用する必要があります。

直接アクセスの方法は、アプリケーションまたはコンポーネントのコードで、ターゲット環境サービスによって提供されるメモリからデータに直接アクセスすることを指定します。

次の図では、実行外の通信方法と実行中の通信方法の違いを示します。

Comparison of outside-execution and during-execution communication methods

グレーの破線の矢印は、コンポーネント コードによる通信データの使用を示しています。実行外のデータ アクセスを使用するサービスと通信する場合、コンポーネント コードの実行中に入力データの値が変更されることはありません。コンポーネント コードでは、データにアクセスするたびに同じ値を使用します。実行中のデータ アクセスを使用するサービスと通信する場合、コンポーネント コードの実行中に入力データの値が変更される可能性があります。コンポーネント コードでは、データにアクセスするたびに異なる値を使用する可能性があります。

次の表では、データ通信方法ごとに、サービスの動作と、そのデータ通信方法を適用するサービスを使用する生成コードで予期される、対応する動作について説明します。

データ通信方法ターゲット環境サービスの動作生成コードの動作
直接アクセス
  • ターゲット環境のメモリに保存されているデータに直接アクセスできる関数が提供されます。メモリは、電源をオフ/オンしている間、永続化されます。

  • 生成された関数がメモリ バッファーに同時アクセスしないことを前提としています。データ同時実行セーフガードは適用されません。

  • パフォーマンスが最大化されます。

ターゲット環境で管理されるメモリを使用することで、他の関数と直接通信します。
実行外
  • データ同時実行セーフガードが適用されます。

  • 関数の実行外 (実行前および実行後) に他の関数とデータを通信します。

  • メモリの最適化がデータの鮮度よりも優先されます。

  • 他の関数と間接的に通信します。

  • ターゲット環境によって提供されるメモリと対話します。

実行中
  • データ同時実行セーフガードが適用されます。

  • 関数の実行中に、他の関数と即時にデータを通信します。

  • データの鮮度がメモリ使用量よりも優先されます。

  • 他の関数と間接的に通信します。

  • ターゲット環境のローカル メモリを使用することで、ターゲット環境サービスと対話します。

ターゲット環境サービスで適用されるデータ通信方法に基づいて、モデルを設計し、モデル データ要素を構成します。

参考

トピック