JP2001297003A - Structuring method for business process component - Google Patents

Structuring method for business process component

Info

Publication number
JP2001297003A
JP2001297003A JP2001014958A JP2001014958A JP2001297003A JP 2001297003 A JP2001297003 A JP 2001297003A JP 2001014958 A JP2001014958 A JP 2001014958A JP 2001014958 A JP2001014958 A JP 2001014958A JP 2001297003 A JP2001297003 A JP 2001297003A
Authority
JP
Japan
Prior art keywords
processes
business
component
plex
composite
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
JP2001014958A
Other languages
Japanese (ja)
Inventor
Hiroyuki Uchida
弘之 内田
Hidesato Ehata
英郷 江畑
Masahito Imamura
雅人 今村
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.)
INFORMATION TECHNOLOGY PROMOTI
INFORMATION-TECHNOLOGY PROMOTION AGENCY JAPAN
TAKAYA CORP
Original Assignee
INFORMATION TECHNOLOGY PROMOTI
INFORMATION-TECHNOLOGY PROMOTION AGENCY JAPAN
TAKAYA CORP
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 INFORMATION TECHNOLOGY PROMOTI, INFORMATION-TECHNOLOGY PROMOTION AGENCY JAPAN, TAKAYA CORP filed Critical INFORMATION TECHNOLOGY PROMOTI
Priority to JP2001014958A priority Critical patent/JP2001297003A/en
Publication of JP2001297003A publication Critical patent/JP2001297003A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To provide a structuring method for a business component which can derive all business processes from a small number of basic components. SOLUTION: An atom metacomponent has plural atom processes and a metacomponent derived from the atom metacomponent is also present. To derive a component from a metacomponent whose operation object is not prescribed, operation objects are only given corresponding to the specifications of the component to be derived; and a multiplication metaprocess is given an order reception quantity 305a, an order reception unit price 305b, and an order reception amount 305c and then receives those operation objects to derive an order reception amount calculation process. Through mechanism like this, a metaprocess is adaptive to a diversity by deriving a business process according to given operation objects.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明はソフトウェア部品を
活用したアプリケーション開発の構築方法にかかわり、
特にビジネスプロセス部品の効率的な構築と再利用に関
する方法を提供する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a method for constructing application development utilizing software components.
In particular, it provides a method for efficient construction and reuse of business process components.

【0002】[0002]

【従来の技術】本発明に関連する従来の技術としては、
構造化設計技法、データ・オリエンテッド・アプローチ
(DOA)、オブジェクト指向分析・設計等があげられ
る。これらの技法は、本発明の方法的基盤となってい
る。また、開発手法を実践的なものとして確立するため
には、手法を実現する具体的手段が不可欠である。本発
明の開発手法は、コンピュータ・アソシエイツ社の開発
ツールであるCOOL:Plexによって具体的に実現
され、その実現性と効果を実証している。
2. Description of the Related Art Conventional techniques related to the present invention include:
Examples include structured design techniques, data oriented approaches (DOA), and object-oriented analysis and design. These techniques are the methodological foundation of the present invention. In addition, in order to establish the development method as practical, a concrete means for realizing the method is indispensable. The development method of the present invention is specifically realized by COOL: Plex, a development tool of Computer Associates, and has demonstrated its feasibility and effects.

【0003】[0003]

【発明が解決しようとする課題】一般的に、ソフトウェ
ア部品は過去の開発を部品として再利用するため、アプ
リケーション開発の部品化が進展すればするほど生産性
と品質が向上すると考えられている。そうであるなら
ば、アプリケーションソフトウェアの構成要素を全て部
品化し、その部品を組み合わせることでアプリケーショ
ンを開発することができれば、究極の生産性と品質をア
プリケーションに与えることができる。本発明は、ビジ
ネスプロセスにおいてこの課題に答えるものであり、
「部品」という唯一つの原理だけでアプリケーションを
構築する方法を確立することを目標とする。
Generally, since software components are reused as components developed in the past, it is considered that productivity and quality are improved as application components are developed. If so, if all the components of the application software can be made into parts and an application can be developed by combining the parts, ultimate productivity and quality can be given to the application. The present invention addresses this challenge in business processes,
The goal is to establish a way to build applications using only one principle, "parts".

【0004】具体的には次の3点を解決する方法を確立
する。 1.全ての部品は、プロセス記述の隠蔽を保ったままで
プロセスの特性を規定あるいは変更できること。 2.全ての部品は、プロセス記述が隠蔽された状態のま
まで相互に組み合わせることが可能であること。 3.少量の基本部品から、上記1と2の特性を適用して
全てのビジネスプロセスを派生させることができるこ
と。 以上3点をビジネスプロセス部品の原理として確立する
ことが課題であり、これによって全ての部品をブラック
ボックスとして取り扱い、またそうした部品だけでアプ
リケーションを構築することを可能にする。
Specifically, a method for solving the following three points is established. 1. All components must be able to define or change process characteristics while keeping the process description concealed. 2. All components can be combined with each other with the process description hidden. 3. The ability to derive all business processes by applying the above characteristics 1 and 2 from a small number of basic parts. The task is to establish the above three points as the principle of the business process component, which makes it possible to treat all components as black boxes and build an application using only those components.

【0005】[0005]

【課題を解決するための手段】上記課題を解決するた
め、本発明によるビジネスプロセス部品の構築方法は、
少量の原子プロセス部品の外部よりプロセス対象を付与
し単体プロセス部品を構築し、そのように構築された複
数の単体プロセス部品を合成し複合プロセス部品を構築
することで、全てのビジネスプロセスを実現することを
特徴とする。上記単体プロセス部品の構築方法において
は、プロセスの作用対象から作用を純化して、プロセス
の最上位に8つの原子プロセスを据えることを特徴とす
る。
In order to solve the above problems, a method for constructing a business process component according to the present invention comprises:
Realize all business processes by assigning process objects from outside a small amount of atomic process components, constructing single process components, synthesizing multiple single process components constructed in this way and building composite process components It is characterized by the following. The method of constructing a single process component is characterized in that the operation is purified from the operation target of the process, and eight atomic processes are set at the top of the process.

【0006】上記単体プロセス部品の構築方法において
は、プロセスの作用対象定義域を外部化することでプロ
セス記述を隠蔽し、作用対象定義域に対する作用対象の
与え方によって自在に単体プロセスを構築することがで
きる。上記複合プロセス部品の構築方法においては、共
有構造を有する上位プロセスを多重継承し合成すること
で、多様な複合プロセスを派生させることができる。上
記単体プロセス部品のCOOL:Plexにおける構築
方法においては、変数パレットのバリアブルを外部定義
域とし、メタ記述によって外部定義域から作用対象を掴
み出すことでプロセス記述を実現することができる。
In the above-described method of constructing a single process component, the process description is hidden by externalizing the operation target domain of the process, and the single process can be freely constructed by giving the operation target to the operation target domain. Can be. In the method of constructing a composite process component, various composite processes can be derived by multiple inheriting and synthesizing a higher-order process having a shared structure. In the method of constructing the single process component in the COOL: Plex, the process description can be realized by using the variable of the variable pallet as an external domain and extracting an operation target from the external domain by a meta description.

【0007】上記複合プロセス部品のCOOL:Ple
xにおける構築方法においては、COOL:Plexの
原的ファンクション同士を合成するためにシェルを設け
ることが好ましい。 上記複合プロセス部品のCOOL:Plexにおける構
築方法においては、ビジネスプロセスの5構造に対応す
るプロセスブロックを設け、全てのプロセスがこのブロ
ックの何れかに位置付けられることを特徴とする。 上記原子プロセス部品のCOOL:Plexにおける構
築方法においては、フロー制御プロセスをメタプロセス
として実現することを特徴とする。
[0007] COOL: Ple of the composite process component
In the construction method for x, it is preferable to provide a shell for synthesizing primitive functions of COOL: Plex. The method of constructing the composite process component in the COOL: Plex is characterized in that process blocks corresponding to the five structures of the business process are provided, and all processes are positioned in any of these blocks. The method for constructing the COOL: Plex of the atomic process component is characterized in that the flow control process is realized as a meta process.

【0008】上記原子プロセス部品のCOOL:Ple
xにおける構築方法においては、エンティティ間の異音
同義語を定義しこの定義処理を介して外部プロセスを呼
び出すことができる。なお、本実施の形態では上記課題
を解決する開発方法の構築に当たって、その実現性と効
果を検証する手段として、コンピュータ・アソシエイツ
社の開発ツールであるCOOL:Plexを使用した。
これは開発方法が独自の抽象化と汎化を必要としている
ためであり、これを実現できる機能を備えたものは現在
のところCOOL:Plex以外には無いように思われ
る。
COOL: Ple of the above atomic process parts
In the construction method in x, an allophone synonym between entities can be defined, and an external process can be called through this definition process. In the present embodiment, COOL: Plex, a development tool of Computer Associates, was used as a means for verifying the feasibility and effects in constructing a development method for solving the above problem.
This is because the development method requires its own abstraction and generalization, and it seems that there is currently no other than COOL: Plex with a function that can realize this.

【0009】本発明の開発方法を具体的に適用するため
に必要とする、COOL:Plex独自の機能を以下に
示す。 1.COOL:Plexのパターンライブラリー。これ
に属する汎用プロセスを全ての部品が継承している。特
にデータベースへのIOプロセスと、ユーザーインター
フェイスを構成する基礎プロセスを基盤としている。 2.COOL:Plexのプロセス記述法であるメタ記
述。メタ記述はエンティティリレーションやビュー、そ
してフィールドなどプロセス構成要素の検査とその検査
に基づく操作を記述することができる。 3.ファンクションの多重継承。COOL:Plexで
はプロセスをファンクションという形態で扱っている
が、このファンクションを多重に継承し一つのファンク
ションとすることができる。
The functions unique to COOL: Plex required for specifically applying the development method of the present invention are described below. 1. COOL: Plex pattern library. All parts inherit the general-purpose process belonging to this. In particular, it is based on an IO process for the database and a basic process that constitutes a user interface. 2. COOL: Meta description which is a process description method of Plex. The meta description can describe inspection of process components such as entity relations, views, and fields and operations based on the inspection. 3. Multiple inheritance of functions. In COOL: Plex, a process is handled in the form of a function. However, this function can be inherited multiple times to form one function.

【0010】[0010]

【発明の実施の形態】次に、図面を参照して本発明の実
施の形態を詳細に説明する。 1.本発明の主題 (1)再利用の発展と閉塞状況 ソフトウェアの生産性や保守性を向上させる点におい
て、「再利用」は極めて有効な手だてである。というよ
りも再利用こそがソフトウェア開発を効率的なものにす
る本命であり、過去にも幾つかの再利用の形態が存在し
てきた。本来ソフトウェアほど再利用に適したものはな
く、その開発の発展の歴史をひもとけばそれは再利用形
態の発展史とも言えるであろう。
Next, an embodiment of the present invention will be described in detail with reference to the drawings. 1. Subject of the Invention (1) Development of Reuse and Blockage Situation "Reuse" is an extremely effective means in improving the productivity and maintainability of software. Rather, reuse is the cornerstone of making software development more efficient, and there have been several forms of reuse in the past. Originally, there is nothing more suitable for reuse than software, and it can be said that it is the development history of the reuse form if you look at the history of its development.

【0011】再利用の一番単純な形態は複製である。ソ
フトウェアは極めて容易に複製を作り出すことができ、
これには資源も時間もほとんど費やす必要がない。この
複製という再利用形態は、ソフトウェアの頒布という目
的に対して専ら適用されている。一方、ソフトウェアの
開発においても需要が多く、類似したプログラムを作成
する場合など、類似プログラムを一度複製してから異な
る部分を手直しするという方法を採る。当然のことなが
ら、類似性が高いほど一から作成するより効率がよい。
[0011] The simplest form of reuse is duplication. The software is very easy to duplicate,
This requires little resources and time. This reuse form of copying is exclusively applied for the purpose of distributing software. On the other hand, there is also a great demand in software development, and in a case where a similar program is created, for example, a method is adopted in which a similar program is copied once and then different parts are modified. Of course, the higher the similarity, the more efficient it is to create from scratch.

【0012】また、プログラムの内部構造に再利用を持
たせた最初の形態がサブルーチンであろう。サブルーチ
ンは、プログラムの内部に同一のプロセス記述が度々発
生するのに目を付けて、これを共通プロセスとして必要
のつどそこへ飛んで戻ってくるという仕掛けで、この共
通プロセスを再利用したものである。複製・手直しとい
う再利用形態がプログラム全体の再利用を目的としたも
のであるのに対して、サブルーチンはプログラム内部の
部分プロセスを再利用することを目指したものと言える
であろう。
A subroutine may be the first form of reusing the internal structure of a program. The subroutine is a re-use of this common process, with the idea that the same process description is frequently generated inside the program, and it is used as a common process and jumps back to it whenever necessary. is there. It can be said that the subroutine aims at reusing a partial process inside the program, while the reuse form of duplication / rework aims at reusing the entire program.

【0013】プログラム開発におけるかなり長い期間
が、このプログラムの複製・手直しとサブルーチン化に
よって再利用を実現してきた。そしてプログラムのサブ
ルーチン化による再利用の側から発展したのが、ソフト
ウェアの部品化である。本来サブルーチンはプログラム
内部での共用であり、一プログラム内の再利用に限られ
るものである。これを外部化して、複数のプログラムで
共有できるようにしたものが「部品」である。部品はそ
の名の通り、部分プロセスを複数のプログラムで共有で
きるように抽出し外部化したものである。ここにきて、
一プログラム内で再利用されていたに過ぎないプロセス
を独立させたことで、部分プロセスの再利用性は格段に
高まったと言える。
For quite a long time in program development, reuse has been realized by duplicating / reworking this program and making it into a subroutine. What has evolved from the side of reuse by making programs into subroutines is the componentization of software. A subroutine is originally shared within a program, and is limited to reuse within one program. Components that are externalized and can be shared by a plurality of programs are “parts”. As the name implies, the component is extracted and externalized so that the partial process can be shared by a plurality of programs. Come here,
The independence of processes that have only been reused in a single program has greatly increased the reusability of partial processes.

【0014】単なるサブルーチンを部品化したことで、
ソフトウェアの再利用性は高まったが、ソフトウェアの
あらゆるプロセスを部品化するまでには至らなかった。
なぜならば、ビジネスプロセスにおいては、完全に共有
化できるまとまったプロセスはそう多くはないからであ
る。ビジネスプロセスは、業種や業務によって非常に多
様な情報を取り扱わねばならず、それらが複雑に交差し
ているのが実体である。情報の入出力を伴わない演算や
文字列操作など非ビジネスプロセスは、例えば関数のよ
うに部品化が容易である。これに対してビジネスプロセ
スは、多種多様な情報の入出力が発生しそれへの関与無
くしてはプロセスが成り立たないものである。こうした
ビジネスプロセスを部品化しようとすれば、勢い業種業
務の多様さの分だけ部品量が増大することとなる。そう
なれば部品の開発、維持管理、そしてその利用において
も、再利用の有益性を享受するには程遠い現状が出現す
るであろう。ビジネスプロセスの部品化においては、ビ
ジネスプロセスの多様性が共通プロセスの外部化を本質
とする部品と相克する関係となってしまう。この多様性
と共通性の対立が、これまでビジネスプロセスの部品化
を阻んできたのである。
By making a simple subroutine into parts,
The reusability of the software has increased, but not all of the software processes have been turned into components.
This is because there are not many coherent processes that can be completely shared in business processes. Business processes have to deal with a wide variety of information depending on the type of business and business, and the reality is that they intersect in a complicated manner. Non-business processes, such as operations and character string operations that do not involve inputting and outputting information, can be easily made into components like functions, for example. On the other hand, in a business process, a variety of information is input and output, and the process cannot be realized without involvement in the input and output. If such business processes are to be made into components, the amount of components will increase due to the variety of businesses in the momentum. Then, in the development, maintenance and use of parts, there will be a state where it is far from enjoying the benefits of reuse. In business process componentization, the diversity of business processes is in conflict with components that essentially involve the externalization of common processes. This conflict between diversity and commonality has prevented business processes from becoming components.

【0015】(2)オブジェクト指向開発と部品化 企業の基幹システムは、ビジネスプロセスの体系的集合
体であると言えよう。したがって、この基幹システムの
開発保守に再利用性を適用すればするほど、基幹システ
ムを早く安価に構築でき品質的にも強靱にすることがで
きる。しかしながら、上記の如く業種業務の多様性がそ
の再利用化を阻んできた。従来の開発手法ではこの点が
障壁となり、ビジネスプロセスの部品化は本来の意味で
は実現できなかったのである。そこに登場したのがオブ
ジェクト指向開発である。本発明では、オブジェクト指
向開発の特性を以下の2点として捉え、開発手法として
評価注目している。
(2) Object Oriented Development and Componentization The core system of a company can be said to be a systematic collection of business processes. Therefore, the more the reusability is applied to the development and maintenance of the core system, the faster and cheaper the core system can be constructed and the quality can be enhanced. However, as mentioned above, the diversity of business operations has hindered its reuse. This point is a barrier in the conventional development method, and it has not been possible to realize business process components in the original sense. That's where object-oriented development comes in. In the present invention, the characteristics of object-oriented development are grasped as the following two points, and attention is paid to evaluation as a development method.

【0016】1.データとその操作を一体のものとして
取り扱い、これをオブジェクトとしてソフトウェアの中
核に置いている。 2.オブジェクトを抽象と汎化の対象として捉え、抽象
的なものから具象的なものを派生させることでソフトウ
ェアを構築しようとする。 上記のような特性を備えるオブジェクト指向開発が、ビ
ジネスプロセスの部品化に如何に関与するのであろう
か。実のところ部品化とオブジェクト指向は、その指向
するところが異なる。部品化は、先に述べたように内部
共通プロセスの外部化という過程を通して発生したので
あり、その点でプロセス指向的観点の所産であると言え
る。プロセスの再利用を拡大し高度化する中で、部品が
登場したのである。
1. It treats data and its operations as one, and puts it as an object at the core of software. 2. It considers objects as objects of abstraction and generalization, and tries to construct software by deriving concrete things from abstract things. How does object-oriented development with the above characteristics contribute to the componentization of business processes? In fact, component orientation and object orientation differ in their orientation. As mentioned above, the componentization occurred through the process of externalizing the internal common process, and in that respect it can be said that it is a product from a process-oriented viewpoint. Parts have emerged as process reuse has expanded and become more sophisticated.

【0017】ただし今日のプロセス指向はDOAの洗礼
を受けており、データとそのデータに基づくプロセスと
いう視点が根幹である。そこにおいてプロセスは主人で
はなく、プロセスがデータに使役されるのである。DO
Aの持つこのデータとプロセスの親和性を突き詰めれ
ば、データとプロセスを一体のものとして捉える観点に
至るであろう。そこに至れば、上記に掲げたオブジェク
ト指向開発の第一の特性と重なり合う部分がでてくる。
However, today's process orientation has been baptized by DOA, and the viewpoint of data and processes based on the data is fundamental. The process is not the master, but the process is used for data. DO
A closer examination of the affinity of A with this data and process would lead to a view of data and process as one. At that point, there will be parts that overlap with the first characteristics of object-oriented development listed above.

【0018】ビジネスプロセスにおけるエンティティ
は、得意先や仕入先、商品や従業員、そして受注や売上
等であろう。それらエンティティは様々な属性を備え、
様々な機能に関与している。そして、そのバリエーショ
ンの多さがビジネスプロセスの特性である。オブジェク
ト指向開発では、データと操作の結びつきを根幹として
いるが、同様にこの結びつきをエンティティに投影する
ことで、エンティティを部分化する契機が与えられる。
すなはち業務に現れるエンティティを、属性と操作の結
びつきの単位で解体することが可能なのである。
The entities in the business process may be customers and suppliers, goods and employees, orders and sales, and the like. These entities have various attributes,
It is involved in various functions. And many of the variations are the characteristics of the business process. Object-oriented development is based on the connection between data and operation. Similarly, by projecting this connection onto an entity, an opportunity for partializing the entity is provided.
In other words, entities that appear in business can be dismantled in units of association between attributes and operations.

【0019】以下に標準的な受注の解体例を示す。 No 属性―――操作 1 受注番号――― 番号採番 2 商品、受注単価――― 受注単価取得 3 受注数量、受注単価、受注金額―――受注金額計
算 4 受注日―――システム日付による初期化 上記のような例では、受注エンティティが4つに解体さ
れる。そしてこの解体された受注の部分であった属性と
操作の組み合わせが、それぞれ新たなエンティティであ
り部品である。このように、ビジネスエンティティを属
性と操作の結合単位で輪切りにして部品とし、このよう
な部品の組み合わせでビジネスプロセスの多様さを表現
することができる。
The following is an example of dismantling a standard order. No Attribute ---- Operation 1 Order number --- Numbering 2 Product and order price --- Acquisition of order price 3 Order quantity, order price, order price --- Order amount calculation 4 Order date --- By system date Initialization In the above example, the order entry entity is disassembled into four. Then, the combination of the attribute and the operation, which were the parts of the disassembled order, are new entities and parts, respectively. As described above, the business entity can be sliced into units by combining the attribute and the operation, and a variety of business processes can be expressed by a combination of such components.

【0020】ビジネスエンティティを部分エンティティ
の組み合わせとして捉えることで、その多様性に対処す
ることはできるが、その部分エンティティの分量もかな
りなものとなろう。この段階では依然として、その部分
エンティティの開発保守に多くの労力を必要とする。そ
れというのも、この部分エンティティが体現するビジネ
スプロセスに基準が無く、これを統制するメカニズムを
持たないからである。
By treating business entities as a combination of partial entities, it is possible to cope with the diversity, but the amount of the partial entities will be considerable. At this stage, development and maintenance of the sub-entities still require a lot of effort. This is because there is no standard for the business process that this partial entity embodies, and there is no mechanism to control it.

【0021】オブジェクト指向開発の特性としてあげた
第2番目の抽象と汎化が、この課題を解決してくれる。
部分エンティティを抽象化すれば、抽象化の度合いが進
むにつれてその数を減じ、最上位の抽象エンティティに
到達する。そしてこの最上位の抽象エンティティを汎化
し、そこから多様な部分エンティティを派生させること
ができれば、共通性と多様性の相克を克服することが可
能である。部分エンティティは、最上位オブジェクトを
共通の核としてこれに差分を追加して派生させることが
できる。抽象化によって共通の核を確立し、差分追加と
いう汎化によって多様性を生み出すのである。このよう
に抽象化と汎化のメカニズムを得ることによって、部分
エンティティの多様性に対処し、また部分エンティティ
を組み合わせることによって多様なビジネスエンティテ
ィを生み出すのである。
The second abstraction and generalization given as characteristics of object-oriented development solves this problem.
If a partial entity is abstracted, its number is reduced as the degree of abstraction progresses, and reaches the highest level abstract entity. If we can generalize this top-level abstract entity and derive various sub-entities from it, we can overcome the conflict between commonality and diversity. Partial entities can be derived by adding a difference to the top-level object as a common core. It establishes a common core through abstraction and creates diversity through the generalization of adding differences. By obtaining the mechanism of abstraction and generalization in this way, we deal with the diversity of partial entities, and create various business entities by combining partial entities.

【0022】(3)本発明の主題 基幹システムをビジネスプロセスの体系的集合体として
捉え、このビジネスプロセスを再利用によって効率的に
形成する手法を確立することが本発明の主題である。そ
の基盤を為すのが、前記のようにオブジェクト指向開発
手法を投影したDOAであるが、本発明ではこの基盤の
上に以下のような具体化手法を描く。 1.部分エンティティとしての部品の概念。 2.抽象化と汎化の具体的メカニズム。 3.COOL:Plexにおける手法の実現。
(3) Subject of the Present Invention The subject of the present invention is to consider a core system as a systematic collection of business processes and to establish a method for efficiently forming the business processes by reuse. The basis of this is the DOA that projects the object-oriented development method as described above. In the present invention, the following concrete method is drawn on this basis. 1. The concept of parts as partial entities. 2. Concrete mechanism of abstraction and generalization. 3. COOL: Implementation of the technique in Plex.

【0023】第一に本発明の部品概念を定義する。これ
は、これまでに述べたように部分エンティティとして規
定される。第二に、部分エンティティとしての部品の多
様性に効果的に対処するための、具体的な抽象化と汎化
のメカニズムを示す。第三に、定義された部品概念と抽
象化と汎化のメカニズムの実現性と効果を計るために、
COOL:Plexでこれを実装させる場合の方法につ
いて示す。
First, the component concept of the present invention will be defined. This is defined as a partial entity as described above. Second, we present specific abstraction and generalization mechanisms to effectively deal with the diversity of parts as subentities. Third, in order to measure the feasibility and effects of the defined component concepts and the mechanisms of abstraction and generalization,
A method for implementing this in COOL: Plex will be described.

【0024】2.「部品」の定義 本発明が定義する「部品」とは、プロセスとそのプロセ
スの属性対象が一体となったソフトウェアモデルであ
る。この「部品」の構造を図1に示す。「部品101」
は0ないし複数の属性項目103と、その属性項目に関
わる1ないし複数のプロセス105からなる。そしてこ
の「部品101」は抽象部品と具象部品に大別され、抽
象部品を継承して具象部品を派生させるという関係を持
つ。またモデルであるということは、言語による実装以
前の設計情報として存在していることを表している。
2. Definition of “Part” The “part” defined by the present invention is a software model in which a process and an attribute target of the process are integrated. FIG. 1 shows the structure of this "part". "Parts 101"
Consists of zero or more attribute items 103 and one or more processes 105 related to the attribute items. The “component 101” is roughly classified into an abstract component and a concrete component, and has a relationship of inheriting the abstract component and deriving the concrete component. Also, being a model indicates that it exists as design information before implementation in a language.

【0025】部品101は体系化された再利用の単位で
ある。体系化されているということは一定の基準があ
り、類似プログラムを複製して手直しする場合などの再
利用とは異なる。より積極的には、再利用の体現者とし
ての資格を持つものは部品だけであるという立場であ
る。前記にオブジェクト指向開発手法を投影し、ビジネ
スエンティティを属性と操作の結合単位で輪切りにした
ものが部分エンティティであると述べた。ぞの点に置い
てオブジェクト指向で言うところのクラスとして理解す
ることも可能である。しかしながら、この部分エンティ
ティにはエンティティの部分であるという観点が根底に
あり、そうである以上オブジェクトとはならない。再利
用性を向上させるために部分として切り出してはいる
が、実装の過程で組み合わされ部分ではなくなる。
The component 101 is a systematic reuse unit. The fact that it is systematized has a certain standard, and is different from the reuse in the case where a similar program is copied and modified. More positively, the only thing that qualifies as an embodiment of reuse is parts. In the above, we projected the object-oriented development method and stated that a business entity is a partial entity when it is sliced in units of a combination of attributes and operations. At each point, it can be understood as a class in object-oriented terms. However, this sub-entity is based on the perspective of being a part of the entity, and as such is not an object. Although it is cut out as a part to improve reusability, it is not a part because it is combined during the mounting process.

【0026】3.ビジネスプロセスの構造分析 ビジネスプロセスは多種多様であり、その多様性のまま
に部品化することは手に余る膨大な部品を抱え込み、部
品の持つ利便性を得ることはおよそ期待することができ
ない。したがって、ビジネスプロセスの有する基本構造
を解明し、この多様性の源を見極め、解明した構造の元
に課題解決の糸口を探ることが必要である。プロセスの
原的構造は、プロセス自体である作用とその作用の対象
から成り立っている。図2にあるように、受注金額の計
算というプロセス201であれば、乗算とその乗算結果
の設定(フィールドへの格納)が作用であり、受注数量
と受注単価、そして受注金額が作用の対象である。この
ように、作用と作用対象がプロセスの最も基本的な構造
である。作用対象は、エンティティの属性項目である場
合もあるし、一時的なワークフィールドである場合もあ
る。あるいはレコードやビューが作用対象となる場合も
ある。
3. Structural Analysis of Business Processes There are various types of business processes, and it is difficult to expect that obtaining the convenience of parts will involve holding an enormous number of parts that cannot be obtained if they are made into parts as they are. Therefore, it is necessary to elucidate the basic structure of business processes, identify the source of this diversity, and find clues to solving problems based on the elucidated structure. The basic structure of a process consists of the action that is the process itself and the target of the action. As shown in FIG. 2, in the process 201 of calculating the order amount, the multiplication and the setting of the multiplication result (storage in the field) are the effects, and the order quantity, the order unit price, and the order amount are the targets of the operation. is there. As described above, the action and the operation target are the most basic structures of the process. The operation target may be an attribute item of the entity or a temporary work field. Alternatively, a record or a view may be an operation target.

【0027】図2にあるように、受注金額の計算201
と売上金額の計算203などの類似のプロセスは、作用
自体は同一で作用対象が異なる。プロセスの作用側に着
目してこうした類似プロセスを探せば、その数が非常に
多いことに気がつく。「数量と単価を乗算して金額を計
算するプロセス」と解釈すれば、発注金額計算や仕入金
額計算など類似のプロセスは数が多い。さらにこれを
「乗算プロセス」とするならば、その類似プロセスは膨
大であろう。
As shown in FIG. 2, calculation 201 of the order amount
And similar processes such as the calculation 203 of the sales amount have the same operation but different operation targets. If you look for such similar processes by focusing on the working side of the process, you will notice that the number is very large. If interpreted as "the process of calculating the amount by multiplying the quantity and the unit price", there are many similar processes such as order amount calculation and purchase amount calculation. If this were to be referred to as the "multiplication process", the similar process would be enormous.

【0028】こうしたプロセスの原的構造を踏まえて考
えてみると、ビジネスプロセスの多様性の中核は、作用
対象の豊富さにあると言える。ビジネスプロセスにおい
ては、この作用対象は業種業務によって実に様々であ
る。それは世の中の業務の多様さを反映しているのであ
って、プロセス自体の多様さではない。ビジネスプロセ
スは業務のプロセスであるから、当然に世の業務の多様
性を包含する。しかしながら、ビジネスプロセスもその
基盤はプロセスであり、作用対象の多様性を離れてこの
プロセス自体の多様性を見れば、それは組み合わせの多
様性といってよい。
Considering the original structure of the process, it can be said that the core of the diversity of the business process is the abundance of the operation objects. In a business process, this operation target varies depending on the type of business. It reflects the diversity of work in the world, not the diversity of the process itself. Since a business process is a business process, it naturally encompasses the diversity of world business. However, a business process is also based on a process, and if one looks at the diversity of the process itself apart from the diversity of the actors, it can be said to be the diversity of combinations.

【0029】作用自体の基本類型は存外シンプルであ
る。それは以下の7要素からなると考えられる。 1.読み込み 2.書き込み 3.演算 4.設定 5.条件分岐 6.繰り返し 7.呼び出し この7要素に幾らかバリエーションがあるが、プロセス
自体はこれらを基本要素として成り立っている。そして
作用の多様性とは、これら7つの要素の組み合わせによ
って発生しているのである。また、それ自体はプロセス
としての記述形態をとらないので作用とは言い難いが、
「関係」が作用の組み合わせを編み上げる。例えば受注
残の管理では、受注数量の増加や減少という「演算」と
受注残数の増加や減少という「演算」が結びついて発生
する。このように作用同士を必然関係として結びつける
のが「関係」である。
The basic type of the operation itself is extremely simple. It is thought to consist of the following seven elements. 1. Reading 2. Write 3. Calculation 4. Settings 5. Conditional branch 6. Repeat 7. Invocation There are some variations on these seven elements, but the process itself is based on these. And the diversity of action is generated by the combination of these seven elements. In addition, since it does not itself take the form of description as a process, it is hard to say that it works,
"Relations" form a combination of actions. For example, in the management of order backlog, “calculation” of increasing or decreasing the order quantity and “calculation” of increasing or decreasing the order backlog occur. In this way, the "relation" connects the actions as an inevitable relation.

【0030】この7つの基本プロセスは、その内容を吟
味するまでもなくビジネスプロセスではなくコンピュー
タプロセスである。あらゆるプロセスを抽象化して行き
着いた先であるのだから、当然といえば当然である。ビ
ジネスプロセスはコンピュータプロセスの複合体であ
る。このことは、ビジネスプロセスがコンピュータプロ
セスに置き換え可能であるという事情に現れている。ビ
ジネスプロセスでも何でも、コンピュータプロセスで表
現できなければソフトウェアにならない。また、コンピ
ュータプロセスが7つから構成されているというのは、
世に存在するプログラミング言語仕様を検討してみれば
よい。その場合記述上の仕様は除外しなければならな
い。
These seven basic processes are not business processes but computer processes, needless to examine their contents. It is a matter of course because it is the destination where all processes are abstracted. A business process is a complex of computer processes. This is reflected in the fact that business processes can be replaced by computer processes. If a business process or anything cannot be represented by a computer process, it will not be software. Also, the fact that the computer process is composed of seven
Consider the programming language specifications that exist in the world. In that case, the descriptive specification must be excluded.

【0031】基本プロセスの内8つ目の「関係」は、単
にコンピュータプロセスとは言い難い。そして「関係」
は、2つ以上の対象の関係を規定するものである。ただ
し作用対象を除外した関係プロセスにおいては、フィー
ルドとフィールドの関係とレコードとレコードの関係、
フィールドとレコードの関係といった抽象的関係であ
る。フィールドとフィールドの抽象関係として捉えられ
るのは、フィールド間の同調と反調である。受注数量と
受注残数量の関係は同調関係であり、売上数量と受注残
数量の関係は反調関係である。また、レコードとレコー
ドの抽象関係には親子関係などの依存関係があり、依存
元の存在が依存先の存在を前提とする。したがって、依
存元レコードの発生や消滅が依存先レコードの発生や消
滅の制約となる。さらにフィールドとレコードの抽象関
係は、あるフィールドの値があるレコードの発生と消滅
に関わり、その逆もある。この「関係」プロセスの特徴
は、7つの基本プロセスの非常にシンプルな結合関係で
あるという点である。
The eighth "relationship" of the basic processes is not simply a computer process. And "relationships"
Defines a relationship between two or more objects. However, in relational processes that exclude the operands, the relationship between fields and records, the relationship between records,
This is an abstract relationship such as the relationship between fields and records. What can be regarded as an abstract relationship between fields is synchronization and inversion between fields. The relationship between the order quantity and the backorder quantity is in sync, and the relationship between the sales quantity and the backorder quantity is in a reciprocal relation. In addition, the abstract relationship between records has a dependency relationship such as a parent-child relationship, and the existence of a dependent source is based on the existence of a dependent destination. Therefore, the occurrence or disappearance of the dependent record is a constraint on the occurrence or disappearance of the dependent record. Further, the abstract relationship between a field and a record relates to the occurrence and disappearance of a record having a certain field value, and vice versa. A feature of this "relation" process is that it is a very simple connection of the seven basic processes.

【0032】ビジネスプロセスは業務機能を体現するも
のとして要請されることから、その多くは複雑な仕様と
して現れる。先ほど例に取った受注金額計算プロセス
も、単に乗算するだけでなく実業務においては顧客別の
端数処理をともなっていたりする。ここには顧客別端数
処理情報取得プロセスと受注金額計算プロセス、そして
端数処理プロセスが存在する。こうした業務仕様を反映
したビジネスプロセスは、プロセス同士が組み合わさっ
た複合プロセスに他ならない。実業務の多様性は、こう
したプロセスの組み合わせの多様性としても理解するこ
とができる。
Since business processes are required to embody business functions, many of them appear as complex specifications. The order amount calculation process taken as an example earlier does not simply multiply, but also involves actual customer rounding. Here, there are a customer-specific fraction processing information acquisition process, an order amount calculation process, and a fraction processing process. A business process that reflects such business specifications is nothing less than a composite process in which processes are combined. The diversity of real work can also be understood as the diversity of combinations of these processes.

【0033】ビジネスプロセスは、7つの基本プロセス
を複合させ業務フィールドが付与されることで派生す
る。そして多様なビジネスプロセスは、多様な入力プロ
セスと多様な変換プロセス、そして多様な出力プロセス
で構成されている。すなはち複合プロセスであるビジネ
スプロセスは、入力、変換、出力といった基本構造を備
えていると考えられる。基本プロセスのレベルで言え
ば、入力プロセスと出力プロセスには「読み込み」と
「書き込み」が対応している。そして変換プロセスは、
「演算」、「設定」、「条件分岐」、「繰り返し」、
「呼び出し」によって形作られる。
A business process is derived by combining seven basic processes and assigning business fields. And various business processes are composed of various input processes, various conversion processes, and various output processes. That is, a business process that is a composite process is considered to have a basic structure such as input, transformation, and output. At the level of the basic process, "read" and "write" correspond to the input process and the output process. And the conversion process
"Operation", "Setting", "Conditional branch", "Repeat",
Formed by "call".

【0034】一方、部品レベルでこれを捉えれば、入力
と出力の基本はプロセスの主体である部品自身というこ
とになる。オブジェクト指向的に考えるならば、当のク
ラスへの入出力プロセスがビジネスプロセスの基本とな
る。この点を他のクラスへの入出力と区別することで、
自身の入力プロセス、他の入力プロセス、変換プロセ
ス、自身の出力プロセス、他の出力プロセスの5プロセ
スが、ビジネスプロセスの基本構造となる。
On the other hand, if this is grasped at the component level, the basis of input and output is the component itself, which is the subject of the process. From an object-oriented perspective, the process of inputting and outputting to this class is the basis of a business process. By distinguishing this from input and output to other classes,
The five processes of own input process, other input process, conversion process, own output process, and other output process are the basic structure of the business process.

【0035】上記のような考察から、業種業務における
情報処理の多様性をビジネスプロセスが次の2点で吸収
していると言えよう。 1.実業務処理の多様な情報は、プロセスの作用対象を
豊富にすることによって受け止めている。 2.実業務処理の多様な処理は、プロセスの作用の複合
度を上げることで対処している。
From the above considerations, it can be said that the business process absorbs the diversity of information processing in business operations in the following two points. 1. A variety of information on actual business processes is received by enriching the process targets. 2. Various processes of the actual business process are dealt with by increasing the degree of complexity of the process.

【0036】これまでの論述で、ビジネスプロセスの有
する基本構造を解明し、その多様性の源を見極められた
ことと思う。ビジネスプロセスは作用対象と作用を原的
構造とし、作用対象を豊富にし作用の複合度を向上させ
ることで多様な業務処理を実現している。本発明の課題
の核心である「少量の基本部品から全てのビジネスプロ
セスを派生させる」ためには、このビジネスプロセスが
業務の多様性を受け止めるメカニズムに着目しなければ
ならない。そしてこのメカニズムを部品構成に正しく適
用することができれば、本発明の課題は解決されるので
ある。
The above discussion has elucidated the basic structure of a business process and identified the source of its diversity. The business process has a basic structure of the operation target and the operation, and realizes various business processes by enriching the operation target and improving the degree of compounding of the operation. In order to derive all business processes from a small number of basic components, which is the core of the subject of the present invention, attention must be paid to the mechanism by which this business process accepts the diversity of business. Then, if this mechanism can be correctly applied to the component configuration, the problem of the present invention will be solved.

【0037】4.抽象化と汎化の具体的メカニズム (1)メタ部品 これまでのビジネスプロセスの構造分析で、8つの基本
プロセスと業務の多様性を反映した豊富な作用対象とい
う構図が描かれた。本発明では、上記のような8つの基
本プロセスを「原子プロセス」と呼ぶ。そして全てのビ
ジネスプロセスは、この原子プロセスから派生させるこ
とができると考える。また本発明では、原子プロセスは
単なるカテゴリーではなく、「部品」としての特性を備
え部品体系の最上位に位置付けられるものである。
4. Specific mechanisms of abstraction and generalization (1) Meta components In the structural analysis of business processes so far, the composition of eight basic processes and abundant objects that reflect the diversity of business has been drawn. In the present invention, the above eight basic processes are referred to as “atomic processes”. And we believe that all business processes can be derived from this atomic process. Further, in the present invention, the atomic process is not merely a category, but has a characteristic as “part” and is positioned at the top of the parts system.

【0038】ビジネスプロセスの構造から、作用対象を
除外すればプロセスはその数を減らし、ついには原子プ
ロセスに到達する。したがって、作用対象を除外した原
子プロセスをそのまま「部品」として定着することがで
きれば、作用対象の与え方で全てのプロセスを派生させ
ることができる。図3を見ていただきたい。演算部品が
定義されているが、この部品の属性は未規定のままであ
る。プロセス303には、乗算が存在するが、何れも作
用対象が規定されていない。このように属性項目が未規
定である「部品」を、本発明では「メタ部品」と呼び、
作用対象が未規定であるプロセスを「メタプロセス」と
呼ぶ。図のような「演算」は原子プロセスであるので、
このような部品を「原子メタ部品」を呼ぶようにした
い。この原子メタ部品は、全てのビジネスプロセス部品
の源である。原子メタ部品は複数の原子プロセスを有
し、この原子メタ部品から派生するメタ部品も存在す
る。
If the operation target is excluded from the structure of the business process, the number of the processes is reduced, and finally the processes reach the atomic processes. Therefore, if the atomic processes excluding the operation target can be fixed as “parts” as they are, all processes can be derived by giving the operation target. Please look at FIG. Although an operation component is defined, the attribute of this component remains unspecified. In the process 303, there is a multiplication, but no operation target is defined. In the present invention, a “part” for which the attribute items are not defined is called a “meta part”.
A process whose operand is unspecified is called a “meta-process”. Since the "operation" shown in the figure is an atomic process,
We want to call such parts "atomic meta parts". This atomic meta-part is the source of all business process parts. An atomic meta-part has a plurality of atomic processes, and there is a meta-part derived from this atomic meta-part.

【0039】作用対象が未規定であるメタ部品から部品
を派生させるためには、派生させる部品の仕様に応じて
作用対象を与えるだけでよい。図3のように、乗算メタ
プロセスに受注数量305aと受注単価305b、そし
て受注金額305cを与えれば、乗算メタプロセスがこ
れらの作用対象を受け止め受注金額計算プロセスを派生
させる。こうしたメカニズムで、メタプロセスは与えら
れた作用対象に応じてビジネスプロセスを派生させ多様
性に対処する。
In order to derive a part from a meta-part whose operation target is unspecified, it is only necessary to give an operation target according to the specification of the part to be derived. As shown in FIG. 3, when the order quantity 305a, the order unit price 305b, and the order amount 305c are given to the multiplication meta process, the multiplication meta process receives these operation targets and derives the order amount calculation process. With such a mechanism, meta-processes derive business processes and deal with diversity according to a given operand.

【0040】こうしたメタプロセスの特性を実現するた
めには、メタプロセスのプロセス記述は未規定対象に対
するプロセスとして記述されなければならない。「将来
規定される作用対象」として作用対象を扱いプロセスを
記述するが、記述上の対象は存在しなければならない。
乗算メタプロセスであれば、2つの乗算対象値と1つの
乗算結果値が区別されなければならないので、記述上は
「○乗算△=□」として○や△と□を区別する。その一
方で、○や△そして□は派生先で付与されるため、プロ
セス記述の外側からこれを与えられるようにする。すな
はちプロセス記述自体とそれの実体対象を分離し、実体
対象の受け口をプロセス記述の外側に張り出しておく必
要がある。プロセス記述は、この実体対象が定義される
受け口を参照し、自身のプロセス記述に取り込む働きを
持たねばならない。メタプロセスがこうしたメカニズム
を得ることで、作用と作用対象は記述レベルで分離する
ことができ、派生元のプロセス記述を隠蔽することがで
きるのである。
In order to realize the characteristics of the meta process, the process description of the meta process must be described as a process for an undefined object. A process is described by treating an operand as a "operator defined in the future", but the descriptive object must exist.
In the case of the multiplication meta-process, two multiplication target values and one multiplication result value must be distinguished, and therefore, in the description, “△ multiplication △ = □” is used to distinguish between △ and □. On the other hand, ○, △, and □ are given at the derivation destination, so that they can be given from outside the process description. In other words, it is necessary to separate the process description itself from its substance, and to extend the receiving point of the substance outside the process description. The process description must have the function of referring to the socket where this entity is defined and incorporating it into its own process description. By obtaining such a mechanism, the meta-process can separate the action and the operation target at the description level, and can hide the process description from which it is derived.

【0041】メタプロセスに作用対象を与えてビジネス
プロセスを派生させる場合の、作用対象の付与構造は上
記の通りである。メタプロセスは作用対象の定義域をプ
ロセス記述の外側に分離しているため、プロセス記述と
離れてこれを指定することができる。また作用対象定義
域を明確に規定することで、作用に適合した作用対象の
定義をおこなうことが可能である。先の例でいえば、乗
算対象定義域と乗算結果定義域が明確になっており、受
注数量305aと受注単価305bは乗算対象定義域に
指定し、受注金額305cは乗算結果定義域に指定すれ
ばよいのである。メタプロセスにおける作用と作用対象
の分離によって、そのプロセス記述を完全に隠蔽したま
まビジネスプロセスを派生させることができる。メタプ
ロセスは、作用対象定義域だけが外部に公開され、それ
以外は隠蔽され続ける。このような特性によって、本発
明が掲げる課題の1番目を解決することができるのであ
る。
In the case where a business process is derived by giving an operation target to a metaprocess, the structure for giving an operation target is as described above. Since the metaprocess separates the domain of the operation target outside the process description, it can be specified separately from the process description. In addition, by clearly defining the operation target domain, it is possible to define an operation target suitable for the operation. In the previous example, the domain to be multiplied and the domain to be multiplied are clear, the order quantity 305a and the unit price 305b are designated in the domain to be multiplied, and the order amount 305c is designated to the domain to be multiplied. I just need to. By separating the action and the action target in the metaprocess, a business process can be derived while completely hiding the process description. In the metaprocess, only the operation domain is made public to the outside, and the rest is kept hidden. With such characteristics, the first problem to be solved by the present invention can be solved.

【0042】(2)プロセス合成 メタプロセスが備える構造は、ビジネスプロセスが業種
業務の多様性を受け止める、先に示した第1のメカニズ
ムに対応したものであると言える。メタプロセスは作用
と作用対象を分離し、作用に対する作用対象の与え方の
自由度を確保することで、多様性に対処している。そし
て、作用対象の定義域のみを公開し他の一切を隠蔽する
ことで、多様な部品派生を容易にしているのである。次
には、ビジネスプロセスが業種業務の多様性を受け止め
る第2のメカニズムである、作用の複合をプロセスの隠
蔽性を持続しながら実現する方法について述べたい。
(2) Process Synthesis The structure provided in the metaprocess can be said to correspond to the first mechanism described above, in which the business process accepts the diversity of business in the business. Metaprocesses deal with diversity by separating actions from objects and ensuring the freedom of giving the objects to actions. By exposing only the domain of the operation target and hiding all others, it is easy to derive various components. Next, I would like to describe a second mechanism for business processes to recognize the diversity of business operations, that is, a method of realizing a compound action while maintaining the process concealment.

【0043】複合プロセスは、単体プロセスが複数結合
したものである。先に例とした顧客別の端数処理をとも
なった受注金額計算であるならば、顧客別端数処理情報
取得プロセスと受注金額計算プロセス、そして端数処理
プロセスの結合である。そしてプロセスが結合すると、
その作用対象を共有しなければならなくなる場合が多く
見られる。図4にあるように、計算金額が受注金額計算
プロセス401と端数処理プロセス403双方の作用対
象となっている。このように複合プロセスでは、単体プ
ロセス同士が作用対象を共有するメカニズムが重要であ
る。
A composite process is a combination of a plurality of single processes. In the case of the order amount calculation with fraction processing for each customer as described above, it is a combination of a customer-specific fraction processing information acquisition process, an order amount calculation process, and a fraction processing process. And when the processes combine,
In many cases, it is necessary to share the operation target. As shown in FIG. 4, the calculation amount is an operation target of both the order amount calculation process 401 and the fraction processing process 403. As described above, in the composite process, a mechanism in which the single processes share the operation target is important.

【0044】単体プロセスは、単体プロセスとして単独
で機能し得るものでなければならない。その一方で、そ
の単体プロセス同士を結合した際には、共有すべき内部
要素というものがある。それは作用対象のみならず、初
期処理や終了処理、そしてエラー等のメッセージ処理な
どである。これらの共有要素をそれぞれの単体プロセス
として備えながら、結合した際には重複せずに共有化し
なければならない。そのためには、それら共有要素から
なる原的プロセスを抽出し、その原的プロセスから全て
のプロセスを派生させるのでなければならない。この原
的プロセスは、プロセスがプロセスとして備えるべき最
小限の機能であり、先の全ての原子プロセスが等しく備
えていなければならないものである。この派生は「継
承」であり、継承においては継承元の構成要素を継承先
で分有する。この継承元の構造を分有したプロセス同士
を多重に継承してプロセスを派生した場合は、元々の継
承元であるプロセスの構造は共有され一構造に統合され
る。
A single process must be able to function alone as a single process. On the other hand, when the single processes are combined, there are internal elements to be shared. It includes not only the operation target, but also initial processing and end processing, and message processing for errors and the like. While providing these shared elements as individual unit processes, they must be shared without duplication when combined. To do so, it is necessary to extract a primitive process consisting of those shared elements and derive all processes from the primitive process. This primitive process is the minimum function that the process must have as a process and must be provided equally by all previous atomic processes. This derivation is “inheritance”, and in the inheritance, the component of the inheritance source is shared by the inheritance destination. When a process is derived by multiple inheritance of processes having the inheritance source structure, the structure of the process that is the original inheritance source is shared and integrated into one structure.

【0045】このような多重継承の特性から、共有要素
をプロセスシェルとし、単体プロセスの全てがこれを継
承していれば、結合した際に共有要素は重複せずに一つ
の構造となる。こうすることによってプロセスの継承に
おいては、プロセスシェルから見て差分である単体プロ
セス記述のみが併存することとなる。このようにプロセ
スに多重継承を適用することで、単体プロセス同士を
「合成」し複合プロセスを形作ることができる。上記の
ように複数の単体プロセスが一つ構造となるので、「結
合」と言うよりは「合成」である。
From the characteristics of such multiple inheritance, if the shared element is a process shell and all the single processes inherit the same, the shared elements become one structure without duplication when combined. In this way, in the process inheritance, only the single process description, which is a difference from the viewpoint of the process shell, coexists. By applying multiple inheritance to processes in this way, single processes can be "synthesized" to form a composite process. As described above, since a plurality of single processes have a single structure, it is “synthesis” rather than “combination”.

【0046】顧客別の端数処理を伴った受注金額計算の
例では、単体プロセスが並列し順次実行されるといった
複合形態をとっていた。複合プロセスには、このような
並列複合もあればより複雑な入れ子状の複合もある。図
5を見ていただきたい。得意先別の受注金額集計プロセ
ス501は、受注グループ読込プロセス503と得意先
別分類プロセス505、受注金額集計プロセス507の
3つが入れ子状に合成されたものである。このような分
類集計プロセスは、エンティティのレコードを順次読み
出しながら集計をおこない、分類キーのブレークを検出
すると集計の初期化をおこなう。そのため、順次読込プ
ロセスの中で分類プロセスが実行され、分類プロセスの
判定の下で集計プロセスと初期化プロセスが働くといっ
た構造を備えているのである。
In the example of the order amount calculation accompanied by the fraction processing for each customer, a complex form is adopted in which single processes are executed in parallel and sequentially. Composite processes include some such parallel composites and some more complex nested composites. Please look at FIG. The customer-by-customer order amount summarization process 501 is a combination of an order group read process 503, a customer-specific classification process 505, and an order amount summarization process 507 in a nested manner. Such a classification and aggregation process performs the aggregation while sequentially reading the records of the entities, and initializes the aggregation when a break in the classification key is detected. For this reason, a structure is provided in which the classification process is executed in the sequential reading process, and the counting process and the initialization process operate under the judgment of the classification process.

【0047】分類集計プロセスのような複合プロセスを
派生させるためには、図6のような単体プロセスの継承
構造を描く必要がある。単体プロセスの自在な合成を可
能にするためには、合成するプロセスが継承するところ
の上位プロセス構造が一致していなければならない。図
6の例では、合成する双方のプロセスがグループ読込プ
ロセス601を継承しており、その点で構造が一致する
のである。先に挙げた原子プロセスは、全てのプロセス
が継承すべき最上位プロセスである。したがってこの原
子プロセス同士の合成が可能であるならば、これを継承
する全てのプロセスは原理的に自在に合成できることと
なる。
In order to derive a composite process such as a classification and aggregation process, it is necessary to draw an inheritance structure of a single process as shown in FIG. In order to enable free synthesis of a single process, the higher-level process structure inherited by the process to be synthesized must match. In the example of FIG. 6, both processes to be synthesized have inherited the group read process 601, and the structures match at that point. The atomic processes listed above are the top processes that all processes should inherit. Therefore, if it is possible to synthesize these atomic processes, all processes that inherit this process can be freely synthesized in principle.

【0048】ここに至って、課題の二つ目に上げた「プ
ロセス記述が隠蔽された状態のままで相互に組み合わせ
ることが可能であること」を解決することができる。プ
ロセスの合成は、複数のプロセスを多重継承して複合プ
ロセスを派生させることができる。この操作は、隠蔽さ
れているプロセスに継承関係を定義するだけであるか
ら、プロセス記述の中に分け入るわけではない。したが
ってプロセスの合成においても、プロセス記述の隠蔽性
は維持されるのである。
Thus, the second problem, "the process description can be combined with each other while the process description is hidden" can be solved. In the composition of a process, a multiple process can be derived by multiple inheritance of a plurality of processes. This operation does not break into the process description because it only defines the inheritance relationship for the hidden process. Therefore, even in the synthesis of the process, the concealment of the process description is maintained.

【0049】5.ビジネスプロセスの再利用化 本発明では、オブジェクト指向開発の方法をDOAに投
影し、データとプロセスを一体とした部分エンティティ
として部品を定義した。また、プロセスの構造分析に基
づき作用と作用対象を分離し、作用に対する作用対象の
与え方により多様なプロセスを派生させる抽象と汎化の
メカニズムを考案した。そして、プロセスを多重継承す
ることでこれを合成し複合プロセスを形成する構造の根
拠に、原子プロセスを位置付けたのである。
5. Reuse of Business Process In the present invention, a method of object-oriented development is projected onto a DOA, and components are defined as partial entities integrating data and processes. We also devised an abstraction and generalization mechanism that separates action and action object based on the structural analysis of the process, and derives various processes depending on how the action object is given to the action. Then, the atomic process was positioned on the basis of the structure that combines the processes by multiple inheritance of the process to form a composite process.

【0050】このような開発手法を適用することで、プ
ロセスの隠蔽性を保ったままで原子プロセスから全ての
部品を派生させ、それらを多重継承することで複合プロ
セスを実現することが可能となる。このように、粒度の
小さいプロセスから作用対象定義と合成を通してビジネ
スプロセスは構築される。原子プロセスからプロセスを
積み上げることで多種多様なビジネスプロセスを生み出
すこの手法においては、詰まるところ素材としての部品
は原子メタ部品だけである。本開発手法において、多種
多様なビジネスプロセス部品は、この原子メタ部品の派
生体に過ぎない。したがって原子プロセスを繰り返し再
利用することで、如何なるビジネスプロセスも実現され
るのである。
By applying such a development method, it is possible to derive all the components from the atomic process while maintaining the concealment of the process, and realize a composite process by multiple inheritance of the components. In this way, a business process is constructed from a process with a small granularity through operation target definition and composition. In this method of creating a wide variety of business processes by accumulating processes from atomic processes, the only parts that are ultimately material are atomic meta parts. In this development method, various business process components are only derivatives of this atomic meta component. Therefore, any business process can be realized by repeatedly reusing atomic processes.

【0051】6.COOL:Plexにおける手法の実
現方法 (1)開発方法を適用するための手段 本発明の開発方法を適用する場合の骨子は次の通りであ
る。 1.部品定義をどのように具現化するか。 2.メタプロセスのメカニズムをどのように構築する
か。 3.プロセス合成を実現する構造を備えた抽象プロセス
をどのように構築するか。 本発明の開発方法を適用するためには、ここに掲げた3
点について具体的な手段を持たなければならない。以降
ではCOOL:Plexにおいて、本発明の開発方法を
実現する手段について詳述する。
6. Method for Realizing Method in COOL: Plex (1) Means for Applying Development Method The outline of applying the development method of the present invention is as follows. 1. How to implement the part definition. 2. How to build a meta-process mechanism. 3. How to build an abstract process with a structure that realizes process synthesis. In order to apply the development method of the present invention, 3
Must have specific means in respect of the point. Hereinafter, means for realizing the development method of the present invention in COOL: Plex will be described in detail.

【0052】(2)部品定義の具現 本発明が定義する「部品」とは、プロセスとそのプロセ
スの属性対象が一体となったソフトウェアモデルであっ
た。COOL:Plexはモデルベースの開発ツールで
あり、作成したモデルから様々なプラットホームに対応
したプログラムコードを自動生成する。したがって、C
OOL:Plexにおけるモデルには、実装に必要な全
ての情報が与えられている。COOL:Plexによる
実装は、アプリケーション開発者が与えたモデル情報
と、COOL:Plexが自身で解釈して付与した情報
によって実現する。
(2) Implementation of Component Definition The "component" defined by the present invention is a software model in which a process and an attribute object of the process are integrated. COOL: Plex is a model-based development tool that automatically generates program codes corresponding to various platforms from created models. Therefore, C
The model in OOL: Plex is provided with all information necessary for implementation. The implementation by COOL: Plex is realized by the model information given by the application developer and the information interpreted and given by COOL: Plex itself.

【0053】プロセスとプロセスの属性対象のくくり
は、COOL:Plexの「エンティティ701」によ
って実現する。エンティティ701は属性としてフィー
ルドを備え、そのファンクションという形でプロセスを
従属させる。また、エンティティ701は継承の基本単
位である。エンティティ701は、エンティティ701
を単独であるいは多重に継承することが可能である。こ
のように本発明が定義する「部品」は、COOL:Pl
exにおいては「エンティティ」がそれに相当する。図
7参照。
The process and the process of attribute of the process are realized by the “entity 701” of COOL: Plex. The entity 701 has a field as an attribute, and makes the process dependent in the form of its function. The entity 701 is a basic unit of inheritance. The entity 701 is an entity 701
Can be inherited singly or multiple times. Thus, the “parts” defined by the present invention are COOL: Pl
In ex, “entity” corresponds to it. See FIG.

【0054】(3)メタプロセスの構築 本発明では、属性項目が未規定である「部品」を「メタ
部品」と呼び、このメタプロセスのプロセス記述は未規
定対象に対するプロセスとして記述されなければならな
い。そして未規定対象の定義域を、プロセス記述の外部
に張り出させる必要がある。
(3) Construction of Meta Process In the present invention, a “part” whose attribute item is unspecified is called a “meta part”, and the process description of this meta process must be described as a process for an undefined target. . Then, it is necessary to extend the undefined target domain outside the process description.

【0055】このようなメタプロセスの特性は、COO
L:Plexが独自のプロセス記述法として装備してい
る「メタ記述」を適用することで実現することができ
る。メタ記述は、設定されたバリアブル(変数域)内の
フィールドを順次掴みだし、そのフィールドの値や名称
をプロセス記述に利用することができる。COOL:P
lexでは、プロセス記述を「アクションダイヤグラ
ム」でおこない、バリアブルは変数域であるため「変数
パレット」に設定する。このため、作用対象定義域をバ
リアブルと解釈すれば、プロセス記述とは分離させて作
用対象定義域を設定することが可能となる。このバリア
ブルに作用対象であるフィールドを定義しておいて、メ
タ記述でこれを取り出させば、直接アクションダイヤグ
ラム内に作用対象を記述することなくプロセスを構築す
ることができるのである。
The characteristic of such a metaprocess is COO
L: It can be realized by applying “meta description” provided by Plex as a unique process description method. In the meta description, fields in a set variable (variable area) are sequentially grasped, and the values and names of the fields can be used for the process description. COOL: P
In lex, the process description is made in an “action diagram”, and the variable is set in a “variable palette” because it is a variable area. Therefore, if the operation target domain is interpreted as variable, the operation target domain can be set separately from the process description. By defining a field that is an operation target in this variable and extracting it in the meta description, it is possible to construct a process without directly describing the operation target in the action diagram.

【0056】図8は、インクリメントプロセスをメタプ
ロセスによって実現するための設定方法を示している。
「演算」原子メタプロセスにはインクリメントというフ
ァンクションがある。この例では、このインクリメント
ファンクションを継承し、変数パレット801のBP Inc
rementLというバリアブルにcounterというフィールドを
設定している(803枠内)。メタプロセス内部では、
このcounterフィールドをメタ記述によってインクリメ
ント記述に取り込み、演算プロセスを実現するのであ
る。
FIG. 8 shows a setting method for realizing the increment process by a meta process.
The "operation" atomic metaprocess has a function called increment. In this example, BP Inc. of the variable palette 801 inherits this increment function.
A field called counter is set in a variable called rementL (within 803 frames). Inside the metaprocess,
This counter field is incorporated into the increment description by the meta description, and the calculation process is realized.

【0057】(4)プロセス合成の構築 プロセスの合成は、複数のプロセスを多重継承して複合
プロセスを派生させることができる。このプロセス合成
を実現するためには、ツールがプロセスの多重継承をサ
ポートしていなければならない。COOL:Plexに
おいては「エンティティ」が「部品」であり、そのエン
ティティに従属するファンクションがプロセスである。
そしてCOOL:Plexは、このファンクションを多
重に継承することが可能である。
(4) Construction of Process Synthesis In the synthesis of a process, a plurality of processes can be multiply inherited to derive a composite process. In order to achieve this process synthesis, the tool must support multiple inheritance of the process. In the COOL: Plex, the “entity” is a “part”, and the function subordinate to the entity is a process.
COOL: Plex can inherit this function multiple times.

【0058】COOL:Plexがファンクションの多
重継承をサポートしていることから、プロセスの合成を
具体的に施しこれによって複合プロセスを派生させるこ
とが原理的に可能である。しかしながら、単純にファン
クションを多重継承させても、多くの場合複合プロセス
の内部で不整合を起こしてしまう。プロセスの合成にお
いては、単体プロセス同士の共有要素をそれ自体で備え
るのではなく、上位のプロセスから継承しているのでな
ければならない。そのためには、それら共有要素からな
る原的プロセスを抽出し、その原的プロセスから全ての
プロセスを派生させるのでなければならない。そうする
ことによって、共有要素は複合プロセスの一つ構造とな
り、多重に継承した個々のプロセス差分が複合されるの
である。
Since COOL: Plex supports multiple inheritance of functions, it is possible in principle to specifically combine processes to derive a composite process. However, simply inheriting multiple functions often causes inconsistency inside the composite process. In the synthesis of processes, it is necessary that the shared elements of the single processes are not provided by themselves but are inherited from a higher-level process. To do so, it is necessary to extract a primitive process consisting of those shared elements and derive all processes from the primitive process. By doing so, the shared element becomes one structure of the composite process, and the multiple inherited process differences are composited.

【0059】COOL:Plexには原的ファンクショ
ンが用意されており、それを継承してビジネスプロセス
を実現するよう考案されている。その原的ファンクショ
ンを以下に示す。 1.InsertRow(レコードの登録)-------------------
-図9の901 2.UpdateRow(レコードの変更)-------------------
図9の903 3.DeleteRow(レコードの削除)-------------------
-図9の905 4.SingleFetch(1レコード読込)-----------------
-図9の907 5.ProcessGroup(レコードのグループ読込)-----図
9の909 こうした原的ファンクションは、ServerShel
lという共通の継承元より派生しているが、多重継承の
組み合わせによっては不整合を生じる。また、具体的な
複合プロセスを実現するためには、複合プロセスとして
の構造やフロー制御等に対応する必要がある。以降で
は、この点でどのような措置が取り得るかについて述べ
たいと思う。
COOL: Plex provides an original function, which is designed to inherit and implement a business process. The basic functions are shown below. 1. InsertRow (record registration) -------------------
-901 in FIG. UpdateRow (change record) -------------------
903 in FIG. DeleteRow (delete record) -------------------
-905 in Fig. 9 4. SingleFetch (1 record reading) -----------------
-907 in Fig. 9 5. ProcessGroup (read a group of records) 909 in FIG. 9 These primitive functions are ServerShel
Although derived from a common inheritance source of l, inconsistency may occur depending on the combination of multiple inheritance. Further, in order to realize a specific composite process, it is necessary to cope with the structure, flow control, and the like as the composite process. In the following, I would like to discuss what actions can be taken in this regard.

【0060】(5)原的ファンクションのシェル COOL:Plexが用意している原的ファンクション
同士の多重継承の不整合を回避するために、この原的フ
ァンクションのシェルを用意する。それと同時に、この
シェルはビジネスプロセスの最上位ファンクションとし
ての共有構造を持たせておく。実際には、上記1から4
までの原的ファンクションは作成したシェルの同一ポイ
ントから呼び出される。呼出パラメータには共通のバリ
アブルを設け、これを設定する。COOL:Plexに
は、呼出パラメータをバリアブルで指定することでフィ
ールドを設定する機能が備わっている。さらにバリアブ
ルにビューを指定した場合、そのビューの「キーフィー
ルドのみ」とか「キーフィールド以外」といった制約を
与えることもできる。
(5) Shell of Original Function In order to avoid inconsistency in multiple inheritance between the original functions provided by COOL: Plex, a shell of this original function is prepared. At the same time, this shell has a shared structure as the top function of the business process. Actually, the above 1 to 4
The original functions are called from the same point in the created shell. A common variable is provided for the call parameter and set. The COOL: Plex has a function of setting a field by specifying a call parameter in a variable manner. Furthermore, when a view is specified as a variable, restrictions such as “only a key field” or “other than a key field” can be given to the view.

【0061】原的ファンクションの中では5が異質であ
る。5の「レコードのグループ読込」は、繰り返しプロ
セスとレコード読込プロセスが一つになったものであ
る。この「レコードのグループ読込」では、繰り返しプ
ロセスが常に優先する。したがって、他の1から4のプ
ロセスと合成される場合も繰り返しプロセスが優先し、
合成した他のプロセスは繰り返しの中のプロセスとして
出現する。このため「レコードのグループ読込」はシェ
ルの中で呼び出されるのではなく、シェルと直接合成さ
れ一体となる。図9参照。
Among the primitive functions, 5 is foreign. The “record group reading” of No. 5 is a combination of the repetition process and the record reading process. In this “record group reading”, the repetition process always has priority. Therefore, the repetition process also takes precedence when it is combined with other processes 1 to 4,
Other synthesized processes appear as processes in the iteration. For this reason, "read group of records" is not called in the shell, but is synthesized directly with the shell and becomes one. See FIG.

【0062】このようにCOOL:Plexの原的ファ
ンクションは、シェルに包摂されることで同一構造を基
礎とすることができる。1から4のファンクションを相
互に多重継承した場合は、継承順にプロセスが実行され
る複合ファンクションが派生する。また、1から4のフ
ァンクションを5のファンクションと多重継承した場合
は、5のファンクションの中で1から4のファンクショ
ンが継承順に実行される複合ファンクションが派生す
る。この複合ファンクションでは、レコードを順次読み
出しながら、その読み出し情報に基づき他の継承プロセ
スが継承順に実行されるのである。
Thus, the underlying functions of COOL: Plex can be based on the same structure by being subsumed by the shell. When functions 1 to 4 are mutually inherited multiple times, a composite function in which processes are executed in the order of inheritance is derived. In the case where the functions 1 to 4 are multiple inherited with the function 5, a composite function in which the functions 1 to 4 are executed in the inherited order among the functions 5 is derived. In this composite function, while records are sequentially read, other inheritance processes are executed in the order of inheritance based on the read information.

【0063】(6)複合プロセスの構造化 COOL:Plexが用意している基本ファンクション
は、先のビジネスプロセスの5構造から言えば「自身の
入力プロセス」、「他の入力プロセス」、「自身の出力
プロセス」、「他の出力プロセス」に組み込まれるべき
ものである。プロセス複合はファンクションの多重継承
で実現される。そして、このプロセス複合に5つの構造
を持ち込むためには、プロセスブロックを導入する必要
がある。プロセスブロックは、複合プロセスに5つのブ
ロックを与えるためのファンクションである。本発明で
は、内部読込ブロック、外部参照ブロック、内部処理ブ
ロック、内部更新ブロック、外部更新ブロックの5ブロ
ックを作成した。これらブロックは、(5)で述べた基
本シェルにそれぞれのブロックをサブルーチンとして加
え、編集ポイントを設定したものである。このプロセス
ブロックは、単体プロセスの実行順序を制御するための
働きがある。それぞれのブロックの特性を以下に示す。
(6) Structuralization of Composite Process The basic functions provided by COOL: Plex include “own input processes”, “other input processes”, and “own Output process "and" other output processes ". Process compounding is realized by multiple inheritance of functions. Then, in order to introduce five structures into this process complex, it is necessary to introduce a process block. The process block is a function for giving five blocks to the composite process. In the present invention, five blocks of an internal read block, an external reference block, an internal processing block, an internal update block, and an external update block are created. These blocks are obtained by adding each block as a subroutine to the basic shell described in (5) and setting an edit point. This process block has a function of controlling the execution order of a single process. The characteristics of each block are shown below.

【0064】内部読込ブロック (4)で述べたSingleFetch(1レコード読込)シェル
をそのままブロックとして適用する。 外部参照ブロック 基本シェルを継承し、外部参照用サブルーチンに編集ポ
イントを加えただけのファンクションを派生させる。 内部処理ブロック 基本シェルを継承し、内部処理用サブルーチンに編集ポ
イントを加えただけのファンクションを派生させる。
「演算」、「設定」、「条件分岐」、「繰り返し」の原
子プロセスは、この内部処理ブロックを継承しこのブロ
ック内で実行されるように派生させる。 内部更新ブロック (4)で述べたInsertRow(レコードの登録)、UpdateR
ow(レコードの変更)、DeleteRow(レコードの削除)
シェルをそのままブロックとして適用する。 外部更新ブロック 基本シェルを継承し、外部更新用サブルーチンに編集ポ
イントを加えただけのファンクションを派生させる。
Internal Read Block The SingleFetch (one record read) shell described in (4) is applied as a block as it is. External reference block Inherits the basic shell and derives a function that simply adds an edit point to the external reference subroutine. Internal processing block Inherits the basic shell and derives a function that adds an edit point to the internal processing subroutine.
Atomic processes of “calculation”, “setting”, “conditional branch”, and “repetition” inherit this internal processing block and derive it to be executed in this block. Internal Update block (InsertRow (record registration), UpdateR described in (4))
ow (change record), DeleteRow (delete record)
Apply the shell as a block as is. External update block Inherits the basic shell and derives a function that adds an edit point to the external update subroutine.

【0065】この5つのプロセスブロックでビジネスプ
ロセスの構造を維持し、プロセスの実行順序を制御する
ことが可能となる。こうした複合プロセスの構造化を維
持しない場合は、単体プロセスの実行順序を正しく制御
することができない。単体プロセスが単に複合しただけ
では、以下のような問題が発生する。演算とレコード
追加Aからなる複合プロセスと、演算とレコード追加
Aからなる複合プロセスを合成した場合は、演算、レ
コード追加A、演算の実行順序からなる複合プロセス
を派生させる。この場合、演算は結果の出力がないた
め図10のように無意味となる(1001枠内)。これ
に対してプロセスブロックを適用した場合は、演算、
演算、レコード追加Aの実行順序となり、図11のよ
うに演算との結果をレコードに出力する事ができる
のである(1101及び1103の枠内)。
With these five process blocks, the structure of the business process can be maintained, and the execution order of the processes can be controlled. If the structure of the composite process is not maintained, the execution order of the single processes cannot be properly controlled. If a single process is simply combined, the following problems occur. When the composite process including the operation and the record addition A and the composite process including the operation and the record addition A are combined, a composite process including the operation, the record addition A, and the execution order of the operation is derived. In this case, the operation is meaningless as shown in FIG. 10 because no result is output (within 1001 frame). On the other hand, when the process block is applied, the calculation,
The execution order of the operation and the record addition A becomes the order, and the result of the operation can be output to the record as shown in FIG. 11 (within 1101 and 1103).

【0066】(7)フロー制御プロセスの構築 原子プロセスである「条件分岐」と「繰り返し」は、プ
ロセスのフローを制御するものであり、従来はIFあるい
はCASE、そしてROOPなどの制御コマンドによって記述さ
れてきた。そして構造の複雑なプロセスには、必ずこの
フロー制御コマンドが複数使用されてきたのである。先
に述べたメタプロセスは、作用対象を外部化し作用自体
と分離することによって、多様性に対応できる汎用プロ
セスを実現していた。フローを制御するプロセスをメタ
プロセス化することは、プロセス記述に埋没していた制
御プロセスをその外側からコントロールすることを可能
にする。また、制御プロセスと制御されるプロセスを分
離し、それぞれを独立させて再利用の対象とすることが
可能となるのである。
(7) Construction of Flow Control Process The “conditional branch” and “repetition” which are atomic processes control the flow of a process, and are conventionally described by control commands such as IF, CASE, and ROOP. Have been. And, in a process having a complicated structure, a plurality of flow control commands have always been used. The meta-process described above realizes a general-purpose process that can cope with diversity by externalizing an operation target and separating it from the operation itself. Meta-processing of the process that controls the flow enables the control process embedded in the process description to be controlled from outside. In addition, it is possible to separate the control process and the controlled process, and make each of them independent and subject to reuse.

【0067】COOL:Plexにおいてフロー制御プ
ロセスをメタプロセス化するためには、メタ記述を適用
した上でサブルーチンの実行を制御しなければならな
い。すなはちフロー制御は、TRUEであるかFALSEである
かを判定しプロセス実行の有無を制御する必要がある。
このため条件分岐では、条件分岐判定がTRUEである場合
実行するサブルーチンを指定するバリアブルと、FALSE
である場合実行するサブルーチンを指定するバリアブル
を持たせている。このバリアブルに指定するのは、サブ
ルーチン名と同名のフィールドである。これらのバリア
ブルに指定されたフィールドではそのフィールド値はプ
ロセスに無関係で、サブルーチンと同名のフィールドが
指定されているかどうかに意味がある。分岐判定がTRUE
の場合、メタ記述がTRUEバリアブルから指定されている
フィールド名を取得し、それと同名のサブルーチンの実
行をオフからオンに変更するのである。そして、繰り返
しプロセスにおいても原理は同じであり、条件は指定領
域をバリアブルとして設けてあり、論理演算さえバリア
ブルに指定する。さらに機能を拡張して複合条件分岐に
も対応することが可能となっている。図12参照。
In order to make the flow control process a metaprocess in COOL: Plex, the execution of a subroutine must be controlled after applying a meta description. In other words, the flow control needs to determine whether the process is TRUE or FALSE and control whether or not the process is executed.
For this reason, in the conditional branch, a variable that specifies the subroutine to be executed when the conditional branch determination is TRUE, and FALSE
In the case of, a variable for designating a subroutine to be executed is provided. What is specified in this variable is a field having the same name as the subroutine name. For these variable-specified fields, the field value is irrelevant to the process, and it makes sense whether a field with the same name as the subroutine is specified. TRUE for branch judgment
In the case of, the meta description gets the specified field name from the TRUE variable, and changes the execution of the subroutine with the same name from off to on. The principle is the same in the iterative process, the condition is that the designated area is provided as a variable, and even a logical operation is designated as a variable. It is also possible to extend the function to support complex conditional branching. See FIG.

【0068】(8)呼び出しプロセスの構築 原子プロセスに「呼び出し」があった。プロセスは、外
部プロセスを呼び出すことでその自律的な働きを促し、
その結果を受け取る。外部プロセスは、作用対象を含む
エンティティが同一である外部プロセスと、エンティテ
ィが異なる外部プロセスとに分けて考えることができ
る。そして、呼び出すプロセスと呼び出されるプロセス
間でやり取りされる情報は共通でなければならないが、
エンティティが異なる場合これが一致しないことが少な
くない。例えば受注プロセスにおいて、商品単価情報を
外部プロセスから入手する場合を考えてみる。商品単価
取得プロセスは、これを呼び出すのに商品コードを要求
するが、受注プロセスでは商品コードを受注商品コード
として捉えている場合では、情報の不一致から外部呼び
出しは成立しない。また、商品単価取得プロセスは商品
単価を返してくるが、受注プロセスで待ち受けているの
は受注単価であったりする。このようにプロセス間での
情報伝達は伝達項目の名称を頼りに行われるため、この
伝達項目の名称が一致しない場合はプロセスが結合する
ことができない。こうした場合これまでは、この異音同
意語を理解する開発者がその都度プロセス記述の中で補
正してきた。この異音同意語の対処を得なければ、「呼
び出し」プロセスはプロセス記述から独立することがで
きないのである。
(8) Construction of calling process There was a "call" in the atomic process. Processes promote their autonomous work by calling external processes,
Receive the result. The external process can be considered separately as an external process in which the entity including the operation target is the same and an external process in which the entity is different. And the information exchanged between the calling process and the called process must be common,
If the entities are different, they often do not match. For example, consider a case in which in the order receiving process, product unit price information is obtained from an external process. The product unit price acquisition process requires a product code to call this. However, if the product code is regarded as an ordered product code in the order receiving process, an external call cannot be established due to information mismatch. Also, the product price acquisition process returns the product price, but what is waiting in the order receiving process may be the order price. As described above, information transmission between processes is performed by relying on the names of the transmission items. Therefore, if the names of the transmission items do not match, the processes cannot be combined. Until now, developers who understand this synonymous synonym have corrected each time in their process descriptions. Without taking care of this allomorph, the "calling" process cannot be independent of the process description.

【0069】ビジネスプロセスの中でしばしば発生する
異音同義語に適切に対処し、呼び出しプロセスを部品と
して自立させるために、フィールド間の対応定義と値の
移動を呼び出しプロセスに加える必要がある。COO
L:Plexにおいてこれを実現するために、フィール
ド間の対応定義にメタ記述を適用し、呼び出す側の対応
定義域と呼び出される側の対応定義域をそれぞれバリア
ブルとし、双方のバリアブル間で値を移動させる働きを
持たせる。また、呼び出し自身はダミーファンクション
のCALLとして記述し、派生先で呼出ファンクションとリ
プレースする。図13参照。これによって、呼び出しプ
ロセスはフィールド対応定義域を外部化し、リプレース
によって必要な呼び出しプロセスに交換することができ
る汎用プロセスとなるのである。
In order to properly deal with allophone synonyms that often occur in a business process and to make the calling process independent as a component, it is necessary to add a correspondence definition between fields and move values to the calling process. COO
In order to realize this in L: Plex, a meta description is applied to the definition of correspondence between fields, the corresponding definition area on the calling side and the corresponding definition area on the called side are respectively variable, and the value is moved between both variables. Have the function to make. In addition, the call itself is described as a CALL of a dummy function, and is replaced with the call function at the derivation destination. See FIG. As a result, the calling process becomes a general-purpose process that can externalize the field correspondence domain and replace it with a necessary calling process by replacement.

【0070】(9)プロセス合成の限界 複合プロセスでは、上記のような呼び出しプロセスが複
数実行される場合が少なくない。このような複合プロセ
スは、複数の呼び出しプロセスを多重に継承することで
実現できるが、この際ここに一つの限界が現れる。汎用
的な唯一つの呼び出しプロセスから派生した複数のプロ
セス同士を多重継承した場合、共通構造が派生先では唯
一つの構造となる。多重継承のこの特性こそプロセス合
成を可能とするものであるが、そのことが同一のメタ部
品から派生した部品同士を多重継承することを妨げる。
(9) Limits of Process Synthesis In a complex process, there are many cases where a plurality of the above-mentioned calling processes are executed. Such a complex process can be realized by inheriting a plurality of calling processes in a multiplex manner, but here a limitation appears. When multiple processes derived from a single general-purpose calling process are inherited multiple times, the common structure is the only structure at the destination. This property of multiple inheritance enables process synthesis, but prevents multiple inheritance of parts derived from the same meta-part.

【0071】図14は、受注単価と商品単価の異音同義
語を定義した演算の呼出プロセスと、売上単価と商品
単価の異音同義語を定義した演算の呼出プロセスを合
成した呼出プロセスを示した。ここで要求されたのは、
2つの呼出プロセスが干渉しないで実行されることであ
る。ところが合成の結果は、後から継承した呼出プロ
セスの演算呼び出しだけが有効となり、演算の呼び
出しは姿を消してしまっている。ここでは、継承する派
生プロセスの数だけ外部プロセスの呼び出しが実行され
ることを期待して、そうした派生プロセス同士を合成し
たが、共通記述であるCALL文は一つとなり、最後に継承
した派生プロセスの外部呼び出しのみが有効となってい
るのである。
FIG. 14 shows a calling process of combining an operation defining an allophone synonym between an order unit price and a product unit price, and a calling process of an operation defining an allophone synonym between a sales unit price and a product unit price. Was. What was required here was
The two calling processes are performed without interference. However, as a result of the composition, only the operation call of the calling process inherited later is valid, and the operation call has disappeared. In this case, the derived processes are synthesized with the expectation that the calling of the external process will be executed as many as the number of the derived processes to be inherited. Only the external calls are valid.

【0072】プロセス合成では、同一のメタプロセスか
ら派生したプロセス同士を合成させてはならない。先に
複合プロセスの構造化で例とした演算プロセスを含むレ
コード追加プロセスでは、別々のプロセスであった演算
と演算を合成によって一つにしていたが、この二つ
の演算プロセスが同一の演算メタプロセスから派生して
いる場合は成り立たない。そうした場合は演算を外部
プロセスとし、演算の直後に外部呼び出しするように
プロセスを構築する必要がある。外部呼び出しにおいて
も、唯一つの呼び出しメタプロセスから派生した呼び出
しプロセスを同一プロセス内に複数持つことはできな
い。このため、複数の呼び出しメタプロセスを用意する
必要がある。
In process synthesis, processes derived from the same metaprocess must not be synthesized. In the record addition process including the operation process described earlier in the structuring of the composite process, the operation and the operation, which were separate processes, were combined into one, but the two operation processes are the same operation meta process. If it is derived from, it does not hold. In such a case, it is necessary to make the operation an external process and construct the process so that it is called externally immediately after the operation. Even in an external call, it is not possible to have a plurality of calling processes derived from a single calling metaprocess in the same process. Therefore, it is necessary to prepare a plurality of call metaprocesses.

【0073】プロセスの合成では、単体プロセスを合成
して複合プロセスを生み出し、ビジネスプロセスの多様
性に対応しようとする。その原動力が多重継承のメカニ
ズムである。一方単体プロセスは、少量のメタプロセス
に作用対象を付与することでその多様性に対処しようと
する。そしてこの二つのメカニズムの接点で、ここに取
り上げたような制約が発生するのである。
In the synthesis of processes, a single process is synthesized to create a composite process, and attempts to cope with the diversity of business processes. The driving force is the mechanism of multiple inheritance. Single processes, on the other hand, try to deal with their diversity by assigning actors to a small amount of metaprocesses. And at the point of contact between these two mechanisms, the constraints mentioned here arise.

【0074】以上詳細に説明したように本発明によれ
ば、オブジェクト指向技術の「抽象化」の不徹底を未規
定対象の操作を備えるメタ部品によって解決する。これ
によって、つとに抑制された量の最上位部品からほぼ全
てのビジネスプロセス部品を派生させることが可能にな
った。また、抽象化された部品を効果的に具象化するた
めに部品合成を適用するが、部品構造を標準化すること
でこの合成の矛盾や不整合を回避した。これによってプ
ロセスの複合が容易になり、自在な部品形成を可能にす
る。さらに、部品から部品を呼び出す仕組みとして、イ
ンターフェイスや組込部品を開発した。これによって部
品呼出を部品合成によって取り扱うことが可能になり、
アプリケーション開発の全てのライフサイクルにおいて
ブラックボックスとして扱われる部品だけでこれを全う
することが可能となった。
As described in detail above, according to the present invention, the incompleteness of the "abstraction" of the object-oriented technology is solved by the meta-component having the operation of the unspecified object. This made it possible to derive almost all business process components from a suppressed amount of top-level components. In addition, component synthesis is applied to effectively embody the abstracted components, but contradiction and inconsistency of the synthesis are avoided by standardizing the component structure. This facilitates compounding of the process and enables flexible part formation. Furthermore, as a mechanism for calling parts from parts, an interface and embedded parts were developed. This makes it possible to handle component calls by component synthesis,
It is now possible to accomplish this only with parts that are treated as black boxes in the entire life cycle of application development.

【0075】[0075]

【発明の効果】このように本発明によると、全ての部品
がプロセス記述の隠蔽を保ったままでプロセスの特性を
規定あるいは変更できるビジネスプロセス部品の構築方
法を提供することができる。また、全ての部品がプロセ
ス記述を隠蔽した状態のままで相互に組み合わせること
が可能なビジネスプロセス部品の構築方法を提供するこ
とができる。さらに、少量の基本部品から上記特性を適
用して全てのビジネスプロセスを派生させることができ
るビジネスプロセス部品の構築方法を提供することがで
きる。
As described above, according to the present invention, it is possible to provide a method of constructing a business process component in which all the components can define or change the characteristics of the process while keeping the process description hidden. Further, it is possible to provide a method of constructing a business process component in which all components can be combined with each other while the process description is hidden. Further, it is possible to provide a method of constructing a business process component that can derive all business processes by applying the above characteristics from a small number of basic components.

【図面の簡単な説明】[Brief description of the drawings]

【図1】部品の構造を説明するための図。FIG. 1 is a view for explaining the structure of a component.

【図2】プロセスの原的構造を説明するための図。FIG. 2 is a diagram for explaining an original structure of a process.

【図3】メタ部品の構造を説明するための図。FIG. 3 is a view for explaining the structure of a meta component.

【図4】複合プロセスの構造を説明するための図。FIG. 4 is a diagram for explaining the structure of a composite process.

【図5】入れ子状の複合プロセスを説明するための図。FIG. 5 is a view for explaining a nested composite process.

【図6】プロセスの合成を説明するための図。FIG. 6 is a diagram for explaining synthesis of a process.

【図7】COOL:Plexにおける部品を説明するた
めの図。
FIG. 7 is a view for explaining parts in COOL: Plex.

【図8】COOL:Plexにおけるメタプロセスを説
明するための図。
FIG. 8 is a diagram for explaining a metaprocess in COOL: Plex.

【図9】原的ファンクションのシェルを説明するための
図。
FIG. 9 is a diagram for explaining a shell of an original function.

【図10】ブロックを導入しないプロセスを説明するた
めの図。
FIG. 10 is a diagram for explaining a process in which a block is not introduced.

【図11】ブロックを導入したプロセスを説明するため
の図。
FIG. 11 is a diagram for explaining a process in which blocks are introduced.

【図12】条件分岐プロセスを説明するための図。FIG. 12 is a diagram for explaining a conditional branching process.

【図13】呼出プロセスを説明するための図。FIG. 13 is a diagram for explaining a calling process.

【図14】呼出プロセスの単純合成を説明するための
図。
FIG. 14 is a diagram illustrating a simple composition of a calling process.

【符号の説明】[Explanation of symbols]

101,703 部品 103 属性項目 105 プロセス 101,703 part 103 attribute item 105 process

───────────────────────────────────────────────────── フロントページの続き (72)発明者 江畑 英郷 埼玉県浦和市仲町1−4−10浦和商工ビル 5階 株式会社シービーシー内 (72)発明者 今村 雅人 東京都品川区西五反田2丁目23番地1号 株式会社コンサルティング・エムアンドエ ス内 Fターム(参考) 5B076 DD05 DD10  ──────────────────────────────────────────────────続 き Continuing on the front page (72) Inventor Hidego Ebata 1-4-10 Nakamachi, Urawa-shi, Saitama 5th Floor Inside CBCC Co., Ltd. (72) Inventor Masato Imamura 2-chome Nishi-Gotanda, Shinagawa-ku, Tokyo 23-1 F-term in Consulting M & S Co., Ltd. (Reference) 5B076 DD05 DD10

Claims (9)

【特許請求の範囲】[Claims] 【請求項1】 少量の原子プロセス部品の外部よりプロ
セス対象を付与し単体プロセス部品を構築し、そのよう
に構築された複数の単体プロセス部品を合成し複合プロ
セス部品を構築することで、全てのビジネスプロセスを
実現することを特徴とするビジネスプロセス部品の構築
方法。
1. A single process component is constructed by assigning a process target from outside a small amount of atomic process components, and a plurality of single process components constructed as described above are synthesized to construct a composite process component. A business process component construction method characterized by realizing a business process.
【請求項2】 請求項1に記載の単体プロセス部品の構
築方法において、 プロセスの作用対象から作用を純化して、プロセスの最
上位に8つの原子プロセスを据えることを特徴とするビ
ジネスプロセス部品の構築方法。
2. The method for constructing a single process component according to claim 1, wherein the action is purified from an operation target of the process, and eight atomic processes are set at the top of the process. How to build.
【請求項3】 請求項1に記載の単体プロセス部品の構
築方法において、 プロセスの作用対象定義域を外部化することでプロセス
記述を隠蔽し、作用対象定義域に対する作用対象の与え
方によって自在に単体プロセスを構築することを特徴と
するビジネスプロセス部品の構築方法。
3. The method for constructing a single process component according to claim 1, wherein the process description is hidden by externalizing a process target domain of the process, and the process description is concealed freely according to how to give the target to the target domain. A method for building a business process component characterized by building a single process.
【請求項4】 請求項1に記載の複合プロセス部品の構
築方法において、 共有構造を有する上位プロセスを多重継承し合成するこ
とで、多様な複合プロセスを派生させることを特徴とす
るビジネスプロセス部品の構築方法。
4. The method for constructing a composite process component according to claim 1, wherein various composite processes are derived by multiple inheriting and synthesizing an upper process having a shared structure. How to build.
【請求項5】 請求項3に記載の単体プロセス部品のC
OOL:Plexにおける構築方法において、 変数パレットのバリアブルを外部定義域とし、メタ記述
によって外部定義域から作用対象を掴み出すことでプロ
セス記述を実現することを特徴とするビジネスプロセス
部品の構築方法。
5. The C of the single process component according to claim 3.
OOL: A construction method in Plex, wherein a variable of a variable palette is defined as an external domain, and a process description is realized by extracting an operation target from the external domain by a meta description.
【請求項6】 請求項4に記載の複合プロセス部品のC
OOL:Plexにおける構築方法において、 COOL:Plexの原的ファンクション同士を合成す
るためにシェルを設けることを特徴とするビジネスプロ
セス部品の構築方法。
6. The C of the composite process component according to claim 4.
A method for constructing a business process component, wherein a shell is provided for synthesizing primitive functions of COOL: Plex.
【請求項7】 請求項4に記載の複合プロセス部品のC
OOL:Plexにおける構築方法において、 ビジネスプロセスの5構造に対応するプロセスブロック
を設け、全てのプロセスが前記プロセスブロックの何れ
かに位置付けられることを特徴とするビジネスプロセス
部品の構築方法。
7. The composite process component according to claim 4, wherein
OOL: A method of constructing a business process component in which a process block corresponding to five structures of a business process is provided, and all processes are positioned in any of the process blocks.
【請求項8】 請求項2に記載の原子プロセス部品のC
OOL:Plexにおける構築方法において、 フロー制御プロセスをメタプロセスとして実現すること
を特徴とするビジネスプロセス部品の構築方法。
8. The C of the atomic process component according to claim 2,
OOL: A method for constructing a business process component, wherein a flow control process is realized as a meta process in the plex construction method.
【請求項9】 請求項2に記載の原子プロセス部品のC
OOL:Plexにおける構築方法において、 エンティティ間の異音同義語を定義しこの定義処理を介
して外部プロセスを呼び出すことを特徴とするビジネス
プロセス部品の構築方法。
9. The C of the atomic process component according to claim 2,
OOL: A construction method in Plex, which defines an allophone synonym between entities and calls an external process through this definition process.
JP2001014958A 2001-01-23 2001-01-23 Structuring method for business process component Pending JP2001297003A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001014958A JP2001297003A (en) 2001-01-23 2001-01-23 Structuring method for business process component

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001014958A JP2001297003A (en) 2001-01-23 2001-01-23 Structuring method for business process component

Publications (1)

Publication Number Publication Date
JP2001297003A true JP2001297003A (en) 2001-10-26

Family

ID=18881582

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001014958A Pending JP2001297003A (en) 2001-01-23 2001-01-23 Structuring method for business process component

Country Status (1)

Country Link
JP (1) JP2001297003A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7761478B2 (en) 2005-11-23 2010-07-20 International Business Machines Corporation Semantic business model management
JP2014523042A (en) * 2011-07-12 2014-09-08 ▲銅▼陵玉成▲軟▼件科技有限▲責▼任公司 Business model oriented software execution platform and its execution mode

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7761478B2 (en) 2005-11-23 2010-07-20 International Business Machines Corporation Semantic business model management
JP2014523042A (en) * 2011-07-12 2014-09-08 ▲銅▼陵玉成▲軟▼件科技有限▲責▼任公司 Business model oriented software execution platform and its execution mode

Similar Documents

Publication Publication Date Title
Soffer et al. Modelling off-the-shelf information systems requirements: an ontological approach
US6073111A (en) Container materialization/dematerialization for reduced dataload and improved data-coherency in workflow-management systems
US20120110583A1 (en) Dynamic parallel looping in process runtime
Bendraou et al. UML4SPM: A UML2. 0-based metamodel for software process modelling
Ramaesh et al. Representing and maintaining process knowledge for large-scale systems development
Kannengiesser et al. Multi-level, viewpoint-oriented engineering of cyber-physical production systems: an approach based on industry 4.0, system architecture and semantic web standards
Bendraou et al. Software process modeling and execution: the UML4SPM to WS-BPEL approach
Kharmoum et al. A method of model transformation in MDA approach from E3value model to BPMN2 diagrams in CIM level.
Barzdins et al. The transformation-driven architecture
Souquieres et al. Description of specification developments
Bendraou et al. UML4SPM: An executable software process modeling language providing high-level abstractions
Bush et al. The Styx agent methodology
Sprock et al. Theory of Discrete Event Logistics Systems (DELS) Specification
Ng et al. The development of an enterprise resources planning system using a hierarchical design pyramid
JP2001297003A (en) Structuring method for business process component
Krogstie Modelling of the People, by the People, for the People
Kamath et al. A review of enterprise process modelling techniques
Wortmann et al. Embedding enterprise software in extended enterprise models
Huang et al. A TCPN based approach to model the coordination in virtual manufacturing organizations☆
Lyadova et al. An Ontological Approach to the Development of Analytical Platform Language Toolkits
Bauer et al. The iot architectural reference model as enabler
Bußler Specifying enterprise processes with workflow modeling languages
Grangel et al. Solving Problems in the Parameterisation of ERPs Using a Model-Driven Approach
Quartel et al. An approach to relate business and application services using ISDL
Kalinichenko Canonical Model Development Techniques Aimed at Semantic Interoperability in the Heterogeneous World of Information Modeling.

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20060227

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060522

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060522