JPH05189220A - Generation device for software data structure program - Google Patents

Generation device for software data structure program

Info

Publication number
JPH05189220A
JPH05189220A JP4004728A JP472892A JPH05189220A JP H05189220 A JPH05189220 A JP H05189220A JP 4004728 A JP4004728 A JP 4004728A JP 472892 A JP472892 A JP 472892A JP H05189220 A JPH05189220 A JP H05189220A
Authority
JP
Japan
Prior art keywords
data structure
design
input
program
editor
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.)
Withdrawn
Application number
JP4004728A
Other languages
Japanese (ja)
Inventor
Hiroaki Abe
弘彰 阿部
Yoshio Nishiyama
好雄 西山
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.)
Fujitsu Ltd
Fujitsu Hokkaido Communication Systems Ltd
Original Assignee
Fujitsu Ltd
Fujitsu Hokkaido Communication Systems 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 Fujitsu Ltd, Fujitsu Hokkaido Communication Systems Ltd filed Critical Fujitsu Ltd
Priority to JP4004728A priority Critical patent/JPH05189220A/en
Publication of JPH05189220A publication Critical patent/JPH05189220A/en
Withdrawn legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Abstract

PURPOSE:To identify whether an accurate memory boundary is taken as to physical data structure in the generation of the data structure program of software. CONSTITUTION:An interactive management control part 3 receiving a request and data input from an input/output device 1, starting respective corresponding parts and outputting a processing result, a data design editor 8 provided with a graphic symbol and a table, which regulate the order of addresses as editing means, a design editor control part 5 for controlling the editor and a design information check part 4 checking whether design information on the data structure of an editing result is accurate or not are provided. The data structure design document of the design result is managed in a design document management part 6, the data structure design document is inputted and analyzed so as to generate the data structure program.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明はソフトウェアのデータ構
造プログラム作成装置に関する。近年,情報通信機器の
高度化によりそれを実現するためのソフトウェアの大規
模化・複雑化をもたらしている。これに伴い,データ構
造の設計及びプログラミングの作業も増加している。こ
のため,コンピュータ上で開発対象となるソフトウェア
のデータ構造の設計およびデータ構造プログラム作成を
行うための一連の作業を支援する装置の開発が望まれて
いる。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a software data structure program creating apparatus. In recent years, the sophistication of information and telecommunications equipment has brought about the increase in the scale and complexity of software to realize it. Along with this, the work of designing and programming data structures has also increased. Therefore, it is desired to develop an apparatus that supports a series of operations for designing a data structure of software to be developed and creating a data structure program on a computer.

【0002】[0002]

【従来の技術】従来のソフトウェアの設計及びプログラ
ミング作業は,ワードプロセッサあるいは手書きにより
設計書を作成し,これを参照しながらコンピュータ上の
テキストエディタを用いてプログラムを作成,言語コン
パイラを介して実行オブジェクトを生成するという方法
が一般的である。
2. Description of the Related Art In the conventional software design and programming work, a design document is created by a word processor or handwriting, a program is created by using a text editor on a computer while referring to the design document, and an execution object is executed by a language compiler. The method of generating is common.

【0003】近年のCPUの性能の向上とHMI(ヒュ
ーマン・マシーン・インタフェース)技術の洗練化に伴
って,コンピュータ上でソフトウェア開発作業を行うた
めの技術であるCASE(Computer Aided Soft-ware E
ngineering) が提唱されており,これに関する研究,開
発が盛んに行われている。ソフトウェアのデータ構造の
開発においてもCASE技術の導入によって設計作業お
よびプログラミング作業を連続的に支援するための取り
組みが盛んに行われている。
CASE (Computer Aided Soft-ware E), which is a technique for performing software development work on a computer with the recent improvement of CPU performance and sophistication of HMI (Human Machine Interface) technique
ngineering) has been advocated, and research and development related to this has been actively conducted. Even in the development of software data structures, efforts have been actively made to continuously support design work and programming work by introducing CASE technology.

【0004】開発対象となる装置または,装置内のCP
Uという立場からみるとメモリ上のデータが外部の装置
やCPUと通信を行う場合には,直接メモリ上からまた
はファイル等の2次媒体上からメモリ上に取り出した後
に,そのメモリ上に配置されたデータの順番でデータの
交換がなされる。場合により,あるアドレス範囲をパケ
ットにまとめて一括して交換することもあるが,この場
合にはメモリ上の並びの順序をそのまま保持することに
なる。すなわち,このようなデータを取り扱うソフトウ
ェアにおいては,開発対象である装置またはCPU及び
それに対向する装置/CPUとの間でメモリ上の物理的
なデータの並び(アドレス)の順序を同一に保つことが
前提となる。
A device to be developed or a CP in the device
From the standpoint of U, when the data on the memory communicates with an external device or CPU, it is placed on the memory directly after being taken out from the memory or from a secondary medium such as a file. The data is exchanged in the order of the data. In some cases, a certain address range may be put together in a packet and collectively exchanged, but in this case, the order of arrangement in the memory is maintained as it is. That is, in software that handles such data, it is possible to keep the same physical data sequence (address) order on the memory between the device or CPU that is the development target and the device / CPU that opposes it. It is a prerequisite.

【0005】具体的には,図12の従来例の説明図の
A.に示すように,ある装置(CPU)のソフトウェア
において1つのキャラクタが2バイトで構成するよう定
義され,メモリ上にアドレスが上位(若番のアドレス)
の8ビットと下位の8ビットが順に配置されている場
合,このデータ構造をもつソフトウェアを他の装置(C
PU)へ転送して実行するものとする。この時,他の装
置(CPU)では,図12のB.に示すようにメモリの
アドレスが下位の8ビットがキャラクタの上位で下位の
8ビットがキャラクタの下位であるものとして処理する
機能を備えると,他の装置(CPU)においてそのソフ
トウェアが動作できない。
More specifically, in the conventional example of FIG. As shown in, one character is defined in the software of a certain device (CPU) to be composed of 2 bytes, and the address is higher in the memory (lower address).
If the 8 bits and the lower 8 bits are sequentially arranged, the software having this data structure is used by another device (C
PU) and execute it. At this time, in another device (CPU), the B.I. If the memory has a function of processing that the lower 8 bits of the address are higher than the character and the lower 8 bits are lower of the character, the software cannot operate in another device (CPU).

