JP2002268879A - A program design support device, a program design support method, and a program for causing a computer to execute the program design support method. - Google Patents
A program design support device, a program design support method, and a program for causing a computer to execute the program design support method.Info
- Publication number
- JP2002268879A JP2002268879A JP2001062755A JP2001062755A JP2002268879A JP 2002268879 A JP2002268879 A JP 2002268879A JP 2001062755 A JP2001062755 A JP 2001062755A JP 2001062755 A JP2001062755 A JP 2001062755A JP 2002268879 A JP2002268879 A JP 2002268879A
- Authority
- JP
- Japan
- Prior art keywords
- execution time
- execution
- time
- program
- prediction
- 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
Links
Landscapes
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Abstract
(57)【要約】
【課題】 プログラムに含まれる各アクションの実行時
間を予測し、プログラムの開発効率及び品質の向上を図
る。
【解決手段】 状態遷移エディタ部1が、プログラムの
状態遷移情報を記述し、状態遷移時間予測比較部4が、
状態遷移情報に記述されたアクションのうち処理の実行
に許容される時間(実行制限時間)が指定されたアクシ
ョンについて、プログラム部品情報データベース3に記
録された情報を用いる等して、処理の実行に要する時間
(実行予測時間)を予測し、予測した実行予測時間と実
行制限時間とを比較し、比較結果を提示する。
(57) [Summary] [PROBLEMS] To predict the execution time of each action included in a program and improve the development efficiency and quality of the program. SOLUTION: A state transition editor unit 1 describes state transition information of a program, and a state transition time prediction comparing unit 4
Of the actions described in the state transition information, for the action for which the time (execution limit time) allowed to execute the process is specified, the action recorded in the program component information database 3 is used to execute the process. The required time (execution prediction time) is predicted, the predicted execution prediction time is compared with the execution limit time, and the comparison result is presented.
Description
【0001】[0001]
【発明の属する技術分野】本発明は、プログラム設計の
うち状態遷移に関する仕様設計を支援する方式に係り、
特に状態遷移に要するプログラムの処理時間に関する設
計作業を支援するプログラム設計支援技術に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a method for supporting specification design related to state transition in program design.
In particular, the present invention relates to a program design support technology for supporting a design work related to a processing time of a program required for state transition.
【0002】[0002]
【従来の技術】情報処理技術の急激な発展と適用分野の
拡大に伴い、開発するプログラムの規模及び機能は一般
に急激に拡大している。本状況に対し現在、プログラム
の開発効率向上や品質向上に向けた各種技術が開発され
ている。例えば制御系や通信系あるいは組込み系のプロ
グラムでは一般に、複数の状態とその状態間の遷移とし
てプログラムの動作仕様を定めることが多く、このため
これらの分野におけるソフトウェア開発では、状態遷移
の仕様を形式的に記述することでプログラムの仕様設計
を支援する方法が開発されている。2. Description of the Related Art With the rapid development of information processing technology and the expansion of application fields, the scale and functions of programs to be developed are generally rapidly expanding. In response to this situation, various technologies are being developed to improve program development efficiency and quality. For example, in a control system, communication system, or embedded system program, the operation specifications of a program are often defined as a plurality of states and transitions between the states. A method has been developed to support the design specification of a program by describing it in a way that is described in a specific way.
【0003】図10は、特開平7−78076「プログ
ラム自動生成装置」にて示されている状態遷移の記述例
である。本方式は広く状態遷移図として知られている記
述方式であり、複数の状態、状態間の遷移、イベント、
アクションという4つの要素を含んでいる。イベントは
システム内で発生する事象であり、アクションはイベン
トの発生によりある状態から別の状態へ遷移する際に行
う処理である。本記述方式では状態は丸で、また状態間
の遷移は矢印で、イベント及びアクションは遷移に付随
して「/」の両側に「イベント/アクション」といった
形式で記述し、図10の例では、SN1、SN2はそれ
ぞれ異なる状態を表し、SN1からSN2に向かう矢印
は状態SN1から状態SN2へ遷移を表し、en1はそ
の遷移が発生するときの契機となるイベントを表し、a
n1はその遷移に際し行うアクションを表す。FIG. 10 is a description example of a state transition described in Japanese Patent Application Laid-Open No. 7-78076 “Automatic Program Generator”. This method is a description method widely known as a state transition diagram, and includes a plurality of states, transitions between states, events,
It contains four elements called actions. An event is an event that occurs in the system, and an action is a process performed when a transition from one state to another state occurs due to the occurrence of the event. In this description method, states are circles, transitions between states are arrows, and events and actions are described in the form of “event / action” on both sides of “/” accompanying the transition. In the example of FIG. SN1 and SN2 represent different states, respectively, an arrow from SN1 to SN2 represents a transition from state SN1 to state SN2, en1 represents an event that triggers the transition to occur, and a
n1 represents an action performed at the time of the transition.
【0004】状態遷移の形式的記述には、状態遷移図の
ほかステートチャートや状態遷移表といった記述方式も
広く用いられている。ステートチャートはUML(Un
iform Modeling Language)で
定義されている状態遷移の記述方式であり、状態遷移図
に比較すると状態の階層化や平行した状態遷移を容易に
記述できるといった特徴がある。しかし基本的には状態
遷移図に類似した図形による記述方式を採用しており、
状態を長方形で、遷移を状態間の矢印で、イベント及び
アクションを遷移に対する付記として記述する。一方、
状態遷移表は表形式による記述方式であり、列(横方
向)に状態を、行(縦方向)にイベントを列挙し、行及
び列の交点となる表内の各セルを、対応する列が示す状
態において対応する行が示すイベントを契機として発生
する遷移として、そのときの遷移先の状態及びアクショ
ンをこれら各セル内に記述する。状態遷移表による状態
遷移の記述の例を図11に示す。本例では、状態SN1
ではイベントen1を契機とした遷移では、アクション
an1を行い状態SN2に遷移することを示している。
この記述内容は図10に示す状態遷移図を用いた記述例
と等価である。For the formal description of the state transition, a description method such as a state chart or a state transition table in addition to a state transition diagram is widely used. The state chart is UML (Un
This is a method for describing state transitions defined in the "form modeling language", and has a feature that, compared with a state transition diagram, hierarchical state transitions and parallel state transitions can be easily described. However, it basically uses a description method using figures similar to state transition diagrams,
The state is described as a rectangle, the transition is described as an arrow between the states, and the event and the action are described as notes to the transition. on the other hand,
The state transition table is a description method in a table format, in which a state is enumerated in a column (horizontal direction), an event is enumerated in a row (vertical direction), and each cell in the table which is an intersection of a row and a column is represented by a corresponding column. As the transition that occurs in response to the event indicated by the corresponding row in the indicated state, the state and action of the transition destination at that time are described in each of these cells. FIG. 11 shows an example of the description of the state transition using the state transition table. In this example, the state SN1
In the transition triggered by the event en1, the action an1 is performed and the state transits to the state SN2.
This description is equivalent to a description example using the state transition diagram shown in FIG.
【0005】前述の通り、制御系や通信系あるいは組込
み系のプログラムでは、その動作を状態遷移によって記
述できる場合が多いため、これらの分野のソフトウェア
開発では、その設計段階にて、前述した状態遷移図、ス
テートチャート、状態遷移表、あるいはさらに同等の記
述能力を持つ他の方式を用いて、状態遷移の形式的な記
述を利用することが広く行われている。これらの形式的
記述方式を採用することで、プログラムの動作仕様を明
確に記述し、またその正確さを容易に検証できるように
なり、プログラムの開発効率向上や品質向上を図ること
ができる。このような状態遷移の形式的記述方式は、上
記分野だけでなく、例えば機器のユーザインタフェース
を実現するプログラムの設計でも用いられる。機器に対
する利用者の操作をイベントとすることで、ユーザイン
タフェースの動作は状態遷移として表すことができ、や
はり状態遷移の形式的記述方式を用いることで、プログ
ラムの開発効率の向上や品質向上を図れるためである。As described above, since the operation of a control system, a communication system, or an embedded system can often be described by state transitions, in software development in these fields, the state transition described above is performed at the design stage. It is widely used to use formal descriptions of state transitions using diagrams, statecharts, state transition tables, or other methods with equivalent description capabilities. By adopting these formal description methods, it becomes possible to clearly describe the operation specifications of the program and to easily verify its accuracy, thereby improving the development efficiency and quality of the program. Such a formal description method of state transition is used not only in the above-mentioned field but also in, for example, design of a program for realizing a user interface of a device. The operation of the user interface can be represented as a state transition by using the user's operation on the device as an event, and the formal description method of the state transition also improves program development efficiency and quality. That's why.
【0006】ところで、制御系や通信系ないし組込み系
のシステムでは、その処理に要する時間に制約がある、
すなわちリアルタイム動作を要求される場合が通常であ
る。また機器のユーザインタフェースについても、利用
者に対する快適な操作性を実現するため、プログラム設
計上ユーザの操作から応答までに要する時間に制約を定
めることが多い。In a control system, a communication system, or an embedded system, the time required for the processing is limited.
That is, a real-time operation is usually required. Also, with regard to the user interface of the device, in order to realize comfortable operability for the user, there are many cases where restrictions are imposed on the time required from the operation of the user to the response in designing the program.
【0007】しかし、開発したシステムが時間的制約を
満たして動作できるか否かは、一般には開発しているプ
ログラムが動き始めた段階で実測することで初めて判断
する。この場合、まずプログラムを動作させ設計上の時
間的制約を満たしているかの測定を行い、問題があれば
その内部動作を解析し、時間超過の原因となる不具合を
除去するか、あるいは動作ロジックを改善することで処
理時間の短縮を図るといった作業を繰り返し、最終的に
設計上の時間的制約を満たすようにする、あるいは不都
合のない程度に収めるようにしている。なお組込み系の
ソフトウェア開発では、プログラムの実行時間を実測す
る代わりに、H/Wシミュレータなどを用いてプログラ
ムを仮想的に動作させることでプログラムの実行時間を
求める、あるいはプログラムの実行モジュールからCP
U命令の実行時間を積み上げることでプログラムの動作
時間を推定することもあるが、プログラムの動作時間の
改善作業自体は、前述した作業手順と同じである。However, whether or not the developed system can operate while satisfying the time constraint is generally determined only by actually measuring when the program under development starts to operate. In this case, first run the program and measure whether it meets the design time constraints, and if there is a problem, analyze its internal operation and remove the problem that caused the time over, or change the operation logic. The work of shortening the processing time by improving the quality is repeated to finally satisfy the design time constraint, or to minimize the problem. In the development of embedded software, instead of actually measuring the execution time of the program, the execution time of the program is obtained by virtually operating the program using an H / W simulator or the like.
Although the operation time of the program may be estimated by accumulating the execution time of the U instruction, the operation itself for improving the operation time of the program is the same as the operation procedure described above.
【0008】このため設計段階で定めたプログラムの動
作時間に関する制約の達成状況、すなわち性能品質は、
ソースコードを作成しプログラムが動作可能となるプロ
グラム開発の下流工程にならないと検証することができ
ず、問題があった場合に作業の手戻りが大きく、開発工
程の遅延を引き起こしやすいという問題点がある。また
検証及び改善作業では測定作業の繰り返しが必要である
ため作業工数が多くかかり、これによっても開発工程の
遅延を引き起こしやすいという問題点がある。For this reason, the achievement status of the constraint on the operation time of the program determined at the design stage, that is, the performance quality is
It cannot be verified unless the source code is created and it is not a downstream process of program development that makes the program operable.If there is a problem, the rework is large and the development process is likely to be delayed. is there. Further, in the verification and improvement work, the measurement work needs to be repeated, so that the number of man-hours is increased, which also tends to cause a delay in the development process.
【0009】また一般には、プログラム設計段階におい
てプログラムの動作時間に関する制約を形式的に記述で
きることは少なく、通常は、プログラムのロジックに関
する設計情報とは別に、プログラム設計情報に付随した
コメントといった形で別途自然言語にて記述することが
多い。例えば前述した状態遷移に関する形式的な記述方
式ではいずれも、アクションについてその処理に許容さ
れる実行時間、即ち実行許容時間(以下、実行制限時間
ともいう)に関する記述は形式化されていない。このた
め状態遷移の動作に関する設計情報と実行制限時間に関
する設計情報は連携して取り扱うことが困難で、実行制
限時間に関する設計情報は見落とされやすく、そのため
実行制限時間に関する試験も設計時に見落としが起きや
すいといった問題点がある。[0009] In general, it is rare to formally describe constraints on the operation time of a program at the program design stage, and usually, separately from design information on the logic of the program, a comment attached to the program design information is separately provided. Often described in natural language. For example, in any of the formal description methods related to the state transition described above, the description of the execution time permitted for the processing of the action, that is, the description of the allowable execution time (hereinafter, also referred to as execution limit time) is not formalized. For this reason, it is difficult to handle the design information on the state transition operation and the design information on the execution time limit in cooperation with each other, and the design information on the execution time limit is easily overlooked. There is such a problem.
【0010】[0010]
【発明が解決しようとする課題】この発明は上記のよう
な従来技術の持つ問題点を解決するためになされたもの
で、状態遷移の設計に際して、そのアクションの処理に
許容される制限時間(実行制限時間)を同時に記述し、
設計段階でその達成状況すなわち性能品質を推定し、ま
た対策に向けた情報を提示することで、ソフトウェア開
発の下流工程で発生する不具合を減少させ、プログラム
の開発効率と品質を向上させる、プログラム設計支援方
式を得ることを目的とする。SUMMARY OF THE INVENTION The present invention has been made to solve the above-mentioned problems of the prior art. In designing a state transition, a time limit (execution time) allowed for processing of the action is considered. Time limit) at the same time,
Program design that estimates the achievement status, that is, performance quality, at the design stage, and presents information for countermeasures, thereby reducing defects that occur in the downstream process of software development and improving program development efficiency and quality. The purpose is to obtain a support system.
【0011】[0011]
【課題を解決するための手段】本発明に係るプログラム
設計支援装置は、処理の実行に許容される時間が実行許
容時間として指定された指定処理工程を含むプログラム
について、前記指定処理工程の実行に要する時間を予測
して実行予測時間を導出し、前記指定処理工程の実行予
測時間と実行許容時間とを比較する実行時間予測比較部
と、前記実行時間予測比較部による比較結果を提示する
比較結果出力部とを有することを特徴とする。According to the present invention, there is provided a program design support apparatus for executing a program including a designated processing step designated as a time allowed for execution of a process as an allowed execution time. An execution time prediction comparing unit for estimating a required time to derive an execution prediction time, and comparing the execution prediction time of the designated processing step with the permissible execution time, and a comparison result presenting a comparison result by the execution time prediction comparing unit And an output unit.
【0012】前記実行時間予測比較部は、前記プログラ
ムにおける状態の遷移と、前記状態の遷移の際に実行さ
れる処理工程とが示された状態遷移情報を入力し、入力
した前記状態遷移情報に示された処理工程のうち前記指
定処理工程の実行予測時間を導出することを特徴とす
る。The execution time prediction comparing section inputs state transition information indicating a state transition in the program and a processing step executed at the time of the state transition, and inputs the state transition information to the input state transition information. It is characterized in that an estimated execution time of the designated processing step among the indicated processing steps is derived.
【0013】前記指定処理工程は、少なくとも一つ以上
の内部処理工程を含み、前記実行時間予測比較部は、各
内部処理工程の実行に要する時間を予測して各内部処理
工程の実行予測時間を導出し、各内部処理工程の実行予
測時間の合計値と前記指定処理工程の実行許容時間とを
比較することを特徴とする。The designated processing step includes at least one or more internal processing steps, and the execution time prediction comparing section predicts a time required for executing each internal processing step and calculates an estimated execution time of each internal processing step. It is characterized in that a total value of predicted execution times of the respective internal processing steps is compared with a permissible execution time of the designated processing step.
【0014】前記指定処理工程は、前記内部処理工程と
して、プログラム部品の実行処理を含み、前記プログラ
ム設計支援装置は、前記プログラム部品の実行処理の平
均時間が示された平均実行時間情報及びプログラム部品
の実行処理の最大時間が示された最大実行時間情報のう
ち少なくともいずれか一つを記憶するプログラム部品情
報データベースを有し、前記実行時間予測比較部は、前
記プログラム部品情報データベースに記憶された前記平
均実行時間情報及び最大実行時間情報のうち少なくとも
いずれか一つに基づき、前記プログラム部品の実行処理
に要する時間を予測して前記プログラム部品の実行処理
の実行予測時間を導出することを特徴とする。The designation processing step includes, as the internal processing step, an execution process of a program part. The program design support apparatus includes: an average execution time information indicating an average execution time of the program part; A program component information database that stores at least one of the maximum execution time information indicated by the maximum execution time of the execution process, wherein the execution time prediction comparison unit stores the program component information database. Based on at least one of the average execution time information and the maximum execution time information, a time required for the execution process of the program component is predicted to derive a predicted execution time of the execution process of the program component. .
【0015】前記実行時間予測比較部は、前記指定処理
工程の実行予測時間と実行許容時間との比較の結果、前
記指定処理工程の実行予測時間が実行許容時間の所定レ
ベルを超えると判断した場合に、前記比較結果出力部に
対して前記指定処理工程についての警告情報を提示する
ように指示し、前記比較結果出力部は、前記実行時間予
測比較部からの指示に基づき、前記指定処理工程につい
ての警告情報を提示することを特徴とする。[0015] The execution time prediction comparing section determines that the result of the comparison between the predicted execution time of the designated processing step and the permissible execution time indicates that the predicted execution time of the specified processing step exceeds a predetermined level of the permissible execution time. Instructs the comparison result output unit to present warning information about the specified processing step, and based on the instruction from the execution time prediction comparison unit, the comparison result output unit Is presented.
【0016】前記実行時間予測比較部は、前記指定処理
工程について、実行許容時間の所定レベルを超える実行
予測時間が発生する発生確率を導出し、導出した前記発
生確率が一定値以上であると判断した場合に、前記比較
結果出力部に対して前記指定処理工程についての警告情
報を提示するように指示し、前記比較結果出力部は、前
記実行時間予測比較部からの指示に基づき、前記指定処
理工程についての警告情報を提示することを特徴とす
る。The execution time prediction comparing section derives, for the specified processing step, an occurrence probability that an execution prediction time exceeding a predetermined level of an allowable execution time will occur, and determines that the derived occurrence probability is equal to or greater than a predetermined value. In this case, the comparison result output unit is instructed to present warning information about the designated processing step, and the comparison result output unit is configured to execute the designated process based on the instruction from the execution time prediction comparison unit. It is characterized by presenting warning information on the process.
【0017】前記実行時間予測比較部は、ヒストグラム
情報及び確率分布情報のうち少なくともいずれか一方を
用いて、前記発生確率を導出することを特徴とする。[0017] The execution time prediction comparing section derives the occurrence probability using at least one of histogram information and probability distribution information.
【0018】前記指定処理工程は、複数の内部処理工程
を含み、前記実行時間予測比較部は、前記複数の内部処
理工程間で順序づけを行い、前記比較結果出力部は、前
記警告情報とともに、前記複数の内部処理工程を前記順
序づけに従って提示することを特徴とする。The designation processing step includes a plurality of internal processing steps, the execution time prediction comparing section performs an ordering among the plurality of internal processing steps, and the comparison result output section includes the warning information together with the warning information. A plurality of internal processing steps are presented according to the ordering.
【0019】前記指定処理工程は、前記内部処理工程と
して、複数のプログラム部品の実行処理を含み、前記実
行時間予測比較部は、前記複数のプログラム部品の実行
処理間で順序づけを行い、前記比較結果出力部は、前記
警告情報とともに、前記複数のプログラム部品の実行処
理を前記順序づけに従って提示することを特徴とする。The designation processing step includes, as the internal processing step, an execution process of a plurality of program parts, and the execution time prediction comparing section orders the execution processes of the plurality of program parts, and The output unit presents the execution process of the plurality of program components in accordance with the order, together with the warning information.
【0020】前記実行時間予測比較部は、前記指定処理
工程の実行予測時間に与える影響の大きさに従って、前
記複数のプログラム部品の実行処理間で順序づけを行う
ことを特徴とする。[0020] The execution time prediction comparing section performs an ordering among the execution processes of the plurality of program components in accordance with a magnitude of an influence on an execution prediction time of the designated processing step.
【0021】前記実行時間予測比較部は、複数の指定処
理工程を含むプログラムについて、前記各指定処理工程
の実行予測時間と実行許容時間との比較の結果、前記各
指定処理工程について実行予測時間と実行許容時間との
差異及び実行予測時間の実行許容時間に対する比率のう
ち少なくともいずれか一つを算出し、算出した差異及び
比率のうち少なくともいずれか一つに基づき前記各指定
処理工程間で順序づけを行い、前記比較結果出力部は、
前記実行時間予測比較部による順序づけに従って、前記
各指定処理工程を提示することを特徴とする。The execution time prediction comparing section compares a predicted execution time of each of the designated processing steps with an allowable execution time for a program including a plurality of designated processing steps. Calculate at least one of the difference from the permissible execution time and the ratio of the predicted execution time to the permissible execution time, and order the designated processing steps based on at least one of the calculated difference and the ratio. The comparison result output unit performs
The designated processing steps are presented in accordance with the ordering by the execution time prediction comparing unit.
【0022】本発明に係るプログラム設計支援方法は、
処理の実行に許容される時間が実行許容時間として指定
された指定処理工程を含むプログラムについて、前記指
定処理工程の実行に要する時間を予測して実行予測時間
を導出し、前記指定処理工程の実行予測時間と実行許容
時間とを比較する実行時間予測比較ステップと、前記実
行時間予測比較ステップによる比較結果を提示する比較
結果出力ステップとを有する。A program design support method according to the present invention
For a program including a designated processing step designated as a permissible execution time, a time required for execution of the designated processing step is predicted to derive a predicted execution time, and the execution of the designated processing step is performed. It has an execution time prediction comparison step of comparing the prediction time with the permissible execution time, and a comparison result output step of presenting a comparison result by the execution time prediction comparison step.
【0023】前記実行時間予測比較ステップは、前記プ
ログラムにおける状態の遷移と、前記状態の遷移の際に
実行される処理工程とが示された状態遷移情報を入力
し、入力した前記状態遷移情報に示された処理工程のう
ち前記指定処理工程の実行予測時間を導出することを特
徴とする。In the execution time prediction comparing step, state transition information indicating a state transition in the program and a processing step executed at the time of the state transition is input, and the input state transition information is input to the input state transition information. It is characterized in that an estimated execution time of the designated processing step among the indicated processing steps is derived.
【0024】前記指定処理工程は、少なくとも一つ以上
の内部処理工程を含み、前記実行時間予測比較ステップ
は、各内部処理工程の実行に要する時間を予測して各内
部処理工程の実行予測時間を導出し、各内部処理工程の
実行予測時間の合計値と前記指定処理工程の実行許容時
間とを比較することを特徴とする。The designated processing step includes at least one or more internal processing steps, and the execution time prediction comparison step predicts a time required for execution of each internal processing step and calculates an estimated execution time of each internal processing step. It is characterized in that a total value of predicted execution times of the respective internal processing steps is compared with a permissible execution time of the designated processing step.
【0025】前記指定処理工程は、前記内部処理工程と
して、プログラム部品の実行処理を含み、前記プログラ
ム設計支援方法は、前記プログラム部品の実行処理の平
均時間が示された平均実行時間情報及びプログラム部品
の実行処理の最大時間が示された最大実行時間情報のう
ち少なくともいずれか一つを記憶するプログラム部品情
報記憶ステップを有し、前記実行時間予測比較ステップ
は、前記プログラム部品情報記憶ステップにより記憶さ
れた前記平均実行時間情報及び最大実行時間情報のうち
少なくともいずれか一つに基づき、前記プログラム部品
の実行処理に要する時間を予測して前記プログラム部品
の実行処理の実行予測時間を導出することを特徴とす
る。[0025] The designation processing step includes, as the internal processing step, a program part execution process, wherein the program design support method comprises: an average execution time information indicating an average execution time of the program part; A program component information storing step of storing at least one of the maximum execution time information indicating the maximum execution time of the execution process, and the execution time prediction comparing step is stored by the program component information storing step. And estimating a time required for the execution process of the program component based on at least one of the average execution time information and the maximum execution time information to derive a predicted execution time of the execution process of the program component. And
【0026】前記実行時間予測比較ステップは、前記指
定処理工程の実行予測時間と実行許容時間との比較の結
果、前記指定処理工程の実行予測時間が実行許容時間の
所定レベルを超えると判断した場合に、前記比較結果出
力ステップに対して前記指定処理工程についての警告情
報を提示するように指示し、前記比較結果出力ステップ
は、前記実行時間予測比較ステップからの指示に基づ
き、前記指定処理工程についての警告情報を提示するこ
とを特徴とする。In the execution time prediction comparing step, when it is determined that the predicted execution time of the specified processing step exceeds a predetermined level of the allowable execution time as a result of the comparison between the predicted execution time of the designated processing step and the allowable execution time. Instructing the comparison result output step to present warning information about the designated processing step, wherein the comparison result output step is based on the instruction from the execution time prediction comparison step, Is presented.
【0027】前記実行時間予測比較ステップは、前記指
定処理工程について、実行許容時間の所定レベルを超え
る実行予測時間が発生する発生確率を導出し、導出した
前記発生確率が一定値以上であると判断した場合に、前
記比較結果出力ステップに対して前記指定処理工程につ
いての警告情報を提示するように指示し、前記比較結果
出力ステップは、前記実行時間予測比較ステップからの
指示に基づき、前記指定処理工程についての警告情報を
提示することを特徴とする。The execution time prediction comparing step derives an occurrence probability that an execution prediction time exceeding a predetermined level of an allowable execution time will occur for the specified processing step, and determines that the derived occurrence probability is equal to or more than a predetermined value. In this case, the comparison result output step is instructed to present warning information about the designation processing step, and the comparison result output step is based on the instruction from the execution time prediction comparison step. It is characterized by presenting warning information on the process.
【0028】前記指定処理工程は、複数の内部処理工程
を含み、前記実行時間予測比較ステップは、前記複数の
内部処理工程間で順序づけを行い、前記比較結果出力ス
テップは、前記警告情報とともに、前記複数の内部処理
工程を前記順序づけに従って提示することを特徴とす
る。The designation processing step includes a plurality of internal processing steps, the execution time prediction comparison step performs an ordering among the plurality of internal processing steps, and the comparison result output step includes the warning information together with the warning information. A plurality of internal processing steps are presented according to the ordering.
【0029】前記指定処理工程は、前記内部処理工程と
して、複数のプログラム部品の実行処理を含み、前記実
行時間予測比較ステップは、前記複数のプログラム部品
の実行処理間で順序づけを行い、前記比較結果出力ステ
ップは、前記警告情報とともに、前記複数のプログラム
部品の実行処理を前記順序づけに従って提示することを
特徴とする。The designation processing step includes, as the internal processing step, execution processing of a plurality of program parts. The execution time prediction comparison step orders the execution processing of the plurality of program parts, and executes the comparison result. The output step presents the execution process of the plurality of program components in accordance with the order, together with the warning information.
【0030】本発明に係るプログラム設計支援方法をコ
ンピュータに実行させるためのプログラムは、処理の実
行に許容される時間が実行許容時間として指定された指
定処理工程を含むプログラムについて、前記指定処理工
程の実行に要する時間を予測して実行予測時間を導出
し、前記指定処理工程の実行予測時間と実行許容時間と
を比較する実行時間予測比較ステップと、前記実行時間
予測比較ステップによる比較結果を提示する比較結果出
力ステップとを有することを特徴とするプログラム設計
支援方法をコンピュータに実行させるためのプログラム
である。A program for causing a computer to execute the program design support method according to the present invention includes a program including a designated processing step in which a time allowed for execution of a process is designated as an allowed execution time. An execution time prediction comparing step of deriving an execution prediction time by estimating a time required for execution and comparing the execution prediction time of the designated processing step with an allowable execution time; and presenting a comparison result by the execution time prediction comparison step. A program for causing a computer to execute a program design support method characterized by including a comparison result output step.
【0031】[0031]
【発明の実施の形態】実施の形態1.図1はこの発明の
第1の実施の形態に係るプログラム設計支援装置10の
構成を示す構成図である。図1が示すように、本実施の
形態に係るプログラム設計支援装置10は、状態遷移エ
ディタ部1、状態遷移情報保持部2、プログラム部品情
報データベース3、状態遷移時間予測比較部(実行時間
予測比較部)4から構成される。なお、これらの1〜4
の各機能を、コンピュータに実行させるためのコンピュ
ータプログラムとすることも可能である。DESCRIPTION OF THE PREFERRED EMBODIMENTS Embodiment 1 FIG. 1 is a configuration diagram showing a configuration of a program design support device 10 according to the first embodiment of the present invention. As shown in FIG. 1, a program design support apparatus 10 according to the present embodiment includes a state transition editor unit 1, a state transition information holding unit 2, a program component information database 3, a state transition time prediction comparison unit (execution time prediction comparison unit). 4). In addition, these 1-4
Each of the functions may be a computer program for causing a computer to execute the functions.
【0032】本実施の形態では、プログラム開発者が状
態遷移エディタ部1を用いて、プログラムの動作仕様の
うち状態遷移に関する情報として、複数の状態と、複数
のイベントと、各状態においてイベントの発生により生
起される状態間の遷移と、各遷移において実行されるア
クション(処置工程)を記述する。アクションの記述に
おいては、どのプログラム部品をどのような手順で呼び
出すかといったプログラムフローと、必要に応じてその
処理に許容される実行許容時間(実行制限時間ともい
う)を記述する。プログラムフローの記述に際しては、
主にプログラム開発者の利便のため、プログラム部品情
報データベース3にアクセスし、利用するプログラム部
品の名称やプログラムインタフェースを検索し、プログ
ラムフローの記述に利用することができる。In this embodiment, the program developer uses the state transition editor unit 1 to generate a plurality of states, a plurality of events, and the occurrence of an event in each state as information relating to the state transition in the operation specifications of the program. Describes the transitions between the states caused by, and the actions (treatment steps) executed in each transition. In the description of the action, a program flow such as which program component is to be called and in what procedure, and an allowable execution time (also referred to as an execution limit time) allowed for the processing are described as necessary. When describing the program flow,
Mainly for the convenience of the program developer, the program component information database 3 can be accessed, the name of the program component to be used and the program interface can be searched and used to describe the program flow.
【0033】本実施の形態における状態遷移エディタ部
1で記述する状態遷移情報の例を図2、図3に示す。図
2は本実施の形態における状態遷移エディタ部1による
状態遷移の記述例である。本実施の形態では、状態遷移
は状態遷移図の形式に沿って、状態11を丸で表し、状
態間の遷移12を矢印で表す。また遷移12の契機とな
るイベントと、遷移12において実行するアクション、
ならびにアクションの実行制限時間は、それぞれ「/」
を用いてつないだ「イベント/アクション/実行制限時
間」といった形式で、遷移12に付随して記述する。こ
こで、実行制限時間が指定されたアクション(処理工
程)を指定処理工程と呼ぶ。なお、実行制限時間を特に
定義する必要がない場合は「イベント/アクション/
−」あるいは「イベント/アクション」と記述する。図
2に示す記述例では、SN1、SN2、SN3と3つの
状態11が存在し、状態SN1から状態SN2への遷移
12は「enA/an12/t12」、すなわちイベン
トenAを契機とした遷移であり、アクションan12
を行い、そのときの実行制限時間はt12である。FIGS. 2 and 3 show examples of state transition information described by the state transition editor unit 1 in this embodiment. FIG. 2 is a description example of a state transition by the state transition editor unit 1 according to the present embodiment. In the present embodiment, in the state transition, the state 11 is represented by a circle and the transition 12 between the states is represented by an arrow in the form of a state transition diagram. Also, an event that triggers the transition 12, an action to be executed in the transition 12,
And the action execution time limit is "/"
Is described in connection with the transition 12 in a format such as “event / action / execution time limit”. Here, an action (processing step) in which the execution time limit is specified is referred to as a specified processing step. If there is no need to define the execution time limit, "Event / Action /
− ”Or“ event / action ”. In the description example shown in FIG. 2, there are three states 11, SN1, SN2, and SN3, and the transition 12 from the state SN1 to the state SN2 is "enA / an12 / t12", that is, a transition triggered by the event enA. , Action an12
And the execution time limit at that time is t12.
【0034】図3は本実施の形態における状態遷移エデ
ィタ部1によるアクションのプログラムフローの記述例
である。図2に示す記述例では、アクションan12の
処理S10を記述しており、同処理S10は、まずプロ
グラム部品p1を実行し(S11)、次にp1の実行結
果を検査し(S12)、もしその結果が真であれば(S
12のYES)、プログラム部品p2を実行し処理を終
了する(S13)。またp1の実行結果が真でなければ
即座に処理を終了する(S12のNO)。FIG. 3 is a description example of a program flow of an action by the state transition editor unit 1 in the present embodiment. In the description example shown in FIG. 2, the process S10 of the action an12 is described. The process S10 first executes the program component p1 (S11), and then checks the execution result of p1 (S12). If the result is true (S
12 (YES), the program component p2 is executed, and the process ends (S13). If the execution result of p1 is not true, the process is immediately terminated (NO in S12).
【0035】状態遷移エディタ部1で記述した内容は状
態遷移情報保持部2にて保存する。また状態遷移情報保
持部2が保持する内容は、再度状態遷移エディタ部1を
用いてプログラム開発者が改定し、保存しなおすことも
できる。状態遷移時間予測比較部4は、状態遷移情報保
持部2に保持される状態遷移情報の内容を調べ、実行制
限時間が定義されているアクション(指定処理工程)の
それぞれについて、アクションのプログラムフローを解
析することで、どのプログラム部品をどのような手順で
呼び出すかを把握し、さらにプログラム部品情報データ
ベース3にアクセスし各プログラム部品の平均実行時間
の情報を得ることでアクションの処理に要する時間の予
測値(実行予測時間)を求め、もし実行予測時間が定義
されている実行制限時間を超えるアクションがある場合
は、状態遷移エディタ部1を用いて、プログラム開発者
に対し該当アクションについて実行予測時間が設計上の
実行制限時間を満たさないことを示すため、該当アクシ
ョンの表示を警告を示す表示に変え提示する。なお、こ
の場合には、状態遷移エディタ部1は状態遷移時間予測
比較部4による実行予測時間と実行制限時間との比較結
果を提示する比較結果出力部として機能する。The contents described in the state transition editor unit 1 are stored in the state transition information holding unit 2. Also, the contents held by the state transition information holding unit 2 can be revised again by the program developer using the state transition editor unit 1 and saved again. The state transition time prediction / comparison unit 4 checks the contents of the state transition information held in the state transition information holding unit 2 and determines the program flow of the action for each action (designated processing step) for which the execution time limit is defined. By analyzing, it is possible to know which program part is to be called and in what procedure, and further, by accessing the program part information database 3 and obtaining information on the average execution time of each program part, predicting the time required for action processing. A value (expected execution time) is obtained. If there is an action that exceeds the defined execution time limit, the state transition editor unit 1 is used to inform the program developer of the estimated execution time of the action. A table that warns the display of the corresponding action to indicate that the execution time limit in the design is not met. Instead of the presented. In this case, the state transition editor unit 1 functions as a comparison result output unit that presents a result of comparison between the predicted execution time and the execution time limit by the state transition time prediction comparison unit 4.
【0036】本実施の形態における状態遷移時間予測比
較部4におけるアクションの処理に要する時間の予測方
法を図4を用いて説明する。図4は実行時間の予測の際
の処理手順を示すフローチャートである。なお本処理で
はアクションのプログラムフローは構造化されているこ
とを前提とする。実行時間予測処理S20は、まず初期
化処理としてこれから求めようとする処理対象の予測値
を一旦0に設定してから(S21)、処理対象となるプ
ログラムフローについてその最初から最後までの各ステ
ップについて以降の処理を繰り返す(S22、S32
間)。A method of estimating the time required for processing an action in the state transition time estimator / comparator 4 in the present embodiment will be described with reference to FIG. FIG. 4 is a flowchart showing a processing procedure for estimating the execution time. In this process, it is assumed that the action program flow is structured. The execution time predicting process S20 first sets a predicted value of a processing target to be obtained as an initialization process to 0 once (S21), and then executes each step from the beginning to the end of the program flow to be processed. The subsequent processing is repeated (S22, S32
while).
【0037】繰り返しの内部では、まず対象となるステ
ップの処理内容を調べ(S23)、もしその処理がプロ
グラム部品の呼び出し処理(プログラム部品の実行処
理)であれば、プログラム部品情報データベース3を検
索し該当プログラム部品の平均実行時間を求め、処理対
象の予測値に加算する(S24)。また、その処理が算
術演算や代入などの基本処理であれば、算術演算や代入
といった処理のそれぞれに要するCPUの実行時間を元
にその処理内容に応じたステップの実行時間を推定し、
処理対象の予測値に加算する(S25)。In the repetition, first, the processing contents of the target step are checked (S23). If the processing is the calling processing of the program parts (execution processing of the program parts), the program parts information database 3 is searched. The average execution time of the program component is obtained and added to the predicted value of the processing target (S24). If the processing is a basic processing such as an arithmetic operation or an assignment, the execution time of the step corresponding to the processing content is estimated based on the execution time of the CPU required for each of the processings such as the arithmetic operation or the assignment.
It is added to the predicted value to be processed (S25).
【0038】一方、対象となるステップの処理がif文
やswitch文に相当する前方分岐処理であれば、各
分岐それぞれについて、分岐が再度合流するまでの一連
のステップから成る部分的なプログラムフローを対象と
して再帰的に実行時間予測処理S20を行うことで、そ
れぞれの分岐処理に関する実行予測時間を求め(S2
6、S27、S28)、各分岐毎の実行予測時間のうち
最大値を、分岐から合流までに要する処理時間の予想値
とみなして、処理対象の予測値に加算する(S29)。
また、対象となるステップの処理がwhile文やfo
r文に相当する繰り返し処理であれば、繰り返す内部処
理の全ステップから成る部分的なプログラムフローを対
象として再帰的に実行時間予測処理S20を行うこと
で、繰り返す内部処理に関する実行予測時間を求め(S
30)、その値に内部処理の繰り返し回数を乗じること
で繰り返し処理全体の実行予測時間として、処理対象の
予測値に加算する(S31)。そして処理対象となるプ
ログラムフローについてその最初から最後までの各ステ
ップについて処理を行った後(S32)、処理対象の予
測値を実行予測時間として返す(S33)。On the other hand, if the processing of the target step is a forward branch processing corresponding to an if statement or a switch statement, a partial program flow consisting of a series of steps until a branch merges again for each branch. By performing the execution time prediction process S20 recursively as a target, the execution prediction time for each branch process is obtained (S2
6, S27, S28), the maximum value of the predicted execution time for each branch is regarded as the predicted value of the processing time required from the branch to the merge, and is added to the predicted value of the processing target (S29).
The processing of the target step is a while statement or fo
In the case of the repetition processing corresponding to the r statement, the execution time prediction processing S20 is recursively performed on the partial program flow including all the steps of the internal processing to be repeated to obtain the execution prediction time relating to the repeated internal processing ( S
30), the value is multiplied by the number of repetitions of the internal processing, and the result is added to the predicted value to be processed as the predicted execution time of the entire repetition processing (S31). Then, after performing the processing for each step from the beginning to the end of the program flow to be processed (S32), the predicted value of the processing target is returned as the predicted execution time (S33).
【0039】なおステップS24において、プログラム
部品内部で処理の停止が起こり得る場合は、処理時間の
予測が不可能として実行時間予測処理S20を異常終了
させる、あるいはプログラム開発者に代用する実行値を
問い合わせることで処理を継続させる。同様にステップ
S31において、内部処理の繰り返し回数が定まらない
場合は、処理時間の予測が不可能として実行時間予測処
理S20を異常終了させる、あるいはプログラム開発者
に代用する値を問い合わせることで処理を継続させる。In step S24, if the processing can be stopped inside the program component, it is determined that the processing time cannot be predicted, and the execution time prediction processing S20 is abnormally terminated, or a program developer is inquired of a substitute execution value. By doing so, the process is continued. Similarly, in step S31, if the number of repetitions of the internal processing is not determined, the execution time prediction processing S20 is abnormally terminated assuming that the processing time cannot be predicted, or the processing is continued by inquiring the program developer for a substitute value. Let it.
【0040】本実施の形態に係るプログラム設計支援装
置は、上記のように動作するので、状態遷移の設計に際
して、状態遷移と共にそのアクションの処理に許容され
る制限時間を同時に記述することができ、さらにアクシ
ョンの処理に要する時間を予測することで、制限時間の
達成可否を推定することができるため、ソフトウェア開
発の下流工程で制限時間の達成可否に係る不具合が発生
する可能性を減少させることができ、プログラムの開発
効率及び品質の向上といった効果が得られる。Since the program design support apparatus according to the present embodiment operates as described above, it is possible to simultaneously describe the state transition and the time limit allowed for the processing of the action when designing the state transition. Further, by estimating the time required for the processing of the action, it is possible to estimate whether the time limit can be achieved. The effect of improving program development efficiency and quality can be obtained.
【0041】なお本実施の形態では、アクションに対す
る実行制限時間を、遷移に付随する「イベント/アクシ
ョン/実行制限時間」として記述しているが、これは別
の方式、例えば遷移に付随しては「イベント/アクショ
ン」のみ記述し、実行制限時間はアクションに対するプ
ログラムフローと合わせて記述するといった方式を採用
しても良い。また本実施の形態では、状態遷移の記述は
状態遷移図の形式に沿って行っているが、これは他の状
態遷移の形式的記述方法、例えばステートチャートや状
態遷移表といった形式を採用しても同様の効果が得られ
る。同様に本実施の形態ではアクションの処理をプログ
ラムフローとして記述しているが、これはPADやHC
Pといった他の図形的記述方式、さらにはプログラムの
ソースコードといったテキスト形式での記述方式を採用
しても同様の効果が得られる。In the present embodiment, the execution time limit for an action is described as “event / action / execution time limit” associated with a transition. A method may be adopted in which only “event / action” is described, and the execution time limit is described together with the program flow for the action. Further, in the present embodiment, the description of the state transition is performed in accordance with the format of the state transition diagram, but this is performed by adopting another formal description method of the state transition, for example, a form such as a state chart or a state transition table. Has the same effect. Similarly, in the present embodiment, the processing of the action is described as a program flow.
The same effect can be obtained by adopting another graphic description method such as P or a description method in a text format such as a program source code.
【0042】本実施の形態において、プログラム部品情
報データベース3が保持するプログラム部品毎の平均実
行時間については、別途それぞれのプログラム部品の開
発時に測定した値を用いることができる。あるいはプロ
グラム部品それぞれのプログラムフローを元に本実施の
形態における処理時間予測処理S20を実施することで
予測した値を用いても良い。あるいはプログラム部品を
再利用している場合は過去の利用時に測定した値を用い
ても良い。さらにプログラム全体の動作が可能である場
合は、プログラム部品毎に測定した値ではなく、プログ
ラム全体を動作させたときに得られる個々のプログラム
部品の実行時間の測定値を用いるようにしてもよく、こ
の場合アクションに対する実行予測時間は、実際の動作
により近い値を予測できる可能性が高まり、実行制限時
間の達成可否の予測精度が高まるという効果が得られ
る。また、プログラム部品の平均実行時間に代え最大実
行時間を用いることで、より厳しい予測値(ワーストケ
ースでの予測)に基づいた実行制限時間と実行予測時間
の比較を行える。なお、プログラム部品の実行時間の測
定に用いたシステムのプログラム実行性能と、実行制限
時間を規定するシステムのプログラム実行性能が同一で
ない場合は、実行予測時間と実行制限時間の比較を両者
の性能の違いに配慮して行うようにすることで、比較を
有意に行うことができる。In this embodiment, as the average execution time for each program component held in the program component information database 3, a value separately measured at the time of development of each program component can be used. Alternatively, a value predicted by performing the processing time prediction processing S20 in the present embodiment based on the program flow of each program component may be used. Alternatively, when a program component is reused, a value measured during past use may be used. Furthermore, when the operation of the entire program is possible, instead of the value measured for each program component, the measured value of the execution time of each program component obtained when the entire program is operated may be used. In this case, there is an effect that the possibility of predicting a value closer to the actual operation as the predicted execution time for the action is increased, and the accuracy of predicting whether the execution time limit is achievable is increased. Further, by using the maximum execution time instead of the average execution time of the program components, it is possible to compare the execution limit time and the execution prediction time based on a stricter predicted value (worst case prediction). If the program execution performance of the system used to measure the execution time of the program component is not the same as the program execution performance of the system that defines the execution time limit, a comparison between the estimated execution time and the execution time limit is made. The comparison can be performed significantly by considering the difference.
【0043】また、実行制限時間と実行予測時間を比較
する際には、実行予測時間が実行制限時間を超過した場
合に警告を提示するのではなく、実行制限時間に一定の
比率を乗じた値、例えば実行制限時間の80%を越えた
場合に警告を提示するようにしてもよく、さらに実行制
限時間の80%を越えた場合は警戒を、実行制限時間を
越えた場合は警告と提示するといったように提示の仕方
に差をつけることで、プログラム開発者に対し対策の優
先度を示唆することができ、対策の作業効率の向上を図
ることができる。さらに実行制限時間が規定されている
各アクションについて、実行制限時間と実行予測時間の
差ないし比率を求め、その値を元にプログラム開発者に
対し制限時間の達成が困難と予想される順に各アクショ
ンを提示しても、対策の優先度を示唆することができ
る。また平均実行時間と最大実行時間の両者を併用して
それぞれの実行予測時間を求め実行制限時間と比較する
ことでも、各アクションに関する制限時間の達成可否の
程度を大きく分類することができ、対策の優先度を示唆
することができる。When the execution time limit is compared with the execution time limit, a warning is not provided when the estimated execution time exceeds the execution time limit, but a value obtained by multiplying the execution time limit by a certain ratio is used. For example, a warning may be presented when the execution time exceeds 80%, and a warning is presented when the execution time exceeds 80% and a warning when the execution time exceeds the execution time. By giving a difference in the presentation method as described above, it is possible to suggest the priority of the countermeasure to the program developer, and it is possible to improve the work efficiency of the countermeasure. Furthermore, for each action for which the execution time limit is specified, calculate the difference or ratio between the execution time limit and the estimated execution time, and use the value to determine the order in which it is difficult for the program developer to achieve the time limit. Can also indicate the priority of the measures. Also, by using both the average execution time and the maximum execution time together to determine the estimated execution time and comparing it with the execution time limit, the degree of achievement of the time limit for each action can be broadly classified. Priority can be suggested.
【0044】また、一般にプログラムの処理時間の改善
には、その内部処理の中で主要な時間を占めている処理
の順に対策を実施することが効果的である。このためプ
ログラム開発者に制限時間の達成が困難と予測されたア
クションを提示する際(警告を提示する際)には、付随
して、アクション(指定処置工程)の実行予測時間に与
える影響の大きい順に、アクション内の内部工程(アク
ションのプログラムフローを構成するステップ)を提示
することで、あるアクションに関する処理時間の改善に
ついての対策の優先度を示唆することができ、対策の作
業効率の向上を図ることができる。同様に、そのアクシ
ョンの処理内で実行されるプログラム部品を、その実行
時間と実行回数の積の値の順に提示することで、あるア
クションに関する処理時間の改善についての対策の優先
度を示唆することができ、対策の作業効率の向上を図る
ことができる。同様に、一般にプログラムの処理時間に
ついては最大実行時間と平均実行時間の差が大きい場合
に処理時間の改善の余地が高いと推定できることから、
前述の方式にてプログラム部品を列挙する場合は、その
最大実行時間と平均実行時間の値、あるいはその差ない
し比率に関する情報も示すようにすることで、同様に処
理時間の改善に関する対策の優先度を示唆することがで
きる。Generally, in order to improve the processing time of a program, it is effective to take measures in the order of the processing that occupies the main time in the internal processing. For this reason, when an action predicted to be difficult to achieve the time limit is presented to the program developer (when a warning is presented), it has a large effect on the predicted execution time of the action (designated treatment step). By presenting the internal processes (steps that make up the program flow of an action) in order, it is possible to suggest the priority of measures to improve the processing time for a certain action, and to improve the work efficiency of the measures. Can be planned. Similarly, by presenting the program components executed in the processing of the action in the order of the value of the product of the execution time and the number of executions, indicating the priority of a measure for improving the processing time of a certain action. And the work efficiency of the measures can be improved. Similarly, in general, regarding the processing time of a program, when the difference between the maximum execution time and the average execution time is large, it can be estimated that there is much room for improvement in the processing time.
When listing program parts by the above-mentioned method, the value of the maximum execution time and the average execution time, or the information on the difference or ratio between them is also indicated, so that the priority of the countermeasure for the improvement of the processing time is similarly Can be suggested.
【0045】実施の形態2.図5は、この発明の第2の
実施の形態における、実行時間の予測を行うフローチャ
ートである。本実施の形態の構成、及び状態遷移エディ
タ部1で記述する状態遷移情報の例は、第1の実施の形
態で示した図1〜図3と同じであるためその説明を省略
する。Embodiment 2 FIG. 5 is a flowchart for predicting an execution time according to the second embodiment of the present invention. The configuration of the present embodiment and an example of the state transition information described by the state transition editor unit 1 are the same as those shown in FIGS. 1 to 3 shown in the first embodiment, and the description thereof will be omitted.
【0046】本実施の形態では、プログラム部品情報デ
ータベース3には各プログラム部品の処理時間情報とし
て、別途それぞれのプログラム部品の開発時に測定した
実行時間とその発生回数の分布を示すヒストグラムを保
持しており、本実施の形態における状態遷移時間予測比
較部4におけるアクションの処理に要する時間の予測
は、各プログラム部品の処理時間情報として実行時間の
ヒストグラムを元に行い、ヒストグラムとして予測値を
計算する。また、状態遷移時間予測比較部4における実
行制限時間との実行予測時間の比較は、予測したヒスト
グラムの分布から実行予測時間が実行制限時間を越える
確率を求め、その値が一定値を超えるアクションがある
場合は、状態遷移エディタ部1を用いて、プログラム開
発者に対し該当アクションについて実行予測時間が設計
上の実行制限時間を満たさない可能性が高いことを示す
ため、該当アクションの表示を警告を示す表示に変え提
示する。In the present embodiment, the program part information database 3 holds, as processing time information of each program part, a histogram indicating the distribution of the execution time measured during the development of each program part and the number of occurrences separately. In this embodiment, the state transition time prediction / comparison unit 4 predicts the time required for the processing of the action based on the execution time histogram as the processing time information of each program component, and calculates the predicted value as the histogram. The state transition time prediction comparison unit 4 compares the predicted execution time with the restricted execution time by calculating the probability that the predicted predicted time will exceed the restricted execution time from the distribution of the predicted histogram. In some cases, the state transition editor unit 1 is used to warn the program developer that the predicted execution time of the corresponding action is unlikely to satisfy the design execution time limit. The display is replaced with the display shown.
【0047】本実施の形態における実行時間の予測方法
を図5を用いて説明する。実行時間予測処理S40で
は、まずこれから求めようとする処理対象の予測ヒスト
グラムを初期化するため、同ヒストグラムのすべての実
行時間に対応した実行回数を0に設定し(S41)、次
にその処理対象となるプログラムフローについてその最
初から最後までの各ステップについて以降の処理を繰り
返す(S22、S32間)。The method of estimating the execution time in the present embodiment will be described with reference to FIG. In the execution time prediction process S40, the number of executions corresponding to all execution times of the histogram is set to 0 (S41) in order to initialize a prediction histogram to be processed from now on (S41). The subsequent processing is repeated for each step from the beginning to the end of the program flow (between S22 and S32).
【0048】繰り返しの内部では、まず対象となるステ
ップの処理内容を調べ(S23)、もしその処理がプロ
グラム部品の呼び出し処理であれば、プログラム部品情
報データベース3を検索し該当プログラム部品の実行時
間ヒストグラムを求め、処理対象の予測ヒストグラムを
再計算する(S42)。また、その処理が算術演算や代
入などの基本処理であれば、算術演算や代入といった処
理のそれぞれに要するCPUの実行時間を元にその処理
内容に応じたステップの実行時間を推定し、処理対象の
予測ヒストグラムを再計算する(S43)。In the repetition, first, the processing contents of the target step are checked (S23). If the processing is the calling processing of the program component, the program component information database 3 is searched and the execution time histogram of the corresponding program component is searched. Is calculated, and the prediction histogram to be processed is recalculated (S42). If the processing is a basic processing such as an arithmetic operation or an assignment, the execution time of the step corresponding to the processing content is estimated based on the execution time of the CPU required for each of the processings such as the arithmetic operation or the assignment. Is recalculated (S43).
【0049】一方対象となるステップの処理がif文や
switch文に相当する前方分岐処理であれば、各分
岐それぞれについて、分岐が再度合流するまでの一連の
ステップから成る部分的なプログラムフローを対象とし
て再帰的に実行時間予測処理S40を行うことで、それ
ぞれの分岐処理に関する実行予測時間を示すヒストグラ
ムを求め(S26、S44、S28)、各分岐毎の実行
予測時間のヒストグラムを用いて分岐から合流まで実行
時間の予測ヒストグラムを求め(S45)、処理対象の
予測ヒストグラムを再計算する(S46)。また、対象
となるステップの処理がwhile文やfor文に相当
する繰り返し処理であれば、繰り返す内部処理の全ステ
ップから成る部分的なプログラムフローを対象として再
帰的に実行時間予測処理S40を行うことで、繰り返す
内部処理に関する実行予測時間を示すヒストグラムを求
め(S47)、そのヒストグラムと内部処理の繰り返し
回数から繰り返し処理全体の実行時間の予測ヒストグラ
ムを求め(S48)、処理対象の予測ヒストグラムを再
計算する(S49)。そして処理対象となるプログラム
フローについてその最初から最後までの各ステップにつ
いて処理を行った後(S32)、処理対象の予測ヒスト
グラムを本処理S40における実行予測時間を示すヒス
トグラムとして返す(S50)。On the other hand, if the processing of the target step is a forward branch processing corresponding to an if statement or a switch statement, a partial program flow consisting of a series of steps until the branch joins again for each branch is performed. By performing the execution time prediction process S40 recursively, histograms indicating execution prediction times for the respective branch processes are obtained (S26, S44, S28), and merging from the branches is performed using the histogram of the execution prediction time for each branch. The predicted histogram of the execution time is calculated until (S45), and the predicted histogram to be processed is recalculated (S46). If the processing of the target step is a repetition processing corresponding to a while statement or a for statement, the execution time prediction processing S40 is recursively performed on a partial program flow including all steps of the internal processing to be repeated. Then, a histogram indicating the predicted execution time of the internal processing to be repeated is obtained (S47), a prediction histogram of the execution time of the entire repetition processing is obtained from the histogram and the number of repetitions of the internal processing (S48), and the prediction histogram to be processed is recalculated. (S49). Then, after processing is performed for each step from the beginning to the end of the program flow to be processed (S32), the prediction histogram to be processed is returned as a histogram indicating the predicted execution time in the present processing S40 (S50).
【0050】なお、第1の実施の形態と同様、ステップ
S42において、プログラム部品内部で処理の停止が起
こり得る場合は、処理時間の予測が不可能として実行時
間予測処理S40を異常終了させる、あるいはプログラ
ム開発者に代用する実行値を問い合わせることで処理を
継続させる。同様にステップS47において、内部処理
の繰り返し回数が定まらない場合は、処理時間の予測が
不可能として実行時間予測処理S40を異常終了させ
る、あるいはプログラム開発者に代用する値を問い合わ
せることで処理を継続させる。As in the first embodiment, if it is determined in step S42 that the processing may stop in the program component, the processing time cannot be predicted, and the execution time prediction processing S40 is abnormally terminated. The process is continued by inquiring the program developer about the substitute execution value. Similarly, in step S47, when the number of repetitions of the internal processing is not determined, the processing time cannot be predicted and the execution time prediction processing S40 is abnormally terminated, or the processing is continued by inquiring the program developer of a substitute value. Let it.
【0051】次にステップS42における処理対象の予
測ヒストグラムの再計算方法について図6を用いて説明
する。図6はステップS42における処理対象の予測ヒ
ストグラムの再計算方法を示すフローチャートである。
本処理S60は、原理的には2つの処理A、Bを逐次的
に行った場合に、その各処理の実行時間ヒストグラムH
A、HBから2つの処理全体の実行時間ヒストグラムHX
を求める処理である。ステップS42では、計算前の処
理対象の予測ヒストグラムをHA、プログラム部品の実
行時間のヒストグラムをHB、計算後の予測ヒストグラ
ムをHXとして本処理S60により処理対象の予測ヒス
トグラムの再計算を行う。Next, the method of recalculating the prediction histogram to be processed in step S42 will be described with reference to FIG. FIG. 6 is a flowchart showing a method for recalculating the prediction histogram to be processed in step S42.
In principle, this process S60 is performed when the two processes A and B are sequentially performed, and the execution time histogram H of each process is obtained.
Execution time histogram H X of the entire two processes from A and H B
Is a process for obtaining In step S42, the predicted histogram to be processed is recalculated by the present process S60, with the predicted histogram to be processed before calculation being H A , the histogram of the execution time of the program component being H B , and the predicted histogram after calculation being H X. .
【0052】処理S60では、まずヒストグラムHAが
0、すなわち実行時間に対する実行回数がすべて0とな
っている初期化状態であれば(S61のYES)、ヒス
トグラムHBを本処理S60の結果として返し(S6
2、S63)、またヒストグラムHBが0、すなわち初
期化状態であれば(S64のYES)、ヒストグラムH
Aを本処理S60の結果として返す(S65、S6
3)。次にヒストグラムHA及びHBが共に0でない、す
なわち共に初期化状態でない場合は(S64のNO)、
以降のステップによりヒストグラムHA、HBの合成を行
う。In the process S60, first, if the histogram H A is 0, that is, if the execution count for the execution time is all 0 (YES in S61), the histogram H B is returned as a result of the process S60. (S6
2, S63), also if the histogram H B is 0, i.e. the initial state (S64 of YES), the histogram H
A is returned as the result of this processing S60 (S65, S6
3). Next, when both the histograms H A and H B are not 0, that is, both are not in the initialized state (NO in S64),
Histograms H A and H B are synthesized in the following steps.
【0053】ヒストグラムの合成では、まず計算結果を
求めるための作業領域であるヒストグラムHXを初期化
するため、ヒストグラムHXのすべての実行時間に対応
する実行回数を0に設定する(S66)。次にヒストグ
ラムHAで有効な時間範囲TA,min〜TA,maxのそれぞれ
の時間値tAと、ヒストグラムHBで有効な時間範囲T
B,min〜TB,maxのそれぞれの時間値tBのすべての組合
せについて、次の処理を繰り返す(S67、S71
間)。繰り返しの内部では、ヒストグラムHAにおける
実行時間tAの時の実行回数をHA(tA)、ヒストグラ
ムHBにおける実行時間tBの時の実行回数をH
B(tB)、そしてヒストグラムHXにおける実行時間t
の時の実行回数をHX(t)として、HA(tA) と
HB(tB)を乗じた値を現在のHx(tA + tB)に加
算し、その値を新たなHx(tA + tB)とする、すな
わち下記の計算を行う(S69)。 Hx(tA+tB) += HA(tA) × HB(tB) ヒストグラムHA、HBで有効な時間範囲のすべての組合
せについて上記計算を行ったのち(S70、71)、ヒ
ストグラムHxを本処理S60における実行予測時間を
示すヒストグラムとして返す(S63)。[0053] In the synthesis of the histogram, for initializing the histogram H X is a work area for obtaining the first calculation result and sets the execution count corresponding to all the execution time of the histogram H X to 0 (S66). Then the histogram H A valid time range T A, min ~T A, each of the time values t A of max, the histogram H B valid time range T
B, min ~T B, for each of all combinations of time values t B of max, repeats the following processing (S67, S71
while). Inside the iteration, the number of times of execution when execution time t A in the histogram H A H A (t A) , the number of times of execution when execution time t B in the histogram H B H
B (t B ) and the execution time t in the histogram H X
As H X (t) the number of executions when a H A (t A)
The value multiplied by H B (t B ) is added to the current H x (t A + t B ), and that value is set as a new H x (t A + t B ), that is, the following calculation is performed ( S69). H x (t A + t B ) + = HA (t A ) × H B (t B ) After performing the above calculation for all combinations of time ranges effective in the histograms H A and H B (S 70, 71) returns the histogram H x as a histogram showing the execution prediction time in the process S60 (S63).
【0054】次にステップS43における処理対象の予
測ヒストグラムの再計算方法について図7を用いて説明
する。図7はステップS43における処理対象の予測ヒ
ストグラムの再計算方法を示すフローチャートである。
本処理S80は、原理的には実行時間がヒストグラムH
Aとして与えられる処理Aに続いて実行時間が固定長TB
である処理Bを逐次的に行った場合に、2つの処理全体
の実行時間ヒストグラムHXを求める処理である。ステ
ップS43では、計算前の処理対象の予測ヒストグラム
をHA、推定した基本処理の実行時間をTB、計算後の予
測ヒストグラムをHXとして本処理S80により処理対
象の予測ヒストグラムの再計算を行う。Next, the method of recalculating the prediction histogram to be processed in step S43 will be described with reference to FIG. FIG. 7 is a flowchart showing a method of recalculating the prediction histogram to be processed in step S43.
In the process S80, the execution time is, in principle, the histogram H
Following treatment A given as A and the execution time is a fixed length T B
When performing the process B to the sequential it is the entire two processing execution time a histogram H X process. In step S43, the predicted histogram to be processed is recalculated by the present process S80, with the predicted histogram to be processed before calculation being H A , the estimated execution time of the basic processing being T B , and the predicted histogram after calculation being H X. .
【0055】処理S80では、まずヒストグラムHAが
0、すなわち実行時間に対する実行回数がすべて0とな
っている初期化状態であれば(S61のYES)、実行
時間TBの実行回数が1であるヒストグラムを本処理S
80の結果として返し(S81、S63)、そうでなけ
れば(S61のNO)、ヒストグラムHAに対する実行
時間TB分のシフト処理を行う。シフト処理では、まず
計算結果を求めるための作業領域であるヒストグラムH
Xを初期化するため、ヒストグラムHXのすべての実行時
間に対応する実行回数を0に設定する(S66)。次に
ヒストグラムHAで有効な時間範囲TA,min〜TA,maxの
それぞれの時間値tAについて、次の処理を繰り返す
(S67、S71間)。繰り返しの内部では、ヒストグ
ラムHAにおける実行時間tAの時の実行回数をH
A(tA)、ヒストグラムHXにおける実行時間tの時の
実行回数をHX(t)として、HA(tA)の値をHx(t
A + TB)に移す、すなわち下記の処理を行う(S8
2)。 Hx(tA+TB) = HA(tA) ヒストグラムHAで有効な時間範囲のすべての組合せに
ついて上記計算を行ったのち(S71)、ヒストグラム
Hxを本処理S80における実行予測時間を示すヒスト
グラムとして返す(S63)。In the process S80, first, the histogram HABut
0, that is, the number of executions for the execution time is all 0
If it is in the initialized state (YES in S61), execute
Time TBThis processing S
Returned as result of 80 (S81, S63), otherwise
If (NO in S61), the histogram HARun against
Time TBA minute shift process is performed. In shift processing, first
Histogram H, which is a work area for obtaining a calculation result
XTo initialize the histogram HXAt all runtimes of
The number of times of execution corresponding thereto is set to 0 (S66). next
Histogram HAValid time range TA, min~ TA, maxof
Each time value tARepeat the following process for
(Between S67 and S71). Histog inside the repetition
Ram HAExecution time t inAThe number of executions at
A(TA), Histogram HXAt execution time t in
Execute count HXAs (t), HA(TA) To Hx(T
A+ TB), That is, the following processing is performed (S8)
2). Hx(TA+ TB) = HA(TA) Histogram HAFor all combinations of time ranges valid in
After performing the above calculation (S71), the histogram
HxIs a history indicating the predicted execution time in the main processing S80.
It is returned as a gram (S63).
【0056】次に、ステップS45における分岐から合
流までの実行時間の予測ヒストグラムの計算方法につい
て図8を用いて説明する。図8はステップS45におけ
る分岐から合流までの実行時間の予測ヒストグラムの計
算方法を示すフローチャートである。Next, a method of calculating a prediction histogram of the execution time from the branch to the merge in step S45 will be described with reference to FIG. FIG. 8 is a flowchart showing a method for calculating a prediction histogram of the execution time from the branch to the merge in step S45.
【0057】本処理S90では、まず計算結果を求める
ための作業領域であるヒストグラムHXを初期化するた
め、ヒストグラムHXのすべての実行時間に対応する実
行回数を0に設定し(S66)、次に各分岐毎に以下の
処理を繰り返す(S91、S95間)。繰り返しS91
−S95間の内部では、分岐iに関する分岐から合流ま
での実行時間の予測ヒストグラムHiで有効な時間範囲
Ti,min〜Ti,maxのそれぞれの時間値tiについて、さ
らに次の処理を繰り返す(S92、S94間)。繰り返
しS92−S94間の内部では、ヒストグラムHiにお
ける実行時間tiの時の実行回数をHi(ti)、分岐の
総数をn、ヒストグラムHXにおける実行時間tの時の
実行回数をHX(t)として、Hi(ti)の値をnで除
した後Hx(ti)に加算する、すなわち下記の処理を
行う(S93)。 HX (ti) += Hi(ti)/n ヒストグラムHiで有効な時間範囲のすべての組合せに
ついて上記計算を行い(S94)、さらにすべての分岐
について処理を繰り返した後(S95)、ヒストグラム
Hxを本処理S90における実行予測時間を示すヒスト
グラムとして返す(S63)。[0057] In this processing S90, the histogram H X is a work area for obtaining the first calculation result to initialize the execution count corresponding to all the execution time of the histogram H X is set to 0 (S66), Next, the following processing is repeated for each branch (between S91 and S95). Repeat S91
-S95, the following processing is further performed for each time value t i in the effective time range T i, min to T i, max in the prediction histogram H i of the execution time from the branch to the merge for the branch i. Repeat (between S92 and S94). Inside between repeating S92-S94, H i (t i) the number of execution times when the execution time t i in the histogram H i, the total number of branches n, the number of times of execution when execution time t in the histogram H X H As X (t), the value of H i (t i ) is divided by n and then added to Hx (t i ), that is, the following processing is performed (S93). H X (t i ) + = H i (t i ) / n The above calculation is performed for all combinations of valid time ranges in the histogram H i (S94), and the process is repeated for all branches (S95). returns the histogram H x as a histogram showing the execution prediction time in the process S90 (S63).
【0058】次にステップS48における繰り返し処理
全体の実行時間の予測ヒストグラムの計算方法について
図9を用いて説明する。図9はステップS48における
繰り返し処理全体の実行時間の予測ヒストグラムの計算
方法を示すフローチャートである。Next, a method of calculating a prediction histogram of the execution time of the entire iterative process in step S48 will be described with reference to FIG. FIG. 9 is a flowchart showing a method for calculating a prediction histogram of the execution time of the entire iterative process in step S48.
【0059】本処理100では、まず計算結果を求める
ための作業領域であるヒストグラムHXを初期化するた
め、ヒストグラムHXのすべての実行時間に対応する実
行回数を0に設定し(S66)、次に繰り返し回数分以
下の処理を繰り返す(S101、S103間)。繰り返
しの内部では、処理S60を用いて、ヒストグラムHX
と、処理S40においてステップS48の前段として実
行するステップS47にて求めた繰り返す内部処理部分
の実行時間の予測ヒストグラムHAから、新しいヒスト
グラムの値を再計算し、これをヒストグラムHXに設定
する(S102)。ステップS102の繰り返しが終わ
ると(S103)、ヒストグラムHxを本処理S100
における実行予測時間を示すヒストグラムとして返す
(S63)。[0059] In this process 100, the histogram H X is a work area for obtaining the first calculation result to initialize the execution count corresponding to all the execution time of the histogram H X is set to 0 (S66), Next, the processing for the number of repetitions or less is repeated (between S101 and S103). Inside the repetition, the histogram H X is used by using the process S60.
If, from the prediction histogram H A running time of the internal processing part repeats found at step S47 to perform the process S40 as a preceding step S48, the re-computes the value of new histogram, sets it to the histogram H X ( S102). Repeated step S102 is finished (S103), the processing histograms H x S100
(S63).
【0060】最後に、ステップS46及びS49におけ
る処理対象の予測ヒストグラムの再計算方法について説
明する。両ステップにおける処理対象の予測ヒストグラ
ムの再計算方法は、ステップS42における処理対象の
予測ヒストグラムの再計算方法と同一であり、それぞれ
処理S60を用いて計算を行う。Finally, a method of recalculating the prediction histogram to be processed in steps S46 and S49 will be described. The method of recalculating the prediction histogram to be processed in both steps is the same as the method of recalculating the prediction histogram to be processed in step S42, and the calculation is performed using the processing S60.
【0061】本実施の形態に係るプログラム設計支援装
置は、上記のように動作するので、状態遷移の設計に際
して、状態遷移と共にそのアクションの処理に許容され
る制限時間を同時に記述することができ、さらにアクシ
ョンの処理に要する時間をヒストグラムとして予測する
ことで、制限時間の達成確率を推定することができるた
め、ソフトウェア開発の下流工程で制限時間の達成可否
に係る不具合が発生する可能性を減少させることがで
き、プログラムの開発効率及び品質の向上といった効果
が得られる。Since the program design support apparatus according to the present embodiment operates as described above, it is possible to simultaneously describe the time limit allowed for the processing of the action together with the state transition when designing the state transition. Further, by estimating the time required for processing the action as a histogram, the probability of achieving the time limit can be estimated, thereby reducing the possibility of occurrence of a problem relating to the possibility of achieving the time limit in a downstream process of software development. As a result, effects such as improvement in program development efficiency and quality can be obtained.
【0062】なお本実施の形態では、プログラム部品情
報データベースには各プログラム部品の処理時間情報と
して、別途それぞれのプログラム部品の開発時に測定し
た実行時間とその発生回数の分布を示すヒストグラムを
保持しているとしたが、これはプログラム部品それぞれ
のプログラムフローを元に本実施の形態における処理時
間予測処理S40を実施することで予測した実行時間の
ヒストグラムを用いても良い。あるいはプログラム部品
を再利用している場合は過去に行った測定に基づくヒス
トグラムを用いても良い。さらにプログラム全体の動作
が可能である場合は、プログラム部品毎に測定した値で
はなく、プログラム全体を動作させたときに得られる個
々のプログラム部品の実行時間の測定値に基づくヒスト
グラムを用いるようにしてもよく、この場合アクション
に対する実行時間の予測ヒストグラムの分布は、実際の
動作での分布により近くなる可能性が高まり、実行制限
時間の達成可否の予測精度が高まるという効果が得られ
る。In the present embodiment, the program component information database holds, as processing time information of each program component, a histogram indicating the distribution of the execution time measured during the development of each program component and the number of occurrences separately. However, for this, a histogram of the execution time predicted by executing the processing time prediction processing S40 in the present embodiment based on the program flow of each program component may be used. Alternatively, when a program component is reused, a histogram based on measurements performed in the past may be used. Furthermore, if the operation of the entire program is possible, instead of using a value measured for each program component, a histogram based on the measured value of the execution time of each program component obtained when the entire program is operated is used. In this case, the distribution of the prediction histogram of the execution time for the action is more likely to be closer to the distribution in the actual operation, and the effect of increasing the accuracy of predicting whether or not the execution time limit can be achieved is obtained.
【0063】また本実施の形態では、状態遷移時間予測
比較部4におけるアクションの処理に要する時間の予測
処理S40のうち、ステップS43内では算術演算や代
入などの基本処理の実行時間の予測値は固定値としてい
るが、算術演算や代入といった処理のそれぞれに要する
CPUの実行時間をヒストグラムとして扱い、基本処理
の実行時間の予測を処理S40と同様の方式で計算する
ことで、基本処理に対する実行時間の予測をヒストグラ
ムとして扱っても良い。この場合ステップS43におけ
る処理対象の予測ヒストグラムの再計算は、処理S80
に示したプログラムフローではなく、処理S60に示し
たプログラムフローを採用して行う。In the present embodiment, among the prediction processing S40 of the time required for the action processing in the state transition time prediction comparison section 4, in step S43, the predicted value of the execution time of the basic processing such as arithmetic operation and substitution is Although a fixed value is used, the execution time of the CPU required for each processing such as arithmetic operation and substitution is treated as a histogram, and the prediction of the execution time of the basic processing is calculated in the same manner as in the processing S40. May be treated as a histogram. In this case, the recalculation of the prediction histogram to be processed in step S43 is performed in step S80.
This is performed by adopting the program flow shown in step S60 instead of the program flow shown in FIG.
【0064】また、本実施の形態では、状態遷移時間予
測比較部4におけるアクションの処理に要する時間の予
測処理S40のうち、ステップS45での分岐から合流
までの実行時間の予測ヒストグラムの計算方法S90で
は、各分岐の起きる確率は等しく1/n(nは分岐数)
であるとして、ステップS93にて下記の計算方法: HX (ti) += Hi(ti)/n を用いているが、各分岐の起きる確率がわかる場合は、
各分岐iの起きる確率p(i)を用いて、上記計算方法
を次の計算方法: HX (ti) += Hi(ti)×p(i) に代えても良く、この場合ステップS45における分岐
から合流までの実行時間の予測の精度を高めることがで
きる。Further, in the present embodiment, in the prediction process S40 of the time required for the processing of the action in the state transition time prediction comparison section 4, the method S90 for calculating the prediction histogram of the execution time from the branch to the merge in step S45. Then, the probability of each branch occurring is equal 1 / n (n is the number of branches)
In step S93, the following calculation method is used: H X (t i ) + = H i (t i ) / n. If the probability of each branch occurring is known,
Using the probability p (i) of occurrence of each branch i, the above calculation method may be replaced by the following calculation method: H X (t i ) + = H i (t i ) × p (i), in this case The accuracy of predicting the execution time from the branch to the merge in step S45 can be improved.
【0065】さらに、第1の実施の形態と同様、本実施
の形態でも状態遷移時間予測比較部4における実行制限
時間との実行予測時間の比較において、実行制限時間に
一定の比率を乗じた値、例えば実行制限時間の80%を
目安として実行予測時間との比較を行うようにしてもよ
く、さらに実行予測時間が実行制限時間を越える確率に
応じてプログラム開発者への提示の仕方を変えてもよ
い。例えば実行予測時間が実行制限時間の80%を超え
る確率が5%を越える場合は注意を、また実行制限時間
の80%を越える確率が20%を越える場合は警戒を、
さらに実行制限時間の100%を越える確率が5%を越
える場合は警告をとプログラム開発者への提示の仕方に
差をつけることで、プログラム開発者に対し対策の優先
度を示唆することができ、対策の作業効率の向上を図る
ことができる。Further, similarly to the first embodiment, in the present embodiment, the state transition time prediction comparing section 4 compares the execution restriction time with the execution restriction time by multiplying the execution restriction time by a constant ratio. For example, the comparison with the predicted execution time may be performed using, for example, 80% of the restricted execution time as a guide, and the presentation method to the program developer is changed according to the probability that the predicted predicted execution time exceeds the restricted execution time. Is also good. For example, be careful if the probability that the predicted execution time exceeds 80% of the execution time limit exceeds 5%, and be cautious if the probability that the execution time exceeds 80% exceeds 20%.
Furthermore, when the probability of exceeding the execution time limit of 100% exceeds 5%, a warning and a method of presenting it to the program developer are differentiated, so that the priority of the measure can be suggested to the program developer. In addition, the work efficiency of the measures can be improved.
【0066】また、やはり第1の実施の形態と同様、本
実施の形態においても、プログラム開発者に制限時間の
達成が困難と予測されたアクションを提示する際には、
付随して、そのアクションの処理内で実行されるプログ
ラム部品を、実行予測時間の分布に与える影響の高い順
に列挙するようにする、さらにはプログラム部品を列挙
する際には、プログラム部品の実行時間のヒストグラム
の分布に関する情報も示すようにすることで、アクショ
ンに関する処理時間の改善についての対策の優先度を示
唆することができ、対策の作業効率の向上を図ることが
できる。As in the first embodiment, also in this embodiment, when presenting an action predicted to be difficult to achieve the time limit to the program developer,
Accompanying this, the program components executed in the processing of the action are listed in descending order of the effect on the distribution of the predicted execution time. Further, when listing the program components, the execution time of the program component is By indicating the information on the distribution of the histogram, it is possible to suggest the priority of the measure for improving the processing time for the action, and to improve the work efficiency of the measure.
【0067】なお、アクションの実行予測時間の分布に
対し各プログラム部品の与える影響の度合いについて
は、いくつかの方法で測定できる。例えば、プログラム
部品の処理時間の平均値と実行回数の積の値が大きい順
に、実行予測時間への影響が大きいとみなすことができ
る。あるいは各プログラム部品についてその実行回数分
の処理時間を表すヒストグラムと、実行時間の予測ヒス
トグラムの分布の相関を求め、その相関が高い場合に実
行予測時間の分布に与える影響が大きいとみなしてもよ
い。さらに他の方式を採用する、あるいはいくつかの方
式を組合せて用いることもでき、いずれの方式を採用し
た場合でも、アクションに関する処理時間の改善につい
ての対策の優先度を示唆することができる。The degree of influence of each program component on the distribution of the predicted execution time of an action can be measured by several methods. For example, it can be considered that the influence on the predicted execution time is greater as the value of the product of the average value of the processing times of the program components and the number of executions increases. Alternatively, a correlation between a histogram representing the processing time corresponding to the number of executions of each program component and a distribution of the execution time prediction histogram may be obtained, and when the correlation is high, it may be considered that the influence on the distribution of the execution prediction time is large. . Furthermore, other methods may be employed, or some methods may be used in combination. In any case, the priority of a measure for improving the processing time for an action can be suggested.
【0068】また本実施の形態にて実行時間または予測
時間のヒストグラムを扱う際には、単に実行時間−実行
回数の分布で取り扱うようにしたが、これは例えば総実
行回数が常に100となるように正規化して扱うように
してもよい。総実行回数が常に100となるようなヒス
トグラムの正規化は以下の様に行うことができる。この
場合正規化後のヒストグラムの各実行時間に対応する実
行回数は、実際の時間が各実行時間になる可能性をパー
セントとして示した値に一致する。Further, in the present embodiment, when the histogram of the execution time or the predicted time is handled, the histogram is simply handled by the distribution of the execution time-the number of executions. For example, the total execution number is always 100. May be normalized. The normalization of the histogram so that the total number of executions is always 100 can be performed as follows. In this case, the number of executions corresponding to each execution time of the histogram after the normalization matches a value indicating the possibility that the actual time will be each execution time as a percentage.
【0069】[0069]
【数1】 (Equation 1)
【0070】このようにヒストグラムを計算した際は常
に正規化し直すように処理を進めることで、正規化を行
わない場合に比べ、ヒストグラムの計算途中における演
算エラーの発生を回避でき、計算処理の安定性が向上す
るという効果が得られる。As described above, when the histogram is calculated, the processing is performed so as to always re-normalize, so that it is possible to avoid an operation error during the calculation of the histogram as compared with a case where normalization is not performed, and to stabilize the calculation processing. The effect that the property is improved is obtained.
【0071】上記では、実行時間または予測時間の分布
を実行時間と実行回数に関するヒストグラムとして扱っ
たが、これはより一般的な確率分布を用いるようにして
もよく、ヒストグラムを用いた場合と同じ効果が得られ
る。本実施の形態において、ヒストグラムに代えて確率
分布を用いるようにする場合は、まずプログラム部品情
報データベース3には各プログラム部品の処理時間情報
として確率分布を保持するようにし、本実施の形態にお
ける状態遷移時間予測比較部4におけるアクションの処
理に要する時間の予測は、各プログラム部品の処理時間
情報として実行時間の確率分布を元に行い、確率分布と
して予測値を計算する。また状態遷移時間予測比較部4
における実行制限時間との実行予測時間の比較は、予測
した確率分布から実行予測時間が実行制限時間を越える
確率を求め、その値が一定値を超えるアクションがある
場合は、状態遷移エディタ部1を用いて、プログラム開
発者に対し該当アクションについて実行予測時間が設計
上の実行制限時間を満たさない可能性が高いことを示す
ため、該当アクションの表示を警告を示す表示に変え提
示する。さらにヒストグラムの計算を行う各処理S6
0、S80、S90、S100はそれぞれ以下に示す処
理で代替する。In the above, the distribution of the execution time or the predicted time is treated as a histogram relating to the execution time and the number of executions. However, a more general probability distribution may be used, and the same effect as in the case of using the histogram is obtained. Is obtained. In the present embodiment, when using the probability distribution instead of the histogram, first, the probability distribution is held in the program component information database 3 as the processing time information of each program component. The transition time prediction comparison unit 4 predicts the time required for the processing of the action based on the probability distribution of the execution time as the processing time information of each program component, and calculates the predicted value as the probability distribution. Also, the state transition time prediction comparison unit 4
In the comparison between the execution time limit and the execution time limit, the probability that the predicted execution time exceeds the execution time limit is determined from the predicted probability distribution, and if there is an action whose value exceeds a certain value, the state transition editor unit 1 is used. In order to indicate to the program developer that the predicted execution time of the corresponding action is unlikely to satisfy the design execution time limit, the display of the corresponding action is changed to a display indicating a warning and presented. Each process S6 for further calculating a histogram
0, S80, S90, and S100 are replaced by the following processes.
【0072】処理S60は、原理的には2つの処理A、
Bを逐次的に行った場合に、その各処理の実行時間ヒス
トグラムHA、HBから2つの処理全体の実行時間ヒスト
グラムHXを求める処理である。このため、ヒストグラ
ムに代えて確率分布を用いる場合の同等処理は、2つの
処理A、Bを逐次時的に行った場合に、その各処理の実
行時間の確率分布PA、PBから2つの処理全体の実行時
間の確率分布PXを求める処理となる。本処理は以下の
式により表される。The process S60 is basically composed of two processes A,
When B is performed sequentially, the execution time histograms H X of the entire two processes are obtained from the execution time histograms H A and H B of the respective processes. For this reason, in the case where the probability distribution is used instead of the histogram, when two processes A and B are sequentially performed, two processes A and B are used to calculate the execution time probability distributions P A and P B of each process. This is a process for obtaining the probability distribution P X of the execution time of the entire process. This processing is represented by the following equation.
【0073】[0073]
【数2】 (Equation 2)
【0074】処理S80は、原理的には実行時間がヒス
トグラムHAとして与えられる処理Aに続いて実行時間
が固定長TBである処理Bを逐次的に行った場合に、2
つの処理全体の実行時間ヒストグラムHXを求める処理
である。このため、ヒストグラムに代えて確率分布を用
いる場合の同等処理は、2つの処理A、Bを逐次時的に
行った場合に、処理Aの実行時間の確率分布PAと処理
Bの実行時間TBから2つの処理全体の実行時間の確率
分布PXを求める処理となる。本処理は以下の式により
表される。 PX(t) = PA(t−TB) 但し PA (t)…処理Aの実行時間がtとなる確率を示す確
率分布 TB …処理Bの実行時間(固定値) PX (t)…処理A、Bを逐次実行した時間がtとなる
確率を示す確率分布[0074] process S80, when the execution time in principle is followed by the execution time to process A given as histograms H A went sequential processing B is a fixed length T B, 2
One execution of the overall processing time is a process of obtaining a histogram H X. Therefore, in the case of using the probability distribution instead of the histogram, the two processes A and B are performed sequentially, and the probability distribution P A of the execution time of the process A and the execution time T of the process B a process of obtaining the probability distribution P X for the entire two processing execution time from B. This processing is represented by the following equation. P X (t) = P A (t-T B) where P A (t) ... probability indicating the probability that the execution time is t processing A distribution T B ... processing execution time of the B (fixed value) P X ( t) Probability distribution indicating the probability that the time at which the processes A and B are sequentially executed becomes t
【0075】処理S90は、複数の分岐を持つ処理につ
いて、各分岐iに関する分岐から合流までの実行時間の
予測ヒストグラムHiを元に、その分岐から合流までの
実行時間ヒストグラムHXを求める処理である。このた
め、ヒストグラムに代えて確率分布を用いる場合の同等
処理は、各分岐iに関する分岐から合流までの実行時間
の予測確率分布Piを元に、その分岐から合流までの実
行時間の確率分布PXを求める処理である。本処理は各
分岐の起きる確率が等しいとした場合は以下の式により
表される。[0075] processing S90 is processing having a plurality of branches, based on the predicted histogram H i of execution time to merge from a branch for each branch i, the process for obtaining the execution time histogram H X leading to the merging from the branch is there. For this reason, the equivalent process in the case of using the probability distribution instead of the histogram is based on the predicted probability distribution P i of the execution time from the branch to the junction for each branch i, and the probability distribution P of the execution time from the branch to the junction. This is the process for obtaining X. This processing is represented by the following equation, assuming that the probability of each branch occurring is equal.
【0076】[0076]
【数3】 (Equation 3)
【0077】また各分岐の起きる確率がわかる場合は、
各分岐iの起きる確率p(i)を用いて以下の式により
表される。If the probability of the occurrence of each branch is known,
It is represented by the following equation using the probability p (i) of occurrence of each branch i.
【0078】[0078]
【数4】 (Equation 4)
【0079】処理S100は、繰り返しの内部処理Aを
N回繰り返した場合に、内部処理の実行時間ヒストグラ
ムHAから繰り返し処理全体の実行時間ヒストグラムHX
を求める処理である。このため、ヒストグラムに代えて
確率分布を用いる場合の同等処理は、繰り返しの内部処
理Aをn回繰り返した場合に、内部処理の実行時間の確
率分布PAから繰り返し処理全体の実行時間の確率分布
PXを求める処理となる。本処理は以下の式により表さ
れる。In the process S100, when the repetition of the internal process A is repeated N times, the execution time histogram H X of the entire repetition process is obtained from the execution time histogram H A of the internal process.
Is a process for obtaining Thus, equivalent processing when using the probability distribution instead of a histogram, when the internal processing A of the repetition is repeated n times, the probability distribution iteration overall execution time from the probability distribution P A in the execution time of the internal processing This is a process for obtaining P X. This processing is represented by the following equation.
【0080】[0080]
【数5】 (Equation 5)
【0081】このようにヒストグラムに代え一般的な確
率分布を用いるようにしても、ヒストグラムを用いた場
合と同様の効果が得られる。さらに、例えば処理A、処
理Bを続けて実行する際に、処理Aの実行時間tAと処
理Bの実行時間tBの分布に相関情報が得られている場
合は、処理A、Bを続けたときの実行時間の確率分布を
求める際には、処理Bの実行時間の確率分布PBに処理
Aの実行時間tAに応じた確率分布を用いることがで
き、この場合アクションに対する実行予測時間の確率分
布は、実際の動作での実行時間の分布により近くなる可
能性が高まり、実行制限時間の達成可否の予測精度が高
まるという効果が得られる。また、用いる確率分布とし
て適切な数式を選定することで、統計学上の知識を用い
て確率分布の計算の操作を簡素に扱うことができ、実行
時間の予測処理の高速化が図れ、予測の作業効率が向上
するといった効果が得られる。As described above, even when a general probability distribution is used instead of a histogram, the same effect as that obtained when a histogram is used can be obtained. Further, for example the process A, when executing continue the process B, if the correlation information on the distribution of execution times t B execution time t A and the processing B of the process A has been obtained, continued processing A, the B and when obtaining the probability distribution of the execution times of the time, the processing B of the probability distribution can be used in accordance with the execution time t a of the probability distribution P B to the processing a of the execution time, execution prediction time for this action Is more likely to be closer to the distribution of execution times in an actual operation, and the effect of increasing the accuracy of predicting whether or not the execution time limit can be achieved is obtained. In addition, by selecting an appropriate mathematical expression as the probability distribution to be used, the operation of calculating the probability distribution can be easily handled using statistical knowledge, and the processing for predicting the execution time can be speeded up. The effect of improving work efficiency is obtained.
【0082】以上の実施の形態1及び実施の形態2で
は、本発明に係るプログラム設計支援装置について説明
してきたが、同様の処理手順により本発明に係るプログ
ラム設計支援方法も実現することができる。In the first and second embodiments described above, the program design support apparatus according to the present invention has been described. However, a program design support method according to the present invention can be realized by a similar processing procedure.
【0083】以上にて説明した本発明の特徴をまとめる
と以下のようになる。本発明に係るプログラム設計支援
方式は、プログラムの仕様として、複数の状態と、複数
のイベントと、各状態においてイベントの発生により生
起される状態間の遷移と、各遷移において実行されるア
クション、を含む状態遷移情報を記述する状態遷移エデ
ィタ部と、同状態遷移エディタ部により記述された状態
遷移情報を蓄える状態遷移情報保持部と、プログラムの
作成に利用するプログラム部品について、それぞれの処
理時間情報を保持するプログラム部品情報データベース
と、状態遷移情報とプログラム部品の処理時間情報を元
にアクションの処理に要する時間の予測を行う状態遷移
時間予測部から構成され、状態遷移エディタ部では、ア
クションの処理の記述において、どのプログラム部品を
どのような手順で呼び出すかといったプログラムフロー
を記述することができ、また任意のアクションについ
て、その処理に許容される制限時間(実行制限時間)を
記述することができ、状態遷移時間予測部では、アクシ
ョンのプログラムフローと呼び出すプログラム部品の情
報を元に、プログラム部品情報データベースに含まれる
プログラム部品の処理時間情報を用いて、アクションの
処理に要する時間を予測し(実行予測時間)、実行予測
時間と状態遷移エディタ部により記述されたアクション
に対する実行制限時間と比較して提示することができる
ことを特徴とする。The features of the present invention described above are summarized as follows. The program design support method according to the present invention includes, as program specifications, a plurality of states, a plurality of events, transitions between states caused by occurrence of an event in each state, and an action executed in each transition. A state transition editor unit for describing state transition information including, a state transition information holding unit for storing state transition information described by the state transition editor unit, and processing time information for each program component used for creating a program. It consists of a held program part information database and a state transition time prediction unit that predicts the time required for processing an action based on the state transition information and the processing time information of the program part. In the description, you can define the program A program flow can be described, and a time limit (execution time limit) allowed for the processing of an arbitrary action can be described. Based on this information, the time required for processing the action is predicted using the processing time information of the program components included in the program component information database (execution predicted time), and the execution predicted time and the state transition editor section are described. It is characterized in that it can be presented in comparison with the execution time limit for the action.
【0084】上記プログラム設計支援方式は、プログラ
ム部品情報データベースには各プログラム部品の処理時
間情報として処理の平均値あるいは/及び最大値を保持
し、状態遷移時間予測部では、アクションの実行予測時
間を求める際に、プログラム部品情報データベースが保
持するプログラム部品毎の平均値あるいは最大値を元に
予測を行い、その値がアクションの実行制限時間を越え
る場合、あるいは近い場合には警告を提示することを特
徴とする。In the above program design support system, the program component information database holds the average value and / or the maximum value of the processing as the processing time information of each program component. When calculating, make a prediction based on the average or maximum value for each program component stored in the program component information database, and if the value exceeds or close to the action execution time limit, a warning should be presented. Features.
【0085】上記プログラム設計支援方式は、状態遷移
時間予測部が警告を示す際には付随して、該当するアク
ションのプログラムフロー内で用いられているプログラ
ム部品をその処理時間の長い順に列挙することを特徴と
する。In the above program design support method, when the state transition time prediction section gives a warning, the program parts used in the program flow of the corresponding action are listed in ascending order of the processing time. It is characterized by.
【0086】上記プログラム設計支援方式は、プログラ
ム部品情報データベースには各プログラム部品の処理時
間情報として、特定の固定値ではなく、ヒストグラムな
いし確率分布といった統計的な値として保持しており、
状態遷移時間予測部では、アクションの実行予測時間を
求める際には、プログラム部品情報データベースが保持
するプログラム部品毎の処理時間情報を元に、統計的処
理に基づきその予測を行うことで、その実行予測時間が
アクションの実行制限時間を越えるあるいは近づく確率
を求め、その確率が一定値を越える場合には警告を提示
することを特徴とする。In the above-mentioned program design support system, the program component information database holds processing time information of each program component as a statistical value such as a histogram or a probability distribution instead of a specific fixed value.
The state transition time prediction unit calculates the predicted execution time of the action by performing a prediction based on statistical processing based on the processing time information of each program component held in the program component information database, thereby executing the prediction. It is characterized in that the probability that the predicted time exceeds or approaches the action execution time limit is obtained, and if the probability exceeds a certain value, a warning is presented.
【0087】上記プログラム設計支援方式は、状態遷移
時間予測部が警告を示す際には付随して、該当するアク
ションのプログラムフロー内で用いられているプログラ
ム部品を、実行予測時間に与える影響の高い順に列挙す
ることを特徴とする。In the above program design support system, when the state transition time prediction section gives a warning, the program component used in the program flow of the corresponding action has a high effect on the predicted execution time. They are listed in order.
【0088】[0088]
【発明の効果】本発明によれば、状態遷移の設計に際し
て、状態遷移と共にそのアクションの処理に許容される
制限時間を同時に記述することができ、さらにアクショ
ンの処理に要する時間を予測することで、制限時間の達
成可否を推定することができるため、ソフトウェア開発
の下流工程で制限時間の達成可否に係る不具合が発生す
る可能性を減少させることができ、プログラムの開発効
率及び品質の向上といった効果が得られる。According to the present invention, when designing a state transition, it is possible to simultaneously describe the time limit allowed for the processing of the action together with the state transition, and to predict the time required for the processing of the action. , It is possible to estimate whether or not the time limit can be achieved, thereby reducing the possibility of occurrence of a problem related to whether or not the time limit can be achieved in a downstream process of software development, and improving program development efficiency and quality. Is obtained.
【0089】本発明によれば、状態遷移の設計に際し
て、状態遷移と共にそのアクションの処理に許容される
制限時間を同時に記述することができ、さらにアクショ
ンの処理に要する時間をヒストグラム又は確率分布とし
て予測することで、制限時間の達成確率を推定すること
ができるため、ソフトウェア開発の下流工程で制限時間
の達成可否に係る不具合が発生する可能性を減少させる
ことができ、プログラムの開発効率及び品質の向上とい
った効果が得られる。According to the present invention, when designing a state transition, the time limit allowed for the processing of the action can be described together with the state transition, and the time required for the processing of the action can be predicted as a histogram or a probability distribution. By doing so, it is possible to estimate the probability of achieving the time limit, thereby reducing the possibility of occurrence of a problem related to the achievement of the time limit in the downstream process of software development, and to improve the program development efficiency and quality. The effect of improvement is obtained.
【図1】 プログラム設計支援装置の構成を示す図。FIG. 1 is a diagram showing a configuration of a program design support device.
【図2】 状態遷移情報の例を示す図。FIG. 2 is a diagram showing an example of state transition information.
【図3】 アクションのプログラムフローの例を示す
図。FIG. 3 is a diagram showing an example of an action program flow.
【図4】 実施の形態1に係る実行時間の予測処理を示
すフローチャート図。FIG. 4 is a flowchart showing an execution time prediction process according to the first embodiment;
【図5】 実施の形態2に係る実行時間の予測処理を示
すフローチャート図。FIG. 5 is a flowchart showing an execution time prediction process according to the second embodiment.
【図6】 実施の形態2に係る予測ヒストグラムの再計
算方法を示すフローチャート図。FIG. 6 is a flowchart showing a prediction histogram recalculation method according to the second embodiment.
【図7】 実施の形態2に係る予測ヒストグラムの再計
算方法を示すフローチャート図。FIG. 7 is a flowchart showing a prediction histogram recalculation method according to the second embodiment;
【図8】 実施の形態2に係る予測ヒストグラムの計算
方法を示すフローチャート図。FIG. 8 is a flowchart showing a method for calculating a prediction histogram according to the second embodiment.
【図9】 実施の形態2に係る予測ヒストグラムの計算
方法を示すフローチャート図。FIG. 9 is a flowchart showing a method for calculating a prediction histogram according to the second embodiment.
【図10】 従来技術に係る状態遷移図を示す図。FIG. 10 is a diagram showing a state transition diagram according to the related art.
【図11】 従来技術に係る状態遷移表を示す図。FIG. 11 is a diagram showing a state transition table according to the related art.
1 状態遷移エディタ部、2 状態遷移情報保持部、3
プログラム部品情報データベース、4 状態遷移時間
予測比較部、10 プログラム設計支援装置、11 状
態、12 遷移。1 state transition editor section, 2 state transition information holding section, 3
Program part information database, 4 state transition time prediction comparison section, 10 program design support device, 11 states, 12 transitions.
Claims (20)
時間として指定された指定処理工程を含むプログラムに
ついて、前記指定処理工程の実行に要する時間を予測し
て実行予測時間を導出し、前記指定処理工程の実行予測
時間と実行許容時間とを比較する実行時間予測比較部
と、 前記実行時間予測比較部による比較結果を提示する比較
結果出力部とを有することを特徴とするプログラム設計
支援装置。1. A program including a designated processing step designated as a time allowed for execution of a process as a permissible execution time, estimating a time required for executing the designated processing step to derive an estimated execution time, A program design support device comprising: an execution time prediction comparison unit that compares an execution prediction time of a designated processing step with an allowable execution time; and a comparison result output unit that presents a comparison result by the execution time prediction comparison unit. .
ラムにおける状態の遷移と、前記状態の遷移の際に実行
される処理工程とが示された状態遷移情報を入力し、入
力した前記状態遷移情報に示された処理工程のうち前記
指定処理工程の実行予測時間を導出することを特徴とす
る請求項1に記載のプログラム設計支援装置。2. The execution time prediction / comparison unit inputs state transition information indicating a state transition in the program and a processing step executed at the time of the state transition, and the input state transition 2. The program design support apparatus according to claim 1, wherein an estimated execution time of the designated processing step among the processing steps indicated in the information is derived.
上の内部処理工程を含み、 前記実行時間予測比較部は、各内部処理工程の実行に要
する時間を予測して各内部処理工程の実行予測時間を導
出し、各内部処理工程の実行予測時間の合計値と前記指
定処理工程の実行許容時間とを比較することを特徴とす
る請求項1に記載のプログラム設計支援装置。3. The designated processing step includes at least one or more internal processing steps, and the execution time prediction comparing unit predicts a time required for executing each of the internal processing steps and performs execution prediction of each of the internal processing steps. 2. The program design support apparatus according to claim 1, wherein a time is derived, and a total value of predicted execution times of the respective internal processing steps is compared with a permissible execution time of the designated processing step.
として、プログラム部品の実行処理を含み、 前記プログラム設計支援装置は、前記プログラム部品の
実行処理の平均時間が示された平均実行時間情報及びプ
ログラム部品の実行処理の最大時間が示された最大実行
時間情報のうち少なくともいずれか一つを記憶するプロ
グラム部品情報データベースを有し、 前記実行時間予測比較部は、前記プログラム部品情報デ
ータベースに記憶された前記平均実行時間情報及び最大
実行時間情報のうち少なくともいずれか一つに基づき、
前記プログラム部品の実行処理に要する時間を予測して
前記プログラム部品の実行処理の実行予測時間を導出す
ることを特徴とする請求項3に記載のプログラム設計支
援装置。4. The designated processing step includes, as the internal processing step, an execution process of a program component, wherein the program design support device includes: an average execution time information indicating an average execution time of the program component; A program component information database that stores at least one of maximum execution time information indicating the maximum time of the execution process of the program component, wherein the execution time prediction comparison unit is stored in the program component information database Based on at least one of the average execution time information and the maximum execution time information,
4. The program design support apparatus according to claim 3, wherein a time required for the execution process of the program component is predicted to derive an estimated execution time of the execution process of the program component.
理工程の実行予測時間と実行許容時間との比較の結果、
前記指定処理工程の実行予測時間が実行許容時間の所定
レベルを超えると判断した場合に、前記比較結果出力部
に対して前記指定処理工程についての警告情報を提示す
るように指示し、 前記比較結果出力部は、前記実行時間予測比較部からの
指示に基づき、前記指定処理工程についての警告情報を
提示することを特徴とする請求項1に記載のプログラム
設計支援装置。5. The execution time prediction comparing section, as a result of a comparison between an execution prediction time of the designated processing step and an allowable execution time,
When determining that the predicted execution time of the designated processing step exceeds a predetermined level of the permissible execution time, instructing the comparison result output unit to present warning information about the designated processing step; 2. The program design support device according to claim 1, wherein the output unit presents warning information about the designated processing step based on an instruction from the execution time prediction comparison unit.
理工程について、実行許容時間の所定レベルを超える実
行予測時間が発生する発生確率を導出し、導出した前記
発生確率が一定値以上であると判断した場合に、前記比
較結果出力部に対して前記指定処理工程についての警告
情報を提示するように指示し、 前記比較結果出力部は、前記実行時間予測比較部からの
指示に基づき、前記指定処理工程についての警告情報を
提示することを特徴とする請求項1に記載のプログラム
設計支援装置。6. The execution time prediction comparison unit derives an occurrence probability that an execution prediction time exceeding a predetermined level of an allowable execution time occurs for the specified processing step, and the derived occurrence probability is equal to or more than a certain value. When it is determined, the comparison result output unit is instructed to present warning information about the designated processing step, the comparison result output unit, based on the instruction from the execution time prediction comparison unit, 2. The program design support apparatus according to claim 1, wherein warning information about the designated processing step is presented.
ム情報及び確率分布情報のうち少なくともいずれか一方
を用いて、前記発生確率を導出することを特徴とする請
求項6に記載のプログラム設計支援装置。7. The program design support device according to claim 6, wherein the execution time prediction comparison unit derives the occurrence probability using at least one of histogram information and probability distribution information. .
程を含み、 前記実行時間予測比較部は、前記複数の内部処理工程間
で順序づけを行い、前記比較結果出力部は、前記警告情
報とともに、前記複数の内部処理工程を前記順序づけに
従って提示することを特徴とする請求項5又は6に記載
のプログラム設計支援装置。8. The designated processing step includes a plurality of internal processing steps, the execution time prediction comparing section performs an ordering among the plurality of internal processing steps, and the comparison result output section includes a plurality of processing steps together with the warning information. 7. The program design support device according to claim 5, wherein the plurality of internal processing steps are presented in accordance with the ordering.
として、複数のプログラム部品の実行処理を含み、 前記実行時間予測比較部は、前記複数のプログラム部品
の実行処理間で順序づけを行い、 前記比較結果出力部は、前記警告情報とともに、前記複
数のプログラム部品の実行処理を前記順序づけに従って
提示することを特徴とする請求項8に記載のプログラム
設計支援装置。9. The specification processing step includes, as the internal processing step, an execution process of a plurality of program components, the execution time prediction comparing unit performs an ordering among the execution processes of the plurality of program components, The program design support apparatus according to claim 8, wherein the comparison result output unit presents the execution processing of the plurality of program components in accordance with the ordering, together with the warning information.
処理工程の実行予測時間に与える影響の大きさに従っ
て、前記複数のプログラム部品の実行処理間で順序づけ
を行うことを特徴とする請求項9に記載のプログラム設
計支援装置。10. The execution time prediction comparing section orders the execution processing of the plurality of program components according to a magnitude of an influence on an execution prediction time of the designated processing step. A program design support device according to item 1.
定処理工程を含むプログラムについて、前記各指定処理
工程の実行予測時間と実行許容時間との比較の結果、前
記各指定処理工程について実行予測時間と実行許容時間
との差異及び実行予測時間の実行許容時間に対する比率
のうち少なくともいずれか一つを算出し、算出した差異
及び比率のうち少なくともいずれか一つに基づき前記各
指定処理工程間で順序づけを行い、 前記比較結果出力部は、前記実行時間予測比較部による
順序づけに従って、前記各指定処理工程を提示すること
を特徴とする請求項1に記載のプログラム設計支援装
置。11. The execution time prediction comparing section, for a program including a plurality of designated processing steps, as a result of comparing the predicted execution time of each designated processing step with the permissible execution time, Calculate at least one of the difference between the time and the execution allowable time and the ratio of the execution prediction time to the execution allowable time, and calculate the difference between the designated processing steps based on at least one of the calculated difference and the ratio. 2. The program design support device according to claim 1, wherein the ordering is performed, and the comparison result output unit presents each of the designated processing steps according to the ordering performed by the execution time prediction comparing unit. 3.
容時間として指定された指定処理工程を含むプログラム
について、前記指定処理工程の実行に要する時間を予測
して実行予測時間を導出し、前記指定処理工程の実行予
測時間と実行許容時間とを比較する実行時間予測比較ス
テップと、 前記実行時間予測比較ステップによる比較結果を提示す
る比較結果出力ステップとを有するプログラム設計支援
方法。12. For a program including a designated processing step designated as a permissible execution time of a process, a predicted execution time is derived by estimating a time required to execute the designated processing step. A program design support method comprising: an execution time prediction comparison step of comparing an execution prediction time of a designated processing step with an allowable execution time; and a comparison result output step of presenting a comparison result by the execution time prediction comparison step.
記プログラムにおける状態の遷移と、前記状態の遷移の
際に実行される処理工程とが示された状態遷移情報を入
力し、入力した前記状態遷移情報に示された処理工程の
うち前記指定処理工程の実行予測時間を導出することを
特徴とする請求項12に記載のプログラム設計支援方
法。13. The execution time prediction comparing step includes inputting state transition information indicating a state transition in the program and a processing step executed at the time of the state transition, and the input state transition 13. The program design support method according to claim 12, wherein an estimated execution time of the designated processing step among the processing steps indicated in the information is derived.
以上の内部処理工程を含み、 前記実行時間予測比較ステップは、各内部処理工程の実
行に要する時間を予測して各内部処理工程の実行予測時
間を導出し、各内部処理工程の実行予測時間の合計値と
前記指定処理工程の実行許容時間とを比較することを特
徴とする請求項12に記載のプログラム設計支援方法。14. The specified processing step includes at least one or more internal processing steps, and the execution time prediction comparison step predicts the time required for execution of each internal processing step and predicts the execution of each internal processing step. 13. The program design support method according to claim 12, wherein a time is derived, and a total value of predicted execution times of the respective internal processing steps is compared with an allowable execution time of the designated processing step.
程として、プログラム部品の実行処理を含み、 前記プログラム設計支援方法は、前記プログラム部品の
実行処理の平均時間が示された平均実行時間情報及びプ
ログラム部品の実行処理の最大時間が示された最大実行
時間情報のうち少なくともいずれか一つを記憶するプロ
グラム部品情報記憶ステップを有し、 前記実行時間予測比較ステップは、前記プログラム部品
情報記憶ステップにより記憶された前記平均実行時間情
報及び最大実行時間情報のうち少なくともいずれか一つ
に基づき、前記プログラム部品の実行処理に要する時間
を予測して前記プログラム部品の実行処理の実行予測時
間を導出することを特徴とする請求項14に記載のプロ
グラム設計支援方法。15. The method according to claim 15, wherein the designating process includes a program component execution process as the internal processing process, wherein the program design support method includes: an average execution time information indicating an average time of the program component execution process; A program component information storing step of storing at least one of maximum execution time information indicating the maximum time of the execution process of the program component, wherein the execution time prediction comparing step is performed by the program component information storing step. Estimating a time required for the execution process of the program component based on at least one of the stored average execution time information and maximum execution time information to derive an estimated execution time of the execution process of the program component; The program design support method according to claim 14, wherein:
記指定処理工程の実行予測時間と実行許容時間との比較
の結果、前記指定処理工程の実行予測時間が実行許容時
間の所定レベルを超えると判断した場合に、前記比較結
果出力ステップに対して前記指定処理工程についての警
告情報を提示するように指示し、 前記比較結果出力ステップは、前記実行時間予測比較ス
テップからの指示に基づき、前記指定処理工程について
の警告情報を提示することを特徴とする請求項12に記
載のプログラム設計支援方法。16. The execution time prediction comparing step determines that the estimated execution time of the specified processing step exceeds a predetermined level of the allowable execution time as a result of the comparison between the estimated execution time of the designated processing step and the allowable execution time. In this case, the comparison result output step is instructed to present warning information about the designation processing step, and the comparison result output step is based on the instruction from the execution time prediction comparison step. 13. The method according to claim 12, wherein warning information about the process is presented.
記指定処理工程について、実行許容時間の所定レベルを
超える実行予測時間が発生する発生確率を導出し、導出
した前記発生確率が一定値以上であると判断した場合
に、前記比較結果出力ステップに対して前記指定処理工
程についての警告情報を提示するように指示し、 前記比較結果出力ステップは、前記実行時間予測比較ス
テップからの指示に基づき、前記指定処理工程について
の警告情報を提示することを特徴とする請求項12に記
載のプログラム設計支援方法。17. The execution time prediction comparing step derives a probability of occurrence of a predicted execution time exceeding a predetermined level of an allowable execution time for the specified processing step, and the derived probability is a predetermined value or more. When it is determined, the comparison result output step is instructed to present warning information about the designated processing step, the comparison result output step is based on an instruction from the execution time prediction comparison step, 13. The program design support method according to claim 12, wherein warning information about the designated processing step is presented.
工程を含み、 前記実行時間予測比較ステップは、前記複数の内部処理
工程間で順序づけを行い、 前記比較結果出力ステップは、前記警告情報とともに、
前記複数の内部処理工程を前記順序づけに従って提示す
ることを特徴とする請求項16又は17に記載のプログ
ラム設計支援方法。18. The designated processing step includes a plurality of internal processing steps, the execution time prediction comparing step performs an ordering among the plurality of internal processing steps, and the comparing result output step includes a step of outputting together with the warning information. ,
18. The method according to claim 16, wherein the plurality of internal processing steps are presented according to the order.
程として、複数のプログラム部品の実行処理を含み、 前記実行時間予測比較ステップは、前記複数のプログラ
ム部品の実行処理間で順序づけを行い、 前記比較結果出力ステップは、前記警告情報とともに、
前記複数のプログラム部品の実行処理を前記順序づけに
従って提示することを特徴とする請求項18に記載のプ
ログラム設計支援方法。19. The specification processing step includes, as the internal processing step, an execution process of a plurality of program components, the execution time prediction comparing step orders the execution processes of the plurality of program components, The comparison result output step includes, together with the warning information,
19. The program design support method according to claim 18, wherein the execution processes of the plurality of program components are presented according to the ordering.
容時間として指定された指定処理工程を含むプログラム
について、前記指定処理工程の実行に要する時間を予測
して実行予測時間を導出し、前記指定処理工程の実行予
測時間と実行許容時間とを比較する実行時間予測比較ス
テップと、 前記実行時間予測比較ステップによる比較結果を提示す
る比較結果出力ステップとを有することを特徴とするプ
ログラム設計支援方法をコンピュータに実行させるため
のプログラム。20. For a program including a designated processing step designated as a permitted time for execution of a process as a permitted execution time, predicting a time required for executing the designated processing step to derive an estimated execution time, A program design support method, comprising: an execution time prediction comparison step of comparing an execution prediction time of a designated processing step with an allowable execution time; and a comparison result output step of presenting a comparison result by the execution time prediction comparison step. A program for causing a computer to execute.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2001062755A JP2002268879A (en) | 2001-03-07 | 2001-03-07 | A program design support device, a program design support method, and a program for causing a computer to execute the program design support method. |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2001062755A JP2002268879A (en) | 2001-03-07 | 2001-03-07 | A program design support device, a program design support method, and a program for causing a computer to execute the program design support method. |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2002268879A true JP2002268879A (en) | 2002-09-20 |
Family
ID=18921847
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2001062755A Pending JP2002268879A (en) | 2001-03-07 | 2001-03-07 | A program design support device, a program design support method, and a program for causing a computer to execute the program design support method. |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2002268879A (en) |
Cited By (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2006185055A (en) * | 2004-12-27 | 2006-07-13 | Toshiba Corp | Computer system design support system and design support program |
| JP2009053756A (en) * | 2007-08-23 | 2009-03-12 | Nec Corp | Source code verification processing time calculation device and method |
| JP2012038001A (en) * | 2010-08-05 | 2012-02-23 | Fujitsu Ltd | Prediction device, prediction method and prediction program |
| WO2012117746A1 (en) * | 2011-03-02 | 2012-09-07 | 兵庫県 | Computer software system design support device |
| WO2012117747A1 (en) * | 2011-03-02 | 2012-09-07 | 兵庫県 | Network-type computer software system design support method |
| JP2013200666A (en) * | 2012-03-23 | 2013-10-03 | Ntt Data Corp | Program processing method and system of the same |
| JP2022010710A (en) * | 2020-06-29 | 2022-01-17 | パナソニックIpマネジメント株式会社 | Processing time analysis system, processing time analysis method, and program |
-
2001
- 2001-03-07 JP JP2001062755A patent/JP2002268879A/en active Pending
Cited By (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2006185055A (en) * | 2004-12-27 | 2006-07-13 | Toshiba Corp | Computer system design support system and design support program |
| JP2009053756A (en) * | 2007-08-23 | 2009-03-12 | Nec Corp | Source code verification processing time calculation device and method |
| JP2012038001A (en) * | 2010-08-05 | 2012-02-23 | Fujitsu Ltd | Prediction device, prediction method and prediction program |
| WO2012117746A1 (en) * | 2011-03-02 | 2012-09-07 | 兵庫県 | Computer software system design support device |
| WO2012117747A1 (en) * | 2011-03-02 | 2012-09-07 | 兵庫県 | Network-type computer software system design support method |
| JP5374707B2 (en) * | 2011-03-02 | 2013-12-25 | 兵庫県 | Computer software system design support device |
| JP2013200666A (en) * | 2012-03-23 | 2013-10-03 | Ntt Data Corp | Program processing method and system of the same |
| JP2022010710A (en) * | 2020-06-29 | 2022-01-17 | パナソニックIpマネジメント株式会社 | Processing time analysis system, processing time analysis method, and program |
| JP7595256B2 (en) | 2020-06-29 | 2024-12-06 | パナソニックIpマネジメント株式会社 | Processing time analysis system, processing time analysis method and program |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4240504B2 (en) | Apparatus and method for analyzing influence of design change in product development process | |
| US20090319829A1 (en) | Pattern extraction method and apparatus | |
| US10402225B2 (en) | Tuning resources based on queuing network model | |
| JP2563663B2 (en) | Logic design processing device and timing adjustment method | |
| US20040015978A1 (en) | Parallel efficiency calculation method and apparatus | |
| US6393433B1 (en) | Methods and apparatus for evaluating effect of run-time schedules on performance of end-system multimedia applications | |
| US7246331B2 (en) | Method for optimizing integrated circuit device design and service | |
| US9176732B2 (en) | Method and apparatus for minimum cost cycle removal from a directed graph | |
| US8527254B2 (en) | Simulator engine development system and simulator engine development method | |
| CN114676035B (en) | A test case generation method, device and electronic device | |
| US7447617B2 (en) | Data processing device designing method, data processing device designing apparatus, program and computer readable information recording medium | |
| JP4914609B2 (en) | Source code problem prediction program | |
| JP2002268879A (en) | A program design support device, a program design support method, and a program for causing a computer to execute the program design support method. | |
| Adyanthaya et al. | Robustness analysis of multiprocessor schedules | |
| EP2891983A1 (en) | Software verification program and software verification system | |
| US20050027504A1 (en) | Job execution plan evaluation system | |
| JP6723483B2 (en) | Test case generation device, test case generation method, and test case generation program | |
| EP2757468A1 (en) | Apparatus and method for managing a software development and maintenance system | |
| US20190163508A1 (en) | Optimization of the execution time of a computer program by determining the implementation of a function according to range of input parameters and accuracy | |
| JP7391740B2 (en) | Impact identification support device and impact identification support method | |
| JP5029584B2 (en) | Development support equipment | |
| JP3486014B2 (en) | Software / hardware co-design system and design method thereof | |
| CN112699376A (en) | Source code logic vulnerability detection method and device, computer equipment and storage medium | |
| JP7760317B2 (en) | Software defect analysis device and software defect analysis method | |
| JP6573583B2 (en) | System development support apparatus and system development support method |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20040517 |
|
| RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20041018 |