(57)【要約】      （修正有）【課題】アクティビティ図のブロックの持つプログラム元情報の編集作業の効率改善を図るとともに、プログラムを生成する前に内容把握できるようにする。【解決手段】アクティビティ図取得機能部１２はブロックＤＢ１１からアクティビティ図を取得し、プログラム構造作成機能部１３はアクティビティ図のプログラム構造を作成し、プログラム部品作成機能部１４はプログラム構造の各要素にしたがってプログラム部品を作成し、プログラム部品ＤＢ１５に格納する。関連付け機能部１６はプログラム部品とプログラム構造の各要素に関連付けられたブロックとをリンクさせる。プログラム部品選択機能部１８はユーザが外部入力装置などでプログラム編集画面上のプログラム部品を選択したときにプログラム部品ＤＢ１５からプログラム部品を取得し、関連ブロック取得機能部１９は取得したプログラム部品とリンクされたブロックを前記ＤＢ１１から取得する。【選択図】図２
2016206962.tif 000002
【特許請求の範囲】
【請求項１】
ソフトウェアとして組み込む情報処理をブロックとして定義し、該定義されたブロックに応じたプログラムを生成するソフトウェア開発支援システムであって、
前記ブロックの情報を格納するブロックデータベースに基づきアクティビティ図の各ブロックに応じたプログラム構造を作成するプログラム構造作成機能部と、
前記プログラム構造の各要素からプログラムを編集するためのプログラム部品を作成するプログラム部品作成機能部と、
前記プログラム構造の各要素に関連付けられたブロックと、前記プログラム部品とをリンクさせる関連付け機能部と、
前記リンク後の前記プログラム部品を前記プログラム構造にしたがってプログラム編集画面に表示させる編集画面表示機能部と、
を備えることを特徴とするソフトウェア開発支援システム。
【請求項２】
前記プログラム部品作成機能部の作成したプログラム部品を格納するプログラム部品データベースと、
前記プログラム編集画面上のプログラム部品が選択されれば、選択されたプログラム部品を前記プログラム部品データベースから取得するプログラム部品選択機能部と、
前記プログラム部品選択機能部で取得したプログラム部品にリンクされたブロックを前記ブロックデータベースから取得する関連ブロック取得機能部と、
をさらに備えることを特徴とする請求項１記載のソフトウェア開発支援システム。
【請求項３】
前記アクティビティ図を表示する画面中でブロックが選択されれば、選択されたブロックを前記ブロックデータベースから取得するブロック選択機能部と、
前記ブロック選択機能部で取得したブロックにリンクされたプログラム部品を、前記プログラム部品データベースから取得する関連プログラム部品取得機能部と、
をさらに備えることを特徴とする請求項２記載のソフトウェア開発支援システム。
【請求項４】
前記プログラム編集画面は、前記ブロックと前記プラグラム部品とを連携する領域を備え、
前記プログラム部品選択機能部は、前記領域の選択に応じて前記プログラム部品データベースから該当するプログラム部品を取得する
ことを特徴とする請求項２または３のいずれか１項に記載のソフトウェア開発支援システム。
【請求項５】
前記関連ブロック取得機能部の取得したブロックと、前記関連プログラム部品取得機能部の取得したプログラム部品とを、
それぞれ強調表示することを特徴とする請求項３または４のいずれか１項に記載のソフトウェア開発支援システム。
【請求項６】
ソフトウェアとして組み込む情報処理をブロックとして定義し、該定義されたブロックに応じたプログラムを生成するソフトウェア開発支援方法であって、
前記ブロックの情報を格納するブロックデータベースに基づきアクティビティ図の各ブロックに応じたプログラム構造を作成するプログラム構造作成ステップと、
前記プログラム構造の各要素からプログラムを編集するためのプログラム部品を作成するプログラム部品作成ステップと、
前記プログラム構造の各要素に関連付けられたブロックと、前記プログラム部品とをリンクさせる関連付けステップと、
前記リンク後の前記プログラム部品を前記プログラム構造にしたがってプログラム編集画面に表示させる編集画面表示ステップと、
を有することを特徴とするソフトウェア開発支援方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、産業機器や家電製品などに内蔵されるシステムで動作するソフトウェア（以下、組み込みソフトウェアとする。）の開発を支援するシステムおよび方法に関する。
【背景技術】
【０００２】
組み込みソフトウェアの開発では、制御演算の設計において従来からブロック図や状態遷移図、「ＵＭＬ（Ｕｎｉｆｉｅｄ  Ｍｏｄｅｌｉｎｇ  Ｌａｎｇｕａｇｅ：統一モデル言語）」のアクティビティ図が使用されている。
【０００３】
このアクティビティ図は、入出力データを表すブロック，加減算などの演算を表すブロック，条件分岐や繰り返しなどを表すブロックを図面上に配置し、それらのブロック間を線で結んで処理の経過を表現する。
【０００４】
アクティビティ図を使用した組み込みソフトウェアの開発支援システムとしては、特許文献１が公知となっている。この特許文献１は、作成されたアクティビティ図をシミュレーションして動作確認し、動作確認の完了したアクティビティ図からプログラムを自動生成する。
【０００５】
図１（ａ）〜（ｃ）に基づき特許文献１の開発支援システムの概略を説明する。図１（ａ）はアクティビティ図の一例を示し、二つの入力データ「ＩＮ１」と「ＩＮ２」とがあり、両入力データの和「ＩＮ１＋ＩＮ２」がデータ「ＶＡＲ」に代入され、データ「ＶＡＲ」の値が負（０未満）の場合にデータ「ＶＡＲ」の値を「０」に再設定し、データ「ＶＡＲ」の値が出力データ「ＯＵＴ」に代入される。
【０００６】
図１（ｂ）は、アクティビティ図の動作確認例を示している。ここでは図１（ａ）のアクティビティ図に対して、入力データ「ＩＮ１，ＩＮ２」にそれぞれ初期値が設定されている。この場合には、シミュレーション機能により太線のルートを辿り、データ「ＶＡＲ＝５（２＋３）」，出力データ「ＯＵＴ＝５（＝ＶＡＲ）」と動作確認を行える。また、図１（ｃ）に示すように、図１（ａ）のアクティビティ図から例えばＣ言語のプログラムが自動生成される。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００９−１９３１８１
【発明の概要】
【発明が解決しようとする課題】
【０００８】
特許文献１のソフトウェア開発支援システムは、アクティビティ図から組み込みソフトウェアを自動生成する場合、該アクティビティ図を構成する各ブロックがプログラムとなる元情報を持っている。
【０００９】
図１（ａ）のアクティビティ図に基づき説明すれば、最初のアクションノード１がプログラムの元情報「ＶＡＲ＝ＩＮ１＋ＩＮ２；」を持ち、ガード２がプログラム情報「ＶＡＲ＜０」を持ち、真中のアクションノード３がプログラムの元情報「ＶＡＲ＝０；」を持ち、最後のアクションノード４がプログラムの元情報「ＯＵＴ＝ＶＡＲ；」を持つ。
【００１０】
このようなプログラムの元情報は、各ブロックのプロパティの一つとして持ち、値の設定は各ブロックのプロパティ画面から入力される。すなわち、各ブロックを選択し、プロパティ画面を表示させ、プロパティ画面のプログラム情報欄に値を入力する一連の作業をすべてのブロックについて行わなければならず、編集作業に手間がかかり負担が大きい。また、作成したアクティビティ図から得られるプログラムは、プログラム自動生成機能によって自動生成するまで内容を把握できないという問題もあった。
【００１１】
本発明は、このような問題を解決するためになされ、アクティビティ図の各ブロックが持つプログラム元情報の編集作業などの負担軽減を図るとともに、プログラムを生成する前に内容の把握を可能とすることを解決課題としている。
【課題を解決するための手段】
【００１２】
本発明のソフトウェア開発支援システムは、ブロックの情報を格納するブロックデータベースに基づきアクティビティ図の各ブロックに応じたプログラム構造を作成するプログラム構造作成機能部と、前記プログラム構造の各要素からプログラムを編集するためのプログラム部品を作成するプログラム部品作成機能部と、前記プログラム構造の各要素に関連付けられたブロックと、前記プログラム部品とをリンクさせる関連付け機能部と、前記リンク後の前記プログラム部品を前記プログラム構造にしたがってプログラム編集画面に表示させる編集画面表示機能部と、を備える。
本発明のソフトウェア開発支援方法は、ブロックの情報を格納するブロックデータベースに基づきアクティビティ図の各ブロックに応じたプログラム構造を作成するプログラム構造作成ステップと、前記プログラム構造の各要素からプログラムを編集するためのプログラム部品を作成するプログラム部品作成ステップと、前記プログラム構造の各要素に関連付けられたブロックと、前記プログラム部品とをリンクさせる関連付けステップと、前記リンク後の前記プログラム部品を前記プログラム構造にしたがってプログラム編集画面に表示させる編集画面表示ステップと、を有する。
【発明の効果】
【００１３】
本発明によれば、アクティビティ図の各ブロックの持つプログラム元情報の編集作業などの負担を軽減することができる。また、プログラム生成前に内容を把握することもできる。
【図面の簡単な説明】
【００１４】
【図１】（ａ）はアクティビティ図の一例を示す図。（ｂ）はアクティビティ図の動作確認例を示す図、（ｃ）はアクティビティ図を用いたプログラム自動生成の一例を示す図。
【図２】第１実施形態の構成図。
【図３】同  アクティビティ図とプログラム編集画面との関係図。
【図４】プログラム構造およびブロックとプログラム部品とのリンクを示す説明図。
【図５】プログラム部品からブロックへのジャンプを示す画面表示図。
【図６】ブロックからプログラム部品へのジャンプを示す画面表示図。
【図７】第２実施形態の構成図。
【図８】同  連携領域の説明図。
【発明を実施するための形態】
【００１５】
以下、本発明の実施形態に係るソフトウェア開発支援システムを説明する。このソフトウェア開発支援システムは、コンピュータにより構成され、通常のコンピュータのハードウェアリソース（例えばＣＰＵやＲＡＭ，ＲＯＭ，ＨＤＤ，ＳＳＤなど記憶装置）を備える。
【００１６】
このハードウェアリソースとソフトウェアリソース（ＯＳ，アプリケーション等）との協働の結果、前記ソフトウェア開発支援システムは、電子機器などにユーザが組み込みソフトウェアとしてインストールする任意の情報処理をブロックとして定義するユーザブロック設定装置（手段）と、該ユーザブロック設定装置で作成されたユーザ定義ブロックからプログラムを自動生成するプログラム自動生成装置（手段）と、前記情報処理の制御手順を示すアクティビティ図の各ブロックとプログラム編集画面とを連携させる連携装置（手段）とを備える。
【００１７】
この各装置（各手段）は、単一のコンピュータにすべて実装してもよく、コンピュータ群に分散して実装してもよく、また同一のコンピュータに実装してもよく、異なるコンピュータに実装してもよい。
【００１８】
ただし、前記ユーザブロック設定装置および前記プログラム自動生成装置は、特許文献１と同じ処理を実行するため、前記連携装置を中心に前記ソフトウェア開発支援システムを説明する。
【００１９】
≪第１実施形態≫
図２に基づき前記連携装置の第１実施形態を説明する。この連携装置１０は、
ブロックＤＢ１１，アクティビティ図取得機能部１２，アクティビティ図のプログラム構造作成機能部１３，プログラム部品作成機能部１４，プログラム部品ＤＢ１５，ブロックとプログラム部品の関連付け機能部１６，プログラム編集画面表示機能部１７，プログラム部品選択機能部１８，関連ブロック取得機能部１９，ブロック選択機能部２０，関連プログラム部品取得機能部２１を実装する。
【００２０】
具体的にはブロックＤＢ１１およびプログラム部品ＤＢ１５は、前記記憶装置に構築されている。このブロックＤＢ１１には、ユーザ作成のアクティビティ図やユーザ定義ブロックなどが格納されている。このユーザ定義ブロックとしては、特許文献１のブロック情報ＤＢを利用することができる。このブロック情報ＤＢには、例えばブロック名などのユーザ定義のブロック情報が格納されている。
【００２１】
このブロックＤＢ１１からアクティビティ図取得機能部１２は、アクティビティ図を取得する。ここで取得されたアクティビティ図のプログラム構造を前記プログラム構造作成機能部１３が、ブロックＤＢ１１のユーザ定義ブロックを参照して作成する。
【００２２】
プログラム部品作成機能部１４は、前記プログラム構造作成機能部１３で作成されたプログラム構造の各要素に基づきプログラム編集画面に表示するための画面部品、即ちプログラムを編集するためのプログラム部品を作成する。ここで作成された各プログラム部品はプログラム部品ＤＢ１５に格納される。
【００２３】
前記関連付け機能部１６は、プログラム部品作成機能部１４で作成されたプログラム部品と前記プログラム構造の各要素に関連付けられたブロックとをリンクさせる。具体的には両者間にオブジェクト指向の関連（ａｓｓｏｃｉａｔｉｏｎ）の関係（ｒｅｌａｔｉｏｎｓｈｉｐ）を設ける。なお、前記編集画面表示機能部１７は、前記関連付け機能部１６によるリンク後のプログラム部品を、前記プログラム構造にしたがってモニタのプログラム編集画面に表示させる。
【００２４】
プログラム部品選択機能部１８は、ユーザがキーボードやマウスなどの外部入力装置にて前記編集画面上のプログラム部品を選択すれば、プログラム部品ＤＢ１５から該当するプログラム部品を取得する。このとき関連ブロック取得機能部１９は、プログラム部品選択機能部１８で取得したプログラム部品とリンクされたブロックをブロックＤＢ１１から取得する。
【００２５】
ブロック選択機能部２０は、モニタに表示されたアクティビティ図に対して、ユーザが前記外部入力装置にてブロックを選択すれば、ブロックＤＢ１１から該当するブロックを取得する。このとき関連プログラム部品取得機能部２１は、ブロック選択機能部２０の取得したブロックと、リンクされたプログラム部品とをプログラム部品ＤＢ１５から取得する。
【００２６】
＜動作処理の説明＞
以下、前記連携装置１０の動作処理の詳細を説明する。ここでは主にユーザによりプログラム部品が直接選択された場合のアクティビティ図とプログラム編集画面との連携例を説明する。なお、ユーザは既存の組み込みソフトウェア開発支援システムにて図３のアクティビティ図Ａを作成し、該アクティビティ図Ａは前記ブロックＤＢ１１に格納されているものとする。
【００２７】
（１）前記機能部１２，１３の動作処理
アクティビティ図取得機能部１２は、ブロックＤＢ１１からアクティビティ図Ａを取得する。ここで取得されたアクティビティ図Ａから前記プログラム構造作成機能部１３はブロックを抽出し、抽出されたブロックに基づき図４のプログラム構造Ｋを自動生成する。
【００２８】
詳細を説明すれば、前記プログラム構造作成機能部１３の処理は、アクティビティ図Ａの開始ノード３０からスタートする。最初に「ＶＡＲ＝ＩＮ１＋ＩＮ２」のアクションノード３１を抽出し、プログラム構造Ｋにアクションノード３１ａとして配置する。このプログラム構造Ｋのアクションノード３１ａと、ブロックとしてのアクションノード３１とをリンクさせる。
【００２９】
つぎに「ｉｆ」のデシジョンノード３２を抽出し、プログラム構造Ｋにデシジョンノード３２ａとして配置する。このプログラム構造Ｋのデシジョンノード３２ａと、ブロックとしてのデシジョンノード３２とをリンクさせる。
【００３０】
その後はマージノード３７が出現するまで条件分岐ごとにプログラム構造Ｋに順次に配置していく。すなわち、ガード「ＶＡＲ＜０」３３側はプログラム構造Ｋも同じくガード３３ａを配置し、両者３３，３３ａをリンクさせる。また、「ＶＡＲ＝０」のアクションノード３４をプログラム構造Ｋにアクションノード３４ａとして配置し、両者３４，３４ａをリンクさせる。さらにガード「ｅｌｓｅ」３５側はプログラム構造Ｋも同じくガード３５ａを配置し、両者３５，３５ａをリンクさせる。このガード３５以降はブロックが無いので何も配置されない。
【００３１】
最後に「ＯＵＴ＝ＶＡＲ；」のアクションノード３６をプログラム構造Ｋにアクションノード３６ａとして配置し、両者３６，３６ａをリンクさせる。ここで生成されたプログラム構造Ｋは前記記憶装置に記憶される。
【００３２】
（２）プログラム部品作成機能部１４の動作処理
プログラム部品作成機能部１４は、前記記憶装置に記憶されたプログラム構造Ｋにしたがって図４のプログラム編集画面Ｇに表示するプログラム部品を作成する。図４に基づきプログラム部品の作成例を説明すれば、プログラム構造Ｋのアクションノード３１ａ，３４ａ，３６ａについては、複数行入力可能なテキストエリア３１ｂ，３４ｂ，３６ｂを作成する。
【００３３】
また、「ＶＡＲ＜０」のように条件判定が設定されているガード３３ａについては、例えば一行入力可能なテキストボックス３３ｂを作成する。さらにデシジョンノード３２ａや条件判定が設定されていないガード３５ａについては、例えば編集のできないラベル３２ｂ，３５ｂを作成する。作成された各プログラム部品３１ｂ〜３６ｂはプログラム部品ＤＢ１５に格納される。なお、プログラム部品は、前記作成例には限定されず、他の形式で作成してもよいものとする。
【００３４】
（３）前記関連付け機能部１６の動作処理
前記関連付け機能部１６は、まずプログラム部品ＤＢ１５からプログラム部品を取得する。つぎに取得したプログラム部品と、前記記憶装置に記憶されたプログラム構造Ｋの要素３１ａ〜３６ａに関連付けされたブロック３１〜３６とをリンクさせる。
【００３５】
図３に基づき説明すれば、アクションノード３１とテキストエリア３１ｂとをリンクさせる。このアクションノード３１が持つプログラムの元情報「ＶＡＲ＝ＩＮ１＋ＩＮ２；」をテキストエリア３１ｂに表示する。
【００３６】
また、ガード３３とテキストエリア３３ｂとをリンクさせ、ガード３３が持つプログラムの元情報「ＶＡＲ＜０」をテキストエリア３３ｂに表示する。同様にアクションノード３４，３６をテキストエリア３４ｂ，３６ｂとリンクさせる。このアクションノード３４，３６が持つプログラムの元情報「ＶＡＲ＝０；」，「ＯＵＴ＝ＶＡＲ；」をテキストエリア３４ｂ，３６ｂに表示する。
【００３７】
さらにデシジョンノード３２とラベル３２ｂとをリンクさせ、デシジョンノード３２が持つプログラムの元情報「ｉｆ」をラベル３２ｂに表示する。同様にガード３５とラベル３５ｂとをリンクさせ、ガード３５が持つプログラムの元情報「ｅｌｓｅ」をラベル３５ｂに表示する。
【００３８】
（４）前記編集画面表示機能部１７の動作処理
前記編集画面表示機能部１７は、前述のように前記関連付け機能部１６によるリンク後のプログラム部品を、前記記憶装置に記憶されたプログラム構造Ｋにしたがって配置し、図４のプログラム編集画面Ｇをモニタに表示する。
【００３９】
図４に基づき説明すれば、プログラム編集画面Ｇの最初にテキストエリア３１ｂを配置し、次にラベル３２ｂを配置し、条件分岐のルートごとにプログラム部品を配置する。すなわち、ガード３３ａ側にはテキストエリア３３ｂ，３４ｂを配置する一方、ガード３５ａ側にはラベル３５ｂを配置する。
【００４０】
このガード３５ａ以降はプログラム構造が無いため、プログラム編集画面Ｇにも何も表示しなく、最後にテキストエリア３６ｂを配置する。このときテキストエリア３１ｂ，３３ｂ，３４ｂ，３６ｂおよびラベル３２ｂ，３５ｂには、ブロック３１〜３６が持つプログラムの元情報が表示される。
【００４１】
したがって、前記連携装置１０（前記連携装置１０を備えたソフトウェア開発支援システム）によれば、アクティビティ図Ａから自動生成されるプログラムと同じイメージのプログラム編集画面Ｇがモニタに表示され、ユーザはプログラムの自動生成前に内容を容易に把握することができる。
【００４２】
また、ユーザは、テキストエリア３１ｂ，３３ｂ，３４ｂ，３６ｂに表示されるテキストデータを直接編集することで、アクティビティ図Ａのブロック３１，３３，３４，３６が持つプログラムの元情報を簡単に編集でき、この点で編集作業などの負担を軽減することができる。
【００４３】
（５）前記機能部１８〜２１の動作処理
プログラム部品選択機能部１８は、図５に示すように、プログラム編集画面Ｇ上においてユーザがマウスでテキストエリア３１ｂをダブルクリックした場合、プログラム部品ＤＢ１５から該当するプログラム部品（テキストエリア３１ｂ）を取得する。
【００４４】
このとき関連ブロック取得機能部１９は、ブロックＤＢ１１にからテキストエリア３１ｂにリンクされたブロック、即ちアクションノード３１を取得する。ここで取得されたアクションノード３１は、モニタ画面のアクティビティ図Ａ上で強調表示される。この強調表示の方法としては、例えば太線で表示してもよく、目立つ色に変更してもよい。
【００４５】
一方、ブロック選択機能部２０は、図６に示すように、モニタ画面のアクティビティ図Ａ上においてユーザがマウスでアクションノード３１をダブルクリックした場合、ブロックＤＢ１１から該当するブロック（アクションノード３１）を取得する。
【００４６】
このとき関連プログラム部品取得機能部２１は、プログラム部品ＤＢ１５からアクションノード３１にリンクされているプログラム部品、即ちテキストエリア３１ｂを取得する。ここで取得されたテキストエリア３１ｂは、プログラム編集画面Ｇ上で強調表示される。この強調表示の方法は、前述と同様に例えば太線で表示してもよく、目立つ色に変更してもよいものとする。
【００４７】
このように前記連携装置１０（前記連携装置１０を備えたソフトウェア開発支援システム）によれば、ブロックとプログラム部品とがリンクされているため、ユーザは例えばマウスなどの外部入力装置で選択するだけでそれぞれの対応関係を視覚的に把握することができる。この点でも編集作業など負担軽減に貢献できる。
【００４８】
≪第２実施形態≫
図７および図８に基づき第２実施形態に係る前記連携装置４０を説明する。この連携装置４０には、図７に示すように、連携領域作成機能部４１が追加されている。
【００４９】
すなわち、前記連携装置１０によれば、プログラム部品を直接選択することで対応するブロックにジャンプすることができるものの、例えばマウスのダブルクリックに別の機能（例えば一般的なテキストエリアの機能であるテキストを選択状態とするなど）を設けたい場合がある。
【００５０】
そこで、前記連携装置４０は、ブロック３１〜３６とプログラム部品３１ｂ〜３６ｂとを連携させる図８の連携領域３１ｃ〜３６ｃを連携領域作成機能部４１で作成することとした。この連携領域３１ｃ〜３６ｃは、プログラム部品作成機能部１４がプログラム部品を作成した後にボタン形式で作成され、それぞれプログラム部品３１ｂ〜３６ｂとリンクされ、プログラム編集画面Ｇに表示されている。
【００５１】
例えばユーザがマウスで連携領域３１ｃのボタンをクリックすれば、該ボタンにリンクされたプログラム部品、即ちテキストエリア３１ｂをプログラム部品選択機能部１８がプログラム部品ＤＢ１５から取得する。
【００５２】
取得されたテキストエリア３１ｂにリンクされたブロック（アクションノード３１）を関連ブロック取得機能部１９がブロックＤＢ１１から取得する。このアクションノード３１はモニタ画面のアクティビティ図Ａ上で強調表示される。この強調表示の方法は第１実施形態と同じでよい。
【００５３】
したがって、前記連携装置４０（前記連携装置４０を備えたソフトウェア開発支援システム）によれば、ブロックとプログラム部品との連携領域３１ｃ〜３６ｃを作成することで、従来のプログラム部品の機能（例えばテキストエリア３１ｂ，３３ｂ，３４ｂ，３６ｂでダブルクリックした場合にテキストを選択状態とするなど）を確保したままブロックとプログラム部品とのリンクを実現することができる。
【００５４】
なお、本発明は上記実施形態に限定されるものではなく、各請求項に記載された範囲内で変形して実施することができる。例えば前記ソフトウェア開発支援システムのシステム構成は、前記ユーザブロック設定装置と前記プログラム自動生成装置と前記連携装置１０，４０とには限定されず、他の装置（手段）を含んでもよく、前記各部１１〜２０あるいは前記各部１１〜２０，４１を実装していればよい。
【符号の説明】
【００５５】
１０，４０…連携装置
１１…ブロックＤＢ（ブロックデータベース）
１２…アクティビティ図取得機能部
１３…アクティビティ図のプログラム構造作成機能部
１４…プログラム部品作成機能部
１５…プログラム部品ＤＢ１５（プログラム部品データベース）
１６…ブロックとプログラム部品の関連付け機能部（関連付け機能部）
１７…プログラム編集画面表示機能部（編集画面表示機能部）
１８…プログラム部品選択機能部
１９…関連ブロック取得機能部
２０…ブロック選択機能部
２１…関連プログラム部品取得機能部
３０…開始ノード
３１，３４，３６…アクションノード
３２…デシジョンノード
３３，３５…ガード
３１ａ〜３６ａ…プログラム構造の要素
３１ｂ，３３ｂ，３４ｂ，３６ｂ…テキストエリア（プログラム部品）
３２ｂ，３５ｂ…ラベル（プログラム部品）
３１ｃ〜３６ｃ…連携領域
４１…連携領域作成機能部
【図１】
2016206962.tif 000003
【図２】
2016206962.tif 000004
【図３】
2016206962.tif 000005
【図４】
2016206962.tif 000006
【図５】
2016206962.tif 000007
【図６】
2016206962.tif 000008
【図７】
2016206962.tif 000009
【図８】
2016206962.tif 000010