JP5949889B2 - Software development support device - Google Patents

Software development support device Download PDF

Info

Publication number
JP5949889B2
JP5949889B2 JP2014260145A JP2014260145A JP5949889B2 JP 5949889 B2 JP5949889 B2 JP 5949889B2 JP 2014260145 A JP2014260145 A JP 2014260145A JP 2014260145 A JP2014260145 A JP 2014260145A JP 5949889 B2 JP5949889 B2 JP 5949889B2
Authority
JP
Japan
Prior art keywords
block diagram
connection information
good
target
block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2014260145A
Other languages
Japanese (ja)
Other versions
JP2015084246A (en
Inventor
稔久 田重田
稔久 田重田
佐藤 芳信
芳信 佐藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fuji Electric Co Ltd
Original Assignee
Fuji Electric Co 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 Co Ltd filed Critical Fuji Electric Co Ltd
Priority to JP2014260145A priority Critical patent/JP5949889B2/en
Publication of JP2015084246A publication Critical patent/JP2015084246A/en
Application granted granted Critical
Publication of JP5949889B2 publication Critical patent/JP5949889B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Description

本発明は、処理手順をブロック要素の接続によって表記したブロック図に基づいて、計算機言語によるプログラムを自動生成するソフトウェア開発支援装置に関する。   The present invention relates to a software development support apparatus for automatically generating a program in a computer language based on a block diagram in which processing procedures are expressed by connecting block elements.

従来、計算機に特定の処理を行わせるためのプログラムを作成する場合、プログラムの仕様をブロック図等で記述し、そのブロック図をもとにプログラマが計算機言語を用いたプログラムコードを作成することが行われている。そこで、プログラマによる作業時間の短縮やミスの防止のために、プログラム仕様として記述されたブロック図から、直接、計算機言語によるプログラムコードに変換するソフトウェア開発支援装置が特許文献1及び特許文献2において提案されている。
特許文献1は、プログラム仕様として記述されたブロック図から制御用プログラムを機械語で生成する技術を提案している。特許文献2は、プログラム仕様として記述されたブロック図から計算機言語を用いたプログラムコードを生成する技術を提案している。
Conventionally, when creating a program for causing a computer to perform a specific process, the specification of the program is described in a block diagram or the like, and a programmer creates program code using a computer language based on the block diagram Has been done. Therefore, in order to reduce the work time by programmers and prevent mistakes, Patent Document 1 and Patent Document 2 propose software development support devices that directly convert a block diagram described as a program specification into a program code in a computer language. Has been.
Patent Document 1 proposes a technique for generating a control program in machine language from a block diagram described as a program specification. Patent Document 2 proposes a technique for generating a program code using a computer language from a block diagram described as a program specification.

また、非特許文献1はプログラムコードのコーディングルールについて開示している。生成されたプログラムコードがこのコーディングルールに従っているかについては、例えば、市販のソフトウェア「QAC」(東陽テクニカ)等のツールを使用して確認することが出来る。   Non-Patent Document 1 discloses a coding rule for a program code. Whether the generated program code conforms to this coding rule can be confirmed using a tool such as commercially available software “QAC” (Toyo Technica).

特開平5−88869号公報Japanese Patent Laid-Open No. 5-88869 特開2006−301989号公報JP 2006-301989 A

独立行政法人情報処理推進機構 ソフトウェア・エンジニアリング・センター編 「改訂版 組込みソフトウェア開発向けコーディング作法ガイド[C言語版]」 2007年Information Processing Promotion Organization, Software Engineering Center, “Revised Coding Practice Guide for Embedded Software Development [C Language Version]” 2007

上記特許文献1及び2に開示されたソフトウェア開発支援装置は、ブロック図からプログラムコードを自動生成するように構成されているため、プログラマの作業時間を削減することができる。しかしながら、ブロック図の作成時において、当該ブロック図に関するプログラムとしての性能を把握することはできない。すなわち、所望の処理を実現するプログラムコードを生成できるように当該ブロック図が適切に表記されているか否かについては、ブロック図からプログラムコードを生成してみなければ判断することができない。
非特許文献1には、プログラムコードのコーディングルールが記述されていて、前述のような市販のツールを使用することによってブロック図から生成されたプログラムコードが前記コーディングルールに従っているか否かの確認を行うことはできる。しかしながら、非特許文献1はブロック図の表記に関してルールを定めているものではないため、非特許文献1の開示によっても、ブロック図の作成時において、当該ブロック図に関するプログラムとしての性能を把握することはできない。
Since the software development support apparatus disclosed in Patent Documents 1 and 2 is configured to automatically generate a program code from a block diagram, the work time of a programmer can be reduced. However, when creating a block diagram, it is impossible to grasp the performance as a program related to the block diagram. In other words, whether or not the block diagram is appropriately expressed so that a program code for realizing a desired process can be generated cannot be determined unless the program code is generated from the block diagram.
Non-Patent Document 1 describes the coding rules for program codes, and checks whether the program codes generated from the block diagram comply with the coding rules by using a commercially available tool as described above. I can. However, since Non-Patent Document 1 does not set rules regarding the notation of block diagrams, even when Non-Patent Document 1 is disclosed, at the time of creating a block diagram, grasp the performance as a program related to the block diagram. I can't.

上記に指摘したように、従来技術においてプログラム性能は、ブロック図からプログラムコードを生成した後でなければ把握することができない。ブロック図からプログラムを生成した後の試験において、そのプログラムコードが所定の性能を実現するように記述されていないことが判明すると、プログラムコードの修正のためにブロック図の修正を行う必要が生じるため、プログラミングの作業時間が長くなってしまう。
したがって本発明は、ブロック図からプログラムコードを生成する前に、ブロック図における不適切な表記を検出することにより、プログラミングに要する時間を短縮して作業効率を高めることを目的としている。
As pointed out above, in the prior art, the program performance can be grasped only after the program code is generated from the block diagram. In the test after generating the program from the block diagram, if it is found that the program code is not described so as to achieve the predetermined performance, it is necessary to correct the block diagram to correct the program code. , Programming time will be longer.
Accordingly, an object of the present invention is to reduce the time required for programming and increase the work efficiency by detecting inappropriate notation in the block diagram before generating the program code from the block diagram.

本発明は、複数のブロック要素と該ブロック要素間の接続関係を表記したブロック図によって処理手順が示され、前記ブロック図に基づいて計算機言語によるプログラムを自動生成するソフトウェア開発支援装置であって、前記ブロック図に表記された複数のブロック要素と該ブロック要素間の接続関係とを対象ブロック図接続情報として抽出するブロック図接続情報抽出手段と、前記ブロック図接続情報抽出手段によって抽出された対象ブロック図接続情報を記憶する対象ブロック図接続情報記憶手段と、前記対象ブロック図接続情報から、計算機言語によるプログラムを自動生成するプログラム生成手段と、表記された複数のブロック要素及び/又は該ブロック要素間の接続関係が所定の条件を満たさないNGブロック図について、該NGブロック図のブロック図接続情報をNGブロック図接続情報として記憶しておくNGブロック図接続情報記憶手段と、前記プログラム生成手段が前記対象ブロック図接続情報から計算機言語によるプログラムを自動生成する前に、前記対象ブロック図接続情報記憶手段に記憶された前記対象ブロック図接続情報と、前記NGブロック図接続情報記憶手段に記憶されたNGブロック図接続情報とを比較して、前記対象ブロック図接続情報の少なくとも一部が前記NGブロック図接続情報と一致するか否かを判定するブロック図一致判定手段とを備える。   The present invention is a software development support apparatus in which a processing procedure is shown by a block diagram expressing a plurality of block elements and connection relationships between the block elements, and a program in a computer language is automatically generated based on the block diagram, Block diagram connection information extracting means for extracting, as target block diagram connection information, a plurality of block elements described in the block diagram and connection relations between the block elements, and a target block extracted by the block diagram connection information extracting means Target block diagram connection information storage means for storing diagram connection information, program generation means for automatically generating a program in a computer language from the target block diagram connection information, a plurality of block elements described and / or between the block elements For an NG block diagram in which the connection relationship of NG block diagram connection information storage means for storing block diagram connection information of the block diagram as NG block diagram connection information, and before the program generation means automatically generates a program in a computer language from the target block diagram connection information, The target block diagram connection information stored in the target block diagram connection information storage unit is compared with the NG block diagram connection information stored in the NG block diagram connection information storage unit. A block diagram coincidence determining unit for determining whether or not at least a part of the block matches the NG block diagram connection information.

本発明に係る前記ソフトウェア開発支援装置は、それ自体が一般的なコンピュータとソフトウェアとを協働させることにより実現される。すなわち、コンピュータの入力手段、記憶手段、演算手段等のハードウェア資源がソフトウェアにより具体的に動作して専用装置としての動作が実現する。   The software development support apparatus according to the present invention is realized by cooperating a general computer and software. That is, hardware resources such as computer input means, storage means, and arithmetic means are specifically operated by software to realize operation as a dedicated device.

入力手段とは、キーボードやマウスなどのユーザの操作による入力手段のほか、フロッピー(登録商標)ディスクなどの記録媒体による入力、あるいは通信回線やLAN(ローカルエリアネットワーク)などの電気信号による入力を受け付ける手段を含む。記憶手段とは、文字や数字などのデータや、プログラムなどを記憶するための手段である。例えば、コンピュータ内のランダムアクセスメモリ、ハードディスクなどである。演算手段とは、プログラムを実行するための数値計算手段のことである。例えば、一般に中央処理装置すなわちCPUといわれているものである。コンピュータとは、上記のような入力手段と、記憶手段と、演算手段とを少なくとも含む電子計算機をいう。   The input means accepts input by a user operation such as a keyboard and a mouse, input by a recording medium such as a floppy (registered trademark) disk, or input by an electrical signal such as a communication line or a LAN (local area network). Including means. The storage means is means for storing data such as characters and numbers, programs, and the like. For example, a random access memory or a hard disk in a computer. The calculation means is a numerical calculation means for executing a program. For example, it is generally called a central processing unit or CPU. A computer refers to an electronic computer including at least input means, storage means, and calculation means as described above.

例えば、前記所定の条件を満たすように表記したGOODブロック図のブロック図接続情報をGOODブロック図接続情報として記憶しておくGOODブロック図接続情報記憶手段と、前記記憶されたGOODブロック図接続情報に基づいて前記GOODブロック図を表示するGOODブロック図表示手段とをさらに備え、前記ブロック図一致判定手段が、前記対象ブロック図接続情報の少なくとも一部が前記NGブロック図接続情報と一致すると判定した場合に、前記GOODブロック図表示手段が前記NGブロック図接続情報に対応する前記GOODブロック図接続情報に基づいてGOODブロック図を表示する。   For example, GOOD block diagram connection information storage means for storing block diagram connection information of a GOOD block diagram expressed so as to satisfy the predetermined condition as GOOD block diagram connection information, and the stored GOOD block diagram connection information GOOD block diagram display means for displaying the GOOD block diagram based on the block diagram match determination means, wherein the block diagram match determination means determines that at least a part of the target block diagram connection information matches the NG block diagram connection information In addition, the GOOD block diagram display means displays a GOOD block diagram based on the GOOD block diagram connection information corresponding to the NG block diagram connection information.

一例として、前記ブロック図作成手段は、前記NGブロック図の作成及び/又は修正を行うためのNGブロック図作成手段及び/又は前記GOODブロック図の作成及び/又は修正を行うためのGOODブロック図作成手段を備える。また、前記プログラム生成手段によってプログラムが自動生成されるブロック図を作成及び/又は修正するための対象ブロック図作成手段を備えるように構成しても良い。   As an example, the block diagram creating means creates an NG block diagram creating means for creating and / or modifying the NG block diagram and / or creating a GOOD block diagram for creating and / or modifying the GOOD block diagram. Means. Moreover, you may comprise so that the target block diagram preparation means for preparing and / or correcting the block diagram by which the program is automatically generated by the program generation means may be provided.

本発明においては、NGブロック図接続情報記憶手段が、所定の条件を満たさないNGブロック図のブロック図接続情報をNGブロック図接続情報として予め記憶しており、ブロック図一致判定手段が、対象ブロック図接続情報の少なくとも一部が前記NGブロック図接続情報と一致するか否かを判定するように構成されている。NGブロック図は所定の条件を満たさないブロック図であるから、NGブロック図接続情報と一致した対象ブロック図接続情報に対応するブロック図の表記は不適切な表記ということになる。このように、本発明によれば、プログラム生成手段がブロック図からプログラムコードを生成する前に、ブロック図における不適切な表記を検出することができるため、プログラムコード生成前にブロック図の修正を行うことが可能となり、プログラミングに要する時間を短縮して作業効率を高めることができる。   In the present invention, the NG block diagram connection information storage means stores in advance block diagram connection information of an NG block diagram that does not satisfy a predetermined condition as NG block diagram connection information. It is configured to determine whether or not at least a part of the diagram connection information matches the NG block diagram connection information. Since the NG block diagram is a block diagram that does not satisfy a predetermined condition, the notation of the block diagram corresponding to the target block diagram connection information that matches the NG block diagram connection information is an inappropriate notation. Thus, according to the present invention, since the program generation means can detect an inappropriate notation in the block diagram before generating the program code from the block diagram, the block diagram is corrected before the program code is generated. This makes it possible to reduce the time required for programming and increase work efficiency.

本発明の一実施形態に係るソフトウェア開発支援装置の模式的な構成を示す構成図である。It is a block diagram which shows the typical structure of the software development assistance apparatus which concerns on one Embodiment of this invention. 本発明の一実施形態における「対象ブロック図作成画面」を示す模式図である。It is a schematic diagram which shows the "target block diagram creation screen" in one Embodiment of this invention. 本発明の一実施形態における「NG・GOOD登録」処理の流れを示すフロー図である。It is a flowchart which shows the flow of the "NG * GOOD registration" process in one Embodiment of this invention. 本発明の一実施形態における「NG・GOODブロック図登録情報画面」を示す模式図である。It is a schematic diagram which shows the "NG / GOOD block diagram registration information screen" in one Embodiment of this invention. 本発明の一実施形態における「NGブロック図登録情報画面」を示す模式図である。It is a schematic diagram which shows the "NG block diagram registration information screen" in one Embodiment of this invention. 本発明の一実施形態における「GOODブロック図登録情報画面」を示す模式図である。It is a schematic diagram which shows the "GOOD block diagram registration information screen" in one Embodiment of this invention. 本発明の一実施形態における「NG検出」処理の流れを示すフロー図である。It is a flowchart which shows the flow of the "NG detection" process in one Embodiment of this invention. 本発明の一実施形態おける「対象ブロック図作成画面」上での強調表示及びGOODブロック図表示を示す模式図である。It is a schematic diagram which shows the emphasis display and GOOD block diagram display on the "target block diagram creation screen" in one Embodiment of this invention.

以下、本発明の実施の形態を添付の図により説明する。図1に本実施形態に係るソフトウェア開発支援装置の構成図を示す。ソフトウェア開発支援装置1は、それ自体が一般的なコンピュータとソフトウェアとを協働させることにより実現される。すなわち、コンピュータの入力手段、記憶手段、演算手段等のハードウェア資源がソフトウェアにより具体的に動作して専用装置としての動作が実現している。   Embodiments of the present invention will be described below with reference to the accompanying drawings. FIG. 1 shows a configuration diagram of a software development support apparatus according to the present embodiment. The software development support apparatus 1 is realized by causing a general computer and software to cooperate with each other. In other words, hardware resources such as computer input means, storage means, and arithmetic means are specifically operated by software to realize operation as a dedicated device.

ソフトウェア開発支援装置1は、入力装置2と表示装置3を備えている。入力装置2は、外部からの入力を受け付け、表示装置3は、各種入力画面、各種データ及び該ソフトウェア開発支援装置1の出力結果を表示する。
対象ブロック図作成部4は、表示装置3に表示された対象ブロック図作成画面及び入力装置2を介して入力されたデータに基づいて、複数のブロック要素とブロック要素間の接続関係の作成及び/又は修正を行なってブロック図を作成及び/又は修正する。対象ブロック図作成部4によって作成されるブロック図は、当該ブロック図から所望のプログラムコードを生成するために作成されるブロック図(以下、対象ブロック図という)である。
The software development support device 1 includes an input device 2 and a display device 3. The input device 2 receives input from the outside, and the display device 3 displays various input screens, various data, and output results of the software development support device 1.
The target block diagram creation unit 4 creates a connection relationship between a plurality of block elements and block elements based on the target block diagram creation screen displayed on the display device 3 and data input via the input device 2. Or, modify to create and / or modify the block diagram. The block diagram created by the target block diagram creation unit 4 is a block diagram (hereinafter referred to as a target block diagram) created to generate a desired program code from the block diagram.

NG・GOODブロック図作成部8は、所定の条件を満たさないブロック図(以下、NGブロック図という)を作成及び/又は修正するNGブロック図作成手段と、所定の条件を満たすブロック図(以下、GOODブロック図という)を作成及び/又は修正するGOODブロック図作成手段を備えている。所定の条件とは、所望の性能を実現するプログラムを生成するためにブロック図の表記上必要な条件であって、一例として後述するように、ブロック要素の種別とその接続関係に関する条件である。所定の条件を満たすGOODブロック図は、所定の条件を満たさないNGブロック図に対応して作成される。すなわち、GOODブロック図は、対応する特定のNGブロック図が本来あるべき適切な表記を示したブロック図である。   The NG / GOOD block diagram creation unit 8 creates and / or corrects a block diagram that does not satisfy a predetermined condition (hereinafter referred to as NG block diagram), and a block diagram that satisfies a predetermined condition (hereinafter referred to as “NG block diagram”). GOOD block diagram creation means for creating and / or modifying a GOOD block diagram). The predetermined condition is a condition necessary for notation of a block diagram in order to generate a program that realizes a desired performance, and is a condition related to the type of block element and its connection relationship, as will be described later as an example. The GOOD block diagram that satisfies the predetermined condition is created in correspondence with the NG block diagram that does not satisfy the predetermined condition. That is, the GOOD block diagram is a block diagram showing an appropriate notation that the corresponding specific NG block diagram should originally be.

ここで作成されるNGブロック図及びGOODブロック図は、対象ブロック図作成部4によって作成されたブロック図と同様、複数のブロック要素とブロック要素間の接続関係を有するものである。ブロック図接続情報抽出部5は、作成された各ブロック図の複数のブロック要素とブロック要素間の接続関係とをブロック図接続情報として抽出する。ブロック図接続情報の具体例については後述する。
対象ブロック図接続情報記憶部6は、ブロック図接続情報抽出部5によって対象ブロック図から抽出されたブロック図接続情報(以下、対象ブロック図接続情報という)を記憶する。プログラム生成部7は、対象ブロック図接続情報記憶部6に記憶された対象ブロック図接続情報に基づいて計算機言語によるプログラムを自動生成する。
The NG block diagram and the GOOD block diagram created here have a connection relationship between a plurality of block elements and the block elements, similarly to the block diagram created by the target block diagram creation unit 4. The block diagram connection information extraction unit 5 extracts a plurality of block elements of each created block diagram and the connection relationship between the block elements as block diagram connection information. A specific example of the block diagram connection information will be described later.
The target block diagram connection information storage unit 6 stores block diagram connection information (hereinafter referred to as target block diagram connection information) extracted from the target block diagram by the block diagram connection information extraction unit 5. The program generation unit 7 automatically generates a program in a computer language based on the target block diagram connection information stored in the target block diagram connection information storage unit 6.

