JP2000259399A - コンピュータプログラムのソースコード構造およびそれより生成されるオブジェクトコードを制御手順として内蔵した機械装置 - Google Patents
コンピュータプログラムのソースコード構造およびそれより生成されるオブジェクトコードを制御手順として内蔵した機械装置Info
- Publication number
- JP2000259399A JP2000259399A JP11162845A JP16284599A JP2000259399A JP 2000259399 A JP2000259399 A JP 2000259399A JP 11162845 A JP11162845 A JP 11162845A JP 16284599 A JP16284599 A JP 16284599A JP 2000259399 A JP2000259399 A JP 2000259399A
- Authority
- JP
- Japan
- Prior art keywords
- source code
- computer program
- data setting
- procedure
- mechanical device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Stored Programmes (AREA)
- Debugging And Monitoring (AREA)
Abstract
(57)【要約】
【課題】コンピュータプログラムのソースコードより生
成されるオブジェクトコードを制御手順として内蔵する
機械装置において、プログラム開発、テスト、変更、維
持・管理の効率をあげること、機械装置の信頼性をあげ
ること。 【解決手段】上記のソースコードを機械装置およびプロ
グラム自身を制御するための条件データを設定するデー
タ設定部分とデータ設定部分に設定された条件データの
みに基づいて機械装置の制御手順を記載する手順記載部
分に分離した構造とし、それより生成されるオブジェク
トコードを機械装置の制御手順として機械装置に内蔵さ
せる。
成されるオブジェクトコードを制御手順として内蔵する
機械装置において、プログラム開発、テスト、変更、維
持・管理の効率をあげること、機械装置の信頼性をあげ
ること。 【解決手段】上記のソースコードを機械装置およびプロ
グラム自身を制御するための条件データを設定するデー
タ設定部分とデータ設定部分に設定された条件データの
みに基づいて機械装置の制御手順を記載する手順記載部
分に分離した構造とし、それより生成されるオブジェク
トコードを機械装置の制御手順として機械装置に内蔵さ
せる。
Description
【0001】
【発明の属する技術分野】本発明は、機械装置を制御す
るためのコンピュータプログラムのソースコード構造お
よびそれより生成されるオブジェクトコードを制御手順
としてメモリ手段に内蔵した機械装置に関する。
るためのコンピュータプログラムのソースコード構造お
よびそれより生成されるオブジェクトコードを制御手順
としてメモリ手段に内蔵した機械装置に関する。
【0002】
【従来の技術】従来、機械装置を制御するコンピュータ
プログラムのソースコードは、コンピュータの演算処理
装置の機能を記号的に表現したアセンブリ言語、または
演算処理装置に依存しない高級言語、例えば、C言語な
どを用いて作成されてきた。
プログラムのソースコードは、コンピュータの演算処理
装置の機能を記号的に表現したアセンブリ言語、または
演算処理装置に依存しない高級言語、例えば、C言語な
どを用いて作成されてきた。
【0003】コンピュータプログラムのソースコードの
作成方法を説明する書籍は無数にあり、書店にあふれる
ほど展示され、容易に入手できる。これら各種書籍を参
考にすれば、目的の機械装置の制御を行うコンピュータ
プログラムのソースコードを簡単に作成することができ
る。
作成方法を説明する書籍は無数にあり、書店にあふれる
ほど展示され、容易に入手できる。これら各種書籍を参
考にすれば、目的の機械装置の制御を行うコンピュータ
プログラムのソースコードを簡単に作成することができ
る。
【0004】しかし、コンピュータプログラムのソース
コードが完成して機械装置が動作するようになるまでに
は、コンピュータプログラムのソースコードに内在する
間違いの修正に手間取って多大の時間、労力を必要とす
る場合がほとんどである。
コードが完成して機械装置が動作するようになるまでに
は、コンピュータプログラムのソースコードに内在する
間違いの修正に手間取って多大の時間、労力を必要とす
る場合がほとんどである。
【0005】完成した後においても、機械装置のちょっ
とした仕様変更に対処するためには、多大の時間と労力
を必要とする場合がほとんどである。
とした仕様変更に対処するためには、多大の時間と労力
を必要とする場合がほとんどである。
【0006】上記の根本的原因は、制御しようとする機
械装置などの動作をコンピュータプログラムのソースコ
ードのあらゆる部分にお互いに区別することなく数値で
記載・配置していることにあることが判明した。
械装置などの動作をコンピュータプログラムのソースコ
ードのあらゆる部分にお互いに区別することなく数値で
記載・配置していることにあることが判明した。
【0007】したがって、ちょっとした間違いを修正す
る場合でも、ちょっとした機械装置の仕様変更に対処し
ようとしてもコンピュータプログラムのソースコードの
全ての数値を詳細に調べ、確認し、修正しなければなら
なかった。
る場合でも、ちょっとした機械装置の仕様変更に対処し
ようとしてもコンピュータプログラムのソースコードの
全ての数値を詳細に調べ、確認し、修正しなければなら
なかった。
【0008】
【発明が解決しようとする課題】本発明の課題は、上記
問題点を解消する手段を提供することにある。本発明に
よれば、簡単にコンピュータプログラムの間違いを修正
できるようになる。本発明によれば、機械装置類に仕様
変更が発生しても簡単に追随できるようになる。本発明
によれば、簡単に、誤りの少ない、誤りの発生しにく
い、コンピュータプログラムを作成できるようになる。
本発明によれば、機械装置の信頼性の向上と維持・管理
性の向上が得られる。
問題点を解消する手段を提供することにある。本発明に
よれば、簡単にコンピュータプログラムの間違いを修正
できるようになる。本発明によれば、機械装置類に仕様
変更が発生しても簡単に追随できるようになる。本発明
によれば、簡単に、誤りの少ない、誤りの発生しにく
い、コンピュータプログラムを作成できるようになる。
本発明によれば、機械装置の信頼性の向上と維持・管理
性の向上が得られる。
【0009】
【課題を解決するための手段】本発明では、上記課題
を、次のようにして解決する。 (1) 機械装置を制御するためのコンピュータプログ
ラムのソースコードを、機械装置およびプログラム自身
を制御するための条件データを設定するデータ設定部分
と、データ設定部分に設定された条件データのみに基づ
いて機械装置の制御手順を記載する手順記載部分とに分
離する構成とする。 (2) データ設定部分で、手順記載部分の参照する全
ての数値データに変数名を割り当てる構成とする。 (3) データ設定部分で、各種の数値データをコンピ
ュータのメモリに割り当てるようにしたとき、手順記載
部分の参照する全てのメモリのアドレスおよびメモリア
ドレス関連数値に変数名を割り当てる構成とする。 (4) 手順記載部分に記載される制御手順を、データ
設定部分で割り当てられた変数名のみを利用して記載す
る構成とする。 (5) 上記で得られたソースコードをコンパイル、リ
ンクしてオブジェクトコードに変換し、機械装置の制御
手順として機械装置のメモリ手段に内蔵させる構成とす
る。
を、次のようにして解決する。 (1) 機械装置を制御するためのコンピュータプログ
ラムのソースコードを、機械装置およびプログラム自身
を制御するための条件データを設定するデータ設定部分
と、データ設定部分に設定された条件データのみに基づ
いて機械装置の制御手順を記載する手順記載部分とに分
離する構成とする。 (2) データ設定部分で、手順記載部分の参照する全
ての数値データに変数名を割り当てる構成とする。 (3) データ設定部分で、各種の数値データをコンピ
ュータのメモリに割り当てるようにしたとき、手順記載
部分の参照する全てのメモリのアドレスおよびメモリア
ドレス関連数値に変数名を割り当てる構成とする。 (4) 手順記載部分に記載される制御手順を、データ
設定部分で割り当てられた変数名のみを利用して記載す
る構成とする。 (5) 上記で得られたソースコードをコンパイル、リ
ンクしてオブジェクトコードに変換し、機械装置の制御
手順として機械装置のメモリ手段に内蔵させる構成とす
る。
【0010】
【作用】機械装置を制御するためのコンピュータプログ
ラムのソースコードを、データ設定部分と手順記載部分
とに分離して構成し、データ設定部分に定めた変数名を
参照して手順記載部分に制御手順を記載するようにした
ので、 (1) 機械装置の制御内容は、データ設定部分に記載
された内容によって決定される。 (2) データ設定部分に記載した変数名に対応する数
値を変更すれば、その変数名を参照して制御処理をする
手順記載部分の処理内容が自動的に変更される。 (3) 機械装置の制御仕様が追加になったときは、追
加仕様をデータ設定部分に追加設定し、それを参照して
追加仕様を処理する処理手順を手順記載部分に記載す
る。手順記載部分は、追加仕様を含むデータ設定部分の
内容を実現する制御手順に変化する。 (4) 上記構成のソースコードをコンパイル、リンク
して機械装置のメモリに内蔵させることによって、所望
の機械装置の制御が行われる。
ラムのソースコードを、データ設定部分と手順記載部分
とに分離して構成し、データ設定部分に定めた変数名を
参照して手順記載部分に制御手順を記載するようにした
ので、 (1) 機械装置の制御内容は、データ設定部分に記載
された内容によって決定される。 (2) データ設定部分に記載した変数名に対応する数
値を変更すれば、その変数名を参照して制御処理をする
手順記載部分の処理内容が自動的に変更される。 (3) 機械装置の制御仕様が追加になったときは、追
加仕様をデータ設定部分に追加設定し、それを参照して
追加仕様を処理する処理手順を手順記載部分に記載す
る。手順記載部分は、追加仕様を含むデータ設定部分の
内容を実現する制御手順に変化する。 (4) 上記構成のソースコードをコンパイル、リンク
して機械装置のメモリに内蔵させることによって、所望
の機械装置の制御が行われる。
【0011】
【発明の実施の形態】本発明の実施の形態を、図1によ
って説明する。図1において、1000は、機械装置を
制御するために開発するコンピュータプログラムの開発
支援装置である。2000は、開発したコンピュータプ
ログラムのオブジェクトコードによって制御される機械
装置である。
って説明する。図1において、1000は、機械装置を
制御するために開発するコンピュータプログラムの開発
支援装置である。2000は、開発したコンピュータプ
ログラムのオブジェクトコードによって制御される機械
装置である。
【0012】開発支援装置1000は、コンピュータプ
ログラムの開発者が開発支援装置1000を操作するた
めのキーボード1030、マウス1040などの入力装
置、状況を表示するためのディスプレー1010、開発
支援装置1000の全ての状況を制御する演算制御手段
1020、演算制御手段1020の動作の基本を与える
OS(オペレーティングシステム)、各種ユーティリテ
ィ、機械装置の制御プログラムの作成を支援するエディ
タ、コンパイラ、リンカなどを格納したメモリ105
0、フロッピーディスクなどの電子媒体または通信回線
から開発支援装置1000にデータを取り込むための入
力装置1060、フロッピーディスクなどの電子媒体ま
たは通信回線を介した別の装置へ開発支援装置1000
よりデータを出力するための出力装置1070よりな
る。
ログラムの開発者が開発支援装置1000を操作するた
めのキーボード1030、マウス1040などの入力装
置、状況を表示するためのディスプレー1010、開発
支援装置1000の全ての状況を制御する演算制御手段
1020、演算制御手段1020の動作の基本を与える
OS(オペレーティングシステム)、各種ユーティリテ
ィ、機械装置の制御プログラムの作成を支援するエディ
タ、コンパイラ、リンカなどを格納したメモリ105
0、フロッピーディスクなどの電子媒体または通信回線
から開発支援装置1000にデータを取り込むための入
力装置1060、フロッピーディスクなどの電子媒体ま
たは通信回線を介した別の装置へ開発支援装置1000
よりデータを出力するための出力装置1070よりな
る。
【0013】機械装置2000は、開発支援装置100
0で開発されたコンピュータプログラムのオブジェクト
コードを格納するメモリ手段2030、メモリ手段20
30の内容にしたがって機械装置の制御を行う演算制御
手段2010、演算制御のための補助メモリ手段204
0、演算手段2010の指示を受けて各種制御信号を発
生したり、必要な表示情報を表示したりする電気手段2
020、電気手段の各種制御信号にしたがって動作する
機械手段2050よりなる。
0で開発されたコンピュータプログラムのオブジェクト
コードを格納するメモリ手段2030、メモリ手段20
30の内容にしたがって機械装置の制御を行う演算制御
手段2010、演算制御のための補助メモリ手段204
0、演算手段2010の指示を受けて各種制御信号を発
生したり、必要な表示情報を表示したりする電気手段2
020、電気手段の各種制御信号にしたがって動作する
機械手段2050よりなる。
【0014】機械装置2000は、ロボット、コピー
機、電気洗濯機など、開発支援装置1000にて開発さ
れたコンピュータプログラムのオブジェクトコードを格
納するメモリ手段2030を備え、それにしたがって演
算制御手段2010によって制御されるものであればな
んでもよい。したがって、機械装置2000は、開発支
援装置1000自身であることも、パソコンなどの電子
機器である場合も含む。
機、電気洗濯機など、開発支援装置1000にて開発さ
れたコンピュータプログラムのオブジェクトコードを格
納するメモリ手段2030を備え、それにしたがって演
算制御手段2010によって制御されるものであればな
んでもよい。したがって、機械装置2000は、開発支
援装置1000自身であることも、パソコンなどの電子
機器である場合も含む。
【0015】メモリ手段2030は、ロム、ラム、フロ
ッピーディスク、ハードディスクなど、演算制御手段2
010が演算制御のために必要なデータ(オブジェクト
コード)を取り出せるものであればなんでもよい。演算
制御手段2010がマスクロム型のマイクロコンピュー
タである場合は、マイクロコンピュータ内部に回路的に
焼き付けられるメモリ手段であっても良い。
ッピーディスク、ハードディスクなど、演算制御手段2
010が演算制御のために必要なデータ(オブジェクト
コード)を取り出せるものであればなんでもよい。演算
制御手段2010がマスクロム型のマイクロコンピュー
タである場合は、マイクロコンピュータ内部に回路的に
焼き付けられるメモリ手段であっても良い。
【0016】機械装置2000のコンピュータプログラ
ムの開発者は、開発支援装置1000および機械装置2
000を利用してコンピュータプログラムを開発する。
ムの開発者は、開発支援装置1000および機械装置2
000を利用してコンピュータプログラムを開発する。
【0017】コンピュータプログラムの開発手順を、図
2によって説明する。
2によって説明する。
【0018】まず、3000において、機械装置の動作
制御のためのコンピュータプログラムの構想を立案す
る。
制御のためのコンピュータプログラムの構想を立案す
る。
【0019】次に、3100において、開発支援装置1
000を利用してコンピュータプログラムを作成する。
具体的には、3110において、コンピュータプログラ
ムのソースコードの編集、作成用の支援ソフトウエアで
あるエディタを用いて、データ設定部分と手順記載部分
より構成されるソースコードを作成する。続いて、31
20において、作成したソースコードをコンパイラおよ
びリンカーにかけて、機械装置2000の演算制御手段
2010が解読、実行可能なオブジェクトコードを生成
する。なお、この段階でソースコードに誤りが発見され
たときは、波線で示した手直しループによって修正す
る。
000を利用してコンピュータプログラムを作成する。
具体的には、3110において、コンピュータプログラ
ムのソースコードの編集、作成用の支援ソフトウエアで
あるエディタを用いて、データ設定部分と手順記載部分
より構成されるソースコードを作成する。続いて、31
20において、作成したソースコードをコンパイラおよ
びリンカーにかけて、機械装置2000の演算制御手段
2010が解読、実行可能なオブジェクトコードを生成
する。なお、この段階でソースコードに誤りが発見され
たときは、波線で示した手直しループによって修正す
る。
【0020】最後に、3200において、機械装置20
00を用いて、作成したコンピュータプログラムの正当
性を確認する。具体的には、3210において、作成し
たオブジェクトコードを開発支援装置1000の出力装
置1070から出力し、機械装置2000のメモリ手段
2030に格納する。続いて、3220において、機械
装置2000の演算制御手段を、メモリ手段2030に
格納したオブジェクトコードにしたがって動作させ、電
気手段2020および機械手段2050の動作を確認す
る。なお、この段階で、不都合な動作が発見されたとき
は、波線で示した手直しループによって、その原因とな
るソースコードの誤りを調べ、修正する。機械装置の当
初の目的通り動作が確認されたとき、コンピュータプロ
グラムの開発が完了する。そして、本発明のソースコー
ドより生成されたオブジェクトコードを内蔵する機械装
置として、製品出荷される。
00を用いて、作成したコンピュータプログラムの正当
性を確認する。具体的には、3210において、作成し
たオブジェクトコードを開発支援装置1000の出力装
置1070から出力し、機械装置2000のメモリ手段
2030に格納する。続いて、3220において、機械
装置2000の演算制御手段を、メモリ手段2030に
格納したオブジェクトコードにしたがって動作させ、電
気手段2020および機械手段2050の動作を確認す
る。なお、この段階で、不都合な動作が発見されたとき
は、波線で示した手直しループによって、その原因とな
るソースコードの誤りを調べ、修正する。機械装置の当
初の目的通り動作が確認されたとき、コンピュータプロ
グラムの開発が完了する。そして、本発明のソースコー
ドより生成されたオブジェクトコードを内蔵する機械装
置として、製品出荷される。
【0021】コンピュータプログラムのソースコード構
造を、図3によって説明する。
造を、図3によって説明する。
【0022】図3において、4000は、ソースコード
の全体を示し、データ設定部分4100および手順記載
部分4200より構成される。
の全体を示し、データ設定部分4100および手順記載
部分4200より構成される。
【0023】データ設定部分4100には、図示のよう
な、機械装置を制御するのに必要な基本データおよびプ
ログラム制御に必要なデータを変数名で設定する。
な、機械装置を制御するのに必要な基本データおよびプ
ログラム制御に必要なデータを変数名で設定する。
【0024】手順記載部分4200には、データ設定部
分に設定されたデータ類を変数名で参照する、図示のよ
うな内容の機械装置を制御するための具体的手順を記載
する。
分に設定されたデータ類を変数名で参照する、図示のよ
うな内容の機械装置を制御するための具体的手順を記載
する。
【0025】このように構成することによって、機械装
置を制御するための数値データと、制御手順が完全に分
離される。お互いの関係は、データ設定部分に設定され
た変数名で結ばれる。
置を制御するための数値データと、制御手順が完全に分
離される。お互いの関係は、データ設定部分に設定され
た変数名で結ばれる。
【0026】従来のソースコードの構成には、このよう
に完全にお互いを分離するという概念がなかった。言い
換えれば、手順記載部分のみで構成されていた。したが
って、変数名を扱うように構成したソースコードであっ
ても、手順のあちらこちらで変数を設定していたため
に、常にソースコードの全体を把握していなければなら
なかった。変数名を扱うようにしたソースコードであっ
ても、各種プログラム作成法を説明した本に変数も数字
も扱えると記載されているのにしたがって、一部を変数
化しただけであって、ソースコードのあちらこちらでほ
とんど数値によって処理手順を記載していた。
に完全にお互いを分離するという概念がなかった。言い
換えれば、手順記載部分のみで構成されていた。したが
って、変数名を扱うように構成したソースコードであっ
ても、手順のあちらこちらで変数を設定していたため
に、常にソースコードの全体を把握していなければなら
なかった。変数名を扱うようにしたソースコードであっ
ても、各種プログラム作成法を説明した本に変数も数字
も扱えると記載されているのにしたがって、一部を変数
化しただけであって、ソースコードのあちらこちらでほ
とんど数値によって処理手順を記載していた。
【0027】ソースコードをデータ設定部分と手順記載
部分に完全に分離し、かつお互いをまったく数値を使わ
ず変数名で結合するという発想は、本発明によって生ま
れたまったく初めてのものである。
部分に完全に分離し、かつお互いをまったく数値を使わ
ず変数名で結合するという発想は、本発明によって生ま
れたまったく初めてのものである。
【0028】本発明によれば、基本的に、手順記載部分
に数値が記載されることはない。機械装置又はプログラ
ム自体を制御するための具体的数値は、データ設定部分
から変数名によって提供される。しかし、手順記載部分
には、例外として次の例のような数値の記載を許す。 (1)一般的に、物の有無、境界値、判定値を表現する
場合の“0”。 (2)物の前後関係を表すために、値に1を加える又は
1を減じるための”1”。 (3)プログラム言語仕様上からみて、上記境界値に相
当すると見なされる数値 (4)理論的に確定した数値 (5)もし、”0”または”1”などが上記以外のある
特定の意味を持つ場合は、データ設定部分で変数名とし
て設定し、データ設定部分から手順記載部分に提供す
る。
に数値が記載されることはない。機械装置又はプログラ
ム自体を制御するための具体的数値は、データ設定部分
から変数名によって提供される。しかし、手順記載部分
には、例外として次の例のような数値の記載を許す。 (1)一般的に、物の有無、境界値、判定値を表現する
場合の“0”。 (2)物の前後関係を表すために、値に1を加える又は
1を減じるための”1”。 (3)プログラム言語仕様上からみて、上記境界値に相
当すると見なされる数値 (4)理論的に確定した数値 (5)もし、”0”または”1”などが上記以外のある
特定の意味を持つ場合は、データ設定部分で変数名とし
て設定し、データ設定部分から手順記載部分に提供す
る。
【0029】図3では、ソースコードをデータ設定部分
と手順記載部分の2つで構成した場合を示した。現実の
ソースコードは、図3のようにデータ設定部分と手順記
載部分が一つにまとまったものだけではない。簡単な制
御プログラムのソースコードは、図3のようにデータ設
定部分と手順記載部分が一つにまとまった形で、または
1つのファイルとして作成され、ハードディスクまたは
フロッピーディスクなどの電子媒体に格納され維持・管
理される。複雑かつ大規模なソースコードは当然複数の
ファイルに分割して作成されそれぞれが個別に管理され
る。機械装置2000のメモリ手段2030に格納する
オブジェクトコードを生成するときに、コンパイラおよ
びリンカの助けを得て結合される。それと同じで、本発
明のデータ設定部分および手順記載部分もそれぞれ別個
のファイルとして管理されたり、複数のファイルに分割
されることがある。データ設定部分だけ個別に準備され
複数のフィアイルに分割されることがある。手順記載部
分だけ個別に準備され複数のフィアイルに分割されるこ
とがある。しかし、本発明は、どのように分割管理され
ているとしても、データ設定部分と手順記載部分という
概念によって構成されて居るソースコードを全て含んで
いる。
と手順記載部分の2つで構成した場合を示した。現実の
ソースコードは、図3のようにデータ設定部分と手順記
載部分が一つにまとまったものだけではない。簡単な制
御プログラムのソースコードは、図3のようにデータ設
定部分と手順記載部分が一つにまとまった形で、または
1つのファイルとして作成され、ハードディスクまたは
フロッピーディスクなどの電子媒体に格納され維持・管
理される。複雑かつ大規模なソースコードは当然複数の
ファイルに分割して作成されそれぞれが個別に管理され
る。機械装置2000のメモリ手段2030に格納する
オブジェクトコードを生成するときに、コンパイラおよ
びリンカの助けを得て結合される。それと同じで、本発
明のデータ設定部分および手順記載部分もそれぞれ別個
のファイルとして管理されたり、複数のファイルに分割
されることがある。データ設定部分だけ個別に準備され
複数のフィアイルに分割されることがある。手順記載部
分だけ個別に準備され複数のフィアイルに分割されるこ
とがある。しかし、本発明は、どのように分割管理され
ているとしても、データ設定部分と手順記載部分という
概念によって構成されて居るソースコードを全て含んで
いる。
【0030】以下、データ設定部分と手順記載部分とを
互いに対比しながら簡単なソースコードの実施例を示し
て行く。なお、実際のソースコードにおいては、下記例
に示したようなデータ設定部分の設定内容が意味のある
単位でまとめられ、それらが全体としてデータ設定部分
を構成する。下記例に示したような手順記載部分の記載
内容が意味のある単位でまとめられ、それらが全体とし
て手順記載部分を構成する。
互いに対比しながら簡単なソースコードの実施例を示し
て行く。なお、実際のソースコードにおいては、下記例
に示したようなデータ設定部分の設定内容が意味のある
単位でまとめられ、それらが全体としてデータ設定部分
を構成する。下記例に示したような手順記載部分の記載
内容が意味のある単位でまとめられ、それらが全体とし
て手順記載部分を構成する。
【0031】図4の5000は、制御処理の内容を定め
た仕様書である。分類番号にしたがってそれぞれ処理
0、処理1の処理を行うと定めている。
た仕様書である。分類番号にしたがってそれぞれ処理
0、処理1の処理を行うと定めている。
【0032】図4の5010は、本発明にもとづいて作
成するデータ設定部分と手順記載部分から構成されるソ
ースコードである。データ設定部分では、分類番号の意
味から、変数名COM_READ、COM_WRITE
に対して、それぞれ、0、1 を割り当てている。手順
記載部分では、整数型変数commandの値に応じた
処理を実行する関数readwriteを記載してい
る。そして、commandの値がCOM READに等
しいとき処理0を実行し、COW WRITEに等しい
とき処理1を実行するようにしている。
成するデータ設定部分と手順記載部分から構成されるソ
ースコードである。データ設定部分では、分類番号の意
味から、変数名COM_READ、COM_WRITE
に対して、それぞれ、0、1 を割り当てている。手順
記載部分では、整数型変数commandの値に応じた
処理を実行する関数readwriteを記載してい
る。そして、commandの値がCOM READに等
しいとき処理0を実行し、COW WRITEに等しい
とき処理1を実行するようにしている。
【0033】図4の5020は、従来のソースコードで
ある。整数型変数commandの値に応じた処理を実
行する関数readwriteを記載している。そし
て、commnndの値が0に等しいとき処理0を実行
し、1 に等しいとき処理1を実行するようにしてい
る。
ある。整数型変数commandの値に応じた処理を実
行する関数readwriteを記載している。そし
て、commnndの値が0に等しいとき処理0を実行
し、1 に等しいとき処理1を実行するようにしてい
る。
【0034】図4の例では、5010と5020の処理
内容は同一である。しかし、0、1という抽象化された
数値で手順が記載されているために、従来のソースコー
ドの意味を判別することは難しい。
内容は同一である。しかし、0、1という抽象化された
数値で手順が記載されているために、従来のソースコー
ドの意味を判別することは難しい。
【0035】もし、何らかの理由で、分類番号0と1を
10と20に変更しなければならなくなったとしよう。
このような事態は、機械装置の制御において日常茶飯に
発生する。
10と20に変更しなければならなくなったとしよう。
このような事態は、機械装置の制御において日常茶飯に
発生する。
【0036】従来のソースコードの場合は、ソースコー
ドが数万行に渡っている場合は、ソースコードの中に別
の意味で使用している0と1が無数に存在する。したが
って、ソースコードの中を検索し、0と1を選別し、該
当個所を10と20に変更することになる。選別間違い
を起こして違ったものを10と20に変更してしまうこ
とがある。うっかりして変更し忘れることがある。変更
した結果を機械装置にかけて該当個所の動作をテストし
てうまくいって完成とすると、あとで、全く関係のない
ところの変更ミスが原因で機械装置にトラブルが発生す
る。該当個所が複数あった場合、テストが不十分である
と変更忘れ分のテストが抜けてしまって、後で機械装置
にトラブルが発生する。どんなに丁寧に注意深く変更を
行っても、人が考えたり、何か行動したりすると、必ず
考え違い、やり間違いが発生する。従来のソースコード
は、機械装置のトラブル発生要因を無数に含んでいる。
ドが数万行に渡っている場合は、ソースコードの中に別
の意味で使用している0と1が無数に存在する。したが
って、ソースコードの中を検索し、0と1を選別し、該
当個所を10と20に変更することになる。選別間違い
を起こして違ったものを10と20に変更してしまうこ
とがある。うっかりして変更し忘れることがある。変更
した結果を機械装置にかけて該当個所の動作をテストし
てうまくいって完成とすると、あとで、全く関係のない
ところの変更ミスが原因で機械装置にトラブルが発生す
る。該当個所が複数あった場合、テストが不十分である
と変更忘れ分のテストが抜けてしまって、後で機械装置
にトラブルが発生する。どんなに丁寧に注意深く変更を
行っても、人が考えたり、何か行動したりすると、必ず
考え違い、やり間違いが発生する。従来のソースコード
は、機械装置のトラブル発生要因を無数に含んでいる。
【0037】開発段階のソースコードのテストにおいて
も同様で、間違って該当個所に0と1以外を記入した
り、関係ないところに0と1を記入したりしている恐れ
があるから、たびたびトラブルが発生し、不都合がなく
ならず、大変な開発時間と労力を費やす恐れを含んでい
る。
も同様で、間違って該当個所に0と1以外を記入した
り、関係ないところに0と1を記入したりしている恐れ
があるから、たびたびトラブルが発生し、不都合がなく
ならず、大変な開発時間と労力を費やす恐れを含んでい
る。
【0038】本発明のソースコードの場合、該当個所
は、データ設定部分に分類されて明確に記載されてい
る。♯define COM READ 0と#def
ineCOM WRITE 1とを、それぞれ、#de
fine COM READ10と#define C
OM WRITE 20とに変更すれば、全てが終了す
る。手順記載部分を検索したり、選別したり、考えたり
する必要がない。手順記載部分を見る必要はまったくな
い。変更はあっと言う間に終了する。ほとんど間違いの
発生する余地がない。
は、データ設定部分に分類されて明確に記載されてい
る。♯define COM READ 0と#def
ineCOM WRITE 1とを、それぞれ、#de
fine COM READ10と#define C
OM WRITE 20とに変更すれば、全てが終了す
る。手順記載部分を検索したり、選別したり、考えたり
する必要がない。手順記載部分を見る必要はまったくな
い。変更はあっと言う間に終了する。ほとんど間違いの
発生する余地がない。
【0039】また、手順記載部分の作成過程において
も、データ設定部分の提供する変数名をもとにして手順
記載部分を作成するので、変数名の記入の際にタイプミ
スをしても、データ設定部分に設定されていない変数名
を使用していることを後でコンパイラおよびリンカが指
摘してくれる。間違った手順記載部分のままで放置され
ることがない。使用する変数名もその意味が明確になっ
ているので全く意味の異なる変数名と間違えて使用する
こともない。
も、データ設定部分の提供する変数名をもとにして手順
記載部分を作成するので、変数名の記入の際にタイプミ
スをしても、データ設定部分に設定されていない変数名
を使用していることを後でコンパイラおよびリンカが指
摘してくれる。間違った手順記載部分のままで放置され
ることがない。使用する変数名もその意味が明確になっ
ているので全く意味の異なる変数名と間違えて使用する
こともない。
【0040】本発明によれば、ソースコードの開発効率
および維持・管理効率が飛躍的に向上する。機械装置の
信頼性が飛躍的に向上する。特に、複雑な機械装置、要
求される制御機能の多い機械装置の場合には、その効果
は計り知れない。莫大な効果をうむ。本発明は、今とな
っては遅いが、本発明が適用されていれば、今大問題に
なっている2000年問題も、発生しなかったかもしく
は軽微な処置を実施すれば解決するであろうと考えられ
る非常に画期的内容を示している。
および維持・管理効率が飛躍的に向上する。機械装置の
信頼性が飛躍的に向上する。特に、複雑な機械装置、要
求される制御機能の多い機械装置の場合には、その効果
は計り知れない。莫大な効果をうむ。本発明は、今とな
っては遅いが、本発明が適用されていれば、今大問題に
なっている2000年問題も、発生しなかったかもしく
は軽微な処置を実施すれば解決するであろうと考えられ
る非常に画期的内容を示している。
【0041】以下の本発明の実施例では、従来例との対
比を行わない。しかし、それぞれは、基本的に上記した
ような違いがあることは明白である。
比を行わない。しかし、それぞれは、基本的に上記した
ような違いがあることは明白である。
【0042】図5は、同質な多数のデータを扱う場合に
好都合な配列を扱う場合を示している。5100は、扱
う処理を示す仕様書である。機械装置の制御の例として
はふさわしくないかも知れないが、内容がわかりやすい
ものとして取り上げた。
好都合な配列を扱う場合を示している。5100は、扱
う処理を示す仕様書である。機械装置の制御の例として
はふさわしくないかも知れないが、内容がわかりやすい
ものとして取り上げた。
【0043】本発明のソースコード5110のデータ設
定部分では、クラスの人数50を変数名CLASS N
INNZUUに割り当てている。また、各教科の点数を
記憶するエリアの名前として、kokugo、sann
suu、rikaを割り当て、エリアのサイズを、CL
ASS NINNZUUを用いて定めている。同じよう
に合計を記入するエリアの名前として、goukeiを
割り当て、サイズも同じように設定している。なお、こ
れらのエリアは作業変数エリアであるから、使い方によ
っては、手順記載部分にて割り当てても良い。そのとき
も、サイズは、データ設定部分より提供される変数名C
LASS NINNZUUを用いて設定しなければなら
ない。
定部分では、クラスの人数50を変数名CLASS N
INNZUUに割り当てている。また、各教科の点数を
記憶するエリアの名前として、kokugo、sann
suu、rikaを割り当て、エリアのサイズを、CL
ASS NINNZUUを用いて定めている。同じよう
に合計を記入するエリアの名前として、goukeiを
割り当て、サイズも同じように設定している。なお、こ
れらのエリアは作業変数エリアであるから、使い方によ
っては、手順記載部分にて割り当てても良い。そのとき
も、サイズは、データ設定部分より提供される変数名C
LASS NINNZUUを用いて設定しなければなら
ない。
【0044】本発明のソースコード5110の手順記載
部分では、各教科の得点リストが別のところで設定され
提供されるとして、その合計を配列goukeiに求め
る関数のみを記載している。関数の処理内容は、データ
設定部分より提供される変数名およびエリアの名前のみ
で記載されている。数値0が記載されているが、これ
は、前記したような一般境界値として許容する数字であ
る。
部分では、各教科の得点リストが別のところで設定され
提供されるとして、その合計を配列goukeiに求め
る関数のみを記載している。関数の処理内容は、データ
設定部分より提供される変数名およびエリアの名前のみ
で記載されている。数値0が記載されているが、これ
は、前記したような一般境界値として許容する数字であ
る。
【0045】このようにすることにより、例えば、クラ
スの人数が変化した場合、データ設定部分のCLASS
NINNZUUに割り当てた数値を変更すれば簡単に
対処できるようになっている。教科の数が変化した場合
は、仕様対象外である。しかし、上記データ設定部分の
内容を変更し、それに対応して手順記載部分の内容を変
更すれば間違いを発生させることなく容易に対処できる
ことは明白であろう。
スの人数が変化した場合、データ設定部分のCLASS
NINNZUUに割り当てた数値を変更すれば簡単に
対処できるようになっている。教科の数が変化した場合
は、仕様対象外である。しかし、上記データ設定部分の
内容を変更し、それに対応して手順記載部分の内容を変
更すれば間違いを発生させることなく容易に対処できる
ことは明白であろう。
【0046】図6は、互いに関連するデータを1組とし
てデータ設定部分で設定し、手順記載部分に引き渡す場
合の実施例を示している。
てデータ設定部分で設定し、手順記載部分に引き渡す場
合の実施例を示している。
【0047】仕様条件は、図6の仕様書5200に記載
の通りである。
の通りである。
【0048】本発明のソースコードのデータ設定部分で
は、まず、RPM、ENCODER、SAMPLEに具
体的数値を設定している。つぎに、これらを1組のデー
タとして扱うために、basedataという構造を定
めている。basedataの要素は、rpm、enc
oder、sampleである。これらには、構造ba
sedataが実際のメモリに割り当てられたときのそ
のメモリアドレスからの相対アドレスが割り当てられ
る。この例の場合は、それぞれ、0、2、4が割り当て
られるが、その数値を意識することなく、rpm、en
coder、sampleという変数名であつかうこと
ができる。最後に、構造basedataを具体的メモ
リに割り当て、メモリ番地例えば2000の代わりに変
数名pdataとしている。そして、割り当てたメモリ
に順にデータRPM、ENCODER、SAMPLEを
記入している。
は、まず、RPM、ENCODER、SAMPLEに具
体的数値を設定している。つぎに、これらを1組のデー
タとして扱うために、basedataという構造を定
めている。basedataの要素は、rpm、enc
oder、sampleである。これらには、構造ba
sedataが実際のメモリに割り当てられたときのそ
のメモリアドレスからの相対アドレスが割り当てられ
る。この例の場合は、それぞれ、0、2、4が割り当て
られるが、その数値を意識することなく、rpm、en
coder、sampleという変数名であつかうこと
ができる。最後に、構造basedataを具体的メモ
リに割り当て、メモリ番地例えば2000の代わりに変
数名pdataとしている。そして、割り当てたメモリ
に順にデータRPM、ENCODER、SAMPLEを
記入している。
【0049】このようにすることによって、RPM、E
NCODER、SAMPLEというデータを1組のデー
タとして、変数名pdataで扱うことができるように
なる。
NCODER、SAMPLEというデータを1組のデー
タとして、変数名pdataで扱うことができるように
なる。
【0050】これらは、変数名pdataと構造名ba
sedataを指定して参照することにより、本発明の
ソースコード5210の手順記載部分に記載のように変
数名を使って参照できるようになる。
sedataを指定して参照することにより、本発明の
ソースコード5210の手順記載部分に記載のように変
数名を使って参照できるようになる。
【0051】このようにデータ設定部でメモリにデータ
を記入し、データをメモリ番地を表す具体的数値でなく
変数名を割り当て、手順記載部分で変数名によって参照
するようにして、両者の接続を得ている。
を記入し、データをメモリ番地を表す具体的数値でなく
変数名を割り当て、手順記載部分で変数名によって参照
するようにして、両者の接続を得ている。
【0052】このようにすることによって、数値の変更
は既に述べたように簡単にできるようになっている。デ
ータ構造の変更も対応する手順記載部分と連携を取って
簡単にできるようになっている。これらによって互いに
関連するデータを1組にまとめて扱うようにできるの
で、全体のまとまりがよくなる。既に述べた数々の効果
が更に向上することになる。
は既に述べたように簡単にできるようになっている。デ
ータ構造の変更も対応する手順記載部分と連携を取って
簡単にできるようになっている。これらによって互いに
関連するデータを1組にまとめて扱うようにできるの
で、全体のまとまりがよくなる。既に述べた数々の効果
が更に向上することになる。
【0053】なお、図6の例では、数値1000と60
は理論的に確定した数値であるから、変更修正の恐れが
なものとして本発明でも許容し、手順記載部分に直接記
載した例として示した。しかし、本発明の本来的発想に
従うならば、このような数値もデータ設定部分で変数に
設定し、手順記載部分には、変数名を参照した手順を記
載するようにした方が望ましいのはもちろんである。
は理論的に確定した数値であるから、変更修正の恐れが
なものとして本発明でも許容し、手順記載部分に直接記
載した例として示した。しかし、本発明の本来的発想に
従うならば、このような数値もデータ設定部分で変数に
設定し、手順記載部分には、変数名を参照した手順を記
載するようにした方が望ましいのはもちろんである。
【0054】データ設定部において、数値を変数名で置
き換え、手順記載部分に引き渡す具体例は無数に存在す
るが、基本は上例に示した通りであるので、ここでの個
別の詳細な説明は省略する。
き換え、手順記載部分に引き渡す具体例は無数に存在す
るが、基本は上例に示した通りであるので、ここでの個
別の詳細な説明は省略する。
【0055】
【発明の効果】本発明は次の効果を持つ。本発明を適用
すれば、今大問題となっている2000年問題を発生さ
せるようなことがない。また発生させても用意に修復で
きる非常に優れた内容を持つ。 (1)間違いの発生しにくい構造を持つ。 (2)万一、間違いが発生しても修正しやすい構造を持
つ。 (3)開発効率が大幅に向上する。 (6)維持・管理性が非常に良くなる。 (7)機械装置の信頼性が大幅に向上する。
すれば、今大問題となっている2000年問題を発生さ
せるようなことがない。また発生させても用意に修復で
きる非常に優れた内容を持つ。 (1)間違いの発生しにくい構造を持つ。 (2)万一、間違いが発生しても修正しやすい構造を持
つ。 (3)開発効率が大幅に向上する。 (6)維持・管理性が非常に良くなる。 (7)機械装置の信頼性が大幅に向上する。
【図1】本発明の全体構成を示す図。
【図2】本発明の実施手順を示す図。
【図3】本発明のソースコード構造を示す図。
【図4】本発明のソースコードの構成例および従来例を
示す図。
示す図。
【図5】本発明のソースコードの構成例を示す図。
【図6】本発明のソースコードの構成例を示す図。
1000 開発支援装置 2000 機械装置 4000 ソースコード 4100 データ設定部分 4200 手順記載部分
Claims (5)
- 【請求項1】 機械装置を制御するためのコンピュータ
プログラムのソースコードを、機械装置およびプログラ
ム自身を制御するための条件データを設定するデータ設
定部分と、データ設定部分に設定された条件データのみ
に基づいて機械装置の制御手順を記載する手順記載部分
とに分離したことを特徴とするコンピュータプログラム
のソースコード構造 - 【請求項2】 データ設定部分で、手順記載部分の参照
する全ての数値データに変数名を割り当てるようにした
ことを特徴とする特許請求の範囲第1項記載のコンピュ
ータプログラムのソースコード構造 - 【請求項3】 データ設定部分で、各種の数値データを
コンピュータのメモリに割り当てるようにしたとき、手
順記載部分の参照する全てのメモリのアドレスおよびメ
モリアドレス関連数値に変数名を割り当てるようにした
ことを特徴とする特許請求の範囲第1項記載のコンピュ
ータプログラムのソースコード構造 - 【請求項4】 手順記載部分に記載される制御手順を、
データ設定部分で割り当てられた変数名のみを利用して
記載するようにしたことを特徴とする特許請求の範囲第
1項〜第3項記載のコンピュータプログラムのソースコ
ード構造 - 【請求項5】 特許請求の範囲第1項〜第4項記載の構
造のソースコードをコンパイル、リンクして得られるオ
ブジェクトコードを、機械装置の制御手順として、メモ
リ手段に内蔵したことを特徴とする機械装置
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP11162845A JP2000259399A (ja) | 1999-01-04 | 1999-05-07 | コンピュータプログラムのソースコード構造およびそれより生成されるオブジェクトコードを制御手順として内蔵した機械装置 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP11-33342 | 1999-01-04 | ||
JP3334299 | 1999-01-04 | ||
JP11162845A JP2000259399A (ja) | 1999-01-04 | 1999-05-07 | コンピュータプログラムのソースコード構造およびそれより生成されるオブジェクトコードを制御手順として内蔵した機械装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2000259399A true JP2000259399A (ja) | 2000-09-22 |
Family
ID=26372017
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP11162845A Pending JP2000259399A (ja) | 1999-01-04 | 1999-05-07 | コンピュータプログラムのソースコード構造およびそれより生成されるオブジェクトコードを制御手順として内蔵した機械装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2000259399A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019106153A (ja) * | 2017-12-14 | 2019-06-27 | 富士通株式会社 | 情報処理装置、分析プログラムおよび分析方法 |
-
1999
- 1999-05-07 JP JP11162845A patent/JP2000259399A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019106153A (ja) * | 2017-12-14 | 2019-06-27 | 富士通株式会社 | 情報処理装置、分析プログラムおよび分析方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4794437B2 (ja) | 編集処理中にプログラムコンポーネントの整合性を表現しチェックするための拡張型システム | |
US6138271A (en) | Operating system for embedded computers | |
US6678885B2 (en) | System and method for common code generation | |
EP0785510B1 (en) | Program debugging system for debugging a program having a graphical user interface | |
CN111796831B (zh) | 一种多芯片兼容的编译方法和装置 | |
US5881290A (en) | Industrial controller decompiler accommodating an expandable instruction set | |
CN111399853A (zh) | 机器学习模型与自定义算子的模板化部署方法 | |
JP4638484B2 (ja) | データ処理装置におけるデータ整合性 | |
CN105743736A (zh) | 自动化测试方法及系统 | |
JP2000040005A (ja) | プログラム変換装置 | |
KR100417655B1 (ko) | 최적화과정을참조하면서동작검증을행하도록디버그정보를생성하는디버그정보생성장치및프로그래머가최적화과정을의식하면서동작검증을할수있는디버그장치로이루어지는프로그램개발시스템 | |
JP2000259399A (ja) | コンピュータプログラムのソースコード構造およびそれより生成されるオブジェクトコードを制御手順として内蔵した機械装置 | |
CN114356783A (zh) | 单元测试代码自动生成方法、装置、存储介质及设备 | |
JP2013145443A (ja) | テストコード生成装置、テストコード生成方法、テストコード生成プログラム | |
Stroulia et al. | Reverse engineering interaction plans for legacy interface migration | |
JPH06110733A (ja) | プログラムのテストケース生成装置 | |
JP2007041707A (ja) | システム設計支援プログラム | |
KR102422972B1 (ko) | 프로그램 유지 보수 방법 및 이를 지원하는 컴퓨팅 장치 | |
WO2023135735A1 (ja) | プログラミング支援プログラム、プログラミング支援方法及びプログラミング支援装置 | |
JP3248433B2 (ja) | プログラムリンケージ検証方式 | |
JP2023015721A (ja) | 情報処理装置、情報処理方法及び情報処理プログラム | |
JPS6310239A (ja) | 高級言語のパツチ生成方式 | |
JP3192177B2 (ja) | オブジェクト処理装置 | |
WO1997028500A1 (en) | Method and apparatus of developing a business application computer-program | |
JPH06168011A (ja) | プログラム作成装置 |