JP2007011507A - Display method of program tree and program generation system - Google Patents

Display method of program tree and program generation system Download PDF

Info

Publication number
JP2007011507A
JP2007011507A JP2005188866A JP2005188866A JP2007011507A JP 2007011507 A JP2007011507 A JP 2007011507A JP 2005188866 A JP2005188866 A JP 2005188866A JP 2005188866 A JP2005188866 A JP 2005188866A JP 2007011507 A JP2007011507 A JP 2007011507A
Authority
JP
Japan
Prior art keywords
program
unit
generation system
functional unit
node
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
JP2005188866A
Other languages
Japanese (ja)
Inventor
Hirokazu Tokuda
寛和 徳田
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.)
Fuji Electric Co Ltd
Original Assignee
Fuji Electric Holdings 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 Fuji Electric Holdings Ltd filed Critical Fuji Electric Holdings Ltd
Priority to JP2005188866A priority Critical patent/JP2007011507A/en
Publication of JP2007011507A publication Critical patent/JP2007011507A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To clarify correspondence to a structuring-programmed program in a display method of a program tree and a program generation system. <P>SOLUTION: A program element which is a component of a program and includes at least a compile unit is assigned to each node to form a program tree 21, and the formed program tree 21 is displayed on a program tree display part. The processing content of the program element is displayed in a processing content display part. Input work to the program tree display part and the processing content display part is performed by an input means. <P>COPYRIGHT: (C)2007,JPO&INPIT

Description

本発明は、プログラムツリーの表示方法、およびプログラム生成システムに関し、特にCADシステムを用いたプログラミングにおけるプログラムツリーの表示方法、およびプログラム生成システムに関する。   The present invention relates to a program tree display method and program generation system, and more particularly to a program tree display method and program generation system in programming using a CAD system.

従来、プログラムの開発においては、アセンブラやC言語などのプログラミング言語を用いて電子計算機のプログラムを製作する場合には、テキストエディタなどのテキストを直接記述する手段が用いられてきた。   Conventionally, in the development of a program, when a computer program is produced using a programming language such as an assembler or C language, means for directly describing text such as a text editor has been used.

テキストエディタベースのプログラムの製作手法としては、構造化プログラミング手法が普及している。すなわち、1つのロードモジュールを複数のコンパイル単位(原始プログラムをコンパイルして、1つの出力を得る単位)に分割して製作した後、各コンパイル単位の出力を結合して最終的なロードモジュールにする方法をとったり、まとまった機能単位を独立したプログラム部品として製作して、これをまとめて大きな機能単位にくみ上げていく方法をとったりする。   As a text editor-based program production technique, a structured programming technique is widely used. That is, one load module is produced by dividing it into a plurality of compilation units (units for compiling a source program to obtain one output), and then combining the outputs of the respective compilation units into a final load module. Take a method, or create a group of functional units as independent program parts and collect them into large functional units.

この構造化プログラミング手法は、小さな機能単位のモジュールは短期間で製作でき、汎用な機能単位のモジュールは再利用可能で、再利用することにより、後続の別のプログラムの製作に応用でき、各機能単位のモジュールは独立に検査ができるなどのメリットがあることが知られており、構造化プログラミング手法は、プログラム製作手法としては、必須の手法となっている。   In this structured programming method, small functional unit modules can be produced in a short period of time, and general functional unit modules can be reused. By reusing, each functional unit can be applied to production of another program. It is known that the module of the unit has an advantage that it can be independently inspected, and the structured programming method is an indispensable method as a program production method.

一方、プログラムの規模がある程度の規模に達すると、テキストのみでは可読性に乏しく、プログラムの設計のみならず、検査・管理・保守等に多大な労力を要することとなる。そこで、これを解決するために図式のプログラムを用いる方法が提案された。たとえば、HCP(Hierarchical and ComPact description)チャートと呼ばれる木構造の図式プログラム記述方法が提案された(たとえば、特許文献1,2参照)。また、PAD(Problem Analysis Diagram)図と呼ばれる図式プログラム記述方法が提案された(たとえば、特許文献10参照)。   On the other hand, when the scale of the program reaches a certain level, the text alone is poor in readability, and not only the design of the program but also a great amount of labor is required for inspection, management, maintenance and the like. In order to solve this problem, a method using a graphical program has been proposed. For example, a tree-structured graphical program description method called an HCP (Hierarchical and ComPact description) chart has been proposed (see, for example, Patent Documents 1 and 2). Also, a graphical program description method called a PAD (Problem Analysis Diagram) diagram has been proposed (for example, see Patent Document 10).

また、このような図式のプログラムから、電子計算機で実行できる形式、もしくは高級言語の形式のプログラムを自動生成する方法も提案されている。たとえば、三組の形式で表現した木構造要素の列からソースプログラムを生成する方法が提案された(たとえば、特許文献3参照)。また、設計ドキュメントに基づいてプログラムを自動生成する方法も提案されている(たとえば、特許文献4参照)。   There has also been proposed a method for automatically generating a program in a format that can be executed by an electronic computer or a high-level language from such a graphical program. For example, a method for generating a source program from a sequence of tree structure elements expressed in three sets of formats has been proposed (see, for example, Patent Document 3). A method of automatically generating a program based on a design document has also been proposed (see, for example, Patent Document 4).

また、プログラムの管理方法については、様々な形式を用いて表現する方法が提案されている。たとえば、概念間をリンク構造で結合する形をもつリンク形式と呼ばれる形式が提案されている(たとえば、特許文献5参照)。また、データ相互間の接続上の連関、および意味上の連関を表すネットワークを用いるネットワーク形式と呼ばれる形式が提案されている(たとえば、特許文献6参照)。また、ツリー形式と呼ばれる形式が提案されている(たとえば、特許文献7,8,9参照)。
特開平2−235144号公報(図2) 特開平1−41931号公報(図2) 特開昭63−167931号公報(図1) 特開平2−253443号公報(図1) 特開昭63−233428号公報(図4) 特開昭63−61329号公報(図4) 特開2003−85012号公報(段落番号〔0021〕〜〔0029〕、図1) 特開2002−66967号公報(段落番号〔0011〕〜〔0012〕、図1) 特開2004−240593号公報(段落番号〔0026〕〜〔0039〕、図5) 特公平6−40302号公報(図3)
In addition, as a program management method, methods of expressing using various formats have been proposed. For example, a format called a link format having a form in which concepts are linked by a link structure has been proposed (see, for example, Patent Document 5). In addition, a format called a network format that uses a network representing a connection between data and a semantic relationship has been proposed (see, for example, Patent Document 6). Further, a format called a tree format has been proposed (see, for example, Patent Documents 7, 8, and 9).
JP-A-2-235144 (FIG. 2) JP-A-1-41931 (FIG. 2) JP-A 63-167931 (FIG. 1) JP-A-2-253443 (FIG. 1) Japanese Unexamined Patent Publication No. 63-233428 (FIG. 4) JP-A-63-61329 (FIG. 4) JP 2003-85012 A (paragraph numbers [0021] to [0029], FIG. 1) JP 2002-66967 A (paragraph numbers [0011] to [0012], FIG. 1) JP 2004-240593 A (paragraph numbers [0026] to [0039], FIG. 5) Japanese Examined Patent Publication No. 6-40302 (FIG. 3)

しかし、構造化プログラミング手法に則って製作されたプログラムと、直接的な対応付けが可能な、図式のプログラミング手法に適合するプログラムの管理方法や、それを用いたCAD(Computer Aided Design)システムは知られていない。   However, there are known methods for managing programs that conform to schematic programming methods that can be directly associated with programs created in accordance with structured programming methods, and CAD (Computer Aided Design) systems that use them. It is not done.

たとえば、上述特許文献1記載の発明では、モジュール化という手法で機能分割を行って階層化を行うが、手作業で構造化プログラム手法を用いて製作したプログラムよりは、かなり単純化されたものしか作ることができない。   For example, in the invention described in Patent Document 1, the function is divided by a method called modularization to perform hierarchization. However, it is much simpler than a program produced manually using a structured program method. I can't make it.

また、上述特許文献2記載の発明では、プログラムの階層化として、プログラムの一部を別ファイルに書き出して機能を分割するが、この方法では、埋め込まれる方のプログラムは単独でコンパイルできるものにはならないので、埋め込まれる方のファイルを単独で検査したりすることが不可能であるため、本来の構造化プログラミングのメリットを享受することはできない。したがって、いわゆる構造化プログラミングの手法に基づくプログラミング開発手法とは直接的な対応付けができない。   In the invention described in the above-mentioned Patent Document 2, as a program hierarchy, a part of the program is written to another file to divide the function. However, in this method, the embedded program can be compiled independently. Since it is impossible to inspect the embedded file alone, it is not possible to enjoy the benefits of the original structured programming. Therefore, it cannot be directly associated with a programming development method based on a so-called structured programming method.

また、上述特許文献7記載の発明では、データベース管理システムプログラムを木構造で表示するが、当該システムで表示される図式プログラムは、機能単位であるプロシージャの相互関係のみであって、これが実際のプログラムのどのプログラムの構成要素に対応するか明確ではない。   Further, in the invention described in Patent Document 7, the database management system program is displayed in a tree structure, but the graphical program displayed in the system is only a mutual relationship of procedures that are functional units, and this is an actual program. It is not clear which program component of the program corresponds to.

また、上述特許文献8記載の発明では、木構造データ管理に基づきロボットの動作を司るプログラムを記述するが、この記述方法においても、プログラムの構成要素と表示される木構造データの関連が明確にされていない。   In the invention described in Patent Document 8 described above, a program for controlling the operation of the robot is described based on tree structure data management. In this description method, the relationship between the program components and the displayed tree structure data is clearly shown. It has not been.

また、上述特許文献9記載の発明では、プロジェクトをツリー状に表示するが、この表示方法においても、やはりプログラムの構成要素と表示されるツリー状に表示される内容との関連が明確にされていない。   Further, in the invention described in Patent Document 9, the project is displayed in a tree shape, but also in this display method, the relationship between the program components and the content displayed in the tree shape is clarified. Absent.

以上のように、構造化プログラミングという手法は一般的に用いられているのに対し、構造化プログラミングされたものを、プログラムとの対応付けを明確にした形で、図式に表現して管理したり、それと図式プログラミング手法を組み合わせた、プログラムの製作手段、それとプログラムコード自動生成手段を組み合わせた、プログラム製作用CADシステムはこれまでにはなかった。   As described above, the method of structured programming is generally used, but the structured programming can be expressed and managed in a diagrammatic form with a clear correspondence with the program. There has never been a program production CAD system that combines a program production means that combines it with a diagrammatic programming technique and an automatic program code generation means.

本発明はこのような点を鑑みてなされたものであり、構造化プログラミングされたプログラムとの対応付けを明確にして図式に表現するプログラムツリーの表示方法およびプログラム生成システムを提供することを目的とする。   The present invention has been made in view of these points, and an object of the present invention is to provide a program tree display method and a program generation system that clearly express the correspondence with a structured program and express it graphically. To do.

本発明では上記問題を解決するために、プログラムの構成要素であるプログラム要素をツリーの各ノードに割り当てることによって、前記プログラムをツリー状に表示するプログラムツリーの表示方法において、コンパイル単位を前記プログラムツリーのノードとして表示することを特徴とするプログラムツリーの表示方法が提供される。   In the present invention, in order to solve the above problem, in the program tree display method for displaying the program in a tree shape by assigning program elements which are constituent elements of the program to each node of the tree, the compile unit is the program tree. There is provided a method for displaying a program tree, characterized in that the program tree is displayed as a node.

