JP2001344127A - システム開発方法、記憶媒体、情報処理装置、情報端末装置、情報処理システム及び情報処理方法 - Google Patents

システム開発方法、記憶媒体、情報処理装置、情報端末装置、情報処理システム及び情報処理方法

Info

Publication number
JP2001344127A
JP2001344127A JP2000166468A JP2000166468A JP2001344127A JP 2001344127 A JP2001344127 A JP 2001344127A JP 2000166468 A JP2000166468 A JP 2000166468A JP 2000166468 A JP2000166468 A JP 2000166468A JP 2001344127 A JP2001344127 A JP 2001344127A
Authority
JP
Japan
Prior art keywords
program
information
code
computer
information processing
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
JP2000166468A
Other languages
English (en)
Inventor
Yuugo Kashiwagi
有吾 柏木
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2000166468A priority Critical patent/JP2001344127A/ja
Priority to US09/867,615 priority patent/US20010049817A1/en
Publication of JP2001344127A publication Critical patent/JP2001344127A/ja
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3624Software debugging by performing operations on the source code, e.g. via a compiler

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

(57)【要約】 【課題】 ネットワーク等を介してクライアント若しく
は情報端末装置にサービスを提供するデータ処理システ
ムの低コスト化、及びクライアントとの間の通信の簡素
化を実現する。 【解決手段】 サービスの要求を伝送路若しくはネット
(44)を介して受け、そのサービスを提供するサーバ
ー(40)を有するような情報処理システムを想定した
とき、クライアント(41,42,43)からサーバー
のプログラムを呼び出すのではなく、サーバーはクライ
アントからそのアドレス空間の命令アドレスのようなア
ドレス情報を受けることによりそのアドレス情報に応ず
るサービスを提供する。このプロトコルを採用するか
ら、サーバーとクライアントとの間の通信処理が簡素で
あり、ネットワーク等を介してクライアント若しくは情
報端末装置にサービスを提供するデータ処理システムの
低コスト化も実現できる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はC++言語等の高級
言語を用いて組込みシステムを開発するのに最適なシス
テム開発方法、そのためのプログラムを格納した記憶媒
体、更には、ネットワークを介したサービスの提供を受
けるクライアント若しくは情報端末装置における処理負
担の軽減、更には、そのような負担軽減を考慮したサー
ビス提供のための情報処理システム及び情報処理方法に
関する。
【0002】
【従来の技術】計算機(本明細書においてコンピュータ
装置などの電子計算機を単に計算機と称する)の開発言
語であるC++,Fortran90、Java等の高
級言語が持つ高機能(例外処理など)は大きなリソース
(スタック、メモリ等)を必要とする。このため、搭載
メモリなどに制限の多い組込みシステム若しくは携帯情
報端末装置等の開発言語にはC++のような高級言語に
対するサブセット言語が用いられている。例えばEC+
+というC++のサブセット言語が提案されている。こ
のようなサブセット言語を用いるときは、C++が持つ
例外処理機能等を含まないサブセットの範囲でソースプ
ログラムを記述し、サブセット言語の処理系でコンパイ
ルする。これにより、従来のC言語と同程度のリソース
効率で高級言語仕様を実現できる。
【0003】
【発明が解決しようとする課題】しかしながら、サブセ
ット言語ではプログラムの標準化が困難である。すなわ
ち、パーソナルコンピュータやワークステーション上で
開発したプログラムを組み込み用途のマイクロコンピュ
ータ等に移植することが困難になる。また、サブセット
では、プログラムデバッグ中だけに使用したい言語機能
(例えば入出力、例外処理等)が完備していないため、
フルセットの開発言語環境と同様のデバッグを行なうこ
とができず、デバッグ効率が悪くなる、という問題点の
あることが本発明者によって明らかにされた。
【0004】そこで本発明者はターゲット装置(例えば
組み込み用途のマイクロコンピュータ等)にとってオー
バーヘッドになり得る高級言語機能も含めてフルセット
の高級言語機能をシステム開発に利用可能にするため
に、ターゲット装置に対する負荷の軽減を行なうことを
検討した。特に、ここで検討している負荷の軽減は、マ
ルチプロセッサ向けコンパイラのように、処理能力が均
質若しくは同等のプロセッサを対象として処理を分散さ
せるという技術、とは基本的な着眼点が相違する、とい
うことは本発明者によって予め把握されている。本発明
者による検討内容は高級言語機能単位で負荷の軽減を図
ろうとするものである。
【0005】更に本発明者が検討している負荷の軽減と
は、開発環境の整備、即ちサブセットの開発言語ではプ
ログラムデバッグ中だけでも使用したい高級言語機能
(例えば入出力、例外処理等)が完備していないからデ
バッグ効率も悪くなるという問題点の解決、を出発点と
しており、この意味で、ターゲット装置の負荷の軽減に
対して、軽減されるべき処理をデバッガに担わせること
を検討した。特に、デバッガはコンパイルの過程で生成
されるデバッグ情報を利用することにより軽減されるべ
きターゲット装置の処理を容易に実現できる、という点
に着目している。
【0006】本発明者、そのターゲット装置とデバッガ
システムとの関係を、ターゲットシステムの開発環境だ
けでなく、実システムにも拡張する検討を加えた。特に
ホスト(サーバー)と端末装置(クライアント、ターゲ
ット装置)とを備えるような情報処理システムでは端末
装置のリソースに大きな制限のある場合が想定され、特
に、端末装置がPDA(Personal Digital Assistant
s)のような携帯情報端末装置や携帯電話機では既にそ
の傾向が著しい。このような情報処理システムにおいて
端末装置の負荷を軽減することを考慮したサービス提供
のための情報処理システム若しくは情報処理方法による
ビジネスモデルについても本発明者は検討した。
【0007】本発明の目的は、ターゲット装置にとって
オーバーヘッドになり得る高級言語機能も含めてフルセ
ットの高級言語機能を利用可能にするシステム開発方法
を提供することにある。
【0008】本発明の別の目的はC++言語等の高級言
語を用いて組込みシステムを開発するのに最適なシステ
ム開発方法を提供することにある本発明の更に別の目的
は、前記システム開発方法によるシステム開発を容易化
することができるプログラムを格納した記憶媒体を提供
することにある。
【0009】本発明のその他の目的は、ネットワーク等
を介したサービスの提供を受ける情報端末装置の処理負
担軽減を実現する情報処理装置、情報端末装置、並びに
情報処理システムを提供することにある。
【0010】本発明のその他の目的は、ネットワーク等
を介してクライアント若しくは情報端末装置にサービス
を提供するデータ処理システムの低コスト化、及びクラ
イアントとの間の通信の簡素化を実現することにある。
【0011】本発明の前記並びにその他の目的と新規な
特徴は本明細書の記述及び添付図面から明らかになるで
あろう。
【0012】
【課題を解決するための手段】本願において開示される
発明のうち代表的なものの概要を簡単に説明すれば下記
の通りである。
【0013】〔1〕先ず基本的な考え方を一例として説
明する。リソースなどの点で開発対象のターゲット装置
がサポートできない若しくはターゲット装置にサポート
させたくない高級言語の高機能対応部分(例えばC++
の例外処理)が軽減対象になる。ソースプログラムの内
の当該高機能対応部分については、その機能をデバッガ
システム(若しくはホスト装置)で実現する為の第1コ
ードに変換すると共に、デバッガシステム(若しくはホ
スト装置)にその第1コードを処理させるための要求等
を発生させるターゲット用の第2コードに変換する。上
記変換は例えばコンパイラ等を利用して行なわれる。更
に、ターゲット装置のメモリ及びレジスタをアクセス可
能にするモニタ機能として、デバッガシステム(若しく
はホスト)用のモニタコマンド列(クライアントアクセ
スコマンド列)を生成する。モニタコマンド列は第1コ
ードと同様に、第2コードの実行に応答して起動される
性質のコードである。
【0014】上記変換若しくはコンパイルされたオブジ
ェクトプログラムをデバッガを用いてターゲット装置に
実行させてソースプログラムの検証を行なうとき、ター
ゲット装置は高級言語の前記高機能対応部分では前記第
2コードを実行する。第2コードは例えばTRAP命令
のような割り込み命令のコードであり、高級言語の前記
高機能対応部分を実行したとするときのオーバヘッドは
ない。第2コードがTRAP命令であればその命令コー
ド固有のベクタ若しくは分岐先アドレスによって決まる
割り込みハンドラを実行して、ターゲット装置はデバッ
ガと通信を行ない、そのTRAP命令のアドレス(PC
アドレス)をデバッガに与える。デバッガは、与えられ
たTRAP命令のアドレスに応ずるターゲット上のスタ
ック領域の情報などを取り込み、前記与えられたTRA
P命令のアドレスに対応する第1コードを、前記取り込
んだスタック領域等の情報を用いて実行する。このよう
にして、ホスト装置が前記ターゲット装置のための前記
高機能対応部分を実行若しくは模擬する。これにより、
高級言語の機能単位に着目してターゲット装置の負荷を
軽減することができる。デバッガによる前記スタック領
域等に関する情報取り込みはモニタコマンド列を実行し
て行なう。モニタコマンド列によるアクセス機能は、前
記割り込みハンドラの機能を介在させて実現してよい。
【0015】前記高級言語の高機能対応部分が専らプロ
グラムデバッグ中だけに使用したい例外処理などの言語
機能である場合、デバッグ完了後、最終のオブジェクト
プログラム中のTRAP命令のような第2コードをNO
Pに置き換えたりすればよい。この場合、ターゲット装
置は、スタンドアロンシステムとしてホストから切り離
して動作可能である。
【0016】最終プログラムに前記第2コードを残す必
要がある場合、例えば実システムにおいてネットワーク
上でクライアントの負荷を軽減することを想定するとき
は、最終プログラムにTRAP命令のような第2コード
を残し、ホスト装置には前記第1コードやモニタコマン
ド列等を組み込み、最終システム稼動後も、高級言語の
高機能部分であるオーバーヘッド部分をネットワークの
ホスト装置に実行させることが可能になる。
【0017】〔2〕《システムの開発方法》先ず本発明
をシステム開発方法の観点から具体的に説明する。
【0018】システム開発方法は、一つの開発言語で
記述され複数の記述を有するソースプログラム(4)に
おける第1の記述を、第1の計算機(1)で実行可能な
第1コードに変換し、前記第1の記述を、該第1の記
述によって定義される機能とは異なる機能を表すところ
のコードであって、第2の計算機(3)で実行可能な第
2コード(TRAP命令コード)に変換すると共に、前
記ソースプログラムにおける第2の記述を、前記第2の
計算機で実行可能なその他のコード(第3コード)に変
換し、前記ソースプログラムのデバッグにおいて前記
第2の計算機による前記第2コードの実行に応答して前
記第1の計算機が前記第1コードを実行することを特徴
とする。これにより、第2の計算機にとってオーバヘッ
ドになると考えられる高級言語の高機能部分(第1の記
述)単位で第1の計算機にその処理を負わせることが可
能になる。要するに、第2の計算機にとってオーバヘッ
ドになると考えられる高級言語の高機能部分(第1の記
述)の処理を、第2計算機のリソースを用いることなく
実現できる。
【0019】前記第1の計算機は、前記第1コードを実
行する前に前記第2計算機から情報を取り込む。例え
ば、第1の計算機は前記モニタコマンド列を実行し、第
2のコードを実行したときの第2の計算機の内部状態、
例えばスタック領域の状態等を取得する。第1の計算機
は、前記スタック領域の情報等を参照し、第1コードを
実行することにより、前記第2の計算機にとってオーバ
ヘッドになると考えられる高級言語の高機能部分(第1
の記述)を模擬する。
【0020】前記第2コードはTRAPのような割り込
み命令を表すコードである。第2の計算機は、当該割り
込みコードの実行により割り込みハンドラによる処理に
分岐する。割り込みハンドラは、例えば前記第1の計算
機へ、前記第2コードのアドレス情報、例えば前記割り
込み命令の命令アドレスを供給する処理を規定する。割
り込みハンドラは、例えば第2計算機のOS(オペレー
ティングシステム)の一部に組み込まれ、或いはデバッ
グモニタプログラムとして第2のコードにリンクさせる
ことができる。
【0021】前記第2コードのアドレス情報と前記第1
コードとを対応させる対照データを第1の計算機で参照
可能に生成しておく。これにより、第1計算機は、第2
計算機による第2コードの実行に応答して実行すべき第
1コードを複数の第1コードの中から簡単に選べる。
【0022】前記第1コードへの変換、第2コードへの
変換、及びその他のコードへの変換はコンパイラを用い
て行なえばよい。前記ソースプログラムのデバッグはデ
バッガを用いて行なえばよい。
【0023】開発されるべきシステムに着目したとき、
ターゲット装置が単独の開発対象として位置付けられる
場合、前記第1の計算機はデバッガシステムを構成する
計算機であり、前記第2の計算機はターゲット装置を構
成する計算機になる。このときの実システムにおいてソ
ースプログラムの実行はターゲット装置単独で可能であ
る。換言すれば、前記高級言語の高機能対応部分が専ら
プログラムデバッグ中だけに使用したい例外処理などの
言語機能であて、実システムでは実行させる必要がない
場合、デバッグ完了後、最終のオブジェクトプログラム
中のTRAP命令のような第2コードを例えばNOPに
置き換えて、ターゲット装置は、スタンドアロンシステ
ムとしてホスト装置から切り離して動作可能になる。
【0024】一方、実システムにおいて例えばネットワ
ーク上でクライアントのようなターゲット装置の負荷を
軽減することを想定するときは、最終プログラムにTR
AP命令のような第2コードを残し、ホスト装置には第
1コード及びアクセスコマンド列を組み込み、最終シス
テム稼動後も、高級言語の高機能部分であるオーバーヘ
ッド部分をネットワークのホスト装置に実行させること
が可能になる。このような場合、前記第1の計算機には
ネットワークのホスト装置を構成する計算機を想定し、
前記第2の計算機はターゲット装置である情報端末装置
を構成する計算機を想定する。
【0025】〔3〕《プログラムの記憶媒体》前記シス
テム開発方法の実現に利用されるプログラムを格納した
記憶媒体の観点より本発明を説明する。
【0026】記憶媒体(31,32)は計算機によって
読取り可能にプログラムを記録する。記録されたプログ
ラムは、第1の記述と第2の記述を含むソースプログラ
ムを入力する入力ステップ(S1)と、入力した第1の
記述を第1の計算機によって実行可能なコードに変換す
る第1変換ステップ(S6)と、入力した前記第1の記
述を該第1の記述により表される機能とは異なる機能で
あって、第2の計算機によって実行可能なコードへ変換
する第2変換ステップ(S4)と、入力した第2の記述
を前記第2の計算機によって実行可能なコードに変換す
る第3変換ステップ(S3)と、を実行させる。この記
憶媒体を計算機に読取らせてコンパイラシステムやデバ
ッガシステムを構成すると、前述のシステム開発方法を
容易に実現することができる。
【0027】前記プログラムは、1個の記憶媒体に格納
しても、或いは複数個の記憶媒体に分散させても、或い
は別のデータやプログラムと一緒に記憶媒体に記録して
もよい。
【0028】前記プログラムを記憶媒体に取り込む手段
は何ら限定されず、CD−ROMなどの様にプラスチッ
ク成形により、ハードディスクやフロッピー(登録商
標)ディスクなどのように磁気的変化によって、或い
は、伝送線を介して記憶媒体に取り込まれてよい。
【0029】前記第2の計算機によって実行可能なコー
ドが、割り込みを表す割り込みコードであるなら、前記
プログラムは、前記割り込みコードにリンクされる割り
込みハンドラを規定するステップを更に含んでよい。そ
の割り込みハンドラを前記第2の計算機のオペレーティ
ングシステムがサポートする場合にはリンクされる割り
込みハンドラの内容を一々規定しなくてよい。
【0030】前記プログラムは、前記第2の計算機にお
ける前記割り込みコードのアドレスと前記第1の計算機
が実行可能なコードとの対応を示すテーブルを形成する
ステップを更に含んでよい。
【0031】前記プログラムを読み取って実行する計算
機はコンパイラシステムやデバッガシステムを構成する
計算機である。このとき、前記第1の計算機はデバッガ
システムを構成する計算機であり、前記第2の計算機は
ターゲット装置を構成する計算機である。開発システム
のネットワーク利用を予め想定しているとき、前記第1
の計算機はホスト装置を構成する計算機であり、前記第
2の計算機は情報端末装置を構成する計算機である。
【0032】〔4〕《ホスト装置》前記システム開発方
法等によって開発されるターゲットのための前記高機能
対応部分を実行若しくは模擬するホスト装置のような情
報処理装置の観点より本発明を説明する。
【0033】情報処理装置(40)は、中央処理装置
(50)を含む情報端末装置(41)から当該情報端末
装置で実行されるプログラムにおける所定の命令コード
例えば割り込み命令を表す命令コードのアドレス情報を
受け取り、受け取ったアドレス情報に基づいて前記情報
端末装置の内部情報を取り込み、取り込んだ内部情報を
用いて、そのアドレス情報に対応して規定されている処
理を実行する。この情報処理装置は、前記システム開発
方法によって開発されるところの第2の計算機を有する
ターゲット装置を用いる実システムにおけるホスト装置
に最適であり、ターゲット装置とされた情報端末装置に
おけるオーバヘッド機能を代替することができる。
【0034】情報端末装置は前記内部情報を取り込むた
めに、前記取り込んだアドレス情報に基づいて、取り込
むべき前記内部情報のアドレスを求めれば、端末装置に
負担をかけずに済む。
【0035】〔5〕《情報端末装置》前記システム開発
方法等によって開発されるターゲットの観点より本発明
を説明する。
【0036】前記ターゲットのような情報端末装置(4
1)は、割り込み命令を表す命令コードのような特定の
命令コードを含むプログラムを格納し、中央処理装置
(50)による前記特定の命令コードの実行によって、
当該命令コードのアドレスを外部へ送信する。前記アド
レスの外部送信に応答して外部から供給される外部要求
を入力し、入力した外部要求に応答して所定の内部情報
を外部へ提供する。割り込み命令のような命令を実行す
るだけで、情報端末装置がそのプログラムメモリ空間上
のどの命令実行状態にあるかをホスト装置に連絡でき、
ホスト装置は、そのアドレスに対応する処理を行なうこ
とによって、情報端末装置にとってオーバヘッドの大き
な処理を代わって実行することができる。
【0037】〔6〕《情報処理システム》伝送路を介し
てクライアント若しくは情報端末装置にサービスを提供
する情報処理システムの観点から本発明を説明する。
【0038】サービスの要求を伝送路若しくはその集合
体であるネットを介して受け、そのサービスを提供する
サーバーを有するような情報処理システムを想定したと
き、クライアントからサーバーのプログラムを呼び出す
のではなく、サーバーはクライアントの命令アドレスを
受けることによりその命令アドレスに応ずるサービスを
提供する。即ち、伝送路に接続可能なホスト装置(4
0)を有する情報処理システムにおいて、ホスト装置
は、アドレス情報に対応した機能を実行可能な実行ユニ
ット(53P,53M)を有し、プログラムを格納した
情報端末装置(41,42,43)から出力されるとこ
ろの前記プログラムのメモリ空間におけるアドレス情報
を受信し、受信したアドレス情報に対応した機能を情報
端末装置に提供する。このように、ホスト装置(サーバ
ー)は情報端末装置(クライアント)の命令アドレスを
受けることによりその命令アドレスに応ずるサービスを
提供するというプロトコルを採用するから、ホスト装置
と情報端末装置との間の通信処理が簡素であり、また、
情報端末装置において前記アドレス情報を出力する処理
を規定するプログラムとホスト装置においてアドレス情
報に応じた処理を行なうプログラムを前述のシステム開
発方法を適用して形成することができる。したがって、
ネットワーク等を介してクライアント若しくは情報端末
装置にサービスを提供するデータ処理システムの低コス
ト化も実現できる。
【0039】前記実行ユニットは、複数のアドレス情報
にそれぞれ対応した機能を提供可能とされる。前記実行
ユニットは、受信したアドレス情報に基づいて前記情報
端末装置をアクセスするためのアクセス情報を形成した
りしてよい。
【0040】前記プログラムには、割り込み命令を表す
コードが設けられ、該割り込み命令を表すコードの実行
により、前記アドレス情報を送信してよい。
【0041】〔7〕《情報処理システム》伝送路を介し
てプログラムを提供するような情報処理システムを想定
する。即ち、インターネット等を介するプログラムのダ
ウンロード、或いは、クライアント内で作られたプログ
ラムにおいて使われるソフト部品をサーバーが提供する
ようなシステムを想定する。このとき、クライアントの
リソースの観点より、全てのプログラムを自分で実行す
ることが困難若しくは不経済な場合がある。これに着目
して、クライアントが欲するプログラムを、少なくとも
2つに分け、サーバーは、一方をクライアントに提供
し、クライアントからの要求で他方のプログラムを実行
する。例えば、通信ネットワークに接続可能なホスト装
置(40)を有する情報処理システムであって、前記ホ
スト装置は、一体として使われるべき第1のプログラム
(PGM1)と第2のプログラム(PGM2)の内、第
1のプログラムを情報端末装置(41,42,432)
へ提供し、該端末装置からの要求に応答して、前記第2
のプログラムを実行する。
【0042】前記第1のプログラムは、前記情報処理シ
ステムから前記情報端末装置へ送信されてよい。前記第
1のプログラムと前記第2のプログラムは、共通のソー
スプログラムより形成されてよい。この場合には前述の
システム開発方法を適用可能である。前記要求は、前記
第1のプログラムにおけるアドレス情報を含んよい。
【0043】〔8〕《情報処理システム》クライアント
による処理のオーバヘッドを解決するという観点に立ち
返れば、情報端末装置に接続可能なホスト装置(40)
を有する情報処理システムにおいて、前記ホスト装置
は、第1の処理をホスト装置へ要求するところのプログ
ラムを情報端末装置(41,42,43)へ提供し、情
報端末装置からの要求に応じて前記第1の処理を実行す
る。前記プログラムは、伝送路(44)へ向けて提供さ
れ、前記要求は伝送路から供給される。システムのコス
ト低減のためには、前述の通り、情報端末装置へ提供さ
れるべき前記プログラムと、前記第1の処理に対応する
プログラムとを、共通のソースプログラムより形成する
とよい。
【0044】
〔9〕《情報処理方法》ネットワーク等を
介してクライアント若しくは情報端末装置にサービスを
提供する情報処理方法の観点に立って本発明を説明す
る。
【0045】前述の情報処理システムの観点と同様に、
サービスの要求をネットを介して受けることを想定した
とき、クライアントからサーバーのプログラムを呼び出
すのではなく、サーバーはクライアントの命令アドレス
を受けることによりその命令アドレスに応ずるサービス
を提供する。即ち、ネットワークを介してサーバーがク
ライアントにサービスを提供する情報処理方法であっ
て、サーバーは、プログラムを格納した情報端末装置か
ら出力されるところの前記プログラムのアドレス空間に
おけるアドレス情報をネットワークを介して受信し、受
信したアドレス情報に対応するサービスの要求に応答す
るための処理を実行ユニットで実行し、実行結果に基づ
くサービスをネットワークを介してサーバーに送信す
る。このように、サーバーはクライアントの命令アドレ
スを受けることによりその命令アドレスに応ずるサービ
スを提供するというプロトコルを採用するから、ホスト
とクライアントとの間の通信処理が簡単であり、また、
ネットワーク等を介してクライアント若しくは情報端末
装置にサービスを提供するデータ処理システムの低コス
ト化も実現できる。
【0046】また、ネットを介してプログラムを提供す
るような情報処理方法、例えば前述のように、インター
ネット等を介するプログラムのダウンロード、或いは、
クライアント内で作られたプログラムにおいて使われる
ソフト部品をサーバーが提供するような方法を想定す
る。このとき、クライアントのリソースの観点より全て
のプログラムを自分で実行することが困難若しくは不経
済な場合がある。そこで、ネットワークを介してサーバ
ーがクライアントにサービスを提供する情報処理方法で
は、サーバーは、一体として使われるべき第1のプログ
ラムと第2のプログラムの内、第1のプログラムをネッ
トワークを介してクライアントへ送信し、該クライアン
トからの要求に応答して、前記第2のプログラムを実行
する
【0047】
【発明の実施の形態】《システム開発方法》本発明に係
るシステム開発方法の具体例を説明する。ここでは、組
み込み制御にマイクロコンピュータを用いるターゲット
マシンをC++高級言語を開発言語として開発する場合
について説明する。
【0048】図2にはターゲットマシンの開発に用いる
データ処理システムが例示される。ホストマシン1はパ
ーソナルコンピュータ若しくはエンジニアリングワーク
ステーション等の計算機とされ、伝送路若しくはネット
ワーク2を介してホストマシン1にターゲットマシン3
が接続される。ホストマシン1は、そこに組み込まれて
いるプログラム及びデータによって機能が実現され、タ
ーゲットマシンの開発段階においてはコンパイラシステ
ム、デバッガシステムなどの開発環境を構成している。
特に説明するまでもないが、ホストマシン1は、プロセ
ッサ、RAM、ROM及びインタフェースコントローラ
等が実装され、インタフェースコントローラにはディス
プレイ、キーボード、ハードディスクなどの補助記憶装
置が接続され、プロセッサの動作プログラムに従ってデ
ータ処理可能にされる。
【0049】ターゲットマシン3の開発に当り、ターゲ
ットマシンに実装されるマイクロコンピュータが実行す
るプログラムは、先ずフルセットのC++高級言語によ
ってソースプログラムとして記述される。
【0050】図1にはシステム開発方法で利用される各
種ソフトウェアの関係が示される。コンパイラ5はソー
スプログラム4をデバッガスクリプト6とロードモジュ
ール7に変換する。ロードモジュール7はターゲットマ
シン3のアプリケーションプログラム8及びデバッグモ
ニタプログラム9としてターゲットマシン3にダウンロ
ードされる。デバッガスクリプト6は、ホストマシン1
上でデバッガ10及び通信機能プログラム11として実
行される。
【0051】前記コンパイラ5は、フルセットのC++
言語で記述されたソースプログラム4をターゲットマシ
ン3のマイクロコンピュータ用のオブジェクトプログラ
ムにコンパイルする機能を有する。このとき、C++高
級言語機能のうち、リソース(メモリ、入出力機能等)
の限られたマイクロコンピュータにおいてオーバーヘッ
ドなく実現できる範囲、例えばJISのC言語仕様(J
IS規格「プログラム言語C」)における「フリースタ
ンディング仕様」の範囲の記述(第2の記述)について
は、前記マイクロコンピュータ上のオブジェクトコード
(第3コード若しくはその他のコード)に変換する。ソ
ースプログラムにおけるそれ以外の処理を規定する記述
(第1の記述)、即ち例外処理などの高級言語の高機能
記述に対しては、ホストマシン1で実行可能な命令若し
くはコマンド列(第1コード)に変換し、また、ターゲ
ットマシン3側で実行可能なオブジェクトコードとし
て、例えば所定のTRAP命令のコード(第2コード)
に変換する。第1コードは前記第1の記述によって定義
される機能をホストマシン1上で実現するコードであ
る。これに対して第2コードは、第1の記述によって定
義される機能とは異なる機能をターゲットマシン3上で
実現するコードであればよい。要するに、第2コードに
はターゲットマシン3に負荷をかけずに実行可能なコー
ドを選べばよい。このように、コンパイラは、高級言語
の機能単位に着目してターゲットマシン3に負荷をかけ
る言語機能単位をホストマシン1で実行可能にするもの
であり、高級言語の機能単位に着目してターゲットマシ
ン3の負荷を軽減させる。
【0052】ターゲットマシン3における前記第2コー
ドの実行によってホストマシン1に第1コードを実行さ
せることを想定する。そのためには、デバッガ10とタ
ーゲットマシン3との間での連絡が必要になり、それに
は以下の最低限の機能があればよい。最低限の機能は、
ターゲットマシン3からデバッガ10への処理の要
求、デバッガ10によるターゲットマシン3のメモリ
への読み込み及び書き込み、デバッガ10によるター
ゲットマシン3のレジスタへの読み込み及び書き込み、
である。これは、ターゲットマシン3のマイクロコンピ
ュータのためのデバッグモニタプログラムによって実現
できる機能である。
【0053】ここでは、ターゲットマシン側ではそれら
の機能を、ターゲットマシン3上のマイクロコン
ピュータ(ターゲットマイコン)のアプリケーションプ
ログラム内でTRAP命令を発行することによって起動
される割り込みハンドラの処理を介して支援する。この
とき、デバッガ側の機能として必要なのは、各TRAP
命令の命令アドレスに対応する第1コードで規定される
高級言語機能の実現、次に、TRAP命令の置かれた命
令アドレスの情報取得、そして、高級言語機能をデバッ
ガ側でシミュレートするために必要な、変数とそのター
ゲットマシン3のメモリ上のアドレスとの対応情報(そ
の時点におけるスタックの状態を示す情報など)の取得
である。この点において割り込みハンドラは、ターゲッ
トマシン3上におけるTRAP命令コードの命令アドレ
スを出力する機能を有する。さらに、コンパイラ5は、
デバッガ10側において上記、の連絡機能を用いて
デバッガ10側でターゲットマシン3のメモリ及びレジ
スタの内容を操作可能とするデバッグコマンド列を生成
する。デバッグコマンド列及び第1コードは対応するT
RAP命令の命令アドレスをキーとしてリンクできる対
照表若しくは対照テーブルを構成している。
【0054】尚、TRAP命令コードは割り込み命令を
表すコードであり、ターゲットマシン3におけるマイク
ロコンピュータのアーキテクチャー上、規定のベクタ等
で指し示される割り込みハンドラによる処理に分岐させ
る命令である。割り込みハンドラはターゲットマシン3
のOS(オペレーティングシステム)でサポートしても
よい。或いはコンパイラ5がそのTRAP命令コードに
対応する規定の割り込みハンドラをそのTRAP命令コ
ードにリンクさせてもよい。図1において割り込みハン
ドラは、デバッグモニタプログラム9の一部として図示
されているが、それに限定されない。
【0055】図3には前記コンパイラ5による第1の記
述に関するコンパイル機能の詳細が例示される。ソース
プログラムに含まれる高機能記述部分を抽出すると、そ
の第1記述は、その記述で示される機能をホストシステ
ムで模擬する為に必要なデバッグスクリプト10,11
に変換され、アプリケーションプログラム8としてのタ
ーゲットプログラムのためのTRAP命令コード(第2
コード)に変換される。デバッグスクリプト10,11
は前記第1コード及びデバッグコマンド列を含み、対応
するTRAP命令コードの命令アドレスとの対照表を構
成する。
【0056】コンパイラ5によりコンパイル処理された
プログラムをデバッグすとき、ホストマシン1はデバッ
ガ10で動作され、ターゲットマシン3はアプリケーシ
ョンプログラム8で動作される。デバッグでは先ず、タ
ーゲットマシン3のプログラムをデバッガ10を用いて
起動する。
【0057】ターゲットマシン3が高級言語機能に相当
するTRAP命令を実行し、これによって、TRAP命
令発行時の命令アドレスがデバッガ10に与えられる
と、デバッガ10は、前記対照表によりTRAP命令発
行時のPC(プログラムカウンタレジスタ、即ちTRA
P命令自身のアドレス)から、実行すべきデバッグコマ
ンド列と第1コードをサーチして実行する。これによ
り、デバッガ10はTRAP命令の命令アドレスを用い
てその時のターゲットマシン3におけるスタック領域の
情報などを取得し、第1コードで示される高級言語機能
をデバッガ側で模擬することができる。このように、C
++の例外処理機能をターゲットマシン3に代わってデ
バッガ10がシミュレートすることにより、システムリ
ソースの限られたターゲットマシン3をC++のフルセ
ット仕様の開発環境を用いて開発することが可能にあ
る。
【0058】デバッグが終了し、その結果、ターゲット
マシン3上では例外処理機能等の高機能が不用になれ
ば、デバッガモニタプログラム、換言すればTRAP命
令の割り込みハンドラを、単にTRAP命令を無視する
ソフトウェアと切換えて最終ソフトウェアを構築すれば
よい。或いは、TRAP命令を埋め込んだ命令アドレス
が分かっているから、TRAP命令をNOP(ノン・オ
ペレーション)命令に置き換えて、最終的なアプリケー
ションプログラムとしてもよい。このことからも理解さ
れるように、デバッガ10は、そのようなTRAP命令
が発生したかどうかを表示できる機能を持つことが望ま
しい。
【0059】ターゲットマシン3を伝送路若しくはネッ
トワーク上で実現する場合には、ターゲットマシン3の
最終プログラムにはTRAP命令及びデバッグモニタプ
ログラム(割り込みハンドラ)を含め、最終的に開発さ
れたシステムの稼動後も、高級言語機能のオーバーヘッ
ド部分を規定する第1コード及びデバッグコマンド列を
ホストマシンに残し、ターゲットマシン3が前記所定の
TRAP命令を実行したとき、デバッグ時と同様にその
高級言語機能をホストマシンでシミュレートしてやれば
よい。
【0060】このように、オーバヘッドの大きな高級言
語の機能を、ターゲットマシン上ではTRAP命令1命
令で実現できるから、ターゲットマシンのオーバヘッド
を最小にでき、リソースの少ないマイクロコンピュータ
若しくはターゲットマシン上で高級言語によって開発さ
れたプログラムを効率よく実行できる。
【0061】ホストマシンにターゲットマシンのオーバ
ヘッド機能部分を負担させることにより、ターゲットマ
シンの価格を下げることができる。電話局と携帯電話の
ように、ホストマシン1個に多数のターゲットマシンが
対応するシステムにおいて特に顕著である。ターゲット
マシンのリソースが少なくても、高級言語をフルスペッ
クで実装することができる。組込み用途のシングルチッ
プマイクロコンピュータ、そのコンパイラやデバッガ、
通信ネットワークで特に効果がある。
【0062】《オブジェクト解放処理の模擬》前記C+
+で記述されたターゲットマシンの為の例外処理をホス
トマシンで模擬するための具体例について説明する。
【0063】図4にはC++の言語機能を模式的に示し
てある。図4では、特に制限されないが、C++言語の
全ての機能を、オーバーヘッドの大きな例外処理機能
(F1)、テンプレート・クラス機能(F2)、C言語
機能(F3)に分類してある。ここでは、例外処理機能
(F1)をTRAP命令とデバッガスクリプトへの変換
対象とする。その他の機能は、ターゲットマシンのオブ
ジェクトコードへの変換対象とする。
【0064】前記例外処理機能を説明する。C++言語
における例外処理は、Catch構文によって例外処理
の有効となる範囲と例外処理時の操作を宣言し、thr
ow文の実行により例外条件を発生させる。Catch
構文とthrow文は必ずしも同じ関数内に無くてもよ
い。Catch構文及びthrow文を用いた記述の簡
略化された例は図3のソースプログラムの記述として示
されている。
【0065】C++言語における例外処理の問題点は、
例外処理が登録される関数と例外を発生する関数に対し
てオーバヘッドとなる余分な処理が発生するだけでな
く、その間で、(動的に)呼び出され得る全ての関数に
おいて例外発生の可能性に対して備えなければならない
ということである。
【0066】この点を更に明確化するために、C++言
語における例外発生時の処理を説明する。例外が発生す
ると、Catch構文の例外処理の宣言のプログラム
点に制御を移行し、Catch構文のある関数からt
hrow文のある関数までに関数呼び出しによって割り
付けられたスタック領域を解放し、Catch構文で
宣言された処理を実行する。
【0067】このとき、C++言語はオブジェクト指向
言語であるため、関数呼び出しによって割付けられたス
タック領域を開放するとき、当該関数で作成したオブジ
ェクトの解放処理を実施する必要がある。
【0068】C++言語におけるオブジェクトの解放処
理を実現する通常行なわれている一方式を図5に基づい
て説明する。図5の(A)の関数f、gに対して割当て
られたスタックフレームの一例が(B)に示されてい
る。図5のスタックフレームにおける下位アドレスは紙
面の下方である。親の関数fのスタックフレームの上位
側アドレスに子の関数gのスタックフレームが形成され
ている。
【0069】〔I〕各関数のスタックフレームの最下位
アドレスには2ワードの領域を確保し、1ワード目には
親の関数のフレームの先頭アドレス(フレームポイン
タ)、2ワード目には当該関数のオブジェクトを開放す
るための関数のアドレス(解放処理関数のアドレス)を
保持する。例えば図5の(B)に示される関数gのスタ
ックフレームでは、1ワード目にはgのフレームポイン
タP1gが配置され、2ワード目にはgの解放処理関数
のアドレスP2gが配置される。
【0070】〔II〕例外発生時に当該関数のオブジェ
クト解放処理実施後、スタックフレームが例外処理を登
録した関数に達するまで、〔III〕のスタック解放処
理を実施する。
【0071】〔III〕子関数gは解放処理関数のアド
レスを呼び出すことにより自フレーム内のオブジェクト
(オブジェクト0、オブジェクト1、…)の解放処理を
実施し、更にフレームポインタP1gにより親関数fの
スタック領域最下位アドレスを求め、gのスタックフレ
ームを全て開放する。
【0072】しかし、例外処理をターゲットマシン自身
が実行しないのであれば、図6に例示されるように、各
スタックフレームの上位2ワードのフレームポインタ及
び解放処理関数のアドレスのエリア(例えばP1g,P
2g)を省くことができる。これによって、貴重なオン
チップRAMの領域を節約することができる。即ち、タ
ーゲットマシン若しくはその実装マイクロコンピュータ
のリソースを節約することができる。換言すれば、マシ
ンリソースに制限がある場合には、前記フレームポイン
タ及び解放処理関数のアドレスのエリアを省くために、
前述のシステム開発方法で説明したようにして、例外処
理をターゲットマシン自身で実行させなければよい。
【0073】但し、それら2ワードは例外処理を登録す
る関数や例外処理を発生する関数において必要なだけで
なく、これら登録と例外の間に(動的に)呼び出され得
る全ての関数に必要である。したがって、C++言語で
はC言語に対して全ての関数においてスタックフレーム
内に2ワードの余分な領域が必要になる。異なる実現方
法を採ったとしても、C++の例外処理という言語機能
が全ての関数に対して影響を与え、C言語よりもリソー
スを必要とする機械語を要求することに変わりない。
【0074】ターゲットマシン3上のRAMにフレーム
ポインタ及び解放処理関数のアドレスのエリア(例えば
P1g,P2g)を持たないで、例外処理時の前記
〔I〕〜〔III〕の操作を、実行するためには、デバ
ッガは以下の処理を実行する。
【0075】〔IV〕ターゲットマシンにおけるTRA
P命令の命令アドレス(例外が発生したときのプログラ
ムカウンタ)から、TRAP命令を含む関数名と、関数
内のプログラムカウンタの値を求める。
【0076】〔V〕当該関数のデバッグ情報から、関数
の出口(オブジェクト解放処理の直前)でのスタックポ
インタと現スタックポインタの値の差を求め(これはコ
ンパイラが管理する情報であり、デバッグ情報に含める
ことができる)、スタックポインタを関数の出口におけ
る値に変更する。
【0077】〔VI〕当該関数のデバッグ情報から、当
該関数のオブジェクト解放処理関数のアドレスを求め、
その関数を呼び出す。呼び出すためには解放処理関数の
出口にブレークポイントを設け、プログラムカウンタの
値を解放処理関数のエントリに設定して再実行すればよ
い。
【0078】〔VII〕当該関数にデバッグ情報から関
数の出口でのスタックフレームのサイズを求め、親関数
が当該関数を呼び出したところまでスタックを解放す
る。
【0079】〔VIII〕上記〔IV〕〜〔VII〕
を、例外処理を登録した関数のスタックポインタの位置
に達するまで繰り返す。
【0080】〔IX〕尚、解放処理の中で例外が発生す
る可能性があるため、上記処理のネストをデバッガが管
理する必要がある。
【0081】上記〔IV〕〜〔IX〕の処理は図1で説
明した前記第1コードに含まれている。これら処理は、
全てデバッガが持つデバッグ情報に基づいて実施するた
め、ターゲットマシンにおいて関数のスタックフレーム
上にこの処理に必要な情報を置く必要はない。要する
に、デバッガ10がターゲットマシン3の例外処理を代
替する場合でも、スタックフレームに前記フレームポイ
ンタ及び解放処理関数のアドレスを格納する2ワードの
エリアを設けることは一切不要になる。実際、〔V〕、
〔VII〕で用いるスタックフレームサイズや関数内で
のプログラムカウンタの値に対するスタックポインタの
オフセット値が図5の(B)におけるフレームポインタ
の役目を果たし、また、〔VI〕で用いる、当該関数の
オブジェクト解放処理のアドレス(デバッグ情報内)が
図5の(B)におけるスタックフレーム内のオブジェク
ト解放処理のアドレスの役目を果たすため、これら2ワ
ードをターゲット装置のRAM上のスタックフレーム内
に保持する必要は全くない。
【0082】《システム開発方法》次に、伝送路若しく
はネットワークを介してサーバーがクライアントにサー
ビスを提供する情報処理システムの観点に立ったシステ
ム開発方法を説明する。
【0083】図7にはクライアントのシステムを開発す
るときのシステム開発方法が例示される。クライアント
のソースプログラムはフルセットのC++言語で記述さ
れる。システム開発装置はクライアントに実装されるマ
イクロコンピュータをサポートするコンパイラ及びデバ
ッガを組み込んだパーソナルコンピュータ若しくはエン
ジニアリングワークステーション等の計算機が用いられ
る。
【0084】システム開発装置はソースプログラムを入
力する(S1)。入力されたソースプログラムの記述に
対してサーバーで実行する記述であるか否かを判定する
(S2)。例えば前述のJISのC言語仕様(JIS規
格「プログラム言語C」)における「フリースタンディ
ング仕様」の範囲の記述についてはクライアントが実行
する記述(第2の記述)と判定し、ソースプログラムに
おけるそれ以外の処理を規定する記述、即ち例外処理な
どの高級言語の高機能記述に対しては、サーバーが実行
する記述(第1の記述)と判定する。或いは、高級言語
の高機能記述に加えて、前記「フリースタンディング仕
様」の範囲の記述であても処理時間が長いと予め考えら
れる処理、利用頻度が少ないと予め想定される処理例え
ば故障診断或いは自己救済機能に関する記述についても
第1の記述と判定する。
【0085】第2の記述に対しては、クライアント用の
オブジェクトコード(第3コード)に変換する(S
3)。前者の第1の記述に対しては、先ずその記述をク
ライアント用の前記TRAP命令コード(第2コード)
に変換し(S4)、クライアントのメモリ空間における
当該TRAP命令の命令アドレスを保持し(S5)、更
に第1の記述が示す機能をサーバー用のオブジェクトコ
ード(第1コード)変換し、クライアント内のメモリや
レジスタをリード・ライトする為のデバッグコマンド列
に相当するクライアントアクセス用コマンド列を生成す
る(S6)。最後に、S3及びS4で生成されたクライ
アント用オブジェクトプログラム20、S5乃至S7で
生成されたサーバ用のオブジェクトプログラム及びクラ
イアントアクセス用コマンド列21が出力される(S
8)。前記サーバー用オブジェクトプログラム及びクラ
イアントアクセス用コマンド列21は、クライアント用
オブジェクトプログラム20に含まれるTRAP命令コ
ードの命令アドレスとリンクされた対照テーブルを構成
する。
【0086】このように、システム開発装置は、前述の
図1の説明と同様に、クライアントに負荷をかけると考
えられる処理をサーバーで実行可能にするものであり、
クライアントのマシンリソースを考慮してその負荷を軽
減させる。
【0087】特にこの例では、クライアントの負荷を最
小限とするために、TRAP命令による割り込みハンド
ラはクライアントの専用OSがサポートし、クライアン
トによるTRAP命令の実行により、当該TRAP命令
のアドレスを出力し、その後、サーバーからのリード・
ライト要求に答える通信制御を支援するようになってい
る。
【0088】図8には図7の方法で生成されるプログラ
ムが例示される。図8においてソースプログラム22は
例えばP1、P2、P3の記述を含んでいる。図7の方
法で出力されるクライアント用のオブジェクトプログラ
ム20はPO1(A1)、TRAP(A2)、PO3
(A3)のオブジェクトコードを含む。A1,A2,A
3はコードのマッピングアドレスを意味する。すなわ
ち、クライアント内のマイクロコンピュータが管理する
メモリ空間において、オブジェクトコードが配置される
ところのアドレスを表している。命令コードPO1,P
O3はソース記述P1,P3が変換されたものである。
図7の方法で出力されるサーバー用オブジェクトプログ
ラム及びクライアントアクセス用コマンド列21は、ソ
ース記述P2をサーバーのオブジェクトコードに対応さ
せて変換したプログラムPO2とクライアントアクセス
用コマンド列をTRAP命令のアドレスA2でリンクさ
せたテーブル構造を有する。
【0089】図9には前記クライアントのシステムを開
発するときのシステム開発装置30が示される。クライ
アントのソースプログラムはフルセットのC++言語で
記述される。システム開発装置は前記クライアントに実
装されるマイクロコンピュータをサポートするコンパイ
ラ及びデバッガを組み込んだパーソナルコンピュータ若
しくはエンジニアリングワークステーション等の計算機
30が用いられる。コンパイラ及びデバッガ等の開発支
援プログラムは単数又は複数毎のフロッピディスク(F
D)31やCD−ROMディスク32等の記憶媒体に原
始的に記録されて提供され、それら記録媒体に記録され
たプログラムは計算機内部のハードディスク装置33な
どの記録媒体にインストールされて保持される。或い
は、そのようなプログラムは、公衆回線網34などを介
してダウンロードされ、前記ハードディスク装置33に
記録されている。前記開発支援プログラムは、図7に示
したステップを図9の計算機30に実行させる。
【0090】尚、図1乃至図6で説明したシステム開発
方法に利用する前記コンパイラ5等のシステム開発プロ
グラムもCD−ROM32などの記録媒体に記録されて
システム開発装置に提供される。この時のシステム開発
装置は図2ではホストマシン1であり、ホストマシン1
はその記録媒体からシステム開発プログラムを読み込ん
で実行する。
【0091】《情報処理システム》次に、伝送路若しく
はネットワークを介してサーバーがクライアントにサー
ビスを提供する情報処理システムを説明する。
【0092】図10には情報処理システムの一例が示さ
れる。情報処理システムは、ネットワーク44のサーバ
ー40と複数のクライアント41〜43が接続されて成
る。ネットワーク44は、公衆回線網、携帯電話網、L
AN(ローカルエリアネットワーク)、インタネット、
或いはそれらの複数種類混在であってもよい。サーバー
40はワークステーションやパーソナルコンピュータな
どの計算機を有し、代表して記憶ユニット40Sが例示
される。クライアント41〜43は携帯電話機、PDA
などの携帯情報端装置等であって、CPUのような計算
機を有し、代表してメモリ41M〜43Mが示される。
記憶ユニット40S、メモリ41M〜43Mはデータ及
びプログラム格納エリアとして利用される。
【0093】クライアント41〜43の動作プログラム
は図7のシステム開発方法で得られたクライアント用オ
ブジェクトプログラム20とされる。このクライアント
用オブジェクトプログラム20は図9のシステム開発装
置30から夫々のメモリ41M〜43Mに格納される。
格納形態はクライアント41〜43の製造段階で画一的
に行ない、或いはネットワーク44にシステム開発装置
30が接続されている場合にはクライアントが個別的に
ダウンロードで行なうことができる。格納先は個々のク
ライアント41〜43のメモリ41M〜43Mである。
前述の如く、クライアントにとってオーバーヘッドの大
きな処理はTRAP命令に置き換えてサーバー40に処
理させるので、そのためのサーバー用オブジェクトプロ
グラム及びクライアントアクセス用コマンド列を含む対
照テーブル21は前記システム開発装置30からサーバ
ー40の記憶ユニット40Sに格納される。この格納形
態もクライアントと同様に製造段階或いはネットワーク
経由の何れでもよい。
【0094】図11にはクライアント41の具体例が示
される。クライアント41は、CPU(中央処理装置)
50、入出力ユニット51、及び通信ユニット52を有
する。CPU50はフェッチした命令を解読して制御信
号を生成する命令制御部と、その制御信号で制御される
演算部を有し、フェッチした命令を実行する。図11で
は演算部のレジスタ41R及びメモリ41Mが代表的に
例示される。メモリ41MはCPUの動作プログラム等
を保有する例えば電気的に書き換え可能な不揮発性メモ
リ、及びCPUのワーク領域とされるRAMを備える。
入出力ユニット51はディスプレイ、キースイッチ、ス
ピーカ、マイクロフォンなどを有し、マンマシンインタ
フェース機能を実現する。通信ユニットはクライアント
41を外部とインタフェースする手段であり、例えば、
携帯電話機であれば、高周波部、変復調処理部、A/D
・D/A変換部などを有し、携帯電話網を介して通信可
能にされる。或いは、LANアダプタ、MODEMアダ
プタ、シリアルインタフェース、パラレルインタフェー
スなどであってもよい。その他のクライアント42,4
3も同様に構成される。
【0095】図12には前記サーバー40の具体例が示
される。サーバー40は、ワークステーションなどの計
算機53、通信ユニット54、及び前記記憶ユニット4
0Sを有する。計算機53は例えば実行ユニットとして
マイクロプロセッサ53P及びマイクロプロセッサ53
Pのワーク領域として利用されるRAM53Mを有す
る。計算機53はその他に図示を省略するマンマシンイ
ンタフェース回路などを備えている。記憶ユニット40
Sはサーバー用プログラム領域と共にクライアント用プ
ログラム領域を有する。クライアント用プログラムは、
前記サーバー用オブジェクトプログラム及びクライアン
トアクセス用コマンド列を含む対照テーブル21を格納
する領域である。サーバーとしての固有の動作の為の動
作プログラムはサーバー用プログラム領域に格納され
る。通信ユニット54はネットワーク44に接続可能な
ルータ、モデム、LAN等の通信機能を有する。
【0096】図13にはクライアント41による前記ク
ライアント用オブジェクトプログラム20の実行制御状
態が示される。
【0097】前記クライアント41は、前記TRAP命
令コードを含むクライアント用オブジェクトプログラム
20をメモリ41Mに保有し、CPU50がそのクライ
アント用オブジェクトプログラム中のTRAP命令コー
ドを実行すると、対応する割り込みハンドラが起動さ
れ、当該命令コードのアドレス(CPU50が管理する
メモリ空間におけるアドレス)を通信ユニット52を介
して外部へ送信する(S10)。前記アドレスの外部送
信に応答してサーバー40から、その時のスタック領域
の状態などの出力要求があると、これを入力し(S
1)、入力した要求に応答して、スタック領域の状態等
の内部情報をアクセスしてサーバー40に提供する(S
12)。TRAP命令のような命令を実行するだけで、
クライアント41がそのプログラムメモリ空間上のどの
命令実行状態にあるかをサーバー40に連絡でき、サー
バー40は、そのアドレスに対応する処理を行なうこと
によって、クライアント41にとってオーバヘッドの大
きな処理を代わって実行することができる。
【0098】図14にはサーバー40による前記対照テ
ーブル21を用いたプログラム及びコマンド実行制御状
態が示される。
【0099】サーバー40の計算機53は、CPU50
を含むクライアント41から当該クライアントで実行さ
れるプログラム中の所定の命令コード例えばTRAP命
令コードのアドレス情報(アドレスPC)を受け取り、
これによって、前記対照テーブル21のプログラム実行
要求のあることを判定する(S20)。計算機53は、
受け取ったアドレス情報をキーとして対照テーブル21
をサーチし、そのアドレス情報にリンクされているサー
バー用オブジェクトプログラム及びクライアントアクセ
ス用コマンド列を記憶ユニット40SからRAM53M
にロードする(S21)。計算機53はクライアントア
クセス用コマンド列を実行し、そのアドレス情報に基づ
いてその時の前記クライアント41のスタック領域の状
態等の内部情報を取り込み(S22)、取り込んだ内部
情報を用いて、そのアドレス情報にリンクされている対
照テーブル21のサーバー用オブジェクトプログラムを
実行する(S23)。このサーバー40は、クライアン
ト41におけるオーバヘッド機能を代替することができ
る。サーバー40は、前記内部情報を取り込むために、
前記取り込んだアドレス情報に基づいて、取り込むべき
前記内部情報のアドレスを求める処理を、前記対照テー
ブル21のクライアントアクセス用コマンド列を実行し
て生成するので、この点においてもクライアント41に
負担をかけない。
【0100】《情報処理方法》図10の情報処理システ
ムにおいてサービスの要求をネットワーク44を介して
受けることを想定したとき、クライアント41,42,
43からサーバー40のプログラムを呼び出すのではな
く、サーバー40はクライアント41,42,43の命
令アドレスを受けることによりその命令アドレスに応ず
るサービスを提供することになる。即ち、ネットワーク
44を介してサーバー40がクライアントにサービスを
提供する情報処理方法として、サーバー40は、プログ
ラム(クライアントが実行するプログラム)を格納した
クライアント41,42,43から出力されるところの
前記プログラムのアドレス空間におけるアドレス情報を
ネットワークを介して受信し、受信したアドレス情報に
対応するサービスの要求に応答するための処理を実行ユ
ニット53P,53Mで実行し、実行結果に基づくサー
ビスをネットワーク44を介してクライアントに送信す
る。このように、サーバー40はクライアント41,4
2,43の命令アドレスを受けることによりその命令ア
ドレスに応ずるサービスを提供するというプロトコルを
採用するから、サーバー40とクライアント41,4
2,43との間の通信処理が簡単である。更に、クライ
アント41,42,43において前記アドレス情報を出
力する処理を規定するプログラムと、サーバ40におい
てアドレス情報に応じた処理を行なうプログラムとを、
前述のシステム開発方法を適用して形成することができ
るからネットワーク44を介してクライアントにサービ
スを提供するデータ処理システムの低コスト化も実現で
きる。
【0101】なお、サーバー40の受信したアドレス情
報がどのクライアントのものであるかは、特に制限され
ないが、前記受信アドレス情報から識別することを要し
ない。即ち、クライアント41,42,43とサーバー
40の1対1の通信確立は元々システムが備えている機
能を用いればよい。例えばLANであればクライアント
に割当てられるIPアドレスを用いて識別すればよい
し、携帯電話網であればクライアント固有のID情報な
どを用いて識別すればよい。流用可能な識別手段を備え
ていない場合には前記アドレス情報にクライアント固有
のプリフィックスコードを付加してサーバーに与えるよ
うにすれば、当該プリフィックスコードによってサービ
スを提供すべきクライアントを識別できる。
【0102】また、図10の情報処理システムにおい
て、ネットワーク44を介してプログラムを提供するよ
うな情報処理システムを想定する。即ち、インターネッ
ト等を介してプログラムのダウンロード、或いは、クラ
イアント内で作られたプログラムにおいて使われるソフ
ト部品をサーバーが提供するようなシステムを想定す
る。このとき、クライアントのシステムリソースの観点
より全てのプログラムを自分で実行することが困難若し
くは不経済な場合がある。これに着目して、図15に例
示されるように、クライアント41,42,43が欲す
るプログラムを、少なくとも2つ、例えば第1プログラ
ムPGM1と第2プログラムPGM2に分ける。サーバ
ー40は分けられたプログラムを記憶ユニット40Sに
保有する。サーバー40は、一方の第1プログラムPG
M1をダウンロード要求のあるクライアント41、42
又は43に提供し、クライアントからの要求で他方の第
2プログラムPGM2を実行する。この実行は、要求を
出したクライアントが必要とする結果もしくはサービス
を得る為に行なわれるものである。したがって、その実
行結果をクライアントに返す必要がある場合は、即座に
その結果はクライアントにサービスの提供として返され
る。例えば第2のプログラムがクライアントの故障診断
プログラムである場合には、診断結果に応じたサービス
を提供するとよい。ソフトウェア的な故障である場合は
プログラムの書換え若しくは再ダウンロードを可能にす
る。修理を要するハードウェア故障の場合には必要な処
置若しくは連絡先等をアナウンスする。
【0103】前記第1プログラムPGM1と前記第2プ
ログラムPGM2は、本来一つ若しくは一体として利用
される性質上、共通のソースプログラムより形成される
のが効率的である。この場合には図7等で説明したシス
テム開発方法を適用すればよく、第1のプログラムPG
M1はクライアント用オブジェクトプログラム20とし
て位置付けられるプログラムであって、第2のプログラ
ムPGM2は対照テーブル21のサーバー用オブジェク
トプログラム及びクライアントアクセス用コマンド列と
して位置付けられるプログラムであってよい。このと
き、前記要求は、当然前記第1のプログラムにおけるア
ドレス情報を主体に行なわれることになる。
【0104】そのような処理形態は図16に示されるデ
ータ処理方法の一つとして把握する事ができる。即ち、
クライアント41,42,43がプログラムの提供をサ
ーバー40に要求すると(S30)、サーバー40は、
クライアント用プログラムをネットワーク44を介して
要求したクライアントに提供する(S31)。例えば一
体として使われるべき第1のプログラムPGM1と第2
のプログラムPGM2の内、第1のプログラムをネット
ワーク44を介して要求したクライアントへ送信する。
その後、サーバー40は、クライアントからのアドレス
供給に応答してプログラムに関するサポートを提供する
(S32)。このサポートは、例えば前記第2のプログ
ラムPGM2の実行である。サポートの内容はサーバ側
のプログラムの実行だけに限らず、プログラムのバージ
ョンアップ、破壊されたプログラムモジュールの修復等
であってよい。その場合にはクライアントが保有するプ
ログラムのバージョンを知る必要があり、前記スタック
領域の情報取得と同様に所定のクライアントアクセスコ
マンド列を実行してバージョン情報をクライアントから
取得し、そのバージョンに応じたサポートを行なえばよ
い。
【0105】以上本発明者によってなされた発明を実施
形態に基づいて具体的に説明したが、本発明はそれに限
定されるものではなく、その要旨を逸脱しない範囲にお
いて種々変更可能であることは言うまでもない。
【0106】例えば、C++を高級言語の一例として説
明した、Fortran90、Javaなどの場合も同
様に適用することができる。要するにクライアント若し
くはターゲット装置にとってオーバーヘッド機能と考え
られる機能をTRAP命令のようなコードとそのコード
のアドレス出力等によってサーバー若しくはホスト装置
に代替させればよい。また、プログラムの記憶媒体はC
D−ROM、FD、ハードディスクに限定されず、MO
(Magnet-Optics:磁気光学)ディスク、フラッシュッ
メモリカード等、その他の記憶形式を有する媒体であっ
てよい。また、クライアントが出力するアドレスは、T
RAP命令のようなコードのアドレスに限定されない。
例えばTRAP命令のアドレスではなく、そのTRAP
命令に対して数命令前に実行された命令コードのアドレ
スであってもよい。要するに、クライアントから供給さ
れたアドレスに基づいて、サーバーがクライアント内の
情報(代替を要求された処理を、サーバーが実現するた
めに使う情報)へのアクセスをできるように、サーバー
に代替を要求する処理を特定できるアドレスであって、
クライアント内のCPUによって管理されるアドレスで
あればよい。
【0107】
【発明の効果】本願において開示される発明のうち代表
的なものによって得られる効果を簡単に説明すれば下記
の通りである。
【0108】C++言語の例外処理機能に代表されるよ
うなクライアント若しくはターゲット装置にとってオー
バーヘッド機能と考えられる機能を、TRAP命令のよ
うな命令コードに置き換え、この命令コードの実行によ
り例えばそのコードのアドレスを出力してサーバー若し
くはホスト装置にオーバーヘッド機能の実行を代替させ
るから、ターゲット装置にとってオーバーヘッドになり
得る高級言語機能も含めてフルセットの高級言語機能を
利用可能にするシステム開発方法を実現することができ
る。これは、システムリソースの制限を受け易い組込み
システムにおいて、フルセットのC++言語等の高級言
語を用いたシステムを開発を可能にし、組込みシステム
に関しても高級言語によるプログラムの標準化が可能に
なり、ワークステーション上で高級言語を用いて開発さ
れたプログラムの移植も可能になる。
【0109】前記システムの開発方法を実現するプログ
ラムを記録した記憶媒体の提供によって前記システム開
発方法によるシステム開発を容易化することができる。
【0110】サービスの要求を伝送路若しくはその集合
体であるネットを介して受け、そのサービスを提供する
ホスト装置を有するような情報処理システムを想定した
とき、情報端末装置からホスト装置のプログラムを呼び
出すのではなく、ホスト装置は情報端末装置の命令アド
レスを受けることによりその命令アドレスに応ずるサー
ビスを提供するというシステム構成を採用することによ
り、ホスト装置と情報端末装置との間の通信処理を簡素
化でき、また、ネットワーク等を介して情報端末装置に
サービスを提供するデータ処理システムのの低コスト
化、データ処理方法の効率化を実現できる。
【図面の簡単な説明】
【図1】本発明に係るシステム開発方法で利用される各
種ソフトウェアの関係を例示する説明図である。
【図2】ターゲットマシンの開発に用いるデータ処理シ
ステムを例示するシステム構成図である。
【図3】コンパイラによる第1の記述に関するコンパイ
ル機能の詳細を例示する説明図である。
【図4】C++の言語機能を模式的に示した説明図であ
る。
【図5】C++言語におけるオブジェクトの解放処理を
実現するためにスタックフレームが通常備えるフレーム
ポインタ及び解放処理関数アドレスの領域を示す説明図
である。
【図6】フレームポインタ及び解放処理関数アドレスの
領域を省いたスタックフレームの説明図である。
【図7】クライアントのシステムを開発するときのシス
テム開発方法を例示するフローチャートである。
【図8】図7の方法で生成されるプログラムを例示する
説明図である。
【図9】クライアントのシステムを開発するときのシス
テム開発装置を例示するシステム構成図である。
【図10】ネットワークを介してサーバーがクライアン
トにサービスを提供する情報処理システムを例示するブ
ロック図である。
【図11】クライアントの具体例を示すブロック図であ
る。
【図12】サーバーの具体例を示すブロック図である。
【図13】クライアントによるクライアント用オブジェ
クトプログラムの実行制御状態を例示するフローチャー
トである。
【図14】サーバによるサーバ用オブジェクトプログラ
ム及びクライアントアクセス用コマンド列の実行制御状
態を例示するフローチャートである。
【図15】図10の情報処理システムにおいてネットワ
ークを介してプログラムを提供するような情報処理シス
テムを想定したときのサーバーの機能を概略的に示した
ブロック図である。
【図16】ネットワーク上でプログラムのアドレス情報
を用いてサービスを提供するデータ処理方法の一例を示
すフローチャートである。
【符号の説明】
1 ホストマシン 3 ターゲットマシン 4 ソースプログラム 5 コンパイラ 6 デバッガスクリプト 7 ロードモジュール 8 アプリケーションプログラム 9 デバッグも似たプログラム 10 デバッガ 11 通信機能プログラム P1g 関数gのフレームポインタ P2g 関数gの解放処理関数のアドレス 20 ソースプログラム 20 クライアント用オブジェクトプログラム 21 サーバ用オブジェクトプログラム及びクライアン
トアクセスコマンド列(対照テーブル) 30 システム開発装置 31,32,34 記憶媒体 34 公衆回線 40 サーバー 40S 記憶ユニット 41,42,43 クライアント 41M,42M,43M メモリ 44 ネットワーク 50 CPU 53 計算機 53P プロセッサ 53M RAM PGM1 第1のプログラム PGM2 第2のプログラム

Claims (42)

    【特許請求の範囲】
  1. 【請求項1】 複数の記述を有するソースプログラムに
    おける第1の記述を、第1の計算機で実行可能な第1コ
    ードに変換し、 前記第1の記述を、該第1の記述によって定義される機
    能とは異なる機能を表すところのコードであって、第2
    の計算機で実行可能な第2コードに変換すると共に、前
    記ソースプログラムにおける第2の記述を、前記第2の
    計算機で実行可能なその他のコードに変換し、 前記ソースプログラムのデバッグにおいて前記第2の計
    算機による前記第2コードの実行に応答して前記第1の
    計算機が前記第1コードを実行することを特徴とするシ
    ステム開発方法。
  2. 【請求項2】 前記第1の計算機は、前記第1コードを
    実行する前に前記第2計算機から情報を取り込むことを
    特徴とする請求項1記載のシステム開発方法。
  3. 【請求項3】 前記第2コードは割り込み命令を表すコ
    ードであり、該コードの実行により前記第1の計算機
    へ、前記第2コードのアドレス情報を供給することを特
    徴とする請求項2記載のシステム開発方法。
  4. 【請求項4】 前記第2コードのアドレス情報と前記第
    1コードとを対応させる対照データを第1の計算機が参
    照可能に生成することを特徴とする請求項1記載のシス
    テム開発方法。
  5. 【請求項5】 コンパイラを用いて前記第1コードへの
    変換、第2コードへの変換、及びその他のコードへの変
    換を行うことを特徴とする請求項1乃至4の何れか1項
    記載のシステム開発方法。
  6. 【請求項6】 デバッガを用いて前記ソースプログラム
    のデバッグを行なうことを特徴とする請求項5記載のシ
    ステム開発方法。
  7. 【請求項7】 前記第1の計算機はデバッガシステムを
    構成する計算機であり、前記第2の計算機はターゲット
    装置を構成する計算機であることを特徴とする請求項1
    乃至4の何れか1項記載のシステム開発方法。
  8. 【請求項8】 前記第1の計算機はホスト装置を構成す
    る計算機であり、前記第2の計算機はターゲット装置で
    ある端末装置を構成する計算機であることを特徴とする
    請求項1乃至4の何れか1項記載のシステム開発方法。
  9. 【請求項9】 第1の記述と第2の記述を含むソースプ
    ログラムを入力する入力ステップと、入力した第1の記
    述を第1の計算機によって実行可能なコードに変換する
    第1変換ステップと、入力した前記第1の記述を該第1
    の記述により表される機能とは異なる機能であって、第
    2の計算機によって実行可能なコードへ変換する第2変
    換ステップと、入力した第2の記述を前記第2の計算機
    によって実行可能なコードに変換する第3変換ステップ
    とを実行するプログラムを計算機によって読み取り可能
    に記憶して成るものであることを特徴とする記憶媒体。
  10. 【請求項10】 前記プログラムは、1個の記憶媒体に
    格納されていることを特徴とする請求項9記載の記憶媒
    体。
  11. 【請求項11】 前記プログラムは、伝送線を介して記
    憶媒体に取り込まれることを特徴とする請求項9記載の
    記憶媒体。
  12. 【請求項12】 前記第2の計算機によって実行可能な
    コードは、割り込みを表す割り込みコードであることを
    特徴とする請求項9乃至11の何れか1項記載の記憶媒
    体。
  13. 【請求項13】 前記プログラムは更に、前記割り込み
    コードにリンクされる割り込みハンドラを規定するステ
    ップを含むことを特徴とする請求項12記載の記憶媒
    体。
  14. 【請求項14】 前記割り込みコードは、その実行によ
    り、前記第2の計算機のオペレーティングシステムが規
    定する割り込みハンドラの処理に分岐するものであるこ
    とを特徴とする請求項12記載の記憶媒体。
  15. 【請求項15】 前記プログラムは更に、前記第2の計
    算機における前記割り込みコードのアドレスと前記第1
    の計算機が実行可能なコードとの対応を示すテーブルを
    形成するステップを含むことを特徴とする請求項12記
    載の記憶媒体。
  16. 【請求項16】 前記第1の計算機はデバッガシステム
    を構成する計算機であり、前記第2の計算機はターゲッ
    ト装置を構成する計算機であることを特徴とする請求項
    9乃至17の何れか1項記載の記憶媒体。
  17. 【請求項17】 前記第1の計算機はホスト装置を構成
    する計算機であり、前記第2の計算機は情報端末装置を
    構成する計算機であることを特徴とする請求項9乃至1
    5の何れか1項記載の記憶媒体。
  18. 【請求項18】 中央処理装置を含む情報端末装置から
    当該情報端末装置で実行されるプログラムにおける所定
    の命令コードのアドレス情報を受け取り、受け取ったア
    ドレス情報に基づいて前記情報端末装置の内部情報を取
    り込み、取り込んだ内部情報を用いて、そのアドレス情
    報に対応して規定されている処理を実行するものである
    ことを特徴とする情報処理装置。
  19. 【請求項19】 前記取り込んだアドレス情報に基づい
    て、取り込むべき前記情報のアドレスを求めることを特
    徴とする請求項18記載の情報処理装置。
  20. 【請求項20】 前記所定の命令コードは割り込み命令
    を表すコードであることを特徴とする請求項19記載の
    情報処理装置。
  21. 【請求項21】 特定の命令コードを含むプログラムを
    格納し、中央処理装置による前記特定の命令コードの実
    行によって、当該命令コードのアドレスを外部へ送信す
    ることを特徴とする情報端末装置。
  22. 【請求項22】 前記特定の命令コードは、割り込み命
    令を表す命令コードであることを特徴とする請求項21
    記載の情報端末装置。
  23. 【請求項23】 前記アドレスの外部送信に応答して外
    部から供給される外部要求を入力し、入力した外部要求
    に応答して所定の内部情報を外部へ提供することを特徴
    とする請求項21又は22記載の情報端末装置。
  24. 【請求項24】 伝送路に接続可能なホスト装置を有す
    る情報処理システムであって、前記ホスト装置は、アド
    レス情報に対応した機能を実行可能な実行ユニットを有
    し、プログラムを格納した情報端末装置から出力される
    ところの前記プログラムのメモリ空間におけるアドレス
    情報を受信し、受信したアドレス情報に対応した機能を
    提供するものであることを特徴とする情報処理システ
    ム。
  25. 【請求項25】 前記実行ユニットは、複数のアドレス
    情報にそれぞれ対応した機能を提供可能とされているこ
    とを特徴とする請求項24記載の情報処理システム。
  26. 【請求項26】 前記実行ユニットは、受信したアドレ
    ス情報に基づいて前記情報端末装置へのアクセス情報を
    形成することを特徴とする請求項25記載の情報処理シ
    ステム。
  27. 【請求項27】 前記プログラムには、割り込み命令を
    表すコードが設けられ、該割り込み命令を表すコードの
    実行により、前記アドレス情報を送信することを特徴と
    する請求項24乃至26の何れか1項記載の情報処理シ
    ステム。
  28. 【請求項28】伝送路に接続可能なホスト装置を有する
    情報処理システムであって、前記ホスト装置は、互いに
    関連する第1のプログラムと第2のプログラムの内、第
    1のプログラムを端末装置へ提供し、該端末装置からの
    要求に応答して、前記第2のプログラムを実行すること
    を特徴とする情報処理システム。
  29. 【請求項29】 前記第1のプログラムは、前記情報処
    理システムから前記情報端末装置へ送信されることを特
    徴とする請求項28記載の情報処理システム。
  30. 【請求項30】 前記第1のプログラムと前記第2のプ
    ログラムは、共通のソースプログラムより形成されるも
    のであることを特徴とする請求項28又は29記載の情
    報処理システム。
  31. 【請求項31】 前記要求は、前記第1のプログラムに
    おけるアドレス情報を含んでいることを特徴とする請求
    項28乃至30の何れか1項記載の情報処理システム。
  32. 【請求項32】 情報端末装置に接続可能なホスト装置
    を有する情報処理システムであって、前記ホスト装置
    は、第1の処理をホスト装置へ要求するところのプログ
    ラムを情報端末装置へ提供し、情報端末装置からの要求
    に応じて前記第1の処理を実行することを特徴とする情
    報処理システム。
  33. 【請求項33】 前記プログラムは、伝送路へ向けて提
    供されることを特徴とする請求項32記載の情報処理シ
    ステム。
  34. 【請求項34】 前記要求は伝送路から供給されること
    を特徴とする請求項32又は33記載の情報処理システ
    ム。
  35. 【請求項35】 前記情報端末装置へ提供されるべき前
    記プログラムと、前記第1の処理に対応するプログラム
    とは、共通のソースプログラムより形成されたものであ
    ることを特徴とする請求項34記載の情報処理システ
    ム。
  36. 【請求項36】 ネットワークを介してサーバーがクラ
    イアントにサービスを提供する情報処理方法であって、
    サーバーは、プログラムを格納した情報端末装置から出
    力されるところの前記プログラムのアドレス空間におけ
    るアドレス情報をネットワークを介して受信し、受信し
    たアドレス情報に対応するサービスの要求に応答するた
    めの処理を実行ユニットで実行し、実行結果に基づくサ
    ービスをネットワークを介してサーバーに送信すること
    を特徴とする情報処理方法。
  37. 【請求項37】 前記実行ユニットは、複数のアドレス
    情報にそれぞれ対応する処理の中から、受信したアドレ
    ス情報に対応する処理を選択して、その処理を実行する
    ことを特徴とする請求項36記載の情報処理方法。
  38. 【請求項38】 前記実行ユニットによる処理の実行
    は、受信したアドレス情報に基づいて前記クライアント
    から読み込むべき情報をアクセスするためのアクセス情
    報の生成を含むことを特徴とする請求項37記載の情報
    処理方法。
  39. 【請求項39】 前記プログラムには割り込み命令を表
    すコードが設けられ、該割り込み命令を表すコードの実
    行により、前記アドレス情報をネットワークに送信する
    ことを特徴とする請求項36乃至38の何れか1項記載
    の情報処理方法。
  40. 【請求項40】 ネットワークを介してサーバーがクラ
    イアントにサービスを提供する情報処理方法であって、
    サーバーは、関連する第1のプログラムと第2のプログ
    ラムの内、第1のプログラムをネットワークを介してク
    ライアントへ送信し、該クライアントからの要求に応答
    して、前記第2のプログラムを実行することを特徴とす
    る情報処理方法。
  41. 【請求項41】 前記第1のプログラムと前記第2のプ
    ログラムは、共通のソースプログラムより形成されるも
    のであることを特徴とする請求項40記載の情報処理方
    法。
  42. 【請求項42】 前記要求は、前記第1のプログラムの
    アドレス空間におけるアドレス情報を含んでいることを
    特徴とする請求項40又は41記載の情報処理方法。
JP2000166468A 2000-05-31 2000-05-31 システム開発方法、記憶媒体、情報処理装置、情報端末装置、情報処理システム及び情報処理方法 Withdrawn JP2001344127A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2000166468A JP2001344127A (ja) 2000-05-31 2000-05-31 システム開発方法、記憶媒体、情報処理装置、情報端末装置、情報処理システム及び情報処理方法
US09/867,615 US20010049817A1 (en) 2000-05-31 2001-05-31 System developing method, storage medium, information processing apparatus, information terminal apparatus, information processing system, and information processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000166468A JP2001344127A (ja) 2000-05-31 2000-05-31 システム開発方法、記憶媒体、情報処理装置、情報端末装置、情報処理システム及び情報処理方法

Publications (1)

Publication Number Publication Date
JP2001344127A true JP2001344127A (ja) 2001-12-14

Family

ID=18669781

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000166468A Withdrawn JP2001344127A (ja) 2000-05-31 2000-05-31 システム開発方法、記憶媒体、情報処理装置、情報端末装置、情報処理システム及び情報処理方法

Country Status (2)

Country Link
US (1) US20010049817A1 (ja)
JP (1) JP2001344127A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010134250A1 (ja) * 2009-05-22 2010-11-25 日本電気株式会社 スクリプト記述分離再構築装置、スクリプト記述分離再構築方法及びスクリプト記述分離再構築プログラムが格納された非一時的なコンピュータ可読媒体
CN102129408A (zh) * 2011-04-14 2011-07-20 电子科技大学 一种基于记录回放技术的嵌入式软件调试装置和方法
JP2011159084A (ja) * 2010-01-29 2011-08-18 Toshiba Corp 情報処理装置及びプログラム書き込み方法
JP2020071834A (ja) * 2018-11-02 2020-05-07 横河電機株式会社 エンジニアリング装置、エンジニアリング装置の制御方法及びプログラム

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6327668B1 (en) * 1998-06-30 2001-12-04 Sun Microsystems, Inc. Determinism in a multiprocessor computer system and monitor and processor therefor
US20060200807A1 (en) * 2005-03-03 2006-09-07 International Business Machines Corporation Breakpoint timers
US8434064B2 (en) * 2008-03-28 2013-04-30 Microsoft Corporation Detecting memory errors using write integrity testing
JP2013008277A (ja) * 2011-06-27 2013-01-10 Toshiba Corp カバレッジ測定装置、方法およびプログラム
CN103186461B (zh) * 2011-12-30 2016-07-06 重庆重邮信科通信技术有限公司 一种现场数据的保存方法和恢复方法以及相关装置
CN105701007A (zh) * 2014-11-28 2016-06-22 航天信息股份有限公司 提取税务系统典型测试用例的方法及系统
CN106502877B (zh) * 2016-11-05 2019-05-17 福建北峰通信科技股份有限公司 一种嵌入式系统的面向虚拟终端的日志服务系统
CN109117277B (zh) * 2017-06-23 2020-11-27 上海木鸡网络科技有限公司 异步环境中模拟同步阻塞的方法及装置、存储介质、服务器、终端

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2545789B2 (ja) * 1986-04-14 1996-10-23 株式会社日立製作所 情報処理装置
JP3499252B2 (ja) * 1993-03-19 2004-02-23 株式会社ルネサステクノロジ コンパイル装置及びデータ処理装置
JPH10214203A (ja) * 1997-01-29 1998-08-11 Nec Corp 情報処理装置
JPH1115689A (ja) * 1997-06-19 1999-01-22 Nec Corp ソフトウェアのデバッグ方法及びデバッグ・プログラムを記録した記録媒体
JPH11194957A (ja) * 1998-01-07 1999-07-21 Matsushita Electric Ind Co Ltd デバッグ支援装置、並列実行情報生成装置、及びこれらに適用されるプログラムを記録した記録媒体
US6247172B1 (en) * 1998-07-02 2001-06-12 Hewlett-Packard Company Method for a translation system that aggressively optimizes and preserves full synchronous exception state
JP2000122886A (ja) * 1998-10-10 2000-04-28 Advantest Corp 半導体試験装置のプログラム作成方式

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010134250A1 (ja) * 2009-05-22 2010-11-25 日本電気株式会社 スクリプト記述分離再構築装置、スクリプト記述分離再構築方法及びスクリプト記述分離再構築プログラムが格納された非一時的なコンピュータ可読媒体
JP5472296B2 (ja) * 2009-05-22 2014-04-16 日本電気株式会社 スクリプト記述分離再構築装置、スクリプト記述分離再構築方法及びスクリプト記述分離再構築プログラム
US9032365B2 (en) 2009-05-22 2015-05-12 Nec Corporation Script description separation reconstructing device, script description separation reconstructing method, and non-transitory computer readable medium storing script description separation reconstructing program
JP2011159084A (ja) * 2010-01-29 2011-08-18 Toshiba Corp 情報処理装置及びプログラム書き込み方法
CN102129408A (zh) * 2011-04-14 2011-07-20 电子科技大学 一种基于记录回放技术的嵌入式软件调试装置和方法
CN102129408B (zh) * 2011-04-14 2013-09-25 电子科技大学 一种基于记录回放技术的嵌入式软件调试装置和方法
JP2020071834A (ja) * 2018-11-02 2020-05-07 横河電機株式会社 エンジニアリング装置、エンジニアリング装置の制御方法及びプログラム
US11132184B2 (en) 2018-11-02 2021-09-28 Yokogawa Electric Corporation Engineering apparatus, control method, and program for executing a control application

Also Published As

Publication number Publication date
US20010049817A1 (en) 2001-12-06

Similar Documents

Publication Publication Date Title
US9348771B1 (en) Cloud-based instrument driver system
JP2001344127A (ja) システム開発方法、記憶媒体、情報処理装置、情報端末装置、情報処理システム及び情報処理方法
CN111399840B (zh) 一种模块开发方法及装置
WO2006009287A1 (ja) 自動変換用プログラムおよびプログラム変換サーバ
CN113742105B (zh) 微服务框架的适配方法、设备和介质
US20050204351A1 (en) Dynamic addressing (DA) using a centralized DA Manager
US20050216537A1 (en) Dynamic addressing (DA) using a centralized DA manager
CN110119282A (zh) 一种基于通用嵌入式计算机的物联网终端及系统
CN103917951B (zh) 应用调用的方法及操作系统、浏览器
CN111880801A (zh) 应用程序动态化方法、装置、电子设备
KR101190597B1 (ko) 로봇 소프트웨어 컴포넌트를 위한 메소드 포트 장치 및 구성 방법
CN106648805A (zh) 一种智能装置、智能系统及智能安装应用的方法
CN112511417B (zh) 跨平台智能网关系统
CN113157607B (zh) 一种设备适配方法、装置、存储介质和计算机设备
CN112559336B (zh) 自适应调试异构计算芯片的方法、装置、系统及主板芯片
US20060010421A1 (en) Methods and apparatus for portable object-oriented components
CN109697076A (zh) 一种应用软件资源的动态更新方法、装置及设备
CN113961232A (zh) 提供集成开发环境的终端、方法和平台服务器
CN112612474A (zh) 产品移植方法、装置、存储介质和电子设备
KR20110108143A (ko) 스크립트 프로그래밍 언어 기반의 임베디드 시스템 및 그 구동 방법
US20040216140A1 (en) Method and system for accessing system operations through an interface layer
CN115114610B (zh) 一种基于安卓系统通过Root调用服务的模块及方法
CN115495201B (zh) 用于边缘计算的嵌入式抽象虚拟机系统
CN110018959B (zh) 一种嵌入式应用调试的方法以及系统
Howard et al. ESP32: QEMU Emulation Within a Docker Container

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20070807