JPH05224905A - ウィンドウ描画処理デリバリ方式 - Google Patents

ウィンドウ描画処理デリバリ方式

Info

Publication number
JPH05224905A
JPH05224905A JP4059426A JP5942692A JPH05224905A JP H05224905 A JPH05224905 A JP H05224905A JP 4059426 A JP4059426 A JP 4059426A JP 5942692 A JP5942692 A JP 5942692A JP H05224905 A JPH05224905 A JP H05224905A
Authority
JP
Japan
Prior art keywords
window
window drawing
file
language
calling
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
Application number
JP4059426A
Other languages
English (en)
Inventor
Yoshikatsu Ikoma
良勝 生駒
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.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP4059426A priority Critical patent/JPH05224905A/ja
Publication of JPH05224905A publication Critical patent/JPH05224905A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)
  • Digital Computer Display Output (AREA)

Abstract

(57)【要約】 【目的】 ウィンドウ描画とそれに関連する処理を、開
発環境から実行環境へデリバリするための有効な手段を
提供することにある。 【構成】 インタプリタ系の言語からダイナミックに呼
び出せ、かつ、コンパイラ系の言語にてリンク後に呼び
出せ、ウィンドウの描画処理を行なうためウィンドウ描
画手段14,およびウィンドウ描画手段格納ファイル1
5を備えておく。ここで、インタプリタ系の言語上でウ
ィンドウ描画処理がデリバリの後も同様にして行なわれ
るようにするため、ウィンドウ描画手段14の呼び出し
手段,および,必要があれば、その他の必要な手順をコ
ンパイラ系の言語で記述したウィンドウ描画用ソースフ
ァイル13を備えて、その内容をソース生成制御手段1
2により生成し、デリバリの後にもウィンドウ描画を行
なうことができるようにする。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は端末装置に関し、特に端
末装置上にウィンドウを用いて情報を表示させるプログ
ラムの開発,実行方式に関する。
【0002】
【従来の技術】従来、この種のウィンドウ描画処理デリ
バリ方式では、インタプリタ系の言語で開発環境を提供
している。この上で利用者にウィンドウ描画用の処理プ
ログラムや、オブジェクト指向に基づいたウィンドウ描
画用のオブジェクトの定義をしてもらい、これをデリバ
リ機能を通じて実行時専用のデータ,あるいはコンパイ
ラ系言語のプログラム形式に変換している。そこで実行
時用に提供されるランタイムパッケージとの連携によっ
て、インタプリタ系言語上でのウィンドウ描画と同じ処
理を実現する。
【0003】上記のようなウィンドウ描画処理デリバリ
方式において、インタプリタ系言語上のウィンドウ描画
用のプログラムをデリバリする場合では、デリバリ機能
が直接、そのプログラムを読み込んで実行時用のデータ
やプログラムに変換する。このため、描画結果のみが実
行環境に必要な場合に、プログラム上無駄な制御もデリ
バリしてしまい、効率的ではない場合がある。また、実
行時環境にランタイムパッケージが必要な場合が多く、
このような場合、開発時の環境と実行時の環境との整合
性には注意する必要がある。よって、このような機能を
利用して作成されたシステムを運用する上で、その管理
が面倒である。
【0004】インタプリタ系言語上にウィンドウ描画用
のオブジェクト表現を用意し、これをデリバリする方式
において、デリバリの後にデータ形式が置かれている場
合には、結局、ランタイムパッケージによって当該デー
タを解釈する必要があり、デリバリ後の性能向上があま
り見込めない。またデリバリの後にプログラム形式が置
かれている場合は、ウィンドウ描画処理が完全に手続き
化されてしまう場合が多い。したがって、デリバリ後の
環境でも、開発を加えたいような場合に、オブジェクト
指向的なアプローチができなくなる。
【0005】また、ウィンドウ描画に付随して、インタ
プリタ言語の柔軟性を生かした処理が存在する場合に
は、コンパイラ系の言語に変換しにくいことが多い。こ
のため、デリバリ機能のサポート範囲外として何の対応
もしていないケースが多く、ウィンドウ描画処理をデリ
バリしても、全体として実行環境上で直ちに実行テスト
ができない。
【0006】
【発明が解決しようとする課題】解決しようとする課題
は、ウィンドウ描画処理デリバリ方式において、インタ
プリタ系言語上のウィンドウ描画用のプログラムをデリ
バリする場合に、システムの運用上,管理が面倒である
点である。また、インタプリタ系言語上にウィンドウ描
画用のオブジェクト表現を用意し、これをデリバリする
方式において、デリバリの後にデータ形式が置かれてい
る場合に、デリバリ後の性能向上が見込めない点であ
る。さらに、デリバリの後にプログラム形式が置かれて
いる場合に、オブジェクト指向的なアプローチができな
い点である。その他、ウィンドウ描画に付随してインタ
プリタ言語の柔軟性を生かした処理が存在する場合に、
実行環境上で直ちに実行テストできない点である。
【0007】
【課題を解決するための手段】インタプリタ系の言語か
らダイナミックに呼び出せ、かつ、コンパイラ系の言語
によってリンク後に呼び出せ、ウィンドウの描画処理を
行なうことができるようにしておき、インタプリタ上の
処理プログラム,あるいはウィンドウオブジェクトの描
画指示によって当該情報を呼び出す。そこで、インタプ
リタ系の言語上でのウィンドウ描画処理がデリバリの後
も同様にして行なわれるようにするため、ウィンドウ描
画の呼び出し手順,および,その他に必要があれば必要
な手順をコンパイラ系の言語でソースファイルに記述し
ておく。
【0008】次に、ウィンドウ描画呼び出しと同様の機
能を果たすと同時に、ウィンドウ描画用のソースファイ
ルに書き出すため、ウィンドウ描画呼び出し手順の元に
なる情報を当該生成手段に渡し、ウィンドウ描画用のソ
ースファイルの内容を実際に生成する。ここで、ウィン
ドウ描画用のソースファイルの内容を生成する前には、
ウィンドウ描画用のソースファイルの生成開始および終
了のタイミングを利用者から得て、ソース生成制御を行
なうことができるようにしておく。デリバリの後に実際
にウィンドウ描画を行なうためには実行ファイルを生成
する必要があるため、使用される複数のファイルをコン
パイル,リンクするため、指示をコンパイラやリンカに
与える。
【0009】具体的なデリバリ方式において、まず、ウ
ィンドウ描画に関する開発作業を開発効率の良さに重視
する場合にはインタプリタ系の言語上で行い、実行時に
は高速性を重視してコンパイラ系の言語に変換して実行
できるように、上記基本手段の他にさらに他の手段を追
加して実行する。一方、ウィンドウ描画に関する制御を
インタプリタ系の言語上でオブジェクト指向的に表現す
ることにより、高い開発効率や保守性を実現し、実行時
には高速性を重視してコンパイラ系の言語に変化して実
行する。この場合には、上記基本手段の他にさらに他の
手段を追加して処理を実行する。
【0010】さらに、ウィンドウ描画と、それに関連す
る処理をインタプリタ系の言語のもつ高い開発効率や柔
軟性を生かして開発し、実行時にはコンパイラ系言語の
持つ高速性を生かすために、コンパイラ系の言語に変換
可能なウィンドウ描画処理のみを変換して実行する。こ
の場合には、上記基本手段の他にさらに他の手段を追加
して処理を実行する。
【0011】
【実施例】次に、本発明について図面を参照して説明す
る。図1は、本発明によるウィンドウ描画処理デリバリ
方式の一実施例を示すブロック構成図である。図1に示
すウィンドウ描画処理デリバリ方式は、ウィンドウ描画
利用者関数1と、ウィンドウ描画呼び出し手段2と、ウ
ィンドウ描画呼び出し手段格納ファイル3と、ソース生
成制御呼び出し手段4と、ソース生成制御呼び出し手段
格納ファイル5と、ウィンドウオブジェクト描画手段6
と、ウィンドウオブジェクト7と、ウィンドウオブジェ
クト格納ファイル8と、オブジェクト構造体定義手段9
と、オブジェクト構造体定義ファイル10と、ソース生
成モード切り換え手段11と、ソース生成制御手段12
と、ウィンドウ描画用ソースファイル13と、ウィンド
ウ描画手段14と、ウィンドウ描画手段格納ファイル1
5と、ウィンドウ制御手段16と、端末装置17と、L
ISPインタプリタ18と、プロセス間通信設定手段1
9と、プロセス間通信手段20と、プロセス間通信手段
格納ファイル21と、実行ファイル生成制御手段22
と、Cコンパイラ/リンカ23と、実行ファイル24
と、生成されたウィンドウ描画関数25と、オブジェク
ト構造体26とから主要部が構成されている。
【0012】まず、ウィンドウ描画手段14と,ウィン
ドウ描画手段格納ファイル15と,ウィンドウ描画呼び
出し手段2と、ウィンドウ描画呼び出し手段格納ファイ
ル3と,ウィンドウ描画用ソースファイル13と,ソー
ス生成制御手段12と,ソース生成制御呼び出し手段4
と,ソース生成制御呼び出し手段格納ファイル5と,ソ
ース生成モード切り換え手段11と,実行ファイル生成
制御手段22とによってウィンドウを描画しながらC言
語でソースを生成し、その後、実行ファイル24を生成
するデリバリ方式について取り扱う。すなわち、上記構
成でウィンドウを描画しながらC言語ソースを生成し、
その後、実行用ファイル24を生成するデリバリ方式に
ついて図2,図3および図4を参照して説明する。
【0013】図2は、デリバリ指示を出す前の状態で、
LISPインタプリタ上でウィンドウ描画が実行される
様子を示した説明図である。まず、ウィンドウ描画手段
14はウィンドウ描画手段格納ファイル15から既にロ
ードされている。また、ウィンドウ描画利用者関数1も
定義されているか、あるいは定義ファイルからロードさ
れているものとする。利用者は、LISPインタプリタ
18を介して、ソース生成モード切り換え手段11に対
してデリバリしないように指示を送出する(図2参
照)。ソース生成モード切り換え制御手段11は上記指
示を受け、ウィンドウ描画呼び出し手段2をウィンドウ
描画呼び出し手段格納ファイル3からロードする(図2
参照)。次に、利用者はウィンドウ描画利用者関数1
の実行をLISPインタプリタ18を通じて要求する。
【0014】この例では、ウィンドウ描画利用者関数1
はウィンドウの生成と、矩形域の描画および文字の描画
とを定義している。このため、このような処理を行なう
ためにウィンドウ描画呼び出し手段2で提供している関
数を用いている。それぞれのウィンドウ描画呼び出し手
段2提供の関数は、内部的にウィンドウ描画手段14が
提供しているCの関数を呼び出す。最終的には、これら
のCの関数からウィンドウ制御16に描画のための要求
が発せられ、端末装置17上にウィンドウ生成,矩形域
の描画,ならびに文字の描画といった表示が成される。
よって、制御は、図2のから(15)へ順次, 実行され
る。一方、端末装置17上の表示は、A→B→Cといっ
た具合に変化し、目的のウィンドウ描画が成されたこと
になる。
【0015】図3は、図2と同様にしてウィンドウの描
画を行いながら、デリバリのためのC言語ソースファイ
ル,すなわちウィンドウ描画用ソースファイル13を生
成する模様を示す説明図である。次に、図3にしたがっ
て、図2と同様にウィンドウの描画を行いながら、デリ
バリのためのC言語ソースファイルを生成する場合につ
いて述べる。まず、ウィンドウ描画手段14やウィンド
ウ描画利用者関数1がロード済みである点は、図2の場
合と同じである。図3では、によって利用者がデリバ
リの指示を与えている。図2の場合とは異なって、ソー
ス生成モード切り換え手段11はソース生成制御呼び出
し手段4,およびソース生成制御手段12をソース生成
制御呼び出し手段格納ファイル15からロードする(図
3参照)。
【0016】図3では、の処理の後、あらかじめロー
ド済みのソース生成制御手段12に対して、ウィンドウ
描画用ソースファイル13の初期化を要求する(図3
,参照)。初期化の具体例作業としてはインクルー
ドファイル記述,グローバル変数の宣言等がある。さ
て、ロードされたソース生成制御呼び出し手段4の各関
数は、対応するウィンドウ描画手段14の各関数を内部
的に呼び出す点は図2のウィンドウ描画呼び出し手段2
の場合と同じである。しかし、呼び出したウィンドウ描
画手段14の関数の処理が終わった後に、ソース生成制
御手段12に対して、今、発行したウィンドウ描画手段
14の関数に対応したC言語での関数発行形式をウィン
ドウ描画用ソースファイル13に書き出すように指示を
出す点のみが異なっている(図3(10)→(11),(16) →(1
7),(22) →(23)の流れを参照) 。
【0017】したがって、ウィンドウ描画利用者関数1
を発行すると、図2の場合と同様にウィンドウの描画を
行なうと同時に、デリバリ後に全く同様なウィンドウ描
画を実現するためのウィンドウ描画関数が、C言語ソー
スで生成されることになる。ウィンドウの描画が完了し
たならば、利用者はソース生成モード切り換え手段11
を介してソース生成制御手段12にウィンドウ描画用ソ
ースファイル13の後処理(C関数の括弧を閉じる等)
を実行するよう要求する(図3(24),(25),(26)参照) 。
このようにして、最終的にデリバリで用いるウィンドウ
描画用ソースファイル13ができ上がる。
【0018】次に、図4は、図3で生成したウィンドウ
描画用ソースファイル13と、その他必要なファイルを
用いて実行ファイル24を生成することによりデリバリ
を完了し、その実行ファイル24を実際に実行して、ウ
ィンドウの描画が図2や図3と同じように行なわれる様
子を示した説明図である。まず利用者は、実行ファイル
24を生成するために実行ファイル生成制御手段22に
対して指示を出す(図4参照)。実行ファイル生成制
御手段22は、図3の処理で得られたウィンドウ描画用
ソースファイル13と、図2や図3で用いられたウィン
ドウ描画手段格納ファイル15とをCコンパイラ/リン
カ23にかけることによって、実行ファイル24を生成
する(図4〜参照)。
【0019】利用者は、この実行ファイルを実行する
(図4参照)ことによって、図4で生成したウィンド
ウ描画関数25を実行することになり、図2や図3でウ
ィンドウ描画利用者関数1をLISP上で発行したとき
に得られたウィンドウ描画と全く同様の結果が得られる
(図4〜(15)参照) 。このことから、LISP上で動
作していたウィンドウ描画処理が、LISPの関与しな
い環境で同様に実行可能となったことが説明でき、デリ
バリが実現できたことになる。
【0020】次に、ウィンドウ描画に関する制御を、イ
ンタプリタ系の言語上でオブジェクト指向的に表現する
ことにより、高い開発効率や保守性を実現し、かつ、実
行時には高速性を重視するために、コンパイラ系の言語
に変換して実行するデリバリ方式に関して説明する。図
5および図6はこの形式のデリバリ方式を説明するため
の説明図である。
【0021】図5は、ウィンドウ描画をオブジェクト指
向的な定義で実現した場合での、デリバリ用ウィンドウ
描画用ソースファイル13を生成する模様を示した説明
図である。図6は、図5で生成されたウィンドウ描画用
ソースファイル13と、オブジェクト構造体定義ファイ
ル10と、その他の必要なファイルを用いて実行ファイ
ル24を生成することによりデリバリを完了し、当該実
行ファイル24を実行してウィンドウ描画が図5と同様
にして行なわれる模様を示した説明図である。
【0022】次に、上記方式によりウィンドウを描画
し、デリバリを実行する場合について、図5と図6とを
参照して説明する。この場合、利用者は、図2の場合と
は異なり、ウィンドウ描画利用者関数1を用いるのでは
なく、ウィンドウオブジェクト7を用いてウィンドウの
描画を行なう。両者の違いは、ウィンドウを生成し、そ
の中にいろいろな描画を行なうという共通の目的を、手
続き的に表現するか、オブジェクト指向的に表現するか
であり、目的に応じて選択される。よってここの例の場
合には、オブジェクト指向的な要素がデリバリ後も保持
される点が重要である。
【0023】まず、図5は、デリバリ用のウィンドウ描
画用ソースファイル13を生成する様子を示したもの
で、ウィンドウ描画用利用者関数1を用いる場合の図3
に相当する。なお、図2に相当する生成の様子は図5か
ら推察できるので省略した。また、ソース生成制御呼び
出し手段4と、ウィンドウ描画手段14とについて、中
身の関数の様子は同様であり、また、端末装置上のウィ
ンドウ描画の映り替わりも同様であるので、省略してい
る。まず、利用者はウィンドウ描画のための定義をウィ
ンドウオブジェクト格納ファイル8上に記述する(図5
参照)。ここで、ウィンドウはウィンドウの属性(大
きさ,背景の色,表示位置など)を設定することで生成
される。また、ウィンドウ内の描画も、矩形域や文字を
描画するための方法や、コマンド形式などを設定するこ
とで実現され、ウィンドウ生成後、直ちに描画を行なう
指示も、ウィンドウオブジェクト内に規定される。
【0024】次に、利用者は図3の場合と同様に、ソー
ス生成モード切り換え手段11に対してデリバリを指示
する。これによって、やはり同様にソース生成制御呼び
出し手段4がロードされ、ソース生成制御手段12によ
りウィンドウ描画用ソースファイル13が初期化される
(図5〜参照)。次に、利用者はウィンドウオブジ
ェクト描画手段6(あらかじめロードされているものと
する。)に対し、ウィンドウオブジェクトの表示要求を
出す(図5参照)。これを受けて、ウィンドウオブジ
ェクト描画手段6は、指示のあったウィンドウオブジェ
クト格納ファイル8からウィンドウオブジェクト情報を
読み取り(図5参照)、LISPメモリ上にウィンド
ウオブジェクト7として展開する(図5参照)。ウィ
ンドウオブジェクト描画手段6は、改めて、ウィンドウ
オブジェクト7からウィンドウの生成と描画についての
情報を受け取る(図5参照)。
【0025】このとき、ウィンドウオブジェクト描画手
段6はオブジェクト構造体定義手段9(あらかじめロー
ドされているものとする。)を呼び出し、ウィンドウオ
ブジェクト7に定義されている各種の属性と、その値と
を、C言語の構造体のメンバ名の定義と、その初期化ル
ーチンという形式に変換する。続いて、ウィンドウオブ
ジェクト描画手段6は構造体の定義をオブジェクト構造
体定義ファイル10に書き出し、初期化ルーチンをウィ
ンドウ描画用ソースファイル13に書き出す(図5(10)
,(11)参照) 。次に、同じウィンドウオブジェクト7 の
属性情報を用いて、その内容を解析し、ソース生成制御
呼び出し手段4が提供する、ウィンドウ描画手段14に
対応している関数の発行形式を生成して、これを発行す
る(図5(12)参照)。
【0026】すると、図3の場合と同じように、図5(1
3),(14),および(15)を経て、ウィンドウの描画が実際に
成される。その後、ソース生成制御呼び出し手段4は、
ウィンドウ描画手段14の関数を発行したときの情報を
ソース生成制御手段12に送り、ウィンドウ描画用ソー
スファイル13への書き込みを要求する(図5(16)参
照) 。ここで、ソース生成制御手段12はウィンドウオ
ブジェクト7を参照して、ソース生成制御呼び出し手段
4から与えられた関数発行形式中のパラメータを、オブ
ジェクト構造体定義手段9が定義した構造体のメンバ名
に変換する。その後、ウィンドウ描画用ソースファイル
13に書き出す(図5(17)参照)。最後に、利用者はソ
ース生成モード切り換え手段11に対して終了を指示
し、図3と同様に終了処理が成される。(図5(18)〜(2
0)参照)。これによって、デリバリで用いるウィンドウ
描画用ソースファイル13とオブジェクト構造体定義フ
ァイル10とが完成する。
【0027】図6は、図5で生成したウィンドウ描画用
ソースファイル13と、オブジェクト構造体定義ファイ
ル10と、その他必要なファイルとを用いて実行ファイ
ル24を生成することでデリバリを完了し、その実行フ
ァイル24を実際に実行し、て、ウィンドウの描画が図
5と同様にして行なわれる様子を示した説明図である。
実行ファイル24が完成するまでの手順は、オブジェク
ト構造体定義ファイル10が加わっている点を除けば図
4の場合と同様である(図6〜参照)。
【0028】実行ファイル24を実行させた場合には
(図6参照)、まず、オブジェクト構造体初期化ルー
チン(生成されたウィンドウ描画関数25の一部)が実
行され、オブジェクト構造体26が初期化される。その
後は、このオブジェクト構造体を参照しながら処理が進
むが、これは単なる構造体の参照であるので、特別な制
御をしているわけではない。なお、オブジェクト構造体
26はウィンドウオブジェクト7の性質をある程度、受
け継いでいるので、上記の生成されたウィンドウ描画関
数25をもとに、C言語上でもオブジェクト指向的な処
理をするように改造することは容易である。
【0029】最後に、ウィンドウの描画と、それに関連
する処理をインタプリタ系の言語の持つ高い開発効率や
柔軟性を生かして開発し、実行時にはコンパイラ系言語
の持つ高速性を生かすために、コンパイラ系の言語に変
換可能なウィンドウ描画処理のみをコンパイラ系の言語
に変換し、その後、変換された処理を実行するデリバリ
方式である。
【0030】最後に、上記方式によりウィンドウを描画
し、デリバリの後にLISP関数をプロセス間通信で呼
び出すようにする場合について、図7と図8とを参照し
て説明する。
【0031】まず図7は、LISP関数とのプロセス間
通信を可能とするウィンドウ描画用ソースファイル13
を生成する様子を示した説明図である。この例では、ウ
ィンドウオブジェクト7の中に、LISP上にあるなん
らかの推論用関数を呼び出す記述がある場合を考えてい
る。したがって、「推論実行中」というウィンドウ描画
を行なった後に推論関数が呼ばれる。まず利用者は、図
7のでウィンドウオブジェクト7を定義する際に、デ
リバリの後もLISP関数を用いて行いたい処理(この
例では、推論関数)について規定の宣言を行なってお
く。このとき、その他のウィンドウ描画系の処理につい
ては図5の場合と同様にして定義する。
【0032】その後、図7の〜(17)までは、図5と全
く同様に処理が進む。その後、ウィンドウオブジェクト
描画手段6が、図7ので宣言されていた内容の記述に
遭遇すると、その記述をLISPの実行関数形式に変換
し、これをプロセス間通信設定手段19に送って対応を
依頼する(図7(18)参照) 。プロセス間通信設定手段1
9はこれを受けて、関数を実行するとともに、プロセス
間通信用のC関数呼び出し記述を作成し、ソース生成制
御手段12に処理を依頼する(図7(18),(20)参照。ソ
ース生成制御手段12はこれを受けて、ウィンドウ描画
の場合と同様にしてウィンドウオブジェクト7の属性に
ついてのパラメータの変換(=オブジェクト構造体のメ
ンバ名への変換)があればパラメータ変換を行い、ウィ
ンドウ描画用ソースファイル13に書き出す(図7(2
1),(22) 参照) 。終了処理(図7(22)〜(24)参照)は図
5と同様にして行なわれ、最終的にデリバリの後もLI
SP関数が呼び出せるような仕掛けを内在したウィンド
ウ描画用ソースファイル13ができ上がる。
【0033】次に、図8は、図7で生成したウィンドウ
描画用ソースファイル13と,オブジェクト構造体定義
ファイル10と,その他の必要なファイルとを用いて実
行ファイル24を生成することでデリバリを完了し、そ
の実行ファイル24を実際に実行してウィンドウの描
画,およびLISP関数の実行が、図7と同様にして行
なわれる様子を示した説明図である。まず、実行ファイ
ル24の生成について説明する。図8では、デリバリの
後にLISP関数呼び出しの際に必要となるプロセス間
通信手段20を格納したプロセス間通信手段格納ファイ
ル21が加わっている。これ以外は、図6と同じである
(図8〜参照)。
【0034】さて、LISP関数を呼び出すには、LI
SPインタプリタ18も起動する必要がある。この例で
は、あらかじめLISPインタプリタ18を起動してお
くものとして、LISP関数の実行時に必要なものもロ
ードし、LISP関数呼び出しのための仕掛けであるプ
ロセス間通信手段20をロードして、起動しておく(図
8参照)。なお、このプロセス間通信手段20は通信
するもの同士を対等な関係に見なすため、実行ファイル
を生成時に用いたプロセス間通信手段とほぼ同じ内容の
ものを用いる(よって図8でも同じものを用いてい
る)。次に、実行時の制御についてであるが、ウィンド
ウ描画についての処理の流れは、図6と全く同じである
(図8〜(13)参照) 。
【0035】その後LISP関数呼び出しの処理が発生
すると、それはプロセス間通信手段20の呼び出しと同
義になり(図8(14)参照)、デリバリされた側のプロセ
ス間通信手段20から、呼び出すべきLISPの実行関
数形式がLISP側のプロセス間通信手段20に送られ
る(図8(15)参照)。このとき、オブジェクト構造体を
参照しているパラメータがあれば、それは具体的な値に
直される。LISP側のプロセス間通信手段20はこれ
を受け取り、そのまま、LISPインタプリタに評価を
依頼する(図8(16)参照) 。したがって、最終的にはL
ISP関数の呼び出しが実現する。
【0036】なお、実行後の退却値が欲しい場合には、
やはり図8の(15)によってデリバリ側のプロセス間通信
20に伝えられ最終的に生成されたウィンドウ描画関数
25に渡る。以上の流れにより、デリバリの後も、指定
のあったLISP関数の呼び出しが可能であり、事実
上、デリバリ前のLISP上での実行結果と変わらない
処理結果が得られたことがわかる。
【0037】
【発明の効果】以上説明したように本発明によれば、主
に開発時用にインタプリタ言語上で動作していたウィン
ドウ系の表示制御を、コンパイラ系の高速な言語に変換
し、これをコンパイル/リンクしたものを実行用として
同様にして動作させることが可能である。しかも、この
デリバリの際、ウィンドウの描画処理の実際の実行にし
たがってウィンドウ制御に近いレベルの処理関数を書き
出すため、描画結果を得るために最短,かつ,単純な処
理の流れがデリバリされることになり、実行時の描画性
能が大幅に向上する利点がある。
【0038】また、その際、インタプリタ系とコンパイ
ル系とで機能的に全く同じライブラリ(すなわち、本発
明構成要素のウィンドウ描画手段格納ファイル)を用
い、かつ実行環境上にランタイムパッケージ相当のもの
が不要なため、従来のデリバリ方式とは異なって、開発
環境と実行環境とでバージョンの差異による誤動作が発
生し難い点がある。また、オブジェクト指向的なウィン
ドウ表示制御をインタプリタ上で実現でき、かつ、これ
をデリバリの後の環境でも、ある程度利用できるように
なっているため、デリバリの後の環境でオブジェクト指
向の利点を生かしたプログラム開発が可能である。これ
は、ウィンドウを用いたインタフェースを内在するシス
テムを開発する際の生産性に大きく寄与する利点があ
る。
【0039】また、インタプリタ系言語上で実現しやす
く、コンパイラ系の言語では実現しにくい機能(すなわ
ち、移植しにくい機能)については、本発明の応用とし
て提供できるプログラム間通信機能を利用することによ
り、インタプリタ言語上での実行、および実行結果の取
得がデリバリ後のシステムから要求できる。このため、
インタプリタ系言語の柔軟な処理の特性と、コンパイラ
系言語の高速性とをそれぞれ生かすことができる利点が
ある。したがって、従来技術では直ちに対応できなかっ
たテーマに対する解決の方法にも成りうる効果がある。
【0040】以上のような本発明の効果は、特にLIS
P上でしか実現できないような高度な推論を行なうエキ
スパートシステムを開発する場合に顕著に現れる。具体
的には、ヒューマンマシンインタフェースについて、開
発時にはデバッグ効率のよいLISP上で、実行時には
高速なデリバリ後の環境で実現し、かつ、推論部分には
LISP上で動作できるプロセス間通信を利用すること
で、全体として高機能,かつ,高性能なシステムが効率
的に開発できる利点がある。
【図面の簡単な説明】
【図1】本発明によるウィンドウ描画処理デリバリ方式
の一実施例を示すブロック構成図である。
【図2】ウィンドウ描画にウィンドウ描画用利用者関数
を用い、デリバリ指示を出す前にLISPインタプリタ
上でウィンドウ描画が実行される模様を示した説明図で
ある。
【図3】図2と同様にしてウィンドウの描画を行いなが
ら、デリバリのため、ウィンドウ描画用ソースファイル
を生成する模様を示した説明図である。
【図4】図3で生成されたウィンドウ描画用ソースファ
イルと、その他の必要なファイルとを用いて実行ファイ
ルを生成することによりデリバリを完了し、その実行フ
ァイルを実際に実行して、ウィンドウの描画を行なう模
様を示した説明図である。
【図5】ウィンドウ描画をオブジェクト指向的な定義で
実現し、デリバリ用のウィンドウ描画用ソースファイル
を生成する模様を示した説明図である。
【図6】図5で生成されたウィンドウ描画用ソースファ
イルと、オブジェクト構造体定義ファイルと、その他の
必要なファイルとを用いて実行ファイルを生成すること
によりデリバリを完了し、その実行ファイルを実際に実
行してウィンドウの描画を図5と同様にして行なう模様
を示した説明図である。
【図7】LISP関数とのプロセス間通信を可能とする
ような仕掛けを内在したウィンドウ描画用ソースファイ
ルを生成する模様を示した説明図である。
【図8】図7で生成されたウィンドウ描画用ソースファ
イルと、オブジェクト構造体定義ファイルと、その他の
必要なファイルとを用いて実行ファイルを生成すること
によりデリバリを完了し、その実行ファイルを実際に実
行してウィンドウの描画,およびLISP関数の実行を
図7と同様にして行なう模様を示した説明図である。
【符号の説明】
1 ウィンドウ描画利用者関数 2 ウィンドウ描画呼び出し手段 3 ウィンドウ描画呼び出し手段格納ファイル 4 ソース生成制御呼び出し手段 5 ソース生成制御呼び出し手段格納ファイル 6 ウィンドウオブジェクト描画手段 7 ウィンドウオブジェクト 8 ウィンドウオブジェクト格納ファイル 9 オブジェクト構造体定義手段 10 オブジェクト構造体定義ファイル 11 ソース生成モード切り換え手段 12 ソース生成制御手段 13 ウィンドウ描画用ソースファイル 14 ウィンドウ描画手段 15 ウィンドウ描画手段格納ファイル 16 ウィンドウ制御手段 17 端末装置 18 LISPインタプリタ 19 プロセス間通信設定手段 20 プロセス間通信手段 21 プロセス間通信手段格納ファイル 22 実行ファイル生成制御手段 23 Cコンパイラ/リンカ 24 実行ファイル 25 生成されたウィンドウ描画関数 26 オブジェクト構造体

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】 インタプリタ系の言語からダイナミック
    に呼び出せ、かつ、コンパイラ系の言語によってリンク
    後に呼び出せ、ウィンドウの描画処理を行うためのウィ
    ンドウ描画手段と、 前記ウィンドウ描画手段の処理内容を格納するためのウ
    ィンドウ描画手段格納ファイルと、 前記ウィンドウ描画手段の情報を実際に呼び出すための
    インタフェースを提供するためのウィンドウ描画呼び出
    し手段と、 前記ウィンドウ描画呼び出し手段により呼び出された情
    報を格納するためのウィンドウ描画呼び出し手段格納フ
    ァイルと前記インタプリタ系の言語上でのウィンドウ描
    画処理がデリバリの後も同様にして行なわれるようにす
    るため、前記ウィンドウ描画手段の呼び出し手順,およ
    び,その他に必要があれば必要な手順をコンパイラ系の
    言語で記述したウィンドウ描画用ソースファイルと、 前記ウィンドウ描画用ソースファイルの内容を実際に生
    成するためのソース生成制御手段と、 前記ウィンドウ描画呼び出し手段と同じ機能を果たすと
    同様に、前記ソース生成制御手段に対して前記ウィンド
    ウ描画用ソースファイルに書き出すウィンドウ描画手段
    の呼び出し手順のもととなる情報を渡すためのソース生
    成制御呼び出し手段と、 前記ソース生成制御呼び出し手段の情報を格納するため
    のソース生成制御呼び出し手段格納ファイルと、 ウィンドウ描画時に前記ウィンドウ描画用ソースファイ
    ルを生成するか否かの切り換えと、前記ウィンドウ描画
    用ソースファイルの生成開始および終了のタイミングを
    利用者から得て前記ソース生成制御呼び出し手段に伝え
    るためのソース生成モード切り換え手段と、 デリバリの後に実際にウィンドウ描画を行なうための実
    行ファイルを生成するため、前記ウィンドウ描画用ソー
    スファイル、前記ウィンドウ描画手段格納ファイル,お
    よびその他に必要があれば必要なファイルをコンパイ
    ル,リンクするための指示をコンパイラやリンカに与え
    るための実行ファイル生成制御手段とから構成したウィ
    ンドウ描画処理デリバリ方式。
  2. 【請求項2】 前記ウィンドウ描画呼び出し手段は前記
    ウィンドウ描画手段の情報をインタプリタ上の処理プロ
    グラムから実際に呼び出すためのインタフェースを提供
    するための手段であるように構成し、 かつ、前記ウィンドウ描画に関する開発作業を開発効率
    の良さを重視する理由によって前記インタプリタ系の言
    語上で行い、実行時には高速性を重視する理由により、
    同じ処理内容をコンパイラ系の言語に変換して実行する
    ように構成した請求項1記載のウィンドウ描画処理デリ
    バリ方式。
  3. 【請求項3】 前記ウィンドウ描画に関する制御を前記
    インタプリタ系の言語上でオブジェクト指向的に表現す
    ることにより高い開発効率や保守性を実現し、かつ、実
    行時には高速性を重視するためにコンパイラ系の言語に
    変換して実行するウィンドウ描画処理デリバリ方式であ
    って、 前記ウィンドウ描画処理をオブジェクト指向的に表現す
    るためのウィンドウオブジェクトと、 前記ウィンドウオブジェクトを利用者が定義するための
    ウィンドウオブジェクト格納ファイルと、 前記ウィンドウオブジェクト格納ファイルから情報を読
    み込み前記ウィンドウオブジェクトを前記インタプリタ
    系言語のメモリ空間上に生成し、前記ウィンドウオブジ
    ェクトの情報から実際のウィンドウ描画処理を行なうた
    めの指示を他の構成手段に発するためのウィンドウオブ
    ジェクト描画手段と、 前記ウィンドウオブジェクトの内容をデリバリの後の実
    行環境でもオブジェクト指向的に参照、変更できるよう
    にするための情報領域となるオブジェクト構造体と、 前記オブジェクト構造体をコンパイラ系言語でソース記
    述したオブジェクト構造体定義ファイルと、 前記オブジェクト構造体定義ファイルを前記ウィンドウ
    オブジェクト描画手段からの指示によりインタプリタ系
    言語上でウィンドウ描画時に生成するためのオブジェク
    ト構造体定義手段とを備えた請求項1記載のウィンドウ
    描画処理デリバリ方式。
  4. 【請求項4】 前記ウィンドウ描画呼び出し手段は前記
    ウィンドウ描画手段の情報を前記ウィンドウオブジェク
    ト描画手段からの指示により実際に呼び出すためのイン
    タフェースを提供するための手段であるように構成した
    請求項3記載のウィンドウ描画処理デリバリ方式。
  5. 【請求項5】 前記実行ファイル生成制御手段はデリバ
    リの後に実際にウィンドウ描画を行なうための実行ファ
    イルを生成するために、前記ウィンドウ描画用ソースフ
    ァイル,および前記ウィンドウ描画手段格納ファイルの
    他,さらに前記オブジェクト構造体定義ファイルをコン
    パイル,リンクするための指示をコンパイラやリンカに
    与えるための手段であるように構成した請求項3記載の
    ウィンドウ描画処理デリバリ方式。
  6. 【請求項6】 ウィンドウ描画とそれに関連する処理を
    インタプリタ系の言語の持つ高い開発効率や柔軟性を生
    かして開発し、実行時にはコンパイラ系言語の持つ高速
    性を生かすために、コンパイラ系の言語に変換可能なウ
    ィンドウ描画処理のみを変換した後に実行するウィンド
    ウ描画処理デリバリ方式であって、 前記ウィンドウ描画処理オブジェクト指向的に表現する
    ためのウィンドウオブジェクトと、 前記ウィンドウオブジェクトを利用者が定義するための
    ウィンドウオブジェクト格納ファイルと、 前記ウィンドウオブジェクト格納ファイルから情報を読
    み込み前記ウィンドウオブジェクトを前記インタプリタ
    系言語のメモリ空間上に生成し、そのウィンドウオブジ
    ェクトの情報から実際のウィンドウ描画処理を行なうた
    めの指示やウィンドウ描画に関連するその他の処理を他
    の構成手段に発するためのウィンドウオブジェクト描画
    手段と、 前記ウィンドウオブジェクトの内容をデリバリの後の実
    行環境でもオブジェクト指向的に参照,変更できるよう
    にするための情報領域となるオブジェクト構造体と、 前記オブジェクト構造体をコンパイラ系言語でソース記
    述したオブジェクト構造体定義ファイルと、 オブジェクト構造体定義ファイルをウィンドウオブジェ
    クト描画手段からの指示により前記インタプリタ系言語
    上でウィンドウ描画時に生成するためのオブジェクト構
    造体定義手段と、 ウィンドウ描画とともに実行する処理をデリバリの後も
    インタプリタ言語上で実行し、実行結果を得るような制
    御をプロセス間通信で実現するためのプロセス間通信手
    段と、 前記プロセス間通信により得られた情報を格納するため
    のプロセス間通信手段格納ファイルと、 デリバリ後に前記プロセス間通信手段を用い、前記イン
    タプリタ言語上の任意の処理を呼び出す際の実行形式を
    前記ソース生成制御手段に伝えて前記ウィンドウ描画用
    ソースファイルに書き出すよう指示を出すためのプロセ
    ス間通信設定手段とを備えた請求項1記載のウィンドウ
    描画処理デリバリ方式。
  7. 【請求項7】 前記ウィンドウ描画呼び出し手段は前記
    ウィンドウ描画手段を前記ウィンドウオブジェクト描画
    手段からの指示により実際に呼び出すためのインタフェ
    ースを提供するための手段であるように構成した請求項
    6記載のウィンドウ描画処理デリバリ方式。
  8. 【請求項8】 前記実行ファイル生成制御手段はデリバ
    リの後に実際にウィンドウ描画を行なうための実行ファ
    イルを生成するために、前記ウィンドウ描画用ソースフ
    ァイル,および前記ウィンドウ描画手段格納ファイルの
    他,さらに前記オブジェクト構造体定義ファイル,およ
    び前記プロセス間通信手段格納ファイルをコンパイル,
    リンクするための指示をコンパイラやリンカに与えるた
    めの手段であるように構成した請求項6記載のウィンド
    ウ描画処理デリバリ方式。
  9. 【請求項9】 前記ウィンドウ描画用ソースファイルは
    前記インタプリタ系の言語上でのウィンドウ描画処理や
    それに関連する処理がデリバリの後も同様にして行なわ
    れるようにするために前記ウィンドウ描画手段の呼び出
    し手順の他,さらにプロセス間通信の実行形式をコンパ
    イラ系の言語で記述したファイルであるように構成した
    請求項6記載のウィンドウ描画処理デリバリ方式。
JP4059426A 1992-02-13 1992-02-13 ウィンドウ描画処理デリバリ方式 Pending JPH05224905A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4059426A JPH05224905A (ja) 1992-02-13 1992-02-13 ウィンドウ描画処理デリバリ方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4059426A JPH05224905A (ja) 1992-02-13 1992-02-13 ウィンドウ描画処理デリバリ方式

Publications (1)

Publication Number Publication Date
JPH05224905A true JPH05224905A (ja) 1993-09-03

Family

ID=13112930

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4059426A Pending JPH05224905A (ja) 1992-02-13 1992-02-13 ウィンドウ描画処理デリバリ方式

Country Status (1)

Country Link
JP (1) JPH05224905A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009524154A (ja) * 2006-01-19 2009-06-25 マイクロソフト コーポレーション 電子フォームでの設計問題の識別

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009524154A (ja) * 2006-01-19 2009-06-25 マイクロソフト コーポレーション 電子フォームでの設計問題の識別

Similar Documents

Publication Publication Date Title
Gurdeep Singh et al. WARDuino: a dynamic WebAssembly virtual machine for programming microcontrollers
KR20040096577A (ko) 실시간 시스템 제어용 컴포넌트 모델
EP2564316B1 (en) Resumable methods
US20160246622A1 (en) Method and system for implementing invocation stubs for the application programming interfaces embedding with function overload resolution for dynamic computer programming languages
CN100492387C (zh) 基于Keil C51的软件保护开发的方法和系统
CN102915386A (zh) 基于HLA的Adams仿真模型集成平台及方法
CN113992941B (zh) 基于无服务器函数计算的云边协同视频分析系统与方法
CN115878095A (zh) 一种基于逻辑编排的低代码开发方法、装置、设备及介质
CN116521181B (zh) 基于游戏系统的脚本数据处理方法、装置、设备及介质
JP2001236234A (ja) コンピュータ、並びに、コンピュータ読み取り可能な記録媒体
Grebe et al. Haskino: A remote monad for programming the arduino
US7886304B1 (en) Method and system implementing efficient remote procedure call and emulation system therefor
JPH05224905A (ja) ウィンドウ描画処理デリバリ方式
JP2001296996A (ja) コンポーネントの自動生成装置および表現方法
CN100399264C (zh) 实时转换java应用程序的可视化外观的设备和方法
CN111008056B (zh) 一种bios设置界面语言配置方法和装置
Navas et al. Reconciling run-time evolution and resource-constrained embedded systems through a component-based development framework
JP5085562B2 (ja) スクリプトについての処理内容の外部設定
US20110099534A1 (en) Information processing apparatus, execution program operation modification method, and recording medium
JPH07295612A (ja) 高級言語シーケンス命令プログラム生成装置および汎用シーケンサ
CN121501257B (zh) 一种界面组件的控制方法、装置、电子设备以及存储介质
CN118939312A (zh) 一种修改第三方库的方法、插件以及电子设备、存储介质
Aiken et al. A development environment for horizontal microcode programs
CN120162045A (zh) 混编应用界面显示方法、装置、设备、存储介质及产品
CN121597210A (zh) Ui修饰符配置方法、装置、电子设备及介质