NGブロック図接続情報記憶部9は、ブロック図接続情報抽出部5によってNGブロック図から抽出されたブロック図接続情報(以下、NGブロック図接続情報という)を記憶する。GOODブロック図接続情報記憶部10は、ブロック図接続情報抽出部5によってGOODブロック図から抽出されたブロック図接続情報(以下、GOODブロック図接続情報という)を記憶する。
ブロック図一致判定部11は、対象ブロック図接続情報記憶部6に記憶された対象ブロック図接続情報と、NGブロック図接続情報記憶部9に記憶されたNGブロック図接続情報とを比較して、対象ブロック図接続情報の少なくとも一部がNGブロック図接続情報と一致するか否かを判定する。
GOODブロック図表示部12は、ブロック図一致判定部11によって、対象ブロック図接続情報の少なくとも一部がNGブロック図接続情報と一致すると判定された場合に、当該NGブロック図接続情報に対応するGOODブロック図接続情報に基づいてGOODブロック図を表示する。
上記ブロック図一致判定部11による判定とGOODブロック図表示部12によるGOODブロック図接続情報の表示は、プログラム生成部7によって対象ブロック図接続情報からプログラムコードが自動生成される前に、すなわち、対象ブロック図が作成及び/又は修正されたときに実行される。
The NG block diagram connection information storage unit 9 stores block diagram connection information (hereinafter referred to as NG block diagram connection information) extracted from the NG block diagram by the block diagram connection information extraction unit 5. The GOOD block diagram connection information storage unit 10 stores block diagram connection information extracted from the GOOD block diagram by the block diagram connection information extraction unit 5 (hereinafter referred to as GOOD block diagram connection information).
The block diagram match determination unit 11 compares the target block diagram connection information stored in the target block diagram connection information storage unit 6 with the NG block diagram connection information stored in the NG block diagram connection information storage unit 9, It is determined whether at least a part of the target block diagram connection information matches the NG block diagram connection information.
When the block diagram match determination unit 11 determines that at least part of the target block diagram connection information matches the NG block diagram connection information, the GOOD block diagram display unit 12 sets the GOOD block diagram connection information corresponding to the NG block diagram connection information. A GOOD block diagram is displayed based on the block diagram connection information.
The determination by the block diagram match determination unit 11 and the display of the GOOD block diagram connection information by the GOOD block diagram display unit 12 are performed before the program code is automatically generated from the target block diagram connection information by the program generation unit 7, It is executed when the block diagram is created and / or modified.

次に、ソフトウェア開発支援装置1において用いられる各種入力及び表示画面、各種データの構造等について言及しながら、ソフトウェア開発支援装置1の動作について説明する。図2に、対象ブロック図を作成及び/又は修正するための対象ブロック図作成画面の例を示す。対象ブロック図作成画面20は、表記用画面23と、対象ブロック図の作成及びその他の作業に必要な操作を行うための各種メニューボタンとから構成されている。表記用画面23上において、ユーザは対象ブロック図の作成や修正のために、ブロック要素21とブロック要素間の接続を行う配線22を表記することができる。   Next, the operation of the software development support apparatus 1 will be described with reference to various inputs and display screens used in the software development support apparatus 1 and various data structures. FIG. 2 shows an example of a target block diagram creation screen for creating and / or modifying the target block diagram. The target block diagram creation screen 20 includes a notation screen 23 and various menu buttons for performing operations necessary for creation of the target block diagram and other operations. On the notation screen 23, the user can describe the wiring 22 for connecting the block elements 21 and the block elements in order to create or modify the target block diagram.

メニューボタンとしては、ブロック図のファイル操作を行うための「ファイル」24、ブロック図に記入するブロック要素の選択を行うための「ブロック要素の選択」25、ブロック要素間の接続を行うための「配線」26が設けられている。ユーザはこれらのメニューを用いて、入力装置2を介してブロック要素21及び各ブロック要素間の配線、すなわち接続22の入力及び修正用入力を行なう。
例えば、「ブロック要素の選択」25をクリックすると、各種ブロック要素を表示した画面が開き、ユーザはそこから所望のブロック要素を選択することによって、画面23上にブロック要素21を表記することができる。また、一例として、「配線」26をクリックすると、マウスポインタの形状が変化し、マウスを移動させることによって、画面23に表示された所望のブロック要素間に接続22を示す矢印線を表記することができる。
As the menu button, “file” 24 for performing file operation of the block diagram, “selection of block element” 25 for selecting a block element to be entered in the block diagram, and “file” for performing connection between the block elements Wiring "26 is provided. The user uses these menus to input the block element 21 and the wiring between the block elements, that is, the connection 22 and the input for correction via the input device 2.
For example, when “select block element” 25 is clicked, a screen displaying various block elements is opened, and the user can indicate the block element 21 on the screen 23 by selecting a desired block element therefrom. . As an example, when the “wiring” 26 is clicked, the shape of the mouse pointer changes, and an arrow line indicating the connection 22 is indicated between desired block elements displayed on the screen 23 by moving the mouse. Can do.

