JP2011513833A - アプリケーションに基づいたオペレーション・システム・イメージの構築 - Google Patents

アプリケーションに基づいたオペレーション・システム・イメージの構築 Download PDF

Info

Publication number
JP2011513833A
JP2011513833A JP2010548756A JP2010548756A JP2011513833A JP 2011513833 A JP2011513833 A JP 2011513833A JP 2010548756 A JP2010548756 A JP 2010548756A JP 2010548756 A JP2010548756 A JP 2010548756A JP 2011513833 A JP2011513833 A JP 2011513833A
Authority
JP
Japan
Prior art keywords
operating system
module
dependency
components
software application
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
JP2010548756A
Other languages
English (en)
Other versions
JP2011513833A5 (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.)
Microsoft Corp
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2011513833A publication Critical patent/JP2011513833A/ja
Publication of JP2011513833A5 publication Critical patent/JP2011513833A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements

Landscapes

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

Abstract

埋め込みデバイスのためのオペレーティング・システム・イメージを作成するシステムおよび方法例。一例では、本システムは、埋め込みデバイスのオペレーティング・システムを含むオペレーティング・システム・ベース・モジュールと、ソフトウェア・アプリケーション・モジュールであって、埋め込みデバイスにおいて実行するようにプログラミングされた1つ以上のソフトウェア・アプリケーションを含む、ソフトウェア・アプリケーション・モジュールと、1つ以上のソフトウェア・アプリケーションにおける依存性を特定するようにプログラミングされた分析プログラム・モジュールとを含む。また、本システムはオペレーティング・システム・ベースに追加される1つ以上のコンポーネントを含むコンポーネント・モジュールと、依存性をコンポーネント・モジュールからの1つ以上のコンポーネントにマッピングするようにプログラミングされたマッピング・モジュールとを含む。また、統合開発システムを用いて、埋め込みデバイスのためのオペレーティング・システム・イメージを作成する方法についても記載する。
【選択図】 図3

Description

従来技術
埋め込みデバイス(embedded device)は、通例、単一アプリケーションのデバイスである。このアプリケーションが埋め込みデバイスにおいて適正に動作するためには、埋め込みデバイスのオペレーティング・システムはそのアプリケーションの全ての機構をサポートしなければならない。多くの場合、アプリケーションが埋め込みデバイスのためにオペレーティング・システム・イメージに統合される場合、オペレーティング・システム・イメージにおいてサポートされない依存性がそのアプリケーションに存在する。例えば、このアプリケーションはビデオをレンダリングする必要があるかもしれず、したがって、そうするためには、ビデオ・プレーヤーのようなシステム・コンポーネントを必要とする場合もあり得る。
このような依存性を満足しようとする試みにおいて、システム・コンポーネントがオペレーティング・システムに追加されるのが通例である。必要とされるシステム・コンポーネントをオペレーティング・システム・イメージに追加し、構築したイメージを検査して依存性が満たされていることを確認するプロセスは、通例、試行錯誤的手法であり、構築プロセスを時間がかかり厄介なものにする可能性がある。
一実施形態によれば、埋め込みデバイスのためのオペレーティング・システム・イメージを作成するシステムは、埋め込みデバイスのオペレーティング・システムを含むオペレーティング・システム・ベース・モジュールと、ソフトウェア・アプリケーション・モジュールであって、埋め込みデバイスにおいて実行するようにプログラミングされた1つ以上のソフトウェア・アプリケーションを含む、ソフトウェア・モジュールと、1つ以上のソフトウェア・アプリケーションにおける依存性を特定するようにプログラミングされた分析プログラム・モジュールとを含む。また、本システムはオペレーティング・システム・ベースに追加される1つ以上のコンポーネントを含むコンポーネント・モジュールと、依存性をコンポーネント・モジュールからの1つ以上のコンポーネントにマッピングするようにプログラミングされたマッピング・モジュールとを含む。
別の実施形態によれば、埋め込みデバイスのためのオペレーティング・システム・イメージを作成する統合開発システムは、埋め込みデバイスのオペレーティング・システムを含むオペレーティング・システム・ベース・モジュールと、1つ以上のフォーマットで提供される1つ以上のソフトウェア・アプリケーションを含むソフトウェア・アプリケーション・モジュールとを含む。また、本システムは、ソフトウェア・アプリケーションを分析して、このソフトウェア・アプリケーションにおけるオペレーティング・システム依存性を判定するようにプログラミングされた1つ以上の分析プログラムを含む分析プログラム・モジュールと、オペレーティング・システムに追加されるようにプログラミングされた1つ以上のコンポーネントを含むコンポーネント・モジュールと、フォーマットおよびコンポーネントの選択を可能にするユーザー・インターフェース・モジュールと、ソフトウェア・アプリケーションを分析し、ユーザー・インターフェース上に表示されるコンポーネントに依存性をマッピングするために分析プログラムを実行する依存性処理モジュールを含む。
更に別の実施形態によれば、統合開発システムを用いて、埋め込みデバイスのためのオペレーティング・システム・イメージを作成する方法は、オペレーティング・システム・ベースにおいて実行するソフトウェア・アプリケーションを特定するステップと、ソフトウェア・アプリケーションのフォーマットを、統合開発システムのユーザー・インターフェースから選択するステップと、統合開発システムに含まれる1つ以上の分析プログラムを用いて、ソフトウェア・アプリケーションについて依存性分析を行うステップと、依存性分析からオペレーティング・システム依存性を判定するステップと、オペレーティング・システム・ベースに追加される1つ以上のコンポーネントに依存性をマッピングするステップと、1つ以上のコンポーネントをユーザー・インターフェース上に表示するステップと、選択したコンポーネントをオペレーティング・システム・ベースに追加するステップと、ソフトウェア・アプリケーションをオペレーティング・システム・ベースに追加するステップとを含む。
この摘要は、詳細な説明において以下で更に説明する概念から選択したものを、簡略化した形態で紹介するために設けられている。この摘要は、特許請求する主題の鍵となる特徴や必須の特徴を特定することを意図するのではなく、特許請求する主題の範囲を限定するために用いられることを意図するのでもない。
本明細書に組み込まれその一部をなす添付図面は、本開示のいくつかの態様を図示し、記載と共に、本開示の原理を説明する役割を果たす。図面において、
図1は、埋め込みデバイスのためのオペレーティング・システム・イメージを作成するシステム例を示す。
図2は、統合開発システムを用いて、埋め込みデバイスのためのオペレーティング・システム・イメージを作成するシステム例を示す。
図3は、統合開発システムを用いて、埋め込みデバイスのためのオペレーティング・システム・イメージを作成するシステムのユーザー・インターフェース例を示す。
図4は、統合開発システムを用いて、埋め込みデバイスのためのオペレーティング・システム・イメージを作成する方法例のフロー・チャートを示す。
本願は、埋め込みデバイスのためのオペレーティング・システム・イメージを構築するシステムおよび方法を対象とする。本明細書において記載する例では、本システムおよび方法は、依存性分析プログラムを用いて、埋め込みデバイスにおいて実行する1つ以上のソフトウェア・アプリケーションについてオペレーティング・システムの依存性を判定する。これらの依存性を解決するために、オペレーティング・システム・イメージに追加することができるオペレーティング・システム・コンポーネントが特定される。分析プログラムは、単独で、または統合開発システムの一部として実行することができる。
図1は、埋め込みデバイスにおいてカスタム化オペレーティング・システム・イメージを構築するために用いられるシステム例100を示す。このシステム例100は、オペレーティング・システム・ベース・モジュール102、ソフトウェア・アプリケーション・モジュール104、分析プログラム・モジュール106、コンポーネント・モジュール108、マッピング・モジュール110、および構築モジュール112を含む。構築の最終結果は、カスタム化オペレーティング・システム・イメージ114となる。
オペレーティング・システム・ベース・モジュール102の一例は、例えば、ワシントン州、RedmondのMicrosoft Corporationが提供するWINDOWS(登録商標)埋め込みCEまたはXP埋め込みオペレーティング・システムのような、埋め込みシステムに用いられるオペレーティング・システム・ベースである。他のオペレーティング・システムを用いることもできる。オペレーティング・システム・ベースは、カーネル、ファイル・システム、コア・コンポーネント等のような基本機能を含むオペレーティング・システム全体のシェルである。
ソフトウェア・アプリケーション・モジュール104は、例えば、POSデバイスにおいて実行するポイント・オブ・セールス(POS)アプリケーション・システムのような、埋め込みオペレーティング・システムにおいて実行する1つ以上のソフトウェア・アプリケーションを含む。ソフトウェア・アプリケーション・モジュール104は、オペレーティング・システムにおいて1つ以上のシステム・コンポーネントからのサポートを必要とすることがある。このような必要性を依存性と呼ぶ。例えば、ソフトウェア・アプリケーション・モジュール104は、オーディオ能力(audio capabilities)を必要とするかもしれず、一方、オーディオ能力は、メディア・コンポーネントのオペレーティング・システム・ベース・モジュール102への追加を必要とする。以下で更に説明するが、依存性のその他のいくつかの例には、ハイパーテキスト・マークアップ言語フォーマットでフォーマット化された文書をレンダリングするために用いられるウェブ・ブラウザー、ならびに埋め込みデバイスへの接続および埋め込みデバイスからの接続を制限するために用いられるファイアウォールが含まれるが、これらに限定されるのではない。
依存性を判定するために、分析プログラム・モジュール106は、ソフトウェア・アプリケーション・モジュール104と関連のある依存性を分析し特定するようにプログラミングされている。このような分析プログラムの一例に、Dumpbin.exeがある。これは、ソフトウェア・アプリケーション・モジュール104と関連のある依存性を特定するために用いることができる、コマンド・ライン・ツールである。Dumpbin.exeは、二進ファイルおよびダイナミック・リンク・ライブラリの構造を分析する。別の例では、Depends.exeのような分析プログラムは、ソフトウェア・アプリケーション・モジュール104をスキャンして、それと関連のあるあらゆる依存性を判定するが、ソフトウェア・アプリケーションが適正に動作することを妨げてしまう。このような分析プログラムは、通例、静的プログラムであって、単体でも実行することができ、あるいはMicrosoft Corporationが提供するVISUAL STUDIO(登録商標)開発システムのような、統合開発システムのコンテキストの中で実行することもできる。
分析プログラム・モジュール106によって発見されたソフトウェア・アプリケーションにおける依存性は、その依存性を解決するために用いられるオペレーティング・システム・コンポーネントにマッピングされる。これらのコンポーネントは、コンポーネント・モジュール108の一例に含まれる。マッピングは、マッピング・プログラム・モジュール110によって行われる。オペレーティング・システム・コンポーネントの例をいくつかあげると、Microsoft Corporationが提供するINTERNET EXPLORER(登録商標)、WINDOWS MEDIA (登録商標)プレーヤーのようなメディア・コンポーネント、およびWindows(登録商標)ファイアウォールのようなファイアウォール・コンポーネントが含まれる。他のコンポーネント例も可能である。
マッピング・プログラム・モジュール110は、依存性をコンポーネントにマッピングするようにプログラミングすることができる。これは、種々の技法を用いて遂行することができる。例の中には、リスト、表、データベース、またはその他の任意のデータ構造を用いて依存性のマッピングが行われることもある。図示する非限定的な例では、表を用いて依存性をマッピングする。用いることができる表の一例は、キーを値と関連付けるデータ構造を含むハッシュ表である。このハッシュ表は、可能な依存性のリストを含み、その依存性を満たす1つ以上のシステム・コンポーネントに依存性をマッピングする。他の構成も可能である。
構築モジュール112は、特定したオペレーティング・システム・コンポーネントを用いてオペレーティング・システム・イメージを構築するために用いられる。このプロセスの最終結果は、ソフトウェア・アプリケーション・モジュール104において依存性を満足するオペレーティング・システム・イメージ114である。カスタム化オペレーティング・システム・イメージ114は、POSデバイスのような、埋め込みデバイスに埋め込んで、所望の環境においてそのデバイスを動作させることができる。
図2は、オペレーティング・システム・イメージを埋め込みデバイスに構築するために用いられる統合開発システム200の一例を示す。このような統合開発システム例の一例に、VISUAL STUDIO(登録商標)オペレーティング・システムがある。他のツールも用いることができる。例えば、他の例では、開発システム200は、以下で更に説明するように、依存性を特定し、その依存性をシステム・コンポーネントにマッピングし、および/またはカスタム化オペレーティング・システム・イメージを作成するために用いられる単体ツールである。
統合開発システム200は、オペレーティング・システム・ベース・モジュール102、ソフトウェア・アプリケーション・モジュール104、分析プログラム・モジュール106、コンポーネント・モジュール108、および構築モジュール112を含む。また、統合開発システム200の一例は、ユーザー・インターフェース・モジュール210、依存性処理モジュール212、構築モジュール214、ならびに検査および設計モジュール216も含む。
ユーザー・インターフェース210の一例では、概略的に、ユーザーに依存性の特定を制御させ、依存性をシステム・コンポーネントにマッピングし、カスタム化オペレーティング・システム・イメージを作成する。例えば、ユーザー・インターフェース・モジュール210は、ユーザーに、ソフトウェア・アプリケーション・モジュール104にフォーマットを選択させる。二進ファイル、ソース・コード・ファイル、およびインストール・ファイルを含む様々なファイルから1つを選択することができる。また、ユーザー・インターフェース・モジュール212の一例は、オペレーティング・システム・ベース・モジュール102に追加することができるコンポーネントの表示にも備えている。
依存性処理モジュール212の一例は、ソフトウェア・アプリケーションについての1つ以上の分析プログラムを実行し、このソフトウェア・アプリケーションにおけるオペレーティング・システム依存性を特定し、これらの依存性を解決するオペレーティング・システム・コンポーネントにその依存性をマッピングする。実施形態によっては、依存性および処理モジュール212は、特定したオペレーティング・システム・コンポーネントをオペレーティング・システム・コンポーネントのリストに自動的に追加し、これらのコンポーネントに基づいて新たなオペレーティング・システム・イメージを構築することもある。別の実施形態では、ユーザー・インターフェース・モジュール210を通じて、特定されたコンポーネントをユーザーに提示し、追加すべきコンポーネントをユーザーが選択する。
一旦ユーザーがオペレーティング・システム・ベース・モジュール102に追加するコンポーネントを選択したなら、構築モジュール214を用いてオペレーティング・システム・イメージを構築する。構築されたオペレーティング・システム・イメージは、次に、検査および設計モジュール216によって検査されて、オペレーティング・システムの中にいずれかの追加の依存性が存在するか否か判定する。検査および設計モジュール216は、構築モジュール112によって作成されたオペレーティング・システム・イメージを分析する分析プログラムを含む。オペレーティング・システム・イメージはソフトウェアおよびハードウェア双方の依存性を含む可能性があるので、検査および設計モジュール216は、依存性処理モジュール212が見逃した虞れがある新たな依存性を発見するようにプログラミングすることができる。
検査および設計モジュール216の一例は、新たなオペレーティング・システム依存性であればいずれでも特定し、これらの依存性を解決することができるオペレーティング・システム・コンポーネントも特定する。実施形態によっては、検査および設計モジュール216は、自動的に、特定したオペレーティング・システム・コンポーネントをオペレーティング・システム・コンポーネントのリストに追加し、これらのコンポーネントに基づいて新たなオペレーティング・システム・イメージを構築することもある。別の実施形態では、特定されたコンポーネントは、ユーザー・インターフェース・モジュール210を通じてユーザーに提示され、追加すべきコンポーネントをユーザーが選択する。
ユーザー・インターフェース・モジュール210によって発生されたユーザー・インターフェース300の一例を図3に示す。ユーザー・インターフェース300の一例は、ソフトウェア・アプリケーションのフォーマットを選択するためのセクション302と、コンポーネントを選択するためのセクション304とを含む。
セクション302の一例は、ソフトウェア・アプリケーションのフォーマットを選択するためのチェックボックスを含む。含まれるのは、二進ファイル・フォーマットのチェックボックス306、ソース・ファイル・フォーマットのチェックボックス308、およびインストール・ファイル・フォーマットのチェックボックス310である。
コンポーネント・セクション304の一例は、依存性を満足するシステム・コンポーネントを選択するためのチェックボックスを含む。図示の例では、コンポーネント・セクション304は、例えば、Microsoft Corporationによって提供されているWINDOWS(登録商標)XPオペレーティング・システム・インターフェースのような、企業固有のユーザー・インターフェース312、メディア・プレーヤーのチェックボックス314、ウェブ・ブラウザーのチェックボックス316、ファイアウォールのチェックボックス318、そしてMicrosoft Corporationによって提供されるthe.Netフレームワークのような、ネットワーク・フレームワークのチェックボックス320といったコンポーネントをリストに纏める。他のコンポーネントも可能である。
実施形態例では、セクション304における1つ以上のチェックボックスは、統合開発システム200によって自動的にチェックされ、依存性処理モジュール212によって特定されたコンポーネントを選択し、ソフトウェア・アプリケーションにおける依存性を解決することができる。自動チェック処理に加えて、ユーザーは、セクション304におけるチェックボックスの1つ以上を手作業でチェックすることによって、追加のコンポーネントを選択することもできる。
実施形態例では、システム100、200、およびユーザー・インターフェース300は1つ以上のコンピュータ・システムに実装される。実施形態例では、システム100、200は処理ユニットおよびコンピュータ読み取り可能媒体を含む。コンピュータ読み取り可能媒体は、揮発性(RAMのような)、不揮発性(ROM、フラッシュ・メモリ等のような)、またはその何らかの組み合わせを含むことができる。システム100、200は、磁気あるいは光ディスクまたはテープのような、大容量ストレージ(リムーバブルおよび/または非リムーバブル)を含むことができる。オペレーティング・システムおよび1つ以上のアプリケーション・プログラムは、システム100、200に格納することができる。他の構成も可能である。
図4は、統合開発システムを用いて、埋め込みデバイスのためのオペレーティング・システム・イメージを作成する方法400の一例を示すフロー・チャートである。前述のように、統合開発システムは、通常、特定の埋め込みオペレーティング・システム・プラットフォームにオペレーティング・システム・イメージを構築するために用いられる。
最初に、方法400の動作402において、オペレーティング・システム・プラットフォームに追加するために、ソフトウェア・アプリケーションを特定する。これは、例えば、統合開発システム例においてプロジェクト・ファイルを開き、ソフトウェア・アプリケーションを選択することによって行うことができる。動作404において、このソフトウェア・アプリケーションのファイル・タイプを、例えば、二進ファイル、ソース・コード・ファイル、またはインストール・ファイルのように選択する。この選択は、統合開発システムのユーザー・インターフェースにおいて、該当するファイル・タイプに対応するチェックボックスを選択することによって行うことができる。例えば、統合開発システムにおいてプロジェクト・ファイルを用いることによるというような、代わりの選択方法も可能である。
別の例では、ユーザーは他のパラメータも選択することができる。例えば、実施形態の中には、統合開発システムが、WINDOWS(登録商標)埋め込みCEまたはXP埋め込みオペレーティング・システムのような、複数のタイプのオペレーティング・システムを扱うようにプログラミングされていることもある。このような例では、ユーザーは、ソフトウェア・アプリケーションの分析に先だって、どのオペレーティング・システムが望ましいのか選択することができる。
動作406において、統合開発システムに含まれる1つ以上の分析プログラムをソフトウェア・アプリケーションに対して実行し、このソフトウェア・アプリケーションに何らかのオペレーティング・システム依存性があるか否か判定する。動作408において、特定した依存性を、当該依存性を解決するために用いられるオペレーティング・システム・コンポーネントにマッピングする。
次に、動作410において、特定されたオペレーティング・システム・コンポーネントは、統合開発システムのユーザー・インターフェース上に表示される。例えば、ユーザー・インターフェースにおいて当該コンポーネントのチェックボックスをチェックすることによって、統合開発システムは、特定されたコンポーネントを表示することができる。動作412において、ユーザーは、特定されたコンポーネントを受け入れること、コンポーネントの選択を止めること、または手作業で追加のコンポーネントを選択することを選ぶ。一旦ユーザーが選択に満足したなら、動作414においてソフトウェア・アプリケーションがオペレーティング・システム・ベースに追加され、動作416においてオペレーティング・システム・イメージが構築される。
動作418において、構築したイメージを検査して、未だ別の依存性が存在するか否か判定する。例えば、統合開発システムは、オペレーティング・システム・ハードウェアの観点から、構築されたオペレーティング・システム・イメージを検査する追加の検査および分析プログラムを含むことができる。検査および分析プログラムは、オペレーティング・システム・イメージを更に調節するために追加するとよい追加のコンポーネントを特定することができる。動作420において、これら追加のコンポーネントをオペレーティング・システム・イメージに追加することができる。これらのコンポーネントの追加は、統合開発システムによって自動的に行うことができ、またはユーザーによって手作業で追加することもできる。最後に、動作422において、追加のコンポーネントが追加された場合、統合開発システムにおいてオペレーティング・システム・イメージを再構築する。
以上、主題について構造的特徴および/または方法論的行為に特定的な文言で説明したが、添付した特許請求の範囲において定められている主題は、前述した特定的な特徴や行為には必ずしも限定されないことは言うまでもない。むしろ、先に説明した特定的な特徴や行為は、特許請求の範囲を実施する形態例として開示したのである。

Claims (18)

  1. 埋め込みデバイス(114)のためのオペレーティング・システム・イメージを作成するシステム(100)であって、
    前記埋め込みデバイスのオペレーティング・システムを含むオペレーティング・システム・ベース・モジュール(102)と、
    ソフトウェア・アプリケーション・モジュール(104)であって、前記埋め込みデバイスにおいて実行するようにプログラミングされた1つ以上のソフトウェア・アプリケーションを含む、ソフトウェア・モジュール(104)と、
    前記1つ以上のソフトウェア・アプリケーションにおける依存性を特定するようにプログラミングされた分析プログラム・モジュール(106)と、
    前記オペレーティング・システム・ベースに追加される1つ以上のコンポーネントを含むコンポーネント・モジュール(108)と、
    前記コンポーネント・モジュール(108)からの1つ以上のコンポーネントに前記依存性をマッピングするようにプログラミングされたマッピング・モジュール(110)と、
    を含む、システム。
  2. 請求項1記載のシステムにおいて、前記コンポーネントは、メディア・プレーヤー、ウェブ・ブラウザー、およびファイアウォールから成る1群から選択される、システム。
  3. 請求項1記載のシステムにおいて、前記マッピング・モジュールは、更に、ハッシュ表を用いて前記依存性をマッピングするようにプログラミングされた、システム。
  4. 請求項1記載のシステムであって、更に、前記ソフトウェア・アプリケーションのフォーマットを選択するための第1セクションと、前記コンポーネントを選択するための第2セクションとを含むようにプログラミングされたユーザー・インターフェースを含む、システム。
  5. 請求項1記載のシステムであって、更に、オペレーティング・システム・イメージを構築する構築モジュールを含む、システム。
  6. 埋め込みデバイスのためのオペレーティング・システム・イメージ(114)を作成する統合開発システム(100)であって、
    前記埋め込みデバイスのオペレーティング・システムを含むオペレーティング・システム・ベース・モジュール(102)と、
    1つ以上のフォーマットで提供される1つ以上のソフトウェア・アプリケーションを含むソフトウェア・アプリケーション・モジュール(104)と、
    前記ソフトウェア・アプリケーションを分析して、該ソフトウェア・アプリケーションにおけるオペレーティング・システム依存性を判定するようにプログラミングされた1つ以上の分析プログラムを含む分析プログラム・モジュール(106)と、
    前記オペレーティング・システムに追加されるようにプログラミングされた1つ以上のコンポーネントを含むコンポーネント・モジュール(108)と、
    前記フォーマットおよび前記コンポーネントの選択を可能にするユーザー・インターフェース・モジュール(210)と、
    前記ソフトウェア・アプリケーションを分析し、前記ユーザー・インターフェース(300)に表示される前記コンポーネントに前記依存性をマッピングするために前記分析プログラムを実行する依存性処理モジュール(212)と、
    を含む、統合開発システム。
  7. 請求項6記載のシステムにおいて、前記コンポーネントは、メディア・プレーヤー、ウェブ・ブラウザー、およびファイアウォールから成る1群から選択される、システム。
  8. 請求項6記載のシステムであって、更に、オペレーティング・システム・イメージを構築する構築モジュールを含む、システム。
  9. 請求項8記載のシステムであって、更に、前記オペレーティング・システムを検査し、前記オペレーティング・システムにおける追加の依存性を判定し、前記追加の依存性を解決するコンポーネントを選択する検査および設計モジュールを含む、システム。
  10. 請求項6記載のシステムであって、更に、ハッシュ表を用いて前記依存性をマッピングするようにプログラミングされたマッピング・モジュールを含む、システム。
  11. 統合開発システム(100)を用いて、埋め込みデバイスのためのオペレーティング・システム・イメージ(114)を作成する方法であって、
    オペレーティング・システム・ベースにおいて実行するソフトウェア・アプリケーションを特定するステップと、
    前記ソフトウェア・アプリケーションのフォーマットを、前記統合開発システム(100)のユーザー・インターフェース(300)から選択するステップと、
    前記統合開発システム(100)に含まれる1つ以上の分析プログラムを用いて、前記ソフトウェア・アプリケーションについて依存性分析を行うステップと、
    前記依存性分析からオペレーティング・システム依存性を判定するステップと、
    前記オペレーティング・システム・ベースに追加される1つ以上のコンポーネントに前記依存性をマッピングするステップと、
    前記1つ以上のコンポーネントを前記ユーザー・インターフェース(300)に表示するステップと、
    前記選択したコンポーネントを前記オペレーティング・システム・ベースに追加するステップと、
    前記ソフトウェア・アプリケーションを前記オペレーティング・システム・ベースに追加するステップと、
    を含む、方法。
  12. 請求項11記載の方法において、前記依存性をマッピングするステップは、更に、ハッシュ表を用いて前記依存性をマッピングすることを含む、方法。
  13. 請求項11記載の方法において、前記コンポーネントは、メディア・プレーヤー、ウェブ・ブラウザー、およびファイアウォールから成る1群から選択される、方法。
  14. 請求項11記載の方法であって、更に、ユーザーに、マッピングしたコンポーネントを手作業で除外させ、追加のコンポーネントを選択させるステップを含む、方法。
  15. 請求項11記載の方法であって、更に、前記オペレーティング・システム・ベースからオペレーティング・システム・イメージを構築するステップを含む、方法。
  16. 請求項11記載の方法であって、更に、追加の依存性が存在するか否か判定するために、前記オペレーティング・システム・ベースを検査するステップを含む、方法。
  17. 請求項16記載の方法であって、更に、前記依存性を解決するために、追加のコンポーネントを前記オペレーティング・システム・ベースに追加するステップを含む、方法。
  18. 請求項17記載の方法において、前記依存性をマッピングするステップは、更に、ハッシュ表を用いて前記依存性をマッピングすることを含む、方法。
JP2010548756A 2008-02-26 2009-01-21 アプリケーションに基づいたオペレーション・システム・イメージの構築 Pending JP2011513833A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/037,635 US20090217259A1 (en) 2008-02-26 2008-02-26 Building Operating System Images Based on Applications
PCT/US2009/031469 WO2009108416A2 (en) 2008-02-26 2009-01-21 Building operating system images based on applications

Publications (2)

Publication Number Publication Date
JP2011513833A true JP2011513833A (ja) 2011-04-28
JP2011513833A5 JP2011513833A5 (ja) 2012-03-08

Family

ID=40999634

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010548756A Pending JP2011513833A (ja) 2008-02-26 2009-01-21 アプリケーションに基づいたオペレーション・システム・イメージの構築

Country Status (7)

Country Link
US (1) US20090217259A1 (ja)
EP (1) EP2263148A4 (ja)
JP (1) JP2011513833A (ja)
KR (1) KR20100124726A (ja)
CN (1) CN101960419B (ja)
TW (1) TW200937287A (ja)
WO (1) WO2009108416A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014514671A (ja) * 2011-05-05 2014-06-19 フォンクレー インコーポレイテッド パーソナライズ及びカスタマイズされたモバイル装置を生成するシステム

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9477497B2 (en) * 2008-09-26 2016-10-25 Juniper Networks, Inc. Methods for determining resource dependency and systems thereof
KR20120103160A (ko) * 2011-03-10 2012-09-19 애니포인트 미디어 그룹 서비스 컴포넌트를 사용한 애플리케이션 개발 및 등록 시스템
CN102799451B (zh) * 2012-06-29 2015-11-11 深圳市安普尔科技有限公司 Wince系统镜像构建方法和系统、wince系统镜像
CN104834530A (zh) * 2015-05-27 2015-08-12 百富计算机技术(深圳)有限公司 一种pos应用程序的开发方法及云端服务器
CN106909436B (zh) 2015-12-23 2020-07-21 财团法人工业技术研究院 产生虚拟机消息队列应用程序的相关关系的方法与系统
CN107077379B (zh) * 2016-04-25 2019-03-15 深圳前海达闼云端智能科技有限公司 一种虚拟机创建方法和装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030200356A1 (en) * 2002-04-19 2003-10-23 Vincent Hue Configuration tool for building a user application for multiple operating systems

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7289635B2 (en) * 2001-07-20 2007-10-30 Edag Ag Structural noise source predictor
US6993642B2 (en) * 2001-07-24 2006-01-31 Microsoft Corporation Method and system for creating and employing an operating system having selected functionality
US20030121024A1 (en) * 2001-12-13 2003-06-26 Microsoft Corporation System and method for building a runtime image from components of a software program
US7836404B2 (en) * 2001-12-13 2010-11-16 International Business Machines Corporation Streaming internet media record and playback software program
US7133874B2 (en) * 2001-12-13 2006-11-07 Microsoft Corporation Prototyping model for components of a software program
US7379982B2 (en) * 2002-04-15 2008-05-27 Bassam Tabbara System and method for custom installation of an operating system on a remote client
US6938250B2 (en) * 2002-06-12 2005-08-30 Microsoft Corporation Image-based software installation
EP1527395A4 (en) * 2002-06-25 2006-03-01 Ibm METHOD AND SYSTEM FOR CONTROLLING THE PERFORMANCE OF AN APPLICATION IN A DISTRIBUTED ENVIRONMENT
CA2391719A1 (en) * 2002-06-26 2003-12-26 Ibm Canada Limited-Ibm Canada Limitee Editing files of remote systems using an integrated development environment
US20040122791A1 (en) * 2002-12-19 2004-06-24 Sea Brian S Method and system for automated source code formatting
US7444621B2 (en) * 2004-02-20 2008-10-28 Microsoft Corporation Method and system for providing a common operating system
US20050198628A1 (en) * 2004-03-04 2005-09-08 Graham Christoph J. Creating a platform specific software image
US7765541B1 (en) * 2004-05-26 2010-07-27 Oracle America, Inc. Minimization methodology
US20060080683A1 (en) * 2004-10-12 2006-04-13 Majid Anwar Mechanism to circumvent restrictions of pre-written code components
US20070006205A1 (en) * 2005-05-18 2007-01-04 Michael Kennedy System for virtual image migration
US8074214B2 (en) * 2005-05-19 2011-12-06 Oracle International Corporation System for creating a customized software installation on demand
US7853945B2 (en) * 2006-02-22 2010-12-14 Michael Kramer Integrated computer server imaging
US7647331B2 (en) * 2006-03-28 2010-01-12 Microsoft Corporation Detecting duplicate images using hash code grouping
US8291402B2 (en) * 2007-11-29 2012-10-16 Red Hat, Inc. Using system fingerprints to accelerate package dependency resolution

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030200356A1 (en) * 2002-04-19 2003-10-23 Vincent Hue Configuration tool for building a user application for multiple operating systems

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CSNB200800422001; 宮本 信二: Eclipse3.1 完全攻略 初版 第1版, 20051210, pp.58-60, ソフトバンククリエイティブ株式会社 *
JPN6013025180; 宮本 信二: Eclipse3.1 完全攻略 初版 第1版, 20051210, pp.58-60, ソフトバンククリエイティブ株式会社 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014514671A (ja) * 2011-05-05 2014-06-19 フォンクレー インコーポレイテッド パーソナライズ及びカスタマイズされたモバイル装置を生成するシステム

Also Published As

Publication number Publication date
EP2263148A4 (en) 2012-10-31
CN101960419A (zh) 2011-01-26
EP2263148A2 (en) 2010-12-22
TW200937287A (en) 2009-09-01
CN101960419B (zh) 2014-01-29
KR20100124726A (ko) 2010-11-29
WO2009108416A3 (en) 2009-10-22
WO2009108416A2 (en) 2009-09-03
US20090217259A1 (en) 2009-08-27

Similar Documents

Publication Publication Date Title
US8010946B2 (en) Apparatus for analysing and organizing artifacts in a software application
US8543379B1 (en) System and method for parsing a text buffer using a graphical user interface
US9898280B2 (en) Automatic code review and code reviewer recommendation
JP2011513833A (ja) アプリケーションに基づいたオペレーション・システム・イメージの構築
WO2018010552A1 (zh) 测试方法和装置
US8881105B2 (en) Test case manager
US8745592B1 (en) Input selection for automatic test suite generation
JP4619698B2 (ja) コードセグメント作成方法及びそのシステム
US20080148235A1 (en) Runtime inspection of user interfaces
US20150100946A1 (en) Using mock data to validate applications
EP2124150A2 (en) Apparatus, method, and system of assisting software development
US20070240101A1 (en) System & method for manipulating source code in a text editor
US8719766B1 (en) System and method for identifying and adding files to a project manifest
Kupsch et al. Bad and good news about using software assurance tools
JP2011170697A (ja) ソフトウェア構造分析装置
CN116841543A (zh) 基于Flutter动态生成跨平台多端应用的开发方法
JP4929121B2 (ja) ソースプログラム解析装置、ソースプログラム解析方法及びコンピュータプログラム
US11947441B2 (en) Visual testing of implemented product code from a codified user experience design
US8332204B2 (en) Instruction check program, instruction check apparatus, and I/O simulator
US8191050B2 (en) Information processor, control method therefor, computer program and storage medium
JP4903279B2 (ja) 動作検証装置、動作検証方法、および動作検証プログラム
JP4983027B2 (ja) チェックプログラム及びチェック方法
JP2006227820A (ja) プログラムテストシステム及びプログラムテスト方法
JP2011113298A (ja) 流用ソースコード解析システム及びプログラム並びに記録媒体
JP2009181180A (ja) プログラム生成ツールの検査プログラムおよびプログラム生成ツールの検査方法ならびにプログラム生成ツールの検査装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120120

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120120

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130122

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130124

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130424

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130529