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 PDF

Info

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
Application number
JP2012035362A
Other languages
Japanese (ja)
Other versions
JP2013171458A (en
Inventor
剛 宮崎
剛 宮崎
和弘 曽山
和弘 曽山
杉野 一彦
一彦 杉野
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 JP2012035362A priority Critical patent/JP5929297B2/en
Publication of JP2013171458A publication Critical patent/JP2013171458A/en
Application granted granted Critical
Publication of JP5929297B2 publication Critical patent/JP5929297B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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, Patent Document 1 discloses a technique for automatically generating a state machine diagram by analyzing a source code. Patent Documents 2 and 3 disclose techniques for automatically generating a sequence diagram by analyzing a source code, respectively. According to these conventional techniques, it is possible to generate an object-oriented model reflecting one aspect of software to be developed.

特開2008−198103号公報JP 2008-198103 A 特開2004−94496号公報JP 2004-94496 A 特開2009−295021号公報JP 2009-295021 A

しかしながら、上述した従来技術では、ステートマシン図やシーケンス図等の振る舞い図を個別に作成することは可能であるものの、複数種類の振る舞い図をクラス図等の構造図とともに一括して作成することはできなかった。このため、上述した従来技術では、自動的に作成することができない振る舞い図は手作業で作成せざるを得ず、開発対象のソフトウェアの多様な側面を反映しつつ一貫性のあるオブジェクト指向モデルの生成を実現できているわけではなかった。   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.

図1は、本発明の実施の形態1に係るモデル図作成装置の機能構成を示すブロック図である。FIG. 1 is a block diagram showing a functional configuration of a model diagram creation apparatus according to Embodiment 1 of the present invention. 図2は、状態イベント表の構成例を示す図である。FIG. 2 is a diagram illustrating a configuration example of the state event table. 図3は、状態イベント表の構成例(第2例)を示す図である。FIG. 3 is a diagram illustrating a configuration example (second example) of the state event table. 図4は、図2に示す状態イベント表から作成されるクラス図の構成を示す図である。FIG. 4 is a diagram showing a configuration of a class diagram created from the state event table shown in FIG. 図5は、図3に示す状態イベント表から作成されるクラス図の構成を示す図である。FIG. 5 is a diagram showing the configuration of a class diagram created from the state event table shown in FIG. 図6は、図2に示す状態イベント表から作成されるステートマシン図の構成を示す図である。FIG. 6 is a diagram showing the configuration of a state machine diagram created from the state event table shown in FIG. 図7は、図3に示す状態イベント表から作成されるステートマシン図の構成を示す図である。FIG. 7 is a diagram showing a configuration of a state machine diagram created from the state event table shown in FIG. 図8は、図2および図3に示す状態イベント表から作成されるシーケンス図の構成を示す図である。FIG. 8 is a diagram showing a configuration of a sequence diagram created from the state event table shown in FIGS. 2 and 3. 図9は、本発明の実施の形態1に係るモデル図作成装置が行うモデル図作成方法の処理の概要を示すフローチャートである。FIG. 9 is a flowchart showing an outline of processing of a model diagram creation method performed by the model diagram creation device according to Embodiment 1 of the present invention. 図10は、本発明の実施の形態1に係るモデル図作成装置が行うクラス図の作成処理の概要を示すフローチャートである。FIG. 10 is a flowchart showing an overview of class diagram creation processing performed by the model diagram creation device according to Embodiment 1 of the present invention. 図11Aは、コンポーネントを追加した要素構成図の表示部における表示例を示す図である。FIG. 11A is a diagram illustrating a display example in the display unit of the element configuration diagram to which components are added. 図11Bは、クラス図、クラス要素を追加した状態における要素構成図の表示部における表示例を示す図である。FIG. 11B is a diagram illustrating a display example on the display unit of the element configuration diagram in a state where a class diagram and class elements are added. 図11Cは、各種関数を追加した要素構成図の表示部における表示例を示す図である。FIG. 11C is a diagram illustrating a display example in the display unit of the element configuration diagram to which various functions are added. 図11Dは、属性を追加した要素構成図の表示部における表示例を示す図である。FIG. 11D is a diagram illustrating a display example in the display unit of the element configuration diagram to which the attribute is added. 図11Eは、クラス図の表示部における表示例を示す図である。FIG. 11E is a diagram illustrating a display example in the display unit of the class diagram. 図11Fは、図3に示す状態イベント表に対して一連のクラス図作成処理を終了した要素構成図の表示部における表示例を示す図である。FIG. 11F is a diagram illustrating a display example on the display unit of the element configuration diagram in which a series of class diagram creation processing is completed for the state event table illustrated in FIG. 3. 図12は、本発明の実施の形態1に係るモデル図作成装置が行うステートマシン図の作成処理の概要を示すフローチャートである。FIG. 12 is a flowchart showing an overview of a state machine diagram creation process performed by the model diagram creation device according to Embodiment 1 of the present invention. 図13Aは、ステートマシン図の要素を追加した要素構成図の表示部における表示例を示す図である。FIG. 13A is a diagram illustrating a display example in the display unit of the element configuration diagram in which elements of the state machine diagram are added. 図13Bは、状態を追加した要素構成図の表示部における表示例を示す図である。FIG. 13B is a diagram illustrating a display example in the display unit of the element configuration diagram to which the state is added. 図13Cは、イベントを追加した要素構成図の表示部における表示例を示す図である。FIG. 13C is a diagram illustrating a display example in the display unit of the element configuration diagram to which the event is added. 図13Dは、開始要素を追加した要素構成図の表示部における表示例を示す図である。FIG. 13D is a diagram illustrating a display example in the display unit of the element configuration diagram with the start element added. 図13Eは、状態イベント表に対して一連のステートマシン図作成処理を終了した要素構成図の表示部における表示例を示す図である。FIG. 13E is a diagram illustrating a display example on the display unit of the element configuration diagram in which a series of state machine diagram creation processing is completed for the state event table. 図14は、本発明の実施の形態1に係るモデル図作成装置が行うシーケンス図の作成処理の概要を示すフローチャートである。FIG. 14 is a flowchart showing an overview of sequence diagram creation processing performed by the model diagram creation device according to Embodiment 1 of the present invention. 図15Aは、シーケンス図の要素を追加した要素構成図の表示部における表示例を示す図である。FIG. 15A is a diagram illustrating a display example in the display unit of the element configuration diagram to which elements of the sequence diagram are added. 図15Bは、メッセージ終了点の要素を追加した要素構成図の表示部における表示例を示す図である。FIG. 15B is a diagram illustrating a display example in the display unit of the element configuration diagram in which the element of the message end point is added. 図16は、本発明の実施の形態2に係るモデル図作成装置が備える状態イベント表記憶部が記憶する状態イベント表の構成例を示す図である。FIG. 16 is a diagram illustrating a configuration example of the state event table stored in the state event table storage unit included in the model diagram creating apparatus according to Embodiment 2 of the present invention. 図17は、本発明の実施の形態2に係るモデル図作成装置の状態イベント表記憶部が記憶する別な状態イベント表の構成例を示す図である。FIG. 17 is a diagram showing a configuration example of another state event table stored in the state event table storage unit of the model diagram creating apparatus according to Embodiment 2 of the present invention. 図18は、本発明の実施の形態2に係るモデル図作成装置の状態イベント表記憶部が記憶するさらに別な状態イベント表の構成例を示す図である。FIG. 18 is a diagram showing a configuration example of still another state event table stored in the state event table storage unit of the model diagram creating apparatus according to Embodiment 2 of the present invention. 図19は、本発明の実施の形態2に係るモデル図作成装置が、図18に示す状態イベント表に基づいて作成するクラス図の構成を示す図である。FIG. 19 is a diagram showing the structure of a class diagram created by the model diagram creation device according to Embodiment 2 of the present invention based on the state event table shown in FIG. 図20は、本発明の実施の形態2に係るモデル図作成装置が、図17および図18に示す状態イベント表に基づいて作成するシーケンス図の構成を示す図である。FIG. 20 is a diagram showing the configuration of a sequence diagram created by the model diagram creation device according to the second embodiment of the present invention based on the state event table shown in FIGS. 17 and 18. 図21は、本発明の実施の形態2に係るモデル図作成装置の表示部が、全てのコンポーネントを追加した要素構成図を表示する場合の表示画面例を示す図である。FIG. 21 is a diagram showing a display screen example when the display unit of the model diagram creating apparatus according to Embodiment 2 of the present invention displays an element configuration diagram with all components added.

以下、添付図面を参照して、本発明を実施するための形態(以下、「実施の形態」という)を説明する。   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 Embodiment 1 of the present invention. A model diagram creation apparatus 1 shown in FIG. 1 is an apparatus that automatically creates a model diagram necessary for generating an object-oriented model of software using a unified modeling language (UML). A model diagram creating apparatus 1 shown in FIG. 1 includes an input unit 2 realized by using an interface such as a keyboard, a mouse, and a touch panel, and a display unit configured to display various kinds of information, such as a liquid crystal or an organic EL. 3, a storage unit 4 that stores various types of information including information for creating a UML model diagram, and a control unit 5 that controls the operation of the model diagram creation device 1.

記憶部4は、モデル図作成装置1がモデル図を作成する際に参照する状態イベント表を記憶する状態イベント表記億部41と、作成されたモデル図等の情報を記憶する作成情報記憶部42とを有する。状態イベント表は、モデル図における状態とイベントとの関係を示す表であり、状態およびイベントの組み合わせに応じて定義される関数であってモデル図としての構造図および複数種類の振る舞い図の構成を定める関数が記述されたデータ構造を有している。1つのファイル(以下、コンポーネントという)には、複数の状態イベント表を記述することが可能である。状態イベント表の詳細な構成については後述する。   The storage unit 4 includes a state event notation unit 41 that stores a state event table that is referred to when the model diagram creating apparatus 1 creates a model diagram, and a creation information storage unit 42 that stores information such as the created model diagram. And have. The state event table is a table showing the relationship between states and events in the model diagram, and is a function defined according to the combination of the state and the event. The structure of the model diagram and multiple types of behavior diagrams It has a data structure in which a function to be defined is described. A plurality of state event tables can be described in one file (hereinafter referred to as a component). The detailed configuration of the state event table will be described later.

記憶部4は、本実施の形態1に係るモデル図作成プログラムや所定のOSを起動するプログラム等が予め記憶されたROM、および各処理の演算パラメータやデータ等を記憶するRAM等を用いて実現される。   The storage unit 4 is realized by using a ROM in which a model diagram creation program according to the first embodiment, a program for starting a predetermined OS, and the like are stored in advance, and a RAM in which calculation parameters and data of each process are stored. Is done.

制御部5は、状態イベント表記憶部41が記憶する状態イベント表に基づいてモデル図のうちの構造図を作成する構造図作成部51と、状態イベント表記憶部41が記憶する状態イベント表および構造図作成部51が作成した構造図をもとに複数種類の振る舞い図を作成する振る舞い図作成部52と、構造図および前記複数種類の振る舞い図を作成するために必要な情報を要素として有し、複数の要素の相互関係をツリー構造で示す要素構成図を作成する要素構成図作成部53と、表示部3における表示を制御する表示制御部54と、を有する。   The control unit 5 includes a structure diagram creating unit 51 that creates a structure diagram of the model diagram based on the state event table stored in the state event table storage unit 41, a state event table stored in the state event table storage unit 41, and Based on the structure diagram created by the structure diagram creation unit 51, a behavior diagram creation unit 52 that creates a plurality of types of behavior diagrams, and a structure diagram and information necessary to create the plurality of types of behavior diagrams are provided as elements. And an element configuration diagram creating unit 53 that creates an element configuration diagram showing the mutual relationship of a plurality of elements in a tree structure, and a display control unit 54 that controls display on the display unit 3.

本実施の形態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 control unit 5 is realized by using a CPU or the like, and is connected to each component of the model diagram creating apparatus 1 to be controlled via a bus line. The control unit 5 reads out various programs including information stored and stored in the storage unit 4 and the model diagram creation program according to the first embodiment from the storage unit 4, thereby creating a model diagram creation method according to the first embodiment. The calculation process related to is executed.

なお、本実施の形態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 diagram creating apparatus 1 having the above configuration may be realized by using one computer or may be realized by using a plurality of computers. In the latter case, it is possible to perform processing in cooperation with each other while transmitting and receiving data via a communication network such as the Internet.

図2は、状態イベント表記憶部41が記憶する状態イベント表の構成例を示す図である。同図に示す状態イベント表100は、モデル図における状態とイベントとの対応関係を与える表である。状態イベント表100は、クラス名、マトリックス、関数テーブルおよび属性テーブルを含む。   FIG. 2 is a diagram illustrating a configuration example of the state event table stored in the state event table storage unit 41. A state event table 100 shown in the figure is a table that provides a correspondence relationship between states and events in the model diagram. The state event table 100 includes a class name, a matrix, a function table, and an attribute table.

クラス名は、表中で[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)”. “State 1” and “State 2” are Japanese state names, and “STATE 1” and “STATE 2” are displayed in the model diagram, respectively. The state event table 100 includes two events “event 11 (E11)” and “event 12 (E12)”. “Event 11” and “Event 12” are state names in Japanese, and “E11” and “E12” are displayed in the model diagram, respectively. Hereinafter, the elements of the matrix are referred to as cells.

状態とイベントによって定まるセルの内部には、具体的な状態とイベントとの関係が記述されている。図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 (argument 1, argument 2,...) Is described.
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 state 1 and the event 11. The contents of the response function [f_Action11] will be described. The condition function in the Condition tag is Conditon11. The action name of the transition defined by the Logic tag is Action11. The class name of the transmission destination defined by the Messege tag is ComponentB, and the event function name is event 21. The transition destination state defined by the TransitionState tag is state 2.

状態1およびイベント12の組み合わせに対応するセルには、応答関数[f_Non]が定義されている。この応答関数[f_Non]は、いかなる処理も行わないこと(無処理)を意味する。   A response function [f_Non] is defined in the cell corresponding to the combination of the state 1 and the event 12. This response function [f_Non] means that no processing is performed (no processing).

状態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 state 2 and the event 11. The contents of the response function [f_Action13] will be described. The action name of the transition defined by the Logic tag is Action13. The class name of the transmission destination defined by the Message tag is ComponentB, and the event function name is event 22.

状態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 state 2 and the event 12. The contents of the response function [f_Action12] will be described. The condition function in the Condition tag is Conditon12. The action name of the transition defined by the Logic tag is Action12. The class name of the transmission destination defined by the Message tag is ComponentB, and the event function name is event 22. The transition destination state defined by the TransitionState tag is state 1.

状態イベント表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 table storage unit 41. In the state event table 200 shown in the figure, the class name ([Class_Name]) is ComponentB. The state event table 200 includes three states “state 3 (STATE 3)”, “state 4 (STATE 4)”, and “state 5 (STATE 5)”. The state event table 200 includes two events “event 21 (E21)” and “event 22 (E22)”.

状態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 state 3 and the event 21. In this response function [f_Action21], the action name of the transition defined by the Logic tag is Action21, and the state of the transition destination defined by the TransitionState tag is state 4.

状態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 state 3 and the event 22. In this response function [f_Action24], the transition action name defined by the Logic tag is Action24, and the transition destination state defined by the TransitionState tag is state 5.

状態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 state 4 and the event 21. In this response function [f_Action22], the action name of the transition defined by the Logic tag is Action22, and the state of the transition destination defined by the TransitionState tag is state 5.

状態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 state 4 and the event 22. In this response function [f_Action26], the action name of the transition defined by the Logic tag is Action26, and the state of the transition destination defined by the TransitionState tag is state 3.

状態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 state 5 and the event 21. In this response function [f_Action23], the action name of the transition defined by the Logic tag is Action23, and the state of the transition destination defined by the TransitionState tag is state 3.

状態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 state 5 and the event 22. In this response function [f_Action25], the action name of the transition defined by the Logic tag is Action25, and the state of the transition destination defined by the TransitionState tag is state 4.

以上説明した応答関数[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 diagram creation apparatus 1 based on the state event tables 100 and 200 will be described.

図4は、モデル図作成装置1が、状態イベント表100から作成するクラス図の構成を示す図である。同図に示すクラス図300は、最上部にクラス名ComponentAが記述されている。クラス名の下方には、属性名attrを有する属性に関する情報が追加されている。   FIG. 4 is a diagram showing a configuration of a class diagram created by the model diagram creation device 1 from the state event table 100. In the class diagram 300 shown in the figure, the class name ComponentA is described at the top. Information related to the attribute having the attribute name attr is added below the class name.

属性の下方には、他のクラスから利用される関数(関数名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 diagram creation device 1 from the state event table 200. In the class diagram 400 shown in the figure, the class name ComponentB is described at the top. An attribute is added below the class name, but nothing is described because this class has no attribute. Below the attribute, two event functions (function names E21, E22) are described in the item << Event >>. In the item << Action >>, six event response functions (function names Action21, Action22, Action23, Action24, Action25, Action26) are described.

図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 diagram creation device 1. The state machine diagram 500 shown in the figure is a diagram showing a transition between the state 1 (STATE 1) and the state 2 (STATE 2).

状態1から状態2への遷移は、イベントE11をトリガとし、条件Condition11の下でアクション名Action11で遷移する。この遷移は、状態イベント表100の状態1およびイベント11の組み合わせに対応するセルのConditionタグおよびLogicタグに記述されている。   The transition from the state 1 to the state 2 is triggered by the event E11 and transitions with the action name Action11 under the condition Condition11. This transition is described in the Condition tag and Logic tag of the cell corresponding to the combination of state 1 and event 11 in the state event table 100.

状態2から状態1への遷移は、イベントE12をトリガとし、条件Condition12の下でアクション名Action12で遷移する。この遷移は、状態イベント表100の状態2およびイベント12の組み合わせに対応するセルのConditionタグおよびLogicタグに記述されている。   The transition from the state 2 to the state 1 is triggered by the event E12 and transitions with the action name Action12 under the condition Condition12. This transition is described in the Condition tag and Logic tag of the cell corresponding to the combination of state 2 and event 12 in the state event table 100.

状態2から状態2への遷移は、イベントE11をトリガとし、無条件でアクション名Action13で遷移する。この遷移は、状態イベント表100の状態2およびイベント11の組み合わせに対応するセルのLogicタグに記述されている。   The transition from the state 2 to the state 2 is triggered by the event E11 and unconditionally changes with the action name Action13. This transition is described in the logic tag of the cell corresponding to the combination of state 2 and event 11 in the state event table 100.

ステートマシン図500の初期状態は、状態イベント表100のマトリックスに含まれる状態の中で一番上に位置する状態1である。   The initial state of the state machine diagram 500 is state 1 located at the top of the states included in the matrix of the state event table 100.

図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 diagram creation device 1. A state machine diagram 600 shown in the figure is a diagram showing a mutual transition between the state 3 (STATE 3), the state 4 (STATE 4), and the state 5 (STATE 5).

状態3から状態4への遷移は、イベントE21をトリガとし、アクション名Action21で遷移する。この遷移は、状態イベント表200の状態3およびイベント21の組み合わせに対応するセルのLogicタグに記述されている。   The transition from the state 3 to the state 4 is triggered by the event E21 and the action name Action21. This transition is described in the logic tag of the cell corresponding to the combination of state 3 and event 21 in the state event table 200.

状態4から状態5への遷移は、イベントE21をトリガとし、アクション名Action22で遷移する。この遷移は、状態イベント表200の状態4およびイベント21の組み合わせに対応するセルのLogicタグに記述されている。   The transition from the state 4 to the state 5 is triggered by the event E21 and the action name Action22. This transition is described in the logic tag of the cell corresponding to the combination of state 4 and event 21 in the state event table 200.

状態5から状態3への遷移は、イベントE21をトリガとし、アクション名Action23で遷移する。この遷移は、状態イベント表200の状態5およびイベント21の組み合わせに対応するセルのLogicタグに記述されている。   The transition from the state 5 to the state 3 is triggered by the event E21 and the action name Action23. This transition is described in the logic tag of the cell corresponding to the combination of the state 5 and the event 21 in the state event table 200.

状態3から状態5への遷移は、イベントE22をトリガとし、アクション名Action24で遷移する。この遷移は、状態イベント表200の状態3およびイベント22の組み合わせに対応するセルのLogicタグに記述されている。   Transition from the state 3 to the state 5 is triggered by the event E22 and the action name Action24. This transition is described in the logic tag of the cell corresponding to the combination of state 3 and event 22 in the state event table 200.

状態5から状態4への遷移は、イベントE22をトリガとし、アクション名Action25で遷移する。この遷移は、状態イベント表200の状態5およびイベント22の組み合わせに対応するセルのLogicタグに記述されている。   The transition from the state 5 to the state 4 is triggered by the event E22 and the action name Action25. This transition is described in the logic tag of the cell corresponding to the combination of the state 5 and the event 22 in the state event table 200.

状態4から状態3への遷移は、イベントE22をトリガとし、アクション名Action26で遷移する。この遷移は、状態イベント表200の状態4およびイベント22との組み合わせに対応するセルのLogicタグに記述されている。   The transition from the state 4 to the state 3 is triggered by the event E22 and the action name Action26. This transition is described in the logic tag of the cell corresponding to the combination of the state 4 and the event 22 in the state event table 200.

ステートマシン図600の初期状態は、状態イベント表200のマトリックスに含まれる状態の中で一番上に位置する状態3である。   The initial state of the state machine diagram 600 is state 3 located at the top of the states included in the matrix of the state event table 200.

図8は、モデル図作成装置1が、状態イベント表100および200から作成するシーケンス図の構成を示す図である。同図に示すシーケンス図700は、クラス名ComponentAからクラス名ComponentBへのメッセージの流れを与える図である。   FIG. 8 is a diagram showing the configuration of a sequence diagram created by the model diagram creating apparatus 1 from the state event tables 100 and 200. A sequence diagram 700 shown in the figure is a diagram for giving a message flow from the class name ComponentA to the class name ComponentB.

状態1およびイベント11の組み合わせに関連するメッセージとして、イベント21が条件Condition11の下でクラス名ComponentBへ送信される。このメッセージ送信については、状態イベント表100の状態1およびイベント11の組み合わせに対応するセルのMessageタグに記述されている。   As a message related to the combination of the state 1 and the event 11, the event 21 is transmitted to the class name ComponentB under the condition Condition11. This message transmission is described in the Message tag of the cell corresponding to the combination of state 1 and event 11 in the state event table 100.

状態2およびイベント11の組み合わせに関連するメッセージとして、イベント22が無条件でクラス名ComponentBへ送信される。このメッセージ送信については、状態イベント表100の状態2およびイベント11の組み合わせに対応するセルのMessageタグに記述されている。   As a message related to the combination of the state 2 and the event 11, the event 22 is unconditionally transmitted to the class name ComponentB. This message transmission is described in the Message tag of the cell corresponding to the combination of state 2 and event 11 in the state event table 100.

状態2およびイベント12の組み合わせに関連するメッセージとして、イベント22が条件Condition12の下でクラス名ComponentBへ送信される。このメッセージ送信については、状態イベント表100の状態2およびイベント12の組み合わせに対応するセルのMessageタグに記述されている。   As a message related to the combination of the state 2 and the event 12, the event 22 is transmitted to the class name ComponentB under the condition Condition12. This message transmission is described in the Message tag of the cell corresponding to the combination of state 2 and event 12 in the state event table 100.

図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 diagram creation device 1. When the model diagram creation apparatus 1 receives a model diagram creation instruction signal from the input unit 2 (step S1: Yes), the class diagram (step S2), the state machine diagram (step S3), and the sequence diagram (step S4) Are created sequentially. When the model diagram creation instruction signal is not input (step S1: No), the model diagram creation device 1 repeats step S1. The order of creating the state machine diagram and the sequence diagram may be reversed. Hereinafter, the processing of steps S2 to S4 will be described in detail.

図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 diagram creation device 1. It is assumed that a folder for model diagrams is generated in advance in the storage unit 4 of the model diagram creating apparatus 1 by input from the input unit 2. Hereinafter, the folder name of this folder is “Architecture”.

まず、要素構成図作成部53は、状態イベント表が記述された全てのコンポーネントを要素構成図に追加する(ステップS11)。一例として、コンポーネント名Componentというコンポーネントに、図2に示す状態イベント表100および図3に示す状態イベント表200が個別の領域に記述されている場合を説明する。図11Aは、表示部3が表示制御部54の制御のもとでコンポーネントを追加した要素構成図を表示する場合の表示例を示す図である。図11Aに示す要素構成図801では、破線で囲んだ領域(以下、破線領域という)に示すように、Componentの下層構造として、2つの状態イベント表に対応するコンポーネント(ComponentA,ComponentB)が記述されている。なお、破線領域は追加された箇所を明記するために便宜的に設けたものに過ぎず、表示部3で実際に表示されない。   First, the element configuration diagram creation unit 53 adds all components in which the state event table is described to the element configuration diagram (step S11). As an example, a case will be described in which the state event table 100 shown in FIG. 2 and the state event table 200 shown in FIG. FIG. 11A is a diagram illustrating a display example when the display unit 3 displays an element configuration diagram in which components are added under the control of the display control unit 54. In the element configuration diagram 801 shown in FIG. 11A, components (ComponentA and ComponentB) corresponding to two state event tables are described as a lower layer structure of Component, as shown in an area surrounded by a broken line (hereinafter referred to as a broken line area). ing. It should be noted that the broken line area is merely provided for convenience in order to clearly indicate the added portion, and is not actually displayed on the display unit 3.

モデル図作成装置1は、以下に説明するステップS12〜S16の処理を全ての状態イベント表に対して行う。まず、ステップS12において、構造図作成部51および要素構成図作成部53は、クラス図、クラス要素を追加する(ステップS12)。この際、構造図作成部51は、クラス図にクラス要素を追加する処理を行う。また、要素構成図作成部53は、要素構成図に対してクラス図、クラス要素を追加する。例えば、状態イベント表100に対して処理を行う場合、ComponentAというクラス図、クラス要素を追加する。図11Bは、要素構成図作成部53がクラス図、クラス要素を追加した要素構成図の表示部3における表示例を示す図である。図11Bに示す要素構成図802では、図11Aに示す要素構成図801に対し、異なるアイコンを有するクラス図とクラス要素が追加されている(破線領域を参照)。   The model diagram creating apparatus 1 performs the processes of steps S12 to S16 described below for all the state event tables. First, in step S12, the structural diagram creation unit 51 and the element configuration diagram creation unit 53 add a class diagram and class elements (step S12). At this time, the structure diagram creating unit 51 performs a process of adding a class element to the class diagram. In addition, the element configuration diagram creating unit 53 adds a class diagram and class elements to the element configuration diagram. For example, when processing is performed on the state event table 100, a class diagram and class elements called ComponentA are added. FIG. 11B is a diagram illustrating a display example on the display unit 3 of the element configuration diagram to which the element configuration diagram creation unit 53 has added a class diagram and class elements. In the element configuration diagram 802 shown in FIG. 11B, a class diagram and class elements having different icons are added to the element configuration diagram 801 shown in FIG. 11A (see the broken line area).

その後、構造図作成部51および要素構成図作成部53は、各種関数をクラス図および要素構成図に対して追加する(ステップS13)。例えば、状態イベント表100に対して処理を行う場合、各種関数としては、イベント関数E11,E12,条件関数Condition11,Condition12,イベント応答関数Action11,Action12,Action13,および他クラスから利用される関数Get,Setが追加される。図11Cは、各種関数を追加した要素構成図の表示部3における表示例を示す図である。図11Cに示す要素構成図803では、図11Bに示す要素構成図802に対し、上述した各種関数が追加されている(破線領域を参照)。   Thereafter, the structural diagram creation unit 51 and the element configuration diagram creation unit 53 add various functions to the class diagram and the element configuration diagram (step S13). For example, when processing is performed on the state event table 100, various functions include event functions E11 and E12, condition functions Condition11 and Condition12, event response functions Action11, Action12 and Action13, and functions Get from other classes. Set is added. FIG. 11C is a diagram illustrating a display example on the display unit 3 of the element configuration diagram to which various functions are added. In the element configuration diagram 803 illustrated in FIG. 11C, the above-described various functions are added to the element configuration diagram 802 illustrated in FIG. 11B (see the broken line area).

続いて、構造図作成部51および要素構成図作成部53は、属性を追加する(ステップS14)。例えば、状態イベント表100の場合、属性attrが追加される。図11Dは、属性を追加した要素構成図の表示部3における表示例を示す図である。図11Dに示す要素構成図804では、図11Cに示す要素構成図803に対し、属性attrが追加されている(破線領域を参照)。   Subsequently, the structural diagram creation unit 51 and the element configuration diagram creation unit 53 add attributes (step S14). For example, in the case of the state event table 100, an attribute attr is added. FIG. 11D is a diagram illustrating a display example on the display unit 3 of the element configuration diagram to which the attribute is added. In the element configuration diagram 804 illustrated in FIG. 11D, an attribute attr is added to the element configuration diagram 803 illustrated in FIG. 11C (see the broken line area).

この後、表示制御部54は、構造図作成部51が作成したクラス図を表示部3に表示させる(ステップS15)。図11Eは、表示部3におけるクラス図の表示例を示す図である。同図に示す表示画面805は、状態イベント表100に基づいて構造図作成部51が作成したクラス図300を表示するクラス図表示領域806と、要素構成図作成部53が作成した要素構成図804とを並べて表示している。クラス図表示領域806の最上部には、クラス図名(ComponentA)が表示されている。   Thereafter, the display control unit 54 causes the display unit 3 to display the class diagram created by the structural diagram creation unit 51 (step S15). FIG. 11E is a diagram showing a display example of the class diagram on the display unit 3. The display screen 805 shown in the figure includes a class diagram display area 806 for displaying a class diagram 300 created by the structure diagram creation unit 51 based on the state event table 100, and an element configuration diagram 804 created by the element configuration diagram creation unit 53. Are displayed side by side. A class diagram name (Component A) is displayed at the top of the class diagram display area 806.

構造図作成部51は、作成したクラス図を作成情報記憶部42に記憶させる(ステップS16)。なお、モデル図作成装置1は、ステップS16の処理を、ステップS15の前に行ってもよいし、ステップS15と並行して行ってもよい。   The structural diagram creation unit 51 stores the created class diagram in the creation information storage unit 42 (step S16). Note that the model diagram creating apparatus 1 may perform the process of step S16 before step S15 or in parallel with step S15.

モデル図作成装置1は、以上説明したステップS12〜S16の処理を全ての状態イベント表に対して行う。図11Fは、要素構成図作成部53が状態イベント表200に対してステップS14までの処理を終了した要素構成図の表示部3における表示例を示す図である。図11Fに示す要素構成図807は、図11Dに示す要素構成図804に対し、ComponentBに関するクラス図のツリー構造が追加されている(破線領域を参照)。なお、この場合にも、ステップS15において、要素構成図807とクラス図400が表示部3で並列表示される。   The model diagram creating apparatus 1 performs the processes of steps S12 to S16 described above for all the state event tables. FIG. 11F is a diagram illustrating a display example on the display unit 3 of the element configuration diagram in which the element configuration diagram creation unit 53 has completed the processing up to step S14 for the state event table 200. In the element configuration diagram 807 illustrated in FIG. 11F, a tree structure of a class diagram related to ComponentB is added to the element configuration diagram 804 illustrated in FIG. 11D (see the broken line area). Also in this case, the element configuration diagram 807 and the class diagram 400 are displayed in parallel on the display unit 3 in step S15.

モデル図作成装置1は、全ての状態イベント表に対してクラス図の作成処理が終了した場合、図9に示すメインルーチンへ戻る。   The model diagram creation apparatus 1 returns to the main routine shown in FIG. 9 when class diagram creation processing is completed for all the state event tables.

次に、ステートマシン図の作成処理(ステップ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 diagram creation device 1. This state machine diagram creation process is also repeated for all state event tables.

まず、振る舞い図作成部52および要素構成図作成部53は、ステートマシン図を追加する(ステップS21)。具体的には、振る舞い図作成部52は、クラス図と同じ名称のステートマシン図の作成を開始する。一方、要素構成図作成部53は、要素構成図のクラス図の要素の下層にステートマシン図の要素を追加する。図13Aは、ステートマシン図の要素を追加した要素構成図の表示部3における表示例を示す図である。図13Aに示す要素構成図811では、図11Fに示す要素構成図807に対し、クラス図の要素の下層にComponentAのステートマシン図の要素が追加されている(破線領域を参照)。   First, the behavior diagram creation unit 52 and the element configuration diagram creation unit 53 add a state machine diagram (step S21). Specifically, the behavior diagram creation unit 52 starts creating a state machine diagram having the same name as the class diagram. On the other hand, the element configuration diagram creation unit 53 adds an element of the state machine diagram to a layer below the element of the class diagram of the element configuration diagram. FIG. 13A is a diagram illustrating a display example on the display unit 3 of the element configuration diagram to which elements of the state machine diagram are added. In the element configuration diagram 811 illustrated in FIG. 13A, the element of the state machine diagram of Component A is added to the lower layer of the element of the class diagram with respect to the element configuration diagram 807 illustrated in FIG. 11F (see the broken line area).

続いて、振る舞い図作成部52および要素構成図作成部53は、ステートマシン図に必要な全ての状態を追加する(ステップS22)。例えば、状態イベント表100に対して処理を行う場合、状態1(STATE1)および状態2(STATE2)が追加される。図13Bは、状態イベント表100に対して状態を追加した要素構成図の表示部3における表示例を示す図である。図13Bに示す要素構成図812では、図13Aに示す要素構成図811に対し、2つの状態の要素STATE1, STATE2が追加されている(破線領域を参照)。   Subsequently, the behavior diagram creation unit 52 and the element configuration diagram creation unit 53 add all necessary states to the state machine diagram (step S22). For example, when processing is performed on the state event table 100, state 1 (STATE1) and state 2 (STATE2) are added. FIG. 13B is a diagram illustrating a display example on the display unit 3 of the element configuration diagram in which a state is added to the state event table 100. In the element configuration diagram 812 shown in FIG. 13B, two state elements STATE1 and STATE2 are added to the element configuration diagram 811 shown in FIG. 13A (see the broken line area).

この後、振る舞い図作成部52および要素構成図作成部53は、状態イベント表のイベント名から、クラスの下のトリガ要素として、ステートマシン図に必要な全てのイベントを追加する(ステップS23)。例えば、状態イベント表100の場合には、イベントE11,E12を追加する。図13Cは、イベントを追加した要素構成図の表示部3における表示例を示す図である。図13Cに示す要素構成図813は、図13Bに示す要素構成図812に対し、2つのイベントが追加されている(破線領域を参照)。   Thereafter, the behavior diagram creation unit 52 and the element configuration diagram creation unit 53 add all the events necessary for the state machine diagram as trigger elements under the class from the event names in the state event table (step S23). For example, in the case of the state event table 100, events E11 and E12 are added. FIG. 13C is a diagram illustrating a display example on the display unit 3 of the element configuration diagram to which the event is added. In the element configuration diagram 813 illustrated in FIG. 13C, two events are added to the element configuration diagram 812 illustrated in FIG. 13B (see the broken line area).

続いて、振る舞い図作成部52は、ステートマシン図に必要な全ての遷移を追加する(ステップS24)。例えば、状態イベント表100に対して処理を行う場合、状態1から状態2への遷移と、状態2から状態1への遷移が追加される。この処理は、状態イベント表においてTransitionStateタグが記述されたセルに対応する状態を遷移元状態(ソース)とし、TransitionStateタグの内容を遷移先状態(ターゲット)として遷移を追加することに相当する。この処理は、要素構成図には反映されない。   Subsequently, the behavior diagram creation unit 52 adds all necessary transitions to the state machine diagram (step S24). For example, when processing is performed on the state event table 100, a transition from state 1 to state 2 and a transition from state 2 to state 1 are added. This process corresponds to adding a transition with the state corresponding to the cell in which the TransitionState tag is described in the state event table as the transition source state (source) and the content of the TransitionState tag as the transition destination state (target). This process is not reflected in the element configuration diagram.

この後、振る舞い図作成部52は、ステップS24で追加した遷移に対して、イベント名、条件、およびアクションを追加する(ステップS25)。例えば、状態イベント表100に対して処理を行う場合、まず状態1から状態2への遷移に対し、イベント名E11,条件名Condition11,アクションAction11を追加する。この処理では、状態イベント表においてTransitionStateタグが記述されたセルに対応するイベント名を名前とする遷移のトリガを追加する。また、状態イベント表においてConditionタグが記述されたセルがある場合、Conditionタグの属性名Funcの値をガード関数名として遷移のガードを追加する。また、Logicタグの内容をアクションにする。この処理も、要素構成図には反映されない。   Thereafter, the behavior diagram creation unit 52 adds an event name, a condition, and an action to the transition added in Step S24 (Step S25). For example, when processing is performed on the state event table 100, an event name E11, a condition name Condition11, and an action Action11 are first added to the transition from state 1 to state 2. In this process, a transition trigger whose name is an event name corresponding to a cell in which a TransitionState tag is described in the state event table is added. If there is a cell in which a Condition tag is described in the state event table, a transition guard is added with the value of the attribute name Func of the Condition tag as the guard function name. In addition, the content of Logic tag is made into an action. This process is also not reflected in the element configuration diagram.

続いて、振る舞い図作成部52および要素構成図作成部53は、開始要素を追加する(ステップS26)。具体的には、モデル図作成装置1は、状態イベント表の一番上の状態を初期状態として、開始要素から初期状態への遷移を追加する。例えば、状態イベント表100に対して処理を行う場合、初期状態はSTATE1である。図13Dは、開始要素を追加した要素構成図の表示部3における表示例を示す図である。図13Dに示す要素構成図814は、図13Cに示す要素構成図813に対し、開始要素が追加されている(破線領域を参照)。   Subsequently, the behavior diagram creation unit 52 and the element configuration diagram creation unit 53 add a start element (step S26). Specifically, the model diagram creating apparatus 1 uses the top state of the state event table as an initial state and adds a transition from the start element to the initial state. For example, when processing is performed on the state event table 100, the initial state is STATE1. FIG. 13D is a diagram illustrating a display example on the display unit 3 of the element configuration diagram to which the start element is added. In the element configuration diagram 814 illustrated in FIG. 13D, a start element is added to the element configuration diagram 813 illustrated in FIG. 13C (see the broken line area).

この後、表示制御部54は、振る舞い図作成部52が作成したステートマシン図を表示部3に表示させる(ステップS27)。例えば、状態イベント表100に対して、表示制御部54は、図6に示すステートマシン図500を要素構成図814とともに表示部3に並列表示させる。   Thereafter, the display control unit 54 causes the display unit 3 to display the state machine diagram created by the behavior diagram creation unit 52 (step S27). For example, for the state event table 100, the display control unit 54 causes the display unit 3 to display the state machine diagram 500 shown in FIG.

振る舞い図作成部52は、作成したステートマシン図を作成情報記憶部42に記憶させる(ステップS28)。なお、モデル図作成装置1は、ステップS28の処理を、ステップS27の前に行ってもよいし、ステップS27と並行して行ってもよい。   The behavior diagram creation unit 52 stores the created state machine diagram in the creation information storage unit 42 (step S28). Note that the model diagram creating apparatus 1 may perform the process of step S28 before step S27 or in parallel with step S27.

モデル図作成装置1は、以上説明したステップS21〜S28の処理を全ての状態イベント表に対して行う。図13Eは、状態イベント表200に対して一連のステートマシン図作成処理(ステップS21〜S28の処理)を終了した要素構成図の表示部3における表示例を示す図である。同図に示す要素構成図815は、図13Dに示す要素構成図814に対し、ComponentBに関するステートマシン図のツリー構造が追加されている(破線領域を参照)。なお、この場合にも、表示制御部54は、要素構成図815およびステートマシン図600を表示部3で並列表示させる。   The model diagram creating apparatus 1 performs the processes of steps S21 to S28 described above for all the state event tables. FIG. 13E is a diagram showing a display example on the display unit 3 of the element configuration diagram that has completed a series of state machine diagram creation processing (processing in steps S21 to S28) for the state event table 200. In the element configuration diagram 815 shown in the figure, a tree structure of a state machine diagram related to Component B is added to the element configuration diagram 814 shown in FIG. 13D (see the broken line area). Also in this case, the display control unit 54 causes the display unit 3 to display the element configuration diagram 815 and the state machine diagram 600 in parallel.

モデル図作成装置1は、全ての状態イベント表に対してステートマシン図の作成処理を終了した場合、図9に示すメインルーチンへ戻る。   The model diagram creation apparatus 1 returns to the main routine shown in FIG. 9 when the state machine diagram creation processing has been completed for all the state event tables.

次に、シーケンス図の作成処理(ステップ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 diagram creation device 1. Also for the sequence diagram creation process, the process is repeated for all state event tables.

まず、制御部5は、状態イベント表にMessageタグの記述の有無を確認する(ステップS31)。状態イベント表にMessageタグの記述がある場合(ステップS31:Yes)、制御部5はステップS32へ移行する。一方、状態イベント表にMessageタグの記述がない場合(ステップS31:No)、制御部5は他の状態イベント表に対する処理へ移行する。例えば、状態イベント表100はMessageタグの記述がある場合であり、状態イベント表200はMessageタグの記述がない場合に相当する。   First, the control unit 5 confirms whether or not a Message tag is described in the state event table (step S31). When the message tag is described in the state event table (step S31: Yes), the control unit 5 proceeds to step S32. On the other hand, when the message tag is not described in the state event table (step S31: No), the control unit 5 proceeds to processing for another state event table. For example, the state event table 100 corresponds to a case where a Message tag is described, and the state event table 200 corresponds to a case where a Message tag is not described.

ステップS32において、振る舞い図作成部52および要素構成図作成部53は、シーケンス図を追加する(ステップS32)。ここで、振る舞い図作成部52は、所定の名称を有するシーケンス図の作成を開始し、要素構成図作成部53は、要素構成図のコンポーネントの要素の下層に上述した名称を要素名とするシーケンス図の要素を追加する。図15Aは、シーケンス図の要素を追加した要素構成図の表示部3における表示例を示す図である。図15Aに示す要素構成図821は、図13Eに示す要素構成図815に対し、シーケンス図の要素が追加されている(破線領域を参照)。本実施の形態1では、シーケンス図の名称をComponentCとして新たに生成しているが、名称の設定の仕方は任意である。   In step S32, the behavior diagram creation unit 52 and the element configuration diagram creation unit 53 add a sequence diagram (step S32). Here, the behavior diagram creation unit 52 starts creating a sequence diagram having a predetermined name, and the element configuration diagram creation unit 53 uses the above-described name as the element name in the lower layer of the component of the component configuration diagram. Add diagram elements. FIG. 15A is a diagram illustrating a display example on the display unit 3 of the element configuration diagram to which elements of the sequence diagram are added. In the element configuration diagram 821 shown in FIG. 15A, elements of the sequence diagram are added to the element configuration diagram 815 shown in FIG. 13E (see the broken line area). In the first embodiment, the name of the sequence diagram is newly generated as ComponentC, but the method of setting the name is arbitrary.

続いて、振る舞い図作成部52は、状態イベント表における送信元のクラスをシーケンス図に追加する(ステップS33)。例えば、状態イベント表100に対して処理を行う場合には、クラス名ComponentAのクラスが追加される。この処理は、要素構成図の記述には反映されない。   Subsequently, the behavior diagram creation unit 52 adds the transmission source class in the state event table to the sequence diagram (step S33). For example, when processing is performed on the state event table 100, a class with the class name ComponentA is added. This process is not reflected in the description of the element configuration diagram.

この後、振る舞い図作成部52および要素構成図作成部53は、メッセージ終了点の要素を追加する(ステップS34)。図15Bは、メッセージ終了点の要素を追加した要素構成図の表示部3における表示例を示す図である。図15Bに示す要素構成図822は、図15Aに示す要素構成図821に対し、3つのメッセージ終了点(黒丸で表示)が追加されている(破線領域を参照)。   Thereafter, the behavior diagram creation unit 52 and the element configuration diagram creation unit 53 add an element of the message end point (step S34). FIG. 15B is a diagram illustrating a display example on the display unit 3 of the element configuration diagram in which the element of the message end point is added. In the element configuration diagram 822 shown in FIG. 15B, three message end points (indicated by black circles) are added to the element configuration diagram 821 shown in FIG. 15A (see the broken line area).

続いて、振る舞い図作成部52は、メッセージ終了点からステップS33で追加した送信元のクラスへのメッセージを追加する(ステップS35)。ここでのメッセージ名は、「状態名/イベント名(引数)」の形式で記述する。例えば、状態イベント表100に対して処理を行う場合には、3つのセルにMessageタグが記述されている。このため、振る舞い図作成部52は、3つのメッセージを追加する。各メッセージのメッセージ名は、「STATE1/E11()」、「STATE2/E11()」、「STATE2/E12()」である。この処理は、要素構成図の記述には反映されない。   Subsequently, the behavior diagram creation unit 52 adds a message from the message end point to the transmission source class added in step S33 (step S35). The message name here is described in the format of “state name / event name (argument)”. For example, when processing is performed on the state event table 100, Message tags are described in three cells. For this reason, the behavior diagram creation unit 52 adds three messages. The message names of each message are “STATE1 / E11 ()”, “STATE2 / E11 ()”, and “STATE2 / E12 ()”. This process is not reflected in the description of the element configuration diagram.

この後、振る舞い図作成部52は、送信先のクラス名に対応するクラスをシーケンス図に追加する(ステップS36)。例えば、状態イベント表100の場合、送信先のクラス名はComponentBである。この処理も要素構成図の記述には反映されない。なお、状態イベント表で送信先のクラスが指定されていない場合には、送信先のクラス名を既存資産(レガシー)とすることも可能である。   Thereafter, the behavior diagram creation unit 52 adds a class corresponding to the class name of the transmission destination to the sequence diagram (step S36). For example, in the case of the state event table 100, the class name of the transmission destination is ComponentB. This process is not reflected in the description of the element configuration diagram. If the destination class is not specified in the status event table, the destination class name can be an existing asset (legacy).

続いて、振る舞い図作成部52は、送信先のクラスへのメッセージを追加する(ステップS37)。ここでのメッセージ名は、「[条件]:イベント名(引数)」の形式で記述する。条件がない場合には、「イベント名(引数)」のみ記述する。例えば、状態イベント表100に対して処理を行う場合、3つのセルにMessageタグが記述されている。このため、振る舞い図作成部52は、3つのセルに対応して「[Condition11]:E21()」、「E22()」、「[Condition12]:E22()」という3つのメッセージを対応する箇所に追加する。この処理も要素構成図の記述には反映されない。   Subsequently, the behavior diagram creation unit 52 adds a message to the transmission destination class (step S37). The message name here is described in the format of “[condition]: event name (argument)”. If there are no conditions, describe only "event name (argument)". For example, when processing is performed on the state event table 100, Message tags are described in three cells. For this reason, the behavior diagram creation unit 52 corresponds to three messages “[Condition11]: E21 ()”, “E22 ()”, and “[Condition12]: E22 ()”. Add to This process is not reflected in the description of the element configuration diagram.

この後、表示制御部54は、振る舞い図作成部52が作成したシーケンス図を表示部3に表示させる(ステップS38)。例えば、状態イベント表100に対しては、図8に示すシーケンス図700が、図15Bに示す要素構成図822とともに表示される。   Thereafter, the display control unit 54 causes the display unit 3 to display the sequence diagram created by the behavior diagram creation unit 52 (step S38). For example, for the state event table 100, the sequence diagram 700 shown in FIG. 8 is displayed together with the element configuration diagram 822 shown in FIG. 15B.

振る舞い図作成部52は、作成したシーケンス図を作成情報記憶部42に記憶させる(ステップS39)。なお、モデル図作成装置1は、ステップS39の処理を、ステップS38の前に行ってもよいし、ステップS38と並行して行ってもよい。   The behavior diagram creation unit 52 stores the created sequence diagram in the creation information storage unit 42 (step S39). Note that the model diagram creating apparatus 1 may perform the process of step S39 before step S38 or in parallel with step S38.

モデル図作成装置1が全ての状態イベント表に対してシーケンス図の作成処理を終了した場合、要素構成図作成部53は、要素構成図を作成情報記憶部42に記憶させる(ステップS40)。その後、モデル図作成装置1は、図9に示すメインルーチンへ戻る。   When the model diagram creation device 1 finishes the sequence diagram creation processing for all the state event tables, the element configuration diagram creation unit 53 stores the element configuration diagram in the creation information storage unit 42 (step S40). Thereafter, the model diagram creating apparatus 1 returns to the main routine shown in FIG.

以上説明した本発明の実施の形態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 diagram creating apparatus 1 described in the first embodiment.

本実施の形態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 (argument 1, argument 2, ...) </ Call>
Is described. It is possible to describe multiple Call tags in one cell. When the Call tag is described in the cell, the behavior diagram creation unit 52 adds the element of the class corresponding to the class name as a link destination to the sequence diagram. Unlike the Messege tag, the Call tag is a destination software class.

図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 table storage unit 41. In the following description, the names of specific states, events, response functions, etc. described in the state event table are, for example, “state 1”, “event 11”, “response function Action11”. The description will be made using the same name as 1, but this is a measure for facilitating comparison with the first embodiment, and a measure for avoiding redundant description of the same contents.

まず、図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 diagram creation device 1 based on the state event tables 910, 920, and 930 will be described.

モデル図作成装置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 diagram creating apparatus 1 from the state event table 910 are the same as the class diagram 300 (FIG. 4) and the state machine diagram 500 (FIG. 6) described in the first embodiment. The class diagram and state machine diagram created by the model diagram creation apparatus 1 from the state event table 920 are the same as the class diagram 400 (FIG. 5) and the state machine diagram 600 (FIG. 7) described in the first embodiment. is there. The sequence diagram created by the model diagram creation device 1 from the state event tables 910 and 920 is the same as the sequence diagram 700 (FIG. 8) described in the first embodiment.

図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 diagram creation device 1 based on the state event table 930. In the class diagram 940 shown in the figure, the class stereotype << Legacy >> and the class name LegacyComponent are described at the top. Below the class name, functions (function names Method1 and Method2) are described. Here, the function Method1 is a function having no argument, and its return value is void. The function Method2 is a function having two arguments of int type and char [] type, and its return value is void.

図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 diagram creating apparatus 1 based on the state event tables 930 and 940. The sequence diagram 950 shown in the figure is a diagram for giving a message flow from the class name ComponentB (class type STM) to the class name LegacyComponent (class type Legacy).

状態3およびイベント21の組み合わせに関連するメッセージは、関数Method1の呼び出しである。また、状態3およびイベント22の組み合わせに関連するメッセージは、関数Method2の呼び出しである。これらの呼び出しをシーケンス図で定義することにより、モデル生成時の既存のソフトウェアの読み出しが自動的に行われることとなる。   The message associated with the combination of state 3 and event 21 is a call to function Method1. The message related to the combination of the state 3 and the event 22 is a call to the function Method2. By defining these calls in the sequence diagram, the existing software is automatically read when the model is generated.

本実施の形態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 diagram creation device 1 is the same as that of the first embodiment (see FIGS. 9, 10, 12, and 14).

図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 display control unit 54 causes the display unit 3 to display an element configuration diagram to which all components have been added. In the element configuration diagram 960 shown in the same figure, five components (component names: ComponentA, ComponentB, LegacyComponent, ComponentC, and ComponentD) are added. In the element configuration diagram 960, the lower layer structure of Component A, Component B, and Component C is in a non-display state. The lower layer structure of Component A, Component B, and Component C is the same as that described in FIG. 15B.

破線領域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 SYMBOLS 1 Model diagram creation apparatus 2 Input part 3 Display part 4 Storage part 5 Control part 41 State event table storage part 42 Creation information storage part 51 Structure drawing creation part 52 Behavior figure creation part 53 Element structure figure creation part 54 Display control part 100, 200, 910, 920, 930 State event table 300, 400, 940 Class diagram 500, 600 State machine diagram 700, 950 Sequence diagram 801, 802, 803, 804, 807, 811, 812, 813, 814, 815, 821, 822, 960 Element configuration diagram 805 Display screen 806 Class diagram display area

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
前記クラスの種類には、状態遷移機械を表すクラス、および既存のソフトウェアのクラスが含まれることを特徴とする請求項1または2に記載のモデル図作成装置。   3. The model diagram creation apparatus according to claim 1, wherein the class types include a class representing a state transition machine and an existing software class. 前記クラスの種類が前記既存のソフトウェアのクラスである前記状態イベント表では、
前記既存のソフトウェアに含まれる関数の情報として該関数の名称のみが記述されていることを特徴とする請求項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.
前記クラス図および前記複数種類の振る舞い図を作成するために必要な情報を要素として有し、複数の要素の相互関係をツリー構造で示す要素構成図を作成する要素構成図作成部をさらに備えたことを特徴とする請求項1〜5のいずれか一項に記載のモデル図作成装置。   It further includes an element configuration diagram creating unit that creates an element configuration diagram having information necessary for creating the class diagram and the plurality of types of behavior diagrams as elements, and showing a mutual structure of the plurality of elements in a tree structure. The model diagram creation device according to any one of claims 1 to 5. 前記要素構成図を表示可能な表示部と、
前記要素構成図作成部が前記要素構成図に対して要素を追加するごとに前記表示部における表示を切り換えて表示させる表示制御部と、
をさらに備えたことを特徴とする請求項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
JP2012035362A 2012-02-21 2012-02-21 Model diagram creation device, model diagram creation method, and model diagram creation program Expired - Fee Related JP5929297B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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