JP5310002B2 - Software development support system, development support method and program - Google Patents

Software development support system, development support method and program Download PDF

Info

Publication number
JP5310002B2
JP5310002B2 JP2009001302A JP2009001302A JP5310002B2 JP 5310002 B2 JP5310002 B2 JP 5310002B2 JP 2009001302 A JP2009001302 A JP 2009001302A JP 2009001302 A JP2009001302 A JP 2009001302A JP 5310002 B2 JP5310002 B2 JP 5310002B2
Authority
JP
Japan
Prior art keywords
register
variable
check
function
variables
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
JP2009001302A
Other languages
Japanese (ja)
Other versions
JP2010160594A (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.)
Meidensha Corp
Original Assignee
Meidensha Corp
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 Meidensha Corp filed Critical Meidensha Corp
Priority to JP2009001302A priority Critical patent/JP5310002B2/en
Publication of JP2010160594A publication Critical patent/JP2010160594A/en
Application granted granted Critical
Publication of JP5310002B2 publication Critical patent/JP5310002B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、ソフトウェアの設計図に合わせたプログラムの自動作成などを支援するソフトウェアの開発支援システム、開発支援方法およびプログラムに係り、特に設計図上で使用されるレジスタ変数の使用数のチェックに関する。   The present invention relates to a software development support system, a development support method, and a program for supporting automatic creation of a program according to a software design drawing, and more particularly to checking the number of register variables used on a design drawing.

ソフトウェアの設計図をGUIベースで作成し、その設計図に合わせたプログラムの自動作成などを支援するソフトウェア開発支援システムとして、UML図で仕様や設計図などの記述を行い、このUML図による「仕様作成」、「分析」、「設計」、「実装」、「保守」といったソフトウェア開発を支援する支援システムがある(例えば、非特許文献1参照)。   As a software development support system that creates software design drawings on a GUI basis and supports automatic creation of programs according to the design drawings, specifications and design drawings are described using UML diagrams. There is a support system that supports software development such as “creation”, “analysis”, “design”, “implementation”, and “maintenance” (for example, see Non-Patent Document 1).

一方、組込みソフトウェア開発では、演算に関する設計図としてブロック図を作成する。また、処理の順番に関する設計図として、図8のように、フローチャートのような図を設計図として用いることもある。たとえば、開発対象の組込み機器が加算と乗算を行う場合、入力から出力まで、加算や乗算を表すブロックを配置し、ブロック間を線で結んで演算順序を表現する。この設計図を元にして実装を行うにあたっては、作成したブロック図を元にプログラムを作成し、このプログラムを専用のコンパイラを使用してコンパイルし、実機に組み込んで動作試験を可能にする。   On the other hand, in embedded software development, a block diagram is created as a design drawing related to computation. Further, as a design drawing regarding the processing order, a diagram like a flowchart may be used as a design drawing as shown in FIG. For example, when an embedded device to be developed performs addition and multiplication, blocks representing addition and multiplication are arranged from input to output, and the operation order is expressed by connecting the blocks with lines. When implementing based on this design drawing, a program is created based on the created block diagram, and this program is compiled using a dedicated compiler and incorporated into an actual machine to enable an operation test.

このようなソフトウェアの開発支援システムでは、プログラムを自動作成するうえで必要な情報を保持している。例えば、変数の情報(型・スコープ・変数名・記憶クラス、使用するUI(ユーザインタフェース)情報等)、関数の情報(型・スコープ・関数変数名・記億クラス、使用UI情報、関数で使用されている変数の情報等)、プログラム上の制御情報や設計図の表現からどのような順番でプログラムを自動作成するか(プログラムフロー情報)などである。   Such a software development support system holds information necessary for automatically creating a program. For example, variable information (type, scope, variable name, storage class, used UI (user interface) information, etc.), function information (type, scope, function variable name, storage class, used UI information, function use) And the like, and the order in which the program is automatically created from the control information on the program and the representation of the design drawing (program flow information).

例として、図7と図8を示す。図7の場合は、設計図Xを構成する処理A、Bの前後(入力側・出力側)を結線し、その線に変数reg1,reg2などが割り振られている場合であり、ソフトウェア開発支援システムは、設計図XのUI情報のほかに、変数情報、プログラム順番情報(プログラムフロー情報)をもつ。また、結線上に変数名を表示している。   As an example, FIG. 7 and FIG. 8 are shown. In the case of FIG. 7, the process A and B constituting the design drawing X are connected before and after (input side and output side), and variables reg1, reg2, etc. are allocated to the lines, and the software development support system Has variable information and program order information (program flow information) in addition to the UI information of the design drawing X. The variable name is displayed on the connection.

図8の場合は、設計図Yを構成する処理A、Bの順番を線で結線し、それらに入出力変数などが割り振られている場合であり、ソフトウェア開発支援システムは、設計図YのUI情報のほかに、処理で使用される変数等の属性情報、変数情報、プログラム順番情報(プログラムフロー情報)をもつ。   In the case of FIG. 8, the order of the processes A and B constituting the design drawing Y is connected by lines, and input / output variables and the like are assigned to them, and the software development support system uses the UI of the design drawing Y. In addition to information, it has attribute information such as variables used in processing, variable information, and program order information (program flow information).

このようなソフトウェアの開発支援システムで自動作成されたプログラムの中には、演算の高速化の手段として、レジスタを読出し/書き込み領域とするレジスタ変数を使った設計図、プログラムを用いている場合がある。ここでレジスタとは、高速に読み出し、書き込みができるCPU(中央処理装置)の中の記憶素子であり、プログラム中から自由にその内容を参照・更新することができる。レジスタ変数を使用した設計図、プログラム中では、レジスタ変数を宣言することにより、CPUのレジスタにデータ書き込みや読み出しを可能にする。   Among programs automatically created by such software development support systems, there are cases in which blueprints and programs using register variables that use registers as read / write areas are used as means for speeding up operations. is there. Here, a register is a storage element in a CPU (Central Processing Unit) that can be read and written at high speed, and its contents can be freely referred to and updated from within a program. In design drawings and programs that use register variables, data can be written to and read from CPU registers by declaring register variables.

明電時報 2006年9・10月 通巻310号 No.5「ソフトウェア開発総合支援システムにおける仕様作成支援機能」Meiden Times September / October 2006 No. 310 No. 5 “Specification creation support function in the software development comprehensive support system”

プログラム中からレジスタにデータ読み出し、書き込みを行う場合、使用中のレジスタへのデータの上書きなどが起こらないように注意を払う必要がある。ソフトウェア開発者の意図しない箇所で使用中のレジスタへのデータの上書きが発生すると、開発されたシステムに不具合が生じる。   When reading / writing data to / from the register from the program, care must be taken to prevent data from being overwritten on the register in use. If data is overwritten to a register that is in use at a location that is not intended by the software developer, a problem occurs in the developed system.

また、割込み処理が発生するようなプログラムの場合、割込み元、割込み先で同一のレジスタ変数を使用している場合も使用中のレジスタへのデータの上書きが発生する場合も多くある。   In the case of a program in which interrupt processing occurs, there are many cases where data is overwritten on a register in use even when the same register variable is used at the interrupt source and the interrupt destination.

また、組み込みシステム等では、各CPUで使用できるレジスタの数に制限があるため、レジスタ変数を使いまわしてプログラムを作成することもあり、このような状況で、使用中のレジスタへのデータの上書きが発生する場合も多くある。   Also, in embedded systems, etc., the number of registers that can be used by each CPU is limited, so programs may be created by using register variables. In such a situation, overwriting data in the registers in use There are many cases where this occurs.

ソフトウェアの設計図をもとに、シミュレーションを実行したり、プログラムを自動作成したりするソフトウェア開発支援システムの場合、設計図上で使用する変数の情報(型・スコープ・変数名・記億クラス等)はある。しかし、レジスタ変数は、使いまわすこともあるため、複数の設計図にまたがって存在することもある。この場合、レジスタ変数の使い回しが正しい使用方法か否かは、設計図を記述したソフトウェア開発支援システム使用者のみが知るところにより、システムが一概にレジスタ変数の使用方法にエラー通知を出すのは難しい。   In the case of a software development support system that executes simulations or automatically creates programs based on software design drawings, information on variables used in the design drawings (type, scope, variable name, storage class, etc.) ) Is. However, register variables may be reused and may exist across multiple design drawings. In this case, only the software development support system user who described the design drawing knows whether or not the usage of register variables is correct, so the system generally issues an error notification to the usage of register variables. difficult.

そのため、ソフトウェア開発支援システムでは、何のチェックもなしにプログラムを自動作成すると、使用者の意図したとおりの実行結果が期待できないプログラムを作成する結果となり、自動作成したプログラムを用いた動作試験で不具合が見つかるなど、開発に多くの時間を要し、ソフトウェア開発支援システムの使用者に大きな負担となる。   Therefore, in the software development support system, if a program is automatically created without any check, it will result in the creation of a program that cannot be expected to execute as intended by the user. It takes a lot of time for development, such as being found, and it becomes a heavy burden on the user of the software development support system.

なお、ソフトウェア開発支援システムがプログラムを自動作成する前に、レジスタ変数の使用箇所の特定をするためには、設計図上の変数の定義を一つ一つ確かめなくてはならず、上書きのチェックに多くの時間がかかり、ソフトウェア開発支援システムの使用者に大きな負担となる。   In addition, before the software development support system automatically creates a program, in order to identify the location where register variables are used, each variable definition on the design drawing must be checked one by one. It takes a lot of time and becomes a heavy burden on the user of the software development support system.

次に、組み込みシステム等では、対象となるCPUで使用できるレジスタの数に制限があるが、レジスタの数の制限以上に関数内でレジスタを使用するプログラムを記述しても、専用のコンパイラにより制限を超えたレジスタ変数は自動変数(関数内部で宣言されその関数内でのみ有効な変数(=ローカル変数))として扱われ、システムの高速化には繋がらない。   Next, in embedded systems, etc., the number of registers that can be used by the target CPU is limited, but even if you write a program that uses registers in a function beyond the limit of the number of registers, it is limited by a dedicated compiler. Register variables that exceed this are handled as automatic variables (variables declared within the function and valid only within the function (= local variables)), and do not lead to an increase in the speed of the system.

ソフトウェア開発支援システムは、それを使用して作成されるシステムが対象となるCPUの情報を持っていないことが多く、どれくらいのレジスタ変数を使用可能かどうかは分からない。そのため、ソフトウェア開発支援システムがプログラムを自動作成しようとすると、対象となるCPUのもつレジスタの制限を無視したレジスタ変数を使用したプログラムを自動作成してしまい、システム使用者が意図したとおりの実行結果や高速化が期待できないプログラムを作成する結果となる。この場合、ソフトウェア開発支援システムが自動作成したプログラムを用いた動作試験に多くの時間がかかり、ソフトウェア開発支援システムの使用者に大きな負担となる。   Software development support systems often do not have information about the target CPU for systems created using them, and it is not known how many register variables can be used. Therefore, when the software development support system tries to automatically create a program, it automatically creates a program that uses register variables that ignore the restrictions on the registers of the target CPU, and the execution result as intended by the system user. As a result, a program that cannot be expected to speed up is created. In this case, the operation test using the program automatically created by the software development support system takes a lot of time, which is a heavy burden on the user of the software development support system.

本発明の目的は、レジスタ変数の設計およびプログラム自動作成に、レジスタ変数の使用数の誤った定義/設計のチェックを容易にしたソフトウェアの開発支援システム、開発支援方法およびプログラムを提供することにある。   An object of the present invention is to provide a software development support system, a development support method, and a program that make it easy to check an erroneous definition / design check of the number of register variables used for register variable design and automatic program creation. .

