JP2000267898A - Program execution history recorder and recording medium - Google Patents

Program execution history recorder and recording medium

Info

Publication number
JP2000267898A
JP2000267898A JP11076013A JP7601399A JP2000267898A JP 2000267898 A JP2000267898 A JP 2000267898A JP 11076013 A JP11076013 A JP 11076013A JP 7601399 A JP7601399 A JP 7601399A JP 2000267898 A JP2000267898 A JP 2000267898A
Authority
JP
Japan
Prior art keywords
scenario
sub
history recording
execution history
program
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
JP11076013A
Other languages
Japanese (ja)
Inventor
Tomohiro Nomizo
朋弘 野溝
Kenji Shibata
健志 柴田
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.)
Denso Corp
Original Assignee
Denso 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 Denso Corp filed Critical Denso Corp
Priority to JP11076013A priority Critical patent/JP2000267898A/en
Publication of JP2000267898A publication Critical patent/JP2000267898A/en
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

PROBLEM TO BE SOLVED: To make an MSC in which a hierarchical structure on design philosophy is shown correspond to execution history by considering the hierarchical structure on the design philosophy of an object-oriented programming and recording the execution history. SOLUTION: An ID correspondence table preparing block 11a prepares an ID correspondence table where an object, a method and an identification number are made to correspond to one another from object information 22. A probe embedding block 11b embeds a probe into a source program 21 on the basis of the ID correspondence table. Then, an execution history recording block 11e executes a program which becomes an execution format in a compile block 11c and into which the probe is embedded and also records execution history obtained by considering a hierarchical structure owned by a scenario on the basis of sub scenario information in scenario information 23 converted into an identification number by a scenario information conversion block 11d.

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は、オブジェクト指向
プログラムの実行履歴を記録する技術に関する。
The present invention relates to a technique for recording the execution history of an object-oriented program.

【0002】[0002]

【従来の技術】近年、プログラムの再利用を目的として
オブジェクト指向プログラミングが提案され、実現され
ている。オブジェクト指向とは、人間が行動するときの
如く操作対象に注目して仕事を進めるという考え方を、
コンピュータシステムにモデル化したものであり、この
オブジェクト指向のプログラミングでは、プログラムの
処理を、オブジェクトという単位で考える。
2. Description of the Related Art In recent years, object-oriented programming has been proposed and implemented for the purpose of reusing programs. Object-oriented refers to the idea of proceeding with work focusing on the operation target as when a human is acting.
It is modeled on a computer system. In this object-oriented programming, the processing of a program is considered in units of objects.

【0003】すなわち、オブジェクトは、データとその
データを処理する手続きであるプログラム(以下「メソ
ッド」という。)とを一まとめにしたソフトウェアモジ
ュールであり、オブジェクト指向のプログラミングで
は、プログラムの全機能を部品毎などの単位機能毎に細
分化して、その単位機能毎にオブジェクトを用意する。
そして、オブジェクト指向のプログラミングでは、オブ
ジェクト間でのメッセージの送受、いわゆるオブジェク
ト間メッセージ通信の考え方を利用して、各オブジェク
トが結合される。
[0003] In other words, an object is a software module in which data and a program (hereinafter, referred to as a "method") that is a procedure for processing the data are grouped together. In object-oriented programming, all functions of the program are implemented as components. An object is prepared for each unit function such as each unit.
Then, in the object-oriented programming, each object is connected using the concept of message transmission and reception between objects, that is, so-called message communication between objects.

【0004】なお、以下の説明において、「オブジェク
トが…する。」や「オブジェクトは…する。」といった
オブジェクトを主語とした動作表現は、実際には、コン
ピュータシステムの備えるCPUがオブジェクトに従っ
て動作する(換言すれば、CPUがオブジェクトのメソ
ッドを実行する)ことで実現されることを示している。
また、「オブジェクトが動作する」とは、コンピュータ
システムのCPUが、そのオブジェクトのメソッドを実
行することを示している。
[0004] In the following description, an operation expression using an object as a subject such as "the object ..." or "the object ..." is actually operated by the CPU of the computer system according to the object ( In other words, this is realized by the CPU executing the method of the object).
Further, “the object operates” indicates that the CPU of the computer system executes the method of the object.

【0005】上述したように処理手順であるメソッド
と、処理対象であるデータとを一まとめに(カプセル
化)することによって、プログラムの作成にあたり、オ
ブジェクト単位の再利用を可能としている。したがっ
て、各オブジェクトによって単位機能が実現される前提
の下で、オブジェクト指向のプログラム設計は、オブジ
ェクト間でのメッセージの送受によるオブジェクトの結
合を設計することとなる。オブジェクト指向のプログラ
ミング設計においては、図12に示すようなメッセージ
シーケンスチャート(以下「MSC」と記述する。)を
用いた設計が行われるのが一般的である。
As described above, by encapsulating (encapsulating) a method as a processing procedure and data to be processed, it is possible to reuse an object in creating a program. Therefore, on the premise that the unit function is realized by each object, the object-oriented program design is to design the connection of objects by sending and receiving messages between objects. In the object-oriented programming design, a design using a message sequence chart (hereinafter referred to as “MSC”) as shown in FIG. 12 is generally performed.

【0006】図12に示したMSCは、4つのオブジェ
クトObj1,Obj2,Obj3,Obj4の結合を
示している。MSCは、オブジェクトを縦線で示すと共
に、オブジェクトからオブジェクトへのメッセージを縦
線の間に引いた矢印で示し、上方にある矢印から順にメ
ッセージ送受が行われることを示している。つまり、図
12には、最初にオブジェクトObj1がObj2へメ
ッセージMSG1を出力し、次にオブジェクトObj2
がObj3へメッセージMSG2を出力し、続いてオブ
ジェクトObj3がObj4へメッセージMSG3を出
力し、次にオブジェクトObj4がObj3へメッセー
ジMSG4を出力し、最後にオブジェクトObj3がO
bj1へメッセージMSG5を出力することを示してい
る。各オブジェクトでは、受け取ったメッセージに従い
メソッドが起動され、当該メソッドに基づいて次のメッ
セージが他のオブジェクトへ出力される。
[0006] The MSC shown in FIG. 12 shows a combination of four objects Obj1, Obj2, Obj3, and Obj4. The MSC indicates an object by a vertical line and a message from the object to the object by an arrow drawn between the vertical lines, and indicates that messages are transmitted and received in order from the upper arrow. That is, in FIG. 12, first, the object Obj1 outputs the message MSG1 to Obj2, and then the object Obj2
Outputs message MSG2 to Obj3, then object Obj3 outputs message MSG3 to Obj4, then object Obj4 outputs message MSG4 to Obj3, and finally object Obj3
The message MSG5 is output to bj1. In each object, a method is activated according to the received message, and the next message is output to another object based on the method.

【0007】このようなオブジェクトの動作順序、すな
わち、オブジェクトのメッセージ送受の順序を「シナリ
オ」と呼ぶ。つまり、オブジェクト指向のプログラム設
計では、このシナリオの設計がなされるのである。その
ため、オブジェクト指向のプログラムのテストでは、い
わゆるホワイトボックステストの手法を用いてオブジェ
クト単位の機能を検査する単体テストと、MSCに表現
されるシナリオ通りに各オブジェクトが動作するか、す
なわち、設計した通りにオブジェクト間にてメッセージ
の送受が行われるかを検査する結合テストが主となる。
[0007] Such an operation sequence of the objects, that is, an order of sending and receiving messages of the objects is called a "scenario". That is, in the object-oriented program design, this scenario is designed. Therefore, in the test of an object-oriented program, a unit test for checking the function of each object using a so-called white-box test method and whether each object operates according to a scenario expressed in the MSC, that is, as designed, An integration test that checks whether a message is sent and received between objects is mainly used.

【0008】[0008]

【発明が解決しようとする課題】ところで、上述したシ
ナリオには、設計思想上の階層構造が存在することがあ
る。例えば、ある機能を実現するためのシナリオには、
その機能の一部を実現するための下位階層のシナリオ
(以下「サブシナリオ」という。)が含まれるという具
合である。
Incidentally, the above-mentioned scenario sometimes has a hierarchical structure based on the design concept. For example, a scenario for realizing a certain function includes:
In other words, a scenario of a lower hierarchy (hereinafter, referred to as a “sub-scenario”) for realizing a part of the function is included.

【0009】このようなサブシナリオは、通常、一つの
シナリオとして別個に設計されるものであるため、階層
構造を有するシナリオを設計する際、下位階層のサブシ
ナリオに対応するオブジェクトのメッセージ送受の順序
は設計されない。つまり、サブシナリオを示すMSC
は、例えば図13(b)に示す如く別個に用意されるた
め、このサブシナリオを下位階層に有するシナリオを示
すMSCでは、例えば図13(a)に示すように、サブ
シナリオの内容がブラックボックス化されて記述され
る。
Since such sub-scenarios are usually designed separately as one scenario, when designing a scenario having a hierarchical structure, the order of message transmission and reception of objects corresponding to the sub-scenarios in the lower hierarchy is considered. Is not designed. That is, the MSC indicating the sub-scenario
Are separately prepared as shown in FIG. 13B, for example, in the MSC indicating a scenario having this sub-scenario in a lower layer, for example, as shown in FIG. It is described as

【0010】一方、シナリオに基づいて作成されたプロ
グラムに基づく処理を実行し、そのプログラムの実行履
歴を記録することを考える。従来より、設計書通りにプ
ログラムが動作するか否かをテストするために、プログ
ラムの実行履歴を実行レベル毎に記録する装置が知られ
ている。例えば特開平9−259011号公報に開示さ
れた装置は、関数の入口、出口に履歴記録用のデータを
挿入して関数単位の履歴を記録し、記録された実行履歴
の表示手法を工夫してソースプログラムとの対応を取る
ことを可能とするものである。
On the other hand, consider a case where a process based on a program created based on a scenario is executed and an execution history of the program is recorded. 2. Description of the Related Art Conventionally, there is known an apparatus that records an execution history of a program for each execution level in order to test whether the program operates according to a design document. For example, the apparatus disclosed in Japanese Patent Application Laid-Open No. 9-259011 inserts data for history recording at the entry and exit of a function, records the history of each function, and devises a method of displaying the recorded execution history. This makes it possible to take correspondence with the source program.

【0011】しかしながら、シナリオに基づいて作成さ
れたオブジェクト指向のプログラム自体には、シナリオ
を示すMSCに現れる設計思想上の階層構造は表現され
ていない。そのため、従来の装置を用いて実行履歴を記
録した場合、一連の実行履歴に設計思想上の階層構造は
表現されない。例えば従来の装置を用いて実行履歴を記
録すると、メソッドの実行順序の羅列となってしまうこ
とが考えられる。そのため、一連の実行履歴のどの部分
が下位階層のサブシナリオに対応する部分であるのかが
分からなくなってしまい、階層構造を有するシナリオを
示すMSCと、また、階層構造を有するシナリオの下位
階層のサブシナリオを示すMSCと対応付けることがで
きないという問題が生じる。
However, the object-oriented program itself created based on the scenario does not express the hierarchical structure of the design concept that appears in the MSC indicating the scenario. Therefore, when the execution history is recorded using the conventional apparatus, a hierarchical structure based on the design concept is not represented in a series of execution histories. For example, when the execution history is recorded using a conventional device, it is conceivable that the execution order of the methods may be listed. For this reason, it is not clear which part of the series of execution histories is a part corresponding to a sub-scenario in a lower hierarchy, and an MSC indicating a scenario having a hierarchical structure and a sub-scenario in a lower hierarchy of a scenario having a hierarchical structure There arises a problem that it cannot be associated with an MSC indicating a scenario.

【0012】本発明は、オブジェクト指向プログラミン
グの設計思想上の階層構造を考慮して実行履歴を記録す
ることによって、設計思想上の階層構造が示されたMS
Cと実行履歴との対応付けが可能となるようにすること
を目的とする。
According to the present invention, the execution history is recorded in consideration of the hierarchical structure on the design concept of the object-oriented programming.
An object is to enable association between C and an execution history.

【0013】[0013]

【課題を解決するための手段及び発明の効果】本発明の
プログラムの実行履歴記録装置では、実行手段が、単位
機能毎に細分化したオブジェクトにて構成されるオブジ
ェクト指向のプログラムに基づく処理を実行する。そし
て、履歴記録手段は、実行手段による処理実行によって
生じるオブジェクト間のメッセージ送受の履歴を記録す
る。
In the program execution history recording apparatus of the present invention, the execution means executes processing based on an object-oriented program composed of objects subdivided for each unit function. I do. The history recording unit records a history of message transmission / reception between objects generated by the execution of the process by the execution unit.

【0014】上述したプログラムは、オブジェクト間に
おけるメッセージ送受の手順を示すシナリオに基づいて
作成されたものである。ここでシナリオは、設計思想上
の階層構造を有している。上述したように、階層構造と
は、ある機能を実現するためのシナリオに、その機能の
一部を実現するためのシナリオが含まれるというような
設計思想上の構造をいう。このシナリオには、その下位
階層のシナリオであるサブシナリオが含まれることを前
提としている。
The above-described program is created based on a scenario showing a procedure for transmitting and receiving a message between objects. Here, the scenario has a hierarchical structure based on the design concept. As described above, the hierarchical structure refers to a structure based on a design concept in which a scenario for realizing a certain function includes a scenario for realizing a part of the function. It is assumed that this scenario includes a sub-scenario which is a scenario of a lower hierarchy.

【0015】本発明では特に、履歴記録手段が、サブシ
ナリオに対応するメッセージ送受を特定するための情報
であるサブシナリオ情報に基づいて、サブシナリオに対
応するメッセージ送受を判断し、当該サブシナリオに対
応するメッセージ送受の履歴を他の履歴と区別できる形
式で、オブジェクト間におけるメッセージ送受の履歴を
記録する。
In the present invention, in particular, the history recording means determines the message transmission / reception corresponding to the sub-scenario based on the sub-scenario information which is information for specifying the message transmission / reception corresponding to the sub-scenario. The message transmission / reception history between objects is recorded in a format in which the corresponding message transmission / reception history can be distinguished from other histories.

【0016】ここで「他の履歴」とは、シナリオに対応
する履歴の中でサブシナリオに対応する履歴を除いたも
のをいうことにする。また、「区別できる形式で記録す
る」とは、具体的に次の(1)〜(3)のようにするこ
とが考えられる。 (1)サブシナリオに対応する履歴が特定できる形式
で、他の履歴と共にサブシナリオに対応する履歴を記録
することが考えられる。サブシナリオに対応する履歴が
特定できる形式は、例えば一連の履歴の中のサブシナリ
オに対応する履歴の最初と最後に所定の標識を記録する
ことが考えられる。
Here, "other histories" refers to histories corresponding to the scenario, excluding the histories corresponding to the sub-scenarios. In addition, "recording in a distinguishable format" may be specifically defined as the following (1) to (3). (1) It is conceivable to record the history corresponding to the sub-scenario together with other histories in a format in which the history corresponding to the sub-scenario can be specified. As a format in which the history corresponding to the sub-scenario can be specified, for example, a predetermined marker may be recorded at the beginning and end of the history corresponding to the sub-scenario in a series of histories.

【0017】なお、シナリオの下位階層にサブシナリオ
が複数あることも考えられるため、設計時にサブシナリ
オに付される番号等、サブシナリオを特定できる情報を
サブシナリオ情報に含めるようにしておき、サブシナリ
オを特定できる情報を上述した標識と共に記録するよう
にすれば、異なるサブシナリオに対応する各履歴がどの
サブシナリオに対応するものであるかを判断できるため
有利である。
Since there may be a plurality of sub-scenarios in the lower hierarchy of the scenario, information that can specify the sub-scenario such as a number assigned to the sub-scenario at the time of design is included in the sub-scenario information. It is advantageous to record information that can identify a scenario together with the above-described indicator, since it is possible to determine which sub-scenario corresponds to each history corresponding to a different sub-scenario.

【0018】(2)サブシナリオに対応する履歴と、他
の履歴とを別個に記録することが考えられる。例えば別
々のファイルに記録するという具合である。また、例え
ば同一ファイル内に区分して記録するという具合であ
る。従来技術として上述したようにサブシナリオに基づ
くオブジェクトの結合テストは、通常、シナリオを示す
MSCとは別に用意されたサブシナリオの内容を示すM
SCを用いて行われるからである。したがって、このよ
うに別個に記録するようにすれば、サブシナリオに対応
する履歴は、サブシナリオの内容を示すMSCと対応す
ることになり、一方、他の履歴は、シナリオを示すMS
Cに対応することになる。これによって、実行履歴とM
SCとを容易に対応付けることができる。
(2) It is conceivable to record the history corresponding to the sub-scenario and another history separately. For example, they are recorded in separate files. In addition, for example, recording is performed separately in the same file. As described above, as a conventional technique, an object binding test based on a sub-scenario usually includes an M which indicates the contents of a sub-scenario prepared separately from the MSC indicating the scenario.
This is because it is performed using SC. Therefore, if such separate recording is performed, the history corresponding to the sub-scenario will correspond to the MSC indicating the content of the sub-scenario, while the other history indicates the MSC indicating the scenario.
This corresponds to C. As a result, the execution history and M
SC can be easily associated with.

【0019】(3)他の履歴のみを記録することが考え
られる。サブシナリオに基づくオブジェクトの結合テス
トが既に行われている状況下においては、シナリオを示
す、サブシナリオの内容は記述されないMSC通りにオ
ブジェクトが動作しているか否かを判断すれば十分であ
る。したがって、この場合、サブシナリオに対応する履
歴を記録する必要がない。
(3) It is conceivable to record only other histories. In a situation where an object binding test based on a sub-scenario has already been performed, it is sufficient to determine whether or not the object is operating according to the MSC that indicates the scenario and the content of the sub-scenario is not described. Therefore, in this case, there is no need to record the history corresponding to the sub-scenario.

【0020】このように、本発明のプログラムの実行履
歴記録装置によれば、サブシナリオに対応する履歴が他
の履歴と区別されるため、実行履歴と設計思想上の階層
構造が反映されたMSCとを容易に対応付けることがで
きる。ところで、上述したように、履歴記録手段は、サ
ブシナリオに対応するメッセージ送受を特定するための
サブシナリオ情報に基づいて、サブシナリオに対応する
メッセージ送受を判断するが、次に示すような構成とす
ればよい。
As described above, according to the program execution history recording apparatus of the present invention, the history corresponding to the sub-scenario is distinguished from other histories, so that the MSC reflecting the execution history and the hierarchical structure of the design concept is reflected. Can be easily associated with. By the way, as described above, the history recording unit determines the message transmission / reception corresponding to the sub-scenario based on the sub-scenario information for specifying the message transmission / reception corresponding to the sub-scenario. do it.

【0021】前提として、サブシナリオ情報は、サブシ
ナリオに対応するメッセージ送受の開始・終了に係るメ
ソッドを特定する情報であるとする。このとき、履歴記
録手段は、実行されたメソッドが、そのサブシナリオ情
報に特定されるメソッドであるか否かによって、サブシ
ナリオに対応するメッセージ送受の開始・終了を判断
し、結果的に、サブシナリオに対応するメッセージ送受
を判断するよう構成すればよい。
As a premise, it is assumed that the sub-scenario information is information for specifying a method related to start / end of message transmission / reception corresponding to the sub-scenario. At this time, the history recording means determines the start / end of message transmission / reception corresponding to the sub-scenario depending on whether the executed method is the method specified in the sub-scenario information, and as a result, What is necessary is just to comprise so that message transmission / reception corresponding to a scenario may be determined.

【0022】ここで「サブシナリオに対応するメッセー
ジ送受の開始・終了に係るメソッド」について、図13
(b)のMSCに具体的に示したサブシナリオを例に挙
げて説明する。「サブシナリオに対応するメッセージ送
受の開始」とは、図13(b)中のオブジェクトObj
2からObj3へのメッセージMSG6の送受をいう。
そして、「メッセージ送受の開始に係るメソッド」と
は、メッセージMSG6を出力するObj2のメソッド
又はMSG6によって起動されるObj3のメソッドを
いう。
FIG. 13 shows “methods related to start / end of message transmission / reception corresponding to sub-scenario”.
The sub-scenario specifically shown in the MSC of (b) will be described as an example. "Start of message transmission / reception corresponding to sub-scenario" refers to object Obj in FIG.
2 means transmission and reception of message MSG6 from Obj3.
The “method related to the start of message transmission / reception” refers to the method of Obj2 that outputs message MSG6 or the method of Obj3 activated by MSG6.

【0023】また、「サブシナリオに対応するメッセー
ジ送受の終了に係るメソッド」についても同様である。
すなわち、「メッセージ送受の終了」には、図13
(b)中のメッセージMSG8の送受が相当し、「メッ
セージ送受の終了に係るメソッド」には、メッセージM
SG8を出力するObj4のメソッド又はMSG8によ
って起動されるObj3のメソッドが相当する。
The same applies to the "method for ending the message transmission / reception corresponding to the sub-scenario".
That is, the “end of message transmission / reception” includes “
The transmission / reception of the message MSG8 in (b) corresponds to the “method related to the end of message transmission / reception”.
The method of Obj4 that outputs SG8 or the method of Obj3 activated by MSG8 corresponds to this.

【0024】そして、「メソッドを特定する情報」とし
ては、例えばメソッド名が各オブジェクト間でユニーク
である場合には、メソッド名を用いることが一例として
考えられる。例えばメッセージを出力するメソッドのメ
ソッド名にてサブシナリオに基づくメッセージ送受の開
始を判断するよう取り決めれば、図13(b)の例で
は、サブシナリオ情報にメッセージMSG6を出力する
オブジェクトObj2のメソッド名を記録しておくこと
になる。このとき、履歴記録手段は、実行されたメソッ
ド名と、サブシナリオ情報に記録されたメソッド名とを
比較し、一致したときにサブシナリオの開始を判断す
る。
As the "information for specifying a method", for example, when the method name is unique among the objects, the use of the method name can be considered as an example. For example, if it is determined that the start of message transmission / reception based on the sub-scenario is determined by the method name of the method for outputting a message, in the example of FIG. 13B, the method name of the object Obj2 that outputs the message MSG6 to the sub-scenario information Will be recorded. At this time, the history recording unit compares the executed method name with the method name recorded in the sub-scenario information, and determines the start of the sub-scenario when they match.

【0025】なお、履歴記録手段は、実行されたメソッ
ドのメソッド名を特定する場合、例えば送受されるメッ
セージに基づいて、そのメソッド名を特定する構成とす
ることが考えられる。しかし、この場合は、メッセージ
の配送構造を考慮する必要があり、例えば関数コールな
どで実現されたオブジェクト指向プログラムには適用し
難い。
When specifying the method name of an executed method, the history recording means may be configured to specify the method name based on, for example, a message transmitted and received. However, in this case, it is necessary to consider a message delivery structure, and it is difficult to apply the method to an object-oriented program realized by, for example, a function call.

【0026】そこで、プログラムに基づく処理の実行に
よりコンピュータシステムが履歴記録手段として機能す
るように構成することを前提とすれば、各オブジェクト
のメソッドが、履歴記録手段としての処理ステップ又は
履歴記録手段としての処理をコールするための処理ステ
ップである記録ステップを備えるようにしておき、各オ
ブジェクトのメソッドが備える記録ステップに、当該メ
ソッドを特定するための情報を記録しておくようにして
もよい。このようにすれば、メッセージの配送構造を考
慮することなく、履歴記録手段を構成することができ
る。
Therefore, assuming that the computer system is configured to function as history recording means by executing processing based on a program, the method of each object can be used as a processing step as history recording means or as a history recording means. A recording step, which is a processing step for calling the above processing, may be provided, and information for specifying the method may be recorded in the recording step provided for each object method. With this configuration, the history recording unit can be configured without considering the message delivery structure.

【0027】上述した記録ステップは、例えば利用者が
エディタ等を用いてソースプログラムとしてのメソッド
中に挿入することも考えられるが、メソッドの数が多く
なってくると手間がかかり作業工数が増加する。そこ
で、さらに、記録ステップ挿入手段を備える構成とし、
この記録ステップ挿入手段が、作成されたプログラムに
対して記録ステップを挿入するようにするとよい。この
ようにすれば、利用者が手作業で各メソッドに対して記
録ステップを挿入する必要がなくなり、利用者の利便が
図られる。
It is conceivable that the above-mentioned recording step is inserted into a method as a source program by a user using an editor or the like, for example, but when the number of methods increases, it takes time and increases the number of work steps. . Therefore, it is further configured to include a recording step insertion unit,
Preferably, the recording step insertion means inserts a recording step into the created program. This eliminates the need for the user to manually insert a recording step for each method, thereby improving user convenience.

【0028】また、メソッドを特定するための情報は、
上述したように、各オブジェクトの有するメソッド名が
ユニークであれば、メソッド名とすることが一例として
考えられる。しかし、各オブジェクトの有するメソッド
名がユニークであるとは限られないこと、また、例えば
C++言語等においては長いメソッド名が存在するこ
と、を考慮すると、メソッドを特定するための情報を、
所定の対応関係に基づいて付される識別番号とすること
が好ましい。
Information for specifying the method is as follows:
As described above, if the method name of each object is unique, a method name may be used as an example. However, considering that the method name of each object is not necessarily unique, and that a long method name exists in, for example, the C ++ language, information for specifying the method is described as follows.
It is preferable that the identification number is assigned based on a predetermined correspondence.

【0029】この「所定の対応関係」については、例え
ば各オブジェクトに対して「0」,「1」,「2」,・
・・というオブジェクトID(以下、単に「OID」と
も記述する。)を割り振り、各オブジェクトの有するメ
ソッドに対して「0」,「1」,「2」,・・・という
メソッドID(以下、単に「MID」とも記述する。)
を割り振って作成することが一例として考えられる。す
なわち、図3(b)に示す如くである。
For the "predetermined correspondence", for example, "0", "1", "2",.
.. Are allocated, and method IDs “0”, “1”, “2”,... (Hereinafter simply referred to as “OID”) are assigned to the methods of each object. Also described as "MID".)
For example, it is conceivable to create by assigning. That is, as shown in FIG.

【0030】このような対応関係に基づいて、例えば図
3(b)に示すメソッドeacct_cutは、OID
及びMIDを用いて(1,0)という識別番号で表すこ
とができる。この対応関係によれば、たとえ異なるオブ
ジェクトが同一名のメソッドを有している場合であって
も、各メソッドにユニークな識別番号が対応することに
なる。
Based on such a correspondence, for example, the method eacct_cut shown in FIG.
And MID, and can be represented by an identification number (1, 0). According to this correspondence relationship, even if different objects have methods with the same name, a unique identification number corresponds to each method.

【0031】また、履歴記録手段は、例えばメッセージ
の配送元オブジェクト、メッセージの配送先オブジェク
ト及び当該メッセージにより起動されるメソッドをメッ
セージ送受の履歴として記録することが考えられるが、
この場合に、例えば、配送元オブジェクトのOID、配
送先オブジェクトのOID及びメソッドのMIDを記録
するようにすれば、オブジェクト名やメソッド名をその
まま記録するのに比べて、例えば実行履歴を記録するフ
ァイルの大きさを小さくすることができる。さらに、そ
の実行履歴を画面上に表示する場合に、実行履歴が何画
面にも跨って表示される可能性を小さくすることができ
る。
The history recording means may record, for example, a message delivery source object, a message delivery destination object, and a method activated by the message as a message transmission / reception history.
In this case, for example, if the OID of the delivery source object, the OID of the delivery destination object, and the MID of the method are recorded, compared to recording the object name or the method name as it is, for example, a file for recording the execution history is used. Can be reduced in size. Further, when the execution history is displayed on the screen, the possibility that the execution history is displayed over any number of screens can be reduced.

【0032】なお、上述したようなメソッドと識別番号
との対応関係は利用者が作成してもよいが、プログラム
設計段階におけるオブジェクト名及びメソッド名の一覧
情報があれば、さらに、対応関係作成手段を備える構成
としてもよい。この対応関係作成手段は、各メソッドと
識別番号との対応関係を、オブジェクト名及びメソッド
名の一覧情報から作成する。このようにすれば、さら
に、利用者の利便が図られる。
The correspondence between the method and the identification number as described above may be created by the user. However, if there is list information of the object names and the method names at the program design stage, the correspondence creation means is further provided. May be provided. The correspondence creating means creates the correspondence between each method and the identification number from the list information of the object name and the method name. By doing so, the convenience of the user is further improved.

【0033】ところで、履歴記録手段は、上述したよう
にメッセージの配送先オブジェクト、当該メッセージに
より起動されるメソッドと共に、メッセージの配送元オ
ブジェクトをメッセージ送受の履歴として記録すること
が考えられる。この場合、メッセージ配送元オブジェク
トは、例えば送受されるメッセージに基づいて特定して
もよいが、メッセージの配送構造を考慮する必要があ
り、例えば関数コールなどで実現されたオブジェクト指
向プログラムには適用し難い。
By the way, it is conceivable that the history recording means records the message delivery source object as a message transmission / reception history together with the message delivery destination object and the method activated by the message as described above. In this case, the message delivery source object may be specified based on, for example, a message to be transmitted / received. However, it is necessary to consider a message delivery structure. For example, the message delivery source object is applied to an object-oriented program realized by a function call. hard.

【0034】そこで、オブジェクト間におけるメッセー
ジ送受を、いわゆる関数コールの手法で実現することを
前提とすれば、メッセージ送受がある毎に、当該メッセ
ージ送受によって起動されたメソッドにて、当該メソッ
ドに対応するオブジェクトを特定するための情報を記録
していき、一方、当該オブジェクトのメソッドからのコ
ールバックがある毎に、当該最後に記録した情報から順
に削除していくよう履歴記録手段を構成することが考え
られる。つまり、メッセージ送受があると起動されたメ
ソッドに対応するオブジェクトを特定するための情報が
スタックされるのである。したがって、そのメソッドか
らさらに別のオブジェクトのメソッドが起動されたとき
には、その起動元のメソッドに対応するオブジェクトを
特定するための情報がスタックされていることになる。
これによって、メッセージ配送構造を考慮することな
く、メッセージの配送元オブジェクトを特定することが
できる。このとき、オブジェクトを特定するための情報
として、例えばオブジェクトに対してユニークな識別番
号を用いることも当然可能である。
Therefore, assuming that message transmission / reception between objects is realized by a so-called function call method, every time a message is transmitted / received, a method activated by the message transmission / reception corresponds to the method. It is conceivable to configure the history recording means to record information for identifying the object, and to delete the information recorded last from the last recorded information every time there is a callback from the method of the object. Can be That is, when a message is sent / received, information for specifying an object corresponding to the activated method is stacked. Therefore, when a method of another object is activated from the method, information for specifying an object corresponding to the activation source method is stacked.
As a result, the message delivery source object can be specified without considering the message delivery structure. At this time, it is of course possible to use, for example, a unique identification number for the object as information for specifying the object.

【0035】また、このようにオブジェクト間における
メッセージ送受が関数コールの手法で実現されているこ
とを前提とすれば、メッセージ送受の回数と当該メッセ
ージ送受によって起動されたメソッドからのコールバッ
ク回数とが同じになると、履歴の記録を終了するよう履
歴記録手段を構成することも考えられる。このようにす
れば、一連のプログラム中の任意の部分(シナリオ)に
対応する履歴を記録することができる。
Further, assuming that the message transmission / reception between objects is realized by the function call method, the number of message transmission / reception and the number of callbacks from the method activated by the message transmission / reception are determined. At the same time, the history recording means may be configured to end the recording of the history. In this way, a history corresponding to an arbitrary part (scenario) in a series of programs can be recorded.

【0036】なお、このような実行履歴記録装置の各手
段をコンピュータシステムにて実現する機能は、例え
ば、コンピュータシステム側で起動するプログラムとし
て備えることができる。このようなプログラムの場合、
例えば、フロッピーディスク、光磁気ディスク、CD−
ROM、ハードディスク等のコンピュータ読み取り可能
な記録媒体に記録し、必要に応じてコンピュータシステ
ムにロードして起動することにより用いることができ
る。この他、ROMやバックアップRAMをコンピュー
タ読み取り可能な記録媒体として前記プログラムを記録
しておき、このROMあるいはバックアップRAMをコ
ンピュータシステムに組み込んで用いてもよい。
The function of realizing each unit of the execution history recording device in a computer system can be provided, for example, as a program activated on the computer system side. For such a program,
For example, floppy disk, magneto-optical disk, CD-
It can be used by recording it on a computer-readable recording medium such as a ROM or a hard disk, loading it into a computer system as needed, and starting up. Alternatively, the program may be recorded in a ROM or a backup RAM as a computer-readable recording medium, and the ROM or the backup RAM may be incorporated in a computer system and used.

【0037】[0037]

【発明の実施の形態】以下、本発明を具体化した一実施
形態を図面を参照して説明する。図1は、本発明のプロ
グラムの実行履歴記録装置を具体化した実行履歴記録装
置10を含む実行履歴記録システムの概略構成を示す説
明図である。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS An embodiment of the present invention will be described below with reference to the drawings. FIG. 1 is an explanatory diagram showing a schematic configuration of an execution history recording system including an execution history recording device 10 that embodies a program execution history recording device of the present invention.

【0038】本実施形態の実行履歴記録システムは、実
行履歴記録装置10と、サーバ90とから構成されてい
る。実行履歴記録装置10は、装置本体11、入力手段
としてのキーボード13、表示手段としてのモニタ12
を備える、いわゆるコンピュータシステムである。
The execution history recording system according to the present embodiment includes an execution history recording device 10 and a server 90. The execution history recording device 10 includes a device main body 11, a keyboard 13 as input means, and a monitor 12 as display means.
, A so-called computer system.

【0039】一方、サーバ90も、コンピュータシステ
ムであり、装置本体91、表示手段としてのモニタ91
を備えている。装置本体91には大容量のハードディス
ク装置20が接続されており、このハードディスク装置
20には、ソースプログラム21、オブジェクト情報2
2及びシナリオ情報23が記録されている。
On the other hand, the server 90 is also a computer system, and includes an apparatus main body 91 and a monitor 91 as display means.
It has. A large-capacity hard disk device 20 is connected to the device main body 91. The hard disk device 20 has a source program 21 and object information 2.
2 and scenario information 23 are recorded.

【0040】このソースプログラム21、オブジェクト
情報22及びシナリオ情報23は、利用者によって作成
され、サーバ90のハードディスク装置20に記録され
る。例えば、利用者は、図示しない端末を介してサーバ
90にてソースプログラム21を作成し、それと共にオ
ブジェクト情報22及びシナリオ情報23を作成して、
サーバ90の備えるハードディスク20に記録するとい
う具合である。
The source program 21, the object information 22, and the scenario information 23 are created by the user and recorded on the hard disk device 20 of the server 90. For example, the user creates the source program 21 in the server 90 via a terminal (not shown), creates the object information 22 and the scenario information 23 together therewith,
In other words, the information is recorded on the hard disk 20 of the server 90.

【0041】本実施形態の実行履歴記録装置10は、こ
れら3つの情報をサーバ90から読み込み、これら3つ
の情報に基づいて実行履歴を記録する。そこで最初に、
これら3つの情報について図7(a)及び(b)で示さ
れたMSCを例にとり説明する。
The execution history recording device 10 of the present embodiment reads these three pieces of information from the server 90 and records the execution history based on these three pieces of information. So first,
These three pieces of information will be described using the MSC shown in FIGS. 7A and 7B as an example.

【0042】ソースプログラム21は、実行履歴の記録
対象となるオブジェクト指向のプログラムである。この
ソースプログラム21は、図7(a)及び図7(b)に
示すMSCに基づいて作成されたものである。ここに示
されるシナリオは、エンジン制御ソフトウェアの初期化
という所定機能を実現するためのものである。これは、
エンジンをスタートさせた際、最初に実行される処理の
一部である。
The source program 21 is an object-oriented program for recording an execution history. This source program 21 is created based on the MSC shown in FIGS. 7A and 7B. The scenario shown here is for realizing a predetermined function of initializing the engine control software. this is,
This is a part of the process executed first when the engine is started.

【0043】このシナリオに基づいて作成されたソース
プログラム21は、5つのオブジェクトで構成されてい
る。つまり、スケジューラオブジェクト(elm)、エ
アコンカットオブジェクト(eacct)、エンジン系
ON/OFF出力オブジェクト(eaengoo)、ア
ジャストオブジェクト(eadj)及びSRAMマネー
ジャオブジェクト(gasram)である。なお、かっ
こ内に示したのは、ソースプログラム21に記述された
オブジェクト名である。なお、ソースプログラム21
は、サーバ90においては、オブジェクト単位の複数の
ファイルとして管理されている。そして、各ファイルの
ファイル名は、オブジェクト名となっている。
The source program 21 created based on this scenario is composed of five objects. That is, a scheduler object (elm), an air conditioner cut object (eacct), an engine ON / OFF output object (eaengoo), an adjust object (eadj), and an SRAM manager object (gasram). Note that the object name described in the parentheses is the object name described in the source program 21. The source program 21
Are managed in the server 90 as a plurality of files in object units. The file name of each file is an object name.

【0044】次に、各オブジェクトについて簡単に説明
する。スケジューラオブジェクトは、他のオブジェクト
に対し、適切なタイミングで様々な処理要求を発行す
る。このシナリオでは、各オブジェクトを動作可能な状
態にするための初期化要求を発行する。
Next, each object will be briefly described. The scheduler object issues various processing requests to other objects at appropriate timing. In this scenario, an initialization request for making each object operable is issued.

【0045】エアコンカットオブジェクトは、エアコン
プレッサに対するエンジンの動力伝達量を制御して室内
温度を調節する。エンジン系ON/OFF出力オブジェ
クトは、エンジンECUの出力端子のレベル(ON又は
OFF)を制御する。つまり、所定の出力端子のレベル
をON又はOFFにする旨の要求があると、その要求に
基づいて出力端子のレベルを反転させる。
The air conditioner cut object controls the amount of power transmitted from the engine to the air compressor to adjust the indoor temperature. The engine system ON / OFF output object controls the level (ON or OFF) of the output terminal of the engine ECU. That is, when there is a request to turn the level of a predetermined output terminal ON or OFF, the level of the output terminal is inverted based on the request.

【0046】アジャストオブジェクトは、エンジンをス
タートさせた回数を管理する。SRAMマネージャオブ
ジェクトは、イグニッションキーがOFFされたときに
メモリの内容をバックアップRAMに記録して保持す
る。また、バックアップRAMの内容の参照要求、更新
要求があると、バックアップRAMの内容を参照、更新
する。
The adjust object manages the number of times the engine has been started. The SRAM manager object records and holds the contents of the memory in the backup RAM when the ignition key is turned off. When there is a request to refer to or update the contents of the backup RAM, the contents of the backup RAM are referred to and updated.

【0047】次に、図7(a)及び(b)に示すMSC
に従い、上述した各オブジェクトの動作を説明する。ま
ず最初にスケジューラオブジェクトが動作を開始する
(つまり、CPUがスケジューラオブジェクトのメソッ
ドの実行を開始する)。すると、スケジューラオブジェ
クトは、初期化要求メッセージをエアコンカットオブジ
ェクトに出力する。このメッセージに従いエアコンカッ
トオブジェクトのメソッド(eacct_pwon)が起動され
る。
Next, the MSC shown in FIGS.
, The operation of each of the above-described objects will be described. First, the scheduler object starts operating (that is, the CPU starts executing the method of the scheduler object). Then, the scheduler object outputs an initialization request message to the air conditioner cut object. According to this message, the method (eacct_pwon) of the air conditioner cut object is activated.

【0048】このメソッド(eacct_pwon)の実行によっ
て、エアコンカットオブジェクトは、エアコンカットオ
ブジェクト自身の初期化処理を行い、その後、エアコン
クラッチ非結合要求メッセージをエンジン系ON/OF
F出力オブジェクトに出力する。このメッセージに従い
エンジン系ON/OFF出力オブジェクトのメソッド
(gaacmg_cut)が起動される。
By executing this method (eacct_pwon), the air conditioner cut object performs initialization processing of the air conditioner cut object itself, and thereafter transmits an air conditioner clutch disengagement request message to the engine system ON / OF.
Output to F output object. According to this message, the method (gaacmg_cut) of the engine ON / OFF output object is started.

【0049】このメソッド(gaacmg_cut)の実行によっ
て、エンジン系ON/OFF出力オブジェクトは、エン
ジンECUのエアコンクラッチ出力端子をOFF状態に
する。その結果、エンジンのスタート時においては、エ
アコンプレッサに対するエンジンの動力伝達量がカット
される。
By executing this method (gaacmg_cut), the engine system ON / OFF output object turns off the air conditioner clutch output terminal of the engine ECU. As a result, when the engine is started, the power transmission amount of the engine to the air compressor is cut.

【0050】続いてスケジューラオブジェクトは、初期
化要求メッセージをアジャストオブジェクトに出力す
る。このメッセージに従いアジャストオブジェクトのメ
ソッド(eadj_pwon)が起動される。このメソッド(ead
j_pwon )の実行によって、アジャストオブジェクト
は、図7(b)に示すように初期化処理を行う。この処
理では、エンジンのスタート回数がインクリメントされ
る。そして、アジャストオブジェクトは、学習値書き込
み要求メッセージをSRAMマネージャオブジェクトに
出力する。このメッセージに従いSRAMマネージャオ
ブジェクトのメソッド(u1g_gasram_write)が起動され
る。
Subsequently, the scheduler object outputs an initialization request message to the adjust object. The adjust object method (eadj_pwon) is invoked according to this message. This method (ead
By executing j_pwon), the adjustment object performs initialization processing as shown in FIG. In this process, the number of times of starting the engine is incremented. Then, the adjust object outputs a learning value write request message to the SRAM manager object. According to this message, the method (u1g_gasram_write) of the SRAM manager object is activated.

【0051】このメソッド(u1g_gasram_write)の実行
によって、SRAMマネージャオブジェクトは、バック
アップRAMに記憶されているエンジンスタート回数を
更新する。なお、上述したソースプログラム21に基づ
く処理は、図7(a)及び(b)に示したMSC通りの
理想的な動作である。また、このソースプログラム21
は、関数型の言語で記述され、処理要求としてのメッセ
ージは、いわゆる関数コールの手法を用いて実現されて
いる。
By executing this method (u1g_gasram_write), the SRAM manager object updates the number of engine starts stored in the backup RAM. The processing based on the source program 21 described above is an ideal operation according to the MSC shown in FIGS. 7A and 7B. In addition, this source program 21
Is described in a functional language, and a message as a processing request is realized using a so-called function call method.

【0052】本実施形態では、ソースプログラム21に
基づく処理が実行された際に、各オブジェクトがMSC
通りに動作するか否かを判断することを目的として、実
行履歴記録装置10が、ソースプログラム21に基づく
処理を実行させ、オブジェクト間のメッセージ送受の履
歴を記録する。
In this embodiment, when the processing based on the source program 21 is executed, each object
The execution history recording device 10 executes a process based on the source program 21 and records a history of message transmission and reception between objects for the purpose of determining whether or not the operation is performed as described above.

【0053】ところで、ソースプログラム21に基づく
処理の実行によって、各オブジェクトは、図7(a)及
び(b)の2つのMSCにて示される一連の動作を行う
ことになる。一方、エンジン制御ソフトウェアの初期化
というシナリオは設計思想上の階層構造を有しており、
学習値の書き込み機能を実現するための下位のシナリオ
であるサブシナリオを含んでいる。図7(a)に示す如
くである。このようなサブシナリオも所定機能を実現す
るための一つのシナリオであるため、設計上、図7
(a)に示すMSCには、サブシナリオの内容をブラッ
クボックス化して示し、図7(b)に示すように、この
サブシナリオを示すMSCは別個に用意されるのが一般
的である。
By executing the processing based on the source program 21, each object performs a series of operations shown by two MSCs in FIGS. 7 (a) and 7 (b). On the other hand, the scenario of initializing the engine control software has a hierarchical structure based on the design concept,
It includes a sub-scenario, which is a lower-level scenario for realizing the learning value writing function. This is as shown in FIG. Since such a sub-scenario is also one scenario for realizing a predetermined function, it is necessary to design the sub-scenario shown in FIG.
In the MSC shown in (a), the contents of the sub-scenario are shown in a black box, and as shown in FIG. 7 (b), the MSC showing this sub-scenario is generally prepared separately.

【0054】したがって、ソースプログラム21の一連
の実行履歴中のサブシナリオに対応する履歴は、例えば
図7(a)に示すシナリオチャートとの比較をする上に
おいては不要な履歴となってしまう。そこで、本実施形
態の実行履歴記録装置10では、このようなシナリオの
有する設計思想上の階層構造を考慮して、ソースプログ
ラム21の実行履歴を記録する。
Therefore, the history corresponding to the sub-scenario in the series of execution histories of the source program 21 becomes an unnecessary history for comparison with the scenario chart shown in FIG. 7A, for example. Therefore, the execution history recording device 10 of the present embodiment records the execution history of the source program 21 in consideration of the hierarchical structure of the design concept of such a scenario.

【0055】シナリオの有する設計思想上の階層構造を
考慮するための情報が、シナリオ情報23である。そこ
で次に、シナリオ情報23について説明する。シナリオ
情報23には、図6(a)に示すように、シナリオの下
位階層にあるサブシナリオの情報が含まれる。このサブ
シナリオ情報は、サブシナリオに対してユニークに付さ
れる番号、サブシナリオ開始(終了)のオブジェクト名
及びサブシナリオ開始(終了)のメソッド名からなって
いる。なお、このサブシナリオ情報が特許請求の範囲に
示した「サブシナリオ情報」に相当する。
Information for considering the hierarchical structure of the design concept of the scenario is scenario information 23. Therefore, next, the scenario information 23 will be described. As shown in FIG. 6A, the scenario information 23 includes information on a sub-scenario in a lower hierarchy of the scenario. The sub-scenario information includes a number uniquely assigned to the sub-scenario, an object name of the start (end) of the sub-scenario, and a method name of the start (end) of the sub-scenario. This sub-scenario information corresponds to “sub-scenario information” described in the claims.

【0056】図7(a)に示したMSCでは、スケジュ
ーラオブジェクトからの初期化要求メッセージに従い、
アジャストオブジェクトのメソッド(eadj_pwon )が実
行されることで、サブシナリオが開始・終了される。し
たがって、図6(a)に示すように、サブシナリオ開始
(終了)のオブジェクト名は、アジャストオブジェクト
のオブジェクト名「eadj」、メソッド名はアジャス
トオブジェクトのメソッド名「eadj_pwon 」となってい
る。
In the MSC shown in FIG. 7A, according to the initialization request message from the scheduler object,
The sub-scenario is started / terminated by executing the method (eadj_pwon) of the adjust object. Therefore, as shown in FIG. 6A, the object name at the start (end) of the sub-scenario is the object name “adj” of the adjustment object, and the method name is the method name “eadj_pwon” of the adjustment object.

【0057】そして、さらに本実施形態では、後述する
ように、オブジェクトやメソッドを特定するための情報
をID対応テーブルに基づく識別番号としている。この
ID対応テーブルを作成するための情報が、オブジェク
ト情報22である。オブジェクト情報22は、図7のM
SCに実存するオブジェクトとメソッドとを表記したも
のであり、図3(a)に示す如く、ソースプログラム2
1に定義された各オブジェクト名と、そのオブジェクト
の有するメソッド名の一覧情報である。
Further, in the present embodiment, as described later, information for specifying an object or a method is an identification number based on an ID correspondence table. Information for creating the ID correspondence table is the object information 22. The object information 22 corresponds to M in FIG.
An object and a method existing in the SC are described, and as shown in FIG.
This is list information of each object name defined in No. 1 and a method name of the object.

【0058】本実施形態の実行履歴記録装置10は、ソ
ースプログラム21、オブジェクト情報22及びシナリ
オ情報23を読み込み、上述したようにソースプログラ
ム21のシナリオに存在する階層構造を考慮してソース
プログラム21の実行履歴を記録する。
The execution history recording apparatus 10 of the present embodiment reads the source program 21, the object information 22, and the scenario information 23, and considers the hierarchical structure existing in the scenario of the source program 21 as described above. Record the execution history.

【0059】そこで次に、本実施形態の実行履歴記録装
置10の装置本体11における動作を図2の説明図を用
いて説明する。上述したように、実行履歴記録装置10
では、オブジェクトやメソッドを特定するための情報を
識別番号としている。そのため、ID対応テーブル作成
ブロック11aにて、入力されたオブジェクト情報22
からID対応テーブルを作成する。
Next, the operation of the execution history recording apparatus 10 of the present embodiment in the apparatus main body 11 will be described with reference to the explanatory diagram of FIG. As described above, the execution history recording device 10
In this document, information for identifying an object or a method is used as an identification number. Therefore, in the ID correspondence table creation block 11a, the input object information 22
To create an ID correspondence table.

【0060】このID対応テーブルの作成は、図3
(a)に示したオブジェクト情報に記載されたオブジェ
クト名に対して「0」,「1」,「2」,・・・という
ユニークなオブジェクトID(OID)を順に割り振
り、また、各オブジェクトの有するメソッド名に対して
「0」,「1」,「2」,・・・というメソッドID
(MID)を割り振って作成する。図3(a)のテーブ
ルは図3(b)に示すテーブルのように変換される。し
たがって、オブジェクトは、OIDにて特定されること
になる。一方、メソッドは、OID及びMIDにて特定
されることになる。
The creation of the ID correspondence table is described in FIG.
Unique object IDs (OIDs) “0”, “1”, “2”,... Are sequentially assigned to the object names described in the object information shown in FIG. Method ID "0", "1", "2", ... for the method name
(MID). The table in FIG. 3A is converted like the table shown in FIG. Therefore, the object is specified by the OID. On the other hand, the method is specified by the OID and the MID.

【0061】次に、プローブ埋め込みブロック11b
が、ソースプログラム21に対してプローブの埋め込み
を行う。ここでプローブとは、実行履歴を記録するため
の処理をコールする「記録ステップ」としての処理ステ
ップであり、各オブジェクトのメソッドを定義する関数
の先頭、末尾に挿入される。プローブ埋め込み処理で
は、上述したID対応テーブルを参照することにより、
実行履歴を記録するための情報としてそのメソッドを特
定するOID,MIDも挿入される。
Next, the probe embedding block 11b
Performs embedding of a probe in the source program 21. Here, the probe is a processing step as a “recording step” for calling a process for recording an execution history, and is inserted at the beginning and end of a function defining a method of each object. In the probe embedding process, by referring to the ID correspondence table described above,
OID and MID for specifying the method are also inserted as information for recording the execution history.

【0062】ここで図4に示すフローチャートに基づい
て、プローブ埋め込み処理を説明する。まず最初のステ
ップS100において、ファイル名をオブジェクト名と
する。上述したように、サーバ90では、ソースプログ
ラム21をオブジェクト単位のファイルで管理してお
り、ファイル名がオブジェクト名となっている。そのた
め、この処理では、オブジェクト名としてファイル名を
取り出すのである。
Here, the probe embedding process will be described with reference to the flowchart shown in FIG. First, in a first step S100, a file name is set as an object name. As described above, in the server 90, the source program 21 is managed in a file for each object, and the file name is an object name. Therefore, in this process, the file name is extracted as the object name.

【0063】続くS110では、S100にて取り出し
たオブジェクト名と、ID対応テーブル作成ブロック1
1aにて作成されたID対応テーブル(図3(b)参
照)とを比較する。そして、次のS120では、オブジ
ェクト名がID対応テーブルに記載されているオブジェ
クト名と一致したか否かを判断する。ここで一致したと
判断された場合(S120:YES)、S130へ移行
する。一方、一致しないと判断された場合(S120:
NO)、S220にてエラー表示を行い、その後、本プ
ローブ埋め込み処理を終了する。なお、エラー情報は、
実行履歴記録装置10のモニタ12に表示される。
At S110, the object name extracted at S100 and the ID correspondence table creation block 1
A comparison is made with the ID correspondence table created in 1a (see FIG. 3B). Then, in the next S120, it is determined whether or not the object name matches the object name described in the ID correspondence table. If it is determined that they match (S120: YES), the process proceeds to S130. On the other hand, when it is determined that they do not match (S120:
NO), an error is displayed in S220, and then the present probe embedding process ends. The error information is
It is displayed on the monitor 12 of the execution history recording device 10.

【0064】S130では、ID対応テーブルに基づい
てオブジェクト名に対応するオブジェクトID(OI
D)を取得する。次にS140では、ファイル内(オブ
ジェクト内)のメソッド名を一つ抽出する。続くS15
0では、S140にて抽出したメソッド名と、ID対応
テーブル作成ブロック11aにて作成されたID対応テ
ーブル(図3(b)参照)とを比較する。
In S130, the object ID (OI) corresponding to the object name is determined based on the ID correspondence table.
D). Next, in S140, one method name in the file (in the object) is extracted. Continue S15
At 0, the method name extracted in S140 is compared with the ID correspondence table created in the ID correspondence table creation block 11a (see FIG. 3B).

【0065】次のS160では、メソッド名がID対応
テーブルに記載されているメソッド名と一致したか否か
を判断する。ここで一致したと判断された場合(S16
0:YES)、S170へ移行する。一方、一致しない
と判断された場合(S160:NO)、S220にてエ
ラー表示を行い、その後、本プローブ埋め込み処理を終
了する。上述したように、エラー情報は、実行履歴記録
装置10のモニタ12に表示される。
In the next S160, it is determined whether or not the method name matches the method name described in the ID correspondence table. If it is determined that they match (S16
0: YES), and proceeds to S170. On the other hand, when it is determined that they do not match (S160: NO), an error display is performed in S220, and then the present probe embedding process ends. As described above, the error information is displayed on the monitor 12 of the execution history recording device 10.

【0066】S170では、ID対応テーブルに基づい
てメソッド名に対応するメソッドID(MID)を取得
する。続くS180では、ファイル内に記述されたメソ
ッドの先頭と末尾を抽出する。そして、次のS190に
て、抽出したメソッドの先頭と末尾にプローブを挿入す
る。本実施形態において、メソッドの先頭にはSTAR
T関数をコールする処理ステップが埋め込まれ、メソッ
ドの末尾にはEND関数をコールする処理ステップが埋
め込まれる。そして、このSTART関数及びEND関
数にて実行履歴が記録されるため、START関数及び
END関数をコールするメソッドを特定するための情報
として、S130にて取得されたOID及びS170に
て取得されたMIDを引数とする。これによって、ST
ART関数及びEND関数では、メソッド及び当該メソ
ッドを有するオブジェクトを特定できる。
In S170, a method ID (MID) corresponding to the method name is obtained based on the ID correspondence table. In S180, the head and tail of the method described in the file are extracted. Then, in the next S190, probes are inserted at the beginning and end of the extracted method. In the present embodiment, STAR is added at the beginning of the method.
A processing step for calling the T function is embedded, and a processing step for calling the END function is embedded at the end of the method. Since the execution history is recorded by the START function and the END function, the OID acquired in S130 and the MID acquired in S170 are used as information for specifying the method for calling the START function and the END function. Is an argument. Thereby, ST
The ART function and the END function can specify a method and an object having the method.

【0067】続くS200では、選択したオブジェクト
内の全てのメソッドに対してプローブを埋め込んだか否
かを判断する。ここで全てのメソッドに対してプローブ
を埋め込んだと判断された場合(S200:YES)、
S210へ移行する。一方、プローブを埋め込んでいな
いメソッドが存在すると判断された場合(S200:N
O)、S140からの処理を繰り返す。
At S200, it is determined whether probes have been embedded in all the methods in the selected object. Here, when it is determined that the probes are embedded in all the methods (S200: YES),
Move to S210. On the other hand, when it is determined that there is a method in which the probe is not embedded (S200: N
O), repeat the processing from S140.

【0068】S210では、全オブジェクトに対する処
理を終了したか否かを判断する。ここで全オブジェクト
に対する処理を終了したと判断された場合(S210:
YES)、本プローブ埋め込み処理を終了する。一方、
処理していないオブジェクトがあると判断された場合
(S210:NO)、S100からの処理を繰り返す。
In S210, it is determined whether or not processing for all objects has been completed. Here, when it is determined that the processing for all objects has been completed (S210:
YES), the probe embedding process ends. on the other hand,
If it is determined that there is an object that has not been processed (S210: NO), the processing from S100 is repeated.

【0069】次に図5に基づいて、このプローブ埋め込
み処理をさらに具体的に説明する。図5(a)は、プロ
ーブ埋め込み処理が行われる前のメソッドを示す説明図
であり、一方、図5(b)は、プローブ埋め込み処理が
行われた後のメソッドを示す説明図である。ソースプロ
グラム21は、上述したようにオブジェクト単位のファ
イルとして管理されている。図5(a)は、スケジュー
ラオブジェクト(elm)とエアコンカットオブジェク
ト(eacct)に相当するファイルを示している。フ
ァイル名は、それぞれelm,eacctである。
Next, the probe embedding process will be described more specifically with reference to FIG. FIG. 5A is an explanatory diagram showing a method before the probe embedding process is performed, while FIG. 5B is an explanatory diagram showing a method after the probe embedding process is performed. The source program 21 is managed as a file for each object as described above. FIG. 5A shows files corresponding to the scheduler object (elm) and the air conditioner cut object (eacct). The file names are elm and eacct, respectively.

【0070】上述したプローブ埋め込み処理が実行され
ると、まずファイル名elmがオブジェクト名として取
り出される(図4中のS100)。そして、図3(b)
に示すID対応テーブル中に記載されたオブジェクト名
との比較を行い(S110)、一致すると(S120:
YES)、オブジェクト名elmに対応するOID
「0」を取得する(S130)。続いて、そのファイル
内(オブジェクト内)のメソッド名elm_pwonを抽出し
(S140)、図3(b)に示すID対応テーブル中に
記載されたメソッド名との比較を行う(S150)。そ
して、一致すると(S160:YES)、メソッド名el
m_pwonに対応するMID「0」を取得する(S17
0)。次にメソッド(elm_pwon)の先頭と末尾を抽出し
(S180)、START関数をコールするための処理
ステップ及びEND関数をコールするための処理ステッ
プ(図5(b)に記号Aで示したステップ)を埋め込む
(S190)。このとき、取得したOID「0」及びM
ID「0」を引数とする。
When the above-described probe embedding process is executed, first, the file name elm is extracted as an object name (S100 in FIG. 4). Then, FIG.
Is compared with the object name described in the ID correspondence table shown in (S110), and if they match (S120:
YES), OID corresponding to object name elm
“0” is acquired (S130). Subsequently, the method name elm_pwon in the file (in the object) is extracted (S140), and is compared with the method name described in the ID correspondence table shown in FIG. 3B (S150). If they match (S160: YES), the method name el
MID “0” corresponding to m_pwon is acquired (S17)
0). Next, the start and end of the method (elm_pwon) are extracted (S180), and a processing step for calling the START function and a processing step for calling the END function (steps indicated by the symbol A in FIG. 5B) Is embedded (S190). At this time, the acquired OID “0” and M
ID “0” is used as an argument.

【0071】そして、スケジューラオブジェクトの有す
る別のメソッドについて同様に処理し、スケジューラオ
ブジェクトの有する全メソッドに対する処理が終了する
と(S200:YES)、他のオブジェクトに対して同
様の処理を行う。これによって、各オブジェクトの有す
るメソッドの先頭及び末尾にプローブである処理ステッ
プが埋め込まれる。例えばエアコンカットオブジェクト
(eacct)のメソッド(eacct_pwon)には、「ST
ART(1,0)」及び「END(1,0)」が埋め込
まれ、同じくエアコンカットオブジェクト(eacc
t)のメソッド(eacct_cut)には、「SRART(1,
1)」及び「END(1,1)」が埋め込まれるという
具合である(図5(b)参照)。
Then, the same process is performed for another method of the scheduler object, and when the processes for all the methods of the scheduler object are completed (S200: YES), the same process is performed for the other objects. As a result, a processing step as a probe is embedded at the beginning and end of the method of each object. For example, the method (eacct_pwon) of the air conditioner cut object (eacct) includes "ST
ART (1,0) "and" END (1,0) "are embedded, and the air conditioner cut object (eacc
The method (eacct_cut) of (t) includes “SRART (1,
1) ”and“ END (1, 1) ”are embedded (see FIG. 5B).

【0072】プローブ埋め込みブロック11bにて、各
オブジェクトのメソッドに対してプローブが埋め込まれ
た後、ソースプログラム21は、コンパイルブロック1
1cにて実行形式に変換される。次に、シナリオ情報2
3に対する処理を説明する。
After the probe is embedded for the method of each object in the probe embedding block 11b, the source program 21
At 1c, it is converted into an executable form. Next, scenario information 2
3 will be described.

【0073】シナリオ情報変換ブロック11dは、入力
されたシナリオ情報23をID対応テーブル作成ブロッ
ク11aにて作成されたID対応テーブル(図3(b)
参照)に基づいて変換する。つまり、上述したようにシ
ナリオ情報23には、図6(a)に示すサブシナリオ情
報、すなわち、サブシナリオに対してユニークに付され
る番号、サブシナリオ開始(終了)のオブジェクト名及
びサブシナリオ開始(終了)のメソッド名が記載されて
いる。そこで、シナリオ情報変換ブロック11dでは、
このサブシナリオ情報としてのオブジェクト名及びメソ
ッド名を、ID対応テーブルにて対応付けられるOI
D,MIDに変換する。すなわち、シナリオ情報変換ブ
ロック11dによる変換処理によって、図6(a)に示
したシナリオ情報23中のオブジェクト名「eadj」
はOID「2」として変換され、また、メソッド名「ea
dj_pwon 」はMID「0」として変換される(図6
(b)参照)。なお、サブシナリオに対して付された番
号はサブシナリオIDとされる。
The scenario information conversion block 11d converts the input scenario information 23 into an ID correspondence table created by the ID correspondence table creation block 11a (FIG. 3B).
Conversion). That is, as described above, the scenario information 23 includes the sub-scenario information shown in FIG. 6A, that is, the number uniquely assigned to the sub-scenario, the object name of the start (end) of the sub-scenario, and the start of the sub-scenario. (End) method name is described. Therefore, in the scenario information conversion block 11d,
The object name and the method name as the sub-scenario information are associated with the OI in the ID correspondence table.
D, MID. That is, the object name “eadj” in the scenario information 23 shown in FIG.
Is converted as OID "2" and the method name "ea
dj_pwon ”is converted as MID“ 0 ”(FIG. 6
(B)). The number assigned to the sub-scenario is a sub-scenario ID.

【0074】そして、実行履歴記録ブロック11eで
は、コンパイルブロック11cにて実行形式に変換され
たプログラムに基づく処理を実行し、シナリオ情報変換
ブロック11dから出力される変換されたシナリオ情報
23に基づいて、オブジェクト間のメッセージ送受の履
歴を記録する。この実行履歴記録処理は、各メソッドか
らコールされるSTART関数及びEND関数の処理に
て実現される。
Then, in the execution history recording block 11e, a process based on the program converted into the execution format in the compilation block 11c is executed, and based on the converted scenario information 23 output from the scenario information conversion block 11d, Record the history of sending and receiving messages between objects. This execution history recording processing is realized by processing of a START function and an END function called from each method.

【0075】そこで次にSTART関数の処理及びEN
D関数の処理を順に説明する。最初に図9のフローチャ
ートに基づいてSRART関数処理を説明する。まず、
ステップS300において、格納数は「0」か否かを判
断する。この格納数は、シナリオの開始・終了を判断す
るためのものであり、上述したシナリオ情報23には、
サブシナリオ情報と共に、シナリオ情報が含まれてお
り、格納数を「0」とする旨の指示が記録されている
(図6(b)参照)。したがって、プログラムの実行開
始直後には必ず格納数が「0」となり、次に格納数が
「0」となったときにシナリオの終了を意味する。これ
によって、ソースプログラム21の任意のシナリオに対
応する履歴を記録することができるのである。ここで格
納数=「0」と判断された場合(S300:YES)、
S310にてシナリオ開始を示すログを記録し、S35
0へ移行する。一方、格納数≠「0」と判断された場合
(S300:NO)、S320へ移行する。
Then, processing of the START function and EN
The processing of the D function will be described in order. First, the SRART function processing will be described based on the flowchart of FIG. First,
In step S300, it is determined whether the storage number is “0”. This stored number is used to determine the start / end of the scenario.
The scenario information is included together with the sub-scenario information, and an instruction to set the storage number to “0” is recorded (see FIG. 6B). Therefore, immediately after the start of the execution of the program, the stored number becomes “0”, and the next time the stored number becomes “0”, it means the end of the scenario. As a result, a history corresponding to an arbitrary scenario of the source program 21 can be recorded. Here, when it is determined that the number of stored items is “0” (S300: YES),
In S310, a log indicating the start of the scenario is recorded, and in S35
Move to 0. On the other hand, when it is determined that the number of stored pieces is “0” (S300: NO), the process proceeds to S320.

【0076】S320では、メッセージログを記録す
る。メッセージログとしては、メッセージ配送元のオブ
ジェクトID(配送元OID)、メッセージ配送先のオ
ブジェクトID(配送先OID)及びメソッドID(M
ID)が記録される。ここで配送先OID及びMID
は、関数の引数となるOID及びMIDである。また、
配送元OIDは、後述するスタック領域から読み出され
る。
At S320, a message log is recorded. The message log includes a message delivery source object ID (delivery source OID), a message delivery destination object ID (delivery destination OID), and a method ID (M
ID) is recorded. Where destination OID and MID
Is the OID and MID that are the arguments of the function. Also,
The delivery source OID is read from a stack area described later.

【0077】続くS330では、OID及びMIDが共
にサブシナリオの開始を示すIDであるか否かを判断す
る。これは、シナリオ情報変換ブロック11dからのシ
ナリオ情報23に基づいて判断される。ここでOID及
びMIDが共にサブシナリオの開始を示すIDであると
判断された場合(S330:YES)、S340にてサ
ブシナリオ開始ログの記録を行い、その後、S350へ
移行する。サブシナリオ開始ログは、開始標識「S」と
サブシナリオIDとからなる。一方、OID又はMID
の少なくともいずれか一方がサブシナリオの開始を示す
IDでないと判断された場合(S330:NO)、S3
40の処理を実行せずに、S350へ移行する。
At S330, it is determined whether the OID and the MID are both IDs indicating the start of the sub-scenario. This is determined based on the scenario information 23 from the scenario information conversion block 11d. Here, if it is determined that both the OID and the MID are IDs indicating the start of the sub-scenario (S330: YES), a sub-scenario start log is recorded in S340, and thereafter, the process proceeds to S350. The sub-scenario start log includes a start indicator “S” and a sub-scenario ID. On the other hand, OID or MID
If it is determined that at least one of the IDs is not the ID indicating the start of the sub-scenario (S330: NO), S3
The process proceeds to S350 without executing the process of S40.

【0078】S350では、OIDをスタックする。こ
れは、本START関数処理が一旦終了した後、メッセ
ージ出力がなされメソッドが起動して再びSTART関
数処理が実行された場合に、そのメッセージの配送元の
オブジェクトを特定できるようにOIDをスタック領域
に記録しておく処理である。
In S350, OIDs are stacked. This is because, when the START function processing is once completed, a message is output, the method is started, and when the START function processing is executed again, the OID is set in the stack area so that the object of the delivery source of the message can be specified. This is the process of recording.

【0079】続くS360では格納数をインクリメント
し、その後、本START関数処理を終了する。次に、
図10のフローチャートに基づいてEND関数処理を説
明する。まず最初のステップS400において、格納数
をデクリメントする。続くS410では、格納数が
「0」か否かを判断する。この格納数は、上述したよう
にシナリオの開始・終了を判断するためのものであり、
プログラムの実行開始直後には必ず格納数が「0」とな
る。そして、次に格納数が「0」となったときは、シナ
リオの終了を意味する。ここで格納数=「0」である場
合(S410:YES)、S420にてシナリオ終了ロ
グを記録し、その後、本END関数処理を終了する。一
方、格納数≠「0」である場合(S410:NO)、S
430へ移行する。
At S360, the stored number is incremented, and then the present START function processing is terminated. next,
The END function processing will be described based on the flowchart of FIG. First, in the first step S400, the stored number is decremented. In subsequent S410, it is determined whether or not the storage number is “0”. This storage number is for determining the start / end of the scenario as described above,
Immediately after the start of the execution of the program, the stored number is always “0”. Then, the next time the stored number becomes “0”, it means the end of the scenario. If the number of stored items is “0” (S410: YES), a scenario end log is recorded in S420, and then the END function process ends. On the other hand, if the storage number 格納 “0” (S410: NO),
Move to 430.

【0080】S430では、OID及びMIDが共にサ
ブシナリオの終了を示すIDであるか否かを判断する。
これは、シナリオ情報変換ブロック11dからのシナリ
オ情報23に基づいて判断される。ここでOID及びM
IDが共にサブシナリオの終了を示すIDであると判断
された場合(S430:YES)、S440にてサブシ
ナリオ終了ログの記録を行い、その後、本END関数処
理を終了する。サブシナリオ終了ログは、終了標識
「E」である。一方、OID又はMIDの少なくともい
ずれか一方がサブシナリオの終了を示すIDでないと判
断された場合(S430:NO)、S440の処理を実
行せずに、本END関数処理を終了する。
In S430, it is determined whether or not both the OID and the MID are IDs indicating the end of the sub-scenario.
This is determined based on the scenario information 23 from the scenario information conversion block 11d. Where OID and M
If it is determined that both IDs are IDs indicating the end of the sub-scenario (S430: YES), a sub-scenario end log is recorded in S440, and then the END function processing ends. The sub-scenario end log is an end indicator “E”. On the other hand, if it is determined that at least one of the OID and the MID is not an ID indicating the end of the sub-scenario (S430: NO), the END function process is terminated without executing the process of S440.

【0081】このようなSTART関数処理及びEND
関数処理が各メソッドからコールされることによって、
実行履歴が記録されることになる。さらに、図8及び図
11に基づいて、このSTART関数処理及びEND関
数処理を具体的に説明する。図8は、図7(a)及び図
7(b)に示すMSCに基づいて作成された本実施形態
のソースプログラム21に対し、プローブを埋め込んだ
後のソースプログラム21を示す説明図である。なお、
各メソッドでは、図8に示す関数コールの他に所定の処
理が行われるのであるが、この処理については図示して
いない。また、図11は、記録される実行履歴を示す説
明図である。
The START function processing and the END
Function processing is called from each method,
The execution history will be recorded. Further, the START function processing and the END function processing will be specifically described with reference to FIGS. FIG. 8 is an explanatory diagram showing the source program 21 after the probe is embedded in the source program 21 of the present embodiment created based on the MSC shown in FIGS. 7A and 7B. In addition,
In each method, predetermined processing is performed in addition to the function call shown in FIG. 8, but this processing is not shown. FIG. 11 is an explanatory diagram showing a recorded execution history.

【0082】図8において、まず最初にスケジューラオ
ブジェクト(elm)のメソッド(elm_pwon)が実行さ
れる。すると、START関数がコールされる。このと
きの引数は、OID「0」、MID「0」である。この
段階では、シナリオ情報23に基づき格納数が「0」と
なっている。したがって、図11(a)中の記号イで示
すようにシナリオ開始ログが記録され(図9中のS31
0)、OID「0」がスタックされ(S350)、さら
に、格納数がインクリメントされて「1」となる(S3
60)。
In FIG. 8, first, the method (elm_pwon) of the scheduler object (elm) is executed. Then, the START function is called. The arguments at this time are OID “0” and MID “0”. At this stage, the storage number is “0” based on the scenario information 23. Therefore, a scenario start log is recorded as shown by the symbol A in FIG. 11A (S31 in FIG. 9).
0), the OID “0” is stacked (S350), and the storage number is incremented to “1” (S3).
60).

【0083】続いてスケジューラオブジェクト(el
m)のメソッド(elm_pwon)からエアコンカットオブジ
ェクト(eacct)のメソッド(eacct_pwon)が起動
される。図8中にで示す如くである。すると、STA
RT関数がコールされる。このときの引数は、OID
「1」、MID「0」である。このとき、格納数は
「1」であるため、図11(a)中の記号ロで示すよう
に、シナリオ開始ログに続けてメッセージログが記録さ
れる(図9中のS320)。そして、OID「1」,M
ID「0」はサブシナリオ開始・終了を示すIDでない
ため(S330:NO)、OID「1」がスタックされ
(S350)、さらに、格納数がインクリメントされて
「2」となる(S360)。
Subsequently, the scheduler object (el
The method (eacct_pwon) of the air conditioner cut object (eacct) is started from the method (elm_pwon) of (m). This is as shown in FIG. Then, STA
The RT function is called. The argument at this time is OID
“1” and MID “0”. At this time, since the storage number is “1”, a message log is recorded following the scenario start log as shown by a symbol B in FIG. 11A (S320 in FIG. 9). And OID "1", M
Since the ID “0” is not an ID indicating the start / end of the sub-scenario (S330: NO), the OID “1” is stacked (S350), and the storage number is incremented to “2” (S360).

【0084】続いてエアコンカットオブジェクト(ea
cct)のメソッド(eacct_pwon)からエンジン系ON
/OFF出力オブジェクト(gaengoo)のメソッ
ド(gaacmg_cut)が起動される。図8中にで示す如く
である。すると、START関数がコールされる。この
ときの引数は、OID「3」、MID「0」である。こ
のとき、格納数は「2」であるため、図11(a)中の
記号ハで示すように、メッセージログが記録される(図
9中のS320)。そして、OID「3」,MID
「0」はサブシナリオ開始を示すIDでないため(S3
30:NO)、OID「3」がスタックされ(S35
0)、さらに、格納数がインクリメントされて「3」と
なる(S360)。このメソッド(gaacmg_cut)で、所
定処理の後、END関数がコールされる。引数は、OI
D「3」、MID「0」である。したがって、格納数が
デクリメントされて「2」となる(図10中のS40
0)。そして、格納数「2」であり、また、OID
「3」,MID「0」はサブシナリオ終了を示すIDで
ないため、図10中のS410及びS430にて共に否
定判断されることになる。
Subsequently, the air conditioner cut object (ea)
cct) from the method (eacct_pwon) to the engine system ON
The method (gaacmg_cut) of the / OFF output object (gaengoo) is activated. This is as shown in FIG. Then, the START function is called. The arguments at this time are OID “3” and MID “0”. At this time, since the storage number is “2”, a message log is recorded as indicated by a symbol C in FIG. 11A (S320 in FIG. 9). And OID "3", MID
Since “0” is not an ID indicating the start of the sub-scenario (S3
30: NO), OID "3" is stacked (S35)
0), and the storage number is incremented to “3” (S360). In this method (gaacmg_cut), after a predetermined process, the END function is called. Argument is OI
D “3” and MID “0”. Therefore, the storage number is decremented to “2” (S40 in FIG. 10).
0). The storage number is “2” and the OID
Since “3” and MID “0” are not IDs indicating the end of the sub-scenario, negative determinations are made in both S410 and S430 in FIG.

【0085】このメソッド(gaacmg_cut)の実行が終了
すると、このメソッド(gaacmg_cut)を起動したエアコ
ンカットオブジェクト(eacct)のメソッド(eacc
t_pwon)へコールバックする。図8中にに示す如くで
ある。すると、END関数がコールされる。引数は、O
ID「1」、MID「0」である。したがって、格納数
がデクリメントされて「1」となる(図10中のS40
0)。そして、格納数「1」であり、また、OID
「1」,MID「0」はサブシナリオ終了を示すIDで
ないため、図10中のS410及びS430にて共に否
定判断されることになる。
When the execution of this method (gaacmg_cut) is completed, the method (eacct) of the air conditioner cut object (eacct) that started this method (gaacmg_cut)
t_pwon). As shown in FIG. Then, the END function is called. The argument is O
The ID is “1” and the MID is “0”. Therefore, the storage number is decremented to “1” (S40 in FIG. 10).
0). The storage number is “1”, and the OID
Since “1” and MID “0” are not IDs indicating the end of the sub-scenario, negative determinations are made in both S410 and S430 in FIG.

【0086】そして、エアコンカットオブジェクト(e
acct)のメソッド(eacct_pwon)の実行が終了する
と、このメソッド(eacct_pwon)を起動したスケジュー
ラオブジェクト(elm)のメソッド(elm_pwon)へコ
ールバックする。図8中にに示す如くである。
Then, the air conditioner cut object (e)
When the execution of the method (eacct_pwon) of the (acct) is completed, a callback is made to the method (elm_pwon) of the scheduler object (elm) that started the method (eacct_pwon). As shown in FIG.

【0087】次に、スケジューラオブジェクト(el
m)のメソッド(elm_pwon)からアジャストオブジェク
ト(eadj)のメソッド(eadj_pwon )が起動され
る。図8中のに示す如くである。すると、START
関数がコールされる。このときの引数は、OID
「2」、MID「0」である。このとき、格納数は
「1」であるため、図11(a)中の記号ニで示すよう
に、メッセージログが記録される(図9中のS32
0)。そして、OID「2」,MID「0」はサブシナ
リオ開始を示すIDである(図6(b)参照)。そのた
め、図11(a)中に記号ホで示すように、メッセージ
ログに続けてサブシナリオ開始ログが記録される(S3
40)。そして、OID「2」がスタックされ(S35
0)、さらに、格納数がインクリメントされて「2」と
なる(S360)。
Next, the scheduler object (el
The method (eadj_pwon) of the adjust object (eadj) is started from the method (elm_pwon) of (m). As shown in FIG. Then, START
The function is called. The argument at this time is OID
“2” and MID “0”. At this time, since the storage number is “1”, a message log is recorded as indicated by a symbol d in FIG. 11A (S32 in FIG. 9).
0). OID “2” and MID “0” are IDs indicating the start of the sub-scenario (see FIG. 6B). Therefore, as indicated by the symbol E in FIG. 11A, a sub-scenario start log is recorded following the message log (S3).
40). Then, the OID "2" is stacked (S35).
0), and the storage number is incremented to “2” (S360).

【0088】続いてアジャストオブジェクト(ead
j)のメソッド(eadj_pwon )からSRAMマネージャ
オブジェクト(gasram)のメソッド(u1g_gasram
_write)が起動される。図8中にで示す如くである。
すると、START関数がコールされる。このときの引
数は、OID「4」、MID「0」である。このとき、
格納数は「2」であるため、図11(a)中の記号へで
示すように、メッセージログが記録される(図9中のS
320)。そして、OID「4」,MID「0」はサブ
シナリオ開始を示すIDでないため(S330:N
O)、OID「4」がスタックされ(S350)、さら
に、格納数がインクリメントされて「3」となる(S3
60)。このメソッド(u1g_gasram_write)で、所定処
理の後、END関数がコールされる。引数は、OID
「4」、MID「0」である。したがって、格納数がデ
クリメントされて「2」となる(図10中のS40
0)。そして、格納数「2」であり、また、OID
「4」,MID「0」はサブシナリオ終了を示すIDで
ないため、図10中のS410及びS430にて共に否
定判断されることになる。
Subsequently, the adjustment object (ead
j) method (eadj_pwon) to SRAM manager object (gasram) method (u1g_gasram)
_write) is invoked. This is as shown in FIG.
Then, the START function is called. The arguments at this time are OID “4” and MID “0”. At this time,
Since the stored number is “2”, a message log is recorded as indicated by a symbol in FIG. 11A (S in FIG. 9).
320). Since the OID “4” and the MID “0” are not IDs indicating the start of the sub-scenario (S330: N
O), the OID “4” is stacked (S350), and the storage number is incremented to “3” (S3).
60). In this method (u1g_gasram_write), after a predetermined process, the END function is called. Argument is OID
“4” and MID “0”. Therefore, the storage number is decremented to “2” (S40 in FIG. 10).
0). The storage number is “2” and the OID
Since “4” and MID “0” are not IDs indicating the end of the sub-scenario, negative determinations are made in both S410 and S430 in FIG.

【0089】このSRAMマネージャオブジェクト(g
asram)のメソッド(u1g_gasram_write)の実行が
終了すると、このメソッド(u1g_gasram_write)を起動
したアジャストオブジェクト(eadj)のメソッド
(eadj_pwon )へコールバックする。図8中のに示す
如くである。すると、END関数がコールされる。引数
は、OID「2」、MID「0」である。したがって、
格納数がデクリメントされて「1」となる(図10中の
S400)。そして、OID「2」,MID「0」はサ
ブシナリオ終了を示すIDであるため(図6(b)参
照)、図10中のSS430にて肯定判断され、図11
(a)中の記号トに示すように、サブシナリオ終了ログ
が記録される(S440)。
This SRAM manager object (g
When the execution of the method (u1g_gasram_write) of the asram) is completed, a callback is made to the method (eadj_pwon) of the adjustment object (eadj) that started the method (u1g_gasram_write). As shown in FIG. Then, the END function is called. The arguments are OID “2” and MID “0”. Therefore,
The storage number is decremented to "1" (S400 in FIG. 10). Since OID “2” and MID “0” are IDs indicating the end of the sub-scenario (see FIG. 6B), a positive determination is made in SS430 in FIG.
As shown by the symbol G in (a), a sub-scenario end log is recorded (S440).

【0090】このアジャストオブジェクト(eadj)
のメソッド(eadj_pwon )の実行が終了すると、このメ
ソッド(eadj_pwon )を起動したスケジューラオブジェ
クト(elm)のメソッド(elm_pwon)へコールバック
する。図8中のに示す如くである。すると、END関
数がコールされる。引数は、OID「0」,MID
「0」である。したがって、格納数がデクリメントされ
て「0」となる(図10中のS400)。そのため、S
410にて肯定判断され、図11(a)中の記号チに示
すようにシナリオ終了ログが記録される。
This adjust object (eadj)
When the execution of this method (eadj_pwon) is completed, a callback is made to the method (elm_pwon) of the scheduler object (elm) that started this method (eadj_pwon). As shown in FIG. Then, the END function is called. Arguments are OID "0", MID
It is "0". Therefore, the storage number is decremented to “0” (S400 in FIG. 10). Therefore, S
An affirmative determination is made at 410, and a scenario end log is recorded as indicated by the symbol H in FIG.

【0091】以上がSTART関数及びEND関数によ
る具体的な実行履歴の記録処理である。なお、メモリ上
には図11(b)に示す如く記録されることになる。こ
こで図2に戻るが、このようにして実行履歴記録ブロッ
ク11eで記録された実行履歴は、モニタ/外部出力ブ
ロック11fによって、実行履歴記録装置10のモニタ
12に表示されたり、例えばサーバ90などの外部装置
へ出力されたりする。
The above is a specific execution history recording process using the START function and the END function. The data is recorded on the memory as shown in FIG. Here, returning to FIG. 2, the execution history recorded in the execution history recording block 11e in this way is displayed on the monitor 12 of the execution history recording device 10 by the monitor / external output block 11f, for example, the server 90 or the like. Output to an external device.

【0092】次に、本実施形態の実行履歴記録装置10
の発揮する効果を説明する。本実施形態の実行履歴記録
装置10は、シナリオ情報23に記録されたサブシナリ
オ開始(終了)のオブジェクトID(OID)及びメソ
ッドID(MID)に基づき、各メソッドの実行にあた
ってサブシナリオの開始・終了を判断し、オブジェクト
間のメッセージ送受の履歴中にサブシナリオ開始ログ
(図11(a)中の記号ホに示した)及びサブシナリオ
終了ログ(図11(a)中の記号トに示した)を記録す
る。つまり、オブジェクト指向プログラミングにおける
シナリオの設計思想上の階層構造を考慮し、当該設計思
想に合致した実行履歴を記録するのである。その結果、
シナリオに基づく一連の実行履歴の中に含まれるサブシ
ナリオに基づく実行履歴を区別することができる。例え
ば図11(a)では、記号へで示した実行履歴がサブシ
ナリオに基づく実行履歴である。したがって、設計書で
あるMSCとの対応が明確になり、MSCと実行履歴と
の対応付けが容易になる。また、サブシナリオ開始ログ
として、開始標識「S」と共にサブシナリオIDを記録
するようにしたため、シナリオの中に複数のサブシナリ
オが存在する場合であっても、どの履歴がどのサブシナ
リオに対応する履歴であるかを容易に特定できる。
Next, the execution history recording apparatus 10 of the present embodiment
The effect exhibited by will be described. The execution history recording device 10 according to the present embodiment starts and ends the sub-scenario when executing each method based on the object ID (OID) of the sub-scenario start (end) and the method ID (MID) recorded in the scenario information 23. And a sub-scenario start log (shown by symbol E in FIG. 11A) and a sub-scenario end log (shown by symbol G in FIG. 11A) in the history of message transmission and reception between objects. Record That is, considering the hierarchical structure of the design concept of the scenario in the object-oriented programming, the execution history that matches the design concept is recorded. as a result,
An execution history based on a sub-scenario included in a series of execution history based on a scenario can be distinguished. For example, in FIG. 11A, an execution history indicated by a symbol is an execution history based on a sub-scenario. Therefore, the correspondence with the MSC, which is the design document, becomes clear, and the correspondence between the MSC and the execution history becomes easy. Further, since the sub-scenario ID is recorded as the sub-scenario start log together with the start indicator “S”, even if a plurality of sub-scenarios exist in the scenario, which history corresponds to which sub-scenario. It can be easily specified whether the history is history.

【0093】また、本実施形態の実行履歴記録装置10
は、オブジェクトやメソッドを特定するための情報とし
てオブジェクトID(OID)及びメソッドID(MI
D)を用いている。そして、メモリ上には図11(b)
に示すように、このオブジェクトID及びメソッドID
を用いてメッセージログを記録する。これによって、オ
ブジェクト名やメソッド名をそのまま記録するのに比べ
て、例えば実行履歴を記録するファイルの大きさを小さ
くすることができる。さらに、その実行履歴を実行履歴
記録装置10のモニタ12に表示する場合に、実行履歴
が何画面にも跨って表示される可能性を小さくすること
ができる。
Further, the execution history recording device 10 of the present embodiment
Is an object ID (OID) and a method ID (MI
D) is used. Then, on the memory, FIG.
As shown in the table, the object ID and the method ID
To record the message log. This makes it possible to reduce the size of the file for recording the execution history, for example, as compared with recording the object name or method name as it is. Further, when the execution history is displayed on the monitor 12 of the execution history recording device 10, the possibility that the execution history is displayed over many screens can be reduced.

【0094】さらにまた、本実施形態の実行履歴記録装
置10は、オブジェクト及びメソッドと、オブジェクト
及びメソッドを特定するためのオブジェクトID(OI
D)及びメソッドID(MID)との対応関係を示すI
D対応テーブル(図3(b)に示すテーブル)を、オブ
ジェクト情報22、すなわちオブジェクト名及びオブジ
ェクトの有するメソッド名の一覧情報(図3(a)に示
す情報)から作成する。そして、このID対応テーブル
に基づいて、シナリオ情報23を変換し、また、ソース
プログラム21に実行履歴を記録するためのプローブを
埋め込む。したがって、利用者は、オブジェクト名及び
オブジェクトの有するメソッド名の一覧情報であるオブ
ジェクト情報22を作成すれば、オブジェクト及びメソ
ッドとIDとの対応関係を何等考慮する必要がない。そ
のため、利用者にとって便利である。
Further, the execution history recording device 10 of the present embodiment is configured to execute the object and method and the object ID (OI) for specifying the object and method.
D) and I indicating the corresponding relationship with the method ID (MID)
The D correspondence table (the table shown in FIG. 3B) is created from the object information 22, that is, the list information of the object names and the method names of the objects (the information shown in FIG. 3A). Then, based on the ID correspondence table, the scenario information 23 is converted, and a probe for recording an execution history is embedded in the source program 21. Therefore, if the user creates the object information 22 that is a list of the object names and the method names of the objects, there is no need to consider the correspondence between the objects, the methods, and the IDs. Therefore, it is convenient for the user.

【0095】また、本実施形態の実行履歴記録装置10
では、ソースプログラム21に実行履歴を記録するため
のプローブを自動的に埋め込む。そのため、利用者は、
エディタなどを用いてソースプログラム21に手を加え
る必要がなく、作成したソースプログラム21をそのま
ま用いて実行履歴を得ることができる。
Further, the execution history recording device 10 of the present embodiment
Then, a probe for recording the execution history is automatically embedded in the source program 21. Therefore, the user
There is no need to modify the source program 21 using an editor or the like, and the execution history can be obtained using the created source program 21 as it is.

【0096】なお、本実施形態の実行履歴記録装置10
の装置本体11が備えるコンピュータシステムが「実行
手段」、「履歴記録手段」、「処理ステップ挿入手段」
及び「対応関係作成手段」に相当する。そして、図9及
び図10のフローチャートで示した処理が履歴記録手段
としての処理に相当し、図4のフローチャートで示した
処理が処理ステップ挿入手段としての処理に相当し、図
2中のID対応テーブル作成ブロック11aにて実行さ
れるID対応テーブル作成処理が対応関係作成手段とし
ての処理に相当する。
The execution history recording device 10 of the present embodiment
The computer system included in the apparatus main body 11 is composed of an “executing unit”, a “history recording unit”, and a “processing step inserting unit”.
And "correspondence creating means". The processing shown in the flowcharts of FIGS. 9 and 10 corresponds to the processing as the history recording means, the processing shown in the flowchart of FIG. 4 corresponds to the processing as the processing step inserting means, and the ID correspondence in FIG. The ID correspondence table creation processing executed in the table creation block 11a corresponds to the processing as the correspondence creating means.

【0097】以上、本発明はこのような実施形態に何等
限定されるものではなく、本発明の主旨を逸脱しない範
囲において種々なる形態で実施し得る。例えば上記実施
形態の実行履歴記録装置10では、一連の実行履歴にサ
ブシナリオの開始を示すサブシナリオ開始ログ、サブシ
ナリオの終了を示すサブシナリオ終了ログを記録してサ
ブシナリオに対応する履歴を区別する構成であったが、
例えばサブシナリオに対応する実行履歴と、その他の履
歴を別個のファイルに記録するようにしてもよい。ま
た、サブシナリオに基づくプログラムについて既にテス
トが行われている前提の下では、サブシナリオに対応す
る履歴は記録しないようにすることも考えられる。
As described above, the present invention is not limited to such embodiments at all, and can be implemented in various forms without departing from the gist of the present invention. For example, in the execution history recording device 10 of the above embodiment, a sub-scenario start log indicating the start of a sub-scenario and a sub-scenario end log indicating the end of a sub-scenario are recorded in a series of execution histories to distinguish the history corresponding to the sub-scenario. It was a configuration that
For example, the execution history corresponding to the sub-scenario and another history may be recorded in separate files. It is also conceivable that the history corresponding to the sub-scenario is not recorded under the premise that the program based on the sub-scenario has already been tested.

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

【図1】実施形態の実行履歴記録システムを示す説明図
である。
FIG. 1 is an explanatory diagram illustrating an execution history recording system according to an embodiment.

【図2】実行履歴記録装置の装置本体における処理を示
す説明図である。
FIG. 2 is an explanatory diagram showing a process in a device main body of the execution history recording device.

【図3】(a)はオブジェクト情報を示すテーブルであ
り、(b)は識別番号の対応を示すID対応テーブルで
ある。
3A is a table showing object information, and FIG. 3B is an ID correspondence table showing correspondence of identification numbers.

【図4】プローブ埋め込み処理を示すフローチャートで
ある。
FIG. 4 is a flowchart showing a probe embedding process.

【図5】プローブの埋め込みを具体的に示す説明図であ
る。
FIG. 5 is an explanatory view specifically showing embedding of a probe.

【図6】(a)はシナリオ情報を示す説明図であり、
(b)はID対応テーブルに基づいて変換されたシナリ
オ情報を示す説明図である。
FIG. 6A is an explanatory diagram showing scenario information;
(B) is an explanatory view showing scenario information converted based on the ID correspondence table.

【図7】実施形態のプログラムのMSCである。FIG. 7 is an MSC of the program of the embodiment.

【図8】オブジェクトの結合をソースプログラムのレベ
ルで示した説明図である。
FIG. 8 is an explanatory diagram showing a combination of objects at a source program level.

【図9】START関数処理を示すフローチャートであ
る。
FIG. 9 is a flowchart showing a START function process.

【図10】END関数処理を示すフローチャートであ
る。
FIG. 10 is a flowchart showing an END function process.

【図11】実行履歴の記録例を示した説明図である。FIG. 11 is an explanatory diagram showing a recording example of an execution history.

【図12】オブジェクト指向プログラムの設計を示すた
めの説明図である。
FIG. 12 is an explanatory diagram showing a design of an object-oriented program.

【図13】シナリオの有する設計思想上の階層構造を示
すための説明図である。
FIG. 13 is an explanatory diagram showing a hierarchical structure in a design concept of a scenario.

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

10…実行履歴記録装置 11…装置本
体 11a…ID対応テーブル作成ブロック 11b…プロ
ーブ埋め込みブロック 11c…コンパイルブロック 11d…シナ
リオ情報変換ブロック 11e…実行履歴収集ブロック 11f…モニ
タ/外部出力ブロック 12…モニタ 13…キーボ
ード 20…ハードディスク装置 21…ソース
プログラム 22…オブジェクト情報 23…シナリ
オ情報 90…サーバ 91…装置本
体 92…モニタ
DESCRIPTION OF SYMBOLS 10 ... Execution history recording device 11 ... Device main body 11a ... ID correspondence table creation block 11b ... Probe embedding block 11c ... Compile block 11d ... Scenario information conversion block 11e ... Execution history collection block 11f ... Monitor / external output block 12 ... Monitor 13 ... Keyboard 20 ... Hard disk device 21 ... Source program 22 ... Object information 23 ... Scenario information 90 ... Server 91 ... Device body 92 ... Monitor

Claims (13)

【特許請求の範囲】[Claims] 【請求項1】単位機能毎に細分化したオブジェクトにて
構成されるオブジェクト指向のプログラムに基づく処理
を実行する実行手段と、該実行手段による処理実行によ
って生じる前記オブジェクト間におけるメッセージ送受
の履歴を記録する履歴記録手段とを備えた実行履歴記録
装置であって、 前記プログラムは、前記オブジェクト間におけるメッセ
ージ送受の手順を示すシナリオに基づき作成されたもの
であり、 前記シナリオは設計思想上の階層構造を有しており、当
該シナリオの下位階層にサブシナリオを含むことを前提
として、 前記履歴記録手段は、前記サブシナリオに対応する前記
メッセージ送受を特定するための情報であるサブシナリ
オ情報に基づいて、前記サブシナリオに対応する前記メ
ッセージ送受を判断し、当該サブシナリオに対応する前
記メッセージ送受の履歴を他の履歴と区別できる形式
で、前記メッセージ送受の履歴を記録するよう構成され
ていることを特徴とするプログラムの実行履歴記録装
置。
An execution means for executing a process based on an object-oriented program composed of objects subdivided for each unit function, and a history of message transmission and reception between the objects caused by the execution of the process by the execution means. An execution history recording device comprising: a program that is created based on a scenario showing a procedure for transmitting and receiving a message between the objects, wherein the scenario has a hierarchical structure based on a design concept. Has the premise that a sub-scenario is included in the lower hierarchy of the scenario, based on the sub-scenario information that is information for specifying the message transmission / reception corresponding to the sub-scenario, Judge the message transmission / reception corresponding to the sub-scenario, and Said message transmission and reception of history corresponding to O in a format that can be distinguished from other history, execution history recording unit of a program, characterized in that it is configured to record the history of the message transmission and reception.
【請求項2】請求項1に記載の実行履歴記録装置におい
て、 前記履歴記録手段は、前記サブシナリオに対応する履歴
が特定できる形式で、前記他の履歴と共に前記サブシナ
リオに対応する履歴を記録するよう構成されていること
を特徴とするプログラムの実行履歴記録装置。
2. The execution history recording apparatus according to claim 1, wherein the history recording unit records the history corresponding to the sub-scenario together with the other histories in a format in which the history corresponding to the sub-scenario can be specified. An execution history recording device for a program, wherein
【請求項3】請求項2に記載の実行履歴記録装置におい
て、 前記履歴記録手段は、前記サブシナリオに対応する履歴
と当該サブシナリオとを対応付ける情報を記録するよう
構成されていることを特徴とするプログラムの実行履歴
記録装置。
3. The execution history recording apparatus according to claim 2, wherein the history recording means is configured to record information for associating a history corresponding to the sub-scenario with the sub-scenario. Execution history recording device of the program to be executed.
【請求項4】請求項1に記載の実行履歴記録装置におい
て、 前記履歴記録手段は、前記サブシナリオに対応する履歴
と、前記他の履歴とを別個に記録するよう構成されてい
ることを特徴とするプログラムの実行履歴記録装置。
4. The execution history recording device according to claim 1, wherein the history recording means is configured to separately record a history corresponding to the sub-scenario and the other history. An execution history recording device for a program.
【請求項5】請求項1に記載の実行履歴記録装置におい
て、 前記履歴記録手段は、前記他の履歴のみを記録するよう
構成されていることを特徴とするプログラムの実行履歴
記録装置。
5. The execution history recording device according to claim 1, wherein the history recording means is configured to record only the other history.
【請求項6】請求項1〜5のいずれかに記載の実行履歴
記録装置において、 前記サブシナリオ情報は、前記サブシナリオに対応する
前記メッセージ送受の開始・終了に係るメソッドを特定
する情報であり、 前記履歴記録手段は、実行されたメソッドが、前記サブ
シナリオ情報に特定されたメソッドであるか否かによっ
て、前記サブシナリオに対応する前記メッセージ送受の
開始・終了を判断するよう構成されていることを特徴と
するプログラムの実行履歴記録装置。
6. The execution history recording device according to claim 1, wherein the sub-scenario information is information for specifying a method related to start / end of the message transmission / reception corresponding to the sub-scenario. The history recording unit is configured to determine the start / end of the message transmission / reception corresponding to the sub-scenario depending on whether the executed method is the method specified in the sub-scenario information. A program execution history recording device, characterized in that:
【請求項7】請求項6に記載の実行履歴記録装置におい
て、 前記プログラムに基づく処理の実行によりコンピュータ
システムが前記履歴記録手段として機能するように構成
されており、 前記各オブジェクトのメソッドが、前記履歴記録手段と
しての処理ステップ又は前記履歴記録手段としての処理
をコールするための処理ステップである記録ステップを
備えており、 前記各オブジェクトのメソッドが備える記録ステップに
は、当該メソッドを特定するための情報が記録されてい
ることを特徴とするプログラムの実行履歴記録装置。
7. The execution history recording apparatus according to claim 6, wherein a computer system functions as said history recording means by executing a process based on said program, and wherein a method of each of said objects is It has a recording step which is a processing step as a history recording means or a processing step for calling the processing as the history recording means, and the recording step provided for the method of each object includes a method for specifying the method. An execution history recording device for a program, wherein information is recorded.
【請求項8】請求項7に記載の実行履歴記録装置におい
て、 さらに、前記記録ステップを、作成された前記プログラ
ムに対して自動的に挿入する記録ステップ挿入手段を備
えていることを特徴とするプログラムの実行履歴記録装
置。
8. The execution history recording apparatus according to claim 7, further comprising recording step inserting means for automatically inserting said recording step into said created program. Program execution history recording device.
【請求項9】請求項5〜8のいずれかに記載の実行履歴
記録装置において、 前記メソッドを特定するための情報は、所定の対応関係
に基づいて付される識別番号であることを特徴とするプ
ログラムの実行履歴記録装置。
9. The execution history recording apparatus according to claim 5, wherein the information for specifying the method is an identification number assigned based on a predetermined correspondence. Execution history recording device of the program to be executed.
【請求項10】請求項9に記載の実行履歴記録装置にお
いて、 さらに、前記各メソッドと識別番号との対応関係を、前
記各オブジェクト及び当該オブジェクトの有するメソッ
ドの一覧情報から作成する対応関係作成手段を備えてい
ることを特徴とするプログラムの実行履歴記録装置。
10. The execution history recording device according to claim 9, further comprising: a correspondence relationship creating means for creating a correspondence relationship between each method and an identification number from the list information of each object and a method of the object. An execution history recording device for a program, comprising:
【請求項11】請求項1〜10のいずれかに記載の実行
履歴記録装置において、 前記オブジェクト間におけるメッセージ送受が関数コー
ルの手法で実現されていることを前提として、 前記履歴記録手段は、前記メッセージ送受がある毎に、
当該メッセージ送受によって起動されたメソッドにて、
当該メソッドに対応するオブジェクトを特定するための
情報を記録していき、一方、当該オブジェクトのメソッ
ドからのコールバックがある毎に、当該最後に記録した
前記情報から順に削除していくよう構成されていること
を特徴とするプログラムの実行履歴記録装置。
11. The execution history recording apparatus according to claim 1, wherein the message transmission and reception between the objects is realized by a function call method. Each time a message is sent or received,
In the method started by sending and receiving the message,
It is configured to record information for identifying an object corresponding to the method, and to delete the information sequentially from the last recorded information every time there is a callback from the method of the object. An execution history recording device for a program.
【請求項12】請求項1〜11のいずれかに記載の実行
履歴記録装置において、 前記オブジェクト間におけるメッセージ送受が関数コー
ルの手法で実現されていることを前提として、 前記履歴記録手段は、前記メッセージ送受の回数と当該
メッセージ送受によって起動されたメソッドからのコー
ルバック回数とが同じになると、前記履歴の記録を終了
するよう構成されていることを特徴とするプログラムの
実行履歴記録装置。
12. The execution history recording apparatus according to claim 1, wherein the message transmission and reception between the objects is realized by a function call method. An execution history recording device for a program, wherein the recording of the history is terminated when the number of times of message transmission / reception is equal to the number of callbacks from a method activated by the message transmission / reception.
【請求項13】請求項1〜12のいずれかに記載の実行
履歴記録装置の各手段としてコンピュータシステムを機
能させるためのプログラムを記録したコンピュータ読み
取り可能な記録媒体。
13. A computer-readable recording medium in which a program for causing a computer system to function as each means of the execution history recording device according to claim 1 is recorded.
JP11076013A 1999-03-19 1999-03-19 Program execution history recorder and recording medium Pending JP2000267898A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11076013A JP2000267898A (en) 1999-03-19 1999-03-19 Program execution history recorder and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11076013A JP2000267898A (en) 1999-03-19 1999-03-19 Program execution history recorder and recording medium

Publications (1)

Publication Number Publication Date
JP2000267898A true JP2000267898A (en) 2000-09-29

Family

ID=13592949

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11076013A Pending JP2000267898A (en) 1999-03-19 1999-03-19 Program execution history recorder and recording medium

Country Status (1)

Country Link
JP (1) JP2000267898A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002215420A (en) * 2000-10-10 2002-08-02 Ricoh Co Ltd Image forming device, process monitoring method, debugging method and program for making computer execute these methods
JP2007065718A (en) * 2005-08-29 2007-03-15 Hitachi Software Eng Co Ltd Display method and system for supporting tracing program operation processes
JP2012221174A (en) * 2011-04-07 2012-11-12 Fujitsu Ltd Code conversion method, device and program, and method for responding to request residual time

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002215420A (en) * 2000-10-10 2002-08-02 Ricoh Co Ltd Image forming device, process monitoring method, debugging method and program for making computer execute these methods
JP2007065718A (en) * 2005-08-29 2007-03-15 Hitachi Software Eng Co Ltd Display method and system for supporting tracing program operation processes
JP2012221174A (en) * 2011-04-07 2012-11-12 Fujitsu Ltd Code conversion method, device and program, and method for responding to request residual time
US9026988B2 (en) 2011-04-07 2015-05-05 Fujitsu Limited Code conversion method, apparatus, storage medium and request remaining time response method

Similar Documents

Publication Publication Date Title
JP3732731B2 (en) Scripters and interpreters
CN105045663B (en) The method and system of rapid deployment virtual machine
US6662363B1 (en) Method, system and recording medium for installing software in computer
US8861021B2 (en) Installation method, installation program and computer-readable record medium
JP2005031975A (en) Information providing system
WO2020199543A1 (en) Method and apparatus applicable to release and upgrade of hybrid application, and intelligent device
CN113448643B (en) Configuration data management system and method
CN103455288B (en) Information processor and control method
CN113133041B (en) Method and device for testing vehicle-to-vehicle communication function in dynamic interval train control vehicle
JP2000267898A (en) Program execution history recorder and recording medium
US8533702B2 (en) Dynamically resolving fix groups for managing multiple releases of multiple products on multiple systems
JPH10275093A (en) Program test support device
US6351826B1 (en) Method and apparatus for automatically verifying communication software
JP4158423B2 (en) Driver installation system, method thereof and program thereof
JP2003099285A (en) Method and device for preparing test case related to function competition and program therefor
JP2009080536A (en) Bom editing device, editing program, editing system and editing method
CN109634923A (en) Obtain the method and computer readable storage medium of executable file in operating system
JP2006031424A (en) Software development environment generation system by reuse of software component
JP4490084B2 (en) Program creation method in program development system
JP4158422B2 (en) Driver installation system, method thereof and program thereof
CN109725922B (en) Small system upgrading method, system and related device
US7027948B2 (en) Testing apparatus, method of controlling the same, and program for implementing the method
JP3107975B2 (en) System test specification generator
CN106528183B (en) Method and device for creating control and computer program
JP2006073020A (en) Firmware transmitting program, data transmitting device, firmware transmitting method, and firmware updating system

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040427