JP3996114B2 - How to place the program - Google Patents

How to place the program Download PDF

Info

Publication number
JP3996114B2
JP3996114B2 JP2003366035A JP2003366035A JP3996114B2 JP 3996114 B2 JP3996114 B2 JP 3996114B2 JP 2003366035 A JP2003366035 A JP 2003366035A JP 2003366035 A JP2003366035 A JP 2003366035A JP 3996114 B2 JP3996114 B2 JP 3996114B2
Authority
JP
Japan
Prior art keywords
program
module
ram
created
data
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 - Lifetime
Application number
JP2003366035A
Other languages
Japanese (ja)
Other versions
JP2004086924A (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.)
Denso Ten Ltd
Original Assignee
Denso Ten Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Denso Ten Ltd filed Critical Denso Ten Ltd
Priority to JP2003366035A priority Critical patent/JP3996114B2/en
Publication of JP2004086924A publication Critical patent/JP2004086924A/en
Application granted granted Critical
Publication of JP3996114B2 publication Critical patent/JP3996114B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

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

Description

本発明は、モジュール毎に予め作成したプログラムを組合わせてプログラムを自動的に作成する際のプログラムの配置方法に関する。   The present invention relates to a program arrangement method for automatically creating a program by combining programs created in advance for each module.

技術から、アセンブル・プログラムの作成においては、モジュール化が行われている。
アセンブル・プログラムは、コンピュータの機械語に対応し、一般にかなり長くなる。プログラムを複数のブロックに分割して、適度な長さのモジュール毎に動作を確認した後で、各モジュールを組合わせるようにすれば、プログラムの開発効率が良くなり、動作の信頼性も向上する。
From the technology, modularization is performed in the assembly program creation.
The assembly program corresponds to the machine language of a computer and is generally quite long. If you divide the program into multiple blocks and check the operation for each module of an appropriate length, then combining each module will improve the development efficiency of the program and improve the reliability of the operation. .

従来からのモジュール化プログラムは、サブルーチンやマクロなどの形で予めライブラリに登録しておき、メインルーチンから読出す形式が多い。
田中敏文他、リレーショナルデータベースを用いたプログラム自動合成の実現、OMRON TECHNICS、Vol.32、No.2(通巻102号)、1992年、p.19〜22(特許庁CSDB文書番号:企業技報1999−00092−004)
Many conventional modularized programs are pre-registered in a library in the form of subroutines or macros and read from the main routine.
Toshifumi Tanaka et al., Realization of automatic program synthesis using relational database, OMRON TECHNICS, Vol. 32, no. 2 (Vol. 102), 1992, p. 19-22 (Japan Patent Office CSDB document number: Corporate Technical Report 1999-00092-004)

従来からのモジュール化プログラムは、アセンブラやリンカなどと呼ばれるソフトウエアが、機械語のプログラムを生成する際にモジュールを組合わせる。アセンブラなどの処理系への指示は、ソースプログラムの文中にアセンブラなどの文法に従って記述する必要がある。   In a conventional modularized program, software called an assembler or a linker combines modules when generating a machine language program. An instruction to a processing system such as an assembler needs to be described in a sentence of a source program according to a grammar such as an assembler.

特定の分野に使用されるアセンブル・プログラム、たとえば自動車のエンジン制御のためのプログラムは、機種毎にデータなどが異なるけれども、プログラムの構成自体はほとんど共通である。このため機種毎に異なるモジュールについては、複数のモジュールを用意しておき、全体のアセンブル・プログラムを作成する際に必要なモジュールを選択する方法を取ることが効率的である。しかしながら、そのようなモジュールの選択は、メインルーチンを記述するアセンブル・プログラムの本文中で行わなければならない。このため新たなプログラムの作成や修正に手間がかかり、さらに自動化することは困難である。   An assembly program used in a specific field, for example, a program for controlling an engine of an automobile, has different data for each model, but the program configuration itself is almost common. For this reason, it is efficient to prepare a plurality of modules for modules different for each model and select a module necessary for creating an entire assembly program. However, such module selection must be made in the body of the assembled program that describes the main routine. For this reason, it takes time and effort to create and modify a new program, and further automation is difficult.

本発明の目的は、プログラムの本文中で選択しなくても、モジュール化したプログラムを自動的に配置することができるプログラムの配置方法を提供することである。   SUMMARY OF THE INVENTION An object of the present invention is to provide a program arrangement method that can automatically arrange a modularized program without selecting it in the program text.

本発明は、メモリ素子としてRAMとROMとを備え、このRAMとROMとをメモリ領域として用いるコンピュータで動作させる、作成すべきプログラムを、モジュール毎に予め作成したソースプログラムであるモジュールプログラムを組み合わせることによって生成するプログラムの配置方法であって、複数の領域に分かれた前記メモリ領域のどの領域に割付けるべきかを示すメモリ領域の属性が付加されているモジュールプログラムと、モジュールのレイアウトを作成するときに用いる配置関連情報とを、記憶しているプログラム記憶手段と、作成すべきプログラムの仕様書データに基づいて、該プログラム記憶手段から必要なモジュールプログラムと配置関連情報とを抽出する抽出手段と、該抽出手段が抽出したモジュールプログラムを翻訳することによって生成されるプログラムを、メモリ領域に割付けて配置する配置手段とを備え、該モジュールプログラムに付加された属性として、前記作成すべきプログラムの動作を表すプログラムであるプログラム本体と、データの読出しと書込みとが可能な変数であるRAMとが含まれ、該配置手段は、該属性がプログラム本体であるモジュールプログラムについては、当該モジュールプログラムを翻訳することによって生成されるプログラムがROMに配置されるように割付けを行うとともに、該配置関連情報に基づいて作成したモジュールのレイアウトに応じてモジュールプログラムの組み合わせを行い、該属性がRAMであるモジュールプログラムについては、当該モジュールプログラムを翻訳することによって生成されるプログラムがRAMに配置されるように割付けを行うことを特徴とするプログラムの配置方法である。
The present invention comprises a RAM and a ROM as memory elements, and is combined with a module program, which is a source program created in advance for each module, to be executed by a computer using the RAM and ROM as a memory area. When creating a module layout and a module layout to which a memory area attribute indicating which area of the memory area is to be allocated is added, and a module layout A program storage means for storing the arrangement related information used in the above, and an extraction means for extracting the necessary module program and the arrangement related information from the program storage means based on the specification data of the program to be created; Module program extracted by the extraction means A program body that is a program representing the operation of the program to be created as an attribute added to the module program; RAM, which is a variable capable of reading and writing data, is included, and for the module program whose attribute is the program body, the program generated by translating the module program is stored in the ROM. Arrangement is made so as to be arranged, and module programs are combined according to the layout of the module created based on the arrangement-related information, and for the module program whose attribute is RAM, the module program is translated Generated by The program is arranged method program and performs allocation so as to be disposed in RAM.

本発明に従えば、プログラム記憶手段に記憶されているモジュールプログラムは、メモリ素子としてRAMとROMとを備えたコンピュータで動作させるために、各モジュールプログラムをメモリ素子として備えられるRAMとROMとのうちのどのメモリ領域に割付けて配置するかについての属性が付加された状態で予め作成されている。プログラム記憶手段には、モジュールのレイアウトを作成するときに用いる配置関連情報も記憶させている。抽出手段は、作成すべきプログラムの仕様書データに基づいて、必要なモジュールプログラムと配置関連情報とをプログラム記憶手段から抽出する。配置手段は、抽出手段が抽出したモジュールプログラムを、付加された属性に従ってメモリ領域に割付けて配置する。モジュールプログラムに付加された属性には、作成すべきプログラムの動作を表すプログラムであるプログラム本体と、データの読出しと書込みとが可能な変数であるRAMとが含まれる。配置手段は、属性がプログラム本体などのRAMではないモジュールプログラムをROMに割付け、属性がRAMであればRAMに割付ける。仕様書データに基づいて必要なモジュールプログラムが抽出され、モジュールプログラムのメモリ領域の割付けも行われるので、プログラムの本文中でメモリ領域を選択しなくても、自動的にROMとRAMとに配置することができる。   According to the present invention, the module program stored in the program storage means can be operated by a computer having a RAM and a ROM as memory elements. It is created in advance with an attribute added to which memory area to be allocated and arranged. The program storage means also stores arrangement related information used when creating a module layout. The extraction unit extracts the necessary module program and the arrangement related information from the program storage unit based on the specification data of the program to be created. The placement means assigns the module program extracted by the extraction means to the memory area according to the added attribute and places it. The attributes added to the module program include a program body that is a program representing the operation of the program to be created, and a RAM that is a variable capable of reading and writing data. The arrangement means assigns a module program whose attribute is not a RAM such as a program main body to the ROM, and assigns it to the RAM if the attribute is RAM. Necessary module programs are extracted based on the specification data, and the memory areas of the module programs are also allocated. Therefore, even if the memory area is not selected in the main text of the program, it is automatically arranged in the ROM and RAM. be able to.

以上のように本発明によれば、仕様書データに応じて、必要なモジュールプログラムを抽出し、抽出したモジュールプログラムを、メモリ素子としてRAMとROMとを備えるコンピュータに対し、自動的に配置してプログラムを作成することができる。仕様書データを変更すれば、生成されるプログラムを容易に修正することができる。   As described above, according to the present invention, a necessary module program is extracted according to the specification data, and the extracted module program is automatically arranged on a computer having a RAM and a ROM as memory elements. You can create a program. If the specification data is changed, the generated program can be easily corrected.

図1は、本発明の一実施例の概略的な構成を示す。アセンブル・プログラム自動配置装置であるエンジニアリングワークステーション(以下、「EWS」と略称する)1は、ソフトウエアによって実現されるプログラム配置手段2および構成データ入力手段3を有する。
プログラム配置手段2には、仕様書4の内容と、ハードディスクや光ディスク装置などによって実現されるプログラム記憶手段5からのデータとが入力される。プログラム配置手段2には、構成データ入力手段3に入力される構成データに従って、RAM領域6、マップ領域7、共通部品領域8およびプログラム本体9を含む作成プログラム10を生成する。
RAM領域6は、データの読出しと書込みとが可能な変数または定数が配置される領域である。マップ領域7は、ルックアップ用のマップデータが配置される領域である。共通部品領域8は、複数種類のプログラムから共通に使用可能な比較的小規模のプログラムが記述される領域である。プログラム本体9は、作成すべきプログラムにおけるCPUなどの動作を表すプログラムコードが配置される領域である。
FIG. 1 shows a schematic configuration of an embodiment of the present invention. An engineering workstation (hereinafter abbreviated as “EWS”) 1, which is an assembly program automatic arrangement device, has a program arrangement means 2 and a configuration data input means 3 realized by software.
The program placement unit 2 receives the contents of the specification 4 and the data from the program storage unit 5 realized by a hard disk or an optical disk device. In the program placement means 2, a creation program 10 including a RAM area 6, a map area 7, a common part area 8 and a program body 9 is generated according to the configuration data input to the configuration data input means 3.
The RAM area 6 is an area in which variables or constants capable of reading and writing data are arranged. The map area 7 is an area where map data for lookup is arranged. The common component area 8 is an area in which a relatively small program that can be used in common from a plurality of types of programs is described. The program main body 9 is an area where program codes representing operations of the CPU and the like in a program to be created are arranged.

図2は、作成プログラム10を構成データ13に従って作成するときの基本的な考え方を示す。作成すべきプログラム10は、仕様書データ14によって指示され、図1のプログラム記憶装置5内に構築されるデータベース15から、必要データが抽出され、構成データ13としてまとめられる。構成データ13中の各データは、作成プログラム10を複数のプログラム・ブロックに分割したときの各ブロックの構成を示す。図2に示す例では、プログラムを12のブロックに分割している。   FIG. 2 shows a basic concept when the creation program 10 is created according to the configuration data 13. The program 10 to be created is instructed by the specification data 14, and necessary data is extracted from the database 15 constructed in the program storage device 5 of FIG. Each data in the configuration data 13 indicates the configuration of each block when the creation program 10 is divided into a plurality of program blocks. In the example shown in FIG. 2, the program is divided into 12 blocks.

図2の作成プログラム10の内容は、次の表1に示される。   The contents of the creation program 10 in FIG. 2 are shown in Table 1 below.

表1で、「ユーザ入力」は、プログラム作成者がキーボードなどからデータを入力すべきことを示す。「配置」は、メモリ領域を再配置することを示す。「データ書込み」は、図1に示すマップ領域7などに書込むべきデータがあることを示す。「システム設定」は、本自動配置装置が設定することを示す。   In Table 1, “user input” indicates that the program creator should input data from a keyboard or the like. “Arrangement” indicates that the memory area is rearranged. “Data writing” indicates that there is data to be written in the map area 7 shown in FIG. “System setting” indicates that the automatic placement apparatus is set.

図3は、図2の作成プログラム10のブロック内容とそのメモリ領域への割付け属性の種類との関係を示す。種類がRAMであれば、プログラムを作成する際に、RAMが割付けられる。種類がマップであれば、マップデータが書込まれる。種類が共通部品であれば、予め作成されている共通部品が配置される。種類がプログラム本体であれば、定数データの書込みとモジュール配置とが行われる。   FIG. 3 shows the relationship between the block contents of the creation program 10 of FIG. 2 and the types of assignment attributes to the memory area. If the type is RAM, the RAM is allocated when the program is created. If the type is a map, map data is written. If the type is a common part, a pre-created common part is arranged. If the type is a program body, constant data is written and modules are arranged.

図2に示す構成データ13の一例を次の表2に示す。   An example of the configuration data 13 shown in FIG.

ここで、第5番目のブロック「RAM領域定義」と、第9番目のブロック「メインルーチン」とは、対応している。このため参照ファイル名においても、「ABCDS00AR.MOD」と「ABCD−S−00−A−R」は対応関係にある。また「XYZS030BR.MOD」と「XYZ−S0−30−B−R(1/3)」〜「XYZ−S0−30−B−R(3/3)」は対応する。「XYZ…R」は、3つのファイルに分割されていることを示す。   Here, the fifth block “RAM area definition” corresponds to the ninth block “main routine”. Therefore, also in the reference file name, “ABCDS00AR.MOD” and “ABCCD-S-00-A-R” are in a correspondence relationship. “XYZS030BR.MOD” and “XYZ-S0-30-BR (1/3)” to “XYZ-S0-30-BR (3/3)” correspond to each other. “XYZ... R” indicates that the file is divided into three files.

図4は、表2に示すような構成データによって、仕様書4から作成プログラム10を生成する過程におけるデータの関連状態を示す。プログラム記憶手段5内には、モジュールライブラリ16、共通部品17および配置関連情報18が予め記憶される。仕様書4からは、仕様書抽出データ20が抽出される。仕様書抽出データ20の「モジュール名」に従って、モジュールライブラリ16から名称が一致するファイルが標準モジュール21として読出される。「モジュール名」からは、配置関連情報18も参照される。仕様書抽出データ20の「機種データ」に従って、共通部品17が参照される。標準モジュール21に指定される「RAM」に記載されているデータがRAMテーブル22にまとめられる。RAMとしては、「フラグ」と「ダイレクト」となどの種別がある。フラグは、ビットデータの記憶に用いる。ダイレクトは、メモリのアクセスの仕方を指定する。仕様書抽出データ20中「マップ値」と、標準モジュール21中の「マップ・フォーマット」とは、マップテーブル23にマップ・データとして集められる。仕様書抽出データ20の「定数値」と、標準モジュール21中の「定数書式」とは、作成モジュール24に定数データとして集められる。標準モジュール21中の「ロジック」は、作成モジュール24中のロジックに集められる。ロジックはCPUの動作を表す。共通部品17から検索された共通部品は共通部品25として、共通定数や汎用サブルーチンとしてまとめられる。   FIG. 4 shows the related state of data in the process of generating the creation program 10 from the specification 4 using the configuration data as shown in Table 2. In the program storage unit 5, a module library 16, a common component 17, and arrangement related information 18 are stored in advance. From the specification 4, the specification extraction data 20 is extracted. In accordance with the “module name” of the specification document extraction data 20, a file with the same name is read from the module library 16 as the standard module 21. The arrangement related information 18 is also referred to from the “module name”. The common component 17 is referred to according to the “model data” of the specification extraction data 20. Data described in “RAM” specified in the standard module 21 is collected in the RAM table 22. There are types of RAM such as “flag” and “direct”. The flag is used for storing bit data. Direct specifies how to access the memory. The “map value” in the specification extraction data 20 and the “map format” in the standard module 21 are collected as map data in the map table 23. The “constant value” of the specification extraction data 20 and the “constant format” in the standard module 21 are collected as constant data in the creation module 24. The “logic” in the standard module 21 is collected in the logic in the creation module 24. Logic represents the operation of the CPU. The common parts retrieved from the common parts 17 are collected as common parts 25 as common constants and general-purpose subroutines.

RAMテーブル22の内容に基づいて、RAM割付け26が行われ、作成プログラム10のRAM領域6が生成される。マップテーブル23のマップ・データに基づいて、マップレイアウト27が形成され、作成プログラム中のマップ領域7が生成される。共通部品25から共通部品レイアウト28が作成され、作成プログラム10中の共通部品領域8が生成される。作成モジュール24からは、配置関連情報18を参照して、モジュールレイアウト29が作成され、作成プログラム10中のプログラム本体領域9が生成される。   Based on the contents of the RAM table 22, RAM allocation 26 is performed, and the RAM area 6 of the creation program 10 is generated. A map layout 27 is formed based on the map data in the map table 23, and a map area 7 in the creation program is generated. A common component layout 28 is created from the common component 25, and the common component area 8 in the creation program 10 is generated. From the creation module 24, a module layout 29 is created with reference to the arrangement related information 18, and the program body area 9 in the creation program 10 is generated.

図5は、本実施例によるアセンブル・プログラムの作成過程を示す。ステップa1では、仕様書が与えられて、プログラムの作成が開始される。ステップa2では、仕様書からデータ抽出が行われる。ステップa3では、仕様書データに基づいて、モジュールの作成が行われる。図4に示されるモジュールライブラリ16にすでに登録されているモジュールであれば、標準モジュール21として抽出する。未登録のモジュールであれば、新たに作成する。   FIG. 5 shows the process of creating an assembly program according to this embodiment. In step a1, a specification is given and program creation is started. In step a2, data is extracted from the specifications. In step a3, a module is created based on the specification data. If the module is already registered in the module library 16 shown in FIG. If it is an unregistered module, it is newly created.

ステップa4では、表2に示すような構成データを作成し、プログラムの生成過程を開始する。構成データに記載されているブロックは、ブロック名の記載順に従って処理される。表1の「備考」に相当するデータは、表2の「参照ファイル名」の「.」以下を識別子として用いることなどによって判別することができる。ステップa5では、ユーザ入力が必要か否かが判断される。ユーザ入力が必要であれば、ステップa6で入力されたデータを取込む。次のステップa7では、構成データに基づいて、プログラム自動配置が行われる。   In step a4, configuration data as shown in Table 2 is created and a program generation process is started. The blocks described in the configuration data are processed according to the description order of the block names. Data corresponding to “Remarks” in Table 1 can be determined by using “.” Or less of “Reference File Name” in Table 2 as an identifier. In step a5, it is determined whether user input is necessary. If user input is required, the data input in step a6 is taken. In the next step a7, automatic program placement is performed based on the configuration data.

ステップa8では、自動配置されて作成されたプログラムをアセンブルし、機械語に翻訳する。文法的なエラーがあったときや、翻訳された機械語によってテスト動作を行った結果から、ステップa9では、プログラムの修正が必要か否かが判断される。修正が必要と判断されるときには、ステップa10で構成データの修正が行われ、ステップa5に戻る。ステップa9で修正が必要でないと判断されるときには、ステップa11でプログラムの作成を終了する。個々のモジュールについては、ステップa3のモジュール作成の段階でアセンブラの文法エラーなどを除去しておけば、ステップa10での文法エラーの修正の必要はなくなる。この場合の修正は、たとえば実際にエンジンを制御したときの制御データなどを変更する修正となる。予め複数のデータをモジュールとして作成しておけば、その指定を切換えるだけでプログラムの修正を行うことができる。   In step a8, the program automatically arranged and created is assembled and translated into machine language. When there is a grammatical error or the result of the test operation using the translated machine language, in step a9, it is determined whether the program needs to be corrected. When it is determined that correction is necessary, the configuration data is corrected in step a10, and the process returns to step a5. When it is determined in step a9 that no correction is necessary, the program creation is terminated in step a11. For individual modules, if a grammar error in the assembler is removed at the stage of module creation in step a3, the grammatical error need not be corrected in step a10. The correction in this case is, for example, a correction for changing control data when the engine is actually controlled. If a plurality of data are created as modules in advance, the program can be corrected by simply switching the designation.

図4のRAM割付け26は、たとえば表3のように区分される領域に対して行われる。   The RAM allocation 26 shown in FIG. 4 is performed for an area divided as shown in Table 3, for example.

RAM領域は$00〜$FFの連続したアドレスに割付けられるけれども、その領域はたとえば5つに区分されている。このような区分は、たとえばRAM領域の一部をバッテリバックアップして、データが揮発しないようにするときなどに特に有効である。割付け内容のパターンA〜Eは、それぞれRAM領域の属性を表す。パターンB,Cは、第2の区分および第4の区分に割付けることができる。   Although the RAM area is allocated to consecutive addresses of $ 00 to $ FF, the area is divided into, for example, five. Such a division is particularly effective when, for example, a part of the RAM area is backed up by a battery so that data is not volatilized. The allocation content patterns A to E each represent an attribute of the RAM area. Patterns B and C can be assigned to the second section and the fourth section.

図6は、表3のようなRAM領域区分にRAMを割付ける方法を示す。
ステップb1から割付けを開始し、ステップb2では、割付けるべきRAMを1つとる。
ステップb3でそのRAMがすでに他のブロックで割付けが終了しているか否が判断される。同一の名称のRAMがすでに割付けられていないときには、ステップb4で、そのパターンがBまたはC以外であるか否かが判断される。パターンB,C以外であると判断されるときには、ステップb5で所定の区分に割付けられる。ステップb4でパターンB,Cであると判断されるときには、ステップb6で、まず2番目の区分から割付けが行われる。2番目の区分に空所があれば、さらに2番目の区分に割付けられる。2番目の区分に空所がなければ、4番目の区分に割付けられる。
FIG. 6 shows a method of allocating RAM to RAM area sections as shown in Table 3.
Allocation is started from step b1, and one RAM to be allocated is taken in step b2.
In step b3, it is determined whether the RAM has already been allocated in another block. If a RAM having the same name has not been allocated, it is determined in step b4 whether the pattern is other than B or C. When it is determined that the pattern is other than patterns B and C, the pattern is assigned to a predetermined category in step b5. When it is determined in step b4 that the patterns are B and C, in step b6, allocation is first performed from the second segment. If there is a vacancy in the second section, it is assigned to the second section. If there is no empty space in the second section, it is assigned to the fourth section.

割付けが終了すると、ステップb7で、他にまだ割付けられていないRAMがあるか否かが判断される。未割付けのRAMがあるときには、ステップb2に戻る。全てのRAMの割付けが終了すると、ステップb8で割付け処理を終了する。   When the allocation is completed, it is determined in step b7 whether there is another RAM that has not been allocated yet. When there is an unallocated RAM, the process returns to step b2. When all the RAMs have been allocated, the allocation process ends at step b8.

以上のようにして、RAMを重複することなく、しかも連続して効率的にメモリに割付けることができる。本実施例では、作成すべきプログラムを12のブロックに分割し、メモリ領域の属性を4種類に分けているけれども、それぞれ他の数であってもよいことは勿論である。   As described above, the RAMs can be continuously and efficiently allocated to the memories without overlapping. In this embodiment, the program to be created is divided into 12 blocks and the attributes of the memory area are divided into four types, but it goes without saying that other numbers may be used.

本発明の一実施例の概略的な電気的構成を示すブロック図である。It is a block diagram which shows the schematic electrical constitution of one Example of this invention. 図1に示す実施例の基本的な考え方を示すブロック図である。It is a block diagram which shows the fundamental view of the Example shown in FIG. 図2に示す作成プログラム10を構成するブロックの内容を示す図である。It is a figure which shows the content of the block which comprises the preparation program 10 shown in FIG. 図2に示す処理におけるデータの関連状態を示すブロック図である。It is a block diagram which shows the related state of the data in the process shown in FIG. 図2に示す動作の処理過程を示すフローチャートである。It is a flowchart which shows the process of the operation | movement shown in FIG. 図4のRAM割付け26の処理内容を示すフローチャートである。It is a flowchart which shows the processing content of RAM allocation 26 of FIG.

符号の説明Explanation of symbols

1 EWS
2 プログラム配置手段
3 構成データ入力手段
4 仕様書
5 プログラム記憶手段
6 RAM領域
7 マップ領域
8 共通部品領域
9 プログラム本体領域
10 作成プログラム
13 構成データ
14 仕様書データ
15 データベース
16 モジュールライブラリ
17 共通部品
18 配置関連情報
22 RAMテーブル
26 RAM割付け



1 EWS
2 Program arrangement means 3 Configuration data input means 4 Specifications 5 Program storage means 6 RAM area 7 Map area 8 Common parts area 9 Program body area 10 Creation program 13 Configuration data 14 Specifications data 15 Database 16 Module library 17 Common parts 18 Arrangement Related information 22 RAM table 26 RAM allocation



Claims (1)

メモリ素子としてRAMとROMとを備え、このRAMとROMとをメモリ領域として用いるコンピュータで動作させる、作成すべきプログラムを、モジュール毎に予め作成したソースプログラムであるモジュールプログラムを組み合わせることによって生成するプログラムの配置方法であって、
複数の領域に分かれた前記メモリ領域のどの領域に割付けるべきかを示すメモリ領域の属性が付加されているモジュールプログラムと、モジュールのレイアウトを作成するときに用いる配置関連情報とを、記憶しているプログラム記憶手段と、
作成すべきプログラムの仕様書データに基づいて、該プログラム記憶手段から必要なモジュールプログラムと配置関連情報とを抽出する抽出手段と、
該抽出手段が抽出したモジュールプログラムを翻訳することによって生成されるプログラムを、メモリ領域に割付けて配置する配置手段とを備え、
該モジュールプログラムに付加された属性として、前記作成すべきプログラムの動作を表すプログラムであるプログラム本体と、データの読出しと書込みとが可能な変数であるRAMとが含まれ、
該配置手段は、該属性がプログラム本体であるモジュールプログラムについては、当該モジュールプログラムを翻訳することによって生成されるプログラムがROMに配置されるように割付けを行うとともに、該配置関連情報に基づいて作成したモジュールのレイアウトに応じてモジュールプログラムの組み合わせを行い、該属性がRAMであるモジュールプログラムについては、当該モジュールプログラムを翻訳することによって生成されるプログラムがRAMに配置されるように割付けを行うことを特徴とするプログラムの配置方法。
A program that includes a RAM and a ROM as memory elements and is operated by a computer using the RAM and ROM as a memory area, and a program to be created is generated by combining a module program that is a source program created in advance for each module The arrangement method of
Storing a module program to which an attribute of a memory area indicating which area of the memory area to be allocated into a plurality of areas should be assigned, and arrangement related information used when creating a module layout; Program storage means,
Extraction means for extracting necessary module programs and arrangement related information from the program storage means based on the specification data of the program to be created;
Arrangement means for allocating and arranging a program generated by translating the module program extracted by the extraction means in a memory area ;
The attribute added to the module program includes a program body that is a program representing the operation of the program to be created, and a RAM that is a variable capable of reading and writing data,
The arrangement means allocates a module program whose attribute is the program body so that a program generated by translating the module program is arranged in the ROM , and creates based on the arrangement-related information The module programs are combined according to the layout of the modules, and the module program whose attribute is RAM is allocated so that the program generated by translating the module program is arranged in the RAM. A program placement method characterized.
JP2003366035A 2003-10-27 2003-10-27 How to place the program Expired - Lifetime JP3996114B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003366035A JP3996114B2 (en) 2003-10-27 2003-10-27 How to place the program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003366035A JP3996114B2 (en) 2003-10-27 2003-10-27 How to place the program

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP17704893A Division JP3503962B2 (en) 1993-07-16 1993-07-16 Automatic program placement device

Publications (2)

Publication Number Publication Date
JP2004086924A JP2004086924A (en) 2004-03-18
JP3996114B2 true JP3996114B2 (en) 2007-10-24

Family

ID=32064660

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003366035A Expired - Lifetime JP3996114B2 (en) 2003-10-27 2003-10-27 How to place the program

Country Status (1)

Country Link
JP (1) JP3996114B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108694015A (en) * 2017-04-07 2018-10-23 佛山市顺德区顺达电脑厂有限公司 The program configuration method of microcontroller

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108694015A (en) * 2017-04-07 2018-10-23 佛山市顺德区顺达电脑厂有限公司 The program configuration method of microcontroller
CN108694015B (en) * 2017-04-07 2021-08-13 佛山市顺德区顺达电脑厂有限公司 Program configuration method of microcontroller

Also Published As

Publication number Publication date
JP2004086924A (en) 2004-03-18

Similar Documents

Publication Publication Date Title
US6678885B2 (en) System and method for common code generation
KR100967761B1 (en) Peripheral device of programmable controller, method of variable substitution, and computer program product thereof
KR101567455B1 (en) Defining an interactive user interface
WO2003098500A1 (en) Method and apparatus for automatically producing spreadsheet-based models
JP3996114B2 (en) How to place the program
EP1002270A1 (en) Software optimization system
JP3503962B2 (en) Automatic program placement device
CN113031854B (en) One-time programmable memory device and fault tolerance method thereof
CN103713864B (en) Book ticket output device and book ticket output method
JP2008299423A (en) Information processor and information processing program
JP2009176178A (en) Global variable definition system of plc
JPH06110733A (en) Test case generating device of program
JP4880202B2 (en) DTP method and DTP apparatus
JP7126637B1 (en) Programming support program, programming support method and programming support device
JP3910048B2 (en) Database publishing method and apparatus
JPS6310239A (en) Patch production system for high-level language
CN113609821A (en) Regular expression conversion method, device, equipment and storage medium
JP3133385B2 (en) Character editing system
JPH03137727A (en) Editor with program explanation file generator function
JPH03224032A (en) Data allocation system
JPS6326734A (en) Processing system for generation of prototype
JP2000089946A (en) Method for customizing message text and help text and recording medium storing program for executing the customizing method
JPS6375836A (en) Program forming device
JPH0895768A (en) Automatic program generating method using data item component
JP2008112473A (en) Database publishing method and device therefor

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20031028

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041019

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041220

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050201

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050404

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050614

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050805

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070705

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070801

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100810

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100810

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100810

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110810

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110810

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120810

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130810

Year of fee payment: 6

EXPY Cancellation because of completion of term