本発明は、システム内部で定義/設計されている関数に対するレジスタ変数の使用数がレジスタの制限数を超えた場合、その内容を通知することにより、レジスタ変数の使用数の誤った定義/設計のチェックを容易にするもので、以下のシステム、方法およびプログラムを特徴とする。   In the present invention, when the number of register variables used for a function defined / designed in the system exceeds the limit number of registers, the contents are notified to notify the contents of the incorrect definition / design of the number of register variables used. It facilitates checking and features the following system, method and program.

(システムの発明)
(1)ソフトウェアの設計図をGUIベースで作成し、その設計図に合わせたプログラムの自動作成を行う手段を備えたソフトウェア開発支援システムであって、システム内部で定義/設計されている関数に対するレジスタ変数の使用数をチェックするレジスタ変数チェック装置を備え、
前記レジスタ変数チェック装置は、
システム内部で定義/設計される関数に対して使用できるレジスタの制限数を参照するレジスタ変数制限数読込み手段と、
システム内部で定義/設計されている関数に対するレジスタ変数を取得し、このレジスタ変数の使用数が前記レジスタの制限数を超えているか否かをチェックし、超えている場合にその内容を通知するレジスタ変数参照手段と、
レジスタ変数をチェックする関数を指定するレジスタ変数チェック対象関数指定手段を備え、
前記レジスタ変数参照手段は、
前記指定されたレジスタ変数チェック対象関数に対してのみレジスタ変数を取得し、このレジスタ変数の使用数が前記レジスタの制限数を超えている場合にその内容を通知する手段
を備えたことを特徴とする。
(Invention of the system)
(1) A software development support system having means for creating a software design drawing based on a GUI and automatically creating a program in accordance with the design drawing, and registers for functions defined / designed in the system A register variable check device that checks the number of variables used ,
The register variable check device includes:
A register variable limit number reading means for referring to a register limit number that can be used for functions defined / designed in the system;
A register that obtains a register variable for a function defined / designed in the system, checks whether the number of used register variables exceeds the limit number of the register, and notifies the contents if it exceeds Variable reference means;
A register variable check target function specifying means for specifying a function for checking a register variable is provided.
The register variable reference means is
A register variable is obtained only for the specified register variable check target function, and a means for notifying the contents when the number of use of the register variable exceeds the limit number of the register is provided. To do.

前記レジスタ変数チェック装置は、前記使用されているレジスタ変数がレジスタの制限数を超えているとき、レジスタの制限数をえたことの通知内容を保持しておき、この通知内容前記レジスタ変数参照手段が全てのレジスタ変数についてのチェックを終了したときに出力するレジスタチェック通知保持・出力手段を更に備えたことを特徴とする。 The register variable check device, when the register variable being the use exceeds the limit number of registers, the limit of the register holds the contents of the notification that is exceeded, the register variable referring to the notification content It further comprises register check notification holding / output means for outputting when the means finishes checking all register variables.

(方法の発明)
ソフトウェアの設計図をGUIベースで作成し、その設計図に合わせたプログラムの自動作成を行う手段を備えたソフトウェア開発支援システムにおいて、システム内部で定義/設計されている関数に対するレジスタ変数の使用数をチェックするレジスタ変数チェック装置を備え、前記レジスタ変数チェック装置レジスタ変数をチェックする方法であって
システム内部で定義/設計されている関数に対するレジスタ変数を取得し、このレジスタ変数の使用数が前記レジスタの制限数を超えているか否かをチェックし、制限数を超えている場合にその内容を通知するレジスタ変数参照ステップ、
前記レジスタ変数をチェックする関数を指定するレジスタ変数チェック対象関数指定ステップを備え
前記レジスタ変数参照ステップは、前記指定されたレジスタ変数チェック対象関数に対してのみレジスタ変数を取得し、このレジスタ変数の使用数が前記レジスタの制限数を超えている場合にその内容を通知する
ことを特徴とする。
(Invention of method)
In a software development support system that includes means for creating a software design drawing based on a GUI and automatically creating a program according to the design drawing, the number of register variables used for functions defined / designed in the system includes a register variable checking device for checking the register variable checking apparatus to a method for checking the register variable,
Get a register variable for a function defined / designed inside the system, check whether the number of use of this register variable exceeds the limit number of the register, and if it exceeds the limit number, Register variable reference step to notify,
Includes a register variable checked functions specified step that specifies a function that checks the register variable,
In the register variable reference step, it retrieves only register variables for the designated register variable checked function, notifies the case that contents of use of this register variable exceeds the limit of the register <br/> It is characterized by that.

記使用されているレジスタ変数がレジスタの制限数を超えているとき、レジスタの制限数をえたことの通知内容を保持し、この通知内容前記レジスタ変数参照ステップが全てのレジスタ変数についてのチェックを終了したときに出力するレジスタチェック通知保持・出力ステップ
を更に備えたことを特徴とする。
When prior Symbol used has been that register variables exceeds the limit number of registers, the limit number of registers to hold the contents of the notification that is exceeded, the notification content is the register variable reference step for all register variables Register check notification retention / output step that is output when the check is completed
Is further provided .

(プログラムの発明)
コンピュータに、請求項3又は4記載のソフトウェア開発支援方法を実行させるためのプログラムであることを特徴とする。
(Invention of the program)
A computer, characterized in that it is a program for executing the claims 3 or 4 software development support method according.

以上のとおり、本発明によれば、システム内部で定義/設計されている関数に対するレジスタ変数の使用数がレジスタの制限数を超えた場合、その内容を通知するため、レジスタ変数の使用数の誤った定義/設計のチェックが容易になる。   As described above, according to the present invention, when the number of register variables used for a function defined / designed in the system exceeds the limit number of registers, the contents are notified. Easy definition / design checks.

特に、レジスタの数に制限があり(CPUの制限等の理由)、その制限がソフトウェア開発支援システムによるプログラム自動作成になんらかの影響を及ぼす状態(例えばプログラムの高速化に影響を及ぼす等)になる場合のレジスタ変数のチェックが可能となり、自動作成されるプログラムにはシステム使用者が意図したとおりの実行結果や高速化が期待できる。   In particular, there is a limit on the number of registers (for reasons such as CPU limitations), and that limit has some effect on automatic program creation by the software development support system (for example, on program speedup). It is possible to check the register variables, and the automatically created program can be expected to achieve the execution results and speedup as intended by the system user.

本発明の実施形態1の機能構成図。The function block diagram of Embodiment 1 of this invention. 実施形態1の通知のフロー。5 is a notification flow according to the first embodiment. 本発明の実施形態2の機能構成図。The function block diagram of Embodiment 2 of this invention. 実施形態2の通知のフロー。9 is a notification flow according to the second embodiment. 本発明の実施形態3の機能構成図。The function block diagram of Embodiment 3 of this invention. 実施形態3の通知のフロー。10 is a notification flow according to the third embodiment. 設計図と変数情報とプログラムフロー情報の例1。Example 1 of design drawing, variable information, and program flow information. 設計図と変数情報とプログラムフロー情報の例2。Example 2 of design drawing, variable information, and program flow information.

(実施形態1)
前記のように、組み込みシステム等では、各CPUで使用できるレジスタの数に制限があるが、レジスタの数の制限以上に関数内でレジスタを使用するプログラムを記述しても、専用のコンパイラにより制限を超えたレジスタ変数は自動変数(関数内部で宣言されその関数内でのみ有効な変数(=ローカル変数))として扱われ、システムの高速化には繋がらない。
(Embodiment 1)
As described above, in embedded systems, etc., the number of registers that can be used by each CPU is limited, but even if a program that uses registers in a function exceeds the limit of the number of registers, it is limited by a dedicated compiler. Register variables that exceed this are handled as automatic variables (variables declared within the function and valid only within the function (= local variables)), and do not lead to an increase in the speed of the system.

本実施形態は、何かの理由でレジスタの数に制限があり(CPUの制限等の理由)、その制限がソフトウェア開発支援システムによるプログラム自動作成になんらかの影響を及ぼす状態(例えばプログラムの高速化に影響を及ぼす等)になる場合のレジスタ変数のチェックを可能とする。   In this embodiment, the number of registers is limited for some reason (for reasons such as CPU limitation), and the limitation has some influence on the automatic program creation by the software development support system (for example, speeding up the program). It is possible to check the register variable in the case of

図1は、本実施形態の機能構成図を示す。ソフトウェアの設計図をGUIベースで作成し、その設計図をもとにプログラムを自動作成したりするソフトウェア開発支援システム100に、コンピュータ資源とこれを利用したソフトウェアで構成するレジスタ変数チェック装置10を搭載する。   FIG. 1 shows a functional configuration diagram of the present embodiment. A software development support system 100 that creates a software design drawing based on a GUI and automatically creates a program based on the design drawing is equipped with a register variable check device 10 composed of computer resources and software using the same. To do.

レジスタ変数チェック装置10は、レジスタ変数定義情報取得部10Aと、強調表示部10Bと、強調表示仕様読込み部10Cと、強調表示チェック部10Dと、レジスタ変数参照部10Eと、レジスタ変数制限数読込み部10Fで構成する。   The register variable check device 10 includes a register variable definition information acquisition unit 10A, an emphasis display unit 10B, an emphasis display specification reading unit 10C, an emphasis display check unit 10D, a register variable reference unit 10E, and a register variable limit number reading unit. 10F.

レジスタ変数定義情報取得部10Aは、システム内部の情報(変数情報)より、レジスタ変数定義情報を取得し、どのレジスタがどのUI(設計図)上のどの部品に割り当てられているかを特定する情報を取得する。強調表示部10Bは、システムが保持または設計時に設定された強調表示の仕様(例えば、色や線の太さ、線の種別等)で、レジスタ変数を強調表示させる。強調表示仕様読込み部10Cは、強調表示の仕様をUIやファイル等経由で読み込み強調表示部10Bからの要求時に転送する。強調表示チェック部10Dは、強調表示をするかしないかをチェックする。   The register variable definition information acquisition unit 10A acquires register variable definition information from information (variable information) inside the system, and specifies information specifying which register is assigned to which part on which UI (design drawing). get. The highlighting unit 10B highlights register variables with the highlighting specifications (for example, color, line thickness, line type, etc.) held by the system or set during design. The highlighted specification reading unit 10C reads the highlighted specification via a UI or a file and transfers it when requested by the highlighted display unit 10B. The highlighting check unit 10D checks whether or not highlighting is performed.

レジスタ変数参照部10Eは、システム内部で定義/設計されている関数に対するレジスタ変数を取得し、このレジスタ変数の使用数がレジスタの制限数を超えている場合にその内容を通知する。レジスタ変数制限数読込み部10Fは、レジスタ変数をUI(設計図)やファイル等経由で読み込み、このレジスタ変数について使用できる制限数をレジスタ変数参照部10Eからの要求があるときに転送する。   The register variable reference unit 10E acquires a register variable for a function defined / designed in the system, and notifies the contents when the number of used register variables exceeds the limit number of registers. The register variable limit number reading unit 10F reads a register variable via a UI (design drawing) or a file, and transfers the limit number that can be used for the register variable when there is a request from the register variable reference unit 10E.

このようなレジスタ変数チェック装置10を開発支援システムに搭載することにより、ソフトウェア開発支援システム使用者が、レジスタ変数の定義/設計に際し、使用できるレジスタの制限数を設定しておき、この使用できるレジスタの制限数以上にレジスタを使用したレジスタ変数を定義/設計した場合、そのチェックをシステム使用者が容易にできるようにする。   By installing such a register variable check device 10 in a development support system, a software development support system user sets a limit number of registers that can be used when defining / designing register variables. If a register variable that uses registers in excess of the limit number is defined / designed, the system user can easily check this.

なお、使用できるレジスタの制限数の設定は、UI経由やファイル経由等で設定する。また、設定したレジスタの制限数は、ソフトウェア開発支援システムで参照する機能も提供する。この機能を実現するため、ソフトウェア開発支援システムは、システム内で作成された関数に関する情報(型・スコープ・関数変数名・記億クラス、使用UI情報、関数で使用されている変数の情報等)を保持し、参照できるものとする。   The limit number of registers that can be used is set via a UI or a file. In addition, the set limit number of registers provides a function of referring to the software development support system. In order to realize this function, the software development support system uses information related to functions created in the system (type, scope, function variable name, storage class, UI information used, information on variables used in functions, etc.) Is held and can be referred to.

図2は、レジスタ変数チェック装置10における通知のフローであり、システム内で自動作成された関数と、設定されたレジスタの制限数と、システム使用者が指定した関数を取得し、その関数内で使用されるレジスタ変数の数が多ければ、その内容をシステム使用者に通知する。   FIG. 2 is a notification flow in the register variable check device 10, which obtains a function automatically created in the system, a set number of registers, and a function designated by the system user. If the number of register variables used is large, the contents are notified to the system user.

図2の処理の詳細を説明する。システム内部の情報より、定義/設計された関数の情報(型・スコープ・関数変数名・記億クラス、使用設計図情報、関数で使用されている変数の情報など)を取得し(S1)、関数定義情報があれば(S2)、その定義番号iを「0」に初期化し(S3)、i番目の関数定義情報を取得し(S4)、i番目の関数定義情報より、当該関数で使用されているレジスタ変数の制限数をレジスタ変数参照部10Eが取得し(S5)、レジスタ変数制限数読込み部10Fにより使用できるレジスタの制限数を取得する(S6)。   Details of the processing of FIG. 2 will be described. Get information on the defined / designed function (type, scope, function variable name, storage class, design plan information, information on variables used in the function, etc.) from the information inside the system (S1) If there is function definition information (S2), the definition number i is initialized to “0” (S3), the i-th function definition information is acquired (S4), and used by the function from the i-th function definition information. The register variable reference unit 10E obtains the limit number of the registered register variables (S5), and obtains the limit number of registers that can be used by the register variable limit number reading unit 10F (S6).

これら使用できるレジスタの制限数と関数で使用されているレジスタ変数を比較し、使用できるレジスタの制限数よりも関数で使用されているレジスタ変数の数が多い場合(S7)、レジスタの制限数を越えた内容をシステム使用者に通知する(S8)。この通知には、レジスタ変数定義情報取得部10Aによるレジスタ変数情報の取得と、強調表示部10Bによる強調表示、さらに強調表示仕様読込み部10Cと強調表示チェック部10Dによる強調表示をするかしないかを決定する。   The number of registers that can be used is compared with the number of register variables that are used in the function. If the number of register variables that are used in the function is larger than the number of registers that can be used (S7), The system content is notified to the system user (S8). In this notification, whether register variable information is acquired by the register variable definition information acquiring unit 10A, highlighted by the highlighted display unit 10B, and further highlighted by the highlighted display specification reading unit 10C and the highlighted display check unit 10D. decide.

上記のレジスタの制限数を越えたときの通知処理後、処理していない関数情報があるか否かをチェックし(S9)、あれば定義番号iをインクリメントし(S10)、S4に戻って当該i番目の関数定義情報についての制限数判定と通知を繰り返す。   After the notification processing when the limit number of the register is exceeded, it is checked whether there is function information that has not been processed (S9). If there is function information, the definition number i is incremented (S10), and the process returns to S4 The limit number determination and notification for the i-th function definition information are repeated.

本実施形態では、システム使用者に対して、使用できるレジスタの制限数を設定できるようになるため、ソフトウェア開発支援システムを用いて新しいシステムを開発する場合でも、その開発に合ったレジスタの制限数を設定しておくことで、システム使用者の意図したとおり実行結果や高速化を考慮したプログラムを自動作成できるようになる。   In this embodiment, since the limit number of registers that can be used can be set for the system user, even when a new system is developed using a software development support system, the limit number of registers suitable for the development. By setting, you can automatically create a program that considers execution results and speedup as intended by the system user.

また、レジスタの制限数を設定でき、本システムがシステム内部で保持している各種情報より、システム内部で使用されている全ての関数を取得し、その関数で使用されるレジスタ変数の数を取得し、レジスタの制限数とその関数で使用されるレジスタ変数の数を比較し、関数で使用されるレジスタ変数が、レジスタの制限数を超えた場合、その内容を通知することにより、レジスタ変数の数のチェックの負担を軽減できる。   In addition, the limit number of registers can be set, and all functions used in the system are obtained from various information stored in the system, and the number of register variables used in those functions is obtained. Compare the register limit number with the number of register variables used in the function, and if the register variable used in the function exceeds the register limit number, notify the contents of the register variable. The burden of checking the number can be reduced.

また、制限数のチェック後、レジスタ変数を正しく使用することにより、システム使用者の意図したとおり実行結果や高速化を考慮したプログラムを出力でき、システムが出力したプログラムを用いた実際の試験時間の増大を軽減でき、システム使用者の負担を軽減できる。   Also, after checking the limit number, by using register variables correctly, it is possible to output a program that considers execution results and speedup as intended by the system user, and the actual test time using the program output by the system The increase can be reduced and the burden on the system user can be reduced.

(実施形態2)
実施形態1の手法では、レジスタ変数を用いていない関数や、システム使用者がチェックしないでも良いと判断した関数、すでにチェック済みの関数に対してもチェックしてしまい、チェック機能の時間がかかったり、チェックしないでも良いと判断した関数に対する通知を受けとったり、システム使用者に負担がかかることがある。
(Embodiment 2)
In the method of the first embodiment, a function that does not use a register variable, a function that the system user has determined not to check, or a function that has already been checked is checked, and the check function takes time. In some cases, a notification may be received for a function that is determined not to be checked, or the system user may be burdened.