対象ブロック図作成部4は、ユーザによって対象ブロック図作成画面20及び入力装置2を介して入力されたデータに基づいて、対象ブロック図を作成する。ブロック図において表記されたブロック要素21とブロック要素間の接続22は、対象ブロック図接続情報としてブロック図接続情報抽出部5によって抽出される。図2に示す対象ブロック図から抽出された対象ブロック図接続情報のデータ構造について、その一例を以下に示す。   The target block diagram creation unit 4 creates a target block diagram based on data input by the user via the target block diagram creation screen 20 and the input device 2. The block element 21 and the connection 22 between the block elements shown in the block diagram are extracted by the block diagram connection information extracting unit 5 as target block diagram connection information. An example of the data structure of the target block diagram connection information extracted from the target block diagram shown in FIG. 2 is shown below.

線のID,線の入力ブロック要素(種類:ID),線の出力ブロック要素(種類:ID)
W001,(A:F001),(B:F002)
W002,(B:F002),(C:F003)
W003,(C:F003),(D:F004)
W004,(D:F004),(A:F005)
W005,(A:F005),(B:F006)
W006,(B:F006),(E:F007)
W007,(E:F007),(D:F008)
W008,(D:F008),(A:F009)
W009,(A:F009),(E:F010)
W010,(E:F010),(C:F011)
W011,(C:F011),(E:F012)
Line ID, Line input block element (Type: ID), Line output block element (Type: ID)
W001, (A: F001), (B: F002)
W002, (B: F002), (C: F003)
W003, (C: F003), (D: F004)
W004, (D: F004), (A: F005)
W005, (A: F005), (B: F006)
W006, (B: F006), (E: F007)
W007, (E: F007), (D: F008)
W008, (D: F008), (A: F009)
W009, (A: F009), (E: F010)
W010, (E: F010), (C: F011)
W011, (C: F011), (E: F012)

対象ブロック図接続情報のデータ構造としては、ブロック要素の接続を示す線の固体を識別するためのID(図2では、W001〜W011に相当)と、線の入力ブロック要素の種類(図2では、A、B、C、D、Eに相当)と固体を識別するためのID(図2では、F001〜F012に相当)と、線の出力ブロック要素の種類と固体を識別するためのIDとを、ブロック図の流れの順番に並べた形式としている。なお、線の入力ブロック要素とは、接続22を表す矢印線の起点に表記されたブロック要素であり、線の出力ブロック要素とは当該矢印線の終点に表記されたブロック要素である。
ブロック図接続情報抽出部5によって抽出された対象ブロック図接続情報は対象ブロック図接続情報記憶部6に記憶される。
The data structure of the target block diagram connection information includes an ID for identifying a solid line indicating connection of block elements (corresponding to W001 to W011 in FIG. 2), and the type of input block element of the line (in FIG. 2). , A, B, C, D, E) and an ID for identifying the solid (corresponding to F001 to F012 in FIG. 2), the type of the output block element of the line, and an ID for identifying the solid Are arranged in the order of the flow of the block diagram. The line input block element is a block element written at the starting point of the arrow line representing the connection 22, and the line output block element is a block element written at the end point of the arrow line.
The target block diagram connection information extracted by the block diagram connection information extraction unit 5 is stored in the target block diagram connection information storage unit 6.

[NGブロック図及びGOODブロック図の登録]
ソフトウェア開発支援装置1は、所定の条件を満たさない表記がなされたNGブロック図を予め登録しておき、入力した対象ブロック図を登録したNGブロック図と比較して、対象ブロック図における不適切な表記を検出できるように構成されている。さらに、本実施形態は、検出された不適切な表記をどのように修正すれば良いのかを示すために、NGブロック図に対応するGOODブロック図も登録しておくように構成されている。対象ブロック図作成画面20は、これらのNGブロック図及びGOODブロック図の登録作業を行なう場合に使用するメニューボタン「NG・GOOD登録」29を備えている。
[Registration of NG block diagram and GOOD block diagram]
The software development support apparatus 1 registers in advance an NG block diagram in which notation that does not satisfy a predetermined condition is made, and compares the input target block diagram with the registered NG block diagram, so that the target block diagram is inappropriate. It is configured to detect the notation. Further, the present embodiment is configured to register a GOOD block diagram corresponding to the NG block diagram in order to show how to correct the detected inappropriate notation. The target block diagram creation screen 20 is provided with a menu button “NG / GOOD registration” 29 used when registering these NG block diagram and GOOD block diagram.

対象ブロック図作成画面20において「NG・GOOD登録」29を選択した場合に実行される処理の流れについて、図3を参照しながら説明する。
まず、ユーザが対象ブロック図作成画面20において「NG・GOOD登録」29を選択すると(ステップ1)、NG・GOODブロック図登録情報画面が表示される(ステップ2)。
NG・GOODブロック図登録情報画面の一例を図4に示す。NG・GOODブロック図登録情報画面30は、登録情報を表示するNG・GOODブロック図登録情報表示部31と、新しくNGブロック図及びGOODブロック図を登録するためのメニューボタン「新規登録」32と、登録情報の修正を行うためのメニューボタン「修正」33を有している。
The flow of processing executed when “NG / GOOD registration” 29 is selected on the target block diagram creation screen 20 will be described with reference to FIG.
First, when the user selects “NG / GOOD registration” 29 on the target block diagram creation screen 20 (step 1), an NG / GOOD block diagram registration information screen is displayed (step 2).
An example of the NG / GOOD block diagram registration information screen is shown in FIG. The NG / GOOD block diagram registration information screen 30 includes an NG / GOOD block diagram registration information display unit 31 for displaying registration information, a menu button “new registration” 32 for newly registering an NG block diagram and a GOOD block diagram, A menu button “correct” 33 for correcting the registered information is provided.

新たなNGブロック図を登録する場合には、「新規登録」32を選択する(図3のステップ3、4)。「新規登録」32を選択すると、NGブロック図登録画面が表示される(ステップ5)。NGブロック図登録画面の一例を図5に示す。NGブロック図登録画面40は、ブロック要素41とブロック要素間の接続を行う配線42の作成を行う表記用画面43と、各種メニューボタンから構成されている。
各種メニューボタンとしては、NGブロック図に記入するブロック要素の選択を行うための「ブロック要素の選択」44と、ブロック要素間の接続を行うための「配線」45と、作成したNGブロック図に対応するGOODブロック図を登録するための「GOOD登録」46が設けられている。
When registering a new NG block diagram, “new registration” 32 is selected (steps 3 and 4 in FIG. 3). When “new registration” 32 is selected, an NG block diagram registration screen is displayed (step 5). An example of the NG block diagram registration screen is shown in FIG. The NG block diagram registration screen 40 includes a notation screen 43 for creating a block 42 and a wiring 42 for connecting the block elements, and various menu buttons.
As the various menu buttons, “block element selection” 44 for selecting block elements to be entered in the NG block diagram, “wiring” 45 for connecting the block elements, and the created NG block diagram A “GOOD registration” 46 for registering the corresponding GOOD block diagram is provided.

ユーザは、「ブロック要素の選択」44と「配線」45を適宜選択することによって、表記用画面43の画面上においてNGブロック図を作成することができる(図3のステップ6)。メニューボタン「ブロック要素の選択」44と「配線」45を使用したNGブロック図の作成方法は、図2を参照して前述した、対象ブロック図作成画面20における対象ブロック図の作成方法と同様である。
NG・GOODブロック図作成部8におけるNGブロック図作成手段は、ユーザによってNGブロック図作成画面40及び入力装置2を介して入力されたデータに基づいて、NGブロック図を作成する。ブロック図において表記されたブロック要素41とブロック要素間の接続42は、NGブロック図接続情報としてブロック図接続情報抽出部5によって抽出される。図5に示すNGブロック図から抽出されたNGブロック図接続情報のデータ構造について、その一例を以下に示す。
The user can create an NG block diagram on the notation screen 43 by appropriately selecting “block element selection” 44 and “wiring” 45 (step 6 in FIG. 3). The method for creating the NG block diagram using the menu buttons “select block element” 44 and “wiring” 45 is the same as the method for creating the target block diagram on the target block diagram creation screen 20 described above with reference to FIG. is there.
The NG block diagram creating means in the NG / GOOD block diagram creating unit 8 creates an NG block diagram based on data input by the user via the NG block diagram creating screen 40 and the input device 2. The block element 41 and the connection 42 between the block elements shown in the block diagram are extracted by the block diagram connection information extracting unit 5 as NG block diagram connection information. An example of the data structure of the NG block diagram connection information extracted from the NG block diagram shown in FIG. 5 is shown below.

線のID,線の入力ブロック要素(種類:ID),線の出力ブロック要素(種類:ID)
SW001,(A:SF001),(B:SF002)
SW002,(A:SF002),(B:SF003)
Line ID, Line input block element (Type: ID), Line output block element (Type: ID)
SW001, (A: SF001), (B: SF002)
SW002, (A: SF002), (B: SF003)

NGブロック図接続情報のデータ構造としては、対象ブロック図接続情報と同じく、ブロック要素の接続を示す線の固体を識別するためのID(図5では、SW001〜SW002に相当)、と線の入力ブロック要素の種類(図5では、A,B,Cに相当)と固体を識別するためのID(図5では、SF001〜SF003に相当)と、線の出力ブロック要素の種類と固体を識別するためのIDとを、ブロック図の流れの順番に並べた形式としている。
以上のようにユーザがNGブロック図を作成した後で、図5に示す「GOOD登録」46を選択すると(図3のステップ7)、GOODブロック図登録画面が表示される(ステップ8)。GOODブロック図登録画面の一例を図6に示す。GOODブロック図登録画面50は、ブロック要素51とブロック要素間の接続を行う配線52の作成を行う表記用画面53と、各種メニューボタンから構成されている。
As the data structure of the NG block diagram connection information, as in the target block diagram connection information, an ID (corresponding to SW001 to SW002 in FIG. 5) for identifying the solid of the line indicating the connection of the block element, and the input of the line Block element types (corresponding to A, B, and C in FIG. 5) and IDs for identifying solids (corresponding to SF001 to SF003 in FIG. 5), line output block element types and solids are identified. IDs are arranged in the order of flow in the block diagram.
After the user creates the NG block diagram as described above, when the “GOOD registration” 46 shown in FIG. 5 is selected (step 7 in FIG. 3), the GOOD block diagram registration screen is displayed (step 8). An example of the GOOD block diagram registration screen is shown in FIG. The GOOD block diagram registration screen 50 includes a notation screen 53 for creating a block 52 and a wiring 52 for connecting the block elements, and various menu buttons.

メニューボタンとしては、GOODブロック図に記入するブロック要素の選択を行うための「ブロック要素の選択」54と、ブロック要素間の接続を行うための「配線」55と、作成したNGブロック図及びGOODブロック図のブロック接続情報を記憶させるための「登録完了」56が設けられている。
ユーザは、NGブロック図登録画面40におけるNGブロック図の作成と同様に、「ブロック要素の選択」54と「配線」55を適宜選択してGOODブロック図を作成する(図3のステップ9及び10)。 NG・GOODブロック図作成部8におけるGOODブロック図作成手段は、ユーザによってGOODブロック図作成画面50及び入力装置2を介して入力されたデータに基づいて、GOODブロック図を作成する。ブロック図において表記されたブロック要素51とブロック要素間の接続52は、GOODブロック図接続情報としてブロック図接続情報抽出部5によって抽出される。
なお、GOODブロック図接続情報のデータ構造は、NGブロック図接続情報のデータ構造と同様である。
GOODブロック図作成後に「登録完了」56を選択すると、ブロック図接続情報抽出部5によって抽出されたNGブロック図接続情報及びGOODブロック図接続情報がそれぞれNGブロック図接続情報記憶部9及びGOODブロック図接続情報記憶部10に記憶されて、NGブロック図及びGOODブロック図の登録が完了する(図3のステップ11及び21)。NGブロック図の作成後に対応するGOODブロック図の作成を行なわない場合には、GOODブロック図の作成を行なわずに「登録完了」56を選択する(ステップ9及び11)。この場合、NGブロック図のみが登録される。
The menu buttons include “block element selection” 54 for selecting block elements to be entered in the GOOD block diagram, “wiring” 55 for connecting the block elements, and the created NG block diagram and GOOD. A “registration complete” 56 for storing the block connection information of the block diagram is provided.
Similarly to the creation of the NG block diagram on the NG block diagram registration screen 40, the user appropriately selects “block element selection” 54 and “wiring” 55 to create a GOOD block diagram (steps 9 and 10 in FIG. 3). ). The GOOD block diagram creation means in the NG / GOOD block diagram creation unit 8 creates a GOOD block diagram based on data input by the user via the GOOD block diagram creation screen 50 and the input device 2. The block element 51 and the connection 52 between the block elements shown in the block diagram are extracted by the block diagram connection information extracting unit 5 as GOOD block diagram connection information.
The data structure of the GOOD block diagram connection information is the same as the data structure of the NG block diagram connection information.
When “registration complete” 56 is selected after creating the GOOD block diagram, the NG block diagram connection information and the GOOD block diagram connection information extracted by the block diagram connection information extracting unit 5 are the NG block diagram connection information storage unit 9 and the GOOD block diagram, respectively. It is stored in the connection information storage unit 10 and registration of the NG block diagram and the GOOD block diagram is completed (steps 11 and 21 in FIG. 3). If the corresponding GOOD block diagram is not created after the creation of the NG block diagram, “registration complete” 56 is selected without creating the GOOD block diagram (steps 9 and 11). In this case, only the NG block diagram is registered.

次いで、新たなNGブロック図の作成ではなく既に登録されているNGブロック図の修正を行なう場合の処理の流れについて説明する。この場合、処理の流れは図3のステップ3からステップ12に進む。図4に示すNG・GOODブロック図登録情報画面30において、NG・GOODブロック図登録情報表示部31には既に登録されているNGブロック図及びGOODブロック図の接続情報が表示されている。NG・GOODブロック図登録情報表示部31における表示は、一例として、図4に示すように、NG又はGOODブロック図接続情報を選択するためのチェックボックス35と、各NG・GOODブロック図接続情報を識別するための登録番号36と、NGブロック図接続情報表示37とGOODブロック図接続情報表示38とを含んでいる。   Next, the flow of processing in the case of correcting an already registered NG block diagram rather than creating a new NG block diagram will be described. In this case, the process flow proceeds from step 3 to step 12 in FIG. In the NG / GOOD block diagram registration information screen 30 shown in FIG. 4, the NG / GOOD block diagram registration information display unit 31 displays connection information of NG block diagrams and GOOD block diagrams that have already been registered. As an example, the display in the NG / GOOD block diagram registration information display unit 31 includes a check box 35 for selecting NG or GOOD block diagram connection information, and each NG / GOOD block diagram connection information as shown in FIG. A registration number 36 for identification, an NG block diagram connection information display 37, and a GOOD block diagram connection information display 38 are included.

ユーザは修正したいNGブロック図にチェックを入れて、メニューボタン「修正」33を選択する(図3のステップ12)。「修正」33が選択されると、NGブロック図登録画面40が表示され、表記用画面43には、チェックされたNGブロック図接続情報に基づいたNGブロック図が既に表示されている(ステップ13)。前述したNGブロック図の作成と同様、ユーザは「ブロック要素の選択」44と「配線」45を適宜選択してNGブロック図を修正する(ステップ14及び15)。NGブロック図の修正が終了したら、「GOOD登録」46を選択して、GOODブロック図登録画面50における作業に移行する。
また、チェックしたNGブロック図に対する修正は行わず、チェックしたNGブロック図に対応するGOODブロック図の作成や修正のみを行なう場合も想定される。この場合、NGブロック図登録画面40においてNGブロック図の修正作業は行なわずに、「GOOD登録」46を選択して、GOODブロック図登録画面50における作業に移行する(ステップ14及び16)。
The user checks the NG block diagram to be corrected and selects the menu button “correct” 33 (step 12 in FIG. 3). When “modify” 33 is selected, an NG block diagram registration screen 40 is displayed, and an NG block diagram based on the checked NG block diagram connection information is already displayed on the notation screen 43 (step 13). ). Similar to the creation of the NG block diagram described above, the user appropriately selects “block element selection” 44 and “wiring” 45 to correct the NG block diagram (steps 14 and 15). When the correction of the NG block diagram is completed, “GOOD registration” 46 is selected to shift to the work on the GOOD block diagram registration screen 50.
It is also assumed that the checked NG block diagram is not modified, and only the GOOD block diagram corresponding to the checked NG block diagram is created or modified. In this case, without correcting the NG block diagram on the NG block diagram registration screen 40, “GOOD registration” 46 is selected, and the process proceeds to the operation on the GOOD block diagram registration screen 50 (steps 14 and 16).

