JP2012048329A - オブジェクト指向プログラム生成装置、その方法、プログラム - Google Patents
オブジェクト指向プログラム生成装置、その方法、プログラム Download PDFInfo
- Publication number
- JP2012048329A JP2012048329A JP2010187732A JP2010187732A JP2012048329A JP 2012048329 A JP2012048329 A JP 2012048329A JP 2010187732 A JP2010187732 A JP 2010187732A JP 2010187732 A JP2010187732 A JP 2010187732A JP 2012048329 A JP2012048329 A JP 2012048329A
- Authority
- JP
- Japan
- Prior art keywords
- diagram
- class
- consistency
- oriented program
- state machine
- 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.)
- Pending
Links
Landscapes
- Stored Programmes (AREA)
Abstract
【解決手段】エディタなどの入力装置によって開発対象システムのUMLモデル図を作成する各UMLモデル図作成部41〜44と、各UMLモデル図の情報51〜54を記憶するUMLモデル図記憶部91と、前記UMLモデル図記憶部91から前記UMLモデル図の情報を読み出し、UMLモデル図間の整合性をチェックするUMLモデル図判別部60と、整合性に問題が無ければオブジェクト指向プログラムを自動で生成するプログラムコード生成部70とを備える。
【選択図】図1
Description
統一モデリング言語としてUML(Unified Modeling Language)が知られている。UMLは、業務及びソフトウェアを記述するための図式記法として、オブジェクト指向の標準化団体である米国のOMG(オブジェクト・マネジメント・グループ)で制定された規格である。既に、デファクトスタンダードとして世界で受け入れられており、国際規格(ISO/IEC 19501)としても制定されている。
図1は、本発明におけるオブジェクト指向プログラム生成装置の一例を示す図である。
図1に示すように、オブジェクト指向プログラム生成装置は、エディタなどの入力装置によって開発対象システムのクラス構造を表現するクラス図を作成するクラス図作成部41、エディタなどの入力装置によって開発対象システムのオブジェクト構造を表現するオブジェクト図を作成するオブジェクト図作成部42、エディタなどの入力装置によって開発対象システムの各クラスにおける状態の変化を表現するステートマシン図を作成するステートマシン図作成部43、エディタなどの入力装置によって開発対象システムのオブジェクト間のメッセージの流れを表現するシーケンス図を作成するシーケンス図作成部44、上記で作成したUMLモデル図の情報(クラス図51、オブジェクト図52、ステートマシン図53、シーケンス図54)を記憶するUMLモデル図記憶部91、UMLモデル図記憶部91から、UMLモデル図の情報を読み出しUMLモデル図間の整合性をチェックし問題がないかどうかを判別するUMLモデル図判別部60、及び、UMLモデル図間の整合性に問題がない場合に上記により作成されたUMLモデル図からプログラムコードを自動で生成するプログラムコード生成部70、生成されたプログラムコード80を記憶するプログラムコード記憶部92とで構成されている。
図2に示すように、各クラスは、クラス名、属性、及び、操作の区画から構成される。また、操作は、ステレオタイプなどを使用し、処理関数とイベントに分類される。
図3に示すように、各オブジェクトは、オブジェクト名、及び、クラス名によって表現される。
さらに、オブジェクト名が”objectC1”であるオブジェクトは、クラス名が”ClassC”であるクラスのインスタンスであることを示している。
図4に示す例では、状態として、”StateA1”、”StateA2”、及び、”StateA3”を持ち、初期状態(開始からの遷移で表現される)は”StateA1”である。また、遷移として、3つの遷移を持つ。
2つ目の遷移では、”StateA2”の状態でイベント”Ea2”を受け取ると、処理関数”Ma2”を実行し、”StateA3”へ状態を遷移する。
図5に示す例では、状態として、”StateB1”、及び、”StateB2”を持ち、初期状態は”StateB1”である。また、遷移として、2つの遷移を持つ。
2つ目の遷移では、”StateB2”の状態でイベント”Eb2”を受け取ると、処理関数”Mb1”を実行し、”StateB1”へ状態を遷移する。
1つ目の遷移では、”StateC1”の状態でイベント”Ec1”を受け取ると、処理関数”Mc1”を実行し、”StateC2”へ状態を遷移する。
3つ目の遷移では、”StateC2”の状態でイベント”Ec2”を受け取ると、何も処理を実行することなく、”StateC3”へ状態を遷移する。
5つ目の遷移では、”StateC4”の状態でイベント”Ec1”を受け取ると、処理関数”Mc1”を実行し、”StateC2”へ状態を遷移する。
図7は、本発明におけるシーケンス図の一例を示す図である。シーケンス図は、シーケンス図作成部44を用いて作成される。
UMLモデル図判別処理では、オブジェクト図とクラス図の関係に問題がないかどうかをチェックする(S801)。オブジェクト図とクラス図の関係に問題がある場合、異常で終了する。S801では、オブジェクト図に記載されている全てのオブジェクトがクラス図に記載されているクラスのインスタンスであるかどうかをチェックする。
例えば、図3に記載されている全てのオブジェクトは図2に記載されているクラスのインスタンスであるため、図3に示すオブジェクト図と図2に示すクラス図の関係には問題がないと判別し、処理を続行する。
例えば、図4、図5、及び、図6に記載されている全てのイベントは図2に記載されているクラスのイベントであり、図4、図5、及び、図6に記載されている全ての処理関数は図2に記載されているクラスの処理関数であるため、図4、図5、及び、図6に示すステートマシン図と図2に示すクラス図の関係には問題がないと判別し、処理を続行する。
例えば、図7に記載されている全てのイベントは図2に記載されているクラスのイベントであり、図7に記載されている全ての処理関数は図2に記載されているクラスの処理関数であるため、図7に示すシーケンス図と図2に示すクラス図の関係には問題がないと判別し、処理を続行する。
例えば、図7に記載されている全てのオブジェクトは、図3に記載されているオブジェクトであるため、図7に示すシーケンス図と図3に示すオブジェクト図の関係には問題がないと判別し、処理を続行する。
例えば、図7に記載されている全ての状態は図4、図5、及び、図6に記載されている状態であるため、図7に示すシーケンス図と図4、図5、及び、図6に示すステートマシン図の関係には問題がないと判別し、正常で終了する。
図19は、本発明におけるオブジェクト図、ステートマシン図、及び、シーケンス図から作成されるプログラムコードの一例を示す図である。プログラムコードは、プログラムコード生成部70を用いて自動で作成される。また、生成されたプログラムコード80は、プログラム記憶部92に記憶される。
以上のように、本発明を適用することにより、オブジェクト指向プログラム開発において、クラス図、オブジェクト図、ステートマシン図、及び、シーケンス図を作成し、オブジェクト指向プログラム生成装置を使用することで、プログラムコードが自動で生成されるため、プログラム作成作業が大幅に軽減され、トータル作業工数を大幅に削減することが可能となった。
20 入力部
30 出力部
41 クラス図作成部
42 オブジェクト図作成部
43 ステートマシン作成部
44 シーケンス図作成部
51 クラス図データ
52 オブジェクト図データ
53 ステートマシン図データ
54 シーケンス図データ
60 UMLモデル図判別部
70 プログラムコード生成部
80 プログラムコード
91 UMLモデル図記憶部
92 プログラム記憶部
Claims (7)
- オブジェクト指向プログラムを生成するオブジェクト指向プログラム生成装置であって、
開発対象システムの複数種類の設計ドキュメントを作成する設計ドキュメント作成部と、
前記設計ドキュメント作成部により作成された設計ドキュメントの情報を記憶する設計ドキュメント記憶部と、
前記設計ドキュメント記憶部から複数種類の前記設計ドキュメントの情報を各々読み出し、これら設計ドキュメント間の整合性をチェックする設計ドキュメント判別部と、
前記設計ドキュメント判別部で整合性に問題が無いと判別されたときオブジェクト指向プログラムを生成するプログラムコード生成部と
を備えることを特徴とするオブジェクト指向プログラム生成装置。 - 請求項1記載のオブジェクト指向プログラム生成装置において、
前記設計ドキュメントは、少なくともステートマシン図またはシーケンス図を含むUMLモデル図であることを特徴とするオブジェクト指向プログラム生成装置。 - 請求項2記載のオブジェクト指向プログラム生成装置において、
前記UMLモデル図は、クラス図、オブジェクト図を含み、
前記設計ドキュメント判別部は、
オブジェクト図に記載されている全てのオブジェクトがクラス図に記載されているクラスのインスタンスであるか否かの整合性、
ステートマシン図に記載されている全てのイベントがクラス図に記載されているクラスのイベントであるか否かと、ステートマシン図に記載されている全ての処理関数がクラス図に記載されているクラスの処理関数であるか否かの整合性、
シーケンス図に記載されている全てのイベントがクラス図に記載されているクラスのイベントであるか否かと、シーケンス図に記載されている全ての処理関数がクラス図に記載されているクラスの処理関数であるか否かの整合性、
シーケンス図に記載されている全てのオブジェクトがオブジェクト図に記載されているオブジェクトであるか否かの整合性、
または、シーケンス図に記載されている全ての状態がステートマシン図に記載されている状態であるか否かの整合性の少なくともいずれかの整合性のチェックをすることを特徴とするオブジェクト指向プログラム生成装置。 - オブジェクト指向プログラムを自動的に生成するオブジェクト指向プログラムの生成方法であって、
入力された開発対象システムにおける複数の設計ドキュメント間の整合性をチェックするステップと、
チェックした結果、問題が無ければオブジェクト指向プログラムを自動生成するステップと
を備えることを特徴とするオブジェクト指向プログラム生成方法。 - 請求項4記載のオブジェクト指向プログラム生成方法において、
前記複数の設計ドキュメント間の整合性をチェックするステップは、
オブジェクト図に記載されている全てのオブジェクトがクラス図に記載されているクラスのインスタンスであるか否かの整合性、
ステートマシン図に記載されている全てのイベントがクラス図に記載されているクラスのイベントであるか否かと、ステートマシン図に記載されている全ての処理関数がクラス図に記載されているクラスの処理関数であるか否かの整合性、
シーケンス図に記載されている全てのイベントがクラス図に記載されているクラスのイベントであるか否かと、シーケンス図に記載されている全ての処理関数がクラス図に記載されているクラスの処理関数であるか否かの整合性、
シーケンス図に記載されている全てのオブジェクトがオブジェクト図に記載されているオブジェクトであるか否かの整合性、
または、シーケンス図に記載されている全ての状態がステートマシン図に記載されている状態であるか否かの整合性の少なくともいずれかの整合性のチェックをすることを特徴とするオブジェクト指向プログラム生成方法。 - オブジェクト指向プログラムを自動的に生成するオブジェクト指向プログラム生成装置に、
入力された開発対象システムの複数の設計ドキュメント間の整合性をチェックするステップと、
チェックした結果、問題が無ければオブジェクト指向プログラムを自動生成するステップ、
を実行させることを特徴とするオブジェクト指向プログラム生成プログラム。 - 請求項6記載のオブジェクト指向プログラム生成プログラムにおいて、
前記複数の設計ドキュメント間の整合性をチェックするステップは、
オブジェクト図に記載されている全てのオブジェクトがクラス図に記載されているクラスのインスタンスであるか否かの整合性、
ステートマシン図に記載されている全てのイベントがクラス図に記載されているクラスのイベントであるか否かと、ステートマシン図に記載されている全ての処理関数がクラス図に記載されているクラスの処理関数であるか否かの整合性、
シーケンス図に記載されている全てのイベントがクラス図に記載されているクラスのイベントであるか否かと、シーケンス図に記載されている全ての処理関数がクラス図に記載されているクラスの処理関数であるか否かの整合性、
シーケンス図に記載されている全てのオブジェクトがオブジェクト図に記載されているオブジェクトであるか否かの整合性、
または、シーケンス図に記載されている全ての状態がステートマシン図に記載されている状態であるか否かの整合性の少なくともいずれかの整合性のチェックを実行させることを特徴とするオブジェクト指向プログラム生成プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010187732A JP2012048329A (ja) | 2010-08-25 | 2010-08-25 | オブジェクト指向プログラム生成装置、その方法、プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010187732A JP2012048329A (ja) | 2010-08-25 | 2010-08-25 | オブジェクト指向プログラム生成装置、その方法、プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2012048329A true JP2012048329A (ja) | 2012-03-08 |
Family
ID=45903163
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010187732A Pending JP2012048329A (ja) | 2010-08-25 | 2010-08-25 | オブジェクト指向プログラム生成装置、その方法、プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2012048329A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014153783A (ja) * | 2013-02-05 | 2014-08-25 | Fuji Electric Co Ltd | オブジェクト指向プログラム生成装置、オブジェクト指向プログラム生成方法およびオブジェクト指向プログラム生成用プログラム |
JP2014222482A (ja) * | 2013-05-14 | 2014-11-27 | 富士電機株式会社 | オブジェクト指向プログラム生成装置、オブジェクト指向プログラム生成方法、およびオブジェクト指向プログラム生成用プログラム |
JP2015026139A (ja) * | 2013-07-24 | 2015-02-05 | 富士電機株式会社 | プログラム生成装置、プログラム生成方法、およびプログラム生成用プログラム |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004070810A (ja) * | 2002-08-08 | 2004-03-04 | Nippon Telegr & Teleph Corp <Ntt> | ビジュアルプログラミングシステム、ビジュアルプログラミング方法、ビジュアルプログラミング用プログラム及びそのプログラムを記録した記録媒体 |
JP2009289162A (ja) * | 2008-05-30 | 2009-12-10 | Toshiba Mitsubishi-Electric Industrial System Corp | 制御プログラム及び試験方案自動作成装置 |
-
2010
- 2010-08-25 JP JP2010187732A patent/JP2012048329A/ja active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004070810A (ja) * | 2002-08-08 | 2004-03-04 | Nippon Telegr & Teleph Corp <Ntt> | ビジュアルプログラミングシステム、ビジュアルプログラミング方法、ビジュアルプログラミング用プログラム及びそのプログラムを記録した記録媒体 |
JP2009289162A (ja) * | 2008-05-30 | 2009-12-10 | Toshiba Mitsubishi-Electric Industrial System Corp | 制御プログラム及び試験方案自動作成装置 |
Non-Patent Citations (8)
Title |
---|
CSNA200303935001; SEWB+ オブジェクト指向分析・設計支援 使用の手引 第3版, 199811, p.84-85, 株式会社日立製作所 * |
CSNB200700610001; 藤倉 俊幸, 他9名: 組み込みシステム開発者&LSI設計者のための UMLガイド, Design Wave Magazine , 20070501, p.7-11, CQ出版株式会社 * |
CSND200500974015; 井上 樹: 'UMLモデリング向上委員会 第11回 ダイヤグラム間の整合性' DB Magazine 第14巻, 第14号, 20050301, p.153-159, 株式会社翔泳社 * |
CSNG200000628017; 大西 淳, 他1名: 'UML法におけるモデル整合性検証支援手法' オブジェクト指向最前線 , 19970630, p.120-127, 株式会社朝倉書店 * |
JPN6013026692; SEWB+ オブジェクト指向分析・設計支援 使用の手引 第3版, 199811, p.84-85, 株式会社日立製作所 * |
JPN6013026694; 井上 樹: 'UMLモデリング向上委員会 第11回 ダイヤグラム間の整合性' DB Magazine 第14巻, 第14号, 20050301, p.153-159, 株式会社翔泳社 * |
JPN6013026697; 大西 淳, 他1名: 'UML法におけるモデル整合性検証支援手法' オブジェクト指向最前線 , 19970630, p.120-127, 株式会社朝倉書店 * |
JPN6013045003; 藤倉 俊幸, 他9名: 組み込みシステム開発者&LSI設計者のための UMLガイド, Design Wave Magazine , 20070501, p.7-11, CQ出版株式会社 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014153783A (ja) * | 2013-02-05 | 2014-08-25 | Fuji Electric Co Ltd | オブジェクト指向プログラム生成装置、オブジェクト指向プログラム生成方法およびオブジェクト指向プログラム生成用プログラム |
JP2014222482A (ja) * | 2013-05-14 | 2014-11-27 | 富士電機株式会社 | オブジェクト指向プログラム生成装置、オブジェクト指向プログラム生成方法、およびオブジェクト指向プログラム生成用プログラム |
JP2015026139A (ja) * | 2013-07-24 | 2015-02-05 | 富士電機株式会社 | プログラム生成装置、プログラム生成方法、およびプログラム生成用プログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10797958B2 (en) | Enabling real-time operational environment conformity within an enterprise architecture model dashboard | |
US8984489B2 (en) | Quality on submit process | |
US9021440B1 (en) | System and method for automated test script generation | |
US8490050B2 (en) | Automatic generation of user interfaces | |
US8156473B2 (en) | Model oriented debugging | |
US8910166B2 (en) | Automatic transcoding and semantic adaptation between scripting and workflow systems | |
US8640084B2 (en) | Generating validation test suites | |
US10185644B2 (en) | Service implementation based debugger for service oriented architecture projects | |
US20210304142A1 (en) | End-user feedback reporting framework for collaborative software development environments | |
JP5396979B2 (ja) | ソフトウェア開発支援装置、システム、ソフトウェア開発支援装置の機能拡張方法、及びプログラム | |
US8918762B2 (en) | Generating test plans and test cases from service-oriented architecture and process models | |
US9965252B2 (en) | Method and system for generating stateflow models from software requirements | |
US8086997B2 (en) | Detecting aspectual behavior in unified modeling language artifacts | |
US8584080B2 (en) | Modeling and generating computer software product line variants | |
CN115292058A (zh) | 一种业务场景级别服务拓扑生成方法、装置及电子设备 | |
JP2015026139A (ja) | プログラム生成装置、プログラム生成方法、およびプログラム生成用プログラム | |
US8448143B2 (en) | System and method for message choreographies of services | |
JP2012048329A (ja) | オブジェクト指向プログラム生成装置、その方法、プログラム | |
JP2013235508A (ja) | オブジェクト指向プログラム生成装置、その方法、プログラム | |
Schumm et al. | State Propagation for Business Process Monitoring on Different Levels of Abstraction | |
US20130111432A1 (en) | Validation of a system model including an activity diagram | |
CN113378007A (zh) | 数据回溯方法及装置、计算机可读存储介质、电子设备 | |
US11182272B2 (en) | Application state monitoring | |
Farah-Stapleton et al. | Behavioral modeling of software intensive system architectures | |
JP5644599B2 (ja) | オブジェクト指向モデル設計支援装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120913 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130528 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130611 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130808 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130910 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20140204 |