JP4613214B2 - ソフトウェア自動構成装置 - Google Patents

ソフトウェア自動構成装置 Download PDF

Info

Publication number
JP4613214B2
JP4613214B2 JP2008043704A JP2008043704A JP4613214B2 JP 4613214 B2 JP4613214 B2 JP 4613214B2 JP 2008043704 A JP2008043704 A JP 2008043704A JP 2008043704 A JP2008043704 A JP 2008043704A JP 4613214 B2 JP4613214 B2 JP 4613214B2
Authority
JP
Japan
Prior art keywords
software component
annotation
software
automatic program
storage unit
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
JP2008043704A
Other languages
English (en)
Other versions
JP2009205190A (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 Astemo Ltd
Original Assignee
Hitachi Automotive 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 Automotive Systems Ltd filed Critical Hitachi Automotive Systems Ltd
Priority to JP2008043704A priority Critical patent/JP4613214B2/ja
Priority to US12/388,081 priority patent/US8387010B2/en
Priority to EP09002298A priority patent/EP2107457B1/en
Publication of JP2009205190A publication Critical patent/JP2009205190A/ja
Application granted granted Critical
Publication of JP4613214B2 publication Critical patent/JP4613214B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management

Landscapes

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

Description

本発明は、既存のソフトウェア部品を格納するソフトウェア部品データベースから複数のソフトウェア部品を抽出し、それらを組合わせて新規プログラムのソースコードを自動生成するソフトウェア自動構成装置に関する。
従来より、既存のソフトウェア部品(以下、ソフト部品と省略する)を組合わせて新たなソフトウェアを開発することにより、その開発コストの削減を図ることが考えられている。また、既存のソフト部品に実績のあるものを選択することにより、それらを組合わせて開発した新規ソフトウェアの品質を維持することも検討されている。そこで、既存のソフト部品を格納するソフト部品データベースから複数のソフト部品を抽出し、それらを組合わせて新規プログラムのソースコードを自動生成するプログラム自動構成装置として、〔特許文献1〕がある。
しかし、ソフト部品データベースに格納されたソフト部品においてバグが発見されたためバグ修正されたソフト部品に交換する場合や、新規ソフト部品をソフト部品データベースに追加する場合等、ソフト部品データベースを保守する必要がある。特にソフト部品データベースに格納されたソフト部品数が大規模化した場合、そのような保守作業を容易化することは重要である。この為〔特許文献2〕では、マクロ記述を用いて複数のソフト部品を管理するソフト部品データベースについて、修正されたソフト部品との交換を自動化する方法が示されている。
特開2006−171898号公報 特開2007−102380号公報
しかしながら、従来技術は、マクロ記述を用いて複数のソフト部品を管理するソフト部品データベースのみに対して適用可能であり、その他の方法でソフト部品を管理するソフト部品データベースに対しては適用不可能である。また、従来技術では新規ソフト部品を追加する具体的な方法は検討されていない。
マクロ記述を用いた上記管理方法の場合、プログラム自動構成装置によって自動生成された新規プログラムのソースコード内に、同プログラムで使用しないものであってもソフト部品データベースに格納された全てのソフト部品が含まれてしまうため、同ソースコードの可読性が低いという問題がある。一方、自動生成した上記ソースコードに全てのソフト部品が含まれているため、同ソースコードに変更を加えた場合、ソフト部品データベースに格納されたソフト部品群のうちどのソフト部品に対応するソフト部品に変更が加えられたのか容易に特定できる。
上記のように、マクロ記述を用いた上記管理方法の場合、自動生成されたソースコードの可読性が低いため、必要なソフト部品のみを組合わせて新規プログラムのソースコードを自動生成するソフトウェア自動構成装置が用いられる場合が多い。しかし、マクロ記述を用いた上記管理方法の場合とは異なり、自動生成したソースコードに変更を加えた場合、変更を加えたソフト部品の特定と、対応するソフト部品のソフト部品データベースにおける格納場所を特定することが困難となる。特に格納されたソフト部品数が大規模化した場合、特に困難なものとなる。
本発明の目的は、ソフト部品データベースから必要なソフト部品のみを組合わせて新規プログラムのソースコードを自動生成するソフトウェア自動構成装置において、同ソフト部品データベースに格納されたソフト部品数が大規模化した場合でも、ソフト部品の交換や追加といった同ソフト部品データベースの保守作業を確実,容易にすることにある。
上記課題を実現するために本発明は、複数のソフトウェア部品を記憶するデータベース記憶部と、該データベース記憶部からソフトウェア部品を抽出しそれらを合成してファイルを生成する際に前記データベース記憶部から抽出した各ソフトウェア部品の前記データベース記憶部における格納場所を示す注釈を同ファイル内における前記ソフトウェア部品に付与するプログラム自動構成装置において、前記注釈を読み込み同ファイル内に合成された各ソフトウェア部品と前記データベース記憶部における同ソフトウェア部品の格納場所を特定する格納場所特定手段と、前記格納場所を基に同ファイル内に合成された前記ソフトウェア部品と、比較すべき前記データベース記憶部に格納された比較対象ソフトウェア部品を特定するソフトウェア部品特定手段と、同ファイル内に合成された前記ソフトウェア部品と前記比較対象ソフトウェア部品とを比較し内容の異なるソフトウェア部品を特定する手段と、前記データベース記憶部における指定されたソフトウェア部品を同ファイル内に合成された前記ソフトウェア部品で置換えする手段とを備えたことを特徴とするものである。
また、本発明はプログラム自動構成装置において、前記ソフトウェア部品の前後に付与された前記注釈を読み込み、前記ファイル内に合成された各ソフトウェア部品と前記データベース記憶部における同ソフトウェア部品の格納場所を特定する手段を備えることを特徴とするものである。
また、本発明はプログラム自動構成装置において、外部からの要求に応じて前記データベース記憶部における指定されたソフトウェア部品を同ファイル内に合成された前記ソフトウェア部品で置換えする手段を備えることを特徴とするものである。
また、本発明はプログラム自動構成装置において、前記データベース記憶部の外部から指定された新規格納場所に前記ファイル内に合成された前記ソフトウェア部品を追加する手段を備えることを特徴とするものである。
更に、上記課題を実現するために本発明は、複数のソフトウェア部品を記憶するデータベース記憶部と、該データベース記憶部からソフトウェア部品を抽出しそれらを合成してファイルを生成する際に前記データベース記憶部から抽出した各ソフトウェア部品の前記データベース記憶部における格納場所を示す注釈を同ファイル内における前記ソフトウェア部品に付与するプログラム自動構成装置において、前記注釈を読み込み同ファイル内に合成された各ソフトウェア部品と前記データベース記憶部における同ソフトウェア部品の格納場所を特定する手段と、前記格納場所を基に同ファイル内に合成された前記ソフトウェア部品と、比較すべき前記データベース記憶部に格納された比較対象ソフトウェア部品を特定する手段と、同ファイル内に合成された前記ソフトウェア部品と前記比較対象ソフトウェア部品とを比較し内容の異なるソフトウェア部品を特定する手段と、同ファイル内に合成された前記ソフトウェア部品を前記データベース記憶部における指定されたソフトウェア部品で置換えする手段とを備えたことを特徴とするものである。
また、本発明はプログラム自動構成装置において、前記データベース記憶部は木構造に構造化して複数のソフトウェア部品を記憶し、前記データベース記憶部におけるソフトウェア部品の格納場所を示す記法として前記木構造のパスを用いて前記注釈を付与し、前記記法を用いて付与された前記注釈を読み込み同ファイル内に合成された各ソフトウェア部品と前記データベース記憶部における同ソフトウェア部品の格納場所を特定する手段を有することを特徴とするものである。
また、本発明はプログラム自動構成装置において、前記データベース記憶部は記憶する各ソフトウェア部品に対し一意に識別可能なIDを付与し、前記データベース記憶部におけるソフトウェア部品の格納場所を示す情報として前記IDを用いて前記注釈を付与し、前記IDを用いて付与された前記注釈を読み込み同ファイル内に合成された各ソフトウェア部品と前記データベース記憶部における同ソフトウェア部品の格納場所を特定する手段を有することを特徴とするものである。
また、本発明はプログラム自動構成装置において、前記格納場所に格納されたソフトウェア部品と兄弟関係にあるソフトウェア部品を比較対象ソフトウェア部品に含めることを特徴とするものである。
また、本発明はプログラム自動構成装置において、読み込んだ前記注釈内に置換えを指示する情報が含まれていた場合、データベース記憶部における指定されたソフトウェア部品を前記注釈が付与された前記ソフトウェア部品で置換えする手段を備えることを特徴とするものである。
また、本発明はプログラム自動構成装置において、読み込んだ前記注釈内に新規追加を指示する情報が含まれていた場合、前記注釈を含むファイル内に合成された前記ソフトウェア部品を新規ソフトウェア部品としてデータベース記憶部における指定された新規格納場所に追加する手段を備えることを特徴とするものである。
上記本発明の構成により、ソフト部品データベースから必要なソフト部品のみを組合わせて新規プログラムのソースコードを自動生成する場合においても、自動生成したソースコードに加えられた変更の有無の特定,変更を加えたソフト部品の特定と、対応するソフト部品のデータベース記憶部における格納場所を容易に特定可能となる。
その結果、ソフト部品数が大規模化した場合でも、ソフト部品を記憶するデータベース記憶部に対する保守作業を容易にすることが実現出来る。
以下、本発明の実施例を図面を用いて説明する。
以下では、ソフト部品データベースに格納されているソフト部品を「DBソフト部品」、ソフトウェア自動構成装置が生成したソースファイルに含まれるソフト部品を「派生ソフト部品」と呼ぶことにする。
図1は、本発明のソフトウェア自動構成装置の機能ブロック図である。ソフトウェア自動構成装置は自動構成部100およびソフト部品データベース150から構成される。自動構成部100は、コード生成部110およびデータベース保守部120から構成される。図2は、本発明のソフトウェア自動構成装置のハードウェア構成の一例を示している。この例では、図1における自動構成部100を中央演算装置を備えたコンピュータ201に配置し、データベース保守部もコンピュータ201に配置し、ソフト部品データベース150をインターネット等のネットワークで繋がれたサーバ203に配置している例を示している。しかしながら、自動構成部100およびソフト部品データベース150を同一のコンピュータに配置したり、自動構成部100におけるコード生成部110およびデータベース保守部120をそれぞれ異なるコンピュータに配置してもかまわない。
ソフト部品データベース150には、複数のソフト部品が格納される。ここで、ソフト部品とはソースファイルまたは部分的なソースコード文字列を示す。ソフト部品データベース150において、全てのソフト部品は単一のツリーで管理される。ソフト部品データベースが管理するツリーの例を図3に示す。図4は、ユーザが独自にタグを定義できるマークアップ言語であるXMLを用いて、図3に示すツリーを記述した例を示している。上記の様なマークアップ言語として、XMLの他にもSGML等を用いて記述してもよい。また、リレーショナルデータベースを用いてソフト部品データベースを実現してもよい。図5は、リレーショナルデータベースを用いて、図3に示すツリーを管理した例を示している。
自動構成部100はコード生成部110およびデータベース保守部120から構成される。コード生成部110は注釈付加部111を備える。コード生成部110は、自動生成する新規プログラムに必要なソフト部品をソフト部品データベース150から抽出する。そして図7に示すように、コード生成部110は、抽出した前記ソフト部品の前後に同ソフト部品のソフト部品データベース150における格納場所情報を、注釈付加部111を用いて注釈として付加した後、それらを適切に結合しコンパイル可能なソースファイルとして出力する。注釈付加部111が各ソフト部品の前後に付加する前記注釈において、図7に示すように、前記格納場所情報は前後何れか一方に含めてもよい。また、ソフト部品701および702のように、ソースファイル内において必ず派生ソフト部品が連続して合成される場合には、必ずしも派生ソフト部品の末端に注釈を付加する必要はない。例えば、注釈713および723が付加されていなくても、注釈711および721のみを用いて派生ソフト部品712および722を特定可能である。しかし、前記ソースファイル内において派生ソフト部品が連続して合成されない場合、ソフト部品の前記ソフト部品の前後に前記注釈を付加することにより、ソフト部品特定部121は前記ソースファイルに合成されたソフト部品の範囲を容易に特定可能となる。なお、コード生成部110がソフト部品データベース150から抽出すべきソフト部品の指定は、GUIを介してソフトウェア自動構成装置のユーザから受け付ける方法や、それらを指定する情報を含む何らかのファイルで受け付ける方法等が考えられる。
データベース保守部120はソフト部品特定部121,比較対象特定部123,ソフト部品比較部124、およびソフト部品操作部125から構成され、ソフト部品特定部121は注釈抽出部122を備える。ソフト部品特定部121は、入力されたソースファイル130に対し注釈抽出部122を用いて前記注釈を抽出することによって前記ソースファイル130に含まれる派生ソフト部品(の範囲)を特定し、同派生ソフト部品とそれに付加された注釈に含まれる前記格納場所情報を比較対象特定部123に出力する。比較対象特定部123は入力した前記格納場所情報を基にソフト部品データベース150に格納されたDBソフト部品群のうち、入力した前記派生ソフト部品と比較すべきDBソフト部品を特定し、前記派生ソフト部品および比較対象として特定した前記DBソフト部品をソフト部品比較部124に出力する。ソフト部品比較部124は、入力した前記派生ソフト部品の内容と前記DBソフト部品の内容を比較し、内容の異なる場合には前記派生ソフト部品,前記DBソフト部品,前記格納場所情報と差異部分をソフト部品操作部125に出力する。ソフト部品操作部125は、ソフト部品比較部124から入力された内容の異なる前記ソフト部品について、指定された方針に従って、ソフト部品データベース150に格納された前記DBソフト部品を前記派生ソフト部品と入れ替えるか、前記派生ソフト部品を新規DBソフト部品としてソフト部品データベース150に追加する。なお、ソフト部品操作部125の上記のような動作方針を指定する方法としては、GUIを介してユーザ160から受け付ける方法や、派生ソフト部品を修正した際に、同派生ソフト部品に付加されている注釈内に、前記方針を指定する情報を追加しておき、注釈抽出部が同情報を抽出してソフト部品操作部125に出力する方法が考えられる。
以下では、本発明のソフトウェア自動構成装置を構成する各部について詳細に説明する。
図3はソフト部品データベース150に格納されるソフト部品群の例であり、論理的なツリー構造で示したものである。図4は、図3に示す論理的ツリーをXMLで記述した例を示している。図4ではスペースの都合上、図3に示す論理的ツリーのうちノード300〜309に対応するXMLを示している。
図4において、<Group>および<Feature>タグがツリー構造を形成している。<Group>タグはソフト部品群を分類するためのものである。例えば図3において、ノード300は図4における<Group>タグ400に対応し、“Microwave Oven”というオーブンレンジシステムそのものを定義している。すなわち、図3のツリーにおいてノード300の子孫ノードは全てオーブンレンジシステムに関するソフト部品であるという分類を示している。また、オーブンレンジシステムに関するソフト部品は“Sensors”および“Actuators”に分類されることを、ノード302および340が示している。図4に示すように<sub Groups>タグを導入することにより、このような<Group>タグの入れ子構造を表現可能にしている。そして、ノード304および330,341,342によって、分類“Sensors”には“Weight Sensor”および“Start Button”というソフト部品が属しており、分類“Actuators”には“Beeper”および“Light”というソフト部品が属していることが定義される。
<Feature>タグは、本データベースから自動生成する新規プログラムに必要なソフト部品の選択肢を定義する。例えば図3において、ノード304および306,308により、“Weight Sensor”という分類について“Boolean Weight”および“Analog Weight”がソフト部品の選択肢として定義される。これにより、前記新規プログラムに必要なソフト部品“Weight Sensor”として“Boolean Weight”または“Analog Weight”のいずれか一方のソフト部品が選択可能であると定義される。具体的にはノード306は、図4における<Feature>タグ405に対応し、“Boolean Weight”という重量センサに関するソフト部品を定義する。<Feature>タグにより、重量センサのうち“Boolean Weight”というソフト部品が選択肢の一つとして定義される。また、ノード308は、図4における<Feature>タグ408に対応し、“Analog Weight”という重量センサに関するソフト部品を定義する。<Feature>タグにより、重量センサのうち“Analog Weight”というソフト部品が選択肢の一つとして定義される。
なお、属性cardinalityを用いて、<Feature>タグで定義した複数の選択肢のうち、同時に何個選択可能か定義する。cardinality=“1..1”の場合必ず1個選択する必要があり、cardinality=“0..*”の場合0個以上何個でも選択可能であると定義する。例えば図3において、ノード304にはcardinality=“1..1”と定義されている。したがって、ノード306“Boolean Weight”またはノード308“Analog Weight”の何れか一方を必ず選択する必要がある。
<src>タグと</src>タグで挟んだ部分はソフト部品そのものを示している。<src></src>タグ内には<File>タグおよび<Text>タグを挿入可能である。<File>タグと</File>タグで挟んだ部分はソースコードが記述されたファイルそのものをソフト部品として示し、<Text>タグと</Text>タグで挟んだ部分は部分的なソースコードとなる文字列とそれを挿入すべきファイルパス名をソフト部品として示している。例えば図4において、<Group>タグ404の直下にある<src>タグ405内には、ソースコードが記述されたファイル“/src/Sensors/Weight/Weight.h”がソフト部品として示されている。また、<Feature>タグ406の直下にある<src>タグ407内には、ソースコード文字列を挿入すべきファイルパス名が“/src/Sensors/Weight/Weight.c”であり、挿入されるソースコード文字列が“void init Weight() { … }”であるソフト部品が示されている。以上のように<File>タグおよび<Text>タグを導入することにより、ファイルそのものをソフト部品として扱うものと、ソースコード文字列をソフト部品として扱うものとをコード生成部110は区別して処理することが可能となる。
なお、ソフト部品データベースが管理する前記ツリーは論理的に単一のものであればよく、部分的なツリーが物理的に複数のXMLファイルに記述されていても構わない。
図5は、図3に示すツリー構造をリレーショナルデータベースのテーブルで実現した例である。ツリーを構成する各ノードおよび各ソフト部品に、一意に識別可能なIDが付与される。リレーショナルデータベースでは、各行を一意に特定するための主キーとして前記IDが利用される。
コード生成部110は、ソフト部品データベース150から新規プログラムのソースファイルを生成するのに必要なソフト部品を抽出し、同ソースファイルとして合成する。その合成方法としては例えば、同ソースファイルの雛形をあらかじめ用意し、同雛形に上記ソフト部品を挿入することが挙げられる。図6は、テンプレートエンジンであるVelocity(http://jakarta.apache.org/velocity/)を用いた場合における、挿入すべきファイルの雛形の例として、“/src/Weight/Weight.c”ファイルの雛形を示している。Velocityでは、例えば図6に示すように、ソフト部品の挿入場所が“$init Weight”や“$get Weight”として定義される。
図7は、図4に示すXMLを用いて実現したソフト部品データベース150を基に、コード生成部110が生成したソースファイル“/src/Weight/Weight.c”の内容を示している。この例では、図3においてソフト部品308が選択された場合を示している。コード生成部110は、選択されたソフト部品として図4に示す<Text>タグ409および410に含まれる部分的なソースコード420および421を抽出する。図7において、コード712および722がそれぞれ前記ソースコード420および421に相当する。次にコード生成部110が備える注釈付加部111が、抽出した同ソフト部品のソフト部品データベース150における格納場所を示す情報を含む注釈を前記ソースコード420および421の前後にそれぞれ追加する。図7において、注釈711,713および721,723が、それぞれコード420および421の前後に注釈付加部111が追加した前記注釈に相当する。この例では、ソフト部品データベース150におけるツリー構造をXMLで記述しているため、注釈付加部111は、前記格納場所をXPathで表現しコメント文を用いて注釈を追加している。また、注釈付加部111は、ソフト部品の最初の部分に「@begin」を、最後の部分に「@end」を注釈として付加することによりソフト部品の範囲を示している。その結果、コード生成部110が雛形ファイルに挿入するソースコードは図7においてコード701および702のようになる。最後にコード生成部110は、上記<Text>タグに含まれるpath属性を基に雛形ファイルを特定し、前記ソースコード701および702をそれぞれ図5における挿入場所“$init Weight”および“$get Weight”に挿入しソースファイル“/src/Weight/Weight.c”として出力する。
一方、図8は、ソフト部品データベースとして図5に示すリレーショナルデータベースを用いた場合において、新規プログラムのソースファイルを生成するのに必要なソフト部品として、図7の場合と同様、図3におけるノード308が選択された場合における、コード生成部110が生成した“/src/Weight/Weight.c”ファイルの内容を示している。図7の場合と異なり、リレーショナルデータベースを用いた場合には、注釈811および821のように、注釈に含める前記格納場所を示す情報として、図5におけるソフト部品IDを用いている。
以下では、ソフト部品データベース150として図4に示すXMLを用いて実現した場合を例に、データベース保守部120について詳細に説明する。なお、図5に示すリレーショナルデータベースを用いたソフト部品データベースの場合においても、データベース保守部120は以下と同様に実現可能である。
データベース保守部120は、ソフト部品特定部121,比較対象特定部123,ソフト部品比較部124、およびソフト部品操作部125から構成され、ソフト部品特定部121は注釈抽出部122を備え、コード生成部110が過去に生成したソースファイル130を入力とする。ここでは、図9に示すソースファイルが入力された場合を例にとり、データベース保守部120の詳細を説明する。同ソースファイルは、図4に示す内容のソフト部品データベース150を基に、過去にコード生成部110が図7に示す内容で生成したものであり、例えばそれを基に製品を完成させる過程で、コード712がコード912のように修正されたものである。
図9に示すソースファイルが入力されると、データベース保守部120では、まずソフト部品特定部121が同ソースファイルに含まれる派生ソフト部品を特定する。そのために、注釈抽出部122が同ソースファイルに含まれる注釈911,913および921,923を抽出する。具体的には、注釈抽出部122は、ソースファイルに含まれるコメントに注目し、「@begin」または「@end」が含まれたコメントを注釈と判断し抽出する。そして、ソフト部品特定部121は、「@begin」を含む注釈と「@end」を含む注釈に挟まれた文字列を派生ソフト部品として抽出する。その結果、図9におけるコード912および922が派生ソフト部品として抽出される。次に、比較対象特定部123は、前記注釈に含まれるソフト部品格納場所情報を解釈することにより、ソフト部品特定部121が特定した前記派生ソフト部品に対応するDBソフト部品のソフト部品データベース150における格納場所を特定する。そして、比較対象特定部123は、前記格納場所に格納されたDBソフト部品を前記派生ソフト部品との比較対象と判断し、ソフト部品比較部124に出力する。この例では、比較対象特定部123は、注釈911および921に含まれるXPathを解析することにより、図4における、それぞれタグ409および410が前記格納場所として特定され、そのタグに挟まれた文字列420および421が比較対象DBソフト部品として特定される。なお、比較対象特定部123が特定する、前記派生ソフト部品との比較対象とするDBソフト部品としては、上記のように前記格納場所に格納されたDBソフト部品だけでなく、ソフト部品データベース150のツリー構造における前記DBソフト部品と兄弟関係にあるDBソフト部品も前記比較対象として特定することも可能である。例えば、図3において、前記格納場所に格納されたDBソフト部品309と兄弟関係にあるものは、DBソフト部品307である。これを前記派生ソフト部品との比較対象に含めることも可能である。これにより、図9に示すような前記派生ソフト部品の修正内容が、結果的に対応するDBソフト部品とは異なるDBソフト部品の内容と一致した場合に、前記派生ソフト部品を誤って新規DBソフト部品としてソフト部品データベース150に追加してしまい前記DBソフト部品と重複することを防ぐことが可能となる。
次に、ソフト部品比較部124は、前記派生ソフト部品の内容と前記DBソフト部品の内容を比較する。ソフト部品操作部125は、ソフト部品比較部124が比較した結果を図10に示すような画面に表示し、ソフトウェア自動構成装置のユーザ160に派生ソフト部品と内容の異なるDBソフト部品の場所を示す。図10に示す例では、選択肢「Analog Weight」に対応する矩形1001を他と異なる色で表示することにより、同選択肢に属するDBソフト部品の内容が対応する派生ソフト部品の内容と異なっていることを示している。
データベース保守部120は、入力された全てのソースファイル130について上記のようにDBソフト部品群と内容を比較することにより、図10に示すような画面を表示してユーザ160に内容の異なるDBソフト部品の格納場所を全て示すことができる。
図10に示す画面において、ユーザ160はマウスポインタ1002を用いて矩形1001をクリックまたはダブルクリックすることにより、ソフト部品操作部125は図11に示すような画面を表示し、上記比較結果の詳細を表示する。具体的には、図11においてリストボックス1101に、矩形1001に対応する選択肢に属するDBソフト部品群のうち、対応する派生ソフト部品の内容と異なるDBソフト部品の一覧を表示する。ユーザ160はマウスポインタ1102を用いて上記一覧の中からいずれかをクリックまたはダブルクリックすると、対応するソフト部品の具体的な差分が領域1103に表示される。領域1103では、選択されたDBソフト部品の内容が左側に表示されるとともに、対応する派生ソフト部品が右側に表示される。そして、内容の異なる部分が背景とは異なる色で表示される。ボタン1110を押すと、派生ソフト部品の内容が全てDBソフト部品の内容で上書きされる。一方、ボタン1111を押すと、DBソフト部品の内容が全て派生部品の内容で上書きされる。ボタン1112を押すと、現在選択されている差異部分についてのみ、派生ソフト部品の内容がDBソフト部品の内容で上書きされる。一方、ボタン1113を押すと、現在選択されている差異部分についてのみ、DBソフト部品の内容が派生ソフト部品の内容で上書きされる。以上より、ボタン1110および1112を利用することにより、コード生成部110が新規プログラムのソースファイルを生成後、DBソフト部品の内容が更新された場合に、同更新内容を上記ソースファイル130に反映することができる。一方、ボタン1111および1113を利用することにより、コード生成部110が新規プログラムのソースファイルを生成後、派生ソフト部品を修正した場合に、同修正内容を対応するDBソフト部品に反映することができる。なお、ボタン1114および1115を押すことにより、別の差異部分を選択可能である。
前記差異部分をソフト部品データベース150に格納されたソフト部品に反映させるだけでなく、前記差異部分を含む派生ソフト部品を新規DBソフト部品としてソフト部品データベース150に追加することも可能である。ソフト部品操作部125は、ボタン1116を用意することにより派生ソフト部品を新規ソフト部品として追加することを可能にする。ボタン1116が押されると、図12に示すようなダイアログを表示し、新規ソフト部品が属する新規ノード(Feature)名の入力を受け付ける。Feature名が入力されOKボタンが押されると、派生ソフト部品に対応するDBソフト部品が属するノードの兄弟にあたる位置に上記ノードを追加し、同ノードに属するDBソフト部品として、上記派生ソフト部品が格納される。図13は、図12に示すダイアログにおいてFeature名が入力されOKボタンが押された場合における、ソフト部品操作部125の処理フローを示している。まずステップ1300において、新規ソフト部品として追加する派生ソフト部品に対応するDBソフト部品の属するノードが、ソフト部品データベース150のツリー構造において葉に相当するか調べる。例えば、図10において矩形1001に対応するノード「Analog Weight」は葉に相当する。葉に相当する場合、ステップ1301において、入力されたFeature名を持つノードを、上記DBソフト部品が属するノードの兄弟にあたる位置に新規ノードとして追加する。次に、ステップ1302において、追加した上記新規ノードに属するDBソフト部品として、上記派生ソフト部品を追加する。さらに、ステップ1303において、上記DBソフト部品が属するノードに属するその他のDBソフト部品群を全て複製し、追加した新規ノードに属するDBソフト部品として追加する。次に、ステップ1304において、上記派生ソフト部品および複製した上記DBソフト部品群に対応する派生ソフト部品群に付加された注釈に含まれる格納場所情報を、今回新規追加したDBソフト部品の場所を示すXPathに修正する。図14は、図9に示す派生ソフト部品912を、Feature名に「Digital Weight」を指定して新規ソフト部品としてソフト部品データベース150に追加した場合における、派生ソフト部品を含むソースファイルの内容を示している。図14において、派生ソフト部品1412が上記派生ソフト部品912に相当する。ステップ1304によって注釈911は注釈1411のように修正される。上記のように、従来のDBソフト部品の格納場所に対し、兄弟にあたる格納場所が新規格納場所になるため、図14に示すように、<Text>タグの直接の親にあたる<Feature>タグのname属性を指定されたFeature名に変更すればよい。
なお、ステップ1304によって、新規ソフト部品として追加したもの以外の派生ソフト部品についても、新規ソフト部品として追加した派生ソフト部品と同じノードに属する派生ソフト部品に付加された注釈に含まれる格納場所情報が修正される。例えば、図14において、派生ソフト部品1422の注釈1421も修正される。これにより、Feature名「Digital Weight」が選択された場合においてコード生成部110が生成したソースファイルと同じ内容となる。最後に、ステップ1305において、新規追加DBソフト部品群と注釈を修正した上記派生ソフト部品群の内容を比較し、図10と同様の画面を表示する。これにより、今回新規DBソフト部品として追加した派生ソフト部品以外にもDBソフト部品と内容の異なる派生ソフト部品が存在した場合、再度差異を特定しそれを相互に反映可能となる。
なお、ステップ1300において、新規ソフト部品として追加する派生ソフト部品に対応するDBソフト部品の属するノードが葉に相当しない場合、ステップ1310に分岐する。例えば、図15は、図3とは異なるソフト部品データベースの内容を示しており、本データベースにおいてノード1500は葉に相当しないノードである。この場合、ステップ1310において、上記DBソフト部品に属するノードが「Group」である場合「Feature」に変更し、同ノードの親の属性cardinalityが設定されていない場合“1..1”に設定する。次に、ステップ1311において、上記ノードの兄弟にあたる位置に、入力されたFeature名を持つノードを新規Featureノードとして追加する。次に、ステップ1312において、新規ソフト部品として追加する派生ソフト部品に対応するDBソフト部品の属するノードの子供に対し、追加した上記新規ノードからリンクを張る。これにより、上記子供を複製することなく、上記新規選択肢の子供として扱うことができる。ステップ1312が終了すると、前記ステップ1303以降を実行する。図15(b)に示すソフト部品データベースのツリー構造は、図15(a)に示すツリー構造においてノード1501に属するDBソフト部品に対応する派生ソフト部品を新規ソフト部品としてソフト部品データベースに追加した場合を示している。
図15(b)に示すように、ステップ1310においてノード1501が「Feature」に変更されるとともにその親ノード1500の属性cardinalityに“1..1”が設定される。そして、ステップ1311において新規ソフト部品が属するノード1511が、図15(b)に示すように、ノード1510の兄弟にあたる位置に追加される。次に、ステップ1312において、ノード1501の子ノード1502および1503に対し、ノード1511からリンクが張られる。後は前述のようにステップ1303〜1305が実行され、その結果、図15(b)に示すようなツリー構造となる。
ソフト部品操作部125は、図11に示すような画面を表示して、ユーザ160からの操作内容に従い、DBソフト部品の内容と対応する派生ソフト部品の内容の差異部分を相互に反映したり、派生ソフト部品を新規DBソフト部品としてソフト部品データベース150に追加するだけでなく、派生ソフト部品に付加されている注釈内に含まれる指示に従うことも可能である。図16は、過去にコード生成部110が図7に示す内容で生成したソースファイルであり、コード712がコード1612のように修正されたものである。そして、注釈1611に「@replace」というマーク1620が追加されている。図16に示すソースファイルが入力されると、注釈1611を抽出する際に、注釈抽出部122がマーク1620が含まれていることを確認し、同注釈が付加されていた派生ソフト部品に対応付けてその旨をソフト部品操作部125に出力する。そしてソフト部品操作部125は、図10や図11のような画面を表示することなく、上記派生ソフト部品と対応するDBソフト部品との差異部分を同DBソフト部品に反映する。なお、ソフト部品操作部125は、図10のような画面を表示して対応する派生ソフト部品と内容の異なるDBソフト部品の場所を表示し、ユーザ160が矩形1001をクリックまたはダブルクリックすることにより、上記派生ソフト部品と対応するDBソフト部品との差異部分を同DBソフト部品に反映するか否かを確認するダイアログを表示することも可能である。
図17は、過去にコード生成部110が図7に示す内容で生成したソースファイルであり、コード712がコード1712のように修正されたものである。そして、注釈1711に「@add」というマーク1720が新規DBソフト部品の格納場所を示すXPathとともに追加されている。図17に示すソースファイルが入力されると、図16の場合と同様に、注釈抽出部122がマーク1720を確認し、同マークを含む注釈が付加されていた派生ソフト部品に対応付けて同マークに含まれるXPathとともにその旨をソフト部品操作部125に出力する。そしてソフト部品操作部125は、図10や図11のような画面を表示することなく、図13に示す処理フローに従い、上記派生ソフト部品を新規DBソフト部品としてソフト部品データベース150に追加する。ただし、ステップ1301または1311において追加する新規Featureノードは、上記XPathに示される格納場所に追加する。図16の場合と同様に、ソフト部品操作部125は、図10のような画面を表示して対応する派生ソフト部品と内容の異なるDBソフト部品の場所を表示し、ユーザ160が矩形1001をクリックまたはダブルクリックすることにより、上記派生ソフト部品を新規DBソフト部品としてソフト部品データベース150に追加するか否かを確認するダイアログや、新規Featureノード追加場所を図10のような形式で表示し、同追加場所が正しいか確認するダイアログを表示することも可能である。
ソフトウェアだけでなく、モジュール構造化されたあらゆるテキスト文書をソフト部品データベースに格納し、それを基に新規文書のテキストファイルを自動構成することも可能である。そして、このようなデータベースを保守管理する装置にも適用することが可能である。
ソフトウェア自動構成装置の機能ブロック図。 ソフトウェア自動構成装置のシステム構成例。 論理的なツリーで構造化したソフト部品データベースの例。 図3に示す内容をXMLで記述した例。 図3に示す内容をリレーショナルデータベースのテープルで実現した例 Velocityを用いる場合における/src/Sensors/Weight/Weight.cの雛形ファイル。 図4に示す内容のソフト部品データベースからソフトウェア自動構成装置が生成したソースファイルの例。 図5に示す内容のソフト部品データベースからソフトウェア自動構成装置が生成したソースファイルの例。 図7に示すソースファイルに修正が加えられた例。 ソフト部品データベースにおける生成したソースファイルとの相違箇所を示す、ソフトウェア自動構成装置のGUI画面の例。 ソフト部品データベース内ソフト部品と、生成したソースファイル内ソフト部品の差分の詳細を表示し、同差分の相互反映を受け付ける、ソフトウェア自動構成装置のGUI画面の例。 ソフト部品データベース内ソフト部品と内容の異なる、生成したソースファイル内ソフト部品を新規ソフト部品としてソフト部品データベースに追加する場合における、ソフトウェア自動構成装置のGUI画面の例。 ソフト部品データベース内ソフト部品と内容の異なる、生成したソースファイル内ソフト部品を新規ソフト部品としてソフト部品データベースに追加する場合における、ソフトウェア自動構成装置の処理フロー。 ソフト部品データベース内ソフト部品と内容の異なる、生成したソースファイル内ソフト部品を新規ソフト部品としてソフト部品データベースに追加する場合における、ソフトウェア自動構成装置によって修正された同ソースファイルの例。 ソフト部品データベース内ソフト部品と内容の異なる、生成したソースファイル内ソフト部品を新規ソフト部品としてソフト部品データベースに追加する場合における、ソフト部品データベースにおける変更内容を示す図。 ソフト部品データベース内ソフト部品と内容の異なる、生成したソースファイル内ソフト部品の内容をソフト部品データベース内ソフト部品に反映することをソフトウェア自動構成装置に指示する命令を、生成したソースファイル内注釈に追加した例。 ソフト部品データベース内ソフト部品と内容の異なる、生成したソースファイル内ソフト部品を新規ソフト部品としてソフト部品データベースに追加することをソフトウェア自動構成装置に指示する命令を、生成したソースファイル内注釈に追加した例。
符号の説明
100 自動構成部
110 コード生成部
111 注釈付加部
120 データベース保守部
121 ソフト部品特定部
122 注釈抽出部
123 比較対象特定部
124 ソフト部品比較部
125 ソフト部品操作部
130 ソフトウェア自動構成装置が生成したソースファイル
150 ソフト部品データベース
160 ソフトウェア自動構成装置のユーザ

Claims (14)

  1. ソースコードからなる複数のソフトウェア部品を記憶するデータベース記憶部から前記ソフトウェア部品を抽出しそれらを合成してソースファイルを生成する際に前記データベース記憶部から抽出した各ソフトウェア部品の前記データベース記憶部における格納場所を示す注釈を前記各ソフトウェア部品に付与するプログラム自動構成装置において、
    前記各ソフトウェア部品を合成して生成された前記ソースファイルが変更された場合に、
    前記注釈を読み込み前記各ソフトウェア部品と前記データベース記憶部における前記各ソフトウェア部品の格納場所を特定する手段と、
    前記各ソフトウェア部品と、前記注釈に基づいて特定された前記各ソフトウェア部品の格納場所に格納された比較対象ソフトウェア部品とを特定する手段と、
    前記各ソフトウェア部品と前記比較対象ソフトウェア部品とを比較し内容の異なるソフトウェア部品を特定する手段と、
    前記比較対象ソフトウェア部品を前記内容の異なるソフトウェア部品で置換えする手段と、
    を備えたことを特徴とするプログラム自動構成装置。
  2. 請求項1に記載のプログラム自動構成装置において、前記注釈は前記ソフトウェア部品の前後に付与されることを特徴とするプログラム自動構成装置。
  3. 請求項1に記載のプログラム自動構成装置において、
    前記比較対象ソフトウェア部品と前記内容の異なるソフトウェア部品との置換えは、外部からの要求に応じて行うことを特徴とするプログラム自動構成装置。
  4. 請求項に記載のプログラム自動構成装置において、
    外部からの要求に応じて前記データベース記憶部の外部から指定された新規格納場所に前記内容の異なるソフトウェア部品を追加する手段を有することを特徴とするプログラム自動構成装置。
  5. 請求項1に記載のプログラム自動構成装置において、
    前記データベース記憶部は木構造に構造化して複数のソフトウェア部品を記憶し、
    前記データベース記憶部におけるソフトウェア部品の格納場所を示す記法として前記木構造のパスを用いて前記注釈を付与し、
    前記記法を用いて付与された前記注釈を読み込み同ソースファイル内に合成された各ソフトウェア部品と前記データベース記憶部における同ソフトウェア部品の格納場所を特定する手段を有することを特徴とするプログラム自動構成装置。
  6. 請求項1に記載のプログラム自動構成装置において、
    前記データベース記憶部は記憶する各ソフトウェア部品に対し一意に識別可能なIDを付与し、
    前記データベース記憶部におけるソフトウェア部品の格納場所を示す情報として前記IDを用いて前記注釈を付与し、
    前記IDを用いて付与された前記注釈を読み込み同ソースファイル内に合成された各ソフトウェア部品と前記データベース記憶部における同ソフトウェア部品の格納場所を特定する手段を有することを特徴とするプログラム自動構成装置。
  7. 請求項に記載のプログラム自動構成装置において、
    前記木構造において一つ上の階層が同じノードから枝分かれしたソフトウェア部品を比較対象ソフトウェア部品に含めることを特徴とするプログラム自動構成装置。
  8. 請求項1に記載のプログラム自動構成装置において、
    読み込んだ前記注釈内に置換えを指示する情報が含まれていた場合、データベース記憶部における指定されたソフトウェア部品を前記注釈が付与された前記ソフトウェア部品で置換えする手段を備えることを特徴とするプログラム自動構成装置。
  9. 請求項1に記載のプログラム自動構成装置において、
    読み込んだ前記注釈内に新規追加を指示する情報が含まれていた場合、前記注釈を含むソースファイル内に合成された前記ソフトウェア部品を新規ソフトウェア部品としてデータベース記憶部における指定された新規格納場所に追加する手段を備えることを特徴とするプログラム自動構成装置。
  10. 請求項1に記載のプログラム自動構成装置において、
    前記データベース記憶部は木構造に構造化して複数のソフトウェア部品を記憶し、
    前記データベース記憶部におけるソフトウェア部品の格納場所を示す記法として前記木構造のパスを用いて前記注釈を付与し、
    前記記法を用いて付与された前記注釈を読み込み同ソースファイル内に合成された各ソフトウェア部品と前記データベース記憶部における同ソフトウェア部品の格納場所を特定する手段を備えたことを特徴とするプログラム自動構成装置。
  11. 請求項1に記載のプログラム自動構成装置において、前記データベース記憶部は記憶する各ソフトウェア部品に対し一意に識別可能なIDを付与し、前記データベース記憶部におけるソフトウェア部品の格納場所を示す情報として前記IDを用いて前記注釈を付与し、前記IDを用いて付与された前記注釈を読み込み同ソースファイル内に合成された各ソフトウェア部品と前記データベース記憶部における同ソフトウェア部品の格納場所を特定する手段を備えたことを特徴とするプログラム自動構成装置。
  12. 請求項1に記載のプログラム自動構成装置において、木構造において一つ上の階層が同じノードから枝分かれしたソフトウェア部品を比較対象ソフトウェア部品に含めることを特徴とするプログラム自動構成装置。
  13. 請求項11に記載のプログラム自動構成装置において、
    読み込んだ前記注釈内に置換えを指示する情報が含まれていた場合、データベース記憶部における指定されたソフトウェア部品を前記注釈が付与された前記ソフトウェア部品で置換えする手段を備えることを特徴とするプログラム自動構成装置。
  14. 請求項1に記載のプログラム自動構成装置において、
    読み込んだ前記注釈内に新規追加を指示する情報が含まれていた場合、前記注釈を含むソースファイル内に合成された前記ソフトウェア部品を新規ソフトウェア部品としてデータベース記憶部における指定された新規格納場所に追加する手段を備えることを特徴とするプログラム自動構成装置。
JP2008043704A 2008-02-26 2008-02-26 ソフトウェア自動構成装置 Expired - Fee Related JP4613214B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2008043704A JP4613214B2 (ja) 2008-02-26 2008-02-26 ソフトウェア自動構成装置
US12/388,081 US8387010B2 (en) 2008-02-26 2009-02-18 Automatic software configuring system
EP09002298A EP2107457B1 (en) 2008-02-26 2009-02-18 Automatic software configuring system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008043704A JP4613214B2 (ja) 2008-02-26 2008-02-26 ソフトウェア自動構成装置

Publications (2)

Publication Number Publication Date
JP2009205190A JP2009205190A (ja) 2009-09-10
JP4613214B2 true JP4613214B2 (ja) 2011-01-12

Family

ID=40821639

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008043704A Expired - Fee Related JP4613214B2 (ja) 2008-02-26 2008-02-26 ソフトウェア自動構成装置

Country Status (3)

Country Link
US (1) US8387010B2 (ja)
EP (1) EP2107457B1 (ja)
JP (1) JP4613214B2 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9058177B2 (en) * 2004-02-12 2015-06-16 Raju Venkata Chiluvuri Real software components for achieving real component-based design
IN2011CH02818A (ja) * 2011-08-18 2015-05-29 Infosys Ltd
US9940104B2 (en) * 2013-06-11 2018-04-10 Microsoft Technology Licensing, Llc. Automatic source code generation
US9582389B2 (en) * 2013-07-10 2017-02-28 International Business Machines Corporation Automated verification of appliance procedures
US9274790B2 (en) * 2014-04-30 2016-03-01 Oracle International Corporation Customization manager
US9372689B2 (en) 2014-05-28 2016-06-21 International Business Machines Corporation Synchronizing comments in source code with text documents
JP2017111551A (ja) * 2015-12-15 2017-06-22 株式会社リコー 情報処理装置、プログラム、情報処理システム
KR101916960B1 (ko) * 2017-12-29 2019-01-30 경기대학교 산학협력단 복수의 소스 코드들을 자동적으로 결합하는 방법
JP6902513B2 (ja) * 2018-09-05 2021-07-14 株式会社日立製作所 ソースコード生成支援装置およびソースコード生成支援方法
JPWO2023276212A1 (ja) * 2021-06-28 2023-01-05

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003140893A (ja) * 2001-11-02 2003-05-16 Nippon Telegr & Teleph Corp <Ntt> ユーザインタフェースプログラム自動生成装置、自動生成方法およびプログラムと記録媒体
JP2003271382A (ja) * 2002-03-15 2003-09-26 Mitsubishi Denki Information Technology Corp ソフトウエア開発ツールを用いたアプリケーション開発システム
JP2006268299A (ja) * 2005-03-23 2006-10-05 Ns Solutions Corp ソフトウェア開発支援システム

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04205142A (ja) * 1990-11-29 1992-07-27 Mitsubishi Electric Corp 既存ソースコード再利用エデイタ
JPH05150960A (ja) * 1991-11-26 1993-06-18 Fujitsu Ltd プリコンパイラ
JPH0689166A (ja) * 1992-09-08 1994-03-29 Kobe Nippon Denki Software Kk 部品処理記述展開方式
US7278106B1 (en) * 1998-07-14 2007-10-02 Computer Associates Think, Inc. Method and apparatus for interacting with a source code control system
US6457176B1 (en) * 1999-06-25 2002-09-24 International Business Machines Corporation System and method for source code processing
US6678882B1 (en) * 1999-06-30 2004-01-13 Qwest Communications International Inc. Collaborative model for software systems with synchronization submodel with merge feature, automatic conflict resolution and isolation of potential changes for reuse
US20020104067A1 (en) * 1999-12-29 2002-08-01 Green David W. Method and system and article of manufacture for an N-tier software component architecture application
US6871344B2 (en) * 2000-04-24 2005-03-22 Microsoft Corporation Configurations for binding software assemblies to application programs
US6951010B2 (en) * 2000-09-19 2005-09-27 Fujitsu Limited Program specification generating system
EP1430420A2 (en) * 2001-05-31 2004-06-23 Lixto Software GmbH Visual and interactive wrapper generation, automated information extraction from web pages, and translation into xml
FR2827686B1 (fr) * 2001-07-19 2004-05-28 Schneider Automation Utilisation d'hyperliens dans un programme d'une application d'automatisme et station de programmation d'une telle application
US7346891B2 (en) * 2002-07-05 2008-03-18 Eka Systems Inc. System and method for automating generation of an automated sensor network
US7003534B2 (en) * 2002-11-18 2006-02-21 Innopath Software, Inc. Generating difference files using module information of embedded software components
US20050108630A1 (en) * 2003-11-19 2005-05-19 Wasson Mark D. Extraction of facts from text
EP1746498A4 (en) * 2004-04-28 2011-08-10 Fujitsu Ltd AID PROGRAM FOR SOURCE PRODUCTION AND METHOD FOR SUPPORTING SOURCE PRODUCTION
EP1769338A1 (en) * 2004-05-21 2007-04-04 Computer Associates Think, Inc. Automated creation of web gui for xml servers
US7426715B2 (en) * 2004-06-14 2008-09-16 Lucent Technologies Inc. Shutting down a plurality of software components in an ordered sequence
US20060026567A1 (en) * 2004-07-27 2006-02-02 Mcvoy Lawrence W Distribution of data/metadata in a version control system
JP4852834B2 (ja) * 2004-08-30 2012-01-11 株式会社日立製作所 アプリケーション要件設計支援システムおよび方法
US20060101398A1 (en) * 2004-11-01 2006-05-11 Schepers Paul D Program output management
JP5041263B2 (ja) 2004-12-13 2012-10-03 株式会社デンソー オブジェクト静的結合方法およびオブジェクト結合ツール
US7984119B2 (en) * 2005-04-21 2011-07-19 Sap Ag Template configuration tool for application servers
JP4488227B2 (ja) 2005-09-30 2010-06-23 オムロン株式会社 可変性を有する制御部品のデバッグ方法、及びデバッグ支援装置
US20070234316A1 (en) * 2006-03-07 2007-10-04 Sap Ag Methods and systems for development of software for complex systems
JP2007265089A (ja) * 2006-03-29 2007-10-11 Fujitsu Ltd ソフトウェア保守支援プログラム,処理方法および装置
JP2007323205A (ja) * 2006-05-30 2007-12-13 Hitachi Software Eng Co Ltd プログラム管理システム
US20090018879A1 (en) * 2007-07-13 2009-01-15 David Bernard Flaxer Method and system supporting business solution validation in a component business model
US8266588B2 (en) * 2007-11-12 2012-09-11 International Business Machines Corporation Creating projects in a rational application developer workspace
US20090144701A1 (en) * 2007-11-30 2009-06-04 Norman Lee Faus Methods and systems for providing configuration data

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003140893A (ja) * 2001-11-02 2003-05-16 Nippon Telegr & Teleph Corp <Ntt> ユーザインタフェースプログラム自動生成装置、自動生成方法およびプログラムと記録媒体
JP2003271382A (ja) * 2002-03-15 2003-09-26 Mitsubishi Denki Information Technology Corp ソフトウエア開発ツールを用いたアプリケーション開発システム
JP2006268299A (ja) * 2005-03-23 2006-10-05 Ns Solutions Corp ソフトウェア開発支援システム

Also Published As

Publication number Publication date
JP2009205190A (ja) 2009-09-10
EP2107457A3 (en) 2009-10-14
US8387010B2 (en) 2013-02-26
EP2107457B1 (en) 2011-10-12
US20090217243A1 (en) 2009-08-27
EP2107457A2 (en) 2009-10-07

Similar Documents

Publication Publication Date Title
JP4613214B2 (ja) ソフトウェア自動構成装置
JP4907610B2 (ja) ソフトウェア構成管理方法およびシステム
US6915306B1 (en) Automatic generation of data models and accompanying user interfaces
US7672957B2 (en) User interface configured to display mechanical fabric and semantic model of a legacy computer application generated, graphical view navigating links between mechanical nodes and semantic nodes based on relevant business rules
US6931590B2 (en) Method and system for managing documents
US20160170719A1 (en) Software database system and process of building and operating the same
US20080263101A1 (en) Data Processing Device and Data Processing Method
US20060168558A1 (en) Software development system and method
US8601367B1 (en) Systems and methods for generating filing documents in a visual presentation context with XBRL barcode authentication
US20110083120A1 (en) Modeling and linking documents for packaged software application configuration
US20090293005A1 (en) System and method for user interface design generator for data management applications
US20080209572A1 (en) Data Processing System, Data Processing Method, and Management Server
EP3103002B1 (en) Batch generation of links to documents based on document name and page content matching
US7805452B2 (en) Data processing device and data processing method
US20090077462A1 (en) Document processing device and document processing method
US7519947B2 (en) Orchestration designer
US20090083300A1 (en) Document processing device and document processing method
US20110167070A1 (en) Reusing assets for packaged software application configuration
US20100169333A1 (en) Document processor
US7827195B2 (en) Document management device and document management method
US20080005662A1 (en) Server Device and Name Space Issuing Method
EP1684170A2 (en) Software development system and method
US20080010587A1 (en) Document Processing Device and Document Processing Method
JP4373470B2 (ja) 文書変換活用システム
JP2008225898A (ja) 変換装置、変換プログラム及び変換方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091127

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20091225

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100309

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100428

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

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

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

Free format text: PAYMENT UNTIL: 20131022

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