「GOOD登録」46が選択されると、図6に示したGOODブロック図登録画面50が表示される。表記用画面53には、チェックされたNGブロック図接続情報に対応するGOODブロック図接続情報に基づいて、GOODブロック図が既に表示されている。前述したNGブロック図の修正と同様、ユーザは「ブロック要素の選択」54と「配線」55を適宜選択してGOODブロック図を修正する(ステップ18及び19)。
なお、チェックされたNGブロック図接続情報に対応するGOODブロック図接続情報が存在しなかった場合には、表記用画面53にはブロック図は表示されていない。チェックしたNGブロック図に対応する新たなGOODブロック図を作成したい場合には、ユーザは、前述のステップ10におけるGOODブロック図の作成と同様、「ブロック要素の選択」54と「配線」55を適宜選択してGOODブロック図を作成する。
When “GOOD registration” 46 is selected, the GOOD block diagram registration screen 50 shown in FIG. 6 is displayed. On the notation screen 53, a GOOD block diagram is already displayed based on the GOOD block diagram connection information corresponding to the checked NG block diagram connection information. Similar to the correction of the NG block diagram described above, the user selects the “block element selection” 54 and “wiring” 55 as appropriate to correct the GOOD block diagram (steps 18 and 19).
When there is no GOOD block diagram connection information corresponding to the checked NG block diagram connection information, no block diagram is displayed on the notation screen 53. When creating a new GOOD block diagram corresponding to the checked NG block diagram, the user appropriately selects “block element selection” 54 and “wiring” 55 in the same manner as the creation of the GOOD block diagram in step 10 described above. Select to create a GOOD block diagram.

以上のように、GOODブロック図の修正又は作成が終了すると、ユーザは「登録完了」56を選択する(ステップ20)。また、GOODブロック図の修正又は作成を行なわない場合は、GOODブロック図登録画面50の表示後、修正等の作業を行なうことなく、「登録完了」55を選択する。
「登録完了」55が選択されると、修正したNGブロック図と修正又は作成したGOODブロック図のブロック図接続情報がそれぞれNGブロック図接続情報記憶部9及びGOODブロック図接続情報記憶部10に記憶されて、修正されたNGブロック図と修正又は作成されたGOODブロック図の登録が完了する(図3のステップ20及び21)。
As described above, when the modification or creation of the GOOD block diagram is completed, the user selects “registration complete” 56 (step 20). If the GOOD block diagram is not modified or created, “registration complete” 55 is selected without performing any modification work after the GOOD block diagram registration screen 50 is displayed.
When “Registration complete” 55 is selected, the block diagram connection information of the modified NG block diagram and the modified or created GOOD block diagram is stored in the NG block diagram connection information storage unit 9 and the GOOD block diagram connection information storage unit 10, respectively. Thus, registration of the modified NG block diagram and the modified or created GOOD block diagram is completed (steps 20 and 21 in FIG. 3).

[対象ブロック図とNGブロック図の比較]
ソフトウェア開発支援装置1は、上記のように登録されたNGブロック図と対象ブロック図と比較して、対象ブロック図の中からNGブロック図と一致する表記を検出することにより、対象ブロック図における不適切な表記を検出できるように構成されている。
図2に示す対象ブロック図作成画面20は、対象ブロック図の中から不適切な表記を検出する作業を行うためのメニューボタン「NG検出」28を備えている。
[Comparison of target block diagram and NG block diagram]
The software development support apparatus 1 compares the NG block diagram registered as described above with the target block diagram, and detects a notation that matches the NG block diagram from the target block diagram. Configured to detect appropriate notation.
The target block diagram creation screen 20 shown in FIG. 2 includes a menu button “NG detection” 28 for performing an operation of detecting inappropriate notation from the target block diagram.

図7に、「NG検出」28を選択した場合の処理の流れを示す。
「NG検出」28が選択されると、ブロック図一致判定部11が、NGブロック図接続情報における線の入力ブロック要素の種類と線の出力ブロック要素の種類とその順番と、対象ブロック図接続情報における線の入力ブロック要素の種類と線の出力ブロック要素の種類とその順番とを比較する(ステップ30〜ステップ32)。本実施形態においては、登録番号の小さいNGブロック図接続情報から順に比較を行なっている。このNGブロック図の登録番号は、図4において例示した各NGブロック図接続情報を識別するための番号36である。
FIG. 7 shows the flow of processing when “NG detection” 28 is selected.
When “NG detection” 28 is selected, the block diagram coincidence determination unit 11 causes the line input block element type, line output block element type and order thereof in the NG block diagram connection information, and target block diagram connection information. The type of the input block element of the line and the type of the output block element of the line and their order are compared (steps 30 to 32). In this embodiment, the comparison is performed in order from the NG block diagram connection information with the smallest registration number. The registration number of the NG block diagram is a number 36 for identifying each NG block diagram connection information illustrated in FIG.

ブロック図一致判定部11は、比較の結果、前記ブロック要素の種類と順番が一致するものがあるかどうかを判定し(ステップ33)、種類と順番が一致するものがあれば、ブロック図作成画面において一致するブロック要素を強調表示する(ステップ34)。図8にブロック図作成画面において一致するブロック要素を強調表示した例を示す。図8では、一致したブロック要素21を破線で囲むことによって強調表示している。
次いで、比較対象となっているNGブロック図に対応するGOODブロック図が存在する場合には、ブロック要素61とブロック要素間の接続を行う配線62からなるGOODブロック図を示す小ウィンドウ60を表示する(ステップ35及び36)。なお、小ウィンドウ60に示されたGOODブロック図に対応する対象ブロック図の一部(すなわち、対応するNGブロック図と一致した部分)は、表示枠63によって示されている。上記ステップ32〜ステップ36の処理は、すべての対象ブロック図接続情報について実行される。
As a result of the comparison, the block diagram coincidence determination unit 11 determines whether or not there is an element whose order matches the type of the block element (step 33). The matching block elements are highlighted (step 34). FIG. 8 shows an example in which matching block elements are highlighted on the block diagram creation screen. In FIG. 8, the matched block element 21 is highlighted by surrounding it with a broken line.
Next, when there is a GOOD block diagram corresponding to the NG block diagram to be compared, a small window 60 showing the GOOD block diagram including the block element 61 and the wiring 62 for connecting the block elements is displayed. (Steps 35 and 36). Note that a part of the target block diagram corresponding to the GOOD block diagram shown in the small window 60 (that is, a portion that matches the corresponding NG block diagram) is shown by a display frame 63. The processes in steps 32 to 36 are executed for all target block diagram connection information.

すべての対象ブロック図接続情報について、NGブロック図接続情報との比較が終了すると、比較が終了したNGブロック図接続情報の次の登録番号を有するNGブロック図接続情報と対象ブロック図接続情報との比較が実行される(ステップ37〜ステップ39)。このようにして、登録されているすべてのNGブロック図接続情報と対象ブロック図接続情報との比較が実行され、対象ブロック図において、不適切な表記が検出されると共に、正しい表記を示すGOODブロック図が表示される。
ユーザが検出された不適切な表記を修正した後に、対象ブロック図作成画面20におけるメニューボタン「自動生成」27を選択すると、適切な表記となった対象ブロック図からプログラム生成部7によってプログラムコードが自動生成される。
When the comparison with the NG block diagram connection information is completed for all the target block diagram connection information, the comparison between the NG block diagram connection information and the target block diagram connection information having the next registration number of the NG block diagram connection information for which the comparison has been completed. Comparison is performed (steps 37 to 39). In this way, all the registered NG block diagram connection information and the target block diagram connection information are compared, and an inappropriate notation is detected in the target block diagram, and the GOOD block showing the correct notation A figure is displayed.
When the user selects the menu button “automatic generation” 27 on the target block diagram creation screen 20 after correcting the inappropriate notation detected, the program code is generated by the program generation unit 7 from the target block diagram having the proper notation. Automatically generated.

