JP2010211682A - Apparatus and method of supporting program design, and program - Google Patents
Apparatus and method of supporting program design, and program Download PDFInfo
- Publication number
- JP2010211682A JP2010211682A JP2009059207A JP2009059207A JP2010211682A JP 2010211682 A JP2010211682 A JP 2010211682A JP 2009059207 A JP2009059207 A JP 2009059207A JP 2009059207 A JP2009059207 A JP 2009059207A JP 2010211682 A JP2010211682 A JP 2010211682A
- Authority
- JP
- Japan
- Prior art keywords
- function
- processing
- program
- state transition
- state
- 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.)
- Granted
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
Description
本発明は、プログラム設計支援装置、プログラム設計支援方法、およびプログラムに関する。 The present invention relates to a program design support apparatus, a program design support method, and a program.
従来、情報処理を実行する制御プログラムの開発を行うに当たって、要求仕様の検討を行って機能仕様書を作成し、この機能仕様書に基づいて設計仕様を検討して外部仕様書を作成し、この外部仕様書に基づいてプログラミングを行ってソースコードからなる制御プログラムを作成する一連の作業を行うことが一般的であった。 Conventionally, when developing a control program that executes information processing, a functional specification is created by examining the required specifications, and an external specification is created by examining the design specifications based on this functional specification. It has been common to perform a series of operations for creating a control program composed of source code by programming based on an external specification.
この外部仕様書を分かりやすくするために、状態遷移図または状態遷移表を用いて仕様設計を支援する方法が現在では多く行われている。 In order to make this external specification easy to understand, there are currently many methods for supporting specification design using a state transition diagram or a state transition table.
近年では、開発プログラムの規模や機能の拡大に伴い、仕様設計支援の方法として状態遷移表を用いる場合でも、遷移状態数の肥大化や処理内容の複雑化が進んでいる状況にある。 In recent years, with the expansion of the scale and functions of development programs, even when a state transition table is used as a specification design support method, the number of transition states is increasing and the processing contents are becoming more complex.
この仕様書の作成を支援する手法として状態遷移エディタを用意し、この状態遷移エディタに対して、状態遷移定義、アクション定義、並びに許容される制限時間を同時に定義するプログラム設計支援装置の発明が開示されている(例えば、特許文献1参照)。なお、アクションとは、ある状態から別の状態へ遷移する際に行う処理のことをいう。 Disclosed is an invention of a program design support apparatus that prepares a state transition editor as a method for supporting the creation of this specification, and simultaneously defines a state transition definition, an action definition, and an allowable time limit for the state transition editor. (For example, refer to Patent Document 1). Note that an action refers to a process performed when transitioning from one state to another state.
特許文献1に記載された発明は、状態遷移情報に記述されたアクションのうち、処理の実行に許容される時間(実行制限時間)が指定されたアクションについて、実際の処理の実行に要する時間とその実行制限時間とを比較する。
The invention described in
図15は、特許文献1の発明の概要を示す状態遷移図の例である。図15に示す例においては、状態遷移におけるある状態を丸で表し、状態間の遷移を矢印で表す。また、遷移の契機となるイベントと、遷移において実行するアクションと、アクションの実行制限時間は、それぞれ「/」を用いてつないだ「イベント/アクション/実行制限時間」で表現されている。例えば、この状態遷移エディタにおいて、状態「SN1」と状態「SN2」との遷移間に「enA/an12/tA」と定義すると、「enA」イベントが発生したときに、「an12」のアクションを実行し、このときの実行制限時間の値は「tA」であるという定義内容となる。
FIG. 15 is an example of a state transition diagram showing an outline of the invention of
特許文献1に記載された技術は、状態遷移エディタに対して、状態遷移、アクション、および実行制限時間を定義するが、このとき、実行制限時間を1つの状態遷移につき1つのアクションにしか設定できないため、処理時間が実行制限時間を超えた場合には、そのアクション内のどこの箇所に問題があるかを特定することが困難であった。
また、特許文献1に記載された技術においては、状態遷移図(状態遷移情報)に実行制限時間が記載されたアクションについて、実際の処理の実行に要する時間と実行制限時間との比較結果を利用者に通知する方法が明確化されていないという問題があった。
The technique described in
Further, in the technique described in
このような背景に鑑みて本発明がなされたのであり、本発明は、状態間の遷移の際に行うプログラム処理が、実行制限時間を超えた場合に、問題点を利用者に視覚的に認識させる、プログラム設計支援装置、プログラム設計支援方法、およびプログラムを提供することを目的とする。 The present invention has been made in view of such a background, and the present invention visually recognizes a problem when the program processing performed at the time of transition between states exceeds the execution time limit. An object of the present invention is to provide a program design support apparatus, a program design support method, and a program.
前記課題を解決するため、本発明のプログラム設計支援装置、プログラム設計支援方法、およびプログラムは、状態間の遷移の際に行うプログラム処理を細分化して関数ごとに表示させ、その関数ごとに実行制限時間としての閾値を設定させる。そして、各関数ごとの処理時間の実測値を測定することで、実測値と閾値とを比較し、実測値が閾値を超えた関数について、表現形式を視覚的に変更して表示させることを特徴とする。 In order to solve the above problems, a program design support apparatus, a program design support method, and a program according to the present invention subdivide program processing to be performed at the time of transition between states and display the function for each function, and limit execution for each function. A threshold as time is set. Then, by measuring the measured value of the processing time for each function, the measured value is compared with the threshold value, and the function whose measured value exceeds the threshold value is visually changed and displayed. And
本発明によれば、状態間の遷移の際に行うプログラム処理が、実行制限時間を超えた場合に、問題点を利用者に視覚的に認識させる、プログラム設計支援装置、プログラム設計支援方法、およびプログラムを提供することができる。 According to the present invention, a program design support apparatus, a program design support method, and a program for allowing a user to visually recognize a problem when program processing performed at the time of transition between states exceeds an execution time limit, and A program can be provided.
次に、本発明を実施するための形態(「実施形態」という)について、適宜図面を参照しながら詳細に説明する。 Next, modes for carrying out the present invention (referred to as “embodiments”) will be described in detail with reference to the drawings as appropriate.
図1は、本実施形態に係るプログラム設計支援装置1の構成例を示す機能ブロック図である。
図1に示すように、プログラム設計支援装置1は、制御部10と、表示部20と、入力部30と、記憶部40と、メモリ部50とを含んで構成される。
FIG. 1 is a functional block diagram showing a configuration example of a program
As shown in FIG. 1, the program
制御部10は、後記する記憶部40内の状態遷移情報データベース(DB:DataBase)41に記憶された状態遷移情報200を用いて処理シーケンス図を表示させ、この処理シーケンス図に表示される個々の関数の処理時間が、所定の閾値を超えた場合には、該当する関数の表示を視覚的に変更するように制御する。また、制御部10は、状態・イベント制御部110と、ファンクション実行部120と、ボトルネック検出条件設定部130と、トレース情報生成部140と、ボトルネック検出部150と、表示制御部160とを含んで構成される。なお、この制御部10の機能は、例えばプログラム設計支援装置1の記憶部40に記憶されたプログラムをCPU(Central Processing Unit)がメモリ部50に展開し実行することで実現される。
The
状態・イベント制御部110は、後記する記憶部40内の状態遷移情報データベース(DB)41に記憶された状態遷移情報200の設定・変更や、その状態遷移情報200に基づく状態遷移の制御を行う。また、状態・イベント制御部110は、表示制御部160を介して状態遷移情報200を表示部20に表示させる。
The state /
図2は、本実施形態に係る状態遷移情報データベース41に記憶される状態遷移情報(状態遷移表)200の一例を示す図である。図2に示すように、状態遷移表200は、イベントを行項目、状態を列項目に配置する状態遷移情報である。この状態遷移表200の行項目、並びに列項目には、それぞれ1,2,…,Nまでの正の整数である番号が割り振られている。この行項目と列項目が交わる箇所を処理情報定義セル201と呼ぶ。
FIG. 2 is a diagram illustrating an example of the state transition information (state transition table) 200 stored in the state
この処理情報定義セル201は、上段と下段のブロックに分割され、上段のブロックをファンクション定義部202、下段のブロックを遷移先定義部203と呼ぶ。ここで、ファンクション定義部202には、コール(プログラム等を読み出して実行すること)するファンクション名称が定義され、遷移先定義部203には、ファンクション定義部202実行後に遷移する遷移先の名称が定義される。なお、ここでファンクションとは、状態間を遷移する際に処理するプログラムを意味する。
The processing
図2の状態遷移表200を具体的に説明すると、状態「S1」でのイベント「E1」発生で、「Function A」(ファンクション)を実行し、「Function A」が所定時間内に完了すれば状態「S2」に遷移し、所定時間内に完了しない場合には状態「S1」に遷移(「S1」の状態を維持する)する定義となっている。また、状態「S2」でのイベント「E2」発生で、「Function B」(ファンクション)を実行後、状態「S1」に遷移する。なお、前記した特許文献1におけるアクションは、本実施形態においてファンクション定義部202に定義されるファンクションに相当する。
このような状態遷移の制御を、状態・イベント制御部110が行い、また、後記する表示制御部160を介して、この状態遷移表200を表示部20に表示させる。
The state transition table 200 in FIG. 2 will be described in detail. When the event “E1” in the state “S1” occurs, “Function A” (function) is executed, and “Function A” is completed within a predetermined time. It is defined that the state transitions to the state “S2” and transitions to the state “S1” (the state of “S1” is maintained) when the state does not complete within a predetermined time. Further, when the event “E2” occurs in the state “S2”, “Function B” (function) is executed, and then the state transitions to the state “S1”. Note that the action described in
Such state transition control is performed by the state /
また、図2に示す状態情報定義セル201には、ファンクション定義部202に定義されるファンクション(例えば、「Function A」)を細分化した処理である個々の関数(例えば、後記する図3の「Function a1」「Function a2」)が処理順序に従って関連付けて定義されている。
図3は、本実施形態に係るファンクション定義部202により定義される個々の関数の処理を示すシーケンス図である。図3に示す処理シーケンス図においては、処理情報定義セル201のファンクション定義部202で定義されたファンクションにおいて、実行される個々の関数の処理が時系列に示される。この図3の例では、「Function A」の実行処理において、具体的には、関数「Function a1」をコールした後、関数「Function a2」をコールする処理を行う。なお、状態・イベント制御部110は、表示制御部160を介して、この処理シーケンス図を表示部20に表示させる。
Further, in the state
FIG. 3 is a sequence diagram showing processing of individual functions defined by the
図1に戻り、ファンクション実行部120は、状態・イベント制御部110の処理に伴い、各ファンクションのプログラム処理を実行する。
Returning to FIG. 1, the
ボトルネック検出条件設定部130は、表示制御部160を介して表示部20に、ファンクションごとの各関数の処理シーケンス図を表示し、該当する各関数の処理時間についての実行制限時間である閾値をユーザに設定させる閾値設定画面1000を表示する。
The bottleneck detection
図4は、本実施形態に係るボトルネック検出条件設定部130が表示させる閾値設定画面1000の一例を示す図である。図4に示すように、ユーザは、表示部20に表示された閾値設定画面1000において、各関数ごとに各関数の実行制限時間である閾値の設定を行う。例えば、関数「Function a1」の閾値を「T1 ms」と設定し、関数「Function a2」の閾値を「T2 ms」とユーザに設定させることができる。
FIG. 4 is a diagram illustrating an example of the threshold setting screen 1000 displayed by the bottleneck detection
ボトルネック検出条件設定部130は、ユーザにより各関数の閾値が設定されると、その設定内容を、記憶部40内のタイマ情報データベース(DB)42に記憶する。
図5は、本実施形態に係るタイマ情報データベース42に記憶されるタイマ情報300の一例を示す図である。タイマ情報300には、図4で示した閾値設定画面1000においてユーザが関数ごとに設定した閾値301が記憶される。このタイマ情報300には、タイマID(Identification)、タスク名、処理情報定義セル番号、関数名(Function)、および閾値301が記憶される。
このようにすることで、ボトルネック検出条件設定部130は、ファンクションをさらに細分化した各関数ごとの実行制限時間を閾値301として設定することができる。
When the threshold value of each function is set by the user, the bottleneck detection
FIG. 5 is a diagram illustrating an example of
In this way, the bottleneck detection
図1に戻り、トレース情報生成部140は、状態・イベント制御部110とファンクション実行部120の制御により実行された各ファンクションごとの処理内容であるトレース情報400を生成し、生成したトレース情報400を記憶部40内のトレース情報データベース(DB)43に記憶させる。
Returning to FIG. 1, the trace
図6は、本実施形態に係るトレース情報データベース43に記憶されるトレース情報400の一例を示す図である。トレース情報400には、タイムスタンプ401、タスク名、処理情報定義セル番号、状態、関数名が記憶させる。図6においては、例えば、「Function a1」が時刻「00002000」msに「Enter」(「Enter」の状態が維持される処理の開始を意味する)し、同じく「Function a1」が時刻「00003000」msに「Exit」(処理の終了を意味する)したことを示している。
トレース情報生成部140は、各関数が処理されるごとに、タイムスタンプ401を記憶し、その処理内容を含めたトレース情報400を生成し、記憶部40に記憶する処理を行う。
FIG. 6 is a diagram showing an example of the
Each time each function is processed, the trace
図1に戻り、ボトルネック検出部150は、トレース情報400(図6参照)の解析を行うことによりタイマ情報300(図5参照)に設定された閾値301を超えた処理時間となる関数を検出する処理を行う。
具体的には、ボトルネック検出部150は、タイマ情報300において閾値301が設定された関数について、トレース情報400の解析を行う。つまり、ボトルネック検出部150は、閾値301が設定されている関数の状態が「Enter」、並びに「Exit」となるタイムスタンプ401を検索して、その関数の実行時間(実測値)の算出を行う。
そして、ボトルネック検出部150は、算出した実行時間とタイマ情報300に記憶された閾値301とを比較し、実行時間が閾値301を超えているか否かを判定する。そして、ボトルネック検出部150は、実行時間が閾値301を超えていた場合には、表示制御部160にその情報を通知する。
Returning to FIG. 1, the
Specifically, the
Then, the
表示制御部160は、状態・イベント制御部110、ボトルネック検出条件設定部130、およびボトルネック検出部150により生成された各情報に基づき、表示部20に情報を表示させる制御を行う。また、表示制御部160が、ボトルネック検出部150から実行時間が閾値301を超える関数についての情報を取得している場合には、状態・イベント制御部110の制御に基づき、その関数に関する表示を視覚的に変更させたプログラム設計支援画面2000(後記する図14参照)を表示部20に表示させる。
The
次に、表示部20は、液晶ディスプレイ等の表示手段により構成され、表示制御部160の制御の基に、状態遷移情報200(図2参照)、閾値設定画面1000(図4参照)、プログラム設計支援画面2000(図14参照)等を表示させる。
Next, the
入力部30は、例えば、キーボード、タッチパネル、マウス等を含む入力手段により構成され、外部からのプログラム設計支援装置1への指示を受け付ける。
The
記憶部40は、ハードディスクやフラッシュメモリ等の記憶手段からなり、状態遷移情報データベース(DB)41と、タイマ情報データベース(DB)42と、トレース情報データベース(DB)43とを含んで構成させる。
The
メモリ部50は、ボトルネック検出条件設定部130により設定されたタイマ情報300や、トレース情報生成部140が生成したトレース情報400等を一時的に記憶しておく記憶手段であり、RAM(Random Access Memory)やキャッシュメモリ等により構成される。
The
次に、図1〜図6を参照しつつ、図7〜図14に沿って、本プログラム設計支援装置1の処理の流れについて説明する。まず、プログラム設計支援装置1を実行する前提となるプログラム実行処理の具体例について説明する。
Next, the flow of processing of the program
図7は、本実施形態に係る状態遷移情報(状態遷移表)200´の具体例を示す図である。
図7に示す状態遷移表200´に基づき、パワーオフ状態(図2の状態遷移表200のS1に相当)時の電源オン(図2の状態遷移表200のE1に相当)のイベント発生で、セル1−1の処理情報定義セル201が、状態・イベント制御部110により実行される。そして、ファンクション定義部202に基づき、「PowerOn」(ファンクション)が、ファンクション実行部120により実行され、この処理が所定時間内に完了すれば、パワーオン状態に遷移する。一方所定時間内に完了しなければ、パワーオフ状態に遷移する。
FIG. 7 is a diagram showing a specific example of the state transition information (state transition table) 200 ′ according to the present embodiment.
Based on the state transition table 200 ′ shown in FIG. 7, the event of power-on (corresponding to E <b> 1 in the state transition table 200 in FIG. 2) in the power-off state (equivalent to S <b> 1 in the state transition table 200 in FIG. 2) The processing
次に、パワーオン状態での電源オフのイベント発生で、セル2−2の処理情報定義セル201が、状態・イベント制御部110により実行され、パワーオフ状態に遷移する。
ここで、状態遷移表200´のセル1−2,2−1の処理情報定義セル201には、何も定義されていない。
Next, when a power-off event occurs in the power-on state, the processing
Here, nothing is defined in the processing
図8は、図7で示す状態遷移表200´におけるPowerOn処理の内容を示すシーケンス図である。図8に示すように、図7で示した状態遷移表200´におけるセル1−1の状態情報定義セル201のファンクション定義部202に定義されるPowerOn(ファンクション)の内容が処理シーケンス図として表示されている。具体的には、処理内容として関数「Initial_FuncA」をコールした後に、関数「Initial_FuncB」をコールする処理を行うことが示されている。
なお、図8の処理シーケンス図は、表示部20に表示された図7で示される状態遷移表200´のセル1−1の処理情報定義セル201が、キーボードやタッチパネル等の入力部30を介してユーザにより選択されることで、状態・イベント制御部110が表示制御部160を介して表示部20に表示させる。
FIG. 8 is a sequence diagram showing the contents of the PowerOn process in the state transition table 200 ′ shown in FIG. As shown in FIG. 8, the contents of PowerOn (function) defined in the
In the processing sequence diagram of FIG. 8, the processing
このようなプログラム実行処理を前提として、状態・イベント制御部110およびファンクション実行部120を動作させるときの、プログラム設計支援装置1を用いた処理について説明する。
図9は、本実施形態に係るプログラム設計支援装置1が行う処理の流れを示すフローチャートである。
A process using the program
FIG. 9 is a flowchart showing the flow of processing performed by the program
まず、ボトルネック検出条件設定部130により表示部20に表示された閾値設定画面1000´において、ユーザにより入力部30を介して、各関数の処理時間の閾値301が設定される(ステップS901)。
図10は、本実施形態に係る閾値設定画面1000´の具体例を示す図である。図10に示すように、関数「Initial_FuncA」について閾値「100ms」、関数「Initial_FuncB」について閾値「200ms」が、ユーザにより設定される。
なお、この閾値設定画面1000´は、ユーザが表示部20に表示された図7に示す状態遷移表200´のセル1−1の処理情報定義セル201を入力部30を介して選択し、図8に示す処理シーケンス図が表示された画面において、例えば、閾値設定釦を画面内に設け、ユーザによりその閾値設定釦が押下されることで、この閾値設定画面1000´を表示させるようにすることができる。
First, on the threshold setting screen 1000 ′ displayed on the
FIG. 10 is a diagram showing a specific example of the threshold setting screen 1000 ′ according to the present embodiment. As illustrated in FIG. 10, a threshold “100 ms” is set for the function “Initial_FuncA”, and a threshold “200 ms” is set for the function “Initial_FuncB”.
In this threshold setting screen 1000 ′, the user selects the processing
また、ユーザにより閾値301が閾値設定画面1000´に入力されると、ボトルネック検出条件設定部130は、タイマ情報データベース42内の後記するタイマ情報300´(図11参照)に、閾値301に関する情報を記憶する。
図11は、本実施形態に係る閾値設定画面1000´に閾値301が入力された場合のタイマ情報300´の例を示した図である。図11に示すように、各関数名に対応して閾値301が記憶される。
When the user inputs the
FIG. 11 is a diagram illustrating an example of the
次に、ボトルネック検出条件設定部130に、閾値301が入力されたことを契機として、または、閾値設定画面1000´の画面内に設けられた確認釦が押下されること等を契機として、状態・イベント制御部110およびファンクション実行部120は、プログラムの実行処理を行う(ステップS902)。
Next, when the
このプログラムの実行処理に伴って、トレース情報生成部140は、トレース情報400´の生成処理を行う(ステップS903)。
図12は、本実施形態に係るトレース情報生成部140が生成するトレース情報400´の具体例を示す図である。図12に示すように、例えば、関数「Initial_FuncA」の状態「Enter」の処理時間がタイムスタンプ「00001000」と記憶され、関数「Initial_FuncA」の状態「Exit」の処理時間がタイムスタンプ「00001050」と記憶される。
Along with the execution process of this program, the trace
FIG. 12 is a diagram illustrating a specific example of the
次に、ボトルネック検出部150は、タイマ情報300´(図11参照)に記憶されているタスクαの処理情報定義セル番号1−1における関数ごとの処理時間をトレース情報400´(図12参照)から算出する(ステップS904)。
具体的には、図12のトレース情報400´のタイムスタンプ401において、タスクαについての処理情報定義セル番号1−1の関数「Initial_FuncA」の状態「Enter」のタイムスタンプ「00001000」と、同じく関数「Initial_FuncA」の状態「Exit」のタイムスタンプ「00001050」を検出することで、同関数の処理時間が「50」msと算出される。
また、関数Initial_FuncB」の状態「Enter」のタイムスタンプ「00001051」と、同じく関数「Initial_FuncB」の状態「Exit」のタイムスタンプ「00001301」を検出することで、同関数の処理時間が「250」msと算出される。
Next, the
Specifically, in the
Further, by detecting the time stamp “00001051” of the state “Enter” of the function “Initial_FuncB” and the time stamp “00001301” of the state “Exit” of the function “Initial_FuncB”, the processing time of the function is “250” ms. Is calculated.
次に、ボトルネック検出部150は、処理時間を算出した関数のうちの1つを選択し(ステップS905)、算出した関数の実行時間(実測値)が、図10において設定された閾値(図11の閾値301)を超えているか否かを判定する(ステップS906)。
実測値が閾値301を超えていない場合は(ステップS906→No)、次のステップS908へ進む。一方、実測値が閾値301を超えている場合は(ステップS906→Yes)、ボトルネック検出部150は、表示制御部160にその情報を通知(ステップS907)した上で、ステップS908へ進む。
Next, the
If the measured value does not exceed the threshold value 301 (step S906 → No), the process proceeds to the next step S908. On the other hand, when the actual measurement value exceeds the threshold value 301 (step S906 → Yes), the
ステップS908において、ボトルネック検出部150は、全ての関数を処理したか否かを判定する(ステップS905で選択できる関数があるか否かを判定する)。ここで全ての関数の処理を終えていない場合には、ステップS905へ戻り処理を続ける。一方、全ての関数の処理を終えている場合には、ステップS909へ進む。
In step S908, the
ステップS909において、表示制御部160は、状態・イベント制御部110の制御に基づき、処理時間の実測値が、閾値301を超えた関数について、ユーザにその旨を視覚的に認識させためのプログラム設計支援画面2000の表示を行う。
図13は、本実施形態に係る状態遷移表200´(図7参照)に警告表示を加えた図である。また、図14は、本実施形態に係る閾値設定画面1000´(図10参照)に警告表示を加えたプログラム設計支援画面2000を示す図である。図13に示すように、状態遷移表200´のセル1−1の処理情報定義セル201を例えばハッチング表示し、表示形式を視覚的に変更することで、表示形式が変更された処理情報定義セル201内の関数の中に、実測値が閾値301を超えている関数が存在することを示す。また、図14に示すように閾値設定画面1000´においてユーザが設定した閾値301に加え実測値を表示し、実測値が閾値301を超えた関数について表示形式を視覚的に変更したハッチング処理等を行う。このように、表示形式を変更することで、ユーザに、その関数が閾値301を超えた処理時間を要することを認識させる。
In step S <b> 909, the
FIG. 13 is a diagram in which a warning display is added to the state transition table 200 ′ (see FIG. 7) according to the present embodiment. FIG. 14 is a diagram showing a program design support screen 2000 in which a warning display is added to the threshold setting screen 1000 ′ (see FIG. 10) according to the present embodiment. As shown in FIG. 13, the processing
なお、本実施形態における視覚的な表示形式の変更は、ハッチング処理に限定されず、例えば、表示部の該当箇所に色彩を付加したり、吹き出しを表示して閾値301を超えている旨を明記したり、該当関数の表記をハイライト表示する等の処理が含まれ、ユーザが表示部20において、実測値が閾値301を超えている関数を視覚的に認識することができるものであればよい。
Note that the change in the visual display format in the present embodiment is not limited to the hatching process. For example, a color is added to the corresponding part of the display unit or a balloon is displayed to indicate that the
このようにすることで、本実施形態に係る、プログラム設計支援装置、プログラム設計支援方法、およびプログラムによれば、状態間の遷移の際に行うプログラム処理が、実行制限時間を超えた場合に、その処理を構成する関数のうち、どの関数が実行制限時間を超えているかを特定し、その特定した関数を利用者に視覚的に認識させることが可能となる。そのため、プログラム設計において、開発・保守効率の向上を図ることができる。 By doing in this way, according to the program design support device, the program design support method, and the program according to the present embodiment, when the program processing performed at the time of transition between states exceeds the execution time limit, It is possible to specify which function exceeds the execution time limit among the functions constituting the processing, and allow the user to visually recognize the specified function. As a result, development and maintenance efficiency can be improved in program design.
1 プログラム設計支援装置
10 制御部
20 表示部
30 入力部
40 記憶部
41 状態遷移情報DB
42 タイマ情報DB
43 トレース情報DB
50 メモリ部
110 状態・イベント制御部
120 ファンクション実行部
130 ボトルネック検出条件設定部
140 トレース情報生成部
150 ボトルネック検出部
160 表示制御部
200 状態遷移情報(状態遷移表)
201 処理情報定義セル
202 ファンクション定義部
203 遷移先定義部
300 タイマ情報
400 トレース情報
1000 閾値設定画面
2000 プログラム設計支援画面
DESCRIPTION OF
42 Timer information DB
43 Trace information DB
DESCRIPTION OF
201 processing
Claims (5)
前記状態間の遷移の際に処理するプログラムを細分化した1つ以上の関数が記憶された記憶部を備え、
前記記憶部に記憶された関数を表示部に表示し、前記関数の処理ごとに許容される処理時間である所定の閾値を入力部を介して設定させ、前記関数ごとの処理時間である実測値を検出することで、前記実測値と前記閾値とを比較し、前記実測値が前記閾値を超えた関数について、表現形式を視覚的に変更して前記表示部に表示すること
を特徴とするプログラム設計支援装置。 A program design support apparatus that supports program design by displaying information on state transition in a program on a display unit,
A storage unit storing one or more functions obtained by subdividing a program to be processed at the time of transition between the states;
The function stored in the storage unit is displayed on the display unit, a predetermined threshold value that is an allowable processing time for each processing of the function is set via the input unit, and an actual measurement value that is a processing time for each function By comparing the measured value with the threshold value, the expression format of the function for which the measured value exceeds the threshold value is visually changed and displayed on the display unit. Design support device.
複数の状態間の遷移、前記遷移の際に実行されるファンクション、および前記ファンクションの処理を構成する1つ以上の関数、を含む状態遷移情報が記憶される記憶部と、
前記記憶部に記憶された状態遷移情報に基づいて、前記ファンクションを構成する前記関数を前記表示部に表示させ、前記関数の処理ごとに許容される処理時間である所定の閾値を設定させるボトルネック検出条件設定部と、
前記ファンクションの処理を実行するファンクション実行部と、
前記実行されたファンクションを構成する各関数ごとの処理時間である実測値を検出するトレース情報生成部と、
前記検出された実測値と、前記関数ごとに設定された閾値とを比較するボトルネック検出部と、
前記比較した結果、前記関数の処理時間である実測値が前記閾値を超えている場合に、当該関数の前記表示部における表現形式を視覚的に変更して表示させる表示制御部と、
を備えることを特徴とするプログラム設計支援装置。 A program design support apparatus that supports program design by displaying information on a state transition including a state transition in a program and a function that is a process of the program executed at the time of the state transition on a display unit. There,
A storage unit for storing state transition information including a transition between a plurality of states, a function executed at the time of the transition, and one or more functions constituting processing of the function;
Based on the state transition information stored in the storage unit, the function that constitutes the function is displayed on the display unit, and a bottleneck that sets a predetermined threshold that is an allowable processing time for each processing of the function A detection condition setting section;
A function execution unit for executing processing of the function;
A trace information generating unit for detecting an actual measurement value which is a processing time for each function constituting the executed function;
A bottleneck detector that compares the detected actual value and a threshold set for each function;
As a result of the comparison, when an actual measurement value that is the processing time of the function exceeds the threshold value, a display control unit that visually changes and displays the expression format of the function in the display unit;
A program design support apparatus comprising:
複数の状態項目と、前記複数の状態間を遷移する契機となるイベント項目と、前記状態項目および前記イベント項目に対応して前記遷移の際に実行される前記ファンクションを定義する処理情報定義セルと、を含む状態遷移表を前記表示部に表示させる状態・イベント制御部をさらに備え、
前記状態・イベント制御部は、
前記関数の処理時間である実測値が前記閾値を超えている場合に、当該関数を含むファンクションを定義する前記処理情報定義セルについて、前記表示部における表現形式を、前記表示制御部を介して視覚的に変更して前記状態遷移表を表示させること
を特徴とする請求項2に記載のプログラム設計支援装置。 The program design support device includes:
A plurality of state items, an event item that triggers a transition between the plurality of states, a processing information definition cell that defines the function executed at the time of the transition corresponding to the state item and the event item, , Further comprising a state / event control unit that causes the display unit to display a state transition table including
The state / event control unit
When an actual measurement value that is the processing time of the function exceeds the threshold value, the display format of the processing information definition cell that defines a function including the function is visually displayed via the display control unit. The program design support apparatus according to claim 2, wherein the state transition table is displayed by changing the state.
前記プログラム設計支援装置は、
複数の状態間の遷移、前記遷移の際に実行されるファンクション、および前記ファンクションの処理を構成する1つ以上の関数、を含む状態遷移情報が記憶される記憶部を備え、
前記記憶部に記憶された状態遷移情報に基づいて、前記ファンクションを構成する前記関数を前記表示部に表示させ、前記関数の処理ごとに許容される処理時間である所定の閾値を設定させるステップと、
前記ファンクションの処理を実行するステップと、
前記実行されたファンクションを構成する各関数ごとの処理時間である実測値を検出するステップと、
前記検出された実測値と、前記関数ごとに設定された閾値とを比較するステップと、
前記比較した結果、前記関数の処理時間である実測値が前記閾値を超えている場合に、当該関数の前記表示部における表現形式を視覚的に変更して表示させるステップと、
を実行することを特徴とするプログラム設計支援方法。 To a program design support apparatus that supports program design by displaying information on a state transition including a state transition in a program and a function that is a process of the program executed at the time of the state transition on a display unit A program design support method used,
The program design support device includes:
A storage unit for storing state transition information including a transition between a plurality of states, a function executed at the time of the transition, and one or more functions constituting processing of the function;
Displaying the function constituting the function on the display unit based on the state transition information stored in the storage unit, and setting a predetermined threshold that is a processing time allowed for each processing of the function; ,
Executing the processing of the function;
Detecting an actual measurement value which is a processing time for each function constituting the executed function;
Comparing the detected actual value with a threshold value set for each function;
As a result of the comparison, when an actual measurement value that is the processing time of the function exceeds the threshold value, a step of visually changing and displaying the expression format of the function in the display unit; and
The program design support method characterized by performing this.
A program for causing a computer to execute the program design support method according to claim 4.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009059207A JP5118660B2 (en) | 2009-03-12 | 2009-03-12 | Program design support apparatus, program design support method, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009059207A JP5118660B2 (en) | 2009-03-12 | 2009-03-12 | Program design support apparatus, program design support method, and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010211682A true JP2010211682A (en) | 2010-09-24 |
JP5118660B2 JP5118660B2 (en) | 2013-01-16 |
Family
ID=42971736
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009059207A Expired - Fee Related JP5118660B2 (en) | 2009-03-12 | 2009-03-12 | Program design support apparatus, program design support method, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5118660B2 (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0756723A (en) * | 1993-08-11 | 1995-03-03 | Fujitsu Ltd | Compiler device |
JP2002244882A (en) * | 2001-02-19 | 2002-08-30 | Nec Soft Ltd | Program test monitoring system, program test monitoring method and program test monitoring program |
JP2003030007A (en) * | 2001-07-13 | 2003-01-31 | Mitsubishi Electric Corp | System and method for supporting program development, computer readable recording medium in which program development support program is recorded and program development support program |
JP2004252585A (en) * | 2003-02-18 | 2004-09-09 | Matsushita Electric Ind Co Ltd | Program verification system |
-
2009
- 2009-03-12 JP JP2009059207A patent/JP5118660B2/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0756723A (en) * | 1993-08-11 | 1995-03-03 | Fujitsu Ltd | Compiler device |
JP2002244882A (en) * | 2001-02-19 | 2002-08-30 | Nec Soft Ltd | Program test monitoring system, program test monitoring method and program test monitoring program |
JP2003030007A (en) * | 2001-07-13 | 2003-01-31 | Mitsubishi Electric Corp | System and method for supporting program development, computer readable recording medium in which program development support program is recorded and program development support program |
JP2004252585A (en) * | 2003-02-18 | 2004-09-09 | Matsushita Electric Ind Co Ltd | Program verification system |
Also Published As
Publication number | Publication date |
---|---|
JP5118660B2 (en) | 2013-01-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7917558B2 (en) | Easily graspable numerical expression display apparatus | |
JP4888502B2 (en) | Graph display control device and program | |
JP2016513849A (en) | Method and apparatus for space optimized micro keyboard | |
JP2007114849A (en) | In-cell range graph display method for spread sheet | |
JP2012230652A (en) | Readability evaluation method, readability evaluation device and readability evaluation program | |
JP2018524736A (en) | Circular user interface | |
JP2008305339A (en) | Operation time measuring instrument and method, skill level determining device and method, and program | |
JP5118660B2 (en) | Program design support apparatus, program design support method, and program | |
KR101372197B1 (en) | Plc designing apparatus | |
EP3432148A1 (en) | Simulation reproduction device and simulation reproduction program | |
JP5866957B2 (en) | Information processing apparatus, display control method, and program | |
JP2014134921A (en) | User interface design device and user interface device | |
JP2006331184A (en) | Electronic apparatus and control program for the same | |
JPH04114266A (en) | Document processor | |
JP7477027B1 (en) | Information processing device, information processing method, and program | |
JP6342236B2 (en) | Input support device, input support system, and program | |
JP2012003656A (en) | Information terminal device | |
KR102584417B1 (en) | Japanese text inputting method and apparatus for mobile device | |
JP2011248679A (en) | Graph display apparatus and program | |
JP5008737B2 (en) | Information terminal and operation support method | |
JP2008102657A (en) | Character input device and method | |
JP2009104336A (en) | Software deliverable management system and its method and program | |
JP2011043917A (en) | Mathematical expression display arithmetic unit and program | |
JP2008071073A (en) | Display device | |
JP5659760B2 (en) | Electronic computer and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110117 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20111024 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120619 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120820 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20121009 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20121019 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20151026 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |