(57)【要約】【課題】メモリ容量が少ないプログラムを自動生成するプログラム生成装置等を提供することを目的とする。【解決手段】モデル図面情報として一つのクラスに複数の状態図を入力する複数状態図作成手段と、前記複数状態図作成手段で一つのクラスに対して作成した複数の状態図から自動生成の対象となる状態図を一つ選択する状態図選択手段と前記状態図選択手段で選択した状態図を元にプログラムを自動生成する選択状態図プログラム自動生成手段とを具備することを特徴とするオブジェクト指向プログラム生成装置等、を提供する。【選択図】図１
2007133772.tif 000002
【特許請求の範囲】
【請求項１】
ソフトウェアの構造を表現するモデル図面をユーザが記述編集可能とするモデル図面入力手段と、
前記モデル図面入力手段によって入力されたモデル情報を記憶するモデル情報格納手段と、
前記モデル情報格納手段によって格納された情報を表示するモデル図面表示手段と、
前記モデル情報格納手段によって記憶されたモデル情報を元にプログラムを自動生成するプログラム自動生成手段と、
前記プログラム自動生成手段によって生成されたプログラムを記憶するプログラム格納手段と、
前記プログラム格納手段によって記憶されたプログラムを表示するプログラム表示手段と、
前記モデル図面の情報として一つのクラスに複数の状態図を入力する複数状態図作成手段と、
前記複数状態図作成手段で一つのクラスに対して作成した複数の状態図から自動生成の対象となる状態図を一つ選択する状態図選択手段と、
前記状態図選択手段で選択した状態図を元に、プログラムを自動生成する選択状態図プログラム自動生成手段と
を具備することを特徴とするオブジェクト指向プログラム生成装置。
【請求項２】
一つのクラスに作成した複数の状態図の間に継承関係を持たせ、子状態図は親状態図の情報を包含しその差分のみを追記することで作成することが出来る状態図間継承作成手段を更に具備することを特徴とする請求項１に記載のオブジェクト指向プログラム生成装置。
【請求項３】
モデル図面情報として一つのクラスに複数の状態図を入力する複数状態図作成工程と、
前記複数状態図作成工程で一つのクラスに対して作成した複数の状態図から自動生成の対象となる状態図を一つ選択する状態図選択工程と、
前記状態図選択工程で選択した状態図に基づいてプログラムを自動生成する選択状態図プログラム自動生成工程と
を具備することを特徴とするオブジェクト指向プログラム生成方法。
【請求項４】
請求項３に記載の方法の各工程をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オブジェクト指向分析・設計手法を用いて設計されたソフトウェア図面よりプログラムの自動生成を行うオブジェクト指向プログラミング生成装置に関する。
【背景技術】
【０００２】
近年、ソフトウェア分析設計手法の一つとしてオブジェクト指向分析設計が普及している。ここで、オブジェクト指向分析設計とは、現実世界の実体をオブジェクトとして抽出し、このオブジェクトを単位としてシステムを構築していく開発手法である。
オブジェクト指向分析設計の開発手法においては、同種類のオブジェクトを抽象化したものを「クラス」と呼び、抽出されたクラス間の構造を表現するために「クラス図」を記述する。また、クラスはそれぞれ役割を持ち、クラスが保持する内部データを記述するための「属性」、クラスへの操作を表す「関数」、クラス自身の振る舞いを表す「状態図」が定義される。
【０００３】
上記オブジェクト指向分析設計を用いたシステム開発を支援する装置としては、オブジェクト指向設計支援装置が提案されている。オブジェクト指向設計支援装置とは、コンピュータなどの情報処理手段を用いて、オブジェクト指向の開発に用いられるソフトウェア設計図の作成を支援する装置である。また、上記オブジェクト指向設計支援装置においてはUnified Modeling Language(以下UML)と呼ばれる記法によりソフトウェア設計図面を作成する方法が主流となっている。例えば前述のクラス図、状態図もUMLに基づいて記述される。
【０００４】
さらに、上記UMLに基づいて記述されたソフトウェア設計図よりプログラムを自動生成する装置としては、オブジェクト指向プログラミング生成装置が提案されている。オブジェクト指向プログラミング生成装置では、ユーザによって記述されたモデル図面情報と、この図面情報を例えばC、C＋＋、Java（登録商標）などのプログラムに変換する変換ルールとを入力として、動作可能なプログラムを自動生成することを可能としている。
【０００５】
ソフトウェア設計図から動作可能なプログラムを自動生成する場合、同じソフトウェア設計図を再利用しながら異なる製品となる複数のプログラムを自動生成することでソフトウェアの生産性を向上させようとする方法が一般的になりつつある。そのような場合によく用いられるUMLの手法として「継承」というクラス間の関係が存在する。「継承」とはあるクラスBが他のあるクラスAとほぼ役割が同じ場合に、クラスＡの「属性」、「関数」、「状態図」で同じ部分についてはその定義をそのまま引継ぎ、クラスＢは差分のみを追記することで定義を行う仕組みである。この時クラスＡを親クラス、クラスＢを子クラスと呼ぶ。
【０００６】
この仕組みを利用することで、製品間で共通部分を親クラスとして定義しておき、製品ごとに差分のみを子クラスとして定義することが出来、ソフトウェアの生産性を向上させることが出来る。この場合、1つの親クラスに対し、製品系列のバリエーション数に対応した複数の子クラスが継承関係によって結合され、その結果、1つの子クラスがすなわち1つの製品に1対1で対応する構造となる。具体的に継承を使った製品系列のバリエーションの表現を図８及び図９に示す。
【０００７】
図８では702のクラス1、703のクラス2が製品毎のクラスで、701の共通クラスがそれらの共通の親クラスである。ここで701では状態図を記述せず702と703でそれぞれ製品毎の振る舞いを状態図として記述し、製品毎に701もしくは702のどちらか一方のみを使用することで製品系列のバリエーションに対応することが出来る。図９では801の共通インターフェイスで共通のインターフェイスを定義し、802の共通クラスで製品系列のバリエーション共通の状態図を記述する。
【０００８】
そして、803のクラス1と804のクラス2で、製品毎の差分を802で記述した状態図に追記することでそれぞれの状態図の記述を行う。製品毎に803、804、もしくは802のどれか一つのクラスを使用することで製品系列のバリエーションに対応することが出来る。
【０００９】
しかしながら、このように継承を使った子クラスを多用した図面から生成されたプログラムは、継承を使っていないクラスから生成されたプログラムに比べ、実行時に必要になるメモリサイズが大きくなるという問題が生じる。これは子クラスが必要とするメモリサイズは親クラスと子クラス両方のソースコードの影響を受けるためである。通常、モデル図よりプログラムを自動生成する場合、１つのクラスに対し１組のソースコードファイルが生成されるため、親クラス、子クラスそれぞれのソースコードファイルが生成される。
【００１０】
しかしながら、継承関係にある子クラスは、クラス名の宣言、コンストラクタ・デストラクタ用の関数定義、状態図を実現する状態遷移テーブルの定義等の部分で親クラスと子クラスのもの両方を持つ必要があるため、必要とするメモリ量が増加してしまう。特に自動生成されるプログラムが機器に組み込まれるものである場合には、プログラムが利用できるメモリサイズに制限がある場合が多く、このようなメモリサイズの増加は深刻な問題である。
【００１１】
プログラムサイズの問題に関して、特許文献１では、クラスの持つ状態図に注目し、状態図中の冗長で類似する複数の状態を一つの状態に自動的に縮約化することで小さいサイズのプログラムを生成出来るようにしている。しかしながら、この装置はある特定の状態図のみを読み込みそれを縮約化しているだけであるため、継承関係によるメモリサイズを縮小することはできない。
【００１２】
また、特許文献１では、継承関係の親クラスと複数の子クラスの間での属性と操作関数の関係を整理し、共通属性や関数は親クラスへ移動する等の洗練化を自動で行うことで冗長な部分の除去を行っている。しかしながらこの方法では、整理の対象となるのは属性と関数で状態図に関しての整理は行われない。また親クラスと子クラスの継承関係はそのままのため、継承によるメモリサイズの増加については言及していない。
【００１３】
【特許文献１】特開平９−１４６７６６号公報
【発明の開示】
【発明が解決しようとする課題】
【００１４】
このように、従来のプログラミング生成装置等では、同じクラスが製品系列のバリエーションによって状態図を変える必要がある場合には、親クラスを定義し、その親クラスを継承した子クラスを一つの製品に１対１で対応するようバリエーション数用意し、実際の一製品にはその子クラスの中の一つのみを使用する方法をとる。そのため継承関係によるプログラムサイズの増加を抑えたプログラムを自動生成することが出来ない。
【００１５】
本発明は、上記の課題に鑑みてなされたものであり、従来に比べ必要とするメモリ容量が少ないプログラムを自動生成するオブジェクト指向プログラム生成装置、方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１６】
本発明のオブジェクト指向プログラム生成装置は、ソフトウェアの構造を表現するモデル図面をユーザが記述編集可能とするモデル図面入力手段と、前記モデル図面入力手段によって入力されたモデル情報を記憶するモデル情報格納手段と、前記モデル情報格納手段によって格納された情報を表示するモデル図面表示手段と、前記モデル情報格納手段によって記憶されたモデル情報を元にプログラムを自動生成するプログラム自動生成手段と、前記プログラム自動生成手段によって生成されたプログラムを記憶するプログラム格納手段と、前記プログラム格納手段によって記憶されたプログラムを表示するプログラム表示手段と、前記モデル図面の情報として一つのクラスに複数の状態図を入力する複数状態図作成手段と、前記複数状態図作成手段で一つのクラスに対して作成した複数の状態図から自動生成の対象となる状態図を一つ選択する状態図選択手段と、前記状態図選択手段で選択した状態図を元に、プログラムを自動生成する選択状態図プログラム自動生成手段とを具備する。
【００１７】
本発明のオブジェクト指向プログラム生成方法は、モデル図面情報として一つのクラスに複数の状態図を入力する複数状態図作成工程と、前記複数状態図作成工程で一つのクラスに対して作成した複数の状態図から自動生成の対象となる状態図を一つ選択する状態図選択工程と、前記状態図選択工程で選択した状態図に基づいてプログラムを自動生成する選択状態図プログラム自動生成工程とを具備する。
【発明の効果】
【００１８】
請求項１に記載のオブジェクト指向プログラム生成装置によれば、従来に比べ必要とするメモリ容量が少ないプログラムを自動生成することが可能なる。
【００１９】
請求項２に記載のオブジェクト指向プログラム生成装置によれば、親クラスを継承した子クラスを作成せずに、状態図の異なる同じクラスのプログラムを自動生成することが可能となる。
【発明を実施するための最良の形態】
【００２０】
以下、本発明の実施形態について、図１〜図６に基づいて詳細に説明する。
図１は、本実施形態を示す全体構成図である。
図１において、1はCPUであり、以下に説明する3〜10の装置を2で示すバスを介してアクセスし制御を行う。3はバス2を介してCPU1からアクセス可能な読み出し専用メモリ(ROM)であり、本実施形態では、その動作を詳細に説明する処理プログラム3ａ及び処理プログラムにより使用されるパラメータ3ｂが格納されている。4は読み書き可能なメモリ(RAM)であり、RAM4上には、上記処理プログラム3により作成/変更がなされる、モデル情報、生成プログラムをそれぞれ格納するための領域(順に4a、4b)が確保されている。
【００２１】
5は入力インターフェイスであり、6で示したキーボード、マウス、タブレット等の入力装置を介してなされる入力を受け取る。7は出力インターフェイスであり、8で示したCRT，LCD等の表示媒体、更にはプリンタ、プロッタ等の出力装置に対し、データの表示/出力を行う。また、9は外部記憶装置インターフェイスであり、10で示したHD、FD、CD-ROM、MD、CF等の外部記憶装置に対するデータの入出力を行うものである。
【００２２】
図２は、本実施形態に係るオブジェクト指向プログラム生成装置の構成を示すブロック図である。
同図中、201はユーザがクラス図面情報を入力するクラス図作成部であり、入力インターフェイス5及び入力装置6により実現される。202はユーザが状態図面情報を入力する状態図作成部であり、入力インターフェイス5及び入力装置6により実現される。
207はモデル情報格納部203によって記憶されたモデル図面情報を元に、ユーザに対しモデル図面を表示するモデル図面表示部であり、出力インターフェイス7及び表示媒体・装置8により実現される。
【００２３】
204はモデル情報格納部203に格納されているモデル情報のうち、各クラスが保持している複数の状態図の中からそれぞれどの状態図を使用してプログラムを自動生成するのかをユーザが選択する状態図選択部であり、入力インターフェイス5及び入力装置6により実現される。
【００２４】
203はクラス図作成部201と状態図作部202と状態図選択部204によって入力されたモデル図面情報をオブジェクト指向プログラム生成装置上に記憶するモデル情報格納部であり、格納されるモデル情報はバス2を介しRAM4に記憶される。
【００２５】
206はモデル情報格納部203に記憶されているモデル情報と、モデル情報をC、C＋＋、Java（登録商標）などといったプログラム言語に変換するための変換ルールとを入力として、動作可能なプログラムを自動生成するプログラム自動生成部である。この処理プログラムはROM3に格納され、バス2を介して利用される。205はプログラム自動生成部205によって生成されたプログラム情報をオブジェクト指向プログラム生成装置上に記憶するプログラム格納部であり、格納される生成プログラムはバス2を介しRAM4に記憶される。208はプログラム格納部205に記憶されているプログラム情報を元に、ユーザに対し自動生成されたプログラムを表示するプログラム表示部であり、出力インターフェイス7及び表示媒体・装置8により実現される。
【００２６】
このように構成されたオブジェクト指向プログラム生成装置においては、ユーザがクラス図作成部201によって入力したクラスそれぞれに対して、状態図作成部202において複数の状態図を作成する。そして、状態図選択部204においてその複数の状態図からプログラムを自動生成する状態図を選択する。この構成により、作成しているシステムのバリエーションによって状態図を書き換える必要がある場合にも、状態図の共通部分を持つ親クラスと差分を持つ子クラスを別に定義し、継承関係でつなぐ必要がない。そのため、使用するメモリサイズを抑えたプログラムを自動生成することを実現している。
【００２７】
（実施形態１）
以下、本発明の第１の実施形態を図面及びフローチャートを参照して説明する。
図７示すような製品系列のバリエーションを本実施形態で実現したクラス図と状態図を図３に示す。
図中301は本実施形態でクラス図作成部201によりユーザが入力したクラス図中のクラスである。302は状態図作成部202によりユーザが入力したクラスAの一つ目の状態図"状態図A1"である。また303は状態図作成部202によりユーザが入力したクラスAの二つ目の状態図"状態図A2"である。状態図A1と状態図A2はそれぞれ独立して存在しておりどちらもクラスAの状態図である。
【００２８】
また図４は、本実施形態の実現手段を示すフローチャートである。以下では、このフローチャートに沿って実施形態を説明する。
401ではクラス図作成部201によりユーザがクラス図を作成する。本実施形態で作成したクラス図が図３の301である。作成したモデルはモデル情報格納部203に格納される。
【００２９】
402では前記401で作成したクラス図に対して状態図作成部202を用いて状態図を作成するかどうか判断する。もし状態図を作成する場合には403へ流れ、そうでないならば404へ流れる。ここでは状態図を作成することを選択し403へ流れる。
403では前記401で作成したクラスＡに対して状態図作成部202を用いて状態図を一つ作成する。作成した状態図はモデル情報格納部203に格納される。ここでは状態図A1の状態図を作成する。
【００３０】
402ではもう一度状態図を作成することを選択し403へ流れる。
403ではもう一つの状態図、状態図Ａ2を作成する。
402ではもう状態図を作成しないため404へ流れる。
404では状態図作成部202を用いて前記403で作成した状態図、状態図Ａ1と状態図Ａ2に詳細な状態図情報を入力する。ここで入力した状態図の詳細が図３の302、303の状態図である。
【００３１】
405では前記403、404で作成した状態図のうちの一つを状態図選択部204を用いてプログラム生成対象として選択する。本実施形態では状態図A2を選択したとする。選択情報はモデル情報格納部203に格納される。
【００３２】
406ではプログラム自動生成部206を用いて、前記401で作成したクラス図、403、404で作成した状態図、405で選択した状態図選択情報を元にプログラムの自動生成を行う。自動生成したプログラムはプログラム格納部205に格納される。
本実施形態では状態図A2をクラスAの状態図として選択したため、自動生成したクラスＡのプログラムでは状態3の時にEvent2のイベントを受け取ることが可能であり、状態4の時にEvent3を受け取ることが出来るプログラムが自動生成される。
【００３３】
以上の処理によって、一つのクラスに複数の状態図を作成し、ユーザに入力された選択情報によってそのうちの一つの状態図をプログラム生成対象としてプログラムの自動生成が行われる。
【００３４】
（実施形態２）
以下、本発明の第２の実施形態を図面及びフローチャートを参照して説明する。
図８に示すような製品系列のバリエーションを本実施形態で実現したクラス図と状態図を図５に示す。
図中501は本実施形態でクラス図作成部201によりユーザが入力したクラス図中のクラスである。502は状態図作成部202によりユーザが入力した状態図間の継承関係を示した図である。状態図B1は状態図B2と状態図B3の親状態図であり、状態図B2と状態図B3は状態図B1の状態図情報を受け継いでおり、追加分を記述している。
【００３５】
503は状態図作成部202によりユーザが入力したクラスBの一つ目の状態図"状態図B1"である。504は状態図作成部202によりユーザが入力したクラスBの二つ目の状態図"状態図B2"である。
505は状態図作成部202によりユーザが入力したクラスBの三つ目の状態図"状態図B3"である。
【００３６】
図６は本実施形態の実現手段を示すフローチャートである。以下では、このフローチャートに沿って実施形態を説明する。
601ではクラス図作成部201によりユーザがクラス図を作成する。本実施形態で作成したクラス図が図５の501である。作成したモデルはモデル情報格納部203に格納される。
【００３７】
602では前記601で作成したクラス図に対して状態図作成部202を用いて状態図を作成するかどうか判断する。もし状態図を作成する場合には603へ流れ、そうでないならば604へ流れる。ここでは状態図を作成することを選択し603へ流れる。
603では前記601で作成したクラスBに対して状態図作成部202を用いて状態図を一つ作成する。作成した状態図はモデル情報格納部203に格納される。ここでは状態図B1の状態図を作成する。
【００３８】
602ではもう一度状態図を作成することを選択し603へ流れる。
603ではもう一つの状態図、状態図B2を作成する。
602ではもう一度状態図を作成することを選択し603へ流れる。
603では三つ目の状態図、状態図B3を作成する。
602ではもう状態図を作成しないため604へ流れる。
604では状態図作成部202を用いて前記603で作成した状態図間の継承関係を作成する。ここで作成した状態図間の継承関係図が図５の502である。これによって状態図B1で記述する状態図の情報は状態図B2、状態図B3にも反映されるようになる。
【００３９】
605では状態図作成部202を用いて前記603で作成した状態図、状態図B1、状態図B2、状態図B3に詳細な状態図情報を入力する。ここで入力した状態図の詳細が図５の503、504、505の状態図である。まず503の状態図B1を作成する。次に504の状態図B2を作成する。
【００４０】
504の作成時には503の状態図B1を継承しているためすでに503の状態図B1で作成した状態1、状態2、状態1から状態2への遷移線とそこで受け付けるイベントがEvent１であることが記述されている。
504の状態図B2では新たに、Event１を受け付けた時の動作記述である「print("productAAA");」のみを追記するだけでよい。
【００４１】
次に505の状態図B3を作成する。505の作成時にも503の状態図B1を継承しているためすでに503の状態図B1で作成した状態1、状態2、状態1から状態2への遷移線とそこで受け付けるイベントがEvent１であることが記述されている。505の状態図B3では新たに、Event１を受け付けた時の動作記述である「print("productBBB");」、新たな状態の状態3、状態2から状態3への遷移線とそこで受け付けるEvent2、Event2を受け付けた時の動作記述である「print("Finish");」のみを追記するだけでよい。
【００４２】
606では前記603、605で作成した状態図のうちの一つを状態図選択部204を用いてプログラム生成対象として選択する。本実施形態では状態図B3を選択したとする。選択情報はモデル情報格納部203に格納される。
607ではプログラム自動生成部206を用いて、前記601で作成したクラス図、603、605で作成した状態図、606で選択した状態図選択情報を元にプログラムの自動生成を行う。自動生成したプログラムはプログラム格納部205に格納される。
【００４３】
本実施形態では、状態図B3をクラスBの状態図として選択したため、自動生成したクラスBのプログラムでは状態１の時にEvent1のイベントを受け取ることが可能であり、状態2の時にEvent2を受け取ることが出来るプログラムが自動生成される。
【００４４】
以上の処理によって、一つのクラスに作成した複数の状態図間で継承関係を定義することで、自動生成したプログラムにはクラスの継承を使ったメモリの増加をさせることなく、モデル上はシステムのバリエーションにあわせて共通部分を親の状態図として、差分を子の状態図として記述することが可能となる。
【００４５】
（本発明を適用した他の実施形態）
上述した実施形態によるオブジェクト指向プログラミング生成装置を構成する各構成要素の機能は、コンピュータのＲＡＭやＲＯＭなどに記憶されたプログラムが動作することによって実現できる。同様に、図４，図６等を用いて説明したオブジェクト指向プログラミング生成方法の手順は、コンピュータのＲＡＭやＲＯＭなどに記憶されたプログラムが動作することによって実現できる。このプログラム及び当該プログラムを記録したコンピュータ読み取り可能な記憶媒体は本発明に含まれる。
【００４６】
具体的に、前記プログラムは、例えばＣＤ−ＲＯＭのような記録媒体に記録し、或いは各種伝送媒体を介し、コンピュータに提供される。前記プログラムを記録する記録媒体としては、ＣＤ−ＲＯＭ以外に、フレキシブルディスク、ハードディスク、磁気テープ、光磁気ディスク、不揮発性メモリカード等を用いることができる。他方、前記プログラムの伝送媒体としては、プログラム情報を搬送波として伝搬させて供給するためのコンピュータネットワークシステムにおける通信媒体を用いることができる。ここで、コンピュータネットワークとは、ＬＡＮ、インターネットの等のＷＡＮ、無線通信ネットワーク等であり、通信媒体とは、光ファイバ等の有線回線や無線回線等である。
【００４７】
また、本発明に含まれるプログラムとしては、供給されたプログラムをコンピュータが実行することにより上述の実施形態の機能が実現されるようなもののみではない。例えば、そのプログラムがコンピュータにおいて稼働しているＯＳ（オペレーティングシステム）或いは他のアプリケーションソフト等と共同して上述の実施形態の機能が実現される場合にも、かかるプログラムは本発明に含まれる。また、供給されたプログラムの処理の全て或いは一部がコンピュータの機能拡張ボードや機能拡張ユニットにより行われて上述の実施形態の機能が実現される場合にも、かかるプログラムは本発明に含まれる。
【００４８】
例えば、図７は、パーソナルユーザ端末装置の内部構成を示す模式図である。この図７において、１２００はＣＰＵ１２０１を備えたパーソナルコンピュータ（ＰＣ）である。ＰＣ１２００は、ＲＯＭ１２０２またはハードディスク（ＨＤ）１２１１に記憶された、又はフレキシブルディスクドライブ（ＦＤ）１２１２より供給されるデバイス制御ソフトウェアを実行する。このＰＣ１２００は、システムバス１２０４に接続される各デバイスを総括的に制御する。
【００４９】
ＰＣ１２００のＣＰＵ１２０１、ＲＯＭ１２０２またはハードディスク（ＨＤ）１２１１に記憶されたプログラムにより、図４，図６等のオブジェクト指向プログラミング生成方法の手順が実現される。
【００５０】
１２０３はＲＡＭで、ＣＰＵ１２０１の主メモリ、ワークエリア等として機能する。１２０５はキーボードコントローラ（ＫＢＣ）であり、キーボード（ＫＢ）１２０９や不図示のデバイス等からの指示入力を制御する。
【００５１】
１２０６はＣＲＴコントローラ（ＣＲＴＣ）であり、ＣＲＴディスプレイ（ＣＲＴ）１２１０の表示を制御する。１２０７はディスクコントローラ（ＤＫＣ）である。ＤＫＣ１２０７は、ブートプログラム、複数のアプリケーション、編集ファイル、ユーザファイルそしてネットワーク管理プログラム等を記憶するハードディスク（ＨＤ）１２１１、及びフレキシブルディスク（ＦＤ）１２１２とのアクセスを制御する。ここで、ブートプログラムとは、起動プログラム：パソコンのハードやソフトの実行（動作）を開始するプログラムである。
【００５２】
１２０８はネットワーク・インターフェイスカード（ＮＩＣ）で、ＬＡＮ１２２０を介して、ネットワークプリンタ、他のネットワーク機器、あるいは他のＰＣと双方向のデータのやり取りを行う。
【図面の簡単な説明】
【００５３】
【図１】本発明を適用したオブジェクト指向プログラミング生成装置の機器構成図である。
【図２】本発明を適用したオブジェクト指向プログラミング生成装置の全体構成を示すブロック図である。
【図３】本発明の第１の実施形態の中でユーザが作成したクラス図と状態図を示す模式図である。
【図４】本発明の第１の実施形態の実現手順を示すフローチャートである。
【図５】本発明の第２の実施形態の中でユーザが作成したクラス図と状態図を示す模式図である。
【図６】本発明の第２の実施形態の実現手順を示すフローチャートである。
【図７】パーソナルユーザ端末装置の内部構成を示す模式図である。
【図８】従来の、ソフトウェア設計図から動作可能なプログラムを自動生成する場合における製品系列のバリエーションの表現を示す模式図である。
【図９】従来の、ソフトウェア設計図から動作可能なプログラムを自動生成する場合における製品系列のバリエーションの表現を示す模式図である。
【符号の説明】
【００５４】
201   クラス図作成部
202   状態図作成部
203   モデル情報格納部
204   状態図選択部
205   プログラム格納部
206   プログラム自動生成部
207   モデル図表示部
208   プログラム表示部
【図１】
2007133772.tif 000003
【図２】
2007133772.tif 000004
【図３】
2007133772.tif 000005
【図４】
2007133772.tif 000006
【図５】
2007133772.tif 000007
【図６】
2007133772.tif 000008
【図７】
2007133772.tif 000009
【図８】
2007133772.tif 000010
【図９】
2007133772.tif 000011