上記のように、ソフトウェア開発支援装置1においては、対象ブロック図を作成した段階において、「NG検出」処理を実行することにより、ブロック図からプログラムコードを生成する前にブロック図から不適切な表記を検出し、修正することができる。したがって、作業時間の短縮を実現すると共に、誤表記の見落としなどのミスの発生を抑制することができる。
また、予めNGブロック図に対応するGOODブロック図を登録しておいた場合には、検出された不適切な表記に対応したGOODブロック図が表示されるため、検出された不適切な表記をどのように修正すれば良いのかすぐに把握することができ、修正に要する作業時間が短縮される。
さらに、ソフトウェア開発支援装置1は、NGブロック図及びGOODブロック図を適宜新たに登録したり、修正したりすることが可能であるため、装置の拡張性が高いという利点も有している。
As described above, in the software development support device 1, in the stage where the target block diagram is created, the “NG detection” process is executed, so that an inappropriate notation is generated from the block diagram before generating the program code from the block diagram. Can be detected and corrected. Therefore, it is possible to reduce the work time and to suppress the occurrence of mistakes such as overwriting of misrepresentations.
If a GOOD block diagram corresponding to the NG block diagram is registered in advance, the GOOD block diagram corresponding to the detected inappropriate notation is displayed. Thus, it is possible to immediately grasp whether the correction should be made, and the work time required for the correction is shortened.
Furthermore, since the software development support apparatus 1 can newly register or modify the NG block diagram and the GOOD block diagram as appropriate, it has an advantage that the expandability of the apparatus is high.

以上、本発明の一実施形態について述べたが、本発明は既述の実施形態に限定されるものではなく、本発明の技術的思想に基づいて各種の変形及び変更が可能である。
例えば、以下のような態様が挙げられる。
(請求項1)
複数のブロック要素と該ブロック要素間の接続関係を表記したブロック図によって処理手順が示され、前記ブロック図に基づいて計算機言語によるプログラムを自動生成するソフトウェア開発支援装置であって、
前記ブロック図に表記された複数のブロック要素と該ブロック要素間の接続関係とを対象ブロック図接続情報として抽出するブロック図接続情報抽出手段と、
前記ブロック図接続情報抽出手段によって抽出された対象ブロック図接続情報を記憶する対象ブロック図接続情報記憶手段と、
前記対象ブロック図接続情報から、計算機言語によるプログラムを自動生成するプログラム生成手段と、
表記された複数のブロック要素及び/又は該ブロック要素間の接続関係が所定の条件を満たさないNGブロック図について、該NGブロック図のブロック図接続情報をNGブロック図接続情報として記憶しておくNGブロック図接続情報記憶手段と、
前記プログラム生成手段が前記対象ブロック図接続情報から計算機言語によるプログラムを自動生成する前に、前記対象ブロック図接続情報記憶手段に記憶された前記対象ブロック図接続情報と、前記NGブロック図接続情報記憶手段に記憶されたNGブロック図接続情報とを比較して、前記対象ブロック図接続情報の少なくとも一部が前記NGブロック図接続情報と一致するか否かを判定するブロック図一致判定手段と
を備える、ソフトウェア開発支援装置。
(請求項2)
前記所定の条件を満たすように表記したGOODブロック図のブロック図接続情報をGOODブロック図接続情報として記憶しておくGOODブロック図接続情報記憶手段と、
前記記憶されたGOODブロック図接続情報に基づいて前記GOODブロック図を表示するGOODブロック図表示手段と
をさらに備え、
前記ブロック図一致判定手段が、前記対象ブロック図接続情報の少なくとも一部が前記NGブロック図接続情報と一致すると判定した場合に、前記GOODブロック図表示手段が前記NGブロック図接続情報に対応する前記GOODブロック図接続情報に基づいてGOODブロック図を表示することを特徴とする、請求項1に記載のソフトウェア開発支援装置。
(請求項3)
前記NGブロック図の作成及び/又は修正を行うためのNGブロック図作成手段を備えることを特徴とする、請求項1又は2に記載のソフトウェア開発支援装置。
(請求項4)
前記GOODブロック図の作成及び/又は修正を行うためのGOODブロック図作成手段を備えることを特徴とする、請求項2又は3に記載のソフトウェア開発支援装置。
(請求項5)
前記プログラム生成手段によってプログラムが自動生成されるブロック図を作成及び/又は修正するための対象ブロック図作成手段を備えることを特徴とする、請求項1〜4のいずれか1項に記載のソフトウェア開発支援装置。
Although one embodiment of the present invention has been described above, the present invention is not limited to the above-described embodiment, and various modifications and changes can be made based on the technical idea of the present invention.
For example, the following aspects are mentioned.
(Claim 1)
A software development support apparatus that automatically generates a program in a computer language based on a block diagram in which a block diagram representing a plurality of block elements and connection relationships between the block elements is shown, and based on the block diagram,
A block diagram connection information extracting means for extracting, as target block diagram connection information, a plurality of block elements described in the block diagram and a connection relationship between the block elements;
Target block diagram connection information storage means for storing target block diagram connection information extracted by the block diagram connection information extraction means;
Program generating means for automatically generating a program in a computer language from the target block diagram connection information;
NG block diagram connection information of the NG block diagram is stored as NG block diagram connection information for a plurality of block elements and / or an NG block diagram in which the connection relationship between the block elements does not satisfy a predetermined condition Block diagram connection information storage means;
Before the program generation means automatically generates a program in a computer language from the target block diagram connection information, the target block diagram connection information stored in the target block diagram connection information storage means and the NG block diagram connection information storage A block diagram match determination unit that compares the NG block diagram connection information stored in the means to determine whether at least a part of the target block diagram connection information matches the NG block diagram connection information. Software development support device.
(Claim 2)
GOOD block diagram connection information storage means for storing block diagram connection information of a GOOD block diagram expressed so as to satisfy the predetermined condition as GOOD block diagram connection information;
GOOD block diagram display means for displaying the GOOD block diagram based on the stored GOOD block diagram connection information,
When the block diagram match determination unit determines that at least a part of the target block diagram connection information matches the NG block diagram connection information, the GOOD block diagram display unit corresponds to the NG block diagram connection information. The software development support apparatus according to claim 1, wherein a GOOD block diagram is displayed based on the GOOD block diagram connection information.
(Claim 3)
The software development support apparatus according to claim 1, further comprising an NG block diagram creating unit for creating and / or correcting the NG block diagram.
(Claim 4)
The software development support apparatus according to claim 2, further comprising a GOOD block diagram creating unit for creating and / or correcting the GOOD block diagram.
(Claim 5)
The software development according to any one of claims 1 to 4, further comprising a target block diagram creating unit for creating and / or correcting a block diagram in which a program is automatically generated by the program generating unit. Support device.

1 ソフトウェア開発支援装置
4 対象ブロック図作成部
5 ブロック図接続情報抽出部
6 対象ブロック図接続情報記憶部
7 NG・GOODブロック図作成部
9 NGブロック図接続情報記憶部
10 GOODブロック図接続情報記憶部
11 ブロック図一致判定部
12 GOODブロック図表示部
DESCRIPTION OF SYMBOLS 1 Software development support apparatus 4 Target block diagram creation part 5 Block diagram connection information extraction part 6 Target block diagram connection information storage part 7 NG / GOOD block diagram creation part 9 NG block diagram connection information storage part 10 GOOD block diagram connection information storage part 11 Block diagram coincidence determination unit 12 GOOD block diagram display unit

Claims (4)

複数のブロック要素と該ブロック要素間の接続関係を表記したブロック図によって処理手順が示され、前記ブロック図に基づいて計算機言語によるプログラムを自動生成するソフトウェア開発支援装置であって、
前記ブロック図に表記された複数のブロック要素と該ブロック要素間の接続関係とを対象ブロック図接続情報として抽出するブロック図接続情報抽出手段と、
前記ブロック図接続情報抽出手段によって抽出された対象ブロック図接続情報を記憶する対象ブロック図接続情報記憶手段と、
前記対象ブロック図接続情報から、計算機言語によるプログラムを自動生成するプログラム生成手段と、
表記された複数のブロック要素及び/又は該ブロック要素間の接続関係が所定の条件を満たさないNGブロック図について、該NGブロック図のブロック図接続情報をNGブロック図接続情報として記憶しておくNGブロック図接続情報記憶手段と、
前記プログラム生成手段が前記対象ブロック図接続情報から計算機言語によるプログラムを自動生成する前に、前記対象ブロック図接続情報記憶手段に記憶された前記対象ブロック図接続情報と、前記NGブロック図接続情報記憶手段に記憶されたNGブロック図接続情報とを比較して、前記対象ブロック図接続情報の少なくとも一部が前記NGブロック図接続情報と一致するか否かを判定し、一致する対象ブロック図の一部を対象ブロック図作成画面上に強調表示するブロック図一致判定手段と、
前記ブロック図一致判定手段が、前記対象ブロック図接続情報と前記NGブロック図接続情報とを比較した結果、較対象となっている前記NGブロック図に対応するGOODブロック図がある場合には、当該GOODブロック図を小ウィンドウ上に表示させる、GOODブロック図表示手段と、
前記NGブロック図接続情報記憶手段に記憶された、前記NGブロック図の登録されたNGブロック図接続情報のうち、ユーザによって選択された前記NGブロック図接続情報に基づいたNGブロック図を、NGブロック図登録画面上に表示させるNGブロック図作成手段であって、当該NGブロック図接続情報のブロック要素及び/又はブロック要素間の接続関係の一部を修正するために、当該NGブロック図を修正する、NGブロック図作成手段と
を備える、ソフトウェア開発支援装置。
A software development support apparatus that automatically generates a program in a computer language based on a block diagram in which a block diagram representing a plurality of block elements and connection relationships between the block elements is shown, and based on the block diagram,
A block diagram connection information extracting means for extracting, as target block diagram connection information, a plurality of block elements described in the block diagram and a connection relationship between the block elements;
Target block diagram connection information storage means for storing target block diagram connection information extracted by the block diagram connection information extraction means;
Program generating means for automatically generating a program in a computer language from the target block diagram connection information;
NG block diagram connection information of the NG block diagram is stored as NG block diagram connection information for a plurality of block elements and / or an NG block diagram in which the connection relationship between the block elements does not satisfy a predetermined condition Block diagram connection information storage means;
Before the program generation means automatically generates a program in a computer language from the target block diagram connection information, the target block diagram connection information stored in the target block diagram connection information storage means and the NG block diagram connection information storage The NG block diagram connection information stored in the means is compared to determine whether at least a part of the target block diagram connection information matches the NG block diagram connection information . Block diagram match determination means for highlighting the part on the target block diagram creation screen ,
Wherein when the block diagram match determining means, the target block diagram the connection information with the results of comparing the NG block diagram connection information, there is a GOOD block diagram corresponding to the NG block diagram that is the comparison target, GOOD block diagram display means for displaying the GOOD block diagram on a small window ;
The NG block diagram based on the NG block diagram connection information selected by the user among the registered NG block diagram connection information of the NG block diagram stored in the NG block diagram connection information storage means is displayed as an NG block. a NG block diagram creating means for displaying in FIG registration screen, in order to modify some of the connections between block elements and / or block element of the NG block diagram connection information, modifies the NG block diagram A software development support apparatus comprising: an NG block diagram creation means.
前記所定の条件を満たすように表記したGOODブロック図のブロック図接続情報をGOODブロック図接続情報として記憶しておくGOODブロック図接続情報記憶手段をさらに備えることを特徴とする、請求項1に記載のソフトウェア開発支援装置。   The GOOD block diagram connection information storage means for storing block diagram connection information of a GOOD block diagram expressed so as to satisfy the predetermined condition as GOOD block diagram connection information, further comprising: Software development support equipment. 前記GOODブロック図の作成及び/又は修正を行うためのGOODブロック図作成手段を備えることを特徴とする、請求項1又は2に記載のソフトウェア開発支援装置。   3. The software development support apparatus according to claim 1, further comprising a GOOD block diagram creating unit for creating and / or correcting the GOOD block diagram. 前記プログラム生成手段によってプログラムが自動生成されるブロック図を作成及び/又は修正するための対象ブロック図作成手段を備えることを特徴とする、請求項1〜3のいずれか1項に記載のソフトウェア開発支援装置。   The software development according to claim 1, further comprising a target block diagram creating unit for creating and / or correcting a block diagram in which a program is automatically generated by the program generating unit. Support device.
JP2014260145A 2014-12-24 2014-12-24 Software development support device Expired - Fee Related JP5949889B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014260145A JP5949889B2 (en) 2014-12-24 2014-12-24 Software development support device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014260145A JP5949889B2 (en) 2014-12-24 2014-12-24 Software development support device

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2009156868A Division JP2011013887A (en) 2009-07-01 2009-07-01 Software development support device

Publications (2)

Publication Number Publication Date
JP2015084246A JP2015084246A (en) 2015-04-30
JP5949889B2 true JP5949889B2 (en) 2016-07-13

Family

ID=53047780

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014260145A Expired - Fee Related JP5949889B2 (en) 2014-12-24 2014-12-24 Software development support device

Country Status (1)

Country Link
JP (1) JP5949889B2 (en)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58172713A (en) * 1982-04-01 1983-10-11 Omron Tateisi Electronics Co Crt display type programming device of programmable controller
JP2575665B2 (en) * 1986-10-02 1997-01-29 富士通株式会社 Logical diagram outline description conversion processing method
JPH04263318A (en) * 1991-02-18 1992-09-18 Mitsubishi Heavy Ind Ltd General-purpose software generator
JP2001216142A (en) * 2000-02-04 2001-08-10 Hitachi Ltd Program preparation aiding device
JP2005284785A (en) * 2004-03-30 2005-10-13 Jfe Steel Kk Program development apparatus
US7650574B2 (en) * 2004-05-11 2010-01-19 National Instruments Corporation Visually indicating problems found during programmatic analysis of a graphical program
US7478367B2 (en) * 2005-01-11 2009-01-13 International Business Machines Corporation Dynamic source code analyzer

Also Published As

Publication number Publication date
JP2015084246A (en) 2015-04-30

Similar Documents

Publication Publication Date Title
EP2677451B1 (en) License verification method and apparatus, and computer readable storage medium storing program therefor
JP6354457B2 (en) Application development support apparatus, data processing method thereof, and program
CN104899010A (en) Multilingualization method and system of source code
JP2009048252A (en) Program conversion device and compiler program
JP2011013887A (en) Software development support device
JP2015204065A (en) Test case generation device and test case generation method
JP5454783B2 (en) Variable name input support method in PLC programming, variable name input support device in PLC programming, and computer program
JP5125938B2 (en) Bug detection support program, similar syntax identification information list output program, bug detection support device, and bug detection support method
JP2009104342A (en) Data flow analysis apparatus, data flow analysis method and data flow analyzing program
JP5937245B1 (en) Operation procedure evaluation apparatus and operation procedure evaluation program
US20190370151A1 (en) Equivalence verification apparatus and computer readable medium
JP5293521B2 (en) Design rule check verification apparatus and design rule check verification method
JP5949889B2 (en) Software development support device
JP2011039786A (en) Software test support device, software test support method and program
CN109656704B (en) Information processing method and information processing device
US20220350730A1 (en) Test data generation apparatus, test data generation method and program
JP5811859B2 (en) Source code static analysis device, system, method, and program therefor
JP2009169573A (en) Analysis result output device and analysis result output method
JP2009211622A (en) Contract definition function verification device, method thereof, and program thereof
JP2008305105A (en) Document data processor
JP6157375B2 (en) Operation procedure flow update device, method and program
JP2009251666A (en) Change history preparation apparatus, method, and program
JP2007310829A (en) Data processor, data processing method and data processing program
JP2010244157A (en) Device, and method for processing functional block diagram, and program
JP5049911B2 (en) Pattern creating apparatus and pattern creating method

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150722

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150818

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151007

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160304

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160419

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160510

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160523

R150 Certificate of patent or registration of utility model

Ref document number: 5949889

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees