[go: up one dir, main page]

JP2007206798A - Program, method and device for generating control program - Google Patents

Program, method and device for generating control program Download PDF

Info

Publication number
JP2007206798A
JP2007206798A JP2006022335A JP2006022335A JP2007206798A JP 2007206798 A JP2007206798 A JP 2007206798A JP 2006022335 A JP2006022335 A JP 2006022335A JP 2006022335 A JP2006022335 A JP 2006022335A JP 2007206798 A JP2007206798 A JP 2007206798A
Authority
JP
Japan
Prior art keywords
control program
sequence diagram
logic
signal
time sequence
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2006022335A
Other languages
Japanese (ja)
Inventor
Takashi Hagitani
孝 萩谷
Takaaki Tadai
隆明 但井
Shingo Matsuda
真吾 松田
Yuka Kishimoto
由加 岸本
Shigeyuki Hisai
茂幸 久井
Kenji Hosokawa
健司 細川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Denso Ten Ltd
Original Assignee
Denso Ten 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 Denso Ten Ltd filed Critical Denso Ten Ltd
Priority to JP2006022335A priority Critical patent/JP2007206798A/en
Publication of JP2007206798A publication Critical patent/JP2007206798A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Programmable Controllers (AREA)
  • Stored Programmes (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To support formation of a digitalized time sequence diagram and automatically generate a control program for signal control from the formed time sequence diagram. <P>SOLUTION: A sequence diagram formation support part 3a supports formation of the sequence diagram by providing a drawing part 2a to a user, and a code generation part 3d generates a source code by combining attribute and arrangement information of the drawing part contained in sequence diagram information 2c received from the sequence diagram formation support part 3a with external definition information 2d prepared separately from the sequence diagram information 2c. <P>COPYRIGHT: (C)2007,JPO&INPIT

Description

この発明は、被制御装置を制御するための制御プログラムを生成する制御プログラム生成プログラム、制御プログラム生成方法および制御プログラム生成装置に関し、特に、制御プログラム生成の基礎となる電子化されたタイムシーケンス図の効率的な作成を支援することができるとともに、電子化されたタイムシーケンス図に対応する制御プログラムを自動生成することができる制御プログラム生成プログラム、制御プログラム生成方法および制御プログラム生成装置に関する。   The present invention relates to a control program generation program for generating a control program for controlling a controlled device, a control program generation method, and a control program generation device, and more particularly to an electronic time sequence diagram that is the basis of control program generation. The present invention relates to a control program generation program, a control program generation method, and a control program generation apparatus capable of supporting efficient creation and automatically generating a control program corresponding to an electronic time sequence diagram.

近年、車両(たとえば、自動車)に搭載されるエンジンやオートマチックトランスミッションなどの車両搭載装置の高性能化に伴って、これらの車両搭載装置の動作を制御するECU(Electronic Control Unit)などの車載コンピュータ上で動作する制御プログラムも複雑化している。   In recent years, as vehicle-mounted devices such as engines and automatic transmissions mounted on vehicles (for example, automobiles) have become more sophisticated, on-board computers such as ECUs (Electronic Control Units) that control the operation of these vehicle-mounted devices. The control program that runs on is also complicated.

かかる制御プログラムの開発工程においては、エンジン回転数や燃料噴射量、ギアの段数といった信号値の時間変化の仕様を定めたタイムシーケンス図が広く用いられている。そして、プログラム開発者はかかるタイムシーケンス図から信号値や信号変化のトリガー、信号変化の作用関係などを読み取ったうえで、タイムシーケンス図に示された条件を満たす制御プログラムを作成することが一般的である。   In the development process of such a control program, a time sequence diagram that defines the specification of the time change of signal values such as the engine speed, the fuel injection amount, and the gear stage number is widely used. In general, the program developer reads the signal value, the trigger of signal change, the action relationship of the signal change, etc. from the time sequence diagram, and then creates a control program that satisfies the conditions shown in the time sequence diagram. It is.

しかし、タイムシーケンス図などの図に基づいて制御プログラムを作成する作業は煩雑であるのでプログラム開発効率が悪いうえプログラム開発者のミスを誘発しやすい。このため、タイムシーケンス図などの図をグラフィカルユーザインタフェースを備えたコンピュータ上で生成し、電子化されたタイムシーケンス図を編集することによって制御プログラムを生成する手法が提案されている。   However, since the work of creating a control program based on a diagram such as a time sequence diagram is complicated, the program development efficiency is poor and it is easy to induce mistakes of the program developer. For this reason, there has been proposed a method for generating a control program by generating a diagram such as a time sequence diagram on a computer having a graphical user interface and editing the digitized time sequence diagram.

たとえば、特許文献1には、プラント制御用の制御プログラムを検査する検査用プログラムの生成方法に関し、タイムシーケンス図の任意の時点における信号値、信号値変化のタイミング、判定条件を利用者に入力させることによって検査用プログラムを生成する技術が開示されている。   For example, Patent Document 1 relates to a method for generating an inspection program for inspecting a control program for plant control, and allows a user to input a signal value, a timing of signal value change, and a determination condition at an arbitrary point in a time sequence diagram. Thus, a technique for generating an inspection program is disclosed.

特開2000−276224号公報JP 2000-276224 A

しかしながら、特許文献1の技術には、タイムシーケンス図から制御プログラムを生成する作業が煩雑でありプログラム開発者の作業効率が良くないという問題があった。具体的には、タイムシーケンス図上で可能な操作は任意の時点を指定する操作のみであり、制御プログラムの具体的な内容は別ウィンドウとして表示される設定画面上で設定しなければならなかった。このため、プログラム開発者はタイムシーケンス図の表示画面と設定画面とを見比べながらの作業をおこなう必要があった。   However, the technique of Patent Document 1 has a problem that the operation of generating the control program from the time sequence diagram is complicated and the work efficiency of the program developer is not good. Specifically, the only operation that can be performed on the time sequence diagram is an operation that designates an arbitrary time point, and the specific contents of the control program had to be set on a setting screen displayed as a separate window. . For this reason, the program developer has to perform work while comparing the display screen of the time sequence diagram and the setting screen.

ところで、電子化されたタイムシーケンス図に基づいて制御プログラムを生成する場合には、タイムシーケンス図のあいまいさを排除しつつタイムシーケンス図の内容を正確にあらわした制御プログラムを生成する必要があるが、かかる制御プログラムの自動生成手法は確立されていないのが現状である。   By the way, when generating a control program based on an electronic time sequence diagram, it is necessary to generate a control program that accurately represents the contents of the time sequence diagram while eliminating the ambiguity of the time sequence diagram. However, at present, an automatic generation method of such a control program has not been established.

これらのことから、制御プログラム生成の基礎となる電子化されたタイムシーケンス図の効率的な作成を支援するとともに、電子化されたタイムシーケンス図に対応する制御プログラムを自動生成する制御プログラム生成手法をいかにして実現するかが大きな課題となっている。   Therefore, a control program generation method for automatically generating a control program corresponding to an electronic time sequence diagram is provided while supporting efficient creation of an electronic time sequence diagram that is the basis for generating a control program. How to achieve it is a big issue.

この発明は、上述した従来技術による問題点を解消するためになされたものであり、制御プログラム生成の基礎となる電子化されたタイムシーケンス図の効率的な作成を支援することができるとともに、電子化されたタイムシーケンス図に対応する制御プログラムを自動生成することができる制御プログラム生成プログラム、制御プログラム生成方法および制御プログラム生成装置を提供することを目的とする。   The present invention has been made to solve the above-described problems caused by the prior art, and can support efficient creation of an electronic time sequence diagram that is the basis for generating a control program. It is an object of the present invention to provide a control program generation program, a control program generation method, and a control program generation device capable of automatically generating a control program corresponding to the converted time sequence diagram.

上述した課題を解決し、目的を達成するため、請求項1に係る発明は、被制御装置を制御するための制御プログラムを生成する制御プログラム生成プログラムであって、前記被制御装置の制御に用いられる複数の信号の時間変化をあらわすタイムシーケンス図を利用者に作成させる際に、前記被制御装置の制御に用いられる信号同士の関係を前記タイムシーケンス図にロジック記号を配置させることによって利用者に入力させる入力手順と、前記入力手順で受け付けたタイムシーケンス図に配置された前記ロジック記号の属性および配置情報に基づいて前記制御プログラムを生成する制御プログラム生成手順とをコンピュータに実行させることを特徴とする。   In order to solve the above-described problems and achieve the object, the invention according to claim 1 is a control program generation program for generating a control program for controlling a controlled device, and is used for controlling the controlled device. When a user creates a time sequence diagram representing a time change of a plurality of signals to be generated, the user can arrange the relationship between signals used for control of the controlled device by arranging logic symbols in the time sequence diagram. An input procedure to be input and a control program generation procedure for generating the control program based on attributes and arrangement information of the logic symbols arranged in the time sequence diagram received in the input procedure To do.

また、請求項2に係る発明は、上記の発明において、前記制御プログラム生成手順は、前記タイムシーケンス図に配置された前記ロジック記号で定義された信号同士の関係を前記制御プログラムへ展開していく際に、前記ロジック記号が配置された信号の前記タイムシーケンス図における描画順序に応じて前記信号同士の関係を反映した前記制御プログラムを生成することを特徴とする。   Further, in the invention according to claim 2, in the above invention, the control program generation procedure develops the relationship between signals defined by the logic symbols arranged in the time sequence diagram into the control program. In this case, the control program reflecting the relationship between the signals is generated in accordance with the drawing order of the signals in which the logic symbols are arranged in the time sequence diagram.

また、請求項3に係る発明は、上記の発明において、前記制御プログラム生成手順は、前記タイムシーケンス図に配置された前記ロジック記号に信号同士の関係を前記制御プログラムへ展開する展開順序をあらわす展開順序情報が含まれている場合に、前記ロジック記号が配置された信号の前記タイムシーケンス図における描画順序よりも前記展開順序情報を優先して信号同士の関係を反映した前記制御プログラムを生成することを特徴とする。   According to a third aspect of the present invention, in the above invention, the control program generation procedure is a development that represents a development order in which a relationship between signals is developed in the control program in the logic symbols arranged in the time sequence diagram. When the order information is included, the control program reflecting the relationship between the signals is generated by giving priority to the development order information over the drawing order of the signal in which the logic symbols are arranged in the time sequence diagram. It is characterized by.

また、請求項4に係る発明は、上記の発明において、前記入力手順は、前記タイムシーケンス図を所定数の部分図に分割する境界の入力を許容し、前記制御プログラム生成手順は、前記境界によって分割された部分図ごとに前記制御プログラムを生成することを特徴とする。   According to a fourth aspect of the present invention, in the above invention, the input procedure allows input of a boundary that divides the time sequence diagram into a predetermined number of partial diagrams, and the control program generation procedure depends on the boundary. The control program is generated for each divided partial view.

また、請求項5に係る発明は、上記の発明において、前記入力手順は、複数の前記タイムシーケンス図の入力および各タイムシーケンス図間の関係情報の入力を許容し、前記制御プログラム生成手順は、各タイムシーケンス図を前記関係情報に基づいて結合したうえで前記制御プログラムを生成することを特徴とする。   The invention according to claim 5 is the above invention, wherein the input procedure allows input of a plurality of time sequence diagrams and relationship information between the time sequence diagrams, and the control program generation procedure includes: The control program is generated after combining the time sequence diagrams based on the relationship information.

また、請求項6に係る発明は、上記の発明において、前記制御プログラム生成手順は、前記タイムシーケンス図に配置された前記ロジック記号で定義された信号同士の関係を前記制御プログラムへ展開していく際に、前記関係を有する各信号のうち特定の信号が変化してから他の信号が変化するまでの遅れ時間がある場合には、当該遅れ時間を反映した前記制御プログラムを生成することを特徴とする。   In the invention according to claim 6, in the above invention, the control program generation procedure develops the relationship between signals defined by the logic symbols arranged in the time sequence diagram to the control program. In the case where there is a delay time from when a specific signal among the signals having the relationship changes until another signal changes, the control program reflecting the delay time is generated. And

また、請求項7に係る発明は、上記の発明において、前記入力手順は、前記ロジック記号としてプログラムロジックの直接入力をおこなうことが可能なロジック記号を有し、当該ロジック記号は前記タイムシーケンス図に表示される際に、利用者によって直接入力されたプログラムロジックをロジック記号の一部として表示させることを特徴とする。   In the invention according to claim 7, in the above invention, the input procedure includes a logic symbol capable of directly inputting a program logic as the logic symbol, and the logic symbol is included in the time sequence diagram. When displayed, the program logic directly input by the user is displayed as a part of the logic symbol.

また、請求項8に係る発明は、上記の発明において、前記制御プログラム生成手順は、前記タイムシーケンス図に配置された前記ロジック記号で定義された信号同士の関係を前記制御プログラムへ展開していく際に、各信号の変化をあらわした信号制御用ロジックと前記信号制御用ロジックを所定のタイミングで呼び出す時間制御用ロジックとを分離して生成することを特徴とする。   In the invention according to claim 8, in the above invention, the control program generation procedure develops the relationship between signals defined by the logic symbols arranged in the time sequence diagram into the control program. In this case, the signal control logic representing the change of each signal and the time control logic for calling the signal control logic at a predetermined timing are generated separately.

また、請求項9に係る発明は、上記の発明において、前記ロジック記号の属性を定義した定義データを記憶部に登録する定義データ登録手順をさらにコンピュータに実行させ、前記制御プログラム生成手順は、前記タイムシーケンス図に含まれる前記ロジック記号の前記配置情報と前記定義データ登録手順によって登録された前記定義データとを関連付けたうえで前記制御プログラムを生成することを特徴とする。   In the invention according to claim 9, in the above invention, the computer further executes a definition data registration procedure for registering definition data defining the attribute of the logic symbol in a storage unit, and the control program generation procedure includes: The control program is generated after associating the arrangement information of the logic symbols included in the time sequence diagram with the definition data registered by the definition data registration procedure.

また、請求項10に係る発明は、上記の発明において、前記入力手順が受け付けた一または複数の前記タイムシーケンス図から共通の信号制御パターンを抽出するパターン抽出手順をさらにコンピュータに実行させ、前記制御プログラム生成手順は、前記パターン抽出手順が抽出した前記信号制御パターンを共通ロジックへ変換したうえで前記共通ロジックを用いた前記制御プログラムを生成することを特徴とする。   In the invention according to claim 10, in the above invention, the computer further executes a pattern extraction procedure for extracting a common signal control pattern from one or a plurality of the time sequence diagrams received by the input procedure, and the control is performed. The program generation procedure is characterized in that the control program using the common logic is generated after the signal control pattern extracted by the pattern extraction procedure is converted into a common logic.

また、請求項11に係る発明は、上記の発明において、前記パターン抽出手順は、前記信号の作用関係をあらわした前記ロジック記号の組合せを前記共通の信号制御パターンとして抽出することを特徴とする。   The invention according to claim 11 is characterized in that, in the above-mentioned invention, the pattern extraction procedure extracts the combination of the logic symbols representing the operational relationship of the signals as the common signal control pattern.

また、請求項12に係る発明は、上記の発明において、前記入力手順は、利用者によって配置された前記ロジック記号の位置関係からタイムシーケンス図に未入力部分があると判定した場合に、前記ロジック記号の位置関係に基づいて前記タイムシーケンス図の入力補完をおこなうことを特徴とする。   According to a twelfth aspect of the present invention, in the above invention, when the input procedure determines that there is a non-input part in a time sequence diagram based on a positional relationship of the logic symbols arranged by a user. The input of the time sequence diagram is complemented based on the positional relationship of the symbols.

また、請求項13に係る発明は、上記の発明において、前記制御プログラム生成手順は、前記タイムシーケンス図に配置された前記ロジック記号で定義された信号同士の関係を前記制御プログラムへ展開していく際に、当該制御プログラムを構成するロジックおよびデータ格納領域確保のルールをあらわすプログラミングルールを用いて前記制御プログラムを生成することを特徴とする。   In the invention according to claim 13, in the above invention, the control program generation procedure develops the relationship between signals defined by the logic symbols arranged in the time sequence diagram to the control program. In this case, the control program is generated by using a logic that constitutes the control program and a programming rule that represents a rule for securing a data storage area.

また、請求項14に係る発明は、被制御装置を制御するための制御プログラムを生成する制御プログラム生成装置であって、前記被制御装置の制御に用いられる複数の信号の時間変化をあらわすタイムシーケンス図を利用者に作成させる際に、前記被制御装置の制御に用いられる信号同士の関係を前記タイムシーケンス図にロジック記号を配置させることによって利用者に入力させる入力手段と、前記入力手段で受け付けたタイムシーケンス図に配置された前記ロジック記号の属性および配置情報に基づいて前記制御プログラムを生成する制御プログラム生成手段とを備えたことを特徴とする。   According to a fourteenth aspect of the present invention, there is provided a control program generating device for generating a control program for controlling a controlled device, wherein the time sequence represents a time change of a plurality of signals used for controlling the controlled device. When the user creates a diagram, the input means accepts the relationship between signals used for the control of the controlled device by placing a logic symbol in the time sequence diagram, and the input means accepts the diagram. Control program generation means for generating the control program based on the attribute and arrangement information of the logic symbols arranged in the time sequence diagram.

また、請求項15に係る発明は、被制御装置を制御するための制御プログラムを生成する制御プログラム生成方法であって、前記被制御装置の制御に用いられる複数の信号の時間変化をあらわすタイムシーケンス図を利用者に作成させる際に、前記被制御装置の制御に用いられる信号同士の関係を前記タイムシーケンス図にロジック記号を配置させることによって利用者に入力させる入力工程と、前記入力工程で受け付けたタイムシーケンス図に配置された前記ロジック記号の属性および配置情報に基づいて前記制御プログラムを生成する制御プログラム生成工程とを含んだことを特徴とする。   According to a fifteenth aspect of the present invention, there is provided a control program generation method for generating a control program for controlling a controlled device, wherein the time sequence represents a time change of a plurality of signals used for controlling the controlled device. When a user creates a diagram, an input process that allows a user to input a relationship between signals used for control of the controlled device by arranging logic symbols in the time sequence diagram, and is accepted in the input process. And a control program generating step for generating the control program based on the attribute and arrangement information of the logic symbols arranged in the time sequence diagram.

請求項1、14または15に係る発明によれば、被制御装置の制御に用いられる複数の信号の時間変化をあらわすタイムシーケンス図を利用者に作成させる際に、被制御装置の制御に用いられる信号同士の関係を前記タイムシーケンス図にロジック記号を配置させることによって利用者に入力させ、受け付けたタイムシーケンス図に配置されたロジック記号の属性および配置情報に基づいて制御プログラムを生成するよう構成したので、利用者に直感的なシーケンス図作成作業をおこなわせることによって、制御プログラム生成の基礎となる電子化されたタイムシーケンス図の効率的な作成を支援することができるとともに、電子化されたタイムシーケンス図に対応する制御プログラムを自動生成することができるという効果を奏する。   According to the invention according to claim 1, 14 or 15, it is used for controlling the controlled device when the user creates a time sequence diagram showing the time change of the plurality of signals used for controlling the controlled device. The configuration is such that the relationship between signals is input by the user by arranging logic symbols in the time sequence diagram, and the control program is generated based on the attributes and arrangement information of the logic symbols arranged in the received time sequence diagram. Therefore, by letting the user perform intuitive sequence diagram creation work, it is possible to support the efficient creation of an electronic time sequence diagram that is the basis for generating a control program, and the digitized time There is an effect that a control program corresponding to the sequence diagram can be automatically generated.

また、請求項2に係る発明によれば、タイムシーケンス図に配置されたロジック記号で定義された信号同士の関係を制御プログラムへ展開していく際に、ロジック記号が配置された信号の前記タイムシーケンス図における描画順序に応じて信号同士の関係を反映した制御プログラムを生成するよう構成したので、利用者に展開順序を指定させることなくタイムシーケンス図のあいまいさを排除して生成ロジックを一意に定めることが可能となり生成ロジックの品質を向上させることができるという効果を奏する。   According to the second aspect of the present invention, when the relationship between the signals defined by the logic symbols arranged in the time sequence diagram is expanded to the control program, the time of the signal having the logic symbols arranged therein is expanded. Since it is configured to generate a control program that reflects the relationship between signals according to the drawing order in the sequence diagram, it eliminates the ambiguity of the time sequence diagram without letting the user specify the development order and makes the generation logic unique It is possible to determine the quality, and the quality of the generation logic can be improved.

また、請求項3に係る発明によれば、タイムシーケンス図に配置されたロジック記号に信号同士の関係を制御プログラムへ展開する展開順序をあらわす展開順序情報が含まれている場合に、ロジック記号が配置された信号の前記タイムシーケンス図における描画順序よりも展開順序情報を優先して信号同士の関係を反映した制御プログラムを生成するよう構成したので、利用者に展開順序を直接指定させることでタイムシーケンス図のあいまいさを排除して生成ロジックを一意に定めることが可能となり生成ロジックの品質を向上させることができるという効果を奏する。   According to the invention of claim 3, when the logic symbols arranged in the time sequence diagram include expansion order information representing the expansion order for expanding the relationship between signals to the control program, the logic symbols are Since the control program reflecting the relationship between the signals is generated with priority given to the development order information over the drawing order of the arranged signals in the time sequence diagram, the time can be set by allowing the user to directly specify the development order. The ambiguity of the sequence diagram can be eliminated and the generation logic can be uniquely determined, and the quality of the generation logic can be improved.

また、請求項4に係る発明によれば、タイムシーケンス図を所定数の部分図に分割する境界の入力を許容し、境界によって分割された部分図ごとに制御プログラムを生成するよう構成したので、制御プログラムのモジュール化を容易におこなうことができるとともに、タイムシーケンス図や制御プログラムの流用を促進することができるという効果を奏する。   Further, according to the invention according to claim 4, since the input of the boundary for dividing the time sequence diagram into a predetermined number of partial diagrams is allowed, and the control program is generated for each partial diagram divided by the boundary, The control program can be easily modularized, and the time sequence diagram and the diversion of the control program can be promoted.

また、請求項5に係る発明によれば、複数のタイムシーケンス図の入力および各タイムシーケンス図間の関係情報の入力を許容し、各タイムシーケンス図を関係情報に基づいて結合したうえで制御プログラムを生成するよう構成したので、分散開発したタイムシーケンス図を容易に統合することができるとともに、各タイムシーケンス図を視認性を保持した大きさにすることができるという効果を奏する。   According to the invention of claim 5, the control program allows input of a plurality of time sequence diagrams and relationship information between the time sequence diagrams, and combines the time sequence diagrams based on the relationship information. Since the time sequence diagrams developed in a distributed manner can be easily integrated, each time sequence diagram can be made large enough to maintain visibility.

また、請求項6に係る発明によれば、タイムシーケンス図に配置されたロジック記号で定義された信号同士の関係を制御プログラムへ展開していく際に、関係を有する各信号のうち特定の信号が変化してから他の信号が変化するまでの遅れ時間がある場合には、この遅れ時間を反映した制御プログラムを生成するよう構成したので、特定の信号の変化タイミングと、この信号と関係を有する信号の変化タイミングにずれがある場合であっても制御プログラムを容易に生成することができるという効果を奏する。   According to the invention of claim 6, when the relationship between the signals defined by the logic symbols arranged in the time sequence diagram is expanded to the control program, a specific signal among the signals having the relationship When there is a delay time from when the signal changes until another signal changes, a control program reflecting this delay time is generated, so the change timing of a specific signal and the relationship between this signal and Even if there is a shift in the change timing of the signal that has the control program, it is possible to easily generate the control program.

また、請求項7に係る発明によれば、ロジック記号としてプログラムロジックの直接入力をおこなうことが可能なロジック記号を有し、このロジック記号はタイムシーケンス図に表示される際に、利用者によって直接入力されたプログラムロジックをロジック記号の一部として表示させるよう構成したので、利用者はタイムシーケンス図を見るのみでタイムシーケンス図にあらわされているロジックを理解することができるという効果を奏する。   According to the seventh aspect of the present invention, the logic symbol capable of directly inputting the program logic is provided as the logic symbol, and the logic symbol is directly displayed by the user when displayed on the time sequence diagram. Since the input program logic is configured to be displayed as a part of the logic symbol, the user can understand the logic represented in the time sequence diagram only by looking at the time sequence diagram.

また、請求項8に係る発明によれば、タイムシーケンス図に配置されたロジック記号で定義された信号同士の関係を制御プログラムへ展開していく際に、各信号の変化をあらわした信号制御用ロジックと信号制御用ロジックを所定のタイミングで呼び出す時間制御用ロジックとを分離して生成するよう構成したので、信号制御用ロジックの共通モジュール化を容易におこなうことができるとともに、生成するロジックの呼び出し関係を明確にすることによって生成ロジックの品質を向上させることができるという効果を奏する。   According to the eighth aspect of the invention, when the relationship between the signals defined by the logic symbols arranged in the time sequence diagram is developed into the control program, the signal control signal indicating the change of each signal is shown. Since the logic and the time control logic that calls the signal control logic at a predetermined timing are generated separately, the signal control logic can be easily made into a common module and the generated logic can be called By clarifying the relationship, the quality of the generation logic can be improved.

また、請求項9に係る発明によれば、ロジック記号の属性を定義した定義データを記憶部に登録し、タイムシーケンス図に含まれるロジック記号の配置情報と登録された定義データとを関連付けたうえで制御プログラムを生成するよう構成したので、タイムシーケンス図の作成作業を効率化することができるとともに、生成する制御プログラムを複数のプログラミング言語へ対応させたり、同一のタイムシーケンス図から異なる制御プログラムを生成したりというように、制御プログラムの生成を柔軟におこなうことができるという効果を奏する。   According to the invention of claim 9, the definition data defining the logic symbol attributes is registered in the storage unit, and the logic symbol arrangement information included in the time sequence diagram is associated with the registered definition data. Since the control program is generated by the system, the creation of the time sequence diagram can be made more efficient, and the generated control program can be made compatible with multiple programming languages, or different control programs can be created from the same time sequence diagram. As a result, the control program can be generated flexibly.

また、請求項10に係る発明によれば、受け付けた一または複数のタイムシーケンス図から共通の信号制御パターンを抽出し、抽出した信号制御パターンを共通ロジックへ変換したうえで共通ロジックを用いた制御プログラムを生成するよう構成したので、生成された制御プログラムのモジュール化を自動的におこなうことによって生成する制御プログラムの品質を向上させることができるという効果を奏する。   According to the invention of claim 10, a common signal control pattern is extracted from one or more received time sequence diagrams, and the extracted signal control pattern is converted into common logic, and then control using the common logic is performed. Since the program is generated, the quality of the generated control program can be improved by automatically modularizing the generated control program.

また、請求項11に係る発明によれば、信号の作用関係をあらわしたロジック記号の組合せを共通の信号制御パターンとして抽出するよう構成したので、シーケンス図において複数箇所に登場する共通のパターンを抽出して利用を促すことによってシーケンス図の作成作業を効率化することができるとともに、生成する制御プログラムの品質を向上させることができるという効果を奏する。   According to the eleventh aspect of the present invention, since the combination of logic symbols representing the operational relationship of signals is extracted as a common signal control pattern, common patterns appearing at a plurality of locations in the sequence diagram are extracted. Thus, by prompting the use, it is possible to improve the efficiency of the sequence diagram creation work and improve the quality of the generated control program.

また、請求項12に係る発明によれば、利用者によって配置されたロジック記号の位置関係からタイムシーケンス図に未入力部分があると判定した場合に、ロジック記号の位置関係に基づいてタイムシーケンス図の入力補完をおこなうよう構成したので、シーケンス図の作成手順を簡素化することができるという効果を奏する。   According to the twelfth aspect of the present invention, when it is determined that there is an uninput part in the time sequence diagram from the positional relationship of the logic symbols arranged by the user, the time sequence diagram is based on the positional relationship of the logic symbols. Therefore, the sequence diagram creation procedure can be simplified.

また、請求項13に係る発明によれば、タイムシーケンス図に配置されたロジック記号で定義された信号同士の関係を制御プログラムへ展開していく際に、制御プログラムを構成するロジックおよびデータ格納領域確保のルールをあらわすプログラミングルールを用いて制御プログラムを生成するよう構成したので、生成するロジックの信頼性を高めることができるとともに、生成した制御プログラムが使用するメモリ領域を効率的に削減することができるという効果を奏する。   According to the invention of claim 13, when the relationship between signals defined by the logic symbols arranged in the time sequence diagram is expanded to the control program, the logic and data storage areas constituting the control program Since the configuration is such that the control program is generated using the programming rules that represent the securing rules, the reliability of the generated logic can be improved, and the memory area used by the generated control program can be efficiently reduced. There is an effect that can be done.

以下に添付図面を参照して、この発明に係る制御プログラム生成手法の好適な実施例を詳細に説明する。なお、以下の実施例においては、パーソナルコンピュータ(PC)やワークステーション(WS)などの汎用的なコンピュータに専用プログラムをインストールすることによって制御プログラム生成装置を構成した場合について説明する。また、以下の実施例においては、上記したタイムシーケンス図を単に「シーケンス図」と記載することとする。   Exemplary embodiments of a control program generation method according to the present invention will be described below in detail with reference to the accompanying drawings. In the following embodiments, a case will be described in which a control program generating apparatus is configured by installing a dedicated program in a general-purpose computer such as a personal computer (PC) or a workstation (WS). In the following embodiments, the above time sequence diagram is simply referred to as a “sequence diagram”.

まず、本発明に係る制御プログラム生成手法の概要および特徴について図1を用いて説明する。図1は、本発明に係る制御プログラム生成手法の概要および特徴を示す図である。なお、同図に示す「制御プログラム生成ツール」が本発明に係る制御プログラム生成手法を適用した制御プログラム生成プログラムであり、パーソナルコンピュータ(PC)などのコンピュータにインストールすることによって機能を発揮する。   First, the outline and features of the control program generation method according to the present invention will be described with reference to FIG. FIG. 1 is a diagram showing an outline and features of a control program generation method according to the present invention. The “control program generation tool” shown in the figure is a control program generation program to which the control program generation method according to the present invention is applied, and exhibits a function when installed in a computer such as a personal computer (PC).

図1に示すように、制御プログラム生成ツールは、ディスプレイ装置などの表示デバイスにシーケンス図入力画面を表示するとともに、描画部品の一覧をあらわすパレットなどを表示することによって利用者に対して「描画部品」の提供をおこなう(図1の(1)参照)。ここで、「描画部品」とは、各種信号の時間経過をあらわす直線や曲線といった線、各信号間の依存関係や判定条件といった記号のことを指す。   As shown in FIG. 1, the control program generation tool displays a sequence diagram input screen on a display device such as a display device and displays a palette or the like representing a list of drawing parts to the user. "Is provided (see (1) in FIG. 1). Here, the “drawing component” refers to a line such as a straight line or a curve representing the passage of time of various signals, and a symbol such as a dependency relationship between each signal and a determination condition.

利用者は制御プログラム生成ツールから提供された描画部品を適宜選択するとともに、シーケンス図入力画面上に配置したり属性値の入力をおこなったりすることによってシーケンス図を作成する(図1の(2)参照)。なお、図1のシーケンス図入力画面に示したシーケンス図は横軸に時間を縦軸に各信号に関する信号値を信号ごとに並べたものである。また、このシーケンス図では、「ON」および「OFF」の2値をとる信号を例示しているが、2値をとる信号に限定するものではない。   The user selects a drawing part provided from the control program generation tool as appropriate, and creates a sequence diagram by placing it on the sequence diagram input screen or inputting an attribute value ((2) in FIG. 1). reference). In the sequence diagram shown in the sequence diagram input screen of FIG. 1, time is plotted on the horizontal axis and signal values related to each signal are arranged for each signal on the vertical axis. Further, in this sequence diagram, a signal that takes two values “ON” and “OFF” is illustrated, but the signal is not limited to a signal that takes two values.

制御プログラム生成ツールは、このようにして作成されたシーケンス図を読み取り(図1の(3)参照)、シーケンス図に配置された各描画部品の配置情報や属性値を取得する(図1の(4)参照)。そして、かかるシーケンス図とは別に用意された「外部定義情報」と図1の(4)で取得した情報とを合成することによって制御プログラム(たとえば、ソースコード)を生成する。なお、図1の(5)で用いる外部定義情報の詳細については図12を用いて後述することとする。   The control program generation tool reads the sequence diagram created in this way (see (3) in FIG. 1), and acquires the arrangement information and attribute values of each drawing component arranged in the sequence diagram ((( 4)). A control program (for example, source code) is generated by synthesizing “external definition information” prepared separately from the sequence diagram and the information acquired in (4) of FIG. Details of the external definition information used in (5) of FIG. 1 will be described later with reference to FIG.

図1に示したソースコードは、プログラミング言語の一つであるC言語によるソースコードである。また、このソースコードは図1に示したシーケンス図に対応したものである。具体的には、シーケンス図のT[n]時間において、信号Aの信号値がOFFからONへ変化したことを条件として信号Bの信号値をOFFにする旨の制御内容が記述されている。   The source code shown in FIG. 1 is a source code in C language which is one of programming languages. This source code corresponds to the sequence diagram shown in FIG. Specifically, the control content is described to turn off the signal value of the signal B on condition that the signal value of the signal A changes from OFF to ON at time T [n] in the sequence diagram.

このように、本発明に係る制御プログラム生成手法では、各信号値の時間変化をあらわすシーケンス図を作成するための描画部品を利用者に提供するとともに、作成されたシーケンス図に配置された描画部品の配置情報や属性値とソースコード生成のための付加的条件をあらわす外部定義情報とを合成することとした。したがって、制御プログラム生成の基礎となる電子化されたタイムシーケンス図の効率的な作成を支援するとともに、電子化されたタイムシーケンス図に対応する制御プログラムを自動生成することができる。   As described above, in the control program generation method according to the present invention, the drawing parts for creating the sequence diagram representing the time change of each signal value are provided to the user, and the drawing parts arranged in the created sequence diagram are provided. It is decided to synthesize the location information and attribute values of the external definition information and the external definition information representing additional conditions for generating the source code. Therefore, it is possible to support efficient creation of an electronic time sequence diagram that is a basis for generating a control program and to automatically generate a control program corresponding to the electronic time sequence diagram.

なお、図1では、制御プログラムとしてソースコードそのものを生成する場合について示したが、これに限らず、ソースコード生成のための中間生成物(たとえば、ソースコード生成ルールを示すメタ情報)を生成することとし、この中間生成物を外部のソースコード生成プログラムに渡すことによって制御プログラムを生成することとしてもよい。また、図1では、C言語によるソースコードが生成される場合について示したが、生成されるソースコードのプログラミング言語を複数用意し、利用者に選択させることとしてもよい。   Although FIG. 1 shows the case where the source code itself is generated as the control program, the present invention is not limited to this, and an intermediate product for generating the source code (for example, meta information indicating the source code generation rule) is generated. In other words, the control program may be generated by passing the intermediate product to an external source code generation program. Further, FIG. 1 shows the case where the source code in C language is generated, but it is also possible to prepare a plurality of programming languages for the generated source code and let the user select it.

以下では、本発明に係る制御プログラム生成手法を適用した専用プログラムを、パーソナルコンピュータ(PC)やワークステーション(WS)などの汎用的なコンピュータにインストールすることによって制御プログラム生成装置を構成した場合について説明する。また、以下では、この制御プログラム生成装置が、車両制御プログラム、特に、エンジンやトランスミッションの制御プログラムを生成する場合について示している。   In the following, a case will be described in which a control program generation apparatus is configured by installing a dedicated program to which a control program generation method according to the present invention is applied in a general-purpose computer such as a personal computer (PC) or a workstation (WS). To do. In the following description, the control program generation device generates a vehicle control program, particularly an engine or transmission control program.

なお、かかる制御プログラム生成装置が生成する制御プログラムは、入力信号に基づいて出力信号を決定する場合に用いられるほか、入力信号を用いることなく出力信号を決定する場合、あるいは、制御プログラムが搭載された装置の内部状態を入力信号に基づいて決定する場合などにも用いることができる。   The control program generated by the control program generation device is used when determining the output signal based on the input signal, or when determining the output signal without using the input signal, or when the control program is installed. It can also be used when determining the internal state of the device based on the input signal.

図2は、本実施例に係る制御プログラム生成装置1の構成を示すブロック図である。同図に示すように、制御プログラム生成装置1は、記憶部2と、制御部3と、入出力部4とを備えている。なお、制御部3が図1に示した制御プログラム生成ツールに対応する処理部(プログラム)である。   FIG. 2 is a block diagram illustrating a configuration of the control program generation device 1 according to the present embodiment. As shown in FIG. 1, the control program generation device 1 includes a storage unit 2, a control unit 3, and an input / output unit 4. The control unit 3 is a processing unit (program) corresponding to the control program generation tool shown in FIG.

図2に示すように、記憶部2は、描画部品2aと、共通パターン情報2bと、シーケンス図情報2cと、外部定義情報2dと、共通コード情報2eとを記憶しており、制御部3は、シーケンス図作成支援部3aと、パターン抽出部3bと、描画部品登録部3cと、コード生成部3dと、共通コード抽出部3eと、外部定義情報操作部3fとをさらに備えている。   As shown in FIG. 2, the storage unit 2 stores drawing parts 2a, common pattern information 2b, sequence diagram information 2c, external definition information 2d, and common code information 2e. The sequence diagram creation support unit 3a, the pattern extraction unit 3b, the drawing component registration unit 3c, the code generation unit 3d, the common code extraction unit 3e, and the external definition information operation unit 3f are further provided.

記憶部2は、磁気ディスク装置やディスクアレイ装置といった記憶デバイスで構成される記憶部であり、描画部品2aと、共通パターン情報2bと、シーケンス図情報2cと、外部定義情報2dと、共通コード情報2eとを記憶している。   The storage unit 2 is a storage unit composed of a storage device such as a magnetic disk device or a disk array device. The drawing component 2a, common pattern information 2b, sequence diagram information 2c, external definition information 2d, and common code information 2e is stored.

描画部品2aは、シーケンス図の作成に用いられる、各種信号の時間経過をあらわす直線や曲線といった線、各信号間の依存関係や判定条件といった記号であり、あらかじめ作成して登録されるほか、利用者があらたな描画部品2aを作成することもできる。   The drawing component 2a is a symbol such as a line such as a straight line or a curve that represents the passage of time of various signals, a dependency relationship between each signal, or a judgment condition, which is used to create a sequence diagram. A person can also create a new drawing component 2a.

また、描画部品2aには、他の描画部品2aとの関連情報、コード生成部3dが描画部品2aを制御プログラムへと展開する順序といった属性を設定することができる。なお、かかる展開順序を指定しない場合には、コード生成部3dは、描画部品2aが配置された信号のタイムシーケンス図における描画順序、シーケンス図の上から下、左から右といった方向で各描画部品2aを読み取っていくことになる。   The drawing component 2a can be set with attributes such as information related to the other drawing component 2a and the order in which the code generation unit 3d develops the drawing component 2a into the control program. When the development order is not designated, the code generation unit 3d causes each drawing component in the drawing sequence in the time sequence diagram of the signal in which the drawing component 2a is arranged, in the direction from the top to the bottom, the left to the right in the sequence diagram. 2a will be read.

たとえば、A、B、Cという信号がタイムシーケンス図に上から下にB、A、Cの順番で描画されている場合にはBの信号に配置された描画部品2aを優先して読み取り、タイムシーケンス図が右にいくほど遅い時刻をあらわす場合にはBの信号のなかでもより左のほうには位置された描画部品を優先して読み取る。   For example, when signals A, B, and C are drawn in the order of B, A, and C from the top to the bottom in the time sequence diagram, the drawing component 2a arranged in the B signal is preferentially read, and the time When the sequence diagram shows a later time as it goes to the right, the drawing component positioned on the left side of the B signal is read preferentially.

ここで、この描画部品2aの例について図3〜図6を用いて説明しておく。図3および図4は、それぞれ、描画部品2aの例その1およびその2を示す図であり、図5および図6は、描画部品2aのシーケンス図への配置例その1およびその2を示す図である。   Here, an example of the drawing component 2a will be described with reference to FIGS. 3 and 4 are diagrams showing an example 1 and 2 of the drawing component 2a, respectively. FIGS. 5 and 6 are diagrams showing an example 1 and 2 of the arrangement of the drawing component 2a in the sequence diagram, respectively. It is.

図3の103aに示したのは、各信号の信号値を指定するために用いられる描画部品2aである。この103aは、信号の更新値を指定するために用いられるほか、判定条件の数値を指定するためにも用いられる。そして、103aの矩形内には、たとえば、「0」、「=0」、「A+1」といった値を入力することができ、入力値は103a上に表示されるほか属性値として保持されることになる。   A drawing component 2a used for designating the signal value of each signal is shown at 103a in FIG. This 103a is used not only to specify an update value of a signal but also to specify a numerical value of a determination condition. For example, values such as “0”, “= 0”, and “A + 1” can be input in the rectangle 103a, and the input value is displayed on 103a and held as an attribute value. Become.

図3の103bおよび103cに示したのは、閾値判定をおこなうためのマーク(記号)であり、103bが「〜以上」、103cが「〜以下」を示す。なお、これらの記号を後述するコード生成部3dがC言語に変換する場合には、103bは「>=」へ、103cは「<=」へ、それぞれ変換されることになる。また、103bおよび103cに示した黒丸は矩形内に指定された値を含むことをあらわしており、黒丸に隣接する矢印の左右位置は配置状態に応じて適宜変更することができる。   Reference numerals 103b and 103c in FIG. 3 indicate marks (symbols) for threshold determination, where 103b indicates "~" and 103c indicates "~". When the code generation unit 3d described later converts these symbols into C language, 103b is converted to “> =” and 103c is converted to “<=”. Further, the black circles shown in 103b and 103c indicate that the value specified in the rectangle is included, and the left and right positions of the arrows adjacent to the black circle can be changed as appropriate according to the arrangement state.

図3の103dおよび103eに示したのは、閾値判定をおこなうためのマーク(記号)であり、103dが「〜より大きい」、103eが「〜より小さい」を示す。なお、これらの記号を後述するコード生成部3dがC言語に変換する場合には、103dは「>」へ、103eは「<」へ、それぞれ変換されることになる。また、103dおよび103eに示した白丸は矩形内に指定された値を含まないことをあらわしており、白丸に隣接する矢印の左右位置は配置状態に応じて適宜変更することができる。   103d and 103e in FIG. 3 are marks (symbols) for threshold determination, and 103d indicates “greater than” and 103e indicates “less than”. When the code generation unit 3d described later converts these symbols into C language, 103d is converted to “>” and 103e is converted to “<”. The white circles indicated by 103d and 103e indicate that the specified value is not included in the rectangle, and the left and right positions of the arrows adjacent to the white circle can be changed as appropriate according to the arrangement state.

図3の103fおよび103gに示したのは、一致判定をおこなうためのマーク(記号)であり、103fが2値信号(フラグ)以外の信号用、103gが2値信号(フラグ)用として用いられる。なお、これらの記号を後述するコード生成部3dがC言語に変換する場合には、「==」へ変換されることになる。また、103fの矩形内に指定された値は「==」の右辺値として用いられる。   103f and 103g in FIG. 3 are marks (symbols) for performing a match determination. 103f is used for a signal other than a binary signal (flag), and 103g is used for a binary signal (flag). . When these codes are converted into C language by the code generation unit 3d described later, they are converted to “==”. Also, the value specified in the rectangle 103f is used as the right side value of “==”.

図3の103hおよび103iに示したのは、不一致判定をおこなうためのマーク(記号)であり、103hが2値信号(フラグ)以外の信号用、103iが2値信号(フラグ)用として用いられる。なお、これらの記号を後述するコード生成部3dがC言語に変換する場合には、「!=」へ変換されることになる。また、103hの矩形内に指定された値は「!=」の右辺値として用いられる。   103h and 103i in FIG. 3 are marks (symbols) for determining the mismatch, 103h is used for signals other than binary signals (flags), and 103i is used for binary signals (flags). . In addition, when the code generation unit 3d described later converts these symbols into the C language, it is converted into “! =”. Also, the value specified in the 103h rectangle is used as the right side value of "! =".

図3の103jおよび103kに示したのは、論理演算をおこなうためのマーク(記号)であり、103jがAND条件を、103kがOR条件を示している。なお、これらの記号を後述するコード生成部3dがC言語に変換する場合には、103jは「&&」へ、103kは「||」へ、それぞれ変換されることになる。   103j and 103k in FIG. 3 are marks (symbols) for performing a logical operation. 103j represents an AND condition, and 103k represents an OR condition. In addition, when the code generation unit 3d described later converts these symbols into C language, 103j is converted into “&&”, and 103k is converted into “||”.

図4の104aおよび104bに示したのは、代入演算をおこなうためのマーク(記号)であり、104aが2値信号(フラグ)以外の信号用、104bが2値信号(フラグ)用として用いられる。なお、これらの記号を後述するコード生成部3dがC言語に変換する場合には、「=」へ変換されることになる。また、104aの矩形内に指定された値は「=」の右辺値として用いられる。   104a and 104b in FIG. 4 are marks (symbols) for performing an assignment operation. 104a is used for signals other than binary signals (flags), and 104b is used for binary signals (flags). . In addition, when the code generation unit 3d described later converts these symbols into the C language, the symbols are converted to “=”. The value designated in the rectangle 104a is used as the right side value of “=”.

図4の104c、104dおよび104eに示したのは、イベントの発生タイミングをあらわすマーク(記号)であり、104cが外部イベント用、104dおよび104eがタイマに関するイベント用として用いられる。なお、104dの矩形内に指定する閾値はタイマのタイムアウト値であり、104eを用いるとこの閾値を複数個(同図では閾値#1および#2)指定することができる。   In FIG. 4, 104c, 104d, and 104e are marks (symbols) that indicate the occurrence timing of the event. 104c is used for an external event, and 104d and 104e are used for an event related to a timer. Note that the threshold value designated in the rectangle 104d is a timer timeout value. If 104e is used, a plurality of threshold values (threshold values # 1 and # 2 in the figure) can be designated.

図4の104fに示したのは、関数を直接指定するためのマーク(記号)であり、矩形内に関数名などを直接指定することになる。なお、この記号を後述するコード生成部3dがC言語に変換する場合には、104fの矩形内に指定された関数名がそのままソースコード中に展開されることになる。   A mark (symbol) for designating a function directly is shown at 104f in FIG. 4, and a function name or the like is designated directly in a rectangle. When the code generation unit 3d described later converts this symbol into C language, the function name specified in the rectangle 104f is expanded as it is in the source code.

図4の104gに示したのは、繰り返しなどのループ処理をあらわすマーク(記号)であり、ループ開始条件、ループ即時終了(break)条件およびループ終了条件をそれぞれ指定することができる。なお、この記号を後述するコード生成部3dがC言語に変換する場合には、104gは「while()」や「do{}while()」へ変換されることになる。   Reference numeral 104g in FIG. 4 denotes a mark (symbol) representing loop processing such as repetition, and a loop start condition, a loop immediate end (break) condition, and a loop end condition can be designated. In addition, when the code generation unit 3d described later converts this symbol into C language, 104g is converted into "while ()" or "do {} while ()".

図4の104hおよび104iに示したのは、コメントをあらわすマーク(記号)であり、他の記号の属性値として「コメント表示/非表示」などの指定をすることで、シーケンス図中に表示したり表示しなかったりという選択をおこなうことができる。なお、これらの記号を後述するコード生成部3dがC言語に変換する場合には、コメントの内容がソースコードの各命令文の右側などに「/*〜*/」のように展開されることになる。   104h and 104i in FIG. 4 are marks (symbols) representing comments, which can be displayed in the sequence diagram by specifying “display / hide comment” as an attribute value of other symbols. Or not to display. In addition, when the code generation unit 3d described later converts these symbols into the C language, the content of the comment is expanded as “/ * to * /” on the right side of each command statement in the source code. become.

図4の104jに示したのは、シーケンス図の理解補助のために用いられる補助線をあらわすマーク(記号)である。なお、この記号は後述するコード生成部3dから無視されソースコードに反映されることはない。このように、ソースコードに反映されないマーク(記号)を用意することで、シーケンス図を効率良く描画することができるほか、シーケンス図の可読性を高めることができる。   Reference numeral 104j in FIG. 4 denotes a mark (symbol) representing an auxiliary line used for assisting understanding of the sequence diagram. This symbol is ignored by the code generator 3d described later and is not reflected in the source code. In this way, by preparing marks (symbols) that are not reflected in the source code, the sequence diagram can be efficiently drawn and the readability of the sequence diagram can be improved.

次に、図3および図4を用いて説明した各描画部品2aの配置例について図5および図6を用いて説明する。なお、図5および図6では、各例の番号をあらわす「No」と、描画部品2aの組合せおよび配置例をあらわす「組合せ例」と、コード生成部3dが生成するソースコード例をあらわす「ロジック生成イメージ」とを示している。   Next, an arrangement example of each drawing component 2a described with reference to FIGS. 3 and 4 will be described with reference to FIGS. 5 and 6, “No” representing the number of each example, “Combination example” representing the combination and arrangement example of the drawing component 2a, and “Logic” representing the source code example generated by the code generation unit 3d. Generated image ".

図5のNo1では、図3および図4に示した描画部品2aのうち103a、103g、103kおよび104aを使用し、2値信号(フラグ)であるAおよびBの状態に応じて信号Cの信号値を変化させる場合について示している。具体的には、フラグAあるいはフラグBのいずれかがONである場合に、変数Cの値からDを差し引いた値をあらたな変数Cの値とする旨を指定している。   In No. 1 of FIG. 5, 103a, 103g, 103k, and 104a are used among the drawing parts 2a shown in FIGS. 3 and 4, and the signal C is changed according to the states of A and B that are binary signals (flags). It shows the case of changing the value. Specifically, when either flag A or flag B is ON, it is specified that a value obtained by subtracting D from the value of variable C is set as the value of new variable C.

なお、図5のNo1に示した処理パターン、すなわち、信号値に関する複数条件のいずれかが成立している時に特定の信号値を更新するパターンをコード生成部3dが検出した場合には、たとえば、同図に示したように、フラグAまたはフラグBが満たした条件に基づいて変数Cを更新する旨のコードを生成する。   When the code generation unit 3d detects a processing pattern indicated by No1 in FIG. 5, that is, a pattern for updating a specific signal value when any of a plurality of conditions regarding the signal value is satisfied, for example, As shown in the figure, a code for updating the variable C is generated based on the condition satisfied by the flag A or the flag B.

図5のNo2では、図3および図4に示した描画部品2aのうち103g、104bおよび104dを使用し、外部イベントの発生時にフラグCがOFFであれば、フラグCをONにするとともにカウンタDを0に初期化したうえでカウントを開始する旨を指定している。   In No. 2 in FIG. 5, if 103g, 104b and 104d are used among the drawing parts 2a shown in FIGS. 3 and 4, and the flag C is OFF when an external event occurs, the flag C is turned ON and the counter D Is specified to start counting after initializing to 0.

なお、図5のNo2に示した処理パターン、すなわち、外部イベントが発生した際に信号値が所定の条件を満たしていればこの信号値の更新とカウンタスタートとをおこなうパターンをコード生成部3dが検出した場合には、たとえば、同図に示したように、イベントAの発生を示す条件コードと、イベントA発生時のフラグCおよびカウンタDを更新する旨のコードとを生成する。   The code generation unit 3d displays the processing pattern shown in No. 2 in FIG. 5, that is, the pattern for updating the signal value and starting the counter if the signal value satisfies a predetermined condition when an external event occurs. If detected, for example, as shown in the figure, a condition code indicating the occurrence of the event A and a code for updating the flag C and the counter D when the event A occurs are generated.

図5のNo3では、図3および図4に示した描画部品2aのうち103a、103g、104bおよび104dを使用し、カウンタBのカウント終了時にフラグAがONであれば、変数Cの値にDを足し合わせた値をあらたな変数Cの値とする旨を指定している。   In No. 3 of FIG. 5, 103 a, 103 g, 104 b, and 104 d are used among the drawing parts 2 a shown in FIGS. 3 and 4, and if the flag A is ON at the end of the counter B count, the value of the variable C is set to D Is specified to be the value of the new variable C.

なお、図5のNo3に示した処理パターン、すなわち、カウント終了、かつ、信号値について所定の条件が成立している時に特定の信号値を更新するパターンをコード生成部3dが検出した場合には、たとえば、同図に示したように、カウンタBおよびフラグAが満たした条件に基づいて変数Cを更新する旨のコードを生成する。   When the code generation unit 3d detects the processing pattern indicated by No. 3 in FIG. 5, that is, the count end and a pattern for updating a specific signal value when a predetermined condition is satisfied for the signal value. For example, as shown in the figure, a code for updating the variable C is generated based on the condition satisfied by the counter B and the flag A.

図5のNo4では、図3および図4に示した描画部品2aのうち103e、103j、103kおよび104aを使用し、複数の条件に基づいて特定の信号値を次々と補正していく例を示している。具体的には、フラグA〜フラグEおよび変数Fに設定した条件の組合せによって変数Hの値を変更(補正)していく旨を指定している。   No. 4 in FIG. 5 shows an example in which 103e, 103j, 103k, and 104a are used among the drawing components 2a shown in FIGS. 3 and 4 and specific signal values are corrected one after another based on a plurality of conditions. ing. Specifically, it is specified that the value of the variable H is changed (corrected) by a combination of the conditions set in the flags A to E and the variable F.

なお、図5のNo4に示した処理パターン、すなわち、複数の条件によって同一変数の値を補正するパターンをコード生成部3dが検出した場合には、たとえば、同図に示したように、フラグA〜フラグEおよび変数Fが満たした条件に基づいて変数Hを補正していく旨のコードを生成する。   If the code generation unit 3d detects the processing pattern indicated by No. 4 in FIG. 5, that is, a pattern that corrects the value of the same variable according to a plurality of conditions, for example, as shown in FIG. A code for correcting the variable H based on the condition satisfied by the flag E and the variable F is generated.

図6のNo5では、図3および図4に示した描画部品2aのうち103g、103j、104aおよび104bを使用し、特定の信号値の変化に基づいて複数の信号値を更新する例を示している。具体的には、フラグAがOFFからONに変化したことをトリガーとして変数Bの値をC、変数Dの値をE、フラグFをOFFにそれぞれ更新する旨を指定している。   In No. 5 of FIG. 6, an example is shown in which 103 g, 103 j, 104 a, and 104 b of the drawing component 2 a shown in FIGS. 3 and 4 are used and a plurality of signal values are updated based on changes in specific signal values. Yes. Specifically, it is specified that the value of the variable B is updated to C, the value of the variable D is updated to E, and the flag F is updated to OFF with the flag A changing from OFF to ON.

なお、図5のNo5に示した処理パターン、すなわち、特定の信号状態が変化した場合に同時に複数の信号値を更新するパターンをコード生成部3dが検出した場合には、たとえば、フラグAが満たした条件に基づいて変数B、変数DおよびフラグFを更新する旨のコードを生成する。   If the code generation unit 3d detects the processing pattern indicated by No. 5 in FIG. 5, that is, a pattern in which a plurality of signal values are updated simultaneously when a specific signal state changes, for example, the flag A is satisfied. Based on the determined condition, a code for updating the variable B, the variable D, and the flag F is generated.

図6のNo6では、図3および図4に示した描画部品2aのうち103d、103gおよび104aを使用し、特定の信号値を増加させ所定の上限値に達した場合にこの上限値を維持する例を示している。具体的には、所定のタイミングでフラグAおよびフラグBのいずれもがONであれば、フラグBをOFFにするとともに変数Cの値をDずつ増加させ、変数Cの値がEに達したならば変数Cの値をEとする旨を指定している。   In No. 6 of FIG. 6, 103d, 103g, and 104a are used among the drawing parts 2a shown in FIGS. 3 and 4, and when the specific signal value is increased to reach a predetermined upper limit value, this upper limit value is maintained. An example is shown. Specifically, if both the flag A and the flag B are ON at a predetermined timing, the flag B is turned OFF and the value of the variable C is increased by D. If the value of the variable C reaches E For example, the variable C is designated as E.

なお、図5のNo6に示した処理パターン、すなわち、特定の信号値を増加させるとともに上限値でガードするパターンをコード生成部3dが検出した場合には、たとえば、変数CをDずつ増加させるとともに変数CがEに達すると増加をストップする旨のコードを生成する。   If the code generation unit 3d detects the processing pattern indicated by No. 6 in FIG. 5, that is, a pattern that increases a specific signal value and guards with an upper limit value, for example, the variable C is increased by D. When the variable C reaches E, a code is generated to stop the increase.

図6のNo7では、図3および図4に示した描画部品2aのうち103aおよび103fを使用し、配列であらわした各信号値を同一条件成立時に同時更新する例を示している。具体的には、各信号値がBと一致したならば信号値をCへ更新する旨を指定している。   No. 7 in FIG. 6 shows an example in which 103a and 103f of the drawing component 2a shown in FIGS. 3 and 4 are used and the signal values represented by the array are simultaneously updated when the same condition is satisfied. Specifically, it specifies that the signal value is updated to C if each signal value matches B.

なお、図5のNo7に示した処理パターン、すなわち、配列としてあらわされた各信号が同一条件の成立よって同時更新されるパターンをコード生成部3dが検出した場合には、たとえば、配列A[n]の更新をループ処理する旨のコードを生成する。   When the code generation unit 3d detects the processing pattern indicated by No. 7 in FIG. 5, that is, a pattern in which the signals represented as an array are simultaneously updated when the same condition is satisfied, for example, the array A [n ] To generate a code to loop the update.

図6のNo8では、図3および図4に示した描画部品2aのうち103bおよび104aを使用し、各信号値の更新処理をループ処理する例を示している。具体的には、変数Aの値がBより大きい間は、変数Cに変数Dの値からEを差し引いた値を代入するとともに、変数Aの値を1ずつ差し引きつつ変数Dに変数Cの値を代入する。そして、変数Cの値がF以上となったことを条件としてループ処理を終了する旨を指定している。   No. 8 in FIG. 6 shows an example in which 103b and 104a are used in the drawing component 2a shown in FIGS. 3 and 4 and the update process of each signal value is loop-processed. Specifically, while the value of variable A is greater than B, the value obtained by subtracting E from the value of variable D is substituted for variable C, and the value of variable C is set to variable D while subtracting the value of variable A by one. Is assigned. Then, it is specified that the loop process is terminated on condition that the value of the variable C becomes F or more.

なお、図5のNo8に示した処理パターン、すなわち、無条件の更新処理と条件判定を伴う更新処理とをループ処理するパターンをコード生成部3dが検出した場合には、たとえば、変数Cの更新については条件を付与せず、変数Aおよび変数Bの更新には条件を付与したうえでループ処理をおこなう旨のコードを生成する。   When the code generation unit 3d detects the processing pattern indicated by No. 8 in FIG. 5, that is, a pattern that loops the unconditional update process and the update process with condition determination, for example, the variable C is updated. With respect to, a code for generating a loop process is generated after a condition is added to the update of the variable A and the variable B without adding a condition.

このように、種々の描画部品2aを用意することで、シーケンス図を効率的に作成することが可能となるとともに、様々な種類のシーケンス図の作成を許容しつつ、ソースコード生成に必要な規則性を担保することができる。さらに、あらかじめ描画部品2aを用意するだけではなく、あらかじめ用意した描画部品2aを組み合わせたあらたな描画部品2aを追加することも可能である。また、描画部品2aを組み合わせることによってあらたな描画部品を作成することを「マクロ化」と呼ぶこととする。なお、このマクロ化の例については図29を用いて後述する。   In this way, by preparing various drawing components 2a, it is possible to efficiently create a sequence diagram, and rules necessary for generating source code while allowing the creation of various types of sequence diagrams. Sexuality can be secured. Furthermore, it is possible not only to prepare the drawing component 2a in advance, but also to add a new drawing component 2a obtained by combining the drawing components 2a prepared in advance. Also, creating a new drawing component by combining the drawing component 2a is referred to as "macro-ization". Note that an example of macro conversion will be described later with reference to FIG.

図2の説明に戻り、記憶部2に記憶される情報の説明をつづける。共通パターン情報2bは、パターン抽出部3bがシーケンス図から抽出した共通パターンをあらわす情報であり、この共通パターンを描画部品2aと同様に利用者に提供することでシーケンス図の作成効率を向上させることができる。なお、かかる「パターン抽出」の例については図30を用いて後述する。   Returning to the description of FIG. 2, the description of the information stored in the storage unit 2 will be continued. The common pattern information 2b is information representing the common pattern extracted from the sequence diagram by the pattern extraction unit 3b. By providing the common pattern to the user in the same manner as the drawing component 2a, the sequence diagram creation efficiency is improved. Can do. An example of such “pattern extraction” will be described later with reference to FIG.

シーケンス図情報2cは、シーケンス図作成支援部3aによって作成されたシーケンス図に関する情報である。具体的には、このシーケンス図情報2cはシーケンス図内に配置された各描画部品2aの配置位置や指定された属性値を含んだ情報である。なお、後述するコード生成部3dはこのシーケンス図情報2cに基づいてソースコードなどのコードを生成することになる。   The sequence diagram information 2c is information relating to the sequence diagram created by the sequence diagram creation support unit 3a. Specifically, the sequence diagram information 2c is information including the arrangement position of each drawing component 2a arranged in the sequence diagram and the designated attribute value. Note that the code generation unit 3d described later generates a code such as a source code based on the sequence diagram information 2c.

外部定義情報2dは、シーケンス図を補足するための付加的情報であり、後述するコード生成部3dは、上記したシーケンス図情報2cとこの外部定義情報2dとを合成することによってソースコードなどのコードを生成する。   The external definition information 2d is additional information for supplementing the sequence diagram, and the code generation unit 3d described later synthesizes the sequence diagram information 2c and the external definition information 2d to generate a code such as a source code. Is generated.

たとえば、同一のシーケンス図を作成した場合であっても、異なる外部定義情報2dをそれぞれ用意することとすれば、異なる判定条件を備えたソースコードをそれぞれ生成することが可能となる。また、この外部定義情報2dを用いることで、複数のプログラミング言語に対応したコードの生成が容易となる。さらに、外部定義情報2dに描画部品2aを補足する情報を含めることで、シーケンス図作成時の入力操作を軽減することも可能となる。なお、シーケンス図情報2cと外部定義情報2dとの合成例については図31を用いて後述する。   For example, even if the same sequence diagram is created, if different external definition information 2d is prepared, source codes having different determination conditions can be generated. Further, by using this external definition information 2d, it becomes easy to generate a code corresponding to a plurality of programming languages. Further, by including information supplementing the drawing component 2a in the external definition information 2d, it is possible to reduce the input operation when creating the sequence diagram. A synthesis example of the sequence diagram information 2c and the external definition information 2d will be described later with reference to FIG.

また、本実施例においては、外部定義情報2dを設ける例について示すが、この外部定義情報2dを設けることなくシーケンス図内にコード生成に必要となるすべての情報を含めるように構成することとしてもよい。   Further, in this embodiment, an example in which the external definition information 2d is provided is shown, but it is possible to include all information necessary for code generation in the sequence diagram without providing the external definition information 2d. Good.

共通コード情報2eは、後述するコード生成部3dが生成したコードのなかから抽出した共通コード(たとえば、共通関数など)に関する情報である。この共通コード情報2eを用いることで、コードのモジュール化をおこなうことができるとともに、共通コード情報2eに含まれる共通コードを変更する必要が生じた場合に、この共通コードを修正するのみで共通コードを使用しているすべてのコードを一括して修正することが可能となる。   The common code information 2e is information regarding a common code (for example, a common function) extracted from codes generated by a code generation unit 3d described later. By using this common code information 2e, it is possible to modularize the code, and when there is a need to change the common code included in the common code information 2e, the common code is simply modified. It will be possible to modify all the code that uses.

制御部3は、図1に示した制御プログラム生成ツールに相当する処理部であり、シーケンス図作成支援部3aと、パターン抽出部3bと、描画部品登録部3cと、コード生成部3dと、共通コード抽出部3eと、外部定義情報操作部3fとを備えている。   The control unit 3 is a processing unit corresponding to the control program generation tool shown in FIG. 1, and is shared by the sequence diagram creation support unit 3a, the pattern extraction unit 3b, the drawing component registration unit 3c, and the code generation unit 3d. A code extraction unit 3e and an external definition information operation unit 3f are provided.

シーケンス図作成支援部3aは、記憶部2の描画部品2aおよび共通パターン情報2bを選択するためのパレットを含んだシーケンス図入力画面を入出力部4を介してディスプレイ4bなどに表示するとともに、利用者による描画部品2aの配置操作や入力操作を入出力部4を介してキーボードやマウスなどの入出力手段4aから受け付けることによってシーケンス図の作成を支援し、完成したシーケンス図に関する情報をシーケンス図情報2cとして記憶部2に登録する処理をおこなう処理部である。また、シーケンス図作成支援部3aは、作成途中のシーケンス図や、作成済みのシーケンス図を入出力部4の可搬型媒体読取装置などから受け付けてこれらのシーケンス図の編集処理を支援する処理部でもある。   The sequence diagram creation support unit 3a displays a sequence diagram input screen including a palette for selecting the drawing component 2a and the common pattern information 2b in the storage unit 2 on the display 4b through the input / output unit 4 and uses them. The creation of the sequence diagram is supported by accepting the placement operation and input operation of the drawing component 2a by the user from the input / output means 4a such as a keyboard or a mouse via the input / output unit 4, and information on the completed sequence diagram is provided as sequence diagram information. 2c is a processing unit that performs processing of registering in the storage unit 2 as 2c. The sequence diagram creation support unit 3a is a processing unit that accepts a sequence diagram being created or a sequence diagram that has been created from a portable medium reader of the input / output unit 4 and supports editing processing of these sequence diagrams. is there.

パターン抽出部3bは、シーケンス図作成支援部3aによって作成中のシーケンス図を利用者の指示や所定間隔のタイマなどをトリガーとして検索し、パターンマッチングの技法などを用いることによってシーケンス図中において共通的に使用されているパターンを抽出した結果得られた情報を共通パターン情報2bとして記憶部2に登録する処理をおこなう処理部である。また、描画部品登録部3cは、複数の描画部品2aの組合せからなるあらたな描画部品2aを記憶部2に登録する処理をおこなう処理部である。   The pattern extraction unit 3b searches the sequence diagram being created by the sequence diagram creation support unit 3a by using a user instruction or a timer at a predetermined interval as a trigger, and uses a pattern matching technique or the like in common in the sequence diagram. This is a processing unit that performs processing for registering information obtained as a result of extracting the pattern used in the storage unit 2 as common pattern information 2b. The drawing component registration unit 3c is a processing unit that performs a process of registering a new drawing component 2a composed of a combination of a plurality of drawing components 2a in the storage unit 2.

コード生成部3dは、シーケンス作成支援部3aによって登録されたシーケンス図情報2cと、後述する外部定義情報操作部3fによって登録された外部定義情報2dとを記憶部2から読み出し、これらの情報(2cおよび2d)を合成することによってソースコードなどのコードを生成する処理をおこなう処理部である。また、このコード生成部3dは、後述する共通コード抽出部3eによって登録された共通コード情報2eを記憶部2から読み出し、この共通コード情報2eに含まれる共通関数などを反映したコードを生成する処理部でもある。なお、このコード生成部3dがおこなう処理の詳細については、図111〜図28を用いて後述することとする。   The code generation unit 3d reads the sequence diagram information 2c registered by the sequence creation support unit 3a and the external definition information 2d registered by the external definition information operation unit 3f, which will be described later, from the storage unit 2, and stores these information (2c And 2d) is a processing unit that performs processing for generating code such as source code. The code generation unit 3d reads the common code information 2e registered by the common code extraction unit 3e described later from the storage unit 2, and generates a code reflecting a common function included in the common code information 2e It is also a department. Details of the processing performed by the code generation unit 3d will be described later with reference to FIGS.

また、このコード生成部3dが、描画部品2aによってあらわされた信号同士の関係をコードへと展開していく際には、たとえば、シーケンス図の上から下、左から下といった方向で各描画部品2aを読み取っていくことになる。なお、描画部品2aに展開順序を示す属性が設定されていればこの展開順序を優先して各描画部品2aを読み取るものとする。   Further, when the code generation unit 3d develops the relationship between the signals represented by the drawing component 2a into a code, for example, each drawing component in the direction from the top to the bottom and from the left to the bottom of the sequence diagram. 2a will be read. If an attribute indicating the development order is set in the drawing component 2a, each drawing component 2a is read with priority on the development order.

共通コード抽出部3eは、コード生成部3dが生成したコードの中からパターンマッチングの技法などを用いることによって共通コード(たとえば、共通関数)を抽出し、抽出した共通コードに関する情報を共通コード情報2eとして記憶部2に登録する処理をおこなう処理部である。   The common code extraction unit 3e extracts a common code (for example, a common function) from the codes generated by the code generation unit 3d by using a pattern matching technique and the like, and information on the extracted common code is used as the common code information 2e. As a processing unit that performs processing to be registered in the storage unit 2.

外部定義情報操作部3fは、入出力部4を介して受け取った指示に基づいて上記した外部定義情報2dの登録、変更、更新および削除といった処理をおこなう処理部である。このように、外部定義情報2dの操作をおこなうことにより、コード生成の効率を向上させることができるとともに、特に、複数の利用者が分担して作業を進める場合などに均質なコードの生成をおこなうことができる。   The external definition information operation unit 3 f is a processing unit that performs processing such as registration, change, update, and deletion of the external definition information 2 d described above based on an instruction received via the input / output unit 4. As described above, by operating the external definition information 2d, the efficiency of code generation can be improved, and in particular, a uniform code is generated when a plurality of users share the work. be able to.

入出力部4は、ディスプレイ装置などの出力デバイス、キーボードやマウス、可搬型媒体読取装置といった入力デバイス、LAN(Local Area Network)ボードなどの通信デバイスであり、シーケンス図作成支援部3aによるシーケンス図入力画面を表示したり、シーケンス図の入力を受け付けたり、コード生成部3dが生成したコードをネットワーク上の他のパーソナルコンピュータ(PC)に出力したり、外部定義情報に対する編集操作を受け付けたりといった処理をおこなう。   The input / output unit 4 is an output device such as a display device, an input device such as a keyboard or a mouse or a portable medium reader, or a communication device such as a LAN (Local Area Network) board. The sequence diagram input by the sequence diagram creation support unit 3a Processing such as displaying a screen, receiving an input of a sequence diagram, outputting a code generated by the code generation unit 3d to another personal computer (PC) on the network, and receiving an editing operation on external definition information Do it.

次に、図2に示したシーケンス図作成支援部3aによって作成されるシーケンス図の例およびコード生成部3dによって作成されるソースコードの例について図7〜図9を用いて説明する。図7はシーケンス図の一例を示す図であり、図8および図9は図7に示したシーケンス図から生成される制御プログラム例その1およびその2をそれぞれ示す図である。   Next, an example of a sequence diagram created by the sequence diagram creation support unit 3a shown in FIG. 2 and an example of a source code created by the code generation unit 3d will be described with reference to FIGS. FIG. 7 is a diagram showing an example of a sequence diagram, and FIGS. 8 and 9 are diagrams showing an example 1 and 2 of control programs generated from the sequence diagram shown in FIG. 7, respectively.

図7には、カウンタ_1、フラグ_1、フラグ_2といった各信号の作用関係や時間変化などが、図3および図4で例示した描画部品2aを用いて記述されている。また、図7においては、event_1およびevent_2の2つの外部イベントに基づいて各信号値を変化させていく場合について示している。   In FIG. 7, the operational relationship of each signal such as the counter_1, the flag_1, and the flag_2, the time change, and the like are described using the drawing component 2a illustrated in FIGS. FIG. 7 shows a case in which each signal value is changed based on two external events of event_1 and event_2.

なお、図7に示した(1)〜(20)は、図8および図9に示したソースコードの(1)〜(20)にそれぞれ対応している。また、図7のevent_1に関連する部分に対応するソースコードを図8に、同じくevent_2に関連する部分に対応するソースコードを図9にそれぞれ示している。   Note that (1) to (20) shown in FIG. 7 correspond to (1) to (20) of the source code shown in FIGS. FIG. 8 shows the source code corresponding to the part related to event_1 in FIG. 7, and FIG. 9 shows the source code corresponding to the part related to event_2.

図7のシーケンス図では、横軸に時間(左から右へ時間が流れるものとする)を、縦軸に各信号をそれぞれ示している。そして、縦軸の各信号は、信号の名称(たとえば、「カウンタ_1」、信号に対応する変数名(たとえば、cnt_1)、上限値(たとえば、最大値をあらわす「4194(ms)」)、下限値(たとえば、最小値をあらわす「0(ms)」)の情報を含んでいる。なお、かかる上限値および下限値は、フラグに関しては「ON」および「OFF」を指定することができる。   In the sequence diagram of FIG. 7, the horizontal axis indicates time (assuming time flows from left to right), and the vertical axis indicates each signal. Each signal on the vertical axis includes a signal name (for example, “counter_1”, a variable name corresponding to the signal (for example, cnt_1), an upper limit value (for example, “4194 (ms)” representing the maximum value), a lower limit value, and the like. Information on a value (for example, “0 (ms)” representing the minimum value) is included, and the upper limit value and the lower limit value can specify “ON” and “OFF” for the flag.

次に、図7のシーケンス図に基づいて生成される制御プログラムについて説明する。図8に示すように、図7のevent_1に対応する関数としてinit_procおよびcycle_procの2つが生成されている。このinit_procはevent_1発生時におこなう初期化処理を記述したものであり、cycle_procはinit_proc実行後において所定間隔ごとに繰り返し実行される周回処理を記述したものである。   Next, a control program generated based on the sequence diagram of FIG. 7 will be described. As shown in FIG. 8, two functions, init_proc and cycle_proc, are generated as functions corresponding to event_1 in FIG. This init_proc describes an initialization process performed when event_1 occurs, and cycle_proc describes a recurring process that is repeatedly executed at predetermined intervals after the execution of init_proc.

また、図9に示すように、図7のevent_2に対応する関数としてinit_procおよびcycle_procの2つが生成されている。なお、これらの関数の実行タイミングについては図8と同様であるので説明を省略する。   As shown in FIG. 9, two functions, init_proc and cycle_proc, are generated as functions corresponding to event_2 in FIG. The execution timing of these functions is the same as that in FIG.

次に、図2に示した制御プログラム生成装置1においておこなわれる制御プログラム生成手順の概要について図10を用いて説明する。図10は、制御プログラム生成手順の概要を示すフローチャートである。同図に示すように、シーケンス図作成支援部3aは、描画部品2aや共通パターン情報2bを利用可能な入力用画面を入出力部4のディスプレイ装置に表示し(ステップS101)、入出力部4のキーボードやマウスといった入力装置を介して利用者によるシーケンス図入力を受け付ける(ステップS102)。   Next, an outline of a control program generation procedure performed in the control program generation device 1 shown in FIG. 2 will be described with reference to FIG. FIG. 10 is a flowchart showing an outline of a control program generation procedure. As shown in the figure, the sequence diagram creation support unit 3a displays an input screen on which the drawing component 2a and the common pattern information 2b can be used on the display device of the input / output unit 4 (step S101). A sequence diagram input by the user is accepted via an input device such as a keyboard or mouse (step S102).

そして、シーケンス図の作成が完了し、入出力部4のキーボードやマウスといった入力装置を介して利用者による指示を受け付けるとシーケンス図作成支援部3aはシーケンス図情報2cを記憶部2に登録する。つづいて、コード生成部3dは記憶部2からシーケンス図情報2cを読み出し、このシーケンス図情報2cに含まれる描画部品の位置情報や属性情報などを取得する(ステップS103)。   When the creation of the sequence diagram is completed and an instruction from the user is received via an input device such as a keyboard or a mouse of the input / output unit 4, the sequence diagram creation support unit 3a registers the sequence diagram information 2c in the storage unit 2. Subsequently, the code generation unit 3d reads the sequence diagram information 2c from the storage unit 2, and acquires position information, attribute information, and the like of the drawing component included in the sequence diagram information 2c (step S103).

そして、シーケンス図作成支援部3aはステップS103で取得した情報と、記憶部2から読み出した外部定義情報2dとを合成し(ステップS104)、ソースコードを生成する(ステップS105)。つづいて、シーケンス図作成支援部3aは、入出力部4のLANボードなどを介して作成したソースコードを出力して(ステップS106)処理を終了する。   Then, the sequence diagram creation support unit 3a combines the information acquired in step S103 with the external definition information 2d read from the storage unit 2 (step S104), and generates a source code (step S105). Subsequently, the sequence diagram creation support unit 3a outputs the source code created via the LAN board of the input / output unit 4 (step S106) and ends the process.

以降では、図2に示したコード生成部3dにおけるコード生成処理の内容についてさらに詳細に説明する。図11は、判定部分をロジック記号(図3および図4参照)によって指定した場合の例を示す図である。なお、図11では、意味の異なるロジック記号を使い分けることによって異なるソースコードが生成される様子を示している。   Hereinafter, the contents of the code generation process in the code generation unit 3d shown in FIG. 2 will be described in more detail. FIG. 11 is a diagram illustrating an example when the determination portion is designated by a logic symbol (see FIGS. 3 and 4). FIG. 11 shows a state in which different source codes are generated by properly using logic symbols having different meanings.

図11の11aは、判定部分に矢印記号を配置した例であり、11a−1が矢印記号を配置したシーケンス図を11a−2が11a−1に基づいて生成されるソースコードをそれぞれあらわしている。11a−1に示すように、時間「4」において、信号AがONからOFFとなっておりONからOFF向きに矢印記号が配置されている。そして、同じく時間「4」において信号BがONからOFFへと変化している。この場合、「信号Aの前回値A’がONであり、かつ、信号Aの最新値AがOFFであること」を条件として信号Bの値をOFFとする旨のソースコードが生成されている。   11a in FIG. 11 is an example in which an arrow symbol is arranged in the determination part, 11a-1 represents a sequence diagram in which the arrow symbol is arranged, and 11a-2 represents a source code generated based on 11a-1. . As shown in 11a-1, at time “4”, the signal A is changed from ON to OFF, and an arrow symbol is arranged in the direction from ON to OFF. Similarly, at time “4”, the signal B changes from ON to OFF. In this case, source code is generated to turn off the value of the signal B on condition that “the previous value A ′ of the signal A is ON and the latest value A of the signal A is OFF”. .

また、図11の11bは、判定部分に黒丸記号を配置した例であり、11b−1が黒丸記号を配置したシーケンス図を11b−2が11b−1に基づいて生成されるソースコードをそれぞれあらわしている。11b−1に示すように、信号Aは常にOFFであるが時間「4」に判定部分をあらわす黒丸記号が配置されている。そして、同じく時間「4」において信号BがONからOFFへと変化している。この場合、「信号Aの最新値がOFFであること」を条件として信号Bの値をOFFとする旨のソースコード、言い換えれば、前回値A’を参照しない条件コードが生成されている。   11b in FIG. 11 is an example in which a black circle symbol is arranged in the determination part, 11b-1 represents a sequence diagram in which the black circle symbol is arranged, and 11b-2 represents a source code generated based on 11b-1. ing. As shown in FIG. 11b-1, the signal A is always OFF, but a black circle symbol representing the determination portion is arranged at time “4”. Similarly, at time “4”, the signal B changes from ON to OFF. In this case, a source code for turning off the value of the signal B on condition that “the latest value of the signal A is OFF”, in other words, a condition code not referring to the previous value A ′ is generated.

このように、矢印記号を使用した場合には信号値の立ち上がりエッジや立ち下がりエッジに対応した条件コードを生成し、一方、黒丸記号を使用した場合には信号値のレベルのみに対応した条件コードを生成する。すなわち、信号値の時間変化のみからは特定しにくい判定条件を、それぞれ意味の異なる記号を配置することで特定することができる。なお、図11においては、判定部分に配置する記号として矢印記号および黒丸記号を例示したが、他のロジック記号(図3および図4参照)を配置することとしてもよい。   Thus, if an arrow symbol is used, a condition code corresponding to the rising edge or falling edge of the signal value is generated, while if a black circle symbol is used, a condition code corresponding only to the signal value level is generated. Is generated. That is, it is possible to specify a determination condition that is difficult to specify only from the time change of the signal value by arranging symbols having different meanings. In FIG. 11, the arrow symbol and the black circle symbol are illustrated as symbols to be arranged in the determination part, but other logic symbols (see FIGS. 3 and 4) may be arranged.

次に、判定記号を含んだシーケンス図からソースコードを生成する手順について図12を用いて説明する。図12は、判定記号を含んだシーケンス図からソースコードを生成する手順を示すフローチャートである。なお、同図においては、時間軸の時間が増加する向きにシーケンス図の内容を順次読み出していく場合について示している。   Next, a procedure for generating a source code from a sequence diagram including a determination symbol will be described with reference to FIG. FIG. 12 is a flowchart showing a procedure for generating a source code from a sequence diagram including a determination symbol. In the figure, the case where the contents of the sequence diagram are sequentially read in the direction in which the time on the time axis increases is shown.

まず、時間軸を1増分し(ステップS201)、該当する時間軸における信号値の読み出しをおこなう(ステップS202)。つづいて、該当する時間軸に判定記号があるか否かを判定し(ステップS203)、判定記号がみつかった場合には(ステップS203,Yes)、みつかった記号が黒丸記号であるか否かを判定する(ステップS204)。なお、ステップS203において判定記号がみつからなかった場合には(ステップS203,No)、ステップS201以降の処理を繰り返す。   First, the time axis is incremented by 1 (step S201), and the signal value on the corresponding time axis is read (step S202). Subsequently, it is determined whether or not there is a determination symbol on the corresponding time axis (step S203). If the determination symbol is found (step S203, Yes), whether or not the found symbol is a black circle symbol is determined. Determination is made (step S204). If no determination symbol is found in step S203 (No in step S203), the processing from step S201 is repeated.

そして、ステップS204において、判定記号が黒丸記号である場合には(ステップS204,Yes)、参照信号の現在値のみに基づいた参照信号側コード(図11の11b−2におけるif文のカッコ内コード)を生成する(ステップS205)。一方、判定記号が黒丸ではない場合(ステップS204,No)には、参照信号の現在値および直前値に基づいた参照信号側コード(図11の11a−2におけるif文のカッコ内コード)を生成する(ステップS206)。   In step S204, when the determination symbol is a black circle symbol (step S204, Yes), the reference signal side code based on only the current value of the reference signal (the code in the parenthesis of the if statement in 11b-2 in FIG. 11). ) Is generated (step S205). On the other hand, if the determination symbol is not a black circle (No in step S204), the reference signal side code (the code in the parenthesis of the if statement in 11a-2 in FIG. 11) based on the current value and the previous value of the reference signal is generated. (Step S206).

ステップS205またはステップS206につづいて、コード生成部3dは制御信号側コード(図11の11a−2あるいは11b−2における変数Bに関する処理コード)を生成する(ステップS207)。そして、全データが終了したか否かを判定し(ステップS208)、全データが終了した場合には(ステップS208,Yes)、処理を終了する。一方、全データが終了していない場合には(ステップS208,No)、ステップS201以降の処理を繰り返す。   Following step S205 or step S206, the code generation unit 3d generates a control signal side code (processing code related to the variable B in 11a-2 or 11b-2 in FIG. 11) (step S207). Then, it is determined whether or not all data has been completed (step S208). If all data has been completed (step S208, Yes), the process ends. On the other hand, when all the data has not been completed (No at Step S208), the processes after Step S201 are repeated.

なお、図12においては、判定部分に配置する記号として矢印記号および黒丸記号を例示したが、他のロジック記号(図3および図4参照)が配置される場合には、記号種別の判定処理(ステップS204)をロジック記号の種別に応じて追加すればよい。   In FIG. 12, an arrow symbol and a black circle symbol are illustrated as symbols to be arranged in the determination portion. However, when other logic symbols (see FIGS. 3 and 4) are arranged, a symbol type determination process ( Step S204) may be added according to the type of logic symbol.

ところで、図11においては判定部分をロジック記号によって指定した場合について示したが、他の手法によって判定部分を指定することも可能である。そこで、以下では、判定部分の指定バリエーションについて図13および図14を用いて説明することとする。   By the way, although the case where the determination part is designated by the logic symbol is shown in FIG. 11, the determination part can be designated by other methods. Therefore, hereinafter, the designated variation of the determination part will be described with reference to FIGS. 13 and 14.

図13は、エディタ側に判定部分を設定した場合の例を示す図である。ここで、エディタとは、図1に示したシーケンス図入力画面のことを指す。なお、図13の13aに示したシーケンス図およびソースコードは図11の11aと同一であり、同じく13bは図11の11bと同一である。   FIG. 13 is a diagram illustrating an example in which a determination part is set on the editor side. Here, the editor refers to the sequence diagram input screen shown in FIG. The sequence diagram and the source code shown in 13a of FIG. 13 are the same as 11a of FIG. 11, and 13b is the same as 11b of FIG.

図13の13a−1および13b−1に示したように、エディタの時間軸の所定区間をマウスでクリックするなどして指定すると、指定された区間(図13の場合は「4」)が判定部分であることがエディタによって認識される。そして、エディタからの情報を受けたシーケンス図作成支援部3aはシーケンス図の内容とともに、指定された区間をあらわす情報をシーケンス図情報2cとして記憶部2に登録する。   As shown in 13a-1 and 13b-1 in FIG. 13, when a predetermined section of the editor time axis is specified by clicking with the mouse, the specified section ("4" in FIG. 13) is determined. The editor recognizes that it is a part. Upon receiving information from the editor, the sequence diagram creation support unit 3a registers information representing the designated section in the storage unit 2 as sequence diagram information 2c together with the contents of the sequence diagram.

図14は、判定部分を信号線の属性変更によって指定した場合の例を示す図である。なお、図14の14aに示したシーケンス図およびソースコードは図11の11aと同一であり、同じく14bは図11の11bと同一である。   FIG. 14 is a diagram illustrating an example when the determination portion is designated by changing the attribute of the signal line. The sequence diagram and the source code shown in 14a of FIG. 14 are the same as 11a of FIG. 11, and 14b is the same as 11b of FIG.

図14の14a−1および14b−1に示したように、信号値をあらわす信号線の太さや色といった属性値を変更すると、属性値が異なる部分が判定部分であるとみなされる。このように、信号線の属性値変更によって判定部分を指定可能とすることによって、簡単な操作で判定部を指定できるのでシーケンス図作成効率を向上させることができる。   As shown in 14a-1 and 14b-1 in FIG. 14, when the attribute value such as the thickness or color of the signal line representing the signal value is changed, the part having the different attribute value is regarded as the determination part. As described above, by making it possible to specify the determination portion by changing the attribute value of the signal line, it is possible to specify the determination portion with a simple operation, so that sequence diagram creation efficiency can be improved.

ところで、図11〜図14では、参照信号(図11〜図14の信号A)の値に基づいた判定について説明したが、制御信号(図11〜図14の信号B)の値に基づいた判定をおこなうことも可能である。そこで、以下では、制御信号側に設定した判定部分の例について図15および図16を用いて説明することとする。   Incidentally, in FIGS. 11 to 14, the determination based on the value of the reference signal (signal A in FIGS. 11 to 14) has been described, but the determination based on the value of the control signal (signal B in FIGS. 11 to 14). It is also possible to perform. Therefore, hereinafter, an example of the determination portion set on the control signal side will be described with reference to FIGS. 15 and 16.

図15は、制御信号側に設定した判定部分の例を示す図である。なお、図15の15aでは制御信号の前回値を見る場合ついて、同じく15bでは制御信号の前回値をみない場合についてそれぞれ示している。   FIG. 15 is a diagram illustrating an example of a determination portion set on the control signal side. In FIG. 15, 15a shows the case where the previous value of the control signal is seen, and 15b shows the case where the previous value of the control signal is not seen.

図15の15a−1に示したように、時間「4」において、信号BがONからOFFとなっておりONからOFF向きに矢印記号が配置されている。この場合、「信号Bの前回値B’がONであること」を条件として信号Bの値をOFFとする旨のソースコードが生成される。一方、15b−1に示したように、矢印記号を配置しない場合には、信号Bの前回値B’とは関係なく信号Bの値をOFFとする旨のソースコードが生成される。   As indicated by 15a-1 in FIG. 15, at time “4”, the signal B is changed from ON to OFF, and an arrow symbol is arranged from ON to OFF. In this case, a source code for turning off the value of the signal B is generated on condition that “the previous value B ′ of the signal B is ON”. On the other hand, as shown in 15b-1, when an arrow symbol is not arranged, a source code for turning off the value of the signal B regardless of the previous value B 'of the signal B is generated.

次に、制御信号に係るコード生成処理手順について図16を用いて説明する。図16は、制御信号に係るコード生成処理手順を示すフローチャートである。なお、図16に示すフローチャートは、図12に示したステップS207を詳細化したものである。   Next, a code generation processing procedure related to the control signal will be described with reference to FIG. FIG. 16 is a flowchart illustrating a code generation processing procedure related to the control signal. Note that the flowchart shown in FIG. 16 is a detailed version of step S207 shown in FIG.

図16に示すように、コード生成部3dは制御信号(たとえば、図15の信号B)に矢印記号が付されているか否かを判定し(ステップS301)、矢印記号が付されている場合には(ステップS301,Yes)、前回値を参照して制御信号側コードを生成して(ステップS302)処理を終了する。一方、矢印記号が付されていない場合には(ステップS301,No)、前回値を参照することなく制御信号側コードを生成して(ステップS303)処理を終了する。   As shown in FIG. 16, the code generator 3d determines whether or not an arrow symbol is attached to the control signal (for example, signal B in FIG. 15) (step S301), and when the arrow symbol is attached. (Step S301, Yes), the control signal side code is generated with reference to the previous value (Step S302), and the process is terminated. On the other hand, when the arrow symbol is not attached (No at Step S301), the control signal side code is generated without referring to the previous value (Step S303), and the process is terminated.

次に、制御信号の変化にディレイがある場合について図17を用いて説明する。図17は、制御信号の変化にディレイがある場合の例を示す図である。なお、「ディレイ」とは参照信号の変化から所定時間が経過した後に制御信号を変化させることを指す。また、図17の17aにはディレイが指定されたシーケンス図を、同じく17bにはディレイ部分を、同じく17cにはディレイを表現したソースコード例その1を、同じく17dにはディレイを表現したソースコード例その2をそれぞれ示している。   Next, the case where there is a delay in the change of the control signal will be described with reference to FIG. FIG. 17 is a diagram illustrating an example when there is a delay in the change of the control signal. Note that “delay” refers to changing the control signal after a predetermined time has elapsed from the change of the reference signal. 17a is a sequence diagram in which a delay is designated, 17b is a delay portion, 17c is a source code example 1 representing a delay, and 17d is a source code representing a delay. Examples 2 are shown respectively.

図17の17bに示したように、シーケンス図上では参照信号である信号Aが時間「4」で変化してから2単位時間が経過した時間「6」において、制御信号である信号Bを変化させる旨の指定がなされている。   As shown in 17b of FIG. 17, on the sequence diagram, the signal B as the control signal is changed at the time “6” when two unit times have elapsed after the signal A as the reference signal has changed at the time “4”. It is specified to do so.

このようなディレイを表現するソースコードは種々存在するが、本実施例では特に2種類のソースコードについて例示している。たとえば、17cに示すように、信号Aに基づいた判定コードにつづいて指定時間だけウェイトするdelay()関数についてのコードを生成する(たとえば、この関数の引数にディレイ時間「2」を指定する)。そして、delay()関数につづいて信号BをOFFにする旨のコードを生成する。   There are various source codes that express such a delay, but in this embodiment, two types of source codes are particularly illustrated. For example, as shown in 17c, a code for the delay () function that waits for a specified time following the determination code based on the signal A is generated (for example, a delay time “2” is specified as an argument of this function). . Then, a code for turning off the signal B is generated following the delay () function.

また、17dに示すように、信号Aに基づいた判定コードとは別に、単位時間(ここでは、単位時間を1msとする)ごとに実行されるtimerproc_1ms()関数を生成し、このtimerproc_1ms()関数中で、カウンタをカウントダウンする関数(count_down())をコールすることとし、カウンタが0となった場合に信号BをOFFからONへと変化にする旨のコードを生成する。   Further, as shown in 17d, apart from the determination code based on the signal A, a timerproc_1ms () function that is executed every unit time (here, the unit time is 1ms) is generated, and this timerproc_1ms () function is generated. Among them, a function (count_down ()) for counting down the counter is called, and a code for changing the signal B from OFF to ON when the counter becomes 0 is generated.

次に、ディレイを含んだコード生成処理手順について図18を用いて説明する。図18は、ディレイを含んだコード生成処理手順を示すフローチャートである。同図に示すように、コード生成部3dは参照信号側の判定時刻を取得するとともに(ステップS401)、制御信号側の変化時刻を取得する(ステップS402)。   Next, a code generation processing procedure including a delay will be described with reference to FIG. FIG. 18 is a flowchart showing a code generation processing procedure including a delay. As shown in the figure, the code generation unit 3d acquires the determination time on the reference signal side (step S401) and also acquires the change time on the control signal side (step S402).

そして、判定時刻と変化時刻に差がある場合、すなわち、ディレイがある場合には(ステップS403,Yes)、ディレイ処理の埋め込みをおこなったうえで(ステップS404)処理を終了する。一方、ディレイがない場合には(ステップS403,No)、ディレイ処理の埋め込みをおこなうことなく処理を終了する。   If there is a difference between the determination time and the change time, that is, if there is a delay (step S403, Yes), the delay process is embedded (step S404) and the process ends. On the other hand, if there is no delay (step S403, No), the process is terminated without embedding the delay process.

次に、シーケンス図における判定部分にロジックを直接指定する場合について図19を用いて説明する。図19は、判定部分にロジックを指定した場合の例を示す図である。なお、図19の19aではロジックを直接入力する場合におけるシーケンス図およびこのシーケンス図に基づいて生成されるソースコードを、同じく19bおよび19cでは直接入力されたロジックを、19dでは19bに対応して生成されるソースコードを、19eでは19cに対応して生成されるソースコードをそれぞれ示している。   Next, a case where logic is directly specified in the determination part in the sequence diagram will be described with reference to FIG. FIG. 19 is a diagram illustrating an example when logic is specified in the determination part. In 19a of FIG. 19, a sequence diagram when logic is directly input and a source code generated based on this sequence diagram are generated correspondingly to 19b and 19c, and directly input logic is generated corresponding to 19b in 19d. The source code to be generated is shown in 19e, and the source code generated corresponding to 19c is shown.

このように、シーケンス図における判定部分にロジックを直接入力することを許容することで、制御プログラム開発者の嗜好やレベルに柔軟に対応することが可能となり制御プログラム生成作業の効率化を図ることができる。また、直接入力したロジックをシーケンス図上に表示することで制御プログラム開発者はタイムシーケンス図を見るのみでタイムシーケンス図にあらわされているロジックを理解することができる。   In this way, by allowing logic to be directly input to the determination part in the sequence diagram, it is possible to flexibly cope with the preference and level of the control program developer, and to improve the efficiency of control program generation work. it can. Further, by displaying the directly input logic on the sequence diagram, the control program developer can understand the logic shown in the time sequence diagram only by looking at the time sequence diagram.

次に、複数の外部定義情報2dの使い分けについて図20および図21を用いて説明する。図20は、複数の外部定義情報2dを用意した場合の例を示す図である。なお、同図の20aには外部定義情報とリンクさせた記号(α〜ε)を配置したシーケンス図を、同じく20bには外部定義情報#1を、同じく20cには20bとは内容の異なる外部定義情報である外部定義情報#2をそれぞれ示している。また、δおよびεを付した折れ矢印は、時間δごとに信号値がεずつ減少する旨を指定するための記号である。   Next, how to use a plurality of external definition information 2d will be described with reference to FIGS. 20 and 21. FIG. FIG. 20 is a diagram illustrating an example when a plurality of external definition information 2d is prepared. In the figure, 20a is a sequence diagram in which symbols (α to ε) linked to external definition information are arranged, 20b is external definition information # 1, and 20c is an external whose contents are different from 20b. External definition information # 2 which is definition information is shown. Also, the broken arrows with δ and ε are symbols for designating that the signal value decreases by ε for each time δ.

このように、一つのシーケンス図を作図し、作図したシーケンス図をそれぞれ内容の異なる外部定義情報と合成することによって、異なるソースコードを生成することができる。言い換えると、特定の変化パターンを有する部分図を作成すれば、この部分図を他のシーケンス図に適用することができる。したがって、シーケンス図の再利用や流用を容易におこなうことが可能となる。   In this manner, different source codes can be generated by drawing one sequence diagram and combining the drawn sequence diagrams with external definition information having different contents. In other words, if a partial diagram having a specific change pattern is created, this partial diagram can be applied to other sequence diagrams. Therefore, it is possible to easily reuse and divert the sequence diagram.

次に、図20で示した複数の外部定義情報を切り替える処理について図21を用いて説明する。図21は、外部定義情報2dの切替処理の処理手順を示すフローチャートである。同図に示すように、利用者がシーケンス図作成支援部3aおよび外部定義情報操作部3fを介することによってシーケンス図および外部定義情報2dを作成すると(ステップS501)、コード生成部3dはシーケンス図からロジックファイルを生成する(ステップS502)。   Next, processing for switching a plurality of external definition information shown in FIG. 20 will be described with reference to FIG. FIG. 21 is a flowchart showing a processing procedure for switching the external definition information 2d. As shown in the figure, when the user creates the sequence diagram and the external definition information 2d through the sequence diagram creation support unit 3a and the external definition information operation unit 3f (step S501), the code generation unit 3d A logic file is generated (step S502).

また、コード生成部3dは外部定義情報2dからラベル定義ファイルを生成し(ステップS503)、外部定義情報2dが複数個登録されているか否かを判定する(ステップS504)。そして、外部定義情報2dが複数個登録されている場合には(ステップS504,Yes)、利用者に対して使い分けの指定を要求し(ステップS505)、受け付けた指定内容に基づいた使い分けロジックをロジックファイルに追加して(ステップS506)処理を終了する。   The code generation unit 3d generates a label definition file from the external definition information 2d (step S503), and determines whether a plurality of external definition information 2d is registered (step S504). If a plurality of external definition information 2d are registered (step S504, Yes), the user is requested to specify how to properly use (step S505), and the logic for properly using the logic based on the received specified content is logic. The file is added (step S506), and the process is terminated.

一方、ステップS504において外部定義情報が単数であるか、あるいは、存在しないと判定された場合には(ステップS504,No)、ロジックファイルにラベル定義ファイルを反映して(ステップS507)処理を終了する。   On the other hand, if it is determined in step S504 that the external definition information is singular or does not exist (No in step S504), the label definition file is reflected in the logic file (step S507) and the process is terminated. .

ところで、図20および図21では複数の外部定義情報2dの使い分けについて説明したが、見かけが異なるシーケンス図の差異を外部定義情報2dで吸収することによって共通コードを抽出するといった用途にもこの外部定義情報2dを用いることが可能である。そこで、以下では、シーケンス図の差異を外部定義情報2dで吸収する場合について図22および図23を用いて説明することとする。   20 and 21 explain how to use a plurality of external definition information 2d. However, this external definition is also used for the purpose of extracting a common code by absorbing the difference in the sequence diagram having a different appearance with the external definition information 2d. Information 2d can be used. Therefore, hereinafter, the case where the difference in the sequence diagram is absorbed by the external definition information 2d will be described with reference to FIGS.

図22は、シーケンス図の差異を外部定義情報2dで吸収する例を示す図である。同図の22aおよび22bに示すように、各シーケンス図にあらわされた信号値変化の様子は異なっており、信号についても一方が信号Aであって他方が信号Bである点で異なっている。しかしながら、このように一見異なるシーケンス図であっても、その差異点を外部定義情報2dで吸収することとすれば共通コードを抽出することができる。   FIG. 22 is a diagram illustrating an example in which the difference in the sequence diagram is absorbed by the external definition information 2d. As shown by 22a and 22b in the figure, the signal value changes shown in the sequence diagrams are different, and the signals are different in that one is the signal A and the other is the signal B. However, even if the sequence diagrams look different in this way, the common code can be extracted if the difference is absorbed by the external definition information 2d.

たとえば、外部定義情報#1ではシーケンス図に含まれる信号線を信号Aについての信号線であると定義している。一方、外部定義情報#2では信号Bについての信号線であると定義している。また、外部定義情報#1では折れ矢印に付されたεの値を0.6と定義しているが、外部定義情報#2ではεの値を−0.2と定義している。このように、外部定義情報を用いることによってシーケンス図の差異点を吸収できる場合には、各シーケンス図に対応するロジックを共通化することができる。   For example, in the external definition information # 1, the signal line included in the sequence diagram is defined as the signal line for the signal A. On the other hand, the external definition information # 2 defines the signal line for the signal B. In the external definition information # 1, the value of ε attached to the broken arrow is defined as 0.6, but in the external definition information # 2, the value of ε is defined as −0.2. As described above, when the difference between the sequence diagrams can be absorbed by using the external definition information, the logic corresponding to each sequence diagram can be shared.

次に、シーケンス図の差異を外部定義情報2dで吸収する際の処理手順について図23を用いて説明する。図23は、シーケンス図の差異を外部定義情報2dで吸収する際の処理手順を示すフローチャートである。   Next, a processing procedure when absorbing the difference in the sequence diagram with the external definition information 2d will be described with reference to FIG. FIG. 23 is a flowchart showing a processing procedure when the difference in the sequence diagram is absorbed by the external definition information 2d.

コード生成部3dは、シーケンス図からロジックファイル生成し(ステップS601)、共通ロジックがあるか否かを判定する(ステップS602)。そして、共通ロジックがある場合には(ステップS602,Yes)、共通ロジックを抽出したうえで(ステップS603)、シーケンス図間の差分をそれぞれのシーケンス図に対応した外部定義情報2dへ出力して(ステップS604)処理を終了する。なお、共通ロジックがない場合には(ステップS602,No)、ステップS603以降の処理をおこなうことなく処理を終了する。   The code generation unit 3d generates a logic file from the sequence diagram (step S601), and determines whether there is common logic (step S602). If there is a common logic (step S602, Yes), after extracting the common logic (step S603), the difference between the sequence diagrams is output to the external definition information 2d corresponding to each sequence diagram ( Step S604) The process ends. If there is no common logic (step S602, No), the process is terminated without performing the processes after step S603.

次に、シーケンス図作成支援部3aがおこなう利用者入力の補完機能について図24を用いて説明する。図24は、利用者入力の補完機能の例を示す図である。ここで、補完機能とは、利用者による入力処理を受け付けた場合に、受け付けた入力処理から類推される信号線や他の記号の入力を自動的におこなう機能のことを指す。   Next, a user input complementing function performed by the sequence diagram creation support unit 3a will be described with reference to FIG. FIG. 24 is a diagram illustrating an example of a supplement function for user input. Here, the complementary function refers to a function for automatically inputting a signal line or other symbols inferred from the received input process when an input process by the user is received.

たとえば、図24の24aに示すように、利用者が時間「4」において信号Aが変化する旨をあらわす信号線をONからOFFの向きに入力(破線の矢印の方向)し、また、時間「6」において信号線をOFFからONの向きに入力(破線の矢印の方向)したとする。この場合、他の時間帯においては信号線の値が変わらないものと類推できるのでかかる補完機能は24bに示す横線を自動的に描画することで信号線を完成させる。   For example, as shown at 24a in FIG. 24, the user inputs a signal line indicating that the signal A changes at time “4” in the direction from ON to OFF (in the direction of the dashed arrow), and the time “ It is assumed that the signal line is input in the direction from OFF to ON in “6” (the direction of the broken arrow). In this case, since it can be inferred that the value of the signal line does not change in other time zones, this complementary function automatically draws the horizontal line shown in 24b to complete the signal line.

なお、補完機能が自動描画した部分(補完部分)は、利用者が入力した部分と区別して内部的に保管することとしたので、利用者の意図を忠実に反映したソースコードを生成することができる。たとえば、補完部分をソースコード生成から除外すると指定した場合には(図24の24c参照)、時間「4」で信号AがOFFとなり、時間「6」で信号AがONとなる旨のソースコードが生成される。一方、補完部分をソースコード生成から除外しないと指定した場合には、時間「0〜4」では信号Aが常にONであり、時間「4〜6」では常にOFFであり、時間「6」以降は常にONである旨のソースコードが生成される。   The part automatically drawn by the completion function (complement part) is stored separately from the part entered by the user, so it is possible to generate source code that faithfully reflects the user's intention. it can. For example, when it is specified that the complementary part is excluded from the source code generation (see 24c in FIG. 24), the source code indicating that the signal A is OFF at time “4” and the signal A is ON at time “6”. Is generated. On the other hand, if it is specified that the complementary part is not excluded from the source code generation, the signal A is always ON at the time “0 to 4”, is always OFF at the time “4 to 6”, and after the time “6”. A source code indicating that is always ON is generated.

次に、コード生成部3dがプログラミングルール情報に基づいたソースコードを生成する場合について図25および図26を用いて説明する。図25は、プログラミングルール情報の適用例を示す図である。なお、かかるプログラミングルール情報は、外部定義情報2dや共通コード情報2eに含めることとしてもよいし、外部定義情報2dや共通コード情報2eとは別の情報として記憶部2に登録しておくこととしてもよい。   Next, a case where the code generation unit 3d generates source code based on the programming rule information will be described with reference to FIGS. FIG. 25 is a diagram illustrating an application example of programming rule information. The programming rule information may be included in the external definition information 2d and the common code information 2e, or may be registered in the storage unit 2 as information different from the external definition information 2d and the common code information 2e. Also good.

図25の25aはコード生成部3dがプログラミングルールを適用することなく生成したソースコードの例であり、同じく25cは25bに示したプログラミングルール(ルール#1)を適用して生成したソースコードの例である。   25a in FIG. 25 is an example of source code generated by the code generation unit 3d without applying the programming rule, and 25c is an example of source code generated by applying the programming rule (rule # 1) shown in 25b. It is.

図25の25bに示したように、ルール#1には、優先度の高い外部モジュールから参照される外部変数は、いったんローカル変数にコピーしたうえで演算処理をおこない、演算結果を外部変数に設定する旨が指定されている。なお、図25の25bでは説明のためにルール#1を文章で示したが、同様の内容をあらわす記号や英数字などの組合せでルール#1を記述することとしてもよい。   As shown in 25b of FIG. 25, in rule # 1, an external variable that is referenced from an external module with a high priority is copied to a local variable and then subjected to arithmetic processing, and the arithmetic result is set to the external variable. Is specified. In FIG. 25B, rule # 1 is shown as text for explanation, but rule # 1 may be described by a combination of symbols, alphanumeric characters, and the like representing the same contents.

また、図25の25aに示したように、ルール#1を適用する前のソースコードでは、外部変数aをインクリメントしたうえで、aの値が所定の上限値(A_MAX)を超えないよう上限制限をする旨が記述されている。しかし、変数aは外部変数であるので、func1()の「a+=1;」のコードが実行された直後に、他の関数などがaの値を参照すると、aの値が「A_MAX+1」となってしまう(すなわち、上限制限する前のaの値を参照してしまう)事態が発生する。   Also, as indicated by 25a in FIG. 25, in the source code before applying rule # 1, the upper limit is set so that the value of a does not exceed a predetermined upper limit value (A_MAX) after incrementing the external variable a. Is described. However, since the variable a is an external variable, immediately after the code “a + = 1;” of func1 () is executed, if another function or the like refers to the value of a, the value of a becomes “A_MAX + 1”. (That is, the value of a before the upper limit restriction is referred to) occurs.

一方、ルール#1適用後のソースコードでは、外部変数aの値をローカル変数a_localに代入したうえでa_localに対して25aと同様の演算処理をおこない、演算結果を外部変数aに代入することとしている。したがって、上限制限する前のaの値を外部のモジュールが参照することを防止することができる。   On the other hand, in the source code after applying rule # 1, the value of the external variable a is assigned to the local variable a_local, the same arithmetic processing as 25a is performed on a_local, and the result of the operation is assigned to the external variable a. Yes. Therefore, it is possible to prevent an external module from referring to the value a before the upper limit is limited.

なお、図25に示した例はプログラミングルールの一例にすぎない。他の例としては、たとえば、同時に使用されることがない変数については同一のメモリ領域を指す変数を使用する旨をプログラミングルールとして登録することとすれば、制御プログラムが使用するメモリ領域を効率的に削減することができる。   Note that the example shown in FIG. 25 is merely an example of a programming rule. As another example, for example, if a variable that is not used at the same time is registered as a programming rule that a variable indicating the same memory area is used, the memory area used by the control program is efficiently used. Can be reduced.

次に、プログラミングルール情報適用処理の処理手順について図26を用いて説明する。図26は、プログラミングルール情報適用処理の処理手順を示すフローチャートである。同図に示すように、コード生成部3dはいったん生成したロジックを読み込み(ステップS701)、モジュール間の参照/被参照関係を検査することによってモジュールごとの優先度を検出する(ステップS702)。   Next, the processing procedure of the programming rule information application processing will be described with reference to FIG. FIG. 26 is a flowchart showing the processing procedure of the programming rule information application processing. As shown in the figure, the code generation unit 3d reads the logic once generated (step S701), and detects the priority for each module by checking the reference / reference relationship between modules (step S702).

つづいて、プログラミングルール情報からルールを読み込み(ステップS703)、優先度が低いモジュールであるか否かを判定する(ステップS704)。そして、優先度が低いモジュールである場合には(ステップS704,Yes)、ステップS703で読み込んだルールをステップS701で読み込んだロジックに適用し(ステップS705)、ロジック修正を実行して(ステップS706)処理を終了する。一方、優先度が高いモジュールである場合には(ステップS704,No)、ステップS705以降の処理をおこなうことなく処理を終了する。   Subsequently, a rule is read from the programming rule information (step S703), and it is determined whether or not the module has a low priority (step S704). If the module has a low priority (step S704, Yes), the rule read in step S703 is applied to the logic read in step S701 (step S705), and logic correction is executed (step S706). The process ends. On the other hand, if the module has a high priority (step S704, No), the process is terminated without performing the processes after step S705.

次に、共通コード抽出部3eがおこなう共通モジュールの抽出処理について図27および図28を用いて説明する。図27および図28は、それぞれ、共通モジュール抽出例1および2を示す図である。なお、図27では、所定の作用関係がある複数の信号についての信号値制御処理を共通モジュールとして抽出することによって利用者のシーケンス図入力作業負担を軽減する例について、図28では、シーケンス図の所定部分の信号値制御処理を共通モジュールとして抽出することによって生成コードの可読性を高める例についてそれぞれ示している。   Next, common module extraction processing performed by the common code extraction unit 3e will be described with reference to FIGS. 27 and 28. FIG. 27 and 28 are diagrams showing common module extraction examples 1 and 2, respectively. In FIG. 27, an example of reducing a user's sequence diagram input work burden by extracting signal value control processing for a plurality of signals having a predetermined operational relationship as a common module, and FIG. 28 is a sequence diagram of FIG. Each example shows that the readability of the generated code is improved by extracting the signal value control processing of a predetermined portion as a common module.

まず、図27について説明する。図27の27aに示すように、参照信号である信号Aが0である場合には制御信号である信号Bおよび信号CがともにOFFであり、信号Aが1である場合には信号BがONで信号CがOFFであり、信号Aが2である場合には信号Bおよび信号CがともにONであるものとする。このように、参照信号の変化に伴って変化する制御信号が特定されている場合に、各シーケンス図において信号Bおよび信号Cについての記載をおこなうことは上長である。   First, FIG. 27 will be described. As shown by 27a in FIG. 27, when the signal A as the reference signal is 0, both the signal B and the signal C as the control signals are OFF, and when the signal A is 1, the signal B is ON. When the signal C is OFF and the signal A is 2, it is assumed that both the signal B and the signal C are ON. As described above, when a control signal that changes in accordance with a change in the reference signal is specified, the description about the signal B and the signal C in each sequence diagram is superior.

そこで、27aに示した各信号間の関係を共通モジュールA(図27の27b参照)として抽出する。そして、図27の27cに示したように、利用者が信号Aの作図作業をおこなった場合に、信号Bおよび信号Cの変更指示を含んだ共通モジュールAとリンクすることとする。このようにすることで、利用者の入力操作を効果的に軽減することができる。   Therefore, the relationship between the signals shown in 27a is extracted as a common module A (see 27b in FIG. 27). Then, as shown in 27c of FIG. 27, when the user performs the drawing operation of the signal A, the user is linked to the common module A including the instruction to change the signal B and the signal C. By doing in this way, a user's input operation can be reduced effectively.

次に、図28について説明する。図28の28aに示したシーケンス図と、図28の28bに示したシーケンス図では、信号CがOFFからONに変位する点が共通している。そこで、信号CをOFFからONへと変位させる変位処理や、この変位処理に付随する代入処理などを共通モジュール(図28の「c_on()」)として抽出する。そして、図28の28aおよび28bに対応するコードを生成する際には、この共通モジュールを埋め込んだロジックを生成する(図28の28dおよび28e参照)。   Next, FIG. 28 will be described. The sequence diagram shown by 28a in FIG. 28 and the sequence diagram shown by 28b in FIG. 28 have the common point that the signal C is displaced from OFF to ON. Therefore, a displacement process for displacing the signal C from OFF to ON, a substitution process accompanying the displacement process, and the like are extracted as a common module (“c_on ()” in FIG. 28). Then, when generating codes corresponding to 28a and 28b in FIG. 28, logic in which this common module is embedded is generated (see 28d and 28e in FIG. 28).

次に、上記した「マクロ化」の例について図29を用いて説明する。図29は、描画部品マクロ化の例を示す図である。なお、図29では、各例の番号をあらわす「No」と、マクロ化前の描画部品2aの組合せをあらわす「マクロ化前」と、マクロ化後のあらたな描画部品2aをあらわす「マクロ化後」とを示している。   Next, an example of the above “macro-ization” will be described with reference to FIG. FIG. 29 is a diagram illustrating an example of rendering component macro. In FIG. 29, “No” representing the number of each example, “Pre-macro” representing the combination of the drawing parts 2a before macroization, and “Post-macroization” representing the new drawing parts 2a after macroization. ".

図29のNo1では、図3および図4に示した描画部品2aのうち103g、103jおよび104bを組み合わせた部分を、二重丸と矢印とからなるあらたな描画部品2aとして定義した例を示している。このように、複数の描画部品2aの組合せを1つの描画部品2aと置き換えることで、シーケンス図作成に伴う描画操作を省略することができるのでシーケンス図の作成を効率良くおこなうことが可能となる。   In No. 1 of FIG. 29, an example is shown in which a part obtained by combining 103 g, 103 j, and 104 b in the drawing part 2 a shown in FIGS. 3 and 4 is defined as a new drawing part 2 a composed of a double circle and an arrow. Yes. Thus, by replacing the combination of a plurality of drawing components 2a with one drawing component 2a, drawing operations associated with sequence diagram creation can be omitted, so that sequence diagrams can be created efficiently.

なお、図29のNo2およびNo3に示した例においても、No1に示した例と同様に、描画操作を省略することができる。特に、シーケンス図において何度も用いられるパターンをあらたな描画部品2aとして登録することでシーケンス図作成効率を向上させることができるとともに、複数の利用者が分担して作業を進める場合などに均質なシーケンス図を作成することが可能となる。   In the example shown in No. 2 and No. 3 in FIG. 29, the drawing operation can be omitted as in the example shown in No. 1. In particular, it is possible to improve the efficiency of sequence diagram creation by registering a pattern used many times in a sequence diagram as a new drawing component 2a, and it is uniform when a plurality of users share the work and proceed. A sequence diagram can be created.

次に、上記した「パターン抽出」の例について図30を用いて説明する。図30は、シーケンス図におけるパターン抽出の例を示す図である。共通パターン情報2bは、信号値と対応する変数名をそのまま含むよう抽出することもできるし、変数名を含まない形の情報として抽出することもできる。   Next, an example of the above “pattern extraction” will be described with reference to FIG. FIG. 30 is a diagram illustrating an example of pattern extraction in the sequence diagram. The common pattern information 2b can be extracted so as to include the variable name corresponding to the signal value as it is, or can be extracted as information that does not include the variable name.

図30に示した130aは抽出元となるシーケンス図であり、130aに示した点線の矩形部分が抽出対象となる部分である。なお、この抽出対象部分は、利用者に指定させることとしてもよいし、パターン抽出部3bがパターンマッチングなどの技法を用いて自動抽出することとしてもよい。   30a shown in FIG. 30 is a sequence diagram as an extraction source, and a dotted-line rectangular portion shown in 130a is a portion to be extracted. The extraction target portion may be specified by the user, or may be automatically extracted by the pattern extraction unit 3b using a technique such as pattern matching.

また、図30に示した130bは信号値と対応する変数名をそのまま含むよう抽出した場合の例であり、同じく130cは信号値と対応する変数名を含まない形の情報として抽出した場合の例である。   In addition, 130b shown in FIG. 30 is an example in the case where the variable name corresponding to the signal value is extracted as it is, and similarly 130c is an example in which the information is extracted as information not including the variable name corresponding to the signal value. It is.

次に、図2に示したシーケンス図情報2cと外部定義情報2dとの合成例について図31を用いて説明する。図31は、シーケンス図情報2cと外部定義情報2dとの合成例を示す図である。なお、同図における131aがシーケンス図情報2cに対応するシーケンス図であり、131bおよび131cがそれぞれ内容の異なる外部定義情報2dであり、131dおよび131eが131bおよび131cにそれぞれ対応して生成されるソースコードである。   Next, a synthesis example of the sequence diagram information 2c and the external definition information 2d shown in FIG. 2 will be described with reference to FIG. FIG. 31 is a diagram showing a synthesis example of the sequence diagram information 2c and the external definition information 2d. In the figure, 131a is a sequence diagram corresponding to sequence diagram information 2c, 131b and 131c are external definition information 2d having different contents, and 131d and 131e are generated corresponding to 131b and 131c, respectively. Code.

図31の131aのように、信号A、信号Bおよび信号Cがタイミングαにおいて変化している旨が記述されている場合に、各信号の作用関係をあらわすマーク(記号)が省略されていると、どの信号の変化に基づいてどの信号を変化させるのかが一意に定まらない。   When it is described that the signal A, the signal B, and the signal C are changed at the timing α as indicated by 131a in FIG. 31, a mark (symbol) that represents the operational relationship of each signal is omitted. , Which signal is changed based on which signal change cannot be uniquely determined.

そこで、外部定義情報A131bに、信号属性として信号Aが作用元となる参照信号、信号Bおよび信号Cが作用先となる制御信号、さらに、信号Cが信号Bの変化に依存する旨の情報を含めることとする。この外部定義情報A131bとシーケンス図131aとを合成すると、信号AがOFFからONへと変化した場合に、信号CをONとするとともに信号CがOFFからONへと変化したことをトリガーとして信号BをONとする旨のソースコードA131dが生成される。   Therefore, in the external definition information A131b, as a signal attribute, a reference signal from which the signal A acts is a signal, a control signal from which the signal B and the signal C are to act, and information that the signal C depends on a change in the signal B. Include. When the external definition information A131b and the sequence diagram 131a are combined, when the signal A changes from OFF to ON, the signal C is turned ON and the signal B is triggered by the change of the signal C from OFF to ON. Is generated as a source code A131d to turn ON.

一方、外部定義情報B131cに、信号属性として信号Aが作用元となる参照信号、信号Bおよび信号Cが作用先となる制御信号、さらに、信号Bと信号Cとが対等な信号である旨の情報を含めることとする。この外部定義情報131cとシーケンス図131aとを合成すると、信号AがOFFからONへと変化した場合に、信号Bおよび信号CをONとする旨のソースコードB131eが生成される。   On the other hand, in the external definition information B131c, as a signal attribute, the signal A is the reference signal that is the source of the action, the signal B and the signal C are the control signals that are the destination of the action, and the signal B and the signal C are equal signals. Information shall be included. When the external definition information 131c and the sequence diagram 131a are combined, when the signal A changes from OFF to ON, the source code B 131e for turning on the signal B and the signal C is generated.

このように、シーケンス図が同一の場合であっても、外部定義情報2dを変更することで異なるソースコードを生成することが可能となる。また、外部定義情報2dに各種言語に特有のルールを含めることとすれば、同一のシーケンス図から異なるプログラミング言語によるソースコードを生成することができる。また、図31に示したように、外部定義情報2dに描画部品2aに対応する情報を含ませることとすれば、シーケンス図の描画操作を簡略化できるのでシーケンス図作成作業の効率化を図ることができる。   As described above, even if the sequence diagrams are the same, different source codes can be generated by changing the external definition information 2d. If rules specific to various languages are included in the external definition information 2d, source codes in different programming languages can be generated from the same sequence diagram. Further, as shown in FIG. 31, if the external definition information 2d includes information corresponding to the drawing component 2a, the drawing operation of the sequence diagram can be simplified, so that the efficiency of the sequence diagram creation work is improved. Can do.

次に、図2に示したシーケンス図作成支援部3aがおこなうシーケンス図の分割処理について図32を用いて説明する。図32は、シーケンス図の分割例を示す図である。同図に示すように、シーケンス図入力画面に表示されているシーケンス図132aを分割したい場合には、描画部品2aとしてシーケンス図の境界をあらわす線(図32の132b参照)や、矩形などの閉じた図形(図32の132c)を用意しておくこととする。そして、境界線によってシーケンス図132aを分割すると、同図の矢印Aに示すように、分割されたシーケンス図1およびシーケンス図2が生成される。また、境界矩形によってシーケンス132bを指定すると、同図の矢印Bに示すように指定された範囲のシーケンス図3が生成される。   Next, the sequence diagram dividing process performed by the sequence diagram creation support unit 3a shown in FIG. 2 will be described with reference to FIG. FIG. 32 is a diagram illustrating a division example of the sequence diagram. As shown in the figure, when it is desired to divide the sequence diagram 132a displayed on the sequence diagram input screen, a line indicating the boundary of the sequence diagram as the drawing component 2a (see 132b in FIG. 32), a rectangle or the like is closed. A prepared figure (132c in FIG. 32) is prepared. Then, when the sequence diagram 132a is divided by the boundary line, the divided sequence diagrams 1 and 2 are generated as indicated by an arrow A in FIG. When the sequence 132b is designated by the boundary rectangle, the sequence diagram 3 in the designated range is generated as indicated by the arrow B in the figure.

このように、シーケンス図作成支援部3aがシーケンス図の分割処理をおこなうと、このシーケンス図作成支援部3aによって記憶部2に登録されるシーケンス図情報2cを適宜分割することが可能となる。したがって、コード生成部3dによって生成されるソースコードの生成単位を最適化したり、ソースコードの再利用性を向上させたりすることが可能となる。   As described above, when the sequence diagram creation support unit 3a performs the sequence diagram dividing process, the sequence diagram creation support unit 3a can appropriately divide the sequence diagram information 2c registered in the storage unit 2. Therefore, it is possible to optimize the generation unit of the source code generated by the code generation unit 3d and improve the reusability of the source code.

次に、図2に示したシーケンス図作成支援部3aがおこなうシーケンス図の結合処理について図33を用いて説明する。図33は、シーケンス図の結合例を示す図である。同図に示すように、シーケンス図が複数個ある場合に、複数個のシーケンス図および各シーケンス図の関係をあらわす関係情報(図33の133a参照)を受け取ると、シーケンス図作成支援部3aはかかる関係情報の記述内容に基づいて各シーケンス図を結合する。   Next, a sequence diagram combining process performed by the sequence diagram creation support unit 3a shown in FIG. 2 will be described with reference to FIG. FIG. 33 is a diagram illustrating a combination example of sequence diagrams. As shown in the figure, when there are a plurality of sequence diagrams, the sequence diagram creation support unit 3a receives the relationship information (see 133a in FIG. 33) indicating the relationship between the plurality of sequence diagrams and each sequence diagram. The sequence diagrams are combined based on the description contents of the relationship information.

たとえば、かかる関係情報にシーケンス図1の右側にシーケンス図2が位置し、シーケンス図1の下側にシーケンス図3が位置し、さらに、シーケンス図3の右側にシーケンス図4が位置する旨が記述されていた場合には、図33の矢印Aに示すシーケンス図(図33の133b参照)が生成される。また、関係情報にシーケンス図1〜シーケンス図4が左から右への順序で並べられる旨が記述されていた場合には、図33の矢印Bに示すシーケンス図(図33の133c参照)が生成される。   For example, the relationship information describes that sequence diagram 2 is located on the right side of sequence diagram 1, sequence diagram 3 is located on the lower side of sequence diagram 1, and sequence diagram 4 is located on the right side of sequence diagram 3. If so, a sequence diagram (see 133b in FIG. 33) indicated by an arrow A in FIG. 33 is generated. In addition, when it is described in the relationship information that the sequence diagrams 1 to 4 are arranged in the order from left to right, a sequence diagram (see 133c in FIG. 33) shown by an arrow B in FIG. 33 is generated. Is done.

このように、シーケンス図作成支援部3aがシーケンス図の結合処理をおこなうと、このシーケンス図作成支援部3aによって記憶部2に登録されるシーケンス図情報2cを適宜結合することが可能となる。したがって、巨大なシーケンス図や、複数の利用者が分担して作成したシーケンス図を一つにまとめたうえで、ソースコードの生成をおこなうことができる。   As described above, when the sequence diagram creation support unit 3a performs the sequence diagram combining process, the sequence diagram creation support unit 3a can appropriately combine the sequence diagram information 2c registered in the storage unit 2. Therefore, it is possible to generate a source code after collecting a huge sequence diagram and a sequence diagram created by sharing a plurality of users into one.

次に、図2に示した制御プログラム生成装置1のネットワーク構成例について図34を用いて説明する。図34は、制御プログラム生成装置1のネットワーク構成例を示す図である。なお、同図におけるネットワーク構成例は、複数の利用者(プログラム開発者)によって分散開発をおこなう場合を示したものである。また、同図に示す「制御プログラム生成プログラム」は図2の制御部3に対応し、「記憶部」は図2の記憶部2に対応している。   Next, a network configuration example of the control program generation device 1 shown in FIG. 2 will be described with reference to FIG. FIG. 34 is a diagram illustrating a network configuration example of the control program generation device 1. Note that the network configuration example in the figure shows a case where distributed development is performed by a plurality of users (program developers). Further, the “control program generating program” shown in FIG. 2 corresponds to the control unit 3 in FIG. 2, and the “storage unit” corresponds to the storage unit 2 in FIG.

図34に示すように、「制御プログラム生成プログラム」を複数台のパーソナルコンピュータ(PC)にインストールするとともに、描画部品2aや外部定義情報2dといった各種情報を記憶する「記憶部」をLANなどで接続された所定のPC上に構成することとすれば、多数のプログラム開発者が共通の情報を用いたうえでシーケンス図の作成作業およびソースコードの作成作業をおこなうことができる。また、「記憶部」上の各種情報を更新する際に、排他処理をおこなうこととすれば、複数のプログラム開発者が矛盾した情報を登録するなどの不都合を回避することができる。   As shown in FIG. 34, a “control program generation program” is installed on a plurality of personal computers (PCs), and a “storage unit” for storing various information such as drawing parts 2a and external definition information 2d is connected via a LAN or the like. If configured on the predetermined PC, a large number of program developers can perform sequence diagram creation work and source code creation work using common information. Further, if various kinds of information on the “storage unit” are updated, if an exclusive process is performed, inconveniences such as a plurality of program developers registering contradictory information can be avoided.

上述してきたように、本実施例では、シーケンス図作成支援部が描画部品を利用者に提供することによってシーケンス図の作成を支援し、コード生成部がシーケンス図作成支援部から受け取ったシーケンス図情報に含まれる描画部品の属性および配置情報とシーケンス図情報とは別に用意された外部定義情報とを合成することによってソースコードを生成するよう構成したので、制御プログラム生成の基礎となる電子化されたタイムシーケンス図の効率的な作成を支援することができるとともに、電子化されたタイムシーケンス図に対応する制御プログラムを自動生成することができる。   As described above, in this embodiment, the sequence diagram creation support unit supports the creation of the sequence diagram by providing the drawing parts to the user, and the sequence diagram information received from the sequence diagram creation support unit by the code generation unit Since the source code is generated by synthesizing the attributes and arrangement information of the drawing parts included in and the external definition information prepared separately from the sequence diagram information, it is digitized as the basis for generating the control program. It is possible to support efficient creation of a time sequence diagram and to automatically generate a control program corresponding to an electronic time sequence diagram.

なお、上記した実施例においては、シーケンス図作成支援部が生成したシーケンス図情報に基づいてコード生成部がソースコードを生成する場合について説明した。しかしながら、これに限らず、コード生成部がかかるシーケンス図情報に基づき、制御仕様をあらわしたドキュメントや、ソースコードの動作検査をおこなう検査プログラムを生成することとしてもよい。このようにすることで、制御プログラム生成に伴う生成物を一括管理することが可能となり、シーケンス図が変更された場合であっても変更点の反映を生成物全体に及ぼすことができる。   In the above-described embodiment, the case where the code generation unit generates the source code based on the sequence diagram information generated by the sequence diagram creation support unit has been described. However, the present invention is not limited to this, and the code generation unit may generate a document representing the control specifications or an inspection program for performing an operation inspection of the source code based on the sequence diagram information. By doing so, it becomes possible to collectively manage the products accompanying the generation of the control program, and even when the sequence diagram is changed, the change can be reflected on the entire product.

以上のように、本発明に係る制御プログラム生成プログラム、制御プログラム生成方法および制御プログラム生成装置は、各種信号値を制御する制御プログラムの自動生成に有用であり、特に、車載コンピュータ上で動作する制御プログラムの自動生成に適している。   As described above, the control program generation program, the control program generation method, and the control program generation apparatus according to the present invention are useful for automatic generation of a control program for controlling various signal values, and in particular, control that operates on an in-vehicle computer. Suitable for automatic program generation.

本発明に係る制御プログラム生成手法の概要および特徴を示す図である。It is a figure which shows the outline | summary and the characteristic of the control program production | generation method based on this invention. 本実施例に係る制御プログラム生成装置の構成を示すブロック図である。It is a block diagram which shows the structure of the control program production | generation apparatus which concerns on a present Example. 描画部品の例その1を示す図である。It is a figure which shows the example 1 of a drawing component. 描画部品の例その2を示す図である。It is a figure which shows the example 2 of a drawing component. 描画部品のシーケンス図への配置例その1を示す図である。It is a figure which shows the example 1 of arrangement | positioning to the sequence diagram of drawing components. 描画部品のシーケンス図への配置例その2を示す図である。It is a figure which shows the example 2 of an arrangement | positioning to the sequence diagram of drawing components. シーケンス図の一例を示す図である。It is a figure which shows an example of a sequence diagram. 図7に示したシーケンス図から生成される制御プログラム例その1を示す図である。It is a figure which shows the example 1 of a control program produced | generated from the sequence diagram shown in FIG. 図7に示したシーケンス図から生成される制御プログラム例その2を示す図である。It is a figure which shows the example 2 of the control program produced | generated from the sequence diagram shown in FIG. 制御プログラム生成手順の概要を示すフローチャートである。It is a flowchart which shows the outline | summary of a control program production | generation procedure. 判定部分をロジック記号によって指定した場合の例を示す図である。It is a figure which shows the example at the time of designating the determination part with a logic symbol. 判定記号を含んだシーケンス図からソースコードを生成する手順を示すフローチャートである。It is a flowchart which shows the procedure which produces | generates a source code from the sequence diagram containing the determination symbol. エディタ側に判定部分を設定した場合の例を示す図である。It is a figure which shows the example at the time of setting the determination part on the editor side. 判定部分を信号線の属性変更によって指定した場合の例を示す図である。It is a figure which shows the example at the time of designating the determination part by the attribute change of a signal line. 制御信号側に設定した判定部分の例を示す図である。It is a figure which shows the example of the determination part set to the control signal side. 制御信号に係るコード生成処理手順を示すフローチャートである。It is a flowchart which shows the code | cord | chord generation process procedure which concerns on a control signal. 制御信号の変化にディレイがある場合の例を示す図である。It is a figure which shows the example in case there exists a delay in the change of a control signal. ディレイを含んだコード生成処理手順を示すフローチャートである。It is a flowchart which shows the code generation processing procedure containing a delay. 判定部分にロジックを指定した場合の例を示す図である。It is a figure which shows the example at the time of specifying a logic in the determination part. 複数の外部定義情報を用意した場合の例を示す図である。It is a figure which shows the example at the time of preparing several external definition information. 外部定義情報の切替処理の処理手順を示すフローチャートである。It is a flowchart which shows the process sequence of the switching process of external definition information. シーケンス図の差異を外部定義情報で吸収する例を示す図である。It is a figure which shows the example which absorbs the difference of a sequence diagram with external definition information. シーケンス図の差異を外部定義情報で吸収する際の処理手順を示すフローチャートである。It is a flowchart which shows the process sequence at the time of absorbing the difference of a sequence diagram with external definition information. 利用者入力の補完機能の例を示す図である。It is a figure which shows the example of the complement function of a user input. プログラミングルール情報の適用例を示す図である。It is a figure which shows the example of application of programming rule information. プログラミングルール情報適用処理の処理手順を示すフローチャートである。It is a flowchart which shows the process sequence of a programming rule information application process. 共通モジュール抽出例その1を示す図である。It is a figure which shows the example 1 of common module extraction. 共通モジュール抽出例その2を示す図である。It is a figure which shows the example 2 of a common module extraction. 描画部品マクロ化の例を示す図である。It is a figure which shows the example of drawing components macro conversion. シーケンス図におけるパターン抽出の例を示す図である。It is a figure which shows the example of the pattern extraction in a sequence diagram. シーケンス図情報と外部定義情報との合成例を示す図である。It is a figure which shows the example of a synthesis | combination of sequence diagram information and external definition information. シーケンス図の分割例を示す図である。It is a figure which shows the example of a division | segmentation of a sequence diagram. シーケンス図の結合例を示す図である。It is a figure which shows the example of a coupling | bonding of a sequence diagram. 制御プログラム生成装置のネットワーク構成例を示す図である。It is a figure which shows the network structural example of a control program production | generation apparatus.

1 制御プログラム生成装置
2 記憶部
2a 描画部品
2b 共通パターン情報
2c シーケンス図情報
2d 外部定義情報
2e 共通コード情報
3 制御部
3a シーケンス図作成支援部
3b パターン抽出部
3c 描画部品登録部
3d コード生成部
3e 共通コード抽出部
3f 外部定義情報操作部
4 入出力部
4a 入力手段
4b ディスプレイ
DESCRIPTION OF SYMBOLS 1 Control program production | generation apparatus 2 Memory | storage part 2a Drawing part 2b Common pattern information 2c Sequence diagram information 2d External definition information 2e Common code information 3 Control part 3a Sequence diagram creation assistance part 3b Pattern extraction part 3c Drawing part registration part 3d Code generation part 3e Common code extraction unit 3f External definition information operation unit 4 Input / output unit 4a Input means 4b Display

Claims (15)

被制御装置を制御するための制御プログラムを生成する制御プログラム生成プログラムであって、
前記被制御装置の制御に用いられる複数の信号の時間変化をあらわすタイムシーケンス図を利用者に作成させる際に、前記被制御装置の制御に用いられる信号同士の関係を前記タイムシーケンス図にロジック記号を配置させることによって利用者に入力させる入力手順と、
前記入力手順で受け付けたタイムシーケンス図に配置された前記ロジック記号の属性および配置情報に基づいて前記制御プログラムを生成する制御プログラム生成手順と
をコンピュータに実行させることを特徴とする制御プログラム生成プログラム。
A control program generation program for generating a control program for controlling a controlled device,
When a user creates a time sequence diagram representing a time change of a plurality of signals used for controlling the controlled device, the relationship between signals used for controlling the controlled device is represented by a logic symbol in the time sequence diagram. An input procedure that allows the user to input by arranging
A control program generation program for causing a computer to execute a control program generation procedure for generating the control program based on attributes and arrangement information of the logic symbols arranged in the time sequence diagram received in the input procedure.
前記制御プログラム生成手順は、
前記タイムシーケンス図に配置された前記ロジック記号で定義された信号同士の関係を前記制御プログラムへ展開していく際に、前記ロジック記号が配置された信号の前記タイムシーケンス図における描画順序に応じて前記信号同士の関係を反映した前記制御プログラムを生成することを特徴とする請求項1に記載の制御プログラム生成プログラム。
The control program generation procedure includes:
When the relationship between the signals defined by the logic symbols arranged in the time sequence diagram is expanded to the control program, according to the drawing order of the signals in which the logic symbols are arranged in the time sequence diagram The control program generation program according to claim 1, wherein the control program that reflects the relationship between the signals is generated.
前記制御プログラム生成手順は、
前記タイムシーケンス図に配置された前記ロジック記号に信号同士の関係を前記制御プログラムへ展開する展開順序をあらわす展開順序情報が含まれている場合に、前記ロジック記号が配置された信号の前記タイムシーケンス図における描画順序よりも前記展開順序情報を優先して信号同士の関係を反映した前記制御プログラムを生成することを特徴とする請求項2に記載の制御プログラム生成プログラム。
The control program generation procedure includes:
The time sequence of the signal in which the logic symbol is arranged when the logic symbol arranged in the time sequence diagram includes development order information representing a development order for developing the relationship between signals to the control program The control program generation program according to claim 2, wherein the control program that reflects the relationship between signals is generated with priority on the development order information over the drawing order in the figure.
前記入力手順は、
前記タイムシーケンス図を所定数の部分図に分割する境界の入力を許容し、
前記制御プログラム生成手順は、
前記境界によって分割された部分図ごとに前記制御プログラムを生成することを特徴とする請求項1、2または3に記載の制御プログラム生成プログラム。
The input procedure is as follows:
Allowing the input of a boundary to divide the time sequence diagram into a predetermined number of partial views;
The control program generation procedure includes:
The control program generation program according to claim 1, wherein the control program is generated for each partial view divided by the boundary.
前記入力手順は、
複数の前記タイムシーケンス図の入力および各タイムシーケンス図間の関係情報の入力を許容し、
前記制御プログラム生成手順は、
各タイムシーケンス図を前記関係情報に基づいて結合したうえで前記制御プログラムを生成することを特徴とする請求項1〜4のいずれか一つに記載の制御プログラム生成プログラム。
The input procedure is as follows:
Allowing input of a plurality of time sequence diagrams and relationship information between each time sequence diagram,
The control program generation procedure includes:
The control program generation program according to any one of claims 1 to 4, wherein the control program is generated after combining the time sequence diagrams based on the relationship information.
前記制御プログラム生成手順は、
前記タイムシーケンス図に配置された前記ロジック記号で定義された信号同士の関係を前記制御プログラムへ展開していく際に、前記関係を有する各信号のうち特定の信号が変化してから他の信号が変化するまでの遅れ時間がある場合には、当該遅れ時間を反映した前記制御プログラムを生成することを特徴とする請求項1〜5のいずれか一つに記載の制御プログラム生成プログラム。
The control program generation procedure includes:
When the relationship between the signals defined by the logic symbols arranged in the time sequence diagram is expanded to the control program, other signals after a specific signal changes among the signals having the relationship The control program generation program according to any one of claims 1 to 5, wherein when there is a delay time until the change, the control program reflecting the delay time is generated.
前記入力手順は、
前記ロジック記号としてプログラムロジックの直接入力をおこなうことが可能なロジック記号を有し、当該ロジック記号は前記タイムシーケンス図に表示される際に、利用者によって直接入力されたプログラムロジックをロジック記号の一部として表示させることを特徴とする請求項1〜6のいずれか一つに記載の制御プログラム生成プログラム。
The input procedure is as follows:
The logic symbol has a logic symbol that allows direct input of program logic. When the logic symbol is displayed in the time sequence diagram, the program logic directly input by the user is displayed as one of the logic symbols. The control program generation program according to claim 1, wherein the control program generation program is displayed as a unit.
前記制御プログラム生成手順は、
前記タイムシーケンス図に配置された前記ロジック記号で定義された信号同士の関係を前記制御プログラムへ展開していく際に、各信号の変化をあらわした信号制御用ロジックと前記信号制御用ロジックを所定のタイミングで呼び出す時間制御用ロジックとを分離して生成することを特徴とする請求項1〜7のいずれか一つに記載の制御プログラム生成プログラム。
The control program generation procedure includes:
When the relationship between the signals defined by the logic symbols arranged in the time sequence diagram is expanded to the control program, the signal control logic indicating the change of each signal and the signal control logic are predetermined. The control program generation program according to any one of claims 1 to 7, wherein the control program is generated separately from the time control logic to be called at the timing.
前記ロジック記号の属性を定義した定義データを記憶部に登録する定義データ登録手順をさらにコンピュータに実行させ、
前記制御プログラム生成手順は、
前記タイムシーケンス図に含まれる前記ロジック記号の前記配置情報と前記定義データ登録手順によって登録された前記定義データとを関連付けたうえで前記制御プログラムを生成することを特徴とする請求項1〜8のいずれか一つに記載の制御プログラム生成プログラム。
Further causing the computer to execute a definition data registration procedure for registering definition data defining attributes of the logic symbols in a storage unit,
The control program generation procedure includes:
The control program is generated by associating the arrangement information of the logic symbols included in the time sequence diagram with the definition data registered by the definition data registration procedure. The control program generation program according to any one of the above.
前記入力手順が受け付けた一または複数の前記タイムシーケンス図から共通の信号制御パターンを抽出するパターン抽出手順をさらにコンピュータに実行させ、
前記制御プログラム生成手順は、
前記パターン抽出手順が抽出した前記信号制御パターンを共通ロジックへ変換したうえで前記共通ロジックを用いた前記制御プログラムを生成することを特徴とする請求項1〜9のいずれか一つに記載の制御プログラム生成プログラム。
Causing the computer to further execute a pattern extraction procedure for extracting a common signal control pattern from the one or more time sequence diagrams received by the input procedure;
The control program generation procedure includes:
10. The control according to claim 1, wherein the control program using the common logic is generated after the signal control pattern extracted by the pattern extraction procedure is converted into common logic. Program generation program.
前記パターン抽出手順は、
前記信号の作用関係をあらわした前記ロジック記号の組合せを前記共通の信号制御パターンとして抽出することを特徴とする請求項10に記載の制御プログラム生成プログラム。
The pattern extraction procedure includes:
11. The control program generation program according to claim 10, wherein a combination of the logic symbols representing the operational relationship of the signals is extracted as the common signal control pattern.
前記入力手順は、
利用者によって配置された前記ロジック記号の位置関係からタイムシーケンス図に未入力部分があると判定した場合に、前記ロジック記号の位置関係に基づいて前記タイムシーケンス図の入力補完をおこなうことを特徴とする請求項1〜11のいずれか一つ制御プログラム生成プログラム。
The input procedure is as follows:
When it is determined that there is a non-input part in the time sequence diagram from the positional relationship of the logic symbols arranged by the user, the time sequence diagram is input-completed based on the positional relationship of the logic symbols. A control program generation program according to any one of claims 1 to 11.
前記制御プログラム生成手順は、
前記タイムシーケンス図に配置された前記ロジック記号で定義された信号同士の関係を前記制御プログラムへ展開していく際に、当該制御プログラムを構成するロジックおよびデータ格納領域確保のルールをあらわすプログラミングルールを用いて前記制御プログラムを生成することを特徴とする請求項1〜12のいずれか一つに記載の制御プログラム生成プログラム。
The control program generation procedure includes:
When developing the relationship between signals defined by the logic symbols arranged in the time sequence diagram to the control program, a programming rule representing a logic and a data storage area securing rule constituting the control program The control program generation program according to any one of claims 1 to 12, wherein the control program is generated by using the control program.
被制御装置を制御するための制御プログラムを生成する制御プログラム生成装置であって、
前記被制御装置の制御に用いられる複数の信号の時間変化をあらわすタイムシーケンス図を利用者に作成させる際に、前記被制御装置の制御に用いられる信号同士の関係を前記タイムシーケンス図にロジック記号を配置させることによって利用者に入力させる入力手段と、
前記入力手段で受け付けたタイムシーケンス図に配置された前記ロジック記号の属性および配置情報に基づいて前記制御プログラムを生成する制御プログラム生成手段と
を備えたことを特徴とする制御プログラム生成装置。
A control program generation device for generating a control program for controlling a controlled device,
When a user creates a time sequence diagram representing a time change of a plurality of signals used for controlling the controlled device, the relationship between signals used for controlling the controlled device is represented by a logic symbol in the time sequence diagram. Input means for allowing the user to input by arranging
A control program generation device comprising: control program generation means for generating the control program based on the attribute and arrangement information of the logic symbols arranged in the time sequence diagram received by the input means.
被制御装置を制御するための制御プログラムを生成する制御プログラム生成方法であって、
前記被制御装置の制御に用いられる複数の信号の時間変化をあらわすタイムシーケンス図を利用者に作成させる際に、前記被制御装置の制御に用いられる信号同士の関係を前記タイムシーケンス図にロジック記号を配置させることによって利用者に入力させる入力工程と、
前記入力工程で受け付けたタイムシーケンス図に配置された前記ロジック記号の属性および配置情報に基づいて前記制御プログラムを生成する制御プログラム生成工程と
を含んだことを特徴とする制御プログラム生成方法。
A control program generation method for generating a control program for controlling a controlled device,
When a user creates a time sequence diagram representing a time change of a plurality of signals used for controlling the controlled device, the relationship between signals used for controlling the controlled device is represented by a logic symbol in the time sequence diagram. An input process that allows the user to input by arranging
A control program generation method comprising: a control program generation step of generating the control program based on the attribute and arrangement information of the logic symbols arranged in the time sequence diagram received in the input step.
JP2006022335A 2006-01-31 2006-01-31 Program, method and device for generating control program Pending JP2007206798A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006022335A JP2007206798A (en) 2006-01-31 2006-01-31 Program, method and device for generating control program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006022335A JP2007206798A (en) 2006-01-31 2006-01-31 Program, method and device for generating control program

Publications (1)

Publication Number Publication Date
JP2007206798A true JP2007206798A (en) 2007-08-16

Family

ID=38486252

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006022335A Pending JP2007206798A (en) 2006-01-31 2006-01-31 Program, method and device for generating control program

Country Status (1)

Country Link
JP (1) JP2007206798A (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012064033A (en) * 2010-09-16 2012-03-29 Canon Inc Timing chart processing device
KR101214488B1 (en) 2010-02-04 2012-12-24 엘지전자 주식회사 Facilities control system and operating method of the same
WO2014155717A1 (en) * 2013-03-29 2014-10-02 三菱電機株式会社 Sequence program component creation program and sequence program component creation device
KR20150086675A (en) * 2014-01-20 2015-07-29 에스케이플래닛 주식회사 System and method capable of providing service for producing communicator interface
CN113496340A (en) * 2020-03-19 2021-10-12 佳能株式会社 Information processing method, information processing apparatus, manufacturing system, and article manufacturing method
WO2022004053A1 (en) * 2020-06-30 2022-01-06 オムロン株式会社 Program, computer, and method for visual programming editor

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01119864A (en) * 1987-11-02 1989-05-11 Matsushita Electric Ind Co Ltd Timing chart input device
JPH02255914A (en) * 1988-04-20 1990-10-16 Toshiba Corp Automatic program producing device
JPH06332971A (en) * 1993-05-24 1994-12-02 Ricoh Co Ltd Function model generator
JPH07191717A (en) * 1992-02-05 1995-07-28 Toshiba Corp Automatic preparing device for control program
JPH0991335A (en) * 1995-09-22 1997-04-04 Fuji Facom Corp Logic circuit design support device
JPH10149380A (en) * 1996-11-20 1998-06-02 Oki Electric Ind Co Ltd Time chart editing device

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01119864A (en) * 1987-11-02 1989-05-11 Matsushita Electric Ind Co Ltd Timing chart input device
JPH02255914A (en) * 1988-04-20 1990-10-16 Toshiba Corp Automatic program producing device
JPH07191717A (en) * 1992-02-05 1995-07-28 Toshiba Corp Automatic preparing device for control program
JPH06332971A (en) * 1993-05-24 1994-12-02 Ricoh Co Ltd Function model generator
JPH0991335A (en) * 1995-09-22 1997-04-04 Fuji Facom Corp Logic circuit design support device
JPH10149380A (en) * 1996-11-20 1998-06-02 Oki Electric Ind Co Ltd Time chart editing device

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101214488B1 (en) 2010-02-04 2012-12-24 엘지전자 주식회사 Facilities control system and operating method of the same
JP2012064033A (en) * 2010-09-16 2012-03-29 Canon Inc Timing chart processing device
WO2014155717A1 (en) * 2013-03-29 2014-10-02 三菱電機株式会社 Sequence program component creation program and sequence program component creation device
TWI498687B (en) * 2013-03-29 2015-09-01 三菱電機股份有限公司 Sequence program parts creation program and sequence program parts creation device
US9626160B2 (en) 2013-03-29 2017-04-18 Mitsubishi Electric Corporation Sequence-program-component creation program and sequence-program-component creation device
KR20150086675A (en) * 2014-01-20 2015-07-29 에스케이플래닛 주식회사 System and method capable of providing service for producing communicator interface
KR102199287B1 (en) * 2014-01-20 2021-01-06 에스케이플래닛 주식회사 System and method capable of providing service for producing communicator interface
CN113496340A (en) * 2020-03-19 2021-10-12 佳能株式会社 Information processing method, information processing apparatus, manufacturing system, and article manufacturing method
WO2022004053A1 (en) * 2020-06-30 2022-01-06 オムロン株式会社 Program, computer, and method for visual programming editor
JP2022011442A (en) * 2020-06-30 2022-01-17 オムロン株式会社 Visual programming editor programs, computers and methods
JP7581671B2 (en) 2020-06-30 2024-11-13 オムロン株式会社 Visual programming editor program, computer and method

Similar Documents

Publication Publication Date Title
Meinicke et al. Mastering software variability with FeatureIDE
US20170286068A1 (en) Development support system
Grönninger et al. Textbased modeling
CN104090749B (en) A kind of WinCE Product Interface theme upgrades transform process method and system
US9495134B2 (en) Methods and apparatus for code segment handling
CN101777004B (en) Method and system for realizing BPEL sub-process multiplexing based on template in service-oriented environment
JP2007206798A (en) Program, method and device for generating control program
CN102646035A (en) Visualized code generation method based on combination of API (application programming interface) and script definition
WO2007021514A2 (en) Web page rendering priority mechanism
Mauro et al. Context-aware reconfiguration in evolving software product lines
CN113050938A (en) Visual software development system, method, device and computer storage medium
CN114820881A (en) Picture generation method, intelligent terminal and computer readable storage medium thereof
CN101776997A (en) Interface processing method and device
Coppit et al. Spotlight: A prototype tool for software plans
JP2005063136A (en) Design system, design method, and design program of semiconductor integrated circuit
JP2016224579A (en) Information processor and information processing method
JP6097231B2 (en) Program generating apparatus and method
JP2008052356A (en) Source code automatic generation device
JP4983519B2 (en) Development support device and development support program
JP7572819B2 (en) Model Creation System
JP2008059135A (en) Apparatus, method and program for automatically creating software
JP2008217071A (en) High level synthesis apparatus and high level synthesis method
JP5316273B2 (en) Program automatic generation apparatus and program automatic generation method
JP2005251127A (en) Pattern system construction device and pattern application device
CN111694723B (en) Method for editing nodes and components when product runs under H5 and storage medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101214

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101216

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110412