このようなプログラムツリーの表示方法によれば、コンパイル単位がプログラムツリーのノードとして表示される。
また、本発明では、プログラムを生成するためのプログラム生成システムにおいて、コンパイル単位をノードに割り当て、かつ前記プログラムの構成要素であるプログラム要素を各ノードに割り当てて、前記プログラムをツリー状に構成したプログラムツリーを表示するプログラムツリー表示部と、前記各プログラム要素の処理内容が表示される処理内容表示部と、前記プログラムツリー表示部と前記処理内容表示部への入力作業を行うための入力手段とを有することを特徴とするプログラム生成システムが提供される。
According to such a program tree display method, a compilation unit is displayed as a node of the program tree.
Further, according to the present invention, in a program generation system for generating a program, a program in which a compile unit is assigned to a node and a program element that is a component of the program is assigned to each node, and the program is configured in a tree shape A program tree display unit for displaying a tree, a processing content display unit for displaying the processing content of each program element, and an input means for performing input operations to the program tree display unit and the processing content display unit A program generation system is provided.

このようなプログラム生成システムによれば、プログラムツリー表示部により、コンパイル単位のノードとプログラム要素のノードを含むプログラムツリーが表示され、処理内容表示部により、プログラム要素の処理内容が表示され、入力手段により、前記プログラムツリー表示部と前記処理内容表示部に表示される内容に対してデータが入力される。   According to such a program generation system, the program tree display unit displays the program tree including the node of the compilation unit and the node of the program element, the processing content display unit displays the processing content of the program element, and the input unit Thus, data is input to the contents displayed on the program tree display section and the processing content display section.

本発明のプログラムツリーの表示方法によれば、構造化プログラミングの手法でプログラミングされたプログラムと対応付けてプログラムツリーが表示できるので、視認性がよくなり、プログラムの再利用性、可搬性を損なうことなくプログラムの製作ができる。   According to the program tree display method of the present invention, the program tree can be displayed in association with a program programmed by the method of structured programming, so that the visibility is improved and the reusability and portability of the program are impaired. You can make a program without.

また、本発明のプログラム生成システムによれば、構造化プログラミングの手法でプログラミングされたプログラムとの対応付けが明確であるので、視認性がよくなり、構造化プログラミングの利点であるプログラムの再利用性、可搬性を損なうことなくプログラムを製作できる。   Further, according to the program generation system of the present invention, since the correspondence with the program programmed by the method of structured programming is clear, the visibility is improved and the reusability of the program, which is an advantage of the structured programming, is achieved. A program can be produced without impairing portability.

以下、本発明の実施の形態を図面を参照して詳細に説明する。
図1は、本実施の形態に適用される発明の概念図である。図1に示すように、本実施の形態のCADシステム1は、端末装置10、マウス11、キーボード12、およびモニタ13から構成されている。
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
FIG. 1 is a conceptual diagram of the invention applied to this embodiment. As shown in FIG. 1, the CAD system 1 according to the present embodiment includes a terminal device 10, a mouse 11, a keyboard 12, and a monitor 13.

モニタ13に映し出されている画面表示例20には、プログラムツリー21とプログラムの機能単位に対応した処理内容を表示する処理内容表示ウィンドウ22が表示されている。プログラムツリー21は、プログラムを構成するプログラム要素である、プロジェクト、コンパイル単位、および機能単位をノードとしてツリー状に表示したものである。また、処理内容表示ウィンドウ22は、プログラムの処理内容を表示するためのウィンドウである。   In the screen display example 20 displayed on the monitor 13, a processing content display window 22 for displaying processing contents corresponding to the program tree 21 and the functional unit of the program is displayed. The program tree 21 displays a project, a compile unit, and a functional unit, which are program elements constituting the program, as nodes in a tree shape. The processing content display window 22 is a window for displaying the processing content of the program.

CADシステム1は、入力されたデータを図形式からC言語形式や、図形式とC言語形式から全体を包含するC言語形式や、図形式から機械語形式などのように、プログラムを自動生成する手段を持たせることにより、プログラム生成システムを構成している。   The CAD system 1 automatically generates a program such as a C language format from a diagram format, a C language format including the whole from a diagram format and a C language format, or a diagram language format to a machine language format. By providing the means, a program generation system is configured.

このようなプログラム生成システムが構成されることにより、プログラムの処理内容を表示する手段、プログラムやユーザからの指示信号を入力する手段、および入力したデータからプログラムを出力する手段を付加したので、プロジェクト単位や、コンパイル単位、機能単位を視覚的に認識できる形でプログラムを製作できるようになる。   By constructing such a program generation system, a means for displaying the processing contents of the program, a means for inputting an instruction signal from the program and the user, and a means for outputting the program from the input data are added. The program can be produced in such a way that the unit, the compilation unit, and the functional unit can be visually recognized.

図2は、本実施の形態に用いる端末装置のハードウェア構成例を示す図である。図2に示すように、端末装置10は、CPU(Central Processing Unit)101によって装置全体が制御されている。CPU101には、バス106を介してRAM(Random Access Memory)102、ハードディスクドライブ(HDD:Hard Disk Drive)103、グラフィック処理装置104、および入力インタフェース105が接続されている。   FIG. 2 is a diagram illustrating a hardware configuration example of the terminal device used in the present embodiment. As shown in FIG. 2, the entire terminal device 10 is controlled by a CPU (Central Processing Unit) 101. A random access memory (RAM) 102, a hard disk drive (HDD) 103, a graphics processing device 104, and an input interface 105 are connected to the CPU 101 via a bus 106.

RAM102には、CPU101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、CPU101による処理に必要な各種データが格納される。HDD103には、OSやアプリケーションプログラムが格納される。   The RAM 102 temporarily stores at least part of an OS (Operating System) program and application programs to be executed by the CPU 101. The RAM 102 stores various data necessary for processing by the CPU 101. The HDD 103 stores an OS and application programs.

グラフィック処理装置104には、モニタ13が接続されている。グラフィック処理装置104は、CPU101からの命令に従って、画像をモニタ13の画面に表示させる。入力インタフェース105には、キーボード12とマウス11とが接続されている。入力インタフェース105は、キーボード12やマウス11から送られてくる信号を、バス106を介してCPU101に送信する。   A monitor 13 is connected to the graphic processing device 104. The graphic processing device 104 displays an image on the screen of the monitor 13 in accordance with a command from the CPU 101. A keyboard 12 and a mouse 11 are connected to the input interface 105. The input interface 105 transmits a signal sent from the keyboard 12 or the mouse 11 to the CPU 101 via the bus 106.

以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。
図3は、本実施の形態のプログラムツリーの表示例である。この図においては、ノード26aに示す記号はコンパイル単位を示すものである。本実施の形態においては、コンパイル単位をモジュール(分離可能なソフトウェア部品)と捉えることとする。ノード26aのすぐ右にあり「入力制御」と表示されている文字27aは、ノード26aに対応するコンパイル単位の名称をプログラムツリー21上で見やすくするために配置した実装例である。以下、プログラムツリー21のコンパイル単位のノードの右側にある文字は、当該ノードに対応するコンパイル単位に付けられた名称であるものとする。
With the hardware configuration as described above, the processing functions of the present embodiment can be realized.
FIG. 3 is a display example of the program tree of the present embodiment. In this figure, the symbol shown in the node 26a indicates a compilation unit. In the present embodiment, the compilation unit is regarded as a module (separable software component). A character 27 a displayed “input control” immediately to the right of the node 26 a is an implementation example in which the name of the compile unit corresponding to the node 26 a is arranged for easy viewing on the program tree 21. Hereinafter, it is assumed that the character on the right side of the compilation unit node of the program tree 21 is the name given to the compilation unit corresponding to the node.

また、ノード28aに示す記号は機能単位を示すものであり、すぐ右にある「電流制御」と表示されている文字29aは、ノード28aに対応する機能単位の名称をプログラムツリー21上で見やすくするために配置した実装例である。以下、プログラムツリー21の機能単位のノードの右側にある文字は、当該ノードに対応する機能単位に付けられた名称であるものとする。   Further, the symbol shown in the node 28a indicates a functional unit, and the character 29a displayed as "current control" immediately on the right makes it easy to see the name of the functional unit corresponding to the node 28a on the program tree 21. This is a mounting example arranged for this purpose. Hereinafter, it is assumed that a character on the right side of a functional unit node in the program tree 21 is a name given to the functional unit corresponding to the node.

ところで、電流制御の機能単位は、入力制御のコンパイル単位に属するものである。そこで、その従属関係を明確にするために、電流制御の機能単位を表すノード28aは、入力制御のコンパイル単位を表すノード26aの下位に従属するように表示している。また、コンパイル単位は、機能単位を入れる器のように考えるため、直接コンパイル単位に属する処理機能というのは存在せず、必ず処理機能は機能単位に属する。   By the way, the functional unit of current control belongs to the compile unit of input control. Therefore, in order to clarify the dependency, the node 28a representing the functional unit of current control is displayed so as to be subordinate to the node 26a representing the compilation unit of input control. In addition, since the compile unit is considered as a container for inserting a functional unit, there is no processing function that directly belongs to the compile unit, and the processing function always belongs to the functional unit.

また、機能単位の中にはさらに細かな機能単位が含まれていることがある。これは、構造化プログラミングの考え方におけるプログラムの構造化に伴う機能の詳細分割に相当する考え方である。機能単位の実装の形は、C言語では関数と呼ばれ、他のプログラミング言語では、サブルーチン、プロシージャなどと呼ばれることもある副プログラムに相当するものである。この場合には、大きな機能単位の中により小さな規模の機能単位が現れることになる。プログラムツリー21上においては、その様子は電流制御の機能単位を表すノード28aと電流指令演算の機能単位を表すノード28bの関係において示している。つまり、電流指令演算の機能単位は、電流制御の機能単位に属する部分機能であり、お互いの機能単位同士の従属関係の視認性を向上させるために、ノード28bをノード28aの下位に従属するように表示する。   In addition, the functional unit may include a finer functional unit. This is an idea corresponding to the detailed division of the function accompanying the structuring of the program in the idea of the structured programming. The form of functional unit implementation corresponds to a subprogram which is called a function in the C language and sometimes called a subroutine or a procedure in other programming languages. In this case, a smaller functional unit appears in a larger functional unit. On the program tree 21, the situation is shown in a relationship between a node 28a representing a functional unit of current control and a node 28b representing a functional unit of current command calculation. That is, the functional unit of the current command calculation is a partial function belonging to the functional unit of current control, and the node 28b is subordinate to the node 28a in order to improve the visibility of the dependency relationship between the functional units. To display.

このことは細分化された下位の機能単位の中においても、同様に起こりうることであり、その場合には、再帰的に下位の部分機能単位を表すノードを属する上位の機能単位に従属するように表示する。この場合の具体的な形は、たとえば、PWM(Pulse Width Modulation)変調器の機能単位を表すノード28dと電圧分配の機能単位を表すノード28cの関係において示している。   This can occur in the same way in the subordinate functional units. In that case, it is recursively dependent on the upper functional unit to which the node representing the lower partial functional unit belongs. To display. A specific form in this case is shown, for example, in a relationship between a node 28d representing a functional unit of a PWM (Pulse Width Modulation) modulator and a node 28c representing a functional unit of voltage distribution.

ところで、コンパイル単位はコンパイルした結果として1つのファイルを出力するものである。より具体的には、C言語形式のプログラムにおいて、コンパイル単位は拡張子が通常「c」で表されるC言語のソースファイルであり、これをコンパイルすることにより拡張子が通常「o」や「obj」で表されるオブジェクトファイルが生成される。   By the way, the compilation unit outputs one file as a result of compilation. More specifically, in a C language format program, the compilation unit is a C language source file whose extension is usually represented by “c”, and by compiling this, the extension usually becomes “o” or “ An object file represented by “obj” is generated.

この出力ファイルは、直接CPUが解釈して実行できるバイナリファイルとなっている場合もありえるが、バイナリファイルで出力すると中・大規模プログラムの製作やプログラムの再利用は容易ではないため、通常はコンパイルが終了した段階ではメモリ上での絶対位置が決定されておらず、モジュールの先頭からの相対位置でアドレスが記述されているようなリロケータブル・オブジェクトが生成される。このようなリロケータブル・オブジェクトを1つ以上必要な分だけ製作してから、実行環境のメモリ環境に合致したリンク用のメモリマップコマンドなどの情報を与える。そして、リンカもしくはリンケージ・エディタと呼ばれるツールでこれらを結合して、最終的な実行可能な形式のプログラムとする。   This output file may be a binary file that can be directly interpreted and executed by the CPU, but if it is output as a binary file, it is not easy to produce a medium- or large-scale program or to reuse the program. At the end of the process, the absolute position in the memory is not determined, and a relocatable object in which an address is described at a relative position from the top of the module is generated. After producing one or more such relocatable objects as required, information such as a memory map command for a link that matches the memory environment of the execution environment is given. These are combined by a tool called a linker or a linkage editor to form a final executable program.

プログラムツリー21として表されたプログラムは、3つのコンパイル単位を有しているが、コンパイル後にリンケージ・エディタを使って最終的な実行可能な形式のプログラムを作ることがプログラム製作の目的であるから、リンケージ・エディタで結合する単位を表す概念を設けておくと有用である。そこで、コンパイル単位を1つ以上含み、各コンパイル単位から生成される出力を結合してできるロードモジュールに対応する単位をプロジェクトと定義する。プロジェクトは、プログラムツリー21上にノード24として示される記号で表している。また、ノード24の右側にある文字25は、プロジェクトに付けられた名称をプログラムツリー21上に表示したものである。以上のことから、プログラムツリー21は、インバータ制御のプロジェクトを構成するモジュールに分けてツリー状に図式化したものであるといえる。   The program represented as the program tree 21 has three compilation units. Since the purpose of program creation is to create a final executable program using the linkage editor after compilation. It would be useful to have a concept that represents the units to be combined in the linkage editor. Therefore, a unit corresponding to a load module including one or more compilation units and combining outputs generated from the respective compilation units is defined as a project. The project is represented by a symbol shown as a node 24 on the program tree 21. A character 25 on the right side of the node 24 is a name displayed on the program tree 21 for the name assigned to the project. From the above, it can be said that the program tree 21 is divided into modules that constitute an inverter control project and is represented in a tree shape.

上記のとおり、CADシステム1によれば、画面表示例20にプログラムツリー21が表示され、プログラムの構造を簡易に読み取ることが可能となるので、構造化プログラミングによるプログラムの製作が容易になる。   As described above, according to the CAD system 1, the program tree 21 is displayed in the screen display example 20, and the structure of the program can be easily read. Therefore, the program can be easily produced by structured programming.

次に、各プログラム要素のノードに対応して保持される各プログラム要素の説明の入力方法や履歴管理について説明する。
図4は、入力制御のコンパイル単位に対応する属性入力ウィンドウを示す図である。属性入力ウィンドウ30は、入力欄31、32、33、および34を備えている。属性入力ウィンドウ30は、入力制御のコンパイル単位のノード26aに関連づけられており、ノード26aを選択することによって表示することができる。
Next, a description will be given of a method for inputting the description of each program element held in correspondence with each program element node and history management.
FIG. 4 is a diagram showing an attribute input window corresponding to a compilation unit of input control. The attribute input window 30 includes input fields 31, 32, 33, and 34. The attribute input window 30 is associated with the node 26a of the input control compilation unit, and can be displayed by selecting the node 26a.

入力欄31は、コンパイル単位の名称を入力するための入力欄であり、入力欄32は、コンパイル単位がC言語形式のプログラムにコンパイルされ、C言語形式のソースプログラムとして出力されるときのソースプログラム名を入力するための入力欄である。また、入力欄33は、コンパイル単位の説明を入力するための入力欄であり、入力欄34は、コンパイル単位の更新履歴を入力するための入力欄である。   The input field 31 is an input field for inputting the name of the compilation unit, and the input field 32 is a source program when the compilation unit is compiled into a C language format program and output as a C language format source program. This is an input field for entering a name. The input field 33 is an input field for inputting a description of the compilation unit, and the input field 34 is an input field for inputting an update history of the compilation unit.

本実施の形態のCADシステム1を用いて製作するプログラムをC言語に変換する場合など、コンパイルを実行するためには出力名が必要になる。そこで、属性入力ウィンドウ30に入力欄32を設け、入力された情報をコンパイル単位がコンパイルされたときの出力先のソースプログラム名にする。   For example, when a program produced using the CAD system 1 according to the present embodiment is converted into C language, an output name is required to execute compilation. Therefore, an input field 32 is provided in the attribute input window 30, and the input information is used as an output destination source program name when the compilation unit is compiled.

また、C言語のコンパイルをする場合には、C言語の規約に従った文字しか使用できないという制約がある。たとえば、日本語を表すための2バイト系の文字が使えない。そのため、英語やローマ字などで名称をつけなければならないので、ユーザにとってわかりやすい名称が付けられないことがある。   Further, when compiling C language, there is a restriction that only characters complying with C language rules can be used. For example, you cannot use double-byte characters to represent Japanese. For this reason, the name must be given in English or Roman characters, so that the user may not be able to give a name that is easy to understand.

そこで、入力欄31と入力欄32を別に設けることにより、入力欄32に入力される名称はC言語の規約に従った名前を入力し、入力欄31にはユーザがわかりやすい名称を入力することができるようになり、その名称をプログラムツリー21に表示することができるようになる。このように、プログラムツリー21上においてユーザにとってわかりやすい名称が表示できることにより、ノードがどのコンパイル単位と対応しているかの視認性がよくなり、本実施の形態のCADシステム1を用いてプログラミングするときのプログラミングが容易となる。   Therefore, by providing the input field 31 and the input field 32 separately, the name input in the input field 32 can be input according to the C language convention, and the user can input a name that is easy for the user to understand. The name can be displayed on the program tree 21. As described above, since the user-friendly name can be displayed on the program tree 21, the visibility of which compilation unit the node corresponds to is improved. When programming is performed using the CAD system 1 of the present embodiment. Programming becomes easy.

また、入力欄33を設けることにより、入力制御のコンパイル単位の出力に関連づけて注釈をつけることが可能となる。したがって、プログラムツリー21上において、注釈がどのコンパイル単位に関連づけられているかを視覚的に理解することができるようになる。また、入力欄34を設けることにより、入力制御のコンパイル単位の出力に関連づけて履歴管理をすることが可能となる。したがって、プログラムツリー21上において、コンパイル単位のバージョンを容易に管理することができるようになる。   In addition, by providing the input field 33, it is possible to add an annotation in association with the output of the compilation unit of input control. Therefore, on the program tree 21, it is possible to visually understand which compilation unit the annotation is associated with. Also, by providing the input field 34, it is possible to manage the history in association with the output of the compile unit of input control. Therefore, the version of the compilation unit can be easily managed on the program tree 21.

なお、属性入力ウィンドウ30に示した更新履歴の例には、版数と変更内容のみが記載されているが、この他にも、変更日時や、変更作業者などの情報を入力してもよい。また、入力欄34は、3行しか表示されていないが、多くの情報を記入する必要がある場合には、スクロールバーを表示させることによって多くの情報を入力できるようにしてもよい。   In the example of the update history shown in the attribute input window 30, only the version number and the contents of the change are described, but in addition to this, information such as a change date and time, a change operator, etc. may be input. . In addition, although the input field 34 has only three lines displayed, if a large amount of information needs to be entered, a large amount of information may be input by displaying a scroll bar.

また、入力制御のコンパイル単位に対応する属性入力ウィンドウ30について説明したが、プログラムツリー21の他のコンパイル単位である、故障検出のコンパイル単位のノード26bと電源同期のコンパイル単位のノード26cにも属性入力ウィンドウ30と同様の構成をもつ属性入力ウィンドウが関連づけられているものとする。そして、故障検出のコンパイル単位や、電源同期のコンパイル単位に対応付けて属性を記録したい場合、対応するノードから属性入力ウィンドウを呼び出し、所定の入力欄に所定の事項を入力することにより、記録したい事項を記憶されることができるものとする。   Further, the attribute input window 30 corresponding to the input control compilation unit has been described, but the attribute is also applied to the node 26b of the failure detection compilation unit and the node 26c of the power supply synchronization compilation unit, which are other compilation units of the program tree 21. It is assumed that an attribute input window having the same configuration as that of the input window 30 is associated. And if you want to record the attribute in association with the failure detection compilation unit or the power supply synchronization compilation unit, you want to record by calling the attribute input window from the corresponding node and entering the predetermined item in the predetermined input field Matters can be stored.

次に、機能単位に対応する属性入力ウィンドウについて説明する。
図5は、電流制御の機能単位に対応する属性入力ウィンドウを示す図である。属性入力ウィンドウ40は、入力欄41、42、43、44、および45を備えている。属性入力ウィンドウ40は、電流制御のコンパイル単位のノード28aに関連づけられており、ノード28aを選択することによって表示することができる。
Next, an attribute input window corresponding to a functional unit will be described.
FIG. 5 is a diagram showing an attribute input window corresponding to a function unit of current control. The attribute input window 40 includes input fields 41, 42, 43, 44, and 45. The attribute input window 40 is associated with the node 28a of the current control compilation unit, and can be displayed by selecting the node 28a.

入力欄41は、機能単位の名称を入力するための入力欄であり、入力欄42は、出力名としてC言語に変換したときの関数名を入力するための入力欄である。入力欄41と入力欄42を別に設けた理由は、上述した入力欄31と入力欄32を別に設けた理由と同じく、C言語の形式で出力されたソースプログラムをコンパイルするときにはC言語の規約により使用できる文字に制限により、ユーザにとってわかりにくい名称しか付けられないという弊害を防ぐためである。   The input field 41 is an input field for inputting a name of a functional unit, and the input field 42 is an input field for inputting a function name when converted into C language as an output name. The reason why the input field 41 and the input field 42 are provided separately is the same as the reason why the input field 31 and the input field 32 are provided separately when compiling a source program output in the C language format according to the C language rules. This is to prevent the adverse effect that only the names that are difficult to understand for the user can be given due to restrictions on the characters that can be used.

また、入力欄43は、電流制御の機能単位に相当する副プログラムの引数を入力するための入力欄であり、入力欄44は、電流制御の機能単位に相当する副プログラムの戻り値を入力するための入力欄であり、入力欄45は、機能単位の説明を入力するための入力欄である。入力欄45を設けることにより、電流制御の機能単位に関連づけて機能説明を付けることが可能となる。したがってプログラムツリー21上において、機能説明がどの機能単位に関連づけられているかを視覚的に理解することができるようになる。   The input field 43 is an input field for inputting a subprogram argument corresponding to the current control function unit, and the input field 44 is used to input a return value of the subprogram corresponding to the current control function unit. The input field 45 is an input field for inputting a description of the functional unit. By providing the input field 45, it is possible to attach a function description in association with the current control function unit. Therefore, on the program tree 21, it is possible to visually understand which functional unit the functional description is associated with.

なお、電流制御の機能単位に対応する属性入力ウィンドウ40について説明したが、プログラムツリー21の電流制御の機能単位以外の機能単位についても、属性入力ウィンドウ40と同様の構成をもつ属性入力ウィンドウが関連づけられており、対応する属性入力ウィンドウから属性を入力できるものとする。   Although the attribute input window 40 corresponding to the current control functional unit has been described, the attribute input window having the same configuration as the attribute input window 40 is associated with the functional unit other than the current control functional unit of the program tree 21. It is assumed that the attribute can be input from the corresponding attribute input window.

次に、プロジェクトに対応する属性入力ウィンドウについて説明する。
図6は、プロジェクトに対応する属性入力ウィンドウを示す図である。属性入力ウィンドウ50は、プロジェクトのノード24に関連づけられており、ノード24を選択することによって表示することができる。属性入力ウィンドウ50は、プロジェクトの名称を入力するための入力欄51を備えている。また、リンクのための情報を入力する入力欄53を備えている。リンクのための情報は、プロジェクトのリンクのときに必要になる。つまり、プロジェクトに含まれるコンパイル単位の出力を結合するときに必要になる情報である。なお、リンクのための情報は、具体的にはリンクコマンドを指す。入力欄53に入力されているリンクコマンドは、各コンパイル単位のプログラムのコンパイルが終了したときに実行されるような、後処理コマンドのようにして実行される。
Next, the attribute input window corresponding to the project will be described.
FIG. 6 is a diagram showing an attribute input window corresponding to a project. The attribute input window 50 is associated with the project node 24 and can be displayed by selecting the node 24. The attribute input window 50 includes an input field 51 for inputting a project name. In addition, an input field 53 for inputting information for a link is provided. Information for linking is required when linking projects. In other words, this information is required when combining the output of compilation units included in the project. Note that the information for link specifically indicates a link command. The link command input in the input field 53 is executed like a post-processing command that is executed when the compilation of the program of each compilation unit is completed.

また、入力欄53に入力されたリンクコマンドを後処理コマンドとして捉えるならば、必ずしもリンクの情報ではないが、より一般的な後処理コマンドを記述できるようにすることも有用である。特に、各コンパイル単位をオブジェクト形式ではなく、C言語形式などにコンパイルする場合には、その後クロスコンパイラなどを用いてコンパイルを行ってからでないと、リンケージ・エディタでリンクを行うことができない。このような場合には、リンクコマンドにはクロスコンパイラによるコンパイルも含めた形でのコマンドを記述する必要がある。このように、リンクコマンドは広い意味で捉えるものとする。   In addition, if the link command input in the input field 53 is regarded as a post-processing command, it is also useful to be able to describe a more general post-processing command, although it is not necessarily link information. In particular, when compiling each compile unit not in the object format but in the C language format or the like, it is not possible to link with the linkage editor without compiling using a cross compiler or the like thereafter. In such a case, it is necessary to describe the command including the compilation by the cross compiler in the link command. In this way, link commands are understood in a broad sense.

さらに、説明を入力する入力欄52が設けてある。しかしながら、この入力欄52に記入されている内容は、図4の入力欄33や図5の入力欄45のように後述するコンパイル後のプログラムへ記述されるようなコメントではない。なぜならば、プロジェクト単位は、コンパイル単位を超えた単位であるため、各々のコンパイル時には、プロジェクトの情報は参照されないためである。以上からわかるとおり、プロジェクトは構造化プログラミングを反映させたものというよりは、構造化プログラミングを反映させたコンパイル単位などの概念をプログラムツリー21上で視覚的にわかりやすく表現するための補佐をするものとして有効な概念である。   Further, an input field 52 for inputting a description is provided. However, the contents entered in the input field 52 are not comments as described in a compiled program, which will be described later, like the input field 33 in FIG. 4 and the input field 45 in FIG. This is because the project unit is a unit that exceeds the compilation unit, and therefore, the project information is not referred to at the time of each compilation. As can be seen from the above, the project does not reflect structured programming, but assists the visual representation of the concepts such as compilation units that reflect structured programming on the program tree 21. As an effective concept.

次に、各属性入力ウィンドウから入力された情報を記憶、管理する機能について説明する。
図7は、記憶部のデータ構成例を示す図である。図7に示すように、記憶部60は、ファイル格納部61a、61b、および61cを備えている。ファイル格納部61a、61b、および61cは、プログラムツリー21に設定されている3つのコンパイル単位に対応している。ここでは、ファイル格納部61aは、入力制御のコンパイル単位に対応しており、ファイル格納部61bは、故障検出のコンパイル単位に対応しており、ファイル格納部61cは、電源同期のコンパイル単位に対応しているものとする。
Next, a function for storing and managing information input from each attribute input window will be described.
FIG. 7 is a diagram illustrating a data configuration example of the storage unit. As shown in FIG. 7, the storage unit 60 includes file storage units 61a, 61b, and 61c. The file storage units 61a, 61b, and 61c correspond to three compilation units set in the program tree 21. Here, the file storage unit 61a corresponds to a compilation unit for input control, the file storage unit 61b corresponds to a compilation unit for failure detection, and the file storage unit 61c corresponds to a compilation unit for power supply synchronization. Suppose you are.

また、ファイル格納部61a、61b、および61cの名称62a、62b、および62cは、プログラムツリー21上に表示されている、各コンパイル単位の名称27a、27b、および27cと同一とする。すると、HDD103上でコンパイル単位を探す場合、プログラムツリー21上と同一の名称を探せばよいので利便性が高まる。また、コンパイル単位のノードに物理的なファイル格納部を関連づけることにより、処理内容を直接記述しないコンパイル単位に実体を与えることができ、データとしての識別が容易になる。   In addition, the names 62a, 62b, and 62c of the file storage units 61a, 61b, and 61c are the same as the names 27a, 27b, and 27c of the respective compilation units displayed on the program tree 21. Then, when searching for a compilation unit on the HDD 103, it is only necessary to search for the same name as that on the program tree 21, so that convenience is enhanced. In addition, by associating a physical file storage unit with a node of a compile unit, an entity can be given to a compile unit that does not describe processing contents directly, and identification as data is facilitated.

記憶部60に設けられた3つのファイル格納部61a、61b、および61cは、たとえば、Microsoft(登録商標)社製のWindows(登録商標)ではフォルダ、UNIX(登録商標)やMicrosoft社製MS−DOS(登録商標)などではディレクトリと呼ばれているものを指す。   The three file storage units 61a, 61b, and 61c provided in the storage unit 60 are, for example, a folder (Windows) manufactured by Microsoft (registered trademark), a UNIX (registered trademark), or MS-DOS manufactured by Microsoft Corporation. (Registered trademark) refers to what is called a directory.

各コンパイル単位には、属性入力ウィンドウ30において入力した各種属性が関連づけられているが、これらの入力情報は、HDD103内に設けられた記憶部60のファイル格納部61a、61b、および61cに格納される。そのときのファイル格納部61aのデータ構造例を図8に示す。   Various attributes input in the attribute input window 30 are associated with each compilation unit, and these pieces of input information are stored in the file storage units 61a, 61b, and 61c of the storage unit 60 provided in the HDD 103. The An example of the data structure of the file storage unit 61a at that time is shown in FIG.

図8は、ファイル格納部のデータ構造例を示す図である。図8においては、図7に示した3つのコンパイル単位に対応するファイル格納部61a、61b、および61cのうち、一番上に示されている入力制御のコンパイル単位のファイル格納部61aについてのデータ構造例を示している。   FIG. 8 is a diagram illustrating an example of the data structure of the file storage unit. In FIG. 8, among the file storage units 61a, 61b, and 61c corresponding to the three compilation units shown in FIG. 7, the data about the file storage unit 61a of the input control compilation unit shown at the top. An example structure is shown.

図8に示すように、ファイル格納部61aには、属性ファイル64、階層情報ファイル65、処理内容ファイル66、および処理内容情報ファイル67が格納されている。属性ファイル64は、属性入力ウィンドウ30の所定の入力欄から入力された入力制御のコンパイル単位の属性が記録されている。階層情報ファイル65は、プログラムツリー21から明らかなようにコンパイル単位中には機能単位が階層状に入力されているので、この階層構造の情報が記憶されている。   As shown in FIG. 8, the file storage unit 61a stores an attribute file 64, a hierarchy information file 65, a processing content file 66, and a processing content information file 67. The attribute file 64 records attributes of a compilation unit of input control input from a predetermined input field of the attribute input window 30. As is clear from the program tree 21, the hierarchical information file 65 stores information on the hierarchical structure because functional units are input in a hierarchical manner in the compilation unit.

なお、図示はしていないが、これらの情報は同一のファイルに入れてもよい。また、階層構造を記述するには、XML(eXtensible Markup Language)などのマークアップ記述言語を利用すると、DOM(Document Object Model)などの一般的に流通している仕組みを利用することが可能となるため好都合である。   Although not shown, these pieces of information may be stored in the same file. In order to describe a hierarchical structure, when a markup description language such as XML (eXtensible Markup Language) is used, a generally distributed mechanism such as DOM (Document Object Model) can be used. Therefore, it is convenient.

ところで、各機能単位は処理内容を持つが、その処理内容は同じコンパイル単位内にあるすべての機能単位の処理内容と共にまとめて処理内容ファイル66に記録する。また、コンパイル単位内の各機能単位の属性情報をまとめて処理内容情報ファイル67に記録する。   By the way, each functional unit has a processing content, but the processing content is collectively recorded in the processing content file 66 together with the processing content of all the functional units in the same compilation unit. Further, the attribute information of each functional unit in the compilation unit is collectively recorded in the processing content information file 67.

以上のように、コンパイル単位を構成する属性情報、階層情報、処理内容をすべてファイルの実体としてコンパイル単位に対応する1つのファイル中に格納されるので、ファイル格納部61aを中身ごと移動・複写することが可能となるので可搬性が向上する。また、モジュールとして再利用も可能となるので、一度テストされたコンパイル単位であれば、それを改変することなく再利用することができるので、再利用性も向上し、プログラム品質の向上にも寄与することができる。   As described above, since the attribute information, hierarchy information, and processing contents constituting the compilation unit are all stored in one file corresponding to the compilation unit as the file entity, the file storage unit 61a is moved and copied in accordance with the contents. Portability is improved. Also, since it can be reused as a module, once a compilation unit has been tested, it can be reused without modification, improving reusability and improving program quality. can do.

図9は、ファイル格納部のデータ構造例を示す図である。図9に示すように、ファイル格納部61dは、属性ファイル64、階層情報ファイル65、電流制御ファイル66a、電流指令演算ファイル66b、電流調整器ファイル66c、電圧分配ファイル66d、およびPWM変調器ファイル66eを備えている。   FIG. 9 is a diagram illustrating an example of the data structure of the file storage unit. As shown in FIG. 9, the file storage unit 61d includes an attribute file 64, a hierarchy information file 65, a current control file 66a, a current command calculation file 66b, a current regulator file 66c, a voltage distribution file 66d, and a PWM modulator file 66e. It has.

ファイル格納部61dは、図8に示したファイル格納部61aと同様に入力制御のコンパイル単位とそのコンパイル単位に含まれる機能単位の属性情報を記憶するファイルを格納する。しかし、ファイル格納部61dには、処理内容ファイル66と処理内容情報ファイル67がない。   Similarly to the file storage unit 61a shown in FIG. 8, the file storage unit 61d stores a file for storing input control compilation units and functional unit attribute information included in the compilation units. However, the file storage unit 61d does not have the processing content file 66 and the processing content information file 67.

ファイル格納部61dには、機能単位を表す各ノードに対応した処理内容を記録するファイルを設ける。つまり、ファイル格納部61d内に、ファイル格納部61dに対応する入力制御のコンパイル単位に含まれる各機能単位に対応した処理内容を記録したファイルをそれぞれ設ける。図9に示すように、コンパイル単位の属性を記憶する属性ファイル64、コンパイル単位に含まれる機能単位の階層構造の情報を記憶する階層情報ファイル65、電流制御の機能単位に対応する電流制御ファイル66a、電流指令演算の機能単位に対応する電流指令演算ファイル66b、電流調整器の機能単位に対応する電流調整器ファイル66c、電圧分配の機能単位に対応する電圧分配ファイル66d、およびPWM変調器の機能単位に対応するPWM変調器ファイル66eを備えている。   The file storage unit 61d is provided with a file for recording processing contents corresponding to each node representing a functional unit. That is, a file in which processing contents corresponding to each functional unit included in the compilation unit of input control corresponding to the file storage unit 61d is provided in the file storage unit 61d. As shown in FIG. 9, an attribute file 64 for storing attributes of compilation units, a hierarchical information file 65 for storing information on the hierarchical structure of functional units included in the compilation units, and a current control file 66a corresponding to the functional units of current control. The current command calculation file 66b corresponding to the functional unit of current command calculation, the current regulator file 66c corresponding to the functional unit of the current regulator, the voltage distribution file 66d corresponding to the functional unit of voltage distribution, and the function of the PWM modulator A PWM modulator file 66e corresponding to the unit is provided.

なお、ファイル格納部61dにおいて各機能単位の属性情報は、処理内容を記述したファイル内に一緒に保存するため、ファイル格納部61aにおいて示した処理内容情報ファイル67に対応するファイルはファイル格納部61dにはない。また、必要に応じて処理内容情報ファイル67に対応するファイルを設けてもよい。   In the file storage unit 61d, the attribute information of each functional unit is stored together in a file describing the processing content, so the file corresponding to the processing content information file 67 shown in the file storage unit 61a is the file storage unit 61d. Not. Further, a file corresponding to the processing content information file 67 may be provided as necessary.

以上のように、ファイル格納部61aでは、コンパイル単位中のすべての機能単位の情報を1つのファイルに保存していたが、ファイル格納部61dにおいては、各機能単位に対応するファイルを設けることにより、各機能単位に分けて保存するようにしている。このようにすることにより、機能単位に対応するファイル66a〜66eのサイズが小さくなることが期待されるので、処理能力の低い計算機上でも負荷をかけずに処理できるようなCADシステム1を提供することが可能となる。   As described above, in the file storage unit 61a, information of all functional units in the compilation unit is stored in one file. However, in the file storage unit 61d, by providing a file corresponding to each functional unit. , It is saved separately for each functional unit. By doing so, it is expected that the size of the files 66a to 66e corresponding to the functional unit will be reduced. Therefore, the CAD system 1 is provided which can be processed without load even on a computer with low processing capability. It becomes possible.

ところで、属性入力ウィンドウ30、40、50から入力された各種情報はCADシステム1上でプログラムを製作しているときだけではなく、C言語などの高級言語形式にコンパイルした後のプログラムを見る場合にも用いられる。   By the way, the various information input from the attribute input windows 30, 40, 50 is not only when the program is produced on the CAD system 1, but also when viewing the program after being compiled into a high-level language format such as C language. Is also used.

図10、図11は、入力制御のコンパイル単位をコンパイルしたときのプログラムソースを示す図である。図10、図11に示すプログラムソース70は、本来1つのプログラムソースであるが、便宜上2つの図に分けて説明する。   10 and 11 are diagrams showing program sources when compiling input control compilation units. The program source 70 shown in FIG. 10 and FIG. 11 is originally one program source, but will be described in two drawings for convenience.

図10に示すように、属性入力ウィンドウ30から入力される入力制御のコンパイル単位の各種情報は、ヘッダの後にコメントとして挿入される。また、属性入力ウィンドウ40から入力される電流制御の機能単位の各種情報は、電流制御の機能単位に対応する関数であるint CurrentControl(int lin, int Vdc);の直前にコメントとして挿入される。なお、図11に示すように、電流制御以外の機能単位に対応する関数の直前にも属性入力ウィンドウから入力される各種情報がコメントとして挿入される。   As shown in FIG. 10, various pieces of information on the compilation unit of input control input from the attribute input window 30 are inserted as comments after the header. In addition, various pieces of information on the current control functional unit input from the attribute input window 40 are inserted as comments immediately before int CurrentControl (int lin, int Vdc); which is a function corresponding to the current control functional unit. As shown in FIG. 11, various information input from the attribute input window is also inserted as a comment immediately before a function corresponding to a functional unit other than current control.

次に、本実施の形態のCADシステム1における画面表示例について説明する。
図12は、本実施の形態のCADシステムの画面表示例を示す図である。画面表示例20には、プログラムツリー21と処理内容表示ウィンドウ22が表示されている。処理内容表示ウィンドウ22は、電流制御の機能単位の処理内容を表示したときの画面表示例である。
Next, a screen display example in the CAD system 1 of the present embodiment will be described.
FIG. 12 is a diagram illustrating a screen display example of the CAD system according to the present embodiment. In the screen display example 20, a program tree 21 and a processing content display window 22 are displayed. The processing content display window 22 is a screen display example when the processing content of the current control function unit is displayed.

上述のとおり、コンパイル単位はプログラムの処理機能を有する機能単位を入れる外枠でしかない。つまり、入力作業などのプログラムの製作作業や、プログラムの参照作業などを行うための情報は機能単位にある情報である。したがって、処理内容を表示する処理内容表示ウィンドウ22には、機能単位に対応した処理内容を表示する。   As described above, the compilation unit is only an outer frame in which a functional unit having a program processing function is placed. That is, information for performing program production work such as input work, program reference work, and the like is information in functional units. Therefore, the processing content corresponding to the functional unit is displayed in the processing content display window 22 for displaying the processing content.

CADシステム1において、処理内容表示ウィンドウ22には機能単位ごとの処理内容が表示されると、機能単位内と機能単位外が表示の上で強制的が分離される。すると、処理内容表示ウィンドウ22に表示されている処理内容以外のことを気にすることなく作業することができることより、より構造化プログラミングに適合した手法でプログラミングをすることが可能となる。   In the CAD system 1, when the processing content for each functional unit is displayed in the processing content display window 22, compulsory separation is performed on the display inside the functional unit and outside the functional unit. Then, since it is possible to work without worrying about things other than the processing content displayed in the processing content display window 22, it becomes possible to perform programming by a technique more suitable for structured programming.

なお、図式プログラムにおいては、すべてのプログラムを図で表現する場合に加え、図にC言語のプログラムの部分もしくは全体を割り当てるなどして、直接C言語で記述する部分を含めることもある。また、処理内容表示ウィンドウに表示するプログラムは必ずしも図式プログラムである必要はなく、テキスト形式で記述されたプログラムでもよい。   In the graphical program, in addition to the case where all the programs are represented in a diagram, a portion described in the C language may be included directly by assigning a part or the whole of the C language program to the diagram. Further, the program displayed in the processing content display window is not necessarily a graphical program, and may be a program described in a text format.

図13は、CADシステムで処理内容表示ウィンドウを複数枚表示させたときの画面表示例を示す図である。画面表示例20aには、プログラムツリー21と処理内容表示ウィンドウ22、22a、および22bが表示されている。処理内容表示ウィンドウ22aは、電圧分配の機能単位の処理内容が表示されるウィンドウであり、処理内容表示ウィンドウ22bは、PWM変調器の機能単位の処理内容が表示されるウィンドウである。   FIG. 13 is a diagram illustrating a screen display example when a plurality of processing content display windows are displayed in the CAD system. In the screen display example 20a, a program tree 21 and processing content display windows 22, 22a, and 22b are displayed. The processing content display window 22a is a window for displaying the processing content of the functional unit of voltage distribution, and the processing content display window 22b is a window for displaying the processing content of the functional unit of the PWM modulator.

プログラムツリー21には、複数の機能単位が含まれているので、一度に複数枚の処理内容表示ウィンドウを開くことができると、他の機能単位の処理内容と比較することができる。また、他の機能単位の処理内容と比較しながら処理内容の流れを追うことができる。たとえば、親階層の処理内容と子階層の処理内容を同時に見ることが可能となり利便性が向上する。   Since the program tree 21 includes a plurality of functional units, if a plurality of processing content display windows can be opened at a time, the processing content of other functional units can be compared. In addition, the flow of processing contents can be followed while comparing with the processing contents of other functional units. For example, the processing contents of the parent hierarchy and the processing contents of the child hierarchy can be viewed at the same time, and convenience is improved.

図14は、処理内容表示ウィンドウで副プログラムブロックを表示させるときのCADシステムの画面表示例を示す図である。画面表示例20bには、プログラムツリー21と処理内容表示ウィンドウ22aが表示されている。プログラムツリー21の機能単位は階層構造を形成している。これは、下位の機能単位は上位の機能単位の副プログラムであるともいえる。したがって、当該上位の機能単位に該当する機能単位の処理内容を処理内容表示ウィンドウで表示させると、処理内容として当該下位の機能単位に該当する副プログラムが表示されることになる。この画面表示例を示したものが処理内容表示ウィンドウ22aである。   FIG. 14 is a diagram illustrating a screen display example of the CAD system when the sub program block is displayed in the processing content display window. In the screen display example 20b, a program tree 21 and a processing content display window 22a are displayed. The functional units of the program tree 21 form a hierarchical structure. It can be said that the lower functional unit is a subprogram of the upper functional unit. Therefore, when the processing content of the functional unit corresponding to the upper functional unit is displayed in the processing content display window, the subprogram corresponding to the lower functional unit is displayed as the processing content. An example of the screen display is a processing content display window 22a.

処理内容表示ウィンドウ22aは、電圧分配の機能単位の処理内容を表示している。プログラムツリー21に示したとおり、この電圧分配の機能単位は、PWM変調器の機能単位を副プログラムとして含んでいる。処理内容表示ウィンドウ22aに表示されている機能単位ブロック23は、この副プログラムを表している。   The processing content display window 22a displays the processing content of voltage distribution functional units. As shown in the program tree 21, the functional unit of voltage distribution includes the functional unit of the PWM modulator as a subprogram. The functional unit block 23 displayed in the processing content display window 22a represents this subprogram.

副プログラムは、上位のプログラム中では1つのまとまった機能を持つため、1つのブロックで表すようにする。機能単位ブロック23は、左側に2つの接続点、右側に1つの接続点を持っているが、左側の接続点を入力信号、右側の接続点を出力信号と見なすとするならば、この副プログラムは、2入力1出力の副プログラムを表すことになる。このように、機能単位に含まれる副プログラムを機能単位ブロックとして表示すると視認性がよりよくなる。   Since the subprogram has one function in the upper program, it is represented by one block. The functional unit block 23 has two connection points on the left side and one connection point on the right side. If the left connection point is regarded as an input signal and the right connection point is regarded as an output signal, this subprogram Represents a sub-program having two inputs and one output. Thus, visibility is improved when the subprograms included in the functional unit are displayed as functional unit blocks.

図15は、機能単位ブロックから処理内容表示ウィンドウを表示させるときのCADシステムの画面表示例を示す図である。画面表示例20cには、プログラムツリー21と処理内容表示ウィンドウ22a、22cが表示されている。処理内容表示ウィンドウ22aに表示されている図式プログラムの機能単位ブロック23には処理内容表示ウィンドウ22cが関連づけられており、機能単位ブロック23を選択すると処理内容表示ウィンドウ22cが開く。また、処理内容表示ウィンドウ22cには、機能単位ブロック23に対応する副プログラムの処理内容が表示される。複数の機能単位に対応した処理内容が表示できるCADシステム1においては、副プログラムの内容をプログラムツリー21からだけでなく、処理内容表示ウィンドウに表示されている図式プログラムからも処理内容表示ウィンドウを開けると便利である。   FIG. 15 is a diagram illustrating a screen display example of the CAD system when the processing content display window is displayed from the functional unit block. In the screen display example 20c, a program tree 21 and processing content display windows 22a and 22c are displayed. A processing content display window 22c is associated with the functional unit block 23 of the graphical program displayed in the processing content display window 22a. When the functional unit block 23 is selected, the processing content display window 22c is opened. The processing content display window 22c displays the processing content of the subprogram corresponding to the functional unit block 23. In the CAD system 1 capable of displaying processing contents corresponding to a plurality of functional units, the processing contents display window can be opened not only from the program tree 21 but also from the graphical program displayed in the processing contents display window. And convenient.

図16は、機能単位ブロックに対応する機能単位の名称を表示した場合のCADシステムの画面表示例を示す図である。画面表示例20dは、プログラムツリー21と処理内容表示ウィンドウ22dが表示されている。処理内容表示ウィンドウ22dに表示されている機能単位ブロック23aには、機能単位ブロック23aに対応する機能単位の名称23bが表示されている。   FIG. 16 is a diagram illustrating a screen display example of the CAD system when the names of functional units corresponding to the functional unit blocks are displayed. In the screen display example 20d, a program tree 21 and a processing content display window 22d are displayed. In the functional unit block 23a displayed in the processing content display window 22d, a functional unit name 23b corresponding to the functional unit block 23a is displayed.

上記図15で示したように、機能単位ブロックを選択することによって、機能単位ブロックに対応した処理内容が見えることは利便性を向上するが、そのような動作をしなくても内容がわかればさらに利便性が向上する。そこで、対応する機能単位に対応するプログラムツリー21上の名前を図式プログラム中の機能単位に対応する機能単位ブロック23a中に表示させることによって、プログラムツリー21上での処理内容の理解が容易であったのと同様に、図式プログラム中においても理解が容易になる。   As shown in FIG. 15 above, it is convenient to select the functional unit block so that the processing content corresponding to the functional unit block can be seen. However, if the content can be understood without performing such an operation, as shown in FIG. Furthermore, convenience is improved. Therefore, by displaying the name on the program tree 21 corresponding to the corresponding functional unit in the functional unit block 23a corresponding to the functional unit in the schematic program, it is easy to understand the processing contents on the program tree 21. As with, it is easy to understand in the graphical program.

図17は、取り込みウィンドウの表示例である。図17に示す取り込みウィンドウ80は、インバータ制御のプロジェクトのノード24に関連づけられた画面を開いたときに開くウィンドウを示したときの例である。たとえば、別のプロジェクトで製作したようなコンパイル単位を、自プロジェクトに取り込む機能を用いる際に表示する。CADシステム1において、コンパイル単位はファイル格納部という形で実装されているので、取り込みたいコンパイル単位のファイル格納部をコピーなどして自プロジェクトのファイル格納部に取り込むことにより、すでに製作されたコンパイル単位を容易に取り入れることができる。   FIG. 17 is a display example of the capture window. An import window 80 shown in FIG. 17 is an example when a window opened when a screen associated with the node 24 of the inverter control project is opened is shown. For example, this is displayed when using a function for importing a compilation unit produced in another project into the own project. In the CAD system 1, since the compilation unit is implemented in the form of a file storage unit, the compilation unit already produced by copying the file storage unit of the compilation unit desired to be imported into the file storage unit of the own project by copying or the like. Can be easily incorporated.

ノード24には、属性入力ウィンドウ50と取り込みウィンドウ80という2つのウィンドウが関連づけられている。それぞれのウィンドウを開きたいときの操作は、たとえば、マウスを使用したウィンドウシステムにおいて、ノード24をマウスカーソルでポイントし、マウスボタンをクリックすると複数のメニューを開くようにし、そのメニューから所望のウィンドウを選んで画面を開くような操作を指す。   The node 24 is associated with two windows, an attribute input window 50 and a capture window 80. To open each window, for example, in a window system using a mouse, the node 24 is pointed with the mouse cursor, and a plurality of menus are opened by clicking the mouse button, and a desired window is opened from the menu. An operation that opens a screen by selecting it.

コンパイル単位は、HDD103上には、コンパイル単位を表す各ノードに対応したファイル格納部により、HDD103上にそのコンパイル単位のすべての情報を含む形でファイルを格納している。また、ファイル格納部は、プログラムツリー21上の対応するノードに付されている名称と同じ名称が付されているので、取り込みウィンドウ80では、取り込みたいコンパイル単位のファイル格納部のパスを入力欄81に入力して取り込みを行う。   The compilation unit stores a file on the HDD 103 in a form including all information of the compilation unit on the HDD 103 by a file storage unit corresponding to each node representing the compilation unit. Further, since the file storage unit has the same name as the name assigned to the corresponding node on the program tree 21, in the import window 80, the path of the file storage unit of the compile unit to be captured is input in the input field 81. Enter in to import.

次に、取り込みを行ったときのプロジェクトの変化を具体的に説明する。
図18は、取り込みを行う前のプロジェクトをツリー状に示した図であり、図19は、取り込みを行うプロジェクトとは別に製作されたプロジェクトをツリー状に示した図である。
Next, the changes in the project when importing will be described in detail.
FIG. 18 is a diagram showing a project before importing in a tree shape, and FIG. 19 is a diagram showing a project produced separately from the project to be imported in a tree shape.

プログラムツリー21aに示したプロジェクトから、プログラムツリー21bに示したプロジェクトの中のプログラムを取り込んで使用したいとき、図18に示したインバータ制御のプロジェクトのノード24aを選択し、取り込みウィンドウ80を開く。そして、プログラムツリー21bの中にある電源同期のコンパイル単位を指定して取り込みを行うと、電源同期のコンパイル単位がプログラムツリー21aとして示したプロジェクトに取り込まれる。そして、その結果としてプログラムツリー21に示したプロジェクトを製作することができる。   When it is desired to import and use a program in the project shown in the program tree 21b from the project shown in the program tree 21a, the node 24a of the inverter control project shown in FIG. 18 is selected and the import window 80 is opened. When a power supply synchronization compile unit in the program tree 21b is designated and taken in, the power supply synchronization compile unit is taken into the project shown as the program tree 21a. As a result, the project shown in the program tree 21 can be produced.

図20は、省略表示した場合のプログラムツリーの表示例である。プログラムツリー21cは、コンパイル単位の直下にある機能単位は表示するが、それより下の階層にある機能単位は表示を省略して、プログラムツリー21として示したプロジェクトを表示したものである。記号90は、直右の機能単位の下位に属する機能単位は表示を省略していることを示す記号である。このように、表示させることにより、コンパイル単位のノードの直下にある機能単位だけを表示させている。   FIG. 20 shows a display example of the program tree when the display is omitted. The program tree 21c displays the project shown as the program tree 21 while displaying the functional units immediately below the compilation unit but omitting the display of the functional units below it. The symbol 90 is a symbol indicating that the display of the functional unit belonging to the lower right of the functional unit is omitted. By displaying in this way, only the functional units immediately below the node of the compilation unit are displayed.

このようにすることにより、コンパイル単位の直下にある機能単位はコンパイル単位外への公開機能とし、そうでない機能単位はその直上の機能単位の副プログラムとしてコンパイル単位外へは非公開であるとすると、プログラムツリー21cは、各コンパイル単位にはどのような公開機能が実装されているのかを列挙したことになるため、各コンパイル単位の再利用を行うときにはとても有用となる。また、プログラムツリー21cにおいて表示が省略されている機能単位は、それぞれのコンパイル単位内部でのみ使用可能な機能単位であることが視覚的に明確に確認することが可能となる。また、このようなコンパイル単位内部でのみ使用可能な機能単位を製作する場合には、その範囲内でしか使用しないという限定事項の元に製作することができるので単純化できる。したがって、製作の手数や検査の手数を低減させることができるので、製作にかかる負担を低減させ、また、仕様の複雑さに由来する品質の低下を避けることができる。   By doing this, suppose that the functional unit directly below the compilation unit is a public function outside the compilation unit, and the functional unit that is not is a private program outside the compilation unit as a subprogram of the functional unit immediately above it. Since the program tree 21c enumerates what public functions are implemented in each compilation unit, it is very useful when reusing each compilation unit. Further, it is possible to visually and clearly confirm that the functional unit whose display is omitted in the program tree 21c is a functional unit that can be used only within each compilation unit. Further, when a functional unit that can be used only within such a compile unit is manufactured, it can be simplified because it can be manufactured based on the limitation that it is used only within that range. Therefore, since the number of manufacturing steps and the number of inspection steps can be reduced, the burden on the manufacturing can be reduced, and the deterioration of quality due to the complexity of specifications can be avoided.

次に、コンパイル単位直下の機能単位のみ公開機能とした場合のプログラムソースの変化を、具体的にC言語形式でコンパイルしたプログラムソースを用いて説明する。
図21は、コンパイル単位直下の機能単位のみ公開機能とした場合のプロジェクトのヘッダファイルを示した図である。ヘッダファイル71には、プロジェクトにおけるコンパイル単位の直下にある機能単位が当該コンパイル単位外から参照され得るため、当該機能単位に相当する関数の外部参照宣言が記載されている。プログラムツリー21のノード26aの直下にはノード28aとノード28eが接続されていることからわかるように、入力制御のコンパイル単位の直下には電流制御の機能単位と直流電圧制御の機能単位が存在する。入力制御のコンパイル単位が含む機能単位のうち、電流制御の機能単位と直流電圧制御の機能単位のみが外部から参照され得る。したがって、ヘッダファイル71は、電流制御の機能単位と直流電圧制御の機能単位がインバータ制御のプロジェクトの外部から読み出しが可能になるように、電流制御の機能単位に対応する関数の関数宣言であるint CurrentControl(int lin, int Vdc);と、直流電圧制御の機能単位に対応する関数の関数宣言であるint DCVoltageController(int Vdc);が記載されている。
Next, the change of the program source when only the functional unit immediately below the compilation unit is set as the public function will be described using the program source compiled specifically in the C language format.
FIG. 21 is a diagram showing a project header file in the case where only the functional unit immediately under the compilation unit is a public function. In the header file 71, since the functional unit immediately below the compilation unit in the project can be referred from outside the compilation unit, an external reference declaration of a function corresponding to the functional unit is described. As can be seen from the fact that the node 28a and the node 28e are connected immediately below the node 26a of the program tree 21, there are a functional unit for current control and a functional unit for DC voltage control immediately below the compilation unit for input control. . Of the functional units included in the compile unit for input control, only the functional unit for current control and the functional unit for DC voltage control can be referred to from the outside. Therefore, the header file 71 is an int that is a function declaration of a function corresponding to the current control functional unit so that the current control functional unit and the DC voltage control functional unit can be read from the outside of the inverter control project. CurrentControl (int lin, int Vdc); and int DCVoltageController (int Vdc), which is a function declaration of a function corresponding to a functional unit of DC voltage control.

図22は、コンパイル単位直下の機能単位のみ公開機能とした場合のプロジェクトのプログラムソースの冒頭部を示した図である。図22に示すように、図10に示したプログラムソース70の冒頭部分は、ヘッダファイル71を参照するように外部参照宣言が記載される。   FIG. 22 is a diagram showing the beginning of the program source of the project when only the functional unit immediately below the compilation unit is set as the public function. As shown in FIG. 22, an external reference declaration is described in the beginning portion of the program source 70 shown in FIG. 10 so as to refer to the header file 71.

図23は、コンパイル単位の外部から機能単位を参照する機能単位を追加したプログラムツリーを示す図である。図23に示すように、プログラムツリー21dには、インバータ制御のプロジェクトのノード24の下にメインのコンパイル単位のノード26dが追加されている。また、メインのコンパイル単位には割り込みメインの機能単位が含まれており、割り込みメインの機能単位のノード28fは、ノード26dに従属するように表示される。   FIG. 23 is a diagram illustrating a program tree in which a functional unit that refers to a functional unit from outside the compilation unit is added. As shown in FIG. 23, a main compile unit node 26d is added to the program tree 21d under the node 24 of the inverter control project. The main compilation unit includes the interrupt main functional unit, and the interrupt main functional unit node 28f is displayed so as to be subordinate to the node 26d.

たとえば、割り込みメインの機能単位が、他のコンパイル単位に含まれる機能単位を呼び出しているとするときの様子をプログラムソースを用いて説明する。
図24は、メインのコンパイル単位のプログラムソースを示す図である。図24に示すように、プログラムソース72は、割り込みメインの機能単位が入力制御のコンパイル単位に含まれている電流制御の機能単位と直流電圧制御の機能単位を呼び出している様子を表している。
For example, a state when the functional unit of the interrupt main calls a functional unit included in another compile unit will be described using a program source.
FIG. 24 is a diagram showing a program source of a main compilation unit. As shown in FIG. 24, the program source 72 represents a state in which the interrupt main function unit calls the current control function unit and the DC voltage control function unit included in the input control compilation unit.

なお、上記実施の形態においては、一部のノードのみに対する説明を行った部分があるが、説明をしなかった他のノードに対しても上記実施の形態で説明した処理を行うことにより、当然に同様の効果を得ることができる。   In the above-described embodiment, there are portions that have been described for only some of the nodes, but naturally, by performing the processing described in the above-described embodiments for other nodes that have not been described, The same effect can be obtained.

本実施の形態に適用される発明の概念図である。It is a conceptual diagram of the invention applied to this Embodiment. 本実施の形態に用いる端末装置のハードウェア構成例を示す図である。It is a figure which shows the hardware structural example of the terminal device used for this Embodiment. 本実施の形態のプログラムツリーの表示例である。It is an example of a display of the program tree of this Embodiment. 入力制御のコンパイル単位に対応する属性入力ウィンドウを示す図である。It is a figure which shows the attribute input window corresponding to the compilation unit of input control. 電流制御の機能単位に対応する属性入力ウィンドウを示す図である。It is a figure which shows the attribute input window corresponding to the functional unit of electric current control. プロジェクトに対応する属性入力ウィンドウを示す図である。It is a figure which shows the attribute input window corresponding to a project. 記憶部のデータ構成例を示す図である。It is a figure which shows the data structural example of a memory | storage part. ファイル格納部のデータ構造例を示す図である。It is a figure which shows the example of a data structure of a file storage part. ファイル格納部のデータ構造例を示す図である。It is a figure which shows the example of a data structure of a file storage part. 入力制御のコンパイル単位をコンパイルしたときのプログラムソースを示す図である。It is a figure which shows the program source when the compilation unit of input control is compiled. 入力制御のコンパイル単位をコンパイルしたときのプログラムソースを示す図である。It is a figure which shows the program source when the compilation unit of input control is compiled. 本実施の形態のCADシステムの画面表示例を示す図である。It is a figure which shows the example of a screen display of the CAD system of this Embodiment. CADシステムで処理内容表示ウィンドウを複数枚表示させたときの画面表示例を示す図である。It is a figure which shows the example of a screen display when a plurality of process content display windows are displayed with a CAD system. 処理内容表示ウィンドウで副プログラムブロックを表示させるときのCADシステムの画面表示例を示す図である。It is a figure which shows the example of a screen display of a CAD system when displaying a subprogram block in a process content display window. 機能単位ブロックから処理内容表示ウィンドウを表示させるときのCADシステムの画面表示例を示す図である。It is a figure which shows the example of a screen display of a CAD system when displaying a processing content display window from a functional unit block. 機能単位ブロックに対応する機能単位の名称を表示した場合のCADシステムの画面表示例を示す図である。It is a figure which shows the example of a screen display of a CAD system at the time of displaying the name of the functional unit corresponding to a functional unit block. 取り込みウィンドウの表示例である。It is a display example of an import window. 取り込みを行う前のプロジェクトをツリー状に示した図である。It is the figure which showed the project before taking in in the shape of a tree. 取り込みを行うプロジェクトとは別に製作されたプロジェクトをツリー状に示した図である。It is the figure which showed the project produced separately from the project which performs import in the shape of a tree. 省略表示した場合のプログラムツリーの表示例である。It is a display example of a program tree when omitted. コンパイル単位直下の機能単位のみ公開機能とした場合のプロジェクトのヘッダファイルを示した図である。It is the figure which showed the header file of the project at the time of setting only the functional unit immediately under a compilation unit as an open function. コンパイル単位直下の機能単位のみ公開機能とした場合のプロジェクトのプログラムソースの冒頭部を示した図である。It is the figure which showed the beginning of the program source of the project when only the functional unit immediately under the compilation unit is a public function. コンパイル単位の外部から機能単位を参照する機能単位を追加したプログラムツリーを示す図である。It is a figure which shows the program tree which added the functional unit which refers a functional unit from the exterior of a compilation unit. メインのコンパイル単位のプログラムソースを示す図である。It is a figure which shows the program source of the main compilation unit.

符号の説明Explanation of symbols

1 CADシステム
10 端末装置
11 マウス
12 キーボード
13 モニタ
20 画面表示例
21 プログラムツリー
22 処理内容表示ウィンドウ
1 CAD system 10 Terminal device 11 Mouse 12 Keyboard 13 Monitor 20 Screen display example 21 Program tree 22 Processing content display window

Claims (43)

プログラムの構成要素であるプログラム要素をツリーの各ノードに割り当てることによって、前記プログラムをツリー状に表示するプログラムツリーの表示方法において、
コンパイル単位を前記プログラムツリーのノードとして表示することを特徴とするプログラムツリーの表示方法。
In a program tree display method for displaying the program in a tree shape by assigning program elements which are constituent elements of the program to each node of the tree,
A program tree display method, comprising: displaying a compilation unit as a node of the program tree.
前記コンパイル単位に対応するノード近傍には、他のノードと区別するための名称であるコンパイル名称が表示されることを特徴とする請求項1記載のプログラムツリーの表示方法。   2. The program tree display method according to claim 1, wherein a compile name that is a name for distinguishing from other nodes is displayed near a node corresponding to the compile unit. 前記コンパイル単位に含まれる機能単位を前記プログラムツリーのノードとして表示することを特徴とする請求項1記載のプログラムツリーの表示方法。   2. The program tree display method according to claim 1, wherein functional units included in the compilation unit are displayed as nodes of the program tree. 前記機能単位に対応するノード近傍には、前記機能単位の機能を表す名称である機能名称が表示されることを特徴とする請求項3記載のプログラムツリーの表示方法。   4. The program tree display method according to claim 3, wherein a function name that is a name representing a function of the functional unit is displayed near a node corresponding to the functional unit. 前記コンパイル単位の直下にある機能単位である第1の機能単位のノードは、前記第1の機能単位を含む前記コンパイル単位のノードに従属させて表示することを特徴とする請求項3記載のプログラムツリーの表示方法。   4. The program according to claim 3, wherein a node of a first functional unit which is a functional unit immediately below the compilation unit is displayed subordinate to a node of the compilation unit including the first functional unit. How to display the tree. 前記第1の機能単位に含まれる副プログラムである第2の機能単位のノードは、前記第1の機能単位のノードに従属させて表示することを特徴とする請求項5記載のプログラムツリーの表示方法。   6. The program tree display according to claim 5, wherein a node of a second functional unit, which is a subprogram included in the first functional unit, is displayed depending on the node of the first functional unit. Method. 上位機能単位に含まれる副プログラムを下位機能単位としたとき、前記下位機能単位のノードを前記上位機能単位のノードに従属させて表示することを特徴とする請求項3記載のプログラムツリーの表示方法。   4. The program tree display method according to claim 3, wherein when the subprogram included in the upper functional unit is a lower functional unit, the node of the lower functional unit is displayed subordinate to the node of the upper functional unit. . 前記第1の機能単位より下位の機能単位を省略して表示することを特徴とする請求項5記載のプログラムツリーの表示方法。   6. The program tree display method according to claim 5, wherein a functional unit lower than the first functional unit is omitted and displayed. 前記コンパイル単位を1つ以上含むプロジェクトを前記プログラムツリーのノードとして表示することを特徴とする請求項1記載のプログラムツリーの表示方法。   2. The program tree display method according to claim 1, wherein a project including one or more compilation units is displayed as a node of the program tree. 前記プロジェクトに対応するノード近傍には、前記プロジェクトの名称であるプロジェクト名称が表示されることを特徴とする請求項9記載のプログラムツリーの表示方法。   10. The program tree display method according to claim 9, wherein a project name which is a name of the project is displayed near a node corresponding to the project. プログラムを生成するためのプログラム生成システムにおいて、
コンパイル単位をノードに割り当て、かつ前記プログラムの構成要素であるプログラム要素を各ノードに割り当てて、前記プログラムをツリー状に構成したプログラムツリーを表示するプログラムツリー表示部と、
前記各プログラム要素の処理内容が表示される処理内容表示部と、
前記プログラムツリー表示部と前記処理内容表示部への入力作業を行うための入力手段と、
を有することを特徴とするプログラム生成システム。
In a program generation system for generating a program,
A program tree display unit that assigns a compilation unit to a node and assigns a program element that is a component of the program to each node, and displays a program tree in which the program is configured in a tree shape;
A processing content display unit for displaying the processing content of each program element;
Input means for performing input operations to the program tree display unit and the processing content display unit;
A program generation system comprising:
ファイルを格納するためのファイル格納部が、前記コンパイル単位のノードに対応付けて設けられていることを特徴とする請求項11記載のプログラム生成システム。   12. The program generation system according to claim 11, wherein a file storage unit for storing a file is provided in association with the node of the compilation unit. 前記ファイルは、前記コンパイル単位に対応するノードと他のノードと区別するための名称であるコンパイル名称を保持することを特徴とする請求項12記載のプログラム生成システム。   13. The program generation system according to claim 12, wherein the file holds a compilation name that is a name for distinguishing a node corresponding to the compilation unit from other nodes. 前記ファイルは、前記コンパイル名称を前記ファイル格納部の名称としても保持することを特徴とする請求項13記載のプログラム生成システム。   14. The program generation system according to claim 13, wherein the file holds the compile name as the name of the file storage unit. 前記プログラムツリー表示部は、前記コンパイル名称を前記コンパイル単位に対応するノード近傍に表示することを特徴とする請求項13記載のプログラム生成システム。   14. The program generation system according to claim 13, wherein the program tree display unit displays the compile name in the vicinity of a node corresponding to the compile unit. 前記ファイルは、前記コンパイル単位に対応するプログラムの内容説明であるコンパイル説明を属性として保持することを特徴とする請求項12記載のプログラム生成システム。   13. The program generation system according to claim 12, wherein the file holds, as an attribute, a compile description that is a content description of a program corresponding to the compile unit. 前記ファイルは、前記コンパイル単位に対応するプログラムの更新履歴であるコンパイル更新履歴を属性として保持することを特徴とする請求項12記載のプログラム生成システム。   13. The program generation system according to claim 12, wherein the file holds a compile update history that is an update history of a program corresponding to the compilation unit as an attribute. 前記プログラムツリー表示部は、前記コンパイル単位に含まれる機能単位を前記プログラムツリーのノードとして表示することを特徴とする請求項11記載のプログラム生成システム。   12. The program generation system according to claim 11, wherein the program tree display unit displays functional units included in the compilation unit as nodes of the program tree. 前記プログラムツリー表示部は、前記コンパイル単位の直下にある機能単位である第1の機能単位のノードを前記第1の機能単位を含む前記コンパイル単位のノードに従属させて表示することを特徴とする請求項18記載のプログラム生成システム。   The program tree display unit displays a node of a first functional unit, which is a functional unit immediately below the compilation unit, subordinated to a node of the compilation unit including the first functional unit. The program generation system according to claim 18. 前記プログラムツリー表示部は、前記第1の機能単位に含まれる副プログラムである第2の機能単位のノードを前記第1の機能単位のノードに従属させて表示することを特徴とする請求項19記載のプログラム生成システム。   The said program tree display part displays the node of the 2nd functional unit which is a subprogram contained in the said 1st functional unit subordinated to the node of the said 1st functional unit, It is characterized by the above-mentioned. The program generation system described. 前記プログラムツリー表示部は、上位機能単位に含まれる副プログラムを下位機能単位としたとき、前記下位機能単位のノードを前記上位機能単位のノードに従属させて表示することを特徴とする請求項20記載のプログラム生成システム。   21. The program tree display unit, when a sub-program included in a higher functional unit is a lower functional unit, displays the lower functional unit node subordinate to the higher functional unit node. The program generation system described. 前記プログラムツリー表示部は、前記第1の機能単位より下位の機能単位を省略して表示することを特徴とする請求項19記載のプログラム生成システム。   The program generation system according to claim 19, wherein the program tree display unit displays the functional unit lower than the first functional unit. 前記コンパイル単位を1つ以上含むプロジェクトを前記プログラムツリーのノードとして表示することを特徴とする請求項11記載のプログラム生成システム。   12. The program generation system according to claim 11, wherein a project including one or more compilation units is displayed as a node of the program tree. 前記プロジェクトは、前記プログラムのリンクに必要な情報を保持することを特徴とする請求項23記載のプログラム生成システム。   24. The program generation system according to claim 23, wherein the project holds information necessary for linking the program. 前記プロジェクトは、別のプロジェクトに属するコンパイル単位を取り込む機能を有することを特徴とする請求項23記載のプログラム生成システム。   24. The program generation system according to claim 23, wherein the project has a function of fetching a compilation unit belonging to another project. 前記プロジェクトは、前記プロジェクトを表す名称であるプロジェクト名称を保持することを特徴とする請求項23記載のプログラム生成システム。   The program generation system according to claim 23, wherein the project holds a project name which is a name representing the project. 前記プログラムツリー表示部は、プロジェクト名称を前記プロジェクトのノード近傍に表示することを特徴とする請求項23記載のプログラム生成システム。   24. The program generation system according to claim 23, wherein the program tree display unit displays a project name near a node of the project. 前記入力手段より入力されたデータを高級言語形式もしくは電子計算機が直接実行できる形式に変換するデータ変換手段を有することを特徴とする請求項11記載のプログラム生成システム。   12. The program generation system according to claim 11, further comprising data conversion means for converting data input from the input means into a high-level language format or a format that can be directly executed by an electronic computer. 前記ファイルは、前記コンパイル単位がコンパイルされて出力される出力先の名称であるコンパイル出力先名称を保持することを特徴とする請求項12記載のプログラム生成システム。   13. The program generation system according to claim 12, wherein the file holds a compile output destination name which is an output destination name output by compiling the compilation unit. 前記ファイルは、機能単位がコンパイルされて出力されるときの名称である機能出力名称を保持することを特徴とする請求項12記載のプログラム生成システム。   13. The program generation system according to claim 12, wherein the file holds a function output name which is a name when the function unit is compiled and output. 前記ファイルは、機能単位に含まれる副プログラムが引数や返却値を持つ場合には、それらの名称、型、引渡順序などのコード生成に必要となる情報であるコード生成情報を保持することを特徴とする請求項12記載のプログラム生成システム。   When the subprogram included in the functional unit has an argument or a return value, the file holds code generation information that is information necessary for code generation such as a name, a type, and a delivery order of the subprogram. The program generation system according to claim 12. 前記ファイルは、機能単位の内容説明に関する記述を属性として保持することを特徴とする請求項12記載のプログラム生成システム。   13. The program generation system according to claim 12, wherein the file retains a description relating to the description of contents of functional units as an attribute. 前記ファイルは、機能単位の機能を表す機能名称を保持することを特徴とする請求項12記載のプログラム生成システム。   13. The program generation system according to claim 12, wherein the file holds a function name representing a function of a function unit. 前記プログラムツリー表示部は、前記機能名称を前記機能単位に対応するノード近傍に表示することを特徴とする請求項33記載のプログラム生成システム。   The program generation system according to claim 33, wherein the program tree display unit displays the function name in the vicinity of a node corresponding to the function unit. 前記処理内容表示部は、各機能単位に対応した処理内容を表示する処理内容表示ウィンドウを表示することを特徴とする請求項11記載のプログラム生成システム。   12. The program generation system according to claim 11, wherein the processing content display unit displays a processing content display window for displaying processing content corresponding to each functional unit. 前記処理内容表示部は、複数の前記処理内容表示ウィンドウを表示することが可能であることを特徴とする請求項35記載のプログラム生成システム。   36. The program generation system according to claim 35, wherein the processing content display unit is capable of displaying a plurality of processing content display windows. 前記処理内容表示部は、処理内容表示ウィンドウに機能単位中に含まれる副プログラムを図形シンボルで表現することを特徴とする請求項11記載のプログラム生成システム。   12. The program generation system according to claim 11, wherein the processing content display unit represents the subprogram included in the functional unit in the processing content display window by a graphic symbol. 前記処理内容表示部は、前記図形シンボルが選択されると前記図形シンボルに対応する前記副プログラムの処理内容を表示する前記処理内容表示ウィンドウを表示することを特徴とする請求項37記載のプログラム生成システム。   38. The program generation according to claim 37, wherein the processing content display unit displays the processing content display window for displaying the processing content of the subprogram corresponding to the graphic symbol when the graphic symbol is selected. system. 前記処理内容表示部は、前記図形シンボルに対して前記図形シンボルとして表された前記副プログラムの機能名称を表示することを特徴とする請求項37記載のプログラム生成システム。   38. The program generation system according to claim 37, wherein the processing content display unit displays a function name of the subprogram represented as the graphic symbol for the graphic symbol. 前記ファイルは、自己を包含するプログラムの要素に対応するノードに従属するように形成された階層構造を保持することを特徴とする請求項12記載のプログラム生成システム。   13. The program generation system according to claim 12, wherein the file holds a hierarchical structure formed so as to be subordinate to a node corresponding to an element of a program including itself. 前記ファイル格納部は、前記コンパイル単位内にあるすべての機能単位の処理内容を1つのファイルに記録した処理内容ファイルを格納することを特徴とする請求項12記載のプログラム生成システム。   13. The program generation system according to claim 12, wherein the file storage unit stores a processing content file in which processing contents of all functional units in the compilation unit are recorded in one file. 前記ファイル格納部は、機能単位の処理内容を前記機能単位ごとに記録した機能処理内容ファイルを格納することを特徴とする請求項12記載のプログラム生成システム。   13. The program generation system according to claim 12, wherein the file storage unit stores a function processing content file in which processing content of a functional unit is recorded for each functional unit. 機能出力名称、コード生成情報、機能単位の内容説明に関する記述、および機能名称は、処理内容ファイル、機能処理内容ファイル、前記ファイル格納部に設けられた属性ファイルのいずれかに記憶されることを特徴とする請求項12記載のプログラム生成システム。
The function output name, the code generation information, the description related to the description of the contents of the function unit, and the function name are stored in any one of the process content file, the function process content file, and the attribute file provided in the file storage unit. The program generation system according to claim 12.
JP2005188866A 2005-06-28 2005-06-28 Display method of program tree and program generation system Pending JP2007011507A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005188866A JP2007011507A (en) 2005-06-28 2005-06-28 Display method of program tree and program generation system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005188866A JP2007011507A (en) 2005-06-28 2005-06-28 Display method of program tree and program generation system

Publications (1)

Publication Number Publication Date
JP2007011507A true JP2007011507A (en) 2007-01-18

Family

ID=37749959

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005188866A Pending JP2007011507A (en) 2005-06-28 2005-06-28 Display method of program tree and program generation system

Country Status (1)

Country Link
JP (1) JP2007011507A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008242873A (en) * 2007-03-28 2008-10-09 Hitachi Ltd Software automatic configuring device and method
JP2009129327A (en) * 2007-11-27 2009-06-11 Fuji Electric Holdings Co Ltd Program development support device, method, and program
JP2013069274A (en) * 2011-09-06 2013-04-18 Canon Marketing Japan Inc Program generating device, program generating method, and program
CN106030524A (en) * 2014-05-22 2016-10-12 黄首进 Method and device for visually implementing software code
WO2021210329A1 (en) * 2020-04-15 2021-10-21 Rakuten Mobile, Inc. Autonomous network, controller and method

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08249026A (en) * 1995-03-10 1996-09-27 Fanuc Ltd Programming method for system including robot
JPH1049206A (en) * 1996-07-31 1998-02-20 Kobe Steel Ltd Sequence control generating device
JP2000020294A (en) * 1998-06-26 2000-01-21 Toshiba Corp Program development support device and computer- readable recording medium
JP2000112737A (en) * 1998-10-01 2000-04-21 Seiko Epson Corp Program generating device
JP2001256043A (en) * 2000-03-10 2001-09-21 Toshiba Corp Correction history managing method and correction history management system of program source

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08249026A (en) * 1995-03-10 1996-09-27 Fanuc Ltd Programming method for system including robot
JPH1049206A (en) * 1996-07-31 1998-02-20 Kobe Steel Ltd Sequence control generating device
JP2000020294A (en) * 1998-06-26 2000-01-21 Toshiba Corp Program development support device and computer- readable recording medium
JP2000112737A (en) * 1998-10-01 2000-04-21 Seiko Epson Corp Program generating device
JP2001256043A (en) * 2000-03-10 2001-09-21 Toshiba Corp Correction history managing method and correction history management system of program source

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008242873A (en) * 2007-03-28 2008-10-09 Hitachi Ltd Software automatic configuring device and method
JP2009129327A (en) * 2007-11-27 2009-06-11 Fuji Electric Holdings Co Ltd Program development support device, method, and program
JP2013069274A (en) * 2011-09-06 2013-04-18 Canon Marketing Japan Inc Program generating device, program generating method, and program
CN106030524A (en) * 2014-05-22 2016-10-12 黄首进 Method and device for visually implementing software code
JP2017506390A (en) * 2014-05-22 2017-03-02 スー‐ジン ファン, Software code visual implementation method and apparatus
US9904524B2 (en) 2014-05-22 2018-02-27 Soo-Jin Hwang Method and device for visually implementing software code
WO2021210329A1 (en) * 2020-04-15 2021-10-21 Rakuten Mobile, Inc. Autonomous network, controller and method

Similar Documents

Publication Publication Date Title
US8566782B2 (en) Generating application data editors
US20040031015A1 (en) System and method for manipulation of software
Mayer et al. Cross-language code analysis and refactoring
US20130185627A1 (en) Supporting generation of transformation rule
JP5147240B2 (en) Method and system for reversible design tree transformation
JP4613214B2 (en) Software automatic configuration device
US20110126171A1 (en) Dynamic native editor code view facade
EP1811399A1 (en) Data processing device and data processing method
US20100169333A1 (en) Document processor
US20070198915A1 (en) Document Processing Device And Document Processing Method
US20070208995A1 (en) Document Processing Device and Document Processing Method
JP2007011507A (en) Display method of program tree and program generation system
Fuhrmann On the pragmatics of graphical modeling
EP1837776A1 (en) Document processing device and document processing method
CN112181483B (en) Plasma control system software development platform and method
US11809844B2 (en) Creating an app method and system
Djukić et al. Handling complex representations in visual modeling tools for MDSD/DSM by means of code generator languages
JP4848772B2 (en) Program generating apparatus and program generating program
Schröpfer et al. A Generic Projectional Editor for EMF Models.
Vieritz et al. Access to UML diagrams with the HUTN
KR100609240B1 (en) Method and apparatus for generating diagram modeling tools with user&#39;s customization requirements based on mof meta-models
EP4261678A1 (en) Generation of a technical instruction
JP5050624B2 (en) Software development support system
Ren et al. Visualizing Software Architecture with Off-The-Shelf Components.
Jacobitz et al. A Model Library Tool for Holistic Embedded Software Design

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080515

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110920

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111118

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120327

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120807