JP2018067218A - アプリケーション開発支援装置およびアプリケーション開発支援方法 - Google Patents

アプリケーション開発支援装置およびアプリケーション開発支援方法 Download PDF

Info

Publication number
JP2018067218A
JP2018067218A JP2016206471A JP2016206471A JP2018067218A JP 2018067218 A JP2018067218 A JP 2018067218A JP 2016206471 A JP2016206471 A JP 2016206471A JP 2016206471 A JP2016206471 A JP 2016206471A JP 2018067218 A JP2018067218 A JP 2018067218A
Authority
JP
Japan
Prior art keywords
application
template
processing flow
definition information
storage path
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
JP2016206471A
Other languages
English (en)
Other versions
JP6760816B2 (ja
Inventor
聖志 山形
Satoshi Yamagata
聖志 山形
高志 板宮
Takashi Itamiya
高志 板宮
芳樹 松浦
Yoshiki Matsuura
芳樹 松浦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2016206471A priority Critical patent/JP6760816B2/ja
Publication of JP2018067218A publication Critical patent/JP2018067218A/ja
Application granted granted Critical
Publication of JP6760816B2 publication Critical patent/JP6760816B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

【課題】アプリケーションを生成する際、処理フロー定義情報のみを入力することでアプリケーションを効率よく自動生成することができるアプリケーション開発支援装置を提供する。【解決手段】アプリケーション開発支援装置は、複数の処理の実行順序と各処理を並列実行可能な単位で分けたブロックとを含む処理フロー定義情報M4を入力する入力部と、処理フロー定義情報M4に基づき、各処理に対応する雛形を決定する雛形決定プログラムと、処理フロー定義情報M4に基づき、データの保存パスPを決定する保存パス決定プログラムと、上記雛形と上記保存パスPとを用い、処理フローの順序制御、処理フローの並列実行制御および処理フローのリカバリ制御を行う機能を有する分散実行環境上で実行可能なアプリケーションを自動生成するアプリケーション自動生成プログラムとを備えている。【選択図】図5

Description

本発明は、アプリケーション開発支援装置およびアプリケーション開発支援方法に関する。特に、本発明は、他のツールと連携しかつ並列処理が可能なアプリケーションを作成する技術に関する。
演算処理技術において、限られたリソースを用いて効率良く演算処理を実行させるものとして並列処理技術が知られている。この技術では、並列処理を実現するために複雑なアプリケーションが必要となる。
このような複雑なアプリケーションを効率よく作成できるものとして、例えば、処理するデータのうちの並列処理可能な単位を把握し、この単位に分けられたデータ毎に処理フロー定義情報に基づく処理を実行させる手法を用いてアプリケーションを自動的に作成する技術が開示されている(例えば、特許文献1参照)。
このような技術によれば、並列処理可能な単位毎に処理を実行することができ、利用者が定義した処理フローに基づいて、自動的に並列化処理を行うプログラムを生成できる点で効率的な作成を実現している。
特開2004−178316号公報
しかしながら、上述したような従来の技術では、アプリケーションの処理フローで実行する各処理内にて外部ツールを用いてこれと連携する場合、各処理におけるデータの保存先の指定および上記ツールの利用手順の作成を、ユーザ(アプリケーション開発者)がアプリケーション作成の都度当該アプリケーションに合うように行う必要があり、効率的にアプリケーションを開発できるとは言い難い。
本発明は、以上のような事情に基づいてなされたものであり、その目的は、アプリケーションを生成する際、処理フロー定義情報のみを入力することでアプリケーションを効率よく自動生成することが可能なアプリケーション開発支援装置およびアプリケーション開発支援方法を提供することにある。
本発明は、
(1)複数の処理の実行順序と前記各処理を並列実行可能な単位で分けたブロックとを含む処理フロー定義情報を入力する入力部と、
前記各処理で利用されるツールを呼び出す呼出プログラムの雛形を格納すると共に、前記各処理のデータを記憶する記憶装置の保存パス情報を含む環境設定情報を格納する記憶部と、
前記処理フロー定義情報に基づき、前記各処理に対応する前記雛形を決定する雛形決定プログラムと、
前記処理フロー定義情報に基づき、前記データの入力元および出力先の保存パスを決定する保存パス決定プログラムと、
前記雛形決定プログラムにより決定された前記雛形と前記保存パス決定プログラムにより決定された前記保存パスとを用い、処理フローの順序制御、前記処理フローの並列実行制御および前記処理フローのリカバリ制御を行う機能を有する分散実行環境上で実行可能なアプリケーションを自動生成するアプリケーション自動生成プログラムとを備えているアプリケーション開発支援装置、
(2)処理フロー定義情報が、各処理にて用いる呼出プログラムの雛形を特定するツール識別子を含み、
前記ツール識別子に基づき、記憶部から前記特定の雛形を取得する雛形取得プログラムを備えている前記(1)に記載のアプリケーション開発支援装置、
(3)保存パス決定プログラムが、処理フロー定義情報に基づき入力元および出力先の保存パスのそれぞれを、グローバル記憶装置またはローカル記憶装置のいずれかに決定する前記(1)または(2)に記載のアプリケーション開発支援装置、
(4)実行対象となる第1の処理の次に実行する第2の処理が存在し、かつ前記第1の処理と前記第2の処理とが同一のブロックに属する場合、保存パス決定プログラムが、前記第1の処理にて処理するデータの出力先の保存パスをローカル記憶装置に決定し、かつ前記第2の処理にて処理するデータの入力元を前記ローカル記憶装置に決定する前記(3)に記載のアプリケーション開発支援装置、並びに
(5)複数の処理の実行順序と前記各処理を並列実行可能な単位で分けたブロックとを含む処理フロー定義情報を入力するステップと、
前記処理フロー定義情報に基づき、雛形決定プログラムを用いて、前記各処理で利用されるツールを呼び出す呼出プログラムの雛形を決定するステップと、
前記処理フロー定義情報に基づき、保存パス決定プログラムを用いて、前記各処理に関わるデータの入力元および出力先の保存パスを決定するステップと、
前記決定された雛形および前記決定された保存パスを用い、分散実行環境で実行可能なアプリケーションを自動生成するステップとを含むアプリケーション開発支援方法
に関する。
なお、本明細書において、「分散実行環境」とは、プログラムの個々の部分が同時並行的に複数のサーバ上で実行され、各々が分散実行ネットワークを介して互いに通信を行いながら全体として処理が進行する計算システムを意味する。また、「処理フローの順序制御」とは、所定の処理フローにおける各処理の実行順序に従い上記各処理を実行する制御を意味する。「処理フローの並列実行制御」とは、上記所定の処理フローにおいて規定されている各処理を並列実行可能な単位で分けたもの(ブロック)と、実行並列数とに基づいて並列実行を行う制御である。これらの具体例については、後述する図9にて示す。また、「リカバリ制御」とは、上記所定の処理フローにおける各処理の処理状況を管理し、エラー発生時にリカバリする制御を意味する。また、「第1の処理」とは、処理フロー定義情報に含まれる任意の識別子に対応する処理を意味し、「第2の処理」とは、上記第1の処理の次に実行される処理を意味する。
本発明は、アプリケーションを生成する際、処理フロー定義情報のみを入力することでアプリケーションを効率よく自動生成することができるアプリケーション開発支援装置およびアプリケーション開発支援方法を提供することができる。
本発明のアプリケーション開発支援装置が用いられる環境の一例を示す概略全体構成図である。 本発明のアプリケーション開発支援装置の一実施形態を示す概略構成図である。 図2のアプリケーション開発支援装置を用いて行うアプリケーション生成の概略処理フロー図である。 図2のアプリケーション開発支援装置を用いて行うアプリケーション生成の概略シーケンス図である。 図2のアプリケーション開発支援装置を用いて行うアプリケーション生成の概略処理フロー図である。 図5の雛形決定プログラムの概略処理フロー図である。 図5の保存パス決定プログラムの概略処理フロー図である。 図2のツール特性情報の一例を示す図である。 図2の処理フロー定義情報の一例を示す図である。 図2の連携情報リストの一例を示す図である。 図2の環境設定情報の一例を示す図である。
<アプリケーション開発支援装置>
本発明のアプリケーション開発支援装置は、複数の処理の実行順序と上記各処理を並列実行可能な単位で分けたブロックとを含む処理フロー定義情報を入力する入力部と、上記各処理で利用されるツールを呼び出す呼出プログラムの雛形を格納すると共に、上記各処理のデータを記憶する記憶装置の保存パス情報を含む環境設定情報を格納する記憶部と、上記処理フロー定義情報に基づき、上記各処理に対応する上記雛形を決定する雛形決定プログラムと、上記処理フロー定義情報に基づき、上記データの入力元および出力先の保存パスを決定する保存パス決定プログラムと、上記雛形決定プログラムにより決定された上記雛形と上記保存パス決定プログラムにより決定された上記保存パスとを用い、処理フローの順序制御、上記処理フローの並列実行制御および上記処理フローのリカバリ制御を行う機能を有する分散実行環境上で実行可能なアプリケーションを自動生成するアプリケーション自動生成プログラムとを備えている。
以下、当該アプリケーション開発支援装置の一実施形態について図面を参照して説明するが、本発明は、当該図面に記載の実施形態にのみ限定されるものではない。
図1は、本発明のアプリケーション開発支援装置が用いられる環境の一例を示す概略全体構成図である。当該アプリケーション開発支援装置1が用いられる環境は、図1に示すように、概略的に、アプリケーション開発支援装置1と、分散実行環境3と、ネットワーク2とにより構成されている。
分散実行環境3は、処理フローの順序制御、上記処理フローの並列実行制御および上記処理フローのリカバリ制御を行う機能を有する。この分散実行環境3は、サーバー32、グローバル記憶装置33、ローカル記憶装置34、分散実行ネットワーク31等の計算機リソースにより構成されている。
サーバ32は、アプリケーション開発支援装置1で生成したアプリケーション200がネットワーク2を介して配置され、このアプリケーション200により各処理が実行される。
ローカル記憶装置34は、アプリケーション200実行時に自サーバ32にのみ必要な各処理の中間データを格納するものである。このローカル記憶装置34は、各サーバ32に1つずつ接続されている。
グローバル記憶装置33は、アプリケーション200実行時に各サーバ32間で共有すべき各種処理の中間データを保持する。このグローバル記憶装置33は、並列処理を実行する際に用いられるネットワーク(以下、「分散実行ネットワーク31」ともいう)を介して各サーバ32に接続されている。
ネットワーク2は、上述した分散実行環境3とアプリケーション開発支援装置1とを結ぶネットワークである。
次に、当該アプリケーション開発支援装置1について詳述する。当該アプリケーション開発支援装置1は、アプリケーション開発者m(以下、単に「開発者m」ともいう)からの指示を受けてアプリケーション200を自動生成する。当該アプリケーション開発支援装置1は、概略的に、入力部Nと、記憶部Mと、雛形決定プログラム103と、保存パス決定プログラム102と、アプリケーション自動生成プログラム101とにより構成されている。
入力部Nは、複数の処理の実行順序と各処理を並列実行可能な単位で分けたブロックとを含む処理フロー定義情報を入力する。本実施形態では、上記入力部Nの機能は主に入力装置14(後述)が有している。また、入力部Nから入力された処理フロー定義情報M4は記憶装置16(後述)に格納される。
ここで、処理フロー定義情報M4は、各処理にて用いる呼出プログラム104の雛形を特定するツール識別子t2を含み、アプリケーション開発支援装置1は、上記ツール識別子t2に基づき、記憶部Mから特定の雛形を取得する雛形取得プログラム105を備えていることが好ましい。処理フロー定義情報M4がツール識別子t2を含むことで、簡易かつ確実に呼出プログラム104を取得することができる。
記憶部Mは、各処理で利用されるツールを呼び出す呼出プログラム104の雛形を格納すると共に、各処理のデータを記憶する記憶装置16の保存パスPの情報を含む環境設定情報M3を格納する。上記ツールは、例えばデータ加工を行う外部ツールなどである。本実施形態では、呼出プログラム104の雛形となるツール特性情報M1、および環境設定情報M3は記憶装置16に格納されている。
雛形決定プログラム103は、処理フロー定義情報M4に基づき、各処理に対応する呼出プログラム104の雛形を決定する。この雛形決定プログラム103は記憶装置16に格納され、必要に応じてCPU12、メモリ13等(後述)を用いて処理される。
保存パス決定プログラム102は、処理フロー定義情報M4に基づき、データの入力元および出力先の保存パスPを決定する。本実施形態では、保存パス決定プログラム102は、記憶装置16に格納され、必要に応じてCPU12、メモリ13等を用いて処理される。
アプリケーション自動生成プログラム101は、上述の雛形決定プログラム103により決定された雛形と保存パス決定プログラム102により決定された保存パスPとを用い、分散実行環境3上で実行可能なアプリケーション200を自動生成する。本実施形態では、アプリケーション自動生成プログラム101は、記憶装置16に格納され、必要に応じてCPU12、メモリ13等を用いて処理される。
当該アプリケーション開発支援装置1のハードウェアは、例えば図2に示すように、概略的に、通信装置11と、CPU12と、メモリ13と、入力装置14と、表示装置15と、記憶装置16とにより構成されている。
CPU12は、必要に応じて記憶装置16に格納されている各プログラムをメモリ13に読み込ませ、このメモリ13と連携して各種処理を実行する。メモリ13は、各プログラムやデータを一時的に格納する。入力装置14は、開発者mにより処理フロー定義情報M4等の情報をアプリケーション開発支援装置1に入力するものであり、例えば、キーボード、マウス等が採用される。表示装置15は、入力装置14から入力した情報や処理した結果等を表示するものであり、例えば、ディスプレイモニタ等が採用される。通信装置11は、上述したメモリ13等および後述する記憶装置16と、外部のネットワーク2とを相互に接続するものである。
記憶装置16は、アプリケーション200の生成に関係する各種のプログラムやデータ(情報など)を格納する。具体的には、この記憶装置16には、アプリケーション自動生成プログラム101、保存パス決定プログラム102、雛形決定プログラム103、ツール特性情報M1、生成後アプリケーション情報M2、環境設定情報M3、処理フロー定義情報M4および連携情報リストM5等が格納されている。
次に、アプリケーション200を生成する処理フローについて説明する。図3は、図2のアプリケーション開発支援装置1を用いて行うアプリケーション生成の概略処理フロー図である。図3に示すように、まず開発者mが、アプリケーション開発支援装置1にアプリケーション200の生成要求(アプリケーション生成要求)を入力する(ステップS101)。上記アプリケーション生成要求には処理フロー定義情報M4(図9を参照して後述)が含まれており、この処理フロー定義情報M4は記憶装置16に格納される。
次いで、アプリケーション開発支援装置1は、ステップS101で入力された処理フロー定義情報M4に基づき、分散実行環境3上で実行可能なアプリケーション200を自動生成する(ステップS102)。次いで、自動生成したアプリケーション200が生成後アプリケーション情報M2として記憶装置16に格納された後、アプリケーション開発支援装置1は、アプリケーション200の生成結果を開発者mに通知する(ステップS103)。
次に、アプリケーション200を分散実行環境3上に配置する際、開発者mによりアプリケーション配置要求が入力されると(ステップS104)、アプリケーション開発支援装置1は、生成後アプリケーション情報M2を参照してアプリケーション200を取得し(ステップS105)、ネットワーク2を介して分散実行環境3上の各サーバ32にアプリケーション200を配置する(ステップS106)。次いで、アプリケーション開発支援装置1は、開発者mに対して上述の配置結果を通知する(S107)。
次に、分散実行環境3は、開発者mからのアプリケーション起動要求を受けてアプリケーション200を起動し(ステップS108)、このアプリケーション200を実行する(複数のサーバ32による一連の処理の実行)。なお、アプリケーション200を自動生成する処理(ステップS102)については、図4を参照して後述する。
次に、当該アプリケーション開発支援装置1を用いて行うアプリケーション200生成のシーケンスについて説明する。図4に示すように、まず開発者mは、複数の処理の実行順序と上記各処理を並列実行可能な単位で分けたブロックとを含む処理フロー定義情報M4を含むアプリケーション生成要求を入力する(ステップS101)。次いで、アプリケーション自動生成プログラム101が上記生成要求を受け付けると、当該アプリケーション自動生成プログラム101は、上記処理フロー定義情報M4を記憶装置16に格納する(不図示)と共に、アプリケーション自動生成プログラム101は、記憶装置16から雛形決定プログラム103を呼び出す(ステップS204)。
次に、雛形決定プログラム103は、記憶装置16に格納されている処理フロー定義情報M4を呼び出し(不図示)、この処理フロー定義情報M4に含まれるツール識別子t2を用いて、連携するツールを呼び出す呼出プログラム104の雛形を決定し(ステップS205)、この雛形をツール特性情報M1から取得(ステップS206〜S208)した後、連携情報リストM5に格納する(ステップS209、S210)。なお、呼出プログラム104の雛形を決定する処理(ステップS205)の詳細については、図6を参照して後述する。
次に、アプリケーション自動生成プログラム101は、処理フロー内の各処理に関連するデータの入力元および出力先を決定する(ステップS213)。具体的には、まずアプリケーション自動生成プログラム101は、保存パス決定プログラム102を呼び出す(ステップS214)。次いで、保存パス決定プログラム102は、処理フロー定義情報M4に含まれる実行順序およびブロック名称に基づき、各処理に関わるデータの入力元および出力先の保存パスPを決定する(ステップS215)。
ここで、保存パス決定プログラム102は、処理フロー定義情報M4に基づき入力元および出力先の保存パスPのそれぞれを、後述するグローバル記憶装置33またはローカル記憶装置34のいずれかに決定することが好ましく、特に、実行対象となる第1の処理P1の次に実行する第2の処理P2が存在し、かつ第1の処理P1と第2の処理P2とが同一のブロックに属する場合、保存パス決定プログラム102が、第1の処理P1にて処理するデータの出力先の保存パスPをローカル記憶装置34に決定し、かつ第2の処理P2にて処理するデータの入力元をローカル記憶装置34に決定することがより好ましい。
このように保存パス決定プログラム102が保存パスP(保存先)を決定することで、アプリケーション200の実行に際し、処理するデータ(例えば、上述の第1の処理P1でのデータおよび第2の処理P2でのデータ)の最適なデータ配置を行うことができ、アプリケーション自動生成プログラム101での各処理を迅速かつ的確に行うことができる。なお、保存パス決定プログラム102が保存パスPを決定する処理(ステップS215)の詳細については、図7を参照して後述する。
次に、アプリケーション自動生成プログラム101は、上記ステップS205にて決定された雛形および上記ステップS215にて決定された保存パスPを用い、分散実行環境3で実行可能なアプリケーション200を自動生成(ステップS220〜S226)した後、これを生成後アプリケーション情報M2へ格納する(ステップS227、S228)。次いで、アプリケーション開発支援装置1は、アプリケーション200が生成したことを生成結果通知として開発者mへ通知する(ステップS103)。なお、アプリケーション200の自動生成で用いる環境設定情報M3のデータ構造については、図11を参照して後述する。
次に、アプリケーション自動生成プログラム101が実行する処理の概略的な処理フローについて、図5を参照して説明する。
まず、ステップS501において、アプリケーション自動生成プログラム101は、開発者mにより入力され記憶装置16に格納されている処理フロー定義情報M4を受け付ける。ここで、処理フロー定義情報M4には、アプリケーション開発支援装置1がアプリケーション200の生成に必要な情報が含まれる。なお、処理フロー定義情報M4のデータ構造については、図9を参照して後述する。
次に、ステップS502において、処理フロー定義情報M4に含まれている識別子t1を用い、この識別子t1に対応する呼出プログラム104の雛形をツール特性情報M1から取得する。ここで、上記識別子t1は、各処理それぞれを識別するために用いられるものである。上述の取得した呼出プログラム104の雛形は、各々の処理と関連付けられた形式で連携情報リストM5に保持される。なお、ステップS502における処理の詳細については、図6を参照して後述する。また、連携情報リストM5のデータ構造については、図10を参照して後述する。
次に、ステップS503において、処理フロー定義情報M4に基づき、各処理で連携するツールの格納先を決定して連携情報リストM5に格納する。なお、ステップS503の詳細については、図7を参照して後述する。
次に、ステップS504において、ステップS502で連携情報リストM5へ格納した呼出プログラム104の雛形と、ステップS503で連携情報リストM5へ格納したツールの保存パスPと、記憶装置16に予め格納されている環境設定情報M3とに基づき、アプリケーション自動生成プログラム101が、分散実行環境3で実行可能なアプリケーション200を自動的に生成する。この自動生成されたアプリケーション200は、生成後アプリケーション情報M2に格納される。なお、環境設定情報M3のデータ構造については、図11を参照して後述する。
次に、上述したステップS502における処理の詳細について、図6を参照して説明する。図6は、図5の雛形決定プログラムの概略処理フロー図である。まず、ステップS601において、雛形決定プログラム103が処理フロー定義情報M4を読み込む。次いで、ステップS602において、上述の処理フロー定義情報M4に含まれる任意の処理(識別子t1で識別された処理)を一つ選択する。
次に、ステップS603において、雛形決定プログラム103が、上述のステップS602で選択した処理で定義されているツール識別子t2を、処理フロー定義情報M4から読み込む。例えば、図9に示す識別子t1が「1」の処理をステップS602で選択した場合、ツール識別子t2は「2」となる。
次に、ステップS604において、ステップS603で読み込んだツール識別子t2を用い、このツール識別子t2に対応する呼出プログラム104の雛形を特定し、これを連携ツールリストM5に登録する。例えば、図9に示す識別子t1が「1」の処理をステップS602で選択した場合、ツール識別子t2は「2」となり、この識別子t2に対応する呼出プログラム104の雛形は「呼出プログラムb」となる(図8参照)。なお、図8のツール特性情報M1のデータ構造については後述する。
次に、ステップS605において、上述したステップS602〜S604を全処理(識別子t1で識別された全ての処理)に対して実行する。例えば、図9の処理フロー定義情報M4における処理フローでは、各識別子t1に対応する呼出プログラム104は図10に示すようになる。
次に、上述したステップS503における処理の詳細について、図7を参照して説明する。図7は、図5の保存パス決定プログラムの概略処理フロー図である。まず、ステップS701において、保存パス決定プログラム102が処理フロー定義情報M4を読み込む。
次に、ステップS702において、保存パス決定プログラム102は、連携情報リストM5内に登録されている全ての処理(全ての識別子t1)に対して、データ等の保存パス(データ等の入力元および出力先)をグローバル記憶装置33に設定する。
次に、ステップS703において、処理フロー定義情報M4に含まれる任意の識別子t1に対応する処理(以下、「第1の処理P1」ともいう)を一つ選択する。
次に、ステップS704において、ステップS703にて選択された第1の処理P1の次に実行される処理(以下、「第2の処理P2」ともいう)が、処理フロー定義情報M4内に存在するかどうかを判定する。この判定は、処理フロー定義情報M4に含まれている実行順序を参照して行われる。上記判定の結果、ステップS703で選択された第1の処理P1の次に実行される第2の処理P2が存在する場合はステップS705へ進み、存在しない場合はステップS707へ進む。例えば、図9の識別子t1が「2」の処理(第1の処理P1)をステップS703で選択した場合、次に実行する処理(第2の処理P2)が存在するため、ステップS705へ進む。一方、図9の識別子t1が「4」の処理(第1の処理P1)を選択した場合、次の処理(第2の処理P2)が存在しないため、ステップS707へ進む。
上述のステップS705では、ステップS703で選択された第1の処理P1の次の第2の処理P2が同一ブロック内に存在するかどうかを判定する。この判定は、処理フロー定義情報M4に含まれている実行順序およびブロック名称を参照して行われる。この際、もし第2の処理P2が同一ブロック内に存在する場合はステップS706へ進み、存在しない場合はステップS707へ進む。例えば、図9の識別子t1が「1」の処理(第1の処理P1)をステップS703で選択した場合、次に実行する処理(第2の処理P2)が同一ブロック内に定義されているため、ステップS706へ進む。一方、図9の識別子t1が「2」の処理(第1の処理P1)をステップS703で選択した場合、次の処理(第2の処理P2)が同一ブロック内に定義されていないため、ステップS707へ進む。
上述のステップS706では、連携情報リストM5におけるステップS703で選択された処理(第1の処理P1)の出力先をローカル記憶装置34へ設定すると共に、ステップS703で選択された処理の次の処理(第2の処理P2)の入力元をローカル記憶装置34へ設定する。例えば、図9の識別子t1が「1」の処理をステップS703で選択した場合、連携情報リストM5における識別子t1が「1」の処理(第1の処理P1)の出力先をローカル記憶装置34に設定すると共に、識別子t1が「2」の処理(第2の処理P2)の入力元をローカル記憶装置34に設定する。
次に、ステップS707において、処理フロー定義情報M4に含まれる全ての処理(全ての識別子t1の処理)が上述のステップS703にて選択済みであるか否かを判定する。上記判定の結果、少なくともいずれかの処理が選択済みでない場合は、ステップS703に戻って継続する。一方、全ての処理が選択済みである場合は、保存パス決定プログラム102を終了する。なお、各処理におけるデータ等の入力元および出力先(保存パスP)については、図11を参照して後述する。
ここで、上述したツール特性情報M1の一例を図8を参照して説明する。ツールの特性情報M1は、図8に示すように、上述したツール識別子t2と、ツール名称802と、ツール識別子t2から一意に特定される呼出プログラム104の雛形803とから構成されている。例えば、ツール識別子t2が「1」の行には、「ツールAを利用した予兆分析処理」を呼び出すための呼出プログラムの雛形803である「呼出プログラムa」が登録されていることを示している。このツール特性情報M1には、外部のツールを呼び出す呼出プログラム104以外に、シェルなどの自作のスクリプトを呼び出す呼出プログラム104が登録されていてもよい。なお、ツール特性情報M1は、開発者mがアプリケーション生成要求S101を入力する前に、あらかじめ設定されている。
次に、上述した処理フロー定義情報M4の一例を図9を参照して説明する。処理フロー定義情報M4は、図9に示すように、処理フローに定義されている識別子901(各処理の識別子t1)と、処理フローの名称である処理フロー名称902と、処理のブロックを示すブロック名称903と、各ブロック内において実行する並列処理の数を示す実行並列数904と、処理フロー内での処理する順序である実行順序905と、各処理で連携するツールを特定するツール識別子906(各処理のツール識別子t2)とから構成されている。
処理フロー定義情報M4は、開発者mがアプリケーション開発支援装置1へ入力するものであり、入力された処理フロー定義情報M4に基づき、アプリケーション開発支援装置1は、分散実行環境3上で実行可能なアプリケーション200を自動生成する。
次に、連携情報リストM5の一例を図10を参照して説明する。連携情報リストM5は、図10に示すように、識別子1001(各処理の識別子t1)と、各処理内で連携定義されているデータの入力元であるデータ入力元1002と、各処理内で連携定義されているデータの出力先であるデータ出力先1003と、ツールを呼び出す呼出プログラム104の雛形である呼出プログラム1004とから構成されている。ここで、データ入力元1002およびデータ出力先1003は上述した保存パスPと同義である。また、上記データ入力元1002およびデータ出力先1003、並びに呼出プログラム1004には、それぞれ上述したステップS503、S502で決定された情報が登録される。
例えば、図10に示す一例では、識別子t1が「1」の行には、識別子t1「1」で識別される処理において連携定義されているツールのデータの入力元がグローバル記憶装置33であり、データの出力先がローカル記憶装置34であり、呼出プログラムの雛形が呼出プログラムbであることを示している。
次に、環境設定情報M3の一例を図11を参照して説明する。環境設定情報M3は、図11に示すように、データ保存先の種別の名称であるデータ保存先種別名1101と、データの入力元および保存先への保存パスPとなるデータ保存パス1102とから構成されている。本実施形態では、環境設定情報M3へは、データ保存先種別名1101が「ローカル記憶装置」である設定行と、「グローバル記憶装置」である設定行との両方が登録されており、上記各記憶装置33、34へアクセスするための保存パスPの情報が格納されている。
なお、本実施形態では、データ保存先パス1102にディレクトリのパスが格納されているが、この項目へは、データベース(DB)情報の設定をしてもよい。その場合、DBの参照・更新に必要な情報を上記データ保存先パス1102に保存する。また、環境設定情報M3は、開発者mがアプリケーション生成要求S101を入力する前に、あらかじめ設定されている。
このようにアプリケーション開発支援装置1があらかじめ上記ツール特性情報M1および環境設定情報M3を保持していることで、アプリケーション200を生成する際、開発者mは処理フロー定義情報M4のみを入力することで、ツールを呼び出す呼出プログラム104並びにデータの入力元および保存先(保存パスP)を特定することができ、開発者mが各処理で連携するツールごとの呼び出し方法や保存パスPの違いを意識することなくアプリケーション200を効率よく自動生成することができる。
以上のように、当該アプリケーション開発支援装置1は、上述した入力部Nと、記憶部Mと、雛形決定プログラム103と、保存パス決定プログラム102と、アプリケーション自動生成プログラム101とを備えているので、アプリケーション200を生成する際、処理フロー定義情報M4のみを入力することでアプリケーション200を効率よく自動生成することができる。その結果、開発者mが呼出プログラム104の雛形および保存パスPを決定することがない分、処理で連携するツールごとの呼び出し方法や保存パスPの違いを意識することなく開発者m自身の負担を軽減することができる。
<アプリケーション開発支援方法>
本発明のアプリケーション開発支援方法は、複数の処理の実行順序と上記各処理を並列実行可能な単位で分けたブロックとを含む処理フロー定義情報を入力するステップ(以下、「第1のステップ」ともいう)と、上記処理フロー定義情報に基づき、雛形決定プログラムを用いて、上記各処理で利用されるツールを呼び出す呼出プログラムの雛形を決定するステップ(以下、「第2のステップ」ともいう)と、上記処理フロー定義情報に基づき、保存パス決定プログラムを用いて、上記各処理に関わるデータの入力元および出力先の保存パスを決定するステップ(以下、「第3のステップ」ともいう)と、上記決定された雛形および上記決定された保存パスを用い、処理フローの順序制御、上記処理フローの並列実行制御および上記処理フローのリカバリ制御を行う機能を有する分散実行環境で実行可能なアプリケーションを自動生成するステップと(以下、「第4のステップ」ともいう)を含む。
ここで、上記第1のステップは上述したアプリケーション生成要求の入力(ステップS101)のうちの処理フロー定義情報M4を入力する処理、第2のステップは上述した呼出プログラム104の雛形を決定しする処理(ステップS205)、第3のステップは上述した各処理に関わるデータの入力元および出力先の保存パスP(保存先)を決定する処理(ステップS215)、第4のステップは上述した分散実行環境3で実行可能なアプリケーション200を自動生成する処理(ステップS220〜S226)にそれぞれ相当する。なお、当該アプリケーション開発支援方法の詳細な説明については、上述した<アプリケーション開発支援装置>の項での説明を援用して省略する。
このように、当該アプリケーション開発支援方法は上述した第1〜第4のステップを備えているので、アプリケーション200を生成する際、処理フロー定義情報M4のみを入力することでアプリケーション200を効率よく自動生成することができる。その結果、開発者mが雛形および保存パスPを決定することがない分、処理で連携するツールごとの呼び出し方法や保存パスPの違いを意識することなく開発者m自身の負担を軽減することができる。
なお、本発明は、上述した実施形態の構成に限定されるものではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内での全ての変更が含まれることが意図される。
例えば、上述した実施形態では、処理フロー定義情報M4がツール識別子t2を含み、このツール識別子t2に基づき、記憶部Mから特定の雛形を取得する雛形取得プログラム105を備えているアプリケーション開発支援装置1およびアプリケーション開発支援方法について説明したが、雛形決定プログラム103が上記雛形を決定することができれば、ツール識別子t2を含まないものであってもよい。
また、上述した実施形態では、分散実行環境3上で並列処理を行う処理フローについて説明したが(図9参照)、並列実行を行わない処理フローでもあってもよい。この場合、処理フロー定義情報には上述したブロック名称903および実行並列数904へ情報を設定する必要はない。
1 アプリケーション開発支援装置
3 分散実行環境
16 記憶装置
33 グローバル記憶装置
34 ローカル記憶装置
101 アプリケーション自動生成プログラム
102 保存パス決定プログラム
103 雛形決定プログラム
104 呼出プログラム
200 アプリケーション
P1 第1の処理
P2 第2の処理
M 記憶部
M3 環境設定情報
M4 処理フロー定義情報
N 入力部
P 保存パス
t1 識別子
t2 ツール識別子

Claims (5)

  1. 複数の処理の実行順序と前記各処理を並列実行可能な単位で分けたブロックとを含む処理フロー定義情報を入力する入力部と、
    前記各処理で利用されるツールを呼び出す呼出プログラムの雛形を格納すると共に、前記各処理のデータを記憶する記憶装置の保存パス情報を含む環境設定情報を格納する記憶部と、
    前記処理フロー定義情報に基づき、前記各処理に対応する前記雛形を決定する雛形決定プログラムと、
    前記処理フロー定義情報に基づき、前記データの入力元および出力先の保存パスを決定する保存パス決定プログラムと、
    前記雛形決定プログラムにより決定された前記雛形と前記保存パス決定プログラムにより決定された前記保存パスとを用い、処理フローの順序制御、前記処理フローの並列実行制御および前記処理フローのリカバリ制御を行う機能を有する分散実行環境上で実行可能なアプリケーションを自動生成するアプリケーション自動生成プログラムとを備えているアプリケーション開発支援装置。
  2. 処理フロー定義情報が、各処理にて用いる呼出プログラムの雛形を特定するツール識別子を含み、
    前記ツール識別子に基づき、記憶部から前記特定の雛形を取得する雛形取得プログラムを備えている請求項1に記載のアプリケーション開発支援装置。
  3. 保存パス決定プログラムが、処理フロー定義情報に基づき入力元および出力先の保存パスのそれぞれを、グローバル記憶装置またはローカル記憶装置のいずれかに決定する請求項1または請求項2に記載のアプリケーション開発支援装置。
  4. 実行対象となる第1の処理の次に実行する第2の処理が存在し、かつ前記第1の処理と前記第2の処理とが同一のブロックに属する場合、保存パス決定プログラムが、前記第1の処理にて処理するデータの出力先の保存パスをローカル記憶装置に決定し、かつ前記第2の処理にて処理するデータの入力元を前記ローカル記憶装置に決定する請求項3に記載のアプリケーション開発支援装置。
  5. 複数の処理の実行順序と前記各処理を並列実行可能な単位で分けたブロックとを含む処理フロー定義情報を入力するステップと、
    前記処理フロー定義情報に基づき、雛形決定プログラムを用いて、前記各処理で利用されるツールを呼び出す呼出プログラムの雛形を決定するステップと、
    前記処理フロー定義情報に基づき、保存パス決定プログラムを用いて、前記各処理に関わるデータの入力元および出力先の保存パスを決定するステップと、
    前記決定された雛形および前記決定された保存パスを用い、処理フローの順序制御、前記処理フローの並列実行制御および前記処理フローのリカバリ制御を行う機能を有する分散実行環境上で実行可能なアプリケーションを自動生成するステップとを含むアプリケーション開発支援方法。
JP2016206471A 2016-10-21 2016-10-21 アプリケーション開発支援装置およびアプリケーション開発支援方法 Active JP6760816B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016206471A JP6760816B2 (ja) 2016-10-21 2016-10-21 アプリケーション開発支援装置およびアプリケーション開発支援方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016206471A JP6760816B2 (ja) 2016-10-21 2016-10-21 アプリケーション開発支援装置およびアプリケーション開発支援方法

Publications (2)

Publication Number Publication Date
JP2018067218A true JP2018067218A (ja) 2018-04-26
JP6760816B2 JP6760816B2 (ja) 2020-09-23

Family

ID=62086191

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016206471A Active JP6760816B2 (ja) 2016-10-21 2016-10-21 アプリケーション開発支援装置およびアプリケーション開発支援方法

Country Status (1)

Country Link
JP (1) JP6760816B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2021205529A1 (ja) * 2020-04-07 2021-10-14

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001092647A (ja) * 1999-09-27 2001-04-06 Hitachi Ltd プロセス定義情報からフロー制御プログラムへの変換方法
JP2001154998A (ja) * 1999-11-25 2001-06-08 Hitachi Ltd 並列化解析指示方法と並列化汎用連成解析装置
JP2001256186A (ja) * 2000-03-09 2001-09-21 Planet Computer:Kk データ処理システム
JP2004086545A (ja) * 2002-08-27 2004-03-18 Nippon Yunishisu Kk データ項目の状態を管理することでプログラムを自動生成するプログラム開発支援システム
JP2004178316A (ja) * 2002-11-27 2004-06-24 Computer Consulting:Kk プログラム生成装置および方法
JP2015228106A (ja) * 2014-05-30 2015-12-17 京セラドキュメントソリューションズ株式会社 画像形成装置、画像形成方法、及び制御プログラム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001092647A (ja) * 1999-09-27 2001-04-06 Hitachi Ltd プロセス定義情報からフロー制御プログラムへの変換方法
JP2001154998A (ja) * 1999-11-25 2001-06-08 Hitachi Ltd 並列化解析指示方法と並列化汎用連成解析装置
JP2001256186A (ja) * 2000-03-09 2001-09-21 Planet Computer:Kk データ処理システム
JP2004086545A (ja) * 2002-08-27 2004-03-18 Nippon Yunishisu Kk データ項目の状態を管理することでプログラムを自動生成するプログラム開発支援システム
JP2004178316A (ja) * 2002-11-27 2004-06-24 Computer Consulting:Kk プログラム生成装置および方法
JP2015228106A (ja) * 2014-05-30 2015-12-17 京セラドキュメントソリューションズ株式会社 画像形成装置、画像形成方法、及び制御プログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2021205529A1 (ja) * 2020-04-07 2021-10-14
WO2021205529A1 (ja) * 2020-04-07 2021-10-14 日本電信電話株式会社 情報処理装置、情報処理方法、およびプログラム
JP7417159B2 (ja) 2020-04-07 2024-01-18 日本電信電話株式会社 情報処理装置、情報処理方法、およびプログラム

Also Published As

Publication number Publication date
JP6760816B2 (ja) 2020-09-23

Similar Documents

Publication Publication Date Title
US20180174062A1 (en) Root cause analysis for sequences of datacenter states
US10185549B2 (en) Updating live system with static changes
US10108401B2 (en) Dynamic suggestion of next task based on task navigation information
JP2017062767A5 (ja)
CN108388515B (zh) 测试数据生成方法、装置、设备以及计算机可读存储介质
CN107992537B (zh) 业务属性传递方法、装置、计算机设备及存储介质
US9952832B2 (en) Methods for generating smart archtecture templates and devices thereof
CN109117141B (zh) 简化编程的方法、装置、电子设备、计算机可读存储介质
CN110717076A (zh) 节点管理方法、装置、计算机设备及存储介质
CN111026568A (zh) 数据和任务关系构建方法、装置、计算机设备及存储介质
US20220222266A1 (en) Monitoring and alerting platform for extract, transform, and load jobs
EP2814208A1 (en) Program, apparatus, and method for creating configuration requirements
JP2018005535A (ja) ソフトウェア開発支援方法及びシステム
US10346450B2 (en) Automatic datacenter state summarization
US20150106899A1 (en) System and method for cross-cloud identity matching
CN105718468A (zh) 一种数据仓库ods层的建立方法和装置
CN112269588B (zh) 算法的升级方法、装置、终端和计算机可读存储介质
US20200326952A1 (en) Modification procedure generation device, modification procedure generation method and storage medium for storing modification procedure generation program
JP6760816B2 (ja) アプリケーション開発支援装置およびアプリケーション開発支援方法
CN110365809B (zh) 分布式服务器地址配置系统及方法
US10289788B1 (en) System and method for suggesting components associated with an electronic design
US10061686B2 (en) Method, electronic apparatus, system, and storage medium for automated testing of application user interface
CN115455006A (zh) 数据处理方法、数据处理装置、电子设备及存储介质
JP2016018269A (ja) 情報処理装置、情報処理方法及びプログラム
WO2017088547A1 (zh) 一种数据升级方法和装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190909

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200716

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: 20200811

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200903

R150 Certificate of patent or registration of utility model

Ref document number: 6760816

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150