JP3442421B2 - Object-oriented software design support method and method for verifying specifications between different types of software design documents and programs - Google Patents

Object-oriented software design support method and method for verifying specifications between different types of software design documents and programs

Info

Publication number
JP3442421B2
JP3442421B2 JP03932993A JP3932993A JP3442421B2 JP 3442421 B2 JP3442421 B2 JP 3442421B2 JP 03932993 A JP03932993 A JP 03932993A JP 3932993 A JP3932993 A JP 3932993A JP 3442421 B2 JP3442421 B2 JP 3442421B2
Authority
JP
Japan
Prior art keywords
message
software design
program
communication
messages
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP03932993A
Other languages
Japanese (ja)
Other versions
JPH06230954A (en
Inventor
塚 玲 大
谷 光 啓 菅
木 規 央 楠
河 英 二 並
沢 栄 二 深
村 博 之 中
野 龍 介 清
長谷川  隆
原 健 篠
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nomura Research Institute Ltd
Original Assignee
Nomura Research Institute Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nomura Research Institute Ltd filed Critical Nomura Research Institute Ltd
Priority to JP03932993A priority Critical patent/JP3442421B2/en
Publication of JPH06230954A publication Critical patent/JPH06230954A/en
Application granted granted Critical
Publication of JP3442421B2 publication Critical patent/JP3442421B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明はオブジェクト指向型のソ
フトウェア設計の支援方法に係り、特に状態遷移図やシ
ーケンスチャートやメッセージフロー図のように異なる
図形と文字列でそれぞれソフトウェアの異なる側面をあ
らわしたソフトウェア設計書の間で、あるいはこれらと
プログラムのように言語のみでソフトウェアをあらわし
たものとの間で整合性を検証できるようにすることによ
り、ソフトウェアの設計を容易にするオブジェクト指向
型ソフトウェア設計支援方法およびソフトウェアの異種
設計書・プログラム間の仕様検証方法に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an object-oriented software design support method, and in particular, different aspects of software are represented by different figures and character strings such as state transition diagrams, sequence charts and message flow diagrams. Object-oriented software design support that facilitates software design by making it possible to verify the consistency between software design documents or between these and software that is expressed only by language such as programs. The present invention relates to a method and a method for verifying specifications between different types of software and programs.

【0002】[0002]

【従来の技術】ソフトウェアの設計において、一般に最
初にプロトタイプを作成し、このプロトタイプの試用と
運用を通じて具体的な改善要求を得て、その改善要求を
もとに仕様変更と改良を行うスパイラル型ソフトウェア
設計が行われている。
2. Description of the Related Art Generally, in software design, a spiral type software that first creates a prototype, obtains a specific improvement request through trial and operation of this prototype, and changes specifications and improves based on the improvement request. The design is being done.

【0003】このスパイラル型ソフトウェア設計におい
て、繰り返し仕様変更を行うために仕様書(各種ソフト
ウェア設計書)とプログラムの乖離が従来から問題にな
っていた。従来からこの仕様書とプログラムの乖離を容
易に検証できる方法が求められていた。
In this spiral type software design, the deviation between the specifications (various software design documents) and the program has been a problem since the specifications are repeatedly changed. Conventionally, there has been a demand for a method that can easily verify the deviation between this specification and the program.

【0004】これに対して、プログラムと仕様書の記述
を一定の規則で厳格に定めた仕様記述方式が提案されて
いる。検証性が高い仕様記述方式として、代数的仕様や
LOTOSと呼ばれる通信プロトコルがあった。この代
数的仕様や通信プロトコルLOTOSによれば、仕様書
とプログラムの一貫性を検証できる可能性があり、記述
の矛盾性を自動的に判定できる利点を有する。
On the other hand, a specification description system has been proposed in which the description of the program and the specification is strictly defined by a certain rule. As a specification description method with high verifiability, there are algebraic specifications and a communication protocol called LOTOS. According to the algebraic specification and the communication protocol LOTOS, there is a possibility that the consistency between the specification and the program can be verified, and there is an advantage that the inconsistency of the description can be automatically determined.

【0005】[0005]

【発明が解決しようとする課題】しかしながら上記代数
的仕様やLOTOSを直接記述するには、一般に高度な
知識と熟練を要するため、記述した仕様の要求に対する
プログラムの合致性の検証が困難であり、設計者に十分
な教育を要する問題があった。
However, in order to directly describe the above algebraic specifications or LOTOS, generally high level knowledge and skill are required, and it is difficult to verify the conformity of the program with the requirements of the described specifications. There was a problem that required sufficient education for designers.

【0006】一方において、ソフトウェア設計書は利用
者に分かりやすくあることが必要なため、図表等を用い
たより理解容易なソフトウェア設計書が一般に用いられ
ている。
On the other hand, since it is necessary for the software design document to be easy for the user to understand, a software design document that uses a diagram or the like and is easier to understand is generally used.

【0007】しかし、この図表を用いたソフトウェア設
計書は、ソフトウェアの機能と構造と振る舞いの各側面
をそれぞれに記述しているため、各図面の図形や矢印等
の画素の意味が異なっており、図面同士あるいは図面と
プログラムを機械的に比較して検証することができなか
った。
However, since the software design document using this chart describes each side of the function, structure, and behavior of the software, the meaning of pixels such as figures and arrows in each drawing is different, It could not be verified by mechanically comparing drawings or drawings and programs.

【0008】このため、従来のソフトウェア設計では、
設計途中の仕様変更に対しては設計者が各種ソフトウェ
ア設計書をチェックしながらプログラムのコーディング
を進めるようにしていた。
Therefore, in the conventional software design,
For changes in specifications during design, designers proceeded with program coding while checking various software design documents.

【0009】しかし、大規模なソフトウェア設計では、
ソフトウェア設計書の数も多く、特にソースコードのコ
ーディング段階で設計書の変更に及ぶ問題点を発見する
場合が多く、このような場合に仕様変更に関連するすべ
ての設計書を変更することが困難であった。このため、
ソフトウェア間の整合性が低く、最終的にはソフトウェ
アを直接製作する者の頭脳に頼ってプログラム上で調整
していた。
However, in large-scale software design,
The number of software design documents is large, and it is often the case that problems that affect design document changes are found, especially in the stage of coding source code. In such cases, it is difficult to change all design documents related to specification changes. Met. For this reason,
The consistency between the software was low, and ultimately the brain of the person who directly made the software was used to make adjustments in the program.

【0010】このようなソフトウェア設計は、作業が困
難であるのみならず、第三者が客観的にプログラムの仕
様をチェックすることが困難であった。
Such software design is not only difficult to work, but also difficult for a third party to objectively check the program specifications.

【0011】そこで、本発明の目的は、図形等を用いて
ソフトウェアの異なる側面をあらわした異なる種類のソ
フトウェア設計書同士、あるいはこれらソフトウェア設
計書とプログラム自体の整合性を機械的に検証し、ソフ
トウェア設計・開発を容易にするオブジェクト指向型ソ
フトウェア設計支援方法と、異種ソフトウェア設計書お
よびプログラム相互間の仕様検証方法を提供することに
ある。
Therefore, an object of the present invention is to mechanically verify the consistency between different types of software design documents that represent different aspects of software using figures and the like, or the consistency between these software design documents and the program itself. An object is to provide an object-oriented software design support method that facilitates design / development, and a method of verifying specifications between different software design documents and programs.

【0012】[0012]

【課題を解決するための手段】上記目的を達成するため
に本発明によるオブジェクト型ソフトウェア設計支援方
法は、ソフトウェアを複数のオブジェクトによって構成
し、前記オブジェクト間の通信路と通信路上で送受され
るメッセージを示したメッセージフロー図と、前記各オ
ブジェクトの状態とメッセージの送受による状態の遷移
を示した状態遷移図と、前記オブジェクト間のメッセー
ジの送受を時間の経過に沿って示したシーケンスチャー
トとを含むソフトウェア設計書を作成し、これらソフト
ウェア設計書に基づいて各オブジェクトのメッセージと
メッセージの送受の手順を所定言語で記述したプログラ
ムを作成するようにしたオブジェクト指向型ソフトウェ
ア設計において、画素と文字列の入力を支援するエディ
タ部によって前記各ソフトウェア設計書を作成させ、前
記ソフトウェア設計書をコンピュータの画面上で参照さ
せながらプログラムを作成させ、次に前記ソフトウェア
設計書とプログラムの情報を図形情報と仕様情報とに分
離抽出するインタープリタ部によって前記ソフトウェア
設計書とプログラムの図形情報と仕様情報を抽出して記
憶部に格納し、次に検証部によって所定種類のソフトウ
ェア設計書あるいはプログラムの仕様情報を組み合わせ
てプロセス間の通信として検証対象を設定し、これを正
規化してプロセス間の整合性を検証し、次に検証結果表
示部によって検証結果をプログラム設計者にフィードバ
ックするようにしたことを特徴とするものである。
In order to achieve the above object, an object type software design support method according to the present invention comprises software composed of a plurality of objects, and a communication path between the objects and a message transmitted and received on the communication path. A message flow diagram showing the above, a state transition diagram showing the state of each of the objects and state transitions due to the sending and receiving of messages, and a sequence chart showing the sending and receiving of messages between the objects over time. Input of pixels and character strings in object-oriented software design that creates a software design document and creates a program that describes the message of each object and the procedure of message transmission and reception in a predetermined language based on these software design documents By the editor unit to support A software design document is created, a program is created while referencing the software design document on a computer screen, and then the software design document and program information are separated and extracted into graphic information and specification information by an interpreter unit. The software design document, the graphic information and the specification information of the program are extracted and stored in the storage unit, and then the verification unit combines the software design document of a predetermined type or the specification information of the program to set the verification target as communication between processes. It is characterized by normalizing this and verifying the consistency between processes, and then feeding back the verification result to the program designer by the verification result display section.

【0013】[0013]

【作用】本発明によるオブジェクト型ソフトウェア設計
支援方法によれば、エディタ部によってコンピュータ画
面上で各種ソフトウェア設計書を容易に作成できるとと
もに、作成されたソフトウェア設計書をコンピュータの
画面上で参照しながらプログラムを作成することができ
る。これにより、ソフトウェアの作成の最初の段階を容
易にすることができる。
According to the object type software design support method of the present invention, various software design documents can be easily created on the computer screen by the editor section, and the program can be created by referring to the created software design document on the computer screen. Can be created. This can facilitate the initial stage of software creation.

【0014】次にインタープリタ部により、図形混じり
のソフトウェア設計書の情報は図に固有な情報(図形情
報)と仕様に関する情報(仕様情報)とに分離されて抽
出される。図形情報はRepresentationと
いうデータ構造で、仕様情報はSemanticsとい
うデータ構造で記憶部に格納される。
Next, the interpreter unit separates and extracts the information of the software design document containing the graphics into the information unique to the drawing (graphic information) and the information about the specifications (specification information). The graphic information has a data structure called Representation, and the specification information has a data structure called Semantics and is stored in the storage unit.

【0015】所定種類のソフトウェア設計書の相互間あ
るいはプログラムの間で整合性を検証するときは、検証
部によって、検証されるソフトウェア設計書やプログラ
ムの仕様情報はそれぞれプロセスとみなされ、二つのプ
ロセスの整合性はその両プロセス間の通信プロトコルの
完全性に置き換えて評価される。
When verifying the consistency between predetermined types of software design documents or between programs, the verification unit regards the software design documents and the specification information of the programs to be verified as processes, and two processes Is evaluated by replacing the integrity of the communication protocol between the two processes.

【0016】上記インタープリタ部と記憶部と検証部の
作用の協働によって、異なる意味を有する図形や文字列
で現した異なる種類のソフトウェア設計書やプログラム
の整合性を機械的に検証することができる。
By the cooperation of the operations of the interpreter unit, the storage unit, and the verification unit, it is possible to mechanically verify the consistency of different types of software design documents or programs represented by figures or character strings having different meanings. .

【0017】さらに、この検証結果は、検証結果表示部
によってソフトウェア設計者にフィードバックされるの
で、仕様が変更されたときにソフトウェア設計者はプロ
グラムが正しく仕様変更に沿って作成されているか否か
を容易にチェックしながらプログラムを作成でき、プロ
グラム作成後は第三者が客観的にプログラムの正当性を
容易にチェックすることができ、全体としてプログラム
設計を容易にすることができる。
Further, since the verification result is fed back to the software designer by the verification result display section, when the specification is changed, the software designer can confirm whether or not the program is correctly created according to the specification change. A program can be created while checking easily, and after the program is created, a third party can objectively and easily check the correctness of the program, and the program design as a whole can be facilitated.

【0018】[0018]

【実施例】本発明の実施例について添付の図面を用いて
以下に説明する。
Embodiments of the present invention will be described below with reference to the accompanying drawings.

【0019】〔オブジェクト指向型ソフトウェア設計支
援方法 〕図1は、本発明によるオブジェクト指向型ソ
フトウェア設計支援方法によるソフトウェア設計の流れ
と、支援のためのシステムを示している。図1に示すよ
うに、オブジェクト指向型ソフトウェア設計では、ソフ
トウェアの目的(ステップ100)から概略のオブジェ
クトが構成される(ステップ110)。つぎにオブジェ
クトの機能と構造と振る舞いを規定する各種ソフトウェ
ア設計書、オブジェクトの動作・メッセージ等を記述し
たプログラム、要求実行例等が作成される(ステップ1
20)。
[Object-Oriented Software Design Support Method] FIG. 1 shows the flow of software design by the object-oriented software design support method according to the present invention, and a support system. As shown in FIG. 1, in object-oriented software design, a general object is constructed (step 110) from the purpose of the software (step 100). Next, various software design documents that define the functions, structures, and behaviors of the objects, programs that describe the operations / messages of the objects, request execution examples, etc. are created (step 1).
20).

【0020】上記オブジェクト指向型ソフトウェア設計
では、最初に簡単な成果物のプロトタイプを作成し、そ
のプロトタイプに対する改善要求に応じて機能を付加
し、あるいは修正するスパイラル型ソフトウェア設計が
広く行われている。
In the above object-oriented software design, a spiral software design is widely used in which a prototype of a simple work product is first created, and a function is added or modified according to an improvement request for the prototype.

【0021】しかし、スパイラル型ソフトウェア設計に
よれば、オブジェクトの構成を増減することや(ステッ
プ110)、各ソフトウェア設計書やプログラム自体を
変更させる(ステップ120)ことが頻繁に行われる。
However, according to the spiral type software design, the configuration of the object is increased or decreased (step 110) and each software design document or the program itself is changed (step 120).

【0022】本発明によるオブジェクト型ソフトウェア
設計支援方法は、ソフトウェア設計者が容易にソフトウ
ェア設計書、要求実行例、プログラムを記述し、仕様変
更が生じた場合に、ソフトウェア設計書、要求実行例、
プログラム相互間の整合性を検証し、検証結果をソフト
ウェア設計者に提供するものである。
In the object type software design support method according to the present invention, the software designer can easily describe the software design document, the requirement execution example, and the program, and when the specification is changed, the software design document, the requirement execution example,
It verifies the consistency between programs and provides the verification results to software designers.

【0023】本発明のソフトウェア設計支援方法は上記
目的を果たすために、支援システムとしてエディタ部1
と、インタープリタ部2と、記憶部3と、検証部4と、
検証結果表示部5とを有している。エディタ部1は種々
の描画機能と入力機能を備え、ソフトウェア設計書の作
図と文字入力、およびプログラムと要求実行例の入力を
容易にする(ステップ100乃至ステップ120)。注
意すべきはこのエディタ部1は、入力できる図形の画素
を限定すると共に、入力された画素を形状や位置に応じ
てその意味を判別できることである。
In order to achieve the above object, the software design support method of the present invention has an editor unit 1 as a support system.
An interpreter unit 2, a storage unit 3, a verification unit 4,
It has a verification result display unit 5. The editor unit 1 has various drawing functions and input functions, and facilitates drawing and character input of software design documents, and input of programs and request execution examples (steps 100 to 120). It should be noted that the editor unit 1 can limit the pixels of the graphic that can be input and can determine the meaning of the input pixel according to the shape and position.

【0024】インタープリタ部2は、記述されたソフト
ウェア設計書の図面に含まれる情報を図面情報と仕様情
報に分離して抽出する(ステップ130)。ここで、図
形情報とは、描かれた図形の種類や位置、あるいはフォ
ントの種類等である。仕様情報とは、クラスとクラスの
関係、メッセージの発信元と発信先、メッセージの順
序、メソッド、アトリビュート等である。また、プログ
ラムに関しては、プログラム中に記述されたメッセージ
式と動作を区別して抽出する。
The interpreter unit 2 separates and extracts the information included in the drawing of the described software design document into the drawing information and the specification information (step 130). Here, the graphic information is the type and position of the drawn figure, the type of font, or the like. The specification information includes a relationship between classes, a message source and a message destination, a message order, a method, an attribute, and the like. Also, regarding a program, the message expression described in the program and the operation are distinguished and extracted.

【0025】記憶部3は、Representatio
nというデータ構造とSemanticsというデータ
構造で、上記図形情報と仕様情報をそれぞれ記憶する
(ステップ140)。
The storage unit 3 is a Residentatio.
The graphic information and the specification information are stored in a data structure of n and a data structure of Semantics, respectively (step 140).

【0026】検証部4は所定種類のソフトウェア設計書
相互間、あるいはソフトウェア設計書と要求実行例ある
いはプログラムの仕様情報を取り出し、各仕様情報をそ
れぞれプロセスとみなし、二つのプロセスの整合性を両
プロセス間の通信プロトコルの完全性に置き換えて評価
する(ステップ140乃至ステップ150)。
The verification unit 4 takes out the specification information of a predetermined type of software design document, or between the software design document and the required execution example or the program, regards each specification information as a process, and confirms the consistency between the two processes. It is evaluated by replacing it with the integrity of the communication protocol between them (steps 140 to 150).

【0027】検証結果表示部5は検証結果をソフトウェ
ア設計者に表示する(ステップ150)。
The verification result display unit 5 displays the verification result to the software designer (step 150).

【0028】上記ソフトウェアの設計支援により、ソフ
トウェア設計者は形式的仕様記述のような特別な教育を
要することなくエディタ部1の種々の機能によって容易
にソフトウェア設計書とプログラムを作成することがで
きる。この場合、ソフトウェア設計書をプログラムを表
示する同一コンピュータ画面上で参照しながらコーディ
イングを行うことができることは利点が大きい。
With the above software design support, the software designer can easily create a software design document and a program by the various functions of the editor unit 1 without requiring special education such as formal specification description. In this case, there is a great advantage that the software design document can be coded while referring to the same computer screen displaying the program.

【0029】また、仕様変更が必要が生じたとき、仕様
変更をもっとも把握しやすいソフトウェア設計書あるい
はプログラムにおいて仕様を変更し、検証結果表示部5
によって各ソフトウェア設計書やプログラムの矛盾を検
知して修正を行なえば良い。この結果、ソフトウェアを
作成する者は正しいソフトウェア設計書を参照しながら
プログラムを作成でき、プログラムの作成が容易かつ正
確となる。また、作成されたプログラムは各ソフトウェ
ア設計書と整合性を有しているので、第三者が容易にプ
ログラムの正当性をチェックすることができる。
Further, when it becomes necessary to change the specification, the specification is changed in the software design document or the program that makes it easy to grasp the change in the specification, and the verification result display section 5
It is sufficient to detect inconsistencies in each software design document and program and correct it. As a result, the person who creates the software can create the program while referring to the correct software design document, and the creation of the program becomes easy and accurate. Moreover, since the created program is consistent with each software design document, a third party can easily check the validity of the program.

【0030】〔ソフトウェア設計書・プログラム間の仕
様検証方法〕次に各ソフトウェア設計書、プログラム間
の仕様の整合性の検証方法について以下に説明する。
[Specification Verification Method Between Software Design Document and Program] Next, a verification method of the specification consistency between each software design document and program will be described below.

【0031】仕様検証方法の説明に先立って、各ソフト
ウエア設計書およびプログラムとその仕様情報の抽出方
法について説明する。
Prior to the description of the specification verification method, a method of extracting each software design document and program and its specification information will be described.

【0032】(メッセージフロー図)図2はメッセージ
フロー図の一例を示している。図2において、メッセー
ジフロー図6はオブジェクト7,8(四角い枠で表現)
と、オブジェクト7,8間の通信路9(矢印で表現)
と、通信路9上で送受されるメッセージ10(文字列で
表現)とによって構成されている。
(Message Flow Diagram) FIG. 2 shows an example of a message flow diagram. In Figure 2, message flow Figure 6 shows objects 7 and 8 (represented by a square frame)
And the communication path 9 between the objects 7 and 8 (represented by an arrow)
And a message 10 (represented by a character string) transmitted and received on the communication path 9.

【0033】このメッセージフロー図6はエディタ部1
を介して記述されるが、エディタ部1は単なる図表描画
プログラムではなく、記述できる画素を四角い枠と矢印
とに限定し、さらに記述された位置と図形により何を表
しているのかを判別する。
This message flow is shown in FIG.
However, the editor unit 1 is not a simple figure drawing program, but limits the pixels that can be described to a square frame and an arrow, and further determines what is represented by the described position and figure.

【0034】例えば、四角が描かれた場合は、それがオ
ブジェクトを表すものと判別し、文字列が入力されてい
る場合は、四角の中に記述されていればオブジェクトの
名称を表し、矢印の周辺に記述されていればメッセージ
名を表すものと判別する。
For example, when a square is drawn, it is determined that it represents an object. When a character string is input, if it is written in the square, it represents the name of the object and the arrow If it is described in the vicinity, it is determined to represent the message name.

【0035】メッセージフロー図6からは、オブジェク
ト間に通信路9が存在し、通信路9によってメッセージ
10が送受されることが仕様情報として取り出される。
Message Flow From FIG. 6, it can be taken out as specification information that a communication path 9 exists between objects and a message 10 is transmitted and received by the communication path 9.

【0036】仕様情報は次のように表現される。オブジ
ェクト間に通信があることを表す通信関数γを用いてγ
(m,m′)=m″という式を生成する。メッセージが
どの通信路上のメッセージであるかを示すために、mi
ιに名前を付け換える。これは関数ρを用いて式(1
9)のように表現される。
The specification information is expressed as follows. Γ using the communication function γ that indicates that there is communication between objects
The expression (m, m ′) = m ″ is generated. In order to indicate which channel the message is on, m i
Rename ι . This is expressed by the formula (1
It is expressed as in 9).

【数20】 [Equation 20]

【0037】(C++プログラム)図3はプログラムの
一例としてC++によるプログラムを示している。C+
+プログラム11は、プログラムの実行にかかわるすべ
ての情報を含む。
(C ++ Program) FIG. 3 shows a C ++ program as an example of the program. C +
+ The program 11 includes all information related to the execution of the program.

【0038】一般にソフトウェアの機能は複数のオブジ
ェクトの協調動作により実現される。個々のオブジェク
トは処理の一部を別のオブジェクトに依頼して自己の機
能を実現する。あるメッセージが到達したときに、その
クラスのオブジェクトがどのように振る舞うかは、メッ
セージ関数中に記述されている。その記述中には、外部
にどのようなメッセージを送信するかに関する記述と、
外部からわからない内部アクションに関する記述とが含
まれている。プログラムの記述のどの部分がメッセージ
送信を表しているかは、従来の構文解析の手法を用いて
特定することができる。C++プログラムのプロセス
は、基本的には構文解析で得られたメッセージ名の羅列
という形で得られる。
Generally, the function of software is realized by the cooperative operation of a plurality of objects. Each object requests a part of processing to another object to realize its own function. How a class of objects behaves when a message arrives is described in the message function. In that description, a description about what kind of message is sent to the outside,
It includes a description of internal actions that cannot be understood from the outside. Which part of the program description represents message transmission can be specified using conventional parsing techniques. The process of a C ++ program is basically obtained in the form of a list of message names obtained by parsing.

【0039】ここで重要なのはプログラムがプログラム
の順序的実行(連接)、条件分岐(選択)、繰り返しと
いう実行制御の形態からなる構造を有していることであ
る。
What is important here is that the program has a structure which is in the form of execution control such as sequential execution (connection) of programs, conditional branching (selection), and repetition.

【0040】プログラムから仕様情報を抽出するには、
プログラムの構造を考慮して、次の形式でプロセス動作
式化を行なう(式9)。ここでp,p′,p″はプロセ
ス動作式、mi はメッセージ式を表す。
To extract the specification information from the program,
Considering the structure of the program, the process operation formula is performed in the following format (Formula 9). Here, p, p ', and p "are process operation expressions, and mi is a message expression.

【数21】 [Equation 21]

【0041】(状態遷移図)図4は状態遷移図の一例を
示している。状態遷移図12は、オブジェクトの初期状
態13(二重丸で表現)と遷移した状態14(一重丸で
表現)と、メッセージ15(文字列で表現)の送受によ
る状態の遷移16(矢印で表現)を示している。この状
態遷移図12もエディタ部1を介して記述され、画素が
判別されるのは前述の通りである。
(State Transition Diagram) FIG. 4 shows an example of the state transition diagram. The state transition diagram 12 shows an initial state 13 of an object (represented by a double circle), a transitioned state 14 (represented by a single circle), and a state transition 16 by transmitting and receiving a message 15 (represented by a character string) (represented by an arrow). ) Is shown. This state transition diagram 12 is also described via the editor unit 1, and the pixels are discriminated as described above.

【0042】状態遷移図において、遷移した状態に着目
すると、その遷移に遷移するには、所定の状態で所定の
メッセージを受け取った場合に限られる。例えば、図4
において、操作中の状態14になるためには、初期状態
13のときにGraspというメッセージ15が到着す
るか、あるいは操作中の状態14のときにManipu
latingというメッセージが到達する場合に限られ
る。
Focusing on the transitioned state in the state transition diagram, the transition to the transition is limited to the case where a predetermined message is received in a predetermined state. For example, in FIG.
In order to be in the operating state 14, the message 15 called Grasp arrives in the initial state 13 or the Manipu in the operating state 14.
Only when the message "lating" arrives.

【0043】すなわち、状態遷移図から仕様情報を抽出
するには、si を状態、m′ijを到着するメッセージと
して次の行列式(2)で表現することができる。
That is, in order to extract the specification information from the state transition diagram, s i can be represented by the state and m ′ ij can be expressed by the following determinant (2).

【数22】 [Equation 22]

【0044】状態間の遷移関係がない場合にはδで表
し、複数のメッセージで同一状態に遷移する場合もある
から、tは次の式(20)のように表される。
When there is no transition relation between states, it is represented by δ, and there are cases where transition to the same state is made by a plurality of messages. Therefore, t is represented by the following equation (20).

【数23】 [Equation 23]

【0045】式(20)は一つの状態遷移図につき一つ
作られる。一つのオブジェクトに対しては複数枚の状態
遷移図が描かれるので、一つのオブジェクトに対するす
べての状態遷移図から得られる式(2)から次式(3)
が構成される。
Expression (20) is created for each state transition diagram. Since multiple state transition diagrams are drawn for one object, the following equations (3) to (3) obtained from all state transition diagrams for one object
Is configured.

【数24】 [Equation 24]

【0046】(シーケンスチャート)図5と図6は、シ
ーケンスチャートの一例を示している。シーケンスチャ
ートは、プログラム実行のある局面でプログラム間でや
り取りされるメッセージを時間軸に沿って記述したもの
である。シーケンスチャート17にはオブジェクト18
a,18b,18cとオブジェクト18a,18b,1
8c間で送受されるメッセージ19が記述される。メッ
セージ19は発生する順番にオブジェクトの時間軸20
に沿って記述される。
(Sequence Chart) FIGS. 5 and 6 show an example of a sequence chart. The sequence chart describes the messages exchanged between programs at a certain stage of program execution along the time axis. The sequence chart 17 has an object 18
a, 18b, 18c and objects 18a, 18b, 1
The message 19 transmitted and received between 8c is described. The message 19 is generated in the order of occurrence and the time axis 20
It is described along with.

【0047】シーケンスチャート17はオブジェクト1
8間のメッセージ19のやり取りを示したものに過ぎな
いため、記述中に条件分岐、繰り返し等の制御構造は含
まれない。すなわち、シーケンスチャート17には、オ
ブジェクト18がどのような順番でメッセージを送受可
能な構造になっていなければならないかのみが示されて
いる。
Sequence chart 17 is object 1
Since it only shows the exchange of the message 19 between the eight, the description does not include control structures such as conditional branching and repetition. That is, the sequence chart 17 shows only in what order the objects 18 must have a structure capable of transmitting and receiving messages.

【0048】図5はオブジェクト18bのメッセージ受
信に注目している。オブジェクト18bが受信するメッ
セージei を一連のプロセスeとして表現するには、オ
ブジェクト18bの受信メッセージei を受信順に羅列
して式(1)を得る。
FIG. 5 focuses on the message reception of the object 18b. In order to express the messages e i received by the object 18b as a series of processes e, the received messages e i of the object 18b are listed in the order of reception to obtain Expression (1).

【数25】 [Equation 25]

【0049】図6はオブジェクト18aのメッセージ送
信に注目している。受信の場合と同様に、送信メッセー
ジを送信順に羅列した式によってシーケンスチャートの
仕様情報を抽出するができる。
FIG. 6 focuses on the message transmission of the object 18a. Similar to the case of reception, the specification information of the sequence chart can be extracted by the expression in which the transmission messages are listed in the transmission order.

【0050】次に各種ソフトウエア設計書相互間および
プログラムとの間の仕様検証の方法について説明する。
Next, a method of verifying specifications between various software design documents and between programs will be described.

【0051】(シーケンスチャートと状態遷移図の仕様
検証方法)図7はシーケンスチャートと状態遷移図の仕
様検証方法を示している。図7において、シーケンスチ
ャートの仕様情報として式(1)を得て記憶部3のシー
ケンスチャート用式格納部に格納する(ステップ20
0)。
(Specification Verification Method of Sequence Chart and State Transition Diagram) FIG. 7 shows a specification verification method of the sequence chart and state transition diagram. In FIG. 7, the formula (1) is obtained as the specification information of the sequence chart and stored in the sequence chart formula storage unit of the storage unit 3 (step 20).
0).

【数26】 [Equation 26]

【0052】一方、状態遷移図の仕様情報として状態遷
移図から式(3)を得て記憶部3の状態遷移図用式格納
部に格納する(ステップ210)。
On the other hand, the formula (3) is obtained from the state transition diagram as the specification information of the state transition diagram and stored in the state transition diagram formula storage unit of the storage unit 3 (step 210).

【数27】 [Equation 27]

【0053】次に上記式(1)と式(3)を通信路設定
部に呼び出し(ステップ220)、検証対象をプロセス
eからプロセスSへの通信と考え、この通信を式
(4)、式(5)、式(6)によって表す。
Next, the above equations (1) and (3) are called to the communication path setting unit (step 220), the verification target is considered to be the communication from the process e to the process S, and this communication is expressed by the formula (4) and the formula (4). This is represented by equation (5) and equation (6).

【数28】 [Equation 28]

【0054】[0054]

【数29】 [Equation 29]

【0055】[0055]

【数30】 [Equation 30]

【0056】次に通信を表す式(6)を単一のプロセス
の振る舞いの式、すなわち、通信を含まない式に変形す
る(ステップ230)。この場合、除去定理により公理
を用いて式(6)を並列と通信を含まない次式(7)に
変形することができるが明かである。
Next, the expression (6) representing the communication is transformed into an expression of the behavior of a single process, that is, an expression not including the communication (step 230). In this case, it is obvious that the elimination theorem can be used to transform the equation (6) into the following equation (7) which does not include parallelism and communication by using an axiom.

【数31】 [Equation 31]

【0057】式(7)の(a)項は入力仕様が正しく例
を満たしていることを表し、(b)項は初期状態に復帰
しない状態遷移に対応し、(c)項は途中で失敗する状
態遷移を表す。
The term (a) in the equation (7) indicates that the input specifications correctly satisfy the example, the term (b) corresponds to the state transition that does not return to the initial state, and the term (c) fails on the way. Represents the state transition to be performed.

【0058】このことにより、(a)項があるときは例
が仕様を満たし、(b)項と(c)項のみがあるときは
例の記述が不完全であり、(c)項のみがあるときは仕
様が例を満たさないという検証結果を得る(ステップ2
40)。
As a result, when the item (a) is present, the example satisfies the specifications, and when there are only the items (b) and (c), the description of the example is incomplete, and only the item (c) is obtained. In some cases, the verification result that the specification does not satisfy the example is obtained (step 2
40).

【0059】この検証結果は検証結果表示部5によって
ソフトウェアを製作する者に示される(ステップ25
0)。
The verification result is displayed by the verification result display section 5 to the person who manufactures the software (step 25).
0).

【0060】(シーケンスチャートとプログラムの仕様
検証方法)図8はシーケンスチャートとプログラムの仕
様検証方法を示している。シーケンスチャート中の一オ
ブジェクトのメッセージ受信に注目して次式(8)を得
て、シーケンスチャート用式格納部に格納する(ステッ
プ300)。
(Sequence Chart and Program Specification Verification Method) FIG. 8 shows a sequence chart and program specification verification method. Focusing on the message reception of one object in the sequence chart, the following expression (8) is obtained and stored in the expression storage unit for sequence chart (step 300).

【数32】 [Equation 32]

【0061】一方、先に説明した方法によりプログラム
からプロセス動作式(9)を得て、プログラムコード用
式格納部に格納する(ステップ310)。
On the other hand, the process operation expression (9) is obtained from the program by the method described above and stored in the program code expression storage section (step 310).

【数33】 [Expression 33]

【0062】次に式(8)と式(9)とを検証対象設定
部に呼び出し(ステップ320)、検証対象をプロセス
e′からプロセスpへの通信と考えて、この通信を次の
式(10)、式(11)、式(12)によって表す。
Next, the expressions (8) and (9) are called to the verification target setting unit (step 320), and the verification target is considered to be the communication from the process e'to the process p. 10), equation (11), and equation (12).

【数34】 [Equation 34]

【0063】[0063]

【数35】 [Equation 35]

【0064】[0064]

【数36】 [Equation 36]

【0065】次に通信を表す式(12)を単一プロセス
の振る舞いの式、すなわち、通信を含まない式に変形す
る(ステップ330)。変形結果は次式(13)のよう
になる。
Next, the expression (12) representing the communication is transformed into the expression of the behavior of the single process, that is, the expression not including the communication (step 330). The transformation result is as in the following equation (13).

【数37】 [Equation 37]

【0066】式(13)の(a)項および(a’)項は
動作仕様が正しく例を満たしていることを表し、(b)
項は途中で失敗する動作を表わす。
The terms (a) and (a ') of the equation (13) indicate that the operation specifications correctly satisfy the example, and (b)
The term represents an operation that fails on the way.

【0067】これにより、(a)項および(a’)項が
あるときは仕様が例を満たし、(b)項のみがあるとき
は仕様が例を満たさないという検証結果を得る(ステッ
プ340)。
As a result, a verification result is obtained that the specification satisfies the example when there are the terms (a) and (a ′), and does not satisfy the example when there is only the term (b) (step 340). .

【0068】検証結果は検証結果表示部5によってソフ
トウェアを製作する者に示される(ステップ350)。
The verification result is shown to the person who manufactures the software by the verification result display section 5 (step 350).

【0069】(状態遷移図とプログラムとメッセージフ
ロー図の仕様検証方法)図9は状態遷移図とプログラム
とメッセージフロー図を含めた仕様とプログラムの検証
方法を示している。
(Specification Verification Method of State Transition Diagram, Program and Message Flow Diagram) FIG. 9 shows a specification and program verification method including the state transition diagram, program and message flow diagram.

【0070】この仕様検証方法では、まず遷移状態図か
ら得た式(3)とプログラムから得た式(9)を合成し
てオブジェクトの動作式を作成する(ステップ42
0)。合成の方法は、最初に受信メッセージとプログラ
ムのメソッドの合成を行ない、次に状態遷移とメソッド
の合成を行ない、次にオブジェクトの動作式の合成を行
なう。
In this specification verification method, first, the equation (3) obtained from the transition state diagram and the equation (9) obtained from the program are combined to create the action equation of the object (step 42).
0). In the method of composition, first, the received message and the method of the program are composed, then the state transition and the method are composed, and then the behavioral expression of the object is composed.

【0071】受信メッセージとメソッドを合成するに
は、オブジェクトがメッセージm′iを受信して式
(9)のメソッドpi を生じることを考慮して、このメ
ッセージ受信とメソッドの起動の関係を次式(14)の
ように表す。
[0071] To synthesize the received message and methods, objects Considering that cause method p i of Equation (9) receives a message m 'i, following the relationship activation of the message received and Methods It is expressed as in Expression (14).

【数38】 [Equation 38]

【0072】次に状態遷移とメソッドを合成するには、
状態遷移図から得られた式(3)の各si が式中に複数
のm′i を含むことを考慮して、si の式中に現われる
各m′i をm′i ・pi に置き換える。置き換えた新し
い式をs′とする。
Next, to synthesize the state transition and the method,
Considering that each s i of the equation (3) obtained from the state transition diagram includes a plurality of m ′ i in the equation, each m ′ i appearing in the equation of s i is represented by m ′ i · p i. Replace with. Let the replaced new expression be s'.

【0073】次にオブジェクト動作式を合成するには、
各si が一つのオブジェクトが受信できるメッセージの
集合の部分集合であることを考慮し、オブジェクトが受
信でき、かつ、どのsi にも含まれない受信メッセージ
を{m′k ,…,m′m }とすると、オブジェクトの動
作は次式(15)によって表すことができる。
Next, to synthesize the object action expression,
Considering that each s i is a subset of the set of messages that one object can receive, the received messages that the object can receive and are not included in any s i are {m ′ k , ..., M ′. m }, the motion of the object can be expressed by the following equation (15).

【数39】 [Formula 39]

【0074】上述したメッセージフロー図から仕様情報
を抽出する方法により、通信に関わるオブジェクトの集
合obj1 ,…,objιと関数γ,ρを得ることがで
きる。まず、関数ρを用いてobji のメッセージ名を
次のように変更する。各obji の動作を表す式(1
5)において、各mi をρobji(mi )で置き換える。
By the method of extracting the specification information from the message flow diagram described above, a set of objects obj 1 , ..., Obj ι related to communication and functions γ and ρ can be obtained. First, the message name of obj i is changed as follows using the function ρ. Expression (1 representing the operation of each obj i
In 5), replace each m i with ρ obji (m i ).

【0075】このとき、オブジェクト間の通信は次式で
表される(ステップ440)。
At this time, communication between objects is expressed by the following equation (step 440).

【数40】 [Formula 40]

【0076】式(16)を単一プロセスの振る舞いの式
(通信を含まない式)に変形する(ステップ450)。
変形の結果は次式(17)のような形を有している。
Expression (16) is transformed into an expression of behavior of a single process (expression not including communication) (step 450).
The result of the deformation has the form of the following expression (17).

【数41】 [Formula 41]

【0077】ここでtij,uk (1=<i,j,k=<
n)は下式(18)に示す式である。
Where t ij and u k (1 = <i, j, k = <
n) is a formula shown in the following formula (18).

【0078】[0078]

【数42】 式(18)において、すべてのtij,uk が(a)式あ
るいは(c)式の形であるときは通信が正しく行なわれ
ていることを示ている。あるtij,uk が(b)式の形
を含み、かつ、すべてのδを含む項中にm″i * ・…・
δの形の列が出現するとき、通信路の記述が不完全であ
るを示している。。これら以外の場合は、通信に誤りが
あることを示している(ステップ460)。
[Equation 42] In the equation (18), when all t ij and u k are in the form of the equation (a) or the equation (c), it indicates that the communication is performed correctly. Some t ij , u k include the form of the equation (b), and m ″ i * ...
When a sequence of the form δ appears, it indicates that the description of the communication path is incomplete. . Any other case indicates that there is an error in communication (step 460).

【0079】検証結果は検証結果表示部5によってソフ
トウェアを製作する者に示される(ステップ470)。
The verification result is shown by the verification result display section 5 to the person who manufactures the software (step 470).

【0080】[0080]

【発明の効果】上記の説明から明らかなように本発明の
オブジェクト指向型ソフトウェア設計支援方法と異種設
計書・プログラム間の仕様検証方法によれば、異種のソ
フトウェア設計書・プログラムの仕様情報を抽出し、ソ
フトウェア設計書・プログラムをそれぞれ一連のプロセ
スとみなし、検証対象をそれらプロセス間の通信と考
え、この通信を表す式を単一プロセスの振る舞いの式に
変形することにより、異種のソフトウェア設計書・プロ
グラムの整合性を検証することができる。
As is apparent from the above description, according to the object-oriented software design support method and the specification verification method between different kinds of design documents / programs of the present invention, specification information of different kinds of software design documents / programs is extracted. However, by considering each software design document / program as a series of processes, considering the verification target as the communication between these processes, and transforming the expression expressing this communication into the expression of the behavior of a single process, -The integrity of the program can be verified.

【0081】このように異種のソフトウェア設計書・プ
ログラム間で仕様の整合性を検証できることにより、プ
ログラム作成時に、上記検証方法による検証結果をプロ
グラム作成者に表示することにより、プログラムの作成
を正確かつ容易にすることができる。また、ソフトウェ
ア設計書とプログラムが整合していることにより、プロ
グラム作成後に第三者がプログラムの正当性を容易にチ
ェックすることもできる。
By thus verifying the consistency of specifications between different types of software design documents and programs, by displaying the verification results obtained by the above verification method to the program creator during program creation, the program creation can be performed accurately. Can be easy. In addition, since the software design document and the program match, a third party can easily check the legitimacy of the program after the program is created.

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

【図1】本発明によるオブジェクト指向型ソフトウェア
の設計支援方法の構成とソフトウェア作成の流れを示し
た図。
FIG. 1 is a diagram showing a configuration of an object-oriented software design support method according to the present invention and a flow of software creation.

【図2】メッセージフローを例示した図。FIG. 2 is a diagram exemplifying a message flow.

【図3】プログラムを例示した図。FIG. 3 is a diagram illustrating a program.

【図4】状態遷移図を例示した図。FIG. 4 is a diagram illustrating a state transition diagram.

【図5】シーケンスチャートを例示した図。FIG. 5 is a diagram illustrating a sequence chart.

【図6】シーケンスチャートを例示した図。FIG. 6 is a diagram illustrating a sequence chart.

【図7】シーケンスチャートと状態遷移図の整合性を検
証する仕様検証方法を説明した図。
FIG. 7 is a diagram illustrating a specification verification method for verifying the consistency between a sequence chart and a state transition diagram.

【図8】シーケンスチャートとプログラムの整合性を検
証する仕様検証方法を説明した図。
FIG. 8 is a diagram illustrating a specification verification method for verifying the consistency between a sequence chart and a program.

【図9】状態遷移図とメッセージフロー図とプログラム
の整合性を検証する仕様検証方法を説明した図。
FIG. 9 is a diagram illustrating a specification verification method for verifying the consistency of a state transition diagram, a message flow diagram, and a program.

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

1 エディタ部 2 インタープリタ部 3 記憶部3 4 検証部 5 検証結果表示部 6 メッセージフロー図 11 プログラム 12 状態遷移図 17 シーケンスチャート 1 editor section 2 interpreter section 3 storage unit 3 4 Verification Department 5 Verification result display section 6 Message flow diagram 11 programs 12 State transition diagram 17 Sequence chart

フロントページの続き (72)発明者 深 沢 栄 二 東京都町田市三輪緑山1−22−4 (72)発明者 中 村 博 之 神奈川県横浜市鶴見区東寺尾5−9−17 (72)発明者 清 野 龍 介 神奈川県横浜市保土ヶ谷区岩井町122− 1 クイーンハイツ保土ヶ谷803 (72)発明者 長谷川 隆 神奈川県厚木市毛利台2−24−9 (72)発明者 篠 原 健 東京都町田市三輪緑山3−6−6 (56)参考文献 特開 平4−160432(JP,A) 特開 平4−333978(JP,A) 特開 平3−90934(JP,A) 特開 平4−75133(JP,A) 特開 平4−75136(JP,A) 特開 平6−274335(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 9/44 Front page continued (72) Inventor Eiji Fukazawa 1-22-4 Miwa Midoriyama, Machida City, Tokyo (72) Inventor Hiroyuki Nakamura 5-9-17 Higashiterao, Tsurumi-ku, Yokohama-shi, Kanagawa (72) Invention Ryosuke Kiyono 122-1 Iwaii, Hodogaya-ku, Yokohama-shi, Kanagawa 2-1 Queen Heights Hodogaya 803 (72) Inventor Takashi Hasegawa 2-24-9 Mohridai, Atsugi-shi, Kanagawa Ken 72 Shinohara Ken Machida-shi, Tokyo Miwa Midoriyama 3-6-6 (56) Reference JP 4-160432 (JP, A) JP 4-333978 (JP, A) JP 3-90934 (JP, A) JP 4- 75133 (JP, A) JP 4-75136 (JP, A) JP 6-274335 (JP, A) (58) Fields investigated (Int. Cl. 7 , DB name) G06F 9/44

Claims (4)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】ソフトウェアを複数のオブジェクトによっ
て構成し、前記オブジェクト間の通信路と通信路上で送
受されるメッセージを示したメッセージフロー図と、前
記各オブジェクトの状態とメッセージの送受による状態
の遷移を示した状態遷移図と、前記オブジェクト間のメ
ッセージの送受を時間の経過に沿って示したシーケンス
チャートとを含むソフトウェア設計書を作成し、これら
ソフトウェア設計書に基づいて各オブジェクトのメッセ
ージとメッセージの送受の手順を所定言語で記述したプ
ログラムを作成するようにしたオブジェクト指向型ソフ
トウェア設計において、 画素と文字列の入力を支援するエディタ部によって前記
各ソフトウェア設計書を作成させ、前記ソフトウェア設
計書をコンピュータの画面上で参照させながらプログラ
ムを作成させ、次に前記ソフトウェア設計書とプログラ
ムの情報を図形情報と仕様情報とに分離抽出するインタ
ープリタ部によって前記ソフトウェア設計書とプログラ
ムの図形情報と仕様情報を抽出して記憶部に格納し、次
に検証部によって所定種類のソフトウェア設計書あるい
はプログラムの仕様情報を組み合わせてプロセス間の通
信として検証対象を設定し、これを正規化してプロセス
間の整合性を検証し、次に検証結果表示部によって検証
結果をプログラム設計者にフィードバックするようにし
たことを特徴とするオブジェクト指向型ソフトウェア設
計支援方法。
1. A message flow diagram showing a communication path between the objects and messages transmitted and received on the communication path, and a state of each object and a state transition due to transmission and reception of the message. A software design document including a state transition diagram shown and a sequence chart showing transmission and reception of messages between the objects is created, and messages of each object and transmission and reception of messages based on the software design documents are created. In an object-oriented software design that creates a program that describes the procedure in a prescribed language, each software design document is created by an editor unit that supports input of pixels and character strings, and the software design document is created by a computer. While referring to it on the screen Program and then the software design document and program information are separated and extracted into graphic information and specification information by an interpreter unit, which extracts the software design document and program graphic information and specification information and stores them in a storage unit. Then, the verification unit combines the software design documents of a predetermined type or program specification information to set the verification target as communication between processes, normalizes this and verifies the consistency between processes, and then displays the verification result. An object-oriented software design support method characterized in that a verification result is fed back to a program designer by a department.
【請求項2】ソフトウェアを複数のオブジェクトによっ
て構成し、前記各オブジェクトの状態とメッセージの送
受による状態の遷移を示した状態遷移図と、前記オブジ
ェクト間のメッセージの送受を時間の経過に沿って示し
たシーケンスチャートとを含むソフトウェア設計書を作
成し、これらソフトウェア設計書に基づいて各オブジェ
クトのメッセージとメッセージの送受の手順を所定言語
で記述したプログラムを作成するようにしたオブジェク
ト指向型ソフトウェア設計において、 前記シーケンスチャートから、一オブジェクトが送信あ
るいは受信する一連のメッセージをプロセスe、全メッ
セージの集合をMとするとともに、 【数1】 前記状態遷移図から、オブジェクトが所定の状態に遷移
するのに必要なメッセージと遷移前の状態の集合をプロ
セスSとし、 【数2】 検証対象をプロセスeからプロセスSへの通信とみなし
て、隠蔽されるプロセスの集合Hと通信関数γと隠蔽オ
ペレータЭH とによって通信を表し、 【数3】 【数4】 【数5】 通信を示すЭH (e‖S)を通信を含まない単一プロセ
スの振る舞いの式Э’H (e‖S)に変形し、 【数6】 振る舞いの式Э’H (e‖S)の項を調べることによ
り、シーケンスチャートと状態遷移図の仕様上の整合性
を検証する仕様検証方法。
2. A software comprising a plurality of objects, the state transition diagram showing the state of each of the objects and the state transition by sending and receiving messages, and showing the sending and receiving of messages between the objects over time. In the object-oriented software design, which creates a software design document including a sequence chart and a program that describes the message of each object and the procedure of message transmission and reception in a predetermined language based on these software design documents, From the sequence chart, let a process e be a series of messages transmitted or received by one object, and let M be a set of all messages. From the above state transition diagram, a set of a message necessary for an object to transition to a predetermined state and a state before transition is defined as a process S, and The verification target is regarded as the communication from the process e to the process S, and the communication is represented by a set H of hidden processes, a communication function γ, and a hidden operator ΦH, and [Equation 4] [Equation 5] Э H (e‖S) indicating communication is transformed into the expression Э'H (e‖S) of the behavior of a single process that does not include communication, and A specification verification method that verifies the consistency of the specifications of the sequence chart and the state transition diagram by examining the terms of the behavior formula Э ' H (e | S).
【請求項3】ソフトウェアを複数のオブジェクトによっ
て構成し、前記オブジェクト間のメッセージの送受を時
間の経過に沿って示したシーケンスチャートとを含むソ
フトウェア設計書を作成し、前記ソフトウェア設計書に
基づいて各オブジェクトのメッセージとメッセージの送
受の手順を所定言語で記述したプログラムを作成するよ
うにしたオブジェクト指向型ソフトウェア設計におい
て、 前記シーケンスチャートから、一オブジェクトが受信す
る一連のメッセージをプロセスe′、全メッセージの集
合をM′とするとともに、 【数7】 前記プログラムを構文解析によって送信メッセージを抽
出し、この送信メッセージをプログラムの処理構造に応
じてメッセージと選択と連接と繰り返しからなるプロセ
ス動作式pに変換し、 【数8】 検証対象をプロセスe′からプロセス動作式pへの通信
とみなして、隠蔽されるプロセスの集合Hと通信関数γ
と隠蔽オペレータЭH とによって通信を表し、 【数9】 【数10】 【数11】 通信を示すЭH (e′‖p)を通信を含まない単一プロ
セスの振る舞いの式Э’H (e′‖p)に変形し、 【数12】 振る舞いの式Э’H (e′‖p)の項を調べることによ
り、シーケンスチャートとプログラムの仕様上の整合性
を検証する仕様検証方法。
3. Software comprising a plurality of objects, and a software design document including a sequence chart showing transmission / reception of messages between the objects over time is created, and each software design document is created based on the software design document. In an object-oriented software design that creates a program in which a message of an object and a procedure for sending and receiving the message are written in a predetermined language, a series of messages received by one object from the sequence chart are processed by a process e ′ and all messages. Let M ′ be the set, and A transmission message is extracted by parsing the program, and the transmission message is converted into a process operation expression p consisting of a message, selection, connection, and repetition according to the processing structure of the program. The verification target is regarded as the communication from the process e ′ to the process operation expression p, and the set H of hidden processes and the communication function γ
And the concealment operator Э H represent communication, and [Equation 10] [Equation 11] Э H (e′‖p) indicating communication is transformed into the expression Э ′ H (e′‖p) of the behavior of a single process that does not include communication, and A specification verification method that verifies the consistency of the specifications of the sequence chart and the program by examining the terms of the behavioral formula Э ' H (e'‖p).
【請求項4】ソフトウェアを複数のオブジェクトによっ
て構成し、前記オブジェクト間の通信路と通信路上で送
受されるメッセージを示したメッセージフロー図と、前
記各オブジェクトの状態とメッセージの送受による状態
の遷移を示した状態遷移図と、前記オブジェクト間のメ
ッセージの送受を時間の経過に沿って示したシーケンス
チャートとを含むソフトウェア設計書を作成し、これら
ソフトウェア設計書に基づいて各オブジェクトのメッセ
ージとメッセージの送受の手順を所定言語で記述したプ
ログラムを作成するようにしたオブジェクト指向型ソフ
トウェア設計において、 前記状態遷移図から、オブジェクトが所定の状態に遷移
するのに必要なメッセージと遷移前の状態の集合をプロ
セスSとし、 【数13】 前記プログラムを構文解析によって送信メッセージを抽
出し、この送信メッセージをプログラムの処理構造に応
じてメッセージと選択と連接と繰り返しからなるプロセ
ス動作式pに変換し、 【数14】 オブジェクトがメッセージm′i を受けて動作pを起こ
すとすると、このメッセージと動作の関係をm′i ・p
i で表し、前記プロセスSの各構成要素sをm′i ・p
i で置き換えてs’とするとともに、オブジェクトが受
信できて、かつ、どのsにも属しない受信メッセージを
{m′k ,…,m′m }として、オブジェクトの動作式
objを生成し、 【数15】 次に前記メッセージフロー図において、オブジェクトの
集合obj1 ,…,objιと、オブジェクト間に通信
路が存在してメッセージmが送受されていることを示す
通信関数γ(m,m′)=m″と、メッセージmi がど
の通信路のメッセージかを示す関数ρとを生成し、 【数16】 式(15)の各m′i を関数ρobji(mi )で置き換え
てobj’とし、オブジェクト間の通信ЭH を次式で表
し、 【数17】 次に通信ЭH (obj’1 ‖obj’2 ‖…‖obj’
ι)を通信を含まない単一プロセスの振る舞いを示す次
式に変形し、 【数18】 上記式(17)の各構成要素tij,uk (1=<i,j,k
=<n )を次のように表し、 【数19】 上記tij,uk の形を調べることにより、状態遷移図と
メッセージフロー図とプログラムの仕様上の整合性を検
証する仕様検証方法。
4. Software comprising a plurality of objects, a message flow diagram showing a communication path between the objects and a message sent and received on the communication path, and a state of each object and a state transition by sending and receiving a message. A software design document including a state transition diagram shown and a sequence chart showing transmission and reception of messages between the objects is created, and messages of each object and transmission and reception of messages based on the software design documents are created. In an object-oriented software design that creates a program that describes the procedure in a predetermined language, from the state transition diagram, process a set of messages required for the object to transition to a predetermined state and the state before the transition. Let S be A transmission message is extracted by parsing the program, and the transmission message is converted into a process operation expression p consisting of a message, selection, connection and repetition according to the processing structure of the program, 'If you take action p in response to the i, the relationship between the message and the operation m' object message m i · p
i , each component s of the process S is represented by m ′ i · p
i is replaced by i to be s', and the received message that can be received by the object and does not belong to any s is set as { m'k , ..., m'm }, and the action expression obj of the object is generated. Number 15] Next, in the message flow diagram, a set of objects obj 1 , ..., Obj ι and a communication function γ (m, m ′) = m indicating that a communication path exists between the objects and a message m is transmitted and received. ″ And a function ρ indicating which channel the message m i is a message of, and Replacing each m ′ i of the equation (15) with the function ρ obji (m i ) to obtain obj ′, the communication ΦH between objects is represented by the following equation, and Next, communication Э H (obj ' 1 ‖obj' 2 ‖… ‖obj '
ι ) is transformed into the following equation that shows the behavior of a single process that does not include communication, and Each component t ij , u k (1 = <i, j, k of the above equation (17)
= <N) is expressed as follows, A specification verification method for verifying the consistency of the state transition diagram, the message flow diagram, and the program specifications by examining the forms of t ij and u k .
JP03932993A 1993-02-03 1993-02-03 Object-oriented software design support method and method for verifying specifications between different types of software design documents and programs Expired - Lifetime JP3442421B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP03932993A JP3442421B2 (en) 1993-02-03 1993-02-03 Object-oriented software design support method and method for verifying specifications between different types of software design documents and programs

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP03932993A JP3442421B2 (en) 1993-02-03 1993-02-03 Object-oriented software design support method and method for verifying specifications between different types of software design documents and programs

Publications (2)

Publication Number Publication Date
JPH06230954A JPH06230954A (en) 1994-08-19
JP3442421B2 true JP3442421B2 (en) 2003-09-02

Family

ID=12550064

Family Applications (1)

Application Number Title Priority Date Filing Date
JP03932993A Expired - Lifetime JP3442421B2 (en) 1993-02-03 1993-02-03 Object-oriented software design support method and method for verifying specifications between different types of software design documents and programs

Country Status (1)

Country Link
JP (1) JP3442421B2 (en)

Also Published As

Publication number Publication date
JPH06230954A (en) 1994-08-19

Similar Documents

Publication Publication Date Title
US10810365B2 (en) Workflow system and method for creating, distributing and publishing content
US20100179962A1 (en) Methods and Systems for Intelligent Form-Filling and Electronic Document Generation
US7451393B1 (en) System and method for a page rendering framework
JP2004535606A (en) Method and apparatus for synchronizing user interface elements displayed on a client and software application components executing on a web server
US9854109B2 (en) Document output processing
JP2020067976A (en) Model generation device
US7058582B2 (en) Method for performing programming by plain text requests
US10984184B2 (en) Maintenance of a metafile using spreadsheet software
CN111459460B (en) Service data processing method and system
JP3442421B2 (en) Object-oriented software design support method and method for verifying specifications between different types of software design documents and programs
CN117193745A (en) Application development method and device combining assembly and large language model
US7577904B1 (en) Definition and distribution of business rules while enforcing syntactic and semantic validation
US20030195879A1 (en) Data collection technology useful for form manipulation
US6266806B1 (en) Object oriented monitor displaying interactions among objects in square matrix with an object designated in first column and additional column(s) for interacting objects
US7827504B2 (en) Methods and apparatus for generating an executable file from a use case
US20030154252A1 (en) Data processing method, program, and information processor
CN112100187A (en) Student learning data storage method and device based on VueJS
JP7503700B1 (en) Apparatus, method and program for creating technical documentation for software
CN116028038B (en) Visual pipeline arrangement method based on DAG chart and related components
EP0410062B1 (en) Dynamic selection of logical element data format
JP2007304778A (en) Test method for program, program, test device and application development system
EP2074526A2 (en) Methods and apparatus for generating an executable file from a use case
CN114217781A (en) Form development method and system based on visualization engine
CN114092685A (en) Method and device for generating stylus printing bill, computer equipment and storage medium
CN114996539A (en) Information processing method, device and equipment

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080620

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090620

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100620

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100620

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110620

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110620

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120620

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130620

Year of fee payment: 10

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130620

Year of fee payment: 10