本実施形態では、この問題点を解決するために、レジスタ変数をチェックする関数をシステム使用者が設定でき、実施形態1のように、何かの理由でレジスタの数に制限があり(CPUの制限等の理由)、その制限がソフトウェア開発支援システムのプログラム自動作成になんらかの影響を及ぼす状態(例えばプログラムの高速化に影響を及ぼす等)になる場合のレジスタ変数のチェック手法を提案する。   In the present embodiment, in order to solve this problem, the system user can set a function for checking the register variable. As in the first embodiment, the number of registers is limited for some reason (the CPU's We propose a method for checking register variables when the restriction is in a state that has some influence on the automatic program creation of the software development support system (for example, it affects the speeding up of the program).

なお、実施形態1と同様に、ソフトウェア開発支援システム使用者が、CPUで使用できるレジスタの制限数を設定でき、使用できるレジスタの制限数の設定は、UI経由やファイル経由等設定する。また、設定したレジスタの制限数は、ソフトウェア開発支援システムで参照する機能も有するものとする。ソフトウェア開発支援システムは、システム内で作成された関数に関する情報(型・スコープ・関数変数名・記憶クラス、使用UI情報、関数で使用されている変数の情報等)を保持し、参照できるものとする。   As in the first embodiment, the user of the software development support system can set the limit number of registers that can be used by the CPU, and the limit number of registers that can be used is set via a UI or a file. Further, it is assumed that the set limit number of registers has a function of referring to the software development support system. The software development support system retains information related to functions created in the system (type, scope, function variable name, storage class, UI information used, information on variables used in functions, etc.) To do.

図3は本実施形態の機能構成図を示し、図1と異なる部分はレジスタ変数チェック対象関数指定部10Gを追加した点にある。この処理フローは図4に示し、図2と異なる部分は、i番目の関数情報を取得したとき(S4)、当該関数が指定された関数か否かをチェックし(S11)、指定された関数であればS5〜S8により当該関数で使用されているレジスタ変数についての制限数チェックと通知を行う。また、i番目の関数が指定された関数でない場合、当該関数についてのレジスタ変数のチェックを行うことなく、次の関数についてのチェック(S9)に移行する。   FIG. 3 shows a functional configuration diagram of the present embodiment, and a difference from FIG. 1 is that a register variable check target function specifying unit 10G is added. This processing flow is shown in FIG. 4. The difference from FIG. 2 is that when the i-th function information is acquired (S4), it is checked whether the function is a designated function (S11). If so, the limit number check and notification for the register variable used in the function is performed through S5 to S8. If the i-th function is not a designated function, the process proceeds to the check (S9) for the next function without checking the register variable for the function.

本実施形態によれば、レジスタ変数をチェックする関数をシステム使用にも設定できるようにするため、レジスタ変数を用いていない関数や、システム使用者がチェックしないでも良いと判断した関数、すでにチェック済みの関数に対してもチェックしてしまい、チェック機能の時間がかかったり、チェックしないでも良いと判断した関数に対する通知を受けとったりしなくてよくなり、システム使用者のレジスタ変数の数のチェックの負担を軽減できる。   According to the present embodiment, in order to be able to set a function for checking a register variable for system use, a function that does not use a register variable or a function that the system user has decided not to check has already been checked. It is necessary to check the number of register variables, and it is not necessary to receive a notification for a function that is determined not to be checked. Can be reduced.

また、システム使用者に対して、指定された関数で使用されるレジスタ変数が、使用できるレジスタの数の制限を超えた場合、その内容を通知することにより、レジスタ変数の数のチェックの負担を軽減できる。   In addition, when the register variable used in the specified function exceeds the limit of the number of registers that can be used, the system user is notified of the contents, thereby burdening the check of the number of register variables. Can be reduced.

また、チェック後、レジスタ変数を正しく使用することにより、システム使用者の意図したとおり案行結果や高速化を考慮したプログラムを出力でき、本システムが出力したプログラムを用いた実際の試験時間の増大を軽減でき、システム使用者の負担を軽減できる。   In addition, by using register variables correctly after checking, it is possible to output a program that considers the plan results and speedup as intended by the system user, and increases the actual test time using the program output by this system And the burden on the system user can be reduced.

(実施形態3)
実施形態1または実施形態2において、各関数内で使用できるレジスタの数の制限を超えた数のレジスタ変数を使用した場合、関数内で使用できるレジスタ変数を使用した関数があるたびに通知を行うため、システム使用者に負担がかかることがある。
(Embodiment 3)
In the first embodiment or the second embodiment, when the number of register variables exceeding the limit of the number of registers that can be used in each function is used, notification is performed every time there is a function that uses register variables that can be used in the function. As a result, the system user may be burdened.

本実施形態では、この不都合を解消するために、ソフトウェア開発支援システムが通知情報を保持し、最終的に、すべての通知情報を一括して通知し、実施形態1のようにレジスタの数に制限があり(CPUの制限等の理由)、その制限がソフトウェア開発支援システムのプログラム自動作成になんらかの影響を及ぼす状態(例えば、プログラムの高速化に影響を及ぼす等)になる場合のレジスタ変数のチェック手法を提案する。   In this embodiment, in order to eliminate this inconvenience, the software development support system holds the notification information, and finally notifies all the notification information collectively, and the number of registers is limited as in the first embodiment. Checking register variables when there is a state (such as a CPU limitation) that has some influence on the software development support system's automatic program creation (for example, an increase in program speed) Propose.

なお、ソフトウェア開発支援システム使用者が、CPUで使用できるレジスダの制限数を設定でき、使用できるレジスタの制限数の設定は、UI経由やファイル経由等で設定する。   The software development support system user can set the limit number of registers that can be used by the CPU, and the limit number of registers that can be used is set via a UI, a file, or the like.

また、設定したレジスタの制限数は、ソフトウェア開発支援システムで参照する機能も有するものとする。ソフトウェア開発支援システムは、システム内(型・スコープ・関数変数名・記憶クラス、使用UI情報、関数で使用されている変数の情報等)を保持し、参照できるものとする。   Further, it is assumed that the set limit number of registers has a function of referring to the software development support system. The software development support system holds and can refer to the system (type, scope, function variable name, storage class, used UI information, variable information used in the function, etc.).

図5は本実施形態の機能構成図を示し、図3と異なる部分はレジスタチェック通知保持・出力部10Hを追加した点にある。この処理フローは図6に示し、図2と異なる部分は、使用されているレジスタ変数がレジスタの制限数を超えているとき(S7)、レジスタチェック通知保持・出力部10Hの通知保持部がレジスタの制限数を越えたことの通知内容を保持しておき(S12)、全ての関数情報についてのレジスタ変数のレジスタ制限数のチェックを終了したとき(S2、S9、S10)、レジスタチェック通知保持・出力部10Hの出力部が保持していた通知内容があるか否かをチェックし(S13)、あれば保持していた通知内容を使用者に通知する(S14)。この通知は実施形態1または実施形態2と同様のものであるが、保持していた通知内容の全てを通知する。   FIG. 5 shows a functional configuration diagram of the present embodiment, and a difference from FIG. 3 is that a register check notification holding / output unit 10H is added. This processing flow is shown in FIG. 6, and the part different from FIG. 2 is that when the register variable used exceeds the limit number of registers (S7), the notification holding unit of the register check notification holding / output unit 10H is a register. The notification content indicating that the limit number has been exceeded is held (S12), and when the check of the register limit number of register variables for all function information is completed (S2, S9, S10), the register check notification is held. It is checked whether or not there is a notification content held by the output unit of the output unit 10H (S13), and if so, the notification content held is notified to the user (S14). This notification is the same as that in the first embodiment or the second embodiment, but all notification contents held are notified.

本実施形態によれば、ソフトウェア開発支援システムが通知情報を保持し、最終的に、全ての通知情報を一括して通知するため、レジスタの数の制限を超えた数のレジスタ変数を使用した関数があるたびに、通知を受けなくてよくなるため、レジスタ変数の数のチェックの負担を軽減できる。   According to the present embodiment, the software development support system holds the notification information, and finally notifies all the notification information all at once, so that the function using the number of register variables exceeding the limit of the number of registers is used. Since there is no need to receive a notification each time there is an error, the burden of checking the number of register variables can be reduced.

また、チェック後、レジスタ変数を正しく使用することにより、システム使用者の意図したとおり実行結果や高速化を考慮したプログラムを出力でき、本システムが出力したプログラムを用いた実際の試験時間の増大を軽減でき、システム使用者の負担を軽減できる。   In addition, by using register variables correctly after checking, it is possible to output a program that considers execution results and speedup as intended by the system user, and increases the actual test time using the program output by this system. This can reduce the burden on the system user.

なお、本発明は、各実施形態に示したレジスタ変数チェック方法の一部又は全部の処理機能をコンピュータで実行可能にしたプログラムとして提供することができる。   Note that the present invention can be provided as a program in which some or all of the processing functions of the register variable check method shown in each embodiment can be executed by a computer.

100 ソフトウェア開発支援システム
10 レジスタ変数チェック装置
10A レジスタ変数定義情報取得部
10B 強調表示部
10C 強調表示仕様読込み部
10D 強調表示チェック部
10E レジスタ変数参照部
10F レジスタ変数制限数読込み部
10G レジスタ変数チェック対象関数指定部
10H ジスタチェック通知保持・出力部
DESCRIPTION OF SYMBOLS 100 Software development support system 10 Register variable check apparatus 10A Register variable definition information acquisition part 10B Highlight display part 10C Highlight display specification reading part 10D Highlight display check part 10E Register variable reference part 10F Register variable limit number reading part 10G Register variable check target function Designation part 10H Jister check notification holding / output part

Claims (5)

ソフトウェアの設計図をGUIベースで作成し、その設計図に合わせたプログラムの自動作成を行う手段を備えたソフトウェア開発支援システムであって、システム内部で定義/設計されている関数に対するレジスタ変数の使用数をチェックするレジスタ変数チェック装置を備え、
前記レジスタ変数チェック装置は、
システム内部で定義/設計される関数に対して使用できるレジスタの制限数を参照するレジスタ変数制限数読込み手段と、
システム内部で定義/設計されている関数に対するレジスタ変数を取得し、このレジスタ変数の使用数が前記レジスタの制限数を超えているか否かをチェックし、超えている場合にその内容を通知するレジスタ変数参照手段と、
レジスタ変数をチェックする関数を指定するレジスタ変数チェック対象関数指定手段を備え、
前記レジスタ変数参照手段は、
前記指定されたレジスタ変数チェック対象関数に対してのみレジスタ変数を取得し、このレジスタ変数の使用数が前記レジスタの制限数を超えている場合にその内容を通知する手段
を備えたことを特徴とするソフトウェア開発支援システム。
A software development support system having means for creating a software design drawing based on GUI and automatically creating a program according to the design drawing, and using register variables for functions defined / designed in the system It has a register variable check device that checks the number ,
The register variable check device includes:
A register variable limit number reading means for referring to a register limit number that can be used for functions defined / designed in the system;
A register that obtains a register variable for a function defined / designed in the system, checks whether the number of used register variables exceeds the limit number of the register, and notifies the contents if it exceeds Variable reference means;
A register variable check target function specifying means for specifying a function for checking a register variable is provided.
The register variable reference means is
A register variable is obtained only for the specified register variable check target function, and a means for notifying the contents when the number of use of the register variable exceeds the limit number of the register is provided. to, software development support system.
前記レジスタ変数チェック装置は、前記使用されているレジスタ変数がレジスタの制限数を超えているとき、レジスタの制限数をえたことの通知内容を保持しておき、この通知内容前記レジスタ変数参照手段が全てのレジスタ変数についてのチェックを終了したときに出力するレジスタチェック通知保持・出力手段を更に備えたことを特徴とする、請求項1に記載のソフトウェア開発支援システム。 The register variable check device, when the register variable being the use exceeds the limit number of registers, the limit of the register holds the contents of the notification that is exceeded, the register variable referring to the notification content It means you characterized in that further comprising a register check notification holding and outputting means for outputting at the completion of the check of all the register variables, software development support system according to claim 1. ソフトウェアの設計図をGUIベースで作成し、その設計図に合わせたプログラムの自動作成を行う手段を備えたソフトウェア開発支援システムにおいて、システム内部で定義/設計されている関数に対するレジスタ変数の使用数をチェックするレジスタ変数チェック装置を備え、前記レジスタ変数チェック装置レジスタ変数をチェックする方法であって
システム内部で定義/設計されている関数に対するレジスタ変数を取得し、このレジスタ変数の使用数が前記レジスタの制限数を超えているか否かをチェックし、制限数を超えている場合にその内容を通知するレジスタ変数参照ステップ、
記レジスタ変数をチェックする関数を指定するレジスタ変数チェック対象関数指定ステップを備え
前記レジスタ変数参照ステップは、前記指定されたレジスタ変数チェック対象関数に対してのみレジスタ変数を取得し、このレジスタ変数の使用数が前記レジスタの制限数を超えている場合にその内容を通知する
ことを特徴とする、ソフトウェア開発支援方法。
In a software development support system that includes means for creating a software design drawing based on a GUI and automatically creating a program according to the design drawing, the number of register variables used for functions defined / designed in the system includes a register variable checking device for checking the register variable checking apparatus to a method for checking the register variable,
Get a register variable for a function defined / designed inside the system, check whether the number of use of this register variable exceeds the limit number of the register, and if it exceeds the limit number, Register variable reference step to notify,
Includes a register variable check target function specified step to specify the function to check the previous Symbol register variables,
In the register variable reference step, it retrieves only register variables for the designated register variable checked function, notifies the case that contents of use of this register variable exceeds the limit of the register
Characterized in that, the software development support method.
記使用されているレジスタ変数がレジスタの制限数を超えているとき、レジスタの制限数をえたことの通知内容を保持し、この通知内容前記レジスタ変数参照ステップが全てのレジスタ変数についてのチェックを終了したときに出力するレジスタチェック通知保持・出力ステップ
を更に備えたことを特徴とする、請求項3に記載のソフトウェア開発支援方法。
When prior Symbol used has been that register variables exceeds the limit number of registers, the limit number of registers to hold the contents of the notification that is exceeded, the notification content is the register variable reference step for all register variables Register check notification retention / output step that is output when the check is completed
Further comprising the, software development support method according to claim 3.
コンピュータに、請求項3又は4記載のソフトウェア開発支援方法を実行させるためのプログラム。 The computer program for executing a software development support method according to claim 3 or 4, wherein.
JP2009001302A 2009-01-07 2009-01-07 Software development support system, development support method and program Expired - Fee Related JP5310002B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009001302A JP5310002B2 (en) 2009-01-07 2009-01-07 Software development support system, development support method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009001302A JP5310002B2 (en) 2009-01-07 2009-01-07 Software development support system, development support method and program

Publications (2)

Publication Number Publication Date
JP2010160594A JP2010160594A (en) 2010-07-22
JP5310002B2 true JP5310002B2 (en) 2013-10-09

Family

ID=42577726

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009001302A Expired - Fee Related JP5310002B2 (en) 2009-01-07 2009-01-07 Software development support system, development support method and program

Country Status (1)

Country Link
JP (1) JP5310002B2 (en)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6133547A (en) * 1984-07-25 1986-02-17 Fujitsu Ltd Method for informing overflow information of vector register
JPH05197564A (en) * 1991-04-25 1993-08-06 Asia Electron Inc System for speeding up execution of cpu
JPH07121381A (en) * 1993-10-28 1995-05-12 Hitachi Ltd Loop optimizing method
JP2002182927A (en) * 2000-12-13 2002-06-28 Hitachi Ltd Allocating method of register in different execution environment, software developing method in different execution environment and lsi in which program to execute the same is incorporated
JP2004252807A (en) * 2003-02-21 2004-09-09 Matsushita Electric Ind Co Ltd Software development support device
JP3927510B2 (en) * 2003-03-19 2007-06-13 インターナショナル・ビジネス・マシーンズ・コーポレーション Compiler device, compiler program, recording medium, and compiling method
JP5050624B2 (en) * 2007-04-20 2012-10-17 株式会社明電舎 Software development support system

Also Published As

Publication number Publication date
JP2010160594A (en) 2010-07-22

Similar Documents

Publication Publication Date Title
US8549478B2 (en) Graphical user interface input element identification
US7913225B2 (en) Error handling using declarative constraints in a graphical modeling tool
CN112270149B (en) Verification platform automatic integration method and system, electronic equipment and storage medium
WO2021208512A1 (en) Method and apparatus for acquiring control information of user interface, terminal and storage medium
US8434062B2 (en) Enhancing source code debugging and readability using visual symbols
US9990458B2 (en) Generic design rule checking (DRC) test case extraction
US8467987B1 (en) Methods and systems for testing mobile device builds
US8875064B2 (en) Automated design rule checking (DRC) test case generation
US9122801B2 (en) Test planning with order coverage requirements
EP2778629A1 (en) Method and device for code change detection
TWI599876B (en) Methods for debugging in a post (power-on self-test) and apparatuses using the same
JP2018005535A (en) Software development assist method and system
KR101419759B1 (en) Electronic document driving apparatus and method for executing undo
JP5310002B2 (en) Software development support system, development support method and program
US20130159241A1 (en) Template clauses based sat techniques
US9075679B1 (en) Creating a prerequisite checklist corresponding to a software application
CN114841119B (en) Register modeling method, device, equipment and medium in multi-user mode
US9003364B2 (en) Overriding system attributes and function returns in a software subsystem
US20140013312A1 (en) Source level debugging apparatus and method for a reconfigurable processor
EP3044937A2 (en) Device and method for automating a process of defining a cloud computing resource
US8695000B1 (en) Data transfer protection in a multi-tasking modeling environment having a protection mechanism selected by user via user interface
CN110134438B (en) Instruction sorting method and device, mobile terminal and storage medium
US9201763B1 (en) Efficient sharing of test fixtures and ordering of test suites
JP5545133B2 (en) Static analysis processing system, method, and program
CN110825461B (en) Data processing method and device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111209

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121211

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121218

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130218

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20130218

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130409

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130515

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130617

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5310002

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees