JP2019521402A - プロセスアプリケーションを開発及び診断するためのステップバック機構 - Google Patents

プロセスアプリケーションを開発及び診断するためのステップバック機構 Download PDF

Info

Publication number
JP2019521402A
JP2019521402A JP2018550499A JP2018550499A JP2019521402A JP 2019521402 A JP2019521402 A JP 2019521402A JP 2018550499 A JP2018550499 A JP 2018550499A JP 2018550499 A JP2018550499 A JP 2018550499A JP 2019521402 A JP2019521402 A JP 2019521402A
Authority
JP
Japan
Prior art keywords
flow
process flow
state
state information
process application
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2018550499A
Other languages
English (en)
Other versions
JP7015625B2 (ja
JP2019521402A5 (ja
Inventor
マルティネズ、フランシスコ
レジスター、マイケル
コズィカッソディ、ラジーブ
Original Assignee
ティブコ ソフトウェア インク
ティブコ ソフトウェア インク
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ティブコ ソフトウェア インク, ティブコ ソフトウェア インク filed Critical ティブコ ソフトウェア インク
Publication of JP2019521402A publication Critical patent/JP2019521402A/ja
Publication of JP2019521402A5 publication Critical patent/JP2019521402A5/ja
Application granted granted Critical
Publication of JP7015625B2 publication Critical patent/JP7015625B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/43Checking; Contextual analysis
    • G06F8/433Dependency analysis; Data or control flow analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

プロセスフローの選択されたステップに関連付けられた1つ以上の入力が変更される。前記プロセスフローは、前記変更された1つ以上の入力に基づいて、前記選択されたステップから実行される。選択されたステップに関連付けられたデータレコードは、変更された1つ以上の入力を反映するように更新される。プロセスフローを含むプロセスアプリケーションは、実行可能ファイルにコンパイルされ、デバイスにデプロイされる。【選択図】 図5

Description

(関連出願)
本出願は、すべての目的のために参照により本明細書に組み込まれる、2016年5月16日付出願の米国仮特許出願第62/337,156号、発明の名称「STEPBACK MECHANISM TO DEVELOP AND DIAGNOSE PROCESS APPLICATIONS」に対する優先権を主張する。
プロセスアプリケーションを実行するプロセスエンジンを、デバイスにデプロイすることができる。プロセスアプリケーションは特定の方法で動作するように設計されているが、何らかの未知の理由によりプロセスアプリケーションが期待どおりに動作しないことがある。可能な解決策の1つは、単に装置を交換することであるが、このような解決策は実用的でないか、またはコスト高になり、またプロセスアプリケーションに関する根本的な問題を解決しない。
本発明の様々な実施形態が、以下の詳細な説明および添付図面に開示される。
図1は、ステップバック機構を使用してプロセスアプリケーションを開発および診断するためのシステムの実施形態を示すブロック図である。 図2Aは、プロセスアプリケーション開発プラットフォームの一実施形態を示すブロック図である。 図2Bは、プロセスアプリケーション診断プラットフォームの一実施形態を示すブロック図である。 図3は、プロセスアプリケーションの一実施形態を示すフローチャートである。 図4は、デバイス上で動作するプロセスエンジンによって実行されるプロセスアプリケーションに関連付けられた状態情報を報告するためのプロセスの実施形態を示すフローチャートである。 図5は、プロセスアプリケーションを診断するためのプロセスの一実施形態を示すフローチャートである。 図6は、プロセスアプリケーションを開発するためのプロセスの一実施形態を示すフローチャートである。 図7は、プロセスアプリケーションを修正するためのプロセスの一実施形態を示すフロー 図8は、プロセスを配備するためのプロセスの一実施形態を示すフローチャートである。
本発明は、さまざまな形式で実施可能であるが、プロセス、装置、システム、組成物、コンピュータ可読記憶媒体上に具現化されたコンピュータプログラム製品、および/またはプロセッサ(プロセッサーに結合されたメモリに記憶された命令を実行するように構成されたプロセッサ等)が含まれる。本明細書では、これらの実装形態、または本発明がとり得る他の形態は、技術と呼ぶことができる。一般に、開示されたプロセスのステップの順序は、本発明の範囲内で変更されてもよい。別段の記載がない限り、プロセッサまたはメモリなどのタスクを実行するように構成されたものとして記載されているコンポーネントは、所与の時間にタスクを実行するように一時的に構成された一般的なコンポーネント、またはそのタスクを行うために製造された特定のコンポーネントによって実行される。本明細書で使用する「プロセッサ」という用語は、コンピュータプログラム命令などのデータを処理するように構成された1つ以上のデバイス、回路、および/または処理コアを指す。
本発明の1つ以上の実施形態の詳細を、以下に本発明の原理を説明する添付の図面と共に説明する。本発明はそのような実施形態に関連して説明されるが、本発明はいずれの実施形態にも限定されるものではない。本発明の範囲は、特許請求の範囲によってのみ限定され、本発明は、多数の代替、変形および等価物を含むものである。本発明の完全な理解を提供するために、多くの具体的な詳細が以下の説明に記載されている。これらの詳細は、例示のために提供されており、本発明は、これらの特定の詳細の一部または全部を伴わずに、請求項に従って実施することができる。明瞭化のために、本発明に関連する技術分野において周知の技術内容は、本発明が不必要に不明瞭にならないように詳細には記載していない。
プロセスアプリケーションを開発し診断するためのステップバック機構が開示されている。いくつかの実施形態では、デバイス上で動作するプロセスエンジンの例では、プロセスアプリケーションを実行するように構成されているが、予期しない誤った挙動が起こる。プロセスアプリケーションは、1つ以上のプロセスフローを含む。各プロセスフローは一連のステップで構成されるが、たとえば、1つ以上のアクティビティの後に、メッセージを記録するアクティビティなどである。プロセスフローのステップの実行中に変更されたデータ値、すなわち状態遷移が記録され、ローカルに格納される。その後、変更されたデータ値が送信され、遠隔状態情報データベースに格納される。プロセスアプリケーションの定義およびプロセスエンジンのインスタンスに関連する記録された状態値は、プロセスアプリケーション診断プラットフォームによって得られる。プロセスアプリケーション診断プラットフォームは、ステップバック機構を含み、関連付けられた状態値で前記デバイス上で実行されたプロセスエンジンを再生成するように構成される。ステップバック機構は、オペレータがプロセスアプリケーションに関連する1つ以上のプロセスフローのステップをバックトラックすることを可能にする。オペレータは、プロセスフローの各ステップで記録された状態を検査するだけでなく、任意のステップで関連付けられた任意のデータ値を調整し、プロセスアプリケーションを始めから実行することなくプロセスフローの後続ステップへの調整データ値の影響を判定できます。
オペレータは、所望の結果を達成するためにプロセスフローに対する1つ以上の調整を行うことができる。オペレータがプロセスフローに所望の結果を達成させるようにプロセスフローを調整した場合、プロセスアプリケーションを更新して調整を反映させることができる。その後、プロセスアプリケーションを再度コンパイルしてデバイスに再デプロイすることができます。これにより、装置を完全に交換することは高費用、または実用的でない場合があるが、完全に交換しなくても誤動作した装置を修理することができる。
他の実施形態では、プロセスアプリケーションを実行するプロセスエンジンは、プロセスアプリケーション開発プラットフォームを使用して開発することができる。プロセスアプリケーション開発プラットフォームは、開発者がプロセスアプリケーションを作成できるように構成され、開発者がプロセスフローの任意のステップに対する1つ以上の調整を行い、プロセスアプリケーションを最初から再実行しなくても、1つ以上の調整の後続のステップへの影響を決定することを可能にするステップバックメカニズムを含む。プロセスフローが所望の結果を達成するように開発者がプロセスフローを調整した場合、プロセスアプリケーションを保存して調整を反映させることができる。プロセスアプリケーションをプリコンパイルして、プロセスアプリケーションを実行するために必要な最小限のコンポーネントセットを決定し、不要なコンポーネントを削除することが可能である。その後、プロセスアプリケーションを実行可能ファイルにコンパイルし、デバイスにデプロイすることができる。
図1は、ステップバック機構を使用してプロセスアプリケーションを開発および診断するためのシステムの実施形態を示すブロック図である。図示の例では、システム100は、プロセスアプリケーション開発プラットフォーム110、プロセスアプリケーション診断プラットフォーム112、フロー定義データベース114、状態情報データベース116、デバイス118、およびネットワーク120を含む。
プロセスアプリケーション開発プラットフォーム110は、インテグレータ104がプロセスアプリケーションを呼び出すカスタムプロセスエンジンを作成することを可能にするプラットフォームである。インテグレータ104は、特定の目的のための1つ以上のプロセスフローからなるプロセスアプリケーションをプロセスアプリケーション開発プラットフォーム110を介して作成する、ソフトウェア開発者などのエンティティであってもよい。
例えば、インテグレータは、装置がシステム更新を実行する、特定の機能を実行する、診断テストを実行する等ために、プロセスフローを作成することができる。各プロセスフローは、メッセージを記録するアクティビティの後に1つ以上のアクティビティが続くなど、一連のステップからなる。
インテグレータは、プロセスフローを開始するトリガ、またトリガ後に呼び出される1つ以上のアクティビティを選択することができる。インテグレータは、第1のプロセスフローのアクティビティから分岐する第2のプロセスフロー、またはトリガーの出力に基づく第2のプロセスフローを作成することができる第2のプロセスフローを作成できる。トリガーおよびアクティビティは、ライブラリ、コンポーネント、および/または関数への参照を含むコードの個々のセットによって定義されてもよい。
開発者102は、プロセスアプリケーション開発プラットフォーム110を介してアクティビティおよびトリガを作成する個人または他のエンティティ(例えば、ソフトウェア開発者)であってもよい。開発者102は、アクティビティおよびトリガクリエータを使用してアクティビティおよび/またはトリガを作成することができる。開発者によって作成された各アクティビティおよびトリガは、Go、Python、C、C++などのプログラミング言語を介して作成される自己完結型のコード機能であってもよい。トリガおよびアクティビティは、複数の開発者によって作成されてもよく、プロセスフローを形成するためにトリガーおよびアクティビティがどのようにして後で他の人によって組み合わされるかを開発者のそれぞれが認識しない。
オペレータ106は、プロセスアプリケーションを診断する人または他のエンティティ(例えば、ソフトウェア開発者)であってもよい。オペレータ106は、フロー定義データベース114から検索するファイルと、状態情報データベース116から検索するプロセスエンジンに関連付けられた関連する記録済み状態遷移とを選択することによって、プロセスエンジンが故障したインスタンスを復活させることができる。いくつかの実施形態において、前記ファイルは、flow.jsonファイル、XMLファイル、またはフロー定義を格納するその他のファイルが可能である。プロセスエンジンに関連付けられた関連する記録済み状態遷移は、プロセスエンジンが故障したインスタンスを実行したデバイスに固有の識別子を介して識別することができる。オペレータ106は、任意のステップでプロセスアプリケーションに関連する状態値をユーザインターフェースを介して修正し、プロセスアプリケーションの開始からプロセスアプリケーションを実行する必要なく、修正された状態が後続のステップに及ぼす影響を見ることができる。オペレータ106は、元の状態値の代わりに修正された状態値を出力するようにステップが構成されるように、プロセスアプリケーションを更新することができる。
プロセスアプリケーション診断プラットフォーム112は、オペレータ106がデバイスに関連付けられたフロー定義ファイルをフロー定義データベース114から、また前記デバイスに関連付けられた関連する記録済み状態遷移を状態情報データベース116から、検索することを可能にするプラットフォームである。特定のフロー定義は1つ以上のデバイスに関連付ける方法で格納可能である。フロー定義ファイルは、プロセスアプリケーションに関連する期待される動作のメタデータ記述である。いくつかの実施形態では、フロー定義は、プロセスアプリケーションのトリガとアクティビティとの関係、およびトリガおよびアクティビティの実行方法を記述する。いくつかの実施形態では、フロー定義は、プロセスアプリケーションのアクティビティとプロセスアプリケーションの動作との間の関係を記述する。いくつかの実施形態では、フロー定義ファイルは、flow.jsonファイル、app.jsonファイル、XMLファイル、またはフロー定義を格納する他のファイルであってもよい。関連する記録済み状態遷移は、プロセスアプリケーションの各ステップにおいて、プロセスアプリケーションのトリガおよびアクティビティに関連付けられた値を記述する。プロセスエンジンに関連付けられた関連する記録済み状態遷移は、プロセスエンジンが故障したインスタンスを実行したデバイスに固有の固有の識別子を介して識別することができる。プロセスアプリケーション診断プラットフォーム112は、フロー定義ファイルと関連する記録済み状態遷移との組み合わせを使用して、デバイス118などのデバイスにデプロイされたプロセスエンジンを再作成するように構成される。プロセスアプリケーション診断プラットフォーム112は、プロセスアプリケーションの任意のステップからプレセスアプリケーションを再生成するように構成されている。プロセスアプリケーション診断プラットフォーム112は、プロセスアプリケーションの任意のステップに関連付けられたデータ値を調整する指示を受け取り、前記データ値を調整するように構成される。プロセスアプリケーション診断プラットフォーム112は、選択されたステップから、ステップの検索されたデータ値の代わりに調整されたデータ値を有するプロセスアプリケーションを再生するように構成される。いくつかの実施形態では、プロセスアプリケーション診断プラットフォーム112は、プロセスアプリケーションを故障前のステップに再生するように構成される。
いくつかの実施形態では、プロセスアプリケーション開発プラットフォーム110およびプロセスアプリケーション診断プラットフォーム112を、開発者102、インテグレータ104、および/またはオペレータ106がアクセス可能な単一のプロセスアプリケーション開発および診断プラットフォームに結合することができる。
フロー定義データベース114は、プロセスアプリケーションの動作を記述するファイルを格納するデータベースである。いくつかの実施形態では、フロー定義データベース114は、プロセスアプリケーションのトリガ、プロセスアプリケーションのアクティビティ、プロセスアプリケーション内のトリガとアクティビティとの間の関係、および/またはプロセス内のアクティビティ間の関係を記述するフロー定義ファイルを格納する。いくつかの実施形態では、ネットワーク120を介してアクセス可能なフロー定義データベース114のインスタンスが多数存在する。いくつかの実施形態では、フロー定義ファイルは、flow.jsonファイル、app.jsonファイル、XMLファイル、またはその他のフロー定義を格納するファイルが可能である。
状態情報データベース116は、デバイス118などのデバイス上で実行されているプロセスエンジンに関連付けられた状態を格納するデータベースである。いくつかの実施形態では、各ステップにおけるプロセスアプリケーションのすべての状態値が状態情報データベース116に格納される。いくつかの実施形態では、プロセスアプリケーションのステップ中に変更される状態値が状態サービスデータベース116に格納される。いくつかの実施形態では、各プロセスアプリケーションステップの完了時に状態値が格納される。いくつかの実施形態では、状態値は、各プロセスアプリケーションのステップの開始時に格納される。
デバイス118は、プロセスエンジンを実行するターゲットデバイスである。例えば、デバイス118は、モバイルデバイス、相互接続デバイス、IoTデバイス、汎用コンピュータ、またはプロセスエンジンを実行する任意のデバイスであってもよい。プロセスアプリケーションがコンパイルされた後、実行可能なプロセスエンジンをデバイス118にデプロイすることができる。プロセスエンジンは、一般的なプロセスエンジンまたはカスタムプロセスエンジンとすることができる。プロセスエンジンは、デバイス118によって実行されると、デバイスの挙動を制御する。いくつかの実施形態では、デバイス118は、プロセスアプリケーションの各ステップが完了した後のすべての状態値を記憶する。いくつかの実施形態では、デバイス118は、プロセスアプリケーションの各ステップが完了した後の状態遷移を格納する。いくつかの実施形態では、デバイス118は、プロセスアプリケーションの各ステップが完了した後に、状態情報データベース116に状態遷移を送信する。他の実施形態では、デバイス118は、状態情報データベース116に状態遷移を周期的に送信する。他の実施形態では、デバイス118は、要求に応じて状態情報データベース116に状態遷移を送信する。いくつかの実施形態では、デバイス118がネットワーク120への接続性を失ったとき、デバイス118は、ネットワーク120への接続を再確立するときに状態情報データベース116に状態遷移を送信する。
ネットワーク120は、プロセスアプリケーション開発プラットフォーム、プロセスアプリケーション診断プラットフォーム112、フローサービスデータベース114、状態サービスデータベース116、およびデバイス118と相互接続する。ネットワーク120は、ローカルエリアネットワーク、有線ネットワーク、無線ネットワーク、インターネット、イントラネット、または任意の他の適切な通信ネットワークのうちの1つ以上を備える。
図2Aは、プロセスアプリケーション開発プラットフォームの一実施形態を示すブロック図である。いくつかの実施形態では、プロセスアプリケーション開発プラットフォーム110を使用して、プロセスアプリケーション開発プラットフォーム210を実装することができる。
プロセスアプリケーション開発プラットフォーム210は、プロセスアプリケーションワークスペース205、プリコンパイラ206、アクティビティおよびトリガクリエータ207、コンパイラ208、および/またはデータベース209を含むことができる。プロセスアプリケーション開発プラットフォーム210は、1つ以上のコンピュータデバイスを使用して実施可能であり、コンピュータ、マルチプロセッサシステム、マイクロプロセッサベースのシステム、クラウドベースのシステム、専用装置、上述のシステムまたは装置のいずれかを含む分散コンピューティング環境、または1つ以上のプロセッサー、前記プロセッサーに接続された、プロセッサーに指令を提供するように構成されたメモリーを含むハードウェア/ソフトウェア/ファームウェアの他の適切な組み合わせ等を含む。
プロセスアプリケーションワークスペース205は、インテグレータ104などのインテグレータがプロセスアプリケーションに含めるべき1つ以上のプロセスフローを作成することを可能にするユーザインタフェースである。いくつかの実施形態では、1つ以上のプロセスフローは、ビジュアルエディタまたはテキストエディタによって作成することができる。プロセスフローには、1つ以上のアクティビティが続くトリガが含まれる。他の実施形態では、プロセスフローは、1つ以上のアクティビティから構成される。このようなプロセスフローは、プロセスフロー定義の一部ではないトリガに関連付けることができる。プロセスフローが実行されるとき、プロセスフローは1つ以上のステップから構成される。プロセスフローの各ステップでは、各トリガーと1つ以上のアクティビティーには関連した状態がある。プロセスアプリケーションワークスペース205は、インテグレータがプロセスフローの任意のステップで任意のトリガおよび/または任意のアクティビティに関連付けられた1つ以上のデータ値を修正し、修正されたデータに基づいて残りのステップを実行することを可能にするステップバック機構を含む。プロセスアプリケーションワークスペース205は、ユーザがトリガおよび/またはアクティビティに関連付けられたデータレコードを修正および格納することを可能にするように構成される。データレコードは、トリガーおよび/またはアクティビティによって使用されるデータ値を含む。
プリコンパイラ206は、インテグレータによって作成されたプロセスアプリケーションの1つ以上のプロセスフローを分析し、プロセスアプリケーションを実行するために必要な最小限のコンポーネントセットを決定するように構成されている。コンパイラ208は、プロセスアプリケーションを実行可能ファイルにコンパイルするように構成される。得られたコンパイルされたコードはパッケージ化され、実行可能なバイナリとして(例えば、ダウンロードによって)デプロイされるように利用可能にされる。実行可能ファイルは、デバイス118などのデバイス上で実行されると、デバイス118がどのように動作するかを制御するプロセスエンジンである。データベース209は、開発者102などの1人または複数の開発者によって作成されたアクティビティおよびトリガを格納するように構成される。データベース209は、アプリケーション開発プラットフォーム210の内部のメモリおよび/または記憶装置、アプリケーション開発プラットフォーム210に付属したメモリおよび/または記憶装置、プロセスアプリケーション開発プラットフォーム210にネットワーク接続を介して接続された任意のメモリおよび/またはストレージデバイス、またはそれらの任意の組み合わせが可能である。ネットワーク接続は、有線または無線接続であってもよい。
図2Bは、プロセスアプリケーション診断プラットフォームの一実施形態を示すブロック図である。いくつかの実施形態では、処理アプリケーション診断プラットフォーム212は、処理アプリケーション診断プラットフォーム112を使用して実装することができる。
プロセスアプリケーション診断プラットフォーム212は、プロセスアプリケーション診断ワークスペース215、プリコンパイラ216、コンパイラ218、および/またはデータベース219を含むことができる。プロセスアプリケーション診断プラットフォーム210は、1つ以上のコンピューティングデバイスを使って実装可能であり、これにはコンピュータ、マルチプロセッサシステム、マイクロプロセッサベースのシステム、クラウドベースのシステム、専用装置、上記のシステムまたは装置のいずれかを含む分散コンピューティング環境、または他の適切なハードウェア/ソフトウェア/ファームウェアの組み合わせであって1つ以上のプロセッサと、プロセッサに結合され、プロセッサに命令を提供するように構成されたメモリとを含むもの等が含まれる。
プロセスアプリケーション診断ワークスペース215は、オペレータ106などのオペレータが、フロー定義データベースからデバイスにデプロイされたプロセスアプリケーションに関連付けられた1つ以上のプロセスフローを検索し、それに関連する1つ以上の状態値を状態情報データベースから検索することを可能にするユーザインタフェースである。前記検索されたプロセスフローは、デバイス上で実行されたものである。プロセスアプリケーション診断ワークスペース215は、ステップバック機構を含み、プロセスフローの特定のステップでプロセスフローに関連付けられた1つ以上のデータ値を変更する1つ以上の入力を受け取るように構成される。プロセスアプリケーション診断ワークスペース215は、前記修正された値で特定のステップからのプロセスフローを実行するようにさらに構成される。
プロセスアプリケーション診断ワークスペース215は、格納された状態値の代わりに修正された状態値を出力するようにプロセスアプリケーションを更新するようにさらに構成される。プロセスアプリケーション診断ワークスペース215はさらに、更新されたプロセスアプリケーションをデータベース219またはリモートフロー定義データベースに格納するように構成される。更新されたプロセスアプリケーションは、所望の出力を生成するためにトリガおよび/またはアクティビティによって使用される1つ以上の変更されたデータ値を含むデータレコードを含む。
プリコンパイラ216は、プロセスアプリケーションの1つ以上のプロセスフローを分析し、プロセスアプリケーションを実行するために必要なコンポーネントの最小セットを決定するように構成されている。コンパイラ218は、プロセスアプリケーションを実行可能ファイルにコンパイルするように構成される。得られたコンパイルされたコードはパッケージ化され、実行可能なバイナリとして(例えば、ダウンロードなどによって)再配置されるように利用可能にされる。実行可能ファイルは、デバイス118のようなデバイス上で実行されると、デバイスがどのように動作するかを制御するプロセスエンジンである。データベース219は、オペレータ106などの1つ以上のオペレータによって変更されたアクティビティおよびトリガを格納する。データベース219は、プロセスアプリケーション開発プラットフォーム212内のメモリおよび/またはストレージデバイス、プロセスアプリケーション開発プラットフォームに取り付けられたメモリおよび/ またはデバイス、またはネットワーク接続を介してプロセスアプリケーション開発プラットフォーム212に接続された任意のメモリおよび/または記憶装置、または上記の任意の組み合わせを含む。ネットワーク接続は、有線または無線接続であってもよい。いくつかの実施形態では、変更されたプロセスアプリケーション定義は、フロー定義データベース114などのリモートデータベースに送信される。
図3は、プロセスアプリケーションの一実施形態を示すフローチャートである。いくつかの実施形態では、プロセスアプリケーション開発ワークスペース205などのプロセスアプリケーション開発ワークスペースを使用してプロセスアプリケーション300を開発することができる。他の実施形態では、プロセスアプリケーション診断ワークスペース215などのプロセスアプリケーション診断ワークスペースを使用してプロセスアプリケーション300を診断することができる。
プロセスアプリケーションは、1つ以上のプロセスフローから構成される。いくつかの実施形態では、プロセスフローは、トリガおよび1つ以上のアクティビティから構成される。いくつかの実施形態では、1つ以上のアクティビティから構成され、プロセスフロー定義の一部ではないトリガに関連付けられる。アクティビティの非限定的な例には、カウンタアクティビティ、ログアクティビティ、リセットアクティビティ、制約付きアプリケーションプロトコル(CoAP)アクティビティ、およびハイパーテキスト転送プロトコル(HTTP)アクティビティが含まれる。
プロセスアプリケーションを呼び出すデプロイされたプロセスエンジンは、誤った結果を生成する可能性がある。例えば、プロセスフローのアクティビティは、第三者のソフトウェアからの出力を入力として使用することができる。第三者ソフトウェアは、第三者ソフトウェアが異なる値、すなわちアクティビティに対する異なる入力値を出力するように更新される可能性がある。その結果、アクティビティは、アクティビティが出力すると予想される状態値とは異なる状態値を出力する。
図示の例では、プロセスアプリケーション300は、プロセスフローAおよびプロセスフローBを含む。プロセスフローAは、トリガ302で始まり、アクティビティ304、アクティビティ306、およびアクティビティ308が後続する一連のステップからなる。プロセスフローBは、トリガ310で始まり、アクティビティ312、アクティビティ314、およびアクティビティ316が後続する一連のステップから構成される。プロセスフローは一般にトリガで始まり、先行するトリガーとアクティビティーの出力を入力として使用する1つ以上のアクティビティが後続する。
プロセスフローAは、逐次プロセスフローの一例である。プロセスフローAは、プロセスアプリケーション開発プラットフォームで開発することができる。プロセスフローAは、デバイスにデプロイされたプロセスエンジンに関連付けられた検索されたフロー定義と、デバイス上で実行されるプロセスエンジンのインスタンスに関連付けられた検索された状態情報に基づいて、プロセスアプリケーション診断ワークスペースによって再生成することもできる。プロセスフローの第1ステップにおいて、トリガ302は、アクティビティ304に入力される状態値を出力することができる。プロセスフローの第2ステップにおいて、アクティビティ304は、アクティビティ306に入力される状態値を出力することができる。プロセスフローの第3ステップにおいて、アクティビティ306は、アクティビティ304の出力に基づいて状態値を出力することができる。プロセスフローの第4のステップにおいて、アクティビティ308は、アクティビティ306の出力に基づいて状態値を出力することができる。各アクティビティは、先行するアクティビティまたはトリガの出力に加えて、1つ以上の入力データ値に基づいた状態値を出力することが可能である。例えば、アクティビティ304によって出力される状態値は、トリガ302の出力および1つ以上の追加入力データ値に基づくことができる。1つ以上の追加の入力データ値は、アクティビティ304によって出力された状態値を調整するように調整することができる。
アクティビティに関連付けられた1つ以上の追加入力データ値は、プロセスアプリケーション開発ワークスペースで調整することができる。例えば、アクティビティ306が特定の状態を出力することが望ましいかもしれないが、何らかの理由でアクティビティ306が所望の状態を出力しない。いくつかの実施形態では、アクティビティ304は、アクティビティ304に関連する状態値が、アクティビティ306に所望の状態とは異なる値を出力させるため、所望の状態を出力しないことがある。プロセスアプリケーション開発ワークスペースは、アクティビティ304に関連付けられた1つ以上の入力データ値を調整する入力を受け取り、1つ以上の調整された入力データ値でプロセスフローを第2ステップからシミュレートするように構成される。例えば、ステップ2において、アクティビティ304は、「X」の状態を出力するように構成される。ステップ3において、アクティビティ306は「X」の状態を受け取り、「A」の状態を出力する。ステップ4において、アクティビティ308は「A」の状態を受け取り、「B」の状態を出力する。アクティビティ304に関連付けられた1つ以上の入力データ値は、アクティビティ304が「Y」の状態を出力するように構成されるようにアクティビティ304を調整することができる。ステップ3では、アクティビティ306は「Y」の状態を受け取り、「C」の状態を出力する。ステップ4では、アクティビティ308が「C」の状態を受け取り、「D」の状態を出力する。プロセスアプリケーション開発ワークスペースは、インテグレータが、ステップ1からプロセスフローを開始することなく、アクティビティ304の状態を調整した場合の影響を判定することを可能にする。これにより、選択したステップの前にあるステップを実行するためにシステム資源を使用する必要がなくなるので、プロセスアプリケーションが故障したインスタンスを診断するために必要な時間が短縮される。いくつかの例では、プロセスアプリケーションは数百のステップから構成されるので、最初からプロセスアプリケーションを実行すると、選択されたステップ、例えばプロセスアプリケーションの途中、あるいは最後の方からプロセスアプリケーションを実行した時よりも多くの計算資源を必要とする。プロセスアプリケーション開発プラットフォームはまた、プロセスフローの変更されたバージョンを保存するように構成されている。
プロセスフローBは、複数の経路を有するプロセスフローの一例である。プロセスフローBは、プロセスアプリケーション開発プラットフォームで開発することができる。プロセスフローBは、プロセスアプリケーション診断ワークスペースによって、デバイスにデプロイされたプロセスエンジンに関連付けられた検索されたフロー定義と、前記デバイスで実行されたプロセスエンジンのインスタンスに関連付けられた、検索された状態情報に基づいて再生成可能であり、オペレータがトリガまたはアクティビティに関連付けられた1つ以上の入力変数を調整して、関連するトリガまたはアクティビティが所望の状態を生成するようにさせることを可能にする。
図示の例では、ステップ2において、アクティビティ312は、ステップ3においてアクティビティ314に状態値を出力させる状態を出力するが、ステップ3においてアクティビティ316には状態値を出力させない状態を出力することができる。アクティビティ312は、元々、アクティビティ316に状態値を出力させる状態値を出力するようにプログラムされたものであってもよい。アクティビティ312に関連付けられた1つ以上の入力データ値は、アクティビティ316に状態値を出力させるように調整することができる。プロセスアプリケーション診断ワークスペースは、オペレータがステップ1からのプロセスフローを開始する必要なく、アクティビティ状態312の調整の影響を判定することを可能にする。これにより、選択したステップの前にあるステップを実行するためにシステム資源を使用する必要がないため、プロセスアプリケーションが故障したインスタンスを診断するために必要な時間が短縮される。示されている例では、変更された入力でステップ2からプロセスフローを開始することができる。
プロセスフローCは、トリガのないプロセスフローの一例である。プロセスフローCは、アクティビティ320,322、および324から構成される。プロセスフローCは、トリガ(図示せず)に関連付けることができるが、トリガはプロセスフローCの定義の一部ではない。プロセスフローCは、プロセスフローAに類似するが、トリガはプロセスフローCの定義の一部ではない。
図4は、デバイス上で動作するプロセスエンジンによって実行されるプロセスアプリケーションに関連する状態情報を報告するためのプロセスの実施形態を示すフローチャートである。いくつかの実施形態では、図4のプロセス400は、デバイス118のような装置によって実施することができる。
402において、実行可能バイナリが受信される。実行可能バイナリは、デバイス上で実行されると、デバイスの動作を制御するプロセスエンジンである。プロセスエンジンは、プロセスアプリケーションで構成される。
404において、プロセスアプリケーションのインスタンスがデバイス上で実行される。プロセスアプリケーションの各ステップの後、各ステップに関連付けられた状態情報がデバイスに記憶される。
406において、状態情報がリモートサービスデータベースに報告される。状態情報は、デバイスに関連付けられた識別子と、関連する状態情報が変更されたときのタイムスタンプとを含む。いくつかの実施形態では、デバイスは、プロセスアプリケーションの各ステップが完了した後の状態遷移を格納する。いくつかの実施形態では、デバイスは、プロセスアプリケーションの各ステップが完了した後に、状態情報データベースに状態遷移を送信する。他の実施形態では、デバイスは、状態遷移を状態情報データベースに周期的に送信する。他の実施形態では、デバイスは、要求に応じて状態情報データベースに状態遷移を送信する。いくつかの実施形態では、デバイスがネットワークへの接続を失った際、デバイスは、ネットワークへの接続を再確立すると、状態情報データベースに状態遷移を送信する。
図5は、プロセスアプリケーションを診断するためのプロセスの一実施形態を示すフローチャートである。いくつかの実施形態では、図5のプロセス500は、図5のプロセスは、プロセスアプリケーション診断プラットフォーム112などのプロセスアプリケーション診断プラットフォームによって実行することができる。
示された例では、プロセス500は、デバイスにデプロイされたプロセスエンジンに関連するフロー定義と、デバイスにデプロイされたプロセスエンジンのインスタンスに関連する状態情報とを受け取る502で開始する。いくつかの実施形態では、フロー定義はリモートデータベースから受信され、デバイスにデプロイされたプロセスエンジンのインスタンスに関連する状態情報は、別個のリモートデータベースから受信される。フロー定義は、プロセスエンジンによって実行されるプロセスアプリケーションの動作を記述し、プロセスアプリケーションに関連付けられた1つ以上のプロセスフローを含む。状態情報は、各ステップでプロセスエンジンによって実行されるプロセスアプリケーションの状態を記述し、各ステップにおけるプロセスフローのトリガおよびアクティビティに関連する状態値を含む。
504において、デバイスにデプロイされたプロセスエンジンによって実行されるプロセスアプリケーションのインスタンスが再作成される。再作成されると、プロセスアプリケーションはどのステップからでも実行でき、関連する状態値を決定できる。
506において、所望の出力を達成するようにプロセスアプリケーションが変更される。例えば、プロセスアプリケーションの任意のステップを選択することができ、選択されたステップに関連付けられた1つ以上の入力データ値を変更して、選択されたステップの出力状態を調整することができる。選択されたステップ調整が後続のステップの状態に及ぼす影響を決定することができる。いくつかの実施形態では、アクティビティまたはトリガに関連する定義を修正して、所望の出力結果を生成することができる。
508において、プロセスアプリケーションを更新して、プロセスアプリケーションに所望の結果を達成させる変更を反映させ、さらにメモリに保存する。更新されたプロセスアプリケーションは、所望の出力を生成するためにトリガおよび/またはアクティビティによって使用される1つ以上の変更されたデータ値を含むデータレコードを含む。
図6は、プロセスアプリケーションを開発するためのプロセスの一実施形態を示すフローチャートである。いくつかの実施形態では、図6のプロセス600は、図6に示すプロセスアプリケーション開発プラットフォーム110は、プロセスアプリケーション開発プラットフォーム110のようなプロセスアプリケーション開発プラットフォームによって実行することができる。
図示の例では、プロセス600は、アクティビティおよびトリガのセットが受信されて、プロセスアプリケーションの1つ以上のプロセスフローが作成される、602で開始する。インテグレータには、例えば、Flogo(登録商標)インタフェースなどのユーザインタフェースを介して、アクティビティおよびトリガを選択する機能が提供される。いくつかの実施形態では、インテグレータは、提供される利用可能なアクティビティおよびトリガのリストから1つ以上のアクティビティおよびトリガを選択する。他の実施形態では、インテグレータは、利用可能なアクティビティおよびトリガをローカルデータベースから検索し、検索の検索結果から1つ以上のアクティビティを選択することができる。他の実施形態では、インテグレータは、利用可能なアクティビティおよびトリガを遠隔データベースで検索し、遠隔データベースから1つ以上のアクティビティおよびトリガを選択することができる。他の実施形態では、インテグレータは、コマンドラインインターフェースを介して、利用可能なアクティビティおよびトリガを検索し、1つ以上のアクティビティおよびトリガを選択することができる。
604において、プロセスアプリケーションのトリガおよび/またはアクティビティに関連付けられた1つ以上の入力データ値が、所望の状態を生成するように変更される。例えば、プロセスアプリケーションの任意のステップを選択することができ、選択されたステップに関連付けられた1つ以上の入力データ値を変更して、選択されたステップの出力を調整することができる。選択されたステップの調整が後続のステップの状態に及ぼす影響を判定することができる。
606において、プロセスアプリケーションが格納される。いくつかの実施形態では、プロセスアプリケーションはローカルデータベースに格納される。他の実施形態では、プロセスアプリケーションは、リモートデータベースに格納される。
図7は、プロセスアプリケーションを修正するためのプロセスの一実施形態を示すフローチャートである。いくつかの実施形態では、図7のプロセス700は、プロセスアプリケーション開発プラットフォーム110などのプロセスアプリケーション開発プラットフォームによって実装することができる。いくつかの実施形態では、プロセス700は、プロセスアプリケーション開発プラットフォーム110のようなプロセスアプリケーション開発プラットフォームによって実装することができる。図7のプロセスは、ステップ506またはステップ604の一部を実行するように実施することができる。
図示の例では、プロセス700は、ステップの選択が受信される702から始まる。プロセスフローは、ステップ1からステップnで完了する1からnステップで構成される。プロセスフローの各ステップにおいて、関連するトリガまたはアクティビティは、関連する状態値を有する。プロセスフローの任意のステップが選択可能である。
704において、各ステップに関連する状態値が表示される。いくつかの実施形態では、プロセスエンジンが動作している任意の時点における任意のステップの状態値を表示することができる。
706において、選択されたステップに関連付けられた状態が修正される。たとえば、選択されたステップの状態は、1つ以上の入力データ値に基づく。選択されたステップの状態は、先行するステップの出力に基づくこともできる。 1つ以上の入力データ値を変更して、選択されたステップの出力状態を調整することができる。
708において、変更された入力変数を用いて、選択されたステップからプロセスフローを実行することができる。例えば、プロセスフローをステップ1から実行する必要はなく、変更された選択されたステップから実行することができ、後続のステップに関連する状態値の変化を観察することができる。いくつかの実施形態では、中断することなくプロセスフローを最後まで実行することができる。各プロセスステップに関連する状態値を表示することができる。他の実施形態では、プロセスフローは段階的に実行される。プロセスフローは、ユーザインタフェースから受信したユーザ入力に応答して、プロセスフローの後続のステップに進むことができる。各ステップの出力状態を表示することができます。いくつかの実施形態では、プロセスフローは最後まで実行することができるが、ユーザインタフェースから受信したユーザ入力を介していつでも中断することができる。割り込み発生時の各ステップの出力状態を表示することができる。
図8は、プロセスエンジンをデプロイするためのプロセスの一実施形態を示すフローチャートである。いくつかの実施形態では、図8のプロセス800は、図8のプロセスは、プロセスアプリケーション開発プラットフォーム110などのプロセスアプリケーション開発プラットフォーム、またはプロセスアプリケーション診断プラットフォーム112などのプロセス診断プラットフォームによって実装することができる。
802において、プロセスアプリケーションのためのプロセスエンジンコンポーネントの最小セットが決定される。プロセスエンジンコンポーネントの最小セットは、プロセスアプリケーション用にインテグレータによって定義された1つ以上のプロセスフローをサポートするために実際に必要とされるプロセスエンジンコンポーネントの最小数である。例えば、プロセスフローは、トリガおよび/またはフローによって呼び出されない1つ以上のアクティビティを含むことができる。アクティビティまたはトリガには、プロセスアプリケーションによって使用されないコンポーネントが含まれる場合がある。そのようなアクティビティー、トリガー、およびコンポーネントは識別され、除去される。
トリガおよび/またはアクティビティは、プロセスアプリケーションを実行するために必要な1つ以上のトランスポートに関連付けられてもよい。トランスポートの例には、HTTP/HTTPS、MQTT、CoAPなどがある。実際にプロセスアプリケーションによって呼び出されるトランスポートが識別され、プロセスアプリケーションに追加される。
804において、プロセスアプリケーションに含まれるトリガおよびアクティビティは、実行可能バイナリにコンパイルされる。いくつかの実施形態では、プロセスアプリケーションによって参照されないトリガおよびアクティビティに関連付けられたプロセスエンジンコンポーネントは無視され、実行可能ファイルから除外される。プロセスアプリケーションによって実際に呼び出されるトランスポートは識別され、実行可能ファイルに追加される。
806において、プロセスエンジンを含む実行可能ファイルがデバイスにデプロイされる。未使用のプロセスエンジンコンポーネントは実行可能ファイルから削除されるため、デバイスによって実行されると、プロセスエンジンはより迅速にオンラインになる可能性があります。いくつかの実施形態では、実行可能ファイルは、無線接続を介してデプロイされ、デバイスにダウンロードされる。他の実施形態では、実行可能ファイルは、物理メモリデバイスにデプロイされ、デバイスに転送される。他の実施形態では、実行可能ファイルは、デバイスへの有線接続を介してデプロイされる。いくつかの実施形態では、実行可能ファイルは、誤出力を生成したデバイスとは異なるデバイスにデプロイされる。
前述の実施形態は、理解を明確にするために詳細に記載しているが、本発明は、ここに記載された詳細に限定されない。本発明を実施する多くの代替方法がある。開示された実施形態は例示であり、限定的ではない。

Claims (20)

  1. プロセッサであって、
    プロセスフローの選択されたステップに関連付けられた1つ以上の入力データ値を変更する工程と、
    前記変更された1つ以上の入力を使用して、前記選択されたステップから前記プロセスフローを実行する工程と、
    選択されたステップに関連付けられたデータレコードを更新して、前記変更された1つ以上の入力を反映する工程と、を行うように構成されたプロセッサと、
    前記プロセッサに結合され、前記プロセッサに指令を提供するように構成されたメモリとを含む、システム。
  2. 請求項1記載のシステムにおいて、前記プロセッサは、前記プロセスフローを記述するフロー定義および前記プロセスフローの各ステップにおける前記プロセスフローの状態を記述する状態情報を受け取る工程を行うように構成されるものである、システム。
  3. 請求項2記載のシステムにおいて、前記フロー定義がflow.jsonファイルである、システム。
  4. 請求項2記載のシステムにおいて、前記プロセッサは、前記フロー定義および前記状態情報に基づいてプロセスアプリケーションを再構成する工程を行うように構成され、前記プロセスアプリケーションは前記プロセスフローを含むものである、システム。
  5. 請求項2記載のシステムにおいて、前記プロセッサはさらに、前記プロセスアプリケーションを実行可能ファイルにコンパイルする工程を行うように構成される、システム。
  6. 請求項5記載のシステムにおいて、前記プロセッサはさらに、前記コンパイルされた実行可能ファイルを前記状態情報を生成したデバイスにデプロイする工程を行うように構成される、システム。
  7. 請求項2記載のシステムにおいて、前記状態情報は、前記状態情報を生成したデバイス及び前記システムとは別のデータベースに格納されるものである、システム。
  8. 請求項2記載のシステムにおいて、前記フロー定義は、前記状態情報を生成した前記デバイス、前記状態情報を格納するデータベース、及び前記システムとは別のデータベースに格納されるものである、システム。
  9. 請求項2記載のシステムにおいて、前記状態情報を生成したデバイスは、前記状態サービスを格納するデータベースに状態値をアップロードするものである、システム。
  10. 請求項9記載のシステムにおいて、前記状態値は、状態遷移の発生時にアップロードされるものである、システム。
  11. 請求項9記載のシステムにおいて、
    前記状態情報を生成した前記デバイスから前記状態情報を格納する前記データベースに前記状態値が定期的にアップロードされるものである、システム。
  12. 請求項9記載のシステムにおいて、
    前記状態情報を生成したデバイスと前記状態情報を格納する前記データベースとの間のネットワーク接続に障害が生じた場合、再接続時に前記状態情報が前記データベースにアップロードされるものである、システム。
  13. 請求項1記載のシステムにおいて、前記プロセッサは、前記プロセスフローを含むプロセスアプリケーションを実行するために必要なプロセスエンジンコンポーネントの最小セットを決定する工程を行うように構成されている、システム。
  14. 方法であって、
    プロセスフローの選択されたステップに関連付けられた1つ以上の入力データ値を修正して出力状態を生成する工程と、
    前記変更された1つ以上の入力を使用して、前記選択されたステップから前記プロセスフローを実行する工程と、
    選択されたステップに関連付けられたデータレコードを更新して、前記変更された1つ以上の入力を反映させる工程と、を有する方法。
  15. 請求項14記載の方法は、前記プロセスフローを記述するフロー定義および前記プロセスフローの各ステップにおける前記プロセスフローの状態を記述する状態情報を受け取る工程をさらに含むものである。
  16. 請求項15記載の方法において、前記フロー定義および前記状態情報に基づいてプロセスアプリケーションを再構成する工程をさらに有し、前記プロセスアプリケーションは前記プロセスフローを含むものである。
  17. 請求項16記載の方法は、前記プロセスアプリケーションを実行可能ファイルにコンパイルする工程をさらに有するものである。
  18. 請求項17記載の方法は、前記コンパイルされた実行可能ファイルを前記状態情報を生成したデバイスにデプロイする工程をさらに有するものである。
  19. 有形の非一時的なコンピュータ可読記憶媒体に具体化され、コンピュータ指令を有するコンピュータプログラム製品であって、前記コンピュータ指令は、
    プロセスフローの選択されたステップに関連付けられた1つ以上の入力を変更する工程と、
    前記変更された1つ以上の入力を基に、前記選択されたステップから前記プロセスフローを実行する工程と、
    選択されたステップに関連付けられたデータレコードを更新して、前記変更された1つ以上の入力を反映させる工程と、を含むものである、コンピュータプログラム製品。
  20. 請求項19記載のコンピュータプログラム製品は、前記プロセスフローを記述するフロー定義および前記プロセスフローの各ステップにおける前記プロセスフローの状態を記述する状態情報を受け取る工程をさらに有するものである。
JP2018550499A 2016-05-16 2017-03-21 プロセスアプリケーションを開発及び診断するためのステップバック機構 Active JP7015625B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201662337156P 2016-05-16 2016-05-16
US62/337,156 2016-05-16
US15/417,635 US10635160B2 (en) 2016-05-16 2017-01-27 Stepback mechanism to develop and diagnose process applications
US15/417,635 2017-01-27
PCT/US2017/023426 WO2017200633A1 (en) 2016-05-16 2017-03-21 Stepback mechanism to develop and diagnose process applications

Publications (3)

Publication Number Publication Date
JP2019521402A true JP2019521402A (ja) 2019-07-25
JP2019521402A5 JP2019521402A5 (ja) 2020-05-28
JP7015625B2 JP7015625B2 (ja) 2022-02-03

Family

ID=60297450

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018550499A Active JP7015625B2 (ja) 2016-05-16 2017-03-21 プロセスアプリケーションを開発及び診断するためのステップバック機構

Country Status (4)

Country Link
US (1) US10635160B2 (ja)
JP (1) JP7015625B2 (ja)
DE (1) DE112017002503T5 (ja)
WO (1) WO2017200633A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7106895B2 (ja) * 2018-03-08 2022-07-27 富士フイルムビジネスイノベーション株式会社 ワークフロー試験装置及びワークフロー試験プログラム
CN109558137B (zh) * 2018-11-09 2021-01-26 深圳市海勤科技有限公司 客户订单管理软件配置优化方法
US20220345471A1 (en) * 2021-04-21 2022-10-27 EMC IP Holding Company LLC Early validation of communication behavior

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001134464A (ja) * 1999-11-09 2001-05-18 Canon Inc 情報処理方法および装置
JP2002304295A (ja) * 2001-04-05 2002-10-18 Linx Corp 画像処理アプリケーション開発のためのブロック線図ベースのグラフィカルなアルゴリズム記述方法
JP2003058395A (ja) * 2001-06-04 2003-02-28 Sony Computer Entertainment Inc ログ収集解析システム、ログ収集方法、コンピュータに実行させるためのログ収集プログラム、ログ解析方法、コンピュータに実行させるためのログ解析プログラム、ログ収集装置、ログ解析装置、ログ収集端末、ログサーバ
JP2005018425A (ja) * 2003-06-26 2005-01-20 Matsushita Electric Ind Co Ltd プログラム変換方法、プログラムおよび記憶媒体
JP2010211257A (ja) * 2009-03-06 2010-09-24 Sky Co Ltd 操作監視システム及び操作監視プログラム
JP2012038019A (ja) * 2010-08-05 2012-02-23 Mitsubishi Electric Corp 計算処理方法、計算処理装置およびソフトウエアプログラム

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5675803A (en) 1994-01-28 1997-10-07 Sun Microsystems, Inc. Method and apparatus for a fast debugger fix and continue operation
US6202199B1 (en) 1997-07-31 2001-03-13 Mutek Solutions, Ltd. System and method for remotely analyzing the execution of computer programs
US7788631B2 (en) * 2000-02-24 2010-08-31 General Dynamics Advanced Information Systems, Inc. Process automation system
US20040078105A1 (en) * 2002-09-03 2004-04-22 Charles Moon System and method for workflow process management
US7685253B1 (en) 2003-10-28 2010-03-23 Sun Microsystems, Inc. System and method for disconnected operation of thin-client applications
US20050251794A1 (en) 2004-04-16 2005-11-10 Taylor Jason A Method of debugging code and software debugging tool
US7464366B2 (en) * 2004-10-01 2008-12-09 Microsoft Corporation Programming interface for a componentized and extensible workflow model
US20160112262A1 (en) * 2014-10-18 2016-04-21 Weaved, Inc. Installation and configuration of connected devices
ES2368366T3 (es) * 2007-05-07 2011-11-16 Vorne Industries, Inc. Método y sistema para ampliar las capacidades de dispositivos integrados a través de clientes de red.
US20090164606A1 (en) * 2007-12-21 2009-06-25 Nokia Corporation Web uploads
US9459926B2 (en) * 2010-06-23 2016-10-04 Twilio, Inc. System and method for managing a computing cluster
US9043387B2 (en) * 2010-09-29 2015-05-26 Open Text S.A. System, method and computer program product for smart upload automation
CA2856524A1 (en) * 2010-11-24 2012-05-31 Skai, Inc. System and method for access control and identity management
US9489642B2 (en) 2012-06-19 2016-11-08 Sap Se Flow based visualization of business rule processing traces
US10261757B2 (en) * 2013-03-13 2019-04-16 Northrop Grumman Systems Corporation System and method for automated web processing service workflow building and application creation
US10129078B2 (en) * 2014-10-30 2018-11-13 Equinix, Inc. Orchestration engine for real-time configuration and management of interconnections within a cloud-based services exchange
WO2016138611A1 (en) * 2015-03-02 2016-09-09 Microsoft Technology Licensing, Llc Monitoring and reporting transmission and completeness of data upload from a source location to a destination location
US9569255B1 (en) * 2015-03-25 2017-02-14 Amazon Technologies, Inc. Persistent state machine
US10360072B2 (en) * 2015-09-30 2019-07-23 The Mitre Corporation Cross-cloud orchestration of data analytics for a plurality of research domains
US9740787B2 (en) * 2015-12-14 2017-08-22 Quixey, Inc. Application search results based on a current search query and a previous search query
US20170255886A1 (en) * 2016-03-03 2017-09-07 Hewlett-Packard Development Company, L.P. Workflow execution

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001134464A (ja) * 1999-11-09 2001-05-18 Canon Inc 情報処理方法および装置
JP2002304295A (ja) * 2001-04-05 2002-10-18 Linx Corp 画像処理アプリケーション開発のためのブロック線図ベースのグラフィカルなアルゴリズム記述方法
JP2003058395A (ja) * 2001-06-04 2003-02-28 Sony Computer Entertainment Inc ログ収集解析システム、ログ収集方法、コンピュータに実行させるためのログ収集プログラム、ログ解析方法、コンピュータに実行させるためのログ解析プログラム、ログ収集装置、ログ解析装置、ログ収集端末、ログサーバ
JP2005018425A (ja) * 2003-06-26 2005-01-20 Matsushita Electric Ind Co Ltd プログラム変換方法、プログラムおよび記憶媒体
JP2010211257A (ja) * 2009-03-06 2010-09-24 Sky Co Ltd 操作監視システム及び操作監視プログラム
JP2012038019A (ja) * 2010-08-05 2012-02-23 Mitsubishi Electric Corp 計算処理方法、計算処理装置およびソフトウエアプログラム

Also Published As

Publication number Publication date
JP7015625B2 (ja) 2022-02-03
US10635160B2 (en) 2020-04-28
US20170329583A1 (en) 2017-11-16
DE112017002503T5 (de) 2019-03-07
WO2017200633A1 (en) 2017-11-23

Similar Documents

Publication Publication Date Title
KR102430739B1 (ko) 데이터 처리방법 및 관련제품
JP7413588B2 (ja) データフローグラフ構成
US10671381B2 (en) Continuous integration with reusable context aware jobs
US10877875B2 (en) Systems and methods for automated programmatic test generation and software validation
US9021438B2 (en) Automatic framework for parallel testing on multiple testing environments
US20210081308A1 (en) Generating automated tests based on user interaction with an application
US11226830B2 (en) System for building, managing, deploying and executing reusable analytical solution modules for industry applications
JP6217277B2 (ja) ソフトウェア開発方法及びそのためのシステム
CN117714527A (zh) 利用微服务的边缘设备和关联的网络
US20140123114A1 (en) Framework for integration and execution standardization (fiesta)
US20180121171A1 (en) Integrated development environment for analytic authoring
US20180322038A1 (en) Segmenting user population to manage dynamic software quality
Lier et al. The cognitive interaction toolkit–improving reproducibility of robotic systems experiments
JP7015625B2 (ja) プロセスアプリケーションを開発及び診断するためのステップバック機構
JP2013524312A (ja) 適応型コンピュータシステムにおけるタスクの実行を検証するための方法、コンピュータプログラム、および装置
Ingo et al. Automated system performance testing at MongoDB
Abdul et al. Implementing Continuous Integration towards rapid application development
CN109144524B (zh) 一种教育平台上学科游戏的版本发布方法及电子设备
US10216498B2 (en) Custom-built process engine with minimal memory and disk resource consumption
US20240143493A1 (en) System and methods for testing microservices
Fördős et al. CRDTs for the configuration of distributed Erlang systems
US20240094694A1 (en) Virtual Deployment of Distributed Control Systems for Control Logic Testing
CN105487843B (zh) 一种WebApp开发部署方法及系统
Dillon et al. In Situ Over-the-Air Software Update Verification
Contributors et al. D3. 4–INITIAL CPSWARM WORKBENCH AND ASSOCIATED TOOLS

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200305

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200305

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200414

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210302

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20210529

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210724

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210914

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211120

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20211228

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220122