コマンド活動

スマート・メーター・コマンドは活動によって管理されます。活動は、1つ以上の通信を編成して、コマンドに関連付けられている完了イベントを実行します。

主要なアルゴリズム

この項では、コマンド活動のライフサイクルの一環として実行される重要ないくつかのアルゴリズムについて概要を示します。

一部のアルゴリズムは、複数のビジネス・オブジェクトおよび複数のライフサイクル状態により直接共有されます。それ以外の場合は、一意のアルゴリズムがビジネス・オブジェクト全体で同じ役割を実行します。次の項では、一般的なアルゴリズムを示します。

ライフサイクルの状態 アルゴリズム

検証

「検証」状態は、コマンドを実行する必要があるかどうかをチェックする機会です。

  • 設備コマンド適格性のチェック: 適格コマンドの決定ビジネス・サービス(D1-DetermineEligibleCommands)をコールして、コマンド要求が設備に対して適格かどうかをチェックします。ビジネス・サービスにより返された適格コマンド・リストにコマンド要求が存在する場合、コマンド要求は適格と見なされます。

  • 活動を実行するヘッドエンド機能の検証: このアルゴリズムは、要求されたコマンドをサポートする機能がヘッドエンド・システムにあることをチェックします。これは、「サービス・プロバイダおよび方法の決定」ビジネス・サービスを呼び出すことで実現します。

  • 既存の有効な要求のチェック: このアルゴリズムは、同じ設備および同じタイプの非最終活動を探します。これによって、重複する要求がヘッドエンド・システムに送信されなくなります。

検証エラー

活動が検証に失敗すると、「検証エラー」状態に遷移します。この状態から活動を再試行し、ユーザーにエラーを通知するための作業予定登録を作成できます。

  • エラーのBOの再試行: 元の状態に遷移してビジネス・オブジェクトを再処理します。

  • エラーのBOの作業予定登録の作成: このアルゴリズムは、アルゴリズム・パラメータで指定された作業予定タイプと役割を使用して作業予定登録の作成を試みます。

  • BOの汎用作業予定の完了: このアルゴリズムは、特性タイプおよび特性値がアルゴリズム・パラメータで指定されている作業予定タイプを除き、ドリル・キーが現在のビジネス・オブジェクトの主キーであるすべての作業予定登録を完了します。これによって、コマンドと設備が同じである複数の作業予定登録の存在が回避されます。

発効日の待機中

要求をヘッドエンド・システムに送信する前に、活動はこの状態になります。

  • 待機タイムアウト - 拒否への遷移: このアルゴリズムは、失効日時に達した場合にビジネス・オブジェクトを拒否します。

  • 発効日の待機: このアルゴリズムは、必要な日に達すると構成された次の状態にビジネス・オブジェクトを遷移します。

  • 外部要求元への応答の送信: このアルゴリズムは、受信した肯定応答の応答アウトバウンド・メッセージを要求元に送信します。

接続準備完了

「接続準備完了」状態は活動を実行できることを示し、適切なアウトバウンド通信ビジネス・オブジェクトが作成されます。ヘッドエンド・システムのAPIが必要とする複数のアウトバウンド通信がある場合は、この状態に再度遷移できます。

  • アウトバウンド通信の作成: このアルゴリズムは、アルゴリズム・パラメータで指定された完了フラグの値がfalseの場合、アウトバウンド通信インスタンスを作成します。

  • 完了フラグに基づく結果アウトバウンドの作成: このアルゴリズムは、アルゴリズム・パラメータの値に基づいて、ヘッドエンド・システムへの2番目の通信をトリガーします。通常、これは最初のアウトバウンド通信が正常に完了したことを示します。

通信進行中

このライフサイクル状態は、アウトバウンド通信が進行中であることを示します。

  • 待機タイムアウト - 例外への遷移: ビジネス・オブジェクトの「進行中」状態が長すぎる場合、このアルゴリズムはビジネス・オブジェクトを例外の状態に遷移します。

  • 子通信のチェック: この活動に関連するアウトバウンド通信ビジネス・オブジェクト・インスタンスがすべて完了すると、アルゴリズムはビジネス・オブジェクトを次の状態に遷移します。

通信エラー

通信で問題が発生した場合にビジネス・オブジェクトが遷移するエラー処理ライフサイクル状態。アルゴリズムは、「検証エラー」状態のアルゴリズムに似ています。

  • 待機タイムアウト - 拒否への遷移: ビジネス・オブジェクトの「進行中」状態が長すぎる場合、このアルゴリズムはビジネス・オブジェクトを拒否の状態に遷移します。

  • エラーのBOの再試行: このアルゴリズムは、元の状態に遷移することでビジネス・オブジェクトを再処理します。

  • エラーのBOの作業予定登録の作成: このアルゴリズムは、アルゴリズム・パラメータで指定された作業予定タイプと役割を使用して作業予定登録の作成を試みます。

  • BOの汎用作業予定の完了: このアルゴリズムは、特性タイプおよび特性値がアルゴリズム・パラメータで指定されている作業予定タイプを除き、ドリル・キーが現在のビジネス・オブジェクトの主キーであるすべての作業予定登録を完了します。これによって、コマンドと設備が同じである複数の作業予定登録の存在が回避されます

再試行

既存のアウトバウンド通信を破棄して活動を「接続準備完了」に戻すライフサイクル状態。

完了イベントの実行

このライフサイクル状態は、通信によって取得された情報を照合して結果を作成します。たとえば、DeviceStatusCheckでは全体的な結果が設定されます。

  • 完了イベントの実行: 活動に関連付けられている完了イベントを開始します。

完了イベント・エラー

これは、「検証エラー」および「通信エラー」状態と同様のもう1つのエラー処理状態です。アルゴリズムはそれらの状態の場合と同様です。

完了

これは成功した活動を表す最終状態です。終了タスクが実行され、外部要求元に通知されます。

破棄済

「完了」状態と同様に、「破棄済」状態は活動を終了し、全体的な失敗を示します。外部要求元に失敗が通知され、その他の終了タスクが実行されます。