【0006】このような場合,各アドレス位置に対応し
て何のデータであるかを厳密に定義する必要がある。例
えば,上位8ビットに何が有り,下位8ビットに何が来
るというように規定することにより,他の装置(CP
U)では何処に何があるか識別させる必要がある。
In such a case, it is necessary to strictly define what kind of data is associated with each address position. For example, by defining what is in the upper 8 bits and what is in the lower 8 bits, other devices (CP
In U), it is necessary to identify where and what is.

【0007】このようにデータ構造として,物理的なメ
モリ上の物理的なデータの並びの順序が重要な意味を持
つデータ構造を以下,“物理的データ構造”と呼ぶ。一
方,開発対象となる装置やCPU内で閉じた機能として
データを使用するソフトウェアの場合には,メモリ上の
物理的所在位置には無関係に,論理的にどのような階層
では如何なる要素を持つというようにデータが構造化さ
れており,如何なる手段として取り出しや書き込みがで
きるかといった論理的なデータ構造のみが興味の対象と
なる。すなわち,同じ構成の装置(CPU)の間では論
理的な構造さえ決まっていれば内部でどのように持って
も関係ない。例えは,同じCPUを持つ2つの通信装置
で,障害発生時間として「年・月・日・時間」を表すデ
ータは,論理的に規定していれば内部でどのような物理
的な形態で持つかは関係ない。また,一般に知られてい
るリレーショナルデータベースでも,同じ構成の装置
(CPU)により論理的なデータとして取り扱うようデ
ータが埋め込まれている。
A data structure in which the arrangement order of physical data on a physical memory is important as a data structure is hereinafter referred to as "physical data structure". On the other hand, in the case of software that uses data as a closed function in a device or a CPU that is a development target, it is said that logically, what level has any element regardless of the physical location in memory. The data is structured like this, and only the logical data structure, such as how it can be retrieved and written, is of interest. That is, it does not matter how to internally have the logical structure among the devices (CPUs) having the same configuration. For example, in two communication devices having the same CPU, data representing "year / month / day / time" as a failure occurrence time is internally stored in any physical form if logically specified. It doesn't matter. Further, in a generally known relational database, data is embedded so that it can be treated as logical data by a device (CPU) having the same configuration.

【0008】このようなデータ構造を以下,“論理的デ
ータ構造”と呼ぶ。上記の説明によりデータ構造を分類
すると図13に示すように,データ構造(S1で表す)
は,“物理的データ構造”(S2で表す)と“論理的デ
ータ構造(S3で表す)とに分類される。
Hereinafter, such a data structure will be referred to as a "logical data structure". When the data structure is classified according to the above description, as shown in FIG. 13, the data structure (represented by S1)
Are classified into "physical data structure" (represented by S2) and "logical data structure (represented by S3).

【0009】現在世界的に普及しているCPUは多種に
渡り,そられのメモリ管理方式には,1ワードの長さが
異なるものがあり,更に同一のワード長でも上位バイト
(オクテット)と下位バイトの順序が上記の説明で触れ
たように逆転しているものも存在する。そのため,プロ
グラム言語によっては,同一のプログラムを記述しても
目的とするソフトウェアのデータ構造が別の意味(ある
アドレスからのオフセット位置がずれて取り扱われる
等)に解釈される場合がある。
There are many types of CPUs that are currently in widespread use in the world, and some of the memory management methods have different one-word lengths. Even with the same word length, the upper byte (octet) and the lower byte are used. In some cases, the order of bytes is reversed as mentioned above. Therefore, depending on the programming language, even if the same program is written, the data structure of the intended software may be interpreted in a different meaning (eg, offset position from a certain address is handled differently).

【0010】[0010]

【発明が解決しようとする課題】上記した状況により,
同一の設計仕様に対してCPU動作環境によって異なる
複数のプログラムを作成する必要性を生じ,その結果デ
ータ構造の設計仕様に対しプログラムを1対1に対応付
けることが困難となっている。特に,“物理的データ構
造”に相当するデータを取り扱うソフトウェアにおいて
は,この問題によってあるCPU上で誤りなく動作した
プログラムを別のCPU上で実現する時全く動作しない
という事態が発生する。これを避けるには,大量の設計
資産の見直しやプログラムの修正が必要となり,その作
業やコストが膨大となるという問題がある。
SUMMARY OF THE INVENTION Due to the above situation,
It is necessary to create a plurality of different programs for the same design specifications depending on the CPU operating environment, and as a result, it is difficult to associate the programs with the design specifications of the data structure in a one-to-one correspondence. In particular, in software that handles data corresponding to a "physical data structure", this problem causes a situation in which a program that operates without error on one CPU does not operate at all when it is implemented on another CPU. In order to avoid this, it is necessary to review a large amount of design assets and modify the program, and there is a problem that the work and cost are enormous.

【0011】このCPUのメモリ管理方式の違いによる
ソフトウェアのデータ構造の取り扱いの問題について
は,上記従来技術において述べたCASEの現状の技術
では解決されていない。
The problem of handling the data structure of software due to the difference in the memory management system of the CPU has not been solved by the current technology of CASE described in the above-mentioned prior art.

【0012】本発明はソフトウェアのデータ構造プログ
ラムの作成において,物理的データ構造について正しい
メモリバウンダリをとるか識別することができる装置を
提供することを目的とする。
It is an object of the present invention to provide an apparatus capable of identifying or taking a correct memory boundary for a physical data structure when creating a software data structure program.

【0013】[0013]

【課題を解決するための手段】図1は本発明の原理構成
図,図2はデータ構造プログラム作成装置への入力と処
理結果の出力の説明図である。
FIG. 1 is a block diagram of the principle of the present invention, and FIG. 2 is an explanatory diagram of input to a data structure program creating apparatus and output of processing results.

【0014】図1において,1はデータ構造の設計及び
対応するプログラムの作成を行うため設計者が操作する
入出力装置であり,要求や情報を入力する手段とデータ
構造プログラム作成装置からの処理結果やプログラム作
成用のエディタの情報を出力(表示)する手段を備え
る。2はデータ構造プログラム作成装置,3は入出力装
置1との間で要求や入力情報を受けとり処理結果等を出
力して対話の管理を行う対話管理制御部,4は要求に基
づいて動作し,作成されたデータ構造の設計結果に誤り
があるかチェックする設計情報チェック部,5は設計開
始の要求によりデータ構造の設計を行う場を提供する設
計エディタ制御部,6は格納済みのデータ構造設計ドキ
ュメント9を管理し,要求により格納されたデータ構造
設計ドキュメント9の一覧を提示したり,提示した中か
ら修正要求のあったデータ構造設計ドキュメント9をデ
ータ構造設計エディタ8として起動するよう設計エディ
タ制御部5に通知する機能を備える設計ドキュメント管
理部,7は要求に応じて起動してデータ構造プログラム
を生成するデータ構造プログラム生成部,8は設計エデ
ィタ制御部5により起動されアドレスの順序を規定する
ための図形シンボルや表を編集手段として備え,入力さ
れる設計仕様の編集を行うデータ構造設計エディタであ
り,その中では物理的データ構造と論理的データ構造を
表現するための図形シンボルが予め区別して保持され,
これを用いて設計した結果として作成されるデータ構造
設計ドキュメント9内でもこの2つのデータ構造が区別
して保持される。
In FIG. 1, reference numeral 1 denotes an input / output device operated by a designer for designing a data structure and creating a corresponding program. Means for inputting requests and information and processing results from the data structure program creating device. And means for outputting (displaying) the information of the editor for creating the program. 2 is a data structure program creating device, 3 is a dialogue management control unit that receives requests and input information from the input / output device 1 and outputs processing results, etc. to manage dialogue, and 4 operates based on the request, A design information check unit for checking whether or not there is an error in the design result of the created data structure, 5 is a design editor control unit for providing a place for designing the data structure in response to a design start request, and 6 is a stored data structure design Design editor control for managing the document 9 and presenting a list of the data structure design documents 9 stored by request, and activating the data structure design document 9 that has been requested to be modified as a data structure design editor 8. A design document management unit having a function of notifying the unit 5, a data structure that is activated upon request to generate a data structure program The program generation unit 8 is a data structure design editor which is activated by the design editor control unit 5 and has graphic symbols and tables for defining the order of addresses as editing means and edits the input design specifications. Then, the graphic symbols for representing the physical data structure and the logical data structure are separately stored in advance,
In the data structure design document 9 created as a result of designing using this, these two data structures are held separately.

【0015】9は作成済みのデータ構造設計ドキュメン
ト,10はデータ構造プログラム生成部7により生成さ
れたデータ構造プログラムである。なお,8〜9はDA
SD(Direct Access Storage Device) 等の2次媒体に
格納されている。
Reference numeral 9 is a created data structure design document, and 10 is a data structure program generated by the data structure program generation unit 7. In addition, 8-9 is DA
It is stored in a secondary medium such as SD (Direct Access Storage Device).

【0016】本発明は設計段階で予め使用する装置(C
PU)と開発言語を規定することにより該当する設計が
対応する装置(CPU)のメモリ管理方式に合った正し
いメモリバウンダリをとっているかをチェックして,誤
りを検出すると通知するものである。
In the present invention, the device (C
By specifying the PU) and the development language, it is checked whether the corresponding design has the correct memory boundary that matches the memory management method of the corresponding device (CPU), and notifies that an error is detected.

【0017】[0017]

【作用】図1の作用を図2を参照しながら説明する。図
2の1〜7は図1の各部と同じものであり,図2には図
1の8〜10の各部は図示省略されている。図2のR1
〜R6は入出力装置1から入力される要求(Request),
I1は入出力装置1からの入力情報を表し,A1〜A4
はデータ構造プログラム作成装置2から出力される処理
結果(Answer) を表す。
The operation of FIG. 1 will be described with reference to FIG. 1 to 7 of FIG. 2 are the same as the respective parts of FIG. 1, and the respective parts of 8 to 10 of FIG. 1 are omitted in FIG. R1 in FIG.
~ R6 is a request input from the input / output device 1,
I1 represents input information from the input / output device 1, and A1 to A4
Represents a processing result (Answer) output from the data structure program creation device 2.

【0018】入出力装置1からデータ構造設計要求R1
(図2)を発生すると,対話管理制御部3は,設計ドキ
ュメント管理部6を起動する。設計ドキュメント管理部
6はこれまでに作成されたデータ構造設計ドキュメント
群を含むデータ構造設計ドキュメント9からドキュメン
ト一覧A1(図2)を出力し入出力装置1の表示部に表
示する。過去に作成済のドキュメントを修正する場合,
該当するドキュメントを入出力装置1で選択すると,ド
キュメント更新要求R2(図2)が発生し,新規にデー
タ構造設計を行う場合新規ドキュメント作成要求R3
(図2)が発生する。
Data structure design request R1 from the input / output device 1
When (Fig. 2) occurs, the dialogue management control unit 3 activates the design document management unit 6. The design document management unit 6 outputs the document list A1 (FIG. 2) from the data structure design document 9 including the data structure design document group created so far and displays it on the display unit of the input / output device 1. To modify a document that has been created in the past,
When a corresponding document is selected by the input / output device 1, a document update request R2 (Fig. 2) is generated, and when a new data structure is designed, a new document creation request R3
(Fig. 2) occurs.

【0019】これに対し対話管理設計部3は,設計エデ
ィタ制御部5を介してデータ構造設計エディタ8を起動
して,入出力装置1へ設計エディタA2(図2)を提示
する。この時物理的データ構造と論理的データ構造を区
別して取り扱い,それぞれを表現するための図形シンボ
ルが入出力装置1へ出力表示される。
On the other hand, the dialog management design unit 3 activates the data structure design editor 8 via the design editor control unit 5 and presents the design editor A2 (FIG. 2) to the input / output device 1. At this time, the physical data structure and the logical data structure are handled separately, and graphic symbols for expressing each are output and displayed on the input / output device 1.

