JP2005250593A - Object information generating device - Google Patents

Object information generating device Download PDF

Info

Publication number
JP2005250593A
JP2005250593A JP2004056687A JP2004056687A JP2005250593A JP 2005250593 A JP2005250593 A JP 2005250593A JP 2004056687 A JP2004056687 A JP 2004056687A JP 2004056687 A JP2004056687 A JP 2004056687A JP 2005250593 A JP2005250593 A JP 2005250593A
Authority
JP
Japan
Prior art keywords
information
activity
processing
processing order
object template
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
Application number
JP2004056687A
Other languages
Japanese (ja)
Inventor
Koichi Hayashi
浩一 林
Shozaburo Yoshihara
庄三郎 吉原
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.)
UL SYSTEMS Inc
Original Assignee
UL SYSTEMS Inc
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 UL SYSTEMS Inc filed Critical UL SYSTEMS Inc
Priority to JP2004056687A priority Critical patent/JP2005250593A/en
Publication of JP2005250593A publication Critical patent/JP2005250593A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To generate a program for realizing the flow of processing expressed by an activity diagram on a general computer. <P>SOLUTION: An activity diagram described by using an XML or the like is acquired by an activity information acquiring part 1401, and object model information is generated for each activity based on the activity information by an object model information generation part 1402, and processing sequence definition information to be referred to for deciding object model information to be executed the next when the object model information is executed is generated by a processing sequence definition information generating part 1403. <P>COPYRIGHT: (C)2005,JPO&NCIPI

Description

本発明は繰り返し行われる業務上の処理を計算機によって実行するプログラムを生成するための生成装置に関する。また、そのように生成されたプログラムの実行を行なうための計算機などの装置に関する。   The present invention relates to a generating apparatus for generating a program for executing a business process repeatedly performed by a computer. The present invention also relates to an apparatus such as a computer for executing the program thus generated.

繰り返し行われる業務上の処理を計算機によって実行するプログラムを生成するために開発されたシステムとしては、ワークフロー管理システムと呼ばれるものがある。ワークフロー管理システムでは、あらかじめ定義されたワークフロー定義に従って、ワークフローエンジンと呼ばれる特殊なサーバソフトウェアによって、必要な担当者やシステムに対して情報の送受信が行われる。例えば、外部との情報のやりとりの手順を維持しながら、内部のワークフロー処理手順を柔軟に変更して実行できるワークフローエンジンの発明がなされている(例えば、特許文献1参照。)。   As a system developed to generate a program for executing repetitive business processing by a computer, there is a system called a workflow management system. In the workflow management system, information is transmitted to and received from necessary personnel and systems by special server software called a workflow engine according to a predefined workflow definition. For example, there has been an invention of a workflow engine that can flexibly change and execute an internal workflow processing procedure while maintaining a procedure for exchanging information with the outside (see, for example, Patent Document 1).

しかしながら、従来のようなワークフロー管理システムのように、ワークフローエンジンという特殊なサーバーソフトに依存した形で、業務処理ソフトウェアを開発する場合、その業務処理ソフトウェアが解決できることが、ワークフローエンジンの能力によって決まってしまい、その範囲を超えた処理を開発することが困難であるという問題点があった。   However, when developing business processing software that relies on special server software called a workflow engine, as in the conventional workflow management system, the ability of the workflow processing software determines that the business processing software can be solved. Therefore, there is a problem that it is difficult to develop a process exceeding the range.

また、従来の技術におけるフローの記述からソースコードを作成し、その後コンパイルして実行するという手順を踏んでいた部分を、作成から実行までを自動で行なえるようにする技術もある(例えば、特許文献2参照。)。また、フローチャート中のボックス間の関係で表される制御の流れとボックス内の処理の記述を分けて処理し、最終的なソースコードを生成する技術もある(例えば、特許文献3参照。)。   In addition, there is also a technology that can automatically perform the process from creation to execution of a part that has taken the steps of creating a source code from a flow description in the prior art and then compiling and executing it (for example, patents) Reference 2). There is also a technique for generating a final source code by separately processing a control flow represented by a relationship between boxes in the flowchart and a description of processing in the box (see, for example, Patent Document 3).

これに対し、オブジェクト指向言語を意識して、UMLのアクティビティ図からオブジェクト指向ソフトウェアを自動生成する技術も知られている(例えば、特許文献4参照。)。この技術では、UML図のうちクラス定義図によってオブジェクトの定義を生成し、ステートチャート図あるいはアクティビティ図によって、オブジェクトが実行するプログラムのコードを生成する。
特開2003-256628号公報 特開平5-265733号公報 特開平6-214777号公報 特開2002-116911号公報
On the other hand, a technique for automatically generating object-oriented software from UML activity diagrams in consideration of an object-oriented language is also known (see, for example, Patent Document 4). In this technology, an object definition is generated from a class definition diagram in a UML diagram, and a program code executed by the object is generated from a state chart diagram or an activity diagram.
Japanese Patent Laid-Open No. 2003-256628 Japanese Patent Laid-Open No. 5-25533 JP-A-6-214777 Japanese Patent Laid-Open No. 2002-116911

しかしながら、従来のようなワークフロー管理システムのように、ワークフローエンジンという特殊なサーバーソフトに依存した形で、業務処理ソフトウェアを開発する場合、その業務処理ソフトウェアが解決できることが、ワークフローエンジンの能力によって決まってしまい、その範囲を超えた処理を開発することが困難であるという問題点があった。   However, when developing business processing software that relies on special server software called a workflow engine, as in the conventional workflow management system, the ability of the workflow processing software determines that the business processing software can be solved. Therefore, there is a problem that it is difficult to develop a process exceeding the range.

また、例えば特許文献2、3においては、近年広く普及しているオブジェクト指向言語において、もっとも重要な設計上のポイントである、何をオブジェクトとして定義するかについての言及はない。   For example, in Patent Documents 2 and 3, there is no mention of what is defined as an object, which is the most important design point in object-oriented languages that have been widely spread in recent years.

また、業務のフローは必ずしもシステムの動作だけで完結するものではないが、従来技術で行なうのは、フローチャート全体を実行するプログラムの生成であり、業務全体と、システムによる実現範囲がわかりにくかった。   In addition, the business flow is not necessarily completed only by the operation of the system, but what is performed in the prior art is generation of a program for executing the entire flowchart, and it is difficult to understand the entire business and the realization range by the system.

本発明では、特殊なワークフローエンジンを用いるのではなく、オブジェクト指向言語に基づいた汎用のアプリケーションサーバ上に、ワークフロー定義を参照しながら自律的に動作するオブジェクトを、配置することで処理を行なわせるものである。本発明では業務のプロセスはアクティビティ図と呼ばれるダイアグラム等を用いて記述するが、このうちシステムが担当する部分の各アクティビティに対応するオブジェクトが配置される。これらのオブジェクトは、アクティビティ図に基づいて規定の手順あるいは自動で生成されたプログラムを実行することで生成され、配置される。オブジェクトの処理手順を制御するためのフロー定義も同様に、アクティビティ図に基づいて、規定の手順あるいは自動で生成される。   In the present invention, instead of using a special workflow engine, processing is performed by placing objects that operate autonomously while referring to the workflow definition on a general-purpose application server based on an object-oriented language. It is. In the present invention, a business process is described using a diagram called an activity diagram. Among these, an object corresponding to each activity of a part in charge of the system is arranged. These objects are generated and arranged by executing a prescribed procedure or an automatically generated program based on the activity diagram. Similarly, a flow definition for controlling the processing procedure of an object is generated based on an activity diagram in a prescribed procedure or automatically.

すなわち、本発明では、処理の概要を示す処理部分情報と、複数の処理の処理順位を示す処理順位情報と、を記述したアクティビティ情報(例えば、アクティビティ図を表わす情報)を取得し、取得されたアクティビティ情報に基づいてオブジェクト情報を記述するための雛形となるオブジェクト雛形情報を生成し、また、取得されたアクティビティ情報に基づいて、前記オブジェクト雛形情報に基づいて記述されるオブジェクト情報が実行される際に参照する情報である処理順位定義情報(例えば、上記でいうフロー定義を表わす情報)を生成する装置が提供される。   That is, in the present invention, activity information (for example, information representing an activity diagram) describing processing partial information indicating an outline of processing and processing order information indicating processing order of a plurality of processes is acquired and acquired. When object template information serving as a template for describing object information is generated based on activity information, and object information described based on the object template information is executed based on the acquired activity information An apparatus for generating processing order definition information (for example, information representing the flow definition mentioned above), which is information to be referred to, is provided.

また、オブジェクト雛形情報に基づいて記述されるオブジェクトを保持し、処理順位定義情報を保持し、最初に処理すべき処理の処理部分に対応して生成されたオブジェクトを実行することにより、保持されたオブジェクトを連鎖的に実行するオブジェクト実行装置が提供される。   In addition, the object described based on the object template information is retained, the processing order definition information is retained, and the object generated corresponding to the processing portion of the process to be processed first is retained. An object execution device that executes objects in a chain is provided.

本発明では、自動生成のためのツールを提供し、業務フローからソフトウェアを自動生成する。これにより以下の効果がもたらされる。   In the present invention, a tool for automatic generation is provided, and software is automatically generated from a business flow. This brings about the following effects.

(1)汎用アプリケーションサーバ上で動作させることができる。すなわち、生成されたソフトウェアは、標準的なアプリケーションサーバ(BEA WebLogic、IBM WebSphere、Apache Tomcat)の上で動作することができる。このため、利用者は特殊なワークフロー管理システムを導入することなく、業務フローを動作させることを実現することが可能になる。   (1) It can be operated on a general-purpose application server. That is, the generated software can run on a standard application server (BEA WebLogic, IBM WebSphere, Apache Tomcat). Therefore, the user can realize the operation of the business flow without introducing a special workflow management system.

(2)ソフトウェアに拡張性がある。すなわち、生成されるソースコードは、業務フローにおけるアクティビティ単位に1つのクラスが定義される。このことによってアクティビティを業務フロー間で共有することもできる。このようにアクティビティに対応したクラスを組み合わせることで、様々な業務フローを表現することができる。また、アクティビティの流れである業務フローを、フロー定義ファイルに定義するので、アクティビティ間の疎結合が実現され、アクティビティの仕様とフローが独立に修正できる。   (2) The software has expandability. That is, in the generated source code, one class is defined for each activity in the business flow. This also allows activities to be shared between business flows. By combining classes corresponding to activities in this way, various business flows can be expressed. In addition, since the business flow that is the flow of the activity is defined in the flow definition file, loose coupling between the activities is realized, and the activity specification and the flow can be corrected independently.

(3)業務を表現することができる。すなわち、UMLのアクティビティ図のようなダイアグラムでは、システムと担当者の両方の作業と相互の関わりが明確に表現される。プログラムを自動生成する際に、レーンによって切り分けられたシステムに対応する部分だけを実現することで、業務の全体像とそのうちのシステムを明確にした開発を支援することができる。   (3) Express work. In other words, a diagram such as an activity diagram in UML clearly expresses the work and interaction between both systems and personnel. When the program is automatically generated, by realizing only the part corresponding to the system divided by lane, it is possible to support the development that clearly defines the overall picture of the business and the system.

以下、本発明を実施するための最良の形態について、図を用いて説明する。なお、本発明はこれら形態に何ら限定されるものではなく、その要旨を逸脱しない範囲において、種々なる態様で実施し得る。   The best mode for carrying out the present invention will be described below with reference to the drawings. In addition, this invention is not limited to these forms at all, and can be implemented in various modes without departing from the gist thereof.

(発明の概要)
まず、本発明の概要を以下に説明する。以下では、業務フロー実行のためのプログラムの自動生成を含む実施形態が示される。本発明において、重要なことはアクティビティ図に対応したオブジェクトが、フローの定義を参照しながら自律的にフローを実行することであって、オブジェクトの定義ならびにフロー定義の全ての部分が必ずしも自動で行なえる必要はない。すなわち、本発明に係るオブジェクト情報生成装置により、オブジェクトの定義などの骨格が生成され、その後に、人間などの修正により完全なオブジェクトの定義が得られるようになっていてもよい。
(Summary of Invention)
First, the outline of the present invention will be described below. In the following, an embodiment including automatic generation of a program for executing a business flow is shown. In the present invention, it is important that an object corresponding to an activity diagram executes a flow autonomously with reference to the flow definition, and the object definition and all parts of the flow definition are not necessarily automatically performed. There is no need to That is, the object information generation device according to the present invention may generate a skeleton such as an object definition, and then a complete object definition may be obtained by correction of a person or the like.

(発明の概要:アクティビティ図)
図1は、アクティビティ図の一例を示す。アクティビティ図は、UML(Unified Modelling Language)のフレームワークにおける図の一つであり、おおよそフローチャートに相当する。アクティビティ図は、一または複数のレーンからなっている。レーンとは、以下に説明される「アクティビティ」を実行するアクターが何であるかを示す。図1のアクティビティ図は、ユーザ側(人間側)の処理を示すユーザレーン101と、システム側の処理を示すシステムレーン102とからなっている。アクティビティ図は、処理の概要を示す複数の処理部分情報と、その複数の処理部分の処理順位を示す処理順位情報と、を示す。処理部分を示す情報である処理部分情報に対応して、「アクティビティ」が配置され、図1のアクティビティ図では、矩形105、矩形106などにより表現されている。図1では、矩形の内部は空白になっているが、ここに処理の概要、例えば、処理部分の名前、どのような処理部分が行なわれるかが記述されていてもよい。また、処理順位を示すために、アクティビティは矢印で結合されている。処理の開始は●103により表わされ、処理の終了は◎104により表わされる。また、処理の途中で分岐107があってもよい。なお、以下の説明において、アクティビティ図あるいはアクティビティ図を表わす情報を、「アクティビティ情報」という場合がある。
(Summary of Invention: Activity Diagram)
FIG. 1 shows an example of an activity diagram. The activity diagram is one of the diagrams in the framework of UML (Unified Modeling Language), and roughly corresponds to a flowchart. An activity diagram consists of one or more lanes. A lane indicates what actor performs the “activity” described below. The activity diagram in FIG. 1 includes a user lane 101 indicating processing on the user side (human side) and a system lane 102 indicating processing on the system side. The activity diagram shows a plurality of processing part information indicating an outline of processing and processing order information indicating processing order of the plurality of processing parts. “Activity” is arranged corresponding to the processing part information, which is information indicating the processing part, and is represented by a rectangle 105, a rectangle 106, and the like in the activity diagram of FIG. In FIG. 1, the inside of the rectangle is blank, but the outline of the processing, for example, the name of the processing portion and what processing portion is performed may be described here. Moreover, in order to show a processing order, the activity is connected with the arrow. The start of processing is represented by ● 103, and the end of processing is represented by ◎ 104. Further, there may be a branch 107 during the processing. In the following description, an activity diagram or information representing an activity diagram may be referred to as “activity information”.

図2は、本発明の実施により、アクティビティ図201から、オブジェクト情報203などと、フロー定義ファイル204と、が生成されることを表わしている。オブジェクト情報とは、プログラムである。このプログラムは、オブジェクト指向言語により記述されるのが好適であり、オブジェクト情報は、オブジェクト指向言語でいうところのオブジェクトとして記述されるので、「プログラム」という語のかわりに「オブジェクト情報」という語を使用している。図2からわかるようにシステムレーンのアクティビティに対応して、オブジェクト情報が生成される。なお、「オブジェクト情報」のかわりに「オブジェクト雛形情報」という語を使用する場合がある。これは、オブジェクト情報が完全に自動的に生成されない場合を含めるためである。また、実行されているオブジェクト情報(あるいは、実行可能なオブジェクト)を示すために、「オブジェクト」という語を用いることがある。   FIG. 2 shows that object information 203 and a flow definition file 204 are generated from the activity diagram 201 by implementing the present invention. The object information is a program. This program is preferably described in an object-oriented language, and the object information is described as an object in the object-oriented language, so the word “object information” is used instead of the word “program”. I am using it. As can be seen from FIG. 2, object information is generated corresponding to the activity in the system lane. Note that the word “object template information” may be used instead of “object information”. This is to include the case where object information is not generated completely automatically. Also, the word “object” may be used to indicate object information being executed (or an executable object).

フロー定義ファイルは、あるオブジェクト情報での処理が終了した場合に、次にどのオブジェクト情報を実行するべきか、を記述したファイルである。したがって、それぞれのオブジェクト情報は、フロー定義ファイルを参照して次に実行するべきオブジェクトを決定し、自律的に処理が進むことになる。あるいは、オブジェクト情報を生成するときに、次に実行するべきオブジェクトを識別する識別情報(例えば、オブジェクト情報に付与された名前を示す文字列など)を所定の関数などに渡して、次に実行するべきオブジェクトを得るようにしておいてもよい。このように、次に実行するべきオブジェクトを決定する記述には、2通りの記述があるが、本明細書では、最初に説明した記述を主に用いて説明を行なうこととする。   The flow definition file is a file describing which object information is to be executed next when processing with certain object information is completed. Therefore, each object information determines the object to be executed next with reference to the flow definition file, and the process proceeds autonomously. Alternatively, when generating object information, identification information (for example, a character string indicating a name given to the object information) for identifying an object to be executed next is passed to a predetermined function and executed next. It is also possible to obtain a power object. As described above, there are two types of descriptions for determining the object to be executed next. In this specification, the description described first is mainly used.

このようにアクティビティに対応してオブジェクト情報を生成することにより、オブジェクト情報の記述であるソースコードを修正・保守する場合に、アクティビティ図を見ることにより、オブジェクト情報の行なう処理が全体の処理のどの位置を占めているかを容易に知ることができ、修正などが容易に行なえる。また、フロー定義ファイルがオブジェクト情報の外部に生成されるので、フローを変更することも容易に行なえる。例えば、オブジェクト情報がコンパイルされ、人間が容易に修正できない形式になっていたとしても、オブジェクト情報の処理フローを変更することが可能である。   By generating object information corresponding to an activity in this way, when modifying and maintaining the source code that is the description of the object information, the process performed by the object information can be determined by looking at the activity diagram. You can easily know if it occupies the position, and you can easily make corrections. In addition, since the flow definition file is generated outside the object information, the flow can be easily changed. For example, even if the object information is compiled and has a format that cannot be easily modified by humans, the processing flow of the object information can be changed.

(概要:アクティビティ仕様書)
また、以上の説明では、アクティビティ図のみを入力としたが、アクティビティ仕様書を入力に加えてもよい。「アクティビティ仕様書」とは、アクティビティに関する様々な情報を記述するものである。アクティビティを表わす矩形の内部にどのような処理が行なわれるかが記述されていてもよいと上述したが、その記述は、アクティビティ仕様書に記述されてもよい。また、オブジェクト情報の記述に対する指令が記述されてもよい。例えば、オブジェクト情報がオブジェクト指向言語により記述される場合には、そのクラス名(通常のプログラム言語での「型名」に相当する)、処理を行なうために引数に渡されるデータのクラス名(あるいは型名)などが記述されていてもよい。
(Overview: Activity specifications)
In the above description, only the activity diagram is input, but an activity specification may be added to the input. The “activity specification” describes various information related to the activity. Although it has been described above that what kind of processing is performed may be described inside the rectangle representing the activity, the description may be described in the activity specification. In addition, a command for describing the object information may be described. For example, if the object information is described in an object-oriented language, its class name (corresponding to a “type name” in a normal programming language), the class name of data passed to an argument for processing (or Type name) may be described.

図3は、本発明に係る自動生成ツールを例示している。自動生成ツール303は、入力として、アクティビティ図301とアクティビティ仕様書302を取得し、オブジェクト情報を記述するソフトウェア304と、フロー定義305と、を出力する。なお、アクティビティ仕様書302は、入力としては必須ではない。   FIG. 3 illustrates an automatic generation tool according to the present invention. The automatic generation tool 303 acquires an activity diagram 301 and an activity specification 302 as inputs, and outputs software 304 describing object information and a flow definition 305. The activity specification 302 is not essential as an input.

(概要:アクティビティ図のXMLによる表現)
アクティビティ図の記述は、XML(eXtensible Markup Language)などによる構造化文書として記述することができる。
(Outline: XML representation of activity diagram)
The description of the activity diagram can be described as a structured document by XML (extensible Markup Language) or the like.

図4は、アクティビティ図を構造化文書として解釈するための論理構造を例示している。アクティビティ図は、始点とレーンと終点を有する。レーンの上部に「*複数」とあるのは、レーンは一または複数あることを意味する。他の場所に書かれている「*複数」も同様のことを意味する。始点は、状態遷移線を有する。これは始点の●から伸びている矢印を意味する。レーンは、アクティビティと分岐を有する。アクティビティは、アクティビティ名と状態遷移線とを有する。この状態遷移線は、次に遷移するべきアクティビティあるいは分岐を意味するものである。分岐は、状態遷移線を有する。この状態遷移線は、分岐の後に遷移するアクティビティあるいは分岐を意味するものである。   FIG. 4 illustrates a logical structure for interpreting an activity diagram as a structured document. The activity diagram has a start point, a lane, and an end point. “* Plural” at the top of the lane means that there is one or multiple lanes. “* Multiple” written elsewhere also means the same thing. The starting point has a state transition line. This means an arrow extending from the starting point ●. A lane has an activity and a branch. The activity has an activity name and a state transition line. This state transition line means an activity or a branch to be transited next. The branch has a state transition line. This state transition line means an activity or a branch that transitions after the branch.

図5は、図4に例示されたアクティビティ図の論理構造に基づいて、図1に例示されたアクティビティ図をXMLにより記述した例を示す。図5の記述では、図1のアクティビティ図が記述するアクティビティのうち、ユーザレーン101に存在するものの名前を上から、AとFとし、システムレーン102に存在するものの名前を上から、B、C、D、Eとしている。2行目から4行目が始点の記述であり、5行目から12行目までがユーザレーンの記述であり、13行目から30行目までがシステムレーンの記述であり、31行目が終点の記述である。   FIG. 5 shows an example in which the activity diagram illustrated in FIG. 1 is described in XML based on the logical structure of the activity diagram illustrated in FIG. In the description of FIG. 5, among the activities described in the activity diagram of FIG. 1, the names of those existing in the user lane 101 are A and F from the top, and the names of the activities existing in the system lane 102 are B, C from the top. , D, E. The second to fourth lines are descriptions of the start point, the fifth line to the twelfth line are user lane descriptions, the thirteenth to the thirty lines are system lane descriptions, and the 31st line is It is a description of the end point.

始点の記述には、3行目のようにアクティビティAへの状態遷移線の記述が含まれている。   The description of the start point includes a description of the state transition line to the activity A as in the third line.

ユーザレーンの記述には、6行目から8行目と、9行目から11行目と、の部分にアクティビティAとFとの記述があり、7行目と10行目とに状態遷移線の記述が含まれている。   In the description of the user lane, the activities A and F are described in the 6th to 8th lines and the 9th to 11th lines, and the state transition lines in the 7th and 10th lines. Is included.

システムレーンの記述は、ユーザレーンの記述と同様であるが、アクティビティBの記述の後の17行目から20行目に、分岐107の記述がある。この場合、何らかの手段、例えば、関数呼び出しによる状態の取得など、によりOKという値が得られれば、アクティビティCへ遷移し、NGが得られれば、アクティビティDへ遷移することが記述されている。   The description of the system lane is the same as the description of the user lane, but there is a description of the branch 107 from the 17th line to the 20th line after the description of the activity B. In this case, it is described that if the value of OK is obtained by some means, for example, acquisition of a state by function call, the transition is made to activity C, and if NG is obtained, the transition is made to activity D.

なお、アクティビティ図の記述のためには、従来技術である、Rational RoseやTogether Control Centerのようなモデリングツールで利用されている標準技術であるXMI(XML Metadata Interchange)形式を用いることもできる。このようにする事により、利用者はグラフィカルなツールを用いて、アクティビティ図などの入力情報を生成することができる。   For the description of activity diagrams, the XMI (XML Metadata Interchange) format, which is a standard technology used in modeling tools such as Rational Rose and Together Control Center, can also be used. In this way, the user can generate input information such as an activity diagram using a graphical tool.

また、本発明においては、アクティビティにステレオタイプを定義する。ステレオタイプには2種類あり、OperationとConnectorである。Operationタイプはビジネスロジックを定義しているアクティビティであることを意味し、Connectorタイプは外部インターフェースに依存した処理であることを意味する。アクティビティにステレオタイプを定義すると、作成されるソフトウェアにおいてもOperationであるか、Connectorであるかに応じた定義がなされるようになっていてもよい。Connector は、ユーザレーンのアクティビティの次に実行されるシステムレーンのアクティビティ、あるいは、次にユーザレーンのアクティビティを実行するシステムレーンのアクティビティのステレオタイプである。Operator は、システムレーンのアクティビティであって、Connector のステレオタイプを持つもの以外のアクティビティのステレオタイプである。   In the present invention, stereotypes are defined for activities. There are two types of stereotypes: Operation and Connector. The Operation type means an activity defining business logic, and the Connector type means a process depending on the external interface. When a stereotype is defined for an activity, the software that is created may be defined according to whether it is an operation or a connector. The Connector is a stereotype of a system lane activity to be executed next to a user lane activity or a system lane activity to be executed next. Operator is an activity in the system lane and is a stereotype of an activity other than that having a Connector stereotype.

(概要:アクティビティ仕様書)
アクティビティ仕様書は、アクティビティに関する様々な情報を記述するものである。本実施例では、アクティビティ仕様書は、XML形式で記述される。アクティビティ仕様書をXSLTでXHTMLに変換することによって、開発者が標準的なWebブラウザを用いて、内容を参照できるように構成することもできる。
(Overview: Activity specifications)
The activity specification describes various information related to the activity. In this embodiment, the activity specification is described in XML format. By converting the activity specification to XHTML using XSLT, the developer can also use a standard Web browser to view the contents.

図6は、アクティビティ仕様書の論理構造を例示する。アクティビティ仕様書は、アクティビティ名と、クラス名と、インターフェースと、説明と、を有する。アクティビティ名は、アクティビティの名前であり、アクティビティ図に記載されたアクティビティの名前と対応付けられる。クラス名は、アクティビティに対応してオブジェクト情報(プログラム)が生成される場合のクラスの名前を示す。インターフェースは、アクティビティに対応して生成されるオブジェクト情報が処理するデータの型(クラス名)を示す。説明は、アクティビティの処理を自然言語などにより記述したものであり、通常は、オブジェクト情報の記述にコメントとして追加される部分である。   FIG. 6 illustrates the logical structure of the activity specification. The activity specification has an activity name, a class name, an interface, and a description. The activity name is the name of the activity and is associated with the name of the activity described in the activity diagram. The class name indicates the name of the class when object information (program) is generated corresponding to the activity. The interface indicates the type (class name) of data processed by the object information generated corresponding to the activity. The description describes the processing of the activity in a natural language or the like, and is usually a part added as a comment to the description of the object information.

図7は、アクティビティ仕様書の例を示す。この例では、sample1という名前のアクティビティに対して、Sample1というクラス名を用いて記述されるアクティビティ情報を生成することと、その記述の中に、コメントとして「Sample Activity」を追加すべきことと、処理するデータの型がMessageであることとを表わしている。   FIG. 7 shows an example of an activity specification. In this example, for the activity named sample1, activity information described using the class name Sample1 is generated, and “Sample Activity” should be added as a comment in the description. This indicates that the type of data to be processed is Message.

(概要:生成されるオブジェクト情報の例)
図8は、図7のアクティビティ仕様書に基づいてアクティビティに対応して生成されたオブジェクト情報を例示する。一行目の「public class Sample1」により、クラス名がSample1であると定義され、2行目の「public void execute(Message message)」により、処理するデータの型がMessageのインスタンスであることが示される。「// Sample Activity」は、図7の「<description>Sample Activity</description>」に対応して生成されたコメントである。「Activity next = FlowDefinition.find("sample1");」は、sample1という名前のアクティビティの次に実行されるアクティビティに対応して生成されたオブジェクト情報を得て、nextという変数に代入することを表わしている。FlowDefinition.findというメソッドの呼び出しにより、フロー定義ファイルあるいはフロー定義ファイルが読み込まれて生成されるデータ構造などが参照されることになる。「next.execute(message);」により、次に実行されるアクティビティに対応して生成されたオブジェクト情報に変数messageのデータを渡して、実行を行なう。なお、一行目の「implements Operation」によりステレオタイプがOperationであることが示される。
(Overview: Example of generated object information)
FIG. 8 illustrates object information generated corresponding to an activity based on the activity specification in FIG. “Public class Sample1” on the first line defines the class name as Sample1, and “public void execute (Message message)” on the second line indicates that the type of data to be processed is an instance of Message. . “// Sample Activity” is a comment generated corresponding to “<description> Sample Activity </ description>” in FIG. "Activity next = FlowDefinition.find (" sample1 ");" indicates that object information generated corresponding to the activity executed next to the activity named sample1 is obtained and assigned to a variable named next. ing. FlowDefinition. By calling a method called “find”, a flow definition file or a data structure generated by reading the flow definition file is referred to. According to “next.execute (message);”, the data of the variable message is passed to the object information generated corresponding to the activity to be executed next and executed. It should be noted that “implements Operation” on the first line indicates that the stereotype is Operation.

(概要:生成されるフロー定義ファイル)
図9は、フロー定義ファイルの論理構造を例示する。フロー定義ファイルは、アクティビティを有し、アクティビティは、アクティビティ名と状態遷移先とを有する。
(Overview: Generated flow definition file)
FIG. 9 illustrates the logical structure of the flow definition file. The flow definition file has an activity, and the activity has an activity name and a state transition destination.

図10は、フロー定義ファイルの例を示しており、「<name>sample1</name><forward>sample2</forward>」により、sample1の処理の後には、sample2を実行することが表現されている。   FIG. 10 shows an example of a flow definition file, and “<name> sample1 </ name> <forward> sample2 </ forward>” expresses that sample2 is executed after the processing of sample1. Yes.

(概要:オブジェクト情報の生成手順)
以下には、自動生成ツール303によるオブジェクト情報の生成手順について説明する。メインモジュールが、アクティビティ図読み込みモジュールとアクティビティ仕様読み込みモジュールを呼び出し、次にアクティビティクラス情報構成モジュールを呼び出し、最後にクラス定義書き出しモジュールを呼び出してソフトウェア(オブジェクト情報)を出力する。生成されるソフトウェアは、アクティビティ1つに対して、1つのクラスにより構成される。
(Overview: Object information generation procedure)
Hereinafter, a procedure for generating object information by the automatic generation tool 303 will be described. The main module calls the activity diagram reading module and the activity specification reading module, then calls the activity class information configuration module, and finally calls the class definition writing module to output software (object information). The generated software is composed of one class for one activity.

ステップ1:(アクティビティ図読み込みモジュール)
アクティビティ図から、システムのレーンに存在するアクティビティと分岐情報を抽出する。
Step 1: (Activity diagram reading module)
Extract activity and branch information existing in the lane of the system from the activity diagram.

ステップ2:(アクティビティ仕様読み込みモジュール)
アクティビティ仕様書から、アクティビティの情報(アクティビティ名、クラス名、インターフェース、説明)を抽出する。
Step 2: (Activity specification reading module)
Activity information (activity name, class name, interface, description) is extracted from the activity specification.

ステップ3:(アクティビティクラス構成モジュール)
ステップ1で抽出したアクティビティ情報と分岐情報と、ステップ2で抽出したアクティビティ情報を、アクティビティ名が一致することを条件に統合させる。統合させたアクティビティ情報からアクティビティクラス情報を構成する。クラス名、インターフェース情報からクラスの構造を定義し、アクティビティの説明をクラスのコメントとする。アクティビティの状態遷移情報からクラスの次の遷移先を構成する。
Step 3: (Activity class configuration module)
The activity information and branch information extracted in step 1 and the activity information extracted in step 2 are integrated on condition that the activity names match. Construct activity class information from the integrated activity information. Define the class structure from the class name and interface information, and use the activity description as the class comment. Construct the next transition destination of the class from the state transition information of the activity.

ステップ4:(クラス定義書き出しモジュール)
ステップ3で作成したクラス構成情報をファイルに出力する。
Step 4: (Class definition export module)
The class configuration information created in step 3 is output to a file.

(概要:フロー定義の生成手順)
自動生成ツールのフロー定義情報の構成手順を示す。メインモジュールが、アクティビティ図読み込みモジュールとアクティビティ仕様読み込みモジュールを呼び出し、次にフロー定義情報構成モジュールを呼び出し、最後にフロー定義書き出しモジュールを呼び出してフロー定義書ファイルを出力する。アクティビティ仕様書は、アクティビティ図とのアクティビティ名の整合性のために参照される。
(Overview: Flow definition generation procedure)
The configuration procedure of flow definition information of the automatic generation tool is shown. The main module calls the activity diagram reading module and the activity specification reading module, then calls the flow definition information configuration module, and finally calls the flow definition writing module to output a flow definition document file. The activity specification is referenced for consistency of activity names with the activity diagram.

ステップ1:(アクティビティ図読み込みモジュール)
(アクティビティクラス情報の構成と同じ)
アクティビティ図から、システムのレーンに存在するアクティビティと分岐情報を抽出する。
Step 1: (Activity diagram reading module)
(Same as the configuration of activity class information)
Extract activity and branch information existing in the lane of the system from the activity diagram.

ステップ2:(アクティビティ仕様読み込みモジュール)
(アクティビティクラス情報の構成と同じ)
アクティビティ仕様書から、アクティビティの情報(アクティビティ名、クラス名、インターフェース、説明)を抽出する。
Step 2: (Activity specification reading module)
(Same as the configuration of activity class information)
Activity information (activity name, class name, interface, description) is extracted from the activity specification.

ステップ3:(フロー定義構成モジュール)
ステップ1で抽出したアクティビティ情報と分岐情報と、ステップ2で抽出したアクティビティ情報を、アクティビティ名が一致することを条件に統合させる。統合されたアクティビティ情報とアクティビティ図の分岐情報から、フロー定義情報を構成する。フロー定義情報は、アクティビティ名とその状態遷移先で構成される。
Step 3: (Flow definition configuration module)
The activity information and branch information extracted in step 1 and the activity information extracted in step 2 are integrated on condition that the activity names match. The flow definition information is composed of the integrated activity information and the branch information of the activity diagram. Flow definition information consists of an activity name and its state transition destination.

ステップ4:(フロー定義書き出しモジュール)
ステップ3で作成したフロー定義情報をファイルに出力する。
Step 4: (Flow definition export module)
The flow definition information created in step 3 is output to a file.

(概要:オブジェクト情報の実行)
図11は、生成されたオブジェクト情報の実行を例示する。生成されたオブジェクト情報(一般には複数となる)の記述であるソースファイル1101が必要に応じて、コンパイラ1102により計算機などのマシンにより実行可能なプログラムとなる。それらのプログラムが汎用アプリケーションサーバなどの計算機などにロードされ、最初のアクティビティオブジェクト(最初に実行されるアクティビティに対応して生成されたオブジェクト情報に対応するプログラム)が起動され、フロー定義情報1105を参照して、次に実行するアクティビティオブジェクトを探索し、そのアクティビティオブジェクトを実行することが繰り返し行なわれる。すなわち、アクティビティオブジェクトが連鎖的に実行されることとなる。
(Overview: Executing object information)
FIG. 11 illustrates the execution of the generated object information. A source file 1101, which is a description of the generated object information (generally, a plurality), becomes a program that can be executed by a machine such as a computer by the compiler 1102 as necessary. Those programs are loaded on a computer such as a general-purpose application server, the first activity object (the program corresponding to the object information generated corresponding to the activity executed first) is started, and the flow definition information 1105 is referred to. Then, the activity object to be executed next is searched and the activity object is repeatedly executed. That is, activity objects are executed in a chain.

(概要:分岐が存在する場合)
図12は、分岐が存在する場合に生成されるオブジェクト情報を例示する。checkOK()という関数(あるいはメソッド)の呼び出しの結果として得られる値に応じて、FlowDefinition.find("activityB","OK")ないしFlowDefinition.find("activityB","NG")が呼び出されて、次に実行するアクティビティに対応して生成されたオブジェクト情報を得て、そのオブジェクト情報を実行する。checkOK()という関数(あるいはメソッド)を使用するかどうかは、例えば、アクティビティ図の分岐の記述として含まれていてもよいし、最初から、分岐の場合には、checkOK()という関数(あるいはメソッド)を使用することが決められていて、後で必要に応じて別の関数(あるいはメソッド)に置き換えられるようになっていてもよい。
(Overview: When there is a branch)
FIG. 12 illustrates object information generated when a branch exists. Depending on the value obtained as a result of calling the function (or method) called checkOK (), FlowDefinition. find ("activityB", "OK") or FlowDefinition. find ("activityB", "NG") is called to obtain object information generated corresponding to the activity to be executed next, and the object information is executed. Whether or not to use a function (or method) called checkOK () may be included, for example, as a description of a branch in an activity diagram. In the case of a branch from the beginning, a function (or method) called checkOK () is used. ) May be used and later replaced with another function (or method) as necessary.

図13は、分岐のある場合のフロー定義ファイルを例示している。3行目から6行目のactivityBの記述において、OKならば、activityCを実行し、NGならばactivityDを実行することが記述されている。この部分が、図12のFlowDefinition.find("activityB","OK")とFlowDefinition.find("activityB","NG")に対応している。なお、上記の説明では、FlowDefinition.findの仕様は、与えられたオブジェクト情報の名前(例えば、"activityB")と状態(例えば、"OK")とが与えられると、フロー定義ファイルを参照して、次に実行するべきオブジェクトを返すものであることを仮定した。もし、FlowDefinition.findの仕様が、与えられた名前で示されるオブジェクトを返すものであれば、FlowDefinition.find("activityB","OK")は、FlowDefinition.find("activityC")に、FlowDefinition.find("activityB","NG")は、FlowDefinition.find("activityD")に、なる。   FIG. 13 illustrates a flow definition file when there is a branch. In the description of activity B on the third to sixth lines, it is described that if it is OK, activity C is executed, and if it is NG, activity D is executed. This portion corresponds to FlowDefinition. find ("activityB", "OK") and FlowDefinition. This corresponds to find ("activity B", "NG"). In the above description, FlowDefinition. When the name of the given object information (for example, “activityB”) and the state (for example, “OK”) are given, the specification of “find” refers to the flow definition file and returns the object to be executed next. Assuming that If FlowDefinition. If the specification of the find returns an object indicated by the given name, FlowDefinition. find ("activityB", "OK") is FlowDefinition. find ("activityC"), FlowDefinition. find ("activityB", "NG") is FlowDefinition. find ("activityD").

(実施形態1)
本発明の実施形態1として、アクティビティ情報を取得し、取得されたアクティビティ情報に基づいて、オブジェクト雛形情報と処理順位定義情報とを生成するオブジェクト情報生成装置について説明する。
(Embodiment 1)
As an embodiment 1 of the present invention, an object information generating apparatus that acquires activity information and generates object template information and processing order definition information based on the acquired activity information will be described.

(実施形態1:構成)
図14は、本発明の実施形態1に係るオブジェクト情報生成装置の機能ブロック図を例示する。オブジェクト情報生成装置1400は、アクティビティ情報取得部1401と、オブジェクト雛形情報生成部1402と、処理順位定義情報生成部1403と、を有する。なお、これらの部、また、以下の実施形態で説明される部、手段は、プログラムのモジュールとして実現することが可能であり、本実施形態また、以下の実施形態に係るオブジェクト情報生成装置は、そのようなプログラムを計算機で実行することにより実現が可能である。
(Embodiment 1: Configuration)
FIG. 14 illustrates a functional block diagram of the object information generating apparatus according to the first embodiment of the present invention. The object information generation apparatus 1400 includes an activity information acquisition unit 1401, an object template information generation unit 1402, and a processing order definition information generation unit 1403. Note that these units, and the units and means described in the following embodiments can be realized as program modules, and the object information generation apparatus according to the present embodiment and the following embodiments It can be realized by executing such a program on a computer.

(実施形態1:構成:アクティビティ情報取得部)
「アクティビティ情報取得部」1401は、アクティビティ情報を取得する。「アクティビティ情報」とは、複数の処理部分情報と、処理順位情報と、を記述した情報である。「処理部分情報」とは、処理の概要を示す情報である。処理部分情報の例としては、処理の部分である処理部分の名前(例えば、activityAなど)であったり、自然言語などによる処理部分の簡単な説明であったりする。「処理順位情報」とは、前記複数の処理部分の処理順位を示す情報である。アクティビティ情報は、例えば、計算機のメモリ上に、処理順位を示すように有向グラフの構造を作ることにより、表現が可能である。
(Embodiment 1: Configuration: activity information acquisition unit)
An “activity information acquisition unit” 1401 acquires activity information. “Activity information” is information describing a plurality of pieces of processing part information and processing order information. “Processing partial information” is information indicating an outline of processing. Examples of processing part information include the name of the processing part that is the processing part (for example, activity A) or a simple description of the processing part in natural language or the like. “Processing order information” is information indicating the processing order of the plurality of processing parts. The activity information can be expressed, for example, by creating a directed graph structure on the computer memory so as to indicate the processing order.

図15(a)は、メモリ上に作られた有向グラフの構造の部分の一例を示す。有向グラフはノードとエッジからなる。そこで、例えば、有向グラフのノードのうち2つに対応して、メモリ領域1501とメモリ領域1502とを確保する。メモリ領域1501に対応するノードからメモリ領域1502に対応するノードへの向きを持ったエッジは、メモリ領域1501の最初の部分に、メモリ領域1502の開始メモリアドレスを格納することにより表現することができる。すなわち、メモリ領域1502の開始アドレスが1016であれば、メモリ領域1501の最初の部分に開始アドレスである1016を格納する。なお、通常は、メモリアドレスを格納する図を用いて説明される代わりに、図15(b)のように、メモリ領域1503とメモリ領域1504との間に矢印を引いて説明されることが多い。   FIG. 15A shows an example of a part of the structure of the directed graph created on the memory. A directed graph consists of nodes and edges. Therefore, for example, a memory area 1501 and a memory area 1502 are secured corresponding to two of the nodes of the directed graph. An edge having a direction from a node corresponding to the memory area 1501 to a node corresponding to the memory area 1502 can be expressed by storing the start memory address of the memory area 1502 in the first part of the memory area 1501. . That is, if the start address of the memory area 1502 is 1016, the start address 1016 is stored in the first part of the memory area 1501. Normally, instead of using a diagram for storing a memory address, it is often explained by drawing an arrow between the memory area 1503 and the memory area 1504 as shown in FIG. 15B. .

アクティビティ情報取得部1401は、例えば、メモリ上に展開された有向グラフの構造を取得する。例えば、アクティビティ情報取得部1401は、有向グラフの構造が展開されたメモリアドレスの範囲や、有向グラフの最初のノードに対応するメモリ領域のメモリアドレスを取得する。あるいは、アクティビティ情報取得部1401は、所定の文法に基づいて記述された文字列を入力し、その文字列の構文解析を行ない、メモリ上に有向グラフの構造を生成するとしてもよい。   For example, the activity information acquisition unit 1401 acquires the structure of the directed graph developed on the memory. For example, the activity information acquisition unit 1401 acquires a memory address range in which the structure of the directed graph is expanded and a memory address of a memory area corresponding to the first node of the directed graph. Alternatively, the activity information acquisition unit 1401 may input a character string described based on a predetermined grammar, analyze the character string, and generate a directed graph structure on the memory.

(実施形態1:構成:オブジェクト雛形情報生成部)
「オブジェクト雛形情報生成部」1402は、アクティビティ情報取得部1401で取得したアクティビティ情報に含まれる任意の処理部分情報に基づいて、対応するオブジェクト情報を記述するためのオブジェクト雛形情報を生成する。「処理部分情報に基づいて」とは、「処理部分情報の内容に関係するように」ということである。例えば、処理部分情報のノードが格納されたメモリアドレスや、ノードが保持する内容により、生成されるオブジェクト雛形情報の内容が決定される。また、「対応するオブジェクト情報」とは、「オブジェクト情報は、アクティビティ情報に対応するように生成される」ということを意味する。また、「雛形」とあるが、これは、オブジェクト雛形情報が生成された後で、修正が可能な形式であることを意味する。修正は、プログラムが動作する計算機などの装置や、人間により行なわれる。
(Embodiment 1: Configuration: object template information generation unit)
The “object template information generation unit” 1402 generates object template information for describing corresponding object information based on arbitrary processing part information included in the activity information acquired by the activity information acquisition unit 1401. “Based on the processing part information” means “as related to the contents of the processing part information”. For example, the content of the generated object template information is determined by the memory address where the node of the processing part information is stored and the content held by the node. Further, “corresponding object information” means “object information is generated so as to correspond to activity information”. Also, “template” is a format that can be modified after the object template information is generated. The correction is performed by a device such as a computer on which the program operates or by a human.

図16は、オブジェクト雛形情報生成部1402の処理のフローチャートを例示する。このフローチャートでは、例えば、図15(a)に示したようにメモリ上に一列に処理部分情報が並んでおり、処理部分情報を順次に取得することが可能になっていることを想定している。   FIG. 16 illustrates a flowchart of processing of the object template information generation unit 1402. In this flowchart, for example, as shown in FIG. 15A, it is assumed that the processing part information is arranged in a line on the memory, and the processing part information can be sequentially acquired. .

まず、ステップS1601において、処理部分情報が残っているかどうかを判断する。もし残っていなければ、処理を終了する。そうでなければ、処理をステップS1602へ進める。例えば、プログラムカウンタを、ステップS1602のプログラムアドレスにセットする。ステップS1602において、残っている処理部分情報から処理部分情報を一つ取り出す。例えば、取り出した処理部分情報が格納されているメモリアドレスをレジスタに格納する。次のステップS1603においては、取り出した処理部分情報に基づいてオブジェクト雛形情報を生成する。例えば、レジスタにメモリアドレスが格納されている処理部分情報の内容を読み込み、オブジェクト雛形情報を生成する。どのようなオブジェクト雛形情報を生成するかについては、後述する。次のステップS1604では、ステップS1603で生成されたオブジェクト雛形情報を格納する。例えば、計算機の管理するファイルとして格納する。すなわち、ファイルをクリエイトし、オブジェクト雛形情報を書き込み、ファイルをクローズする。このとき、ファイル名が一意に決まるようにファイル名を選択する。ファイル名は、例えば、処理部分情報のノードが格納されたメモリアドレスに基づいて選択する(例えば、メモリアドレスが1016であれば、obj1016というファイル名を選択する)。その後、ステップS1601へ戻る(すなわち、プログラムカウンタの値をステップS1601の処理を行なうためのアドレスとする)。   First, in step S1601, it is determined whether or not processing part information remains. If not, the process is terminated. Otherwise, the process proceeds to step S1602. For example, the program counter is set to the program address in step S1602. In step S1602, one piece of processing part information is extracted from the remaining processing part information. For example, the memory address where the extracted processing part information is stored is stored in a register. In the next step S1603, object template information is generated based on the extracted processing part information. For example, the contents of the processing part information whose memory address is stored in the register are read to generate object template information. What kind of object template information is generated will be described later. In the next step S1604, the object template information generated in step S1603 is stored. For example, it is stored as a file managed by the computer. That is, the file is created, the object template information is written, and the file is closed. At this time, the file name is selected so that the file name is uniquely determined. For example, the file name is selected based on the memory address where the node of the processing part information is stored (for example, if the memory address is 1016, the file name obj1016 is selected). Thereafter, the process returns to step S1601 (that is, the value of the program counter is used as an address for performing the process of step S1601).

図17は、ステップS1603で生成される、一つのオブジェクト雛形情報の処理のフローチャートを例示する。また、図18には、引数を用いてデータの受け渡しをするオブジェクト雛形情報の処理のフローチャートを例示する。オブジェクト雛形情報は、例えば、このフローチャートの処理を実現するように、プログラミング言語(望ましくはオブジェクト指向言語)により記述される。オブジェクト雛形情報は、アクティビティ情報取得部1401で取得されたアクティビティ情報が表わす処理の流れを実現するプログラムの一部である。また、後で説明する処理順位定義情報生成部1403での説明にあるように、オブジェクト雛形情報に基づいて記述されるオブジェクト情報が実行する際には、処理順位定義情報を参照することになる。したがって、オブジェクト雛形情報による処理の流れの一例を挙げると次の通りとなる。まず、ステップS1701において、定められた処理を行なう。「定められた処理」とは、処理部分情報が表わす処理である。また、定められた処理には、何もしないことも含む。これは、オブジェクト雛形情報が生成されたときには、何も処理が記述されていない場合があり、オブジェクト雛形情報を、そのままオブジェクト情報として用いることがあり得るからである。次のステップS1702において、次に実行するオブジェクト情報の識別子を得る。オブジェクト情報の識別子としては、例えば、オブジェクト雛形情報が格納されたファイル名を用いてもよい。また、オブジェクト情報がメモリ上にロードされたときのメモリアドレスであってもよい。また、それぞれのオブジェクト情報が独立したタスクやプロセスとして動作するときは、タスク識別子やプロセス識別子などを用いる。また、全てのオブジェクトが一つの計算機などの装置内で動作する必要はなく、他の計算機などに分散して実行がされるようになっていてもよい。このような場合には、タスク識別子やプロセス識別子などには、計算機のIPアドレスなどの計算機などを識別する情報が含められる。なお、図17と図18との違いは、図18においては、データを引数として受信するステップ(ステップS1801)がある点、ステップS1703に対応するステップS1804において次に実行するオブジェクト情報にデータを引数として渡す点が記述されていることである。   FIG. 17 illustrates a flowchart of processing of one object template information generated in step S1603. FIG. 18 illustrates a flowchart of object template information processing for transferring data using an argument. The object template information is described in a programming language (preferably an object-oriented language) so as to realize the processing of this flowchart, for example. The object template information is a part of a program that realizes the processing flow represented by the activity information acquired by the activity information acquisition unit 1401. Further, as described in the processing order definition information generation unit 1403 described later, when the object information described based on the object template information is executed, the processing order definition information is referred to. Therefore, an example of the flow of processing based on the object template information is as follows. First, in step S1701, a predetermined process is performed. The “determined process” is a process represented by the process part information. Further, the predetermined processing includes not doing anything. This is because when the object template information is generated, no processing may be described, and the object template information may be used as object information as it is. In the next step S1702, an identifier of object information to be executed next is obtained. As an identifier of the object information, for example, a file name in which object template information is stored may be used. Further, it may be a memory address when the object information is loaded on the memory. Further, when each object information operates as an independent task or process, a task identifier or a process identifier is used. Further, it is not necessary for all objects to operate in a single computer or the like, and the objects may be distributed to other computers and executed. In such a case, the task identifier, the process identifier, and the like include information for identifying the computer such as the IP address of the computer. 17 is different from FIG. 18 in that there is a step of receiving data as an argument (step S1801) in FIG. 18, and data is supplied to the object information to be executed next in step S1804 corresponding to step S1703. The point to be passed as is described.

なお、ステップS1702で、処理順位定義情報を参照して、次に実行するオブジェクト情報の識別子を得るようになっていてもよい。ステップS1703において、ステップS1702で得られた識別子に基づいて、次に実行するオブジェクト情報を実行する。なお、一般的には、生成されるオブジェクト雛形情報は、処理部分情報が異なっても同じものである。ただし、ステップS1702、ステップS1803での動作が処理部分情報により異なる。すなわち、処理部分情報の名前を用いて処理順位定義情報を参照して、次に実行するオブジェクト情報の識別子を得るようになっていれば、処理部分情報の名前が異なることになる。そのため、オブジェクト雛形情報の雛形を用意しておき、ステップS1702、ステップS1803に対応する部分で処理順位定義情報を参照する際の名前を変更することにより、オブジェクト雛形情報を生成するようにしてもよい。   In step S1702, an identifier of object information to be executed next may be obtained by referring to the processing order definition information. In step S1703, the object information to be executed next is executed based on the identifier obtained in step S1702. In general, the generated object template information is the same even if the processing part information is different. However, the operations in step S1702 and step S1803 differ depending on the processing part information. That is, if the identifier of the object information to be executed next is obtained by referring to the processing order definition information using the name of the processing part information, the name of the processing part information is different. Therefore, a template of object template information is prepared, and the object template information may be generated by changing the name used when referring to the processing order definition information in the portions corresponding to steps S1702 and S1803. .

図17により処理のフローチャートが例示されるオブジェクト情報の例としては、図8に示したプログラムがある。「// Sample Activity」のコメントの部分が、ステップS1701に対応し(すなわち、何もしないという処理になる)、「Activity next = FlowDefinition.find("sample1");」がステップS1702に対応し、「next.execute(message);」がステップS1703に対応する。"sample1"が、処理順位定義情報を参照する際の名前となる。   As an example of the object information whose process flowchart is illustrated by FIG. 17, there is the program shown in FIG. The comment part of “// Sample Activity” corresponds to step S1701 (that is, processing that does nothing), and “Activity next = FlowDefinition.find (“ sample1 ”);” corresponds to step S1702. “Next.execute (message);” corresponds to step S1703. “sample1” is the name used when referring to the processing order definition information.

(実施形態1:構成:処理順位定義情報生成部)
「処理順位定義情報生成部」1403は、アクティビティ情報取得部1401で取得したアクティビティ情報に含まれる処理順位情報に基づいて、処理順位定義情報を生成する。「処理順位定義情報」とは、オブジェクト雛形情報に基づいて記述されるオブジェクト情報が実行される際に参照する情報である。例えば、あるオブジェクト雛形情報が実行した場合、そのオブジェクト雛形情報の実行の次に実行を行なうべきオブジェクト雛形情報の識別子を得るために参照するべき情報である。
(Embodiment 1: Configuration: processing order definition information generation unit)
The “processing order definition information generation unit” 1403 generates processing order definition information based on the processing order information included in the activity information acquired by the activity information acquisition unit 1401. “Processing order definition information” is information that is referred to when object information described based on object template information is executed. For example, when certain object template information is executed, the information should be referred to in order to obtain an identifier of the object template information to be executed after the execution of the object template information.

図19は、処理順位定義情報の一例を示す。この例では、オブジェクト雛形情報は、例えば、処理部分情報のノードが格納されたメモリアドレスに基づいて識別されている。図15(a)に示されているように、メモリアドレスが948となっているノードの次は、メモリアドレスが1016のノードであるので、現在実行しているオブジェクト情報の識別子がobj948であれば、次に実行するオブジェクト情報の識別子は、obj1016となる。なお、処理順位定義情報は、表である必要はなく、あるオブジェクト雛形情報の次に、どのオブジェクト雛形情報を実行するべきかが記述されていればよい。   FIG. 19 shows an example of processing order definition information. In this example, the object template information is identified based on, for example, the memory address where the node of the processing part information is stored. As shown in FIG. 15A, since the node after the memory address 948 is the node with the memory address 1016, if the identifier of the object information currently being executed is obj948. The identifier of the object information to be executed next is obj1016. Note that the processing order definition information does not have to be a table, and it is only necessary to describe which object template information is to be executed next to certain object template information.

図20は、処理順位定義情報生成部1403の処理のフローチャートを例示する。ステップS2001において、処理部分情報が残っているかどうかを判断する。もし、残っていなければ処理を終了し、そうでなければ、ステップS2002へ処理を移行する。ステップS2002では、処理部分情報を一つ取り出す。取り出された処理部分情報のメモリアドレスを例えば、レジスタに格納する。次のステップS2003では、ステップS2002で取り出された処理部分情報の次に実行する処理部分情報が存在するかどうかを判断する。すなわち、処理順位情報により、最後に実行するべき処理部分情報でないかどうかを判断する。もし、そうならば、ステップS2004へ処理を移行し、そうでなければ、ステップS2004をスキップする。ステップS2004においては、取り出した処理部分情報の識別子と、次に実行する処理部分情報の識別子からなる一行を作成して表(例えば、図19に例示された表)に加える。その後、ステップS2001へ戻る。   FIG. 20 illustrates a flowchart of the processing of the processing order definition information generation unit 1403. In step S2001, it is determined whether or not processing part information remains. If not, the process ends. If not, the process proceeds to step S2002. In step S2002, one piece of processing part information is extracted. The memory address of the extracted processing part information is stored in, for example, a register. In the next step S2003, it is determined whether there is processing part information to be executed next to the processing part information extracted in step S2002. That is, it is determined from the processing order information whether or not the processing partial information is to be executed last. If so, the process proceeds to step S2004; otherwise, step S2004 is skipped. In step S2004, a line including the identifier of the extracted processing part information and the identifier of the processing part information to be executed next is created and added to a table (for example, the table illustrated in FIG. 19). Thereafter, the process returns to step S2001.

なお、本実施形態に係るオブジェクト情報生成装置は、アクティビティ情報取得ステップと、オブジェクト雛形情報生成ステップと、処理順位定義情報生成ステップと、を含むオブジェクト情報生成方法を使用するための装置の一つと解釈することも可能である。「アクティビティ情報取得ステップ」は、処理の概要を示す複数の処理部分情報と、前記複数の処理の処理順位を示す処理順位情報と、を記述した情報であるアクティビティ情報を取得するためのステップである。例えば、アクティビティ情報取得部1401を動作させるためのステップである。「オブジェクト雛形情報生成ステップ」とは、前記アクティビティ情報取得ステップにて取得されたアクティビティ情報に含まれる任意の処理部分情報に基づいて、対応するオブジェクト情報を記述するための雛形となるオブジェクト雛形情報を生成するためのステップである。例えば、オブジェクト雛形情報生成部を動作させるためのステップである。「処理順位定義情報生成ステップ」は、前記アクティビティ情報取得ステップにて取得されたアクティビティ情報に含まれる処理順位情報に基づいて、前記オブジェクト雛形情報に基づいて記述されるべきオブジェクト情報が実行される際に参照する情報である処理順位定義情報を生成するためのステップである。例えば、処理順位定義情報生成部1403を動作させるためのステップである。なお、オブジェクト情報生成方法を使用するための装置は、オブジェクト情報生成装置に限定されることはない。   The object information generation device according to the present embodiment is interpreted as one of devices for using an object information generation method including an activity information acquisition step, an object template information generation step, and a processing order definition information generation step. It is also possible to do. The “activity information acquisition step” is a step for acquiring activity information that is information describing a plurality of pieces of processing partial information indicating an outline of processing and processing order information indicating processing order of the plurality of processes. . For example, this is a step for operating the activity information acquisition unit 1401. The “object template information generation step” refers to object template information serving as a template for describing corresponding object information based on arbitrary processing part information included in the activity information acquired in the activity information acquisition step. It is a step for generating. For example, this is a step for operating the object template information generation unit. The “processing order definition information generation step” is performed when object information to be described based on the object template information is executed based on the processing order information included in the activity information acquired in the activity information acquisition step. This is a step for generating processing order definition information that is information to be referred to. For example, this is a step for operating the processing order definition information generation unit 1403. Note that the device for using the object information generation method is not limited to the object information generation device.

(実施形態1:主な効果)
本実施形態によれば、アクティビティ図などを表わすアクティビティ情報に基づいて、そのアクティビティ情報の表わす処理の流れを実現するオブジェクト雛形情報を生成することができる。また、そのオブジェクト雛形情報は、人間が編集可能な形態で生成することにすれば、そのオブジェクト雛形情報に基づいて、アクティビティ情報の表わす処理を持つシステムを作成することが可能である。また、処理順位定義情報が別に生成されるので、オブジェクト雛形情報に処理の順序がハードコーディングされている場合よりも、処理の順序を変更することが容易に行なえる。
(Embodiment 1: Main effects)
According to this embodiment, based on activity information representing an activity diagram or the like, it is possible to generate object template information that realizes the processing flow represented by the activity information. If the object template information is generated in a form that can be edited by a human, a system having a process represented by activity information can be created based on the object template information. Further, since the processing order definition information is generated separately, it is possible to change the processing order more easily than when the processing order is hard-coded in the object template information.

(実施形態2)
本発明の実施形態2として、オブジェクト雛形情報は、識別情報を有し、その識別情報を利用して処理順位定義情報を生成するオブジェクト情報生成装置について説明する。
(Embodiment 2)
As an embodiment 2 of the present invention, an object information generation apparatus will be described in which object template information has identification information and generates processing order definition information using the identification information.

(実施形態2:構成)
本発明の実施形態2に係るオブジェクト情報生成装置は、実施形態1に係るオブジェクト情報生成装置において、オブジェクト雛形情報生成部1402により生成されるオブジェクト雛形情報は、識別情報記述部を有する。
(Embodiment 2: Configuration)
In the object information generation device according to the second exemplary embodiment of the present invention, the object template information generated by the object template information generation unit 1402 in the object information generation device according to the first embodiment includes an identification information description unit.

「識別情報記述部」とは、記述されるオブジェクトを識別するための識別情報を記述する部分である。「記述されるオブジェクト」とは、オブジェクト雛形情報により記述されるオブジェクトである。   The “identification information description part” is a part that describes identification information for identifying the object to be described. “Described object” is an object described by object template information.

識別情報記述部の例としては、図8に例示されたプログラムの一行目の「public class Sample1」の「Sample1」が記述されている部分である。あるいは、識別情報記述部は、このプログラムの表わす意味からすると、「Activity next = FlowDefinition.find("sample1");」の「"sample1"」が記述されている部分であるとも解釈することができる。   As an example of the identification information description part, “Sample1” of “public class Sample1” in the first line of the program illustrated in FIG. 8 is described. Alternatively, the identification information description part can be interpreted as a part in which ““ sample1 ”” of “Activity next = FlowDefinition.find (“ sample1 ”);” is described from the meaning represented by this program. .

本実施形態においては、処理順位定義情報生成部1403は、前記識別情報を利用して処理順位定義情報を生成する。「前記識別情報」とは、識別情報記述部に記述された識別情報である。   In the present embodiment, the processing order definition information generation unit 1403 generates processing order definition information using the identification information. The “identification information” is identification information described in the identification information description section.

したがって、例えば、図19に例示された表には、識別情報記述部に記述された識別情報が格納されることになる。   Therefore, for example, the table illustrated in FIG. 19 stores the identification information described in the identification information description section.

(実施形態2:主な効果)
本実施形態によれば、オブジェクト雛形情報に識別情報が記述されるので、例えばオブジェクト雛形情報が格納されるファイル名によりオブジェクト雛形情報が識別される場合よりも、オブジェクト雛形情報の可読性が高まり、オブジェクト雛形情報の修正が容易に行なえる。
(Embodiment 2: Main effects)
According to the present embodiment, the identification information is described in the object template information. Therefore, for example, the object template information is more readable than when the object template information is identified by the file name in which the object template information is stored. Template information can be easily modified.

(実施形態3)
本発明の実施形態3として、アクティビティ仕様書を表わす情報を取得して、オブジェクト雛形情報と処理順位定義情報とを生成するオブジェクト情報生成装置について説明する。
(Embodiment 3)
As an embodiment 3 of the present invention, an object information generation apparatus that acquires information representing an activity specification and generates object template information and processing order definition information will be described.

(実施形態3:構成)
図21は、本発明の実施形態3に係るオブジェクト情報生成装置の機能ブロック図を例示する。オブジェクト情報生成装置2100は、アクティビティ情報取得部1401と、オブジェクト雛形情報生成部1402と、処理順位定義情報生成部1403と、アクティビティ仕様情報取得部2101と、を有する。したがって、本実施形態に係るオブジェクト情報生成装置は、実施形態1または2のオブジェクト情報生成装置が、アクティビティ仕様情報取得部を有する構成となっている。
(Embodiment 3: Configuration)
FIG. 21 illustrates a functional block diagram of the object information generating apparatus according to the third embodiment of the present invention. The object information generation apparatus 2100 includes an activity information acquisition unit 1401, an object template information generation unit 1402, a processing order definition information generation unit 1403, and an activity specification information acquisition unit 2101. Therefore, the object information generation apparatus according to the present embodiment is configured such that the object information generation apparatus according to the first or second embodiment includes an activity specification information acquisition unit.

なお、本明細書においては、同じ定義の部、手段には、できるだけ同じ符号を割り当てることにする。同じ符号が割り当てられていても、実際に製造などをするときには、作りが異なる場合がある。   In the present specification, the same reference numerals are assigned to parts and means having the same definition as much as possible. Even if the same code is assigned, the manufacturing may be different when actually manufacturing.

(実施形態3:構成:アクティビティ仕様情報取得部)
「アクティビティ仕様情報取得部」2101は、アクティビティ仕様情報を取得する。「アクティビティ仕様情報」とは、型情報と、引数型情報と、をオブジェクト雛形情報に対応する処理部分情報に関連付けて記述した情報である。「処理部分情報に関連付けて記述」とは、例えば、処理部分情報に名前が付されていて、その名前により処理部分情報を指定して、アクティビティ仕様情報を記述することである。アクティビティ仕様情報の例については、後で説明する。
(Embodiment 3: Configuration: activity specification information acquisition unit)
The “activity specification information acquisition unit” 2101 acquires activity specification information. “Activity specification information” is information in which type information and argument type information are described in association with processing part information corresponding to object template information. The “description in association with the processing part information” means that, for example, the processing part information is given a name, the processing part information is specified by the name, and the activity specification information is described. An example of activity specification information will be described later.

「型情報」とは、オブジェクト雛形情報に基づいて生成されるべきオブジェクト情報の型を示す情報である。オブジェクト雛形情報がオブジェクト指向言語で記述される場合には、型は、例えば、クラス名となる(図8での「Sample1」である)。また、C言語やC++言語で記述される場合には、構造体の名前となる。   “Type information” is information indicating the type of object information to be generated based on the object template information. When the object template information is described in an object-oriented language, the type is, for example, a class name (“Sample1” in FIG. 8). In the case of being described in C language or C ++ language, it is the name of the structure.

「引数型情報」とは、オブジェクト雛形情報に基づいて生成されるべきオブジェクト情報の引数の型を示す情報である。例えば、図8の場合には、「Message」である。   “Argument type information” is information indicating an argument type of object information to be generated based on the object template information. For example, in the case of FIG. 8, it is “Message”.

なお、アクティビティ仕様情報には、型情報と引数型情報以外の情報が記述されていてもよい。例えば、アクティビティである処理部分情報に対応して生成されるオブジェクト雛形情報により行なわれる処理の内容が記述されていてもよい。その記述は、プログラミング言語により行なわれていてもよいし、自然言語により行なわれていてもよい。   Note that information other than type information and argument type information may be described in the activity specification information. For example, the contents of processing performed by object template information generated corresponding to processing part information that is an activity may be described. The description may be performed in a programming language or a natural language.

(実施形態3:構成:オブジェクト雛形情報生成部)
本実施形態においては、オブジェクト雛形情報生成部1402は、アクティビティ仕様情報取得部2101で取得したアクティビティ仕様情報に含まれる型情報と、引数型情報とに基づいて、オブジェクト情報を生成する。
(Embodiment 3: Configuration: Object template information generation unit)
In the present embodiment, the object template information generation unit 1402 generates object information based on the type information included in the activity specification information acquired by the activity specification information acquisition unit 2101 and the argument type information.

(実施形態3:アクティビティ仕様情報の例)
図22は、アクティビティ仕様情報の一例を示す。処理部分名として、「sample1」が指定されているので、このアクティビティ仕様情報は、sample1という名前が付された処理部分情報に関するアクティビティ仕様情報であることが示される。型名が「Sample1」であるので、sample1という処理部分情報に対応してSample1という型名(クラス名)を持つオブジェクト雛形情報が生成されるべきことが示される。引数の型は「Message」であるので、そのオブジェクト雛形情報は、Messageという型の引数を取ることが示される。また、説明という欄があるが、これは、そのオブジェクト雛形情報で行なう処理の説明であり、オブジェクト雛形情報に、例えば、コメントとして追加される文字列である。
(Embodiment 3: Example of activity specification information)
FIG. 22 shows an example of activity specification information. Since “sample1” is designated as the processing part name, this activity specification information indicates that it is activity specification information related to the processing part information with the name “sample1”. Since the type name is “Sample1”, it is indicated that object template information having a type name (class name) of Sample1 should be generated corresponding to the processing part information of sample1. Since the argument type is “Message”, it is indicated that the object template information takes an argument of the type “Message”. Although there is a column of explanation, this is a description of processing performed with the object template information, and is a character string added as a comment to the object template information, for example.

このようなアクティビティ仕様書により、例えば、図8のオブジェクト雛形情報であって、「// Sample activity」の部分が「// Messageのインスタンスを受信し、インスタンス中の文字列中の小文字のアルファベットを大文字にする」に置き換えられたオブジェクト雛形情報が生成される。なお、「//」はコメントの開始を意味し、コメントは行の終わりまでの部分である。   According to such an activity specification, for example, in the object template information of FIG. 8, the “// Sample activity” part receives an instance of “// Message”, and the lowercase alphabet in the character string in the instance is changed. Object template information replaced with “capitalize” is generated. Note that “//” means the start of a comment, and the comment is the part up to the end of the line.

なお、本実施形態において、処理順位定義情報生成部1403は、アクティビティ仕様情報取得部2101で取得されたアクティビティ仕様情報の内容に基づいて処理順位定義情報を生成してもよい。例えば、図19の表に格納する名前を型名としてもよい。   In this embodiment, the processing order definition information generation unit 1403 may generate processing order definition information based on the content of the activity specification information acquired by the activity specification information acquisition unit 2101. For example, the name stored in the table of FIG. 19 may be the model name.

(実施形態3:主な効果)
本実施形態によれば、アクティビティ仕様情報にも基づいて、少なくともオブジェクト雛形情報が生成されるので、例えば、オブジェクト雛形情報の主要な部分の記述を指定しておくことができ、オブジェクト雛形情報の修正を効率よく行なえるようになる。
(Embodiment 3: Main effects)
According to this embodiment, at least the object template information is generated based also on the activity specification information. For example, the description of the main part of the object template information can be specified, and the object template information is corrected. Can be performed efficiently.

(実施形態4)
本発明の実施形態4として、アクティビティ仕様情報が構造化文書として記述されているオブジェクト情報生成装置について説明する。
(Embodiment 4)
As an embodiment 4 of the present invention, an object information generation apparatus in which activity specification information is described as a structured document will be described.

(実施形態4:構成)
本発明の実施形態4は、実施形態3に係るオブジェクト情報生成装置において、アクティビティ仕様情報取得部2101が取得するアクティビティ仕様情報が、構造化文書として記述されているようにしたものである。
(Embodiment 4: Configuration)
Embodiment 4 of the present invention is such that the activity specification information acquired by the activity specification information acquisition unit 2101 is described as a structured document in the object information generation apparatus according to Embodiment 3.

構造化文書の代表例としては、XMLに基づいて記述されたものがある。したがって、本実施形態におけるアクティビティ仕様情報の例としては、図7に示したものがある。オブジェクト情報生成装置を、計算機により実現する場合には、本実施形態においては、アクティビティ仕様情報取得部2101が構造化文書の構文解析を行なって、その結果をメモリ上に保持する必要があるが、構造化文書は、構文解析に適した文法となっているので、構造化文書の構文解析を行なうプログラムを提供することは、当業者には容易なことである。   As a typical example of a structured document, there is one described based on XML. Therefore, an example of the activity specification information in this embodiment is shown in FIG. When the object information generation apparatus is realized by a computer, in this embodiment, the activity specification information acquisition unit 2101 needs to parse the structured document and hold the result in the memory. Since the structured document has a grammar suitable for parsing, it is easy for those skilled in the art to provide a program for parsing the structured document.

(実施形態4:主な効果)
構造化文書を記述するツールは数多く出回っており、本実施形態によれば、そのようなツールを用いてアクティビティ仕様情報を記述することができるようになる。
(Embodiment 4: Main effects)
There are many tools for describing structured documents. According to the present embodiment, activity specification information can be described using such tools.

(実施形態5)
本発明の実施形態5として、アクティビティ情報に表現される分岐に対応してオブジェクト雛形情報を生成するオブジェクト情報生成装置について説明する。
(Embodiment 5)
As an embodiment 5 of the present invention, an object information generating apparatus that generates object template information corresponding to a branch expressed in activity information will be described.

(実施形態5:構成)
図23は、本発明の実施形態5に係るオブジェクト情報生成装置の機能ブロック図を例示する。オブジェクト情報生成装置2300は、アクティビティ情報取得部1401と、オブジェクト雛形情報生成部1402と、処理順位定義情報生成部1403と、を有し、オブジェクト雛形情報生成部1402は、分岐処理判断手段2301と、分岐依存生成手段と、を有している。また、オブジェクト情報生成装置2300は、さらに、アクティビティ仕様情報取得部を有していてもよい。
(Embodiment 5: Configuration)
FIG. 23 illustrates a functional block diagram of the object information generating apparatus according to the fifth embodiment of the present invention. The object information generation apparatus 2300 includes an activity information acquisition unit 1401, an object template information generation unit 1402, and a processing order definition information generation unit 1403. The object template information generation unit 1402 includes a branch process determination unit 2301, Branch dependency generation means. The object information generation device 2300 may further include an activity specification information acquisition unit.

したがって、本実施形態に係るオブジェクト情報生成装置は、実施形態1から4のいずれか一のオブジェクト情報生成装置のオブジェクト雛形情報生成部が、分岐処理判断手段と、分岐依存生成手段と、を有する構成となっている。   Therefore, the object information generation device according to the present embodiment is configured such that the object template information generation unit of the object information generation device according to any one of Embodiments 1 to 4 includes a branch process determination unit and a branch dependency generation unit. It has become.

(実施形態5:構成:分岐処理判断手段)
「分岐処理判断手段」2301は、処理部分情報が分岐処理を行なうかどうかを判断する。例えば、アクティビティ情報を表わす有向グラフの構造がメモリ上に存在する場合において、処理部分情報のノードの次に分岐を表わすノードが接続されているかどうかを判断する。
(Embodiment 5: Configuration: branch process determination means)
The “branch process determination unit” 2301 determines whether or not the process part information performs a branch process. For example, when the structure of the directed graph representing the activity information exists in the memory, it is determined whether or not a node representing a branch is connected after the node of the processing partial information.

(実施形態5:構成:分岐依存生成手段)
「分岐依存生成手段」2302は、分岐処理判断手段2301の判断結果に応じて分岐処理を含むオブジェクト雛形情報である分岐型オブジェクト雛形情報か、分岐処理を含まないオブジェクト雛形情報である非分岐型オブジェクト雛形情報かを選択して生成する。
(Embodiment 5: Configuration: branch dependency generation means)
The “branch dependency generation unit” 2302 is a branch type object template information that is object template information including branch processing or a non-branch type object that is object template information not including branch processing according to the determination result of the branch processing determination unit 2301. Select and generate template information.

図24は、分岐型オブジェクト雛形情報の処理のフローチャートを例示する。ステップS2401において、定められた処理(何もしないことを含む)をおこなう。これはステップS1701と同じである。ステップS2402において、第一ブランチへ分岐するかどうかを判断する。この判断は、例えば、あらかじめ定められた関数やメソッドを呼び出し、その結果得られる値に基づいて行なう。あるいは、アクティビティ情報などに、どの関数、メソッドを使用するかが記載されていて、その記載に基づいて記述がされてもよい。もし、第一ブランチへ分岐すると判断された場合には、ステップS2402へ処理を移行し、そうでなければ、ステップS2404へ処理を移行させる。ステップS2402において、第一ブランチで実行するオブジェクト情報の識別子を得る。すなわち、第一ブランチの次に実行するべきオブジェクト情報の識別子を得る。ステップS2403において、ステップS2402で得られたオブジェクトの識別子に基づいて、次に実行するオブジェクト情報を実行する。ステップS2404、ステップS2405は、それぞれステップS2402、S2403と同様であるので、説明を省略する。   FIG. 24 exemplifies a flowchart of the branching object template information process. In step S2401, a predetermined process (including nothing is performed) is performed. This is the same as step S1701. In step S2402, it is determined whether to branch to the first branch. This determination is made based on, for example, a value obtained as a result of calling a predetermined function or method. Alternatively, what function or method is used is described in the activity information or the like, and the description may be made based on the description. If it is determined to branch to the first branch, the process proceeds to step S2402, and if not, the process proceeds to step S2404. In step S2402, an identifier of object information to be executed in the first branch is obtained. That is, an identifier of object information to be executed next to the first branch is obtained. In step S2403, based on the object identifier obtained in step S2402, the object information to be executed next is executed. Steps S2404 and S2405 are the same as steps S2402 and S2403, respectively, and a description thereof will be omitted.

ステップS2402、ステップS2404において、第一ブランチかどうかに基づいて、次に実行するオブジェクト情報の識別子を得る必要がある。そのため、処理順位定義情報に、どのブランチであるかどうかの情報を含める必要がある。   In steps S2402 and S2404, it is necessary to obtain an identifier of object information to be executed next based on whether or not the branch is the first branch. Therefore, it is necessary to include information indicating which branch is included in the processing order definition information.

図25は、どのブランチであるかどうかの情報が含められた処理順位定義情報を例示する。図25において、真ん中の列の「ブランチ」に、どのブランチであるかどうかを示す情報が格納されている。例えば、現在実行しているオブジェクト情報がobj948であるとする。第一ブランチであれば、次に実行するオブジェクト情報の識別子は、obj1016となり、そうでないのであれば(すなわち、第二ブランチであれば)、次に実行するオブジェクト情報の識別子は、obj1024となる。   FIG. 25 exemplifies processing order definition information including information about which branch it is. In FIG. 25, “branch” in the middle column stores information indicating which branch it is. For example, it is assumed that the currently executed object information is obj948. If it is the first branch, the identifier of the object information to be executed next is obj1016, and if not (that is, if it is the second branch), the identifier of the object information to be executed next is obj1024.

図26は、図25に例示された処理順位定義情報を生成する処理のフローチャートを例示する。すなわち、本実施形態における処理順位定義情報生成部1403の処理を例示する。   FIG. 26 illustrates a flowchart of processing for generating the processing order definition information illustrated in FIG. That is, the processing of the processing order definition information generation unit 1403 in this embodiment is illustrated.

ステップS2601において処理部分情報が残っているかどうかを判断する。もし残っているならばステップS2602へ処理を移行させ、そうでなければ処理を終了する。ステップS2602において、処理部分情報を一つ取り出す。これにより、例えば、処理部分情報に対応するメモリ領域のアドレスをレジスタに格納する。ステップS2603において、次に実行する処理部分情報があるかどうかを判断する。この判断は、例えば、レジスタに格納された値をメモリアドレスとみなして、そのメモリアドレスに格納されている値を取得することにより行なわれる。もし、あれば、ステップS2604へ処理を移行させ、そうでなければステップS2601へ処理を戻す。ステップS2604において、分岐処理が行なわれるかどうかを判断する。すなわち、現在の処理部分情報のノードの次に分岐処理を示すノードがあるかどうかを判断する。この判断は、例えば、レジスタに格納された値をメモリアドレスとみなし、そのメモリアドレスに格納されている値をメモリアドレスとして解釈して、そのメモリアドレスに格納されている値を取得することにより行なわれる。もし、分岐処理があれば、ステップS2605へ処理を移行させ、そうでなければステップS2606へ処理を移行させる。   In step S2601, it is determined whether or not processing part information remains. If it remains, the process proceeds to step S2602, and if not, the process ends. In step S2602, one piece of processing part information is extracted. Thereby, for example, the address of the memory area corresponding to the processing part information is stored in the register. In step S2603, it is determined whether there is processing part information to be executed next. This determination is made, for example, by regarding the value stored in the register as a memory address and acquiring the value stored in the memory address. If so, the process proceeds to step S2604; otherwise, the process returns to step S2601. In step S2604, it is determined whether branch processing is performed. That is, it is determined whether there is a node indicating branch processing next to the node of the current processing partial information. This determination is made, for example, by regarding the value stored in the register as the memory address, interpreting the value stored in the memory address as the memory address, and acquiring the value stored in the memory address. It is. If there is a branch process, the process proceeds to step S2605; otherwise, the process proceeds to step S2606.

ステップS2605において、取り出した処理部分情報の識別子と、分岐ごとに次に実行する処理部分情報の識別子を行として表などに追加する。分岐ごとに次に実行する処理部分情報の識別子は、分岐のノードの内容、すなわち、その分岐のノードの次のノードの内容を調べることにより得ることができる。   In step S2605, the identifier of the extracted processing part information and the identifier of the processing part information to be executed next for each branch are added as a row to a table or the like. The identifier of the processing part information to be executed next for each branch can be obtained by examining the contents of the node of the branch, that is, the contents of the node next to the node of the branch.

ステップS2606においては、取り出した処理部分情報の識別子と次に実行する処理部分情報の識別子を行として表に追加する。   In step S2606, the identifier of the extracted processing part information and the identifier of processing part information to be executed next are added to the table as rows.

ステップS2605、S2606の処理が終わるとステップS2601へ戻る。例えば、プログラムカウンタの値を、ステップS2601のプログラムアドレスにする。   When the processes of steps S2605 and S2606 are finished, the process returns to step S2601. For example, the value of the program counter is set to the program address in step S2601.

(実施形態5:主な効果)
本実施形態によれば、分岐が含まれるアクティビティ情報を表わすオブジェクト雛形情報を生成することができる。
(Embodiment 5: Main effects)
According to the present embodiment, it is possible to generate object template information representing activity information including a branch.

(実施形態6)
本発明の実施形態6として、アクティビティ情報の処理順位情報がレーンに分かれているオブジェクト情報生成装置について説明する。
(Embodiment 6)
As an embodiment 6 of the present invention, an object information generating apparatus in which processing order information of activity information is divided into lanes will be described.

(実施形態6:構成)
本発明の実施形態6においては、実施形態1から5のいずれかのオブジェクト情報生成装置において、アクティビティ情報取得部が取得するアクティビティ情報の処理順位情報は、ユーザレーンとシステムレーンに分けて処理順位が記述されている。「ユーザレーン」とは、人間(ユーザ)が行なう処理を記述する部分である。また、「システムレーン」とは、システムが行なう処理を記述する部分である。
(Embodiment 6: Configuration)
In the sixth embodiment of the present invention, in the object information generating device according to any one of the first to fifth embodiments, the processing order information of the activity information acquired by the activity information acquiring unit is divided into user lanes and system lanes. is described. The “user lane” is a part describing processing performed by a human (user). The “system lane” is a part that describes processing performed by the system.

ユーザレーンとシステムレーンに分かれたアクティビティ情報の例としては、図1に示したアクティビティ図を示す情報がある。   As an example of the activity information divided into the user lane and the system lane, there is information indicating the activity diagram shown in FIG.

なお、本発明においては、システムレーンのアクティビティに対応してオブジェクト情報を生成するのが好適である。   In the present invention, it is preferable to generate object information corresponding to the activity in the system lane.

(実施形態6:主な効果)
本実施形態により、アクティビティ図でユーザを含めたシステム全体の記述ができ、また、プログラムとして生成するべき範囲をシステムレーンによって限定することができる。
(Embodiment 6: Main effects)
According to this embodiment, the entire system including the user can be described in the activity diagram, and the range to be generated as a program can be limited by the system lane.

(実施形態7)
本発明の実施形態7として、アクティビティ情報が構造化文書として記述されているオブジェクト情報が、構造化文書として記述されているオブジェクト情報生成装置について説明する。
(Embodiment 7)
As an embodiment 7 of the present invention, an object information generating apparatus in which object information in which activity information is described as a structured document is described as a structured document will be described.

(実施形態7:構成)
すなわち、本発明の実施形態7は、実施形態1から6のいずれか一のオブジェクト情報生成装置において、アクティビティ情報取得部1401が取得するアクティビティ情報が、構造化文書として記述されているオブジェクト情報生成装置である。
(Embodiment 7: Configuration)
That is, Embodiment 7 of the present invention is an object information generation device in which the activity information acquired by the activity information acquisition unit 1401 is described as a structured document in the object information generation device according to any one of Embodiments 1 to 6. It is.

実施形態4で述べたように、構造化文書の代表例としては、XMLに基づいて記述されたものがあり、アクティビティ情報がXMLにより記述された例は、図5に示した通りである。   As described in the fourth embodiment, as a typical example of a structured document, there is one described based on XML, and an example in which activity information is described in XML is as shown in FIG.

(実施形態7:主な効果)
構造化文書を記述するツールは数多く出回っており、特に、UMLのモデリングツールとして、アクティビティ図を作成することにより、XMLの文書を出力するものがある。したがって、本実施形態により、そのようなツールにより作成されたアクティビティ情報を用いることができる。これにより、例えば、システムの作成の手間、時間の低減を図ることができる。
(Embodiment 7: Main effects)
There are many tools for describing structured documents. In particular, as UML modeling tools, there are those that output XML documents by creating activity diagrams. Therefore, according to the present embodiment, activity information created by such a tool can be used. Thereby, for example, the time and effort for creating the system can be reduced.

(実施形態8)
本発明の実施形態8として、処理順位定義情報が構造化文書として記述されているオブジェクト情報生成装置について説明する。
(Embodiment 8)
As an eighth embodiment of the present invention, an object information generation apparatus in which processing order definition information is described as a structured document will be described.

(実施形態8:構成)
本発明の実施形態8に係るオブジェクト情報生成装置は、実施形態1ないし7のいずれかに係るオブジェクト情報生成装置において、処理順位定義情報生成部1403の生成する処理順位定義情報が構造化文書として記述されるようにしたオブジェクト情報生成装置である。
(Embodiment 8: Configuration)
In the object information generation device according to Embodiment 8 of the present invention, in the object information generation device according to any of Embodiments 1 to 7, the processing order definition information generated by the processing order definition information generation unit 1403 is described as a structured document. This is an object information generation device configured to be performed.

構造化文書として記述された処理順位定義情報の例は、図10に示した通りである。図10では、図19に示した処理順位定義情報の一行に対応している。図10において、<activity>から</activity>の部分を複数持たせることにより複数行に対応する処理順位定義情報とすることができるのは言うまでも無い。   An example of processing order definition information described as a structured document is as shown in FIG. FIG. 10 corresponds to one line of the processing order definition information shown in FIG. In FIG. 10, it goes without saying that the processing order definition information corresponding to a plurality of lines can be obtained by providing a plurality of portions from <activity> to </ activity>.

(実施形態8:主な効果)
処理順位定義情報を構造化文書により記述することにより、処理順位定義情報を人間が読むことができる形式にすることができ、また、オブジェクト雛形情報を実行する場合に、処理順位定義情報を計算機に読み込ませることが容易に行なえるようになる。
(Embodiment 8: Main effects)
By describing the processing order definition information in a structured document, the processing order definition information can be in a format that can be read by humans. When executing the object template information, the processing order definition information is stored in the computer. It can be easily read.

(実施形態9)
本発明の実施形態9として、以上の実施形態に係るオブジェクト情報生成装置のオブジェクト雛形情報生成部で生成されたオブジェクト雛形情報に基づいて記述されるオブジェクト情報を実行する装置について説明する。
(Embodiment 9)
As Embodiment 9 of the present invention, an apparatus that executes object information described based on object template information generated by the object template information generation unit of the object information generation apparatus according to the above embodiment will be described.

(実施形態9:構成)
図27は、本発明の実施形態9に係るオブジェクト実行装置の機能ブロック図を例示する。オブジェクト実行装置2700は、オブジェクト保持部2702と、処理順位定義情報保持部2703と、オブジェクト実行部2701と、を有する。なお、本実施形態に係るオブジェクト実行装置は、図11に示された汎用アプリケーションサーバ1103に対応しており、例えば、計算機を用いて実現されるものである。
(Embodiment 9: Configuration)
FIG. 27 illustrates a functional block diagram of an object execution device according to the ninth embodiment of the present invention. The object execution device 2700 includes an object holding unit 2702, a processing order definition information holding unit 2703, and an object execution unit 2701. Note that the object execution device according to the present embodiment corresponds to the general-purpose application server 1103 shown in FIG. 11, and is realized using, for example, a computer.

「オブジェクト保持部」2702は、オブジェクト雛形情報生成部1402で生成されたオブジェクト雛形情報に基づいて記述されるオブジェクト情報を保持する。「オブジェクト雛形情報に基づいて記述されるオブジェクト」とは、オブジェクト雛形情報そのもの、あるいは、オブジェクト雛形情報に対して処理の記述の追加、変更を行なって得られるオブジェクト情報、を実行可能な形式に変換した情報をいう。例えば、コンパイラなどにより、計算機により実行可能となった形式である。   The “object holding unit” 2702 holds object information described based on the object template information generated by the object template information generating unit 1402. "Objects described based on object template information" refers to object template information itself or object information obtained by adding or changing processing descriptions to object template information into an executable format Information. For example, it is a format that can be executed by a computer by a compiler or the like.

図28は、オブジェクト保持部2702の内部構造の模式図を例示する。図28に示される構造が、例えば、計算機のメモリ空間に展開される。配列2801の各要素に、オブジェクト1、オブジェクト2、オブジェクト3などへのポインタが格納されている。矩形領域2805は、最初に処理すべき処理部分に対応して生成されたオブジェクト雛形情報に基づいて記述されたオブジェクトを指すポインタを格納している。   FIG. 28 illustrates a schematic diagram of the internal structure of the object holding unit 2702. The structure shown in FIG. 28 is expanded in a memory space of a computer, for example. In each element of the array 2801, pointers to the object 1, the object 2, the object 3, and the like are stored. The rectangular area 2805 stores a pointer indicating an object described based on the object template information generated corresponding to the processing portion to be processed first.

「処理順位定義情報保持部」2703は、処理順位定義情報生成部1403で生成された処理順位定義情報を保持する。例えば、処理順位定義情報を入力し、それをメモリの構造に展開して保持する。処理順位定義情報のサイズが大きければ、例えば、B−木などによる索引付けなどを行なってもよい。すなわち、オブジェクト雛形情報の識別情報をキーとして、次に実行されるべきオブジェクト雛形情報の識別情報をバリューとするB−木を用いるのが好適である。   A “processing order definition information holding unit” 2703 holds the processing order definition information generated by the processing order definition information generation unit 1403. For example, processing order definition information is input, and is expanded and held in a memory structure. If the size of the processing order definition information is large, for example, indexing using a B-tree or the like may be performed. That is, it is preferable to use a B-tree having the identification information of the object template information as a key and the identification information of the object template information to be executed next as a value.

「オブジェクト実行部」2701は、前記処理順位定義情報により最初に処理すべき処理部分に対応してオブジェクト雛形情報生成部1402で生成されたオブジェクト雛形情報に基づいて記述されるオブジェクト(以下、「最初のオブジェクト」という)を連鎖的に実行する。「前記処理順位情報」とは、処理順位定義情報保持部2703で保持されている処理順位定義情報を意味する。また、「連鎖的に実行する」とは、最初のオブジェクトを実行すると、(1)最初のオブジェクトの処理により、処理順位定義情報が参照されて次に実行するオブジェクトが決定され、(2)決定されたオブジェクトが実行され、(3)その実行されたオブジェクトの処理により、処理順位定義情報が参照されて次に実行するオブジェクトが決定される、ということが繰り返し発生することを意味する。   An “object execution unit” 2701 is an object described based on the object template information generated by the object template information generation unit 1402 corresponding to the processing part to be processed first by the processing order definition information (hereinafter referred to as “first” Are called in a chain. “The processing order information” means processing order definition information held in the processing order definition information holding unit 2703. “Execute in a chain” means that when the first object is executed, (1) the processing of the first object refers to the processing order definition information and the next object to be executed is determined. This means that the executed object is executed, and (3) the processing of the executed object refers to the processing order definition information and the object to be executed next is determined repeatedly.

なお、最初のオブジェクトに対して、引数などのデータを与える必要がある場合には、オブジェクト実行部が、そのデータを適宜入力または生成して、最初のオブジェクトに渡す。   When data such as an argument needs to be given to the first object, the object execution unit inputs or generates the data as appropriate and passes it to the first object.

図29は、オブジェクト実行装置2700の処理のフローチャートを例示する。ステップS2901において、処理順位定義情報を読み込む。ステップS2902において、最初のオブジェクト情報を実行する。ステップS2903において、オブジェクト情報の実行の終了を待つ。実行が終了すれば、必要に応じて、最終的な結果などを示すデータを取得する。   FIG. 29 illustrates a flowchart of processing of the object execution device 2700. In step S2901, processing order definition information is read. In step S2902, the first object information is executed. In step S2903, the end of execution of the object information is awaited. When the execution is completed, data indicating a final result or the like is acquired as necessary.

図30は、図8に示されるオブジェクト雛形情報に基づいて記述されるオブジェクトを実行する際のステップS2902とステップS2903とにおける処理を詳細化したフローチャートを例示する。ステップS3001において、最初のオブジェクトを実行する。ステップS3002において、オブジェクトの実行が終了したかどうかを判断する。この判断は、例えば、次に実行するオブジェクトとして終点が取得されたか、あるいは、終点の識別子(例えば、"endPointA")が指定されているかどうかで行なわれる。もし、終了したと判断されれば、処理を終了する。そうでなければ、ステップS3003へ処理を移行し、FlowDefinition.findが呼ばれると、次に実行するオブジェクトへのポインタを返すことを行ない、ステップS3002へ戻る。   FIG. 30 exemplifies a flowchart detailing the processing in step S2902 and step S2903 when executing the object described based on the object template information shown in FIG. In step S3001, the first object is executed. In step S3002, it is determined whether the execution of the object is finished. This determination is made, for example, based on whether an end point has been acquired as an object to be executed next, or whether an end point identifier (for example, “endPointA”) is designated. If it is determined that the process has been completed, the process is terminated. Otherwise, the process proceeds to step S3003 and FlowDefinition. When find is called, a pointer to the object to be executed next is returned, and the process returns to step S3002.

なお、本実施形態に係るオブジェクト実行装置は、オブジェクト保持ステップと、処理順位定義情報保持ステップと、オブジェクト実行ステップとを有するオブジェクト実行方法を使用するための装置と解釈することもできる。「オブジェクト保持ステップ」とは、前記オブジェクト雛形情報生成ステップにて生成されたオブジェクト雛形情報に基づいて記述されるオブジェクトを保持するステップである。例えば、オブジェクト保持部2702を動作させるためのステップである。「処理順位定義情報保持ステップ」とは、前記処理順位定義情報生成ステップにて生成された処理順位定義情報を保持するためのステップである。例えば、処理順位定義情報保持部2703を動作させるためのステップである。「オブジェクト実行ステップ」とは、前記処理順位定義情報により最初に処理すべき処理部分に対応して前記オブジェクト雛形情報生成ステップにて生成されたオブジェクト雛形情報に基づいて記述されるオブジェクトを連鎖的に実行するためのステップである。例えば、オブジェクト実行部2701を動作させるためのステップである。なお、オブジェクト実行方法を使用する装置は、本実施形態に係るオブジェクト実行装置に限定されることはない。   Note that the object execution device according to the present embodiment can also be interpreted as a device for using an object execution method having an object holding step, a processing order definition information holding step, and an object execution step. The “object holding step” is a step of holding an object described based on the object template information generated in the object template information generating step. For example, it is a step for operating the object holding unit 2702. The “processing order definition information holding step” is a step for holding the processing order definition information generated in the processing order definition information generation step. For example, this is a step for operating the processing order definition information holding unit 2703. The “object execution step” means that objects described based on the object template information generated in the object template information generation step corresponding to the processing portion to be processed first by the processing order definition information are chained. It is a step for executing. For example, it is a step for operating the object execution unit 2701. An apparatus that uses the object execution method is not limited to the object execution apparatus according to the present embodiment.

(実施形態9:主な効果)
本実施形態により、オブジェクト生成装置により生成されたオブジェクト雛形情報に基づいて記述されるオブジェクトを実行することが可能となる。
(Embodiment 9: Main effects)
According to the present embodiment, an object described based on the object template information generated by the object generation device can be executed.

アクティビティ図の一例図Example of activity diagram 本発明の概要図Overview of the present invention 本発明に係る自動生成ツールの一例図Example of automatic generation tool according to the present invention アクティビティ図の論理構造図Logical structure diagram of activity diagram アクティビティ図をXMLで記述した一例図An example of an activity diagram written in XML アクティビティ仕様書の論理構造図Logical structure diagram of activity specifications アクティビティ仕様書の一例図Example of activity specification オブジェクト情報の一例図Example of object information フロー定義ファイルの論理構造図Logical structure diagram of flow definition file フロー定義ファイルの一例図Example of flow definition file オブジェクト情報の実行の一例図Example of object information execution 分岐が存在する場合に生成されるオブジェクト情報の一例図An example of object information generated when a branch exists 分岐のある場合のフロー定義ファイルの一例図Example of flow definition file when there is a branch 本発明の実施形態1に係るオブジェクト情報生成装置の機能ブロック図Functional block diagram of the object information generating apparatus according to the first embodiment of the present invention メモリ上に作られた有向グラフの構造の部分の一例図Example of part of directed graph structure created on memory オブジェクト雛形情報生成部1402の処理の流れ図Flow chart of processing of object template information generation unit 1402 一つのオブジェクト雛形情報の処理の流れ図Flow chart for processing one object template information 一つのオブジェクト雛形情報の処理の流れ図Flow chart for processing one object template information 処理順位定義情報の一例図Example of processing order definition information 処理順位定義情報生成部1403の処理の流れ図Process flow of processing order definition information generation unit 1403 本発明の実施形態3に係るオブジェクト情報生成装置の機能ブロック図Functional block diagram of an object information generation device according to Embodiment 3 of the present invention アクティビティ仕様情報の一例図Example of activity specification information 本発明の実施形態5に係るオブジェクト情報生成装置の機能ブロック図Functional block diagram of the object information generation device according to the fifth embodiment of the present invention 分岐型オブジェクト雛形情報の処理の流れ図Flow chart of branching object template information processing 処理順位定義情報の一例図Example of processing order definition information 処理順位定義情報を生成する処理の流れ図Flow chart of processing to generate processing order definition information 本発明の実施形態9に係るオブジェクト実行装置の機能ブロック図Functional block diagram of an object execution device according to Embodiment 9 of the present invention オブジェクト保持部2702の内部の構造の模式図Schematic diagram of the internal structure of the object holding unit 2702 オブジェクト実行装置2700の処理の流れ図Process flow of object execution apparatus 2700 オブジェクト実行装置2700の処理の部分の詳細な流れ図Detailed flowchart of processing portion of object execution apparatus 2700

符号の説明Explanation of symbols

1400 オブジェクト情報生成装置
1401 アクティビティ情報取得部
1402 オブジェクト雛形情報生成部
1403 処理順位定義情報生成部
1400 Object information generation device 1401 Activity information acquisition unit 1402 Object template information generation unit 1403 Processing order definition information generation unit

Claims (11)

処理の概要を示す複数の処理部分情報と、前記複数の処理部分の処理順位を示す処理順位情報と、を記述した情報であるアクティビティ情報を取得するアクティビティ情報取得部と、
前記アクティビティ情報取得部で取得したアクティビティ情報に含まれる任意の処理部分情報に基づいて、対応するオブジェクト情報を記述するための雛形となるオブジェクト雛形情報を生成するオブジェクト雛形情報生成部と、
前記アクティビティ情報取得部で取得したアクティビティ情報に含まれる処理順位情報に基づいて、前記オブジェクト雛形情報に基づいて記述されるオブジェクト情報が実行される際に参照する情報である処理順位定義情報を生成する処理順位定義情報生成部と、
を有するオブジェクト情報生成装置。
An activity information acquisition unit for acquiring activity information, which is information describing a plurality of processing part information indicating an outline of processing, and processing order information indicating processing order of the plurality of processing parts;
An object template information generating unit that generates object template information serving as a template for describing corresponding object information based on arbitrary processing part information included in the activity information acquired by the activity information acquiring unit;
Based on the processing order information included in the activity information acquired by the activity information acquisition unit, processing order definition information that is information to be referred to when object information described based on the object template information is executed is generated. A processing order definition information generation unit;
An object information generating device having
前記オブジェクト雛形情報は、記述されるオブジェクトを識別するための識別情報を記述した識別情報記述部を有し、
前記処理順位定義情報生成部は、前記識別情報を利用して処理順位定義情報を生成する請求項1に記載のオブジェクト情報生成装置。
The object template information has an identification information description part describing identification information for identifying an object to be described,
The object information generation apparatus according to claim 1, wherein the processing order definition information generation unit generates processing order definition information using the identification information.
前記オブジェクト雛形情報に基づいて生成されるべきオブジェクト情報の型を示す情報である型情報と、前記オブジェクト雛形情報に基づいて生成されるべきオブジェクト情報の引数の型を示す情報である引数型情報と、を含む情報を前記オブジェクト雛形情報に対応する処理部分情報に関連付けて記述した情報であるアクティビティ仕様情報を取得するアクティビティ仕様情報取得部を有し、
前記オブジェクト雛形情報生成部は、前記アクティビティ仕様情報取得部で取得したアクティビティ仕様情報に含まれる型情報と、引数型情報とに基づいて前記オブジェクト雛形情報を生成する請求項1又は2に記載のオブジェクト情報生成装置。
Type information which is information indicating the type of object information to be generated based on the object template information, argument type information which is information indicating an argument type of object information to be generated based on the object template information, and , Including an activity specification information acquisition unit that acquires activity specification information that is information described in association with processing part information corresponding to the object template information,
The object template information generation unit generates the object template information based on type information included in the activity specification information acquired by the activity specification information acquisition unit and argument type information. Information generator.
前記アクティビティ仕様情報は、構造化文書として記述されている請求項3に記載のオブジェクト情報生成装置。   The object information generation apparatus according to claim 3, wherein the activity specification information is described as a structured document. 前記オブジェクト雛形情報生成部は、
前記処理部分情報が分岐処理を行なうか判断する分岐処理判断手段と、
前記分岐処理判断手段の判断結果に応じて分岐処理を含むオブジェクト雛形情報である分岐型オブジェクト雛形情報か、分岐処理を含まないオブジェクト雛形情報である非分岐型オブジェクト雛形情報かを選択して生成する分岐依存生成手段と、
を有する請求項1から4のいずれか一に記載のオブジェクト情報生成装置。
The object template information generation unit
Branch processing determination means for determining whether the processing part information performs branch processing;
Depending on the determination result of the branch processing determination means, it is generated by selecting either branch type object template information that is object template information including branch processing or non-branch type object template information that is object template information not including branch processing Branch dependency generation means;
5. The object information generation device according to claim 1, comprising:
前記アクティビティ情報の処理順位情報は、人間が行なう処理を記述するユーザレーンと、システムが行なう処理を記述するシステムレーンに分けて処理順位を記述する請求項1から5のいずれか一に記載のオブジェクト情報生成装置。   The object according to any one of claims 1 to 5, wherein the processing order information of the activity information describes the processing order separately for a user lane that describes processing performed by a human and a system lane that describes processing performed by the system. Information generator. 前記アクティビティ情報は、構造化文書として記述されている請求項1から6のいずれか一に記載のオブジェクト情報生成装置。   The object information generation apparatus according to claim 1, wherein the activity information is described as a structured document. 前記処理順位定義情報は、構造化文書として記述されている請求項1から7のいずれか一に記載のオブジェクト情報生成装置。   The object information generation apparatus according to claim 1, wherein the processing order definition information is described as a structured document. 前記オブジェクト雛形情報生成部で生成されたオブジェクト雛形情報に基づいて記述されるオブジェクトを保持するオブジェクト保持部と、
前記処理順位定義情報生成部で生成された処理順位定義情報を保持する処理順位定義情報保持部と、
前記処理順位定義情報により最初に処理すべき処理部分に対応して前記オブジェクト雛形情報生成部で生成されたオブジェクト雛形情報に基づいて記述されるオブジェクトを連鎖的に実行するオブジェクト実行部と、
を有するオブジェクト実行装置。
An object holding unit for holding an object described based on the object template information generated by the object template information generating unit;
A processing order definition information holding unit for holding the processing order definition information generated by the processing order definition information generation unit;
An object execution unit that sequentially executes objects described based on the object template information generated by the object template information generation unit corresponding to a processing part to be processed first by the processing order definition information;
An object execution device.
処理の概要を示す複数の処理部分情報と、前記複数の処理の処理順位を示す処理順位情報と、を記述した情報であるアクティビティ情報を取得するアクティビティ情報取得ステップと、
前記アクティビティ情報取得ステップにて取得されたアクティビティ情報に含まれる任意の処理部分情報に基づいて、対応するオブジェクト情報を記述するための雛形となるオブジェクト雛形情報を生成するオブジェクト雛形情報生成ステップと、
前記アクティビティ情報取得ステップにて取得されたアクティビティ情報に含まれる処理順位情報に基づいて、前記オブジェクト雛形情報に基づいて記述されるべきオブジェクト情報が実行される際に参照する情報である処理順位定義情報を生成する処理順位定義情報生成ステップと、
を含むオブジェクト情報生成方法。
An activity information acquisition step for acquiring activity information, which is information describing a plurality of processing partial information indicating an outline of processing, and processing order information indicating processing order of the plurality of processes;
An object template information generation step for generating object template information that is a template for describing corresponding object information, based on arbitrary processing part information included in the activity information acquired in the activity information acquisition step;
Processing order definition information that is information to be referred to when object information to be described based on the object template information is executed based on the processing order information included in the activity information acquired in the activity information acquisition step Processing order definition information generation step for generating
Object information generation method including
前記オブジェクト雛形情報生成ステップにて生成されたオブジェクト雛形情報に基づいて記述されるオブジェクトを保持するオブジェクト保持ステップと、
前記処理順位定義情報生成ステップにて生成された処理順位定義情報を保持する処理順位定義情報保持ステップと、
前記処理順位定義情報により最初に処理すべき処理部分に対応して前記オブジェクト雛形情報生成ステップにて生成されたオブジェクト雛形情報に基づいて記述されるオブジェクトを連鎖的に実行するオブジェクト実行ステップと、
を有するオブジェクト実行方法。
An object holding step for holding an object described based on the object template information generated in the object template information generating step;
A processing order definition information holding step for holding the processing order definition information generated in the processing order definition information generation step;
An object execution step for executing in a chain manner the objects described based on the object template information generated in the object template information generation step corresponding to the processing portion to be processed first by the processing order definition information;
An object execution method comprising:
JP2004056687A 2004-03-01 2004-03-01 Object information generating device Pending JP2005250593A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004056687A JP2005250593A (en) 2004-03-01 2004-03-01 Object information generating device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004056687A JP2005250593A (en) 2004-03-01 2004-03-01 Object information generating device

Publications (1)

Publication Number Publication Date
JP2005250593A true JP2005250593A (en) 2005-09-15

Family

ID=35031044

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004056687A Pending JP2005250593A (en) 2004-03-01 2004-03-01 Object information generating device

Country Status (1)

Country Link
JP (1) JP2005250593A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008014724A1 (en) * 2006-07-28 2008-02-07 Accelergy Shanghai R & D Center Co., Ltd. Computer-aided graphical system, method and program product for designing experiment flow
JP2015141489A (en) * 2014-01-28 2015-08-03 富士ゼロックス株式会社 Source code creation device and source code creation program
JP6272595B1 (en) * 2016-07-13 2018-01-31 三菱電機株式会社 Program creation device, program creation execution device, and program creation method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008014724A1 (en) * 2006-07-28 2008-02-07 Accelergy Shanghai R & D Center Co., Ltd. Computer-aided graphical system, method and program product for designing experiment flow
JP2015141489A (en) * 2014-01-28 2015-08-03 富士ゼロックス株式会社 Source code creation device and source code creation program
JP6272595B1 (en) * 2016-07-13 2018-01-31 三菱電機株式会社 Program creation device, program creation execution device, and program creation method

Similar Documents

Publication Publication Date Title
CN101777004B (en) Method and system for realizing BPEL sub-process multiplexing based on template in service-oriented environment
JP5197688B2 (en) Integrated environment generator
KR100661393B1 (en) Web site management system and method applying web programming environment
US7992088B2 (en) Method and system for copy and paste technology for stylesheet editing
US20050149868A1 (en) User interface application development program and development apparatus
JP2008225898A (en) Conversion device, conversion program, and conversion method
US20120089959A1 (en) Method and apparatus for creating service flow based on user&#39;s goal-driven semantic service discovery
US9405739B1 (en) Source code format for IDE code development with embedded objects
JP2004185508A (en) Program analysis device and program
JP2005250593A (en) Object information generating device
Sawprakhon et al. Sequence diagram generation with model transformation technology
JP2010033500A (en) Gui data conversion system and gui data conversion method
JP2007079906A (en) Source code generator
WO2013154055A1 (en) Structure analysis device and program
JP2008052356A (en) Source code automatic generation device
JP5458065B2 (en) Device and program for supporting structural analysis of module
JP2001273125A (en) Method and system for automatically generating source program, and program recording medium therefor
JP2008299423A (en) Information processor and information processing program
JP2006285754A (en) Program source code automatic generation system
JP2003303100A (en) Information processing system, method for constructing information processing system, and program therefor
Beaudoux et al. Using Model Driven Engineering technologies for building authoring applications
JP4698943B2 (en) Program production method, program production apparatus, program automatic conversion method, and program
Korva Developing a web application with Angular 2: Graphical editor for Happywise’s Cove Trainer
JP4472768B2 (en) Program analysis apparatus, program analysis method, and program
JP2009080681A (en) Program structure parsing method and device