Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP6801086B2 - プログラム開発支援装置、プログラム開発支援方法、及びプログラム開発支援プログラム - Google Patents
[go: Go Back, main page]

JP6801086B2 - プログラム開発支援装置、プログラム開発支援方法、及びプログラム開発支援プログラム - Google Patents

プログラム開発支援装置、プログラム開発支援方法、及びプログラム開発支援プログラム Download PDF

Info

Publication number
JP6801086B2
JP6801086B2 JP2019506453A JP2019506453A JP6801086B2 JP 6801086 B2 JP6801086 B2 JP 6801086B2 JP 2019506453 A JP2019506453 A JP 2019506453A JP 2019506453 A JP2019506453 A JP 2019506453A JP 6801086 B2 JP6801086 B2 JP 6801086B2
Authority
JP
Japan
Prior art keywords
flow definition
node
definition
flow
processing node
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.)
Active
Application number
JP2019506453A
Other languages
English (en)
Other versions
JPWO2019026248A1 (ja
Inventor
哲 守屋
哲 守屋
弘志 那須
弘志 那須
佑樹 長沼
佑樹 長沼
順史 木下
順史 木下
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
Publication of JPWO2019026248A1 publication Critical patent/JPWO2019026248A1/ja
Application granted granted Critical
Publication of JP6801086B2 publication Critical patent/JP6801086B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Description

本発明は、処理のまとまりを示すノードをオブジェクトとして表示し、オブジェクトに対するユーザの操作に基づいてプログラムにおけるノード構成を示すフロー定義を作成するプログラム開発支援装置等に関する。
ソフトウェア開発において、視覚的なオブジェクトを用いてプログラム開発を行うビジュアルプログラミングが知られている。ビジュアルプログラミングでは、処理のまとまりであるノードのそれぞれをブロック(オブジェクト)で表現し、これらのブロックをつなぐ等の操作をすることで、プログラムのフロー(プログラムに含まれるノードやノード間の接続等)を作成できる。このビジュアルプログラミングによると、プログラムのフローを視覚的に理解でき、プログラム言語の知識を有さないユーザでも容易にプログラムを開発することが可能である。
また、ビジュアルプログラミングが実行可能な開発支援装置では、作成されたプログラムのフローの定義を、ファイルとして出力、保存することが可能である。開発支援装置では、フロー定義のファイルを読み込むことで、同様のプログラムを継続して開発することが可能である。
また、ソフトウェア開発においては、複数の開発者のチームで共同して同一のプログラムを開発することがあるが、この場合には、プログラムの整合性を保つためにバージョン管理システムが利用されることがある。バージョン管理システムには、ソースコード等のバージョン管理だけでなく、変更提案機能、バージョン間の差分確認等、チームでの開発を効率的に行うための支援機能を提供しているものもある。このようなバージョン管理システムの機能を活用してソフトウェア開発を推進する場合には、開発者達は、開発手順をチーム内で定め、それに従って開発を進めることとなる。
バージョン管理システムは、テキスト情報、ファイルを管理対象としている。このため、開発支援装置が出力したフロー定義のファイルについても管理可能である。しかしながら、変更箇所を確認する際に利用する差分表示の機能は、テキストを対象にしており、開発支援装置上での視覚的な表現との対応関係を把握することが難しい。
また、バージョン管理システムを利用するためには、CLI(Command Line Interface)コマンドや、バージョン管理システムを用いた開発手順の知識が必要である。特に、ビジュアルプログラミングが実行可能な開発支援装置においては、ソフトウェア開発の専門的な知識を持たないユーザを主要な利用対象者としていることがあるので、バージョン管理システムを効率的に利用することは困難である。
ビジュアルプログラミングに関する技術としては、例えば、特許文献1には、ソフトウェア開発装置で作成した制御ロジックをバージョン管理システムに登録する技術が開示されている。また、特許文献2には、変更前ブロックダイヤグラムと変更後ブロックダイヤグラムとの差分を容易に確認することのできる技術が開示されている。
特開2015−162218号公報 特開2016−177668号公報
例えば、複数の開発者で共同して一つのプログラムの開発を行っている場合には、開発対象の一つのプログラムに対して、バージョンの異なる複数のフロー定義が存在する。この場合に、最終的なプログラムを作成するためには、一のフロー定義に対して、他のフロー定義をマージさせる必要がある。このような場合には、一のフロー定義と、他のフロー定義との間で衝突が発生してしまって、そのままマージできないことが発生する虞がある。
このように衝突が発生した場合には、フロー定義を修正する必要がある。この場合においては、例えば、一のフロー定義と、他のフロー定義との差分を表示させて、フロー定義を修正することが考えられる。
しかしながら、一のフロー定義と、他のフロー定義との差分のみを確認しただけでは、フロー定義をどのように修正すればよいのか把握できない状況が発生し得る。例えば、2つのフロー定義が、共通の祖先となるフロー定義に対してそれぞれ修正を行ったような場合には、祖先となるフロー定義との差分を考慮しなければ、どのように修正すればよいのかを適切に把握できない。
本発明は、上記事情に鑑みなされたものであり、その目的は、複数のバージョンが存在するフロー定義を編集するために必要な情報を適切に表示することのできる技術を提供することにある。
上記目的を達成するため、一観点に係るプログラム開発支援装置は、開発対象プログラムを構成する1以上の処理ノード及び処理ノードの接続関係を含むフロー定義を、処理ノードを示すオブジェクトに対するユーザの操作に従って作成するプログラム開発支援装置において、開発対象プログラムの所定の時点におけるフロー定義である第1フロー定義を取得する第1フロー定義取得部と、開発対象プログラムの第1フロー定義に対して所定の時点以降の変更が反映された第2フロー定義を取得する第2フロー定義取得部と、開発対象プログラムの第1フロー定義を基にして所定の時点以降に変更が施された第3フロー定義を記憶する第3フロー定義記憶部と、第3フロー定義と、第2フロー定義とが衝突するか否かを判定する衝突判定部と、衝突すると判定された場合に、第1フロー定義と第2フロー定義との処理ノードの差分を検出するとともに、第1フロー定義と第3フロー定義との処理ノードの差分を検出する差分検出部と、第1フロー定義と第2フロー定義とで処理ノードに差異がある場合と差異がない場合とで、第2フロー定義の処理ノードを示すオブジェクトの表示態様を変えて表示するとともに、第1フロー定義と第3フロー定義とで差異がある場合と差異がない場合とで、第3フロー定義の処理ノードを示すオブジェクトの表示態様を変えて表示するノード表示処理部と、を備える。
本発明によれば、複数のバージョンが存在するフロー定義を編集するために必要な情報を適切に表示することができる。
図1は、一実施形態に係るプログラム開発管理システムの全体構成図である。 図2は、一実施形態に係るビジュアルプログラム装置のハードウェア構成図である。 図3は、一実施形態に係るリポジトリ管理テーブルの一例を示す図である。 図4は、一実施形態に係る変更衝突管理テーブルの一例を示す図である。 図5は、一実施形態に係るプログラム開発処理のフローチャートである。 図6は、一実施形態に係るフロー定義読み込み処理のフローチャートである。 図7は、一実施形態に係るフロー定義保存処理のフローチャートである。 図8は、一実施形態に係るフロー表示処理のフローチャートである。 図9は、一実施形態に係るフロー表示画面の一例を示す図である。
実施形態について、図面を参照して説明する。なお、以下に説明する実施形態は特許請求の範囲に係る発明を限定するものではなく、また実施形態の中で説明されている諸要素及びその組み合わせの全てが発明の解決手段に必須であるとは限らない。
以下の説明では、「AAAテーブル」の表現にて情報を説明することがあるが、情報は、テーブル以外(例えばリストや連想配列)のデータ構造で表現されていてもよい。すなわち、情報がデータ構造に依存しないことを示すために、「AAAテーブル」を「AAA情報」と呼ぶことができる。
(システム全体構成)
図1は、一実施形態に係るプログラム開発管理システムの全体構成図である。
プログラム開発管理システム1は、1以上のプログラム開発支援装置の一例としてのビジュアルプログラム装置51と、版管理システムの一例としてのバージョン管理システム(VCSシステム)61とを備える。一つのバージョン管理システム61は、複数のビジュアルプログラム装置51におけるプログラム(フロー定義)のバージョンを管理することができる。
ビジュアルプログラム装置51は、1台以上のコンピュータで構成されてもよい。また、ビジュアルプログラム装置51は、1台以上のコンピュータにより構成される仮想マシンで構成されてもよく、例えば、コンピュータにおいてコンテナを実行することにより実現される仮想マシンで構成されてもよい。また、バージョン管理システム61は、1台以上のコンピュータで構成されてもよい。また、バージョン管理システム61は、1台以上のコンピュータにより構成される仮想マシンで構成されてもよく、例えば、コンピュータにおいてコンテナを実行することにより実現される仮想マシンで構成されてもよい。
ビジュアルプログラム装置51と、VCSシステム61とは、通信ネットワーク20を介して接続されている。通信ネットワーク20は、有線LAN(Local Area Network)、無線LAN、WAN(Wide Area Network)等であってよい。
VCSシステム61は、1以上のリポジトリ62を保持する。リポジトリ62は、開発対象プログラムについての複数のフロー定義を管理、保持する。リポジトリ62は、所定の開発対象プログラムに対する同時に並行して開発されるバージョンの異なるフロー定義を分離して管理可能なブランチ63を保持可能である。ブランチ63は、フロー定義64を管理する。ブランチ63は、フロー定義64に変更があった場合には、その変更の履歴についても管理する。フロー定義64には、プログラムを構成するひとまとまりの処理(プログラム部品)であるノード(処理ノード)の定義(ノード定義)、例えば、ノードの識別情報や、ノードと他のノードと接続関係等を示す情報が含まれる。
ブランチ63には、例えば、開発対象プログラムの主となるフロー定義(第2フロー定義)を管理するブランチ(主ブランチ)と、所定の時点における主ブランチのフロー定義(第1フロー定義)に基づいて作成され、編集されるフロー定義を管理するブランチ(開発ブランチ)とがある。開発ブランチは、例えば、同一の開発対象プログラムを共同で編集する開発者(ユーザ)ごとに作成される。
ビジュアルプログラム装置51は、入出力部52と、フロー実行部53と、フロー編集部54と、バージョン管理システム連携部(VCS連携部)55とを備える。ここで、VCS連携部55が、第1フロー定義取得部、第2フロー定義取得部、衝突判定部、差分検出部、及び送信部の一例に相当する。また、フロー編集部54がノード表示処理部の一例に相当する。また、入出力部52が変更受付部の一例に相当する。
入出力部52は、例えば、ビジュアルプログラム装置51を使用するユーザからの入力を受け付けると共に、各種情報を表示出力する。フロー実行部53は、作成されたフロー定義に対応するフロー(プログラム)を実行する。フロー編集部54は、フロー定義に基づいて、画面に表示させるフロー(表示フロー)を作成する。VCS連携部55は、VCSシステム61と連携してフロー定義を管理する処理を行う。
VCS連携部55は、1以上のローカルリポジトリ58(第3フロー定義記憶部の一例)を保持する。ローカルリポジトリ58は、或る時点におけるVCSシステム61のリポジトリ62の状態に基づいて作成される。したがって、作成当初においては、ローカルリポジトリ58には、その時点においてリポジトリ62に存在する主ブランチと同様な状態のブランチ(ローカル側の主ブランチ)が存在する。なお、それ以降においては、VCSシステム61において主ブランチの更新等が発生すると、ローカルリポジトリ58の主ブランチがVCSシステム61の主ブランチと異なる状態となることがある。ローカルリポジトリ58は、1以上のブランチ59を備える。ブランチ59は、フロー定義60を管理する。ブランチ59としては、ビジュアルプログラム装置51のユーザが開発対象プログラムの編集を開始する際に、その時点におけるリポジトリ62の主ブランチ(及びその中のフロー定義(第1フロー定義)に基づいて作成される開発ブランチがある。ビジュアルプログラム装置51のユーザは、この開発ブランチ内のフロー定義に対して変更等を行うこととなる。このフロー定義が第3フロー定義に相当する。
また、VCS連携部55は、ローカルリポジトリ58を管理するためのリポジトリ管理テーブル56と、フロー定義における変更衝突に関する情報を管理するための変更衝突管理テーブル57を有する。
(ハードウェア構成)
図2は、一実施形態に係るビジュアルプログラム装置のハードウェア構成図である。
ビジュアルプログラム装置51は、例えば、1台のコンピュータにより構成され、プロセッサの一例としてのCPU(Central Processing Unite)21と、メモリ22と、記憶装置23と、入力装置24と、出力装置25と、通信装置26とを備える。各構成要素21〜26は、例えば、バスを介して通信可能に接続されている。
メモリ22は、例えば、RAM(Random Access Memory)であり、ビジュアルプログラム装置51の各機能部を構成するためのプログラム(プログラム開発支援プログラム)を含む種々のプログラムを記憶する。CPU21は、メモリ22に記憶されているプログラムを実行することにより、各種処理を実行する。記憶装置23は、例えば、ハードディスクやSSD(Solid State Drive)等の不揮発性の記憶装置であり、プログラムを含む各種情報を記憶する。入力装置24は、例えば、キーボードやマウスなどであり、ビジュアルプログラム装置51のユーザからの入力を受け付ける。出力装置24は、例えば、ディスプレイであり、各種情報を表示出力する。通信装置26は、通信ネットワーク20を介して、外部の装置(VCSシステム61等)との通信を行う。
ここで、図1の入出力部52は、入力装置24及び出力装置25により構成される。また、フロー実行部53及びフロー編集部54は、CPU21がメモリ22のプログラムを実行することにより構成される。VCS連携部55が実行する処理は、CPU21がメモリ22のプログラムを実行することにより構成される。したがって、フロー実行部53、フロー編集部54、及びVCS連携部55が実行する処理は、プロセッサが実行する処理ということができる。VCS連携部55におけるリポジトリ管理テーブル56、変更衝突管理テーブル57、及びローカルリポジトリ58を記憶する機能は、記憶装置23により構成される。
(リポジトリ管理テーブル)
図3は、一実施形態に係るリポジトリ管理テーブルの一例を示す図である。
リポジトリ管理テーブル56は、VCSシステム61のリポジトリ62と、ローカルリポジトリ58との対応関係を示す情報を保持するテーブルであり、対応するリポジトリ62とローカルリポジトリ58との組毎に対応するエントリ(レコード)を格納する。リポジトリ管理テーブル56のエントリは、外部リポジトリフィールド561と、主ブランチフィールド562、ローカルリポジトリフィールド563と、開発ブランチフィールド564と、分岐コミットフィールド565とを含む。
外部リポジトリフィールド561は、VCSシステム61が保持するリポジトリ62の場所情報(例えば、URLなど)を格納する領域である。主ブランチフィールド562は、ユーザ50が指定した開発のベースとなるブランチ63(主ブランチ)の識別情報(例えば、ブランチ名)を格納する領域である。ローカルリポジトリフィールド563は、エントリに対応するリポジトリ62と対応するローカルリポジトリ58の場所情報(例えば、ビジュアルプログラム装置51におけるローカルリポジトリ58のパス名)を格納する領域である。開発ブランチフィールド564は、ビジュアルプログラム装置51において開発が進められているブランチ(開発ブランチ)の識別情報(例えば、開発ブランチの名前)を保持する領域である。分岐コミットフィールド565は、主ブランチと、開発ブランチとが分岐した時点(開発ブランチが作成された時点)のリポジトリ62の状態を示す情報(例えば、分岐時の主ブランチのコミットID)を格納する領域である。このコミットIDを用いることにより、リポジトリ62から分岐時の主ブランチの情報(例えば、フロー定義)を取得することができる。
(変更衝突管理テーブル)
図4は、一実施形態に係る変更衝突管理テーブルの一例を示す図である。
変更衝突管理テーブル57は、2つのブランチ間(主ブランチと開発ブランチとの間)に変更の衝突があった場合における、衝突したノードの情報を保持するテーブルであり、衝突したノード毎に対応するエントリを格納する。ここで、衝突とは、2つのブランチのフロー定義における各ノードを適切にマージできない状態を意味している。
変更衝突管理テーブル57のエントリは、ノードIDフィールド571と、分岐時ノード定義フィールド572と、主ブランチノード定義フィールド573と、開発ブランチノード定義フィールド574とを含む。
ノードIDフィールド571は、変更の衝突が発生しているノードを一意に示す識別情報(例えば、ビジュアルプログラム装置51が各ノードに定めるハッシュ値など)を格納する領域である。分岐時ノード定義フィールド572は、変更の衝突が発生しているノードについての、主ブランチと開発ブランチとが分岐した時点でのノードの情報(例えば、JSON形式のノード定義)を格納する領域である。主ブランチノード定義フィールド573は、変更の衝突が発生しているノードについての、主ブランチにおけるノードの情報(例えば、JSON形式のノード定義)を格納する領域である。開発ブランチノード定義フィールド574は、変更の衝突が発生しているノードについての、開発ブランチにおけるノードの情報(例えば、JSON形式のノード定義)を格納する領域である。
(ビジュアルプログラミングにおける開発の流れ)
次に、ビジュアルプログラミングにおける開発の流れの一例に沿って、本実施形態に係るビジュアルプログラム装置51の動作を説明する。
図5は、一実施形態に係るプログラム開発処理のフローチャートである。
ユーザ50は、VCSシステム61に対して、開発対象プログラムのフロー定義を保存するためのリポジトリ(外部リポジトリ)62を作成する(ステップS41)。なお、ビジュアルプログラム装置51を起動して、ビジュアルプログラム装置51に対してユーザ50が操作指示を行って、ビジュアルプログラム装置51を介してVCSシステム61に、リポジトリ62を作成するようにしてもよい。
次いで、ユーザ50は、ビジュアルプログラム装置51を起動する(ステップS42)。
ビジュアルプログラム装置51は、起動されると、図6に示すフロー定義読み込み処理を実行することにより、VCSシステム61からフロー定義を取得し、フロー定義に対応するフローを表示する(ステップS43)。
次いで、ビジュアルプログラム装置51は、ユーザ50による入出力部52に対する操作入力に従って、表示されたフローに対する編集を実行する(ステップS44)。
ビジュアルプログラム装置51は、ユーザ50から編集の終了指示を受け付けると、フロー定義をVCSサービス61に保存する図7に示すフロー定義保存処理を実行する(ステップS45)。
なお、図5は、VCSシステム61にリポジトリ62を作成していないプログラムの開発を行う場合の処理を示しているが、例えば、既にリポジトリ62が作成されているプログラムの開発を行う場合には、ステップS42からの処理を実行するようにすればよい。
(フロー定義読み込み処理の流れ)
図6は、一実施形態に係るフロー定義読み込み処理のフローチャートである。フロー定義読み込み処理は、図5のステップS43に対応する処理である。
まず、VCS連携部55は、ユーザ50から開発対象のプログラムのフロー定義を管理するVCSシステム61のリポジトリ62の指定を受け付け、受け付けたリポジトリ62に対応するローカルリポジトリが、ローカルリポジトリ58として存在するか否かを、リポジトリ管理テーブル56を参照して判断する(ステップS431)。
この結果、指定されたリポジトリ62に対応するローカルリポジトリ58が存在しない場合(ステップS431:No)には、VCS連携部55は、VCSシステム61から指定されたリポジトリ62を取得し、リポジトリ62に対応するローカルリポジトリ58を作成する(ステップS432)。VCSシステム61からリポジトリ62を取得する際には、例えば、VCSシステム61がgitである場合には、gitコマンドを利用すればよい。
一方、指定されたリポジトリ62に対応するローカルリポジトリ58が存在する場合(ステップS431:Yes)、又は、ステップS432でローカルリポジトリ58を作成した場合には、VCS連携部55は、ローカルリポジトリ58に、開発ブランチ59を新たに作成する(ステップS433)。ここで、開発ブランチ59は、ローカルリポジトリ58内の主ブランチ(リポジトリ62から取得された主ブランチ)の各種情報をコピーして作成される。開発ブランチ59を作成した後、VCS連携部55は、リポジトリ管理テーブル56にエントリを追加し、VCSシステム61のリポジトリ62の場所情報と、主ブランチの識別情報と、ローカルリポジトリ58の場所情報と、開発ブランチの識別情報と、主ブランチと開発ブランチとの分岐時(開発ブランチを作成した時)のリポジトリの状態を示す情報(例えば、分岐時のコミットID)とを追加したエントリの対応するフィールドに登録する(ステップS434)。なお、分岐時のコミットIDは、例えば、開発ブランチ59を作成する際に、VCSシステム61から取得するようにすればよい。
次いで、フロー編集部54が開発ブランチ59に格納されているフロー定義60を読み込み、フロー定義60に対応する表示用のフローを作成し(ステップS435)、入出力部52が表示用フローを含む画面を表示する(ステップS436)。
(フロー定義保存処理の流れ)
図7は、一実施形態に係るフロー定義保存処理のフローチャートである。フロー定義保存処理は、図5のステップS45に対応する処理である。
ビジュアルプログラム装置51が、ユーザ50からフロー定義を開発ブランチにコミットする要求を受け付けると(ステップS451)、VCS連携部55がリポジトリ管理テーブル56を参照して、開発ブランチ59に対応するVCSシステム61の主ブランチ63及び外部リポジトリ62を特定し、開発ブランチ59を作成した時点以降において主ブランチ63に更新があるか否かを判断する(ステップS452)。
この結果、主ブランチ63に更新がない場合(ステップS452:No)には、VCS連携部55は、開発ブランチと主ブランチとの間に変更衝突が発生することがなく、開発ブランチを主ブランチにマージしても問題ないことを意味しているので、処理をステップS461に進める。
一方、主ブランチ63に更新がある場合(ステップS452:Yes)には、VCS連携部55は、VCSシステム61から主ブランチ63の更新内容を取得し、ローカルリポジトリ58の主ブランチ59を更新する(ステップS453)。
次いで、VCS連携部55は、開発ブランチを更新後の主ブランチに接続するrebase処理を実行する(ステップS454)。rebase処理の機能は、例えば、git等のVCSシステムの機能をVCS連携部55に組み込んでおくようにすればよい。rebase処理においては、開発ブランチのフロー定義(第3フロー定義)と主ブランチのフロー定義(第2フロー定義)とについて、変更の衝突(開発ブランチのフロー定義のノードを主ブランチのフロー定義内に接続できない部分が存在すること)が発生すると、発生した衝突に関する情報(変更衝突情報)をフロー定義60のファイル内に追記して保存する。変更衝突情報としては、衝突が発生したノードの識別情報であってもよく、衝突があった旨の情報であってもよい。
次いで、VCS連携部55は、開発ブランチと主ブランチとのフロー定義の変更の衝突が発生しているか否かを判断する、具体的には、開発ブランチのフロー定義のファイルに変更衝突情報が含まれているか否かを判断する(ステップS455)。この結果、変更の衝突が発生していない場合(ステップS455:No)には、開発ブランチを主ブランチにマージしても問題ないことを意味しているので、VCS連携部55は、処理をステップS461に進める。
一方、変更の衝突が発生している場合(ステップS455:Yes)、すなわち、フロー定義に変更衝突情報が含まれている場合には、VCS連携部55は、変更衝突情報に基づいて、変更衝突が発生している全てのノードを特定する。次いで、VCS連携部55は、特定したそれぞれのノードに関して、リポジトリ管理テーブル56を参照して、分岐時の主ブランチのフロー定義(第1フロー定義)におけるノード定義と、最新の主ブランチのフロー定義(第2フロー定義)におけるノード定義と、開発ブランチのフロー定義(第3フロー定義)におけるノード定義とをリポジトリ62又はローカルリポジトリ59から取得する。次いで、VCS連携部55は、変更衝突管理テーブル57に変更衝突が発生しているノードに対応する新たなエントリを追加し、追加したエントリのノードIDフィールド571に、衝突が発生しているノードの識別情報を格納し、分岐時ノード定義フィールド572、主ブランチノード定義フィールド573、及び開発ブランチノード定義574のそれぞれに、既に取得している対応するノード定義を保存する(ステップS456)。
次いで、フロー編集部54は、変更衝突情報を含むフロー定義と、変更衝突管理テーブル57とを読み込み、ノードの変更衝突に関する情報を含むフロー表示画面30(図9参照)を表示するためのフロー表示処理(図8参照)を行う(ステップS457)。
これにより、ユーザ50は、表示されたフロー表示画面30を参照して、入出力部52を操作することにより、衝突を解決するためのフロー定義の編集を行うことができる。この際、ビジュアルプログラム装置51は、ユーザ50による入出力部52に対する操作に基づいて、フロー定義に編集内容を反映する(ステップS458)。
次いで、ユーザ50から、衝突を解消したフロー定義を開発ブランチへコミットする要求を受け付けると、VCS連携部55は、衝突を解消したフロー定義をローカルリポジトリ58の開発ブランチへコミットする処理を実行する(ステップS459)。この結果、フロー定義の開発ブランチへのコミットが成功すると、VCS連携部55は、変更衝突管理テーブル57から衝突を解消したノードに対応するエントリを削除し(ステップS460)、ローカルリポジトリ58の開発ブランチをVCSシステム61にPUSHする、すなわち、開発ブランチをVCSシステム61へ登録する(ステップS461)。なお、VCSシステム61では、登録された開発ブランチが、主ブランチとマージされることにより、ビジュアルプログラム装置51のユーザ50により編集された内容が主ブランチのフロー定義に反映されることとなる。
次いで、VCS連携部55は、ローカルリポジトリ58からVCSシステム61にプッシュした開発ブランチを削除し(ステップS462)、リポジトリ管理テーブル56から、この開発ブランチに対応するエントリを削除する(ステップS463)。
(フロー表示処理の流れ)
図8は、一実施形態に係るフロー表示処理のフローチャートである。フロー表示処理は、図7のステップS457に対応する処理である。
まず、フロー編集部54は、変更衝突情報を含むフロー定義を読み込み(ステップS501)、フロー定義に含まれる1以上のノード定義から処理対象とする1つのノード定義を取得する(ステップS502)。
次いで、フロー編集部54は、変更衝突管理テーブル57に、取得したノード定義に対応するノードが登録されているか否かを判断する(ステップS503)。この結果、このノードが変更衝突管理テーブル57に登録されていない場合(ステップS503:No)には、変更衝突が発生していないことを示しているので、フロー編集部54は、このノードに対応するブロック(オブジェクト)を変更衝突が発生していないことを示す表示態様(例えば、黒色)で描画し(ステップS510)、処理をステップS509に進める。
一方、このノードが変更衝突管理テーブル57に登録されている場合(ステップS503:Yes)には、このノードについて、主ブランチと、開発ブランチとの間で変更衝突が発生していることを示しており、フロー編集部54は、変更衝突管理テーブル57からこのノードに対応する分岐時のノード定義を取得し、分岐時のノード(第1処理ノード)に対応するブロックを、衝突に関係するノードであることを示す所定の表示態様(例えば、灰色)で描画する(ステップS504)。
次に、ノード編集部54は、このノードの主ブランチにおけるノード定義を変更衝突管理テーブル57から取得し、主ブランチのノード定義と分岐時のノード定義とに差分があるか否かを判断する(ステップS505)。
この結果、主ブランチのノード定義と分岐時のノード定義とに差分がないと判断された場合(ステップS505:No)には、ノード編集部54は、主ブランチのノードに対応するブロックを、分岐時のノードに対応するブロックと同じ色(本実施形態では、灰色)で描画し(ステップS511)、処理をステップS507に進める。
一方、主ブランチのノード定義と分岐時のノード定義とに差分があると判断された場合(ステップS505:Yes)には、ノード編集部54は、主ブランチのノードに対応するブロックを、分岐時のノードに対応するブロックと異なる表示態様(例えば、青色)で描画し(ステップS506)、処理をステップS507に進める。なお、ステップS506において、主ブランチのノードが削除されている場合は、ノード編集部54は、主ブランチのノードに対応するブロックを、ノードが削除されていることを視覚的に認識可能な表示態様(例えば、青色且つ点線)で描画する。このようにブロックの表示を行うと、主ブランチのノードに対応するブロックと、分岐時のノードに対応するブロックとの表示態様を見比べることにより、これらノード間に差分があるか否かを視覚的に容易かつ適切に把握することができる。
ステップS507では、ノード編集部54は、このノードの開発ブランチにおけるノード定義を変更衝突管理テーブル57から取得し、開発ブランチのノード定義と分岐時のノード定義とに差分があるか否かを判断する。
この結果、開発ブランチのノード定義と分岐時のノード定義とに差分がないと判断された場合(ステップS507:No)には、ノード編集部54は、開発ブランチのノードに対応するブロックを、分岐時のノードに対応するブロックと同じ色(本実施形態では、灰色)で描画し(ステップS512)、処理をステップS509に進める。
一方、開発ブランチのノード定義と分岐時のノード定義とに差分があると判断された場合(ステップS507:Yes)には、ノード編集部54は、開発ブランチのノードに対応するブロックを、主ブランチのノードに対応するブロック及び分岐時のノードに対応するブロックと異なる表示態様(例えば、赤色)で描画し(ステップS508)、処理をステップS509に進める。なお、ステップS508において、開発ブランチのノードが削除されている場合は、ノード編集部54は、開発ブランチのノードに対応するブロックを、ノードが削除されていることを視覚的に認識可能な表示態様(例えば、赤色且つ点線)で描画する。このようにブロックを表示すると、開発ブランチのノードに対応するブロックと、分岐時のノードに対応するブロックとの表示態様を見比べることにより、これらノード間に差分があるか否かを視覚的に容易かつ適切に把握することができる。また、開発ブランチのノードに対応するブロックと、主ブランチのノードに対応するブロックとの表示態様を見比べることにより、これらノード間に差分があるか否かを視覚的に容易かつ適切に把握することができる。なお、各ノードのブロックから次のノードのブロックにつながるリンク線については、このノードについてのノード定義の中に次のノードが指定されている場合には、各ノードのブロックの色に合わせて描画してもよい。
ステップS509では、ノード編集部54は、フロー定義に含まれる全てのノードを処理対象として、ノードに対応するブロックの描画が完了したか否かを判断し、全てのノードを処理対象としたブロックの描画が完了していない場合(ステップS509:No)には、処理をステップS502に進める一方、全てのノードを処理対象としたブロックの描画が完了している場合(ステップS509:Yes)には、フロー表示処理を終了する。
(フロー表示画面)
図9は、一実施形態に係るフロー表示画面の一例を示す図である。
フロー表示画面30は、ノード選択領域31と、フロー編集領域32と、ノード情報表示領域33と、フロー操作領域34とを有する。
ノード選択領域31は、ビジュアルプログラム装置51で利用可能な複数のノードを示すブロック(オブジェクト)を表示するための領域である。ユーザ50は、入出力部52を操作して、ノード選択領域31に表示されているブロックの中から、使用したいノードのブロックを選択することにより、フロー編集領域32で選択されたノードのブロックを配置等することができるようになる。
フロー編集領域32は、フロー定義に従ったフローを表示するための領域である。フロー編集領域32に表示されるフローとしては、フロー定義に含まれるノードに対応するブロック(321〜325等)や、ノード間の接続関係を示す接続線等が含まれる。ユーザ50は、入出力部52を操作することにより、フロー編集領域32において、フロー定義におけるノードの配置や、ノードの接続関係等を編集することでフロー定義(すなわち、プログラム)を編集することができる。
フロー編集領域32においては、開発ブランチと主ブランチとの間で変更の衝突があった場合には、分岐時のノード(分岐時ノード)に対応するブロック、主ブランチのノード(主ノード)に対応するブロック、及び開発ブランチのノード(開発ノード)に対応するブロックが、各ノードに対応するノード定義の差分が視覚的に容易に把握できるように表示される。例えば、ブロック322が分岐時ノードに対応し、ブロック323が主ノードに対応し、ブロック324が開発ノードに対応する。ブロック322,323,324の表示態様を見ることにより、各ブロックに対応するノードのノード定義に差分があるか否かを視覚的に容易に把握することができる。図9に示す例では、ブロック322に対応する分岐時ノードと、ブロック323に対応する主ノードとのノード定義に差分があり、また、ブロック322に対応する分岐時ノードと、ブロック324に対応する開発ノードとのノード定義に差分があることを示している。
フロー編集領域32において、存在していなかったノードや、削除されたノードについては、そのことが視覚的に把握できるように、他のノードのブロックと異なる表示態様(例えば、点線)で表示するようにしてもよく、また、新たに追加されたノードについては、新たに追加されたことを把握できるように他と異なる表示態様で表示するようにしてもよい。また、フロー編集領域32において、ノードに対応するブロックに対応してノード定義や、他のノードのノード定義との差分の内容を表示するようにしてもよい。具体的には、ブロックの近傍にノード定義や、他のノードのノード定義との差分の内容を表示するようにしてもよく、ブロックが選択等された際に、ノード定義や、他のノードのノード定義との差分の内容をノード情報表示領域33に表示するようにしてもよい。これにより、フロー表示画面30に、ノード定義や、差分の内容を適切に表示することができ、ユーザは、容易かつ適切にその内容を把握することができる。
ノード情報表示領域33は、ノード選択領域31やフロー編集領域32で選択されたノードに関するノード定義の内容が表示される領域である。
フロー操作領域34は、フロー定義の管理に関する動作を選択指定するための領域である。ユーザ50は、ノード操作領域34に対して入出力部52による操作を行うことにより、管理に関する動作を指定することができる。フロー操作領域34においては、フロー定義の管理に関する動作としては、例えば、フロー定義の読み込み、フロー定義の保存(コミット)、フロー定義の実行などを選択できる。
なお、本発明は、上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で、適宜変形して実施することが可能である。
例えば、上記実施形態では、図7に示すように、フロー定義を開発ブランチにコミットすることを起点として、VCSシステム61の主ブランチに更新がある場合に、主ブランチを取得して、フロー表示処理を行うようにしていたが、本発明はこれに限られず、例えば、VCS連携部55が、VCSシステム61のリポジトリ62における主ブランチが更新されたか否かを逐次監視するようにし、主ブランチが更新されたことを検出した場合に、主ブランチを取得してフロー表示処理を行うようにしてもよい。このようにすると、主ブランチが更新されたことにより発生する変更衝突について、早期に、すなわち、変更衝突に関わる部分が比較的少ない時点において把握することができ、変更衝突を比較的容易に解消することができる。このため、ユーザ50に対する変更衝突を解消する際の負荷を低減することができ、プログラムの開発効率を向上することができる。
また、上記実施形態では、フロー表示画面30において、開発ブランチと主ブランチ間で変更の衝突があった場合には、分岐時ノード、主ノード、開発ノードに対応する3つのブロックを表示するようにしていたが、本発明はこれに限られず、主ノードに対応するブロックと、開発ノードに対応するブロックとの2つを表示するようにしてもよい。このようにしても、主ノードが分岐ノードと差分があるか否か、開発ノードが分岐ノードと差分があるか否かを視覚的に把握することができる。
また、上記実施形態では、ノード間に差分がある場合に、ノードに対応するブロックの色や線種を変えるようにしていたが、本発明はこれに限られず、例えば、ブロックの形状を変えるようにしてもよく、要は、視覚的に認識可能な表示態様を変えるようにすればよい。
また、上記実施形態において、CPUが行っていた処理の一部又は全部を、ハードウェア回路で行うようにしてもよい。また、上記実施形態におけるプログラムは、プログラムソースからインストールされてよい。プログラムソースは、プログラム配布サーバ又は記憶メディア(例えば可搬型の記憶メディア)であってもよい。
1…プログラム開発管理システム、20…通信ネットワーク、21…CPU、22…メモリ、23…記憶装置、51…ビジュアルプログラム装置、52…入出力部、53…フロー実行部、54…フロー編集部、55…VCS連携部、56…リポジトリ管理テーブル。57…変更衝突管理テーブル、61…VCSシステム

Claims (15)

  1. 開発対象プログラムを構成する1以上の処理ノード及び前記処理ノードの接続関係を含むフロー定義を、前記処理ノードを示すオブジェクトに対するユーザの操作に従って作成するプログラム開発支援装置において、
    前記開発対象プログラムの所定の時点におけるフロー定義である第1フロー定義を取得する第1フロー定義取得部と、
    前記開発対象プログラムの前記第1フロー定義に対して前記所定の時点以降の変更が反映された第2フロー定義を取得する第2フロー定義取得部と、
    前記開発対象プログラムの前記第1フロー定義を基にして前記所定の時点以降に変更が施された第3フロー定義を記憶する第3フロー定義記憶部と、
    前記第3フロー定義と、前記第2フロー定義とが衝突するか否かを判定する衝突判定部と、
    衝突すると判定された場合に、前記第1フロー定義と前記第2フロー定義との処理ノードの差分を検出するとともに、前記第1フロー定義と前記第3フロー定義との処理ノードの差分を検出する差分検出部と、
    前記第1フロー定義と前記第2フロー定義とで処理ノードに差異がある場合と差異がない場合とで、前記第2フロー定義の処理ノードを示すオブジェクトの表示態様を変えて表示するとともに、前記第1フロー定義と前記第3フロー定義とで差異がある場合と差異がない場合とで、前記第3フロー定義の処理ノードを示すオブジェクトの表示態様を変えて表示するノード表示処理部と、
    を備えるプログラム開発支援装置。
  2. 前記ノード表示処理部は、前記第1フロー定義に含まれる第1処理ノードを示すオブジェクトを表示するとともに、前記第1フロー定義と前記第2フロー定義とで差異のない前記第2フロー定義の処理ノードのオブジェクトについては、前記第1処理ノードを示すオブジェクトと同様な表示態様で表示すると共に、前記第1フロー定義と前記第2フロー定義とで差異のある前記第2フロー定義の処理ノードを示すオブジェクトについては、前記第1処理ノードを示すオブジェクトと異なる表示態様で表示し、前記第1フロー定義と前記第3フロー定義とで差異のない前記第3フロー定義の処理ノードを示すオブジェクトについては、前記第1処理ノードを示すオブジェクトと同様な表示態様で表示すると共に、前記第1フロー定義と前記第3フロー定義とで差異のある前記第3フロー定義の処理ノードを示すオブジェクトについては、前記第1処理ノードを示すオブジェクトと異なる表示態様で表示する
    請求項1に記載のプログラム開発支援装置。
  3. 前記ノード表示処理部は、前記処理ノードについての差異が、処理ノードの追加、処理ノードの変更、処理ノードの削除のいずれであるかによって、処理ノードを示すオブジェクトの表示態様を異ならせる
    請求項1又は請求項2に記載のプログラム開発支援装置。
  4. 通信ネットワークを介して、前記フロー定義の版を管理する版管理システムに接続されており、
    前記第1フロー定義取得部は、前記第1フロー定義を、前記版管理システムから取得し、
    前記第2フロー定義取得部は、前記第2フロー定義を、前記版管理システムから取得する
    請求項1に記載のプログラム開発支援装置。
  5. 前記第2フロー定義取得部は、前記版管理システムにおける前記第2フロー定義が更新されたか否かを判定し、前記第2フロー定義が更新されている場合に、前記版管理システムから更新後の第2フロー定義を取得し、
    前記衝突判定部と、前記差分検出部と、前記ノード表示処理部は、前記第2フロー定義取得部が更新後の第2フロー定義を取得した場合には、前記更新後の第2フロー定義を用いて処理を実行する
    請求項4に記載のプログラム開発支援装置。
  6. 前記第3フロー定義に対する変更を受け付ける変更受付部をさらに備え、
    前記衝突判定部は、前記変更受付部により受け付けられた変更が反映された第3フロー定義と、前記第2フロー定義とが衝突するか否かを判定し、
    変更が反映された前記第3フロー定義と前記第2フロー定義とが衝突しないと判定された場合に、版管理システムに、前記第3フロー定義を前記第2フロー定義とマージさせるために送信する送信部をさらに備える
    請求項1に記載のプログラム開発支援装置。
  7. 前記ノード表示処理部は、前記第2フロー定義の処理ノードを示すオブジェクトに対応させて、前記第2フロー定義における前記処理ノードのノード定義、又は第1フロー定義との差分を表示可能であると共に、前記第3フロー定義の処理ノードを示すオブジェクトに対応させて、前記第3フロー定義における前記処理ノードのノード定義、又は第3フロー定義との差分を表示可能である
    請求項1に記載のプログラム開発支援装置。
  8. 開発対象プログラムを構成する1以上の処理ノード及び前記処理ノードの接続関係を含むフロー定義を、前記処理ノードを示すオブジェクトに対するユーザの操作に従って作成するプログラム開発支援装置によるプログラム開発支援方法であって、
    (a)前記開発対象プログラムの所定の時点におけるフロー定義である第1フロー定義を取得し、
    (b)前記開発対象プログラムの前記第1フロー定義に対して前記所定の時点以降の変更が反映された第2フロー定義を取得し、
    (c)記憶部に前記開発対象プログラムの前記第1フロー定義を基にして前記所定の時点以降に変更が施された第3フロー定義を記憶し、
    (d)前記第3フロー定義と、前記第2フロー定義とが衝突するか否かを判定し、
    (e)衝突すると判定された場合に、前記第1フロー定義と前記第2フロー定義との処理ノードの差分を検出するとともに、前記第1フロー定義と前記第3フロー定義との処理ノードの差分を検出し、
    (f)前記第1フロー定義と前記第2フロー定義とで処理ノードに差異がある場合と差異がない場合とで、前記第2フロー定義の処理ノードを示すオブジェクトの表示態様を変えて表示するとともに、前記第1フロー定義と前記第3フロー定義とで差異がある場合と差異がない場合とで、前記第3フロー定義の処理ノードを示すオブジェクトの表示態様を変えて表示する
    プログラム開発支援方法。
  9. 前記(f)において、前記第1フロー定義に含まれる第1処理ノードを示すオブジェクトを表示するとともに、前記第1フロー定義と前記第2フロー定義とで差異のない前記第2フロー定義の処理ノードのオブジェクトについては、前記第1処理ノードを示すオブジェクトと同様な表示態様で表示すると共に、前記第1フロー定義と前記第2フロー定義とで差異のある前記第2フロー定義の処理ノードを示すオブジェクトについては、前記第1処理ノードを示すオブジェクトと異なる表示態様で表示し、前記第1フロー定義と前記第3フロー定義とで差異のない前記第3フロー定義の処理ノードを示すオブジェクトについては、前記第1処理ノードを示すオブジェクトと同様な表示態様で表示すると共に、前記第1フロー定義と前記第3フロー定義とで差異のある前記第3フロー定義の処理ノードを示すオブジェクトについては、前記第1処理ノードを示すオブジェクトと異なる表示態様で表示する
    請求項8に記載のプログラム開発支援方法。
  10. 前記(f)において、前記処理ノードについての差異が、処理ノードの追加、処理ノードの変更、処理ノードの削除のいずれであるかによって、処理ノードを示すオブジェクトの表示態様を異ならせる
    請求項8又は請求項9に記載のプログラム開発支援方法。
  11. 前記プログラム開発支援装置は、通信ネットワークを介して、前記フロー定義の版を管理する版管理システムに接続されており、
    前記(a)において、前記第1フロー定義を、前記版管理システムから取得し、
    前記(b)において、第2フロー定義取得部は、前記第2フロー定義を、前記版管理システムから取得する
    請求項8に記載のプログラム開発支援方法。
  12. 前記(b)において、前記版管理システムにおける前記第2フロー定義が更新されたか否かを判定し、前記第2フロー定義が更新されている場合に、前記版管理システムから更新後の第2フロー定義を取得し、
    前記(d),(e),(f)では、前記更新後の第2フロー定義を用いて処理を実行する
    請求項11に記載のプログラム開発支援方法。
  13. (g)前記第3フロー定義に対する変更を受け付け、
    前記(d)において、前記(g)において受け付けられた変更が反映された第3フロー定義と、前記第2フロー定義とが衝突するか否かを判定し、
    (h)変更が反映された前記第3フロー定義と前記第2フロー定義とが衝突しないと判定された場合に、版管理システムに、前記第3フロー定義を前記第2フロー定義とマージさせるために送信する
    請求項8に記載のプログラム開発支援方法。
  14. 前記(f)において、前記第2フロー定義の処理ノードを示すオブジェクトに対応させて、前記第2フロー定義における前記処理ノードのノード定義、又は第1フロー定義との差分を表示可能であると共に、前記第3フロー定義の処理ノードを示すオブジェクトに対応させて、前記第3フロー定義における前記処理ノードのノード定義、又は第3フロー定義との差分を表示可能である
    請求項8に記載のプログラム開発支援方法。
  15. 開発対象プログラムを構成する1以上の処理ノード及び前記処理ノードの接続関係を含むフロー定義を、前記処理ノードを示すオブジェクトに対するユーザの操作に従って作成するプログラム開発支援装置を構成するコンピュータに実行させるためのプログラム開発支援プログラムであって、
    前記コンピュータを、
    前記開発対象プログラムの所定の時点におけるフロー定義である第1フロー定義を取得する第1フロー定義取得部と、
    前記開発対象プログラムの前記第1フロー定義に対して前記所定の時点以降の変更が反映された第2フロー定義を取得する第2フロー定義取得部と、
    前記開発対象プログラムの前記第1フロー定義を基にして前記所定の時点以降に変更が施された第3フロー定義を記憶する第3フロー定義記憶部と、
    前記第3フロー定義と、前記第2フロー定義とが衝突するか否かを判定する衝突判定部と、
    衝突すると判定された場合に、前記第1フロー定義と前記第2フロー定義との処理ノードの差分を検出するとともに、前記第1フロー定義と前記第3フロー定義との処理ノードの差分を検出する差分検出部と、
    前記第1フロー定義と前記第2フロー定義とで処理ノードに差異がある場合と差異がない場合とで、前記第2フロー定義の処理ノードを示すオブジェクトの表示態様を変えて表示するとともに、前記第1フロー定義と前記第3フロー定義とで差異がある場合と差異がない場合とで、前記第3フロー定義の処理ノードを示すオブジェクトの表示態様を変えて表示するノード表示処理部と、して機能させる
    プログラム開発支援プログラム。

JP2019506453A 2017-08-03 2017-08-03 プログラム開発支援装置、プログラム開発支援方法、及びプログラム開発支援プログラム Active JP6801086B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2017/028278 WO2019026248A1 (ja) 2017-08-03 2017-08-03 プログラム開発支援装置、プログラム開発支援方法、及びプログラム開発支援プログラム

Publications (2)

Publication Number Publication Date
JPWO2019026248A1 JPWO2019026248A1 (ja) 2019-08-08
JP6801086B2 true JP6801086B2 (ja) 2020-12-16

Family

ID=65233649

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019506453A Active JP6801086B2 (ja) 2017-08-03 2017-08-03 プログラム開発支援装置、プログラム開発支援方法、及びプログラム開発支援プログラム

Country Status (2)

Country Link
JP (1) JP6801086B2 (ja)
WO (1) WO2019026248A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7581671B2 (ja) 2020-06-30 2024-11-13 オムロン株式会社 ビジュアルプログラミングエディタのプログラム、コンピューターおよび方法
CN112506796B (zh) * 2020-12-21 2022-06-10 北京百度网讯科技有限公司 数据处理方法、装置、设备以及存储介质
JP7150002B2 (ja) * 2020-12-29 2022-10-07 マーク マリアン ヴァシレ ソフトウェア開発支援システム、ソフトウェア開発支援サーバ及びソフトウェア開発支援プログラム
CN113407230B (zh) * 2021-06-04 2023-09-29 中船奥蓝托无锡软件技术有限公司 一种基于数据驱动的智能主模型管理系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013164725A (ja) * 2012-02-10 2013-08-22 Fuji Electric Co Ltd 構成管理支援装置、プログラム
JP2015162218A (ja) * 2014-02-28 2015-09-07 三菱重工業株式会社 ソフトウェア開発装置、ソフトウェア開発方法

Also Published As

Publication number Publication date
WO2019026248A1 (ja) 2019-02-07
JPWO2019026248A1 (ja) 2019-08-08

Similar Documents

Publication Publication Date Title
US9754242B2 (en) Deployment mechanism for non-versioning business process artifacts
JP6801086B2 (ja) プログラム開発支援装置、プログラム開発支援方法、及びプログラム開発支援プログラム
US20150222731A1 (en) Computer, guide information providing method and recording medium
CN107665227B (zh) 一种数据版本控制方法及数据版本控制器
CN115599437B (zh) 一种软件版本的处理方法、装置、电子设备及存储介质
CN109725926A (zh) 管理基线的方法和装置以及数据处理方法
CN107408001A (zh) 数据编辑装置、数据编辑方法以及数据编辑程序
JPWO2011135733A1 (ja) Webページの制御方法、計算機システム及びプログラム
JP6336919B2 (ja) ソースコードレビュー方法及びそのシステム
US12259852B2 (en) Managing file revisions from multiple reviewers
JP2003208501A (ja) ビジネスプロセス定義表示方法およびプログラム
JP5473250B2 (ja) 検索装置の制御方法、検索装置
JP2013191003A (ja) ブランチリポジトリ管理システム
JP2016001376A (ja) プログラマブルコントローラシステム、その支援装置
JP6586050B2 (ja) 管理装置、管理方法および管理プログラム
JP2016009423A (ja) 情報処理装置、情報処理装置の制御方法、およびプログラム
JP2001236215A (ja) システム制御方法およびそれを実施した情報処理システム並びにその処理プログラムを格納した記録媒体
US20180121562A1 (en) Extendable json configuration architecture
KR102007610B1 (ko) 공간자료 분산 버저닝 툴 및 이를 이용하는 공간정보 분산 버전 관리 방법
JP6169485B2 (ja) 分散処理システム
JP2006277435A (ja) ソースファイルバージョン管理システム
JP2009266149A (ja) ジョブ管理プログラム及びジョブ管理装置
JP2017033079A (ja) ソフトウェア導入支援プログラム、ソフトウェア導入支援装置およびソフトウェア導入支援方法
JP2007226472A (ja) ジョブ定義確認システム、その方法およびプログラム
JP4886910B1 (ja) 情報処理装置、情報処理装置の制御方法、プログラム、及びプログラムを記録した記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190205

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200421

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200525

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201125

R150 Certificate of patent or registration of utility model

Ref document number: 6801086

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150