【0020】これに対し,入出力装置1から該データ構
造設計エディタ8を介して設計内容であるデータ構造設
計仕様情報I1(図2)を入力する。この仕様情報の入
力が完了した段階でドキュメント格納要求R5(図2)
またはドキュメントチェック要求R4(図2)を発行す
ると,何れの要求に対しても設計情報チェック部4によ
り物理的データ構造についてのチェックが行われ,矛盾
があればその旨チェック結果A3(図2)が入出力装置
1へ出力される。矛盾がなければ,前記入力完了時の要
求がドキュメント格納要求R5(図2)の場合,設計ド
キュメント管理部6および設計エディタ制御部5を介し
てデータ構造設計ドキュメント9へ格納する。格納され
たドキュメントを含めたドキュメント一覧は要求により
入出力装置1に提示される。
On the other hand, the data structure design specification information I1 (FIG. 2) which is the design content is input from the input / output device 1 via the data structure design editor 8. Document input request R5 (Fig. 2) at the stage when this specification information is input
Alternatively, when the document check request R4 (FIG. 2) is issued, the design information check unit 4 checks the physical data structure for any request, and if there is a contradiction, a check result A3 (FIG. 2) to that effect. Is output to the input / output device 1. If there is no contradiction and the request at the time of completion of input is the document storage request R5 (FIG. 2), it is stored in the data structure design document 9 via the design document management unit 6 and the design editor control unit 5. A document list including the stored documents is presented to the input / output device 1 upon request.

【0021】一方,データ構造プログラム生成要求R6
(図2)が,ドキュメント一覧A1の中から生成対象と
なるドキュメントを選択する形で入力すると,対話管理
制御部3に供給される。対話管理制御部3は,これに対
しデータ構造プログラム生成部7を介してデータ構造プ
ログラム10を生成して,生成された結果は必要により
データ構造プログラム一覧A4として入出力装置1へ提
示される。
On the other hand, the data structure program generation request R6
When (FIG. 2) is input in the form of selecting a document to be generated from the document list A1, it is supplied to the dialogue management control unit 3. On the other hand, the dialogue management control unit 3 generates the data structure program 10 via the data structure program generation unit 7, and the generated result is presented to the input / output device 1 as the data structure program list A4 if necessary.

【0022】[0022]

【実施例】図3は本発明の要部である設計情報チェック
部と関連する各部を含む実施例の構成図,図4はメモリ
管理知識ベースの論理構成を示す図,図5はエディタ内
で取扱う設計部品の種類とその関係例である。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS FIG. 3 is a block diagram of an embodiment including a design information check unit, which is an essential part of the present invention, and related units, FIG. 4 is a diagram showing a logical structure of a memory management knowledge base, and FIG. It is an example of the types of design parts to be handled and their relationship.

【0023】図3の構成において,1〜4,6,8及び
9の符号で表す各部は上記図1に示す原理構成における
同じ符号と同一のものであり,この実施例の構成では設
計情報チェック部4の内部構成を詳細に示す。
In the configuration of FIG. 3, each part represented by reference numerals 1 to 4, 6, 8 and 9 is the same as the same reference symbol in the principle configuration shown in FIG. 1, and the design information check is performed in the configuration of this embodiment. The internal structure of the section 4 is shown in detail.

【0024】設計者がキーボードやディスプレイ等で構
成する入出力装置1を介して,CPUの種別情報と共に
仕様入力の完了に伴うドキュメント格納要求R5また
は,以前に格納したデータ構造設計ドキュメントについ
てドキュメントチェック要求R4を発生すると,ドキュ
メント格納要求R5に対応してデータ構造設計エディタ
8により設計情報チェック部4を起動して作成した設計
情報チェックを開始する。またドキュメントチェック要
求R4に対応して設計ドキュメント管理部6が起動して
既に格納されているデータ構造設計ドキュメント(図1
の9)についてまとめて設計情報チェックを開始する。
The designer requests via the input / output device 1 composed of a keyboard, a display, etc., a document storage request R5 upon completion of specification input together with CPU type information, or a document check request for a previously stored data structure design document. When R4 is generated, the design information check unit 4 is activated by the data structure design editor 8 in response to the document storage request R5 and the created design information check is started. Further, the design document management unit 6 is activated in response to the document check request R4, and the data structure design document already stored (see FIG. 1).
9), the design information check will be started collectively.

【0025】設計情報チェック部4において,入力仕様
解析部40は,物理的データ構造(データの格納位置が
物理的なアドレスにより厳密に規定される)と論理的デ
ータ構造(論理的に格納位置が規定されるデータ)を含
む設計部品とそれらの間の関連を識別するために,デー
タ構造設計エディタ(図1の8)を介してメモリ(デー
タ構造設計エディタが使用するメモリエリア)上に存在
する入力仕様情報の解析を行い,物理的データ構造の設
計仕様を抽出する。
In the design information check unit 4, the input specification analysis unit 40 uses a physical data structure (the storage location of data is strictly defined by a physical address) and a logical data structure (the storage location is logically defined). Exists on the memory (memory area used by the data structure design editor) via the data structure design editor (8 in FIG. 1) in order to identify the design parts including the specified data) and the relation between them. The input specification information is analyzed and the design specifications of the physical data structure are extracted.

【0026】この解析の結果,物理的データ構造が抽出
された場合には,知識ベース参照部41が駆動され,メ
モリ管理知識ベース44からチェック要求の時に入力さ
れたCPU種別に関するメモリ管理知識の取り出しを行
い,矛盾検出部42に取り出したメモリ管理知識と物理
的データ構造の設計仕様を供給する。矛盾検出部42は
両者を対照することにより矛盾(メモリ管理知識により
規定された仕様を満たさないこと)を検出する。矛盾が
あれば,矛盾結果通知部43がその旨を通知し,矛盾が
なければ該チェックの要求がドキュメント格納要求R5
からの場合には設計ドキュメント管理部6に制御を移
し,データ構造設計ドキュメント(図1の9)に格納さ
れる。一方,このチェックの要求がドキュメントチェッ
ク要求R4による場合には,対話管理制御部3に制御が
移り入出力装置1への応答が行われる。
When the physical data structure is extracted as a result of this analysis, the knowledge base reference unit 41 is driven, and the memory management knowledge relating to the CPU type input at the time of a check request is fetched from the memory management knowledge base 44. Then, the extracted memory management knowledge and the design specifications of the physical data structure are supplied to the contradiction detection unit 42. The contradiction detection unit 42 detects a contradiction (not satisfying the specifications defined by the memory management knowledge) by comparing the two. If there is a contradiction, the contradiction result notification unit 43 notifies that fact, and if there is no contradiction, the check request is the document storage request R5.
In the case of, the control is transferred to the design document management unit 6 and stored in the data structure design document (9 in FIG. 1). On the other hand, when the check request is the document check request R4, the control is transferred to the dialogue management control unit 3 and the response to the input / output device 1 is performed.

【0027】上記の設計情報チェック部4で使用するメ
モリ管理知識ベース44に保持するメモリ管理に関する
知識データの論理構成を図4に示す。CPUの種別(P
1で表す)毎にそれぞれワード長(P2で表す),ワー
ド内のアドレス順序情報(P3で表す),及びプログラ
ム言語に依存する型に対する境界条件情報(P4で表
す)が定義されている。これによって設計情報チェック
部4において,入力仕様の内容に該当するCPUの種類
の知識と矛盾するものが含まれているかどうか識別する
ことができる。
FIG. 4 shows the logical structure of the knowledge data relating to memory management held in the memory management knowledge base 44 used by the design information check unit 4 described above. CPU type (P
1) is defined for each word length (represented by P2), address order information within the word (represented by P3), and boundary condition information (represented by P4) for a type depending on the programming language. As a result, the design information check unit 4 can identify whether or not the contents of the input specifications include those inconsistent with the knowledge of the type of CPU.

【0028】図5にデータ構造設計エディタ8内で取扱
う設計部品の構成例とその関係を示す。図5の (a)は構
成例であり,(b) は各設計部品の関係を示す。
FIG. 5 shows an example of the configuration of design parts handled in the data structure design editor 8 and their relation. 5A shows an example of the configuration, and FIG. 5B shows the relationship of each design component.

【0029】(a) に示す各設計部品(“テーブル概
要”,“構造概要”,“データ構成”等)の間の関係は
(b) に示され, 四角の枠で表す設計部品Aと設計部品B
間の関連の意味が,両者を結ぶ線分の種類により表現さ
れ,1つの設計部品実体に複数の設計部品が存在するか
否かを区別できる。
The relationship among the design parts (“table outline”, “structure outline”, “data structure”, etc.) shown in (a) is
Design part A and design part B shown in (b) and represented by a square frame
The meaning of the relation between them is expressed by the type of line segment that connects the two, and it is possible to distinguish whether or not there are a plurality of design parts in one design part entity.

【0030】(b) において, は1つの設計部品Aと1
つの設計部品Bが結合している関係,は1つの設計部
品Aと1個以上の設計部品Bとが結合している関係,
は,設計部品Aとゼロまたは1個の設計部品Bと結合し
ている関係,は1個の設計部品Aとゼロまたは1個以
上の設計部品Bと結合している関係を表す。
In (b), is one design part A and one
A relationship in which one design part B is connected is a relationship in which one design part A and one or more design parts B are connected,
Represents a relation in which the design component A is connected to zero or one design component B, and represents a relation in which one design component A is connected to zero or one or more design components B.

【0031】(a) に示す各設計部品の関係を,図6〜図
8に示すデータ構造設計エディタ8内で取り扱う設計部
品と属性の説明図を参照しながら説明する。なお,図6
乃至図8において,属性欄の「:」のマークは,これ以
降が属性の意味を表し,属性名直後の「*」のマークま
たは数値は,その属性が1つの部品に対して複数存在す
ること,またはその個数を表す。
The relationship between the design parts shown in (a) will be described with reference to the design parts and attribute explanatory diagrams handled in the data structure design editor 8 shown in FIGS. Note that FIG.
In FIG. 8, the “:” mark in the attribute column indicates the meaning of the attribute after that, and the “*” mark or numerical value immediately after the attribute name indicates that the attribute exists more than once for one part. , Or its number.

【0032】50はメモリあるいは二次媒体上の領域の
獲得を前提とするテーブルの諸元を表す設計部品として
のテーブル概要であり,図6に設計部品と属性の説明図
(その1)に示すように属性としてそれぞれデータ番号
(No.)データ名称, タイプ,レコード長,レコード数,
全体サイズ,テーブル概要(テーブルの目的等),アク
セス方法を備える。
Reference numeral 50 is a table outline as a design part showing the specifications of the table on the assumption that an area on the memory or the secondary medium is acquired, and FIG. 6 is an explanatory view (1) of the design part and attributes. As the attributes, data number (No.) data name, type, record length, number of records,
It is equipped with the overall size, table outline (purpose of table, etc.), and access method.

【0033】51は,CPU間の通信電文のフレームフ
ォーマットやタスク間の通信手段に分類されるメモリ上
に動的に獲得されるようなデータの諸元を表す設計部品
としての構造概要であり,属性として図6に示すよう
に,構造名称,タイプ,レコード長,構造概要(使用対
象のフレームの種類や通信手段等),アクセス方法を備
える。
Reference numeral 51 is a structural outline as a design part showing the specifications of the data dynamically acquired on the memory classified into the frame format of the communication message between CPUs and the communication means between tasks. As shown in FIG. 6, the attributes include a structure name, type, record length, structure outline (type of frame to be used, communication means, etc.), and access method.

