JP2009009362A - プログラムの変数管理システム - Google Patents

プログラムの変数管理システム Download PDF

Info

Publication number
JP2009009362A
JP2009009362A JP2007170155A JP2007170155A JP2009009362A JP 2009009362 A JP2009009362 A JP 2009009362A JP 2007170155 A JP2007170155 A JP 2007170155A JP 2007170155 A JP2007170155 A JP 2007170155A JP 2009009362 A JP2009009362 A JP 2009009362A
Authority
JP
Japan
Prior art keywords
variable
transition
page
program
management table
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.)
Pending
Application number
JP2007170155A
Other languages
English (en)
Inventor
Atsuhiro Watanabe
淳弘 渡邉
Takaaki Sakata
孝昭 坂田
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 Information Systems Ltd
Original Assignee
Hitachi Information Systems 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 Information Systems Ltd filed Critical Hitachi Information Systems Ltd
Priority to JP2007170155A priority Critical patent/JP2009009362A/ja
Publication of JP2009009362A publication Critical patent/JP2009009362A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

【課題】使用言語が異なるものを含む複数のアプリケーションプログラムで定義される変数の、ページ遷移に伴う値の受渡しを実行すると共に、その記録性を良くする。
【解決手段】リンク解析部(101)は、ページ遷移を伴う手続き毎に、変数の遷移元情報と遷移先情報とをリンク管理テーブルに記録する。変数解析部(102)は、前記変数の定義情報を変数管理テーブルに記録する。変数インタフェース(107)は、前記ページ遷移のページ間で、前記変数の値の引渡し処理及び/又は代入処理を行う。ユーザインタフェース(106)は、前記変数の引渡し処理及び/又は代入処理における情報の流れを含めたページ遷移に関する情報を表示出力する。
【選択図】図1

Description

本発明はプログラムの変数管理システムに係り、特に、プログラム言語に依存しないでページ遷移に連動したアプリケーションプログラムの変数管理を可能にするプログラムの変数管理システムに関する。
従来、既存のコンピュータシステムや、オープンにされたソースなど、他者が開発したシステムや資源の改良を行う場合、変更箇所を特定すると共に、当該変更箇所と、その他の変更無しの箇所との整合性を維持する必要があり、このため、システム全体の基本的な構成と、変更箇所の詳細な構成とを承知しておく必要があった。
なお、初めて開発を行う開発対象に対しても、プログラム内の変数や、ページ遷移を、統括して管理できる方法があると、大人数による大規模なシステム開発においても、前述の整合性のチェックが容易になり、開発効率を向上させることができる。
そこで、このようなページ遷移と変数管理方法を採用することによる開発効率の向上を意図して、例えば、ウェブ上のアプリケーションプログラムについて、その機能グループ単位で変数を管理し、更に変数の自動削除手段を付加することにより、開発効率を向上させるフレームワークなどが提案されている(例えば、特許文献1参照。)。
特開2004−171492号公報
しかしながら、上記背景技術で述べた従来のプログラムの変数管理システムにあっては、例えば、前述の特許文献1で示された手法の場合、機能単位でグループ化されたウェブ上のアプリケーションプログラム(以下、「アプリケーション」と略称する)については、使用される変数を管理(例えば、保持や削除)することが可能にはなるが、グループの枠を超えて、グループ間で共用される変数を管理することは不可能であるという問題点があった。
例えば、異なるプログラミング言語によって定義され、複数のウェブアプリケーションで共用されるグローバルな変数や、異なるウェブアプリケーションに引渡される変数などは管理できなかった。
このため、複数のプログラミング言語を利用する可能性のあるウェブアプリケーションの開発においては、全体の整合性を保つために、ページ遷移や、ビジネスロジックの呼び出しに伴う変数の定義や引渡しの仕様を予め把握しておくことが不可欠となっており、このようなシステムを開発する際の阻害要因となっていた。
本発明は、上記従来の問題点に鑑みてなされたものであって、使用言語が異なるものを含む複数のアプリケーションプログラムで定義される変数の、ページ遷移に伴う値の受渡しを実行することができるプログラムの変数管理システムを提供することを目的としている。
本発明の他の目的は、使用言語が異なるものを含む複数のアプリケーションプログラムの各々についてのページ遷移や、ページ遷移に伴う値の受渡しの実行情報を表示出力することで、ページ遷移箇所を含むアプリケーションプログラムの記録性を良好にして、大規模システムの開発効率の向上に資することにある。
上記課題を解決するために、本発明は、言語の異なる複数のプログラムの各々で定義された変数、又は前記複数のプログラム間で共通に定義された変数の、ページ遷移に伴う値の受渡しを管理するプログラム変数管理システムであって、前記プログラムのページ遷移を伴う手続き毎に、変数の遷移元情報と遷移先情報とをリンク管理テーブルに記録するリンク解析手段と、前記変数の定義情報を変数管理テーブルに記録する変数解析手段と、前記ページ遷移前後のページ間で、前記変数の値の引渡し処理及び代入処理のうち少なくとも一方を行う変数インタフェース手段と、前記変数の引渡し処理及び代入処理に関する情報を含むページ遷移に関する情報を出力するユーザインタフェース手段と、を備えたことを特徴とするプログラムの変数管理システムを提供するものである。
ここで、前記プログラムの変数管理システムにおいて、前記リンク解析手段は、システム起動時、前記プログラムを格納するファイルの作成時、前記ファイル作成後の一定周期毎のうち少なくとも1つのタイミングで、前記全てのファイルを処理対象として読み込むことを特徴とする。
また、前記プログラムの変数管理システムにおいて、前記変数解析手段は、システム起動時、前記プログラムを格納するファイルの作成時、前記ファイル作成後の一定周期毎のうち少なくとも1つのタイミングで、前記全てのファイルを処理対象として読み込むことを特徴とする。
また、前記プログラムの変数管理システムにおいて、前記変数解析手段は、前記ユーザインタフェース手段と連携して前記プログラムにおける前記変数の出現箇所と取扱方法とを抽出した後、当該変数の定義情報を変数管理テーブルに記録することを特徴とする。
また、前記プログラムの変数管理システムは、前記複数のプログラム間で共通に定義された変数の定義情報については、別途、共有変数管理テーブルに記録して管理することを特徴とする。
また、前記プログラムの変数管理システムにおいて、前記変数インタフェース手段は、前記変数管理テーブルに記録された変数の参照可能範囲に基づき、当該変数を、前記複数のアプリケーションの各々の言語表現でアクセス可能な形式に変換することを特徴とする。
また、前記プログラムの変数管理システムは、前記ページ遷移に関する情報として、遷移元ページ、遷移先ページ、遷移元引数、当該遷移元引数に対応した遷移先引数、グローバル変数を含む遷移元共通変数、当該遷移元共通変数に対応した遷移先共通変数、変数定義箇所、変数使用箇所、及び変数使用箇所の属性のうち少なくとも1つを管理テーブルに記録することを特徴とする。
さらに、前記プログラムの変数管理システムにおいて、前記ユーザインタフェース手段は、前記変数が特定のものである場合、前記変数解析手段を介してページ内での前記変数の使用状況を調べることを可能とすることを特徴とする。
上記した本発明のプログラムの変数管理システムにおいて、リンク解析手段は、ページ遷移を表す特定文字列を辿ってリンク管理テーブルを作成することでページ遷移を自動的に認識するので、本システムの使用に際しては、事前の処理や、特段の追加処理が不要となる。
また、変数解析手段は、変数の定義場所と定義内容とをテーブルに纏め、変数の使用箇所を自動的に検索するので、人手によって予め指定することを不要にしている。
また、本発明の、変数インタフェース手段は、複数言語間で共通の変数を用いるための自動的な変換手段となるので、異種言語を使用する厄介なアプリケーションの連結を容易にしている。
さらに、ユーザインタフェース手段は、ページ遷移と変数管理との状況を表示するので、ページ遷移に伴う変数の引渡状況を容易に視認することを可能にしている。
また、本発明では、リンク管理テーブル、変数管理テーブル、共通変数管理テーブルを設け、リンク解析手段が解析したページ遷移と、変数管理手段が解析した変数とを、それぞれテーブルとして管理し、ユーザインタフェース手段において、両者を関連付けて表示するので、アプリケーションの構造を理解し易くすると共に、アプリケーションを統合する大規模なシステムの開発効率を高めることを可能にしている。
さらに、本発明では、アプリケーションで定義される変数を、開発言語及び参照可能範囲と共に管理すると共に、ページ遷移の際に、前述のユーザインタフェース手段を介して、当該変数を、各アプリケーションを記述する言語に適した形に変換するので、これにより、複数言語に跨がるアプリケーションの開発を容易にしている。
以上説明したように、本発明のプログラムの変数管理システムによれば、ページ遷移を管理することでアプリケーションの構造を把握し易くし、さらに変数管理をページ遷移と関連付けて行うことで、アプリケーションの拡張性及び保守性を向上させることができる効果がある。
また、リンク解析部により解析したページ遷移と、変数管理部により解析した変数とをテーブルとして管理し、両者を関連付けるユーザインタフェース手段を設けることにより、多言語のアプリケーションで定義された変数であっても、いずれの言語のアプリケーションからも引数として受け取れるようになるので、開発者が得意な言語で記述できるようになり、よって、開発効率を向上させることができる効果がある。
加えて、異なる言語で記述されたアプリケーション同士の連結も容易になり、システムの開発効率の向上と、拡張性の向上に大幅に貢献する効果がある。
本発明に係るプログラムの変数管理システムは、ページ遷移の管理と変数管理とを連携して行って、変数の共有手段を提供し、ページ遷移と変数の各情報をユーザに表示する手段を提供する。アプリケーションのページ遷移や、ビジネスロジックの呼出を監視することで、アプリケーションの構成を把握して改良を容易にすると共に、変数を統括管理してアプリケーションの変更による影響を開発者に容易に認識させる。また、複数のインタフェースを設けることにより、複数言語を用いたアプリケーションの構築を可能にし、更に、その効果により、アプリケーションの連結作業を容易にするものである。
以下、本発明のプログラムの変数管理システムの最良の実施形態について、図面を参照して詳細に説明する。
図1は、本発明の実施形態に係るプログラムの変数管理システムの全体構成を示す構成図である。
同図において、本実施形態のプログラムの変数管理システムは、リンク管理テーブル(103)と、変数管理テーブル(104)と、アプリケーションのページ遷移と変数情報を分析してリンク管理テーブル(103)と変数管理テーブル(104)とを作成・管理するリンク解析部(101)(リンク解析手段)及び変数解析部(102)(変数解析手段)と、共有変数テーブル(105)と、他言語間で共有する変数と共有変数テーブル(105)との間を仲介するユーザインタフェース(106)(ユーザインタフェース手段)と、前記各管理テーブルを用いて変数変換を行ってページ間の変数共有を可能にする変数インタフェース(107)(変数インタフェース手段)と、を備えて構成される。
以下、本実施形態に係るプログラムの変数管理システムの機能を説明する。
図1に示す構成において、リンク解析部(101)と変数解析部(102)は、アプリケーションのページ遷移と変数情報を分析し、リンク管理テーブル(103)及び変数管理テーブル(104)を作成・管理することでページ遷移と変数の統合管理を実現する。
また、リンク管理テーブル(103)と変数管理テーブル(104)の情報は、ユーザインタフェース(106)を介して他言語間で共有する変数の関係を入力することで共有変数テーブル(105)が作成される。
インタフェース(107)は、これら各管理テーブルを用いて変数変換を行い、ページ間の変数共有を可能にする。
に、ユーザインタフェース(106)は、各管理テーブルからユーザに必要な管理情報の抽出を行うと共に、その表示を行う。
本実施形態に係るプログラムの変数管理システムの機能を実現するに際しては、まずはリンク解析部(101)と、変数解析部(102)と、変数インタフェース(107)と、ユーザインタフェース(106)をデータベースにアクセスできるように、かつ相互にアクセスできるように作成しなければならない。
リンク解析部(101)は、アプリケーションを定義するファイルを監視し、システム起動時とファイル作成時、若しくは前記ファイル作成後の一定周期毎に、前記全てのファイルを読み込み、ページ遷移をテーブルとしてデータベースに格納する。
解析部(102)は、指定されたフォルダ内にあるアプリケーション上で使用される変数を、起動時とファイル作成および変更時、あるいは一定周期で全ての変数をデータベースにテーブルとしてリストアップする。また、変数解析部(102)はユーザインタフェース(106)と連携して、ユーザが求める変数の使用箇所と使用方法を検索することができる。
(106)は、ページ遷移(あるいは、変数の引渡しや代入などの情報を含めたページ遷移)が、ユーザに理解できるように可視化する。このため、特定の変数などは、ユーザに必要な情報を抽出する際、変数解析部(102)を使用してページ内での変数の使用状況を調べる。
インタフェース(107)は、変数管理テーブルによって管理された参照可能範囲に基づき、それぞれの言語でアクセス可能な形式に変換する。これにより、他言語間での変数の共有が可能となり、開発効率の向上と、アプリケーションの拡張性とを実現することができる。
図2は、本実施形態に係るプログラムの変数管理システムのテーブル構成例を示す説明図であり、図2(a)はリンク管理テーブル(103)、図2(b)は変数管理テーブル(104)、図2(c)は共有変数管理テーブル(105)の、1構成例をそれぞれ示すものである。
(a)に示すリンク管理テーブル(103)と、図2(b)に示す変数管理テーブル(104)とは、いずれもリンク解析部(101)と変数解析部(102)とにより作成・管理されたものである。また、図2(c)に示す共有変数テーブル(105)は、ユーザインタフェースを介して入力され、作成された共有変数の関係を示すものである。
(a)に示すリンク管理テーブル(103)は、識別番号、遷移元情報、遷移先情報、および遷移する方法を示す情報で構成されている。識別番号(#)は、リンクを一意に識別するために自動的に付与されるキーとなる。遷移元情報は、遷移元となるページの物理的なファイル名である「遷移元ファイル」と、遷移元ページの種別を表す「遷移元形式」と、遷移元から引き渡す変数を格納するための変数管理テーブルの要素を一意に識別する「遷移元変数#」の各項目で構成される。
情報も同様に、遷移先となるページの物理的なファイル名である「遷移先ファイル」と、遷移先ページの種別を表す「遷移先」と、遷移先に引き渡された変数を格納するための変数管理テーブルの要素を一意に識別する「遷移先変数#」の各項目で構成される。
前述の遷移する方法については、図2(a)に示す例では「種別」の列で表現され、これにより、遷移元から遷移先にどのように遷移が行われるかを示している。例えば、リンクであれば、ハイパーテキストをたどって、変数をPOSTで引き渡す。移行であれば、JSPのリダイレクト機能で変数を引き渡す。といったように、遷移の種別によって異なる、所定の変数の引渡し方法を判別するために用いられる。
図2(b)に示す変数管理テーブル(104)には、識別番号(#)、変数名、変数等を定義する情報である「変数名」と、ページの物理ファイルを示す「定義ファイル名」と、そのページの記述言語を示す「言語」の項目と、「スコープ」と呼ばれる変数の参照可能範囲の情報項目とが含まれる。
ここで、「スコープ」とは、例えば、その項目値が「Session」の場合は、利用者が張るセッションごとに管理される変数であり、利用者は何処からでもアクセス可能であり、また、項目値が「Request」の場合は、一度の利用要求に限って参照可能な変数であることを示すといったように、変数の参照範囲を示す情報のことである。
図2(b)に示す変数管理テーブル(104)で定義された当該変数は、リンク管理テーブル(103)の、遷移元、遷移先の変数#を示す情報と関連づけられているので、リンク管理テーブル(103)と変数管理テーブル104)とを参照して、ページの構成をトレースすることができる。
図2(c)に示す共有変数管理テーブル(105)は、変数管理テーブルと同様の情報を格納するが、グループ列が追加されている。ここでのグループとは、アプリケーション内で共有すべき変数の属する言語を意味しており、一つの言語につき一つの変数が属するものとする。共有変数はアプリケーション内で透過的に参照できる「GLOBAL」をスコープに有し、アプリケーションの種別ごとにグルーピングされているといったイメージである。以上のテーブルは、用途に沿って適宜拡張、追加されるべきものである。変数の行数を格納する、遷移先、遷移元でテーブルを正規化する等の変更を行って拡張することも可能である。
次に、本発明を構成する機能要素について説明する。
図3は、変数解析部(102)が変数管理テーブル(104)を作成する処理の動作を示すフローチャート図である。
ここで、変数解析部(102)には、アプリケーションが定義されている全てのフォルダ、及びこのフォルダ内の全てのファイルの内、あらかじめ初期読み込みすべきフォルダと、当該フォルダ内のファイルとが、アクセス可能に指定されているものとする。
まず、変数解析部(102)は、指定された初期読み込みファイルを設定ファイルとして決定する(ステップS1)。
次に、変数解析部(102)は、この設定ファイルとして決定されたファイルを読み込み、その変数定義部で定義された変数を検索し、この変数とスコープとをリストアップする(ステップS2)。
次に、変数解析部(102)は、リストアップ項目の有無を検証し、リストアップ項目が無ければステップS4に進み、リストアップ項目が有ればステップS6に移る(ステップS3)。
ステップS4では、変数解析部(102)は、検索フォルダ内の他の未検索のファイルを探し、未検索のファイルが有ればステップS5に進み、未検索のファイルが無ければ変数管理テーブル(104)を作成する処理を終了する。
ステップS5では、変数解析部(102)は、未検索のファイルが有る場合の処理として、その設定を行い、それについて変数の検索を行うためにステップS2に戻る。
一方、ステップS6では、変数解析部(102)は、リストアップ項目が有る場合の処理として、変数管理テーブル(104)に対して、同じ変数名と、定義ファイル名とを指定した検索を行い、その結果、変数管理テーブル(104)に同じ変数名と、定義ファイル名とが無い場合はステップS7にて変数をテーブルに格納(即ち追加)した後、ステップS4に移る。さもなくて、変数管理テーブル(104)に同じ変数名と、定義ファイル名とが有る場合は何もしないで直ちにステップS4に移る(ステップS6)。
これにより、変数解析部(102)は、設定されたフォルダから、検索していないファイルを見つけ出し、そのファイルで変数検索し、未登録のものを変数管理テーブル(104)に追加していく。これをアプリケーションが定義されている全てのフォルダ内の全てのファイルに対して実行する。
図5は、プログラム(java)内における変数の定義情報の1例を示す説明図である。
同図において、四角の枠で囲まれた部分に示す一連のテキストが、変数解析部が検索する変数の定義である。これらの定義は、アプリケーションが使用するプログラミング言語に特有の形式で定義されるものであり、変数解析部(102)は、このプログラミング言語に特有の定義方法を参照して、その意味を解読し、定義されている変数(ここでは7つ)を探し出す。
図4は、リンク解析部(101)がリンク管理テーブル(103)を作成する処理の動作を示すフローチャート図である。
ここでも、リンク解析部(101)には、アプリケーションが定義されている全てのフォルダ、及びこのフォルダ内の全てのファイルの内、あらかじめ初期読み込みすべきフォルダと、当該フォルダ内のファイルとが、アクセス可能に指定されているものとする。
まず、リンク解析部(101)は、指定された初期読み込みファイルを設定ファイルとして決定する(ステップS21)。
次に、リンク解析部(101)は、この設定ファイルとして決定されたファイルを読み込み、リンク文字列(より具体的には、遷移元、遷移先の変数・ページ情報)を検索し、このリンク文字列をリンク情報としてリストアップする(ステップS22)。
次に、リンク解析部(101)は、リストアップ項目の有無を検証し、リストアップ項目が無ければステップS24に進み、リストアップ項目が有ればステップS26に移る(ステップS23)。
ステップS24では、リンク解析部(101)は、検索フォルダ内の他の未検索のファイルの有無を検証し、未検索のファイルが無ければステップS25に進み、未検索のファイルが有ればステップS28に移る。
ステップS25では、リンク解析部(101)は、未検索のファイルが無い場合の処理として、リンク管理テーブル(103)に基づいて遷移先ページでの変数(プログラム用語では「引数」と呼ばれる)を検索してリンク管理テーブル(103)を更新し、リンク管理テーブル(103)を作成する処理を終了する。
ステップS28では、リンク解析部(101)は、未検索のファイルが有る場合の処理として、リンク管理テーブル(103)に記述済のファイルの内、未検索のファイルを選択し、次の設定ファイルとして決定した後、ステップS22に戻る。
一方、ステップS26では、リンク解析部(101)は、リストアップ項目が有る場合の処理として、リンク管理テーブル(103)に対して、同じ文字列(遷移元、遷移先の変数・ページ情報)の検索を行い、その結果、リンク管理テーブル(103)に同じ文字列が無い場合はステップS27にて、この文字列をリンク管理テーブル(103)に格納(即ち追加)した後、ステップS24に移る。さもなくて、リンク管理テーブル(103)に有る場合は何もしないで直ちにステップS24に移る(ステップS26)。
図6は、プログラム(JSP)の一部分におけるリンク文字列の1例を示す説明図である。
同図において、四角の枠で囲まれた部分に示す一連のテキストが、リンク解析部(101)が検索するリンクの定義である。これらもプログラミング言語特有の形式で定義されるものであり、リンク解析部(101)は、このプログラミング言語に特有の定義方法を参照して、その意味を解読し、定義されているリンク定義(ここでは2つ)を探し出す。
図7は、変数インタフェース(107)がページ間で変数の値を引き渡す処理の動作を示すフローチャート図である。
ここで、変数インタフェース(107)(図1)とは、変数間での値の引渡しをサポートし、他言語でのアプリケーション開発を可能にする手段である。
例えば、JSPページからJSPページへの遷移などのように、同種の言語で書かれたページ遷移の場合は、変数インタフェース(107)は、特別な処理をすることなく変数間で値を引き渡すことができる。一方、JSPページからPHPページといったように、或る言語で書かれたページから、異なる言語で書かれたページに遷移する場合、JSPの変数としてメモリに格納されている変数を、PHPの変数に変換してメモリに書き込まなければならない。
アプリケーションの実行中、クライアントの事情により、変数変換の要求が発生すると、まず、変数インタフェース(107)は、他ページへの遷移を伴う変数変換の要求であるか否かを検証し、他ページへの遷移を伴う変数変換の要求の場合はステップS33に移り、他ページへの遷移を伴わない変数変換の要求の場合はステップS32に進む(ステップS31)。
ステップS32では、変数インタフェース(107)は、変数変換が要求されたページを表示する。
ステップS33では、変数インタフェース(107)は、遷移元のページが書かれている言語に基づいて定義されている変数を引き出すと共に、遷移先のページで当該変数の定義を書き込むページ(以下、「ページA」とする)を作成する。次に、変数インタフェース(107)は、ページAに書かれた定義に基づいて、遷移元ページの変数値を読み込み、遷移先ページの言語で定義するページ(以下、「ページB」とする)を記述する(ステップS34)。
次に、変数インタフェース(107)は、ページBを実行し、遷移元のページと同期をとり、その後、ステップ32に移る(ステップS35)。
図8は、変数インタフェース(107)がページ間で変数の値を引き渡す処理のシステム構成を示す説明図である。
同図では、まず、JSPで記述されたページAをクライアント1が閲覧しているものとする。ページA上のリンクから、PHPで記述されたページDが要求され、サーバ2にページ要求を出す。要求を受け取ったサーバ2上では、本発明のプログラムの変数管理システムが起動しており、本システムは、JSPで用いているグローバル変数を読み込み、共有変数テーブル(105)から、同じグループに属する変数をPHPのグローバル変数として格納するPHPファイルを作成するためのJSPページBを自動作成する。なお、共有変数テーブル(105)は、ユーザインタフェース(106)を介して、あらかじめ入力されているものとする。
ページBを実行すると、グローバル変数aが読み込まれ、それをPHPのグローバル変数として定義するPHPページCが自動作成される。そして、ページCを実行すると、PHPのグローバル変数として、aの値がメモリ21に格納される。他言語で記述されたページに遷移する際にこの操作を行うことで、それぞれの言語間でグローバル変数の同期をとることができ、変数の共有が実現されたことになる。
ユーザインタフェース(106)は、リンク管理テーブル(103)に記述されたページ遷移を可視化する(目視できるようにする)。例えば、ページを示すアイコンを線で繋ぐことでページ遷移を可視化することができる。また、変数管理テーブルを利用して、そこに変数が定義されていることをページアイコンと共に示すことも可能となる。加えて、変数解析部(102)の変数の検索手段を用いてファイル内で変数が演算・代入などで使われている箇所も同時に表示することができる。これにより、プログラムの改良による全体への影響を把握し易くなり、よって、開発効率を向上させることができる。
図9は、ユーザインタフェース(106)を用いてページ遷移結果と変数情報とを表示する処理の1例を示す説明図である。
ページ遷移と変数表示については、遷移元ページと、遷移先ページと、遷移元引数と、それに対応した遷移先引数と、グローバル変数などの遷移元共通変数と、それに対応した遷移先共通変数と、変数定義箇所と、変数使用箇所と、変数使用箇所の属性と、を備えた管理テーブルとして表示させてもよい。
最後に、ユーザインタフェース(106)によるページ遷移の可視化(表示処理)を説明する。
ユーザは、ページ遷移の可視化開始地点のページを選択する。ユーザインタフェース(106)は、このページを元に、リンク管理テーブル(103)を検索し、遷移元と遷移先とを結ぶ紐付けを行う。
この遷移先を新たな遷移元としてリンク管理テーブル(103)を繰り返し検索することで、選択したページを中心に、ページと、その遷移とを表す矢印を描いた表示図が完成する。
また、リンク管理テーブル(103)には、ページごとに遷移させる変数の識別番号が格納されているので、変数管理テーブルを参照することで、矢印に対して遷移時に引き渡される変数を付与することが可能となる。
以上で、ページ遷移と遷移させる変数についての可視化が完了する。その後、ページごとに付随する変数を、ページ名をキーにして変数管理テーブル(104)から取得する。また、グローバル変数の情報も、共有変数管理テーブル(105)から取得し、追加することが可能である。この際、行数や用途などの付加的な情報の取得手段は、ファイルを検索して取得する手段、もしくは、それぞれの管理テーブルの子テーブルとして保持する手段、のいずれの手段も実施可能である。以上、この実施形態では、ページ遷移を可視化することが可能となる。
なお、本発明に係るプログラムの変数管理システムの上記処理を、図3,4,7の各フローチャートで示した手順によりコンピュータに実行せしめるプログラムは、半導体メモリを始め、CD−ROMや磁気テープなどのコンピュータ読み取り可能な記録媒体に格納して配付してもよい。そして、少なくともマイクロコンピュータ,パーソナルコンピュータ,汎用コンピュータを範疇に含むコンピュータが、上記の記録媒体から上記プログラムを読み出して、実行するものとしてもよい。
本発明は、多言語で行うアプリケーションプログラムの開発全般、第三者により作成されたアプリケーションプログラムの改良、及び他言語で記述されたシステムの連携システムの開発全般の仕事に、好適に採用することが可能である。
本発明の実施形態に係るプログラムの変数管理システムの全体構成を示す構成図である。 本実施形態に係るプログラムの変数管理システムのテーブル構成例を示す説明図であり、図2(a)はリンク管理テーブル(103)、図2(b)は変数管理テーブル(104)、図2(c)は共有変数管理テーブル(105)の、1構成例をそれぞれ示すものである。 変数解析部(102)が変数管理テーブル(104)を作成する処理の動作を示すフローチャート図である。 リンク解析部(101)がリンク管理テーブル(103)を作成する処理の動作を示すフローチャート図である。 プログラム(java)内における変数の定義情報の1例を示す説明図である。 プログラム(JSP)の一部分におけるリンク文字列の1例を示す説明図である。 変数インタフェース(107)がページ間で変数の値を引き渡す処理の動作を示すフローチャート図である。 変数インタフェース(107)がページ間で変数の値を引き渡す処理のシステム構成を示す説明図である。 ユーザインタフェース(106)を用いてページ遷移結果と変数情報とを表示する処理の1例を示す説明図である。
符号の説明
101・・・リンク解析部(ページ遷移を自動的に認識する手段)
102・・・変数解析部(変数定義箇所と使用箇所を特定する手段)
103・・・リンク管理テーブル(リンクの詳細を定義したテーブル)
104・・・変数管理テーブル(アプリケーションで共有する変数を纏めたテーブル)
105・・・共有変数管理テーブル(共有変数について定義したテーブル)
106・・・ユーザインタフェース(ページ遷移や変数管理をユーザに見易くするユーザインタフェース)
107・・・変数インタフェース(変数を適した形式にしてリンク先に変数を引き渡すためのインタフェース)

Claims (8)

  1. 言語の異なる複数のプログラムの各々で定義された変数、又は前記複数のプログラム間で共通に定義された変数の、ページ遷移に伴う値の受渡しを管理するプログラム変数管理システムであって、
    前記プログラムのページ遷移を伴う手続き毎に、変数の遷移元情報と遷移先情報とをリンク管理テーブルに記録するリンク解析手段と、
    前記変数の定義情報を変数管理テーブルに記録する変数解析手段と、
    前記ページ遷移前後のページ間で、前記変数の値の引渡し処理及び代入処理のうち少なくとも一方を行う変数インタフェース手段と、
    前記変数の引渡し処理及び代入処理に関する情報を含むページ遷移に関する情報を出力するユーザインタフェース手段と、
    を備えたことを特徴とするプログラムの変数管理システム。
  2. 前記リンク解析手段は、システム起動時、前記プログラムを格納するファイルの作成時、前記ファイル作成後の一定周期毎のうち少なくとも1つのタイミングで、前記全てのファイルを処理対象として読み込むことを特徴とする請求項1記載のプログラムの変数管理システム。
  3. 前記変数解析手段は、システム起動時、前記プログラムを格納するファイルの作成時、前記ファイル作成後の一定周期毎のうち少なくとも1つのタイミングで、前記全てのファイルを処理対象として読み込むことを特徴とする請求項1記載のプログラムの変数管理システム。
  4. 前記変数解析手段は、前記ユーザインタフェース手段と連携して前記プログラムにおける前記変数の出現箇所と取扱方法とを抽出した後、当該変数の定義情報を変数管理テーブルに記録することを特徴とする請求項1記載のプログラムの変数管理システム。
  5. 前記複数のプログラム間で共通に定義された変数の定義情報については、別途、共有変数管理テーブルに記録して管理することを特徴とする請求項1記載のプログラムの変数管理システム。
  6. 前記変数インタフェース手段は、前記変数管理テーブルに記録された変数の参照可能範囲に基づき、当該変数を、前記複数のアプリケーションの各々の言語表現でアクセス可能な形式に変換することを特徴とする請求項1記載のプログラムの変数管理システム。
  7. 前記ページ遷移に関する情報として、遷移元ページ、遷移先ページ、遷移元引数、当該遷移元引数に対応した遷移先引数、グローバル変数を含む遷移元共通変数、当該遷移元共通変数に対応した遷移先共通変数、変数定義箇所、変数使用箇所、及び変数使用箇所の属性のうち少なくとも1つを管理テーブルに記録することを特徴とする請求項1記載のプログラムの変数管理システム。
  8. 前記ユーザインタフェース手段は、前記変数が特定のものである場合、前記変数解析手段を介してページ内での前記変数の使用状況を調べることを可能とすることを特徴とする請求項1記載のプログラムの変数管理システム。
JP2007170155A 2007-06-28 2007-06-28 プログラムの変数管理システム Pending JP2009009362A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007170155A JP2009009362A (ja) 2007-06-28 2007-06-28 プログラムの変数管理システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007170155A JP2009009362A (ja) 2007-06-28 2007-06-28 プログラムの変数管理システム

Publications (1)

Publication Number Publication Date
JP2009009362A true JP2009009362A (ja) 2009-01-15

Family

ID=40324379

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007170155A Pending JP2009009362A (ja) 2007-06-28 2007-06-28 プログラムの変数管理システム

Country Status (1)

Country Link
JP (1) JP2009009362A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011033644A1 (ja) 2009-09-17 2011-03-24 株式会社三菱東京Ufj銀行 アプリケーション開発支援装置、プログラム及び記録媒体
JP2019160074A (ja) * 2018-03-15 2019-09-19 オムロン株式会社 プログラム開発支援システム、プログラム開発支援方法及びプログラム開発支援プログラム
WO2019235312A1 (ja) * 2018-06-06 2019-12-12 オムロン株式会社 制御システム、制御システムの制御方法、および制御システムのプログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07239787A (ja) * 1994-03-01 1995-09-12 Nippon Steel Corp 構文解析木からの情報抽出装置
JPH08190475A (ja) * 1995-01-05 1996-07-23 Fujitsu Ltd プログラム解析装置
JP2000330776A (ja) * 1999-05-21 2000-11-30 Hitachi Ltd プログラム作成方法及びその実施装置並びにその処理プログラムを記録した記録媒体
JP2006185324A (ja) * 2004-12-28 2006-07-13 Internatl Business Mach Corp <Ibm> アプリケーション・プログラムの開発支援方法、プログラム、情報処理装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07239787A (ja) * 1994-03-01 1995-09-12 Nippon Steel Corp 構文解析木からの情報抽出装置
JPH08190475A (ja) * 1995-01-05 1996-07-23 Fujitsu Ltd プログラム解析装置
JP2000330776A (ja) * 1999-05-21 2000-11-30 Hitachi Ltd プログラム作成方法及びその実施装置並びにその処理プログラムを記録した記録媒体
JP2006185324A (ja) * 2004-12-28 2006-07-13 Internatl Business Mach Corp <Ibm> アプリケーション・プログラムの開発支援方法、プログラム、情報処理装置

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011033644A1 (ja) 2009-09-17 2011-03-24 株式会社三菱東京Ufj銀行 アプリケーション開発支援装置、プログラム及び記録媒体
JP5128673B2 (ja) * 2009-09-17 2013-01-23 株式会社三菱東京Ufj銀行 アプリケーション開発支援装置、プログラム及び記録媒体
JPWO2011033644A1 (ja) * 2009-09-17 2013-02-07 株式会社三菱東京Ufj銀行 アプリケーション開発支援装置、プログラム及び記録媒体
JP2019160074A (ja) * 2018-03-15 2019-09-19 オムロン株式会社 プログラム開発支援システム、プログラム開発支援方法及びプログラム開発支援プログラム
WO2019235312A1 (ja) * 2018-06-06 2019-12-12 オムロン株式会社 制御システム、制御システムの制御方法、および制御システムのプログラム
JP2019212122A (ja) * 2018-06-06 2019-12-12 オムロン株式会社 制御システム、制御システムの制御方法、および制御システムのプログラム
CN112166409A (zh) * 2018-06-06 2021-01-01 欧姆龙株式会社 控制系统、控制系统的控制方法以及控制系统的程序
JP7067286B2 (ja) 2018-06-06 2022-05-16 オムロン株式会社 制御システム、制御システムの制御方法、および制御システムのプログラム
CN112166409B (zh) * 2018-06-06 2023-11-14 欧姆龙株式会社 控制系统、控制系统的控制方法以及记录介质

Similar Documents

Publication Publication Date Title
Lin et al. DSMDiff: a differentiation tool for domain-specific models
Raibulet et al. Model-driven reverse engineering approaches: A systematic literature review
La Rosa et al. APROMORE: An advanced process model repository
JP6434960B2 (ja) フローベースのetlおよびエンティティリレーションシップベースのetlの組合せのサポート
US7860815B1 (en) Computer knowledge representation format, system, methods, and applications
Adam et al. A new PHP web application development framework based on MVC architectural pattern and ajax technology
JP4796185B2 (ja) 業務フロー図生成プログラム、業務フロー図生成装置および業務フロー図生成方法
MacDonald et al. Pro ASP. NET 4 in VB 2010
Van Mierlo et al. Debugging parallel DEVS
JP5539127B2 (ja) 文書管理システム、検索指定方法、プログラム
WO2011135733A1 (ja) Webページの制御方法、計算機システム及びプログラム
US9244707B2 (en) Transforming user interface actions to script commands
Asuncion et al. Automated techniques for capturing custom traceability links across heterogeneous artifacts
Haarmann et al. Refining case models using cardinality constraints
Davidson et al. A qualitative interview study of distributed tracing visualisation: A characterisation of challenges and opportunities
JP2009009362A (ja) プログラムの変数管理システム
Lijnse TOP to the rescue: Task-Oriented Programming for incident response applications
JP2013037580A (ja) 情報処理装置
Brunner et al. Advanced Code Comprehension using Version Control Information
Asenov et al. The IDE as a scriptable information system
Borjigin et al. Dataspace and its application in digital libraries
JP2009163566A (ja) ジョブ解析支援装置
Su et al. KaitoroCap: A document navigation capture and visualisation tool
Hatch Software Architecture Visualisation
El-Ramly et al. Legacy systems interaction reengineering

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20091205

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101116

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101217

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110414