(57)【要約】【課題】  ホストターゲットで構成されるクロス開発環境においてソースプログラムの開発者がターゲットシステムで直接ソースプログラムを開発することのできる開発環境を提供する。【解決手段】  ソースの開発者はターゲットシステムでソースプログラムを作成し、作成されたソースプログラムはホストシステムに伝送されクロスコンパイル部を通じてクロスコンパイルされる。コンパイルされた実行プログラムは再びターゲットシステムに伝送され実行される。ソースの編集―コンパイル―実行はプロジェクト基盤として進行される。ターゲットシステムのソースの編集部はソースの編集機能を提供し、プロジェクト管理のクライアント部はホストシステムのプロジェクト管理のサーバー部と連動してプロジェクトの生成、開き、ビルド、実行などのプロジェクトの管理機能を提供する。ホストシステムのクロスコンパイル部はソースプログラムのクロスコンパイル機能を提供する。【選択図】  図１
2005085255.tif 000002
【特許請求の範囲】
【請求項１】
ホストシステムとターゲットシステムで構成されるクロス開発環境でターゲットシステム基盤のソースプログラムを開発するための装置であって、
前記ターゲットシステムは、貯蔵装置と、入力装置と、出力装置と、
前記入力装置を通じ入力されたソースプログラムの作成に係るソースプログラムの生成、開き、編集、貯蔵命令を貯蔵し、出力装置を通じ表示するソース編集部と、
前記入力、出力装置及びホストシステムと連動してプロジェクトの生成、開き、修正、ビルド、実行、閉じ等の機能を遂行し、プロジェクト情報と関連してデータの送受信及び情報の貯蔵を制御するプロジェクト管理のクライアントとを有し、
前記ホストシステムは、貯蔵装置と、ソースプログラムをビルド（クロスコンパイル及びリンク）して前記ターゲットシステムで実行できる実行プログラムを生成した後貯蔵装置に貯蔵し、コンパイル結果のメッセージをプロジェクト管理のサーバー部に伝送するクロスコンパイル部と、
前記ホストシステムと連動してプロジェクト情報とソースプログラムを前記ホストシステムの貯蔵装置に貯蔵し、前記クロスコンパイル部と連動してソースプログラムのビルド（コンパイル及びリンク）機能を遂行するプロジェクト管理のサーバー部とを含むことによって、ソースプログラムの開発者がターゲットシステムでソースプログラムを開発できるようにすることを特徴とするターゲットシステム基盤のソースプログラムの開発装置。
【請求項２】
前記ターゲットシステムは、携帯可能な装置に具現され、前記ホストシステムと遠距離でもソースプログラムの開発と修正ができるようになったことを特徴とする請求項１記載のターゲットシステム基盤のソースプログラムの開発装置。
【請求項３】
ホストシステムとターゲットシステムで構成されるクロス開発環境でターゲットシステム基盤のソースプログラムを開発するための方法であって、
前記ターゲットシステムでプロジェクトを生成するか、或いは既存のプロジェクトを開くプロジェクト生成又は開きのステップと、
前記生成又は開きによるプロジェクトを修正するプロジェクト修正のステップと、
前記修正されたプロジェクトを、前記ホストシステムでビルドするプロジェクトビルドのステップと、
前記ビルドされた実行プログラムを、前記ターゲットシステムで実行するプロジェクト実行のステップと、
前記プロジェクトを閉じるプロジェクト閉じのステップとを含むことを特徴とするターゲットシステム基盤のソースプログラムの開発方法。
【請求項４】
前記プロジェクト生成のステップは、
ソースプログラムの開発者が前記ターゲットシステムの入力装置を通じてプロジェクト生成情報を入力するステップと、
前記入力された情報に基づいて、前記ホストシステムのプロジェクト管理のサーバー部へプロジェクトの存在有無を要請するステップと、
ホストシステムにプロジェクトが存在している場合、前記プロジェクト管理のクライアント部によってプロジェクトが存在していることをターゲットシステムの出力装置で出力し、プロジェクトが存在していない場合、プロジェクトの生成情報に基づき、ターゲットシステムの貯蔵装置にプロジェクト情報を生成して貯蔵するステップと、
前記プロジェクト管理のクライアント部が生成されたプロジェクト情報をターゲットシステムの出力装置で出力するステップとを含むことを特徴とする請求項３記載のターゲットシステム基盤のソースプログラムの開発方法。
【請求項５】
前記プロジェクト開きのステップは、
ソースプログラムの開発者が前記ターゲットシステムの入力装置を通じてプロジェクト開きの情報を入力するステップと、
プロジェクト管理のクライアント部が前記プロジェクトの開き情報からターゲットシステムのプロジェクトの存在有無を検査するステップと、
前記のステップでプロジェクトが存在していない場合に前記プロジェクト管理のクライアント部が前記ホストシステムにプロジェクト情報を要請するステップと、
前記ホストシステムのプロジェクト管理のサーバー部が前記ターゲットシステムから受けたプロジェクトの開き情報からプロジェクト情報を読み出し、ホストシステムの貯蔵装置から前記ターゲットシステムへ伝送するステップと、
前記プロジェクト管理のクライアント部が前記ホストシステムから受けたプロジェクト情報をターゲットシステムの貯蔵装置に貯蔵するステップと、
前記プロジェクト管理のクライアント部がプロジェクト開きの情報に従って前記ターゲットシステムの貯蔵装置からプロジェクトを開くステップと、
プロジェクト情報をターゲットシステムの出力装置で出力するステップとを含むことを特徴とする請求項３記載のターゲットシステム基盤のソースプログラムの開発方法。
【請求項６】
前記プロジェクト修正のステップは、
ソースプログラムの開発者が前記ターゲットシステムの入力、出力装置を通じてプロジェクト情報に含まれるソース、ビルド、実行の情報を修正するステップと、
ソースプログラムの開発者が前記ターゲットシステムの入力、出力装置及びソース編集部を通じてソースプログラムの生成、編集、貯蔵等のソースプログラムを修正し、修正したソースプログラムの内容を前記ターゲットシステムに貯蔵するステップとを含むことを特徴とする請求項３記載のターゲットシステム基盤のソースプログラムの開発方法。
【請求項７】
前記プロジェクトビルドのステップは、
ソースプログラムの開発者が前記ターゲットシステムの入力装置を通じてプロジェクトビルドの命令を下すステップと、
前記ターゲットシステムのプロジェクト管理のクライアント部が前記プロジェクト情報と修正されたソースプログラムを前記ホストシステムへ伝送してビルドを要請するステップと、
前記ホストシステムのプロジェクト管理のサーバー部が前記ターゲットシステムから受けた、修正されたソースプログラムとプロジェクト情報をホストシステムの貯蔵装置に貯蔵するステップと、
前記プロジェクト管理のサーバー部がプロジェクト情報と前記ホストシステムの貯蔵装置のソースプログラムに基づいて、クロスコンパイル部と連動しプロジェクトをビルドするステップと、
前記プロジェクト管理のサーバー部がビルドのメッセージとビルドされた実行プログラムを前記ターゲットシステムに伝送するステップと、
前記プロジェクト管理のクライアント部が前記ホストシステムから受けたビルドのメッセージを前記ターゲットシステムの出力装置で出力し、ビルドされた実行プログラムをターゲットシステムの貯蔵装置に貯蔵するステップとを含むことを特徴とする請求項３記載のターゲットシステム基盤のソースプログラムの開発方法。
【請求項８】
前記プロジェクト実行のステップは、
ソースプログラムの開発者が前記ターゲットシステムの入力装置を通じてプロジェクト実行の命令を下すステップと、
プロジェクト管理のクライアント部がターゲットシステムの貯蔵装置に貯えられている実行プログラムを実行するステップと、
実行結果をターゲットシステムの出力装置で出力し、ソースプログラムの開発者が出力結果を確認するステップとを含むことを特徴とする請求項３記載のターゲットシステム基盤のソースプログラムの開発方法。
【請求項９】
前記プロジェクト閉じのステップは、
ソースプログラムの開発者が前記ターゲットシステムの入力装置を通じてプロジェクト閉じの命令を下すステップと、
プロジェクト管理のクライアント部がプロジェクト情報をターゲットシステムの貯蔵装置へ貯蔵するステップと、
前記プロジェクト情報と修正されたソースプログラムを前記ホストシステムへ伝送してプロジェクト閉じを要請するステップと、
プロジェクト管理のサーバー部が前記ターゲットシステムから受けたプロジェクト情報と修正されたソースプログラムをホストシステムの貯蔵装置に貯蔵し、ターゲットシステムにプロジェクトの閉じが成功したことを知らせるステップと、
前記プロジェクト管理のクライアント部が前記ターゲットシステムの出力装置でプロジェクト閉じの成功のメッセージを出力するステップと、
前記プロジェクト管理のクライアント部が前記ターゲットシステムの出力装置からプロジェクト情報を削除するステップとを含むことを特徴とする請求項３記載のターゲットシステム基盤のソースプログラムの開発方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はクロス開発環境において、エムべデッドシステムのソースプログラムを開発するための装置及びその方法に関するものであって、詳しくはホストターゲットで構成されるクロス開発環境において、エムべデッドシステムのソースプログラムを開発するため、ターゲットシステムで直接ソースプログラムが開発できる装置と方法に関するものである。
【背景技術】
【０００２】
クロス開発環境とは、ホストシステムとターゲットシステムとがネットワークで繋がっている状態のホストシステムにおいて、ターゲットシステムのソースプログラムを開発することのできる環境のことをいうものであって、ホストシステムは、デスクトップＰＣ又はワークステーションのような使用者たちが手軽く使える汎用のコンピュータシステムであり、ターゲットシステムは、ホストシステムとは異なって特殊な機能を遂行するエムべデッドシステムのことをいう。
【０００３】
例えば、家庭で使うテレビ、冷蔵庫にコンピュータシステムが内蔵され既存のテレビと冷蔵庫の機能を持ちながら、ネットワークを介してのインターネットの接続等のような機能を持たせることができる。エムべデッドシステムはテレビ、冷蔵庫等のような家電製品のみならず、携帯電話、ＰＤＡ、ウェブパッドのような簡単に携帯することのできる機器を含み、コンピュータシステムが内蔵された全ての機器のことをいう。
【０００４】
エムべデッドシステム等はＣＰＵとメモリを備えコンピュータシステムが行える演算及びデータ処理等の機能を遂行することができるが、速い演算と多量のデータ処理が主な目的ではないので、ホストシステムのＣＰＵとメモリよりは性能と貯蔵容量が些か足りなくても良い。そのため、安価のＣＰＵとメモリを使うことになる。このような理由でエムべデッドシステムで遂行されるソースプログラムの開発は、エムべデッドシステムよりもっと性能の優秀なホストシステムで行われている。
【０００５】
エムべデッドソースプログラムの開発者は、ホストシステムでソースプログラムを作成し、作成されたソースプログラムをクロスコンパイルして実行プログラムを作る。そして実行プログラムをターゲットシステムにダウンロードして実行させることになり、開発者はこのような過程を繰り返しながらエムべデッドソースプログラムの開発を完成することになる。
【０００６】
このような従来のクロス開発環境では、全ての開発がホストシステムで行われており、ターゲットシステムは実行結果を確認するためにホストシステムの近くに固定された状態で位置する。しかし、ＰＤＡのように移動性を持つターゲットシステムで移動性に係る応用プログラムを開発する過程においては、従来のクロス開発環境は開発時間の増大と開発環境の不便さをもたらすこともある。
【０００７】
例えば、道路で実時間で道路の位置情報を出力するＰＤＡ用のソースプログラムの開発を仮定する場合に、このようなソースプログラムの開発の大部分は事務室があるホストシステムで行われており、実際の状況でのテストのために道路でＰＤＡを移動しながらテストする過程でプログラムエラーが生ずることもある。この時、最悪の場合には再び事務室に移動してソースプログラムを修正した後、また道路に移動してテストしなければならない。このような状況はソースプログラムの開発時間をおびただしく無駄使いすることであり、開発者が移動中プログラムエラーに対するソースプログラムを直ちに修正してテストすることのできない開発環境の不便さをもたらすこともある。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
本発明の目的は、従来のエムべデッドソフトウェアの開発環境でホストシステムとターゲットシステムとの間のクロス開発環境を維持しながら、ＰＤＡのようなターゲットシステムでターゲットシステムのソースプログラムを直接開発できる装置と方法を提供することにある。
【０００９】
本発明の別の目的は、ホストシステムで開発された実行プログラムをＰＤＡのようなターゲットシステムを移動しながらテストする過程でプログラムのエラーが生じた場合に、再びホストシステムでソースプログラムを修正しないで、ターゲットシステムで直接ソースプログラムを修正、コンパイル、実行できる装置と方法を提供することにある。
【００１０】
本発明はターゲットシステムでソースプログラムを編集できる装置を設け、ターゲットシステムソースプログラムを修正して、修正されたソースプログラムをホストシステムに伝送しホストシステムのクロスコンパイラーを使ってコンパイルする。コンパイルされた実行プログラムを再びターゲットシステムに伝送しターゲットシステムで実行することによって前記目的を達成することができる。
【００１１】
ターゲットシステムで修正されたソースプログラムのコンパイルをターゲットシステムではなくホストシステムで行う理由は、一般にホストシステムと比べてＣＰＵの速度が遅く、メモリの容量が足りないため、コンパイル環境をターゲットシステムに維持することはコンパイルの時間も増加させ、ターゲットシステムのメモリに対する無駄使いも増加させるためである。 勿論ホストシステムでのコンパイル方式がホストとターゲットとの間の通信のための過負荷も有り得るが、通信に対する過負荷よりターゲットシステムの資源とコンパイルの時間に対する過負荷がもっと大きいと予想されるため、コンパイル環境をホストシステムに維持することがもっと効果的である。
【課題を解決するための手段】
【００１２】
前記目的を達成するための本発明は、ホストシステムとターゲットシステムで構成されるクロス開発環境でソースプログラムを開発するための装置であって、ターゲットシステムは、貯蔵装置と、入力装置と、出力装置と、前記入力装置を通じ入力されたソースプログラムの作成に係るソースプログラムの生成、開き、編集、貯蔵命令を貯蔵し、出力装置を通じ表示するソース編集部及び前記入力、出力装置及びホストシステムと連動してプロジェクトの生成、開き、修正、ビルド、実行、閉じ等の機能を遂行し、前記プロジェクト情報と関連してデータの送受信及び情報の貯蔵を制御するプロジェクト管理のクライアントとを有し、前記ホストシステムは、貯蔵装置と、ソースプログラムをビルド（クロスコンパイル及びリンク）して前記ターゲットシステムで実行できる実行プログラムを生成した後貯蔵装置に貯蔵し、コンパイル結果のメッセージをプロジェクト管理のサーバー部に伝送するクロスコンパイル部及び前記入力、出力装置及びホストシステムと連動してプロジェクトの生成、開き、修正、ビルド、実行、閉じ等の機能を遂行し、前記プロジェクト情報を前記ターゲットシステムの貯蔵装置に貯蔵できるように働くプロジェクト管理のクライアント部とを有し、ホストシステムがクロスコンパイル部と、貯蔵装置及び前記ターゲットシステムと連動してプロジェクト情報を前記ホストシステムの貯蔵装置に貯蔵し、前記クロスコンパイル部と連動してソースプログラムのビルド（コンパイル及びリンク）機能を遂行するプロジェクト管理のサーバー部とを備え、ソースプログラムの開発者がターゲットシステムでソースプログラムを開発することを特徴とするターゲットシステム基盤のソースプログラムの開発装置を提供する。
【００１３】
前記目的を達成するための本発明は、ホストシステムとターゲットシステムで構成されるクロス開発環境でソースプログラムを開発するための方法であって、前記ターゲットシステムでプロジェクトを生成するか、或いは既存のプロジェクトを開くプロジェクト生成又は開きのステップと、前記生成又は開きによるプロジェクトを修正するプロジェクト修正のステップと、前記修正されたプロジェクトを、前記ホストシステムでビルドするプロジェクトビルドのステップと、前記ビルドされた実行プログラムを、前記ターゲットシステムで実行するプロジェクト実行のステップ及び前記プロジェクトを閉じるプロジェクト閉じのステップとを含むことを特徴とするターゲットシステム基盤のソースプログラムの開発方法を提供する。
【発明の効果】
【００１４】
以上で説明したことのように本発明によると、ターゲットシステムでソースプログラムを編集し、ホストシステムでソースプログラムのビルドを遂行したため、ターゲットシステムを常にホストシステムの近くに固定しなくても良い。
【００１５】
また、ソースプログラムのビルドは、ターゲットシステムではなくホストシステムで遂行されるため、ビルド環境をターゲットシステムに備えるよりソースプログラムのビルド時間を短縮させ、ターゲットシステムのメモリ使用量を減らすことができる。
【００１６】
さらに移動性を持つPDAのようなターゲットシステムで移動性と係る応用プログラムを開発するとき、テストのためにターゲットシステムが移動しながらエラーが生じた場合に、ターゲットシステムで直接ソースプログラムを修正してテストすることができるので、開発者にとって開発の便宜性を提供し開発の時間を短縮することができる。
【発明を実施するための最良の形態】
【００１７】
以下、本発明の好ましい実施例を、添付した図面を参照しながら詳しく説明する。  
図１は、本発明によるターゲットシステム１００基盤のソースプログラムの開発環境を示す図である。
【００１８】
図１を参照すると、本発明は、ターゲットシステム１００でソースプログラムを作成し、作成されたソースプログラムをホストシステムでビルドし、ビルドされた実行プログラムをターゲットシステム１００で実行することのできる装置を開示している。
【００１９】
前記ターゲットシステム１００は、プロジェクト管理のクライアント部１０１、ソース編集部１０７、ＣＰＵ１０６、通信装置１０２、貯蔵装置１０３、入力装置１０３及び出力装置１０５で構成されており、前記ホストシステム１２０は、プロジェクト管理のサーバー部１２１、クロスコンパイル部１２４、通信装置１２２及び貯蔵装置１２３で構成されており、前記ターゲットシステム１００とホストシステム１２０は有・無線ネットワーク１１０を通じ繋がっている。
【００２０】
ソースプログラムの開発者は、ターゲットシステム１００のＣＰＵ１０６が遂行できる実行プログラムの開発のために入力装置１０４と出力装置１０５とを利用してソースプログラムの編集、ビルド、実行等の実行プログラムの開発に必要な過程を遂行する。
【００２１】
ターゲットシステム１００で作成されたソースプログラムはホストシステム１２０に伝送されビルドし、さらに実行プログラムが生成されるし、ターゲットシステム１００の実行プログラムはホストシステム１２０に伝送され実行される。この時、ソースプログラムの開発者は、作成されたプログラムの実行結果をターゲットシステム１００の出力装置１０５を通じ確認することができる。
【００２２】
本発明によって開示されるクロス開発環境は、ソースプログラムの編集―ビルド―実行の開発過程をプロジェクト基盤で進行できる開発環境を提供する。
【００２３】
ソースプログラムの開発者は、ターゲットシステム１００の入力装置１０４と出力装置１０５とを利用してプロジェクトの生成、開き、修正、ビルド及び実行等を遂行する。プロジェクト関連機能等は図２で詳しく説明する。
【００２４】
このようにして、ターゲットシステム１００のプロジェクト管理のクライアント部１０１とホストシステム１２０のプロジェクト管理のサーバー部１２１は、このようなプロジェクト基盤の開発環境の核心のモジュールとなる。
【００２５】
前記ターゲットシステム１００は、ソース編集部１０７でソースプログラムの開発者にソースプログラムの作成機能を提供する。ソースプログラムの開発者は、ターゲットシステム１００の入力装置１０４を通じソースプログラムの生成、開き、編集、貯蔵等の命令を入力し、入力された情報はソース編集部１０７に伝送され開発者が要求する内容等が遂行された後、ターゲットシステム１００の出力装置１０５に表われることになる。
【００２６】
例えば、ソースプログラムを修正した後、開発者が入力装置１０４でソースプログラムの貯蔵命令を下すとソース編集部１０７は、その命令を受け、現在編集されたソースプログラムをターゲットシステム１００の貯蔵装置１０３に貯蔵する。成功的に貯蔵された場合に、その結果によるメッセージがターゲットシステム１００の出力装置１０５に表われるし、その結果を見て、開発者は貯蔵が成功的に遂行されたことを認知する。
【００２７】
ターゲットシステム１００のプロジェクト管理のクライアント部１０１は、ホストシステム１２０のプロジェクト管理のサーバー部１２１と連動してソースプログラムの開発者にプロジェクト管理の機能を提供する。ソースプログラムの開発者は、ターゲットシステム１００の入力装置１０４を通じプロジェクト関連の命令を入力し、入力された情報はプロジェクト管理のクライアント部１０１に伝送され開発者が要求する内容等が遂行された後、その結果はターゲットシステム１００の出力装置１０５に伝送される。
【００２８】
例えば、開発者が入力装置１０４を通じプロジェクトビルドの命令を下すと、プロジェクト管理のクライアント部１０１は当該命令を受け、ホストシステム１２０のプロジェクト管理のサーバー部１２１にプロジェクト情報を伝送してビルドを要請する。
【００２９】
ターゲットシステム１００からビルド要請を受けたホストシステム１２０のプロジェクト管理のサーバー部１２１はビルドを遂行した後、ビルドの結果をプロジェクト管理のクライアント部１０１に伝送することになり、プロジェクト管理のクライアント部１０１はビルドの結果をターゲットシステム１００の出力装置１０５に出力して、開発者にビルドの結果を知らせる。
【００３０】
ターゲットシステム１００のプロジェクト管理のクライアント部１０１は、ホストシステム１２０のプロジェクト管理のサーバー部１２１と連動するために、プロジェクト関連データの送受信を遂行する。プロジェクト管理のクライアント部１０１は、ターゲットシステム１００の通信装置１０２を制御してホストシステム１２０のプロジェクト管理のサーバー部１２１にデータを送り、プロジェクト管理のサーバー部１２１が送られたデータを受ける。
【００３１】
ターゲットシステム１００の通信装置１０２は、有・無線ネットワーク１１０を通じホストシステム１２０の通信装置１２２にデータを送ったり受けたりする。
【００３２】
前記ホストシステム１２０のプロジェクト管理のサーバー部１２１は、ターゲットシステム１００で作成されホストシステム１２０に伝送されたプロジェクト情報とソースプログラム情報とを貯蔵装置１２３に貯蔵し、関連情報をクロスコンパイル部１２４に伝送してソースプログラムに対するビルドを要請することになる。
【００３３】
前記ホストシステム１２０のクロスコンパイル部１２４は、ソースプログラムをビルド（クロスコンパイル及びリンク）してターゲットシステム１００のＣＰＵ１０６が遂行できる実行プログラムを生成した後貯蔵装置１２３に貯蔵し、コンパイル結果のメッセージをプロジェクト管理のサーバー部１２１に伝送する。
【００３４】
前記プロジェクト管理のサーバー部１２１は、クロスコンパイル部１２４から送られたコンパイル結果メッセージと貯蔵装置１２３に貯えられた実行プログラムを、通信装置１２２を通じターゲットシステム１００のプロジェクト管理のクライアント部１０１に送る。
【００３５】
図２は、ソースプログラムの開発者がプロジェクト基盤としてソースプログラムを開発する過程を示す。図１で提示したプロジェクト基盤のクロス開発環境装置に基づいて、ソースプログラムの開発者は、図２のような過程に従ってターゲットシステム１００でソースプログラムを開発する。
【００３６】
開発者が図２の各ステップ毎にターゲットシステム１００の入力装置１０４を通じ命令を下すと、プロジェクト管理のクライアント部１０１とソース編集部１０７は命令を遂行しその結果をターゲットシステム１００の出力装置１０５に出力する。
【００３７】
ソースプログラムの開発を初めて取り掛かった場合に、ソースプログラムの開発者は、プロジェクト生成のステップ２００で新たなプロジェクトを生成し、プロジェクト修正のステップ２２０に移る。しかし以前から行ってきた開発を続ける場合に、ソースプログラムの開発者は、プロジェクト開きのステップ２１０で既に作業していたプロジェクトを開き、プロジェクト修正のステップ２２０に移る。
【００３８】
プロジェクト生成のステップ２００に対するもっと詳しい内容は、図３で説明される。またプロジェクト開きのステップ２１０に対するもっと詳しい内容は、図４で説明される。
【００３９】
プロジェクト修正のステップ２２０は、プロジェクト情報の修正とソースプログラムの修正で構成される。プロジェクト情報の修正は、プロジェクトに含まれるソース情報、ビルド情報、実行情報の修正を行う。
【００４０】
プロジェクト情報の修正において、ソース情報の修正はプロジェクト情報にソースファイルの追加・削除等を行うことであり、ビルド情報の修正はプロジェクトビルドと係るコンパイル、リンクオプションの修正、ヘッダファイルディレクトリの追加・削除、ライブラリファイルディレクトリの追加・削除等を行うことである。実行情報は実行環境の変数、実行因子等の修正を行うことである。
【００４１】
ソースプログラムの開発者がターゲットシステム１００の入力装置１０４を通じプロジェクト情報の修正命令を入力すると、プロジェクト管理のクライアント部１０１はターゲットシステム１００の出力装置１０５にプロジェクト情報を出力する。開発者が出力装置１０５のプロジェクト情報を見ながら入力装置１０４を通じ修正命令を入力すると、プロジェクト管理のクライアント部１０１は修正命令を処理して、その結果を再び出力装置１０５へ表示する。このような過程を繰り返しながらソースプログラムの開発者はプロジェクト情報を修正することになる。
【００４２】
プロジェクト修正のステップ２２０におけるソースプログラムの修正はソースプログラムの生成、編集、貯蔵等で構成される。ソースプログラムの生成は新たなソースプログラムを作ることであり、ソースプログラムの編集はソースプログラムを作成することであり、ソースプログラムの貯蔵はソースプログラムを貯蔵装置１０３に貯蔵することである。
【００４３】
ソースプログラムの開発者がターゲットシステム１００の入力装置１０４を通じソースプログラムの生成命令を入力すると、その生成命令はソース編集部１０７に送られ、ソース編集部１０７は出力装置１０５へソースプログラムの開発者がソースプログラムを作成できる情報を表示する。
【００４４】
開発者がターゲットシステム１００の出力装置１０５を見ながら入力装置１０４を通じソースプログラムに係る命令を入力し、その命令を受けたソース編集部１０７は入力された命令を処理してその結果を出力装置１０５で出力する。このような過程を繰り返しながら、開発者はソースプログラムを作成することになる。ソースプログラムの作成が終わると、開発者は入力装置１０４を通じソースプログラムの貯蔵命令を入力し、ソース編集部１０７は現在作成されたソースプログラムを貯蔵装置１０３へ貯蔵する。
【００４５】
プロジェクト修正のステップ２２０が終わると、開発者はプロジェクトビルドのステップ２３０に移りプロジェクトビルドを遂行する。プロジェクトビルドのステップ２３０に対する詳しい説明は図５の説明に開示する。プロジェクトビルドの結果、ビルドエラーが生ずると再びプロジェクト修正のステップ２２０に移りプロジェクトを修正してからプロジェクトビルドを遂行する。ビルドが成功した場合、開発者はプロジェクト実行のステップ２５０に移る。
【００４６】
ビルドが成功した場合には、ターゲットシステム１００の貯蔵装置１０３に実行プログラムが貯えられる。貯蔵装置１０３の実行プログラムを実行させるために、開発者は入力装置１０４を通じてプロジェクト実行の命令を下し、命令を受けたプロジェクト管理のクライアント部１０１は貯蔵装置１０３の実行プログラムを探しプログラムを実行させる。プログラムの実行結果は出力装置１０５に表われ、開発者は出力結果を確認する。
【００４７】
もし、ステップ２５０でプログラムの実行エラーが生ずると、再びプロジェクト修正のステップ２２０に移りプロジェクトを修正してプロジェクトビルド、実行を進める。ステップ２５０で実行が成功した場合には、プロジェクト閉じのステップ２７０に移り現在作業しているプロジェクトを閉じる。プロジェクト閉じのステップ２７０に対する詳しい内容は図６の説明に示す。
【００４８】
図３は、図２のプロジェクト生成のステップ２００に対する詳細な方法を説明するためのフローチャートである。
【００４９】
図面を参照すると、プロジェクト生成のために、開発者がターゲットシステム１００の入力装置１０４を通じプロジェクト生成の命令を入力すると、プロジェクト管理のクライアント部１０１は出力装置１０５へプロジェクト生成の情報が入力可能な環境を出力することになり、開発者は出力装置１０５の内容を見ながら、入力装置１０４を通じプロジェクト名とプロジェクトのディレクトリで構成されたプロジェクト生成の情報を入力する（ステップ３００）。
【００５０】
ターゲットシステム１００の入力装置１０４を通じプロジェクト生成の情報が入力されると、プロジェクト管理のクライアント部１０１は入力装置１０４から受けたプロジェクト名とプロジェクトのディレクトリに基づいて、生成しようとするプロジェクトがホストシステム１２０に存在するか否かの確認を要請する（ステップ３０１）。
【００５１】
プロジェクト管理のクライアント部１０１は、生成しようとするプロジェクト名とプロジェクトディレクトリ、プロジェクトの存在要請の命令をメッセージで作って通信装置１０２を通じホストシステム１２０へ伝送する。
【００５２】
ホストシステム１２０のプロジェクト管理のサーバー部１２１は、ターゲットシステム１００から送られたメッセージを分析してプロジェクト名とプロジェクトディレクトリを抽出し、このような情報に基づいてホストシステム１２０の貯蔵装置１２３に該当プロジェクトが存在するかを検査する（ステップ３０２）。
【００５３】
プロジェクト管理のサーバー部１２１は、プロジェクトの存在有無の情報を含むメッセージを作成して通信装置１２２を通じターゲットシステム１００のプロジェクト管理のクライアント部１０１に伝送する。
【００５４】
メッセージを受けたターゲットシステム１００のプロジェクト管理のクライアント部１０１は、メッセージの情報を分析してホストシステム１２０にプロジェクトが存在したら、プロジェクト管理のクライアント部１０１はターゲットシステム１００の出力装置１０５へホストシステム１２０にプロジェクトが存在することを知らせる（ステップ３０３）。
【００５５】
開発者は出力装置１０５を通じプロジェクトが存在することを確認した後、再びプロジェクトの生成情報の入力ステップ３００に移り、プロジェクトの生成情報を変更した後、次のプロジェクト生成を進める。
【００５６】
もし、ステップ３０２でホストシステム１２０にプロジェクトが存在していないと、プロジェクト管理のクライアント部１０１はプロジェクト名とプロジェクトディレクトリに基づいてターゲットシステム１００の貯蔵装置１０３にプロジェクト名とディレクトリの情報のみを含む空のプロジェクトを作って貯蔵し、ターゲットシステム１００の出力装置１０５にプロジェクトが生成されたことを知らせ、生成されたプロジェクトの情報を出力する（ステップ３０４―３０５）。
【００５７】
図４は、図２のプロジェクト開きのステップ２１０に対する方法を説明するためのフローチャートである。  
図面を参照すると、プロジェクトを開くために、ソースプログラムの開発者がターゲットシステム１００の入力装置１０４を通じ開きの命令を入力すると、プロジェクト管理のクライアント部１０１は出力装置１０５へプロジェクト開きの情報が入力可能な環境を出力することになり、開発者は出力装置１０５の内容を見ながら、入力装置１０４に開こうとするプロジェクトの経路名を入力する（ステップ４１０）。
【００５８】
ここで、プロジェクトの経路名は、ホストシステム１２０の貯蔵装置１２３又はターゲットシステム１００の貯蔵装置１０３に貯蔵されるプロジェクト等を区切る名前のことをいう。
【００５９】
プロジェクトの経路名が入力されると、プロジェクト管理のクライアント部１０１は入力装置１０４を通じ入力されたプロジェクトの経路名に対応するプロジェクトが貯蔵装置１０３に存在するかを検査する（ステップ４１１）。
【００６０】
ステップ４１１で、入力装置１０４を通じ入力されたプロジェクト経路の名が貯蔵装置１０３に存在すると、プロジェクト管理のクライアント部１０１は貯蔵装置１０３に存在しているプロジェクト情報を読んで、読まれたプロジェクト情報を出力装置１０５を通じて出力する（ステップ４１２―４１３）。
【００６１】
逆に、入力されたプロジェクト名が貯蔵装置１０３に存在していないと、プロジェクト管理のクライアント部１０１はプロジェクト名、プロジェクト情報及びソースプログラムの要請命令をメッセージで縛って通信装置１０２を通じホストシステム１２０のプロジェクト管理のサーバー部１２１に伝送する（ステップ４１４）。
【００６２】
プロジェクト管理のサーバー部１２１は、ターゲットシステム１００から送られたメッセージを分析してプロジェクトの経路名を抽出し、ホストシステム１２０の貯蔵装置１２３に該当経路名のプロジェクトが存在するかを検査する（ステップ４１５）。
【００６３】
もし、ステップ４１５でホストシステム１２０の貯蔵装置１２３にプロジェクトの経路名が存在していると、貯蔵装置１２３からプロジェクトの情報を読んで、プロジェクト情報に含まれたソース情報からソースプログラムを読み出し、プロジェクトの情報とソースプログラムの情報をメッセージでターゲットシステム１００に伝送する（ステップ４１６）。
【００６４】
前記ターゲットシステム１００のプロジェクト管理のクライアント部１０１は、ホストシステム１２０から送られたメッセージを分析してそのメッセージに盛られたプロジェクト情報とソースプログラムの情報をターゲットシステム１００の貯蔵装置１０３に貯蔵する。そしてターゲットシステムでプロジェクト開きのステップ１０４に移り、プロジェクト開きの過程を進める（ステップ４１７）。
【００６５】
逆に、ステップ４１５でホストシステム１２０の貯蔵装置１２３にプロジェクトの経路名が存在していないと、プロジェクト管理のサーバー部１２１はホストシステム１２０に当該プロジェクトが存在していないことを、メッセージで縛って通信装置１２２を通じターゲットシステム１００のプロジェクト管理のクライアント部１０１に伝送し、出力装置１０５へプロジェクトが存在していないことを表示する（ステップ４１８―４１９）。
【００６６】
出力装置１０５からプロジェクトが存在していないことを確認した開発者は、再びプロジェクト開きの情報入力のステップ４１０に移り、別のプロジェクト名を入力してプロジェクト開きの過程を進める。
【００６７】
図５は、本発明による図２のプロジェクトビルドのステップ２３０に対する方法を説明するためのフローチャートである。  
図面を参照すると、ソースプログラムの開発者はターゲットシステム１００の入力装置１０４を通じてビルド命令を入力する。
【００６８】
命令を受けたプロジェクト管理のクライアント部１０１は、現在作業中のプロジェクト情報、ソースプログラムの情報とビルド命令をメッセージで作って通信装置１０２を通じホストシステム１２０に伝送してビルドを要請する（ステップ５３１）。
【００６９】
ホストシステム１２０のプロジェクト管理のサーバー部１２１は、ターゲットシステム１００から送られたメッセージを分析してプロジェクト情報とソースプログラムの情報を抽出し、ホストシステム１２０の貯蔵装置１２３に貯蔵し、プロジェクト情報からソースプログラムのビルドに必要なビルド情報を抽出する（ステップ５３２―５３３）。
【００７０】
ビルド情報は、コンパイルオプション、リンクオプション、ヘッダファイル、ライブラリファイルディレクトリ等の情報である。抽出されたビルド情報とソースプログラムの情報をクロスコンパイル部１２４に伝送する。
【００７１】
クロスコンパイル部１２４は、コンパイルオプション、ヘッダファイルディレクトリ等のビルド情報に基づき、クロスコンパイルを遂行すると同時にコンパイルエラーが生ずるかを検出する（ステップ５３４―５３５）。
【００７２】
ステップ５３５で、コンパイルにエラーが生ずるとホストシステム１２０のクロスコンパイル部１２４は、そのエラーの内容をメッセージで作って通信装置１２２を通じターゲットシステム１００のプロジェクト管理のクライアント部１０１に伝送し、前記プロジェクト管理のクライアント部１０１はエラーの内容を抽出して出力装置１０５を通じて出力する（ステップ５４１―５４２）。
【００７３】
逆に、ステップ５３５でクロスコンパイルのエラーを検出した結果、クラスコンパイルが成功した場合には各ソースプログラムに対応する目的のプログラムが生成されホストシステム１２０の貯蔵装置１２３に貯えられ、ビルド情報のリンクオプション、ライブラリファイルディレクトリ等のリンク情報に基づいてクロスリンクを遂行し、リンクを遂行する過程中にリンクエラーが生ずるかを検出する（ステップ５３６―５３７）。
【００７４】
ここで、リンクは、ホストシステム１２０の貯蔵装置１２３にコンパイルされた目的のプログラムをリンクさせて一つの実行プログラムを作る過程のことをいう。
【００７５】
ステップ５３７で判断した結果、リンクエラーが生じた場合にはエラーの内容をメッセージで作ってターゲットシステム１００のプロジェクト管理のクライアント部１０１に伝送し、プロジェクト管理のクライアント部１０１はエラーの内容を抽出して出力装置１０５で出力する（ステップ５４１―５４２）。
【００７６】
ステップ５３７で判断した結果、リンクが成功した場合にはホストシステム１２０の貯蔵装置１２３に貯えられた実行プログラムをメッセージで作ってターゲットシステム１００のプロジェクト管理のクライアント部１０１に伝送し、送られたメッセージから実行プログラムを抽出してターゲットシステム１００の貯蔵装置１０３に貯蔵した後、出力装置１０５にビルドが成功したことを知らせる（ステップ５３８―５４０）。
【００７７】
図６は、本発明によるプロジェクト閉じのステップ２７０を説明するためのフローチャートである。  
図面を参照すると、ソース開発者がターゲットシステム１００の入力装置１０４を通じてプロジェクト閉じの命令を入力すると６７０、命令を受けたプロジェクト管理のクライアント部１０１は作業中のプロジェクト情報とソースプログラムの情報を貯蔵装置１０３へ貯える（ステップ６７１）。
【００７８】
そして、プロジェクト管理のクライアント部１０１はプロジェクト情報、ソースプログラムの情報と閉じの命令をメッセージで縛って通信装置１０２を通じホストシステム１２０のプロジェクト管理のサーバー部１２１に伝送する（ステップ６７２）。
【００７９】
メッセージを受けたホストシステム１２０のプロジェクト管理のサーバー部１２１は、ターゲットシステム１００で送られたメッセージからプロジェクト情報とソースプログラムの情報を抽出して貯蔵装置１２３へ貯える（ステップ６７３）。
【００８０】
そして貯蔵成功の内容をメッセージで作ってターゲットシステム１００のプロジェクト管理のクライアント部１０１に伝送し、プロジェクト管理のクライアント部１０１は成功のメッセージを出力装置１０５で出力する（ステップ６７４）。
【００８１】
貯蔵成功のメッセージを受けたプロジェクト管理のクライアント部１０１は、出力装置１０５から現在出力されているプロジェクト情報を全て削除し、プロジェクト生成又は開きの以前の画面状態に復帰する（ステップ６７５）。
【００８２】
上記では本発明の好ましい実施例を参照して説明したが、当該技術分野における熟練の当業者には、特許請求の範囲に記載された本発明の思想及び領域から離れない範囲内で本発明を多様に修正及び変更可能であることが理解できるであろう。
【図面の簡単な説明】
【００８３】
【図１】本発明のターゲットシステム基盤のソースプログラムの開発装置を示すシステムブロック図である。
【図２】本発明によるプロジェクト基盤のソースプログラムの開発周期を示すフローチャートである。
【図３】本発明によるプロジェクト基盤のソースプログラムの開発周期においてプロジェクトの生成方法を示すフローチャートである。
【図４】本発明によるプロジェクト基盤のソースプログラムの開発周期においてプロジェクトを開く方法を示すフローチャートである。
【図５】本発明によるプロジェクト基盤のソースプログラムの開発周期においてプロジェクトビルドの方法を示すフローチャートである。
【図６】本発明によるプロジェクト基盤のソースプログラムの開発周期においてプロジェクトを閉じる方法を示すフローチャートである。
【符号の説明】
【００８４】
１００    ターゲットシステム
１０１    プロジェクト管理のクライアント部
１０３    貯蔵装置
１０４    入力装置
１０５    出力装置
１０６    ＣＰＵ
１０７    ソース編集部
１２０    ホストシステム
１２１    プロジェクト管理のサーバー部
１２２    通信装置
１２３    貯蔵装置
１２４    クロスコンパイル部
【図１】
2005085255.tif 000003
【図２】
2005085255.tif 000004
【図３】
2005085255.tif 000005
【図４】
2005085255.tif 000006
【図５】
2005085255.tif 000007
【図６】
2005085255.tif 000008