【0034】52は,データ内の要素間の階層構造及び
その関係を示すデータ構成を表す設計部品であり,図7
の設計部品と属性の説明図(その2)に示すように属性
としてデータ枠,構成要素,サイズ情報,構造タグ名と
を備える。53は,物理的データ構造(S2)のように
アドレス幅を物理的に決定したいアドレス表を表す設計
部品であり,図7に示すようにアドレス(1バイトまた
はnバイトオフセット)単位で詳細に規定するための行
欄(1バイトで構成され,タプルという)を持ち,各行
は属性としてアドレス番号,タプル要素,タプル要素
型,内容または意味を備える。
Reference numeral 52 is a design component representing a data structure showing a hierarchical structure between elements in the data and the relationship between them.
As shown in the explanatory diagram (part 2) of the design parts and attributes, the data frame, the component, the size information, and the structure tag name are provided as attributes. Reference numeral 53 is a design component representing an address table for which the address width is to be physically determined like the physical data structure (S2), and is defined in detail in units of address (1 byte or n byte offset) as shown in FIG. It has a row field (consisting of 1 byte and called a tuple) for doing each row, and each row has an address number, a tuple element, a tuple element type, content or meaning as an attribute.

【0035】54は,論理的データ構造(S3)に相当
する構造表を表す設計部品であり,データ構成52の論
理的構成要素単位に1つ割り当てられている。図8の設
計部品と属性の説明図(その3)に示すように個々の構
造表該要素の詳細化のための行欄をもち,さらに各行は
属性として要素番号,タプル要素,タプル要素型,内容
または意味により構成する。55はアドレス表53の各
行(タプル)において,構成するビット列の意味を説明
するためのビット構成を表す設計部品であり,図8に示
すように属性としてビット番号,各ビットの意味を備え
る。また,56は上記アドレス表53や構造表54内の
タプル要素が取り得る値域の範囲あるいはその値と意味
を定義する設計部品であり,図8に示すように属性とし
て要素名,値(範囲),意味を備える。
Reference numeral 54 is a design part representing a structure table corresponding to the logical data structure (S3), and one is assigned to each logical component element of the data structure 52. As shown in the explanatory diagram (3) of the design parts and attributes of FIG. 8, each structure table has a row column for detailing the element, and each row has an element number, a tuple element, a tuple element type, as an attribute. Consists of content or meaning. Reference numeral 55 is a design component representing a bit configuration for explaining the meaning of a bit string to be formed in each row (tuple) of the address table 53, and has a bit number and a meaning of each bit as attributes as shown in FIG. Reference numeral 56 is a design component that defines the range of value ranges that the tuple elements in the address table 53 and the structure table 54 can take, or its value and meaning. As shown in FIG. 8, the element name and value (range) are attributes. , Provide meaning.

【0036】このように,図5の(a) のアドレス表53
と構造表54によって物理的データ構造S2と論理的デ
ータ構造S3がエディタ上で区別されて設計部品として
提供されており,これによりCPUの種別によるメモリ
管理方式に依存するデータ構造の違いを厳密なアドレス
に対応付けるための仕様が設計者による入出力装置から
の情報入力の結果として作成されるデータ構造設計ドキ
ュメント9(図1)の内部に保持することができる。
As described above, the address table 53 of FIG.
With the structure table 54, the physical data structure S2 and the logical data structure S3 are distinguished on the editor and provided as design parts. This makes it possible to accurately determine the difference in the data structure depending on the memory management method depending on the CPU type. Specifications for associating with addresses can be held inside the data structure design document 9 (FIG. 1) created as a result of information input from the input / output device by the designer.

【0037】図9はデータ構造設計エディタ(図1の
8)の実施例である。図中の50〜56は図5中及び図
6〜図8中の各番号に対応する設計部品である。図9に
はデータ構造設計エディタの動作により入出力装置の出
力画面に表示された状態を示し,これらの予め配置され
た各設計部品に対して設計者は入出力装置の入力手段
(キーボード,マウス,タブレット等)により文字,数
字を入力したり,選択する。例えば,テーブル概要50
については,各項目「データNO.」,「データ名
称」,「タイプ」等の属性値について入力し,データ構
成52,アドレス表53,構造表54,ビット構成5
5,値域定義56の中から設計入力に必要となる設計部
品を選択して適宜の位置に配置することでデータ構造の
仕様の入力を行う。
FIG. 9 shows an embodiment of the data structure design editor (8 in FIG. 1). Reference numerals 50 to 56 in the figure are design components corresponding to the respective numbers in FIG. 5 and FIGS. 6 to 8. FIG. 9 shows the state displayed on the output screen of the input / output device by the operation of the data structure design editor. For each of these pre-arranged design parts, the designer has input means (keyboard, mouse) of the input / output device. , Tablets, etc.) to input or select letters and numbers. For example, table summary 50
For, enter the attribute values of each item “Data No.”, “Data name”, “Type”, etc., and set data structure 52, address table 53, structure table 54, bit structure 5
5. The specification of the data structure is input by selecting a design component required for design input from the range definition 56 and arranging it at an appropriate position.

【0038】図10はメモリ管理情報の知識ベース(図
3の44に対応)の具体例である。メモリ管理情報の知
識ベースは,図4に示す論理構成を備え,図10の場合
CPUαとCPUβが知識ベース内に登録されている例
である。内容を説明すると,CPUαのワード長P1は
16ビット,CPUβは32ビットであり,ワード内の
アドレスP2はCPUαが上位から下位へ続くように順
に配置される。これに対しCPUβは下位から上位への
順に並ぶことを意味する。さらに型別境界条件情報(バ
ウンダリー)として,CPUαでは文字型,整数型,短
整数型,符号無し短整数型がそれぞれ1バイト(8ビッ
ト),2バイト(16ビット),2バイト,2バイトの
長さを表す。境界条件がこのように設定されている場
合,ある型のデータと別の型のデータの境界がワードの
途中で生じた場合,次の型が該当ワードの残り部分に収
まらないと,残りの部分を切り上げて次のワードの先頭
から次の型が割付けられる。
FIG. 10 shows a specific example of the knowledge base of memory management information (corresponding to 44 in FIG. 3). The knowledge base of the memory management information has the logical configuration shown in FIG. 4, and in the case of FIG. 10, CPUα and CPUβ are examples registered in the knowledge base. To explain the contents, the word length P1 of the CPU α is 16 bits, the CPU β is 32 bits, and the address P2 in the word is arranged in order such that the CPU α continues from the higher order to the lower order. On the other hand, the CPU β means that the CPUs are arranged in order from the lower order to the higher order. Further, as type boundary condition information (boundary), in the CPU α, character type, integer type, short integer type, and unsigned short integer type are 1 byte (8 bits), 2 bytes (16 bits), 2 bytes, and 2 bytes, respectively. Indicates the length. When the boundary condition is set in this way, if a boundary between one type of data and another type of data occurs in the middle of a word, the next type must fit within the rest of the word Is rounded up and the next type is assigned from the beginning of the next word.

【0039】すなわち,ワード長が16ビットで,ある
型のデータが1バイト長の時,これに隣接する別の型の
データが2バイト長の場合,16ビットで区切った場
合,前の1バイトの残りの1バイト(8ビット)は使用
せず,その次のワードの先頭から次の型のワード(2バ
イト)を割付ける方法がとられる。CPUαでは,整数
型,短整数型,符号無し短整数型のそれぞれが切り上げ
られる。
That is, when the word length is 16 bits and one type of data has a length of 1 byte, if another type of data adjacent to this has a length of 2 bytes, or if it is divided by 16 bits, the preceding 1 byte The remaining 1 byte (8 bits) is not used, and a word of the next type (2 bytes) is allocated from the beginning of the next word. The CPU α rounds up integer types, short integer types, and unsigned short integer types.

【0040】CPUβの場合,ワード長が32ビット
で,文字型が1バイト長であるのに対し,整数型の場合
4バイト長であり,その境界条件が4切り上げになって
いる。この場合,他の型が前にある時これに続いて整数
型を割付ける場合,4バイト単位で区切った,次の先頭
のワードに割付けられる。
In the case of CPU β, the word length is 32 bits and the character type is 1 byte length, whereas the integer type is 4 bytes length, and the boundary condition is rounded up by 4. In this case, if another type is followed by an integer type, it is assigned to the next first word, which is divided in units of 4 bytes.

【0041】このような図10に示すメモリ管理情報の
知識ベースにより,ソフトウェアの物理的データ構造に
ついて,境界条件に合致しないアドレス割付けを行った
場合,図3の設計情報チェック部4の矛盾検出部42に
より矛盾が検出され,矛盾結果通知部43からその旨を
表すチェック結果通知A3が発生して,入出力装置1に
出力することにより設計者に知らせて,修正を行うこと
が可能となる。
When address allocation that does not match the boundary condition is performed on the physical data structure of the software based on the knowledge base of the memory management information shown in FIG. 10, the contradiction detection unit of the design information check unit 4 of FIG. When the contradiction is detected by 42, the contradiction result notifying unit 43 generates a check result notification A3 indicating that, and outputs the check result notification A3 to the input / output device 1 to notify the designer so that the correction can be performed.

【0042】図11にアドレス表による設計の例を示
す。図11のA.は誤ったアドレス表による例であり,
B.は正しいアドレス表による例である。A.の場合,
構造名が「発呼フレーム」で,各アドレス0X00〜0
X03に,それぞれ要素名,英シンボル,意味が規定さ
れている。A.の場合,「ダイヤルNO.」を1つの論
理名として取り扱うことを考えているが,境界条件の矛
盾によって切り上げがなされていることが,矛盾検出部
(図3の42)により検出される。これにより対話管理
設計部3を介してチェック結果通知A3が,例えば,
「ダイヤル番号がバウンダリとして切り上げられま
す。」というように出力されて入出力装置1に提示され
る。この提示に対し入出力装置1から設計者が,境界条
件を満たす正しい仕様入力を行った状態を図11のB.
に示す。B.ではダイヤル番号として「ダイヤルNO.
1」,「ダイヤルNO.2」が入力され矛盾が解消され
る。
FIG. 11 shows an example of the design based on the address table. 11A. Is an example of an incorrect address table,
B. Is an example with a correct address table. A. in the case of,
The structure name is "Call frame" and each address is 0X00-0
Element names, English symbols, and meanings are defined in X03, respectively. A. In the case of, it is considered to handle "dial No." as one logical name, but it is detected by the contradiction detection unit (42 in FIG. 3) that rounding up is performed due to contradiction of boundary conditions. As a result, the check result notification A3 is sent via the dialogue management designing unit 3, for example,
The message “The dialed number is rounded up as a boundary.” Is output and presented to the input / output device 1. In response to this presentation, the state in which the designer has input the correct specifications from the input / output device 1 satisfying the boundary conditions is shown in FIG.
Shown in. B. Then, as the dial number, "Dial No.
"1" and "Dial No. 2" are entered and the contradiction is resolved.

【0043】[0043]

【発明の効果】本発明によれば物理的データ構造のデー
タを取り扱うソフトウェアのエラーをソフトウェアの設
計の初期段階で発見することができるため,従来のよう
に後工程で検出して後戻りしてエラーを検出して修正を
行う場合に比べて工数及び時間を大幅に低減することが
できる。また,CPUのメモリ管理方式の違いによるソ
フトウェアのデータ構造の取り扱いの違いに基づくエラ
ーの発生を予め防止することが可能となる。
As described above, according to the present invention, an error in software that handles data of a physical data structure can be found in the initial stage of software design, and therefore, as in the prior art, it is detected in a later step and goes back to an error. It is possible to significantly reduce the man-hours and time as compared with the case of detecting and correcting. Further, it is possible to prevent in advance the occurrence of an error due to the difference in the handling of the software data structure due to the difference in the CPU memory management method.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明の原理構成図である。FIG. 1 is a principle configuration diagram of the present invention.

【図2】データ構造プログラム作成装置への入力と処理
結果の出力の説明図である。
FIG. 2 is an explanatory diagram of input to a data structure program creation device and output of a processing result.

【図3】本発明の要部である設計情報チェック部と関連
する各部を含む実施例の構成図である。
FIG. 3 is a configuration diagram of an embodiment including each unit related to a design information check unit which is a main part of the present invention.

【図4】メモリ管理知識ベースの論理構成を示す図であ
る。
FIG. 4 is a diagram showing a logical configuration of a memory management knowledge base.

【図5】エディタ内で取扱う設計部品の種類とその関係
例である。
FIG. 5 shows types of design parts handled in the editor and examples of their relationships.

【図6】設計部品と属性の説明図(その1)である。FIG. 6 is an explanatory diagram (1) of design components and attributes.

【図7】設計部品と属性の説明図(その2)である。FIG. 7 is an explanatory diagram (2) of design parts and attributes.

【図8】設計部品と属性の説明図(その3)である。FIG. 8 is an explanatory diagram (part 3) of design parts and attributes.

【図9】データ構造設計エディタの実施例である。FIG. 9 is an example of a data structure design editor.

【図10】メモリ管理情報の知識ベースの具体例であ
る。
FIG. 10 is a specific example of a knowledge base of memory management information.

【図11】アドレス表による設計の例である。FIG. 11 is an example of a design based on an address table.

【図12】従来例の説明図である。FIG. 12 is an explanatory diagram of a conventional example.

【図13】データ構造の分類を示す図である。FIG. 13 is a diagram showing classification of data structures.

【符号の説明】[Explanation of symbols]

1 入出力装置 2 データ構造プログラム作成装置 3 対話管理制御部 4 設計情報チェック部 5 設計エディタ制御部 6 設計ドキュメント管理部 7 データ構造プログラム生成部 8 データ構造設計エディタ 9 データ構造設計ドキュメント 10 データ構造プログラム 1 Input / output device 2 Data structure program creation device 3 Dialog management control unit 4 Design information check unit 5 Design editor control unit 6 Design document management unit 7 Data structure program generation unit 8 Data structure design editor 9 Data structure design document 10 Data structure program

Claims (2)

【特許請求の範囲】[Claims] 【請求項1】 ソフトウェアのデータ構造の設計及びプ
ログラム作成作業を支援するためのデータ構造プログラ
ム作成装置において,入出力装置からの要求及びデータ
入力を受け取り対応する各部を起動して処理結果の出力
を行う対話管理制御部と,アドレスの順序を規定する図
形シンボルや表を編集手段として備えるデータ構造設計
エディタと,該エディタを制御するための設計エディタ
制御部と,編集結果のデータ構造に関する設計情報が正
しいかチェックする設計情報チェック部と,設計結果の
データ構造設計ドキュメントを管理する設計ドキュメン
ト管理部と,正しいデータ構造設計ドキュメントを入力
及び解析してデータ構造プログラムを生成するデータ構
造プログラム生成部を備えることを特徴とするソフトウ
ェアのデータ構造プログラム作成装置。
1. A data structure program creation device for supporting a software data structure design and program creation work, receiving a request and a data input from an input / output device, activating corresponding parts, and outputting a processing result. A dialogue management control unit to perform, a data structure design editor having graphic symbols and tables that define the order of addresses as an editing unit, a design editor control unit for controlling the editor, and design information related to the data structure of the edited result. It is provided with a design information check unit for checking whether it is correct, a design document management unit for managing a data structure design document of a design result, and a data structure program generation unit for inputting and analyzing a correct data structure design document and generating a data structure program. Data structure of software characterized by Program generator.
【請求項2】 請求項1において,前記設計情報チェッ
ク部は,開発対象となるソフトウェアが動作するCPU
の種別に応じたワード長,ワード内のアドレス順序情
報,プログラム言語に依存する型に対する境界条件情報
を定義したメモリ管理情報に関する知識ベースを備え,
該知識ベースと前記データ構造設計ドキュメント中のデ
ータ構造に関する情報を比較し,設計に矛盾があるとそ
の内容を入出力装置に対し通知することを特徴とするソ
フトウェアのデータ構造プログラム作成装置。
2. The CPU according to claim 1, wherein the design information check unit is a CPU on which software to be developed operates.
It has a knowledge base for memory management information that defines the word length according to the type of, the address order information within the word, and the boundary condition information for the type that depends on the programming language.
An apparatus for creating a data structure program of software, characterized in that the knowledge base is compared with information on a data structure in the data structure design document, and if the design is inconsistent, the contents are notified to an input / output device.
JP4004728A 1992-01-14 1992-01-14 Generation device for software data structure program Withdrawn JPH05189220A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4004728A JPH05189220A (en) 1992-01-14 1992-01-14 Generation device for software data structure program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4004728A JPH05189220A (en) 1992-01-14 1992-01-14 Generation device for software data structure program

Publications (1)

Publication Number Publication Date
JPH05189220A true JPH05189220A (en) 1993-07-30

Family

ID=11591960

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4004728A Withdrawn JPH05189220A (en) 1992-01-14 1992-01-14 Generation device for software data structure program

Country Status (1)

Country Link
JP (1) JPH05189220A (en)

Similar Documents

Publication Publication Date Title
US5211563A (en) Computer assisted learning support system and processing method therefor
US6353452B1 (en) Data item display method and device, and recording medium storing a program for controlling display of data item
US7937688B2 (en) System and method for context-sensitive help in a design environment
US5428729A (en) System and method for computer aided software engineering
AU2009238294B2 (en) Data transformation based on a technical design document
US5982365A (en) System and methods for interactively generating and testing help systems
US9817811B2 (en) Web server system, dictionary system, dictionary call method, screen control display method, and demonstration application generation method
US20080077564A1 (en) Document-search supporting apparatus and computer program product therefor
JPH10124495A (en) Original text generation processor and medium for storing program for the same
JP2002203044A (en) Electronic medical chart management method and device
JPH05189220A (en) Generation device for software data structure program
JPH10301933A (en) Document processor, its method and recording medium
JP2763453B2 (en) Circuit diagram creation apparatus and circuit diagram creation method
JP4957043B2 (en) Information processing apparatus, program, and business application introduction method
JP3307476B2 (en) Data item definition standardization device
JP3123400B2 (en) Automatic asset correction history generation system
JPH05197533A (en) Control method for data item
JP3292403B2 (en) Document processing device with translation function
JP2990314B2 (en) Data management device
US20070100895A1 (en) Data maintenance apparatus, data maintenance method, and data maintenance system
JP2004341770A (en) Data management system and data management method
JP2645174B2 (en) Computer with field display function
JP4034377B2 (en) Database design device and database control device
JPH08115358A (en) Method and device for data connection of table and graphic
Foley et al. Design of a Data Dictionary Editor in a Distributed Software Development Environment

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 19990408