JPH04216134A - 図像的プログラミング・システムの制御引き渡し方法 - Google Patents

図像的プログラミング・システムの制御引き渡し方法

Info

Publication number
JPH04216134A
JPH04216134A JP3050580A JP5058091A JPH04216134A JP H04216134 A JPH04216134 A JP H04216134A JP 3050580 A JP3050580 A JP 3050580A JP 5058091 A JP5058091 A JP 5058091A JP H04216134 A JPH04216134 A JP H04216134A
Authority
JP
Japan
Prior art keywords
iconographic
program
data
programming
escape
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
JP3050580A
Other languages
English (en)
Inventor
Randy L Bailey
ランディ・エル・ベィリィ
C Beethe Douglas
ダグラス・シィー・ビース
Susan G Wolber
スーザン・ジー・ウォルバ
Roy H Williams
ロイ・エイチ・ウィリアムス
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.)
HP Inc
Original Assignee
Hewlett Packard Co
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 Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of JPH04216134A publication Critical patent/JPH04216134A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Digital Computer Display Output (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はコンピュータ・システム
、特に図像的プログラミング・システム(iconic
 programming system)に関する。 さらに詳細には、本発明はプログラム制御を図像的プロ
グラミング環境から通常の非図像的プログラミング環境
へ移すことに関する。
【0002】
【従来技術及びその問題点】図像的プログラング・シス
テムは、「プログラミングの必要のない」環境であり、
そこでは道具(tool)の図形イメージ(アイコン(
icon))同志を接続線で接続することによってプロ
グラミングが行なわれ、ソフトウエアプログラムを表す
図像的ネットワークが生成される。図像的プログラミン
グ・システムは、システムあるいは装置を試験するため
に数種の電子機器が接続される研究開発試験環境に用い
ることができる。かかるシステムをプログラムするには
、各種の機器をシステムとして動作させるためにこれら
に所望の機能を実行させるための命令が必要である。
【0003】図像的プログラミング・システムが用いら
れるとき、各機器は図形オブジェクトとも呼ばれる図形
アイコンによって表され、機器間の接続は図形イメージ
の間の線で表される。かかるシステムの機器を表す図形
アイコンに加えて、図形アイコンは例えばループ動作や
IF−THENステートメントその他のプログラミング
機能のために設けられる。機器用のアイコンとプログラ
ミング用のアイコンを結合することにって、ユーザはい
くつかの機器のプログラムされた動作に関する図像ネッ
トワークを生成することができる。簡単な図像ネットワ
ークの例は以下に説明する図2に示す。
【0004】図像的システムは、動作を実行するために
従来のプログラム言語でプログラムしなければならない
という状態からユーザを救済するように設計されている
。これらのシステムは職業的なプログラマではないユー
ザのために設計されているため、ループ等の非常に簡単
なプログラミング機能だけを提供し、複雑な動作をプロ
グラムする方法は提供しない。また、このシステムのユ
ーザは機器間あるいはシステム内の他の図形オブジェク
ト間で交換されるデータの具体的な型やフォーマットを
知らないため、従来の図像的システムにおいては従来の
プログラミングは不可能である。
【0005】図像的プログラミング・システムのユーザ
は図像ネットワークにさらに複雑なプログラムを含ませ
なければならない場合がある。かかるプログラムは図像
的プログラミング環境の範囲を超えたプログラミング機
能を必要とすることがある。この種の問題が発生したと
き、従来の図像的システムは必要な機能を提供すること
ができない。それは、従来の図像的システムは通常のプ
ログラムあるいは通常のプログラミング環境へ制御を渡
すことができないためである。
【0006】ユーザはしばしば自分の必要とする機能を
実行する既存のプログラムを持っている。ユーザはこの
プログラムを任意の形式のデータを受け入れるように変
更することができず、したがって図像的システムはデー
タを予め定められたフォーマットで提供するうに適応す
ることができなければならない。従来の図像的システム
はこのようなプログラムやデータ変換向けの機能を提供
してはいない。
【0007】したがって当該技術分野においては、図像
的プログラミング・システム内で従来の非図像的プログ
ラミングを用いる方法を提供する図像的プログラミング
・システムが要望されている。また同じマシン上の別の
プロセス内にあるプログラムへまたそこから制御やデー
タをやり取りする方法を提供するシステムが要望されて
いる。ユーザが非図像的プログラムに送られるデータの
型とサイズを指定でき、またそこから返されるデータの
型と大きさを指定できるシステムが要望されている。さ
らに、同じ図像ネットワーク内の複数の非図像的プログ
ラムへ制御とデータを渡せるシステムが要望されている
【0008】
【発明の目的】本発明の1つの側面は、図像的プログラ
ミング・システム内で従来の非図像的プログラミングを
用いる手段を提供することである。
【0009】本発明の他の側面は、図像的プログラミン
グ・システムがその図像的プログラミング環境から同じ
プロセス中の非図像的プログラミング環境へ脱け出るこ
とができるようにするイスケープ・オブジェクト(es
cape  object)を提供することである。
【0010】本発明のもう1つの側面は、あるプロセス
中で走っている図像的プログラミング・システムから同
じマシン、オペレーティング・システム内で走っている
別の非図像的プログラムに脱け出すことができるように
することである。
【0011】また、本発明の他の側面は、図像的プログ
ラミング・システムのユーザが、非図像的プログラムに
渡され、またこのプログラムから返されるデータに関す
るデータの型及びサイズの制約を指定できるようにする
ことである。
【0012】本発明のさらに別の側面は、イスケープ・
オプジェクトのすべての入力からのデータを連結し(c
oncatenate)、このデータを単一の入力とし
て非図像的プログラムに渡すことである。
【0013】本発明のさらに別の側面は、イスケープ・
オブジェクトへの各入力が非図像的プログラムからは別
々のパラメータとしてアクセスされ得るようにすること
である。
【0014】本発明のさらに別の側面は、同じ図像的プ
ログラミング・システム内にある色々な非図像的プログ
ラムへの多重の脱け出しができるようにすることである
【0015】本発明のさらに別の側面は、同じ非図像的
プログラムの同じ図像ネットワーク内でのいくつものコ
ピーへ脱け出せるようにすることである。
【0016】本発明のさらに別の側面は、図像ネットワ
ーク内で動的に生成された非図像的プログラムへ脱け出
せるようにすることである。
【0017】本発明のさらにもう1つの側面は、図像的
イスケープ・オブジェクト内の非図像的プログラム・ス
テートメントがこのイスケープ・オプジェクトの外のア
イコンに出力を送り、その外のアイコンが自分の機能を
完了してから次の非図像的プログラム・ステートメント
に進むことができるようにすることである。
【0018】
【発明の概要】本発明の以上の側面および他の側面は、
図像的プログラミング・システム・プロセスと同じプロ
セス内の非図像的プログラムへの、あるいは同じオペレ
ーティング・システム内の別のプロセス内にある非図像
的プログラムへ「脱け出す」、すなわちプログラム制御
を渡すことができるようにする図像的プログラミング・
システムまたはプロセスで達成される。この脱出は、イ
スケープ・オプジェクトとも呼ばれ、図像ネットワーク
内のイスケープ・アイコンとして表される。
【0019】同じプロセス内の非図像的プログラムへ制
御を渡す際、図像的プログラミング・システムはまず非
図像的プログラムを自らのメモリ・スペース内のイスケ
ープ・オブジェクトにロードする。非図像的プログラム
に用いられる言語によっては、図像的プロセスでユーザ
が非図像的プログラムのソース・コードを編集できる。 非図像的プログラムをロードし、また場合によっては編
集した後、図像的プログラミング・システムは各プログ
ラム・パラメータに対応して夫々1つの入力を持つ図像
的イスケープ・オブジェクトを生成する。図像的オプジ
ェクトがトリガされると、図像的プログラミング・シス
テムは、各入力から獲得される入力データを非図像的プ
ログラムの対応するパラメータが受け入れることのてき
るデータ型及びサイズに変換する。次に、図像的プログ
ラミング・システムは非図像的プログラムにパラメータ
・データを渡し、非図像的プログラムが実行を続けるこ
とができるようにする。通常の実行においては、図像的
イスケープ・オブジェクトは、非図像的プログラムが実
行を終了するのを待ってから図像側のデータ出力を更新
し、図像的プログラムの実行を継続する。しかし、非図
像プログラムは、実行されると図像イスケープ・オプジ
ェクトの1つまたはそれ以上の出力が新しいデータ値に
更新されるのを許すステートメントを含むことがある。 非図像的プログラムの実行中にこの種のステートメント
に出会うと、次の非図像的プログラム・ステートメント
に進む前にこれらの出力に接続された図像ネットワーク
中の図形シンボルが実行される。いずれの場合も、デー
タを非図像的プログラムから受け取ると、図像的プログ
ラミング・システムはこのデータを図像ネットワーク中
の次のアイコンが受け入れることのできるデータ型及び
サイズに変換する。その後このデータをネットワーク中
の次のアイコンに渡し、処理を続ける。
【0020】イスケープ・アイコンが同じオペレーティ
ング・システム環境内の別のプロセス中の非図像的プロ
グラム用のものである場合、図像的プログラミング・シ
ステムはまずこの別のプロセスに渡すコマンドを生成し
、実行される非図像的プログラムの名前を定義する。 次に、しばしば子プロセスと呼ばれるこの別のプロセス
を生成する。子プロセス内で他のプログラムを走らせる
ために用いられるシェル・プログラムをスタートさせ、
先程のコマンドをシェル・プログラムに渡す。次に、図
像的プロセスはイスケープ・アイコンに渡されるデータ
を子プロセスが受け入れることのできるデータ型及びサ
イズに変換する。たとえば、子プロセスが受け入れるこ
とのできるデータ型はしばしば単なるASCII文字列
あるいはバイナリのビット・ストリームである。この変
換されたデータは次に子プロセスに渡される。図像的プ
ログラミング・システムは、ユーザの選択次第で、子プ
ロセスが実行を完了するまで待ってもよいし、あるいは
すべての必要なデータを子プロセスから受け取ったら、
この子プロセスを活性状態のままにしておいて、自分の
実行を続行してもよい。子プロセスからデータ出力が受
け取られると、このデータは図像ネットワーク中の次の
アイコンの受け入れることのできるデータ型及びサイズ
に変換される。その後、この変換されたデータは次のア
イコンに渡されて処理される。
【0021】別の動作環境内の非図像的プログラムへ脱
け出す場合、図像的プログラミング・システムはまず他
の環境中のプロセスへのネットワーク・リンクを生成す
る。このネットワーク・リンクの生成の際、図像的プロ
グラミング・システムは他の環境で実行すべき非図像的
プログラムを指定する。ネットワーク・リンクを確立し
た後、図像的プログラミング・システムは入力データを
他の環境内で走っている非図像的プログラムの受け入れ
ることのできるデータ型及びサイズに変換する。次に、
この変換されたデータをネットワーク・リンクを介して
非図像的プログラムに渡す。ネットワーク・リンクを介
して他の環境から出力データを受け取ったら、そのデー
タを図像的ネットワーク内の次のアイコンの受け入れる
ことのできるデータ型及びサイズに変換する。その後、
この変換されたデータは図像的プログラミング・システ
ム中の次のアイコンに渡される。上述の方法については
、ユーザは、この別のプロセスの終了を待ってから図像
的プログラミング・システム内の実行を継続してもよい
し、あるいは各データ項目を別の環境から受け取ったら
、別の環境内のプロセスを活性状態にしておいたまま、
そのデータ項目を処理してもよい。
【0022】
【実施例】以下の説明は現在考えられる本発明の最良の
実施態様である。この説明は限定的な意味に取るべきで
はなく、本発明の一般的原理を説明する目的のためにの
み行うものである。本説明の範囲は本願特許請求の範囲
を参照して決定すべきものである。
【0023】図1はこの発明を取り入れることのできる
コンピュータ・システムのブロック図を示す。図1にお
いて、コンピュータ・システム100はシステム・バス
104を介してシステム内の他の構成要素に接続された
処理要素102を含む。ユーザはキーボード106を使
ってシステムにテキスト・データを入力することができ
、またマウス110を使ってシステムに図形データを入
力することができる。システムはグラフィック・デスプ
レィ108を用いてテキスト及び図形情報をユーザに出
力することができる。ディスク112は、システムが図
像的プログラミング・システム環境及びユーザの定義し
た図像的ネットワークのソフトウエアを記憶するのに用
いられる。通信インターフェース116は、コンピュー
タと図像的プログラミング環境が他のコンピュータや環
境と通信できるようにする通信ネットワークの生成に用
いられる。このネットワークによって、図像的プログラ
ム環境が別の環境やマシン中のプログラムへ「脱け出す
」ことができるようになる。メモリ114は図像プログ
ラミング環境のソフトウエア及びユーザ・データを保持
するのに用いられる。マルチタスク・オペレーティング
・システム120は、ここにタスク122及びタスク1
24で示される、プロセスとも呼ばれる複数のタスクを
持つことができる。タスク122は本発明の図像的プロ
グラミング・プロセスを含むものとして示されている。 タスク124はたとえば、同じオペレーティング・シス
テム環境内の別のプロセスへの脱出に用いてもよい。
【0024】図2は従来の図像的プログラミング環境に
よる、いくつかのアイコンを有するコンピュータ・スク
リーンを示す。図2を参照すれば、グラフィック・スク
リーン・ディスプレィ200は図像的プログラムの基本
的なビルディング・ブロックを表す複数のアイコンつま
りグラフィック・オブジェクトを有するものとして示さ
れている。各グラフィック・オブジェクトつまりアイコ
ンは次のうちの1つを表すことができる。 −計器等の入力または出力装置 −数学の式や方程式、あるいは数学関連の入力または出
力 −ダイアル、ボタン、トグル、あるいはスライド等の入
力制御 −入力、出力、あるいはDO、IF、THEN、WAI
T等の単一のプログラム・ステートメント−メータ、波
形ディスプレイ、X−Yディスプレイその他のデータの
出力ディスプレイ
【0025】スタート・アイコン202を使ってユーザ
が図像的プログラムの動作を開始することができる。図
像的プログラミング環境のユーザはマウス110(図1
)または他のグラフィック入力装置を動かしてスタート
・アイコン202を強調表示することができる。通常、
マウス上にあるボタンの1つを押して、信号を出力節(
output nub)204から信号線206経由で
DOグラフィック・オブジェクト210の入力節208
に送ることによって起動することができる。DOオブジ
ェクト210は従来のプログラミング言語のDOループ
またはFORループと同様に機能する。DOオブジェク
ト210が制御信号をその制御入力208から受け取る
と、DOオブジェクト210はその中に表示されている
上段のボックスに示す値0から開始し、1ステップ毎に
DOオブジェクト210内の下段のボックスに示す値4
.5の値ずつ漸増させる。この動作は、DOオブジェク
ト210内の中段のボックスに示す値300に達するま
で続けられる。たとえば、初期値は0、次の値は4.5
、その次の値は9等々、そして値が300に達したとき
、DOオブジェクト210はサイクルを停止する。新し
い値が生成される毎に、その値は出力節212に出力さ
れ、信号線214および216を介して正弦オブジェク
ト218および余弦オブジェクト220に送られる。正
弦オブジェクト218はその入力節222からデータ値
を取りこみ、その値の三角関数の正弦を計算して出力節
224から正弦を出力する。このデータ値はネットワー
ク線226を介してX−Yディスプレイ240の入力節
228に送られる。余弦オブジェクト220はその入力
節230からデータ値を取りこみ、その値の三角関数の
余弦を計算して出力節232から正弦を出力する。この
出力はネットワーク線234を介してX−Yディスプレ
イ240の第2の入力236に送られる。X−Yディス
プレイ240はその2つの入力節228および236か
らデータ入力を取り込み、このデータをX/Y図形フォ
ーマット242で表示する。通常、グラフィック・オブ
ジェクトの左側と右側の節はそれぞれデータ入力とデー
タ出力を表す。グラフィック・オブジェクトの上側と下
側の節はそれぞれ制御入力と制御出力を表す。グラフィ
ック・オブジェクトつまりアイコンとこれらのオブジェ
クトを接続する線の組み合わせを図像的ネットワークと
呼ぶ。
【0026】図3は図像的プロセス内の図像的プログラ
ミング環境から非図像的プログラミング環境への脱出を
示す。具体的に言えば、図3は図像的プログラミング環
境から計測用BASICプログラミング言語への脱出を
示す。図3を参照すれば、スクリーン・ディスプレィ3
00にはスライド・オブジェクト302が示されている
。スライド・オブジェクト302はデータ出力304を
0から10の値の間で変化させるのに用いられるスライ
ド機構の図形イメージを示す。ここに示されるように、
このスライド・オブジェクト302ではスライドが4.
012の値に設定されている。第2のスライド・オブジ
ェクト306のスライドは6.047の値に設定されて
いる。スライド・オブジェクト302の出力304はネ
ットワーク線310を介してイスケープ・グラフィック
・オブジェクト314の入力316に向かう。スライド
・オブジェクト306の出力308はネットワーク線3
12を介してイスケープ・オブジェクト314の入力3
18に送られる。イスケープ・オブジェクト314は、
計測用BASICプログラミング言語のソース・コード
を表示するテキスト・ウィンドウ320をその内側に表
示している。この例では、計測用BASICプログラム
は2つのパラメータAおよびBを得て、Aの最初の値と
Bの最初の値の2倍を加算して結果Aを計算する。 図像的システムはパラメータAおよびBの各々に1つ、
計2つの入力節316及び318を生成する。テキスト
・ウィンドウ320に示された計測用BASICプログ
ラムがパラメータA及びBの値の受け取ると、この新し
い値を出力節322に出力する。出力節322に与えら
れる出力値はネットワーク線324を介して出力データ
の値を表示する数値ディスプレィ326に送られる。
【0027】この例ではスライド・アイコン302内の
スライドは値4.012に設定され、この値は入力節3
16ののイスケープ・アイコン314にパラメータAと
して入力される。スラインド・アイコン(オブジェクト
)306は値6.047に設定される。この値は節30
8に出力され、イスケープ・アイコン(オブジェクト)
314に送られて節318上にパラメータBとして入力
される。イスケープ・オブジェクト314はテキスト・
ウィンドウ320内に定義された計測用BASICプロ
グラムを用い、パラメータAを取り込んでその値にパラ
メータBの2倍を加算して新しい値16.1をAに記憶
する。Aの新しい値は出力節322に出力され、数値デ
ィスプレィ326に可視表示用として送られる。
【0028】図4は同じ図像的プロセス内で図3に示す
プログラムのような非図像的プログラムへのイスケープ
・オブジェクトを実現するため、図像的プロセスによっ
て用いられる方法のフローチャートである。図4を参照
すれば、この処理に入ると、先ずブロック402は非図
像的プログラムを図像的プロセスにロードし、アイコン
のウィンドウ内にプログラムのソースを表示する。プロ
グラム・ソースの表示および以下に説明する編集は常に
可能なわけではなく、プログラムを書くために用いられ
る言語による。プログラムが前もってコンパイルされて
いる場合はプログラムのソースが手に入らないことがあ
る。したがってこのような場合には表示や編集が不可能
なことがある。ソースが入手可能な場合には、ブロック
404により、ユーザが編集コマンドを入力してウィン
ドウ内に表示されるプログラムを変更可能である。また
、ある場合には、上述のプログラムをロードするステッ
プ402を省いてユーザが編集ブロック404で新しい
プログラムをすっかり入力できるようにすることも可能
である。プログラムをロードして編集した後、ブロック
406は各プログラム・パラメータに対応してイスケー
プ・アイコンへの入力を作成する。これは図3に示され
ている。ここでは2つの入力節316及び318はそれ
ぞれパラメータA及びB用に生成された。各プログラム
・パラメータに対応する入力節を作成し、ユーザが図像
的ネットワーク全体を作成した後、ブロック408でユ
ーザの要求に応じて図像的ネットワークの実行を開始す
る。データがイスケープ・アイコンの入力節に渡される
と、ブロック410は入力データをパラメータ値用に必
要とされるデータ型及びサイズに変換してプログラムに
渡す。
【0029】図像的プログラミング環境のユーザが利用
可能なオプションの1つに、イスケープ・オブジェクト
内のプログラムの実行の完了を待ってからネットワーク
内の次のアイコンに進むということがある。このオプシ
ョンを選んだ場合、プログラムが完全に実行されて終了
するまでは、イスケープ・オブジェクトからデータは出
力されない。しかし、ユーザがプログラムの完了を待た
ないオプションを選んだ場合、イスケープ・オブジクト
内のプログラムはいつデータが出力されるかを決定する
。この場合、データがイスケープ・オブジェクトから出
力されると図像的プロセスは非図像的プログラムの実行
を停止して出力データを変換して、ネットワーク内の次
のオブジェクトに渡し、それに続くネットワーク内のす
べてのオブジェクトを実行する。その出力に接続された
ネットワーク内の他のすべてのオブジェクトの完了後、
制御は、イスケープ・オブジェクト内のプログラム中の
先にデータを出力した命令のすぐ後の命令に戻る。 その後、プログラムはデータをさらに出力するか、ある
いはこのプログラムが終了するまで実行を続ける。この
プログラムがさらにデータを出力するかあるいは終了す
ると、図像的プロセスはネットワーク内の他のすべての
アイコンを実行する。
【0030】プログラムの完了を待つ方をユーザが選ん
だ場合、ブロック412はプログラムが完了するまでル
ープする。プログラムが完了すると、あるいはデータが
イスケープ・アイコンから出力されると、ブロック41
6はこのプログラム・データ出力を図像的ネットワーク
中の次のアイコンが受け入れることのできるデータ型及
びサイズに変換する。次に、ブロック418は実行のた
めこのデータを次のアイコンに渡す。次のアイコン及び
それに続くアイコンが実行された後、ブロック420は
イスケープ・オブジェクト内のプログラムが完全に実行
されたかどうかを判定する。プログラムが完了していな
い場合、ブロック420はプログラムの実行を続けるた
めにブロック411に戻る。プログラムが完了してた場
合、ブロック420から出口へ行く。
【0031】図5は2つのイスケープ・オブジェクトを
含む図像ネットワークの図形表示である。本発明の図像
的プロセスでは図像的ネットワーク内に複数の非図像的
イスケープ・オブジェクトを置くことができる。図5を
参照すれば、グラフィック・ディスプレィ500は一対
のスライド・オブジェクト502及び504を表示して
いる。これらの出力はイスケープ・オブジェクト506
の一対の入力520及び522に送られる。イスケープ
・オブジェクト506は計測用BASICプログラミン
グ言語で書かれたプログラムを含む。イスケープ・オブ
ジェクト506の出力524は数値ディスプレィ508
に送られ、また第2のイスケープ・オブジェクト510
の入力526にも送られる。この第2のイスケープ・オ
ブジェクト510も計測用BASICプログラミング言
語で書かれたプログラムを含んでいる。第2のイスケー
プ・オブジェクト510の出力は、値を電子電流計ある
いは電圧計と同様の方法でグラフィック・スクリーン上
に表示するメータ・オブジェクト512に送られる。図
5の図像的ネットワークが開始されるとき、2つのスラ
イド・アイコン502及び504からの出力は、イスケ
ープ・オブシェクト506内の計測用BASICプログ
ラムのパラメータA及びB内で使用するためのデータ値
に変換される。イスケープ・オブジェクト506内のプ
ログラムは、A入力とB入力の2倍の合計である出力値
を計算する。この出力値はメータ・ディスプレィ508
に送られ、また第2のイスケープ・オブジェクト510
の入力526にも送られる。イスケープ・オブジェクト
510は入力値526を取り込んでそれをイスケープ・
オブジェクト510内のプログラムのパラメータDに適
した値に変換する。このプログラムが図像的プロセスに
よって実行された後、その出力は値を図形の形式で表示
するメータ・ディスプレィ512に送られる。このよう
に、いかなる図像的ネットワークにも複数のイスケープ
・オブジェクトを含めることができる。
【0032】図6は同じオペレーティング・システム内
の別のプロセス内のプログラムへの脱出を示す。この例
で示されるオペレーティング・システムはHP−UXマ
ルチタスク・オペレーティング・システムである。本発
明はHP−UXあるいはUNIXオペレーティング・シ
ステムに限定されず、あらゆるマルチタスク・オペレー
ティング・システムに使用可能である。図6を参照すれ
ば、グラフィック・ディスプレィ600に一対のスライ
ド・オブジェクト602及び604が表示されている。 これらスライド・オブジェクトの出力はイスケープ・オ
ブジェクト606の入力に渡される。イスケープ・オブ
ジェクト606の出力はメータオブジェクト608の入
力に送られる。この例では、イスケープ・オブジェクト
606はHP−UXオベレーティング・システム内のプ
ロセスへのイスケープである。シェル・イスケープ60
6を処理するとき、本発明の図像的プロセスは別のHP
−UXプロセスを生成し、そのプロセスに、シェル・コ
マンド・パラメータによって指定されたコマンドを実行
させる。この例では実行すべきコマンドはa.outで
ある。2つの入力610及び612からのデータは、イ
スケープ・オブジクト606のXfer  forma
tパラメータに定義するようなASCII文字列に変換
され、子プロセスの標準入力に送られる。HP−UX及
びUNIXオペレーティング・システムは、標準入力は
stdinと呼ばれ、各プロセスはそれ自身のstdi
nを持つ。各プロセスからの標準出力はstdoutと
呼ばれる。イスケープ・オブジェクト606中に表示さ
れているWait  for  deathパラメータ
により、図像的プロセスは子プロセスが完了するのを待
ってから、子プロセスから受け取ったデータを処理する
。子プロセスのstdoutから受け取ったデータはメ
ータ・オブジェクト608が受け入れることのできる型
及びサイズに変換されてからこのメータ・オブジェクト
608に送られる。
【0033】図7は子プロセスのa.outプログラム
のプログラム・ソース・コードを示す。このプログラム
はCプログラミング言語で書かれている。図7を参照す
れば、行702は3つの倍精度実数IN0、IN1、O
UT0のためのメモリ・スペースを割り当てる。行70
4は、標準入力ファイル(stdin)でEOFに達す
るまで継続するループを開始する。行706は、std
inからIN0の値をASCII文字列として読み込み
、それを浮動小数点値に変換してからIN0に記憶する
ifステートメントである。行708はstdinから
IN1の値をASCII文字列として読み込み、それを
浮動小数点に変換してからIN1に記憶する。stdi
nにデータがあり、かつ行706から710までのif
ステートメントがEOFを検出しなかったならば、行7
12はOUT0の値を計算する。これはIN0にIN1
の2倍を加算したものである。OUT0の値を計算した
後、行714のprintfステートメントがOUT0
を浮動小数点値からASCII文字列に変換し、それを
stdoutを介して元の図像的プロセスに送り返す。 行706から710のifステートメントがstdin
上でEOFを検出した場合は、行716のelseステ
ートメントの次に制御が移り、718行のreturn
ステートメントにより子プロセスの実行が終了する。
【0034】図8は図像的プロセスが同じオペレーティ
ング・システム環境内の別のプロセスに脱け出す方法を
示すフローチャートである。図8を参照すれば、開始後
、先ずブロック802は子プロセスに渡されるシェル・
コマンドを生成する。次に、ブロック804は子プロセ
スを生成し、ブロック806は子プロセス内にシェル・
プログラムを生成する。次に、ブロック808はブロッ
ク802で生成されたシェル・コマンドを子プロセス内
のシェル・フログラムに渡す。これにより、子プロセス
に所望のプログラムを実行させる。次に、ブロック81
0が、イスケープ・オブジェクトに入力した入力データ
を子プロセスの受け入れることのできるフォーマットに
変換する。前述したように、このデータ・フォーマット
は通常ASCII文字列またはバイナリのビット列であ
る。次に、ブロック812は、変換されたデータを子プ
ロセスのstdin入力に渡す。ブロック814は子プ
ロセスが完了するのを待ち、このプロセスが完了した後
、ブロック816が子プロセスから返されたデータを図
像的ネットワーク内の次のアイコンが受け入れることの
できる型及びサイズに変換する。次に、ブロック818
はこのデータを次のアイコンに渡す。
【0035】図4に関して上述したように、ユーザの選
択次第で、図像的プロセスは他のプロセスの完了を待っ
てからデータを受け取ることもできるし、あるいは他の
プロセスが活性状態のままでいるようにすることもでき
る。
【0036】図9は、図6の図像ネットワークにおいて
、入力フィ─ルドのうちの1つのデータ型とフォーマッ
トを指定するメニューを表示させた状況を示す。図9を
参照すれば、グラフィック・ディスプレィ900には、
イスケープ・オブジェクト906の入力に接続された一
対のスライド・オブジェクト902及び904が表示さ
れている。イスケープ・オブジェクト906の出力はメ
ータ・オブジェクト908に接続されている。メニュー
910は入力IN1  914のデータ型及びフォーマ
ットを指定するのに用いられる。
【0037】図10は、図像的プロセスが別のマシン及
びオペレーティング・システム環境内の別のプロセス内
のプログラムに脱け出す方法を示すフローチャートであ
る。図10を参照すれば、開始後、先ず、ブロック10
02はたとえばEthernet等のローカル・エリア
・ネットワークを介して別のマシンのノードに接続をと
る。次に、ブロック1004が指定されたプログラムを
実行させるコマンドをこのノードに渡す。次に、ブロッ
ク1006がイスケープ・オブジェクトに入力された入
力データを他のマシンのノードが受け入れることのでき
るフォーマットに変換する。前述したように、このデー
タ・フォーマットは通常、ASCII文字列またはバイ
ナリのビット列である。次に、ブロック1008が変換
されたデータを他のノードのネットワーク入力コネクタ
あるいはそのstdin入力に渡す。ブロック1010
は他のノードでの処理が完了するのを待ち、そのプロセ
スが完了した後、ブロック1012が他のノードから返
されたデータをその図像ネットワーク内の次のアイコン
の受け入れることのできる型及びサイズに変換する。次
に、ブロック1014はこのデータを次のアイコンに渡
す。
【0038】図4及び図8について上述したように、ユ
ーザの選択次第で、他のノードの完了を待ってから図像
的プロセスがデータを受け取るようにすることもできる
し、あるいは図像的プロセスは他のプロセスが活性状態
にとどまることを許すこともできる。
【0039】以上、本発明の現在の好適な実施例を説明
してきたが、この発明の目的が充分に達成されることが
理解されよう。また当業者には、本発明の構成や機構に
ついての多くの変更、更には大きく異なる本発明の実施
例や応用形態を、この発明の精神と範囲から離れること
なく成しうることは自明であろう。以上の開示内容及び
説明は例示であって、いかなる意味でも本発明を限定す
るものではなく、その範囲は本願特許請求の範囲にさら
に好適に定義される。
【0040】
【発明の効果】以上詳細に説明したように、本発明によ
れば図像的プログラミング・システムからの脱出を様々
な態様で達成することができるので、従来の図像的プロ
グラミング・システムに比べて更に高度で柔軟な機能を
提供することができる。
【図面の簡単な説明】
【図1】本発明が適用されるコンピュータ・システムの
一例を示すブロxック図。
【図2】従来技術にかかる表示例を示す図。
【図3】本発明の一実施例の表示例を示す図。
【図4】本発明の一実施例のフローチャート。
【図5】本発明の一実施例の他の表示例を示す図。
【図6】本発明の他の実施例の表示例を示す図。
【図7】本発明の他の実施例で実行される非図像的プロ
セスのソース・コードの例を示す図。
【図8】本発明の他の実施例のフローチャート。
【図9】本発明の更に別の実施例の表示例を示す図。
【図10】本発明の更に別の実施例のフローチャート。
【符号の説明】
100:コンピュータ・システム 102:処理要素 104:システム・バス 106:キーボード 108:グラフィック・ディスプレィ 110:マウス 112:ディスク 114:メモリ 116:通信インターフェース 120:マルチタスク・オペレーティング・システム1
22、124:タスク 202:スタート・アイコン 210:DOオブジェクト 218:正弦オブジェクト 220:余弦オブジェクト 240:X−Yディスプレィ 302、306、502、504、602、604、9
02、904:スライド・オブジェクト314、506
、510、606、906:イスケープ・オブジェクト 320:テキスト・ウィンドウ 326、508:数値ディスプレィ 512、608、908:メータ・オブジェクト920
:メニュー

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】下記の(a)ないし(g)のステップを設
    け、ひとつの動作環境で実行される図像的プログラミン
    グ・システム・プロセスから前記動作環境で実行される
    別のプロセスへ制御を引き渡す図像的プログラミング・
    システムの制御引き渡し方法: (a)前記別のプロセスを生成する; (b)前記別のプロセス内で所望のプログラムをスター
    トさせる; (c)前記図像的プログラミング・システム・プロセス
    から前記別のプロセスへ送られる入力データを前記別の
    プロセスが受け入れ可能な形態に変換する;(d)前記
    変換された入力データを前記別のプロセスに転送する; (e)前記別のプロセスからの出力データを受け入れる
    ; (f)前記出力データを前記図像的プログラミング・シ
    ステム内の次のアイコンに適した形態に変換する;(g
    )前記変換された出力データを前記次のアイコンに転送
    する。
  2. 【請求項2】下記の(a)ないし(g)のステップを設
    け、図像的プログラング・システム・プロセス内の非図
    像的プログラムへ制御を渡す図像的プログラミング・シ
    ステムの制御引き渡し方法: (a)前記非図像的プログラムをロードする;(b)前
    記非図像的プログラムをスタートさせる;(c)複数の
    入力データ・ストリームの各々を前記非図像的プログラ
    ムが受け入れ可能な形態に変換する;(d)前記変換さ
    れた各入力データ・ストリームを前記非図像的プログラ
    ムの複数のパラメータの各々に転送する; (e)前記非図像的プログラムからの出力データを受け
    入れる; (f)前記出力データを前記図像的プログラミング・シ
    ステム・プロセス内の 次のアイコンに適した形態に変換する;(g)前記変換
    された出力データを前記次のアイコンに転送する。
JP3050580A 1990-02-22 1991-02-22 図像的プログラミング・システムの制御引き渡し方法 Pending JPH04216134A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US48347890A 1990-02-22 1990-02-22
US483478 1990-02-22

Publications (1)

Publication Number Publication Date
JPH04216134A true JPH04216134A (ja) 1992-08-06

Family

ID=23920205

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3050580A Pending JPH04216134A (ja) 1990-02-22 1991-02-22 図像的プログラミング・システムの制御引き渡し方法

Country Status (2)

Country Link
EP (1) EP0443768A3 (ja)
JP (1) JPH04216134A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05127928A (ja) * 1991-04-12 1993-05-25 Hewlett Packard Co <Hp> サービス・リクエスト処理方法

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5566295A (en) * 1994-01-25 1996-10-15 Apple Computer, Inc. Extensible simulation system and graphical programming method
JP3979504B2 (ja) * 1994-03-04 2007-09-19 富士通株式会社 コモン・プラットフォーム機能による対話的情報処理装置
US6242545B1 (en) 1997-12-08 2001-06-05 Univation Technologies Polymerization catalyst systems comprising substituted hafinocenes
US7367028B2 (en) * 2001-08-14 2008-04-29 National Instruments Corporation Graphically deploying programs on devices in a system
EP1956472A1 (en) * 2007-01-31 2008-08-13 Research In Motion Limited System and method for organizing icons for applications on a mobile device
US8601370B2 (en) 2007-01-31 2013-12-03 Blackberry Limited System and method for organizing icons for applications on a mobile device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05127928A (ja) * 1991-04-12 1993-05-25 Hewlett Packard Co <Hp> サービス・リクエスト処理方法

Also Published As

Publication number Publication date
EP0443768A2 (en) 1991-08-28
EP0443768A3 (en) 1993-01-27

Similar Documents

Publication Publication Date Title
US5301336A (en) Graphical method for programming a virtual instrument
US5475851A (en) Method and apparatus for improved local and global variable capabilities in a graphical data flow program
US5610828A (en) Graphical system for modelling a process and associated method
US5734863A (en) Method and apparatus for providing improved type compatibility and data structure organization in a graphical data flow diagram
US5504917A (en) Method and apparatus for providing picture generation and control features in a graphical data flow environment
US6715139B1 (en) System and method for providing and displaying debugging information of a graphical program on a first computer during execution of the graphical program on a second computer
US7979843B2 (en) Conversion of a first executable diagram having interconnected nodes to a second executable diagram using an intermediate XML representation
US8943469B2 (en) Type generic graphical programming
US5261043A (en) Input and output data constraints on iconic devices in an iconic programming system
US5291587A (en) Graphical system for executing a process and for programming a computer to execute a process, including graphical variable inputs and variable outputs
CA1285655C (en) Graphical system for modelling a process and associated method
US5226163A (en) File characterization for computer operating and file management systems
US6286129B1 (en) Method and apparatus for compiling transaction processing workflows
US8539367B2 (en) Automatic re-positioning of graphical program nodes during node placement or node movement
US5293476A (en) System for entering and modifying variable names for terminals of icons in an iconic programming system
JPH0642210B2 (ja) 電子機器制御方法
JPH07200278A (ja) 図形を用いたプログラミングシステム
JPH04216134A (ja) 図像的プログラミング・システムの制御引き渡し方法
McCartney End-user construction and configuration of distributed multimedia applications
Singh A parametrized CAD tool for VHDL model development with X Windows
Chang et al. The Research Queuing Package Modeling Environment (RESQME)
US6654033B1 (en) Finite state automation for emulation of activity sequenced engine
Miyazaki et al. A CAD process scheduling technique
JP3334167B2 (ja) ディジタル計算機
Chan et al. Environment For Three Dimensional Graphics User Interface Development