JP2012226398A - モデル図作成装置、モデル図作成方法、モデル図作成プログラムおよびモデル図作成用の状態イベント表のデータ構造 - Google Patents

モデル図作成装置、モデル図作成方法、モデル図作成プログラムおよびモデル図作成用の状態イベント表のデータ構造 Download PDF

Info

Publication number
JP2012226398A
JP2012226398A JP2011090521A JP2011090521A JP2012226398A JP 2012226398 A JP2012226398 A JP 2012226398A JP 2011090521 A JP2011090521 A JP 2011090521A JP 2011090521 A JP2011090521 A JP 2011090521A JP 2012226398 A JP2012226398 A JP 2012226398A
Authority
JP
Japan
Prior art keywords
diagram
state
model
event table
creation
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.)
Granted
Application number
JP2011090521A
Other languages
English (en)
Other versions
JP5732992B2 (ja
Inventor
Takeshi Miyazaki
剛 宮崎
Kazuhiro Soyama
和弘 曽山
Kazuhiko Sugino
一彦 杉野
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.)
Fuji Electric Co Ltd
Original Assignee
Fuji Electric Co Ltd
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 Fuji Electric Co Ltd filed Critical Fuji Electric Co Ltd
Priority to JP2011090521A priority Critical patent/JP5732992B2/ja
Publication of JP2012226398A publication Critical patent/JP2012226398A/ja
Application granted granted Critical
Publication of JP5732992B2 publication Critical patent/JP5732992B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

【課題】開発対象のソフトウェアの多様な側面を反映しつつ一貫性のあるオブジェクト指向モデルの生成を実現可能にするモデル図作成装置、モデル図作成方法、モデル図作成プログラムおよびモデル作成用の状態イベント表のデータ構造を提供する。
【解決手段】モデル図における状態およびイベントの組み合わせに応じて定義される関数であってモデル図としての構造図および複数種類の振る舞い図の構成を定める関数が記述された状態イベント表を記憶する記憶部4と、記憶部4が記憶する状態イベント表に基づいて構造図を作成する構造図作成部51と、記憶部4が記憶する状態イベント表に基づいて複数種類の振る舞い図を作成する振る舞い図作成部52と、を備える。
【選択図】図1

Description

本発明は、ソフトウェアのオブジェクト指向モデルを生成する際に必要なモデル図を作成するモデル図作成装置、モデル図作成方法、モデル図作成プログラム、およびモデル図を作成する際に参照する状態イベント表のデータ構造に関する。
従来、ソフトウェアのオブジェクト指向モデルの開発においては、ソースコードを解析することによって各種モデル図を自動的に作成するリバースエンジニアリングが知られている。このリバースエンジニアリングによれば、仕様書と実際の製品との食い違いを検証したり、バグ等の発見を行うことができたりするため、ソフトウェアの生産性を向上させるとともに、システムの保守やセキュリティ強化に役立たせることができる。
このようなリバースエンジニアリング技術の例として、例えば、特許文献1では、ソースコードを解析して自動的にステートマシン図を作成する技術が開示されている。また、特許文献2および3では、ソースコードを解析して自動的にシーケンス図を作成する技術がそれぞれ開示されている。このような従来技術によれば、開発対象のソフトウェアの一側面を反映したオブジェクト指向モデルの生成を実現することができる。
特開2008−198103号公報 特開2004−94496号公報 特開2009−295021号公報
しかしながら、上述した従来技術では、ステートマシン図やシーケンス図等の振る舞い図を個別に作成することは可能であるものの、複数種類の振る舞い図をクラス図等の構造図とともに一括して作成することはできなかった。このため、上述した従来技術では、自動的に作成することができない振る舞い図は手作業で作成せざるを得ず、開発対象のソフトウェアの多様な側面を反映しつつ一貫性のあるオブジェクト指向モデルの生成を実現できているわけではなかった。
本発明は、上記に鑑みてなされたものであって、開発対象のソフトウェアの多様な側面を反映しつつ一貫性のあるオブジェクト指向モデルの生成を実現可能にするモデル図作成装置、モデル図作成方法、モデル図作成プログラムおよびモデル図作成用の状態イベント表のデータ構造を提供することを目的とする。
上述した課題を解決し、目的を達成するために、本発明に係るモデル図作成装置は、統一モデリング言語を用いたソフトウェアのオブジェクト指向モデルを生成する際に必要なモデル図を作成するモデル図作成装置において、モデル図における状態およびイベントの組み合わせに応じて定義される関数であってモデル図としての構造図および複数種類の振る舞い図の構成を定める関数が記述された状態イベント表を記憶する記憶部と、前記記憶部が記憶する状態イベント表に基づいて構造図を作成する構造図作成部と、前記記憶部が記憶する状態イベント表に基づいて複数種類の振る舞い図を作成する振る舞い図作成部と、を備えたことを特徴とする。
また、本発明に係るモデル図作成装置は、上記発明において、前記状態イベント表は、前記複数種類の振る舞い図の構成を定める関数として、ステートマシン図における状態の遷移を定める関数、シーケンス図におけるメッセージの送信条件を定める関数、およびシーケンス図におけるメッセージの送信先を定める関数を含むことを特徴とする。
また、本発明に係るモデル図作成装置は、上記発明において、前記構造図および前記複数種類の振る舞い図を作成するために必要な情報を要素として有し、複数の要素の相互関係をツリー構造で示す要素構成図を作成する要素構成図作成部をさらに備えたことを特徴とする。
また、本発明に係るモデル図作成装置は、上記発明において、前記要素構成図を表示可能な表示部と、前記要素構成図作成部が前記要素構成図に対して要素を追加するごとに前記表示部における表示を切り換えて表示させる表示制御部と、をさらに備えたことを特徴とする。
また、本発明に係るモデル図作成装置は、上記発明において、前記表示部は、前記構造図および前記複数種類の振る舞い図を表示可能であり、前記表示制御部は、前記構造図作成部および前記振る舞い図作成部がそれぞれ作成した前記構造図および前記振る舞い図を作成順に前記表示部に表示させることを特徴とする。
また、本発明に係るモデル図作成装置は、上記発明において、前記表示制御部は、前記要素構成図と前記構造図および前記振る舞い図とを並べて前記表示部に表示させることを特徴とする。
また、本発明に係るモデル図作成装置は、上記発明において、前記構造図は、クラス図であることを特徴とする。
また、本発明に係るモデル図作成方法は、統一モデリング言語を用いたソフトウェアのオブジェクト指向モデルを生成する際に必要なモデル図を作成するモデル図作成方法において、モデル図における状態およびイベントの組み合わせに応じて定義される関数であってモデル図としての構造図および複数種類の振る舞い図の構成を定める関数が記述された状態イベント表を記憶する記憶部から該状態イベント表を参照して構造図を作成する構造図作成ステップと、前記記憶部から前記状態イベント表を参照して複数種類の振る舞い図を作成する振る舞い図作成ステップと、を有することを特徴とする。
また、本発明に係るモデル図作成プログラムは、統一モデリング言語を用いたソフトウェアのオブジェクト指向モデルを生成する際に必要なモデル図を作成するモデル図作成装置に、モデル図における状態およびイベントの組み合わせに応じて定義される関数であってモデル図としての構造図および複数種類の振る舞い図の構成を定める関数が記述された状態イベント表を記憶する記憶部から該状態イベント表を参照して構造図を作成する構造図作成ステップと、前記記憶部から前記状態イベント表を参照して複数種類の振る舞い図を作成する振る舞い図作成ステップと、を実行させることを特徴とする。
また、本発明に係るモデル図作成用の状態イベント表のデータ構造は、統一モデリング言語を用いたソフトウェアのオブジェクト指向モデルを生成する際に必要なモデル図における状態およびイベントの組み合わせに応じて定義される関数であってモデル図としての構造図および複数種類の振る舞い図の構成を定める関数が記述されていることを特徴とする。
また、本発明に係るモデル図作成用の状態イベント表のデータ構造は、上記発明において、前記関数として、ステートマシン図における状態の遷移を定める関数、シーケンス図におけるメッセージの送信条件を定める関数、およびシーケンス図におけるメッセージの送信先を定める関数を含むことを特徴とする。
本発明によれば、構造図および複数種類の振る舞い図の構成を定める関数が状態とイベントとの組み合わせに応じて記述された状態イベント表に基づいて構造図および複数種類の振る舞い図を自動的に作成するため、開発対象のソフトウェアの多様な側面を反映しつつ一貫性のあるオブジェクト指向モデルの生成を実現することが可能となる。
図1は、本発明の一実施の形態に係るモデル図作成装置の機能構成を示すブロック図である。 図2は、状態イベント表の構成例を示す図である。 図3は、状態イベント表の構成例(第2例)を示す図である。 図4は、図2に示す状態イベント表から作成されるクラス図の構成を示す図である。 図5は、図3に示す状態イベント表から作成されるクラス図の構成を示す図である。 図6は、図2に示す状態イベント表から作成されるステートマシン図の構成を示す図である。 図7は、図3に示す状態イベント表から作成されるステートマシン図の構成を示す図である。 図8は、図2および図3に示す状態イベント表から作成されるシーケンス図の構成を示す図である。 図9は、本発明の一実施の形態に係るモデル図作成装置が状態イベント表に基づいてモデル図の作成処理の概要を説明するフローチャートである。 図10は、本発明の一実施の形態に係るモデル図作成装置が行うクラス図の作成処理の概要を説明するフローチャートである。 図11Aは、コンポーネントを追加した要素構成図の表示部における表示例を示す図である。 図11Bは、クラス図、クラス要素を追加した状態における要素構成図の表示部における表示例を示す図である。 図11Cは、各種関数を追加した要素構成図の表示部における表示例を示す図である。 図11Dは、属性を追加した要素構成図の表示部における表示例を示す図である。 図11Eは、クラス図の表示部における表示例を示す図である。 図11Fは、図3に示す状態イベント表に対して一連のクラス図作成処理を終了した要素構成図の表示部における表示例を示す図である。 図12は、本発明の一実施の形態に係るモデル図作成装置が行うステートマシン図の作成処理の概要を説明するフローチャートである。 図13Aは、ステートマシン図の要素を追加した要素構成図の表示部における表示例を示す図である。 図13Bは、状態を追加した要素構成図の表示部における表示例を示す図である。 図13Cは、イベントを追加した要素構成図の表示部における表示例を示す図である。 図13Dは、開始要素を追加した要素構成図の表示部における表示例を示す図である。 図13Eは、状態イベント表に対して一連のステートマシン図作成処理を終了した要素構成図の表示部における表示例を示す図である。 図14は、本発明の一実施の形態に係るモデル図作成装置が行うシーケンス図の作成処理の概要を説明するフローチャートである。 図15Aは、シーケンス図の要素を追加した要素構成図の表示部における表示例を示す図である。 図15Bは、メッセージ終了点の要素を追加した要素構成図の表示部における表示例を示す図である。
以下、添付図面を参照して、本発明を実施するための形態(以下、「実施の形態」という)を説明する。
図1は、本発明の一実施の形態に係るモデル図作成装置の機能構成を示すブロック図である。同図に示すモデル図作成装置1は、統一モデリング言語(UML)を用いてソフトウェアのオブジェクト指向モデルを生成する際に必要となるモデル図を自動的に作成する装置である。同図に示すモデル図作成装置1は、キーボード、マウス、タッチパネル等のインタフェースを用いて実現される入力部2と、液晶または有機EL等からなる表示パネルを有し、各種情報を表示する表示部3と、UMLのモデル図を作成するための情報を含む各種情報を記憶する記憶部4と、モデル図作成装置1の動作を制御する制御部5と、を備える。
記憶部4は、モデル図作成装置1がモデル図を作成する際に参照する状態イベント表を記憶する状態イベント表記億部41と、作成されたモデル図等の情報を記憶する作成情報記憶部42とを有する。状態イベント表は、モデル図における状態とイベントとの関係を示す表であり、状態およびイベントの組み合わせに応じて定義される関数であってモデル図としての構造図および複数種類の振る舞い図の構成を定める関数が記述されたデータ構造を有している。1つのファイル(以下、コンポーネントという)には、複数の状態イベント表を記述することが可能である。状態イベント表の詳細な構成については後述する。
記憶部4は、本実施の形態に係るモデル図作成プログラムや所定のOSを起動するプログラム等が予め記憶されたROM、および各処理の演算パラメータやデータ等を記憶するRAM等を用いて実現される。
制御部5は、状態イベント表記憶部41が記憶する状態イベント表に基づいてモデル図のうちの構造図を作成する構造図作成部51と、状態イベント表記憶部41が記憶する状態イベント表および構造図作成部51が作成した構造図をもとに複数種類の振る舞い図を作成する振る舞い図作成部52と、構造図および前記複数種類の振る舞い図を作成するために必要な情報を要素として有し、複数の要素の相互関係をツリー構造で示す要素構成図を作成する要素構成図作成部53と、表示部3における表示を制御する表示制御部54と、を有する。
本実施の形態では、構造図としてクラス図を例にとる一方、振る舞い図としてステートマシン図およびシーケンス図を例にとって説明するが、これはあくまでも一例に過ぎない。例えば、構造図として、コンポーネント図およびオブジェクト図のいずれかを適用することも可能である。また、振る舞い図として、コミュニケーション図(コラボレーション図)、アクティビティ図、ユースケース図、タイミング図、および相互作用概要図のいずれかを適用することも可能である。
制御部5は、CPU等を用いて実現され、制御対象であるモデル図作成装置1の各構成部位とバスラインを介して接続されている。制御部5は、記憶部4が記憶、格納する情報および本実施の形態に係るモデル図作成プログラムを含む各種プログラムを記憶部4から読み出すことにより、本実施の形態に係るモデル図作成方法に関連した演算処理を実行する。
なお、本実施の形態に係るモデル図作成プログラムは、ハードディスク、フラッシュメモリ、CD−ROM、DVD−ROM、フレキシブルディスク等のコンピュータ読み取り可能な記録媒体に記録して広く流通させることも可能である。
以上の構成を有するモデル図作成装置1は、1つのコンピュータを用いて実現してもよいし、複数のコンピュータを用いて実現してもよい。後者の場合には、インターネット等の通信ネットワークを介してデータの送受信を行いながら、互いに連携して処理を行うようにすることも可能である。
図2は、状態イベント表記憶部41が記憶する状態イベント表の構成例を示す図である。同図に示す状態イベント表100は、モデル図における状態とイベントとの対応関係を与える表である。状態イベント表100は、クラス名、マトリックス、関数テーブルおよび属性テーブルを含む。
クラス名は、表中で[Class_Name]という項目によって示されている。状態イベント表100のクラス名は、項目の右側に記載された ComponentAである。このクラス名は、クラス図およびステートマシン図の名前となる。また、クラス図で記載されるクラス名にもなる。
状態イベント表中のマトリックスは、状態(行)とイベント(列)の対応関係を表す。状態イベント表100において、項目[State]が状態を示し、項目[Event]がイベントを示す。状態イベント表100には、「状態1(STATE1)」、「状態2(STATE2)」という2つの状態が含まれる。「状態1」、「状態2」は日本語の状態名であり、モデル図ではそれぞれ「STATE1」、「STATE2」と表示される。また、状態イベント表100には、「イベント11(E11)」、「イベント12(E12)」という2つのイベントが含まれる。「イベント11」、「イベント12」は日本語の状態名であり、モデル図ではそれぞれ「E11」、「E12」と表示される。以下、マトリックスの要素をセルという。
状態とイベントによって定まるセルの内部は、具体的な状態とイベントとの関係が記載されている。図2において、各セルの内部の具体的な記述は、XML(Extensible Markup Language)形式にしたがって記述されている。
セルに記載される内容について具体的に説明する。セルの記載内容は、以下に示すようなものである。
[f_関数名]
<Action>
<Condition Func="条件関数名">
<Logic>イベント応答関数名</Logic>
<Message>送信先のクラス名@イベント関数名</Message>
<TransitionState>遷移後の状態名</TransitionState>
</Condition>
</Action>
セルの最初の項目[f_関数名]は、応答関数名を与える。
Conditionタグ(<Condition>)は、クラス図の条件関数を定義する。このConditionタグの属性値(条件関数)は、ステートマシン図において遷移のガード条件やシーケンス図においてクラスのライフラインからのメッセージのガード条件を与える。
Logicタグ(<Logic>)は、ステートマシン図における遷移のアクション名を定義する。
Messageタグ(<Message>)は、「送信先のクラス名@イベント関数名」という形式で記述される。このうち、送信先のクラス名は、シーケンス図におけるクラスのライフラインからのメッセージの送信先を与える。また、イベント関数名は、シーケンス図におけるクラスのライフラインからのメッセージ名を与える。なお、イベント関数に引数がある場合には、イベント関数名(引数1,引数2,・・・)と記載する。
TransitionStateタグ(<TransitionState>)は、ステートマシン図における遷移先の状態を定義する。
なお、1つのセルの中に、ConditionタグとMessageタグは複数記述してもよい。また、1つのセルの中で、Conditionタグ、Logicタグ、Messageタグ、TransitionStateタグは省略可能である。
図2に示す状態イベント表100において、状態1およびイベント11の組み合わせに対応するセルには、応答関数[f_Action11]が定義されている。この応答関数[f_Action11]の内容を説明する。Conditionタグにおける条件関数はConditon11である。Logicタグで定義される遷移のアクション名はAction11である。Messegeタグで定義される送信先のクラス名はComponentBであり、イベント関数名はイベント21である。TransitionStateタグで定義される遷移先の状態は状態2である。
状態1およびイベント12の組み合わせに対応するセルには、応答関数[f_Non]が定義されている。この応答関数[f_Non]は、いかなる処理も行わないこと(無処理)を意味する。
状態2およびイベント11の組み合わせに対応するセルには、応答関数[f_Action13]が定義されている。この応答関数[f_Action13]の内容を説明する。Logicタグで定義される遷移のアクション名はAction13である。Messageタグで定義される送信先のクラス名はComponentBであり、イベント関数名はイベント22である。
状態2およびイベント12の組み合わせに対応するセルには、応答関数[f_Action12]が定義されている。この応答関数[f_Action12]の内容を説明する。Conditionタグにおける条件関数はConditon12である。Logicタグで定義される遷移のアクション名はAction12である。Messageタグで定義される送信先のクラス名はComponentBであり、イベント関数名はイベント22である。TransitionStateタグで定義される遷移先の状態は状態1である。
状態イベント表100では、関数テーブルとして、3種類の関数[Func_Logic]、[Func_Condition]、[Func_Interface]が記述されている。各関数には、関数名([Func_Name])、関数の中身であるソースコード([Func_Code])、Includeファイル名([Func_Include])、および関数を説明するコメント([Func_Comment])が記載されている(図2では、関数名以外は省略)。ソースコードは、例えばC、C++、Java(登録商標)等のプログラミング言語を用いて記述されている。
関数[Func_Logic]は、ステートマシン図におけるイベント応答関数であり、ステートマシン図における遷移のアクションを与える関数である。状態イベント表100では、具体的な関数として、Action11(),Action12(),Action13()が定義されている。ここで、各関数の横に記載されている()は、引数なしを意味している。
関数[Func_Condition]は、ステートマシン図における遷移の条件およびシーケンス図におけるメッセージの条件を与える関数である。状態イベント表100では、具体的な条件関数として、Condition11(),Condition12()が定義されている。
関数[Func_Interface]は、他のクラスから利用される関数である。状態イベント表100では、具体的な関数として、戻り値がint型であるGet(),戻り値がboolean型であるSet(int)が定義されている。ここで、Setの引数は整数(intと記載)である。
なお、状態イベント表で定義される関数は、上述したものに限られるわけではない。
属性テーブルには、クラス図における属性が定義される。属性テーブルには、属性名([Attr_Name])、属性の型([Attr_Type])、初期値([Attr_Ini])、属性を説明するコメント([Attr_Comment])が記述されている(図2では属性名、属性の型以外は省略)。状態イベント表100では、具体的な属性として、属性名attrが記載されている。
図3は、状態イベント表記憶部41が記憶する別な状態イベント表の構成例を示す図である。同図に示す状態イベント表200は、クラス名([Class_Name])がComponentBである。状態イベント表200には、「状態3(STATE3)」、「状態4(STATE4)」、「状態5(STATE5)」という3つの状態が含まれる。また、状態イベント表200には、「イベント21(E21)」、「イベント22(E22)」という2つのイベントが含まれる。
状態3およびイベント21の組み合わせに対応するセルには、応答関数[f_Action21]が定義されている。この応答関数[f_Action21]において、Logicタグで定義される遷移のアクション名はAction21であり、TransitionStateタグで定義される遷移先の状態は状態4である。
状態3およびイベント22の組み合わせに対応するセルには、応答関数[f_Action24]が定義されている。この応答関数[f_Action24]において、Logicタグで定義される遷移のアクション名はAction24であり、TransitionStateタグで定義される遷移先の状態は状態5である。
状態4およびイベント21の組み合わせに対応するセルには、応答関数[f_Action22]が定義されている。この応答関数[f_Action22]において、Logicタグで定義される遷移のアクション名はAction22であり、TransitionStateタグで定義される遷移先の状態は状態5である。
状態4およびイベント22の組み合わせに対応するセルには、応答関数[f_Action26]が定義されている。この応答関数[f_Action26]において、Logicタグで定義される遷移のアクション名はAction26であり、TransitionStateタグで定義される遷移先の状態は状態3である。
状態5およびイベント21の組み合わせに対応するセルには、応答関数[f_Action23]が定義されている。この応答関数[f_Action23]において、Logicタグで定義される遷移のアクション名はAction23であり、TransitionStateタグで定義される遷移先の状態は状態3である。
状態5およびイベント22の組み合わせに対応するセルには、応答関数[f_Action25]が定義されている。この応答関数[f_Action25]において、Logicタグで定義される遷移のアクション名はAction25であり、TransitionStateタグで定義される遷移先の状態は状態4である。
以上説明した応答関数[f_Action21]〜[f_Action26]には、ConditionタグやMessageタグは存在しない。
次に、モデル図作成装置1が、状態イベント表100、200に基づいてそれぞれ作成するクラス図、ステートマシン図およびシーケンス図の構成を説明する。
図4は、状態イベント表100から作成されるクラス図の構成を示す図である。同図に示すクラス図300は、最上部にクラス名ComponentAが記載されている。クラス名の下方には、属性名attrを有する属性に関する情報が追加されている。
属性の下方には、他のクラスから利用される関数(関数名Get, Set)が追加されている。ここで、関数Get()の右側に記載されたintは、戻り値がint型であることを意味する。また、関数Set(int)の右側に記載されたbooleanは、戻り値が真偽値(true or false)であることを意味する。これらの引数と戻り値については、以下に示す関数においても同様に定められる。
他のクラスから利用される関数の下方には、イベント関数(E11,E12)、条件関数(Condition11,Condition12)、イベント応答関数(Action11,Action12,Action13)が追加されている。
イベント関数には、ステレオタイプ<<Event>>が設定されている。イベント関数のスコープは、全ての場所からアクセス可能なパブリックである。イベント関数は引数がなく、その戻り値はvoidである。
条件関数には、ステレオタイプ<<Guard>>が設定されている。条件関数のスコープは、自身のクラス内からのみアクセス可能なプライベートである。条件関数は引数がなく、その戻り値はbooleanである。
イベント応答関数には、ステレオタイプ<<Action>>が設定されている。イベント応答関数のスコープは、プライベートである。イベント応答関数は引数がなく、戻り値はvoidである。
図5は、状態イベント表200から作成されるクラス図の構成を示す図である。同図に示すクラス図400は、最上部にクラス名ComponentBが記載されている。クラス名の下方には、属性が追加されるが、このクラスには属性がないため、何も記載されていない。属性の下方には、項目<<Event>>において、2つのイベント関数(関数名E21, E22)が記載されている。また、項目<<Action>>において、6つのイベント応答関数(関数名Action21, Action22, Action23, Action24, Action25, Action26)が記載されている。
図6は、状態イベント表100から作成されるステートマシン図を示す図である。同図に示すステートマシン図500は、状態1(STATE1)と状態2(STATE2)との間の遷移を示す図である。
状態1から状態2への遷移は、イベントE11をトリガとし、条件Condition11の下でアクション名Action11で遷移する。この遷移は、状態イベント表100の状態1およびイベント11の組み合わせに対応するセルのConditionタグおよびLogicタグに記載されている。
状態2から状態1への遷移は、イベントE12をトリガとし、条件Condition12の下でアクション名Action12で遷移する。この遷移は、状態イベント表100の状態2およびイベント12の組み合わせに対応するセルのConditionタグおよびLogicタグに記載されている。
状態2から状態2への遷移は、イベントE11をトリガとし、無条件でアクション名Action13で遷移する。この遷移は、状態イベント表100の状態2およびイベント11の組み合わせに対応するセルのLogicタグに記載されている。
ステートマシン図500の初期状態は、状態イベント表100のマトリックスに含まれる状態の中で一番上に位置する状態1である。
図7は、状態イベント表200から作成されるステートマシン図の構成を示す図である。同図に示すステートマシン図600は、状態3(STATE3)、状態4(STATE4)および状態5(STATE5)の間の相互の遷移を示す図である。
状態3から状態4への遷移は、イベントE21をトリガとし、アクション名Action21で遷移する。この遷移は、状態イベント表200の状態3およびイベント21の組み合わせに対応するセルのLogicタグに記載されている。
状態4から状態5への遷移は、イベントE21をトリガとし、アクション名Action22で遷移する。この遷移は、状態イベント表200の状態4およびイベント21の組み合わせに対応するセルのLogicタグに記載されている。
状態5から状態3への遷移は、イベントE21をトリガとし、アクション名Action23で遷移する。この遷移は、状態イベント表200の状態5およびイベント21の組み合わせに対応するセルのLogicタグに記載されている。
状態3から状態5への遷移は、イベントE22をトリガとし、アクション名Action24で遷移する。この遷移は、状態イベント表200の状態3およびイベント22の組み合わせに対応するセルのLogicタグに記載されている。
状態5から状態4への遷移は、イベントE22をトリガとし、アクション名Action25で遷移する。この遷移は、状態イベント表200の状態5およびイベント22の組み合わせに対応するセルのLogicタグに記載されている。
状態4から状態3への遷移は、イベントE22をトリガとし、アクション名Action26で遷移する。この遷移は、状態イベント表200の状態4およびイベント22との組み合わせに対応するセルのLogicタグに記載されている。
ステートマシン図600の初期状態は、状態イベント表200のマトリックスに含まれる状態の中で一番上に位置する状態3である。
図8は、状態イベント表100および200から作成されるシーケンス図の構成を示す図である。同図に示すシーケンス図700は、クラス名ComponentAからクラス名ComponentBへのメッセージの流れを与える図である。
状態1およびイベント11の組み合わせに関連するメッセージとして、イベント21が条件Condition11の下でクラス名ComponentBへ送信される。このメッセージ送信については、状態イベント表100の状態1およびイベント11の組み合わせに対応するセルのMessageタグに記載されている。
状態2およびイベント11の組み合わせに関連するメッセージとして、イベント22が無条件でクラス名ComponentBへ送信される。このメッセージ送信については、状態イベント表100の状態2およびイベント11の組み合わせに対応するセルのMessageタグに記載されている。
状態2およびイベント12の組み合わせに関連するメッセージとして、イベント22が条件Condition12の下でクラス名ComponentBへ送信される。このメッセージ送信については、状態イベント表100の状態2およびイベント12の組み合わせに対応するセルのMessageタグに記載されている。
図9は、本実施の形態に係るモデル図作成方法における処理の概要を説明するフローチャートである。モデル図作成装置1は、入力部2によってモデル図の作成指示信号が入力されると(ステップS1:Yes),クラス図(ステップS2)、ステートマシン図(ステップS3)、シーケンス図(ステップS4)を順次作成する。モデル図の作成指示信号が入力されない場合(ステップS1:No)、モデル図作成装置1は、ステップS1を繰り返す。なお、ステートマシン図とシーケンス図の作成順を逆にしてもよい。以下、ステップS2〜S4の処理を詳細に説明する。
図10は、モデル図作成装置1が行うクラス図の作成処理(ステップS2)の概要を説明するフローチャートである。モデル図作成装置1の記憶部4には、入力部2による入力によってモデル図用のフォルダが予め生成されているものとする。以下、このフォルダのフォルダ名をArchitectureとする。
まず、要素構成図作成部53は、状態イベント表が記載された全てのコンポーネントを要素構成図に追加する(ステップS11)。一例として、コンポーネント名Componentというコンポーネントに、図2に示す状態イベント表100および図3に示す状態イベント表200が個別の領域に記載されている場合を説明する。図11Aは、表示部3が表示制御部54の制御のもとでコンポーネントを追加した要素構成図を表示する場合の表示例を示す図である。図11Aに示す要素構成図801では、破線で囲んだ領域(以下、破線領域という)に示すように、Componentの下層構造として、2つの状態イベント表に対応するコンポーネント(ComponentA,ComponentB)が記述されている。なお、破線領域は追加された箇所を明記するために便宜的に設けたものに過ぎず、表示部3で実際に表示されない。
モデル図作成装置1は、以下に説明するステップS12〜S16の処理を全ての状態イベント表に対して行う。まず、ステップS12において、構造図作成部51および要素構成図作成部53は、クラス図、クラス要素を追加する(ステップS12)。この際、構造図作成部51は、クラス図にクラス要素を追加する処理を行う。また、要素構成図作成部53は、要素構成図に対してクラス図、クラス要素を追加する。例えば、状態イベント表100に対して処理を行う場合、ComponentAというクラス図、クラス要素を追加する。図11Bは、要素構成図作成部53がクラス図、クラス要素を追加した要素構成図の表示部3における表示例を示す図である。図11Bに示す要素構成図802では、図11Aに示す要素構成図801に対し、異なるアイコンを有するクラス図とクラス要素が追加されている(破線領域を参照)。
その後、構造図作成部51および要素構成図作成部53は、各種関数をクラス図および要素構成図に対して追加する(ステップS13)。例えば、状態イベント表100に対して処理を行う場合、各種関数としては、イベント関数E11,E12,条件関数Condition11,Condition12,イベント応答関数Action11,Action12,Action13,および他クラスから利用される関数Get,Setが追加される。図11Cは、各種関数を追加した要素構成図の表示部3における表示例を示す図である。図11Cに示す要素構成図803では、図11Bに示す要素構成図802に対し、上述した各種関数が追加されている(破線領域を参照)。
続いて、構造図作成部51および要素構成図作成部53は、属性を追加する(ステップS14)。例えば、状態イベント表100の場合、属性attrが追加される。図11Dは、属性を追加した要素構成図の表示部3における表示例を示す図である。図11Dに示す要素構成図804では、図11Cに示す要素構成図803に対し、属性attrが追加されている(破線領域を参照)。
この後、表示制御部54は、構造図作成部51が作成したクラス図を表示部3に表示させる(ステップS15)。図11Eは、表示部3におけるクラス図の表示例を示す図である。同図に示す表示画面805は、状態イベント表100に基づいて構造図作成部51が作成したクラス図300を表示するクラス図表示領域806と、要素構成図作成部53が作成した要素構成図804とを並べて表示している。クラス図表示領域806の最上部には、クラス図名(ComponentA)が表示されている。
構造図作成部51は、作成したクラス図を作成情報記憶部42に記憶させる(ステップS16)。なお、モデル図作成装置1は、ステップS16の処理を、ステップS15の前に行ってもよいし、ステップS15と並行して行ってもよい。
モデル図作成装置1は、以上説明したステップS12〜S16の処理を全ての状態イベント表に対して行う。図11Fは、要素構成図作成部53が状態イベント表200に対してステップS14までの処理を終了した要素構成図の表示部3における表示例を示す図である。図11Fに示す要素構成図807は、図11Dに示す要素構成図804に対し、ComponentBに関するクラス図のツリー構造が追加されている(破線領域を参照)。なお、この場合にも、ステップS15において、要素構成図807とクラス図400が表示部3で並列表示される。
モデル図作成装置1は、全ての状態イベント表に対してクラス図の作成処理が終了した場合、図9に示すメインルーチンへ戻る。
次に、ステートマシン図の作成処理(ステップS3)について説明する。図12は、モデル図作成装置1が行うステートマシン図の作成処理の概要を説明するフローチャートである。このステートマシン図の作成処理についても、全ての状態イベント表に対して繰り返し処理を行う。
まず、振る舞い図作成部52および要素構成図作成部53は、ステートマシン図を追加する(ステップS21)。具体的には、振る舞い図作成部52は、クラス図と同じ名称のステートマシン図の作成を開始する。一方、要素構成図作成部53は、要素構成図のクラス図の要素の下層にステートマシン図の要素を追加する。図13Aは、ステートマシン図の要素を追加した要素構成図の表示部3における表示例を示す図である。図13Aに示す要素構成図811では、図11Fに示す要素構成図807に対し、クラス図の要素の下層にComponentAのステートマシン図の要素が追加されている(破線領域を参照)。
続いて、振る舞い図作成部52および要素構成図作成部53は、ステートマシン図に必要な全ての状態を追加する(ステップS22)。例えば、状態イベント表100に対して処理を行う場合、状態1(STATE1)および状態2(STATE2)が追加される。図13Bは、状態イベント表100に対して状態を追加した要素構成図の表示部3における表示例を示す図である。図13Bに示す要素構成図812では、図13Aに示す要素構成図811に対し、2つの状態の要素STATE1, STATE2が追加されている(破線領域を参照)。
この後、振る舞い図作成部52および要素構成図作成部53は、状態イベント表のイベント名から、クラスの下のトリガ要素として、ステートマシン図に必要な全てのイベントを追加する(ステップS23)。例えば、状態イベント表100の場合には、イベントE11,E12を追加する。図13Cは、イベントを追加した要素構成図の表示部3における表示例を示す図である。図13Cに示す要素構成図813は、図13Bに示す要素構成図812に対し、2つのイベントが追加されている(破線領域を参照)。
続いて、振る舞い図作成部52は、ステートマシン図に必要な全ての遷移を追加する(ステップS24)。例えば、状態イベント表100に対して処理を行う場合、状態1から状態2への遷移と、状態2から状態1への遷移が追加される。この処理は、状態イベント表においてTransitionStateタグが記載されたセルに対応する状態を遷移元状態(ソース)とし、TransitionStateタグの内容を遷移先状態(ターゲット)として遷移を追加することに相当する。この処理は、要素構成図には反映されない。
この後、振る舞い図作成部52は、ステップS24で追加した遷移に対して、イベント名、条件、およびアクションを追加する(ステップS25)。例えば、状態イベント表100に対して処理を行う場合、まず状態1から状態2への遷移に対し、イベント名E11,条件名Condition11,アクションAction11を追加する。この処理では、状態イベント表においてTransitionStateタグが記載されたセルに対応するイベント名を名前とする遷移のトリガを追加する。また、状態イベント表においてConditionタグが記載されたセルがある場合、Conditionタグの属性名Funcの値をガード関数名として遷移のガードを追加する。また、Logicタグの内容をアクションにする。この処理も、要素構成図には反映されない。
続いて、振る舞い図作成部52および要素構成図作成部53は、開始要素を追加する(ステップS26)。具体的には、モデル図作成装置1は、状態イベント表の一番上の状態を初期状態として、開始要素から初期状態への遷移を追加する。例えば、状態イベント表100に対して処理を行う場合、初期状態はSTATE1である。図13Dは、開始要素を追加した要素構成図の表示部3における表示例を示す図である。図13Dに示す要素構成図814は、図13Cに示す要素構成図813に対し、開始要素が追加されている(破線領域を参照)。
この後、表示制御部54は、振る舞い図作成部52が作成したステートマシン図を表示部3に表示させる(ステップS27)。例えば、状態イベント表100に対して、表示制御部54は、図6に示すステートマシン図500を要素構成図814とともに表示部3に並列表示させる。
振る舞い図作成部52は、作成したステートマシン図を作成情報記憶部42に記憶させる(ステップS28)。なお、モデル図作成装置1は、ステップS28の処理を、ステップS27の前に行ってもよいし、ステップS27と並行して行ってもよい。
モデル図作成装置1は、以上説明したステップS21〜S28の処理を全ての状態イベント表に対して行う。図13Eは、状態イベント表200に対して一連のステートマシン図作成処理(ステップS21〜S28の処理)を終了した要素構成図の表示部3における表示例を示す図である。同図に示す要素構成図815は、図13Dに示す要素構成図814に対し、ComponentBに関するステートマシン図のツリー構造が追加されている(破線領域を参照)。なお、この場合にも、表示制御部54は、要素構成図815およびステートマシン図600を表示部3で並列表示させる。
モデル図作成装置1は、全ての状態イベント表に対してステートマシン図の作成処理を終了した場合、図9に示すメインルーチンへ戻る。
次に、シーケンス図の作成処理(ステップS4)について説明する。図14は、モデル図作成装置1が行うシーケンス図の作成処理の概要を説明するフローチャートである。シーケンス図作成処理についても、全ての状態イベント表に対して繰り返し処理を行う。
まず、制御部5は、状態イベント表にMessageタグの記述の有無を確認する(ステップS31)。状態イベント表にMessageタグの記述がある場合(ステップS31:Yes)、制御部5はステップS32へ移行する。一方、状態イベント表にMessageタグの記述がない場合(ステップS31:No)、制御部5は他の状態イベント表に対する処理へ移行する。例えば、状態イベント表100はMessageタグの記述がある場合であり、状態イベント表200はMessageタグの記述がない場合に相当する。
ステップS32において、振る舞い図作成部52および要素構成図作成部53は、シーケンス図を追加する(ステップS32)。ここで、振る舞い図作成部52は、所定の名称を有するシーケンス図の作成を開始し、要素構成図作成部53は、要素構成図のコンポーネントの要素の下層に上述した名称を要素名とするシーケンス図の要素を追加する。図15Aは、シーケンス図の要素を追加した要素構成図の表示部3における表示例を示す図である。図15Aに示す要素構成図821は、図13Eに示す要素構成図815に対し、シーケンス図の要素が追加されている(破線領域を参照)。本実施の形態では、シーケンス図の名称をComponentCとして新たに生成しているが、名称の設定の仕方は任意である。
続いて、振る舞い図作成部52は、状態イベント表における送信元のクラスをシーケンス図に追加する(ステップS33)。例えば、状態イベント表100に対して処理を行う場合には、クラス名ComponentAのクラスが追加される。この処理は、要素構成図の記載には反映されない。
この後、振る舞い図作成部52および要素構成図作成部53は、メッセージ終了点の要素を追加する(ステップS34)。図15Bは、メッセージ終了点の要素を追加した要素構成図の表示部3における表示例を示す図である。図15Bに示す要素構成図822は、図15Aに示す要素構成図821に対し、3つのメッセージ終了点(黒丸で表示)が追加されている(破線領域を参照)。
続いて、振る舞い図作成部52は、メッセージ終了点からステップS33で追加した送信元のクラスへのメッセージを追加する(ステップS35)。ここでのメッセージ名は、「状態名/イベント名(引数)」の形式で記述する。例えば、状態イベント表100に対して処理を行う場合には、3つのセルにMessageタグが記述されている。このため、振る舞い図作成部52は、3つのメッセージを追加する。各メッセージのメッセージ名は、「STATE1/E11()」、「STATE2/E11()」、「STATE2/E12()」である。この処理は、要素構成図の記載には反映されない。
この後、振る舞い図作成部52は、送信先のクラス名に対応するクラスをシーケンス図に追加する(ステップS36)。例えば、状態イベント表100の場合、送信先のクラス名はComponentBである。この処理も要素構成図の記載には反映されない。なお、状態イベント表で送信先のクラスが指定されていない場合には、送信先のクラス名を既存資産(レガシー)とすることも可能である。
続いて、振る舞い図作成部52は、送信先のクラスへのメッセージを追加する(ステップS37)。ここでのメッセージ名は、「[条件]:イベント名(引数)」の形式で記述する。条件がない場合には、「イベント名(引数)」のみ記載する。例えば、状態イベント表100に対して処理を行う場合、3つのセルにMessageタグが記述されている。このため、振る舞い図作成部52は、3つのセルに対応して「[Condition11]:E21()」、「E22()」、「[Condition12]:E22()」という3つのメッセージを対応する箇所に追加する。この処理も要素構成図の記載には反映されない。
この後、表示制御部54は、振る舞い図作成部52が作成したシーケンス図を表示部3に表示させる(ステップS38)。例えば、状態イベント表100に対しては、図8に示すシーケンス図700が、図15Bに示す要素構成図822とともに表示される。
振る舞い図作成部52は、作成したシーケンス図を作成情報記憶部42に記憶させる(ステップS39)。なお、モデル図作成装置1は、ステップS39の処理を、ステップS38の前に行ってもよいし、ステップS38と並行して行ってもよい。
モデル図作成装置1が全ての状態イベント表に対してシーケンス図の作成処理を終了した場合、要素構成図作成部53は、要素構成図を作成情報記憶部42に記憶させる(ステップS40)。その後、モデル図作成装置1は、図9に示すメインルーチンへ戻る。
以上説明した本発明の一実施の形態によれば、モデル図としての構造図および複数種類の振る舞い図の構成を定める関数が状態およびイベントの組み合わせに応じて記述された状態イベント表に基づいて構造図および複数種類の振る舞い図を自動的に作成するため、開発対象のソフトウェアの多様な側面を反映しつつ一貫性のあるオブジェクト指向モデルの生成を実現することが可能となる。
また、本実施の形態によれば、状態イベント表において、ステートマシン図における状態の遷移を定める関数、シーケンス図におけるメッセージの送信条件を定める関数、およびシーケンス図におけるメッセージの送信先を定める関数を記述することができるため、少なくとも2つの振る舞い図を自動的に作成することが可能となる。
また、本実施の形態によれば、構造図および複数種類の振る舞い図を作成するために必要な情報を要素として有し、複数の要素の相互関係をツリー構造で示す要素構成図を作成して表示部で表示するため、ユーザは状態イベント表から各種モデル図を作成するための情報を容易に認識することができる。
また、本実施の形態によれば、要素構成図に対して要素を追加するごとに表示部における表示を切り換えて表示するため、ユーザは、モデル図作成処理の進捗状況をリアルタイムで的確に把握することができる。
また、本実施の形態によれば、要素構成図とモデル図とを並列で表示するため、ユーザは1つの画面を見ることによって多様な情報を得ることができる。
なお、本発明において、構造図作成部および振る舞い図作成部に対し、作成したモデル図の整合性をチェックする機能を具備させてもよい。この場合には、構造図作成部および振る舞い図作成部のチェック結果を表示部に表示させるようにすればより好ましい。
本発明は、再利用可能なソフトウェアの部品であるドメインを開発するドメインエンジニアリングと、そのドメインを用いることによって製品であるソフトウェアを開発するアプリケーションエンジニアリングとを含むプロダクトライン型のソフトウェア開発において、プロダクトライン用のアーキテクチャ(コンポーネント図)を設計するために必要なモデル図を作成する際にも有用である。
1 モデル図作成装置
2 入力部
3 表示部
4 記憶部
5 制御部
41 状態イベント表記憶部
42 作成情報記憶部
51 構造図作成部
52 振る舞い図作成部
53 要素構成図作成部
54 表示制御部
100、200 状態イベント表
300、400 クラス図
500、600 ステートマシン図
700 シーケンス図
801、802、803、804、807、811、812、813、814、815、821、822 要素構成図
805 表示画面
806 クラス図表示領域

Claims (11)

  1. 統一モデリング言語を用いたソフトウェアのオブジェクト指向モデルを生成する際に必要なモデル図を作成するモデル図作成装置において、
    モデル図における状態およびイベントの組み合わせに応じて定義される関数であってモデル図としての構造図および複数種類の振る舞い図の構成を定める関数が記述された状態イベント表を記憶する記憶部と、
    前記記憶部が記憶する状態イベント表に基づいて構造図を作成する構造図作成部と、
    前記記憶部が記憶する状態イベント表に基づいて複数種類の振る舞い図を作成する振る舞い図作成部と、
    を備えたことを特徴とするモデル図作成装置。
  2. 前記状態イベント表は、
    前記複数種類の振る舞い図の構成を定める関数として、ステートマシン図における状態の遷移を定める関数、シーケンス図におけるメッセージの送信条件を定める関数、およびシーケンス図におけるメッセージの送信先を定める関数を含むことを特徴とする請求項1に記載のモデル図作成装置。
  3. 前記構造図および前記複数種類の振る舞い図を作成するために必要な情報を要素として有し、複数の要素の相互関係をツリー構造で示す要素構成図を作成する要素構成図作成部をさらに備えたことを特徴とする請求項1または2に記載のモデル図作成装置。
  4. 前記要素構成図を表示可能な表示部と、
    前記要素構成図作成部が前記要素構成図に対して要素を追加するごとに前記表示部における表示を切り換えて表示させる表示制御部と、
    をさらに備えたことを特徴とする請求項3に記載のモデル図作成装置。
  5. 前記表示部は、
    前記構造図および前記複数種類の振る舞い図を表示可能であり、
    前記表示制御部は、
    前記構造図作成部および前記振る舞い図作成部がそれぞれ作成した前記構造図および前記振る舞い図を作成順に前記表示部に表示させることを特徴とする請求項4に記載のモデル図作成装置。
  6. 前記表示制御部は、
    前記要素構成図と前記構造図および前記振る舞い図とを並べて前記表示部に表示させることを特徴とする請求項5に記載のモデル図作成装置。
  7. 前記構造図は、クラス図であることを特徴とする請求項1〜6のいずれか一項に記載のモデル図作成装置。
  8. 統一モデリング言語を用いたソフトウェアのオブジェクト指向モデルを生成する際に必要なモデル図を作成するモデル図作成方法において、
    モデル図における状態およびイベントの組み合わせに応じて定義される関数であってモデル図としての構造図および複数種類の振る舞い図の構成を定める関数が記述された状態イベント表を記憶する記憶部から該状態イベント表を参照して構造図を作成する構造図作成ステップと、
    前記記憶部から前記状態イベント表を参照して複数種類の振る舞い図を作成する振る舞い図作成ステップと、
    を有することを特徴とするモデル図作成方法。
  9. 統一モデリング言語を用いたソフトウェアのオブジェクト指向モデルを生成する際に必要なモデル図を作成するモデル図作成装置に、
    モデル図における状態およびイベントの組み合わせに応じて定義される関数であってモデル図としての構造図および複数種類の振る舞い図の構成を定める関数が記述された状態イベント表を記憶する記憶部から該状態イベント表を参照して構造図を作成する構造図作成ステップと、
    前記記憶部から前記状態イベント表を参照して複数種類の振る舞い図を作成する振る舞い図作成ステップと、
    を実行させることを特徴とするモデル図作成プログラム。
  10. 統一モデリング言語を用いたソフトウェアのオブジェクト指向モデルを生成する際に必要なモデル図における状態およびイベントの組み合わせに応じて定義される関数であってモデル図としての構造図および複数種類の振る舞い図の構成を定める関数が記述されていることを特徴とするモデル図作成用の状態イベント表のデータ構造。
  11. 前記関数として、ステートマシン図における状態の遷移を定める関数、シーケンス図におけるメッセージの送信条件を定める関数、およびシーケンス図におけるメッセージの送信先を定める関数を含むことを特徴とする請求項10に記載のモデル図作成用の状態イベント表のデータ構造。
JP2011090521A 2011-04-14 2011-04-14 モデル図作成装置、モデル図作成方法、およびモデル図作成プログラム Expired - Fee Related JP5732992B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011090521A JP5732992B2 (ja) 2011-04-14 2011-04-14 モデル図作成装置、モデル図作成方法、およびモデル図作成プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011090521A JP5732992B2 (ja) 2011-04-14 2011-04-14 モデル図作成装置、モデル図作成方法、およびモデル図作成プログラム

Publications (2)

Publication Number Publication Date
JP2012226398A true JP2012226398A (ja) 2012-11-15
JP5732992B2 JP5732992B2 (ja) 2015-06-10

Family

ID=47276533

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011090521A Expired - Fee Related JP5732992B2 (ja) 2011-04-14 2011-04-14 モデル図作成装置、モデル図作成方法、およびモデル図作成プログラム

Country Status (1)

Country Link
JP (1) JP5732992B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014153783A (ja) * 2013-02-05 2014-08-25 Fuji Electric Co Ltd オブジェクト指向プログラム生成装置、オブジェクト指向プログラム生成方法およびオブジェクト指向プログラム生成用プログラム
JP2014222482A (ja) * 2013-05-14 2014-11-27 富士電機株式会社 オブジェクト指向プログラム生成装置、オブジェクト指向プログラム生成方法、およびオブジェクト指向プログラム生成用プログラム
JP2015026139A (ja) * 2013-07-24 2015-02-05 富士電機株式会社 プログラム生成装置、プログラム生成方法、およびプログラム生成用プログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07168712A (ja) * 1993-12-15 1995-07-04 Hitachi Ltd メッセージシーケンス生成装置
JPH11232085A (ja) * 1998-02-18 1999-08-27 Fujitsu Ltd 処理シーケンス自動生成方法および装置並びに処理シーケンス生成プログラムを記録した記憶媒体
US6182024B1 (en) * 1997-10-14 2001-01-30 International Business Machines Corporation Modeling behaviors of objects associated with finite state machines and expressing a sequence without introducing an intermediate state with the arc language
JP2008198103A (ja) * 2007-02-15 2008-08-28 Nec Corp 状態遷移図作成装置および状態遷移図作成方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07168712A (ja) * 1993-12-15 1995-07-04 Hitachi Ltd メッセージシーケンス生成装置
US6182024B1 (en) * 1997-10-14 2001-01-30 International Business Machines Corporation Modeling behaviors of objects associated with finite state machines and expressing a sequence without introducing an intermediate state with the arc language
JPH11232085A (ja) * 1998-02-18 1999-08-27 Fujitsu Ltd 処理シーケンス自動生成方法および装置並びに処理シーケンス生成プログラムを記録した記憶媒体
JP2008198103A (ja) * 2007-02-15 2008-08-28 Nec Corp 状態遷移図作成装置および状態遷移図作成方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014153783A (ja) * 2013-02-05 2014-08-25 Fuji Electric Co Ltd オブジェクト指向プログラム生成装置、オブジェクト指向プログラム生成方法およびオブジェクト指向プログラム生成用プログラム
JP2014222482A (ja) * 2013-05-14 2014-11-27 富士電機株式会社 オブジェクト指向プログラム生成装置、オブジェクト指向プログラム生成方法、およびオブジェクト指向プログラム生成用プログラム
JP2015026139A (ja) * 2013-07-24 2015-02-05 富士電機株式会社 プログラム生成装置、プログラム生成方法、およびプログラム生成用プログラム

Also Published As

Publication number Publication date
JP5732992B2 (ja) 2015-06-10

Similar Documents

Publication Publication Date Title
US9792354B2 (en) Context aware user interface parts
US8984489B2 (en) Quality on submit process
US20080010082A1 (en) System and method for business process management
Beaton et al. Usability challenges for enterprise service-oriented architecture APIs
US12079605B2 (en) Composable context menus
WO2014028655A1 (en) User interface control framework for stamping out controls using a declarative template
WO2011150777A1 (zh) Web应用的开发装置及其开发方法
US20110161920A1 (en) Graphical development tool for compensation actions and compensation scope in a process flow environment
US20120005603A1 (en) Application development supporting apparatus, program, and recording medium
WO2022135478A1 (zh) 任务的编排方法和编排装置
US20080155406A1 (en) Gui generation apparatus and method for generating gui
JP5732992B2 (ja) モデル図作成装置、モデル図作成方法、およびモデル図作成プログラム
US20090248740A1 (en) Database form and report creation and reuse
JP2015026139A (ja) プログラム生成装置、プログラム生成方法、およびプログラム生成用プログラム
Barboni et al. Bridging the gap between a behavioural formal description technique and a user interface description language: Enhancing ICO with a graphical user interface markup language
US20130138575A1 (en) Automated implementation of business service communication and/or linkage of executable processes through automatic generation and population of variables
JP5929297B2 (ja) モデル図作成装置、モデル図作成方法、およびモデル図作成プログラム
US9842011B2 (en) Delegating a status visualization task to a source application by a target application
JP2013235508A (ja) オブジェクト指向プログラム生成装置、その方法、プログラム
JP2012048329A (ja) オブジェクト指向プログラム生成装置、その方法、プログラム
JP5644599B2 (ja) オブジェクト指向モデル設計支援装置
JP2005250868A (ja) プロセス管理装置、プロセス変更装置、プロセス管理プログラム、プロセス変更プログラム、記録媒体、プロセス管理方法及びプロセス変更方法
EP2988469A1 (en) A method and apparatus for updating a user interface of one program unit in response to an interaction with a user interface of another program unit
JP4819177B2 (ja) 画面処理プログラム
Liu et al. MUIT: a middleware for adaptive mobile web-based user interfaces in WS-BPEL

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140402

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20141211

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141216

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150202

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150317

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150330

R150 Certificate of patent or registration of utility model

Ref document number: 5732992

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees