JP5374405B2 - Model debugging apparatus and model debugging method - Google Patents

Model debugging apparatus and model debugging method Download PDF

Info

Publication number
JP5374405B2
JP5374405B2 JP2010028777A JP2010028777A JP5374405B2 JP 5374405 B2 JP5374405 B2 JP 5374405B2 JP 2010028777 A JP2010028777 A JP 2010028777A JP 2010028777 A JP2010028777 A JP 2010028777A JP 5374405 B2 JP5374405 B2 JP 5374405B2
Authority
JP
Japan
Prior art keywords
model
equipment data
decision table
execution
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2010028777A
Other languages
Japanese (ja)
Other versions
JP2011165039A (en
Inventor
正敏 村上
直人 佐藤
良太 三部
訓 大久保
聡 嶺脇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2010028777A priority Critical patent/JP5374405B2/en
Publication of JP2011165039A publication Critical patent/JP2011165039A/en
Application granted granted Critical
Publication of JP5374405B2 publication Critical patent/JP5374405B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、ソフトウェアの仕様を表すモデルのデバッグ装置およびその方法に関する。   The present invention relates to a model debugging apparatus representing software specifications and a method thereof.

近年、システム開発の低コスト化・高品質化を目的として、モデル駆動開発が適用されている。モデル駆動開発は、自然言語で書かれていた従来の設計仕様を、決定表または状態遷移図等の図表を用いたモデル形式で表現することで、仕様の影響範囲が明確になり再利用性が高まる。また、そのモデルからソースコードを自動生成することで、言語の修得が必要なソースコードの作成の手間を省くという開発方法である。非特許文献1には、モデル駆動で行う開発方法が開示されている。   In recent years, model-driven development has been applied for the purpose of reducing the cost and quality of system development. Model-driven development expresses the traditional design specifications written in natural language in a model format that uses diagrams such as decision tables or state transition diagrams, thereby clarifying the scope of the specifications and improving reusability. Rise. In addition, by automatically generating the source code from the model, it is a development method that saves the trouble of creating the source code that requires language acquisition. Non-Patent Document 1 discloses a development method performed by model driving.

上記開発方法において、デバッグするためには、一般的に2つの作業を行う必要がある。まず、モデルから生成したソースコードに、ログ出力部を追加して実行し、実行後に得られるログを用いてソースコード上で誤りを発見・修正を行う。その後、ソースコードの修正部分に対応するモデルの部分を発見して、モデルを修正する。この2つの作業により、モデルおよびソースコードの誤りを除去できる。特許文献1には、上記デバッグの例として決定表(デシジョンテーブル)形式のモデルから作成したソースコードをデバッグする方法が開示されている。   In the above development method, it is generally necessary to perform two operations for debugging. First, a log output unit is added to the source code generated from the model and executed, and errors are found and corrected on the source code using the log obtained after execution. Thereafter, the model portion corresponding to the corrected portion of the source code is found and the model is corrected. With these two operations, errors in the model and source code can be removed. Patent Document 1 discloses a method of debugging a source code created from a model in a decision table (decision table) format as an example of the debugging.

また、上記のモデルデバッグ方法とは別の方法として、モデルのシミュレータを構築し、ソースコードを作成せずに、モデルそのままの形で実行してデバッグする方法がある。特許文献2には、モデルシミュレータを用いたモデルデバッグ方法が開示されている。   As another method different from the model debugging method described above, there is a method of building a model simulator and executing and debugging the model as it is without creating a source code. Patent Document 2 discloses a model debugging method using a model simulator.

特開平5−100891号公報Japanese Patent Laid-Open No. 5-100891 特許第4251964号公報Japanese Patent No. 4251964

David S. Frankel「Model Driven Archtecture:Applying MDA to Enterprise Computing」、Wiley、2003年1月、pp.31−64David S.M. Frankel, “Model Driven Architecture: Applying MDA to Enterprise Computing”, Wiley, January 2003, pp. 11-29. 31-64

特許文献1に開示されている従来のソースコードを用いたモデルデバッグ方法は、ソースコードとモデルにおいて同じ内容を修正対象とした修正を2度行う必要があり、2重管理の手間がかかる。実際の開発では開発スケジュールの厳しさからソースコードの修正が中心となり、対応するモデルの修正は十分に行われない。これにより、モデルとソースコードの間で乖離が生じ、正確なモデルが存在しないため、開発担当者以外の者がシステムの仕様を正確に把握するのが困難になっている。そのため、次回以降のシステム開発において、過去の設計資産を有効活用できず、同じ仕様でも最初から開発する手間が生じており、モデル駆動開発の特徴であるモデルの再利用が十分に行われていない。   The conventional model debugging method using the source code disclosed in Patent Document 1 requires two corrections for the same contents in the source code and the model, and it takes time and labor for double management. In actual development, the correction of the source code is the center due to the strict development schedule, and the corresponding model is not corrected sufficiently. As a result, there is a discrepancy between the model and the source code, and an accurate model does not exist, which makes it difficult for a person other than the developer to accurately grasp the system specifications. For this reason, in the next and subsequent system development, the design assets of the past cannot be used effectively, and even with the same specifications, there is time and effort to develop from the beginning, and the model that is characteristic of model-driven development is not sufficiently reused. .

また、特許文献2に開示されているモデルシミュレータを用いたモデルデバッグ方法は、ソースコードを介さずに、モデルを直接実行・デバッグできるため、上記の問題はないが、モデルを実行するためにシミュレータおよびシミュレータ用のデータを実機とは別に用意する開発コストがかかる。また、実機とは別の環境で実行するため、リアルタイムシステムにおける実行タイミングを正確に再現できない恐れがあり、シミュレータでは正常でも実機上では異常が発生する恐れがある。   In addition, the model debugging method using the model simulator disclosed in Patent Document 2 does not have the above problem because the model can be directly executed / debugged without using source code. In addition, there is a development cost for preparing simulator data separately from the actual machine. Further, since execution is performed in an environment different from that of the actual machine, there is a possibility that the execution timing in the real-time system cannot be accurately reproduced, and an abnormality may occur on the actual machine even if the simulator is normal.

本発明は、上記の点を考慮してデバッグ時のモデルとソースコードの2重管理の手間を省くと同時に、実機を用いた正確なデバッグを行うための装置を提供することを目的とする。   SUMMARY OF THE INVENTION An object of the present invention is to provide an apparatus for performing accurate debugging using an actual machine while omitting the trouble of double management of a model and source code at the time of debugging in consideration of the above points.

上記目的を達成するため、本発明のモデルデバッグ装置は、設備データの更新を伴うソフトウェアの仕様を、設備データを更新するための条件を示す条件部と、条件部に記述された条件が成立した場合に実行する、設備データの更新内容を示す定義部との対応関係で表す決定表モデルを編集するモデル編集手段と、編集された決定表モデルからソースコードを生成し、設備データを更新する処理である処理単位毎に処理単位を含む決定表モデル、処理単位を識別する識別情報、および設備データの更新情報を出力するログ処理を生成されたソースコードに追加するソースコード生成手段と、
ソースコード実行に伴い、ログ処理により得られる実行ログを読み込み、実行ログに含まれる決定表モデルを表示し、決定表モデルの中で識別情報が示す処理単位を強調表示し、設備データの更新情報を表示する実行結果表示手段とを備える。
In order to achieve the above object, the model debugging apparatus according to the present invention satisfies the condition described in the condition part indicating the condition for updating the equipment data, the condition part for updating the equipment data, and the specification of the software accompanying the equipment data update. Model editing means that edits the decision table model that is represented by the correspondence with the definition part that indicates the update contents of the equipment data, and the process that generates the source code from the edited decision table model and updates the equipment data A decision table model including a processing unit for each processing unit, identification information for identifying the processing unit, and source code generation means for adding log processing to output update information of equipment data to the generated source code,
As the source code is executed, the execution log obtained by log processing is read, the decision table model included in the execution log is displayed, the processing unit indicated by the identification information in the decision table model is highlighted, and the equipment data update information And execution result display means for displaying.

本発明の望ましい他の態様は、モデルデバッグ装置は、設備データの初期値を保持する初期化データ保持手段を備え、実行結果表示手段は、実行ログに含まれる設備データの更新情報を用いて、初期化データ保持手段に保持される設備データの初期値を更新し、初期化データ保持手段に保持される他の設備データを含む設備データのスナップショットを表示する。   In another desirable aspect of the present invention, the model debugging apparatus includes an initialization data holding unit that holds an initial value of the equipment data, and the execution result display means uses the update information of the equipment data included in the execution log, The initial value of the equipment data held in the initialization data holding means is updated, and a snapshot of the equipment data including other equipment data held in the initialization data holding means is displayed.

本発明の望ましいさらに他の態様は、モデルデバッグ装置は、決定表モデルの一覧と、決定表モデルに含まれる設備データの一覧を表示し、ユーザによる、決定表モデルの一覧における決定表モデルの指定、および/または設備データの一覧における設備データの指定に応答して、指定されたモデルおよび設備データをブレークポイント情報として保存するブレークポイント保持手段を設け、実行結果表示手段は、ブレークポイント情報として指定された前デルまたは設備データに至る所までの実行ログを読み込み、読み込んだ実行ログに含まれる設備データの更新情報を用いて、初期化データ保持手段に保持される設備データの初期値を更新する。   According to still another desirable aspect of the present invention, the model debugging apparatus displays a list of decision table models and a list of equipment data included in the decision table model, and the user designates the decision table model in the list of decision table models. In response to the specification of equipment data in the equipment data list, a breakpoint holding means is provided for saving the specified model and equipment data as breakpoint information, and the execution result display means is designated as breakpoint information. The execution log up to the previous Dell or equipment data is read, and the initial value of the equipment data held in the initialization data holding means is updated using the equipment data update information contained in the read execution log. .

本発明によれば、モデルを直接編集することができ、ソースコードは修正後のモデルから再び自動生成できるため、モデルとソースコードの2重管理の手間が省ける。   According to the present invention, the model can be directly edited, and the source code can be automatically generated again from the corrected model, so that it is possible to save the trouble of double management of the model and the source code.

モデルデバッグの構成例である。It is a structural example of model debugging. 決定表モデルの例である。It is an example of a decision table model. 決定表モデルをXML形式で示した例である。It is the example which showed the decision table model in the XML format. 決定表モデルからソースコードを生成した例である。This is an example in which source code is generated from a decision table model. 実行ログの例である。It is an example of an execution log. ブレークポイント入力画面の例である。It is an example of a breakpoint input screen. ブレークポイント情報の例である。It is an example of breakpoint information. モデル実行結果表示画面の例である。It is an example of a model execution result display screen. データスナップショット確認画面の例である。It is an example of a data snapshot confirmation screen. モデルデバッグのハードウェア構成例である。It is a hardware configuration example of model debugging. モデルデバッグ装置の処理の流れを示すを示すフローチャートである。It is a flowchart which shows the flow of a process of a model debug apparatus. 次に設定するモデルのブレークポイントを決定する処理を示す例である。It is an example which shows the process which determines the breakpoint of the model to set next. 次に設定する設備のブレークポイントを決定する処理を示す例である。It is an example which shows the process which determines the breakpoint of the installation to set next.

ソフトウェアは、その処理の実行に伴い、定義した変数の値(データ)を更新する。特に、列車の進路制御のような制御用のソフトウェアでは、制御対象の設備の状態や設備への制御指令(設備データ)を変数として扱う。本実施形態では、このようなソフトウェアの開発において、実行する処理を設備データの更新に対応させて定義すると、定義が容易であると共に、定義した処理のデバッグも容易であることに注目している。設備データの更新に対応する処理を以下では処理単位と呼ぶ。   The software updates the value (data) of the defined variable as the process is executed. In particular, in control software such as train route control, the state of equipment to be controlled and control commands (facility data) to the equipment are handled as variables. In the present embodiment, in the development of such software, it is noted that if the process to be executed is defined corresponding to the update of the equipment data, it is easy to define and debug the defined process. . The processing corresponding to the update of the equipment data is hereinafter referred to as a processing unit.

設備データの更新を伴うソフトウェアの仕様を、設備データを更新するための条件を示す条件部と、この条件部に記述された条件が成立した場合に実行する、設備データの更新内容を示す定義部との対応関係で表す決定表モデルで表す。一つの対応関係は処理単位に対応する。この決定表モデルからソースコードを生成する。決定表モデルに含まれる、設備データを更新する処理毎に(処理単位毎に)、その処理を含む決定表モデル、その処理を識別する識別情報、およびこの処理に伴う設備データの更新情報を実行ログとして出力するログ処理をソースコードに追加する。   A software specification that involves updating the equipment data, a condition part that indicates the conditions for updating the equipment data, and a definition part that indicates the update contents of the equipment data that are executed when the conditions described in this condition part are met It is represented by a decision table model that is represented by the corresponding relationship. One correspondence corresponds to a processing unit. Source code is generated from this decision table model. For each process that updates equipment data included in the decision table model (for each processing unit), executes the decision table model that includes the process, identification information that identifies the process, and update information of the equipment data that accompanies this process Log processing to be output as a log is added to the source code.

ソースコードの実行に伴い、実行ログに含まれる決定表モデルを表示し、識別情報が示す処理を強調表示し、設備データの更新情報を表示する。このような表示により、ユーザは、設備データの更新情報から決定表モデルの成否を判定できるので、決定表モデル及びソースコードを容易に検証、デバッグできる。   As the source code is executed, the decision table model included in the execution log is displayed, the process indicated by the identification information is highlighted, and the update information of the facility data is displayed. With such a display, the user can determine the success or failure of the decision table model from the update information of the equipment data, so that the decision table model and the source code can be easily verified and debugged.

なお、列車の進路制御システムのような大規模なシステムは、列車接近判断、信号機制御などのいくつかのサブシステムに分割し、サブシステム毎に決定表モデルを作成する。   A large-scale system such as a train route control system is divided into several subsystems such as train approach judgment and traffic light control, and a decision table model is created for each subsystem.

図1は、本実施形態のモデルデバッグ装置の構成例である。モデルデバッグ装置100は、モデル編集部101、モデル保持部102、ソースコード生成部103、ソースコード保持部104、プログラム実行部105、実行ログ保持部106、ブレークポイント入力部107、ブレークポイント保持部108、ログ読込制御部109、初期化データ保持部110、実行結果表示部111、及び確認結果保持部112を含む。   FIG. 1 is a configuration example of a model debugging apparatus according to this embodiment. The model debugging apparatus 100 includes a model editing unit 101, a model holding unit 102, a source code generating unit 103, a source code holding unit 104, a program execution unit 105, an execution log holding unit 106, a breakpoint input unit 107, and a breakpoint holding unit 108. , A log reading control unit 109, an initialization data holding unit 110, an execution result display unit 111, and a confirmation result holding unit 112.

モデル編集部101は、表示装置の画面上に空又は雛形の決定表モデルを表示し、ユーザに、その決定表のテキストをセル単位で編集させることにより、決定表モデルを作成させる。決定表モデルには、ソフトウェアの要求仕様を元にして、ユーザが、設備データの更新を伴う一纏まりの処理を処理単位として、後述する条件と定義とを入力する。したがって、決定表モデルは少なくとも1つの処理単位を含む。また、モデル編集部101は、編集した決定表モデルをモデル保持部102に保存する。   The model editing unit 101 displays an empty or template decision table model on the screen of the display device, and causes the user to create a decision table model by editing the text of the decision table in units of cells. In the decision table model, the user inputs conditions and definitions to be described later, with a group of processes involving updating of facility data as a processing unit, based on the required specifications of the software. Therefore, the decision table model includes at least one processing unit. The model editing unit 101 stores the edited decision table model in the model holding unit 102.

ソースコード生成部103は、モデル保持部102保存されている決定表モデルからソースコードを生成し、ソースコード保持部104に保存する。ソースコードを生成する際に、決定表モデルに含まれる処理単位に対応するソースコードの処理単位(ある設備データの更新を伴う処理)毎にその処理単位に対応する決定表モデルに係る情報および設備データの更新情報を出力するログ出力処理を追加する。   The source code generation unit 103 generates a source code from the decision table model stored in the model holding unit 102 and stores it in the source code holding unit 104. When generating source code, information and equipment related to the decision table model corresponding to the processing unit for each processing unit of the source code corresponding to the processing unit included in the decision table model (processing involving updating of certain equipment data) Add a log output process that outputs data update information.

プログラム実行部105は、ソースコード保持部104に保持されたソースコードを実行可能なプログラム形式にコンパイルし、コンパイルしたプログラムを実行する。プログラムの実行に伴い、ソースコードに追加したログ出力処理は、テキストファイル形式で決定表モデルの処理単位に係る情報および設備データの更新情報を含む実行ログを出力し、実行ログ保持部106に保存する。   The program execution unit 105 compiles the source code held in the source code holding unit 104 into an executable program format, and executes the compiled program. The log output process added to the source code with the execution of the program outputs an execution log including information related to the processing unit of the decision table model and the update information of the equipment data in a text file format and saves it in the execution log holding unit 106 To do.

ブレークポイント入力部107は、モデル保持部102に保持されている決定表モデルおよび初期化データ保持部110に保持されている設備データをブレークポイント入力画面に表示し、デバッグする際に用いるブレークポイント情報としてユーザに決定表モデルおよび設備データを選択させる。なお、ブレークポイント情報を用いたデバッグを行わない場合には、決定表モデルおよび設備データは選択する必要ない。   The breakpoint input unit 107 displays the decision table model held in the model holding unit 102 and the equipment data held in the initialization data holding unit 110 on the breakpoint input screen, and breakpoint information used when debugging. Let the user select a decision table model and equipment data. If debugging using breakpoint information is not performed, it is not necessary to select a decision table model and equipment data.

初期化データ保持部110は、設備データを保持する。なお、その設備データには初期値があらかじめ設定される。   The initialization data holding unit 110 holds equipment data. An initial value is set in advance for the equipment data.

ログ読込制御部109は、ブレークポイント保持部108に保持されている決定表モデルおよび設備データのブレークポイント情報が現れるまで、実行ログ保持部106に保持されている実行ログを一行(処理単位に対応する実行ログ)づつ読み込み、逐次、実行結果表示部111に読みこんだ情報を渡す。ブレークポイント情報を用いたデバッグを行わない場合には、プログラムの実行完了までの実行ログを読み込む。なお、実行結果表示部111に対するデータ受け渡しに関しては、実行ログを最後まで読み込んだ後で、一括で行ってもよい。   The log reading control unit 109 displays the execution log held in the execution log holding unit 106 as one line (corresponding to the processing unit) until the breakpoint information of the decision table model and equipment data held in the breakpoint holding unit 108 appears. Execution log), and sequentially read the read information to the execution result display unit 111. When debugging using breakpoint information is not performed, the execution log up to the completion of program execution is read. Note that the data transfer to the execution result display unit 111 may be performed collectively after the execution log is read to the end.

実行結果表示部111は、モデル保持部102に保持されている決定表モデルの情報をモデル実行結果表示画面に表示し、ログ読込制御部109から受け取った実行ログを1行ずつ読み込み、実行ログに含まれる設備データの更新情報と共に、その更新情報に対応する決定表モデルの処理単位の行を強調表示する。設備データの更新情報を表示する部分に、ユーザ確認用のチェックボックスも合わせて表示し、ユーザの確認結果を保持できるようにする。また、実行結果表示部111は、初期化データ保持部110に保持されている設備データの初期値を用いて、メモリ上に設備データの初期状態を構築しておく。その後、実行ログ読込制御部109から受け取った実行ログデータに含まれる設備データの更新情報を基に、指定したブレークポイントのモデルが実行された時点での設備データ値のスナップショットをとり、データスナップショット確認画面に表示する。なお、ユーザがモデル実行結果表示画面およびデータスナップショット確認画面を用いてモデルの誤りを発見した場合、実行結果表示部111は、誤りがあったモデルの情報をモデル編集部101に通知し、すぐにモデルを編集できるようにする。   The execution result display unit 111 displays the information of the decision table model held in the model holding unit 102 on the model execution result display screen, reads the execution log received from the log reading control unit 109 line by line, and stores it in the execution log. Along with the update information of the included equipment data, the row of the processing unit of the decision table model corresponding to the update information is highlighted. A check box for user confirmation is also displayed together with a part for displaying the update information of the equipment data so that the user confirmation result can be held. In addition, the execution result display unit 111 uses the initial value of the facility data held in the initialization data holding unit 110 to construct the initial state of the facility data on the memory. After that, based on the update information of the equipment data included in the execution log data received from the execution log reading control unit 109, a snapshot of the equipment data value at the time when the specified breakpoint model is executed is taken, and the data snap Display on the shot confirmation screen. When the user finds an error in the model using the model execution result display screen and the data snapshot confirmation screen, the execution result display unit 111 notifies the model editing unit 101 of the information on the model having the error, and immediately To be able to edit the model.

確認結果保持部112は、モデル実行結果表示画面でユーザがチェックした情報を保持する。保持した情報は次回以降のデバッグ時に再利用し、前回のデバッグ時とモデル、モデルが扱う設備および設定される設備データ値が同じであればチェック済みとする。   The confirmation result holding unit 112 holds information checked by the user on the model execution result display screen. The stored information is reused at the next and subsequent debugging, and if the model, the equipment handled by the model, and the equipment data value to be set are the same as those at the previous debugging, it is checked.

図2は、モデル編集部101が編集、作成する決定表モデルの例である。図2には、表名「列車接近判断処理」の決定表モデル200と表名「信号機制御処理」の決定表モデル210とを示している。表名「列車接近判断処理」や「信号機制御処理」はモデル名であり、開発対象のソフトウェアを示す。決定表200、210は、処理単位を識別する通し番号(No)に対応して、処理名と条件部と定義部とを含み、処理名には条件部および定義部によって定義される処理の名称を記述し、条件部には定義部で定義する処理を実行するための条件を記述し、定義部には条件部に記述された全ての条件が成り立つ(複数の条件がある場合にそのAND条件が成立する)場合に実行する処理の内容を記述する。開発対象のソフトウェアの決定表モデルは、決定表モデルを構成する処理単位の識別情報である通し番号(No)に対応した条件部と定義部とにより記述される。同様に、処理単位201、202、203および211、212、213のように複数行にわたって条件部および定義部を記述することで、多様な条件に応じた処理を定義する。なお、決定表200で定義部に記述された処理が決定表210の条件部で利用されているが、このように、ある決定表の定義部で記述した処理を他の決定表の条件部に記述する成立条件として用いることができる記述方法である。   FIG. 2 is an example of a decision table model edited and created by the model editing unit 101. FIG. 2 shows a determination table model 200 having a table name “train approach determination processing” and a determination table model 210 having a table name “signal control processing”. The table names “train approach judgment processing” and “traffic signal control processing” are model names and indicate software to be developed. The decision tables 200 and 210 include a process name, a condition part, and a definition part corresponding to a serial number (No) for identifying a processing unit. The process name is a name of a process defined by the condition part and the definition part. In the condition part, the condition part describes the conditions for executing the process defined in the definition part. In the definition part, all the conditions described in the condition part hold (if there are multiple conditions, the AND condition is Describe the contents of the process to be executed if The decision table model of the software to be developed is described by a condition part and a definition part corresponding to a serial number (No) that is identification information of processing units constituting the decision table model. Similarly, the processing according to various conditions is defined by describing the condition part and the definition part over a plurality of lines like processing units 201, 202, 203 and 211, 212, 213. The process described in the definition part of the decision table 200 is used in the condition part of the decision table 210. In this way, the process described in the definition part of a certain decision table is used as the condition part of another decision table. This is a description method that can be used as a condition to be described.

図3は、図2の決定表モデルをXMLファイル形式で示した例である。図3の、301、302、303、311、312、及び313は、図2における処理単位201、202、203、211、212、213、の部分に対応している。なお、保存するデータの形式はXMLファイル形式300、310を例として説明するが、CSV形式などテキスト情報が読みこめるファイル形式やデータベースであればよい。   FIG. 3 is an example showing the decision table model of FIG. 2 in the XML file format. 3, 301, 302, 303, 311, 312, and 313 correspond to the processing units 201, 202, 203, 211, 212, and 213 in FIG. The format of data to be saved will be described by taking XML file formats 300 and 310 as an example, but any file format or database that can read text information such as CSV format may be used.

図4は、図2の決定表モデルをC++ソースコードで出力した例である。図4は便宜上日本語で表現している。図4のソースコード400、410は、ぞれぞれ決定表200、210における条件部をif節の条件部401、403、405、411、413、415に、定義部をif節の本体部分402、404、406、412、414、416に記述し、実行可能な形式に変換したものである。なお、ここで、if節の本体部分には、決定表モデルの内容の他に、図中下線で示すように実行時刻および対応する決定表モデルに関する情報を出力するログ出力部を追加する。決定表モデルに関する情報は、決定表モデル名(表名)、決定表モデル内の処理単位を識別する通し番号、設備の属性名およびその属性値である。対象の設備により、設備の属性名が設備名(設備データ名)であり、属性値が設備の状態(設備データ値)であってもよい。   FIG. 4 is an example in which the decision table model of FIG. 2 is output as C ++ source code. FIG. 4 is expressed in Japanese for convenience. In the source codes 400 and 410 of FIG. 4, the condition part in the decision tables 200 and 210 is the condition part 401, 403, 405, 411, 413, 415 of the if clause, and the definition part is the body part 402 of the if clause. 404, 406, 412, 414, 416 and converted into an executable format. Here, in addition to the contents of the decision table model, a log output unit that outputs information about the execution time and the corresponding decision table model is added to the main body portion of the “if” section, as indicated by the underline in the figure. The information regarding the decision table model includes a decision table model name (table name), a serial number for identifying a processing unit in the decision table model, an attribute name of the facility, and an attribute value thereof. Depending on the target equipment, the attribute name of the equipment may be the equipment name (equipment data name), and the attribute value may be the state of the equipment (equipment data value).

図5は、実行ログの例である。実行ログには、実行時刻および前述の決定表モデルに関する情報が実行順に出力される。   FIG. 5 is an example of an execution log. In the execution log, information regarding the execution time and the determination table model is output in the order of execution.

図6は、ブレークポイント入力部により表示されるブレークポイント入力画面600の例である。モデル一覧ビュー610は、作成されているモデルの一覧を表示するビューである。このビュー610には、決定表モデルの1行(レコード)に相当するモデル情報(モデルの種類、モデル名、モデルの行名)の他に、ブレークポイント(図中、B.P)611コントロールを表示する。設備データ一覧ビュー620は、モデル一覧ビュー610に含まれる決定表モデルが使用する設備データ(設備名)の一覧を駅および設備種類の順に表示するビューである。このビュー620にも、ブレークポイント621コントロールを表示する。これら2つのビューを含む画面において、ユーザは、手続き一覧ビュー610で、実行中の設備データを確認したい決定表モデルの対応する処理(行)にブレークポイント611のチェックを入れる。また、決定表モデルから生成され、コンパイルされた実行形式のプログラムは全駅を対象に繰返し実行されるため、特定の駅設備に着目して確認する場合、設備データ一覧ビュー620で確認対象とする設備データにブレークポイント621を設定する。なお、決定表モデルに対応したブレークポイントと設備データに対応したブレークポイントは、少なくとも一方が設定されればよく、双方が設定された場合は、プログラム実行において先に到達したブレークポイントが有効になる。   FIG. 6 is an example of a breakpoint input screen 600 displayed by the breakpoint input unit. The model list view 610 is a view that displays a list of models that have been created. In this view 610, in addition to model information (model type, model name, model line name) corresponding to one line (record) of the decision table model, a breakpoint (BP in the figure, BP) 611 control is provided. indicate. The equipment data list view 620 is a view that displays a list of equipment data (equipment names) used by the decision table model included in the model list view 610 in the order of station and equipment type. This view 620 also displays a breakpoint 621 control. In the screen including these two views, the user checks the breakpoint 611 in the procedure (view) corresponding to the decision table model for which the facility data being executed is to be confirmed in the procedure list view 610. Moreover, since the execution format program generated and compiled from the decision table model is repeatedly executed for all stations, when checking by paying attention to a specific station equipment, the equipment data list view 620 is a confirmation target. A breakpoint 621 is set in the equipment data. It should be noted that at least one of the breakpoints corresponding to the decision table model and the breakpoints corresponding to the equipment data only needs to be set, and if both are set, the breakpoint that arrives first in the program execution becomes effective. .

図7は、ブレークポイント保持部108で保持されるブレークポイント情報700の例である。1つのモデルに対応した複数の設備データに対して指定されたブレークポイントを保持することができる。   FIG. 7 is an example of breakpoint information 700 held by the breakpoint holding unit 108. Breakpoints specified for a plurality of pieces of equipment data corresponding to one model can be held.

図8は、実行結果表示部111により表示されるモデル実行結果表示画面800の例である。ステップ実行用コントロール810および一括実行用コントロール811は、ユーザがログ読込制御部109に対してログの読み込み方法を指示するためのユーザインタフェースである。前者は、ユーザがステップ‐バイ‐ステップでモデル実行結果を確認するためのユーザインタフェースであり、後者は、ユーザが一括してモデル実行結果を確認するためのユーザインタフェースである。ステップ実行用コントロール810は、1度のアクション(ステップ実行用コントロール810の1回の操作)で実行ログを実行ログ保持部106から1行分(処理単位に対応する実行ログ)読み込むようログ読込制御部109に指示する。一括実行用のコントロール811は、ブレークポイントが設定されているときに有効であり、設定されているブレークポイント情報が現れるところまで、実行ログを読み込むようにログ読込制御部109に指示する。ステップ実行用コントロール810または一括実行用コントロール811に対するアクションにより得られる実行ログの内容に基づいて、モデル実行履歴ビュー820を表示する。モデル実行履歴ビュー820は、実行した決定表モデル822、823、824、各モデルで実行した設備データ更新情報(更新結果)825、827、829および設備データ更新情報のユーザ確認用のチェックボックス826、828、830を含む。実行したモデル822、823、824では、各モデルで実行した処理単位に対応する行を強調表示する(例えば、表示色を他の色と異ならせたり、文字色と背景色を反転表示する)。設備データ更新情報825、827、829では、実際に設定した属性(設備データ名又は設備データの属性)とその属性値(設備データの状態又は設備データ属性の値)を表示する。なお、モデル実行履歴ビュー820には多数の駅の情報を表示するため、駅選択用コントロール821を用いて駅を選択することで、一度に表示、確認する情報を減らすことができる。   FIG. 8 is an example of a model execution result display screen 800 displayed by the execution result display unit 111. The step execution control 810 and the batch execution control 811 are user interfaces for the user to instruct the log reading control unit 109 how to read the log. The former is a user interface for the user to check the model execution result step by step, and the latter is a user interface for the user to check the model execution result collectively. The step execution control 810 performs log reading control so that one line (execution log corresponding to a processing unit) is read from the execution log holding unit 106 by one action (one operation of the step execution control 810). The unit 109 is instructed. The batch execution control 811 is effective when a breakpoint is set, and instructs the log reading control unit 109 to read the execution log until the set breakpoint information appears. The model execution history view 820 is displayed based on the contents of the execution log obtained by the action for the step execution control 810 or the batch execution control 811. The model execution history view 820 includes executed decision table models 822, 823, and 824, equipment data update information (update results) 825, 827, and 829 executed in each model, and a check box 826 for user confirmation of equipment data update information, 828, 830 are included. In the executed models 822, 823, and 824, the line corresponding to the processing unit executed in each model is highlighted (for example, the display color is different from other colors, or the character color and the background color are highlighted). In the equipment data update information 825, 827, and 829, an actually set attribute (equipment data name or equipment data attribute) and its attribute value (equipment data state or equipment data attribute value) are displayed. Since information on many stations is displayed in the model execution history view 820, information to be displayed and confirmed at a time can be reduced by selecting a station using the station selection control 821.

図9は、ブレークポイントを設定した時点(ブレークポイントまでモデルを実行した時点)での設備データ値のスナップショットを表示するデータスナップショット確認画面900である。設備データ一覧ビュー910は、ブレークポイント入力画面600の設備データ一覧ビュー620と同様に設備の一覧を表示するビューであるが、ブレークポイントのコントロール621を表示しない。データスナップショットビュー920は、設備単位でその設備がもつ属性の情報(属性名、属性値)を詳細に表示する。設備の情報を表示する場合には、ユーザが、設備データ一覧ビュー910の1行を選択するか、設備名入力フォーム921に設備名を入力することにより設備を指定する。設備データ一覧ビュー910で1行選択した場合には、設備名入力フォーム921には選択した設備名を自動的に表示する。詳細設備情報表示ビュー922では、設備の属性名、属性値、この属性に最後に変更を加えたモデルの対応する行(関係するモデルの処理)、ユーザによる結果確認用のチェックボックスを含む。ユーザは詳細設備情報表示ビュー922で結果を確認した属性に対して、その行のチェックボックスにチェックする。   FIG. 9 is a data snapshot confirmation screen 900 that displays a snapshot of equipment data values at the time when a breakpoint is set (when the model is executed up to the breakpoint). The equipment data list view 910 is a view that displays a list of equipment, similar to the equipment data list view 620 of the breakpoint input screen 600, but does not display the breakpoint control 621. The data snapshot view 920 displays in detail the attribute information (attribute name, attribute value) of the equipment in units of equipment. When displaying facility information, the user designates a facility by selecting one line of the facility data list view 910 or by entering a facility name in the facility name input form 921. When one line is selected in the equipment data list view 910, the equipment name input form 921 automatically displays the selected equipment name. The detailed equipment information display view 922 includes an equipment attribute name, an attribute value, a corresponding row of the model in which this attribute is last changed (processing of a related model), and a check box for confirming the result by the user. The user checks the check box in the row for the attribute whose result is confirmed in the detailed facility information display view 922.

図10は、モデルデバッグ装置100のハードウェア構成例を示している。モデルデバッグ装置100は、CPU1002、メモリ1003、外部記憶装置1004、表示装置1005、入力装置1006、及び通信部1007を備える。CPU1002は、メモリ1003に記憶されたプログラムを実行する。具体的には、モデル編集部101、ソースコード生成部103、プログラム実行部105、ブレークポイント入力部107、ログ読込制御部109、及び実行結果表示部111を実行する。メモリ1003は、CPU1002によってプログラム及びプログラム実行に必要なデータを記憶する記憶領域である。具体的には、記憶するプログラムは、CPU1002が実行するプログラムと同じであり、プログラム実行に必要なデータは、モデル保持部102に保持されるモデル情報、ソースコード保持部104に保持されるソースコード、実行ログ保持部106に保持される実行ログ、ブレークポイント保持部108に保持されるブレークポイント情報、初期化データ保持部110に保持される設備データの初期値、確認結果保持部112に保持されるユーザ確認結果情報である。ただしこれらの情報は、常時メモリ1003上にあるのではなく、通常は外部記憶装置1004に格納されており、プログラム実行時に必要に応じて読み出される。外部記憶装置1004は、メモリ1003に格納されるデータおよびプログラムを保持する。表示装置1005は、プログラムの処理結果を表示する。表示装置は、例えばディスプレイである。入力装置1006は、ユーザからの実行指示及び実行に必要なデータの入力を受け付ける。具体的には、モデル編集部101におけるモデル情報入力、ソースコード生成部103におけるソースコード生成指示、プログラム実行部105におけるソースコードコンパイル及び実行指示、ブレークポイント入力部107におけるブレークポイント情報入力、ログ読込制御部109における実行ログ読込指示、実行結果表示部111におけるユーザ確認結果入力である。通信部1007は、ネットワーク1001を介して他の装置と通信する。図1では、モデルデバッグ装置は1台の装置上で実現されているが、それぞれの機能およびデータ格納領域は他の装置で実行することができ、複数の装置で実行する際に通信部1007を用いて装置間で通信する。   FIG. 10 shows a hardware configuration example of the model debugging apparatus 100. The model debug device 100 includes a CPU 1002, a memory 1003, an external storage device 1004, a display device 1005, an input device 1006, and a communication unit 1007. The CPU 1002 executes a program stored in the memory 1003. Specifically, the model editing unit 101, the source code generation unit 103, the program execution unit 105, the breakpoint input unit 107, the log reading control unit 109, and the execution result display unit 111 are executed. The memory 1003 is a storage area for storing a program and data necessary for program execution by the CPU 1002. Specifically, the program to be stored is the same as the program executed by the CPU 1002, and data necessary for program execution includes model information held in the model holding unit 102 and source code held in the source code holding unit 104. The execution log held in the execution log holding unit 106, the breakpoint information held in the breakpoint holding unit 108, the initial value of facility data held in the initialization data holding unit 110, and held in the confirmation result holding unit 112 This is user confirmation result information. However, these pieces of information are not always stored in the memory 1003 but are normally stored in the external storage device 1004, and are read out as necessary when the program is executed. The external storage device 1004 holds data and programs stored in the memory 1003. The display device 1005 displays the processing result of the program. The display device is, for example, a display. The input device 1006 receives an execution instruction and data input necessary for execution from the user. Specifically, model information input in the model editing unit 101, source code generation instruction in the source code generation unit 103, source code compilation and execution instruction in the program execution unit 105, breakpoint information input in the breakpoint input unit 107, log reading An execution log reading instruction in the control unit 109 and a user confirmation result input in the execution result display unit 111. A communication unit 1007 communicates with other devices via the network 1001. In FIG. 1, the model debug device is realized on one device, but each function and data storage area can be executed by another device, and the communication unit 1007 is provided when executed by a plurality of devices. To communicate between devices.

図11は、モデルデバッグ装置100の各部の処理の流れを示すフローチャートである。初めに、CPU1002は、モデル編集部101を実行し、モデル編集用の画面を表示する。ユーザは、モデル編集用の画面を用いて、要求仕様をもとに決定表モデルを作成すると同時に、初期化データ保持部110に保持される設備データを準備する。モデル編集部101は、作成された決定表モデルの情報をモデル保持部102に保存する。(ステップ1101)。   FIG. 11 is a flowchart showing the flow of processing of each unit of the model debugging apparatus 100. First, the CPU 1002 executes the model editing unit 101 and displays a model editing screen. Using the model editing screen, the user creates a decision table model based on the required specifications and at the same time prepares equipment data held in the initialization data holding unit 110. The model editing unit 101 stores information on the created decision table model in the model holding unit 102. (Step 1101).

続いて、CPU1002は、ソースコード生成部103を実行し、モデル保持部102に保持されている決定表モデルを用いてソースコードを生成し、ソースコード保持部に保存する(ステップ1102)。CPU1002は、プログラム実行部105を実行し、ユーザからの実行要求を基に、ソースコード保持部104に保持されたソースコードをコンパイルして実行し、実行ログを実行ログ保持部106に保存する(ステップ1103)。CPU1002は、実行結果表示部111を実行し、モデル実行結果表示画面800を表示する(ステップ1104)。ただし、この時点では、ステップ実行用のコントロール810および一括実行用のコントロール811のみが表示され、ユーザはどちらかのコントロールを用いてアクションを実行する。CPU1002は、ログ読込制御部109を実行し、ユーザによって実行されたアクションがブレークポイント情報を用いたデバッグであるかどうかを判断する(ステップ1105)。   Subsequently, the CPU 1002 executes the source code generation unit 103, generates a source code using the decision table model held in the model holding unit 102, and stores it in the source code holding unit (step 1102). The CPU 1002 executes the program execution unit 105, compiles and executes the source code held in the source code holding unit 104 based on the execution request from the user, and stores the execution log in the execution log holding unit 106 ( Step 1103). The CPU 1002 executes the execution result display unit 111 and displays the model execution result display screen 800 (step 1104). However, at this time, only the step execution control 810 and the batch execution control 811 are displayed, and the user executes an action using either one of the controls. The CPU 1002 executes the log reading control unit 109 and determines whether the action executed by the user is debugging using breakpoint information (step 1105).

ブレークポイント情報を用いたデバッグであれば、ログ実行制御部109は、モデル保持部102に保持されている決定表モデル及び初期化データ保持部110に保持されている設備データを用いて、ブレークポイント入力部107を実行し、ブレークポイント入力画面を表示する。ユーザは、ブレークポイント入力画面上でモデル及び設備データにブレークポイントを入力する。その後、ブレークポイント入力部107は、入力されたブレークポイント情報をブレークポイント保持部108に保存する(ステップ1106)。その後、ログ読込制御部109は、入力されたブレークポイント情報が現れるところまで、実行ログ保持部106に保持されている実行ログを読み込み、実行結果表示部111に渡す(ステップ1107)。   In the case of debugging using breakpoint information, the log execution control unit 109 uses the decision table model held in the model holding unit 102 and the equipment data held in the initialization data holding unit 110 to breakpoints. The input unit 107 is executed and a breakpoint input screen is displayed. The user inputs a breakpoint to the model and facility data on the breakpoint input screen. Thereafter, the breakpoint input unit 107 stores the input breakpoint information in the breakpoint holding unit 108 (step 1106). Thereafter, the log reading control unit 109 reads the execution log held in the execution log holding unit 106 until the input breakpoint information appears, and passes it to the execution result display unit 111 (step 1107).

一方、ユーザが実行したアクションがブレークポイント情報を用いたデバッグでない場合、ログ実行制御部109は、実行ログ保持部106に保持されている実行ログを1行読み込み実行結果表示部111に渡す(ステップ1108)。ここで、実行結果表示部111は、既にユーザが既に確認済みの結果が確認結果保持部112に存在するかどうかを確認する(ステップ1109)。ユーザによる確認済み結果があればその情報を読み込む(ステップ1110)。実行結果表示部111は、受け取った実行ログに含まれるモデルの手続き情報および設備データ更新情報を基に、モデル実行結果表示画面を表示する。また、実行結果表示部111は、初期化データ保持部110に保持されている設備データをメモリ上に読み込み、ログ読込制御部109からの実行ログに含まれる設備データ変更情報を基に、設備データのスナップショットをとり、データスナップショット確認画面に表示する。その後、ユーザは、設備データの変更情報および画面上で設備データスナップショットを確認し、属性1つずつ確認結果を入力し、確認結果保持部112に保存する(ステップ1111)。結果を確認していく際に、設備データの誤りがないかどうかをユーザが確認する。もし誤りがあれば、実行結果表示部111は、誤りのあるモデルの情報をモデル編集部101に伝える(ステップ1112)。誤りがなければ、処理を終了する(ステップ1103)。以後、設備データに誤りがなくなるまで、ステップ1101からステップ1112までを繰り返す。   On the other hand, if the action executed by the user is not debugging using breakpoint information, the log execution control unit 109 reads the execution log held in the execution log holding unit 106 and passes it to the execution result display unit 111 (step S1). 1108). Here, the execution result display unit 111 checks whether or not a result already confirmed by the user already exists in the confirmation result holding unit 112 (step 1109). If there is a result confirmed by the user, the information is read (step 1110). The execution result display unit 111 displays a model execution result display screen based on the model procedure information and facility data update information included in the received execution log. In addition, the execution result display unit 111 reads the facility data held in the initialization data holding unit 110 into the memory, and sets the facility data based on the facility data change information included in the execution log from the log reading control unit 109. Is taken and displayed on the data snapshot confirmation screen. Thereafter, the user confirms the facility data change information and the facility data snapshot on the screen, inputs the confirmation result for each attribute, and stores it in the confirmation result holding unit 112 (step 1111). When checking the result, the user checks whether there is an error in the equipment data. If there is an error, the execution result display unit 111 informs the model editing unit 101 of information on the model having an error (step 1112). If there is no error, the process is terminated (step 1103). Thereafter, steps 1101 to 1112 are repeated until there is no error in the facility data.

図12は、1度のモデルの実行でモデルの誤りを発見できなかった際に、次に設定するモデルのブレークポイントを決定する処理を示す例である。モデル一覧610において、No6のブレークポイントを設定し、その部分のモデルの処理1202を実行していた場合、その処理1202を呼び出す1つ前の処理を特定し(1201)、モデル一覧610の該当する部分を強調表示する。   FIG. 12 shows an example of a process for determining a breakpoint of a model to be set next when a model error cannot be found by executing the model once. In the model list 610, when the break point of No. 6 is set and the process 1202 of the model of that part is executed, the process immediately before calling the process 1202 is specified (1201), and the corresponding model list 610 is applicable. Highlight the part.

図13は、1度のモデルの実行でモデルの誤りを発見できなかった際に、次に設定する設備のブレークポイントを決定する処理を示す例である。設備データ一覧620において、No7の設備1301に対してブレークポイントに設定し実行していた場合、設備対応関係定義1303からその設備1301に関係がある設備を特定し(1302)、設備データ一覧620の該当する部分を強調表示する。なお、設備対応関係定義1303にはある設備に対して関係のある設備を定義しておく。設備対応関係定義1303に、1つの設備に対して関係のある設備が複数定義されていた場合、複数の設備を強調表示する。また、ブレークポイント保持部108において保持しているブレークポイント情報を用いて、すでに結果確認済みの設備を特定し(1304)、その設備のブレークポイントはチェック部品を表示しないようにすることができる。   FIG. 13 shows an example of a process for determining a breakpoint for the next equipment to be set when a model error cannot be found by executing the model once. In the equipment data list 620, when a breakpoint is set for the equipment No. 1301 and executed, the equipment related to the equipment 1301 is identified from the equipment correspondence definition 1303 (1302), and the equipment data list 620 Highlight the relevant part. In the facility correspondence definition 1303, a facility related to a certain facility is defined. When a plurality of facilities related to one facility are defined in the facility correspondence relationship definition 1303, the plurality of facilities are highlighted. In addition, it is possible to specify a facility whose result has already been confirmed using the breakpoint information held in the breakpoint holding unit 108 (1304), and to prevent the checkpoint from being displayed for the breakpoint of that facility.

本実施形態によれば、決定表モデルから生成するソースコードのログ出力部分に、対応する決定表モデル情報を埋め込み、実行時にログ出力させることで、ソースコードを介さずに決定表モデル上でのデバッグが可能となる。これによりモデルを直接編集することができ、ソースコードは修正後のモデルから再び自動生成できるため、モデルとソースコードの2重管理の手間が省ける。   According to this embodiment, the corresponding decision table model information is embedded in the log output portion of the source code generated from the decision table model, and the log is output at the time of execution. Debugging is possible. As a result, the model can be directly edited, and the source code can be automatically generated again from the corrected model, so that the labor of double management of the model and the source code can be saved.

また、決定表モデルは、要求仕様を満たす設計情報のみを含むが、ソースコードには、それを実現するための実装上の細かな演算処理等直接仕様とは関係ない情報も含む。そのため、実装の詳細を把握しなければならないソースコードのデバッグに比べ、モデルのデバッグは作業の属人化が解消される。   In addition, the decision table model includes only design information that satisfies the required specifications, but the source code also includes information that is not related to the direct specifications, such as detailed arithmetic processing on the implementation for realizing it. Therefore, compared to the debugging of source code, where details of the implementation must be grasped, the debugging of the model eliminates the personalization of work.

さらに本実施形態は、実機上での結果を用いることで、非実機環境の結果を用いるシミュレータでのデバッグに比べ、実行タイミング等の不具合を正確に再現できるため、開発対象のソフトウェアの品質の向上につながる。また、シミュレータ及びシミュレータ用のデータの用意も不要であるので、ソフトウェアの開発コストも抑えることができる。   Furthermore, in this embodiment, since the results on the actual machine are used, defects such as execution timing can be accurately reproduced as compared with the debugging in the simulator that uses the result of the non-real machine environment, so that the quality of the software to be developed is improved. Leads to. Moreover, since it is not necessary to prepare a simulator and simulator data, software development costs can be reduced.

100:モデルデバッグ装置、101:モデル編集部、102:モデル保持部、103:ソースコード生成部、104:ソースコード保持部、105:プログラム実行部、106:実行ログ保持部、107:ブレークポイント入力部、108:ブレークポイント保持部、109:ログ読込制御部、110:初期化データ保持部、111:実行結果表示部、112:確認結果保持部。   DESCRIPTION OF SYMBOLS 100: Model debug apparatus, 101: Model edit part, 102: Model holding part, 103: Source code production | generation part, 104: Source code holding part, 105: Program execution part, 106: Execution log holding part, 107: Breakpoint input 108: Breakpoint holding unit 109: Log reading control unit 110: Initialization data holding unit 111: Execution result display unit 112: Confirmation result holding unit

Claims (9)

設備データの更新を伴うソフトウェアの仕様を、前記設備データを更新するための条件を示す条件部と、前記条件部に記述された条件が成立した場合に実行する、前記設備データの更新内容を示す定義部との対応関係で表す決定表モデルを編集するモデル編集手段と、
編集された前記決定表モデルからソースコードを生成し、前記設備データを更新する処理である処理単位毎に、前記処理単位を含む前記決定表モデル、前記処理単位を識別する識別情報、および前記設備データの更新情報を出力するログ処理を生成された前記ソースコードに追加するソースコード生成手段と、
前記ソースコードの実行に伴い、前記ログ処理により得られる実行ログを読み込み、前記実行ログに含まれる前記決定表モデルを表示し、前記決定表モデルの中で前記識別情報が示す前記処理単位を強調表示し、前記設備データの更新情報を表示する実行結果表示手段とを備えることを特徴とするモデルデバッグ装置。
The specification of the software accompanying the update of the equipment data indicates a condition part indicating a condition for updating the equipment data, and the update contents of the equipment data executed when the condition described in the condition part is satisfied Model editing means for editing the decision table model represented by the correspondence with the definition part,
Source code is generated from the edited decision table model, and for each processing unit that is processing for updating the equipment data, the decision table model including the processing unit, identification information for identifying the processing unit, and the equipment Source code generating means for adding log processing for outputting data update information to the generated source code;
As the source code is executed, the execution log obtained by the log process is read, the decision table model included in the execution log is displayed, and the processing unit indicated by the identification information in the decision table model is highlighted. A model debugging apparatus comprising: an execution result display means for displaying and displaying update information of the equipment data.
前記設備データの初期値を保持する初期化データ保持手段を備え、前記実行結果表示手段は、前記実行ログに含まれる前記設備データの更新情報を用いて、前記初期化データ保持手段に保持される前記設備データの前記初期値を更新し、前記初期化データ保持手段に保持される他の設備データを含む設備データのスナップショットを表示することを特徴とする請求項1に記載のモデルデバッグ装置。 Initialization data holding means for holding an initial value of the equipment data is provided, and the execution result display means is held in the initialization data holding means by using update information of the equipment data included in the execution log. The model debugging apparatus according to claim 1, wherein the initial value of the equipment data is updated, and a snapshot of equipment data including other equipment data held in the initialization data holding unit is displayed. 前記モデルデバッグ装置において、前記決定表モデルの一覧と、前記決定表モデルに含まれる前記設備データの一覧を表示し、ユーザによる、前記決定表モデルの一覧における決定表モデルの指定、および/または前記設備データの一覧における設備データの指定に応答して、指定されたモデルおよび設備データをブレークポイント情報として保存するブレークポイント保持手段を設け、
前記実行結果表示手段は、前記ブレークポイント情報として指定された前記モデルまたは前記設備データに至る所までの前記実行ログを読み込み、読み込んだ前記実行ログに含まれる前記設備データの更新情報を用いて、前記初期化データ保持手段に保持される前記設備データの前記初期値を更新することを特徴とする請求項2に記載のモデルデバッグ装置。
In the model debug device, a list of the decision table models and a list of the equipment data included in the decision table model are displayed, and a user designates a decision table model in the decision table model list and / or the In response to the designation of equipment data in the equipment data list, a breakpoint holding means for saving the designated model and equipment data as breakpoint information is provided.
The execution result display means reads the execution log up to the model or the equipment data designated as the breakpoint information, and uses the update information of the equipment data included in the read execution log, The model debugging apparatus according to claim 2, wherein the initial value of the facility data held in the initialization data holding unit is updated.
前記ブレークポイント保持手段は、1度の実行でモデルの誤りを発見できなかった場合に、前回実行時に保存した前記ブレークポイント情報に含まれる前記モデルの構成要素を呼び出す行を前記モデルから導出し、前記モデルの構成要素の一覧上で強調表示しユーザーの選択を支援することを特徴とする請求項3に記載するモデルデバッグ装置。 The breakpoint holding means derives, from the model, a line that calls a component of the model included in the breakpoint information saved at the time of previous execution when an error in the model cannot be found in one execution. The model debugging apparatus according to claim 3, wherein the model debugging apparatus is highlighted on a list of components of the model to assist a user in selecting. 前記ブレークポイント保持手段は、1度の実行でモデルの誤りを発見できなかった場合に、前回実行時に保存した前記ブレークポイント情報に含まれる設備データに関係がある設備データを前記モデルから導出し、前記設備データの一覧上で強調表示しユーザーの選択を支援することを特徴とする請求項3または請求項4に記載するモデルデバッグ装置。 The breakpoint holding means derives from the model equipment data related to the equipment data included in the breakpoint information saved at the previous execution when the model error cannot be found in one execution. The model debugging apparatus according to claim 3, wherein the model debugging apparatus is highlighted on a list of the equipment data to assist a user in selecting. 前記実行結果表示手段は、ユーザが確認した設備データの結果を指定し、指定された設備データの情報を保存し、次回実行時に前記確認済み設備データ情報を用いて、ユーザーに前回未確認の設備データ情報のみを表示することを特徴とする請求項3に記載するモデルデバッグ装置。 The execution result display means designates the result of the equipment data confirmed by the user, stores the information of the designated equipment data, and uses the confirmed equipment data information at the next execution to use the equipment data that has not been previously confirmed to the user. The model debugging apparatus according to claim 3, wherein only the information is displayed. モデルデバッグ装置におけるモデルでバッグ方法であって、前記モデルデバッグ装置は、
設備データの更新を伴うソフトウェアの仕様を、前記設備データを更新するための条件を示す条件部と、前記条件部に記述された条件が成立した場合に実行する、前記設備データの更新内容を示す定義部との対応関係で表す決定表モデルを編集し、
編集された前記決定表モデルからソースコードを生成し、
前記設備データを更新する処理である処理単位毎に、前記処理単位を含む前記決定表モデル、前記処理単位を識別する識別情報、および前記設備データの更新情報を出力するログ処理を前記ソースコードに追加し、
前記ソースコードの実行に伴い、前記ログ処理により得られる実行ログを読み込み、
前記実行ログに含まれる前記決定表モデルを表示し、
前記決定表モデルの中で前記識別情報が示す前記処理単位を強調表示し、
前記設備データの更新情報を表示することを特徴とするモデルデバッグ方法。
A model debugging method using a model in a model debugging apparatus, wherein the model debugging apparatus includes:
The specification of the software accompanying the update of the equipment data indicates a condition part indicating a condition for updating the equipment data, and the update contents of the equipment data executed when the condition described in the condition part is satisfied Edit the decision table model represented by the correspondence with the definition part,
Generate source code from the edited decision table model,
Log processing for outputting the decision table model including the processing unit, identification information for identifying the processing unit, and update information of the facility data for each processing unit that is a process for updating the facility data in the source code Add
As the source code is executed, an execution log obtained by the log process is read.
Displaying the decision table model included in the execution log;
Highlighting the processing unit indicated by the identification information in the decision table model;
A model debugging method comprising displaying update information of the equipment data.
前記モデルデバッグ装置は、前記設備データの初期値を保持し、前記実行ログに含まれる前記設備データの更新情報を用いて、保持される前記設備データの前記初期値を更新し、保持される他の設備データを含む設備データのスナップショットを表示することを特徴とする請求項7に記載のモデルデバッグ方法。 The model debug device holds an initial value of the equipment data, updates the initial value of the equipment data to be held by using update information of the equipment data included in the execution log, and holds the other The model debugging method according to claim 7, wherein a snapshot of the equipment data including the equipment data is displayed. 前記モデルデバッグ装置は、前記決定表モデルの一覧と、前記決定表モデルに含まれる前記設備データの一覧を表示し、
ユーザによる、前記決定表モデルの一覧における決定表モデルの指定、および/または前記設備データの一覧における設備データの指定に応答して、指定されたモデルおよび設備データをブレークポイント情報として保存し、
前記ブレークポイント情報として指定された前記モデルおよび前記設備データに至る所までの前記実行ログを読み込み、読み込んだ前記実行ログに含まれる前記設備データの更新情報を用いて、保持される前記設備データの前記初期値を更新することを特徴とする請求項8に記載のモデルデバッグ方法。
The model debugging device displays a list of the decision table models and a list of the equipment data included in the decision table model,
In response to designation of a decision table model in the list of decision table models and / or designation of equipment data in the list of equipment data by a user, the designated model and equipment data are saved as breakpoint information,
The execution log up to the model and the equipment data designated as the breakpoint information is read, and the update information of the equipment data included in the read execution log is used to store the equipment data. The model debugging method according to claim 8, wherein the initial value is updated.
JP2010028777A 2010-02-12 2010-02-12 Model debugging apparatus and model debugging method Expired - Fee Related JP5374405B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010028777A JP5374405B2 (en) 2010-02-12 2010-02-12 Model debugging apparatus and model debugging method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010028777A JP5374405B2 (en) 2010-02-12 2010-02-12 Model debugging apparatus and model debugging method

Publications (2)

Publication Number Publication Date
JP2011165039A JP2011165039A (en) 2011-08-25
JP5374405B2 true JP5374405B2 (en) 2013-12-25

Family

ID=44595630

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010028777A Expired - Fee Related JP5374405B2 (en) 2010-02-12 2010-02-12 Model debugging apparatus and model debugging method

Country Status (1)

Country Link
JP (1) JP5374405B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5676417B2 (en) * 2011-11-15 2015-02-25 株式会社日立製作所 Computer program management apparatus, computer program management method, and computer program for managing computer program
JP2019153265A (en) * 2018-03-05 2019-09-12 キヤノンマーケティングジャパン株式会社 Information processing apparatus, processing method of the same and program
US11694090B2 (en) * 2019-04-10 2023-07-04 International Business Machines Corporation Debugging deep neural networks

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06139104A (en) * 1992-10-23 1994-05-20 Fujitsu Ltd Program execution history display system
JPH08137717A (en) * 1994-11-08 1996-05-31 Toshiba Corp Debugging method and device therefor
JP3871832B2 (en) * 1999-08-20 2007-01-24 日本電気株式会社 Data processing program automatic generation system and method, and computer-readable recording medium
JP2002108649A (en) * 2000-09-29 2002-04-12 Toshiba Corp Recording medium in which program to support trace analysis is recorded and program product
JP4208468B2 (en) * 2002-01-10 2009-01-14 キヤノン株式会社 Software system operation check device
JP4403945B2 (en) * 2003-12-19 2010-01-27 株式会社デンソー Inspection method, inspection apparatus and inspection program for control program
KR100994070B1 (en) * 2008-03-19 2010-11-11 (주)케투씨소프트 A Reserved Component Container Based Software Development Method and Apparatus

Also Published As

Publication number Publication date
JP2011165039A (en) 2011-08-25

Similar Documents

Publication Publication Date Title
US4730315A (en) Diagrammatic method of testing program
US11194550B2 (en) System and method for migrating legacy software to a system common architecture
JP5626786B2 (en) Software development support method, software development support device, and software development support program
US20150294039A1 (en) Graphical Design Verification Environment Generator
JP5374405B2 (en) Model debugging apparatus and model debugging method
CN105630661A (en) Automatic cross-system program debugging method and device
JP2016224579A (en) Information processor and information processing method
Fischer et al. Reengineering workflow for planned reuse of IEC 61131-3 legacy software
JP6483507B2 (en) Control program creating apparatus and control program debugging method
JP2008165324A (en) Program creation support device
JPH0625991B2 (en) Process planning support device
Stürmer et al. Modeling Guidelines and Model Analysis Tools in Embedded Automotive Software Development.
JP5540856B2 (en) Apparatus and method for setting a workflow
JP2020086638A (en) Control program creation assisting tool and control program creating method
US20100063606A1 (en) Automated derivation of a logic-controller-behavior-model from a mechanical-machine-operation-model
JP2014010599A (en) Operation manual preparation device
CN112579443B (en) Automatic testing method and platform of intelligent testing robot
Adedjouma et al. Model-based computer-aided monitoring for ISO26262 compliant systems
JP2012048471A (en) Numerical control device and macro program execution method
JP2008234379A (en) Software generation device and software generation method
JP2013235381A (en) Data editing apparatus and data editing method
Duby et al. Accelerating embedded software development with a model driven architecture®
JP2023138113A (en) Information processing device and information processing system
JPS62281031A (en) Editing system for equipment updating system
JPH10228396A (en) Data processor for software inspection

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120717

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130821

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: 20130903

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130920

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees