JP7131277B2 - システム移行支援装置、システム移行支援方法及びプログラム - Google Patents

システム移行支援装置、システム移行支援方法及びプログラム Download PDF

Info

Publication number
JP7131277B2
JP7131277B2 JP2018191169A JP2018191169A JP7131277B2 JP 7131277 B2 JP7131277 B2 JP 7131277B2 JP 2018191169 A JP2018191169 A JP 2018191169A JP 2018191169 A JP2018191169 A JP 2018191169A JP 7131277 B2 JP7131277 B2 JP 7131277B2
Authority
JP
Japan
Prior art keywords
classification
data
information
model
generation
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
JP2018191169A
Other languages
English (en)
Other versions
JP2020060919A (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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2018191169A priority Critical patent/JP7131277B2/ja
Priority to US17/283,515 priority patent/US12118383B2/en
Priority to PCT/JP2019/038203 priority patent/WO2020075532A1/ja
Publication of JP2020060919A publication Critical patent/JP2020060919A/ja
Application granted granted Critical
Publication of JP7131277B2 publication Critical patent/JP7131277B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • G06F9/4862Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration the task being a mobile agent, i.e. specifically designed to migrate
    • G06F9/4875Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration the task being a mobile agent, i.e. specifically designed to migrate with migration policy, e.g. auction, contract negotiation
    • 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
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • 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
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • 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
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • 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
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/35Creation or generation of source code model driven
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/76Adapting program code to run in a different environment; Porting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/541Interprogram communication via adapters, e.g. between incompatible applications

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)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、システム移行支援装置、システム移行支援方法及びプログラムに関する。
Webシステム等のコンピュータシステムについて、旧システムの資材を基に旧システムとは異なる実装技術で新システムを実装する技術として、モデル駆動マイグレーションと呼ばれる手法が知られている(非特許文献1)。
図1は、従来技術を説明するための図である。従来技術では、はじめに旧システムのソースコード、設定ファイルなどの資材を入力として、旧システムの実装技術固有のモデルが機械的に生成される。生成されたモデルが特定の実装技術に依存しない汎用的な中間モデルへと変換された後、中間モデルが新システムの実装技術固有のモデルへと変換される。最後に新システムの実装技術固有モデルから新システムのソースコードが生成される。特定の実装技術に依存しない汎用的な中間モデルには静的なデータ構造や実行される処理のアルゴリズム、GUI、画面遷移が含まれる。
Franck Fleurey, Erwan Breton, Benoit Baudry, Alain Nicolas, Jean-Marc Jezequel. Model-Driven Engineering for Software Migration in a Large Industrial Context. MoDELS'07, 2007, Nashville, TN, USA, United States. 2007.
従来技術では実装技術に依存しない汎用的な中間モデルを介した変換が行われる。この過程で旧システムの実装技術に依存したソースコードの構成や動作の詳細は失われる。
旧システムがプログラミング言語の仕様に依存した複雑な機能や高機能な外部ライブラリ、フレームワークを用いて実装されていた場合には、実装の詳細が失われることで、新システムへの移行時に旧システムの動作を高い精度で再現するのが困難となる。
例えば、Webシステムの画面遷移において、特定の画面への直接アクセスや画面のリロード、ブラウザの戻るボタンの使用などによる想定外の画面遷移に対してシステムがどのように振る舞うかといった詳細は、実装に用いるフレームワークやライブラリに依存しており、汎用的な中間モデルとして表現することは困難である。こうした場合、従来技術では旧システムと新システムの動作に意図していない挙動の差が生じてしまう可能性が有る。
本発明は、上記の点に鑑みてなされたものであって、移行先のシステムにおける移行元のシステムの動作の再現性を向上させることを目的とする。
そこで上記課題を解決するため、システム移行支援装置は、移行元のシステムの資材を構成する複数のファイルに関する所定条件に基づく分類ごとに、当該分類に関して定義された第1の生成規則に基づいて当該分類に係る前記ファイルから前記移行元のシステムの動作に関する情報を前記移行元のシステムの実装技術に依存した形式で示す第1のデータを生成する第1の生成部と、前記分類ごとに、当該分類に係る前記第1のデータに対して当該分類に関して定義された第2の生成規則を適用して、前記動作に関する情報を特定の実装技術にも依存しない形式で示す第2のデータを生成すると共に当該分類に係る前記第1のデータと当該分類に係る前記第2のデータとの対応関係を示す第1の対応情報を生成する第2の生成部と、前記分類ごとに、前記第1の対応情報を参照して当該分類に係る前記第2のデータに対応する前記第1のデータを特定し、当該分類に関して定義された第3の生成規則を当該第2のデータと特定した前記第1のデータと適用して、前記動作に関する情報を移行先のシステムの実装技術に依存した形式で示す第3のデータを生成する第3の生成部と、を有する。
移行先のシステムにおける移行元のシステムの動作の再現性を向上させることができる。
従来技術を説明するための図である。 本発明の実施の形態におけるシステム移行支援装置10のハードウェア構成例を示す図である。 本発明の実施の形態におけるシステム移行支援装置10の機能構成例を示す図である。 旧システム解析部11が実行する処理手順の一例を説明するためのフローチャートである。 中間モデル生成部12が実行する処理手順の一例を説明するためのフローチャートである。 新システムモデル生成部13が実行する処理手順の一例を説明するためのフローチャートである。 資材生成部14が実行する処理手順の一例を説明するためのフローチャートである。 レポート生成部15が実行する処理手順の一例を説明するためのフローチャートである。
以下、図面に基づいて本発明の実施の形態を説明する。図2は、本発明の実施の形態におけるシステム移行支援装置10のハードウェア構成例を示す図である。図2のシステム移行支援装置10は、それぞれバスBで相互に接続されているドライブ装置100、補助記憶装置102、メモリ装置103、CPU104、及びインタフェース装置105等を有するコンピュータである。
システム移行支援装置10での処理を実現するプログラムは、CD-ROM等の記録媒体101によって提供される。プログラムを記憶した記録媒体101がドライブ装置100にセットされると、プログラムが記録媒体101からドライブ装置100を介して補助記憶装置102にインストールされる。但し、プログラムのインストールは必ずしも記録媒体101より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置102は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
メモリ装置103は、プログラムの起動指示があった場合に、補助記憶装置102からプログラムを読み出して格納する。CPU104は、メモリ装置103に格納されたプログラムに従ってシステム移行支援装置10に係る機能を実行する。インタフェース装置105は、ネットワークに接続するためのインタフェースとして用いられる。
図3は、本発明の実施の形態におけるシステム移行支援装置10の機能構成例を示す図である。図3において、システム移行支援装置10は、旧システム解析部11、中間モデル生成部12、新システムモデル生成部13、資材生成部14及びレポート生成部15等を有する。これら各部は、システム移行支援装置10にインストールされた1以上のプログラムが、CPU104に実行させる処理により実現される。システム移行支援装置10は、また、生成規則DB16、モデルDB17及びモデル生成情報DB18等のデータベース(DB)を利用する。これら各DBは、例えば、補助記憶装置102、又はシステム移行支援装置10にネットワークを介して接続可能な記憶装置等を用いて実現可能である。
旧システム解析部11は、旧システムの資材(ソースコードのファイル(以下、「ソースファイル」という。)及び設定ファイル等)を入力として、当該資材に基づいて、旧システムの動作(旧システムが実行する処理)に関する情報を旧システムの実装技術に依存した形式で示すデータ(以下、「旧システムモデル」という。)を生成し、生成した旧システムモデルをモデルDB17に記憶する。ここで、旧システムとは、例えば、Webシステム等のコンピュータシステムであって、移行先となる新しいシステム(以下、「新システム」という。)に対して移行元となるシステムをいう。なお、旧システムモデルの生成方法(生成規則)は、生成規則DB16に記憶されている複数の旧システムモデル生成規則に予め定義されている。すなわち、旧システム解析部11は、旧システムモデルのソースファイル及び設定ファイルに対して各旧システムモデル生成規則を適用して旧システムモデルを生成する。
中間モデル生成部12は、旧システムモデルに基づいて、旧システムの動作に関する情報(旧システムにおける静的なデータ構造、実行される処理のアルゴリズム、GUI(Graphical User Interface)、及び画面遷移等)を、特定の実装技術に依存しない汎用的な形式で示すデータ(以下、「中間モデル」という。)を生成し、生成した中間モデルをモデルDB17に記憶する。中間モデル生成部12は、また、中間モデルと共に、旧システムモデルの各部分と中間モデルの各部分との対応関係を示す対応情報(以下、「中間モデル生成情報」という。)を生成し、生成した中間モデル生成情報をモデル生成情報DB18に記憶する。なお、中間モデル及び中間モデル生成情報の生成方法(生成規則)は、生成規則DB16に記憶されている複数の中間モデル生成規則に予め定義されている。すなわち、中間モデル生成部12は、旧システムモデルに対して各中間モデル生成規則を適用して中間モデル及び中間モデル生成情報を生成する。
新システムモデル生成部13は、中間モデル生成情報を参照して中間モデルの各部分に対応する旧システムモデルの各部分を特定し、特定した各部分に基づいて、旧システムの動作に関する情報を、新システムの構成や使用APIなどを新システムの実装技術に依存した形式で示すデータ(以下、「新システムモデル」という。)を生成し、生成した新システムモデルをモデルDB17に記憶する。新システムモデル生成部13は、また、新システムモデルと共に、中間モデルの各部分と新システムモデルの各部分との対応関係を示す対応情報(以下、「新システムモデル生成情報」という。)を生成し、生成した新システムモデル生成情報をモデル生成情報DB18に記憶する。なお、新システムモデル及び新システムモデル生成情報の生成方法(生成規則)は、生成規則DB16に記憶されている複数の新システムモデル生成規則に予め定義されている。すなわち、新システムモデル生成部13は、中間モデル及び中間モデル生成情報に対して各新システムモデル生成規則を適用して新システムモデル及び新システムモデル生成情報を生成する。
資材生成部14は、生成規則DB16に記憶されている新システム資材生成規則を新システムモデルに適用して、新システムの資材(ソースファイル及び設定ファイル等)を生成する。
レポート生成部15は、資材生成部14によって生成される新システムの資材に対して、手作業での補完作業を行う際の補助となる、旧システムと新システムとの対応関係等を含む情報(以下、「レポート」という。)を、新システムモデル生成情報及び中間モデル生成情報に基づいて生成する。なお、レポートの生成方法(生成規則)は、生成規則DB16に記憶されている複数のレポート生成規則に予め定義されている。すなわち、レポート生成部15は、新システムモデル生成情報及び中間モデル生成情報に対して各レポート生成規則を適用してレポートを生成する。
以下、システム移行支援装置10が実行する処理手順について説明する。図4は、旧システム解析部11が実行する処理手順の一例を説明するためのフローチャートである。
ステップS101において、旧システム解析部11は、旧システムのソースファイル及び設定ファイルを入力し、これらのファイルの一覧(以下、「ファイルリスト」という。)を生成する。
続いて、旧システム解析部11は、生成したファイルリストに含まれる全てのファイルについてステップS103以降が実行されたか否かを判定する(S102)。ステップS103以降が実行されていないファイルが有る場合(S102でYes)、旧システム解析部11は、未処理のファイルのうちの1つのファイル(以下、「対象ファイル」という。)を処理対象として、対象ファイルの内容をメモリ装置103に読み込む(S103)。
続いて、旧システム解析部11は、対象ファイルの内容を解析する(S104)。具体的には、旧システム解析部11は、対象ファイルについて、ファイル種別(ソースファイル又は設定ファイル等の種別)に応じた字句解析と構文解析を行い、対象ファイルの内容を計算機での処理に適した木構造のデータに変換する。
続いて、旧システム解析部11は、当該木構造のデータに対して複数の旧システムモデル生成規則を適用して旧システムモデルを生成し、当該旧システムモデルをモデルDB17に記憶する(S105)。
旧システムモデル生成規則とは、ファイル種別、ファイル名に含まれている文字列の共通性、システム上のパスを構成する文字列の共通性、特定のAPIの使用の有無等といった条件によってソースファイル及び設定ファイルを分類し、分類ごとに定められたパラメータを保持したモデル(データ)を旧システムモデルとして生成するための規則が定義されたデータをいい、旧システムの実装を理解している者によって作成される。例えば、当該分類ごとに旧システムモデル生成規則が作成されてもよい。分類ごとにパラメータが定められるのは、分類ごとにパラメータの構成や、パラメータの表現形式が異なり、分類ごとに生成される旧システムモデル(の一部分)のデータ形式が異なる可能性が有るからである。換言すれば、上記における、ファイル種別、ファイル名に含まれている文字列の共通性、システム上のパスを構成する文字列の共通性、特定のAPIの使用の有無等といった条件は、旧システムモデルに変換した際のデータ形式(パラメータの形式)の違いを区分するための条件の一例であり、斯かる観点において他の条件が適切であれば、他の条件に基づいてソースファイル群及び設定ファイル群が分類されてもよい。なお、旧システムモデル生成規則は、旧システムの実装に用いられているプログラミング言語やフレームワークなどの実装技術依存しており、旧システムモデルが保持する各パラメータには特定のプログラミング言語に依存した型(データ)に関する情報や特定のライブラリに依存したAPIの名前などの実装技術に依存した情報を含めることができる。
上記したステップS103~S105が、ファイルリストに含まれる全てのファイルについて実行されると(S102でNo)、旧システム解析部11は処理を終了する。
図5は、中間モデル生成部12が実行する処理手順の一例を説明するためのフローチャートである。
ステップS201において、中間モデル生成部12は、複数の中間モデル生成規則のうち、未適用の一つの中間モデル生成規則(以下、「対象規則」という。)を適用対象として生成規則DB16から取得する。複数の中間モデル生成規則のそれぞれは、相互に旧システムモデルに対する適用箇所(適用部分)が異なる。すなわち、旧システムモデルは、全体にわたって必ずしも統一されたデータ形式で表現されてはいない。例えば、上記の分類に応じて旧システムモデルへの変換後のデータ形式が異なりうる。したがって、例えば、上記の分類ごとに中間モデル生成規則が作成されてもよい。
続いて、中間モデル生成部12は、旧システムモデルのうち、対象規則に対応する箇所(部分)に対象規則を適用して当該部分に対応する中間モデルの一部分を生成し、当該中間モデルの一部分をモデルDB17に記憶する(S202)。
中間モデル生成規則とは、旧システムモデルから静的なデータ構造、処理のアルゴリズム、GUI、画面遷移に関連するパラメータを抽出し、特定の実装技術に依存しない形式でこれらのパラメータを含むモデル(データ)を中間モデルとして生成すると共に、当該中間モデルに関する中間モデル生成情報を生成するための規則が定義されたデータをいい、旧システムの実装を理解している者によって作成される。
続いて、中間モデル生成部12は、対象規則、対象規則が適用された旧システムモデルの箇所(部分)、結果として生成された中間モデルの箇所(部分)を含む中間モデル生成情報を対象規則に基づいて生成し、当該中間モデル生成情報をモデル生成情報DB18に記憶する(S203)。すなわち、当該中間モデル生成情報は、旧システムモデルの当該箇所(当該部分)と、中間モデルの当該箇所(当該部分)との対応関係を示すと共に、当該中間モデルの箇所が、どのような変換処理によって生成されたのかを示す情報である。「どのような変換処理」については、対象規則によって表現されている。なお、ここで、中間モデルの箇所(部分)とは、全ての中間モデル生成規則によって生成される各中間モデルの一部分の集合を一つの中間モデルとして把握した場合における、中間モデルの箇所(部分)をいう。すなわち、各中間モデル生成規則は、最終的に生成される中間モデルの一部分を生成する。したがって、当該箇所(部分)は、ステップS202において生成された中間モデルの一部分である。なお、中間モデルの各箇所(各部分)は、相互にデータ形式が異なってもよい。
全ての中間モデル生成規則に関してステップS201~S203が実行されると(S204でYes)、中間モデル生成部12は、処理を終了する。
図6は、新システムモデル生成部13が実行する処理手順の一例を説明するためのフローチャートである。
ステップS301において、新システムモデル生成部13は、複数の新システムモデル生成規則のうち、未適用の一つの新システムモデル生成規則(以下、「対象規則」という。)を適用対象として生成規則DB16から取得する。複数の新システムモデル生成規則のそれぞれは、相互に中間モデルに対する適用箇所(適用部分)が異なる。すなわち、中間モデルは、全体にわたって必ずしも統一されたデータ形式で表現されてはいない。例えば、上記の分類に応じて中間モデルへの変換後のデータ形式が異なりうる。したがって、例えば、上記の分類ごとに新システムモデル生成規則が作成されてもよい。
続いて、新システムモデル生成部13は、中間モデル及び中間モデル生成情報のそれぞれについて、対象規則に対応する箇所(部分)に対象規則を適用して新システムモデルの一部分を生成し、当該新システムモデルの一部分をモデルDB17に記憶する(S302)。
新システムモデル生成規則とは、中間モデルの静的なデータ構造、処理のアルゴリズム、GUI、画面遷移に関連する各種のパラメータと、中間モデル生成情報として記録されている中間モデルの旧システムにおける実装詳細(旧システムモデルから静的なデータ構造、処理のアルゴリズム、GUI、画面遷移に関連するパラメータ)によって、新システムの構成や使用API等を決定し、それらをパラメータとして保持したモデルを新システムモデルとして生成するための規則が定義されたデータをいい、旧システムの実装及び新システムの実装を理解している者によって作成される。すなわち、新システムモデル生成部13は、中間モデル生成情報のうち、対象規則に対応する箇所(部分)に基づいて、旧システムモデルにおいて、対象規則に対応する箇所を特定する。新システムモデル生成部13は、中間モデルにおいて対象規則に対応する箇所(部分)と、旧システムモデルにおいて対象規則に対応する箇所(部分)に基づいて、新システムモデルの一部分を生成する。ここで、中間モデルのみではなく、中間モデル生成情報に基づいて、旧システムモデルにおいて対象規則に対応する箇所(部分)が直接的に参照される(辿られる)ことで、従来技術では抜け落ちていた旧システムの実装情報詳細を新システムモデルに反映させることができる。例えば、旧システムの実装技術に依存したAPI名等を、新システムの実装技術に依存したAPI名等に変換することができる。
続いて、新システムモデル生成部13は、対象規則、対象規則が適用された中間モデルの箇所(部分)、結果として生成された新システムモデルの箇所(部分)を含む新システムモデル生成情報を対象規則に基づいて生成し、当該新システムモデル生成情報をモデル生成情報DB18に記憶する(S303)。すなわち、当該新システムモデル生成情報は、中間モデルの当該箇所(当該部分)と、新システムモデルの当該箇所(当該部分)との対応関係を示すと共に、当該新システムモデルの箇所(部分)が、どのような変換処理によって生成されたのかを示す情報である。「どのような変換処理」については、対象規則によって表現されている。なお、ここで、新システムモデルの箇所(部分)とは、全ての新システムモデル生成規則によって生成される各新システムモデルの一部分の集合を一つの新システムモデルとして把握した場合における、新システムモデルの箇所(部分)をいう。すなわち、各新システムモデル生成規則は、最終的に生成される新システムモデルの一部分を生成する。したがって、当該箇所(部分)は、ステップS302において生成された新システムモデルの一部分である。なお、新システムモデルの各箇所(各部分)は、相互にデータ形式が異なってもよい。
全ての新システムモデル生成規則に関してステップS301~S303が実行されると(S304でYes)、新システムモデル生成部13は、処理終了する。
図7は、資材生成部14が実行する処理手順の一例を説明するためのフローチャートである。
ステップS401において、資材生成部14は、複数の新システム資材生成規則のうち、未適用の一つの新システム資材生成規則(以下、「対象規則」という。)を適用対象として生成規則DB16から取得する。複数の新システム資材生成規則のそれぞれは、相互に新システムモデルに対する適用箇所(適用部分)が異なる。すなわち、新システムモデルは、全体にわたって必ずしも統一されたデータ形式で表現されてはいない。例えば、上記の分類に応じて新システムモデルへの変換後のデータ形式が異なりうる。したがって、例えば、上記の分類ごとに新システム資材生成規則が作成されてもよい。
続いて、資材生成部14は、対象規則を新システムモデルのうち、対象規則の対応箇所(部分)に対象規則を適用して新システムのソースファイル(ソースコード)及び設定ファイルのそれぞれの一部分を生成する(S402)。生成されたソースファイル及び設定ファイルのそれぞれの一部分は、例えば、補助記憶装置102等に記憶される。
新システム資材生成規則とは、新システムモデルの保持するソースファイル及び設定ファイルの構成や使用APIに関する情報を利用し、新システムのソースファイル及び設定ファイルの内容を文字列として生成するための規則が定義されたデータをいう。資材生成部14は、生成した文字列を、新システムモデルの保持するファイル名やファイルパス等の情報を使用して、新システムのソースファイル又は設定ファイルとしてファイル出力する。
全ての新システム資材生成規則に関してステップS401及びS402が実行されると(S403でYes)、資材生成部14は、処理を終了する。
図8は、レポート生成部15が実行する処理手順の一例を説明するためのフローチャートである。
ステップS501において、レポート生成部15は、複数のレポート生成規則のうち、未適用の一つのレポート生成規則(以下、「対象規則」という。)を適用対象として生成規則DB16から取得する。複数のレポート生成規則のそれぞれは、相互に新システムモデル生成情報に対する適用箇所(適用部分)が異なる。すなわち、新システムモデル生成情報は、全体にわたって必ずしも統一されたデータ形式で表現されてはいない。例えば、上記の分類に応じて新システムモデル生成情報への変換後のデータ形式が異なりうる。したがって、例えば、上記の分類ごとにレポート生成規則が作成されてもよい。
続いて、レポート生成部15は、モデル生成情報DB18に記憶されている新システムモデル生成情報及び中間モデル生成情報のうち、対象規則に対応する箇所(部分)に対象規則を適用してレポートの一部分を生成する(S502)。
レポート生成規則とは、新システムモデル生成情報に含まれる、新システムモデルの一部分の生成元となった中間モデルの箇所(部分)や、当該中間モデルの箇所(部分)に適用された新システムモデル生成規則と、当該中間モデルの箇所(部分)の生成元となった旧システムモデルの箇所(部分)と当該旧システムモデルの箇所(部分)に適用された中間モデル生成規則に基づいて、新システム(の各部分)と旧システム(の各部分)との対応関係を示す情報や、新システムソースファイル及び設定ファイルに対して手作業で補完を行う際の作業内容や予想される作業の量を示す情報を含むレポートを生成するための規則が定義されたデータをいい、旧システム及び新システムのそれぞれの実装を理解している者によって作成される。
ステップS502では、新システムモデルのうち、対象規則に対応する箇所(部分)と、旧システムモデルのうち、対象規則に対応する箇所(部分)との対応関係が特定される。旧システムモデルのうち、対象規則に対応する箇所(部分)は、新システムモデル生成情報のうち、対象規則に対応する箇所(部分)に基づいて特定される中間モデル生成情報の箇所(部分)を参照することによって特定可能である。すなわち、当該中間モデル生成情報の箇所(部分)には、当該箇所(部分)に対応する中間モデルの箇所(部分)に対応する中間モデル生成情報が適用された旧システムモデルの箇所(部分)を示す情報が含まれている。
全てのレポート生成規則に関してステップS501及びS502が実行されると(S503でYes)、レポート生成部15は、各レポートの一部分を統合してファイルとして出力する(S504)。
上述したように、本実施の形態によれば、中間モデルの生成時に、中間モデルと旧システムモデルとの対応関係を示す中間モデル生成情報が生成され、新システムモデルの生成時には、中間モデル生成情報に基づいて特定される中間モデルと旧システムモデルとの対応関係を利用して新システムモデルを生成することができる。したがって、移行先のシステムにおける移行元のシステムの動作の再現性を向上させることができる。
また、旧システムモデルと新システムモデルとの対応関係等を示すレポートが出力されることで、人間の手による補完作業の効率化を期待することができる。
なお、本実施の形態において、旧システムモデルは、第1のデータの一例である。中間モデルは、第2のデータの一例である。中間モデル生成情報は、第1の対応情報の一例である。新システムモデルは、第3のデータの一例である。新システムモデル生成情報は、第2の対応情報の一例である。旧システム解析部11は、第1の生成部の一例である。中間モデル生成部12は、第2の生成部の一例である。新システムモデル生成部13は、第3の生成部の一例である。レポート生成部15は、第4の生成部の一例である。
以上、本発明の実施の形態について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
10 システム移行支援装置
11 旧システム解析部
12 中間モデル生成部
13 新システムモデル生成部
14 資材生成部
15 レポート生成部
16 生成規則DB
17 モデルDB
18 モデル生成情報DB
100 ドライブ装置
101 記録媒体
102 補助記憶装置
103 メモリ装置
104 CPU
105 インタフェース装置
B バス

Claims (6)

  1. 移行元のシステムの資材を構成する複数のファイルに関する所定条件に基づく分類ごとに、当該分類に関して定義された第1の生成規則に基づいて当該分類に係る前記ファイルから前記移行元のシステムの動作に関する情報を前記移行元のシステムの実装技術に依存した形式で示す第1のデータを生成する第1の生成部と、
    前記分類ごとに、当該分類に係る前記第1のデータに対して当該分類に関して定義された第2の生成規則を適用して、前記動作に関する情報を特定の実装技術にも依存しない形式で示す第2のデータを生成すると共に当該分類に係る前記第1のデータと当該分類に係る前記第2のデータとの対応関係を示す第1の対応情報を生成する第2の生成部と、
    前記分類ごとに、前記第1の対応情報を参照して当該分類に係る前記第2のデータに対応する前記第1のデータを特定し、当該分類に関して定義された第3の生成規則を当該第2のデータと特定した前記第1のデータと適用して、前記動作に関する情報を移行先のシステムの実装技術に依存した形式で示す第3のデータを生成する第3の生成部と、
    を有することを特徴とするシステム移行支援装置。
  2. 前記第3の生成部は、前記分類ごとに、当該分類に係る前記第2のデータと当該分類に係る前記第3のデータとの対応関係を示す第2の対応情報を生成し、
    前記第2の対応情報及び前記第1の対応情報に基づいて、前記移行先のシステムと前記移行元のシステムとの対応関係を示す情報を生成する第4の生成部、
    を有することを特徴とする請求項1記載のシステム移行支援装置。
  3. 移行元のシステムの資材を構成する複数のファイルに関する所定条件に基づく分類ごとに、当該分類に関して定義された第1の生成規則に基づいて当該分類に係る前記ファイルから前記移行元のシステムの動作に関する情報を前記移行元のシステムの実装技術に依存した形式で示す第1のデータを生成する第1の生成手順と、
    前記分類ごとに、当該分類に係る前記第1のデータに対して当該分類に関して定義された第2の生成規則を適用して、前記動作に関する情報を特定の実装技術にも依存しない形式で示す第2のデータを生成すると共に当該分類に係る前記第1のデータと当該分類に係る前記第2のデータとの対応関係を示す第1の対応情報を生成する第2の生成手順と、
    前記分類ごとに、前記第1の対応情報を参照して当該分類に係る前記第2のデータに対応する前記第1のデータを特定し、当該分類に関して定義された第3の生成規則を当該第2のデータと特定した前記第1のデータと適用して、前記動作に関する情報を移行先のシステムの実装技術に依存した形式で示す第3のデータを生成する第3の生成手順と、
    をコンピュータが実行することを特徴とするシステム移行支援方法。
  4. 前記第3の生成手順は、前記分類ごとに、当該分類に係る前記第2のデータと当該分類に係る前記第3のデータとの対応関係を示す第2の対応情報を生成し、
    前記第2の対応情報及び前記第1の対応情報に基づいて、前記移行先のシステムと前記移行元のシステムとの対応関係を示す情報を生成する第4の生成手順、
    をコンピュータが実行することを特徴とする請求項3記載のシステム移行支援方法。
  5. 移行元のシステムの資材を構成する複数のファイルに関する所定条件に基づく分類ごとに、当該分類に関して定義された第1の生成規則に基づいて当該分類に係る前記ファイルから前記移行元のシステムの動作に関する情報を前記移行元のシステムの実装技術に依存した形式で示す第1のデータを生成する第1の生成手順と、
    前記分類ごとに、当該分類に係る前記第1のデータに対して当該分類に関して定義された第2の生成規則を適用して、前記動作に関する情報を特定の実装技術にも依存しない形式で示す第2のデータを生成すると共に当該分類に係る前記第1のデータと当該分類に係る前記第2のデータとの対応関係を示す第1の対応情報を生成する第2の生成手順と、
    前記分類ごとに、前記第1の対応情報を参照して当該分類に係る前記第2のデータに対応する前記第1のデータを特定し、当該分類に関して定義された第3の生成規則を当該第2のデータと特定した前記第1のデータと適用して、前記動作に関する情報を移行先のシステムの実装技術に依存した形式で示す第3のデータを生成する第3の生成手順と、
    をコンピュータに実行させることを特徴とするプログラム。
  6. 前記第3の生成手順は、前記分類ごとに、当該分類に係る前記第2のデータと当該分類に係る前記第3のデータとの対応関係を示す第2の対応情報を生成し、
    前記第2の対応情報及び前記第1の対応情報に基づいて、前記移行先のシステムと前記移行元のシステムとの対応関係を示す情報を生成する第4の生成手順、
    をコンピュータに実行させることを特徴とする請求項5記載のプログラム。
JP2018191169A 2018-10-09 2018-10-09 システム移行支援装置、システム移行支援方法及びプログラム Active JP7131277B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2018191169A JP7131277B2 (ja) 2018-10-09 2018-10-09 システム移行支援装置、システム移行支援方法及びプログラム
US17/283,515 US12118383B2 (en) 2018-10-09 2019-09-27 System migration support apparatus, system migration support method and program to enhance reproducibility of migration destination system
PCT/JP2019/038203 WO2020075532A1 (ja) 2018-10-09 2019-09-27 システム移行支援装置、システム移行支援方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018191169A JP7131277B2 (ja) 2018-10-09 2018-10-09 システム移行支援装置、システム移行支援方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2020060919A JP2020060919A (ja) 2020-04-16
JP7131277B2 true JP7131277B2 (ja) 2022-09-06

Family

ID=70163797

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018191169A Active JP7131277B2 (ja) 2018-10-09 2018-10-09 システム移行支援装置、システム移行支援方法及びプログラム

Country Status (3)

Country Link
US (1) US12118383B2 (ja)
JP (1) JP7131277B2 (ja)
WO (1) WO2020075532A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4130322A1 (en) 2020-03-30 2023-02-08 NIPPON STEEL Stainless Steel Corporation Austenitic stainless steel
CN112463344B (zh) * 2020-12-17 2023-12-08 中国农业银行股份有限公司 一种数据分析方法及装置
JP7138747B1 (ja) * 2021-06-15 2022-09-16 三菱電機株式会社 移行支援装置、移行支援方法及び移行支援プログラム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016193433A1 (en) * 2015-06-05 2016-12-08 Deutsche Telekom Ag A system and method for facilitating migration of server infrastructure services

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CONSENTINO, Valerio. ほか,A Model Driven Reverse Engineering Framework for Extracting Business Rules out of a Java Application,HAL [オンライン],2012年11月21日,[検索日 2022.02.03], インターネット: <URL: https://hal.inria.fr/hal-00755010/document>
FLEUREY, Franck ほか,Model-Driven Engineering for Software Migration in a Large Industrial Context,HAL [オンライン],2010年04月29日,[検索日 2022.02.03], インターネット: <URL: https://hal.inria.fr/inria-00477566/document>

Also Published As

Publication number Publication date
US20210389977A1 (en) 2021-12-16
JP2020060919A (ja) 2020-04-16
WO2020075532A1 (ja) 2020-04-16
US12118383B2 (en) 2024-10-15

Similar Documents

Publication Publication Date Title
JP7131277B2 (ja) システム移行支援装置、システム移行支援方法及びプログラム
JP2017062767A5 (ja)
JP6903755B2 (ja) データ統合ジョブ変換
CN111104103B (zh) 一种软件编辑微服务的可视化方法及系统
KR20100071361A (ko) Autosar 응용 소프트웨어의 소프트웨어 구조 모델링도구를 위한 프로젝트 관리 장치 및 방법 그리고 이를 위한 프로그램을 기록한 컴퓨터로 판독 가능한 기록매체
JP2007122135A (ja) 開発支援装置、開発支援方法、および、開発支援プログラム
JPWO2020008991A1 (ja) 検証自動化装置、検証自動化方法、およびプログラム
JP5602871B2 (ja) 照会リネージの自動生成のための方法、システム、およびコンピュータ・プログラム
US9244706B2 (en) Command line shell command generation based on schema
JPWO2013168495A1 (ja) 階層型確率モデル生成システム、階層型確率モデル生成方法、およびプログラム
CN110134434B (zh) 一种应用生成处理方法及系统、应用生成系统
WO2023109648A1 (zh) 一种模型-代码同步方法
JP2011515755A (ja) 予約されたコンポーネントコンテナ基盤ソフトウェアの開発方法及び装置
JP5041990B2 (ja) ソフトウェア部品抽出支援装置
JP4660381B2 (ja) 計算機システムの性能評価装置、性能評価方法、及び性能評価プログラム
JP7251650B2 (ja) 変換装置、変換方法及びプログラム
JP2013161219A (ja) コード生成装置、及びコード生成プログラム
JP6981124B2 (ja) システム構築支援装置、システム構築支援方法、及びプログラム
JP2007004327A (ja) プロジェクト管理装置及びプロジェクト管理方法及びプロジェクト管理プログラム
JP2016042317A (ja) ソフトウェア設計支援装置、および方法
KR20200113831A (ko) 컴포넌트 개발 장치 및 방법
JP7328922B2 (ja) 設定装置、設定方法、及びプログラム
JP7513116B2 (ja) コールグラフ作成装置、コールグラフ作成方法及びプログラム
JP2011165051A (ja) 開発支援装置及び方法並びにプログラム
JPWO2009128465A1 (ja) サービス変更部品生成システム、方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210125

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220222

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220421

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220808

R150 Certificate of patent or registration of utility model

Ref document number: 7131277

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150