JP4820584B2 - 構成管理プログラム、開発処理プログラム、該プログラムを記録した記録媒体、構成管理装置、開発処理端末、構成管理方法、および開発処理方法 - Google Patents

構成管理プログラム、開発処理プログラム、該プログラムを記録した記録媒体、構成管理装置、開発処理端末、構成管理方法、および開発処理方法 Download PDF

Info

Publication number
JP4820584B2
JP4820584B2 JP2005178303A JP2005178303A JP4820584B2 JP 4820584 B2 JP4820584 B2 JP 4820584B2 JP 2005178303 A JP2005178303 A JP 2005178303A JP 2005178303 A JP2005178303 A JP 2005178303A JP 4820584 B2 JP4820584 B2 JP 4820584B2
Authority
JP
Japan
Prior art keywords
development
development environment
configuration management
source code
verification code
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.)
Expired - Fee Related
Application number
JP2005178303A
Other languages
English (en)
Other versions
JP2006350840A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2005178303A priority Critical patent/JP4820584B2/ja
Publication of JP2006350840A publication Critical patent/JP2006350840A/ja
Application granted granted Critical
Publication of JP4820584B2 publication Critical patent/JP4820584B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Description

この発明は、ソフトウェア、当該ソフトウェアを構成するソフトウェア部品や、コンパイラ、クラスライブラリ、デバッガ、メイクファイルなどの開発環境の構成管理をおこなう構成管理プログラム、開発処理プログラム、該プログラムを記録した記録媒体、構成管理装置、開発処理端末、構成管理方法、および開発処理方法に関する。
従来から、オープン環境および、オブジェクト指向開発の場合、コンパイラやクラスライブラリなどの開発環境の種類や版数が多数かつ頻繁に変化する。そのため、高品質な分散開発を実現するために、作成・納品対象であるソフトウェアやソフトウェア部品およびそれらのソースコードだけではなく、コンパイラやクラスライブラリなどの開発環境も含めた構成管理がおこなわれる。また、短納期で信頼性の高いソフトウェア開発のために、分散開発環境の構成管理を厳密に行う技術の必要性は高まっている。さらに、品質管理の要求水準が高くなるに従い、成果物自体およびそれらの構成要素だけではなく、分散開発時の開発環境の構成管理の検証の自動処理が重要となる。
上述した分散開発の各拠点の開発環境の構成管理を厳密におこなうには、以下の2通りの方策がとられている。
(1)全開発拠点を単一の構成管理ツールの管理下における場合、開発環境などの構成管理に分散環境対応ツールを適用し、ファイル操作の自動処理をおこなう。
(2)全開発拠点を単一の構成管理ツールの管理下におかない場合、各開発拠点に管理責任者を置き、集中管理している構成管理サーバから、開発環境の原本等の配布・開発成果の収集処理等の標準化された手続きを運用する。
このような構成管理システムは、従来から提案されており、具体的には、以下のように、分散開発するソフトウェアとそれらの各々に関連する物理的配置/コンパイラのバージョン/開発者などの関連情報を集中管理することで、ソフトウェア開発の支援を行う機能を実現している。
たとえば、下記特許文献1に記載の従来技術では、ソフトウェアの論理的なモジュール構成と、それらの各々に対応する仕様書/設計書/ソースプログラムの物理ファイルの所在情報との対応関係を管理している。
また、下記特許文献2に記載の従来技術では、開発するソフトウェアと、それらの各々に関する仕様書/プログラム/品質情報/進捗情報/開発マシン情報/開発ツール情報/プロジェクト情報との対応関係を管理している。特に、ソフトウェアと、そのコンパイルに用いたコンパイラのバージョン情報との対応関係を用いて、コンパイラが更新されたときに、全ソフトウェアのコンパイラのバージョンを統一している。
さらに、下記特許文献3に記載の従来技術では、分散開発するソフトウェアと、それらの各々のソフトウェア部品名/バージョン/開発担当者名/発生エラーコード/プログラムチェックリストとの対応関係を管理している。特に、分散開発開始時に、登録データにしたがって、プログラム部品の開発を指定された担当者に依頼し、開発されたソフトウェアの納品時に、プログラム部品と開発担当者間の対応関係が指定通りかのチェックを行っている。
特開平9−167087号公報 特開平3−256120号公報 特開2002−24013号公報
しかしながら、上述した従来の構成管理システムでは、開発体制、開発工程または予算の都合により、全開発拠点を単一の構成管理システムの管理下に置くことができない状況が生じる。この場合、ファイルの自動管理の徹底が不可能となり、ファイル管理に人的操作が入ることが不可避となる。したがって、操作ミス・不正改竄見逃しなど管理品質上の不確実性が生じ、構成管理の品質を低下させるという問題があった。また、開発作業自体および構成管理に十分な人員、工数、資源が割り当てられない場合には、開発成果が、配布された開発環境下のものであるかどうかを保証することが困難であるという問題があった。
たとえば、開発者が各自の携帯型計算機を用いて、自宅または移動先などで開発作業をおこなう場合、管理拠点から開発環境が与えられていても、開発者によっては、不注意などにより与えられた開発環境とはバージョンが異なる開発環境を用いて開発作業をおこなってしまうことが有り得る。このような開発作業により得られた開発成果物には、納品チェックをパスしても、管理拠点側が意図した開発成果物にくらべてクラスライブラリやコンパイラのバージョンが異なっていることによるチェック対象外の機能面・性能面の差異が発生し得るため、納品後のチェック時には想定外の使用方法や高負荷に耐えられず、修正しなければならないことが発生し得るという問題があった。
一方で、構成管理の品質向上のために、管理規定を制定し、管理体制を整えることで、
各開発拠点の開発環境の構成管理を厳密におこなおうとすると、各開発拠点での開発作業が規定通りの開発環境下で実行されたことを厳密に検証することが必要である。それを実現しようとすると、管理体制側の担当者の作業負担が増大するという問題があった。
この発明は、上述した従来技術による問題点を解消するため、全開発拠点が単一の管理システム下に置かれていない場合であっても、ソースコードなどの開発成果物の信頼性向上、開発工程の構成管理工数削減および品質管理担当者の負担軽減を図ることができる構成管理プログラム、開発処理プログラム、該プログラムを記録した記録媒体、構成管理装置、開発処理端末、構成管理方法、および開発処理方法を提供することを目的とする。
上述した課題を解決し、目的を達成するため、この発明にかかる構成管理プログラム、該プログラムを記録した記録媒体、構成管理装置、および構成管理方法は、コンパイラを含む開発環境の指定を受け付け、指定された開発環境(以下、「指定開発環境」という)を有する開発処理端末で作成されたソースコードと、当該ソースコードの開発環境に固有な検証コードとを取得し、取得されたソースコードの前記指定開発環境下に於ける再コンパイル結果及び当該指定開発環境中のファイルを用いて、当該ソースコードの開発環境の照合用検証コードを生成し、取得された検証コードと生成された照合用検証コードとの同一性を判定し、判定された判定結果を出力することを特徴とする。
また、この発明にかかる開発処理プログラム、該プログラムを記録した記録媒体、開発処理装置、および開発処理方法は、構成管理から出力された前記開発環境の入力を受け付け、該開発環境に於いて、ソースコード作成と当該ソースコードのコンパイル処理を実行し、開発処理の実行によって得られたコンパイル結果及び当該開発環境中のファイルを用いて、当該ソースコードの開発環境検証コードを生成し、開発処理の実行によって得られたソースコードと、生成された検証コードと、を出力することを特徴とする。
また、上記発明において、前記開発環境検証コードは、前記コンパイル結果及びそのコンパイル作業を行った開発環境中の全ファイルのファイルサイズの合計値に基づいて生成されることとしてもよく、また、前記コンパイル結果及びそのコンパイル作業を行った開発環境中の全ファイルのビット列をファイル名等でソートした順で結合し、一方向関数に入力することによって生成されることとしてもよい。
また、上記発明において、前記検証コードは、前記コンパイル結果のファイルサイズに基づいて生成されることとしてもよく、また、前記コンパイル結果のファイルのビット列を一方向関数に入力することによって生成されることとしてもよい。
また、この発明にかかる他の構成管理プログラム、該プログラムを記録した記録媒体、開発処理装置、および開発処理方法は、指定された開発環境を有する開発処理端末で作成されたソースコードと、当該ソースコードの開発環境に固有な検証コードとを取得する。その後、取得されたソースコードを、構成管理DBから取得した指定の開発環境下に於いて、再コンパイルする。再コンパイル結果及び指定開発環境中のファイルを用いて、指定の開発環境の照合用検証コードを生成し、取得された検証コードと生成された照合用検証コードとの同一性を判定し、判定された判定結果を出力することを特徴とする。
また、上記発明において、前記開発環境の照合用検証コードは、前記再コンパイル結果及び指定の開発環境中の全ファイルのファイルサイズの合計値に基づいて生成されることとしてもよく、また、前記開発環境の照合用検証コードは、前記コンパイル結果及び指定の開発環境中の全ファイルのビット列をファイル名等でソートした順で結合し、一方向関数に入力することによって生成されることとしてもよい。
また、上記発明において、前記検証コードは、前記再コンパイル結果のファイルサイズに基づいて生成されることとしてもよく、また、前記再コンパイル結果のファイルのビット列を一方向関数に入力することによって生成されることとしてもよい。
これらの発明によれば、同一性チェックに用いる検証コード及び照合用検証コード生成のための情報源に開発環境中のファイルを含めることで、指定された開発環境を用いて開発処理を実行したかどうかを検証することができる。また、同一性チェック対象に用いる検証コード及び照合用検証コード生成のための情報源にコンパイル結果を含めることで、指定された開発環境を用いてコンパイル処理を実行したかどうかを検証することができる。
特に、情報源のファイルサイズの合計値の値を開発環境に固有な検証コード及び照合用検証コードとすることにより、簡単に同一性チェックをおこなうことができる。また、情報源の全ファイルのビット列をファイル名等でソートした順で結合し、一方向関数に入力して得られたハッシュ値を開発環境に固有な検証コード及び照合用検証コードとすることにより、検証コード及び照合用検証コードの圧縮化(転送・格納・同一性チェック処理の対象とするビット数の縮小実現)および衝突困難性(同一性チェック処理を通すための検証コードの偽造の困難性)の両立を図ることができる。
本発明にかかる構成管理プログラム、開発処理プログラム、該プログラムを記録した記録媒体、構成管理装置、開発処理端末、構成管理方法、および開発処理方法によれば、全開発拠点が単一の管理下に置かれていない場合であっても、ソースコードなどの開発成果物の信頼性向上、開発工程の工数削減および管理者の負担軽減を図ることができるという効果を奏する。
以下に添付図面を参照して、この発明にかかる構成管理プログラム、開発処理プログラム、該プログラムを記録した記録媒体、構成管理装置、開発処理端末、構成管理方法、および開発処理方法の好適な実施の形態を詳細に説明する。
(構成管理システムの概略構成)
まず、この発明の実施の形態にかかる構成管理システムの概略構成について説明する。図1は、この発明の実施の形態にかかる構成管理システムを示す概略構成図である。図1において、構成管理システム100は、管理拠点となる構成管理装置101と、開発拠点となる開発処理端末102とが、インターネット、LAN、WANなどのネットワーク110を介して相互に交信可能に接続されている。
まず、構成管理装置101は、ソフトウェア、当該ソフトウェアを構成するソフトウェア部品や、コンパイラ、クラスライブラリ、デバッガ、メイクファイルなどの開発環境の構成管理をおこない、構成管理システム100においてサーバとして機能する。また、開発処理端末102は、構成管理装置101から出力された開発環境を入力として受け取り内部記憶に展開して、開発処理を実行し、ソースコードなどの開発成果物を生成する。なお、図1では、構成管理装置101と開発処理端末102とがネットワーク110を介して接続されているが、ネットワーク110を介して接続されていない構成としてもよい。この場合、構成管理装置101と開発処理端末102は、可搬可能な記録媒体に格納することで、互いにデータを提供することができる。
(構成管理装置101および開発処理端末102のハードウェア構成)
まず、この発明の実施の形態にかかる構成管理装置101および開発処理端末102(以下、「構成管理装置101等」という)のハードウェア構成について説明する。図2は、この発明の実施の形態にかかる構成管理装置101等のハードウェア構成を示すブロック図である。
図2において、構成管理装置101等は、CPU201と、ROM202と、RAM203と、HDD(ハードディスクドライブ)204と、HD(ハードディスク)205と、FDD(フレキシブルディスクドライブ)206と、着脱可能な記録媒体の一例としてのFD(フレキシブルディスク)207と、ディスプレイ208と、I/F(インターフェース)209と、キーボード210と、マウス211と、スキャナ212と、プリンタ213と、を備えている。また、各構成部はバス200によってそれぞれ接続されている。
ここで、CPU201は、構成管理装置101等の全体の制御を司る。ROM202は、ブートプログラムなどのプログラムを記憶している。RAM203は、CPU201のワークエリアとして使用される。HDD204は、CPU201の制御にしたがってHD205に対するデータのリード/ライトを制御する。HD205は、HDD204の制御で書き込まれたデータを記憶する。
FDD206は、CPU201の制御にしたがってFD207に対するデータのリード/ライトを制御する。FD207は、FDD206の制御で書き込まれたデータを記憶したり、FD207に記憶されたデータを構成管理装置101等に読み取らせたりする。
また、着脱可能な記録媒体として、FD207のほか、CD−ROM(CD−R、CD−RW)、MO、DVD(Digital Versatile Disk)、メモリーカードなどであってもよい。ディスプレイ208は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ208は、たとえば、CRT、TFT液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
I/F209は、通信回線を通じてインターネットなどのネットワーク110に接続され、このネットワーク110を介して他の装置に接続される。そして、I/F209は、ネットワーク110と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。I/F209には、たとえばモデムやLANアダプタなどを採用することができる。
キーボード210は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス211は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
スキャナ212は、画像を光学的に読み取り、構成管理装置101等内に画像データを取り込む。なお、スキャナ212は、OCR機能を持たせてもよい。また、プリンタ213は、画像データや文書データを印刷する。プリンタ213には、たとえば、レーザプリンタやインクジェットプリンタを採用することができる。
(構成管理システム100の機能的構成)
つぎに、この発明の実施の形態にかかる構成管理システム100の機能的構成について説明する。図3は、この発明の実施の形態にかかる構成管理システム100の機能的構成を示すブロック図である。図3に示した構成管理システム100において、構成管理装置101は、開発環境作成部111と、構成管理DB(データベース)112と、指定部113と、抽出部114と、開発環境出力部115と、取得部116と、開発環境の照合用検証コード生成部117と、開発環境検証コード判定部118と、判定結果出力部119と、から構成されている。
まず、開発環境作成部111は、図2に示したキーボード210やマウス211を操作することにより、開発環境Daを作成する。ここで、開発環境Daとは、コンパイラ、クラスライブラリ、デバッガなど、ソースコードの開発資源となる電子ファイルである。
また、構成管理DB112は、開発環境作成部111によって作成された開発環境Daを記憶する。ここで、構成管理DB112に記憶された開発環境Daの記憶状態について説明する。図4は、構成管理DB112の記憶状態を示す説明図である。
図4において、構成管理DB112は階層構造化されており、最上位の階層には、開発用フォルダ401と、ライブラリ用フォルダ402と、コンパイラ用フォルダ403とが作成されている。メイクファイルが複数種類記憶されている場合、開発用フォルダ401の下位の階層には、その種類ごとにフォルダが作成されている。図4においては、開発環境Da用フォルダ411と、開発環境Db用フォルダ412とが作成されている。
そして、開発環境Da用フォルダ411には、メイクファイルMaおよび環境設定ファイルEaが格納されており、開発環境Db用フォルダ412には、メイクファイルMbおよび環境設定ファイルEbが格納されている。なお、メイクファイルとは、ソースコードやクラスライブラリやコンパイラの組み合わせや処理手順など、ソースコードをコンパイル作業を自動処理ために必要な情報を記述したテキストファイルである。
また、ライブラリ用フォルダ402の下位の階層には、その種類ごとにフォルダが作成されている。図4においては、ライブラリLa用フォルダ421とライブラリLb用フォルダ422とが作成されており、ライブラリLa用フォルダ421には、ライブラリLaにおける各バージョンのライブラリLa−1,La−2が格納され、ライブラリLb用フォルダ422には、ライブラリLbにおける各バージョンのライブラリLb−1,Lb−2が格納される。ライブラリLa,Lbの枝番は、バージョン番号を示している。
また、コンパイラ用フォルダ403の下位の階層にも、その種類ごとにフォルダを作成することができる。図4では、コンパイラは1種類(コンパイラC)のみであるため、コンパイラ用フォルダ403内にはフォルダが作成されておらず、コンパイラCにおける各バージョンのコンパイラC−1,C−2が格納されている。コンパイラCの枝番は、バージョン番号を示している。なお、図4中、点線で囲まれたファイル群が、後述する指定部113によって指定される開発環境Daである。
また、指定部113は、コンパイラC−1を含む開発環境Daの指定を受け付ける。具体的には、たとえば、図2に示したキーボード210やマウス211を操作することにより、開発環境Daを指定することができる。また、ネットワーク110を介して開発処理端末102から開発環境Daの指定要求を受信した場合も、開発環境Daを指定することができる。
また、抽出部114は、指定部113によって指定された開発環境Daを構成管理DB112から抽出する。
また、開発環境出力部115は、抽出部114によって抽出された開発環境Daを出力する。具体的には、たとえば、ネットワーク110を介して開発環境Daを開発処理端末102に送信することによって出力することができる。また、図2に示したHD205やFD207、光ディスク、フラッシュメモリなどの可搬可能な記録媒体に出力して記録することにより、開発処理端末102に配布することができる。
また、取得部116は、開発処理端末102で作成されたソースコードSCと、SCの開発・コンパイル作業を行った開発環境に固有な検証コードAbbとからなる開発成果物Rを取得する。具体的には、たとえば、ネットワーク110を介して開発処理端末102から送信されてくる開発成果物Rを受信することによって、開発成果物Rを取得することができる。また、開発成果物Rが図2に示したFD207やHD205、光ディスク、フラッシュメモリなどの可搬可能な記録媒体に記録されている場合には、図2に示したCPU201により読み取ることにより、開発成果物Rを取得することができる。
また、開発環境の照合用検証コード生成部117は、開発環境の照合用検証コードAbaを生成する。生成元となるファイルは、取得部116によって取得されたソースコードSCを、コンパイラC−1を含む指定された開発環境Daの下で、再コンパイルした再コンパイル結果及び開発環境Da中のファイルである。
生成手法としては、たとえば、生成元となるファイルのファイルサイズの合計値に基づいて生成される。より具体的には、開発環境Daに含まれているコンパイラC−1を用いて再コンパイルした再コンパイル結果及び開発環境Da中の全ファイルのファイルサイズの合計値の値が、開発環境Daに固有な照合用検証コードとなる。
また、照合用検証コードの生成手法としては、一方向関数(ハッシュ関数)に生成元となるファイル(開発環境Da中の全ファイル及びコンパイラC−1による再コンパイル結果)をファイル名等でソートした上で各々のビット列を結合したものを与えることとしてもよい。一方向関数は、入力値の長い情報を圧縮したハッシュ値にする関数である。一方向関数には、次の2つの特性がある。1つ目は一方向性、すなわち、入力値のハッシュ値を計算することは容易だが、ハッシュ値から元の入力値を逆算することが困難であるという性質である。2つ目は、衝突しない点である。これは、同じハッシュ値を持つ入力値のペアを見つけることが困難であるという性質である。これらの性質により、ハッシュ値同士の比較をすることで、元となる全ファイルの比較を行うことと同等のチェックが可能となる。
なお、開発環境の照合用検証コード生成部117によって生成された開発環境の照合用検証コードAbaは、開発環境検証コード判定部118に出力される。
また、開発環境検証コード判定部118は、開発環境の照合用検証コード生成部117によって生成された開発環境の照合用検証コードAbaと、取得部116によって取得された開発環境検証コードAbbとの同一性を判定する。具体的には、たとえば、開発環境検の照合用証コードAbaおよび開発環境検証コードAbbがともにファイルサイズの合計値の値である場合、両ファイルサイズの合計値の値が一致するか否かにより同一性を判定する。同様に、開発環境の照合用検証コードAbaおよび開発環境検証コードAbbがともに同一の一方向関数から得られたハッシュ値である場合も、両ハッシュ値が一致するか否かにより同一性を判定する。
この判定において、同一性ありと判定された場合、開発処理端末102において、構成管理装置101から配布した開発環境Daを用いてソースコードSCを作成・コンパイルしたことが検証できる。一方、同一性なしと判定された場合、開発処理端末102において、構成管理装置101から配布した開発環境Da内のファイル以外のファイル、たとえば、バージョン番号が異なるメイクファイルMbを用いてソースコードSCを作成し、作成されたソースコードSCをバージョン番号が異なるコンパイラC−2を用いてコンパイルしたことが検証できる。
また、判定結果出力部119は、開発環境検証コード判定部118によって判定された判定結果を出力する。具体的には、判定結果である『同一性あり』または『同一性なし』を図2に示したディスプレイ208の表示画面に表示したり、プリンタ213から印刷することができる。また、音声によって判定結果を出力することとしてもよい。また、判定結果は、ソースコードSCとともに構成管理DB112に格納することとしてもよい。図5は、判定後における構成管理DB112の記憶状態を示す説明図である。図5において、最上位の階層には、あらたにチェック用フォルダ501が作成され、その中には、ソースコードSCと、コンパイラC−1によるソースコードSCのコンパイル結果Baと、判定結果Jとが格納されている。
なお、上述した開発環境作成部111、指定部113、抽出部114、開発環境出力部115、取得部116、検証コード生成部117、開発環境検証コード判定部118および判定結果出力部119は、具体的には、たとえば、図2に示したROM202、RAM203、HD205などの記録媒体に記録されたプログラムを、CPU201が実行することによって、またはI/F209によって、その機能を実現する。また、構成管理DB112は、具体的には、たとえば、図2に示したROM202、RAM203、HD205などの記録媒体によって、その機能を実現する。
つぎに、開発処理端末102の機能的構成について具体的に説明する。図3において、開発処理端末102は、入力部121と、開発処理DB(データベース)122と、実行部125と、開発環境検証コード生成部126と、開発成果物出力部127と、から構成されている。
まず、入力部121は、構成管理装置101からの開発環境Daの入力を受け付ける。入力部121は、より具体的には、ネットワーク110を介して構成管理装置101から開発環境Daが送信されてきた場合には、開発環境Daを受信することにより、その入力を受け付ける。
また、開発環境Daが、図2に示したFD207やHD205、光ディスク、フラッシュメモリなどの可搬可能な記録媒体に記録されている場合には、図2に示したCPU201により読み取ることにより、その入力を受け付ける。
また、開発処理DB122は、入力部121によって入力された開発環境Daを記憶する。図6は、開発処理DB122の記憶状態を示す説明図である。図6において、開発処理DB122は階層構造化されており、最上位の階層には、開発用フォルダ601と、ライブラリ用フォルダ602と、コンパイラ用フォルダ603とが作成されている。開発用フォルダ601には、開発環境Daに含まれているメイクファイルMaおよび環境設定ファイルEaが格納される。
また、ライブラリ用フォルダ602の下位の階層には、その種類ごとにフォルダが作成されている。図6においては、ライブラリLa用フォルダ621とライブラリLb用フォルダ622とが作成されており、ライブラリLa用フォルダ621には、開発環境Daに含まれているライブラリLa−1が格納され、ライブラリLb用フォルダ622には、開発環境Daに含まれているライブラリLb−1が格納される。
また、コンパイラ用フォルダ603には、開発環境Daに含まれているコンパイラC−1が格納される。
また、実行部125は、ソースコードSCの作成作業と当該ソースコードSCのコンパイル作業等の開発処理を実行するために用いられる。具体的には、たとえば、開発環境Daを用いてソースコードSCを作成し、作成されたソースコードSCを開発環境Da内のコンパイラC−1によりコンパイルすることにより、コンパイル結果Bbを作成することができる。
ここで、実行部125による開発処理の実行後における開発処理DB122の記憶状態について説明する。図7は、実行部125による開発処理の実行後における開発処理DB122の記憶状態を示す説明図である。図7において、実行部125によって作成されたソースコードSCとコンパイル結果Bbは、開発用フォルダ601内に格納される。
また、開発環境検証コード生成部126は、実行部125から得られたコンパイル結果Bb及び開発環境中のファイルを用いて、開発作業に使用した開発環境に固有な検証コードAbbを生成する。生成手法としては、たとえば、コンパイル結果Bb及び開発環境中の全ファイルのファイルサイズの合計値の値が、開発作業に使用した開発環境に固有な検証コードとなる。また、一方向関数(ハッシュ関数)に、コンパイル結果Bb及び開発環境中の全ファイルをファイル名等でソートした上で各々のビット列を結合したものを与えることにより、開発作業に使用した開発環境に固有な検証コードAbbを生成することとしてもよい。
また、開発成果物出力部127は、実行部125による開発処理の実行によって得られたソースコードSCと、開発環境検証コード生成部126によって生成された開発環境検証コードAbbとからなる開発成果物Rを出力する。具体的には、たとえば、ネットワーク110を介して開発成果物Rを構成管理装置101に送信することによって出力することができる。また、図2に示したFD207やHD205、光ディスク、フラッシュメモリなどの可搬可能な記録媒体に出力して記録することにより、構成管理装置101に提供することができる。
なお、上述した入力部121、開発環境検証コード生成部126、および開発成果物出力部127は、具体的には、たとえば、図2に示したROM202、RAM203、HD205などの記録媒体に記録されたプログラムを、CPU201が実行することによって、またはI/F209によって、その機能を実現する。また、開発処理DB122は、具体的には、たとえば、図2に示したROM202、RAM203、HD205などの記録媒体によって、その機能を実現する。
(構成管理装置101の構成管理処理手順)
つぎに、この発明の実施の形態にかかる構成管理装置101の構成管理処理手順について説明する。図8は、この発明の実施の形態にかかる構成管理装置101の構成管理処理手順を示すフローチャートである。図8において、指定部113により、開発環境Daの指定を待ち受け(ステップS801:No)、開発環境Daが指定された場合(ステップS801:Yes)、抽出部114により、開発環境DB112から開発環境Daを抽出する(ステップS802)。このあと、開発環境出力部115により、開発環境Daを出力する(ステップS803)。
そして、取得部116により、開発成果物Rの取得を待ち受け(ステップS804:No)、開発成果物Rが取得された場合(ステップS804:Yes)、検証コード生成部117により、コンパイラC−1を含む指定された開発環境Daの下で、開発成果物Rに含まれているソースコードSCを再コンパイルする(ステップS805)。これにより、再コンパイル結果Baが生成される。そして、再コンパイル結果Ba及び指定された開発環境Da中のファイルを用いて、開発環境の照合用検証コードAbaを生成する(ステップS806)。
このあと、開発環境検証コード判定部118により、開発環境の照合用検証コードAbaと、開発成果物Rに含まれている開発環境検証コードAbbとが一致するか否かを判定する(ステップS807)。一致する場合(ステップS807:Yes)、開発処理端末102において、構成管理装置101から配布した開発環境Daを用いてソースコードSCを作成及びコンパイルしたことが検証できる。そして、図5に示したように、ソースコードSC、再コンパイル結果Ba、および一致する旨の判定結果Jを構成管理DB112に格納する(ステップS808)。
一方、ステップS807において一致しない場合(ステップS807:No)、開発処理端末102において、構成管理装置101から配布した開発環境Da内のファイル以外のファイルを用いて、ソースコードSCを作成し、作成されたソースコードSCをコンパイルした事実を指摘できる。たとえば、開発環境Da内のものとは、バージョン番号が異なるメイクファイルMbを用いたために、指定されたコンパイラC−1とはバージョンが異なるコンパイラ、たとえば、コンパイラC−2によりコンパイルした等の事実を指摘できる。判定結果出力部119により、不一致である旨の判定結果Jを出力(表示、印刷出力または音声出力)する(ステップS809)。この場合も、図5に示したように、ソースコードSC、再コンパイル結果Ba、および一致しない旨の判定結果Jを構成管理DB112に格納する(ステップS808)。
(開発処理装置の開発処理手順)
つぎに、この発明の実施の形態にかかる開発処理装置の開発処理手順について説明する。図9は、この発明の実施の形態にかかる開発処理装置の開発処理手順を示すフローチャートである。図9において、入力部121により開発環境Daの入力を待ち受け(ステップS901:No)、開発環境Daが入力された場合(ステップS901:Yes)、実行部125による開発処理を実行し(ステップS902)、ソースコードSCを作成する。そして、作成されたソースコードSCをコンパイルすることにより(ステップS903)、コンパイル結果Bbを得ることができる。
このあと、開発環境検証コード生成部126により、コンパイル結果Bb及び作業を行った開発環境中のファイルを用いて、開発環境検証コードAbbを生成する(ステップS904)。そして、開発成果物出力部127により、ソースコードSCと開発環境検証コードAbbを含む開発成果物Rを出力する(ステップS905)。これにより、開発成果物Rを構成管理装置101に納品することができる。
このように、本実施の形態によれば、まず、開発環境の同一性チェックに用いる検証コード及び照合用検証コード生成のための情報源に、コンパイル結果Ba、Bbを含めることで、実際にその開発環境DaのコンパイラC−1でコンパイルをしたかどうか、すなわち、指定部113によって指定された開発環境Daを用いて開発処理を実行したかどうかを検証することができる。
ただし、コンパイル結果Ba,Bbが同一であるからといって、ソースコードSCおよび開発環境Daがすべて同一であることは必ずしも保証されない。そのため、同一性チェック対象に用いる検証コード及び照合用検証コード生成のための情報源に、開発環境中のファイルを含める。ソースコードSCの開発環境中のファイル及びコンパイル結果Bb、指定された開発環境Da中のファイル及びその開発環境に於ける再コンパイル結果Baを各々セットにして同一性チェックの情報源とすることで、同一の開発環境で開発作業を行ったことの検証をおこなうことができる。
すなわち、納品チェックをパスしても、管理拠点側が意図した開発成果物にくらべてクラスライブラリやコンパイラのバージョンが異なっていることによるチェック対象外の機能面・性能面の差異が発生し得るため、納品後のチェック時には想定外の使用方法や高負荷に耐えられず、修正しなければならないことが発生し得るという障害を防止することができる。また、高負荷に耐えられないソースコードSCの作成を防止することができる。これにより、ソフトウェア開発の信頼性の向上を図ることができるとともに、ソフトウェア開発の工数削減を図ることができる。
また、同一の開発環境で開発作業行ったことを検証するために、前記情報源に含まれる全ファイルサイズの合計値の値を用いて開発環境検証コードを生成することで、簡単に同一性のチェックをおこなうことができる。また、前記情報源に含まれる全ファイルをファイル名等でソートした順で結合したビット列を一方向関数に通して得られるハッシュ値を用いて開発環境検証コードを生成することで、転送・格納・同一性チェック処理の対象とするビット数の圧縮と、衝突困難性(同一性チェック処理を通すための検証コードの偽造の困難性)の両立を図ることができる。
また、開発処理端末102を構成管理システム100の管理下に置けない状況でも、開発環境Daや開発成果物Rを構成管理装置101において集中管理することができるため、開発拠点となる開発処理端末102には、開発に必要な開発環境Daのみを有していればよい。したがって、開発処理端末102を構成管理システム100の管理下に置けない状況であっても、ソフトウェアの分散開発支援を実現することができる。
以上説明したように、上述した構成管理装置101、開発処理端末102、構成管理方法、および開発処理方法によれば、全開発拠点が単一の管理下に置かれていない場合であっても、ソースコードSCなどの開発成果物の信頼性向上、開発環境管理の工数削減および開発環境管理者の負担軽減を図ることができるという効果を奏する。
なお、本実施の形態で説明した構成管理方法および開発処理方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネット等のネットワーク110を介して配布することが可能な伝送媒体であってもよい。
(付記1)コンパイラを含む開発環境の指定を受け付けさせる指定工程と、
前記指定工程によって指定された開発環境(以下、「指定開発環境」という)を有する開発処理端末で作成されたソースコードと、当該ソースコードの開発環境に固有な検証コードとを取得させる取得工程と、
前記取得工程によって取得されたソースコードの前記指定開発環境下に於ける再コンパイル結果及び指定開発環境中のファイルを用いて、当該指定開発環境の照合用検証コードを生成させる生成工程と、
前記取得工程によって取得された検証コードと前記生成工程によって生成された照合用検証コードとの同一性を判定させる判定工程と、
前記判定工程によって判定された判定結果を出力させる出力工程と、
をコンピュータに実行させることを特徴とする構成管理プログラム。
(付記2)前記生成工程は、前記再コンパイル結果及び指定開発環境中の全ファイルのファイルサイズの合計値に基づいて、前記照合用検証コードを生成させることを特徴とする付記1に記載の構成管理プログラム。
(付記3)前記生成工程は、前記再コンパイル結果及び指定開発環境中の全ファイルのビット列をファイル名等でソートした順で結合し、一方向関数に入力することによって、前記照合用検証コードを生成させることを特徴とする付記1に記載の構成管理プログラム。
(付記4)構成管理サーバに記憶されている前記開発環境の入力を受け付けさせる入力工程と、
前記入力工程によって開発環境が入力された場合、ソースコードの作成処理と当該ソースコードのコンパイル処理を含む開発処理を実行させる実行工程と、
前記実行工程による開発処理の実行によって得られたコンパイル結果及び当該開発環境中のファイルを用いて、前記実行工程による開発処理の実行によって得られたソースコードの開発環境検証コードを生成させる生成工程と、
前記ソースコードと、前記生成工程によって生成された開発環境検証コードとを出力させる出力工程と、
をコンピュータに実行させることを特徴とする開発処理プログラム。
(付記5)前記生成工程は、前記コンパイル結果及びそのコンパイル作業を行った開発環境中の全ファイルのファイルサイズの合計値に基づいて、前記開発環境検証コードを生成させることを特徴とする付記4に記載の開発処理プログラム。
(付記6)前記生成工程は、前記コンパイル結果及びそのコンパイル作業を行った開発環境中の全ファイルのビット列をファイル名等でソートした順で結合し、一方向関数に入力することによって、前記開発環境検証コードを生成させることを特徴とする付記4に記載の開発処理プログラム。
(付記7)前記生成工程は、前記指定開発環境下での再コンパイル結果のみのファイルサイズに基づいて、前記照合用検証コードを生成させることを特徴とする付記1に記載の構成管理プログラム。
(付記8)前記生成工程は、前記指定開発環境下での再コンパイル結果のみを一方向関数に入力することで、前記照合用検証コードを生成させることを特徴とする付記1に記載の構成管理プログラム。
(付記9)前記生成工程は、前記ソースコードの開発環境下でのコンパイル結果のみのファイルサイズに基づいて、前記開発環境検証コードを生成させることを特徴とする付記4に記載の開発処理プログラム。
(付記10)前記生成工程は、前記ソースコードの開発環境下でのコンパイル結果のみを一方向関数に入力することで、前記開発環境検証コードを生成させることを特徴とする付記4に記載の開発処理プログラム。
(付記11)付記1〜10のいずれか一つに記載のプログラムを記録したコンピュータに読み取り可能な記録媒体。
(付記12)コンパイラを含む開発環境の指定を受け付ける指定手段と、
前記指定手段によって指定された開発環境(以下、「指定開発環境」という)を有する開発処理端末で作成されたソースコードと、当該ソースコードの開発環境に固有な開発環境検証コードとを取得する取得手段と、
前記取得手段によって取得されたソースコードの前記指定開発環境下に於ける再コンパイル結果及び指定開発環境中のファイルを用いて、当該指定開発環境の照合用検証コードを生成する生成手段と、
前記取得手段によって取得された開発環境検証コードと前記生成手段によって生成された開発環境の照合用検証コードとの同一性を判定する判定手段と、
前記判定手段によって判定された判定結果を出力する出力手段と、
を備えることを特徴とする構成管理装置。
(付記13)構成管理サーバに記憶されている前記開発環境の入力を受け付ける入力手段と、
前記入力手段によって開発環境が入力された場合、ソースコードの作成処理と当該ソースコードのコンパイル処理を含む開発処理を実行する実行手段と、
前記実行手段による開発処理の実行によって得られたコンパイル結果及び当該開発環境中のファイルを用いて、前記実行手段による開発処理の実行によって得られたソースコードの開発環境検証コードを生成する生成手段と、
前記ソースコードと、前記生成手段によって生成された開発環境検証コードとを出力する出力手段と、
を備えることを特徴とする開発処理端末。
(付記14)コンパイラを含む開発環境の指定を受け付ける指定工程と、
前記指定工程によって指定された開発環境(以下、「指定開発環境」という)を有する開発処理端末で作成されたソースコードと、当該ソースコードの開発環境に固有な検証コードとを取得する取得工程と、
前記取得工程によって取得されたソースコードの前記指定開発環境下に於ける再コンパイル結果及び指定開発環境中のファイルを用いて、当該指定開発環境の照合用検証コードを生成する生成工程と、
前記取得工程によって取得された開発環境検証コードと前記生成工程によって生成された開発環境の照合用検証コードとの同一性を判定する判定工程と、
前記判定工程によって判定された判定結果を出力する出力工程と、
を含んだことを特徴とする構成管理方法。
(付記15)構成管理サーバに記憶されている前記開発環境の入力を受け付ける入力工程と、
前記入力工程によって開発環境が入力された場合、ソースコードの作成処理と当該ソースコードのコンパイル処理を含む開発処理を実行する実行工程と、
前記実行工程による開発処理の実行によって得られたコンパイル結果及び当該開発環境中のファイルを用いて、前記実行工程による開発処理の実行によって得られたソースコードの開発環境検証コードを生成する生成工程と、
前記ソースコードと、前記生成工程によって生成された開発環境検証コードとを出力する出力工程と、
を含んだことを特徴とする開発処理方法。
以上のように、本発明にかかる構成管理プログラム、開発処理プログラム、該プログラムを記録した記録媒体、構成管理装置、開発処理端末、構成管理方法、および開発処理方法は、ソフトウェアやソフトウェアを構成するソフトウェア部品の開発支援に有用であり、特に、コンパイラ、クラスライブラリ、デバッガ、メイクファイルなどの開発環境の構成管理をともなうソフトウェア開発支援に適している。
この発明の実施の形態にかかる構成管理システムを示す概略構成図である。 この発明の実施の形態にかかる構成管理装置等のハードウェア構成を示すブロック図である。 この発明の実施の形態にかかる構成管理システムの機能的構成を示すブロック図である。 構成管理DBの記憶状態を示す説明図である。 判定後における構成管理DBの記憶状態を示す説明図である。 開発処理DBの記憶状態を示す説明図である。 開発処理の実行後における開発処理DBの記憶状態を示す説明図である。 この発明の実施の形態にかかる構成管理装置の構成管理処理手順を示すフローチャートである。 この発明の実施の形態にかかる開発処理装置の開発処理手順を示すフローチャートである。
符号の説明
100 構成管理システム
101 構成管理装置
102 開発処理端末
110 ネットワーク
111 開発環境作成部
112 構成管理DB
113 指定部
114 抽出部
115 開発環境出力部
116 取得部
117 開発環境の照合用検証コード生成部
118 開発環境検証コード判定部
119 判定結果出力部
121 入力部
122 開発処理DB
125 実行部
126 開発環境検証コード生成部
127 開発成果物出力部
Aba 開発環境の照合用検証コード
Abb 開発環境検証コード
Ba 再コンパイル結果
Bb コンパイル結果
C(C−1,C−2) コンパイラ
Da 開発環境
SC ソースコード

Claims (5)

  1. コンパイラを含む開発環境の指定を受け付けさせる指定工程と、
    前記指定工程によって指定された開発環境(以下、「指定開発環境」という)を有する開発処理端末で作成されたソースコードと、当該ソースコードの開発環境に固有な検証コードとを取得させる取得工程と、
    構成管理装置の前記指定開発環境下に於ける前記取得工程によって取得されたソースコードのコンパイル結果及び当該指定開発環境中のファイルを用いて、当該ソースコードの開発環境の照合用検証コードを生成させる生成工程と、
    前記取得工程によって取得された検証コードと前記生成工程によって生成された照合用検証コードとの同一性を判定させる判定工程と、
    前記判定工程によって判定された判定結果を出力させる出力工程と、
    前記構成管理装置に実行させることを特徴とする構成管理プログラム。
  2. 前記生成工程は、
    前記コンパイル結果及び指定開発環境中の全ファイルのビット列をファイル名等でソートした順で結合し、一方向関数に入力することによって、前記照合用検証コードを生成させることを特徴とする請求項1に記載の構成管理プログラム。
  3. 構成管理サーバに記憶されているコンパイラを含む開発環境の入力を受け付ける入力工程と、
    前記入力工程によって開発環境が入力された場合、ソースコードの作成処理と当該ソースコードのコンパイル処理を含む開発処理を実行させる実行工程と、
    前記実行工程による開発処理の実行によって得られたコンパイル結果及び前記開発環境中のファイルを用いて、前記実行工程による開発処理の実行によって得られたソースコードの開発環境検証コードを生成させる生成工程と、
    前記ソースコードと前記生成工程によって生成された検証コードとを、前記構成管理サーバに出力させる出力工程と、
    をコンピュータに実行させることを特徴とする開発処理プログラム。
  4. コンパイラを含む開発環境の指定を受け付ける指定工程と、
    前記指定工程によって指定された開発環境(以下、「指定開発環境」という)を有する開発処理端末で作成されたソースコードと、当該ソースコードの開発環境に固有な検証コードとを取得する取得工程と、
    構成管理装置の前記指定開発環境下に於ける前記取得工程によって取得されたソースコードのコンパイル結果及び指定開発環境中のファイルを用いて、当該ソースコードの開発環境の照合用検証コードを生成する生成工程と、
    前記取得工程によって取得された検証コードと前記生成工程によって生成された照合用検証コードとの同一性を判定する判定工程と、
    前記判定工程によって判定された判定結果を出力する出力工程と、
    を含んだことを特徴とする構成管理方法。
  5. 構成管理サーバに記憶されているコンパイラを含む開発環境の入力を受け付ける入力工程と、
    前記入力工程によって開発環境が入力された場合、ソースコードの作成処理と当該ソースコードのコンパイル処理を含む開発処理を実行する実行工程と、
    前記実行工程による開発処理の実行によって得られたコンパイル結果及び前記開発環境中のファイルを用いて、前記実行工程による開発処理の実行によって得られたソースコードの開発環境検証コードを生成する生成工程と、
    前記ソースコードと前記生成工程によって生成された検証コードとを、前記構成管理サーバに出力させる出力工程と、
    を含んだことを特徴とする開発処理方法。
JP2005178303A 2005-06-17 2005-06-17 構成管理プログラム、開発処理プログラム、該プログラムを記録した記録媒体、構成管理装置、開発処理端末、構成管理方法、および開発処理方法 Expired - Fee Related JP4820584B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005178303A JP4820584B2 (ja) 2005-06-17 2005-06-17 構成管理プログラム、開発処理プログラム、該プログラムを記録した記録媒体、構成管理装置、開発処理端末、構成管理方法、および開発処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005178303A JP4820584B2 (ja) 2005-06-17 2005-06-17 構成管理プログラム、開発処理プログラム、該プログラムを記録した記録媒体、構成管理装置、開発処理端末、構成管理方法、および開発処理方法

Publications (2)

Publication Number Publication Date
JP2006350840A JP2006350840A (ja) 2006-12-28
JP4820584B2 true JP4820584B2 (ja) 2011-11-24

Family

ID=37646579

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005178303A Expired - Fee Related JP4820584B2 (ja) 2005-06-17 2005-06-17 構成管理プログラム、開発処理プログラム、該プログラムを記録した記録媒体、構成管理装置、開発処理端末、構成管理方法、および開発処理方法

Country Status (1)

Country Link
JP (1) JP4820584B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5900193B2 (ja) * 2012-06-29 2016-04-06 富士通株式会社 更新判定プログラムおよび更新判定装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2609820B2 (ja) * 1994-09-29 1997-05-14 日本電気ソフトウェア株式会社 プログラム管理方法
JP2000357097A (ja) * 1999-06-16 2000-12-26 Nec Corp プログラム管理方法
JP2001075815A (ja) * 1999-09-06 2001-03-23 Hitachi Ltd ソース内蔵型実行可能プログラム生成方法およびローディング方法およびソース内蔵型実行可能プログラム生成プログラムを記録したコンピュータ読み取り可能な記録媒体

Also Published As

Publication number Publication date
JP2006350840A (ja) 2006-12-28

Similar Documents

Publication Publication Date Title
Babić et al. Fudge: fuzz driver generation at scale
JP5350428B2 (ja) 自動プログラム生成装置、方法及びコンピュータプログラム
US9632754B2 (en) Auto generation and linkage of source code to test cases
Kazman et al. Architecture reconstruction guidelines
CN102681835A (zh) 代码克隆通知以及体系结构改变可视化
US20060241909A1 (en) System review toolset and method
JP6479184B2 (ja) コンピュータ実行可能なモデルリバースエンジニアリング方法及び装置
WO2017033441A1 (ja) システム構築支援システム、方法および記憶媒体
Klemens 21st century C: C tips from the new school
US7730451B2 (en) Source server
Ardito et al. Towards automated translation between generations of gui-based tests for mobile devices
JP4820584B2 (ja) 構成管理プログラム、開発処理プログラム、該プログラムを記録した記録媒体、構成管理装置、開発処理端末、構成管理方法、および開発処理方法
KR20090002032A (ko) 범용 웹 브라우저에서 ui 플러그인을 실행하는 실행모듈, ui 플러그인 개발 장치 및 그 방법
JP2008293382A (ja) テスト仕様自動生成方式
Washizaki et al. A taxonomy for program metamodels in program reverse engineering
Boyer et al. A robust reconfiguration protocol for the dynamic update of component‐based software systems
Cerny et al. Microservice Anti-Patterns and Bad Smells. How to Classify, and How to Detect Them. A Tertiary Study
Youssef et al. The impact of developer team sizes on the structural attributes of software
Diment et al. The Definitive Guide to Catalyst: Writing Extensible, Scalable and Maintainable Perl-Based Web Applications
JP2016126700A (ja) プログラム検証装置、プログラム検証方法及びプログラム検証プログラム
Clarke et al. A common computational science environment for high performance computing centers
Moran et al. Fixing bug reporting for mobile and GUI-based applications
JP7385105B2 (ja) 情報処理プログラム、情報処理装置および情報処理方法
Gorzny et al. Requirements Engineering Challenges for Blockchain Rollups
JP4080739B2 (ja) 画像形成装置用アプリケーション生成方法およびその方法をコンピュータに実行させるプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080226

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110307

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110607

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110808

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110905

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140909

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees