(57)【要約】  ＣＰＵは、組み込み機器の組み込みソフトウェア開発におけるドキュメント作成の画面を複数表示し、仕様書編集画面（１９０１）を用いて操作設定された仕様書の第１設定内容を、設計書編集画面（１９１１）の設計書のうち第１設定内容に対応する第２設定内容として設定する。仕様書編集画面（１９０１）は、第１設定内容として組み込み機器の表示画面に配置する部品の配置および操作仕様を図形表示し、設計書編集画面（１９１１）は、第２設定内容として組み込み機器の表示画面に配置する部品の制御仕様に関し、部品の制御処理内容を複数の図形により示す所定のルール図を用いて表示する。仕様書編集画面（１９０１）と、設計書編集画面（１９１１）は、表示切り替え、または、部品の配置を基準に互いに重ね合わせて表示させる。
2015019422.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータが、
組み込み機器の組み込みソフトウェア開発におけるドキュメント作成の画面を複数表示し、
第１画面を用いて操作設定された第１ドキュメントの第１設定内容を、第２画面の第２ドキュメントのうち前記第１設定内容に対応する第２設定内容として設定する、
処理を実行することを特徴とする組み込みソフトウェアのドキュメント作成方法。
【請求項２】
前記第１ドキュメントは、前記第１設定内容として前記組み込み機器の表示画面に配置する部品の配置および操作仕様を第１画面に図形表示し、
前記第２ドキュメントは、前記第２設定内容として前記組み込み機器の表示画面に配置する前記部品の制御仕様に関し、前記部品の制御処理内容を複数の図形により示す所定のルール図を用いて第２画面に表示し、
前記第１画面と、前記第２画面は、表示切り替え、または、前記部品の配置を基準に互いに重ね合わせて表示させる、
ことを特徴とする請求項１に記載の組み込みソフトウェアのドキュメント作成方法。
【請求項３】
前記第１ドキュメントの前記部品の配置あるいは操作仕様の内容変更時に、対応する前記第２ドキュメントの前記部品の制御仕様の内容を変更することを特徴とする請求項２に記載の組み込みソフトウェアのドキュメント作成方法。
【請求項４】
前記第１画面と前記第２画面の重ね合わせ表示時には、上側に重ねられる一方のドキュメントを半透明に表示させる、
ことを特徴とする請求項２または３に記載の組み込みソフトウェアのドキュメント作成方法。
【請求項５】
前記第２ドキュメントのルール図は、第１ドキュメントにより配置した前記部品を起点として前記部品の制御処理内容の条件とアクションを線分により接続して表示する、
ことを特徴とする請求項２〜４のいずれか一つに記載の組み込みソフトウェアのドキュメント作成方法。
【請求項６】
前記第２ドキュメントの制御処理内容の前記条件と前記アクションには、対応するプログラムの関数名が設定されること、
を特徴とする請求項５に記載の組み込みソフトウェアのドキュメント作成方法。
【請求項７】
前記第１ドキュメントの部品は、前記組み込み機器の表示画面上に配置される操作ボタンであることを特徴とする請求項１〜６のいずれか一つに記載の組み込みソフトウェアのドキュメント作成方法。
【請求項８】
組み込み機器の組み込みソフトウェア開発におけるドキュメント作成の画面を複数表示し、第１画面を用いて操作設定された第１ドキュメントの第１設定内容を、第２画面の第２ドキュメントのうち前記第１設定内容に対応する第２設定内容として設定する制御部を備えたことを特徴とする組み込みソフトウェアのドキュメント作成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、組み込み機器に組み込む組み込みソフトウェアのドキュメント作成方法およびドキュメント作成装置に関する。
【背景技術】
【０００２】
汎用ソフトウェア開発の際には、仕様書、マニュアル、ソフトウェア設計書、ソースコード、テスト仕様書等の各種ドキュメントを作成している。また、開発の工程（フロー）は、仕様書（テスト仕様書、マニュアル）を作成した後、ソフトウェア設計書を作成し、この後にソースコードを作成し、実機環境でのコンパイルを行った後、実機動作させて、検証、およびバグ修正を行うようになっている。【０００３】
上記複数の各種ドキュメントを作成するにあたり、システムおよびソフトウェアの仕様の決定や登録、更新等の各工程のデータをデータベースにより管理処理することにより、正確なドキュメントを作成する仕様管理装置が提案されている。この仕様管理装置は、各工程で作成される成果物と成果物間の関係を、モデル要素、モデル要素間の関係、ドキュメントおよびその構成、モデル要素およびドキュメント要素との関係の４種類に分類して定義し、登録管理することにより、入力されるモデル要素の情報と予め定義されるドキュメントの情報に基づいて、ドキュメントを自動生成する（例えば、下記特許文献１参照。）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−１０６８９３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来、開発の各工程では、異なる作業者が分担して作業を行うものであるため、異なる工程同士の連携を円滑に行えなかった。また、各ドキュメントの正確性は、各工程の作業者の習熟度に影響を受け、習熟していない作業者が作成した精度の低いドキュメントが他の工程（全体）に影響を与える問題が生じた。例えば、ソフトウェア間の連携部分のプログラミングは、一定の知識を有するプログラマによる作業が必要であり、このプログラマは、他の工程の作業に精通していない。【０００６】
このため、異なる工程の作業者間では、設計、変更等に迅速に対応できず、連携のための工数が増え、全体の工数やコスト増加等を生じやすい。例えば、ＧＵＩ開発と制御開発は、それぞれ別工程で行われており、ＧＵＩ画面上の部品と制御処理の連携は、手作業で一つずつ対応させていた。このため、ＧＵＩ画面上の部品と制御処理の連携に非常に手間がかかっていた。【０００７】
そして、特許文献１の技術では、ある工程における作業状態を他の工程の作業者から見て分かりやすく出力することはできないため、設計、変更等に柔軟に対応することができない。結果として、各工程の作業者は、全体の開発状態や、工程間の連携状態を把握できないため、担当する工程の開発を円滑に行うことができなかった。【０００８】
また、近年では、ＰＣ等の汎用アプリケーションの他に、特定のアプリケーションを動作させる組み込みソフトウェアが台頭してきている。このような組み込みソフトウェアにおいて、ソフトウェア間のインターフェースは、ＡＰＩ関数を用意し、ソフトウェア間で互いにコールするよう、習熟したプログラマがプログラミングしていた。【０００９】
組み込みソフトウェアは、例えば、リモコンやデジカメ、ＩＣレコーダ等、特定の単純な機能であり、習熟したプログラマに限らずに、より効率的にソフトウェア開発できることが望まれている。【００１０】
プログラミングに習熟していなくても組み込みソフトウェア開発が行え、また、各工程を連携できるドキュメントが作成できれば、組み込みソフトウェアをより効率的に開発できるようになる。【００１１】
本発明は、上記課題に鑑み、組み込みソフトウェアを効率的に開発できることを目的とする。
【課題を解決するための手段】
【００１２】
上記目的を達成するため、本発明の組み込みソフトウェアのドキュメント作成方法は、コンピュータが、組み込み機器の組み込みソフトウェア開発におけるドキュメント作成の画面を複数表示し、第１画面を用いて操作設定された第１ドキュメントの第１設定内容を、第２画面の第２ドキュメントのうち前記第１設定内容に対応する第２設定内容として設定する、処理を実行することを特徴とする。【００１３】
また、前記第１ドキュメントは、前記第１設定内容として前記組み込み機器の表示画面に配置する部品の配置および操作仕様を第１画面に図形表示し、前記第２ドキュメントは、前記第２設定内容として前記組み込み機器の表示画面に配置する前記部品の制御仕様に関し、前記部品の制御処理内容を複数の図形により示す所定のルール図を用いて第２画面に表示し、前記第１画面と、前記第２画面は、表示切り替え、または、前記部品の配置を基準に互いに重ね合わせて表示させる、ことを特徴とする。【００１４】
また、前記第１ドキュメントの前記部品の配置あるいは操作仕様の内容変更時に、対応する前記第２ドキュメントの前記部品の制御仕様の内容を変更することを特徴とする。【００１５】
また、前記第１画面と前記第２画面の重ね合わせ表示時には、上側に重ねられる一方のドキュメントを半透明に表示させる、ことを特徴とする。【００１６】
また、前記第２ドキュメントのルール図は、第１ドキュメントにより配置した前記部品を起点として前記部品の制御処理内容の条件とアクションを線分により接続して表示する、ことを特徴とする。【００１７】
また、前記第２ドキュメントの制御処理内容の前記条件と前記アクションには、対応するプログラムの関数名が設定されること、を特徴とする。【００１８】
また、前記第１ドキュメントの部品は、前記組み込み機器の表示画面上に配置される操作ボタンであることを特徴とする。【００１９】
また、本発明の組み込みソフトウェアのドキュメント作成装置は、組み込み機器の組み込みソフトウェア開発におけるドキュメント作成の画面を複数表示し、第１画面を用いて操作設定された第１ドキュメントの第１設定内容を、第２画面の第２ドキュメントのうち前記第１設定内容に対応する第２設定内容として設定する制御部を備えたことを特徴とする。【００２０】
上記構成によれば、開発に必要な各ドキュメントを一元管理し、いずれかのドキュメント修正が行われると、関連する他のドキュメントの対応部分を修正する。これにより、ソフトウェア開発に関わる複数の開発者間は常に他のドキュメントの修正を含む開発状況を把握しながら開発することができ、円滑に効率よくソフトウェア開発できるようになる。
【発明の効果】
【００２１】
本発明によれば、組み込みソフトウェアを効率的に開発できるという効果を奏する。
【図面の簡単な説明】
【００２２】
【図１】図１は、実施の形態１にかかる組み込みソフトウェアのインターフェース仕様を説明する図である。
【図２】図２は、実施の形態１にかかる仮想メモリインターフェースのメモリ内容を示す図である。
【図３】図３は、実施の形態１にかかる仮想メモリインターフェースを用いたデータ送受の処理内容を示すフローチャートである。
【図４】図４は、実施の形態１にかかるプログラムの連携例を示す図である。
【図５】図５は、実施の形態１にかかるポーリングによるデータ変化により相互のプログラム処理を実行する方法を説明する図である。
【図６】図６は、実施の形態１にかかるイベント処理により相互のプログラム処理を実行する方法を説明する図である。
【図７】図７は、実施の形態１にかかるハードウェアを介して相互のプログラム処理を実行する方法を説明する図である。
【図８】図８は、実施の形態１にかかる組み込みソフトウェア開発に用いるプログラミング装置のハードウェア構成例を示すブロック図である。
【図９】図９は、実施の形態１にかかる組み込み機器への実装例を示す図である。
【図１０】図１０は、実施の形態２にかかる制御開発を説明する図である。
【図１１】図１１は、実施の形態２にかかる制御処理の設計画面を説明する図である。
【図１２】図１２は、実施の形態２にかかるＧＵＩ画面設計を説明する図である。
【図１３】図１３は、実施の形態２にかかる制御処理設計図と画面設計図の重ね合わせ表示を説明する図である。
【図１４】図１４は、実施の形態２にかかる制御処理設計図と画面設計図を重ね合わせ一方を半透明にした表示状態を示す図である。
【図１５】図１５は、実施の形態２にかかる制御処理設計図と画面設計図の重ね合わせ表示のレイアウト変更時の状態を説明する図である。
【図１６】図１６は、実施の形態２にかかる制御処理とＧＵＩ部品との関連付けの処理を示すフローチャートである。
【図１７】図１７は、実施の形態２にかかる制御処理設計図と画面設計図の差し換えを説明する図である。
【図１８】図１８は、実施の形態２にかかる複数の設計図間の関連付けを説明する図である。
【図１９】図１９は、実施の形態２にかかる仕様書と設計書の連携の具体例を示す図である。
【図２０】図２０は、実施の形態２にかかる仕様書情報と設計書情報のデータ関連を示す図である。
【図２１】図２１は、実施の形態２にかかる部品追加時の処理を説明する図である。（その１）
【図２２】図２２は、実施の形態２にかかる部品追加時の処理を説明する図である。（その２）
【図２３】図２３は、実施の形態２にかかる部品追加時の処理を説明する図である。（その３）
【図２４】図２４は、実施の形態２にかかる部品追加時の処理を説明する図である。（その４）
【図２５】図２５は、実施の形態２にかかる部品追加時の処理を説明する図である。（その５）
【図２６】図２６は、実施の形態２にかかる追加した部品に対応する処理（関数）のソースコード生成を説明する図である。
【図２７】図２７は、実施の形態２にかかる作成した複数のドキュメントあるいはプログラムの仕様変更時の処理を説明する図である。
【発明を実施するための形態】
【００２３】
（実施の形態）
以下に添付図面を参照して、この発明にかかる組み込みソフトウェアのドキュメント作成方法およびドキュメント作成装置の好適な実施の形態を詳細に説明する。組み込みソフトウェアは、例えば、リモコンやデジカメ、ＩＣレコーダ、車載装置、医療機器等、用途（動作）が限定された特定用途の組み込み機器に組み込まれるソフトウェアである。
【００２４】
（実施の形態１：仮想メモリインターフェースを用いたデータ送受の構成）
図１は、実施の形態１にかかる組み込みソフトウェアのインターフェース仕様を説明する図である。実施の形態では、異なるプログラムＡ，Ｂ間の接続を仮想メモリインターフェース１０１を用いて行う。この接続とは、プログラム間においてやりとりするデータの送受を指す。
【００２５】
図２は、実施の形態１にかかる仮想メモリインターフェースのメモリ内容を示す図である。メモリアドレス毎に一方のプログラム（例えばアプリケーション）Ａと、他方のプログラム（例えばＯＳ）Ｂとの間でやりとりするデータ（変数）を格納する。
【００２６】
ここで、プログラムＡ，Ｂの関数と、このプログラムＡ，Ｂ間における関数のデータの送受は仮想メモリ（インターフェース）１０１を用いる。そして、各関数が書き込むアドレスと、読み出すアドレスは、予め設定されている。
【００２７】
組み込みソフトウェアでは、特定の機能を順序制御等により単純実行すればよいため、プログラムＡ，Ｂ間のデータの送受は、固定化されている。例えば、組み込み機器の操作等により、プログラム（アプリケーション）Ａの関数Ａが取得したデータは、アドレス「００００」に書き込むように設定しておく。
【００２８】
また、プログラム（ＯＳ）Ｂの関数１は、アドレス「００００」に書き込まれたデータを読み込み、所定の処理を実行するように設定しておく。また、プログラム（ＯＳ）の関数１は、所定の処理実行結果の戻り値をアドレス「０００１」に書き込むように設定しておく。
【００２９】
また、プログラム（アプリケーション）Ａの関数Ａは、アドレス「０００１」のデータを読み込み、所定の処理を実行するように設定しておく。プログラムＡ，Ｂの他の関数についても、それぞれ異なるアドレスを用いてデータ送受する設定を行う。
【００３０】
図３は、実施の形態１にかかる仮想メモリインターフェースを用いたデータ送受の処理内容を示すフローチャートである。図中ステップＳ３０１は組み込みソフトウェア開発時に行う事前処理内容、ステップＳ３０４は事前処理後（組み込み機器への組み込みソフトウェアの組み込み後）の実行処理内容を示す。
【００３１】
ステップＳ３０１の事前準備としては、はじめに、プログラムＡの関数ＡからプログラムＢの関数１へ引き渡す変数領域１を設定する（ステップＳ３０２）。次に、プログラムＢの関数１からプログラムＡの関数Ａへの戻り値の変数領域２を設定する（ステップＳ３０３）。
【００３２】
上記事前準備後の実行処理時（ステップＳ３０４）には、ステップＳ３０５〜ステップＳ３０８の処理を行う。はじめに、プログラムＡの関数Ａにより変数領域１にデータを書き込む（ステップＳ３０５）。次に、プログラムＢの関数１により変数領域１からデータを読み込む（ステップＳ３０６）。その後、プログラムＢの関数１により内部計算を行い、計算結果の戻り値を変数領域２に書き込む（ステップＳ３０７）。そして、プログラムＡの関数Ａにより変数領域２からデータを読み込む（ステップＳ３０８）。
【００３３】
図３の処理を図２を用いて具体的に説明すると、事前準備としては、
ａ．仮想メモリインターフェース１０１のアドレス「００００」を関数Ａから関数１へ引き渡す変数領域１として設定する。
ｂ．仮想メモリインターフェース１０１のアドレス「０００１」を関数１から関数Ａへの戻り値の変数領域２として設定する。
【００３４】
上記事前準備後の動作処理時には、プログラムＡ，Ｂは、下記１．〜４．の処理を行う。
１．関数Ａが変数領域１（アドレス「００００」）にデータを書き込む。
２．関数１が変数領域１（アドレス「００００」）からデータを読み込む。
３．関数１が内部計算を行い、計算結果の戻り値を変数領域２（アドレス「０００１」）に書き込む。
４．関数Ａが変数領域２（アドレス「０００１」）からデータを読み込む。
【００３５】
このように、プログラムＡ，Ｂ相互間でやりとりするデータについて、仮想メモリインターフェース１０１上に、各プログラムが書き込むアドレスと、読み出すアドレスを設定しておくことにより、各プログラムＡ，Ｂは、仮想メモリインターフェース１０１の該当アドレスに対するデータ書き込みに基づきこのデータを読み込み、プログラム実行することができるようになる。各プログラムＡ，Ｂは、メモリのリード／ライト動作だけでプログラム間の連携を構築することができる。
【００３６】
ここで、プログラムＡ，Ｂは、それぞれ予め設定したアドレスにデータが書き込まれたことを契機（タイミング）として、処理を実行するように構成（プログラミング）しておいてもよい。例えば、上記例では、２．４．について下記のようにプログラミングできる。
２’．関数１は、アドレス「００００」にデータが書き込まれた場合、このデータを読み込む。
４’．関数Ａは、アドレス「０００１」にデータが書き込まれた場合、このデータを読み込む。
【００３７】
図４は、実施の形態１にかかるプログラムの連携例を示す図である。プログラムＡの関数Ａは、アドレス０「００００」に値１０を書き込む処理、およびアドレス１「０００１」の値を読み込む処理を行う。プログラムＢの関数１は、アドレス０「００００」に書き込まれた値を処理（図示の例では値の二乗処理）し、処理後の値を戻り値としてアドレス１「０００１」に書き込む処理を行う。
【００３８】
図４に示したプログラムの連携例によれば、プログラムＡ，Ｂは、ＷＲＩＴＥ関数、ＲＥＡＤ関数のみで他のプログラムとデータの送受、およびデータ処理依頼を行うことができる。そして、プログラムＡ，Ｂは、ＲＥＡＤについてはアドレス、ＷＲＩＴＥについては、アドレスと値の２つの関数だけを用いて処理実行できる。
【００３９】
このように、プログラムＡ，Ｂは、仮想メモリインターフェース１０１を介したデータ送受のルール（アドレスとデータの大きさ、処理の内容）だけを事前に決めておけば、相互のプログラムＡ，Ｂ間のデータのやりとり、および処理依頼の伝達を極めて容易に実現できるようになる。
【００４０】
また、プログラマが実装（作業）するのは、仮想メモリの特定のアドレスにおける読み書きのみとすることができるため、ＡＰＩ等の関数の知識や経験は必要なく、結果として習熟したプログラマでなくとも、プログラミングできる環境を構築できるようになる。
【００４１】
（仮想メモリインターフェースを用いた書き込み読み込みのプログラム間伝達について）
次に、上記プログラム連携における書き込み、および読み込みが行われたことを相手のプログラムに伝達するには下記１．〜３．の方法を用いて行う。
１．ポーリングによるデータ変化により相互のプログラム処理を実行する方法
２．イベント処理により相互のプログラム処理を実行する方法
３．ハードウェアを介して相互のプログラム処理を実行する方法
【００４２】
図５は、実施の形態１にかかるポーリングによるデータ変化により相互のプログラム処理を実行する方法を説明する図である。下記１．〜３．の手順でプログラム処理を実行する。
１．プログラム（アプリケーション）Ａがデータを書き換える。
２．プログラム（アプリケーション）Ｂは、所定のアドレス（アドレス「００００」）のデータが書き換えられているかどうかをポーリング（一定間隔）で読みに行く。
３．そして、プログラム（アプリケーション）Ｂは、所定のアドレス（アドレス「００００」）のデータが書き換えられていた場合（ＤＡＴＡ０→ＤＡＴＡ１）には、このデータ（ＤＡＴＡ１）を読み込み、所定の処理を実行する。
【００４３】
図６は、実施の形態１にかかるイベント処理により相互のプログラム処理を実行する方法を説明する図である。下記１．〜４．の手順でプログラム処理を実行する。
１．初期化時に、プログラム（アプリケーション）ＢがＯＳ６０１に所定のアドレス「００００」のデータに変化が生じた場合、通知するよう登録する。
２．プログラム（アプリケーション）Ａがアドレス「００００」のデータを書き換える（ＤＡＴＡ０→ＤＡＴＡ１）。
３．ＯＳ６０１がプログラム（アプリケーション）Ｂにアドレス「００００」の変化を通知する。
４．プログラム（アプリケーション）Ｂがアドレス「００００」のデータを読み込み、所定のデータ処理を開始する。
以上のように、イベント処理では、全てのデータの書き込み、読み込みはＯＳ６０１を経由して行う。
【００４４】
図７は、実施の形態１にかかるハードウェアを介して相互のプログラム処理を実行する方法を説明する図である。仮想メモリインターフェース１０１には、データ領域の他に、データリードと、データライトで起動する関数を登録しておく。下記１．〜３．の手順でプログラム処理を実行する。
１．プログラム（アプリケーション）Ａがアドレス「００００」のデータを書き換える（ＤＡＴＡ０→ＤＡＴＡ１）。
２．ＣＰＵ７０１がプログラム（アプリケーション）Ａにより書き込まれたアドレス「００００」とデータ（ＤＡＴＡ１）から関数（ＯｎＷｒｉｔｅ０（））をコールする。
３．プログラム（アプリケーション）Ｂは、書き換えられたデータ（ＤＡＴＡ１）を読み込んで実行する。
【００４５】
図８は、実施の形態１にかかる組み込みソフトウェア開発に用いるプログラミング装置のハードウェア構成例を示すブロック図である。図８において、プログラミング装置８００は、制御部（ＣＰＵ）８０１と、Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ（ＲＯＭ）８０２と、Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ（ＲＡＭ）８０３と、を含む。また、半導体メモリやディスクドライブ等の記憶部８０４と、ディスプレイ８０８と、通信インターフェース（Ｉ／Ｆ）８０９と、キーボード８１０と、マウス８１１と、スキャナ８１２と、プリンタ８１３とを備えてもよい。これらＣＰＵ８０１〜プリンタ８１３はバス８１４によってそれぞれ接続されている。
【００４６】
ＣＰＵ８０１は、プログラミング装置８００によって組み込みソフトウェアを作成する際の全体の制御を司る演算処理装置である。ＲＯＭ８０２は、組み込みソフトウェアの作成に必要なプログラムを記憶する不揮発性メモリである。ＲＡＭ８０３は、ＣＰＵ８０１による演算処理実行時のワークエリアとして使用される揮発性メモリである。
【００４７】
通信インターフェース８０９は、ネットワーク８１５と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。具体的に、通信インターフェース８０９は、通信回線を通じてネットワーク８１５となるＬｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ（ＬＡＮ）、Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ（ＷＡＮ）、インターネットなどに接続され、ネットワーク８１５を介して他の装置に接続される。通信インターフェース８０９には、例えば、モデムやＬＡＮアダプタなどを採用することができる。
【００４８】
ディスプレイ８０８は、組み込みソフトウェア開発のための各種仕様書や設計書、例えば、操作仕様書におけるＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）の画面設計と、プログラム設計書の設計画面について、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などをデータ表示する装置である。ディスプレイ８０８には、例えば、Ｔｈｉｎ  Ｆｉｌｍ  Ｔｒａｎｓｉｓｔｏｒ（ＴＦＴ）液晶ディスプレイ、プラズマディスプレイ、有機ＥＬディスプレイなどを採用することができる。
【００４９】
そして、上記説明した、プログラム（アプリケーション）Ａ，Ｂの開発において、図８に示したプログラミング装置８００を用いて図３に示した事前処理Ｓ３０１を行う。この後、組み込み機器において図３に示した実行処理ステップＳ３０４を実行させればよい。
【００５０】
（実装例）
図９は、実施の形態１にかかる組み込み機器への実装例を示す図である。用途が限定された組み込み機器は、所定のメモリにプログラム（アプリケーション）Ａ，Ｂを格納しておき、プログラム（アプリケーション）Ａ，Ｂ間のデータ送受に、ＯＳ９０１が提供する仮想メモリインターフェース１０１を利用する。なお、不図示であるが、組み込み機器は、これらプログラム（アプリケーション）Ａ，Ｂと、ＯＳ９０１と、仮想メモリインターフェース１０１の動作処理を実行する。
【００５１】
従来のインターフェースでは、プログラムＡからプログラムＢのＡＰＩをコールすることでプログラム間の連携を図っていた。この場合、ＡＰＩ仕様書の精読が必要であり、適切な関数、因数で対応付けしなければならず、習熟したプログラマによるプログラミングが必要であった。
【００５２】
これに対し、上記実施の形態１によれば、仮想メモリインターフェースを介してプログラム間のデータの送受を行う。組み込みソフトウェアでは、各プログラムを機能別モジュール毎（例えばレコーダであれば録音機能や表示機能毎）に開発を行っている。実施の形態によれば、この際、プログラム間の連携にＡＰＩ関数を用いるなど、特別なプログラミングを行う必要がなく、プログラミングの知識がなくても自分が担当する組み込みソフトウェア開発を行うことができるようになる。また、プログラミング言語や、プログラマ間の言語（人種）を問わずに組み込みソフトウェア開発を行うことができる。
【００５３】
これにより、組み込みソフトウェア開発のプログラム品質を向上し、効率化および低コスト化できる。さらに、ソフトウェア開発を統括するスーパープログラマがいなくても組み込みソフトウェア開発を行うことができ、人件費を削減することもできる。
【００５４】
また、組み込み機器の試作段階において、プログラム間のデータ送受が明確となり、プログラミング（データ送受）の試行錯誤を簡単かつ容易に行えるため、試作段階での検証作業を効率よく円滑に行えるようになる。
【００５５】
（実施の形態２：ＧＵＩ開発と制御開発の連携について）
実施の形態２では、組み込みソフトウェア開発における複数のドキュメントの連携について説明する。この連携についても、図８に示したプログラミング装置８００を用いて行うことができる。
【００５６】
従来、例えば、操作仕様書におけるＧＵＩの画面設計と、プログラム設計書における制御処理（プログラム記述）とは別工程で行われていたが、実施の形態２では、これら仕様書（例えば、ＧＵＩ開発）と設計書（例えば、制御開発）のドキュメント相互を分かりやすい形で連携させる。
【００５７】
図１０は、実施の形態２にかかる制御開発を説明する図である。図示のように、実施の形態では、組み込みソフトウェア開発において、従来の制御処理（プログラム記述）を用いず、ルール図を用いて制御の設計を行う。プログラム記述の処理内容を図形の組み合わせからなるルール図１０００を用いて表現する。
【００５８】
ルール図１０００では、図１０に示すように、制御処理用部品として、条件１００１と、アクション１００２を用いる。そして、条件１００１が合致したときにアクション１００２を実行する。条件１００１を直列に接続すると論理積（ＡＮＤ）条件を表し、条件１００１を並列に接続すると論理和（ＯＲ）条件を表すこととする。制御開発時には、これら条件１００１とアクション１００２とを制御処理手順に沿って系統的に接続してルール図１０００を作成する。
【００５９】
図１１は、実施の形態２にかかる制御処理の設計画面を説明する図である。ルール図１０００を用いた制御処理設計図１１００の表示画面右欄には、制御処理用部品一覧１１１０を表示させる。この制御処理用部品一覧１１１０には、図１０に示した条件１００１やアクション１００２等を予め配置しておく。
【００６０】
そして、制御処理設計時に必要な項目をこの制御処理用部品一覧１１１０から選択し、操作（ドラッグアンドドロップ）により、ルール図１０００上の適宜の位置に配置する。そして、制御処理用部品（条件１００１やアクション１００２）の配置後、これら条件１００１やアクション１００２の内容を設定して、制御動作を決定する。なお、図１１の例では、ルール図１０００上において、条件１００１やアクション１００２は、組み込み機器の操作（例えば、開始ボタン１１２０、停止ボタン１１３０の操作）に基づき設定される例を示している。
【００６１】
図１２は、実施の形態２にかかるＧＵＩ画面設計を説明する図である。図示のように、実施の形態では、組み込みソフトウェア開発において、組み込み機器に多用されるＧＵＩを画面設計図１２００を用いて設計する。
【００６２】
画面設計図１２００上には、組み込み機器の操作画面の機能を便宜的に簡単に示してあり、例えば、組み込み機器の起動（ＳＴＡＲＴ）ボタン１２０１、停止（ＳＴＯＰ）ボタン１２０２、その他の機能ボタン１２０３のレイアウトを設計、および編集する。
【００６３】
例えば、画面設計図１２００の表示画面右欄には、ＧＵＩ部品一覧１２１０を表示させる。このＧＵＩ部品一覧１２１０には、起動（ＳＴＡＲＴ）ボタン１２０１、停止（ＳＴＯＰ）ボタン１２０２、その他の機能ボタン１２０３等を予め配置しておく。そして、ＧＵＩ画面設計時に必要なボタンをこのＧＵＩ部品一覧１２１０から選択し、操作（ドラッグアンドドロップ）により、画面設計図１２００上の適宜の位置に配置する。そして、ＧＵＩ部品の配置後、ＧＵＩ部品の色や文言（例えば機能別の色や機能を示す文言）を設定してＧＵＩ画面を設計する。
【００６４】
制御処理の設計時には、図１１に示した制御処理設計図１１００（ルール図１０００）の表示画面を用い、ＧＵＩの画面設計時には、図１２に示した画面設計図１２００の表示画面に切り替える。この際、図１１に示した制御処理設計図１１００（ルール図１０００）上には、図１２に示した起動（ＳＴＡＲＴ）ボタン１２０１と停止（ＳＴＯＰ）ボタン１２０２とが同一位置に配置される。
【００６５】
図１３は、実施の形態２にかかる制御処理設計図と画面設計図の重ね合わせ表示を説明する図である。図１１に示した制御処理設計図１１００の表示画面上に、図１２に示した画面設計図１２００を重ね合わせて表示させる。例えば、重ね合わせの上に位置する画面設計図１２００については半透明表示とすることにより、下に位置する制御処理設計図１１００についても視認することができるようになる。これに限らず、これら制御処理設計図１１００と、画面設計図１２００のいずれかに切り替え表示したり、同一画面上に並列していずれも表示させてもよい。
【００６６】
また、画面表示は、これら２つの制御処理設計図１１００と、画面設計図１２００に限らず３つ以上のドキュメントの表示画面を重ね合わせたり、切り替えたり、並列表示させることもできる。
【００６７】
いずれの場合においても、制御処理設計図１１００と画面設計図１２００上で起動（ＳＴＡＲＴ）ボタン１２０１の表示（座標）位置は同一位置とする。同様に、制御処理設計図１１００と画面設計図１２００の停止（ＳＴＯＰ）ボタン１２０２の表示（座標）位置は同一位置とする。これらは、説明の便宜上、組み込み機器の操作画面の機能として、組み込み機器の開始と停止だけを例に説明したが、制御処理およびＧＵＩ画面の起点となる他の機能についても、同様に配置することができる。
【００６８】
図１４は、実施の形態２にかかる制御処理設計図と画面設計図を重ね合わせ一方を半透明にした表示状態を示す図である。この図１４の例では、画面設計図１２００に対し、制御処理設計図１１００を半透明（図では便宜上点線）に表示した状態である。このように、制御処理設計図１１００と、画面設計図１２００を重ね合わせて表示することにより、ＧＵＩ画面上の操作と制御処理の連携を直感的に把握できるようになる。そして、この図１４の例では、制御処理設計図１１００の制御処理を参照しながら、ＧＵＩの画面設計図１２００を設計することが可能になる。
【００６９】
また、図１４とは逆に、制御処理設計図１１００に対し、画面設計図１２００を半透明に表示することにより、ＧＵＩの画面設計図１２００を参照しながら、制御処理設計図１１００の制御処理を設計することが可能になる。
【００７０】
図１５は、実施の形態２にかかる制御処理設計図と画面設計図の重ね合わせ表示のレイアウト変更時の状態を説明する図である。図１４に示す画面設計図１２００上の起動（ＳＴＡＲＴ）ボタン１２０１と停止（ＳＴＯＰ）ボタン１２０２を右へ移動させるレイアウト変更を行った状態を示している。このように、画面設計図１２００上のボタン配置を変更した場合、この変更に合わせて制御処理設計図１１００（ルール図１０００）についても、右に移動させる。
【００７１】
図１５の例では、起動（ＳＴＡＲＴ）ボタン１２０１を起点とする条件１００１およびアクション１００２と、停止（ＳＴＯＰ）ボタン１２０２を起点とする条件１００１およびアクション１００２が互いに重ならないように、ルール図１０００全体のレイアウトを変更させている。このレイアウト変更時には、各ボタンや条件、アクション間を繋ぐ線分の接続位置についても変更することにより、ルール図１０００を柔軟な形に変更できるようになる。
【００７２】
図１６は、実施の形態２にかかる制御処理とＧＵＩ部品との関連付けの処理を示すフローチャートである。制御処理設計図１１００が示す制御処理と、画面設計図１２００が示すＧＵＩ部品との関連付けの処理について説明する。この処理は、プログラミング装置８００が実行する。
【００７３】
はじめに、プログラミング装置８００は、制御処理設計図１１００の画面と、ＧＵＩの画面設計図１２００とを重ね合わせ表示する（ステップＳ１６０１）。この後、対応する制御処理設計図１１００の制御処理用部品（条件１００１、アクション１００２）と、画面設計図１２００のＧＵＩ部品（起動（ＳＴＡＲＴ）ボタン１２０１、停止（ＳＴＯＰ）ボタン１２０２）とを選択して関連付けする（ステップＳ１６０２）。
【００７４】
プログラミング装置８００は、重ね合わせた制御処理設計図１１００の画面と、ＧＵＩの画面設計図１２００の情報（各部品の座標位置を含む）と、関連付けした制御処理用部品とＧＵＩ部品の情報を記憶部８０４に保持し、記憶部８０４からの読み込みにより、ディスプレイに表示可能であり、後ほどの編集等も可能である。
【００７５】
関連付けの処理は、上記に限らず、画面設計図１２００のＧＵＩ部品を選択して、このＧＵＩ部品に対応する制御処理設計図１１００の制御処理用部品を選択し、互いを関連付けしてもよい。
【００７６】
図１７は、実施の形態２にかかる制御処理設計図と画面設計図の差し換えを説明する図である。図１７には、２つのＧＵＩの画面設計図１２００ａ，１２００ｂを一つの制御処理設計図１１００に関連付けした状態を示している。この図では、一方の画面設計図１２００ａの２つのボタン１２０１ａ、１２０２ａは、文字が日本語表示され、他方の画面設計図１２００ｂの２つのボタン１２０１ｂ、１２０２ｂは、文字が英語表示される例である。
【００７７】
このように、画面設計図１２００ａ，１２００ｂの文字表記が異なるだけの場合、制御処理設計図１１００の各制御処理用部品（図示の例では便宜上、アクション１００２ａ，１００２ｂだけを記載）は共通して用いることができる。このような場合、一つの制御処理設計図１１００に対し、言語別に複数の画面設計図１２００ａ，１２００ｂを用意しておくことができる。例えば、画面設計図１２００ａの日本語表記の「ボタンＡ」（１２０１ａ）と、画面設計図１２００ｂの英語表記の「ＢｕｔｔｏｎＡ」（１２０１ｂ）は、いずれも、共通の制御処理設計図１１００のアクション１００２ａに接続される。
【００７８】
プログラミング装置８００は、これら２つのＧＵＩの画面設計図１２００ａ，１２００ｂを一つの制御処理設計図１１００に関連付けし、この関連付けした状態の情報を組み込み機器に搭載する。組み込み機器では、ユーザの操作により、日本語表記が選択された場合には、図示のように、画面設計図１２００ａを有効とし、画面設計図１２００ｂを無効とすればよい。英語表記が選択された場合には、画面設計図１２００ｂを有効とし、画面設計図１２００ａを無効にする。
【００７９】
上記構成によれば、一つの制御処理を複数のＧＵＩの画面を切り替えて（差し換えて）設定することができるようになる。上記例ではＧＵＩの言語切り替えを例に説明したが、これに限らず、ＧＵＩ部品のサイズや文字（フォント）の大きさ、文字の種類、ユーザの嗜好に合わせた各種ＧＵＩ画面の表示についても、制御処理を共通させ、ＧＵＩの画面を切り替える設定とすることができる。
【００８０】
これにより、仕様変更に柔軟に対応でき、例えば、後から異なるＧＵＩを追加したり、変更することが可能となる。また、上記例に限らず、一つのＧＵＩ画面を複数の制御処理に切り替えて設定することもできる。
【００８１】
図１８は、実施の形態２にかかる複数の設計図間の関連付けを説明する図である。図１８には、上記説明した画面設計図１２００と制御処理設計図１１００の関連付けに加えて、他にＩ／Ｏ設計図やイベント（Ｅｖｅｎｔ）設計図を加えて相互の関連付けを行う構成としたものである。
【００８２】
ＧＵＩの画面設計図１２００と、制御処理の制御処理設計図１１００との関連付けは上述したとおりである。これに加え、物理的入出力のＩ／Ｏ設計図１８０１と、タスク間信号のＥｖｅｎｔ設計図１８０２等、の性質の異なる入力毎に別の表示画面を用いる構成としてもよい。図示の例では、Ｉ／Ｏ設計図１８０１の各Ｉ／Ｏ条件と、Ｅｖｅｎｔ設計図１８０２の各イベントは、いずれも制御処理設計図１１００のアクション１００２に接続される。
【００８３】
（仕様書と設計書の連携の具体例）
図１９は、実施の形態２にかかる仕様書と設計書の連携の具体例を示す図である。この図１９には、仕様書編集画面１９０１により上述した画面設計図１２００を編集処理（画面上のボタンの表示色編集）し、設計書編集画面１９１１により上述した制御処理設計図１１００を編集処理する例を示してある。
【００８４】
仕様書編集画面１９０１上には、画面設定図１９０２と、表示／操作一覧図１９０３が配置され、その下部には、表示メッセージ一覧１９０４と、画面切替スイッチ１９０５が設けられる。
【００８５】
画面設定図１９０２上には、所望する部品（図示の例では、青色ボタン１９０６と赤色ボタン１９０７）を所望する位置に所定の表示色を設定して配置する。表示／操作一覧図１９０３には、配置した部品（青色ボタン１９０６、赤色ボタン１９０７）に対する操作仕様を記載する。例えば、図示のように、条件１９０８として「青色ボタンを押した」ときの動作１９０９「青色を表示する」と記載する。赤色についても同様である。
【００８６】
設計書編集画面１９１１上には、画面設定図１９１２と、表示／操作一覧図１９１３が配置され、その下部には、表示メッセージ一覧１９１４と、画面切替スイッチ１９１５が設けられる。
【００８７】
画面設定図１９１２に配置した部品（青色ボタン「Ｂｕｔｔｏｎ＿Ｂｌｕｅ」１９０６、赤色ボタン「Ｂｕｔｔｏｎ＿Ｒｅｄ」１９０７）が同じ座標位置に表示される。表示／操作一覧図１９１３には、配置した部品（青色ボタン１９０６、赤色ボタン１９０７）の条件（ボタン操作）に対する動作１９１７として表示色を記載する。例えば、「青色ボタン１９０６」の操作時に、プログラム実装に対応した名称を用いて表示色「Ｂｕｔｔｏｎ＿ＢｌｕｅＤｉｓｐｌａｙ」と、プログラム用の関数を記載する。
【００８８】
これら仕様書編集画面１９０１と、設計書編集画面１９１１は、画面切替スイッチ１９０５，１９１５の操作により相互に切り替え可能である。また、切り替えに限らず、上述したように、同一画面上に重ねて表示することもできる。
【００８９】
仕様書編集画面１９０１による編集内容は、取扱説明書（マニュアル）１９２１、およびテスト仕様書１９２２に相互変換可能である。また、設計書編集画面１９１１による編集内容は、デバッグ仕様書１９２３に相互変換可能である。また、設計書編集画面１９１１の編集内容に基づきプログラム１９２４のソースコードを生成できる。
【００９０】
図２０は、実施の形態２にかかる仕様書情報と設計書情報のデータ関連を示す図である。仕様書編集画面１９０１と、設計書編集画面１９１１による編集内容は、プログラミング装置８００の記憶部８０４に逐次格納される。
【００９１】
プログラミング装置８００は、仕様書編集画面１９０１の編集による仕様書情報２００１として、表示／操作一覧図１９０３の条件１９０８の一覧と、各条件１９０８に対応する動作１９０９を一覧化し、これら各条件１９０８と各動作１９０９との対応付けを設定する。また、設計書編集画面１９１１の編集による設計書情報２０１１についても、各条件１９１６に対応する動作１９１７を一覧化し、これら各条件１９１６と各動作１９１７との対応付けを設定する。
【００９２】
仕様書情報２００１は、仕様書データベース（ＤＢ）２００２に格納され、設計書情報２０１１は、設計書データベース（ＤＢ）２０１２に格納される。これら、仕様書ＤＢ２００２、および設計書データＤＢ２０１２の他に、図１９に示した各種仕様書はそれぞれデータベース化して、プログラミング装置８００の記憶部８０４に格納される。
【００９３】
また、プログラミング装置８００は、仕様書情報２００１と設計書情報２０１１についても、関連付けを行う。すなわち、仕様書情報２００１の各条件１９０８と、設計書情報２０１１の各条件１９１６とを関連付ける。また、仕様書情報２００１の各動作１９０９と、設計書情報２０１１の各条件１９１７とを関連付ける。
【００９４】
（部品追加時の処理：ボタンの追加例）
次に、部品（機能）追加時の処理内容を新規にボタンを追加し表示色を設定する例を用いて説明する。プログラミング装置８００が行う処理内容を説明する。
【００９５】
図２１〜図２５は、実施の形態２にかかる部品追加時の処理を説明する図である。図１９に示した部品（青色ボタン１９０６、赤色ボタン１９０７）に加えて、新たに他の部品（黄色ボタン２１０１）を追加する例について説明する。
【００９６】
図２１に示すように、黄色ボタン２１０１の追加時には、はじめに、（１）部品（黄色のボタン）２１０１を仕様書編集画面１９０１の画面設定図１９０２上の所定位置に配置する。プログラミング装置８００は、この配置に対応して、設計書編集画面１９１１の画面設定図１９１２上の同じ位置にも部品（黄色のボタン）２１０１を自動的に配置する。
【００９７】
（２）また、プログラミング装置８００は、仕様書編集画面１９０１上では、画面設定図１９０２上に配置した黄色のボタン２１０１に対応して、表示／操作一覧図１９０３に、配置した黄色ボタン２１０１に対する仕様説明（動作）エリア２１０２を自動作成する。この際、仕様説明（動作）エリア２１０２の内容は空欄とされる。
【００９８】
（３）次に、プログラミング装置８００は、仕様書編集画面１９０１の表示／操作一覧図１９０３に作成した仕様説明（動作）エリア２１０２に対応して、設計書編集画面１９１１の表示／操作一覧図１９１３に仕様説明（動作）エリア２１０３を自動作成する。この際、仕様説明（動作）エリア２１０３の内容は空欄とされる。
【００９９】
この後、図２２に示すように、仕様書編集画面１９０１の仕様説明（動作）エリア２１０２と、設計書編集画面１９１１の仕様説明（動作）エリア２１０３に、それぞれ仕様を記述する。具体的には、（４）仕様説明（動作）エリア２１０２には、黄色ボタン２１０１の仕様として、条件「黄色ボタンを押した」ときに、動作「黄色を表示する」と記述する。また、（５）仕様説明（動作）エリア２１０３には、処理の関数として「Ｂｕｔｔｏｎ＿ＹｅｌｌｏｗＤｉｓｐｌａｙ」を記述する。この際、プログラミング装置８００に仕様・関数データベース（ＤＢ）２２０１があれば、これを参照することにより、黄色ボタン２１０１に対する処理（関数）を自動で設定することもできる。最後に、（６）設計書編集画面１９１１の画面設定図１９１２上に配置した部品（黄色のボタン）２１０１に、黄色のボタンの名前「Ｂｕｔｔｏｎ＿Ｙｅｌｌｏｗ」を記述する。
【０１００】
図２１に示した処理に伴い、プログラミング装置８００は、図２３に示すように、仕様書情報と設計書情報とを関連付けて設定保持する。この図２３を用いて、図２０に対する追加情報の内容について説明する。（４）仕様書情報２００１には、条件一覧１９０８に条件２３０１として「黄色ボタンを押した」を追加し、条件一覧１９０８に対応する動作一覧１９０９に動作２３０２として「黄色を表示する」を追加する。
【０１０１】
また、（５）設計書情報２０１１には、動作一覧１９１７に処理（関数）２３０３として「Ｂｕｔｔｏｎ＿ＹｅｌｌｏｗＤｉｓｐｌａｙ」を追加する。最後に、（６）条件一覧１９１６に条件２３０４として黄色ボタンの操作を示す「Ｂｕｔｔｏｎ＿Ｙｅｌｌｏｗ：：ＯｎＣｌｉｃｋ」を追加する。
【０１０２】
図２２の処理後、図２４に示すように、（７）設計書編集画面１９１１において、部品（黄色のボタン）２１０１と、対応する処理（関数）２１０３とを、プログラミング装置８００のマウスなどを用いて接続することにより、互いを関連付けする（図中線２４０１）。
【０１０３】
図２４に示した操作処理に伴い、プログラミング装置８００は、図２５に示す設計書情報２０１１について、（８）条件１９１６「Ｂｕｔｔｏｎ＿Ｙｅｌｌｏｗ：：ＯｎＣｌｉｃｋ」と、条件１９１６に対応する処理（関数）１９１７「Ｂｕｔｔｏｎ＿ＹｅｌｌｏｗＤｉｓｐｌａｙ」とを関連付ける（図中線２５０１）。また、仕様書情報２００１の条件１９０８「黄色ボタンを押した」と、設計書情報２０１１の条件１９１６「Ｂｕｔｔｏｎ＿Ｙｅｌｌｏｗ：：ＯｎＣｌｉｃｋ」とを関連付ける（図中線２５０２）。
【０１０４】
（部品追加時の処理：ソースコードの生成について）
図２６は、実施の形態２にかかる追加した部品に対応する処理（関数）のソースコード生成を説明する図である。上記図２１〜図２５に示す部品追加時の処理後、プログラミング装置８００は、（９）追加した部品（黄色のボタン）２１０１に対応する処理（関数）のソースコードを追加生成し、他のボタンの処理を含めたソースコードからなるプログラム１９２４を生成する。この際、（１０）プログラム１９２４のソースコード「Ｂｕｔｔｏｎ＿ＹｅｌｌｏｗＤｉｓｐｌａｙ」に処理２６０１「ＳｅｔＰａｎｅｌ（“Ｙｅｌｌｏｗ”）；」を手動にて書き込む。
【０１０５】
図２７は、実施の形態２にかかる作成した複数のドキュメントあるいはプログラムの仕様変更時の処理を説明する図である。プログラミング装置８００は、仕様書編集画面１９０１と、設計書編集画面１９１１と、プログラム１９２４とを、それぞれ関連付けしている。したがって、仕様書編集画面１９０１、設計書編集画面１９１１、プログラム１９２４のいずれかに対し、任意の画面や、任意のコード、任意の部品に対する仕様変更を行うと、プログラミング装置８００は、他の画面やコードに対応する部品にその変更を自動で反映させる。
【０１０６】
通常、ソフトウェアの開発は、（１）仕様書作成（テスト仕様書作成、マニュアル作成）、（２）ソフトウェア設計書作成、（３）ソースコード作成、（４）実機環境でのコンパイル、（５）実機動作、の順で行われる。この開発には、仕様設計者、ソフトウェア設計者、プログラマ、マニュアル開発者、テスト設計者が関わり従事する。
【０１０７】
実施の形態２のプログラミング装置８００は、開発に必要な各ドキュメントを一元管理し、いずれかのドキュメント修正が行われると、関連する他のドキュメントの対応部分を修正する。これにより、ソフトウェア開発に関わる複数の開発者間は常に他のドキュメントの修正を含む開発状況を把握しながら開発することができ、円滑に効率よくソフトウェア開発できるようになる。
【０１０８】
以上の説明では、部品としてボタンの配置、および操作の条件と動作の設定例を用いて説明したが、ボタンに限らず各種部品、例えば、表示画面として時刻、アラーム、タイマ等についても同様に設定することができる。また、画面設計（ＧＵＩ）の部品の設定に限らず、ＵＩの設定に関する複数のドキュメントであっても同様に関連付けを行うことができるようになる。
【０１０９】
実施の形態２によれば、ソフトウェア開発において、ＧＵＩ開発と、制御開発とを連携させることができ、一方の開発で作成したドキュメントを他方の開発に反映（作成）できるようになる。これにより、ＧＵＩ開発と制御開発について、それぞれ個別のドキュメントを作成する手間を削減できるようになり、また、上述した開発手順が異なっても（入れ替わっても）開発が可能となる。これにより、ソフトウェア開発の工数とコスト削減が可能となる。
【０１１０】
そして、実施の形態２は、特定用途の組み込み機器の組み込みソフトウェア開発における各開発工程のドキュメントの連携に適している。これにより、ＧＵＩ開発と制御開発それぞれで行っていた同様のドキュメント作成にかかる処理を省くことができ、組み込みソフトウェア開発を円滑かつ効率的に行えるようになる。
【産業上の利用可能性】
【０１１１】
以上のように、本発明は、組み込みソフトウェアおよびその開発に有用であり、特に、用途が限定された特定用途の組み込み機器に組み込まれる組み込みソフトウェアおよびその開発に有用である。
【符号の説明】
【０１１２】
１０１  仮想メモリインターフェース
８００  プログラミング装置
８０４  記憶部
８０８  ディスプレイ
８０９  通信インターフェース
８１０  キーボード
８１１  マウス
８１２  スキャナ
８１３  プリンタ
８１４  バス
８１５  ネットワーク
１００１  条件
１００２  アクション
１９０１  仕様書編集画面
１９１１  設計書編集画面
Ａ，Ｂ  プログラム
【図１】
2015019422.tif 000003
【図２】
2015019422.tif 000004
【図３】
2015019422.tif 000005
【図４】
2015019422.tif 000006
【図５】
2015019422.tif 000007
【図６】
2015019422.tif 000008
【図７】
2015019422.tif 000009
【図８】
2015019422.tif 000010
【図９】
2015019422.tif 000011
【図１０】
2015019422.tif 000012
【図１１】
2015019422.tif 000013
【図１２】
2015019422.tif 000014
【図１３】
2015019422.tif 000015
【図１４】
2015019422.tif 000016
【図１５】
2015019422.tif 000017
【図１６】
2015019422.tif 000018
【図１７】
2015019422.tif 000019
【図１８】
2015019422.tif 000020
【図１９】
2015019422.tif 000021
【図２０】
2015019422.tif 000022
【図２１】
2015019422.tif 000023
【図２２】
2015019422.tif 000024
【図２３】
2015019422.tif 000025
【図２４】
2015019422.tif 000026
【図２５】
2015019422.tif 000027
【図２６】
2015019422.tif 000028
【図２７】
2015019422.tif 000029
【国際調査報告】
2015019422.tif 000030
2015019422.tif 000031
2015019422.tif 000032
2015019422.tif 000033