JP5929297B2 - Model diagram creation device, model diagram creation method, and model diagram creation program - Google Patents
Model diagram creation device, model diagram creation method, and model diagram creation program Download PDFInfo
- Publication number
- JP5929297B2 JP5929297B2 JP2012035362A JP2012035362A JP5929297B2 JP 5929297 B2 JP5929297 B2 JP 5929297B2 JP 2012035362 A JP2012035362 A JP 2012035362A JP 2012035362 A JP2012035362 A JP 2012035362A JP 5929297 B2 JP5929297 B2 JP 5929297B2
- Authority
- JP
- Japan
- Prior art keywords
- diagram
- class
- state
- model
- event table
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Stored Programmes (AREA)
Description
本発明は、ソフトウェアのオブジェクト指向モデルを生成する際に必要なモデル図を作成するモデル図作成装置、モデル図作成方法、モデル図作成プログラム、およびモデル図作成用の状態イベント表のデータ構造に関する。 The present invention relates to a model diagram creation device, a model diagram creation method, a model diagram creation program, and a data structure of a state event table for creating a model diagram, which create a model diagram necessary for generating an object-oriented model of software.
従来、ソフトウェアのオブジェクト指向モデルの開発においては、ソースコードを解析することによって各種モデル図を自動的に作成するリバースエンジニアリングが知られている。このリバースエンジニアリングによれば、仕様書と実際の製品との食い違いを検証したり、バグ等の発見を行うことができたりするため、ソフトウェアの生産性を向上させるとともに、システムの保守やセキュリティ強化に役立たせることができる。 Conventionally, in the development of an object-oriented model of software, reverse engineering is known in which various model diagrams are automatically created by analyzing a source code. According to this reverse engineering, it is possible to verify the discrepancy between the specifications and the actual product, and to find bugs, etc., improving software productivity and improving system maintenance and security. Can be useful.
このようなリバースエンジニアリング技術の例として、例えば、特許文献1では、ソースコードを解析して自動的にステートマシン図を作成する技術が開示されている。また、特許文献2および3では、ソースコードを解析して自動的にシーケンス図を作成する技術がそれぞれ開示されている。これらの従来技術によれば、開発対象のソフトウェアの一側面を反映したオブジェクト指向モデルの生成を実現することができる。
As an example of such a reverse engineering technique, for example,
しかしながら、上述した従来技術では、ステートマシン図やシーケンス図等の振る舞い図を個別に作成することは可能であるものの、複数種類の振る舞い図をクラス図等の構造図とともに一括して作成することはできなかった。このため、上述した従来技術では、自動的に作成することができない振る舞い図は手作業で作成せざるを得ず、開発対象のソフトウェアの多様な側面を反映しつつ一貫性のあるオブジェクト指向モデルの生成を実現できているわけではなかった。 However, with the above-mentioned conventional technology, it is possible to create behavior diagrams such as state machine diagrams and sequence diagrams individually, but it is not possible to create multiple types of behavior diagrams together with structure diagrams such as class diagrams. could not. For this reason, with the above-described conventional technology, behavior diagrams that cannot be automatically created must be created manually, and a consistent object-oriented model that reflects various aspects of the software to be developed is consistent. Generation was not realized.
本発明は、上記に鑑みてなされたものであって、開発対象のソフトウェアの多様な側面を反映しつつ一貫性のあるオブジェクト指向モデルの生成を実現可能にするモデル図作成装置、モデル図作成方法、モデル図作成プログラムおよびモデル図作成用の状態イベント表のデータ構造を提供することを目的とする。 The present invention has been made in view of the above, and a model diagram creation apparatus and a model diagram creation method capable of realizing generation of a consistent object-oriented model while reflecting various aspects of software to be developed The object is to provide a model diagram creation program and a data structure of a model event creation state event table.
上述した課題を解決し、目的を達成するために、本発明に係るモデル図作成装置は、統一モデリング言語を用いたソフトウェアのオブジェクト指向モデルを生成する際に必要なモデル図を作成するモデル図作成装置において、モデル図における状態およびイベントの組み合わせに応じて定義される関数であってモデル図としてのクラス図および複数種類の振る舞い図の構成を定める関数、および前記クラス図に対応するクラスの種類を定義する情報が記述された状態イベント表を記憶する記憶部と、前記記憶部が記憶する状態イベント表に基づいてクラス図を作成する構造図作成部と、前記記憶部が記憶する状態イベント表に基づいて複数種類の振る舞い図を作成する振る舞い図作成部と、を備えたことを特徴とする。 In order to solve the above-described problems and achieve the object, the model diagram creation apparatus according to the present invention creates a model diagram for creating a model diagram necessary for generating an object-oriented model of software using a unified modeling language. In the device, a function defined according to a combination of a state and an event in a model diagram, a function defining a class diagram as a model diagram and a plurality of types of behavior diagrams, and a class type corresponding to the class diagram A storage unit that stores a state event table in which information to be defined is described, a structure diagram generation unit that generates a class diagram based on the state event table stored in the storage unit, and a state event table stored in the storage unit And a behavior diagram creation unit that creates a plurality of types of behavior diagrams based on the behavior diagram.
また、本発明に係るモデル図作成装置は、上記発明において、前記状態イベント表は、前記複数種類の振る舞い図の構成を定める関数として、ステートマシン図における状態の遷移を定める関数、シーケンス図におけるメッセージの送信条件を定める関数、およびシーケンス図におけるメッセージの送信先を定める関数を含むことを特徴とする。 Further, the model diagram creation apparatus according to the present invention is the above-described invention, wherein the state event table is a function for determining a state transition in the state machine diagram as a function for determining the configuration of the plurality of types of behavior diagrams, and a message in the sequence diagram. And a function for determining a message transmission destination in the sequence diagram.
また、本発明に係るモデル図作成装置は、上記発明において、前記クラスの種類には、状態遷移機械を表すクラス、および既存のソフトウェアのクラスが含まれることを特徴とする。 The model diagram creation apparatus according to the present invention is characterized in that, in the above invention, the class type includes a class representing a state transition machine and an existing software class.
また、本発明に係るモデル図作成装置は、上記発明において、前記クラスの種類が前記既存のソフトウェアのクラスである前記状態イベント表では、前記既存のソフトウェアに含まれる関数の情報として該関数の名称のみが記述されていることを特徴とする。 Further, in the above-described invention, the model diagram creation apparatus according to the present invention provides the name of the function as the function information included in the existing software in the state event table in which the class type is the class of the existing software. Only is described.
また、本発明に係るモデル図作成装置は、上記発明において、前記クラスの種類が前記状態遷移機械を表すクラスである前記状態イベント表では、前記既存のソフトウェアのクラスの関数を呼び出す機能を記述することが可能であることを特徴とする。 The model diagram creating apparatus according to the present invention describes a function for calling a function of a class of the existing software in the state event table in which the type of the class is a class representing the state transition machine in the above invention. It is possible to do this.
また、本発明に係るモデル図作成装置は、上記発明において、前記クラス図および前記複数種類の振る舞い図を作成するために必要な情報を要素として有し、複数の要素の相互関係をツリー構造で示す要素構成図を作成する要素構成図作成部をさらに備えたことを特徴とする。 Further, in the above invention, the model diagram creating apparatus according to the present invention has information necessary for creating the class diagram and the plurality of types of behavior diagrams as elements, and the mutual relationship between the plurality of elements is expressed in a tree structure. The apparatus further includes an element configuration diagram creating unit that creates an element configuration diagram to be shown.
また、本発明に係るモデル図作成装置は、上記発明において、前記要素構成図を表示可能な表示部と、前記要素構成図作成部が前記要素構成図に対して要素を追加するごとに前記表示部における表示を切り換えて表示させる表示制御部と、をさらに備えたことを特徴とする。 The model diagram creation device according to the present invention is the display unit capable of displaying the element configuration diagram in the above invention, and the display every time the element configuration diagram creation unit adds an element to the element configuration diagram. And a display control unit for switching and displaying the display in the unit.
また、本発明に係るモデル図作成装置は、上記発明において、前記表示部は、前記クラス図および前記複数種類の振る舞い図を表示可能であり、前記表示制御部は、前記クラス図作成部および前記振る舞い図作成部がそれぞれ作成した前記構造図および前記振る舞い図を作成順に前記表示部に表示させることを特徴とする。 Further, in the above-described invention, the model diagram creating apparatus according to the present invention is capable of displaying the class diagram and the plurality of types of behavior diagrams, and the display control unit includes the class diagram creating unit and the class diagram creating unit. The structure diagram and the behavior diagram respectively created by the behavior diagram creation unit are displayed on the display unit in the order of creation.
また、本発明に係るモデル図作成装置は、上記発明において、前記表示制御部は、前記要素構成図と前記クラス図および前記振る舞い図とを並べて前記表示部に表示させることを特徴とする。 In the model diagram creating apparatus according to the present invention as set forth in the invention described above, the display control unit displays the element configuration diagram, the class diagram, and the behavior diagram side by side on the display unit.
また、本発明に係るモデル図作成方法は、統一モデリング言語を用いたソフトウェアのオブジェクト指向モデルを生成する際に必要なモデル図を作成するモデル図作成装置が実行するモデル図作成方法において、モデル図における状態およびイベントの組み合わせに応じて定義される関数であってモデル図としてのクラス図および複数種類の振る舞い図の構成を定める関数、および前記クラス図に対応するクラスの種類を定義する情報が記述された状態イベント表を記憶する記憶部から該状態イベント表を参照してクラス図を作成するクラス図作成ステップと、前記記憶部から前記状態イベント表を参照して複数種類の振る舞い図を作成する振る舞い図作成ステップと、を有することを特徴とする。 The model diagram creation method according to the present invention is a model diagram creation method executed by a model diagram creation device that creates a model diagram necessary for creating an object-oriented model of software using a unified modeling language. Functions that are defined according to the combination of states and events in the class, and that define the structure of a class diagram as a model diagram and multiple types of behavior diagrams, and information that defines the class type corresponding to the class diagram A class diagram creating step for creating a class diagram by referring to the state event table from a storage unit for storing the state event table, and creating a plurality of types of behavior diagrams by referring to the state event table from the storage unit And a behavior diagram creating step.
また、本発明に係るモデル図作成プログラムは、統一モデリング言語を用いたソフトウェアのオブジェクト指向モデルを生成する際に必要なモデル図を作成するモデル図作成装置に、モデル図における状態およびイベントの組み合わせに応じて定義される関数であってモデル図としてのクラス図および複数種類の振る舞い図の構成を定める関数、および前記クラス図に対応するクラスの種類を定義する情報が記述された状態イベント表を記憶する記憶部から該状態イベント表を参照してクラス図を作成するクラス図作成ステップと、前記記憶部から前記状態イベント表を参照して複数種類の振る舞い図を作成する振る舞い図作成ステップと、を実行させることを特徴とする。 In addition, the model diagram creation program according to the present invention provides a model diagram creation device that creates a model diagram necessary for generating an object-oriented model of software using a unified modeling language, and a combination of states and events in the model diagram. Stores a function that is defined in accordance with the class event as a model diagram and functions that define the structure of multiple types of behavior diagrams, and a state event table that describes information that defines the type of class corresponding to the class diagram A class diagram creating step for creating a class diagram by referring to the state event table from the storage unit, and a behavior diagram creating step for creating a plurality of types of behavior diagrams by referring to the state event table from the storage unit. It is made to perform.
また、本発明に係るモデル図作成用の状態イベント表のデータ構造は、統一モデリング言語を用いたソフトウェアのオブジェクト指向モデルを生成する際に必要なモデル図における状態およびイベントの組み合わせに応じて定義される関数であってモデル図としてのクラス図および複数種類の振る舞い図の構成を定める関数、および前記クラス図に対応するクラスの種類を定義する情報が記述されていることを特徴とする。 In addition, the data structure of the state event table for creating a model diagram according to the present invention is defined according to the combination of the state and event in the model diagram necessary for generating an object-oriented model of software using the unified modeling language. And a function that defines the structure of a class diagram as a model diagram and a plurality of types of behavior diagrams, and information that defines the class type corresponding to the class diagram.
また、本発明に係るモデル図作成用の状態イベント表のデータ構造は、上記発明において、前記関数として、ステートマシン図における状態の遷移を定める関数、シーケンス図におけるメッセージの送信条件を定める関数、およびシーケンス図におけるメッセージの送信先を定める関数を含むことを特徴とする。 Further, the data structure of the state event table for creating a model diagram according to the present invention, in the above invention, as the function, a function for determining state transition in a state machine diagram, a function for determining message transmission conditions in a sequence diagram, and It includes a function for determining a message transmission destination in the sequence diagram.
また、本発明に係るモデル図作成用の状態イベント表のデータ構造は、上記発明において、前記構造図はクラス図であり、前記クラス図に対応するクラスの種類を定義する情報が記述されており、前記クラスの種類には、状態遷移機械を表すクラス、および既存のソフトウェアのクラスが含まれることを特徴とする。 Further, the data structure of the state event table for creating a model diagram according to the present invention is the above-described invention, wherein the structure diagram is a class diagram, and information defining a class type corresponding to the class diagram is described. The types of classes include a class representing a state transition machine and an existing software class.
また、本発明に係るモデル図作成用の状態イベント表のデータ構造は、上記発明において、当該状態イベント表における前記クラスの種類が前記既存のソフトウェアのクラスである場合、前記既存のソフトウェアに含まれる関数の情報として該関数の名称のみが記述されていることを特徴とする。 The data structure of the state event table for creating a model diagram according to the present invention is included in the existing software when the type of the class in the state event table is the class of the existing software in the above invention. Only the name of the function is described as function information.
また、本発明に係るモデル図作成用の状態イベント表のデータ構造は、上記発明において、当該状態イベント表における前記クラスの種類が前記状態遷移機械を表すクラスである場合、前記既存のソフトウェアのクラスの関数を呼び出す機能が記述されていることを特徴とする。 Further, the data structure of the state event table for creating a model diagram according to the present invention is such that, in the above invention, when the class type in the state event table is a class representing the state transition machine, the existing software class A function for calling the function is described.
本発明によれば、クラス図および複数種類の振る舞い図の構成を定める関数、および前記クラス図に対応するクラスの種類を定義する情報が記述された状態イベント表に基づいてクラス図および複数種類の振る舞い図を自動的に作成するため、開発対象のソフトウェアの多様な側面を反映しつつ一貫性のあるオブジェクト指向モデルの生成を実現することが可能となる。 According to the present invention, a class diagram and a plurality of types of functions are defined on the basis of a state event table in which information defining a class type corresponding to the class diagram and functions defining the class diagram and a plurality of types of behavior diagrams are described. Since behavior diagrams are automatically created, it is possible to generate a consistent object-oriented model while reflecting various aspects of the software to be developed.
以下、添付図面を参照して、本発明を実施するための形態(以下、「実施の形態」という)を説明する。 DESCRIPTION OF EMBODIMENTS Hereinafter, embodiments for carrying out the present invention (hereinafter referred to as “embodiments”) will be described with reference to the accompanying drawings.
(実施の形態1)
図1は、本発明の実施の形態1に係るモデル図作成装置の機能構成を示すブロック図である。同図に示すモデル図作成装置1は、統一モデリング言語(UML)を用いてソフトウェアのオブジェクト指向モデルを生成する際に必要となるモデル図を自動的に作成する装置である。同図に示すモデル図作成装置1は、キーボード、マウス、タッチパネル等のインタフェースを用いて実現される入力部2と、液晶または有機EL等からなる表示パネルを有し、各種情報を表示する表示部3と、UMLのモデル図を作成するための情報を含む各種情報を記憶する記憶部4と、モデル図作成装置1の動作を制御する制御部5と、を備える。
(Embodiment 1)
FIG. 1 is a block diagram showing a functional configuration of a model diagram creation apparatus according to
記憶部4は、モデル図作成装置1がモデル図を作成する際に参照する状態イベント表を記憶する状態イベント表記億部41と、作成されたモデル図等の情報を記憶する作成情報記憶部42とを有する。状態イベント表は、モデル図における状態とイベントとの関係を示す表であり、状態およびイベントの組み合わせに応じて定義される関数であってモデル図としての構造図および複数種類の振る舞い図の構成を定める関数が記述されたデータ構造を有している。1つのファイル(以下、コンポーネントという)には、複数の状態イベント表を記述することが可能である。状態イベント表の詳細な構成については後述する。
The
記憶部4は、本実施の形態1に係るモデル図作成プログラムや所定のOSを起動するプログラム等が予め記憶されたROM、および各処理の演算パラメータやデータ等を記憶するRAM等を用いて実現される。
The
制御部5は、状態イベント表記憶部41が記憶する状態イベント表に基づいてモデル図のうちの構造図を作成する構造図作成部51と、状態イベント表記憶部41が記憶する状態イベント表および構造図作成部51が作成した構造図をもとに複数種類の振る舞い図を作成する振る舞い図作成部52と、構造図および前記複数種類の振る舞い図を作成するために必要な情報を要素として有し、複数の要素の相互関係をツリー構造で示す要素構成図を作成する要素構成図作成部53と、表示部3における表示を制御する表示制御部54と、を有する。
The
本実施の形態1では、構造図としてクラス図を例にとる一方、振る舞い図としてステートマシン図およびシーケンス図を例にとって説明するが、これはあくまでも一例に過ぎない。例えば、構造図として、コンポーネント図およびオブジェクト図のいずれかを適用することも可能である。また、振る舞い図として、コミュニケーション図(コラボレーション図)、アクティビティ図、ユースケース図、タイミング図、および相互作用概要図のいずれかを適用することも可能である。 In the first embodiment, a class diagram is taken as an example of a structure diagram, while a state machine diagram and a sequence diagram are taken as examples of behavior diagrams, but this is merely an example. For example, either a component diagram or an object diagram can be applied as a structure diagram. In addition, any one of a communication diagram (collaboration diagram), an activity diagram, a use case diagram, a timing diagram, and an interaction summary diagram can be applied as a behavior diagram.
制御部5は、CPU等を用いて実現され、制御対象であるモデル図作成装置1の各構成部位とバスラインを介して接続されている。制御部5は、記憶部4が記憶、格納する情報および本実施の形態1に係るモデル図作成プログラムを含む各種プログラムを記憶部4から読み出すことにより、本実施の形態1に係るモデル図作成方法に関連した演算処理を実行する。
The
なお、本実施の形態1に係るモデル図作成プログラムは、ハードディスク、フラッシュメモリ、CD−ROM、DVD−ROM、フレキシブルディスク等のコンピュータ読み取り可能な記録媒体に記録して広く流通させることも可能である。 The model drawing creation program according to the first embodiment can be recorded on a computer-readable recording medium such as a hard disk, a flash memory, a CD-ROM, a DVD-ROM, or a flexible disk and widely distributed. .
以上の構成を有するモデル図作成装置1は、1つのコンピュータを用いて実現してもよいし、複数のコンピュータを用いて実現してもよい。後者の場合には、インターネット等の通信ネットワークを介してデータの送受信を行いながら、互いに連携して処理を行うようにすることも可能である。
The model
図2は、状態イベント表記憶部41が記憶する状態イベント表の構成例を示す図である。同図に示す状態イベント表100は、モデル図における状態とイベントとの対応関係を与える表である。状態イベント表100は、クラス名、マトリックス、関数テーブルおよび属性テーブルを含む。
FIG. 2 is a diagram illustrating a configuration example of the state event table stored in the state event
クラス名は、表中で[Class_Name]という項目によって示されている。状態イベント表100のクラス名は、項目の右側に記述された ComponentAである。このクラス名は、クラス図およびステートマシン図の名前となる。また、クラス図に記載されるクラス名にもなる。 The class name is indicated by an item [Class_Name] in the table. The class name of the state event table 100 is ComponentA described on the right side of the item. This class name is the name of the class diagram and state machine diagram. It is also the class name described in the class diagram.
状態イベント表中のマトリックスは、状態(行)とイベント(列)の対応関係を表す。状態イベント表100において、項目[State]が状態を示し、項目[Event]がイベントを示す。状態イベント表100には、「状態1(STATE1)」、「状態2(STATE2)」という2つの状態が含まれる。「状態1」、「状態2」は日本語の状態名であり、モデル図ではそれぞれ「STATE1」、「STATE2」と表示される。また、状態イベント表100には、「イベント11(E11)」、「イベント12(E12)」という2つのイベントが含まれる。「イベント11」、「イベント12」は日本語の状態名であり、モデル図ではそれぞれ「E11」、「E12」と表示される。以下、マトリックスの要素をセルという。
The matrix in the state event table represents the correspondence between states (rows) and events (columns). In the state event table 100, an item [State] indicates a state, and an item [Event] indicates an event. The state event table 100 includes two states “state 1 (STATE 1)” and “state 2 (STATE 2)”. “
状態とイベントによって定まるセルの内部には、具体的な状態とイベントとの関係が記述されている。図2において、各セルの内部の具体的な記述は、XML(Extensible Markup Language)形式にしたがって記述されている。 A specific relationship between the state and the event is described in the cell determined by the state and the event. In FIG. 2, the specific description inside each cell is described according to an XML (Extensible Markup Language) format.
セルに記述される内容について具体的に説明する。セルの記述内容は、以下に示すようなものである。
[f_関数名]
<Action>
<Condition Func="条件関数名">
<Logic>イベント応答関数名</Logic>
<Message>送信先のクラス名@イベント関数名</Message>
<TransitionState>遷移後の状態名</TransitionState>
</Condition>
</Action>
The contents described in the cell will be specifically described. The description contents of the cell are as shown below.
[f_function name]
<Action>
<Condition Func = "condition function name">
<Logic> Event response function name </ Logic>
<Message> Destination class name @ event function name </ Message>
<TransitionState> State name after transition </ TransitionState>
</ Condition>
</ Action>
セルの最初の項目[f_関数名]は、応答関数名を与える。
Conditionタグ(<Condition>)は、クラス図の条件関数を定義する。このConditionタグの属性値(条件関数)は、ステートマシン図において遷移のガード条件やシーケンス図においてクラスのライフラインからのメッセージのガード条件を与える。
Logicタグ(<Logic>)は、ステートマシン図における遷移のアクション名を定義する。
Messageタグ(<Message>)は、「送信先のクラス名@イベント関数名」という形式で記述される。このうち、送信先のクラス名は、シーケンス図におけるクラスのライフラインからのメッセージの送信先を与える。また、イベント関数名は、シーケンス図におけるクラスのライフラインからのメッセージ名を与える。なお、イベント関数に引数がある場合には、イベント関数名(引数1,引数2,・・・)と記述する。
TransitionStateタグ(<TransitionState>)は、ステートマシン図における遷移先の状態を定義する。
なお、1つのセルの中に、ConditionタグとMessageタグは複数記述してもよい。また、1つのセルの中で、Conditionタグ、Logicタグ、Messageタグ、TransitionStateタグは省略可能である。
The first item [f_function name] of the cell gives the response function name.
The Condition tag (<Condition>) defines the condition function of the class diagram. The attribute value (condition function) of the Condition tag gives a guard condition for transitions in the state machine diagram and a guard condition for messages from the class lifeline in the sequence diagram.
Logic tag (<Logic>) defines the action name of transition in the state machine diagram.
The Message tag (<Message>) is described in a format of “destination class name @ event function name”. Of these, the destination class name gives the destination of the message from the class lifeline in the sequence diagram. The event function name gives the message name from the class lifeline in the sequence diagram. If the event function has an argument, the event function name (
The TransitionState tag (<TransitionState>) defines a transition destination state in the state machine diagram.
A plurality of Condition tags and Message tags may be described in one cell. In one cell, the Condition tag, Logic tag, Message tag, and TransitionState tag can be omitted.
図2に示す状態イベント表100において、状態1およびイベント11の組み合わせに対応するセルには、応答関数[f_Action11]が定義されている。この応答関数[f_Action11]の内容を説明する。Conditionタグにおける条件関数はConditon11である。Logicタグで定義される遷移のアクション名はAction11である。Messegeタグで定義される送信先のクラス名はComponentBであり、イベント関数名はイベント21である。TransitionStateタグで定義される遷移先の状態は状態2である。
In the state event table 100 shown in FIG. 2, a response function [f_Action11] is defined in the cell corresponding to the combination of the
状態1およびイベント12の組み合わせに対応するセルには、応答関数[f_Non]が定義されている。この応答関数[f_Non]は、いかなる処理も行わないこと(無処理)を意味する。
A response function [f_Non] is defined in the cell corresponding to the combination of the
状態2およびイベント11の組み合わせに対応するセルには、応答関数[f_Action13]が定義されている。この応答関数[f_Action13]の内容を説明する。Logicタグで定義される遷移のアクション名はAction13である。Messageタグで定義される送信先のクラス名はComponentBであり、イベント関数名はイベント22である。
A response function [f_Action13] is defined in the cell corresponding to the combination of the
状態2およびイベント12の組み合わせに対応するセルには、応答関数[f_Action12]が定義されている。この応答関数[f_Action12]の内容を説明する。Conditionタグにおける条件関数はConditon12である。Logicタグで定義される遷移のアクション名はAction12である。Messageタグで定義される送信先のクラス名はComponentBであり、イベント関数名はイベント22である。TransitionStateタグで定義される遷移先の状態は状態1である。
A response function [f_Action12] is defined in the cell corresponding to the combination of the
状態イベント表100では、関数テーブルとして、3種類の関数[Func_Logic]、[Func_Condition]、[Func_Interface]が記述されている。各関数には、関数名([Func_Name])、関数の中身であるソースコード([Func_Code])、Includeファイル名([Func_Include])、および関数を説明するコメント([Func_Comment])が記述されている(図2では、関数名以外は省略)。ソースコードは、例えばC、C++、Java(登録商標)等のプログラミング言語を用いて記述されている。 In the state event table 100, three types of functions [Func_Logic], [Func_Condition], and [Func_Interface] are described as a function table. Each function has a function name ([Func_Name]), source code ([Func_Code]) that is the contents of the function, an Include file name ([Func_Include]), and a comment ([Func_Comment]) that describes the function. (In FIG. 2, other than function names are omitted). The source code is described using a programming language such as C, C ++, Java (registered trademark), for example.
関数[Func_Logic]は、ステートマシン図におけるイベント応答関数であり、ステートマシン図における遷移のアクションを与える関数である。状態イベント表100では、具体的な関数として、Action11(),Action12(),Action13()が定義されている。ここで、各関数の横に記述されている()は、引数なしを意味している。
関数[Func_Condition]は、ステートマシン図における遷移の条件およびシーケンス図におけるメッセージの条件を与える関数である。状態イベント表100では、具体的な条件関数として、Condition11(),Condition12()が定義されている。
関数[Func_Interface]は、他のクラスから利用される関数である。状態イベント表100では、具体的な関数として、戻り値がint型であるGet(),戻り値がboolean型であるSet(int)が定義されている。ここで、Setの引数は整数(intと記述)である。
なお、状態イベント表で定義される関数は、上述したものに限られるわけではない。
The function [Func_Logic] is an event response function in the state machine diagram, and is a function that gives a transition action in the state machine diagram. In the state event table 100, Action11 (), Action12 (), and Action13 () are defined as specific functions. Here, () described next to each function means no argument.
The function [Func_Condition] is a function that gives a transition condition in the state machine diagram and a message condition in the sequence diagram. In the state event table 100, Condition11 () and Condition12 () are defined as specific condition functions.
The function [Func_Interface] is a function used from another class. In the state event table 100, Get () whose return value is an int type and Set (int) whose return value is a boolean type are defined as specific functions. Here, the argument of Set is an integer (denoted as int).
Note that the functions defined in the state event table are not limited to those described above.
属性テーブルには、クラス図における属性が定義される。属性テーブルには、属性名([Attr_Name])、属性の型([Attr_Type])、初期値([Attr_Ini])、属性を説明するコメント([Attr_Comment])が記述されている(図2では属性名、属性の型以外は省略)。状態イベント表100では、具体的な属性として、属性名attrが記述されている。 Attributes in the class diagram are defined in the attribute table. In the attribute table, an attribute name ([Attr_Name]), an attribute type ([Attr_Type]), an initial value ([Attr_Ini]), and a comment explaining the attribute ([Attr_Comment]) are described (in FIG. 2, the attribute (Excluding names and attribute types) In the state event table 100, an attribute name attr is described as a specific attribute.
図3は、状態イベント表記憶部41が記憶する別な状態イベント表の構成例を示す図である。同図に示す状態イベント表200は、クラス名([Class_Name])がComponentBである。状態イベント表200には、「状態3(STATE3)」、「状態4(STATE4)」、「状態5(STATE5)」という3つの状態が含まれる。また、状態イベント表200には、「イベント21(E21)」、「イベント22(E22)」という2つのイベントが含まれる。
FIG. 3 is a diagram illustrating a configuration example of another state event table stored in the state event
状態3およびイベント21の組み合わせに対応するセルには、応答関数[f_Action21]が定義されている。この応答関数[f_Action21]において、Logicタグで定義される遷移のアクション名はAction21であり、TransitionStateタグで定義される遷移先の状態は状態4である。
A response function [f_Action21] is defined in the cell corresponding to the combination of the
状態3およびイベント22の組み合わせに対応するセルには、応答関数[f_Action24]が定義されている。この応答関数[f_Action24]において、Logicタグで定義される遷移のアクション名はAction24であり、TransitionStateタグで定義される遷移先の状態は状態5である。
A response function [f_Action24] is defined in the cell corresponding to the combination of the
状態4およびイベント21の組み合わせに対応するセルには、応答関数[f_Action22]が定義されている。この応答関数[f_Action22]において、Logicタグで定義される遷移のアクション名はAction22であり、TransitionStateタグで定義される遷移先の状態は状態5である。
A response function [f_Action22] is defined in the cell corresponding to the combination of the
状態4およびイベント22の組み合わせに対応するセルには、応答関数[f_Action26]が定義されている。この応答関数[f_Action26]において、Logicタグで定義される遷移のアクション名はAction26であり、TransitionStateタグで定義される遷移先の状態は状態3である。
A response function [f_Action26] is defined in the cell corresponding to the combination of the
状態5およびイベント21の組み合わせに対応するセルには、応答関数[f_Action23]が定義されている。この応答関数[f_Action23]において、Logicタグで定義される遷移のアクション名はAction23であり、TransitionStateタグで定義される遷移先の状態は状態3である。
A response function [f_Action23] is defined in the cell corresponding to the combination of the
状態5およびイベント22の組み合わせに対応するセルには、応答関数[f_Action25]が定義されている。この応答関数[f_Action25]において、Logicタグで定義される遷移のアクション名はAction25であり、TransitionStateタグで定義される遷移先の状態は状態4である。
A response function [f_Action25] is defined in the cell corresponding to the combination of the
以上説明した応答関数[f_Action21]〜[f_Action26]には、ConditionタグやMessageタグは存在しない。 In the response functions [f_Action21] to [f_Action26] described above, there is no Condition tag or Message tag.
次に、モデル図作成装置1が、状態イベント表100、200に基づいて作成するクラス図、ステートマシン図およびシーケンス図の構成を説明する。
Next, the configuration of the class diagram, state machine diagram, and sequence diagram created by the model
図4は、モデル図作成装置1が、状態イベント表100から作成するクラス図の構成を示す図である。同図に示すクラス図300は、最上部にクラス名ComponentAが記述されている。クラス名の下方には、属性名attrを有する属性に関する情報が追加されている。
FIG. 4 is a diagram showing a configuration of a class diagram created by the model
属性の下方には、他のクラスから利用される関数(関数名Get, Set)が追加されている。ここで、関数Get()の右側に記述されたintは、戻り値がint型であることを意味する。また、関数Set(int)の右側に記述されたbooleanは、戻り値が真偽値(true or false)であることを意味する。これらの引数と戻り値については、以下に示す関数においても同様に定められる。 Below the attribute, functions used by other classes (function names Get and Set) are added. Here, int described on the right side of the function Get () means that the return value is an int type. The boolean described on the right side of the function Set (int) means that the return value is a true value (true or false). These arguments and return values are also defined in the functions shown below.
他のクラスから利用される関数の下方には、イベント関数(E11,E12)、条件関数(Condition11,Condition12)、イベント応答関数(Action11,Action12,Action13)が追加されている。
イベント関数には、ステレオタイプ<<Event>>が設定されている。イベント関数のスコープは、全ての場所からアクセス可能なパブリックである。イベント関数は引数がなく、その戻り値はvoidである。
条件関数には、ステレオタイプ<<Guard>>が設定されている。条件関数のスコープは、自身のクラス内からのみアクセス可能なプライベートである。条件関数は引数がなく、その戻り値はbooleanである。
イベント応答関数には、ステレオタイプ<<Action>>が設定されている。イベント応答関数のスコープは、プライベートである。イベント応答関数は引数がなく、戻り値はvoidである。
Below the functions used from other classes, an event function (E11, E12), a condition function (Condition11, Condition12), and an event response function (Action11, Action12, Action13) are added.
Stereotype << Event >> is set in the event function. The event function scope is public, accessible from all locations. The event function has no arguments and its return value is void.
A stereotype << Guard >> is set in the condition function. The scope of a conditional function is private, accessible only from within its own class. A conditional function has no arguments and its return value is a boolean.
Stereotype << Action >> is set in the event response function. The scope of the event response function is private. The event response function has no arguments and the return value is void.
図5は、モデル図作成装置1が、状態イベント表200から作成するクラス図の構成を示す図である。同図に示すクラス図400は、最上部にクラス名ComponentBが記述されている。クラス名の下方には、属性が追加されるが、このクラスには属性がないため、何も記述されていない。属性の下方には、項目<<Event>>において、2つのイベント関数(関数名E21, E22)が記述されている。また、項目<<Action>>において、6つのイベント応答関数(関数名Action21, Action22, Action23, Action24, Action25, Action26)が記述されている。
FIG. 5 is a diagram showing a configuration of a class diagram created by the model
図6は、モデル図作成装置1が、状態イベント表100から作成するステートマシン図を示す図である。同図に示すステートマシン図500は、状態1(STATE1)と状態2(STATE2)との間の遷移を示す図である。
FIG. 6 is a diagram showing a state machine diagram created from the state event table 100 by the model
状態1から状態2への遷移は、イベントE11をトリガとし、条件Condition11の下でアクション名Action11で遷移する。この遷移は、状態イベント表100の状態1およびイベント11の組み合わせに対応するセルのConditionタグおよびLogicタグに記述されている。
The transition from the
状態2から状態1への遷移は、イベントE12をトリガとし、条件Condition12の下でアクション名Action12で遷移する。この遷移は、状態イベント表100の状態2およびイベント12の組み合わせに対応するセルのConditionタグおよびLogicタグに記述されている。
The transition from the
状態2から状態2への遷移は、イベントE11をトリガとし、無条件でアクション名Action13で遷移する。この遷移は、状態イベント表100の状態2およびイベント11の組み合わせに対応するセルのLogicタグに記述されている。
The transition from the
ステートマシン図500の初期状態は、状態イベント表100のマトリックスに含まれる状態の中で一番上に位置する状態1である。
The initial state of the state machine diagram 500 is
図7は、モデル図作成装置1が、状態イベント表200から作成するステートマシン図の構成を示す図である。同図に示すステートマシン図600は、状態3(STATE3)、状態4(STATE4)および状態5(STATE5)の間の相互の遷移を示す図である。
FIG. 7 is a diagram showing a configuration of a state machine diagram created from the state event table 200 by the model
状態3から状態4への遷移は、イベントE21をトリガとし、アクション名Action21で遷移する。この遷移は、状態イベント表200の状態3およびイベント21の組み合わせに対応するセルのLogicタグに記述されている。
The transition from the
状態4から状態5への遷移は、イベントE21をトリガとし、アクション名Action22で遷移する。この遷移は、状態イベント表200の状態4およびイベント21の組み合わせに対応するセルのLogicタグに記述されている。
The transition from the
状態5から状態3への遷移は、イベントE21をトリガとし、アクション名Action23で遷移する。この遷移は、状態イベント表200の状態5およびイベント21の組み合わせに対応するセルのLogicタグに記述されている。
The transition from the
状態3から状態5への遷移は、イベントE22をトリガとし、アクション名Action24で遷移する。この遷移は、状態イベント表200の状態3およびイベント22の組み合わせに対応するセルのLogicタグに記述されている。
Transition from the
状態5から状態4への遷移は、イベントE22をトリガとし、アクション名Action25で遷移する。この遷移は、状態イベント表200の状態5およびイベント22の組み合わせに対応するセルのLogicタグに記述されている。
The transition from the
状態4から状態3への遷移は、イベントE22をトリガとし、アクション名Action26で遷移する。この遷移は、状態イベント表200の状態4およびイベント22との組み合わせに対応するセルのLogicタグに記述されている。
The transition from the
ステートマシン図600の初期状態は、状態イベント表200のマトリックスに含まれる状態の中で一番上に位置する状態3である。
The initial state of the state machine diagram 600 is
図8は、モデル図作成装置1が、状態イベント表100および200から作成するシーケンス図の構成を示す図である。同図に示すシーケンス図700は、クラス名ComponentAからクラス名ComponentBへのメッセージの流れを与える図である。
FIG. 8 is a diagram showing the configuration of a sequence diagram created by the model
状態1およびイベント11の組み合わせに関連するメッセージとして、イベント21が条件Condition11の下でクラス名ComponentBへ送信される。このメッセージ送信については、状態イベント表100の状態1およびイベント11の組み合わせに対応するセルのMessageタグに記述されている。
As a message related to the combination of the
状態2およびイベント11の組み合わせに関連するメッセージとして、イベント22が無条件でクラス名ComponentBへ送信される。このメッセージ送信については、状態イベント表100の状態2およびイベント11の組み合わせに対応するセルのMessageタグに記述されている。
As a message related to the combination of the
状態2およびイベント12の組み合わせに関連するメッセージとして、イベント22が条件Condition12の下でクラス名ComponentBへ送信される。このメッセージ送信については、状態イベント表100の状態2およびイベント12の組み合わせに対応するセルのMessageタグに記述されている。
As a message related to the combination of the
図9は、モデル図作成装置1が行うモデル図作成方法の処理の概要を示すフローチャートである。モデル図作成装置1は、入力部2によってモデル図の作成指示信号が入力されると(ステップS1:Yes),クラス図(ステップS2)、ステートマシン図(ステップS3)、シーケンス図(ステップS4)を順次作成する。モデル図の作成指示信号が入力されない場合(ステップS1:No)、モデル図作成装置1は、ステップS1を繰り返す。なお、ステートマシン図とシーケンス図の作成順を逆にしてもよい。以下、ステップS2〜S4の処理を詳細に説明する。
FIG. 9 is a flowchart showing an outline of the process of the model diagram creation method performed by the model
図10は、モデル図作成装置1が行うクラス図の作成処理(ステップS2)の概要を示すフローチャートである。モデル図作成装置1の記憶部4には、入力部2による入力によってモデル図用のフォルダが予め生成されているものとする。以下、このフォルダのフォルダ名をArchitectureとする。
FIG. 10 is a flowchart showing an overview of class diagram creation processing (step S2) performed by the model
まず、要素構成図作成部53は、状態イベント表が記述された全てのコンポーネントを要素構成図に追加する(ステップS11)。一例として、コンポーネント名Componentというコンポーネントに、図2に示す状態イベント表100および図3に示す状態イベント表200が個別の領域に記述されている場合を説明する。図11Aは、表示部3が表示制御部54の制御のもとでコンポーネントを追加した要素構成図を表示する場合の表示例を示す図である。図11Aに示す要素構成図801では、破線で囲んだ領域(以下、破線領域という)に示すように、Componentの下層構造として、2つの状態イベント表に対応するコンポーネント(ComponentA,ComponentB)が記述されている。なお、破線領域は追加された箇所を明記するために便宜的に設けたものに過ぎず、表示部3で実際に表示されない。
First, the element configuration
モデル図作成装置1は、以下に説明するステップS12〜S16の処理を全ての状態イベント表に対して行う。まず、ステップS12において、構造図作成部51および要素構成図作成部53は、クラス図、クラス要素を追加する(ステップS12)。この際、構造図作成部51は、クラス図にクラス要素を追加する処理を行う。また、要素構成図作成部53は、要素構成図に対してクラス図、クラス要素を追加する。例えば、状態イベント表100に対して処理を行う場合、ComponentAというクラス図、クラス要素を追加する。図11Bは、要素構成図作成部53がクラス図、クラス要素を追加した要素構成図の表示部3における表示例を示す図である。図11Bに示す要素構成図802では、図11Aに示す要素構成図801に対し、異なるアイコンを有するクラス図とクラス要素が追加されている(破線領域を参照)。
The model
その後、構造図作成部51および要素構成図作成部53は、各種関数をクラス図および要素構成図に対して追加する(ステップS13)。例えば、状態イベント表100に対して処理を行う場合、各種関数としては、イベント関数E11,E12,条件関数Condition11,Condition12,イベント応答関数Action11,Action12,Action13,および他クラスから利用される関数Get,Setが追加される。図11Cは、各種関数を追加した要素構成図の表示部3における表示例を示す図である。図11Cに示す要素構成図803では、図11Bに示す要素構成図802に対し、上述した各種関数が追加されている(破線領域を参照)。
Thereafter, the structural
続いて、構造図作成部51および要素構成図作成部53は、属性を追加する(ステップS14)。例えば、状態イベント表100の場合、属性attrが追加される。図11Dは、属性を追加した要素構成図の表示部3における表示例を示す図である。図11Dに示す要素構成図804では、図11Cに示す要素構成図803に対し、属性attrが追加されている(破線領域を参照)。
Subsequently, the structural
この後、表示制御部54は、構造図作成部51が作成したクラス図を表示部3に表示させる(ステップS15)。図11Eは、表示部3におけるクラス図の表示例を示す図である。同図に示す表示画面805は、状態イベント表100に基づいて構造図作成部51が作成したクラス図300を表示するクラス図表示領域806と、要素構成図作成部53が作成した要素構成図804とを並べて表示している。クラス図表示領域806の最上部には、クラス図名(ComponentA)が表示されている。
Thereafter, the
構造図作成部51は、作成したクラス図を作成情報記憶部42に記憶させる(ステップS16)。なお、モデル図作成装置1は、ステップS16の処理を、ステップS15の前に行ってもよいし、ステップS15と並行して行ってもよい。
The structural
モデル図作成装置1は、以上説明したステップS12〜S16の処理を全ての状態イベント表に対して行う。図11Fは、要素構成図作成部53が状態イベント表200に対してステップS14までの処理を終了した要素構成図の表示部3における表示例を示す図である。図11Fに示す要素構成図807は、図11Dに示す要素構成図804に対し、ComponentBに関するクラス図のツリー構造が追加されている(破線領域を参照)。なお、この場合にも、ステップS15において、要素構成図807とクラス図400が表示部3で並列表示される。
The model
モデル図作成装置1は、全ての状態イベント表に対してクラス図の作成処理が終了した場合、図9に示すメインルーチンへ戻る。
The model
次に、ステートマシン図の作成処理(ステップS3)について説明する。図12は、モデル図作成装置1が行うステートマシン図の作成処理の概要を説明するフローチャートである。このステートマシン図の作成処理についても、全ての状態イベント表に対して繰り返し処理を行う。
Next, a state machine diagram creation process (step S3) will be described. FIG. 12 is a flowchart for explaining an overview of a state machine diagram creation process performed by the model
まず、振る舞い図作成部52および要素構成図作成部53は、ステートマシン図を追加する(ステップS21)。具体的には、振る舞い図作成部52は、クラス図と同じ名称のステートマシン図の作成を開始する。一方、要素構成図作成部53は、要素構成図のクラス図の要素の下層にステートマシン図の要素を追加する。図13Aは、ステートマシン図の要素を追加した要素構成図の表示部3における表示例を示す図である。図13Aに示す要素構成図811では、図11Fに示す要素構成図807に対し、クラス図の要素の下層にComponentAのステートマシン図の要素が追加されている(破線領域を参照)。
First, the behavior
続いて、振る舞い図作成部52および要素構成図作成部53は、ステートマシン図に必要な全ての状態を追加する(ステップS22)。例えば、状態イベント表100に対して処理を行う場合、状態1(STATE1)および状態2(STATE2)が追加される。図13Bは、状態イベント表100に対して状態を追加した要素構成図の表示部3における表示例を示す図である。図13Bに示す要素構成図812では、図13Aに示す要素構成図811に対し、2つの状態の要素STATE1, STATE2が追加されている(破線領域を参照)。
Subsequently, the behavior
この後、振る舞い図作成部52および要素構成図作成部53は、状態イベント表のイベント名から、クラスの下のトリガ要素として、ステートマシン図に必要な全てのイベントを追加する(ステップS23)。例えば、状態イベント表100の場合には、イベントE11,E12を追加する。図13Cは、イベントを追加した要素構成図の表示部3における表示例を示す図である。図13Cに示す要素構成図813は、図13Bに示す要素構成図812に対し、2つのイベントが追加されている(破線領域を参照)。
Thereafter, the behavior
続いて、振る舞い図作成部52は、ステートマシン図に必要な全ての遷移を追加する(ステップS24)。例えば、状態イベント表100に対して処理を行う場合、状態1から状態2への遷移と、状態2から状態1への遷移が追加される。この処理は、状態イベント表においてTransitionStateタグが記述されたセルに対応する状態を遷移元状態(ソース)とし、TransitionStateタグの内容を遷移先状態(ターゲット)として遷移を追加することに相当する。この処理は、要素構成図には反映されない。
Subsequently, the behavior
この後、振る舞い図作成部52は、ステップS24で追加した遷移に対して、イベント名、条件、およびアクションを追加する(ステップS25)。例えば、状態イベント表100に対して処理を行う場合、まず状態1から状態2への遷移に対し、イベント名E11,条件名Condition11,アクションAction11を追加する。この処理では、状態イベント表においてTransitionStateタグが記述されたセルに対応するイベント名を名前とする遷移のトリガを追加する。また、状態イベント表においてConditionタグが記述されたセルがある場合、Conditionタグの属性名Funcの値をガード関数名として遷移のガードを追加する。また、Logicタグの内容をアクションにする。この処理も、要素構成図には反映されない。
Thereafter, the behavior
続いて、振る舞い図作成部52および要素構成図作成部53は、開始要素を追加する(ステップS26)。具体的には、モデル図作成装置1は、状態イベント表の一番上の状態を初期状態として、開始要素から初期状態への遷移を追加する。例えば、状態イベント表100に対して処理を行う場合、初期状態はSTATE1である。図13Dは、開始要素を追加した要素構成図の表示部3における表示例を示す図である。図13Dに示す要素構成図814は、図13Cに示す要素構成図813に対し、開始要素が追加されている(破線領域を参照)。
Subsequently, the behavior
この後、表示制御部54は、振る舞い図作成部52が作成したステートマシン図を表示部3に表示させる(ステップS27)。例えば、状態イベント表100に対して、表示制御部54は、図6に示すステートマシン図500を要素構成図814とともに表示部3に並列表示させる。
Thereafter, the
振る舞い図作成部52は、作成したステートマシン図を作成情報記憶部42に記憶させる(ステップS28)。なお、モデル図作成装置1は、ステップS28の処理を、ステップS27の前に行ってもよいし、ステップS27と並行して行ってもよい。
The behavior
モデル図作成装置1は、以上説明したステップS21〜S28の処理を全ての状態イベント表に対して行う。図13Eは、状態イベント表200に対して一連のステートマシン図作成処理(ステップS21〜S28の処理)を終了した要素構成図の表示部3における表示例を示す図である。同図に示す要素構成図815は、図13Dに示す要素構成図814に対し、ComponentBに関するステートマシン図のツリー構造が追加されている(破線領域を参照)。なお、この場合にも、表示制御部54は、要素構成図815およびステートマシン図600を表示部3で並列表示させる。
The model
モデル図作成装置1は、全ての状態イベント表に対してステートマシン図の作成処理を終了した場合、図9に示すメインルーチンへ戻る。
The model
次に、シーケンス図の作成処理(ステップS4)について説明する。図14は、モデル図作成装置1が行うシーケンス図の作成処理の概要を示すフローチャートである。シーケンス図作成処理についても、全ての状態イベント表に対して繰り返し処理を行う。
Next, a sequence diagram creation process (step S4) will be described. FIG. 14 is a flowchart showing an outline of sequence diagram creation processing performed by the model
まず、制御部5は、状態イベント表にMessageタグの記述の有無を確認する(ステップS31)。状態イベント表にMessageタグの記述がある場合(ステップS31:Yes)、制御部5はステップS32へ移行する。一方、状態イベント表にMessageタグの記述がない場合(ステップS31:No)、制御部5は他の状態イベント表に対する処理へ移行する。例えば、状態イベント表100はMessageタグの記述がある場合であり、状態イベント表200はMessageタグの記述がない場合に相当する。
First, the
ステップS32において、振る舞い図作成部52および要素構成図作成部53は、シーケンス図を追加する(ステップS32)。ここで、振る舞い図作成部52は、所定の名称を有するシーケンス図の作成を開始し、要素構成図作成部53は、要素構成図のコンポーネントの要素の下層に上述した名称を要素名とするシーケンス図の要素を追加する。図15Aは、シーケンス図の要素を追加した要素構成図の表示部3における表示例を示す図である。図15Aに示す要素構成図821は、図13Eに示す要素構成図815に対し、シーケンス図の要素が追加されている(破線領域を参照)。本実施の形態1では、シーケンス図の名称をComponentCとして新たに生成しているが、名称の設定の仕方は任意である。
In step S32, the behavior
続いて、振る舞い図作成部52は、状態イベント表における送信元のクラスをシーケンス図に追加する(ステップS33)。例えば、状態イベント表100に対して処理を行う場合には、クラス名ComponentAのクラスが追加される。この処理は、要素構成図の記述には反映されない。
Subsequently, the behavior
この後、振る舞い図作成部52および要素構成図作成部53は、メッセージ終了点の要素を追加する(ステップS34)。図15Bは、メッセージ終了点の要素を追加した要素構成図の表示部3における表示例を示す図である。図15Bに示す要素構成図822は、図15Aに示す要素構成図821に対し、3つのメッセージ終了点(黒丸で表示)が追加されている(破線領域を参照)。
Thereafter, the behavior
続いて、振る舞い図作成部52は、メッセージ終了点からステップS33で追加した送信元のクラスへのメッセージを追加する(ステップS35)。ここでのメッセージ名は、「状態名/イベント名(引数)」の形式で記述する。例えば、状態イベント表100に対して処理を行う場合には、3つのセルにMessageタグが記述されている。このため、振る舞い図作成部52は、3つのメッセージを追加する。各メッセージのメッセージ名は、「STATE1/E11()」、「STATE2/E11()」、「STATE2/E12()」である。この処理は、要素構成図の記述には反映されない。
Subsequently, the behavior
この後、振る舞い図作成部52は、送信先のクラス名に対応するクラスをシーケンス図に追加する(ステップS36)。例えば、状態イベント表100の場合、送信先のクラス名はComponentBである。この処理も要素構成図の記述には反映されない。なお、状態イベント表で送信先のクラスが指定されていない場合には、送信先のクラス名を既存資産(レガシー)とすることも可能である。
Thereafter, the behavior
続いて、振る舞い図作成部52は、送信先のクラスへのメッセージを追加する(ステップS37)。ここでのメッセージ名は、「[条件]:イベント名(引数)」の形式で記述する。条件がない場合には、「イベント名(引数)」のみ記述する。例えば、状態イベント表100に対して処理を行う場合、3つのセルにMessageタグが記述されている。このため、振る舞い図作成部52は、3つのセルに対応して「[Condition11]:E21()」、「E22()」、「[Condition12]:E22()」という3つのメッセージを対応する箇所に追加する。この処理も要素構成図の記述には反映されない。
Subsequently, the behavior
この後、表示制御部54は、振る舞い図作成部52が作成したシーケンス図を表示部3に表示させる(ステップS38)。例えば、状態イベント表100に対しては、図8に示すシーケンス図700が、図15Bに示す要素構成図822とともに表示される。
Thereafter, the
振る舞い図作成部52は、作成したシーケンス図を作成情報記憶部42に記憶させる(ステップS39)。なお、モデル図作成装置1は、ステップS39の処理を、ステップS38の前に行ってもよいし、ステップS38と並行して行ってもよい。
The behavior
モデル図作成装置1が全ての状態イベント表に対してシーケンス図の作成処理を終了した場合、要素構成図作成部53は、要素構成図を作成情報記憶部42に記憶させる(ステップS40)。その後、モデル図作成装置1は、図9に示すメインルーチンへ戻る。
When the model
以上説明した本発明の実施の形態1によれば、モデル図としての構造図および複数種類の振る舞い図の構成を定める関数が状態およびイベントの組み合わせに応じて記述された状態イベント表に基づいて構造図および複数種類の振る舞い図を自動的に作成するため、開発対象のソフトウェアの多様な側面を反映しつつ一貫性のあるオブジェクト指向モデルの生成を実現することが可能となる。 According to the first embodiment of the present invention described above, a function that defines the structure of a structure diagram as a model diagram and a plurality of types of behavior diagrams is structured based on a state event table in which the combinations of states and events are described. Since a diagram and a plurality of types of behavior diagrams are automatically created, it is possible to generate a consistent object-oriented model while reflecting various aspects of the software to be developed.
また、本実施の形態1によれば、状態イベント表において、ステートマシン図における状態の遷移を定める関数、シーケンス図におけるメッセージの送信条件を定める関数、およびシーケンス図におけるメッセージの送信先を定める関数を記述することができるため、少なくとも2つの振る舞い図を自動的に作成することが可能となる。 Further, according to the first embodiment, in the state event table, the function for determining the state transition in the state machine diagram, the function for determining the message transmission condition in the sequence diagram, and the function for determining the message destination in the sequence diagram Since it can be described, at least two behavior diagrams can be automatically created.
また、本実施の形態1によれば、構造図および複数種類の振る舞い図を作成するために必要な情報を要素として有し、複数の要素の相互関係をツリー構造で示す要素構成図を作成して表示部で表示するため、ユーザは状態イベント表から各種モデル図を作成するための情報を容易に認識することができる。 In addition, according to the first embodiment, an element configuration diagram having information necessary for creating a structure diagram and a plurality of types of behavior diagrams as elements and showing the mutual relationship of the plurality of elements in a tree structure is created. Therefore, the user can easily recognize information for creating various model diagrams from the state event table.
また、本実施の形態1によれば、要素構成図に対して要素を追加するごとに表示部における表示を切り換えて表示するため、ユーザは、モデル図作成処理の進捗状況をリアルタイムで的確に把握することができる。 In addition, according to the first embodiment, every time an element is added to the element configuration diagram, the display on the display unit is switched and displayed, so the user can accurately grasp the progress of the model diagram creation process in real time. can do.
また、本実施の形態1によれば、要素構成図とモデル図とを並列で表示するため、ユーザは1つの画面を見ることによって多様な情報を得ることができる。 Further, according to the first embodiment, since the element configuration diagram and the model diagram are displayed in parallel, the user can obtain various information by viewing one screen.
なお、本実施の形態1で説明したクラス図、ステートマシン図、およびシーケンス図の作成手順はあくまでも一例に過ぎず、矛盾が生じない範囲内で適宜手順を変更することが可能である。 Note that the procedure for creating the class diagram, the state machine diagram, and the sequence diagram described in the first embodiment is merely an example, and the procedure can be appropriately changed within a range where no contradiction occurs.
(実施の形態2)
本発明の実施の形態2は、モデル生成の際に既存のソフトウェア(レガシーコード)を自動的に取り込むための仕組みを与えるモデル図を作成することを特徴とする。本実施の形態2では、状態イベント表にクラスの種別を示す情報が記述されている。なお、本実施の形態2に係るモデル図作成装置の構成は、実施の形態1で説明したモデル図作成装置1の構成と同じである。
(Embodiment 2)
The second embodiment of the present invention is characterized by creating a model diagram that provides a mechanism for automatically incorporating existing software (legacy code) at the time of model generation. In the second embodiment, information indicating the class type is described in the state event table. The configuration of the model diagram creating apparatus according to the second embodiment is the same as the configuration of the model
本実施の形態2においても、構造図としてクラス図を例にとる一方、振る舞い図としてステートマシン図およびシーケンス図を例にとって説明するが、これはあくまでも一例に過ぎない。 In the second embodiment, a class diagram is taken as an example of a structure diagram, while a state machine diagram and a sequence diagram are taken as examples of behavior diagrams, but this is only an example.
本実施の形態2では、2種類の状態イベント表を適用する。1種類目は、実施の形態1と同様に状態遷移機械のクラス図を生成する状態イベント表である。2種類目は、既存のソフトウェアのクラスの呼び出される関数を定める状態イベント表である。本実施の形態2では、状態イベント表の種類を定義する情報として、クラスタイプという項目を設ける。クラスタイプは、状態イベント表中で[Class_Type]と記述される。クラスタイプの名称は、1種類目の状態イベント表が「STM」であり、2種類目の状態イベント表が「Legacy」である。なお、このクラスタイプの名称は、あくまでも一例に過ぎない。 In the second embodiment, two types of state event tables are applied. The first type is a state event table that generates a class diagram of the state transition machine as in the first embodiment. The second type is a state event table that defines a function to be called by an existing software class. In the second embodiment, an item called class type is provided as information defining the type of state event table. The class type is described as [Class_Type] in the state event table. The name of the class type is “STM” for the first status event table and “Legacy” for the second status event table. Note that the name of this class type is merely an example.
状態イベント表のマトリックスを構成するセルであって状態とイベントとによって定まるセルの内部には、具体的な状態とイベントとの関係が、XML形式にしたがって記述されている。セルの具体的な記述内容は、以下に示すようなものである。
[f_関数名]
<Action>
<Condition Func="条件関数名">
<Logic>イベント応答関数名</Logic>
<Message>クラスタイプSTMの送信先のクラス名@イベント関数名</Message>
<Call>クラスタイプLegacyのクラス名@関数名</Call>
<TransitionState>遷移後の状態名</TransitionState>
</Condition>
</Action>
In the cells constituting the matrix of the state event table and determined by the state and the event, a specific relationship between the state and the event is described according to the XML format. The specific description contents of the cell are as shown below.
[f_function name]
<Action>
<Condition Func = "condition function name">
<Logic> Event response function name </ Logic>
<Message> Class type STM destination class name @ event function name </ Message>
<Call> Class type Legacy class name @ function name </ Call>
<TransitionState> State name after transition </ TransitionState>
</ Condition>
</ Action>
ここで、STM(State Transition Machine)は、状態遷移機械モデルで表現されるソフトウェアコンポーネントである。STMのクラスは、自身および外部からのトリガイベントに対してオブジェクトのメソッド(関数)を呼び出しながら状態を変化させる。
また、Legacyは、STMではない既存コードのソフトウェアコンポーネントである。Legacyのクラスは、メソッドを呼び出しても状態変化しない。
Here, STM (State Transition Machine) is a software component represented by a state transition machine model. The STM class changes its state while calling an object method (function) in response to a trigger event from itself or from the outside.
Legacy is a software component of existing code that is not STM. Legacy classes do not change state when methods are called.
本実施の形態2では、実施の形態1と比較して、セルの内部にCallタグ(<Call>)が追加されている。このCallタグは、クラスタイプLegacyのクラスに含まれる関数を状態遷移機械のクラスから呼び出すためのタグである。呼び出し対象の関数が引数を有する関数である場合には、
<Call>クラスタイプLegacyのクラス名@関数名(引数1,引数2,…)</Call>
と記述される。一つのセルの中に複数のCallタグを記述することも可能である。セルにCallタグが記述されている場合、振る舞い図作成部52は、クラス名に対応するクラスの要素をリンク先として、シーケンス図に追加する。CallタグはMessegeタグとは異なり、送信先が既存のソフトウェアのクラスになる。
In the second embodiment, as compared with the first embodiment, a Call tag (<Call>) is added inside the cell. This Call tag is a tag for calling a function included in the class of the class type Legacy from the state transition machine class. If the function being called is a function with arguments,
<Call> Class type Legacy class name @ function name (
Is described. It is possible to describe multiple Call tags in one cell. When the Call tag is described in the cell, the behavior
図16〜図18は、状態イベント表記憶部41が記憶する状態イベント表の構成例を示す図である。以下の説明において、状態イベント表に記述された具体的な状態、イベント、応答関数等の名称については、例えば「状態1」、「イベント11」、「応答関数Action11」というように、実施の形態1と同じ名称を用いて説明を行うが、これは実施の形態1と対比しやすくするための措置であるとともに、同じ内容を重複して説明するのを避けるための措置である。
16 to 18 are diagrams illustrating configuration examples of the state event table stored in the state event
まず、図16に示す状態イベント表910の構成を説明する。状態イベント表910は、クラス名、マトリックス、関数テーブルおよび属性テーブルに加えて、クラスタイプが記述されている。状態イベント表910のクラスタイプはSTMである。クラスタイプを除く状態イベント表910の記述内容は、実施の形態1で説明した状態イベント表100の記述内容と同じである。 First, the configuration of the status event table 910 shown in FIG. 16 will be described. The status event table 910 describes class types in addition to class names, matrices, function tables, and attribute tables. The class type of the state event table 910 is STM. The description contents of the state event table 910 excluding the class type are the same as the description contents of the state event table 100 described in the first embodiment.
次に、図17に示す状態イベント表920の構成を説明する。状態イベント表920のクラスタイプはSTMである。また、状態イベント表920の記述内容は、上述した状態イベント表200とほぼ同じであるが、応答関数[f_Action21],[f_Action24]の内容が若干異なる。応答関数[f_Action21]には、クラス名がLegacyComponentであるクラスの引数を有しない関数である関数Method1を呼び出すことが記述されている。一方、応答関数[f_Action24]には、クラス名がLegacyComponentであるクラスの関数であって引数p1,p2を有する関数Method2(p1,p2)を呼び出すことが記述されている。 Next, the configuration of the status event table 920 shown in FIG. 17 will be described. The class type of the state event table 920 is STM. The description contents of the state event table 920 are almost the same as those of the state event table 200 described above, but the contents of the response functions [f_Action21] and [f_Action24] are slightly different. The response function [f_Action21] describes that a function Method1, which is a function having no argument of a class whose class name is LegacyComponent, is called. On the other hand, the response function [f_Action24] describes that a function Method2 (p1, p2) which is a function of a class whose class name is LegacyComponent and has arguments p1 and p2 is called.
次に、図18に示す状態イベント表930の構成を説明する。状態イベント表930は、状態イベント表920の応答関数[f_Action21],[f_Action24]に記述されたクラスを定義するものであり、クラス名がLegacyComponentであり、クラスタイプがLegacyである。状態イベント表930は、クラスタイプSTMの状態イベント表とは異なり、状態遷移を定めるマトリックスは記述されず、既存のソフトウェアとのインターフェースをなす関数[Func_Interface]のみが定義される。 Next, the configuration of the status event table 930 shown in FIG. 18 will be described. The state event table 930 defines the classes described in the response functions [f_Action21] and [f_Action24] of the state event table 920, the class name is LegacyComponent, and the class type is Legacy. Unlike the state event table of the class type STM, the state event table 930 does not describe a matrix that defines state transition, and defines only a function [Func_Interface] that interfaces with existing software.
状態イベント表930では、具体的な関数として、引数を有しない関数Method1、およびint型の引数p1およびchar[]型の引数p2を有する関数Method2が定義されている。これらの関数Method1,Method2は、既存のソフトウェアにソースコードが存在するため、状態イベント表930において関数名のみを指定し、その中身(ソースコード)を記述する必要がない。したがって、関数[Func_Interface]の関数テーブルには、状態イベント表910、920の関数テーブルにある「中身(ソースコード)」の欄が設けられていない。 In the state event table 930, as a specific function, a function Method1 having no argument, and a function Method2 having an int type argument p1 and a char [] type argument p2 are defined. Since the source codes of these functions Method1 and Method2 exist in the existing software, it is not necessary to specify only the function name in the state event table 930 and describe the contents (source code). Therefore, in the function table of the function [Func_Interface], the “content (source code)” column in the function tables of the state event tables 910 and 920 is not provided.
次に、モデル図作成装置1が、状態イベント表910、920、930に基づいて作成するクラス図、ステートマシン図およびシーケンス図の構成を説明する。
Next, the configuration of the class diagram, state machine diagram, and sequence diagram created by the model
モデル図作成装置1が状態イベント表910から作成するクラス図およびステートマシン図は、実施の形態1で説明したクラス図300(図4)およびステートマシン図500(図6)とそれぞれ同じである。 また、モデル図作成装置1が状態イベント表920から作成するクラス図およびステートマシン図は、実施の形態1で説明したクラス図400(図5)およびステートマシン図600(図7)とそれぞれ同じである。 また、モデル図作成装置1が状態イベント表910、920から作成するシーケンス図は、実施の形態1で説明したシーケンス図700(図8)と同じである。
The class diagram and state machine diagram created by the model
図19は、モデル図作成装置1が、状態イベント表930に基づいて作成するクラス図の構成を示す図である。同図に示すクラス図940は、最上部にクラスのステレオタイプ<<Legacy>>とクラス名LegacyComponentが記述されている。クラス名の下方には、関数(関数名Method1,Method2)が記述されている。ここで、関数Method1は引数を有しない関数であり、その戻り値はvoidである。また、関数Method2はint型とchar[]型の二つの引数を有する関数であり、その戻り値はvoidである。
FIG. 19 is a diagram showing a configuration of a class diagram created by the model
図20は、モデル図作成装置1が、状態イベント表930、940に基づいて作成するシーケンス図の構成を示す図である。同図に示すシーケンス図950は、クラス名ComponentB(クラスタイプSTM)からクラス名LegacyComponent(クラスタイプLegacy)へのメッセージの流れを与える図である。
FIG. 20 is a diagram illustrating a configuration of a sequence diagram created by the model
状態3およびイベント21の組み合わせに関連するメッセージは、関数Method1の呼び出しである。また、状態3およびイベント22の組み合わせに関連するメッセージは、関数Method2の呼び出しである。これらの呼び出しをシーケンス図で定義することにより、モデル生成時の既存のソフトウェアの読み出しが自動的に行われることとなる。
The message associated with the combination of
本実施の形態2において、モデル図作成装置1が行うモデル図作成方法の処理の概要は、実施の形態1と同様である(図9、10、12、14を参照)。
In the second embodiment, the outline of the process of the model diagram creation method performed by the model
図21は、表示制御部54が、全てのコンポーネントを追加した要素構成図を表示部3に表示させる場合の表示例を示す図である。同図に示す要素構成図960は、5つのコンポーネント(コンポーネント名:ComponentA,ComponentB,LegacyComponent,ComponentC,ComponentD)が追加されている。要素構成図960では、ComponentA,ComponentBおよびComponentCの下層構造が非表示状態にある場合を示している。ComponentA,ComponentBおよびComponentCの下層構造は、図15Bに記述されているものと同じである。
FIG. 21 is a diagram illustrating a display example when the
破線領域LCには、コンポーネント名LegacyComponentを有するコンポーネントの要素として、LegacyComponentのクラス図、および関数Method1,Method2が記述されている。 In the broken line area LC, a class diagram of LegacyComponent and functions Method1 and Method2 are described as elements of the component having the component name LegacyComponent.
破線領域Dには、コンポーネント名ComponentDを有するコンポーネントの要素として、名称がComponentDであるシーケンス図、および2つのメッセージ終了点が記述されている。 In the broken line area D, as a component element having the component name ComponentD, a sequence diagram whose name is ComponentD and two message end points are described.
以上説明した本発明の実施の形態2によれば、上述した実施の形態1と同様の効果を得ることができる。 According to the second embodiment of the present invention described above, the same effect as in the first embodiment described above can be obtained.
また、本実施の形態2によれば、クラス図に対応するクラスの種類として、状態遷移機械を表すクラスに加えて、既存のソフトウェアのクラスを設けているため、従来はソースコードの中に埋もれていた部分をオブジェクトとして部品化して抽出し、再利用を容易に行うことが可能となる。 Further, according to the second embodiment, since the existing software class is provided as the class type corresponding to the class diagram in addition to the class representing the state transition machine, it is conventionally buried in the source code. The part that has been used can be extracted as an object and can be easily reused.
また、本実施の形態2によれば、状態イベント表に既存のソフトウェアのクラスを呼び出す機能を有する関数を記述しているため、モデル生成を行う際、モデル生成を行う装置が、既存のソフトウェアのソースコードを、人手を介すことなく自動的にモデルに取り込むことができる。したがって、ユーザは、既存のソフトウェアのソースコードが再利用可能であるか否かを分析しなくて済み、モデルの生成をより迅速に行うことが可能となる。 Further, according to the second embodiment, since the function having the function of calling the existing software class is described in the state event table, when the model is generated, the apparatus for generating the model Source code can be automatically imported into the model without human intervention. Therefore, the user does not need to analyze whether the source code of the existing software is reusable, and the model can be generated more quickly.
ここまで、本発明を実施するための形態を説明してきたが、本発明は上述した二つの実施の形態によってのみ限定されるべきものではない。例えば、本発明において、構造図作成部および振る舞い図作成部に対し、作成したモデル図の整合性をチェックする機能を具備させてもよい。この場合には、構造図作成部および振る舞い図作成部のチェック結果を表示部に表示させるようにすればより好ましい。 Up to this point, the mode for carrying out the present invention has been described. However, the present invention should not be limited only by the two embodiments described above. For example, in the present invention, the structure diagram creation unit and the behavior diagram creation unit may be provided with a function of checking the consistency of the created model diagram. In this case, it is more preferable to display the check results of the structure diagram creation unit and the behavior diagram creation unit on the display unit.
また、本発明は、再利用可能なソフトウェアの部品であるドメインを開発するドメインエンジニアリングと、そのドメインを用いることによって製品であるソフトウェアを開発するアプリケーションエンジニアリングとを含むプロダクトライン型のソフトウェア開発において、プロダクトライン用のアーキテクチャ(コンポーネント図)を設計するために必要なモデル図を作成する際にも有用である。 Further, the present invention provides a product line type software development including domain engineering that develops a domain that is a reusable software component and application engineering that develops software that is a product by using the domain. It is also useful when creating model diagrams necessary for designing line architecture (component diagrams).
なお、本明細書で使用した各種モデル図、状態、イベント、関数、コンポーネント、クラス、クラスタイプ等の名称は、あくまでも例示用として設定したものに過ぎない。 Note that the names of various model diagrams, states, events, functions, components, classes, class types, and the like used in this specification are merely set for illustrative purposes.
1 モデル図作成装置
2 入力部
3 表示部
4 記憶部
5 制御部
41 状態イベント表記憶部
42 作成情報記憶部
51 構造図作成部
52 振る舞い図作成部
53 要素構成図作成部
54 表示制御部
100、200、910、920、930 状態イベント表
300、400、940 クラス図
500、600 ステートマシン図
700、950 シーケンス図
801、802、803、804、807、811、812、813、814、815、821、822、960 要素構成図
805 表示画面
806 クラス図表示領域
DESCRIPTION OF
Claims (11)
モデル図における状態およびイベントの組み合わせに応じて定義される関数であってモデル図としてのクラス図および複数種類の振る舞い図の構成を定める関数、および前記クラス図に対応するクラスの種類を定義する情報が記述された状態イベント表を記憶する記憶部と、
前記記憶部が記憶する状態イベント表に基づいてクラス図を作成する構造図作成部と、
前記記憶部が記憶する状態イベント表に基づいて複数種類の振る舞い図を作成する振る舞い図作成部と、
を備えたことを特徴とするモデル図作成装置。 In a model diagram creation device that creates a model diagram necessary for generating an object-oriented model of software using a unified modeling language,
Functions that are defined according to combinations of states and events in the model diagram, functions that define the structure of the class diagram and multiple types of behavior diagrams as model diagrams, and information that defines the class types corresponding to the class diagram A storage unit for storing a state event table in which is described,
A structure diagram creating unit that creates a class diagram based on the state event table stored in the storage unit;
A behavior diagram creation unit that creates a plurality of types of behavior diagrams based on a state event table stored in the storage unit;
A model drawing creation device characterized by comprising:
前記複数種類の振る舞い図の構成を定める関数として、ステートマシン図における状態の遷移を定める関数、シーケンス図におけるメッセージの送信条件を定める関数、およびシーケンス図におけるメッセージの送信先を定める関数を含むことを特徴とする請求項1に記載のモデル図作成装置。 The state event table is:
The functions for determining the configuration of the plurality of types of behavior diagrams include a function for determining state transitions in a state machine diagram, a function for determining message transmission conditions in a sequence diagram, and a function for determining message destinations in a sequence diagram. The model diagram creation device according to claim 1, wherein
前記既存のソフトウェアに含まれる関数の情報として該関数の名称のみが記述されていることを特徴とする請求項3に記載のモデル図作成装置。 In the state event table where the class type is the class of the existing software,
4. The model diagram creating apparatus according to claim 3, wherein only the name of the function is described as information on the function included in the existing software.
前記既存のソフトウェアのクラスの関数を呼び出す機能を記述することが可能であることを特徴とする請求項3または4に記載のモデル図作成装置。 In the state event table in which the type of the class is a class representing the state transition machine,
5. The model diagram creation apparatus according to claim 3, wherein a function for calling a function of the existing software class can be described.
前記要素構成図作成部が前記要素構成図に対して要素を追加するごとに前記表示部における表示を切り換えて表示させる表示制御部と、
をさらに備えたことを特徴とする請求項6に記載のモデル図作成装置。 A display unit capable of displaying the element configuration diagram;
A display control unit that switches and displays the display in the display unit each time the element configuration diagram creation unit adds an element to the element configuration diagram;
The model diagram creation device according to claim 6, further comprising:
前記クラス図および前記複数種類の振る舞い図を表示可能であり、
前記表示制御部は、
前記構造図作成部および前記振る舞い図作成部がそれぞれ作成した前記クラス図および前記振る舞い図を作成順に前記表示部に表示させることを特徴とする請求項7に記載のモデル図作成装置。 The display unit
The class diagram and the plural types of behavior diagrams can be displayed,
The display control unit
8. The model diagram creating apparatus according to claim 7, wherein the class diagram and the behavior diagram created by the structure diagram creating unit and the behavior diagram creating unit are displayed on the display unit in the order of creation.
前記要素構成図と前記クラス図および前記振る舞い図とを並べて前記表示部に表示させることを特徴とする請求項8に記載のモデル図作成装置。 The display control unit
9. The model diagram creation apparatus according to claim 8, wherein the element configuration diagram, the class diagram, and the behavior diagram are displayed side by side on the display unit.
モデル図における状態およびイベントの組み合わせに応じて定義される関数であってモデル図としてのクラス図および複数種類の振る舞い図の構成を定める関数、および前記クラス図に対応するクラスの種類を定義する情報が記述された状態イベント表を記憶する記憶部から該状態イベント表を参照してクラス図を作成するクラス図作成ステップと、
前記記憶部から前記状態イベント表を参照して複数種類の振る舞い図を作成する振る舞い図作成ステップと、
を有することを特徴とするモデル図作成方法。 In the model diagram creation method executed by the model diagram creation device that creates the model diagram necessary for generating an object-oriented model of software using a unified modeling language,
Functions that are defined according to combinations of states and events in the model diagram, functions that define the structure of the class diagram and multiple types of behavior diagrams as model diagrams, and information that defines the class types corresponding to the class diagram A class diagram creating step for creating a class diagram with reference to the state event table from the storage unit storing the state event table in which is described,
A behavior diagram creating step of creating a plurality of types of behavior diagrams with reference to the state event table from the storage unit;
A model drawing creation method characterized by comprising:
モデル図における状態およびイベントの組み合わせに応じて定義される関数であってモデル図としてのクラス図および複数種類の振る舞い図の構成を定める関数、および前記クラス図に対応するクラスの種類を定義する情報が記述された状態イベント表を記憶する記憶部から該状態イベント表を参照してクラス図を作成するクラス図作成ステップと、
前記記憶部から前記状態イベント表を参照して複数種類の振る舞い図を作成する振る舞い図作成ステップと、
を実行させることを特徴とするモデル図作成プログラム。 In the model diagram creation device that creates the model diagram necessary for generating an object-oriented model of software using a unified modeling language,
Functions that are defined according to combinations of states and events in the model diagram, functions that define the structure of the class diagram and multiple types of behavior diagrams as model diagrams, and information that defines the class types corresponding to the class diagram A class diagram creating step for creating a class diagram with reference to the state event table from the storage unit storing the state event table in which is described,
A behavior diagram creating step of creating a plurality of types of behavior diagrams with reference to the state event table from the storage unit;
A model diagram creation program characterized by having
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012035362A JP5929297B2 (en) | 2012-02-21 | 2012-02-21 | Model diagram creation device, model diagram creation method, and model diagram creation program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012035362A JP5929297B2 (en) | 2012-02-21 | 2012-02-21 | Model diagram creation device, model diagram creation method, and model diagram creation program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013171458A JP2013171458A (en) | 2013-09-02 |
JP5929297B2 true JP5929297B2 (en) | 2016-06-01 |
Family
ID=49265340
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012035362A Expired - Fee Related JP5929297B2 (en) | 2012-02-21 | 2012-02-21 | Model diagram creation device, model diagram creation method, and model diagram creation program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5929297B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016085213A1 (en) * | 2014-11-27 | 2016-06-02 | 주식회사 엘지씨엔에스 | Computer-executable model reverse engineering method and apparatus |
KR101770292B1 (en) * | 2014-11-27 | 2017-08-22 | 주식회사 엘지씨엔에스 | Computer-executable model reverse engineering method and apparatus performing the same |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07168712A (en) * | 1993-12-15 | 1995-07-04 | Hitachi Ltd | Message sequence generator |
JPH11232085A (en) * | 1998-02-18 | 1999-08-27 | Fujitsu Ltd | Method for device for automatically generating processing sequence, and medium for recording processing sequence generation program |
JP5025098B2 (en) * | 2005-06-07 | 2012-09-12 | キヤノン株式会社 | Object-oriented program generation apparatus and information processing method |
JP4835859B2 (en) * | 2007-02-15 | 2011-12-14 | 日本電気株式会社 | State transition diagram creation device and state transition diagram creation method |
-
2012
- 2012-02-21 JP JP2012035362A patent/JP5929297B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2013171458A (en) | 2013-09-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9471204B2 (en) | System and method for data-driven web page navigation control | |
US20080010082A1 (en) | System and method for business process management | |
US20120102414A1 (en) | Distributed controller of a user interface framework for web applications | |
US20110161920A1 (en) | Graphical development tool for compensation actions and compensation scope in a process flow environment | |
EP2492806A1 (en) | Unified interface for meta model checking, modifying, and reporting | |
US20210117313A1 (en) | Language agnostic automation scripting tool | |
Rodríguez-Echeverría et al. | Modernization of legacy web applications into rich internet applications | |
US20080155406A1 (en) | Gui generation apparatus and method for generating gui | |
US10133766B2 (en) | Accessing and editing virtually-indexed message flows using structured query langauge (SQL) | |
US20090248740A1 (en) | Database form and report creation and reuse | |
JP5732992B2 (en) | Model diagram creation device, model diagram creation method, and model diagram creation program | |
JP5929297B2 (en) | Model diagram creation device, model diagram creation method, and model diagram creation program | |
US7836449B2 (en) | Extensible infrastructure for task display and launch | |
US20160170815A1 (en) | Delegating a status visualization task to a source application by a target application | |
US20130138575A1 (en) | Automated implementation of business service communication and/or linkage of executable processes through automatic generation and population of variables | |
US10031749B2 (en) | Creation of a help file | |
US11061664B2 (en) | Code management system and code management method | |
US8230353B2 (en) | Iterative development of services from WSDL | |
Kulkarni | Model driven software development: a practitioner takes stock and looks into future | |
Grundy et al. | Deployed software component testing using dynamic validation agents | |
Luyten et al. | Runtime transformations for modal independent user interface migration | |
JP2013235508A (en) | Object-oriented program generation device, method therefor, and program | |
JP2012048329A (en) | Object oriented program generating device, method therefor and program | |
US7634721B1 (en) | Composite component architecture using javaserver pages (JSP) tags | |
US20100299619A1 (en) | Model for Reusable User Interface and Logic for Software Wizards |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150114 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150831 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20151006 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20151029 |
|
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: 20160405 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160418 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5929297 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |