(57)【要約】  埋め込みデバイスのためのオペレーティング・システム・イメージを作成するシステムおよび方法例。一例では、本システムは、埋め込みデバイスのオペレーティング・システムを含むオペレーティング・システム・ベース・モジュールと、ソフトウェア・アプリケーション・モジュールであって、埋め込みデバイスにおいて実行するようにプログラミングされた１つ以上のソフトウェア・アプリケーションを含む、ソフトウェア・アプリケーション・モジュールと、１つ以上のソフトウェア・アプリケーションにおける依存性を特定するようにプログラミングされた分析プログラム・モジュールとを含む。また、本システムはオペレーティング・システム・ベースに追加される１つ以上のコンポーネントを含むコンポーネント・モジュールと、依存性をコンポーネント・モジュールからの１つ以上のコンポーネントにマッピングするようにプログラミングされたマッピング・モジュールとを含む。また、統合開発システムを用いて、埋め込みデバイスのためのオペレーティング・システム・イメージを作成する方法についても記載する。【選択図】      図３
2011513833.tif 000002
【特許請求の範囲】
【請求項１】
埋め込みデバイス（１１４）のためのオペレーティング・システム・イメージを作成するシステム（１００）であって、
前記埋め込みデバイスのオペレーティング・システムを含むオペレーティング・システム・ベース・モジュール（１０２）と、
ソフトウェア・アプリケーション・モジュール（１０４）であって、前記埋め込みデバイスにおいて実行するようにプログラミングされた１つ以上のソフトウェア・アプリケーションを含む、ソフトウェア・モジュール（１０４）と、
前記１つ以上のソフトウェア・アプリケーションにおける依存性を特定するようにプログラミングされた分析プログラム・モジュール（１０６）と、
前記オペレーティング・システム・ベースに追加される１つ以上のコンポーネントを含むコンポーネント・モジュール（１０８）と、
前記コンポーネント・モジュール（１０８）からの１つ以上のコンポーネントに前記依存性をマッピングするようにプログラミングされたマッピング・モジュール（１１０）と、
を含む、システム。
【請求項２】
請求項１記載のシステムにおいて、前記コンポーネントは、メディア・プレーヤー、ウェブ・ブラウザー、およびファイアウォールから成る１群から選択される、システム。
【請求項３】
請求項１記載のシステムにおいて、前記マッピング・モジュールは、更に、ハッシュ表を用いて前記依存性をマッピングするようにプログラミングされた、システム。
【請求項４】
請求項１記載のシステムであって、更に、前記ソフトウェア・アプリケーションのフォーマットを選択するための第１セクションと、前記コンポーネントを選択するための第２セクションとを含むようにプログラミングされたユーザー・インターフェースを含む、システム。
【請求項５】
請求項１記載のシステムであって、更に、オペレーティング・システム・イメージを構築する構築モジュールを含む、システム。
【請求項６】
埋め込みデバイスのためのオペレーティング・システム・イメージ（１１４）を作成する統合開発システム（１００）であって、
前記埋め込みデバイスのオペレーティング・システムを含むオペレーティング・システム・ベース・モジュール（１０２）と、
１つ以上のフォーマットで提供される１つ以上のソフトウェア・アプリケーションを含むソフトウェア・アプリケーション・モジュール（１０４）と、
前記ソフトウェア・アプリケーションを分析して、該ソフトウェア・アプリケーションにおけるオペレーティング・システム依存性を判定するようにプログラミングされた１つ以上の分析プログラムを含む分析プログラム・モジュール（１０６）と、
前記オペレーティング・システムに追加されるようにプログラミングされた１つ以上のコンポーネントを含むコンポーネント・モジュール（１０８）と、
前記フォーマットおよび前記コンポーネントの選択を可能にするユーザー・インターフェース・モジュール（２１０）と、
前記ソフトウェア・アプリケーションを分析し、前記ユーザー・インターフェース（３００）に表示される前記コンポーネントに前記依存性をマッピングするために前記分析プログラムを実行する依存性処理モジュール（２１２）と、
を含む、統合開発システム。
【請求項７】
請求項６記載のシステムにおいて、前記コンポーネントは、メディア・プレーヤー、ウェブ・ブラウザー、およびファイアウォールから成る１群から選択される、システム。
【請求項８】
請求項６記載のシステムであって、更に、オペレーティング・システム・イメージを構築する構築モジュールを含む、システム。
【請求項９】
請求項８記載のシステムであって、更に、前記オペレーティング・システムを検査し、前記オペレーティング・システムにおける追加の依存性を判定し、前記追加の依存性を解決するコンポーネントを選択する検査および設計モジュールを含む、システム。
【請求項１０】
請求項６記載のシステムであって、更に、ハッシュ表を用いて前記依存性をマッピングするようにプログラミングされたマッピング・モジュールを含む、システム。
【請求項１１】
統合開発システム（１００）を用いて、埋め込みデバイスのためのオペレーティング・システム・イメージ（１１４）を作成する方法であって、
オペレーティング・システム・ベースにおいて実行するソフトウェア・アプリケーションを特定するステップと、
前記ソフトウェア・アプリケーションのフォーマットを、前記統合開発システム（１００）のユーザー・インターフェース（３００）から選択するステップと、
前記統合開発システム（１００）に含まれる１つ以上の分析プログラムを用いて、前記ソフトウェア・アプリケーションについて依存性分析を行うステップと、
前記依存性分析からオペレーティング・システム依存性を判定するステップと、
前記オペレーティング・システム・ベースに追加される１つ以上のコンポーネントに前記依存性をマッピングするステップと、
前記１つ以上のコンポーネントを前記ユーザー・インターフェース（３００）に表示するステップと、
前記選択したコンポーネントを前記オペレーティング・システム・ベースに追加するステップと、
前記ソフトウェア・アプリケーションを前記オペレーティング・システム・ベースに追加するステップと、
を含む、方法。
【請求項１２】
請求項１１記載の方法において、前記依存性をマッピングするステップは、更に、ハッシュ表を用いて前記依存性をマッピングすることを含む、方法。
【請求項１３】
請求項１１記載の方法において、前記コンポーネントは、メディア・プレーヤー、ウェブ・ブラウザー、およびファイアウォールから成る１群から選択される、方法。
【請求項１４】
請求項１１記載の方法であって、更に、ユーザーに、マッピングしたコンポーネントを手作業で除外させ、追加のコンポーネントを選択させるステップを含む、方法。
【請求項１５】
請求項１１記載の方法であって、更に、前記オペレーティング・システム・ベースからオペレーティング・システム・イメージを構築するステップを含む、方法。
【請求項１６】
請求項１１記載の方法であって、更に、追加の依存性が存在するか否か判定するために、前記オペレーティング・システム・ベースを検査するステップを含む、方法。
【請求項１７】
請求項１６記載の方法であって、更に、前記依存性を解決するために、追加のコンポーネントを前記オペレーティング・システム・ベースに追加するステップを含む、方法。
【請求項１８】
請求項１７記載の方法において、前記依存性をマッピングするステップは、更に、ハッシュ表を用いて前記依存性をマッピングすることを含む、方法。
【発明の詳細な説明】
【従来技術】
【０００１】
埋め込みデバイス（embedded device）は、通例、単一アプリケーションのデバイスである。このアプリケーションが埋め込みデバイスにおいて適正に動作するためには、埋め込みデバイスのオペレーティング・システムはそのアプリケーションの全ての機構をサポートしなければならない。多くの場合、アプリケーションが埋め込みデバイスのためにオペレーティング・システム・イメージに統合される場合、オペレーティング・システム・イメージにおいてサポートされない依存性がそのアプリケーションに存在する。例えば、このアプリケーションはビデオをレンダリングする必要があるかもしれず、したがって、そうするためには、ビデオ・プレーヤーのようなシステム・コンポーネントを必要とする場合もあり得る。
【発明の概要】
【発明が解決しようとする課題】
【０００２】
このような依存性を満足しようとする試みにおいて、システム・コンポーネントがオペレーティング・システムに追加されるのが通例である。必要とされるシステム・コンポーネントをオペレーティング・システム・イメージに追加し、構築したイメージを検査して依存性が満たされていることを確認するプロセスは、通例、試行錯誤的手法であり、構築プロセスを時間がかかり厄介なものにする可能性がある。
【課題を解決するための手段】
【０００３】
一実施形態によれば、埋め込みデバイスのためのオペレーティング・システム・イメージを作成するシステムは、埋め込みデバイスのオペレーティング・システムを含むオペレーティング・システム・ベース・モジュールと、ソフトウェア・アプリケーション・モジュールであって、埋め込みデバイスにおいて実行するようにプログラミングされた１つ以上のソフトウェア・アプリケーションを含む、ソフトウェア・モジュールと、１つ以上のソフトウェア・アプリケーションにおける依存性を特定するようにプログラミングされた分析プログラム・モジュールとを含む。また、本システムはオペレーティング・システム・ベースに追加される１つ以上のコンポーネントを含むコンポーネント・モジュールと、依存性をコンポーネント・モジュールからの１つ以上のコンポーネントにマッピングするようにプログラミングされたマッピング・モジュールとを含む。
【０００４】
別の実施形態によれば、埋め込みデバイスのためのオペレーティング・システム・イメージを作成する統合開発システムは、埋め込みデバイスのオペレーティング・システムを含むオペレーティング・システム・ベース・モジュールと、１つ以上のフォーマットで提供される１つ以上のソフトウェア・アプリケーションを含むソフトウェア・アプリケーション・モジュールとを含む。また、本システムは、ソフトウェア・アプリケーションを分析して、このソフトウェア・アプリケーションにおけるオペレーティング・システム依存性を判定するようにプログラミングされた１つ以上の分析プログラムを含む分析プログラム・モジュールと、オペレーティング・システムに追加されるようにプログラミングされた１つ以上のコンポーネントを含むコンポーネント・モジュールと、フォーマットおよびコンポーネントの選択を可能にするユーザー・インターフェース・モジュールと、ソフトウェア・アプリケーションを分析し、ユーザー・インターフェース上に表示されるコンポーネントに依存性をマッピングするために分析プログラムを実行する依存性処理モジュールを含む。
【０００５】
更に別の実施形態によれば、統合開発システムを用いて、埋め込みデバイスのためのオペレーティング・システム・イメージを作成する方法は、オペレーティング・システム・ベースにおいて実行するソフトウェア・アプリケーションを特定するステップと、ソフトウェア・アプリケーションのフォーマットを、統合開発システムのユーザー・インターフェースから選択するステップと、統合開発システムに含まれる１つ以上の分析プログラムを用いて、ソフトウェア・アプリケーションについて依存性分析を行うステップと、依存性分析からオペレーティング・システム依存性を判定するステップと、オペレーティング・システム・ベースに追加される１つ以上のコンポーネントに依存性をマッピングするステップと、１つ以上のコンポーネントをユーザー・インターフェース上に表示するステップと、選択したコンポーネントをオペレーティング・システム・ベースに追加するステップと、ソフトウェア・アプリケーションをオペレーティング・システム・ベースに追加するステップとを含む。
【０００６】
この摘要は、詳細な説明において以下で更に説明する概念から選択したものを、簡略化した形態で紹介するために設けられている。この摘要は、特許請求する主題の鍵となる特徴や必須の特徴を特定することを意図するのではなく、特許請求する主題の範囲を限定するために用いられることを意図するのでもない。
【図面の簡単な説明】
【０００７】
本明細書に組み込まれその一部をなす添付図面は、本開示のいくつかの態様を図示し、記載と共に、本開示の原理を説明する役割を果たす。図面において、
【０００８】
【図１】図１は、埋め込みデバイスのためのオペレーティング・システム・イメージを作成するシステム例を示す。
【０００９】
【図２】図２は、統合開発システムを用いて、埋め込みデバイスのためのオペレーティング・システム・イメージを作成するシステム例を示す。
【００１０】
【図３】図３は、統合開発システムを用いて、埋め込みデバイスのためのオペレーティング・システム・イメージを作成するシステムのユーザー・インターフェース例を示す。
【００１１】
【図４】図４は、統合開発システムを用いて、埋め込みデバイスのためのオペレーティング・システム・イメージを作成する方法例のフロー・チャートを示す。
【発明を実施するための形態】
【００１２】
本願は、埋め込みデバイスのためのオペレーティング・システム・イメージを構築するシステムおよび方法を対象とする。本明細書において記載する例では、本システムおよび方法は、依存性分析プログラムを用いて、埋め込みデバイスにおいて実行する１つ以上のソフトウェア・アプリケーションについてオペレーティング・システムの依存性を判定する。これらの依存性を解決するために、オペレーティング・システム・イメージに追加することができるオペレーティング・システム・コンポーネントが特定される。分析プログラムは、単独で、または統合開発システムの一部として実行することができる。
【００１３】
図１は、埋め込みデバイスにおいてカスタム化オペレーティング・システム・イメージを構築するために用いられるシステム例１００を示す。このシステム例１００は、オペレーティング・システム・ベース・モジュール１０２、ソフトウェア・アプリケーション・モジュール１０４、分析プログラム・モジュール１０６、コンポーネント・モジュール１０８、マッピング・モジュール１１０、および構築モジュール１１２を含む。構築の最終結果は、カスタム化オペレーティング・システム・イメージ１１４となる。
【００１４】
オペレーティング・システム・ベース・モジュール１０２の一例は、例えば、ワシントン州、RedmondのMicrosoft Corporationが提供するWINDOWS（登録商標）埋め込みＣＥまたはＸＰ埋め込みオペレーティング・システムのような、埋め込みシステムに用いられるオペレーティング・システム・ベースである。他のオペレーティング・システムを用いることもできる。オペレーティング・システム・ベースは、カーネル、ファイル・システム、コア・コンポーネント等のような基本機能を含むオペレーティング・システム全体のシェルである。
【００１５】
ソフトウェア・アプリケーション・モジュール１０４は、例えば、ＰＯＳデバイスにおいて実行するポイント・オブ・セールス（ＰＯＳ）アプリケーション・システムのような、埋め込みオペレーティング・システムにおいて実行する１つ以上のソフトウェア・アプリケーションを含む。ソフトウェア・アプリケーション・モジュール１０４は、オペレーティング・システムにおいて１つ以上のシステム・コンポーネントからのサポートを必要とすることがある。このような必要性を依存性と呼ぶ。例えば、ソフトウェア・アプリケーション・モジュール１０４は、オーディオ能力(audio capabilities)を必要とするかもしれず、一方、オーディオ能力は、メディア・コンポーネントのオペレーティング・システム・ベース・モジュール１０２への追加を必要とする。以下で更に説明するが、依存性のその他のいくつかの例には、ハイパーテキスト・マークアップ言語フォーマットでフォーマット化された文書をレンダリングするために用いられるウェブ・ブラウザー、ならびに埋め込みデバイスへの接続および埋め込みデバイスからの接続を制限するために用いられるファイアウォールが含まれるが、これらに限定されるのではない。
【００１６】
依存性を判定するために、分析プログラム・モジュール１０６は、ソフトウェア・アプリケーション・モジュール１０４と関連のある依存性を分析し特定するようにプログラミングされている。このような分析プログラムの一例に、Dumpbin.exeがある。これは、ソフトウェア・アプリケーション・モジュール１０４と関連のある依存性を特定するために用いることができる、コマンド・ライン・ツールである。Dumpbin.exeは、二進ファイルおよびダイナミック・リンク・ライブラリの構造を分析する。別の例では、Depends.exeのような分析プログラムは、ソフトウェア・アプリケーション・モジュール１０４をスキャンして、それと関連のあるあらゆる依存性を判定するが、ソフトウェア・アプリケーションが適正に動作することを妨げてしまう。このような分析プログラムは、通例、静的プログラムであって、単体でも実行することができ、あるいはMicrosoft Corporationが提供するVISUAL STUDIO（登録商標）開発システムのような、統合開発システムのコンテキストの中で実行することもできる。
【００１７】
分析プログラム・モジュール１０６によって発見されたソフトウェア・アプリケーションにおける依存性は、その依存性を解決するために用いられるオペレーティング・システム・コンポーネントにマッピングされる。これらのコンポーネントは、コンポーネント・モジュール１０８の一例に含まれる。マッピングは、マッピング・プログラム・モジュール１１０によって行われる。オペレーティング・システム・コンポーネントの例をいくつかあげると、Microsoft Corporationが提供するINTERNET EXPLORER（登録商標）、WINDOWS MEDIA （登録商標）プレーヤーのようなメディア・コンポーネント、およびWindows(登録商標)ファイアウォールのようなファイアウォール・コンポーネントが含まれる。他のコンポーネント例も可能である。
【００１８】
マッピング・プログラム・モジュール１１０は、依存性をコンポーネントにマッピングするようにプログラミングすることができる。これは、種々の技法を用いて遂行することができる。例の中には、リスト、表、データベース、またはその他の任意のデータ構造を用いて依存性のマッピングが行われることもある。図示する非限定的な例では、表を用いて依存性をマッピングする。用いることができる表の一例は、キーを値と関連付けるデータ構造を含むハッシュ表である。このハッシュ表は、可能な依存性のリストを含み、その依存性を満たす１つ以上のシステム・コンポーネントに依存性をマッピングする。他の構成も可能である。
【００１９】
構築モジュール１１２は、特定したオペレーティング・システム・コンポーネントを用いてオペレーティング・システム・イメージを構築するために用いられる。このプロセスの最終結果は、ソフトウェア・アプリケーション・モジュール１０４において依存性を満足するオペレーティング・システム・イメージ１１４である。カスタム化オペレーティング・システム・イメージ１１４は、ＰＯＳデバイスのような、埋め込みデバイスに埋め込んで、所望の環境においてそのデバイスを動作させることができる。
【００２０】
図２は、オペレーティング・システム・イメージを埋め込みデバイスに構築するために用いられる統合開発システム２００の一例を示す。このような統合開発システム例の一例に、VISUAL STUDIO（登録商標）オペレーティング・システムがある。他のツールも用いることができる。例えば、他の例では、開発システム２００は、以下で更に説明するように、依存性を特定し、その依存性をシステム・コンポーネントにマッピングし、および／またはカスタム化オペレーティング・システム・イメージを作成するために用いられる単体ツールである。
【００２１】
統合開発システム２００は、オペレーティング・システム・ベース・モジュール１０２、ソフトウェア・アプリケーション・モジュール１０４、分析プログラム・モジュール１０６、コンポーネント・モジュール１０８、および構築モジュール１１２を含む。また、統合開発システム２００の一例は、ユーザー・インターフェース・モジュール２１０、依存性処理モジュール２１２、構築モジュール２１４、ならびに検査および設計モジュール２１６も含む。
【００２２】
ユーザー・インターフェース２１０の一例では、概略的に、ユーザーに依存性の特定を制御させ、依存性をシステム・コンポーネントにマッピングし、カスタム化オペレーティング・システム・イメージを作成する。例えば、ユーザー・インターフェース・モジュール２１０は、ユーザーに、ソフトウェア・アプリケーション・モジュール１０４にフォーマットを選択させる。二進ファイル、ソース・コード・ファイル、およびインストール・ファイルを含む様々なファイルから１つを選択することができる。また、ユーザー・インターフェース・モジュール２１２の一例は、オペレーティング・システム・ベース・モジュール１０２に追加することができるコンポーネントの表示にも備えている。
【００２３】
依存性処理モジュール２１２の一例は、ソフトウェア・アプリケーションについての１つ以上の分析プログラムを実行し、このソフトウェア・アプリケーションにおけるオペレーティング・システム依存性を特定し、これらの依存性を解決するオペレーティング・システム・コンポーネントにその依存性をマッピングする。実施形態によっては、依存性および処理モジュール２１２は、特定したオペレーティング・システム・コンポーネントをオペレーティング・システム・コンポーネントのリストに自動的に追加し、これらのコンポーネントに基づいて新たなオペレーティング・システム・イメージを構築することもある。別の実施形態では、ユーザー・インターフェース・モジュール２１０を通じて、特定されたコンポーネントをユーザーに提示し、追加すべきコンポーネントをユーザーが選択する。
【００２４】
一旦ユーザーがオペレーティング・システム・ベース・モジュール１０２に追加するコンポーネントを選択したなら、構築モジュール２１４を用いてオペレーティング・システム・イメージを構築する。構築されたオペレーティング・システム・イメージは、次に、検査および設計モジュール２１６によって検査されて、オペレーティング・システムの中にいずれかの追加の依存性が存在するか否か判定する。検査および設計モジュール２１６は、構築モジュール１１２によって作成されたオペレーティング・システム・イメージを分析する分析プログラムを含む。オペレーティング・システム・イメージはソフトウェアおよびハードウェア双方の依存性を含む可能性があるので、検査および設計モジュール２１６は、依存性処理モジュール２１２が見逃した虞れがある新たな依存性を発見するようにプログラミングすることができる。
【００２５】
検査および設計モジュール２１６の一例は、新たなオペレーティング・システム依存性であればいずれでも特定し、これらの依存性を解決することができるオペレーティング・システム・コンポーネントも特定する。実施形態によっては、検査および設計モジュール２１６は、自動的に、特定したオペレーティング・システム・コンポーネントをオペレーティング・システム・コンポーネントのリストに追加し、これらのコンポーネントに基づいて新たなオペレーティング・システム・イメージを構築することもある。別の実施形態では、特定されたコンポーネントは、ユーザー・インターフェース・モジュール２１０を通じてユーザーに提示され、追加すべきコンポーネントをユーザーが選択する。
【００２６】
ユーザー・インターフェース・モジュール２１０によって発生されたユーザー・インターフェース３００の一例を図３に示す。ユーザー・インターフェース３００の一例は、ソフトウェア・アプリケーションのフォーマットを選択するためのセクション３０２と、コンポーネントを選択するためのセクション３０４とを含む。
【００２７】
セクション３０２の一例は、ソフトウェア・アプリケーションのフォーマットを選択するためのチェックボックスを含む。含まれるのは、二進ファイル・フォーマットのチェックボックス３０６、ソース・ファイル・フォーマットのチェックボックス３０８、およびインストール・ファイル・フォーマットのチェックボックス３１０である。
【００２８】
コンポーネント・セクション３０４の一例は、依存性を満足するシステム・コンポーネントを選択するためのチェックボックスを含む。図示の例では、コンポーネント・セクション３０４は、例えば、Microsoft Corporationによって提供されているWINDOWS（登録商標）XPオペレーティング・システム・インターフェースのような、企業固有のユーザー・インターフェース３１２、メディア・プレーヤーのチェックボックス３１４、ウェブ・ブラウザーのチェックボックス３１６、ファイアウォールのチェックボックス３１８、そしてMicrosoft Corporationによって提供されるthe.Netフレームワークのような、ネットワーク・フレームワークのチェックボックス３２０といったコンポーネントをリストに纏める。他のコンポーネントも可能である。
【００２９】
実施形態例では、セクション３０４における１つ以上のチェックボックスは、統合開発システム２００によって自動的にチェックされ、依存性処理モジュール２１２によって特定されたコンポーネントを選択し、ソフトウェア・アプリケーションにおける依存性を解決することができる。自動チェック処理に加えて、ユーザーは、セクション３０４におけるチェックボックスの１つ以上を手作業でチェックすることによって、追加のコンポーネントを選択することもできる。
【００３０】
実施形態例では、システム１００、２００、およびユーザー・インターフェース３００は１つ以上のコンピュータ・システムに実装される。実施形態例では、システム１００、２００は処理ユニットおよびコンピュータ読み取り可能媒体を含む。コンピュータ読み取り可能媒体は、揮発性（ＲＡＭのような）、不揮発性（ＲＯＭ、フラッシュ・メモリ等のような）、またはその何らかの組み合わせを含むことができる。システム１００、２００は、磁気あるいは光ディスクまたはテープのような、大容量ストレージ（リムーバブルおよび／または非リムーバブル）を含むことができる。オペレーティング・システムおよび１つ以上のアプリケーション・プログラムは、システム１００、２００に格納することができる。他の構成も可能である。
【００３１】
図４は、統合開発システムを用いて、埋め込みデバイスのためのオペレーティング・システム・イメージを作成する方法４００の一例を示すフロー・チャートである。前述のように、統合開発システムは、通常、特定の埋め込みオペレーティング・システム・プラットフォームにオペレーティング・システム・イメージを構築するために用いられる。
【００３２】
最初に、方法４００の動作４０２において、オペレーティング・システム・プラットフォームに追加するために、ソフトウェア・アプリケーションを特定する。これは、例えば、統合開発システム例においてプロジェクト・ファイルを開き、ソフトウェア・アプリケーションを選択することによって行うことができる。動作４０４において、このソフトウェア・アプリケーションのファイル・タイプを、例えば、二進ファイル、ソース・コード・ファイル、またはインストール・ファイルのように選択する。この選択は、統合開発システムのユーザー・インターフェースにおいて、該当するファイル・タイプに対応するチェックボックスを選択することによって行うことができる。例えば、統合開発システムにおいてプロジェクト・ファイルを用いることによるというような、代わりの選択方法も可能である。
【００３３】
別の例では、ユーザーは他のパラメータも選択することができる。例えば、実施形態の中には、統合開発システムが、WINDOWS（登録商標）埋め込みＣＥまたはＸＰ埋め込みオペレーティング・システムのような、複数のタイプのオペレーティング・システムを扱うようにプログラミングされていることもある。このような例では、ユーザーは、ソフトウェア・アプリケーションの分析に先だって、どのオペレーティング・システムが望ましいのか選択することができる。
【００３４】
動作４０６において、統合開発システムに含まれる１つ以上の分析プログラムをソフトウェア・アプリケーションに対して実行し、このソフトウェア・アプリケーションに何らかのオペレーティング・システム依存性があるか否か判定する。動作４０８において、特定した依存性を、当該依存性を解決するために用いられるオペレーティング・システム・コンポーネントにマッピングする。
【００３５】
次に、動作４１０において、特定されたオペレーティング・システム・コンポーネントは、統合開発システムのユーザー・インターフェース上に表示される。例えば、ユーザー・インターフェースにおいて当該コンポーネントのチェックボックスをチェックすることによって、統合開発システムは、特定されたコンポーネントを表示することができる。動作４１２において、ユーザーは、特定されたコンポーネントを受け入れること、コンポーネントの選択を止めること、または手作業で追加のコンポーネントを選択することを選ぶ。一旦ユーザーが選択に満足したなら、動作４１４においてソフトウェア・アプリケーションがオペレーティング・システム・ベースに追加され、動作４１６においてオペレーティング・システム・イメージが構築される。
【００３６】
動作４１８において、構築したイメージを検査して、未だ別の依存性が存在するか否か判定する。例えば、統合開発システムは、オペレーティング・システム・ハードウェアの観点から、構築されたオペレーティング・システム・イメージを検査する追加の検査および分析プログラムを含むことができる。検査および分析プログラムは、オペレーティング・システム・イメージを更に調節するために追加するとよい追加のコンポーネントを特定することができる。動作４２０において、これら追加のコンポーネントをオペレーティング・システム・イメージに追加することができる。これらのコンポーネントの追加は、統合開発システムによって自動的に行うことができ、またはユーザーによって手作業で追加することもできる。最後に、動作４２２において、追加のコンポーネントが追加された場合、統合開発システムにおいてオペレーティング・システム・イメージを再構築する。
【００３７】
以上、主題について構造的特徴および／または方法論的行為に特定的な文言で説明したが、添付した特許請求の範囲において定められている主題は、前述した特定的な特徴や行為には必ずしも限定されないことは言うまでもない。むしろ、先に説明した特定的な特徴や行為は、特許請求の範囲を実施する形態例として開示したのである。
【図１】
2011513833.tif 000003
【図２】
2011513833.tif 000004
【図３】
2011513833.tif 000005
【図４】
2011513833.tif 000006
【国際調査報告】
2011513833.tif 000007
2011513833.tif 000008