(57)【要約】【課題】  ソフトウェアを記憶するための記憶容量を節約することができる自動生成装置、自動生成プログラム及び自動生成方法を提供する。【解決手段】  自動生成装置１は、構造化手法を用いてソフトウェアのコードを自動的に生成する自動生成装置であって、第１入力部２と記憶部７とを備える。第１入力部２には、ソフトウェアの要求仕様に基づいて、複数のプロセスの情報が入力される。記憶部７は、関連付け情報を記憶する。関連付け情報は、共通機能情報と識別情報とが関連付けられた情報を含む。共通機能情報は、特定プロセス群に共通して使用される機能に関する情報である。特定プロセス群は、複数のプロセスのうち少なくとも２以上のプロセスである。識別情報は、共通機能情報を識別するための情報である。第１入力部２には、特定プロセス群のうちいずれかのプロセスの情報と識別情報とが関連づけて入力される。【選択図】      図１
2006031610.tif 000002
【特許請求の範囲】
【請求項１】
構造化手法を用いてソフトウェアのコードを自動的に生成する自動生成装置（１）であって、
前記ソフトウェアの要求仕様に基づいて、複数のプロセスの情報が入力される第１入力部（２）と、
前記複数のプロセスのうち少なくとも２以上のプロセスである特定プロセス群に共通して使用される機能に関する情報である共通機能情報と前記共通機能情報を識別するための情報である識別情報とが関連付けられた情報を含む関連付け情報を記憶する記憶部（７）と、
を備え、
前記第１入力部（２）は、前記特定プロセス群のうちいずれかのプロセスの情報と前記識別情報とが関連づけて入力される、
自動生成装置（１）。
【請求項２】
前記関連付け情報が入力される第２入力部（３）をさらに備えた、
請求項１に記載の自動生成装置（１）。
【請求項３】
前記第１入力部（２）は、前記複数のプロセスのうちいずれかのプロセスにおける入力変数及び出力変数の少なくとも一方に関する情報である入出力情報と前記複数のプロセスのうちいずれかのプロセスの情報とが関連づけてさらに入力される、
請求項１又は２に記載の自動生成装置（１）。
【請求項４】
前記複数のプロセスの情報と複数の前記入出力情報とを関連づけて表示する表示部（５）をさらに備えた、
請求項３に記載の自動生成装置（１）。
【請求項５】
前記表示部（５）は、前記複数のプロセスのうち前記特定プロセス群以外のプロセスと前記特定プロセス群とを区別する区別表示により、前記複数のプロセスを表示する、
請求項４に記載の自動生成装置（１）。
【請求項６】
前記区別表示は、前記複数のプロセスのそれぞれを囲む形状を含む、
請求項５に記載の自動生成装置（１）。
【請求項７】
前記表示部（５）は、前記複数のプロセスの情報と前記識別情報とをさらに関連づけて表示する、
請求項４から６のいずれか１項に記載の自動生成装置（１）。
【請求項８】
前記ソフトウェアの前記コードを生成する生成部（６）をさらに備え、
前記生成部（６）は、前記共通機能情報に基づいて、前記特定プロセス群に共通して使用される機能を表す前記コードである処理関数コードを共通の前記コードとして生成する、
請求項１から７のいずれか１項に記載の自動生成装置（１）。
【請求項９】
前記第１入力部（２）は、前記複数のプロセスのうちいずれかのプロセスにおける入力変数及び出力変数の少なくとも一方に関する情報である入出力情報と前記複数のプロセスのうちいずれかのプロセスの情報とが関連づけてさらに入力され、
前記生成部（６）は、前記入出力情報に基づいて、前記複数のプロセスのうちいずれかのプロセスにおける前記入力変数及び前記出力変数の少なくとも一方を表すコードである状態変数コードを、前記複数のプロセスについて個別に生成する、
請求項８に記載の自動生成装置（１）。
【請求項１０】
構造化手法を用いてソフトウェアのコードを自動的に生成する自動生成プログラム（９）であって、
前記ソフトウェアの要求仕様に基づいて決められる前記複数のプロセスのうち少なくとも２以上のプロセスである特定プロセス群に共通して使用される機能に関する情報である共通機能情報と前記共通機能情報を識別するための情報である識別情報とが関連付けられた情報が含まれる関連付け情報が記憶される記憶ステップと、
前記特定プロセス群のうちいずれかのプロセスの情報と前記識別情報とが関連づけて入力される入力ステップと、
を備えた、
自動生成プログラム（９）。
【請求項１１】
構造化手法を用いてソフトウェアのコードが自動的に生成される自動生成方法であって、
前記ソフトウェアの要求仕様に基づいて決められる前記複数のプロセスのうち少なくとも２以上のプロセスである特定プロセス群に共通して使用される機能に関する情報である共通機能情報と前記共通機能情報を識別するための情報である識別情報とが関連付けられた情報が含まれる関連付け情報が記憶される記憶ステップと、
前記特定プロセス群のうちいずれかのプロセスの情報と前記識別情報とが関連づけて入力される入力ステップと、
を備えた、
自動生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自動生成装置、自動生成プログラム及び自動生成方法に関する。
【背景技術】
【０００２】
従来から、構造化手法を用いてソフトウェアのコードを自動的に生成する装置が提案されている（たとえば、特許文献１参照）。
【特許文献１】特開平７−３３４３５７（第１−７頁、第１−８図）
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかし、従来の装置では、仕様の曖昧さを排除するため、ソフトウェアの要求仕様に基づいて決められる複数のプロセスにおいて繰り返し使用される機能であっても個別にコードが生成されている。このため、自動的に生成されたソフトウェアのコードにおいて、繰り返し使用される機能についてのコードが繰り返し記述され、自動的に生成されたソフトウェアのコードの記載量が増大する傾向にある。この結果、ソフトウェアを記憶するための記憶容量を大きく確保する必要が生じることがあり、ソフトウェアを記憶するための記憶素子のコストが増大するおそれがある。
【０００４】
したがって、本願発明の課題は、ソフトウェアを記憶するための記憶容量を節約することができる自動生成装置、自動生成プログラム及び自動生成方法を提供することにある。
【課題を解決するための手段】
【０００５】
第１発明に係る自動生成装置は、構造化手法を用いてソフトウェアのコードを自動的に生成する自動生成装置であって、第１入力部と記憶部とを備える。第１入力部には、ソフトウェアの要求仕様に基づいて、複数のプロセスの情報が入力される。記憶部は、関連付け情報を記憶する。関連付け情報は、共通機能情報と識別情報とが関連付けられた情報を含む。共通機能情報は、特定プロセス群に共通して使用される機能に関する情報である。特定プロセス群は、複数のプロセスのうち少なくとも２以上のプロセスである。識別情報は、共通機能情報を識別するための情報である。第１入力部には、特定プロセス群のうちいずれかのプロセスの情報と識別情報とが関連づけて入力される。
【０００６】
この自動生成装置では、関連付け情報が入力され得る。関連付け情報が、共通機能情報と識別情報とが関連付けられた情報を含む。記憶部が、関連付け情報を受け取ることができる。記憶部が、関連付け情報を記憶する。第１入力部に、ソフトウェアの要求仕様に基づいて、複数のプロセスの情報が入力される。第１入力部に、特定プロセス群のうちいずれかのプロセスの情報と識別情報とが関連づけて入力される。
【０００７】
したがって、プロセスの情報と識別情報とが関連づけて入力されるので、プロセスで使用される共通機能情報を定義することができる。このため、自動的に生成されたソフトウェアのコードにおいて共通機能情報が繰り返し記述されることを低減することができるので、自動的に生成されたソフトウェアのコードの記載量を低減することができる。この結果、ソフトウェアを記憶するための記憶容量を節約することができる。
【０００８】
第２発明に係る自動生成装置は、第１発明の自動生成装置であって、第２入力部をさらに備える。第２入力部には、関連付け情報が入力される。
この自動生成装置では、第２入力部に、関連付け情報が入力される。関連付け情報が、共通機能情報と識別情報とが関連付けられた情報を含む。記憶部が、関連付け情報を受け取ることができる。記憶部が、関連付け情報を記憶する。第１入力部に、ソフトウェアの要求仕様に基づいて、複数のプロセスの情報が入力される。第１入力部に、特定プロセス群のうちいずれかのプロセスの情報と識別情報とが関連づけて入力される。
【０００９】
したがって、関連付け情報が入力されるので、あらかじめ関連付け情報を記憶部に記憶させておくことができる。このため、共通機能情報を再利用して、プロセスで使用される共通機能情報を定義することができる。
第３発明に係る自動生成装置は、第１発明又は第２発明の自動生成装置であって、第１入力部には、入出力情報と複数のプロセスのうちいずれかのプロセスの情報とが関連づけてさらに入力される。入出力情報は、複数のプロセスのうちいずれかのプロセスにおける入力変数及び出力変数の少なくとも一方に関する情報である。
【００１０】
この自動生成装置では、関連付け情報が入力され得る。関連付け情報が、共通機能情報と識別情報とが関連付けられた情報を含む。記憶部が、関連付け情報を受け取ることができる。記憶部が、関連付け情報を記憶する。第１入力部に、ソフトウェアの要求仕様に基づいて、複数のプロセスの情報が入力される。第１入力部に、特定プロセス群のうちいずれかのプロセスの情報と識別情報とが関連づけて入力される。第１入力部に、入出力情報と複数のプロセスのうちいずれかのプロセスの情報とが関連づけてさらに入力される。
【００１１】
したがって、入出力情報とプロセスの情報とが関連づけてさらに入力されるので、プロセスの共通機能情報とは別にプロセスの入出力情報を定義することができる。
第４発明に係る自動生成装置は、第３発明の自動生成装置であって、表示部をさらに備える。表示部は、複数のプロセスの情報と複数の入出力情報とを関連づけて表示する。表示部は、区別表示により、複数のプロセスを表示する。区別表示は、複数のプロセスのうち特定プロセス群以外のプロセスと特定プロセス群とを区別する。
【００１２】
この自動生成装置では、関連付け情報が入力され得る。関連付け情報が、共通機能情報と識別情報とが関連付けられた情報を含む。記憶部が、関連付け情報を受け取ることができる。記憶部が、関連付け情報を記憶する。第１入力部に、ソフトウェアの要求仕様に基づいて、複数のプロセスの情報が入力される。第１入力部に、特定プロセス群のうちいずれかのプロセスの情報と識別情報とが関連づけて入力される。第１入力部には、入出力情報と複数のプロセスのうちいずれかのプロセスの情報とが関連づけてさらに入力される。表示部が、複数のプロセスの情報と複数の入出力情報とを関連づけて受け取ることができる。表示部が、特定プロセス群のうちいずれかのプロセスの情報と識別情報とを関連づけてさらに受け取ることができる。表示部が、複数のプロセスの情報と複数の入出力情報とを関連づけて表示する。
【００１３】
したがって、プロセスの情報と入出力情報とを関連づけて表示するので、プロセスの入力変数や出力変数を容易に把握することができる。
第５発明に係る自動生成装置は、第４発明の自動生成装置であって、表示部をさらに備える。表示部は、複数のプロセスの情報と複数の入出力情報とを関連づけて表示する。表示部は、区別表示により、複数のプロセスを表示する。区別表示は、複数のプロセスのうち特定プロセス群以外のプロセスと特定プロセス群とを区別する。
【００１４】
この自動生成装置では、関連付け情報が入力され得る。関連付け情報が、共通機能情報と識別情報とが関連付けられた情報を含む。記憶部が、関連付け情報を受け取ることができる。記憶部が、関連付け情報を記憶する。第１入力部に、ソフトウェアの要求仕様に基づいて、複数のプロセスの情報が入力される。第１入力部に、特定プロセス群のうちいずれかのプロセスの情報と識別情報とが関連づけて入力される。第１入力部には、入出力情報と複数のプロセスのうちいずれかのプロセスの情報とが関連づけてさらに入力される。表示部が、複数のプロセスの情報と複数の入出力情報とを関連づけて受け取ることができる。表示部が、特定プロセス群のうちいずれかのプロセスの情報と識別情報とを関連づけてさらに受け取ることができる。表示部が、複数のプロセスの情報と複数の入出力情報とを関連づけて表示する。表示部が、区別表示により、複数のプロセスを表示する。
【００１５】
したがって、区別表示により複数のプロセスを表示するので、共通機能情報を使用しているプロセスと共通機能情報を使用していないプロセスとを容易に区別することができる。
第６発明に係る自動生成装置は、第５発明の自動生成装置であって、区別表示は、複数のプロセスのそれぞれを囲む形状を含む。
【００１６】
この自動生成装置では、関連付け情報が入力され得る。関連付け情報が、共通機能情報と識別情報とが関連付けられた情報を含む。記憶部が、関連付け情報を受け取ることができる。記憶部が、関連付け情報を記憶する。第１入力部に、ソフトウェアの要求仕様に基づいて、複数のプロセスの情報が入力される。第１入力部に、特定プロセス群のうちいずれかのプロセスの情報と識別情報とが関連づけて入力される。第１入力部に、入出力情報と複数のプロセスのうちいずれかのプロセスの情報とが関連づけてさらに入力される。表示部が、複数のプロセスの情報と複数の入出力情報とを関連づけて受け取ることができる。表示部が、複数のプロセスの情報と複数の入出力情報とを関連づけて表示する。表示部が、特定プロセス群のうちいずれかのプロセスの情報と識別情報とを関連づけてさらに受け取ることができる。表示部が、区別表示により、複数のプロセスを表示する。区別表示が、複数のプロセスのそれぞれを囲む形状を含む。
【００１７】
したがって、区別表示が複数のプロセスのそれぞれを囲む形状を含むので、共通機能情報を使用しているプロセスと共通機能情報を使用していないプロセスとを容易に把握することができる。
第７発明に係る自動生成装置は、第４発明から第６発明のいずれかの自動生成装置であって、表示部は、複数のプロセスの情報と識別情報とをさらに関連づけて表示する。
【００１８】
この自動生成装置では、関連付け情報が入力され得る。関連付け情報が、共通機能情報と識別情報とが関連付けられた情報を含む。記憶部が、関連付け情報を受け取ることができる。記憶部が、関連付け情報を記憶する。第１入力部に、ソフトウェアの要求仕様に基づいて、複数のプロセスの情報が入力される。第１入力部に、特定プロセス群のうちいずれかのプロセスの情報と識別情報とが関連づけて入力される。第１入力部に、入出力情報と複数のプロセスのうちいずれかのプロセスの情報とが関連づけてさらに入力される。表示部が、複数のプロセスの情報と複数の入出力情報とを関連づけて受け取ることができる。表示部が、特定プロセス群のうちいずれかのプロセスの情報と識別情報とを関連づけてさらに受け取ることができる。表示部が、複数のプロセスの情報と複数の入出力情報とを関連づけて表示する。表示部が、区別表示により、複数のプロセスを表示する。表示部が、複数のプロセスの情報と識別情報とをさらに関連づけて表示する。
【００１９】
したがって、プロセスの情報と識別情報とをさらに関連づけて表示するので、プロセスが使用している共通機能情報を容易に把握することができる。
第８発明に係る自動生成装置は、第１発明から第７発明のいずれかの自動生成装置であって、生成部をさらに備える。生成部は、ソフトウェアのコードを生成する。生成部は、共通機能情報に基づいて、処理関数コードを共通のコードとして生成する。処理関数コードは、特定プロセス群に共通して使用される機能を表すコードである。
【００２０】
この自動生成装置では、関連付け情報が入力され得る。関連付け情報が、共通機能情報と識別情報とが関連付けられた情報を含む。記憶部が、関連付け情報を受け取ることができる。記憶部が、関連付け情報を記憶する。第１入力部に、ソフトウェアの要求仕様に基づいて、複数のプロセスの情報が入力される。第１入力部に、特定プロセス群のうちいずれかのプロセスの情報と識別情報とが関連づけて入力される。生成部が、共通機能情報を受け取ることができる。生成部が、共通機能情報に基づいて、処理関数コードを共通のコードとして生成する。
【００２１】
したがって、共通機能情報に基づいて処理関数コードを共通のコードとして生成するので、自動的に生成されたソフトウェアのコードにおいて処理関数コードが繰り返し記述されることを低減することができる。このため、自動的に生成されたソフトウェアのコードの記載量を低減することができる。
第９発明に係る自動生成装置は、第８発明の自動生成装置であって、第１入力部には、入出力情報と複数のプロセスのうちいずれかのプロセスの情報とが関連づけてさらに入力される。入出力情報は、複数のプロセスのうちいずれかのプロセスにおける入力変数及び出力変数の少なくとも一方に関する情報である。生成部は、入出力情報に基づいて、状態変数コードを、複数のプロセスについて個別に生成する。状態変数コードは、複数のプロセスのうちいずれかのプロセスにおける入力変数及び出力変数の少なくとも一方を表すコードである。
【００２２】
この自動生成装置では、関連付け情報が入力され得る。関連付け情報が、共通機能情報と識別情報とが関連付けられた情報を含む。記憶部が、関連付け情報を受け取ることができる。記憶部が、関連付け情報を記憶する。第１入力部に、ソフトウェアの要求仕様に基づいて、複数のプロセスの情報が入力される。第１入力部に、特定プロセス群のうちいずれかのプロセスの情報と識別情報とが関連づけて入力される。第１入力部に、入出力情報と複数のプロセスのうちいずれかのプロセスの情報とが関連づけてさらに入力される。生成部が、共通機能情報を受け取ることができる。生成部が、共通機能情報に基づいて、処理関数コードを共通のコードとして生成する。生成部が、入出力情報を受け取ることができる。生成部が、入出力情報に基づいて、状態変数コードを、複数のプロセスについて個別に生成する。
【００２３】
したがって、状態変数コードを複数のプロセスについて個別に生成するので、処理関数コードを共通のコードとして生成した場合でも、複数のプロセスのうちそれぞれのプロセスのコードを区別して生成することができる。
第１０発明に係る自動生成プログラムは、構造化手法を用いてソフトウェアのコードを自動的に生成する自動生成プログラムであって、記憶ステップと入力ステップとを備える。記憶ステップでは、関連付け情報が記憶される。関連付け情報には、共通機能情報と識別情報とが関連付けられた情報が含まれる。共通機能情報は、特定プロセス群に共通して使用される機能に関する情報である。特定プロセス群は、複数のプロセスのうち少なくとも２以上のプロセスである。複数のプロセスは、ソフトウェアの要求仕様に基づいて決められる。識別情報は、共通機能情報を識別するための情報である。入力ステップでは、特定プロセス群のうちいずれかのプロセスの情報と識別情報とが関連づけて入力される。
【００２４】
この自動生成プログラムでは、関連付け情報が入力され得る。関連付け情報に、共通機能情報と識別情報とが関連付けられた情報が含まれる。記憶ステップにおいて、関連付け情報が受け取られ得る。記憶ステップにおいて、関連付け情報が記憶される。入力ステップにおいて、ソフトウェアの要求仕様に基づいて、複数のプロセスが入力され得る。入力ステップにおいて、特定プロセス群のうちいずれかのプロセスの情報と識別情報とが関連づけて入力される。
【００２５】
したがって、プロセスの情報と識別情報とが関連づけて入力されるので、プロセスで使用される共通機能情報を定義することができる。このため、自動的に生成されたソフトウェアのコードにおいて共通機能情報が繰り返し記述されることを低減することができるので、自動的に生成されたソフトウェアのコードの記載量を低減することができる。この結果、ソフトウェアを記憶するための記憶容量を節約することができる。
【００２６】
第１１発明に係る自動生成方法は、構造化手法を用いてソフトウェアのコードが自動的に生成される自動生成方法であって、記憶ステップと入力ステップとを備える。記憶ステップでは、関連付け情報が記憶される。関連付け情報には、共通機能情報と識別情報とが関連付けられた情報が含まれる。共通機能情報は、特定プロセス群に共通して使用される機能に関する情報である。特定プロセス群は、複数のプロセスのうち少なくとも２以上のプロセスである。複数のプロセスは、ソフトウェアの要求仕様に基づいて決められる。識別情報は、共通機能情報を識別するための情報である。入力ステップでは、特定プロセス群のうちいずれかのプロセスの情報と識別情報とが関連づけて入力される。
【００２７】
この自動生成方法では、関連付け情報が入力され得る。関連付け情報に、共通機能情報と識別情報とが関連付けられた情報が含まれる。記憶ステップにおいて、関連付け情報が受け取られ得る。記憶ステップにおいて、関連付け情報が記憶される。入力ステップにおいて、ソフトウェアの要求仕様に基づいて、複数のプロセスが入力され得る。入力ステップにおいて、特定プロセス群のうちいずれかのプロセスの情報と識別情報とが関連づけて入力される。
【００２８】
したがって、プロセスの情報と識別情報とが関連づけて入力されるので、プロセスで使用される共通機能情報を定義することができる。このため、自動的に生成されたソフトウェアのコードにおいて共通機能情報が繰り返し記述されることを低減することができるので、自動的に生成されたソフトウェアのコードの記載量を低減することができる。この結果、ソフトウェアを記憶するための記憶容量を節約することができる。
【発明の効果】
【００２９】
第１発明に係る自動生成装置では、プロセスの情報と識別情報とが関連づけて入力されるので、プロセスで使用される共通機能情報を定義することができる。このため、自動的に生成されたソフトウェアのコードにおいて共通機能情報が繰り返し記述されることを低減することができるので、自動的に生成されたソフトウェアのコードの記載量を低減することができる。この結果、ソフトウェアを記憶するための記憶容量を節約することができる。
【００３０】
第２発明に係る自動生成装置では、関連付け情報が入力されるので、あらかじめ関連付け情報を記憶部に記憶させておくことができる。このため、共通機能情報を再利用して、プロセスで使用される共通機能情報を定義することができる。
第３発明に係る自動生成装置では、入出力情報とプロセスの情報とが関連づけてさらに入力されるので、プロセスの共通機能情報とは別にプロセスの入出力情報を定義することができる。
【００３１】
第４発明に係る自動生成装置では、プロセスの情報と入出力情報とを関連づけて表示するので、プロセスの入力変数や出力変数を容易に把握することができる。
第５発明に係る自動生成装置では、区別表示により複数のプロセスを表示するので、共通機能情報を使用しているプロセスと共通機能情報を使用していないプロセスとを容易に区別することができる。
【００３２】
第６発明に係る自動生成装置では、区別表示が複数のプロセスのそれぞれを囲む形状を含むので、共通機能情報を使用しているプロセスと共通機能情報を使用していないプロセスとを容易に把握することができる。
第７発明に係る自動生成装置では、プロセスの情報と識別情報とをさらに関連づけて表示するので、プロセスが使用している共通機能情報を容易に把握することができる。
【００３３】
第８発明に係る自動生成装置では、共通機能情報に基づいて処理関数コードを共通のコードとして生成するので、自動的に生成されたソフトウェアのコードにおいて処理関数コードが繰り返し記述されることを低減することができる。このため、自動的に生成されたソフトウェアのコードの記載量を低減することができる。
第９発明に係る自動生成装置では、状態変数コードを複数のプロセスについて個別に生成するので、処理関数コードを共通のコードとして生成した場合でも、複数のプロセスのうちそれぞれのプロセスのコードを区別して生成することができる。
【００３４】
第１０発明に係る自動生成プログラムでは、プロセスの情報と識別情報とが関連づけて入力されるので、プロセスで使用される共通機能情報を定義することができる。このため、自動的に生成されたソフトウェアのコードにおいて共通機能情報が繰り返し記述されることを低減することができるので、自動的に生成されたソフトウェアのコードの記載量を低減することができる。この結果、ソフトウェアを記憶するための記憶容量を節約することができる。
【００３５】
第１１発明に係る自動生成方法では、プロセスの情報と識別情報とが関連づけて入力されるので、プロセスで使用される共通機能情報を定義することができる。このため、自動的に生成されたソフトウェアのコードにおいて共通機能情報が繰り返し記述されることを低減することができるので、自動的に生成されたソフトウェアのコードの記載量を低減することができる。この結果、ソフトウェアを記憶するための記憶容量を節約することができる。
【発明を実施するための最良の形態】
【００３６】
［第１実施形態］
図１に、本発明の第１実施形態にかかる自動生成装置１の構成図を示す。自動生成装置１は、構造化手法を用いて空調機のマイコン用ソフトウェアのコードを自動的に生成するための装置である。
＜自動生成装置１の構成＞
図１に示す自動生成装置１は、主として、第１入力部２，第２入力部３，制御部４，表示部５，生成部６及び記憶部７を備える。記憶部７には、主として、関連付け情報８と自動生成プログラム９が記憶されている。自動生成プログラム９は、構造化手法を用いて空調機のマイコン用ソフトウェアのコードを自動的に生成するためのプログラムである。
【００３７】
第２入力部３に、関連付け情報が入力される。ここで、関連付け情報は、共通機能情報と識別情報とが関連付けられた情報を含む（図４，５参照）。共通機能情報は、特定プロセス群（図１０に示すプロセス名５０２，５０４参照）に共通して使用される機能に関する情報である（図４のデータフローダイアグラム８２，図５のコントロール仕様書８４参照）。識別情報は、共通機能情報を識別するための情報であり、モジュール名である（図４のモジュール名８１，図５のモジュール名８３参照）。関連付け情報は、非共通機能情報と非共通識別情報とが関連付けられた情報もさらに含む。非共通機能情報は、特定プロセス群以外のプロセスに単独で使用される機能に関する情報である。非共通識別情報は、非共通機能情報を識別するための情報であり、モジュール名である（図１０に示すモジュール名５０５参照）。
【００３８】
記憶部７が、関連付け情報を制御部４経由で第２入力部３から受け取る。記憶部７が、受け取った関連付け情報を関連付け情報８として記憶する。第１入力部２に、ソフトウェアの要求仕様（図２に示す機能仕様書）に基づいて、複数のプロセスの情報が入力される。第１入力部２に、プロセスの情報（図６の「個別プロセス名」欄５２２参照）と識別情報（図６の「定義モジュール名」欄５２１参照）とが関連づけて入力される。第１入力部２に、入出力情報（図８の入出力変数候補欄５４１参照）とプロセスの情報（図７の「個別プロセス名」欄５３２参照）とが関連づけてさらに入力される。ここで、入出力情報は、複数のプロセスのうちいずれかのプロセスにおける入力変数（図１０に示す入力変数５６４参照）及び出力変数（図１０に示す出力変数５６５参照）に関する情報である。
【００３９】
表示部５が、複数のプロセスの情報と複数の入出力情報とを関連づけて、制御部４経由で第１入力部２から受け取る。表示部５が、特定プロセス群のうちいずれかのプロセスの情報と識別情報とを関連づけて、制御部４経由で第１入力部２からさらに受け取る。表示部５が、複数のプロセスの情報と複数の入出力情報とを関連づけて表示する（図１０に示すプロセス名５０２、入力情報５６４及び出力情報５６５参照）。表示部５が、区別表示（図１０に示す八角形の枠５６１，５６２，円形の枠５６３参照）により、複数のプロセスを表示する。区別表示は、複数のプロセスのうち特定プロセス群以外のプロセス（図１０に示すプロセス名５０６参照）と特定プロセス群（図１０に示すプロセス名５０２，５０４参照）とを区別するための表示である。表示部５が、複数のプロセスの情報と識別情報とをさらに関連づけて表示する（図１０に示すプロセス名５０２及びモジュール名５０１参照）。
【００４０】
生成部６が、共通機能情報を制御部４経由で第１入力部２から受け取る。生成部６が、共通機能情報に基づいて、処理関数コード（図１２に示す処理関数コード６０４参照）を共通のコードとして生成する。ここで、処理関数コードは、特定プロセス群に共通して使用される機能を表すコードである。生成部６が、入出力情報を制御部４経由で第１入力部２から受け取る。生成部６が、入出力情報に基づいて、状態変数コード（図１２に示す状態変数コード６０５，６０６，６０７参照）を、複数のプロセスについて個別に生成する（図１２に示すコード６０１，６０２，６０３参照）。ここで、状態変数コードは、複数のプロセスのうちいずれかのプロセスにおける入力変数及び出力変数を表すコードである。
【００４１】
＜関連付け情報８の構成＞
図１に示す関連付け情報８は、図４，図５に示すように、主として、共通機能情報８２，８４と識別情報８１，８３とが関連付けられた情報、ならびに非共通機能情報と非共通識別情報とが関連付けられた情報を含む。
共通機能情報８２，８４は、特定プロセス群（図１０に示すプロセス名５０２「モータ１」及びプロセス名５０４「モータ２」参照）に共通して使用される機能に関する情報である。ここで、共通機能情報８２は、データフローダイアグラムである。共通機能情報８４は、コントロール仕様書である。識別情報８１，８３は、共通機能情報を識別するための情報であり、モジュール名である。一方、非共通機能情報は、特定プロセス群以外のプロセスに単独で使用される機能に関する情報である。非共通識別情報は、非共通機能情報を識別するための情報であり、モジュール名である（図１０に示すモジュール名５０５「自動運転時のモータ制御を行う」参照）。
【００４２】
関連付け情報８を参照することにより、識別情報８１，８３に対応する共通機能情報８２，８４を決めることが可能である。たとえば、図４に示す場合、識別情報８１であるモジュール名「モータ出力生成要求を行う」に対応する共通機能情報は、データフローダイアグラム８２であると決められる。たとえば、図５に示す場合、識別情報８３であるモジュール名「モータ出力生成要求を行う」に対応する共通機能情報は、コントロール仕様書８４であると決められる。なお、非共通識別情報に対応する非共通機能情報も同様にして決めることが可能である。
【００４３】
＜空調機のマイコン用ソフトウェアを開発する流れ＞
空調機のマイコン用ソフトウェアの開発の流れを図２に示す。
図２に示す基本計画２２０では、概要仕様書が作成される。概要仕様書は、空調機の大まかな仕様を記述したものである。概要仕様書は、図１３に示すウォーターフォールモデルの基本計画２１０における要求仕様書に対応する。なお、ウォーターフォールモデルは、ソフトウェアの一般的な開発手順に関するモデルである。
【００４４】
図２に示す基本計画２２１では、機能仕様書が作成される。機能仕様書は、概要仕様書に記述された空調機のおおまかな仕様を、具体的な機能として記述したものである。機能仕様書は、図１３に示すウォーターフォールモデルの基本計画２１０における要求仕様書に対応する。
図２に示す外部仕様２２２では、図１に示す自動生成プログラム９を用いて外部仕様書（図１０に示すデータフローダイアグラム５６０，図１１に示すコントロール仕様書５７０参照）が作成される。外部仕様書は、マイコン用ソフトウェアを生成するための詳細な仕様を記述したものである。図２に示す外部仕様２２２は、図１３に示すウォーターフォールモデルの外部設計２１１，内部設計２１２，詳細設計２１３に対応する。外部仕様書は、図１３に示すウォーターフォールモデルの外部設計２１１における外部設計仕様書と内部設計２１２における内部設計仕様書と詳細設計２１３における詳細設計仕様書とに相当する。
【００４５】
この外部仕様２２２において、構造化手法（ハトレーのリアルタイム構造化分析法）が用いられる。すなわち、図１０に示すようなデータフローダイアグラム５６０と図１１に示すようなコントロール仕様書５７０とが、自動生成プログラム９を用いて作成される。データフローダイアグラムは、データの流れとプロセスの仕様とを階層的に表した仕様書である。たとえば、図１０に示す表示画面（図示せず）においてプロセス名５０２をクリックすることにより、プロセス「モータ１」の下層にあるデータフローダイアグラムが表示されるようになっている。コントロール仕様書は、プロセスの制御方法すなわちプロセスの状態遷移を示した仕様書である。たとえば、図１１に示す遷移表５７１に示されているように、変数「モータ１試運転」が「強制ＯＮ」であるとの条件が満たされると「『強制運転時のモータ制御を行う』を起動する」状態へと遷移することになる。このように、データフローダイアグラムとコントロール仕様書とを作成することにより、空調機のマイコン用ソフトウェアのようにリアルタイム性が要求される制御系ソフトウェアの仕様を記述することが可能になる。
【００４６】
図２に示すコーディング２２３では、図１に示す自動生成プログラム９によりマイコン用ソフトウェアのコードが自動生成される。たとえば、図１２に示すようなコード６０１，６０２，６０３，・・・が自動生成される。図２に示すコーディング２２３は、図１３に示すウォーターフォールモデルのコーディング２１４に対応する。
図２に示すテスト２２４では、マイコン用ソフトウェアのテストが行われる。テスト２２４は、図１３に示すウォーターフォールモデルのテスト２１５に対応する。
【００４７】
各工程２２０，２２１，２２２，２２３，２２４では、開発の完了を確認するためのレビューが行われ、エラーがなければ次の段階へ進む（開発の流れ２２５，２２６，２２７，２２８）。その工程におけるエラーがあった場合、エラーを修正した後再度レビューを行い、エラーが無くなれば次の段階へ進む（開発の流れ２２５，２２６，２２７，２２８）。前の工程におけるエラーが発見された場合や仕様変更などにより前の工程における仕様を変更する必要が生じた場合、前の段階へ戻る（開発の流れ２２９，２３０，２３１，２３２）。
【００４８】
なお、図１３に示すウォーターフォールモデルにおいても、エラーがなければ次の段階へ進む開発の流れ２００〜２０４と、エラー発生や仕様変更などにより前の段階へ戻る開発の流れ２０５〜２０９とがある点は、同様である。
＜自動生成装置１が構造化手法を用いて空調機のマイコン用ソフトウェアのコードを自動的に生成する処理の流れ＞
図１に示す自動生成装置１が構造化手法を用いて空調機のマイコン用ソフトウェアのコードを自動的に生成する処理の流れを、図３に示すフローチャートを用いて説明する。
【００４９】
図３に示すステップＳ１では、関連付け情報が入力される。すなわち、図１に示す自動生成装置１の第１入力部２に、自動生成プログラム９の起動命令が入力される。制御部４により、自動生成プログラム９の起動命令が第１入力部２から受け取られ、自動生成プログラム９の起動命令に基づいて記憶部７が参照され、自動生成プログラム９が起動される。自動生成装置１の第２入力部３に、関連付け情報が入力される。ここで、関連付け情報は、共通機能情報と識別情報とが関連付けられた情報を含む（図４，５参照）。共通機能情報は、特定プロセス群（図１０に示すプロセス「モータ１」及びプロセス「モータ２」参照）に共通して使用される機能に関する情報である（図４のデータフローダイアグラム８２，図５のコントロール仕様書８４参照）。識別情報は、共通機能情報を識別するための情報であり、モジュール名である（図４のモジュール名８１，図５のモジュール名８３参照）。関連付け情報は、非共通機能情報と非共通識別情報とが関連付けられた情報もさらに含む。非共通機能情報は、特定プロセス群以外のプロセスに単独で使用される機能に関する情報である。非共通識別情報は、非共通機能情報を識別するための情報であり、モジュール名である（図１０に示すモジュール名５０５参照）。記憶部７により、関連付け情報が制御部４経由で第２入力部３から受け取られる。記憶部７により、受け取った関連付け情報が関連付け情報８として記憶される。
【００５０】
図３に示すステップＳ２では、プロセスの情報が入力される。すなわち、図１に示す第１入力部２に、ソフトウェアの要求仕様（図２に示す機能仕様書）に基づいて、複数のプロセスの情報が入力される。具体的には、図１に示す第１入力部２に、「プロセス生成」画面の起動命令が入力されると、図６に示す「プロセス生成」画面５２０が起動され、「個別プロセス名」欄５２２にプロセス名が入力される。
【００５１】
図３に示すステップＳ３では、モジュールが未定義であるか否かが判断される。すなわち、図６に示す「プロセス生成」画面５２０の「定義モジュール名」欄５２１がプルダウンされて、「定義モジュール名」の候補が表示される。「定義モジュール名」の候補が参照されて、プロセスに必要なモジュールが未定義であるか否かが判断される。モジュールが未定義であると判断された場合、ステップＳ４へ進められ、モジュールが未定義でないと判断された場合、ステップＳ５へ進められる。
【００５２】
図３に示すステップＳ４では、関連付け情報が入力される。すなわち、図１に示す自動生成装置１の第２入力部３に、関連付け情報が入力される。ここで、関連付け情報は、共通機能情報と識別情報とが関連付けられた情報を含む（図４，５参照）。共通機能情報は、特定プロセス群（図１０に示すプロセス「モータ１」及びプロセス「モータ２」参照）に共通して使用される機能に関する情報である（図４のデータフローダイアグラム８２，図５のコントロール仕様書８４参照）。識別情報は、共通機能情報を識別するための情報であり、モジュール名である（図４のモジュール名８１，図５のモジュール名８３参照）。関連付け情報は、非共通機能情報と非共通識別情報とが関連付けられた情報もさらに含む。非共通機能情報は、特定プロセス群以外のプロセスに単独で使用される機能に関する情報である。非共通識別情報は、非共通機能情報を識別するための情報であり、モジュール名である（図１０に示すモジュール名５０５参照）。記憶部７により、関連付け情報が制御部４経由で第２入力部３から受け取られる。記憶部７により、受け取った関連付け情報が関連付け情報８として記憶される。
【００５３】
図３に示すステップＳ５では、識別情報が入力される。すなわち、図１に示す自動生成装置１の第１入力部２に、プロセス名の情報と識別情報とが関連づけて入力される。具体的には、図６に示す「プロセス生成」画面５２０の「定義モジュール名」欄５２１がプルダウンされて、「定義モジュール名」の候補が表示される。「定義モジュール名」の候補のうちからプロセスに必要なモジュールが選択される。「ＯＫ」ボタン５２４が押されることにより、「プロセス生成」画面５２０に入力された内容が確定する。
【００５４】
図３に示すステップＳ６では、入出力情報が入力される。すなわち、図１に示す自動生成装置１の第１入力部２に、入出力情報（図８の入出力変数候補欄５４１参照）とプロセス名（図６の個別プロセス欄５２２参照）の情報とが関連づけてさらに入力される。具体的には、図７に示す「プロセスの属性」画面５３０が起動され、「入出力設定」ボタン５３３が押される。それにより、図８に示す「入出力一覧」画面５４０が起動され、入力変数や出力変数の情報が選択入力される。
【００５５】
図３に示すステップＳ７では、チャートが表示される。すなわち、図１に示す自動生成装置１の表示部５により、複数のプロセスの情報と複数の入出力情報とが関連づけられて、制御部４経由で第１入力部２から受け取られる。表示部５により、特定プロセス群のうちいずれかのプロセスの情報と識別情報とが関連づけられて、制御部４経由で第１入力部２からさらに受け取られる。表示部５により、複数のプロセスの情報と複数の入出力情報とが関連づけて表示される（図１０に示すプロセス名５０２、入力情報５６４及び出力情報５６５参照）。表示部５により、区別表示（図１０に示す八角形の枠５６１，５６２，丸の枠５６３参照）を用いて、複数のプロセスが表示される。表示部５により、複数のプロセスの情報と識別情報とがさらに関連づけて表示される（図１０に示すプロセス名５０２及びモジュール名５０１参照）。
【００５６】
図３に示すステップＳ８では、すべてのプロセスについて外部仕様が記述されたか否かが判断される。すなわち、図１に示す自動生成プログラム９の利用者により、ソフトウェアの要求仕様（図２に示す機能仕様書）とデータフローダイアグラムやコントロール仕様書とが比較され、すべてのプロセスについて外部仕様が記述されたか否かが判断される。すべてのプロセスについて外部仕様が記述されたと判断された場合、ステップＳ９へ進められ、すべてのプロセスについて外部仕様が記述されていないと判断された場合、ステップＳ２へ進められる。
【００５７】
図３に示すステップＳ９では、コードが生成される。すなわち、図１に示す自動生成装置１の生成部６により、共通機能情報が制御部４経由で第１入力部２から受け取られる。生成部６により、共通機能情報に基づいて、処理関数コード（図１２に示すコード６０４参照）が共通のコードとして生成される。ここで、処理関数コードは、特定プロセス群に共通して使用される機能を表すコードである。生成部６により、入出力情報が制御部４経由で第１入力部２から受け取られる。生成部６により、入出力情報に基づいて、状態変数コード（図１２に示す状態変数コード６０５，６０６，６０７参照）が、複数のプロセスについて個別に生成される（図１２に示すコード６０１，６０２，６０３参照）。ここで、状態変数コードは、複数のプロセスのうちいずれかのプロセスにおける入力変数及び出力変数を表すコードである。
【００５８】
＜自動生成装置１が構造化手法を用いて空調機のマイコン用ソフトウェアのコードを自動的に生成する際の表示画面（図示せず）の動作＞
図１に示す自動生成装置１が構造化手法を用いて空調機のマイコン用ソフトウェアのコードを自動的に生成する際の表示画面（図示せず）の動作を、図６から図１１に示す概念図を用いて説明する。なお、自動生成装置１の表示画面（図示せず）に表示される場合、表示部５により表示画面（図示せず）に表示されるものとする。
【００５９】
図１に示す第１入力部２に、「プロセス生成」画面の起動命令が入力されると、図６に示す「プロセス生成」画面５２０が起動され自動生成装置１の表示画面（図示せず）に表示される。「個別プロセス名」欄５２２と「定義モジュール名」欄５２１とは、初期の状態では空欄となっている。「個別プロセス名」欄５２２にプロセス名が入力される。「定義モジュール名」欄５２１がプルダウンされて、「定義モジュール名」の候補が表示される。「定義モジュール名」の候補のうちからプロセスに必要なモジュールが選択される。「ＯＫ」ボタン５２４が押されることにより、「プロセス生成」画面５２０に入力された内容が確定する。「キャンセル」ボタン５２５が押されると、「プロセス生成」画面５２０に入力された内容がキャンセルされる。
【００６０】
図１に示す第１入力部２に、「プロセスの属性」画面の起動命令が入力されると、図７に示す「プロセスの属性」画面５３０が起動され自動生成装置１の表示画面（図示せず）に表示される。ここで、「プロセスの属性」画面の起動命令が入力される際に、プロセス名とモジュール名とが指定されるので、「プロセスの属性」画面５３０の「個別プロセス名」欄にはプロセス名が既に入力されており、「定義モジュール名」欄５３１にはモジュール名が既に入力されている。「入出力設定」ボタン５３３が押されると、図８に示す「入出力一覧」画面５４０が起動され自動生成装置１の表示画面（図示せず）に表示される。
【００６１】
図８に示す「入出力一覧」画面５４０では、入出力変数候補欄５４１に入力変数や出力変数の候補が表示されている。入力変数や出力変数の候補が選択されると候補欄５４１においてハイライト表示される。たとえば、図８に示す場合、「モータ運転高温再生器温度Ｔ１」が選択されている。ここで、「設定」ボタン５４２が押されると、図９に示す「入出力設定」画面５５０が起動され自動生成装置１の表示画面（図示せず）に表示される。
【００６２】
図９に示す「入出力設定」画面５５０では、「入出力一覧」画面５４０（図８参照）で選択された入力変数や出力変数の候補が「データ名」欄５５１に表示される。たとえば、図９に示す場合、「モータ運転高温再生器温度Ｔ１」が「データ名」欄５５１に表示される。ここで、「データ名」欄５５１に表示された「モータ運転高温再生器温度Ｔ１」は、図７に示す「プロセスの属性」画面５３０の「個別プロセス名」欄５３２にプロセス名「モータ１」と示されているように、モータ１の制御に関する入力変数や出力変数なので、図９に示すように「モータ１運転高温再生器温度Ｔ１」と書き換えられる。「ＯＫ」ボタン５５２が押されることにより、「入出力設定」画面５５０に入力された内容が確定して、図８に示す「入出力一覧」画面５４０に戻る。「キャンセル」ボタン５５３が押されると、「入出力設定」画面５５０に入力された内容がキャンセルされて、図８に示す「入出力一覧」画面５４０に戻る。
【００６３】
図８に示す「入出力一覧」画面５４０では、「ＯＫ」ボタン５４３が押されることにより、「入出力一覧」画面５４０に入力された内容が確定して、図７に示す「プロセスの属性」画面５３０に戻る。「キャンセル」ボタン５４４が押されると、「入出力一覧」画面５４０に入力された内容がキャンセルされて、図７に示す「プロセスの属性」画面５３０に戻る。
【００６４】
図７に示す「プロセスの属性」画面５３０では、「ＯＫ」ボタン５３４が押されることにより、「プロセスの属性」画面５３０に入力された内容が確定する。「キャンセル」ボタン５３５が押されると、「プロセスの属性」画面５３０に入力された内容がキャンセルされる。
このようにして設定された情報に基づいて、図１０に示すデータフローダイアグラム５６０や図１１に示すコントロール仕様書５７０が、自動生成装置１の表示画面（図示せず）に表示される。
【００６５】
図１０に示すデータフローダイアグラム５６０では、複数のプロセスの情報と識別情報とが関連づけられて表示されている。たとえば、図１０に示す場合、プロセス名５０２である「モータ１」のすぐ上にモジュール名５０１である「モータ出力要求生成を行う」が表示されている。また、プロセス名５０４である「モータ２」のすぐ上にモジュール名５０３である「モータ出力要求生成を行う」が表示されている。さらに、プロセス「モータ１」とプロセス「モータ２」とは、それぞれ、識別情報であるモジュール名５０１「モータ出力要求生成を行う」とモジュール名５０３「モータ出力要求生成を行う」とにより、共通のモジュールを使用していることが示されている。
【００６６】
また、図１０に示すデータフローダイアグラム５６０では、区別表示により、複数のプロセスが表示されている。八角形の枠５６１や八角形の枠５６２により、プロセス「モータ１」とプロセス「モータ２」とは、共通のモジュールを使用していることが示されている。一方、プロセス名５０６で示されるプロセス「３」は、円形の枠５６３により、モジュール名５０５で示される単独のモジュール「自動運転時のモータ制御を行う」を使用していることが示されている。
【００６７】
さらに、図１０に示すデータフローダイアグラム５６０では、複数のプロセスの情報と複数の入出力情報とが関連づけて表示されている。たとえば、図１０に示す場合、プロセス名５０２である「モータ１」の左側に入力変数５６４が表示され、プロセス名５０２である「モータ１」の右側に出力変数５６５が表示されている。これにより、プロセス「モータ１」の入力変数が入力変数５６４であり、プロセス「モータ１」の出力変数が出力変数５６５であることが分かる。たとえば、図１０に示す場合、プロセス名５０４である「モータ２」の左側に入力変数５６６が表示され、プロセス名５０４である「モータ２」の右側に出力変数５６７が表示されている。これにより、プロセス「モータ２」の入力変数が入力変数５６６であり、プロセス「モータ２」の出力変数が出力変数５６７であることが分かる。
【００６８】
図１１に示すコントロール仕様書５７０では、複数のプロセスの情報と識別情報とが関連づけられて表示されている。たとえば、図１１に示す場合、プロセス名５７３である「モータ１」の左側にモジュール名５７２である「モータ出力要求生成を行う」が表示されている。また、プロセス名５７５である「モータ２」の左側にモジュール名５７４である「モータ出力要求生成を行う」が表示されている。さらに、プロセス「モータ１」とプロセス「モータ２」とは、それぞれ、識別情報であるモジュール名５０１「モータ出力要求生成を行う」とモジュール名５０３「モータ出力要求生成を行う」とにより、共通のモジュールを使用していることが示されている。
【００６９】
また、図１１に示すコントロール仕様書５７０では、プロセスの制御方法すなわちプロセスの状態遷移が示されている。たとえば、図１１に示す場合、遷移表５７１が示されている。遷移表５７１は、主として、判定順序欄５７６，強制運転状態欄５７７及びアクション欄５７８を備えている。判定順序欄５７６には、判定が行われる順序が示されている。強制運転状態欄５７７には、状態が遷移するための条件が示されている。アクション欄５７８には、遷移後の状態である動作状態が示されている。たとえば、変数「モータ１試運転」が「強制ＯＮ」であるとの条件が満たされると「『強制運転時のモータ制御を行う』を起動する」状態へと遷移することになることが分かる。
【００７０】
＜自動生成装置１の生成部６が自動的に生成するコード＞
図１に示す自動生成装置１の生成部６が自動的に生成するコードを、図１２に示す概念図を用いて説明する。
コード６０１，コード６０２及びコード６０３は、それぞれ、１つのプロセスについて生成されたコードである。
【００７１】
コード６０１では、入出力情報に基づいて生成された状態変数コード６０５と、共通機能情報に基づいて生成された処理関数コード６０４とが記述されている。コード６０２では、入出力情報に基づいて生成された状態変数コード６０６が記述されているが、処理関数コードが記述されていない。コード６０３では、入出力情報に基づいて生成された状態変数コード６０７が記述されているが、処理関数コードが記述されていない。すなわち、コード６０２やコード６０３では、処理関数コードが記述されていない分だけ記載量が少なくなっている。
【００７２】
なお、コード６１０，コード６１１及びコード６１２では、処理関数コードが呼び出されて実行されるためのコードが記述されている。
＜自動生成装置１に関する特徴＞
（１）
ここでは、図１に示す自動生成装置１の第２入力部３に、関連付け情報が入力される。関連付け情報が、共通機能情報（図４に示すデータフローダイアグラム８２参照）と識別情報（図４に示すモジュール名８１）とが関連付けられた情報を含む。記憶部７が、関連付け情報を制御部４経由で第２入力部３から受け取り関連付け情報８として記憶する。第１入力部２に、ソフトウェアの要求仕様（図２に示す機能仕様書）に基づいて、複数のプロセスの情報（図６に示す「個別プロセス名」欄５２２参照）が入力される。第１入力部２に、特定プロセス群のうちいずれかのプロセスの情報（図６に示す「個別プロセス名」欄５２２参照）と識別情報（図６に示す「定義モジュール名」欄５２１参照）とが関連づけて入力される。
【００７３】
したがって、プロセスの情報（図６に示す「個別プロセス名」欄５２２参照）と識別情報（図６に示す「定義モジュール名」欄５２１参照）とが関連づけて入力されるので、プロセスで使用される共通機能情報（図４に示すデータフローダイアグラム８２参照）を定義することが可能である。このため、自動的に生成されたソフトウェアのコードにおいて共通機能情報が繰り返し記述されることを低減することが可能である（図１２に示すコード６０２，６０３参照）ので、自動的に生成されたソフトウェアのコードの記載量を低減することが可能である（図１２参照）。この結果、ソフトウェアを記憶するための記憶容量（図１に示す記憶部７の記憶容量）を節約することができる。
【００７４】
（２）
ここでは、図１に示す自動生成装置１の第２入力部３に、関連付け情報が入力される。関連付け情報が、共通機能情報（図４に示すデータフローダイアグラム８２参照）と識別情報（図４に示すモジュール名８１）とが関連付けられた情報を含む。記憶部７が、関連付け情報を制御部４経由で第２入力部３から受け取り関連付け情報８として記憶する。第１入力部２に、ソフトウェアの要求仕様（図２に示す機能仕様書）に基づいて、複数のプロセスの情報（図６に示す「個別プロセス名」欄５２２参照）が入力される。第１入力部２に、特定プロセス群のうちいずれかのプロセスの情報（図６に示す「個別プロセス名」欄５２２参照）と識別情報（図６に示す「定義モジュール名」欄５２１参照）とが関連づけて入力される。
【００７５】
したがって、関連付け情報（図４，図５参照）が入力されるので、あらかじめ関連付け情報８を記憶部７に記憶させておくことが可能である。このため、共通機能情報（図４に示すデータフローダイアグラム８２参照）を再利用して、プロセスで使用される共通機能情報を定義することが可能である（図６に示す「定義モジュール名」欄５２１参照）。
（３）
ここでは、図１に示す自動生成装置１の第２入力部３に、関連付け情報が入力される。関連付け情報が、共通機能情報（図４に示すデータフローダイアグラム８２参照）と識別情報（図４に示すモジュール名８１）とが関連付けられた情報を含む。記憶部７が、関連付け情報を制御部４経由で第２入力部３から受け取り関連付け情報８として記憶する。第１入力部２に、ソフトウェアの要求仕様（図２に示す機能仕様書）に基づいて、複数のプロセスの情報（図６に示す「個別プロセス名」欄５２２参照）が入力される。第１入力部２に、特定プロセス群のうちいずれかのプロセスの情報（図６に示す「個別プロセス名」欄５２２参照）と識別情報（図６に示す「定義モジュール名」欄５２１参照）とが関連づけて入力される。第１入力部２に、入出力情報（図８の入出力変数候補欄５４１参照）と複数のプロセスのうちいずれかのプロセスの情報（図７に示す「個別プロセス名」欄５３２参照）とが関連づけてさらに入力される。
【００７６】
したがって、入出力情報（図８の入出力変数候補欄５４１参照）とプロセスの情報（図７の個別プロセス欄５３２参照）とが関連づけてさらに入力されるので、プロセスの共通機能情報（図４に示すデータフローダイアグラム８２参照）とは別にプロセスの入出力情報（図８の入出力変数候補欄５４１参照）を定義することが可能である。
（４）
ここでは、図１に示す自動生成装置１の第２入力部３に、関連付け情報が入力される。関連付け情報が、共通機能情報（図４に示すデータフローダイアグラム８２参照）と識別情報（図４に示すモジュール名８１）とが関連付けられた情報を含む。記憶部７が、関連付け情報を制御部４経由で第２入力部３から受け取り関連付け情報８として記憶する。第１入力部２に、ソフトウェアの要求仕様（図２に示す機能仕様書）に基づいて、複数のプロセスの情報（図６に示す「個別プロセス名」欄５２２参照）が入力される。第１入力部２に、特定プロセス群のうちいずれかのプロセスの情報（図６に示す「個別プロセス名」欄５２２参照）と識別情報（図６に示す「定義モジュール名」欄５２１参照）とが関連づけて入力される。第１入力部２に、入出力情報（図８の入出力変数候補欄５４１参照）と複数のプロセスのうちいずれかのプロセスの情報（図７に示す「個別プロセス名」欄５３２参照）とが関連づけてさらに入力される。表示部５が、複数のプロセスの情報と複数の入出力情報とを関連づけて、制御部４経由で第１入力部２から受け取る。表示部５が、特定プロセス群のうちいずれかのプロセスの情報と識別情報とを関連づけて、制御部４経由で第１入力部２からさらに受け取る。表示部５が、複数のプロセスの情報と複数の入出力情報とを関連づけて表示する（図１０に示すプロセス名５０２、入力情報５６４及び出力情報５６５参照）。
【００７７】
したがって、複数のプロセスと入出力情報とを関連づけて表示する（図１０に示すプロセス名５０２、入力情報５６４及び出力情報５６５参照）ので、プロセスの入力変数や出力変数を容易に把握することが可能である。
（５）
ここでは、図１に示す自動生成装置１の第２入力部３に、関連付け情報が入力される。関連付け情報が、共通機能情報（図４に示すデータフローダイアグラム８２参照）と識別情報（図４に示すモジュール名８１）とが関連付けられた情報を含む。記憶部７が、関連付け情報を制御部４経由で第２入力部３から受け取り関連付け情報８として記憶する。第１入力部２に、ソフトウェアの要求仕様（図２に示す機能仕様書）に基づいて、複数のプロセスの情報（図６に示す「個別プロセス名」欄５２２参照）が入力される。第１入力部２に、特定プロセス群のうちいずれかのプロセスの情報（図６に示す「個別プロセス名」欄５２２参照）と識別情報（図６に示す「定義モジュール名」欄５２１参照）とが関連づけて入力される。第１入力部２に、入出力情報（図８の入出力変数候補欄５４１参照）と複数のプロセスのうちいずれかのプロセスの情報（図７に示す「個別プロセス名」欄５３２参照）とが関連づけてさらに入力される。表示部５が、複数のプロセスの情報と複数の入出力情報とを関連づけて、制御部４経由で第１入力部２から受け取る。表示部５が、特定プロセス群のうちいずれかのプロセスの情報と識別情報とを関連づけて、制御部４経由で第１入力部２からさらに受け取る。表示部５が、複数のプロセスの情報と複数の入出力情報とを関連づけて表示する（図１０に示すプロセス名５０２、入力情報５６４及び出力情報５６５参照）。表示部５が、区別表示（図１０に示す八角形の枠５６１，５６２，丸の枠５６３参照）により、複数のプロセスを表示する。
【００７８】
したがって、区別表示（図１０に示す八角形の枠５６１，５６２，丸の枠５６３参照）により複数のプロセスを表示するので、共通機能情報を使用しているプロセス（図１０に示す八角形の枠５６１，５６２参照）と共通機能情報を使用していないプロセス（図１０に示す丸の枠５６３参照）とを容易に区別することが可能である（図１０参照）。
（６）
ここでは、図１に示す自動生成装置１の第２入力部３に、関連付け情報が入力される。関連付け情報が、共通機能情報（図４に示すデータフローダイアグラム８２参照）と識別情報（図４に示すモジュール名８１）とが関連付けられた情報を含む。記憶部７が、関連付け情報を制御部４経由で第２入力部３から受け取り関連付け情報８として記憶する。第１入力部２に、ソフトウェアの要求仕様（図２に示す機能仕様書）に基づいて、複数のプロセスの情報（図６に示す「個別プロセス名」欄５２２参照）が入力される。第１入力部２に、特定プロセス群のうちいずれかのプロセスの情報（図６に示す「個別プロセス名」欄５２２参照）と識別情報（図６に示す「定義モジュール名」欄５２１参照）とが関連づけて入力される。第１入力部２に、入出力情報（図８の入出力変数候補欄５４１参照）と複数のプロセスのうちいずれかのプロセスの情報（図７に示す「個別プロセス名」欄５３２参照）とが関連づけてさらに入力される。表示部５が、複数のプロセスの情報と複数の入出力情報とを関連づけて、制御部４経由で第１入力部２から受け取る。表示部５が、特定プロセス群のうちいずれかのプロセスの情報と識別情報とを関連づけて、制御部４経由で第１入力部２からさらに受け取る。表示部５が、複数のプロセスの情報と複数の入出力情報とを関連づけて表示する（図１０に示すプロセス名５０２、入力情報５６４及び出力情報５６５参照）。表示部５が、区別表示（図１０に示す八角形の枠５６１，５６２，丸の枠５６３参照）により、複数のプロセスを表示する。区別表示（図１０に示す八角形の枠５６１，５６２，丸の枠５６３参照）が、複数のプロセスのそれぞれを囲む形状である。
【００７９】
したがって、区別表示（図１０に示す八角形の枠５６１，５６２，丸の枠５６３参照）が複数のプロセスのそれぞれを囲む形状を含むので、共通機能情報を使用しているプロセス（図１０に示す八角形の枠５６１，５６２参照）と共通機能情報を使用していないプロセス（図１０に示す丸の枠５６３参照）とを容易に把握することが可能である。
（７）
ここでは、図１に示す自動生成装置１の第２入力部３に、関連付け情報が入力される。関連付け情報が、共通機能情報（図４に示すデータフローダイアグラム８２参照）と識別情報（図４に示すモジュール名８１）とが関連付けられた情報を含む。記憶部７が、関連付け情報を制御部４経由で第２入力部３から受け取り関連付け情報８として記憶する。第１入力部２に、ソフトウェアの要求仕様（図２に示す機能仕様書）に基づいて、複数のプロセスの情報（図６に示す「個別プロセス名」欄５２２参照）が入力される。第１入力部２に、特定プロセス群のうちいずれかのプロセスの情報（図６に示す「個別プロセス名」欄５２２参照）と識別情報（図６に示す「定義モジュール名」欄５２１参照）とが関連づけて入力される。第１入力部２に、入出力情報（図８の入出力変数候補欄５４１参照）と複数のプロセスのうちいずれかのプロセスの情報（図７に示す「個別プロセス名」欄５３２参照）とが関連づけてさらに入力される。表示部５が、複数のプロセスの情報と複数の入出力情報とを関連づけて、制御部４経由で第１入力部２から受け取る。表示部５が、特定プロセス群のうちいずれかのプロセスの情報と識別情報とを関連づけて、制御部４経由で第１入力部２からさらに受け取る。表示部５が、複数のプロセスの情報と複数の入出力情報とを関連づけて表示する（図１０に示すプロセス名５０２、入力情報５６４及び出力情報５６５参照）。表示部５が、区別表示（図１０に示す八角形の枠５６１，５６２，丸の枠５６３参照）により、複数のプロセスを表示する。表示部５が、複数のプロセスの情報と識別情報とをさらに関連づけて表示する（図１０に示すプロセス名５０２，モジュール名５０１参照）。
【００８０】
したがって、複数のプロセスの情報と識別情報とをさらに関連づけて表示する（図１０に示すプロセス名５０２，モジュール名５０１参照）ので、プロセスが使用している共通機能情報を容易に把握することが可能である。
（８）
ここでは、図１に示す自動生成装置１の第２入力部３に、関連付け情報が入力される。関連付け情報が、共通機能情報（図４に示すデータフローダイアグラム８２参照）と識別情報（図４に示すモジュール名８１）とが関連付けられた情報を含む。記憶部７が、関連付け情報を制御部４経由で第２入力部３から受け取り関連付け情報８として記憶する。第１入力部２に、ソフトウェアの要求仕様（図２に示す機能仕様書）に基づいて、複数のプロセスの情報（図６に示す「個別プロセス名」欄５２２参照）が入力される。第１入力部２に、特定プロセス群のうちいずれかのプロセスの情報（図６に示す「個別プロセス名」欄５２２参照）と識別情報（図６に示す「定義モジュール名」欄５２１参照）とが関連づけて入力される。生成部６が、共通機能情報を制御部４経由で第１入力部２から受け取る。生成部６が、共通機能情報に基づいて、処理関数コードを共通のコードとして生成する（図１２に示す処理関数コード６０４参照）。
【００８１】
したがって、共通機能情報（図４に示すデータフローダイアグラム８２参照）に基づいて処理関数コード（図１２に示す処理関数コード６０４参照）を共通のコードとして生成するので、自動的に生成されたソフトウェアのコードにおいて処理関数コードが繰り返し記述されることを低減することが可能である（図１２に示すコード６０２，６０３参照）。このため、自動的に生成されたソフトウェアのコードの記載量を低減することが可能である（図１２参照）。
【００８２】
（９）
ここでは、図１に示す自動生成装置１の第２入力部３に、関連付け情報が入力される。関連付け情報が、共通機能情報（図４に示すデータフローダイアグラム８２参照）と識別情報（図４に示すモジュール名８１）とが関連付けられた情報を含む。記憶部７が、関連付け情報を制御部４経由で第２入力部３から受け取り関連付け情報８として記憶する。第１入力部２に、ソフトウェアの要求仕様（図２に示す機能仕様書）に基づいて、複数のプロセスの情報（図６に示す「個別プロセス名」欄５２２参照）が入力される。第１入力部２に、特定プロセス群のうちいずれかのプロセスの情報（図６に示す「個別プロセス名」欄５２２参照）と識別情報（図６に示す「定義モジュール名」欄５２１参照）とが関連づけて入力される。生成部６が、共通機能情報を制御部４経由で第１入力部２から受け取る。生成部６が、共通機能情報に基づいて、処理関数コードを共通のコードとして生成する（図１２に示す処理関数コード６０４参照）。生成部６が、入出力情報を制御部４経由で第１入力部２から受け取る。生成部６が、入出力情報に基づいて、状態変数コードを、複数のプロセスについて個別に生成する（図１２に示す状態変数コード６０５，６０６，６０７参照）。
【００８３】
したがって、状態変数コードを複数のプロセスについて個別に生成する（図１２に示す状態変数コード６０５，６０６，６０７参照）ので、処理関数コードを共通のコードとして生成した場合（図１２に示す処理関数コード６０４参照）でも、複数のプロセスのうちそれぞれのプロセスのコード（図１２に示すコード６０１，６０２，６０３）を区別して生成することが可能である。
【００８４】
＜第１実施形態の変形例＞
（Ａ）図３に示すステップＳ１では、関連付け情報として、共通機能情報と識別情報とが関連付けられた情報のみが図１に示す第２入力部３に入力されてもよい。この場合、図３に示すステップＳ４において、関連付け情報として、非共通機能情報と非共通識別情報とが関連付けられた情報が必要に応じて図１に示す第２入力部３に入力されることになる。したがって、非共通機能情報と非共通識別情報とが関連付けられた情報が必要最小限だけ入力されるようにすることができる。
【００８５】
（Ｂ）図４，図５に示す関連付け情報において、識別情報は、モジュール名である代わりに、モジュールを識別するための記号や番号であってもよいし、モジュールを識別することが可能な情報であればどのような情報であってもよい。図６に示す「定義モジュール名」欄５２１に入力される識別情報、図７に示す「定義モジュール名」欄５３１に表示される識別情報、図１０に示すデータフローダイアグラム５６０に示されるモジュール名５０１，５０３，５０５，・・・、図１１に示すコントロール仕様書５７０に示されるモジュール名５７２，５７４，・・・などについても同様である。
【００８６】
図１に示す第１入力部２に入力されるプロセスの情報、すなわち図６に示す「個別プロセス名」欄５２２に入力されるプロセスの情報は、プロセス名である代わりに、プロセスを識別するための記号や番号であってもよいし、プロセスを識別することが可能な情報であればどのような情報であってもよい。図７に示す「個別プロセス名」欄５３２に表示されるプロセスの情報、図１０に示すデータフローダイアグラム５６０に示されるプロセス名５０２，５０４，５０６，・・・、図１１に示すコントロール仕様書５７０に示されるプロセス名５７３，５７５，・・・などについても同様である。
【００８７】
（Ｃ）図４に示すデータフローダイアグラム８２や図１０に示すデータフローダイアグラム５６０は、入力変数や出力変数とプロセス名との関係やモジュール名とプロセス名との関係を図式的に把握できるようにしたチャートであるが、入力変数や出力変数とプロセス名との関係やモジュール名とプロセス名との関係を一覧できるようにした一覧表であってもよい。図５に示すコントロール仕様書８４は、状態の遷移を図式的に把握できるようにしたチャートであるが、図１１に示すように状態の遷移を一覧できるようにした遷移表であってもよい。図１１に示すコントロール仕様書５７０は、状態の遷移を一覧できるようにした遷移表であるが、図５に示すように状態の遷移を図式的に把握できるようにしたチャートであってもよい。
【００８８】
区別表示（図１０に示す八角形の枠５６１，５６２，丸の枠５６３参照）は、複数のプロセスのそれぞれを囲む形状である代わりに、複数のプロセスのそれぞれを示す文字の色であってもよいし、複数のプロセスのそれぞれのプロセス名５０２，５０４，５０６付近に付けられた記号のようなものであってもよいし、共通機能情報を使用しているプロセス（図１０に示す八角形の枠５６１，５６２参照）と共通機能情報を使用していないプロセス（図１０に示す丸の枠５６３参照）とを容易に把握することが可能なものであればどのような表示であってもよい。
【００８９】
（Ｄ）図１に示す関連付け情報８及び自動生成プログラム９の少なくとも一方は、自動生成装置１の記憶部７に記憶されていなくてもよい。たとえば、自動生成装置１にネットワーク（図示せず）経由でサーバ（図示せず）が接続されており、サーバ（図示せず）に関連付け情報８及び自動生成プログラム９の少なくとも一方が記憶されていてもよい。この場合、関連付け情報８及び自動生成プログラム９の少なくとも一方がサーバ（図示せず）で管理されるので、関連付け情報８及び自動生成プログラム９の少なくとも一方を自動生成装置１の利用者が管理する負担を低減することができる。また、関連付け情報８及び自動生成プログラム９が更新された場合に、関連付け情報８及び自動生成プログラム９の少なくとも一方を更新して迅速に自動生成装置１の利用者へ提供することができる。
【００９０】
（Ｅ）図１に示す自動生成プログラム９は、構造化手法を用いて空調機以外のマイコン用ソフトウェアのコードを自動的に生成するためのプログラムであってもよい。例えば、ルームエアコン・家庭用マルチシステム・ヒートポンプ給湯器・ヒートポンプ床暖房システム・店舗又はオフィス用エアコン ・ビル用マルチシステム・スポットエアコン・中温用又は低温用エアコン・全熱交換器・空気清浄機・脱臭機・除湿機・加湿器・遠赤外線暖房機・ウォーターチリングユニット・スクリュー式冷凍機・ターボ冷凍機・吸収式冷凍機・エアハンドリングユニット・ファンコイルユニット・クーリングタワー・脱臭又は有機溶剤回収処理装置・ドライエアー供給装置・超高性能フッ素樹脂エアフィルター・海上コンテナ用冷凍装置・船舶用エアコン又は冷凍機・小口輸送用保冷コンテナ・デッキユニット・船舶用ウォーターチリングユニット・艦船用冷凍又は空調装置・大型スポットクーラーなどに対するものであってもよい。すなわち、自動生成プログラム９は、構造化手法を用いてリアルタイム性が要求される制御系ソフトウェアの仕様を記述するためのプログラムであればどのようなプログラムであってもよい。
【００９１】
図１２に示す状態変数コード６０５，６０６，６０７，・・・は、複数のプロセスのうちいずれかのプロセスにおける入力変数及び出力変数の少なくとも一方を表すコードであってもよい。たとえば、内部にカウンターを持っていて定期的に自動実行されるようなプロセスの場合、状態変数コード６０５，６０６，６０７，・・・は、複数のプロセスのうちいずれかのプロセスにおける出力変数を表すコードであってもよい。たとえば、何らかの情報を受け取って保持し続けるようなプロセスの場合、状態変数コード６０５，６０６，６０７，・・・は、複数のプロセスのうちいずれかのプロセスにおける入力変数を表すコードであってもよい。
【産業上の利用可能性】
【００９２】
本発明にかかる自動生成装置、自動生成プログラム及び自動生成方法は、ソフトウェアを記憶するための記憶容量を節約することができるという効果を有し、自動生成装置、自動生成プログラム及び自動生成方法等として有用である。
【図面の簡単な説明】
【００９３】
【図１】本発明の第１実施形態による自動生成装置の構成図。
【図２】空調機のマイコン用ソフトウェアを開発する流れを示すフローチャート。
【図３】自動生成装置１が構造化手法を用いて空調機のマイコン用ソフトウェアのコードを自動的に生成する処理の流れを示すフローチャート。
【図４】関連付け情報の構成を示す概念図。
【図５】関連付け情報の構成を示す概念図。
【図６】自動生成装置が構造化手法を用いて空調機のマイコン用ソフトウェアのコードを自動的に生成する際の表示画面（図示せず）の動作を示す概念図。
【図７】自動生成装置が構造化手法を用いて空調機のマイコン用ソフトウェアのコードを自動的に生成する際の表示画面（図示せず）の動作を示す概念図。
【図８】自動生成装置が構造化手法を用いて空調機のマイコン用ソフトウェアのコードを自動的に生成する際の表示画面（図示せず）の動作を示す概念図。
【図９】自動生成装置が構造化手法を用いて空調機のマイコン用ソフトウェアのコードを自動的に生成する際の表示画面（図示せず）の動作を示す概念図。
【図１０】自動生成装置が構造化手法を用いて空調機のマイコン用ソフトウェアのコードを自動的に生成する際の表示画面（図示せず）の動作を示す概念図。
【図１１】自動生成装置が構造化手法を用いて空調機のマイコン用ソフトウェアのコードを自動的に生成する際の表示画面（図示せず）の動作を示す概念図。
【図１２】自動生成装置の生成部が自動的に生成するコードを示す概念図。
【図１３】ウォーターフォールモデルを示す図。
【符号の説明】
【００９４】
１  自動生成装置
２  第１入力部
３  第２入力部
５  表示部
６  生成部
７  記憶部
【図１】
2006031610.tif 000003
【図２】
2006031610.tif 000004
【図３】
2006031610.tif 000005
【図４】
2006031610.tif 000006
【図５】
2006031610.tif 000007
【図６】
2006031610.tif 000008
【図７】
2006031610.tif 000009
【図８】
2006031610.tif 000010
【図９】
2006031610.tif 000011
【図１０】
2006031610.tif 000012
【図１１】
2006031610.tif 000013
【図１２】
2006031610.tif 000014
【図１３】
2006031610.tif 000015