JP2015141489A - ソースコード作成装置、ソースコード作成プログラム - Google Patents
ソースコード作成装置、ソースコード作成プログラム Download PDFInfo
- Publication number
- JP2015141489A JP2015141489A JP2014013017A JP2014013017A JP2015141489A JP 2015141489 A JP2015141489 A JP 2015141489A JP 2014013017 A JP2014013017 A JP 2014013017A JP 2014013017 A JP2014013017 A JP 2014013017A JP 2015141489 A JP2015141489 A JP 2015141489A
- Authority
- JP
- Japan
- Prior art keywords
- activity
- source code
- identifying
- sub
- predetermined file
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Abstract
【解決手段】アクティビティ図内のエレメントが待ち合わせ/分岐処理、選択処理、実行処理、終了処理のいずれであるかを判定し、待ち合わせ/分岐処理エレメントと選択処理エレメントを識別してソースコード追記する追記手段、分岐するエレメントに対応するソースコードを追記する追記手段、アクティビティエレメントが、単一アクティビティかサブアクティビティかを判定して次に実施するエレメントに対応するソースコードを追記する追記手段、最初に実施するアクティビティに対応するソースコードを追記する追記手段、終了と判定されたエレメントが、終了を通知するサブアクティビティに対応するソースコードを追記する追記手段とを有する。
【選択図】図4
Description
本発明は、この制約をなくしたソースコード作成装置及びソースコード作成プログラムを提供することを目的とする。
待ち合わせ/分岐処理、選択処理、実行処理、及び終了処理を含んで構成されるアクティビティ図内の任意のエレメントを取得する取得手段と、
前記取得手段により取得された前記エレメントが待ち合わせ/分岐処理、選択処理、実行処理、終了処理のいずれであるかを判定(R1)する第1の判定手段と、
前記第1の判定手段により判定された結果に対応するソースコードを予め定められたファイルに追記する第1の追記手段と、
前記第1の判定手段により待ち合わせ/分岐処理と判定された場合、前記エレメントが、待ち合わせ完了後に分岐するエレメントを識別(R2)するためのフォークセレクタに対応するソースコードを予め定められたファイルに追記する第2の追記手段と、
前記第1の判定手段により待ち合わせ/分岐処理と判定された場合、前記エレメントが、待ち合わせするエレメントを識別(R3)するためのジョインセレクタに対応するソースコードを予め定められたファイルに追記する第3の追記手段と、
前記第1の判定手段により選択処理と判定された前記エレメントが、条件により分岐するエレメントを識別(R4)するためのデシジョンセレクタに対応するソースコードを予め定められたファイルに追記する第4の追記手段と、
前記第1の判定手段によりアクティビティと判定された場合、単一アクティビティかサブアクティビティかを判定(R5)する第2の判定手段と、
前記第2の判定手段によりサブアクティビティと判定された場合、前記エレメントが、最初に実施するアクティビティを識別(R7)するためのソースコードを予め定められたファイルに追記する第6の追記手段と、
前記第1の判定手段によりアクティビティと判定された場合、前記エレメントが、次に実施するエレメントを識別(R6)するためのソースコードを予め定められたファイルに追記する第5の追記手段と、
前記第1の判定手段により終了と判定された場合、前記エレメントが終了を通知するサブアクティビティを識別(R8)し、前記識別されたサブアクティビティがある場合は通知先のサブアクティビティを識別するソースコードを追記し、ない場合は追記しない第8の追記手段と、を有する、
ことを特徴とする。
コンピュータを、
待ち合わせ/分岐処理、選択処理、実行処理、及び終了処理を含んで構成されるアクティビティ図内の任意のエレメントを取得する取得手段と、
前記取得手段により取得された前記エレメントが待ち合わせ/分岐処理、選択処理、実行処理、終了処理のいずれであるかを判定(R1)する第1の判定手段と、
前記第1の判定手段により判定された結果に対応するソースコードを予め定められたファイルに追記する第1の追記手段と、
前記第1の判定手段により待ち合わせ/分岐処理と判定された場合、前記エレメントが、待ち合わせ完了後に分岐するエレメントを識別(R2)するためのフォークセレクタに対応するソースコードを予め定められたファイルに追記する第2の追記手段と、
前記第1の判定手段により待ち合わせ/分岐処理と判定された場合、前記エレメントが、待ち合わせするエレメントを識別(R3)するためのジョインセレクタに対応するソースコードを予め定められたファイルに追記する第3の追記手段と、
前記第1の判定手段により選択処理と判定された前記エレメントが、条件により分岐するエレメントを識別(R4)するためのデシジョンセレクタに対応するソースコードを予め定められたファイルに追記する第4の追記手段と、
前記第1の判定手段によりアクティビティと判定された場合、単一アクティビティかサブアクティビティかを判定(R5)する第2の判定手段と、
前記第2の判定手段によりサブアクティビティと判定された場合、前記エレメントが、最初に実施するアクティビティを識別(R7)するためのソースコードを予め定められたファイルに追記する第6の追記手段と、
前記第1の判定手段によりアクティビティと判定された場合、前記エレメントが、次に実施するエレメントを識別(R6)するためのソースコードを予め定められたファイルに追記する第5の追記手段と、
前記第1の判定手段により終了と判定された場合、前記エレメントが終了を通知するサブアクティビティを識別(R8)し、前記識別されたサブアクティビティがある場合は通知先のサブアクティビティを識別するソースコードを追記し、ない場合は追記しない第8の追記手段として機能させる、
ことを特徴とする。
請求項2に記載の発明によれば、待ち合わせ/分岐処理、選択処理、及び実行処理を含むエレメントで構成されるアクティビティ図を示すアクティビティ情報、及び前記エレメントに対応するソースコードからアクティビティ図が示す処理を行なうためのソースコードを制約なく作成するソースコード作成プログラムを提供することができる。
また、以下の図面を使用した説明において、図面は模式的なものであり、理解の容易のために説明に必要な要素以外の図示は適宜省略されている。
図1は本実施形態に係るソースコード作成装置1の機能構成の一例を示すブロック図である。
ソースコード作成装置1は、CPU(Central Processing Unit)10、ROM(Read Only Memory)11、RAM(Random Access Memory)12、HDD(Hard Disk Drive)13、ネットワークI/F部20、操作情報部30、バス40を含んで構成されている。
ROM11は、ソースコード作成装置1の起動時に動作するブートプログラムなどが記憶されている不揮発性の記憶装置である。
RAM12は、OS(Operating System)、プログラム、各種データが展開される揮発性の記憶装置である。
HDD13は、各データベース、ソース作成プログラムなどのプログラム、OSなどが記録される不揮発性の記憶装置である。
図2(a)は待ち合わせ/分岐処理の一例、(b)は選択処理の一例を示す図、図7は、先行技術では、アクティビティ図で記述された動作からソースコードを作成できない処理のアクティビティ図の一例を示す図である。
以下、図面を参照しながらアクティビティ図による動作の記述とソースコード作成について説明する。
システムの記述には、統一モデリング言語(UML:Unified Modeling Language)を使用することができ、UMLはシステムを記述するための一連の方法を提供する。このような方法の1つが、アクティビティ図の使用である。
アクティビティ図は、アクティビティ(処理)の観点やアクティビティ間の制御フローの観点からシステムを記述する。
すなわち、フォークノード110は、Activity11とActivity14の完了を待ち合わせた後にActivity12及びActivity13が同時に開始される分岐処理を示している。
すなわち、デシジョンノード130は、Activity31の完了時にActivity32及び32のいずれか1つのみが開始されることを示している。Activity32及びActivity33のいずれが開始されるかは、デシジョンノード130に関連付けられたロジック条件によって判断される。例えば、システムの特定のパラメータが何らかの所定値を上回るか又は下回るかである。
そのために、図5に示すアクティビティ図で記述された動作から、ソースコードを作成できない部分があった。
同様に、フォーク/ジョインノード220からフォークされたActivityC、ActivityD、ActivityEは、同一のフォーク/ジョインノード240にジョインしなければならず、ActivityEはフォーク/ジョインノード230にジョインされることができなかった。
図3は本実施形態に係るモデルを示すクラス図、図4は本実施形態に係るソースコード作成の流れを示すフローチャート、図6は先行技術のモデルを示すクラス図である。
本実施形態に係るデザインパターンを説明する前に、図6を参照しながら比較例として、先行技術に記載されたソースコード作成装置について説明する。
また、図5に示すR10は、複合Activityオブジェクト54には、フォークジョインActivityオブジェクト56とサブActivityオブジェクト58の2種類あることを示している。
存在しない場合は、次に実行するするActivity(R8)がないことを示す順序オブジェクト68のソースコードを追記し、終了となる。
そして、取得したActivity要素をフォークしジョインするActivity(R6)とするためのフォークジョインオブジェクト66のソースコードを追記する。
本実施形態に係るソースコード作成装置1は、フォークジョインするActivityとジョインするActivity毎に別のソースコードを追記する。
以下本実施形態に係るモデルを示すクラス図(図3)及び本実施形態に係るソースコード作成の流れを示すフローチャート(図4)を参照しながらソースコード作成装置1の動作について説明する。
第2判定処理(S306)によりエレメント300が単一アクティビティオブジェクト350と判定された場合(S306:E)には、単一アクティビティオブジェクト350に対応するソースコードを追記し(S306E)、次に実施するエレメントを識別(R6)するためのソースコードを予め定められたファイルに追記する(S307)。
そして、次に実施するエレメントを識別(R6)するためのソースコードを予め定められたファイルに追記し(S307F2)、エレメント300が最初に実施するアクティビティオブジェクト330を識別するための(R7)ソースコードを予め定められたファイルに追記する(S308)。
本実施形態に係るソースコード作成装置1によれば、フォークジョインActivityにフォークされたActivity要素は、同一のフォークジョインActivityでジョインしなければならないという制約を受けることがなく、比較例のソースコード作成装置ではソースコードを作成できなかった一例として、図6に図示した「不可」部分であってもソースコード作成が可能になる。
10・・・CPU
11・・・ROM
12・・・RAM
13・・・HDD
20・・・ネットワークI/F部
30・・・操作情報部
40・・・バス
300・・・エレメント
310・・・フォークジョインオブジェクト
320・・・デシジョンオブジェクト
330・・・アクティビティオブジェクト
340・・・終了オブジェクト
350・・・単一アクティビティオブジェクト
360・・・サブアクティビティオブジェクト
370・・・フォークセレクタオブジェクト
380・・・ジョインセレクタオブジェクト
390・・・デシジョンセレクタオブジェクト
Claims (2)
- 待ち合わせ/分岐処理、選択処理、実行処理、及び終了処理を含んで構成されるアクティビティ図内の任意のエレメントを取得する取得手段と、
前記取得手段により取得された前記エレメントが待ち合わせ/分岐処理、選択処理、実行処理、終了処理のいずれであるかを判定(R1)する第1の判定手段と、
前記第1の判定手段により判定された結果に対応するソースコードを予め定められたファイルに追記する第1の追記手段と、
前記第1の判定手段により待ち合わせ/分岐処理と判定された場合、前記エレメントが、待ち合わせ完了後に分岐するエレメントを識別(R2)するためのフォークセレクタに対応するソースコードを予め定められたファイルに追記する第2の追記手段と、
前記第1の判定手段により待ち合わせ/分岐処理と判定された場合、前記エレメントが、待ち合わせするエレメントを識別(R3)するためのジョインセレクタに対応するソースコードを予め定められたファイルに追記する第3の追記手段と、
前記第1の判定手段により選択処理と判定された前記エレメントが、条件により分岐するエレメントを識別(R4)するためのデシジョンセレクタに対応するソースコードを予め定められたファイルに追記する第4の追記手段と、
前記第1の判定手段によりアクティビティと判定された場合、単一アクティビティかサブアクティビティかを判定(R5)する第2の判定手段と、
前記第2の判定手段によりサブアクティビティと判定された場合、前記エレメントが、最初に実施するアクティビティを識別(R7)するためのソースコードを予め定められたファイルに追記する第6の追記手段と、
前記第1の判定手段によりアクティビティと判定された場合、前記エレメントが、次に実施するエレメントを識別(R6)するためのソースコードを予め定められたファイルに追記する第5の追記手段と、
前記第1の判定手段により終了と判定された場合、前記エレメントが終了を通知するサブアクティビティを識別(R8)し、前記識別されたサブアクティビティがある場合は通知先のサブアクティビティを識別するソースコードを追記し、ない場合は追記しない第8の追記手段と、を有する、
ことを特徴とするソースコード作成装置。 - コンピュータを、
待ち合わせ/分岐処理、選択処理、実行処理、及び終了処理を含んで構成されるアクティビティ図内の任意のエレメントを取得する取得手段と、
前記取得手段により取得された前記エレメントが待ち合わせ/分岐処理、選択処理、実行処理、終了処理のいずれであるかを判定(R1)する第1の判定手段と、
前記第1の判定手段により判定された結果に対応するソースコードを予め定められたファイルに追記する第1の追記手段と、
前記第1の判定手段により待ち合わせ/分岐処理と判定された場合、前記エレメントが、待ち合わせ完了後に分岐するエレメントを識別(R2)するためのフォークセレクタに対応するソースコードを予め定められたファイルに追記する第2の追記手段と、
前記第1の判定手段により待ち合わせ/分岐処理と判定された場合、前記エレメントが、待ち合わせするエレメントを識別(R3)するためのジョインセレクタに対応するソースコードを予め定められたファイルに追記する第3の追記手段と、
前記第1の判定手段により選択処理と判定された前記エレメントが、条件により分岐するエレメントを識別(R4)するためのデシジョンセレクタに対応するソースコードを予め定められたファイルに追記する第4の追記手段と、
前記第1の判定手段によりアクティビティと判定された場合、単一アクティビティかサブアクティビティかを判定(R5)する第2の判定手段と、
前記第2の判定手段によりサブアクティビティと判定された場合、前記エレメントが、最初に実施するアクティビティを識別(R7)するためのソースコードを予め定められたファイルに追記する第6の追記手段と、
前記第1の判定手段によりアクティビティと判定された場合、前記エレメントが、次に実施するエレメントを識別(R6)するためのソースコードを予め定められたファイルに追記する第5の追記手段と、
前記第1の判定手段により終了と判定された場合、前記エレメントが終了を通知するサブアクティビティを識別(R8)し、前記識別されたサブアクティビティがある場合は通知先のサブアクティビティを識別するソースコードを追記し、ない場合は追記しない第8の追記手段として機能させる、
ことを特徴とするソースコード作成プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014013017A JP6197667B2 (ja) | 2014-01-28 | 2014-01-28 | ソースコード作成装置、ソースコード作成プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014013017A JP6197667B2 (ja) | 2014-01-28 | 2014-01-28 | ソースコード作成装置、ソースコード作成プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015141489A true JP2015141489A (ja) | 2015-08-03 |
JP6197667B2 JP6197667B2 (ja) | 2017-09-20 |
Family
ID=53771817
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014013017A Active JP6197667B2 (ja) | 2014-01-28 | 2014-01-28 | ソースコード作成装置、ソースコード作成プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6197667B2 (ja) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005250593A (ja) * | 2004-03-01 | 2005-09-15 | Ul Systems Inc | オブジェクト情報生成装置 |
US6973638B1 (en) * | 1998-03-12 | 2005-12-06 | International Business Machines Corporation | Execution of extended activity diagrams by code generation |
US20100281462A1 (en) * | 2009-04-30 | 2010-11-04 | United Parcel Service Of America, Inc. | Systems and methods for generating source code for workflow platform |
-
2014
- 2014-01-28 JP JP2014013017A patent/JP6197667B2/ja active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6973638B1 (en) * | 1998-03-12 | 2005-12-06 | International Business Machines Corporation | Execution of extended activity diagrams by code generation |
JP2005250593A (ja) * | 2004-03-01 | 2005-09-15 | Ul Systems Inc | オブジェクト情報生成装置 |
US20100281462A1 (en) * | 2009-04-30 | 2010-11-04 | United Parcel Service Of America, Inc. | Systems and methods for generating source code for workflow platform |
Also Published As
Publication number | Publication date |
---|---|
JP6197667B2 (ja) | 2017-09-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20150095811A1 (en) | Context aware user interface parts | |
JP5198132B2 (ja) | 状態遷移テスト支援装置、状態遷移テスト支援プログラム、および状態遷移テスト支援方法 | |
US20160378785A1 (en) | Distributed work flow using database replication | |
CN102947791B (zh) | 用户增强的反向工程 | |
CN104090776A (zh) | 一种软件开发方法及系统 | |
JP6268029B2 (ja) | テストケース生成装置及びテストケース生成方法 | |
EP3376377A1 (en) | Apparatus and control method for comparison of hierarchical virtual machine templates | |
JPWO2019026248A1 (ja) | プログラム開発支援装置、プログラム開発支援方法、及びプログラム開発支援プログラム | |
US10152039B2 (en) | Method and apparatus for the display of multiple errors on a human-machine interface | |
JP6197667B2 (ja) | ソースコード作成装置、ソースコード作成プログラム | |
JP2017129970A (ja) | 管理装置,管理方法および管理プログラム | |
JP2013149134A (ja) | ソースコードの静的解析装置、システム、方法、及びそのためのプログラム | |
JP2018022433A (ja) | 制御プログラム、装置、及び方法 | |
Limoncelli | Automation Should Be Like Iron Man, Not Ultron: The" Leftover Principle" Requires Increasingly More Highly-skilled Humans. | |
US20140244538A1 (en) | Business process management, configuration and execution | |
JP2016126700A (ja) | プログラム検証装置、プログラム検証方法及びプログラム検証プログラム | |
US9003274B2 (en) | Scheduling start-up and shut-down of mainframe applications using topographical relationships | |
JPWO2015190080A1 (ja) | 関連情報作成装置、関連情報作成方法、及び、関連情報作成プログラム | |
WO2010007647A1 (ja) | モデリングエディタ、モデリング装置及びモデリング方法 | |
US8516307B2 (en) | Execution layer debugger | |
JP2015148925A (ja) | プログラム生成装置および方法 | |
US7743076B2 (en) | Extensible action sequences coordinating independently created components | |
KR102046622B1 (ko) | 워크플로우 기반 소프트웨어 서비스 시스템 및 이 시스템의 각 기능을 실행시키기 위해 매체에 저장된 컴퓨터 프로그램 | |
JP5215835B2 (ja) | プログラム適用支援ツール | |
JP2009098730A (ja) | 情報処理装置および情報処理プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20161019 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170712 |
|
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: 20170725 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170807 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6197667 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |