JPS63271541A - 電子機器制御方法 - Google Patents

電子機器制御方法

Info

Publication number
JPS63271541A
JPS63271541A JP63016805A JP1680588A JPS63271541A JP S63271541 A JPS63271541 A JP S63271541A JP 63016805 A JP63016805 A JP 63016805A JP 1680588 A JP1680588 A JP 1680588A JP S63271541 A JPS63271541 A JP S63271541A
Authority
JP
Japan
Prior art keywords
block
data
user
display
signal
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.)
Granted
Application number
JP63016805A
Other languages
English (en)
Other versions
JPH0642210B2 (ja
Inventor
デール・エイ・ジョーダン
レィニ・エイ・フィツシモンズ
ウィリアム・エイ・グリーンセス
グレゴリー・エル・ホフマン
デビッド・ディー・スタブス
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tektronix Inc
Original Assignee
Tektronix Inc
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=21724988&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JPS63271541(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Tektronix Inc filed Critical Tektronix Inc
Publication of JPS63271541A publication Critical patent/JPS63271541A/ja
Publication of JPH0642210B2 publication Critical patent/JPH0642210B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • 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
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/2832Specific tests of electronic circuits not provided for elsewhere
    • G01R31/2834Automated test systems [ATE]; using microprocessors or computers
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/319Tester hardware, i.e. output processing circuits
    • G01R31/31903Tester hardware, i.e. output processing circuits tester configuration
    • G01R31/31912Tester/user interface
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/12Symbolic schematics

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Stored Programmes (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Programmable Controllers (AREA)

Abstract

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

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は、一般に、図形ユーザ・インタフェース・シス
テム、特に、ユーザと会話的に電子試験システムをコン
ピュータ制御する図形インタフェース装置及び電子機器
制御方法に関する。
[従来の技術及び発明が解決しようとする課!lI]一
般的な実験又は試験環境には、被試験装置、即ち、被試
験対象と、この被試験装置を刺激する手段と、刺激によ
る被試験装置の応答を測定する手段とがある。刺激/応
答試験工程の後は、一般に分析工程となり、応答試験か
ら特定の情報を求める。
コンピュータを基本にした機器環境では、ホスト・コン
ピュータを刺激及び応答機器に接続する。
通常、制御器と呼ばれるこのコンピュータは、試験機器
の動作を制御し、また、このコンピュータを用いて応答
データの解析を実行できる。この制御器を機器に接続す
る最も一般的なインタフェースは、G P I B (
General Purpose Interface
 BuS)即ちIEEE488標準である。
このコンピュータを基本にした刺激/応答試験を制御す
る最も一般的なアプローチは、プログラムをベーシック
(RASIC)、フォートラン(FORTRAN)又は
他の高級プログラミング言語で書いて機器を制御し、ま
た同様にプログラムを書いて応答データの解析を実行す
る0機器制御プログラムは、従来、サブルーチン又はド
ライバを含んでおり、高級言語の制御文を翻訳し、機器
の制御に必要なコミニュケーション・プロトコルに変換
する。ある機器においては、ドライバが、制御設定及び
エラー状態情報などの機器状態の報告をすると共に、機
器が検出した応答データも報告してもよい。これらドラ
イバは、ターミナル、ディスク・ドライブ及び磁気テー
プ・ドライブの如き周辺装置と通信を行うのに用いるコ
ンピュータ・オペレーティング・システムと根本的に類
似している。
RAS I Cは、初心者にとって学習しやすく、会話
的なので、試験システム開発者やユーザが一般的に選択
する言語である。それにもかかわらず、制御及び分析プ
ログラムは非常に冗長となり、このプログラムを変更す
るのはしばしば難しい、ユーザは、試験機器の従来の制
御設定、例えば、垂直オフセラ上値、垂直感度等により
、この試験機器と通信をしなければならない。ユーザは
、試験機器をどのように操作するかばかりでなく、プロ
グラミング言語で所望の制御をどのように通信するかを
理解しなければならない。
多くの高級言語を拡張して、試験機器から戻されたデー
タを図形的に表示している。プログラムは、ウィンドイ
ング・モジュール又はサブルーチンを用いて、例えば、
時間対電圧のデータの座標システムからのデジタル信号
である取り込みデータを表示装置(CRT)の座標系に
変換している。
表示座標に変換したデータにより、図形モジュールは、
種々の言語コマンド(命令)を翻訳(インタブレット)
し、このコマンドを表示座標データに渡し、表示装置が
試験データの図形表示をするのに必要な形式のインスト
ラフシラン(命令)を発生する。
コンピュータ・メモリに蓄積されたデータの図形表示を
行うのに、高級言語要素、ウィンドイング・モジュール
及び図形モジュールが広く用いられている。これらは、
表示カーソルを制御する図形入力装置、例えば、ジョイ
スティック、マウス等と共に用いて、表示データの座標
系によるカーソル・スクリーン位置を翻訳している。こ
の形式の表示システムにより、ユーザは、蓄積されたデ
ータを異なる尺度で表示できるが、表示されたデーータ
の分解能は、蓄積されたデータに制限される。
波形の一部のズーミング(拡大)では、初めに蓄積した
以上の詳細な波形情報が得られない、また、蓄積された
データは、蓄積したデータの記録長に制限される。よっ
て、蓄積されたデータ量以上のズーミングでは、それ以
上のデータは利用できない。これらの問題を解決するに
は、新たな一組のデータを取り込むように、ユーザが試
験機器を再プログラムする必要がある。
試験機器の従来の手動操作においては、ユーザがデータ
の図形表示に応じて試験機器の制御器を相互作用的に操
作していた。しかし、高級プログラミング言語により制
御されるプログラマブル試験機器の操作には、予測と計
算が要求された。よって、プログラマブル試験機器を相
互作用的に用いるのは難しかった。ユーザは、表示デー
タによって目標を設定できたが、動作させるためには、
これら目標を試験機器設定用の表現に変換しなければな
らなかった。また、2つ以上の試験機器を用いる場合、
夫々を個別に設定しなければならなかった。同様に、戻
ってきた試験データの分析方法を変更する際、分析ルー
チンも再プログラムしなければならなかった。これら総
てを完全にするには、非常に複雑であり、専門的で、時
間がかかる注意深い作業が要求される。
ユーザがコンデンサでシステムをモデル化し、シミニレ
−シランできると共に、相互作用的な表示のできるソフ
トウェア・システムも知られている。かかるシステムの
例としては、1982年6月7日にアメリカ合衆国カリ
フォルニア用バークレイのエレクトリカル・エンジニア
リング・ユニバーシティの「プロシム−ブロック・シミ
ュレータ(Blosia −a Block Simu
lator) J部門のデー・ジー・メンサシュミット
が発表したサンプル・データ・システムのための汎用シ
ミュレーション・プロダラム、即ち、BLO3IMがあ
る。BLO3IHのユーザは、シミュレーシヨンするシ
ステムを、このシステムの基本部分を実現する小さな部
分(ブロックと呼ばれる)に分割し、各ブロックに対し
てシミュレーシヨン・プログラムを与える。また、ユー
ザは、ブロックの相互接続のトボロギーを定義するプロ
グラムも与える。そして、BLO5IMは、ブロックの
実際の相互接続及びその実行の詳細を扱う。しかし、B
LO3IMは、試験機器制御プログラムとして用いるよ
うに設計されていない。さらに、被試験システムを変更
する度に、ブロックのトボロギーを再コンパイルしなけ
ればならなかった。
そして、BLO3IMを実際のシステムに適用するのは
、トボロギーが増々複雑になるので、非常に困難であっ
た。よって、既知の従来技術では、試験機器制御にBL
O3I−を適用できなかった。
したがって、試験機器を制御し、信号を分析するための
改良された方法及び装置が必要である。
本発明の目的の1つは、コンピュータ・ワークステーシ
ョ、ン・インタフェースにより試験機器を制御する方法
及び装置を提供することにある。
本発明の他の目的は、試験システムの設計資源、試験資
源、分析資源、調査資源等をアクセスする単一手段を提
供することにある。
本発明のその他の目的は、ワークスチーシランを基本と
した制御により試験機器の前面パネルの制御及び表示を
なくして、プログラマブル試験機器を安価にすることに
ある。
本発明の他の目的は、ユーザが試験機器の設定を行った
り、変更したりするのに必要な時間を最短にすることに
ある。
本発明の他の目的は、操作目標による制御又は分析の定
義等に対してユーザの慣れた方法で、ユーザが試験シス
テムを制御したり、信号を分析できるようにすることに
ある。
本発明の更に他の目的は、試験機器システムに対するユ
ーザ・インタフェースの複雑さ、及び問題分析をユーザ
自身が制御できることにある。
[課題を解決するための手段及び作用]本発明は、試験
機器システムを制御したり、信号分析の如き他の用途に
も使用でき、プロ′ツク図を基本にした図形インタフェ
ースによってユーザが操作を制御できる装置及び方法を
提供する。このシステムは、メモリ、プロセッサ、図形
表示手段及び入力手段を含んだプログラマブル・コンピ
ュータを具えており、入力手段には、表示上の図形デー
タを選択し、位置決めするユーザの使用可能な手段があ
る。好適には、試験機器の如き物理システムを制御する
ために、コンピュータは外部通信手段も含んでいる。ソ
フトウェアによりコンピュータをプログラムすることに
より、このコンピュータが実行するブロック図をユーザ
が会話的に編集し、プログラムすることができる。
このようにプログラムするので、システムは、ユーザが
使用可能な手段に応答するブロック表示手段を含んでお
り、表示上の図形データとして複数のユーザ選択ブロッ
クを表示する。ブロックには、少なくとも1個の出力端
子を有する第1形式のブロックと、少なくとも1個の入
力端子を有する第2形式のブロックとがあり、入力端子
及び出力端子の両方を有するブロックもある。第1形式
の各ブロックに関連し、プロセッサが実行できる機能イ
ンストラクション手段は、予め定義した第1機能に応じ
て第1Mの信号データを発生し、かかるブロックの出力
端子にこの信号データを供給する。同様に、第2形式の
各ブロックに関連し、プロセッサが実行できる機能イン
ストラフシラン手段は、予め定義した第2機能に応じて
入力信号データを変換する。第2形式のブロックは、変
換したデータから得た情報をユーザに戻す手段を含むこ
ともできる。第3形式のブロックは、入力端子及び出力
端子の両方を具えている。かかるブロックは、プロセッ
サが実行できる関連した機能インストラクション手段を
具えており、予め定義した第3機能に応じて入力信号デ
ータを変換し、出力端子に変換した1組の信号データを
供給する。
また、このシステムは、ユーザ使用可能な手段に応答す
る相互接続表示手段を含んでおり、種々の形式のブロッ
ク間の相互接続、即ち、1つのブロックの出力端子から
他のブロックの入力端子にユーザが設計したような接続
を表示する。表示された相互接続は、データ流れ手段に
関連しており、表示された相互接続により接続された各
ブロックに関連した機能インストラクション手段間の入
力端子に出力からの信号データを転送する。
このシステムは、入力手段に応答する手段を含んでおり
、プロセッサに各機能インストラクシッン手段を順番に
実行させる。よって、第1形式の各ブロックの機能に応
じて、信号データの第1組が発生する。相互接続により
定義したデータ流れ経路に応じて、信号データのこの組
を第2形式のブロックの機能インストラクション手段に
転送する。次に、第2形式のブロックの機能に応じて、
第1形式のブロックが発生した信号データを変換して、
信号データの第2組を発生する。
このシステムは、図形表示手段に信号データの第2&I
lを図形的に表示させる手段を含むことができる。入力
端子及び出力端子の両方を有する変換形式のブロア、り
及びこれらに関係した機能インストラクション手段は、
第1及び第2形式のブロック間に接続でき、信号データ
の中間変換を実行する。
好適には、このシステムは、所定のユーザ選択可能なブ
ロックに夫々関連した複数の独特な機能インストラクシ
ョン手段を蓄積するブロック蓄積手段を含んでいる。ユ
ーザ使用可能な手段及びブロック表示手段の動作により
、指定ブロックに関連し蓄積された機能インストラクシ
ョン手段をユーザが選択できるようにする手段を設ける
。さらに、ユーザに応答し、表示手段上のブロックを相
互接続し、この相互接続が示す信号データ転送方向で決
まる順序で、実行用の各指示されたブロックの機能イン
ストラフシラン手段をプロセッサが組み立てるための手
段も設ける。
第1形式の2つ以上のブロックを相互接続により第2形
式のブロックに接続できる。また、このシステムは、第
1形式の各ブロックに対して選択した機能インストラク
ション手段を実行し、かかるブロックの各々からの信号
データの結果を実質的に並列動作で出力する手段を含ん
でいる。同様に、相互接続により、第1形式のブロック
を第2゛形式の2つ以上のブロックに接続でき、このシ
ステムは、第1ブロックからの各相互接続用のデータ流
れ手段により転送された信号データ上で、第一2形式の
ブロック用の選択した機能インストラクション手段を実
行する手段を含んでいる。
多くの異なる種類のブロックをこのシステムに用いるこ
とができるが、各々の機能は関連して予め蓄積された機
能インストラクション手段により決まる。いくつかのブ
ロックは、コンピュータ内で、データを発生、変換又は
表示する機能がある。
他のブロックは、外部通信インタフェースを介して、プ
ログラマブル試験機器の如き物理的装置の動作を制御す
る機能がある。後者の形式の機能インストラフシラン手
段は、機器の設定をプログラムするコマンドを発生する
手段を含んでいる。ブロック及び関連した機能手段を設
けることができ、これらは夫々ブロック図内の物理シス
テムを表し、シミュレーションする0例えば、試作装置
の動作をこの装置の設計シミュレーションと比較する。
機能インストラクション手段は、入力手段のユーザ動作
に応答する1つ以上のユーザ選択可能パラメータを含む
ことができ、その機能を変更する。
同様に、デジタイザの如きあるブロックの機能インスト
ラクション手段を動作させて、図形表示手段により2次
元信号を発生又は変換でき、この図形表示手段は、かか
る信号を2次元図形データとして表示する。好適には、
ユーザ毘作可能な手段の動作に応答し、表示された2次
元図形データの特性を選択し、位置決めする手段を設け
、かかるブロックの機能インストラフシラン手段を操作
してその機能を変更する。これに対応して、かかる手段
は、表示座標からの表示された特徴を機器の設定用語に
変換する手段を含んでおり、関連した機能インストラフ
シラン手段を実行用に準備するので、そのパラメータを
リセットする。
好適な実施例は、ユーザ操作可能手段により動作させ、
表示されたブロック及びそれらに関連した接続を選択し
、グループ化する手段を更に含んでおり、プロセッサが
一体として処理可能なマクロブロックを形成する。これ
に対応して、ブロック蓄積手段は、第1、第2及び第3
形式のブロックと同じ方法で扱うために、マクロブロッ
クを蓄積する手段を含んでいる。かかる手段は、マクロ
ブロックを構成するブロックに関連した多くのパラメー
タを蓄積し、ユーザがかかるパラメータを選択的に変更
できる手段を更に含んでいる。好適には、他のマクロブ
ロック内の次のマクロブロックに対してユーザ用に手段
を設ける。
本発明により、一般的なユーザに親しまれた方法、即ち
、ブロック図によりタスクを表すことにより、ユーザは
、手近なタスクの目標に集中して、計画し、分析し、そ
して、測定、試験、信号解析及びその他の複雑なタスク
を実行できる。ユーザは、プログラミング言語のシンタ
ックスにわずかに煩わされるか、全く煩わされないで、
所定プログラムの意味論(semantics)にてプ
ログラムできる。図表概念により作業をし、ユーザを問
題に専念させ、システムを容易に利用かつ学習し、知覚
の負担が減る。事実、このシステムにより、ユーザは、
予め定義した処理要素又はブロック及び相互接続により
プログラムを書ける。ブロック図が複雑になり過ぎると
、ユーザは、いくつかのブロックをグループ化し、それ
らを1つの高レベルマクロブロックとして表示すること
により、複雑なものを容易に簡単にすることができる。
好適な実施例において、ユーザは、図形表示器のある位
置に表示されたメニュから所望のブロックを選択し、編
集領域において選択したブロックを位置決めし、所望の
データの流れを示すようにブロックの人力及び出力を相
互接続する。ユーザは、ブロックをマクロブロックにグ
ループ分けし、視覚的な複雑さを軽減し、編集領域が一
杯になるのを防ぐ0次に、マクロブロックを予め定義し
たブロックの集合に付加できる。ユーザはまた、実行不
能な「からの」ブロックを編集領域に配置し、その後、
ユーザの掌握した問題がより具体化するように、からの
ブロックを予め定義したブロックの集合に分類する。
ユーザが何をなし遂げたいかを表す図を描いた後、ユー
ザはその図を実行できる。ユーザの観点からは、その図
がプログラムである。また、設計され、実行された特定
の試験又は分析タスク、及びプログラムの両方をその固
自体が記述している。
好適には、ソフトウェアをオブジェクト指向言語で記述
し、ユーザが複雑さの下位の層にてブロックの内部を見
えるようにすると共に、ブロック図の操作及び編集の容
易さの裏にある複雑さを除くことにより、文書及び情報
表示タスクを容易にできる。
本発明の上述及び他の目的、特徴及び利点は、添付図を
参照した以下の説明より明かになろう。
[実施例] 以下の説明は、本発明に用いる全体的なハードウェア及
びソフトウェア構造の一般的な説明から始めるが、先ず
第1に信号分析、第2に電子回路(被試験装置)に対す
る試験の管理について説明する0次に、ユーザの観点か
らシステムの動作を説明する。最後に、ブロック図編集
ソフトウェア構造及び動作を詳細に説明する。
1.0  ハードウェア及びソフトウェア構造の概略1
.1  コンピュータ・システム 第5図において、本発明に応じて配置されプログラムさ
れたコンピュータ・システム50を測定システム52に
接続して、試験管理システムにする。コンピュータ・シ
ステム50は、中央処理装置、ランダム・アクセス・メ
モリ及びハード・ディスク・メモリ (図示せず)を適
当に具えた汎用デジタル・コンピュータ54で構成する
。ユーザは、図形表示手段56や、キーボード58及び
3ボタン・マウス60であるユーザ入力手段によってコ
ンピュータと会話する。(ソフトウェアをいくらか再構
成することにより、1ボタン又は2ボタン・マウスを利
用することができる。)コンピュータの好適な例は、テ
クトロニクス社製4404型人工知能ワークスチーシコ
ンであり、図形表示手段として作用するこの4404型
に内蔵のCRT表示器、及び上述のキーボードと3ボタ
ン・マウス4共に利用できる。
1.2  測定システム 試験管理システムにて用いるので、コンピュータ・シス
テム50を、双方向性R3−232データ・バス62、
プロトコル変換器64及びI EEE−(GPIB)双
方向性データ・バス66を含むデータ通信手段により測
定システム52に接続する。
プロトコル変換器64には、アイオーチク社製MAC4
88型バス制御器が好適である。試験測定システムは、
IEEE488プロトコルと両立する種々のプログラマ
ブル電子試験機器で構成できる。TBM/PC−ATf
)如<GPIBインタフェースを内蔵したテクトロニク
ス社製4404型以外のワークステーションも利用でき
る。
試験測定システム52の図示した例では、3個の信号(
又は電圧)発生器68.70及び72並びに信号検出装
置ff174をバス66に接続している。
これら信号発生器の各々は、適当な導体69.71及び
73を介して電子回路である被試験装置76に接続する
。適切なプローブにより被試験装置の各位置に導体69
.71及び73を接続し、ユーザが決めたように回路を
刺激する。同様に、導体75及び適切なプローブを介し
て信号検出袋W174を被試験装置76の回路の関心の
ある試験点に接続する。
本発明を試験の管理に適用した例を説明するために、被
試験装置76を振幅変調器とする。刺激試験装置である
信号発生器68及び70は、テクトロニクス社製FG5
010型プログラマブル関数発生器であり、発生器72
はテクトロニクス社製PS5010型プログラマブル電
源装置である。
信号発生器68及び70の代わりの例としては、アナロ
ジツク社製DATA2020型多項式波形シンセサイザ
でもよく、これはプログラム可能で、IEEE48Bプ
ロトコルで制御できる。信号検出装置74は、好適には
、テクトロニクス社製?D20型デジタイザである。こ
の信号検出装置74の他の例としては、プログラマブル
・スペクトラム・アナライザである。
1.3  ソフトウェア構造の概略 例として、コンピュータ54は、ユニフレックス(lI
niHex)又は他のユニックス(UNIX)のような
オペレーティング・システムの下でスモールトーク80
 (Ssalltalk−80)又はCプログラミング
言語で書かれたプログラムを実行するようにプログラム
されたテクトロニクス社製4404型ワークステーシッ
ンとする。コンピュータは、本発明に応じて、第1図に
示す如(構成されたブロック図エディタ(編集)及び実
行管理ソフトウェアにより更にプログラムされる。ブロ
ック図エディタ・ソフトウェアは、好適には、スモール
トーク80又は他のオブジェクト指向プログラミング言
語により実現する。かかる言語は、従来から知られてお
り、例えば、1984年にアディソン・ウニスレーが発
行したエイ・ゴールドバーブによる「スモールトーク8
0.会話的プログラミング環境」、1984年にテクト
ロニクスが発行したr4404人工知能システム、スモ
ールトーク80システム入門」、雑誌rBYTEJの第
6巻第8号(1981年8月)及び第11S第8号(1
986年8月)に記載されている。実行管理ソフトウェ
アの部分は、BLO3IMを変更したものを基本にして
おり、第1C図に示し4.0章で後述するように、以下
、IBLO3IM(会話型ブロック・シミユレータ: 
Interactive BLOck SIMulat
or)という。
これらの部分は、当業者に周知のCプログラミング言語
で実現し、残りをスモールトーク80でプログラムする
1、3.1  ブロック・エディタ・ソフトウェアこの
ソフトウェアは、ブロック80で示すブロック・エディ
タ・メイン制御ルーチンの制御下で動作する。このソフ
トウェア構造は、ブロック選択ルーチン82を含んでお
り、ブロック・エディタ・メイン*1faルーチンによ
り先ず呼ばれる。後述の如く、ユーザが動作させると、
このルーチンは、予め蓄積した資源リスト83からのブ
ロック選択を行う0次に、制御をブロック位置決めルー
チン84に渡し、ブロック表示ルーチン85をアクセス
して、従来図形ソフトウェアにより選択したブロックを
図形表示器56に表示する0表示された情報を表示情報
メモリ86に蓄積する。このメモリ86は、ユーザがコ
ンピュータ上でブロック図を組み立てると更新される。
2つ以上のブロックを表示上で位置決めした後、ユーザ
はブロック接続ルーチン88を呼び出せる0次に、この
ルーチンにより、接続表示ルーチン89はユーザが選択
した相互接続を表示できる。これら相互接続もまた、表
示情報メモリ86に蓄積される。
ブロック図が組み立てられると、ユーザはパラメータ設
定ルーチン90を呼べる。信号発生器68.70.72
及び信号検出装置74を表すような多くの機能ブロック
は、これらの動作をシステムに人力するためのパラメー
タの初期設定又はデフォルト設定を必要とする。かかる
ブロック用にルーチン90を呼び出すと、パラメータ表
示ルーチン91は、このブロックに関連した装置用のパ
ラメータ一覧表を表示できる。次に、ユーザは所望パラ
メータを埋める。各ブロックに対してパラメー”  タ
が埋まると、これら表示パラメータを表示メモリに加え
る。
ルーチン84.88及び90の各々も、ブロック位置、
相互接続及びパラメータ設定の情報を図構成データ・ベ
ース87に供給する。後述の如く実行管理ソフトウェア
が用いたデー タを与えて、実行管理が用いるネットリ
ストを作成し、ブロック図の実行を制御するように上述
のデータ・ベースを構成する。このシステムの有効な実
施例では、ブロック図が最終的に組み立てられてた後に
このネットリストをコンパイルするか、その代わりに、
ブロック図が組み立てられるにつれて、ネットリストを
順次コンパイルして、より早い実行を達成する。
このブロック・エディタの動作は、2.2章で詳細に説
明し、ソフトウェア構造は、3.0章で説明する。
1、3.2  実行管理ソフトウェア ブロック図をコンパイルした後、ユーザはブロック・エ
ディタ・メイン制御ルーチンにより実行管理ソフトウェ
アを動作させる。どの動作は、図実行ルーチン92を呼
び出し、データ・ベース87に蓄積されたブロック図デ
ータからネットリストを作成し、図の実行を制御する。
ルーチン92は、予め蓄積された機能実行ライブラリ9
3をアクセスする。このライブラリ93は、資源リスト
83の各々に対応すると共に実現するブロック機能アプ
リケーション・サブルーチンを含んでいる。このネット
リストは、図を実現するシーケンスの実行において、ど
の機能サブルーチンを用い、これらサブルーチンをどの
ようにリンクするかを図実、  行ルーチン92に指示
する。
図の各機能が実行されると、中間データ及び出力データ
を実行データ蓄積手段94に蓄積する。
そして、各機能の実行がコンパイルされるので、蓄積さ
れたデータは、ネットリスト総合接続により決まるよう
に次の機能ルーチンに出力されるか、機能サブルーチン
に戻り、通信チャンネルにより測定システム52の適当
な試験機器に転送するために制御設定コマンドを発生す
る。
各ブロックの実行中、図実行ルーチンは、コマンドをメ
イン制御ルーチンに与えて、表示上でこのブロックの強
!I!(ハイライト)を実行できるようにする。動作の
この段階において、ユーザは図の実行に介在でき、選択
したブロック及びそれに関連した機能のパラメータを変
更でき、図を再実行できる。この能力は、特に、ユーザ
が試験機器の動作を会話的に制御できるようにするのに
有効である。さらに、試験機器の制御に対して、信号監
視能力を付加することにより、ユーザが試験機器の動作
機能を2次元で表示し掻作できることに留意されたい。
この能力については、5.0章で説明する。
以下の2.1章の概略は、第2及び第3図のブロック図
を実行する実行管理の動作である。4.0章では、実行
管理のソフトウェア構造をより詳細に説明する。
2.0  システム動作 2.1  信号処理 第2及び第3図は、本発明によるブロック図エディタ・
システムを信号処理問題に適応させた簡単な例の場合に
おける図形表示手段の表示を示す。
この例において、ユーザは、信号を発生し、処理するブ
ロック図を第2図に示すように構成した。
上述の如く組み立てたブロック図及び基礎的なソフトウ
ェアを実行するにおいて、処理段階の結果により出力し
た最初の発生信号を第3図に示す如ぐ図形化する。
実行において、先ず、現在のブロック図が有効か、即ち
、総ての接続が適切かをチェックする。
次に、実行管理ソフトウェアの動作において、第4図の
左側に示すスモールトーク処理96を第4図の右側に示
すC処理97に「突き刺す(結合させる)」。これら2
つの処理間の情報転送用にパイプライン98及び99を
用いて、スモールトーク処理の子処理としてC処理を実
行する。
スモールトーク処理96は、ユーザが構成したブロック
図をネットリストに変換する。これは、図構成データ・
ベース87(第1図)に蓄積された如き現在のブロック
図に対応する基本的なデータ構造を走査し、総てのブロ
ック、これらのパラメータ及びこれらの接続のリストを
生成することにより行う、そして、ネットリストをC処
理に送るが、これはネットリスト・インタプリタ及び機
能実行ライブラリ93を含んでいる。ネットリスト・イ
ンタプリタは、このルーチン下で、ブロック機能の設定
、予定及び実行を扱い、ネットリストを翻訳し、このネ
ットリストが呼び出した種々のブロック機能ルーチン用
にパラメータを設定し、このルーチンを予定し実行する
。この回内に示される相互接続が指示したデータの流れ
方向によ゛って決まる順序によって、このルーチンを実
行するように予定する。
各ブロックに対応する機能を実行する前に、C処理97
はパイプ99を介して、ブロック反転要求をスモールト
ーク処理96に転送する。この要求に応答して、スモー
ルトーク処理により、図形ソフトウェアは、映像を反転
、即ち実行すべきブロックを強調して、ユーザにフィー
ドバックを行う、詳細に後述する如く、例えば、デジタ
イザの信号観察制御の場合、これによりユーザに、実行
すべきブロックのパラメータを変調する機会が与えられ
る。
プロ7り図の実行期間中、エラー・メソセージ及び波形
データをスモールトーク処理に戻す。これらが既に存在
していなければ、かかる転送により、図形表示オブジェ
クトが現れる。次に、これら表示オブジェクトは、エラ
ー・メツセージ又は波形データを読み、表示する0図形
表示オブジェクトのタイトルとして、最初のブロック図
からのブロックの名前をインストールする。全体の図の
実行が終了すると、C処理が終わり、IockEdit
or(ブロックエディタ)ユーザ・インタフェースを介
して制御をユーザに戻す。
第2図及び第3図の例に関して、実行のシーケンスは、
出力端子に信号データを発生する発生ブロックに対応す
るルーチンから始める。第2図及び第3図に示す例は、
正弦(sine)関数5in(x)を発生する0次に、
実行は、ブロック転送に対応しルーチンに進み、これは
、信号データを取り込んで転送し、出力に変調した信号
データを与える。
この例では、先ず、高速フーリエ変換(rfrt)で、
次に、極変換機能(polar)によって、連続的な変
換を行う。
最後に、ブロック図内に示した終端ブロック用の適当な
ルーチンに出力信号データを入力する。
第2図及び第3図の例では、かかる2つのブロック(図
: graph)を示しており、これらブロックの各々
は、接続されたブロックからの信号データ出力を図にす
る機能がある0代わりのブロック(例えば、第4図の[
落とす(sirik3 J )を用いて、関心のない任
意の信萼データを終わらせることができる。パイプ99
を介して、各graphブロックの出力をスモールトー
ク処理に転送し、第3図に示す如き図形表示を行う。
この簡単な例は、シミュレーシヨンの目的に対して、本
発明のシステムをどのように用いるかを示している。後
述の説明から判るように、第2図及び第3図に示したの
と同様な分析に対して、適切な通信インタフェースを介
して、コンピュータ・システム50に有効な(ライプ)
信号を代わりに入力できる。同様に、信号は、第2図及
び第3図に示した方法にて発生でき、適当なインタフェ
ースを介して通信システムに直接出力するか、又は、制
御設定コマンドの形式で他の試験機器に出力する。
2.2  実行管理 −ここでは、ユーザがコンピュータ・システム50とど
のように会話し、電子回路試験の管理目的に、どのよう
に本発明のソフトウェアを組み立て、変更し、ブロック
図を実行するかを説明する。これは、上述の多くのアプ
リケーションに同じように適用できる。この説明におい
て、3ボタン・マウスの動作は、上述のゴールドバーブ
のテキストと同様にボタンの色で表す。すなわち、左側
の「選択」ボタンは赤であり、真中の「メニュ」ボタン
は黄色であり、右の「ウィンドウ」ボタンは青である。
2.2.IMg集及び資源のウィンドウ仕切り(ペイン
) 第6図において、開始の際、ユーザは、タイトル・タブ
102内のrBIockEditor Jにより、スク
リーン5゛6上の100の視野(ビュー)を見る。
スクリーン上にBlockEdiLorビューがないと
、ユーザは、仕事領域(ワーク・スペース)に、rBI
ockEditor openOn: Univers
e newJというテキストを入力して、テキストのこ
のラインを選択し、これを実行する。次に、ユーザは、
プロンプトに応答してBlockEditorの視野の
位置を選定する。
B1ockEditorビューは、2つのペイン、即ち
、左側の&g集ペイン104及び右側の資源リスト・ペ
イン106から構成されている。資源リストは、多ペイ
ン・リストである。 BIock[!ditorビュー
100は、全体的なブロック図を含んでもよく、この場
合、タイトル・タブは、rBIockEditor J
を読む、また、BlockEditorビュー100は
、「マクロ拡張」を含んでもよく、この場合、タイトル
・タブ102はマクロの名称、例えば、第6図に示す如
く、ramModulation Experimen
t Jを含む、用語「マクロ」は、高級レベルのモジュ
ールにグループ化したブロック及び接続の集合をいい、
用語「マクロ拡張」は、このマクロの拡張表示である。
用語「マクロ拡張BIockEditor Jは、BI
oclE、di torビューであり、ここでマクロ拡
張を編集する。
エディタ・ペインは、(1)内側が白い矩形で表すブロ
ック、(2)内側がパターンである矩形で表すマクロ、
及び(3)第9図に示すように、ブロック又はマクロの
出力端子(ブロックの右側の黒い点)をマクロの入力端
子(ブロックの左側の小さな丸)に接続する線である接
続を含むことができる。。
第6図に示すように、資源ペインには垂直スクロール・
バー107が、あり、カーソルが資源ペイン内のときに
現れる。しかし、第7図に示すように、カーソルがエデ
ィタ・ペイン内に移動すると、スクロール・バーは消え
る。エディタ・ペインは、第7図に示すように、X−Y
スクロール・バー108及び110を有する。スクロー
ル・バーは夫々、従来のスモールトーク垂直スクロール
・バーと同様に働く、キーボード58の左シフト・キー
を押しながら、マウス60の赤いボタンを押すことによ
り、同時にX−Yスクローリングを操作する0次に、左
シフト・キーを離す。赤いボタンを押し続ける限り、ス
クリーンは、2次元でスクロールする。
2、 2. 2  ポツプアップ・メニュエディタ・ペ
インには、3つのポツプアップ・メニュがあり、これら
メニュの各々は、編集コマンドの集合である。黄色のマ
ウス・ボタンを押して総てのポツプアップ・メニュを呼
び出す。第9図に示す第1メニユは、BlockEdi
torメニュ112である。カーソル114(第8図)
がブロック又はマクロの内側にないとき、黄色のマウス
・ボタンを押してこのメニュを進める。マクロ拡張ビュ
ーにおいて、旧ockf!ditorメ二二を進めると
、2つの付加的なコマンド[受は入れ(accept)
 J及び「キャンセル(cancel) Jが含まれ、
「回実行」コマンドが削除される。例えば第53図に示
す如く、機能の他の組み合わせを旧ockEcliLo
rメニュに含ませることができる。
メニュの第2形式は、第13図に示すブロック・メニュ
116である。ブロック内部のカーソル114(第8図
)を伴う黄色のマウス・ボタンを押して、ブロック・メ
ニュを進める。
メニュの第3形式は、マクロ・メニュであり、マクロ・
ブロック内のカーソル114を伴う黄色のマウス・ボタ
ンを押してこのマクロ・メニュに進める。これは、1つ
のメニュ項目「エンタ・マクロ(enter macr
o)Jを有する。
資源リスト・ペイン1θ6は、利用できる機能のリスト
を含んでおり、これは資源リスト・メモl783(第1
図)に蓄積されている。カーソルを機能名の上に配置し
、赤いマウス・ボタンを押すことにより、このリストか
ら機能を選択する。この資源リスト・ペインには、1つ
のメニュ項目[リムーブ・エントリ (remove 
entry) Jを有する1つの黄色ボタン・メニュが
ある。この「リムーブ・エントリ」操作は、資源リスト
・ペインから選択した機能を削除し、システムからこの
機能に関連したソフトウェアを削除する。
2、2.3  ブロック図を構成する ペイン106の資源リストからブロック又はマクロの名
前を選択して、エディタ・ペイン104内のブロック図
にブロック又はマクロを付加する。
第6図においては、「振幅変調器(amModulat
or) J機能116を選択した。この選択の後、ユー
ザはカーソルをエディタ・ペインに移動し、このカーソ
ルは、第7図に示す如く、選択した機能をブロック11
8として表すように変更する。このブロックを配置する
ために、ユーザは、マウスを移動してブロックを所望位
置に移動し、赤いマウス・ボタンを押してこのブロック
を位置決めする。第8図に示すように、カーソルは矢印
114の形状の通常のカーソルに戻り、プロ、りは、エ
ディタ・ペイン上の位置に固定される。ブロック118
の左側の小さな丸120は入力端子を示し、このブロッ
クの右側の小さな黒丸122は出力端子を示す。
ブロックのラベル124が、ブロック118内に現れる
。初め、ブロックのラベルは、資源ペイン106からi
!訳した機能の名前と同じである。
ブロックのラベルは独特のものでなければならず、同じ
ラベルの他のブロックがエディタ・ペイン104内に既
に配置されていれば、ブロック図エディタ・ソフトウェ
アは選択した機能のブロックlラベルにアスタリスク(
星印)を付ける。しかし、ユーザはブロックのラベルを
変更できる。
第9図において、ユーザは、資源ペイン106から機能
を選択し、選択した各機能をエディタ・ペイン104内
にブロックとして配置することにより、ブロック図の組
み立てを続行する。ユーザが選択し、位置決めしたブロ
ック118と同じ方法で、2つの関数発生器126.1
28、電源130及びデータ取り込み装置132を表す
ブロックをユーザは選択し、位置決めできる。第9図と
第5図とを比較すると、このブロック図が、測定システ
ム52内の被試験装置76に接続された試験機器68.
70.72及び74に対応する機能ブロックを含んでい
ることが判る。
実行する機能を表すブロック図を作成するために、ユー
ザはブロックの名前を変更できる。そのようにするため
、ユーザは、ブロック・エディタ(BlockEdi 
tor)メニュ112を呼び出し、このメニュに示され
た項目「ラベル・ブロック(labelblock) 
Jを選択する。第1θ図において、ユーザに対するカー
ソル134の表示は、「どのブロックのラベルか(La
bel which block?) Jである。
ユーザは、名前を変えようとするブロック上にカーソル
を位置決めし、黄色いマウス・ボタンを押す。
第11図において、ブロック130を選択した。
この動作により、選択したブロックの上にプロンプトが
現れ、新たなブロックのラベルの形式をユーザに要求す
る。この形式をタイプ入力すると、新たなラベル138
がプロンプト136内に現れる。ユーザが黄色のマウス
・ボタンを押すと、新たなラベルが選択したブロック内
に挿入される。
第12図は、この手順により新たにラベルが付されたブ
ロック126.128及び130を示している0図を実
行する際に用いるネットリストにこれら名前を後で用い
るので、同じ名前は、プロ。
り図の他のいかなるブロックにも二重に付けてはならな
い。
第9図において、図を実行する前に、総ての入出力端子
を接続しなければならない。出力端子を入力端子に接続
するために、ユーザは、ブロックの出力端子、例えば、
ブロック118の出力端子122にカーソルを移動させ
、赤いマウス・ボタンを押す。次に、ユーザが出力端子
からカーソルを移動させると、1ockEd i to
rソフトウェアがこの出力端子から現在のカーソル位置
まで延びる線を表示する。接続を完了させるには、ユー
ザがブロック132の入力端子140の如き入力端子を
カーソルで指示し、赤いマウス・ボタンを押す。
よって、出力端子122及び入力端子140間に接続線
142が引かれる。同様に、ブロック126.128.
130の出力端子146及びブロック118の入力端子
120間に接続線を引く、接続線144の経路決めを容
易にするため、ユーザは、相互接続線内に点148を置
き、水平及び垂直線のみで相互接続の経路を決め、他の
ブロックとの衝突を避けるように選択できる。これは、
相互接続線の方向を変化させる各位置にて、赤いマウス
・ボタンを押して行う。
ユーザは、既に経路決めした接続を変更することもでき
る。接続を選択するために、ユーザはカーソルを、接続
点の1つ、即ち、端点、又は方向が変化する点の1つに
移動させ、赤いマウス・ボタンを押す。端点を選択する
には、ユーザはカーソルを入力端子又は出力端子の中央
に配置する。
接続が強調されて、選択が完了したことを示す。
接続点を移動させるために、ユーザはカーソルをその点
に移動させ、赤いマウス・ボタンを押す。
点を接続する単−又は複数の線は、「ラバー・バンド」
であり、ユーザは新たな位置に点を移動させて、赤いマ
ウス・ボタンを離す、相互接続線の各点を任意のまだ用
いていない入力端子又は出力端子に移動できる。接続を
削除するために、ユーザは、任意の接続点をBIock
[!d i torペイン104の外部に移動させる。
接続の経路を再度決めるには、ユーザがこの接続を削除
し、接続線を新たに引く0選択した接続を解除するには
、その接続線の上で再び赤いマウス・ボタンをクリック
するか、園内の何か他のものを選択する。
また、ユーザは、既に図にあるブロックを選択−して、
移動するか、削除することもできる。これを行うには、
ユーザがそのブロック内にカーソルを位置決めし、赤い
マウス・ボタンを押す、このプロ7りが強調され、選択
されたことを示す。選択したブロックを移動させるには
、ユーザが、カーソルをそのブロックに移動させ、赤い
マウス・ボタンを押し、そのブロックを新たな位置に引
っ張って行き、赤いマウス・ボタンを離す、ブロックを
削除するには、ユーザが、そのブロックを選択し・選択
したブロックをエディタ・ペインの外に引っ張って行き
、赤いマウス・ボタンを離す。
ブロックを資源リストに付加するには、ユーザが、その
ブロックを資源リスト・ペイン106内に引っ張って行
き、赤いマウス・ボタンを離す。そのブロックの名前が
既にそこになければ、その名前を資源リストに付加する
第12図では、特定の試験に対する必要に応じて、特別
のブロックをブロック図に付加する0例えば、信号分析
ブロック150.152を信号取り込みブロック132
の出力端子154に直列接続する。ブロック152の1
つの出力端子156に接続するのは、[グラフ(gra
ph) Jブロック164である。ブロック152の他
の出力端子160に接続するのは、「沈む(sink)
 Jブロック162である。ブロック150及び152
は、ブロック132の端子154がらの出力信号に対す
る信号分析を実行する。これらブロックの名前は、資源
リスト・ペイン106に蓄積されており、BIockE
di Lorソフトウェアは、関連した機能名及びブロ
ックを選択することにより選択可能なサブルーチンを含
んでおり、その機能名が示す機能を実行する。また、ペ
イン106のリストからi!訳されたブロック164は
、図形機能を呼び出し、ブロック152の端子156の
出力である信号を図形的に表示する。ブロック162 
rsinkJもペイン106内にリストされており、ユ
ーザはブロック152の出力端子160からのデータを
無視できる。
2、2.4  初期ブロック・パラメータの設定第13
図において、いくつかのブロックは、ユーザ設定用の初
期パラメータ、即ち、デフォルト・パラメータを有する
。ユーザがこれを行うには、設定すべきパラメータを有
するブロック内にカーツルを移動させ、ブロック・メニ
ュ116を呼び出し、このメニュから「パラメータ設定
(setparaa+eter) Jを選択する。ブロ
ックにパラメータがなければ、カーソルは通常の矢印カ
ーソルとして残る。ブロックがパラメータを有すれば、
カーソルは「待ち(wait) Jカーソルに変化し、
直ちにプロンプトが現れ、パラメータ・ビューを探す。
第13図において、ユーザは、第5図の関数発生器70
を表し、制御するブロック12Bを選択した0選択した
ブロック用のパラメータ・ビュー、即ち、メニュ168
が第14図に示す如(現れる。
バラメーク・ビューを左側及び右側に分割する。
左側のペインは、特定ブロックのパラメータを定義する
。ビューの左側のペインを用いて、選択したブロックに
関連する機能用のパラメータの設定を特定する。ある場
合、メニュ16Bの[波形01avefors) Jパ
ラメータの場合の如く、一連のボタンとしてパラメータ
を表現できる。ユーザは、選択肢の1つ、例えば「正弦
(SIME) Jの上にカーソルを配置し、赤いマウス
・ボタンを押すことにより、この選択肢を選択できる。
ボタンによりパラメータを特定しない場合、ユーザはカ
ーソルを右側のペイン内に移動し、数字をタイプ入力し
て、要求するパラメータを特定する。パラメータを入力
すると、ユーザは、カーソルをパラメータ・ビュー内に
残しながら、黄色(まん中)のマウス・ボタンを押して
、呼び出したBIockBdiLorメニュから「受は
入れ(accept) J 169を選択して、そのパ
ラメータを受は入れる。
第15図は、ブロック132として回内に示したデジタ
イザ74に通用する上述のパラメータ設定手順を示す。
最初に構成した際に関連したブロック132内にプログ
ラムされたデフォルト・パラメータにより、デジタイザ
74の動作を先ず制御する。発生器ブロック126.1
2B、130に対しても、同じ方法でパラメータを再設
定できる。第15図において、rset parame
tersJ項目を選択すると、ブロック132用のパラ
メータ・ペイン170に進む。このペインのフォーマッ
トは、上述のパラメータ・ペイン168(第14図)に
類イ以している。ユーザは、このペインに示される種々
のボタンを選択し、所望の数値パラメータを人力して、
デジタイザ76の初期動作、即ち、デフォルト動作を特
定できる。図示した値は、典型的なデフォルト設定、即
ち、初期設定であり、後で、図の実行中にユーザが相互
作用的に変更できる。これらデフォルト・パラメータを
相互作用的に変更するためには、質問[取り込みウィン
ドウの使用(Use acquisition 、wi
ndo@) Jの後に、ユーザが[ノー(no) Jを
選択する。
2、2.5  ブロック図の実行 組み立てが終わると、ブロック図を実行できる。
ユーザは、第16図に示す如(、Block[!dit
orメニュ112から[図の実行(execute d
iagra+a)Jを選択する。総ての入力端子及び出
力端子を接続すると、この図を実行し、そうでなければ
、エラー通知が現れる。このエラー通知が現れると、ユ
ーザは赤いマウス・ボタンを押し、非接続出力端子を接
続する。
rexecute diagram Jの選択の後、短
い休止があり、そして、プロセッサがソフトウェア内の
関連した機能を実行するので、各ブロックは、「反転映
像」になる、いくつかのブロックは、ユーザが位置を特
定するように促し、1組の信号データの出力を表示する
0位置を特定した後、ブロック図の実行を持続する。図
を再実行し、データ表示ウィンドウがまだ存在している
と、新たなデータが自動的にこれらウィンドウに送られ
る。
第16図のブロック図の部分的実行の後、表示器56に
現れるウィンドウの例を第16a図に示す、ウィンドウ
172は、デジタイザ74からコンピュータ・システム
50への出力波形を表示する。動作のこの点にて、信号
ビュー・メニi 174を呼び出して、ユーザは、デジ
タイザの信号取り込みウィンドウを変更できる。
2、2.6  ブロック・パラメータの変更しかし、図
の実行中、ユーザは、図形表示器56の信号取り込みウ
ィンドウを変化させることにより、デジタイザの動作を
相互作用的に変更できる。
第16a図、第17図、第17a図、第18図及び第1
9図は、ユーザの視点からのこの手順を示す、第5章で
は、この能力の初期構成及び動作を説明する。
ユーザは、第16a図のメニュ173上の信号ビュー制
御の所望形式を選択する。この例では、ユーザは[ズー
ム・イン(zoos 1n)Jを選択した。
このコマンドは、標準スモールトーク80のルーチンを
呼び出し、ユーザに矩形174を指示するように促す、
この矩形は、ユーザが関心のある信号部分を取り囲む、
この矩形は、表示した信号よりも小さくも大きくもでき
るが、第5章で説明するごとく、その有効性は、制御さ
れる試験機器の能力により揮制される。
第17図に示すごとく、この矩形を定義するには、シス
テムが左上隅の記号(図示せず)表示する。この記号は
、ユーザがマウス・ポインタ・ボタンを押し続けること
により、位置決めする6次にユーザは、マウス・ポイン
タを移動して、矩形174の右下隅の位置を決め、ボタ
ンを離す、指示された領域を可変スクリーン矩形(sc
reenRect)として蓄積し、第5章で説明するご
とく、処理して、矩形174に対応する新たな信号取り
込みウィンドウを確立する。
第17a図は、矩形174が特定した新たな信号取り込
みウィンドウを用いてブロック図を部分的に実行した後
のウィンドウを示す、新たな波形をウィンドウ172内
に表示する。これは、第16a図に示した波形に対応す
るが、新たに取り込んでデータを元にしており、前の実
行で処理し、蓄積したデータを単に拡大したものではな
い。
ユーザは、波形が所望のものを示しているかを判断する
。示していなければ、ユーザは、再び信号取り込みウィ
ンドウを変更できる。満足すると、第18図に示す如く
、ユーザは、ウィンドウ104からパラメータ・ビニ−
170を再び呼び出す。
表示された値は、所望の取り込み矩形174から得たも
のである。この時、ユーザは、質問「取り・込みウィン
ドウの使用(Else acquisHion win
dow)Jに「イエス(Yes) Jと答えることによ
り、ブロック図の完全な実行のための値を選択する0代
わりに、ユーザは、メニュ173(第16a図)を再び
呼び出し、「取り込みウィンドウの使用(Useacq
 window) Jを選択して、同じ機能を実行でき
る。
次に、図を完全に実行すると、第19図に示すような結
果となる。ウィンドウ172は、所望の取り込み矩形1
74用のデジタイザ出力波形を再び表示する。グラフ・
ブロック164への接続により特定した如く、ウィンド
ウ17Bは、極分析ブロック152の振幅出力のグラフ
を表示する。
2、2.7  マクロの生成 時々、いくつかのブロックを一緒にグループ化し、それ
らを1つの機能ブロックのように扱うのが望ましい、こ
れは、第20図に示すように、「マクロ組み立て(bu
ild +5acro)Jメニュ機能を用いて行う、マ
クロ内に含めようとする総ての機能は、エディタ・ペイ
ン104内に現れなければならず、また、適切に接続さ
れなければならない。
ユーザは、エディタ・ペイン内にカーソルを位置決めし
、ブロックエディタ(BIockEdi tar)・メ
ニュl12からrbuild macro Jを選択す
る。第21図に示す如く、カーソルは、矢印から渦巻き
114aに変化する0次にユーザは、各ブロック上にカ
ーソルの位置を決め、1度赤いボタンを押して、そのブ
ロックをマクロに含ませる。ブロックは、選択されると
、強調される。
マクロに含める総てのブロックを選択すると、ユーザは
、カーソルをエディタ・ペインのオープン領域に移動し
、赤いボタンを2回押す、第22図に示す如く、強調し
たブロック及び関連した接続を表示スクリーンから消去
し、ボックス176内に名前をタイプするようにユーザ
を促す、特有の名前をそのマクロに付けて、既に利用し
ている他のブロックの名前と区別しなければならない。
名前を付けると、カーソルはマクロ・ブロックを示すよ
うに変化し、これは第23図に示すように、回内に位置
決めできる0次に、マクロ内のブロックからマクロ外の
ブロックへの接続線を引き直す。
第21図において、ユーザは、ブロック150゜152
.162.164をマクロに含めるとして選択した。第
23図において、名前を割り当てた後、これら総てのブ
ロックの機能を単一のブロック180に含ませ、「マグ
スペクトラム(magspectrum) Jと名付け
る。これは、マクロを生成する「ボトム・アンプ」方法
である。
マクロを生成すると、このマクロは、他の任意のブロッ
クと同じように働き、ペイン106の資源リストに付加
できる。第24図において、ブロックを資源リストに付
加するために、ユーザは、赤いマウス・ボタンを押しな
がらマウスを用いて、そのブロック資源リスト・ベイン
内に引きずり、赤いマウス・ボタンを離す。マクロは新
たに生成したブロックなので、その名前をラベル182
として資源リストに付加する。ブロック180は、その
最後の位置に表示され続ける。
マクロを生成するには、2つの「トップ・ダウンJ方法
もある。先ず、未定義の機能名、例えば、「エンプティ
・マクロ」をユーザ用の資源リストベイン106内に含
めることができ、エディタ・ペイン104内で選択し、
位置決めできる。それを位置決めすると、意図した機能
を反映するように再びラベルを付けなければならない、
第2に、ペイン106内に「エンプティ・マクロ」機能
がなければ、ユーザは、カーソルをエディタ・ペイン1
04内に移動し、BIockEditorメニュl12
から「ブロック付加(add blockNを選択でき
る。
ユーザが赤いマウス・ボタンをクリックすることにより
所望位置に移動でき、位置決めできるエンプティ・ブロ
ックを表すようにカーソルが変化する6次に、意図する
機能を反映するようにブロックにラベルを付ける。ブロ
ック・パラメータに対してユーザを促すが、マクロ用に
は何も要求しない、ユーザは、パラメータ・ワーク・ス
ペース内にカーソルを位置決めでき、括弧間の総てを削
除でき、Block[!ditorメニュから1受は入
れ(acceptllを選択できる0次に、ユーザは、
ブロック・メニュ116から[マクロになる(beco
翔e macro) Jぞ選択する0次にこのブロック
をエンプティ・マクロにする。
2、2.8  マクロの編集 マクロを&I集するために、ユーザは、カーソルをマク
ロの内部に移動させ、マクロ・メニュから「エンタ・マ
クロ(enter macro)Jを選択する・次に、
新たなマクロ拡張BIock[!diLorビュー用の
スクリーン位置に対して、ユーザを促す、このビューは
、そのタイトル・タブとしてマクロのラベルを具えてお
り、マクロが編集されていることを示す。マクロがエン
プティならば、エディタ・ベインはエンプティであり、
そうでなければ、マクロを構成するブロックを表示する
。1つの例外はあるが、この図を最高レベルのブロック
図のように&I集できる1編集期間が終わると、ユーザ
は、racceptJを選択して編集したマクロをセー
ブするか、「キャンセル(cancel) Jを選択し
て、最後のr accep t Jからの総ての変化を
削除する。そして、マクロ拡張B1ockEdi to
rビニ−を閉じる。
次に、ユーザは、(マクロ内にマクロがあり、1つのマ
クロがいくつかの下のレベルならば)カーソルを次に高
いBIockEditorビューに移動させ、Bloc
kf!ditorメニュl12から「塗り直しくrep
aint) Jを選択する。マクロ、例えば、入力出力
端子の数に対する任意の外部変化を表示する。
接続線が初めから接続されているマクロ内のブロックを
他のブロックに接続するか、又は除去すると、これら接
続が破壊されるm  rrepaint Jの前に図を
編集した結果は、不確定である。
マクロ内のブロックのパラメータを決めるために、ユー
ザは、マクロ・メニュ内のrenter macroJ
を選択する。次に、ユーザは、上述した如く、マクロ内
の各ブロックのパラメータを独立に決め、パラメータの
各組に対して「a(cep目を入力し、全体として、マ
クロに対してracceptJを入力する。そして、マ
クロ拡張BIockBditorを閉じる。
2、2.9  ブロック情報の調査 マクロが内部ブロックを含んでいるように、ブロックは
、原文の文書、又はそれに関連した配線図の如き情報を
具えている。この情報を調査するためには、ユーザが、
ブロック・メニュからrenter block Jを
選択する。ブロックに情報がないと、何も起きない、ブ
ロックに何らかの情報があると、表示位置を指定するよ
うにユーザを促す。
第25図において、予め蓄積した背景情報を調査するた
め、ユーザは、被試験装置であるブロック118を選択
した。ブロック11Bのレベルの下の第ルベルにて、被
試験装置の下調べした回路図を第25a図に表示する。
第26図において、ユーザは、回路図の中心に集積回路
を選択した。
この選択には、2つのオプション、即ち、[オープン・
サブレベル(open 5ublevel) J及び[
情報(information) Jがある。rinf
ormation Jオプションにより、ユーザは、第
27図に示す如く、この装Tl bi関するメモを検査
したり、付加することができる。ropen 5ubl
evel Jは、第28図に示す如く、選択した回路装
置用のブロック図を持ち出す。初め、この情報は、この
回路装置に関するデータ・ブックから供給される。そし
て、このデータ・ブックは、ユーザが入力できるし、オ
ンラインで得ることもできるし、ペングーからマシンが
読み取れる形式で得ることもできる。ブロック図を選択
することにより、ユーザは、再び2つのオプション[0
ρen 5ublevell及び)informati
onlを用いて、詳細な他のレベルに降りることもでき
る。第29図は、第28図のブロック図に関する原文情
報示す。第30図は、第28図のブロック図のブロック
の1つの回路図を示す。
2.2.10  他のブロック編集機能図示しないが、
ブロック図場集(エディタ)プログラムには、多くの機
能がある。しかし、これら機能は、メニュ上に現れる。
これらの動作を以下に説明する。
全体図を消去するために、ユーザは、 BlockEditorメニュ内の「クリア(clea
r) Jを選択する0図を本当に消去しようとしている
のかを、確認プロンプトがユーザに質問する。「yes
Jを選択すると、図を完全に消去する。rnoJを選択
すると、制御が旧ockEditorに戻り、変化しな
い図が残る。
また、ソフトウェアにより、ユーザは、ブロックの入力
端子及び出力端子に関連したラベルを表示できる。ユー
ザが、旧ockEdi torメニュから[ラベルを示
す(show 1abelsNを選択すると、現在表示
しているブロックの総ての入力端子及び出力端子用のラ
ベルが現れる。ラベルを伴わないで図を戻すには、ユー
ザは、BlockEdi、torメニュからrrepa
int Jを選択する。入力ラベル又は出力ラベルを変
更するために、ユーザは、ブロック・メニュから[ラベ
ル入力(label 1nput) J又は[ラベル出
力(label output) Jを選択する。カー
ソルは、ラベル入力カーソル又はレベル出力カーソルに
変化する。ユーザは、新たにラベルを付けるべき入力端
子又は出力端子の最上部の上にカーソルを位置決めし、
赤いマウス・ボタンをクリックする。プロンプトが現れ
て、ユーザに新たな名前をタイプ入力することを要求す
る。タイプ入力が完了すると、このモードから抜は出す
ために、ユーザは、旧ockEditorメニュから「
クリア・モ。
−ド(clear mode) Jを選択する。新たな
ラベルを調査するために、ユーザは、上述の如く、Bl
ockEditorメニュからrshow 1abel
s Jを選択する。
このシステムは、更に、ユーザにエラー・メツセージを
与える。エラー・メツセージを発生する動作のいくつか
は、出力端子を出力端子に接続しているか、入力端子を
入力端子に接続していることや、他のブロックに近づき
過ぎたブロックを配置したことや、入力又は出力端子に
2つ以上の接続をしようとしていることがある。赤いマ
ウス・ボタンを押すと、エラー・メツセージが消えるの
で、ユーザは、編集を持続できる。ユーザが、ブロック
を位置決めする以外のことをする場合、赤いマウス・ボ
タンを離して、編集を続ける。ブロックを位置決めする
場合、ユーザは、カーソルを所望のブロック位置に移動
して、赤いボタンを離す。
2.2.11  資源リストにブロックを付加する資源
ペイン106内に示す如く、システム資源グーストにブ
ロックを付加できる。ブロックを付加する手順には、2
つの大きな部分(ステップ)がある。すなわち、第1ス
テツプは、スター・インタフエース機能を機能実行ライ
ブラリ・ソフトウェア(第3図)に付加して、ブロック
を実行できるようにする。第2ステツプは、ブロックを
資源リストに付加する。この手順の第1ステツプは、4
.5章で説明するが、ブロック機能組み立て手順を詳細
に述べている。
スター機能を生成した後、ユーザは、次のようにこの機
能をBIockEditor資源リストに付加する。
すなわち、ユーザは、旧ockl!ditorメニュか
ら、「ブロックを付加(add blockNを選択す
る。次に、ユーザは、資源リストに付加したいと望むだ
けのブロックをエディタ・ペイン内に配置する。
そして、ユーザは、ブロック・メニュから[入力を付加
(add 1nputNを選択し、各人力を付加すると
、ブロックの左側上で赤いマウス・ボタンをクリックし
て、入力円の適切な数を付加する0次に、ユーザは、[
出力を付加(add output) Jを選択して、
ブロックの右側に出力点を付加する。
多過ぎる入力又は出力を付加する場合、ブロック・メニ
ュから[人力除去(remove 1nput) J又
は「出力除去(remove output)Jを選択
して・入力又は出力を削除する。ユーザは、除去すべき
入力又は出力の上にカーソルを配置し、赤いマウス・ボ
タンをクリックする。そして、入力及び出力の正確な数
をエディタ・ペイン内のブロックに与えると、ユーザは
、「クリア・モード(clear mode>Jを選択
する。
次に、ユーザは、旧ockEditorメニュから「ラ
ベル・ブロック(label blockNを選択し、
ラベルを付けるブロックを選択する。実行管理スター・
ルーチンの名前により、ブロックにラベルを付けなけれ
ばならない。初めのブロック・ラベルは、ブロック機能
を示し、ブロックに新たなラベルを付けたときでも、常
に覚えておく。
次に、以下の行を編集して、ブロック・パラメータを作
るようにユーザを促す。
#(’questionl” answerl” qu
estion2” answer2’’@uestio
n3” answer3” question4” a
ns@er4’’question5” answer
5” question6” answer6”)この
行が現れるワークスペースは、標準スモールトーク・エ
ディタを含んでいる。ユーザは、rquestion*
 Jを、適当なデフォルトの答えを存するパラメータr
answerm Jの名称と置き換え、質問及び答えの
周りの引用符を残す、ユーザが答えを1&11のボタン
とすることを望むならば、ranswerm J  (
引用符を含む)をI(’buttonl””butto
n2”’buHon3”)で置き替える。以下の例に示
すように、このボタンに与えるラベルは、回実行の際に
スター・ルーチンに送った実際の原文(テキスト)であ
る。ユーザは、必要に応じて、更に質問/答えの対を付
加することができ、利用しない対を削除しなければなら
い。ブロックに任意のパラメータがなければ、ユーザは
、括弧間の総てのテキストを選択し、それを削除する。
次に、パラメータを特定すると、ユーザは、エディタ・
ペイン内の[1lockEditorメニユからrac
ceptJを選)尺する。
例として、「極(polar) Jブロック・パラメー
タを次のように特定する。
1(’units’ l(’RAD” GRAD” D
EGRB[!’)’unwrap’  I(’TRUE
” F^LSE’)  ’delay” 1.0)この
時に、ユーザは、ブロック入出力端子の意味のある名称
を与えることができ、望むならば、ブロックに新たにラ
ベルを付けることもできる。ブロックを終了すると、上
述の如く、ユーザは、そのブロックを選択し、資源リス
ト・ペイン104内にそれを位置決めする。
2、2.12  シミュレーション・ブロック電子回路
及び他の物理的装置の開発において、装置を作る前に、
その装置のコンピュータ・シミュレーションを行うのが
従来の方法である。装置を組み立てると、その装置を試
験し、その動作をシミュレーションの結果と比較する。
従来は、これらステップを独自の逐次動作により実行す
るが、典型的には、比較器を手作業で行っている。これ
には、時間がかかり、誤りを侵し易く、代わりの動作状
態を試験する機会は少ない。
一本発明によれば、シミュレーションが可能となり、シ
ミュレーション及び実際の試験データとの比較が可能に
なる。これは、被試験装置用のシミュレーション・プロ
グラムを機能ブロックとして付加すると共に、第2.2
.9章で得た情報を付加することに、より行う。第2.
2.l1章及び関連した章にて説明した手順に応じてか
かるブロックを付加する。
3.0  ブロック・エディタの内部構造この章では、
BlockEditorプログラムを構成する23個の
スモールトーク・オブジェクト・クラスの全体と共に、
それらの関係を説明する。この章を通して、従来のスモ
ールトークの命名法を用いる。すなわち、クラス名及び
グローバル変数には、頭文字を用い、クラスのインスタ
ンスには頭文字を用いない。
3、1  ブロック・エディタの中心のクラスブロック
・エディタを、2つのビューコントローラ対を有するモ
デルとして、簡単に説明する。
このモデルは、BIockEdi torビュー (B
IockEditorνfew) −Block[!d
itor(BIockEditor)及びブロックリス
トビュー (BlockListView)−ブロック
リストコントローラ(BIockListContro
ller)である2つのビューコントローラ対を有する
クラスUniverseである。第1a図はこれらの関
係を示し、点線が従属関係を示す。
3.1.I  Universe クラス1lniverseは、データ・ベース87(第
1図及び第1C図)に、ブロック図及びシステム資源に
関する総てのデータを保持している。このデータ・ベー
スが含むブロック及び接続データ構造を実行マネジャに
送り、IBLO3IM(第1C図のブロック354及び
356)による実行の準備として、図スキャナ352に
より前処理する。tlniverseのインスタンス変
数は、次の通りである。
blocks ニブロック及びギャラクシ(即ち、ブロ
ックのグループ(スター))の辞書であり、これは、対
応するdisplayBIock (表示ブロック)及
びdisplayGalaxies(表示ギャラクシ)
を指示する。
ブロック及びギャラクシは、ブロック図のブロック及び
マクロスに対応する。
connections  :displayConn
ections (表示接続)を指示する接続の辞書で
ある。
5aveBlocks ニゲローバル変数Canned
BIocksListを指示し、この変数は、ブロック
・エディタが利用できる資源を含んだ辞書である。この
リストをBlockListView内に表示する。C
anneBIocksListのフォーマットは、ブロ
ックと同じである。
dataDisplays :  (グラフ又はスケー
ラ・ブロックの如き)データ表示機能を実行するブロッ
クの名称を含んだ辞書。入力が、実際のデータ表示をす
る対応オブジェクトを指示する。
1istIndex  : BIockLlstVie
i+内の現在選択された資源のインデックス。
onGalaxy :このBlockEditorがギ
ャラクシ(マクロ)を編集しているならば真で、そうで
なければ偽のプール値。
currentGalaxy  : onGalaxy
が真ならば、これが編集するギャラクシ(マクロ)を指
示する。
modeIPtr : onGalaxyが真ならば、
元のユニバース又はギャラクシに戻る。
3.1.2  BlockEdttorこのB 1oc
ked i torクラスは、ブロック・エディタ用の
コントローラである。これは、総てのマウスの動き(キ
ーボードの動きは、通常、他のクラスが要求する)を受
け、必要ならば、ユニバースにそれ自体を変更すること
を依幀する。接続の付加/移動、又はギャラクシの組み
立ての如きいくつかの動作は、コントローラが多くの量
のデータを集め、それをユニバースに転送することを求
める。また、旧ockf’diLorは、実行マネジャ
を開始させる方法も含んでいる。旧ockEd i t
orのインスタンス変数には、次のようなものがある。
forv :カーソルの現在の形状を収容している。
tool ニブロック・エディタがモード(例えば、入
力付加モード)の場合、これは、赤いボタンがクリック
されたときに実行する方法のシンボルを収容する0通常
、これは皆無である。
currentsel :現在選択されたブロック又は
接続を収容する。
3.1.3  BlockEdltorVLowBlo
cl(liditorViewクラスは、Univer
se及びBlock1Editor用のビューである。
これは、ブロック・工ディタ用の総ての表示の動きを扱
う。BIockEditorVie−は、かなり標準的
なビューであり、インスタンス変数を具えていない。
3.1.4  BlockListControlle
rBIockListControl lerは、資源
リスト・ペイン用のコントローラである。その存在理由
は、資源リスト・ペインの黄色のボタン・メニュの付加
である。
3.1.5  BIockListViewこれは、資
源リスト・ペイン用のビニ−である。
標1selectionlnLisLVie−プラグ可
能なビューが、クラスUniverseからの放送メソ
セージを理解しないので、これを用いる。
3.1.6  Block このBlockクラスは、各ブロック用の総てのロジッ
ク・データを管理する。Blor:に用のインスタンス
変数は、次のようなものである。
1nputs ニブロック入力名称の0rderedC
ollecLionsこのリストは、クラスDispl
ayBlock内の入力インスタンス変数と1対1で対
応する。
outputs  ニブロック出力名称の処理を除いて
、1nputsと同じ。
name ニブロックの名称。displayBloc
kラベルは、nameから得る。
function :このブロックに関連したIILO
3[Mスター・ルーチンの名称。
para+eeters :このブロックのパラメータ
を収容したArraya insidelhfo :このブロックに関してユーザ
が見ることのできる情報に対するポインタであり、現在
、SchemaLicsに限定されている。
3、]、7  DisplayBlockこのDisp
layBIockクラスは、ブロックの表示に関連する
総てのデータを管理する。DisplayBlock用
のインスタンス変数には、次のようなものがある。
position : BlockEdiLorビュー
内のブロックの左上隅の位置。
form ニブロック形状のコピーであり、総てのブロ
ックが同じ大きさでないので、必要になる。
extent ニブロックの大きさ。
J’BIock  : displayBIockのブ
ロックに対するポインタ。
Inputs : Yオーダ内に蓄積されたブロック入
力を表す点の0rderedCollection *
outputs  : Yオーダ内に蓄積されたブロッ
ク出力を表す点の0rderedCollection
 。
1abel : displayBIockの名称を表
すDisplayText。
1nputExtent、 ouLputExtent
、 1abel[!xtent :各範囲(exten
t)は、displayBIockが存在できる最小の
範囲を表し、夫々入力、出力及びラベルを表示するのに
充分なだけ大きい。実際の範囲は、3つの内の最大のも
のである。
parameters :このdisplayBIoc
k用のblockParamsを指示する。
3.1.8  Connection この接続クラスは、ブロック間の接続に関する情報を維
持している。Connection用のインスタンス変
数には、次のようなものがある。
fromBlock  :接続元のブロックの名称。
blockOutput  :接続元のfrom+Bl
ockの特定の出力の名称。
toBlock:接続先のブロックの名称。
blocklnpuL :接続先のtoBlockの特
定の入力の名称。
3.1.9  DisplayConnect+onこ
のDisplayConnectionクラス、即ち、
標準スモールトークのクラスLinearFitのサブ
クラスは、接続の実際の表示に関連したデータを扱う、
大部分のデータ蓄積及び表示は、Linearpitに
て処理される。インスタンス変数は、次のものだけであ
る。
myconnection : displaycon
nectionに関連した接続に対するポインタ。
3.1.10  Ga1axy このGa1axyクラスは、マクロに関する情報を維持
する。これは、Blockのサブクラスである。
Ga1axyのインスタンス変数には、次のものがある
blocks :ギャラクシを構成するブロックの辞書
Universe内のブロック辞書のように正確に構成
すconnections  :ギャラクシに対する総
ての内部接続の辞書。Universe内の接続辞書の
ように正確に構成する。
1nCo口nections  :マクロ図の入出力に
対してブロック人出力をマツプするギャラクシの内部対
外部の接続の0rdered Co11ections
3.1.11  DisplayGalaxyこのDi
splayGalaxyは、DisplayBlock
のサブクラスである。displayBIock及びd
isplayGalaxy間の違いは、display
Galaxyがパターンで満ちていることのみである。
これには、インスタンス変数がない。  “ 3.2  ブロックParameterization
を支持するクラスブロック・エディタは、第1b図に示
す如く、ブロック・パラメータ取り込みを管理する多く
の支持クラスを具えている。対応するdisplayB
lockに最初にラベルを付けるとき、各ブロック用の
実際のパラメータが生成される。第2.2.11章で述
べた如く、リストにおける項目用のパラメータを代用す
るようにユーザを促す。ブロック・メニュからrset
 parametersJを選1尺するときは常に、f
romFilloutViewを作成するのに用いる原
形(テンプレート)を組み立てる0表示ブロックないの
パラメータ・インスタンス変数は、そのブロック用のb
lockParamsを支持する。
3.2.1  B1ockParamsBIockPa
ra+Ilsは、ブロック・パラメータ用のfor+m
Filloutを作成するのに用いる質問及びデフォル
トの答えの原形を収容している。2つ以上のdispl
ayBIockは、同時に表示スクロール上にform
Filloutを有することができ、ユーザは、それら
を同時に編集できる。formFillouLがrac
ceptJを受けると、それは、メツセージrfini
shllpJをblockParamsに送る。そして
、blockParamsは、新たなパラメータ値を原
形(テンプレート)に蓄積し、この新たなパラメータ値
をdisplayBlockに送る。BlockPar
ams用のインスタンス変数には、次のようなものがあ
る。
template : 3要素0rderedCol 
1ectionsの0rederedCollecti
ons 3要素orderedcollectionは
、1つのパラメータを表す。第1の要素は、「立ち上が
り時間(risetime) J又は「ユニット(un
its)Jの如きパラメータ名を含んだ文字列である。
第2の要素は、(単一の値がつけられたパラメータ用の
)デフォルトの答えか、(第14及び第15図に示す如
きボタン用の)文字列の配列である。第2の要素は、r
 1.5 J又はl (’ RAD“’GRAD” D
EGREE!’)の如き値を含むことができる。第3の
要素は、r 1. ? J又はr DEGREE! J
の如き現在の答えである。
formFilloutの生成期間中、このformF
il 1out内のパラメータ名の後に矢印を付加する
showDefaults :真ならば、デフォルトの
答えを示し、偽ならば、現在の答えを示すプール値であ
る。
ansOc  : formFILLouLを受は入れ
たときに実行されるBlockContext内に用い
るanOrderedCollections新たなパ
ラメータは、ansOcに蓄積する。
displayBIock :このblockPara
msに関連したdisplayBIockに戻るのを指
示する。
3.2.2  FormFillout標準スモールト
ーク・クラスFillInTheBlankのサブクラ
スであるFormFilloutは、質問及び答えの収
集を行い、答えをrA集することをユーザに促す、そし
て、ユーザは、任意の編集を実行するが否かの答えを受
は入れる。これが、formFilloutViewを
閉じる。FormFilloutは、ForaFill
outView及びFors+Fillout Con
troller用のモデルである。
porIIpillout用のインスタンス変数には、
次のようなものがある。
okayToLeave  : fora+Fillo
utを予定するならば真で、fors+Pillout
が制御を有するならば偽であるプール値。
BlockParam : formFilloutを
呼び出すblockParamsに戻るように指示する
。これを用いて、新たなパラメータをどこに送るかを判
断する。
3.2.3  FormFilloutControl
ler FormFilloutControllerは、Fo
rmFillout用のコントローラである。これは、
受は取るメソセージを待ち、そして総てのサブコントロ
ーラに受は取り動作を実行するように伝える。これには
、インスタンス変数がない。
3.2.4  FormFilloutViewFor
mPillouLViewは、FormFillout
用のビューである。これは、FilllnTheBla
nkViewのサブクラスである。FormF i l
 lou tV iewは、ビューを組み立て、コント
ローラを開始させる。formFilloutView
はSmessage−answerV:e一対で構成さ
れ、これは、基本的には、垂直方向の代わりに水平方向
に表示されるfilllnTheBlankViews
である。buttonVieiysは、それらの接続器
としてのValuellolderを有する0neOn
Buttonsのグループである。FormFillo
utVie−には、インスタンス変数がない。
3.2.5  HorizFillln’TheBla
nk。
HorizFil lInTheBlankView、
   SimpleMinded−Controlle
r これら3つのクラスは、垂直ではなく水平に表示される
FilllnThe旧ankを構成する。これらをfo
rmFilloutView内に用いる。
3.2.6  ’l’emplaLe BlockParamsがTemplateを用いて質
問/デフォルトの答え対を得る。Templateのイ
ンスタンス変数は、次の通りである。
text :質問/デフォルトの答え対を生成するため
にユーザが編集する文字列である。その結果の配列を旧
ockParamsに戻す。
3.2.7  ValueHolderValuell
olderを用いて、現在選択されたボタン(例えば、
第14図のパラメータ・ビュー168内の1 =sin
es  2 =Sqtlare% 3 =Lriang
le)の値を蓄積する。valuellolderがf
ormFilloutControl lerからの受
は入れメツセージを受けると、blockParams
に蓄積すべきその値を送る。Va 1ueHo Ide
r用のインスタンス変数には、次のようなものがある。
νalue  :現在選択されたボタンのラベル。
acceptBlock  :受は入れメツセージを受
は取ると、valuellolderにより評価される
旧ockcontext。
3.3  付加的な支持クラス プロツク・エディタは、3つの付加的な支持クラスを具
えており、これらは、XYスクローリング及びグリッド
上でのBlockEditorビューの位置合わせを処
理する。
3.3.I  XAxiaScrollControl
ler XAxisScrollControllerは、X軸
スクロール・バーを用いるスクロール用の制御を表す。
これは、X軸スクロール・バーを生成する5crol 
IControllerのサブクラスである。y軸スク
ロール・バーと同様な方法で、X軸スクロール・バーを
制御す、る。
XAxiaScrollController用のイン
スタンス変数には、次のようなものがある。
xscrollBar :内側が白く、外側が矩形。
x’Aarker :内側が灰色で、内部が矩形。
xSavedArea : xscrollBarが重
なる領域であり、xscrollBarが隠れる度に、
再蓄積する。
3.3.2  GriddeTopViewGr 1d
dedTopV ie−は、旧ockEditorビュ
ーが6×6のグリッド上に常に合うようにする。これは
、方法getFrameを変更して行う。これは、移動
又は崩壊の問題をな(し、ブロック・エディタを再動作
させ、直線を引けないようにする。GriddedTo
pVie−には、インスタンス変数がない。
3.3.3  OrjddedTopViewCont
roller GriddedTopViewControllerは
、blueButtonメツセージrclose J及
びrmoveJを変更する。closeの変更は、確認
文により、早まってブロック・エディタを閉じる防ぐ。
moveの変更は、BIockEdi torビューを
6X6のグリッド上に常に一致させる。
GriddedTopViewControllerに
は、インスタンス変数がない。
3.4  ブロック・エディタの内部構造第31図〜第
41図は、ブロック図エディタの状態図である。マウス
移動及びボタン押しの結果、システムの状態が主に変化
する。
主制御ループ状態図(第31図)において、スモールト
ーク・ステートメント BlocklEditor openOn: (Uni
verse new)を発することにより、エディタが
開始する。総てのパラメータがその初期状態に設定され
て、ブロック・エディタが開始する。Universe
インスタンス変数は、次のように設定される。
blocks:  empty dictionary
connections:  erapty dict
ionarysavedBlocks:  Canne
dBlocksListdataDisplays: 
 empty dictionarylisLInde
x:   n1l onGalaxy:  false currenLGalaxy:  nil+nodel
Ptr:   n1l BlockEdiLorインスタンス変数は、次のよう
に初期化する。
forw+:  arrow cursor form
tool:  n1l currentsel:  n+1 次に、第7図に示す如く、ウィンドウ100を生成する
。 1lniverse 5aveBIocks辞書か
らYt源リス)106内に入力を行う、(マウスで選択
することにより)このウィンドウを活性化すると、「主
制御ループJ200(第31図)が制御を行う。B L
ockEd i torウィンドウ100(第6図)内
の時、マウス・アクティビイティが実行される3つの領
域、即ち、編集ペイン104、資源リスト・ペイン10
6及びタイトル・タブ・ペイン102がある。これら領
域の1つに(マウスにより)カーソルを移動することに
より、その領域の制御ループ状態を、第31図の「エデ
ィタ・ペイン制御ループ」201、[資源リスト・ペイ
ン制御ループ」202、「タイトル・タブ制御ループ」
203の1つに入れることができる。
マウス・ボタンを押すと、制御状態が適当なボタン・ア
クティビイティ状ff!204.205.206.20
7又は208に変化する。青ボタン′・マウス・アクテ
ィビイティ206は、マウス・カーソルが位置する領域
から独立していることに留意されたい、各状態のアクテ
ィビイティを次に説明する。
3、4.1  エディタ・ペイン赤ボタン・アクティビ
イティ状態 エディタ・ペイン106内の間、赤ボタン(ブロック2
04)は、プロレフの配置を制御すると共に、図を接続
する。この編集のマウス・ボタン・アクティビイティは
、全体的なアクティビイティを第32図に、接続の描画
を第32a図に、ブロックの移動を第32b図に、接続
の移動を第32e図に夫々示す、参照番号及び図番によ
り、各アクティビイティをブロックとして識別する。
ブロック及び接続を図において機能的に扱い、それらの
動作を以下に説明する。
3、4.1.1  カーソル点21O(第32図)にて
ブロックを描画 DisplayBlockが特定した形状(例えば、矩
形)であり、カーソル位置に配置されたカーソル点にブ
ロックを描画する。
3、4.1.2  解除/非強調ブロック211及び選
択/強調ブロック212(第32図) カーソルの形式により、ブロック選択を内部的に確認す
る。ブロックを選択して、カーソル形式(BlockE
ditor rformJ )をそのブロックにする。
同様に、ブロック解除により、カーソルを通常(矢印)
カーソルに設定する。ブロック形状のビクセルを中間形
状とピント的に論理積とし、その結果を表示することに
よりブロックの強調を行う。
ブロックを非強調にすると、通常形状でのブロック描画
に戻る。
3、4.1.3  接続を選択し強111213(第3
2図)接続を選択して、カーソル形式(B1ockEd
itorrfor+sJ )を接続に設定する。接続を
表す実線を中間形状と論理積として、その接続を強調す
る。
3、4.1.4  接続を描画214(第32図及び第
32a図) 非接続出力上でマウス・ボタンを単一クリックすること
により、接続描画状態214に入る0次のインスタンス
変数により、Connectionの新たなインスタン
スを次のように生成する。
froaBlock  :丁度クリックした出力を含む
ブロック。
blockoutput  :丁度クリックした出力の
名称。
toBlock  :ゼロ。
blocklnput :ゼロ。
また、displayconnectionの新たなイ
ンスタンスを生成し、次のように初期化する。
collectionofPoints :エンプティ
・リスト。
myconnecLion :丁度生成したConne
ctionインスタンスのポインタ。
カーソルを移動しく状a220)、所望位置でクリック
(状$221.222)して、綿の方向を変更すること
により、接続を構成する。境界点の各々の図上の位置を
rcollectionOfPointsJに付加する
非接続人力ブロック・パッドに達するまで(状態223
)、又は、他の出力又は接続入力パッドに達するまで(
状[224)、この処理を継続する。非接続入力に達す
ると、r toBlock Jが、入力を含むブロック
に設定され、r blockInputJが入力の名称
に設定される* displayconnection
オブジェクトを、Universe r接続」辞書に付
加する。
3、4.1.5  ブロック移動216(第32図及び
第32b図) カーソルがブロック内の際にマウス・ボタンを押すと、
ブロック移動状1216となり、ボタンを押している間
にカーソルを移動させる。ボタンを押している間(状態
225)に、カーソルに続いて、ブロックを連続的に再
描画する。カーソルがエディタ・ペイン104内の期間
に、ボタンを離すと、現在のカーソル位置にて、ブロッ
クを描き(状B227)、このブロックへの多くの接続
゛を再描画する(状a228)、そして、Displa
yBlock  rposiLLo口」を現在のマウス
位置の座標に設定して、ブロック・データ・ベースを更
新し、ブロックの新たな位置を示す、エディタ・ペイン
の外のカーソルに対してボタンを開放すると、ブロック
を削除しく状態229)、このブロンクヘ′の接続を削
除する(状態244)。
3、4.1.6  接続移動218(第32図及び第3
2c図)カーソルが接続上に来ると、接続移動状態21
8に入り、ボタンを押している間、カーソルが移動する
。接続移動には、2つの形式がある。すなわち、接続の
出力端の移動(状態230)と、接続の入力端の移動(
杖[231)とである、これらは、ボタンが押され続け
ている間、カーソルの後に続いて接続線が連続的に更新
される(状態232又は239)のと同様な方法で動作
する。ボタンを離した時にカーソルがどこにあるかによ
り、登録する最終状態を決めて、接続を移動させる。接
続の入力端を移動させる際、接続を好結果で移動さセる
ために、最終カーソル位置は、未使用の入力パッド上で
なければならない、同様に、接続の出力端を移動させる
際、カーソルは未使用の出力パッド上で終わらなければ
ならない(状11233)。
カーソルがエディタ・ペインの外でボタンを離すと、接
続が削除される(状態236)、他の終端点はエラーと
なり(状態234.235.237)、接続を変更しな
い。
新たな位置がうまく確認されると、Connectio
nインスタンス変数r fromBlockJ、r b
lockOutputJ、r toBlock J及び
rblocklnputJを更新して、変更が行われた
ことを示す。
3、4.2  第33図によるエディタ・ペイン黄色ボ
タン・アクティビイティ状態205の詳細エディタ・ペ
イン106の間、黄色ボタンの制御は、エディタ・ペイ
ン内のどこにカーソルがあるかにより決まる。アクティ
ビイティを4つの可能状態に分離するが、これら状態は
、マウスの位置及びブロック・エディタがどのように開
いたかにより決まる。これら状態遷移は、ブロック内の
カーソル(状態240)、マクロ内のカーソル(状11
i241)、ブロックの外のマクロ及びカーソル上に開
いたブロック・エディタ(状態242)、図の最上位レ
ベル及びブロック外のカーソル上で開いたブロック・エ
ディタ(状態243)である。
3、4.2.1  ブロック・メニュ・アクティビイテ
ィカーソルがエディタ・ペイン内で、ブロック内部であ
り、黄色ボタンを押すと、常に、状態205からブロッ
ク・メニュ・アクティビイティ状態240 (第34図
)が登録される。この状態を登録すると、第13図に示
すように、ポンプアップ・メニュ116が現れる。これ
らメニュ項目の1つを選択すると、第34図に示す如く
新たな状態に入る。これら状態の3つは、ブロックへの
入力の処理を扱い、更に第34a図に拡張される。また
、これら11の3つは、ブロック出力を扱い、第34b
図に拡張される。他の状態は、次の通りである。
ブロック内部形状をマクロ内部形状に変換252(第3
4図): 次のインスタンス変数によりGa1axyの新たなイン
スタンスを生成する。
Ga1axy  1nputs:    ブロック人力
に設定outputs:   ブロック出力に設定na
me:     ブロック名称 function:   ゼロ parameters: ゼロ 1nsidelnfo: ゼロ この後、DisplayGalaxyの新たなインスタ
ンスを生成し、DisplayBlockインスタンス
変数をDisplayGalaxyインスタンス変数に
コピーする。
新たなGa1axyに変更された旧ockを交換するこ
とにより、Universe rブロック」辞書を更新
する。
内部エディタ・ブロックを呼び出す254(第34図)
: [11ock  rinsidelnfoJインスタン
ス変数がゼロでなければ、この変数が指示するオブジェ
クトをメツセージrediLJにより呼ぶ。ここに配置
された多くのオブジェクトがそれら自体をいかに&[’
Jするかを知っていると仮定する。
fillouLペインからパラメータを呼び出す251
(第3ト図); rset parameters (パラメータを設定
)」メニュ項目を選択すると、口1splayBIoc
k rparameLersJオブジェクト(BIoc
kParamsのインスタンス)を表示制御に渡し、ユ
ーザは、パラメータを編集できる。変更したパラメータ
を「受は入れる」と、現在の値の新たなリストを発生し
、Blockrparametera (パラメータ)
」インスタンス変数に蓄積する。
内部ブロック機能の定義253(第34図) :このブ
ロックが実行すると、BLO3IMが呼び出すスター・
ル〒チンの名称に対して促す。このスター機能の名称は
、Block  rfunction (機能)」イン
スタンス変数内に蓄積する。
入力をブロックに付加する245(第34図及び第34
a図): カーソルは、入力シンボルに変更され、赤ボタンがブロ
ック(状a255)内でクリックされるまで、マウスを
追跡する。[1Iock  r 1nputsJ及びD
isplayBlock r 1nputsJ用の指示
した集合に入力ノードを付加する。DisplayBl
ock rinputExtentJを再計算して、付
加入力を表示するのに十分な大きさを確実にする0次に
、付加した入力によりブロックを再描画する(状B25
6)。
ブロックから入力を除去246(第34図及び第34a
図): カーソルは、重畳されたXにより入力シンボルに変更さ
れ、赤ボタンが入力シンボル上でクリップされるまでマ
ウスを追跡する(状1i 257 )。
この選択された入力ノードを、Block  rinp
utsJ及びD(splayBlock r 1npu
tsJ用の指示された集合から除去する。 Displ
ayBIock rinputExtent Jを再計
算して、表示されたブロックの大きさを小さくできるよ
うにする0次に、除去した入力によりこのブロックを再
描画する(状flit258)。
入力にラベルを付ける247(第34図及び第34a図
): カーソルは、ラベル入力プロンブトに変更され、赤ボタ
ンが入力シンボル上でクリックされるまで、マウスを追
跡する(状態2s 9)、新たな名称をユーザに促し、
このシンボルの名称を変更する(状ff3i260) 
、 Block  rinputsJインスタンス変数
用の選択した入力ノードに関連し、指示した集合内の名
称を変更することにより、このシンボルの名称を変更す
る。
ブロックに出力を付加248(第34図及び第34b図
) : カーソルは、出力シンボルに変更され、赤ボタンがブロ
ック内でクリックされるまで、マウスを追跡する(状f
i3265 ) a Block  routputs
 J及びDisplayBlock routputs
 J用の指示された集合に出力ノードを付加する。Di
splayBlock routputExtentJ
を再計算して、付加出力を表示できるように確実に十分
な大きさにする。次に、付加された出力により、このブ
ロックを再描画する(状態266)。
ブロックから出力を除去249(第34図及び第34b
図): カーソルは、重畳されたXにより出力シンボルに変更さ
れ、赤ボタンが出力シンボル上でクリックされるまでマ
ウスを追跡する(状態267)。
Block  rouLpuLs J及びDispla
y旧oak routputsJ用に指示した集合から
選択した出力ノードを除去する。DisplayBIo
ck routputExtenLJを再計算して、表
示されたブロックの大きさを小さくできるようにする0
次に、除去した出力で、ブロックを再描画する(状態2
68)。
出力にラベルを付ける250(第34図及び第34b図
): カーソルは、ラベル出力プロンブトに変更され、赤ボタ
ンが出力シンボル上でクリックされるまでマウスを追跡
する(状6269)。新たな名称をユーザに促し、その
シンボルの名称を変更する(状8270) a Blo
ck  routputs Jインスタンス変数用に選
択された出力ノードに関連し指示された集合内の名称を
変更して、シンボルの名称を変える。
3、4.2.2  マクロ・メニュ・アクティビイティ
241 (第33図及び第35図) カーソルが通常ブロックの代わりにマクロ・ブロック内
に入ると、マクロ・メニュ・アクティビイティ241と
なる。この状態に入ると、マクロに入るための1つの項
目ポツプアップ・メニュを持ち出す。この項目を選択す
ると、マクロのコピー上にブロック図エディタを呼び出
す(状態n2>。
エディタによりマクロを変更した後、ユーザは、エディ
タ・ペイン内の黄色ボタンによりこの変更を「受は入れ
」、元のマクロのコピーをマクロとしてセーブする(第
36図内のマクロB1ockEditorメニュ、アク
ティビイティにて説明する)0次に、青ボタン・ポツプ
アップ・エントリrclose Jにより、マクロ・ブ
ロック・エディタを閉じる。
マクロ上にブロック・エディタを呼び出すには、先ず、
このマクロをオブジェクトUniverseに変換しな
ければならない、これは、次のように設定したインスタ
ンス変数によりUniverseの新たなインスタンス
を生成することにより行う。
blocks:  Ga1axyブロック辞書のコピー
connections:  Ga1axy接読辞書の
コピーdataDisplays: マクロ内のブロッ
ク名称の辞書5avedBlocks:  Canne
dBlocksListlistIndex:  ゼロ onGalaxy:真 curren LGa 1axy :  拡張する現在
のマクロへのポインタ modelPtr:親υn1verseへのポインタ3
、4.2.3  マクロ・ブロックエディタ・メニュ・
アクティビイティ242(第33図及び第36図)及び
ブロックエディタ・メニュ・アクティビイティ243(
第33図及び第37図) BlockEditor Menu Activity
 5Lates242及びMacro Blockl!
ditor Menu Activity 5tate
s 243は、非常に類似している@ BIockEd
itor MenuActivity (第37図)内
の「回実行」状B285を、racceptJ 279
及びrcancelJ 280状態(第36図)と置き
替える。状態242及び243に共通なアクティビイテ
ィを先ず説明し、次に、非類(以のアクティビイティに
ついて説明する。
マクロ・ブロックを生成275(第36図、第37図及
び第37a図): 第37a図において、カーソルを渦巻きに変更しく状L
Q290)、ゼロに設定されたインスタンス変数(bl
ocks、 connections及び1oconn
ections)によりGa1axyの新たなインスタ
ンスを生成する。
マクロに含まれるブロックを選択し、Ga1axyrb
locksJインスタンス変数に付加する(状態292
.294)、選択処理が完了(即ち、ブロックの内部で
はなく2重クリックをする)と、選択したブロック間の
接続をGa1axy rconnectionsJ辞書
に転送し、マクロ・ブロック及び他のブロック間の接続
をGa1axy rioConnecLionJ辞書に
転送する。選択されたブロック及び関連したブロックを
Universe rblocksJ及びrconne
ctions J辞書から削除する(状[295)。マ
クロの名称をユーザから得(状態296 ) 、Ga1
axy rnameJインスタンス変数に蓄積する。次
に、ユーザは、エディタ・ベイン内にマクロを配置する
(状sz 97)。
次に、マクロをDiverse  rblocksJ辞
四に付加する。この動作の後に、外部ブロック及びマク
ロ間の接続を再接続しく状RM298)、カーソルを通
常モードにリセットする(状9299)。
ブロックにラベルを付ける276 (第36図、第37
図及び第37b図) : 第37b図において、状f!1i276に入ると、カー
ソルは、[どのブロックにラベルを付けるか」に変化す
る(状fbf300)。ユーザがブロックを選択するま
で、ループに入る(状[301)。新たなラベル用のプ
ロンプト(状fi302)にて、新たなラベルを読み取
る。
これが、ブロックにラベルを付ける最初(即ち、それが
最初のブロック)ならば、ブロック・パラメータを促す
。文字列配列をエディタ・ウィンドウ内に表示し、標準
スモールトークの編集の用意さを利用して、パラメータ
のリストを構成し、それらの初期値を設定する。パラメ
ータ名称及びデフォルト値用に単純な原形(テンプレー
ト)を用いる(第3.2.1章を参照)。パラメータ定
義が完了すると、次のものにより旧ockParams
の新たなインスタンスを生成する。
template:ユーザが発生したリストに設定。
displayBIock: これらパラメータが関連
したDisp!ayB1ockを指示する。
BlockParamsのこのインスタンスへのポイン
タをDisplayBIock r para+5eL
ersJインスタンス変数にロードする@ Block
  rparas+eter Jインスタンス変数にデ
フォルト・パラメータ値をロードする。
新たなブロック・ラベルから、新たなり1splayB
lock  rlabelExtent Jを計算する
0次にdisplayB I ock範囲を日nput
Extent J、r eup tu tIl!x t
en t J及びrlabel[!xtent Jの最
大のものに設定する。
次に、現在の位置で、ブロックを再描画する。
新たなブロックを付加277(第36図、第37及図及
び第37e図) : 第37c図の状B277において、次のように設定さ°
れたインスタンス変数により、Blockの新たなイン
スタンス及びDisplayBlockを生成する。
Block  1nputs:  エンプティ・オーダ
ード収集ou Lpu ts : エンプティ・オーダ
ード収集name:   ゼロ function:  ゼロ para+*eters:  ゼロ 1nsidelnfo:  ゼロ DispalyBlock position:  ゼロ form:   デフォルト矩形 extent:  ブロックのデフォルト・サイズ l1y81ock:丁度生成したBlock ヘのポイ
ンタ 1nputs:  エンプティ・オーダード収集ou 
tpu ts :エンプティ・オーダード収集1abe
l:  ゼロ 1npuLEにten t : フ゛ロンクのデフォル
ト・サイズ outputExtantニブロックのデフォルト・サ
イズ Iabelf!xtent: ブロックのデフォルト・
サイズ paraseters:  ゼロ カーソルをラベルのない矩形に変更しく状態305)、
赤ボタンを押すまでマウスを追跡する。
ブロック用のスペースがない場合、エラー・メツセージ
を出し、この処理を繰り返す(状態306)。
ブロックを利用できるスペースがあれば、それを現在の
位置に配置しく状s307) 、DisplayBlo
ckrposltionJを現在のカーソル位置に設定
する。
この新たに生成したブロックをLlniverse用の
「blocksJ辞書に付加し、[l59playB1
ockをUniverse用のrdataDispla
ysJに付加する。
表示ブロック形状、大きさ及び外観は、入力Φ数、出力
の数及びラベルから決まる。総ての人力がブロックの左
端にきちんと適合し、総ての出力がブロックの右端にき
ちんと適合し、ラベルがブロックの中央になるような充
分な空間が存在するように、この形状の大きさを常に調
整する。入力の数、出力の数、又はラベルを変更すると
きは、DisplayBlock rExtent(範
囲)」は、rinputExtentJ 、。
r ou tpu LI!x ten t J及びrl
abelExtent Jの最大のものから決める。新
たなり1splayB1ock r formJをその
内側で描画した矩形により生成し、ラベルを適切に生成
し、総ての人力及び出力をその形状に等間隔とする。
現在のモードをキャンセルし、矢印カーソルを再生27
8(第36図及び第37図) :状態278において、
Universe rlistlndex Jをゼロに
設定して、多くのブロックを解除することにより、現在
のモードをキャンセルする。BlockI!ditor
 rformJを矢印カーソルに設定して、このカーソ
ルを通常(矢印)に設定する。
最ji% racccpt Jから永久的に変更する2
79(第36図): 状態279において、マクロ・ブロックエディタ・メニ
ュ項目内のraccepLJを黄色ボタンで選択して、
マクロの変更を永久的に行う。この動作を呼び出すと、
Universe currentGalaxyが指示
したマクロ(Galaxy)内の情報を、次のように更
新する。
Ga1axy blocks:  現在のLlnive
rseブロックのコピーを設定 Ga1axy connections:現在のUni
verse接続のコピーを設定 Ga1axy 1oconnections:現在非接
続の入力及び出力の指示された集合 を設定 最終光は入れから変更を削除280(第36図)工状a
280において、マクロ・ブロックエディタ・メニュ項
目から黄色ボタンで「cancelJを選択して、ブロ
ック・エディタをキャンセルしている間、マクロに変更
を行う、この動作を呼び出すとき、次のように、cur
rentGalaxyが指示したマクロ(Galaxy
)情報に、現在のUniverse内の情報をリセット
する。
Universeブロック:Ga1axyブロック辞書
のコピー上n1verse接Vt :  Ga1axy
接続辞書のコピー人力及び出力上にラベルを表示281
 (第36図及び第37図): 状!281において、Universe rblock
sJ辞書内の各ブロックに対して、(Block  r
入力」指示集合からの)各ブロック人力及び(Bloc
k  r出力」指示集合からの)各ブロック出力の名前
を、表示のブロック入力及び出力位置の次に表示する。
全体的な図を再描画282(第36図及び第37図)ニ ブロックエディタ・ペインを消去し、universe
rblocksJ辞書内の各ブロック表示した後、IJ
niverse rconnections J辞書内
の各接続を表示する。
全体図を消去284(第36図及び第37図)ニブロッ
クエディタ・ペインを消去して、以下のUnivers
eインスタンス変数を設定する。
blocks+    エンプティ辞書connect
ions: エンプティ辞書dataDisplays
:エンプティ辞書1istIndex:  ゼロ 図を実行285(第37図及び第38図):状態285
の動作は、第4.0章で説明する。
3、4.3  青ボタン・アクティビイティ206(第
31図及び第39図) このアクティビイティは、スモールトーク・ウィンドウ
用の従来の青ボタン・アクティビイティである。
3、4.4  資源リスト・ペイン黄色ボタン・アクテ
ィビイティ2o7(第1図及び第40図)第40図にお
いて、資源リスト・ペイン106内の時、黄色ボタン・
メニュを押して、ポツプアップ・メニュを出す、このポ
ツプアップ・メニュ′には、1つのエントリrremo
ve entry (エントリ除去)」がある、このエ
ントリを選択し、マウス・ボタンを離すと、資源リスト
内の選択した項目が除去される。項目を選択しないと、
この動作を無視する。1Jniverse 5aved
BIocksインスタンス変数内の辞書から選択した項
目を削除することにより、資源リストからの項目除去が
できる。それを削除すると、変更されたリストが再表示
される。
3、4.5  資源リスト・ペイン赤ボタン・アクティ
ビイティ 第41図において、状a208内の間、赤ボタンを用い
て、エディタ・ベイン106内の配置用の資源リスト内
の項目を選択する。項目を選択すると(状/1ii33
0)、以下の情報が確立される。
Universe l1stlndex :選択したメ
ニュ項目のインデックスを設定 BlockEditor for++ :選1尺したフ
゛ロックのDisplaVBlockからブロックの形
状 を設定 同様に、項目を解除すると(状11i332)、Uni
verse 1istlndex :ゼロに設定B1o
ckEditor form :通常(矢印)カーソル
に設定スモールトーク環墳は、資源リスト内の項目を強
調するのに必要な方法を与える(状[331)。
4.0  実行マネジャの成分 この章では、第1図、第1c図及び第4図を参照して、
実行マネジャの主な成分について詳細に説明する。第1
c図において、実行マネジャは、いくつかの大きな成分
を具えている。「回実行」ブロック350にて開始する
が、これらは次の通りである。
図スキャナ352ニブロック図が表すプログラムをブロ
ック及び接続のネットリストに縮小する。
ネットリスト・インタプリタ354ニブロック図内のブ
ロックの意味を実現する。
サーバ/表示コントローラ362;ブロック機能からス
モールトーク処理への相互処理通信をモニタし、且つ扱
い、表示メモリ86内に情報を蓄積し、検索する。
データ表示オブジェクト(第1図参照) :メモ1工8
6からサーバ362を介してキャンセルしたデータを受
け、表示する。実行マネジャによりデータ表示オブジェ
クトを生成し、管理したが、ブロック85.89及び9
1に示す如く、これらを代わりにユーザ・インタフェー
スの成分としてクラス分けする。
図アニメータ:図に与えられたブロックの表示によりブ
ロック機能の実際の実行を束縛する。第4図にその動作
を示すこのa能をサーバ362及びブロック85にはめ
込む。
これら主な成分を以下に説明する。
4.1  図スキャナ ブロック・エディタの中央のマウス・ボタン・メニュか
ら「実行図」ポツプアップ・メニュ項目を選択したとき
、図スキャナ352を開始する。
このメニュの選択の結果、旧ock[!ditorメソ
ッド又は、実行サイクルを開始するルーチンexecu
 LeDiagramを呼び出す。初めに、ブロック図
の有効性についてチェックする。総てのブロック入力及
び出力が適切に接続されていれば、図を有効とみなす。
総てのブロックが適切に接続されていなければ、エラー
・メツセージをスクロール上に表示し、実行サイクルを
終了させる。
現在の図が有効ならば、実行サイクルを継続する。この
時、C処理(ネットリスト・インタプリタ及びブロック
機能コードを含む)をスモールトーク処理の子処理とし
てフォークし、2つの相互処理通信チャンネル(パイプ
)を確立する。1つのパイプ98をスモールトーク処理
用に用いて、情報(ネットリスト等)をC処理に送り、
他のパイプ99によりC処理からスモールトーク処理へ
の情報転送を可能にする。
通信チャンネルが確立すると、反復図スキャナ352の
−ainline (BIock[!ditorメソッ
ドexpandMacro)を呼び出す、用語「マクロ
」を用いて、単一ブロックとして表す接続ブロックの集
合を表示する0図の各ブロックの内部構造を反復的に拡
張して・expandMacroメソッドがネットリス
トを生成する。実際に、この反復は、一連の可能なネス
トしたマクロをブロック機能及びそれらの接続の11ス
トに「平たくする」、完全なブロック図は、単一のブロ
ックと考えられるので、全体のブロック図で構成される
データ構造をexpandMacroに送リ、拡張を開
始する。
expandMacroメソッドの内部構造は、次の通
りである。初めに、拡張するブロックの内部構造内の各
ブロックを試験する。それがマクロ自体の場合、繰り返
し呼び出しをexpandMacroに行い、その内部
構造を拡張する。そうでなければ、そのブロックは、単
一ブロック機能を表し、そのブロックに関する情報はパ
イプ98を通してネットリスト・インタプリタに送られ
る。送られた情報は、ブロックの名称(図のラベルと同
じ)、ブロックの機能(ブロックの援助でどのブロック
機能を実行するかのインタプリタを伝える文字列)、及
びブロックのスタティク・パラメータ(例えば、正弦波
発生器ブロックの場合、直流オフセット、周波数等)で
ある。
操り返しの特定レベル用の総てのブロック情報を送ると
、(繰り返しのこのレベルの)ブロック接続に対応する
情報をインタプリタに送る。(図に見える)いずれかの
端のブロック並びに、その入力及び出力のラベルの名称
(ラベル)により、各接続を説明する。繰り返しの前の
レベルを有する現在のマクロの接続の説明は、所定レベ
ルに対して送る最終情報である。
各拡張したマクロ用の完全なネットリストを送ったとき
、キーワード「終了(END) Jをインタプリタに送
る。全体のブロック図に対応するr END Jを送る
と、ネットリスト拡張が完了する。この時、元の呼び出
しからexpandMacroへの戻りがあり、exe
cu ten iagras+メソッドは、再び、制御
を得る。
その最終動作は、旧ockEditorメソッド・サー
バを呼び出すことであり、C処理からパイプ99を介し
ての通信をモニタする。このサーバの説明は、ネットリ
スト・インタプリタ及びブロック機能の説明の後に行う
4.2  ネットリスト・インタプリタ及びブロック機
能 ネットリスト・インタプリタ354には、ネットリスト
の意味を実行する能力がある。ブロック機能アプリケー
ション・コードの実行を計画し、実行し、モニタするの
は、基本的には、制御プロダラムである。
このインタプリタは、(相互作用ブロック・シミュレー
タ(Interactive BLOck SIMul
ator)用の)+nLos+nと呼ばれるブロック・
シミュレーション・プログラムを基本にしており、これ
は、デビソド・メッサシュミントがニーシー・バーフレ
で開発したブロック・シミュレータ(BLO3IM)の
周囲に作り上げたものである。第1c図にブロック35
6で示すBLO3IMは、コンパイル時に、トボロギー
及びブロック・パラメータを特定することを要求する。
トボロギーの変更が必要な度に、ソース・コード・ファ
イルをニブイトし、再コンパイルし、実行モジュールと
再リンクしなければならない。それとは対照的に、IB
LO3IMは、トボロギー及びパラメータの仕様をAS
CIIテキスト、即ち、ネットリストの文字列にするこ
とを可能にする。
ネットリスト・インタプリタで用いるので、IBLO3
IT1は、図のトボロギー及びプロ、り・パラメータを
説明する^S<:IIテキストの文字列を読むモジュー
ル354を含んでおり、要求した内部トボロギーを確立
するためのBLO3IMに対してこの情報を利用可能に
する。また、これは、各ブロック用のパラメータを読取
り、インタブレットするドライバ・モジュール366も
含んでいるので、BLO3IMによるブロック実行用の
機能呼び出しを準備する。トボロギー又はパラメータの
変更は、適当なテキスト文字列又はネットリストの構造
を要求するだけである。実行可能なモジュールを形成す
るために、ソース・コード・ファイルの再コンパイル又
は再リンクは不要である。
ブロック機能368は、各ブロック用のアプリケーショ
ン・コードを含んでおり、BLO3IM用語の「スター
」に等しい、よって、(BLO3IM用語でrgala
xyJと呼ぶ)マクロは、1つ以上のブロック機能で表
す、特に、ブロック機能は、特定ブロックに関する情報
、機能を実現するCコード用の独特なデータ空間である
。Cコードは、「ブロック機能ドライバ・ルーチン」及
び「ブロック機能ルーチン」を含んでいる。資源リスト
・ベイン106で利用できるブロック機能の説明を第5
0図、第51図、第52図に示す。
インタプリタ352は、図スキャナ352が送ったブロ
ック名称、機能及び接続情報を読み取る。
最初に、各ブロック名称に出会い、ブロック初期化手続
き358がブロック機能を生成する。この手続きは、呼
び出されたブロック機能用のデータ蓄積手段94内にデ
ータ領域を設定し、これ用のコードをブロック368に
蓄積する。インタプリタは、制御を対応するブロック機
能ドライバ・ルーチンに渡し、このルーチンは、それに
応答して、このブロック機能用のデータ領域を割り当て
、パイプ98内を進む多くのパラメータを読取り、蓄積
する。ドライバが出ると、このドライバは制御をインタ
プリタに渡し、更に、ブロック名称又は接続情報を読み
取る。
図の総てのブロックを処理した後、「接続リスト発生」
ブロック360により相互接続を処理する。この手続き
は、ネットリスト相互接続情報を用いて、実行データ蓄
積手段94内に設定されたデータ領域間のデータの流れ
チャンネルを定義すネットリストを完全に処理すると、
インタプリタ354はBLO3IM356によりアプリ
ケーションを計画し、実行する。これは、実行が完了す
るまで、制御を種々のブロック機能ルーチンに渡す。
第4図において、ブロック機能が実行すると、これら機
能は、パイプ98及び99によりスモールトーク処理と
通信をできる。これは、メツセージ・サーバ/表示コン
トローラ362(第1c図)により行うが、このコント
ローラは、インタフェース・ソフトウェアを具えており
、C処理及びスモールトーク処理間の通信を行う、イン
タプリタ自体は、いくつかのメツセージをスモールトー
ク処理に直接送る。リーガル・データ及びメツセージの
転送は、夫々以下に説明する。各メソセージを受けるこ
とによりスモールトーク処理が行う動作は、次の章で詳
細に説明する。
′総での現在のブロック機能は、実行しながら、ブロッ
ク図内の対応表示ブロックを反転映像に設定することを
必要とする。ブロック機能が実行しようとした時、及び
それが終了した時、BLO3IM356はメツセージ・
サーバ/表示コントローラ362に通知をする。表示ブ
ロック名称と共に、各ブロック機能が、キーワード[反
転(invert) Jをスモールトーク処理に送る。
サーバ/表示コントローラ362は、「反転」を実行す
る表示ブロック・コードにこの要求を送る。ブロック機
能を送ることにより、この反転コードは、表示ブロック
を反転した信号(文字「@」)に応答し、この時、ブロ
ック機能は、実行を持続する。
ブロック機能の実行期間中に、エラーが発生するかもし
れない。ブロック機能は、スモールトーク処理に、エラ
ー・メツセージが続くキーワード[エラー(error
) Jを送って、このエラーを報告できる。サーバが「
エラー」を傍受し、このメツセージを表示できるように
する。
種々のブロック機能もまた、実行の結果を報告する。こ
れら結果は、典型的には、2つの形式をとる。一方の形
式は、波形(基本的には、要素の配列)である。ブロッ
ク機能は、パイプ99にょリキーワード「グラフ(gr
aph) Jを送ることにより、波形をスモールトーク
処理に知らせる。サーバは、これを読取り、適当なデー
タ表示オブジェクトがブロック機能から付加データを読
み取れるようにする。この付加データには、波形データ
をパラメータ化する値(スケール・ファクタ、単位等)
及び波形データ自体がある。
また、キーワード「デジタイザ(digi tizer
) Jを用いて、波形をスモールトー、り処理に送るこ
ともできる。このキーワードは、「グラフ」と同様な結
果を生じるが、上述の如く、実行期間中に操作して、戻
ったデータの取り込みウィンドウを変更できる。
他の形式は、(波形最大値の如き)スカラー値である。
ブロック機能は、パイプ99を介して表示する値が続く
キーワード「スカラー(scalar) Jを送ること
により、スカラーをスモールトーク処理に送ることがで
きる。サーバ/表示コントローラ362は、再びキーワ
ードを読取り、データ表示オブジェクトはその値を表示
できる。
上述の如く、インタプリタは、スモールトーク処理と直
接話すことができる。次の章で更に説明する如く、この
通信は、「マクロ」表示ブロックのアニメーションを実
現するのに必要である。
4.3  サーバ/表示コントローラ、データ表示オブ
ジェクト及び図アニメータ サーバ/表示コントローラ362(又は、簡単な「サー
バ」)は、スモールトーク処理の一部であり、C処理か
らの総ての転送を扱う、上述の如く、図スキャナがネッ
トリストをインタプリタに送るのを終了した時、サーバ
に制御を与える。サーバは、キーワード「グラフ」、「
スカラー」、「エラー」、「デジタイザ」、「反転」、
「ディスアーム(disar+a) J及び[アーム(
arm) Jを識別し、これらに応じて動作する。
キーワード「反転」、「アーム」及び「ディスアーム」
は、総て図アニメーションに属する。サーバは、映像を
反転するように設定されたブロック図内のブロックの名
称が続くキーワード「反転」を読み取る。BIockE
ditorメソッド1nvertDisplayBlo
ckは、実際の反転を実行する。サーバが読み取ると、
キーワード「アーム」の結果、Block11!dit
orメソッドarmMacroを呼び出す。このキーワ
ードの後に、反転するブロック(この場合、マクロ)の
名称が続く、現在アームされたマクロの内部構造の一部
であるブロックからの次の反転要求は、BIockEd
itorメソッド1nverterDisplayBl
ock    ’により独特な方法で処理される。これ
により、アームされたマクロの表示ブロックをアニメー
ション化(即ち、反転映像に設定)する。サーバがキー
ワード「ディスアーム」を受けてBlocklEdit
orメソッドdisarn+Macroを呼び出すまで
、マクロを構成する他のブロックからのその後のブロッ
ク反転要求を1nvertDisplayBIockが
無視する。
キーワード「グラフ」、「デジタイザ」、「スカラー」
及び「エラー」は、総てデータ表示オブジェクトに属し
、ユーザに対して種々のブロック′機能結果を表示する
。これらキーワードを認識するほかに、サーバは、デー
タ表示オブジェクトを生成し、ブロック機能からデータ
表示オブジェクトにデータを伝える。
回実行の結果として、波形を表示しようとするブロック
機能の名称が続くキーワード「グラフ」をサーバが受け
る。サーバは、表示情報蓄積手段86内の現在のデータ
表示オブジェクトのリストを維持している。その名称に
よるデータ表示オブジェクトが存在しない場合、サーバ
はそれを生成し、通信チャンネルに与えるので、波形デ
ータを読むことができる0表示オブジェクトが既に存在
している場合、サーバは、単に制御をオブジェクトに渡
し、新たなものを生成しない。キーワード「スカラー」
の結果も、上述と同じであるが、スカラー・データ表示
オブジェクトが生成され、及び/又は制御が渡される点
が異なる。
キーワード「デジタイザ」 (又は、物理的測定機器に
対応する他のキーワード)は、第5.0章で更に説明す
るが、信号検査機能364をアクセスする。キーワード
「デジタイザ」は、データ表示オブジェクトが特別な特
徴を備えていることを除いて、「グラフ」と同様に動作
する。即ち、このキーワードは、元のブロック図内の対
応表示ブロックのパラメータをどのように直接アクセス
するかを知っている。よって、ブロックを再パラメータ
化でき、元のブロック図を操作するために戻ることなし
に図を再実行した。
キーワード「エラー」は他のキーワードと異なり、(他
の表示オブジェクトの個々のブロック集合に対する)全
体図が、対応データ表示オブジェクト(rerrorL
ogJ )を用いる。第1エラー・メツセージが任意の
ブロックから現れ、(任意のブロックからの)総てのそ
の後のエラー・メツセージをr errorLogJに
伝えた時、サーバはrerrorLog Jを生成する
4.4  通信フォーマントの相互処理上述の章にて一
般用語で相互処理通信を説明した。この章では、デ°−
タ通信フオーマットをより詳細に説明する。
゛ブロック・エディタは、所定回内の各ブロックのパラ
メータを、基本的には、文字列の配列(即ち、文字配列
)として維持する。ブロックの領域、及び図スキャナが
アクセスした接続データ構造もまた、文字列である。図
スキャナは、現在、これら領域を変換しない。よって、
C処理が、全体的なネットリストをASCIIテキスト
として見る。
ネットリスト・インタプリタ及びブロック機能は、標準
C言語I10ルーチンを用いて、スモールトーク/Cパ
イプをアクセスする[ Cfscnf 0機能を用いる
]。標準夏10ルーチンは、パイプの流れないの空白文
字を境界として見る。よって、パラメータ、ブロック名
称等は、ブランク、タブ、キャリッジ・リターン等を含
むことができない。
しかし、スモールトーク処理への波形データの^SC+
1転送は非常に遅い。よって、C/スモールトーク・パ
イプ通信は、波形データ及び他の数値用には2進転送を
用い[CfwriteO機能を2進データ用に用いる]
、文字列データ用に^5C11転送を用いる[Cfpr
intf 0機能を文字データ用に用いる]、標準I1
0ルーチンを用いて、図アニメーション・ハンドシェー
キングも一般に実用化スる0代わりに相互処理信号合図
も利用できる。
上述の作用するシステムは、ブロック・エディタを用い
て組み立てた信号処理及びデータ取り込みの実行をうま
くデモンス1−レーションする。しかし、[lLO5I
Mを用いるので、実行マネジャのマルチ処理且つマルチ
言語設計は、ある範囲では、選択されるよりも好適であ
る。更に、実行マネジャ(及び全体としての実験マネジ
ャ)の機能性は、BLO5IM例により現在は制限され
、肛O5IMを用いた実行サイクルは、基本的には、「
バッチ」動作である。システムのデータ発生能力及びデ
ータ表示能力は、現在独立した処理内にあるので、波形
及び他のデータの相互処理通信が必要であり、かなりの
オバーヘッドを表す。波形データの相互処理変換用2進
パイプ(^5CIIに対する)通信を用いて、性能を改
善する。
しかし、いくつかの代わりの設計が存在し、その結果、
更に性能を改善できる。1つとして、ブロック機能が、
システムの表示動作を直接実行できる。ユーザ・インタ
フェースは、表示を統括する必要があるが、波形データ
変換は除去する。他の代わりのものは、単一言語/単一
処理ボートであり、ネットリスト及び波形データ伝達を
共に除去する。システムの総ての部分は、波形データ領
域を直接アクセスできる。
実行マネジャの他の面に対して、他の付加的な設計が存
在する0図が完了したときのみ、図スキャナを容易に活
性化する0代わりに、図構成段階の間・スキャナをアク
ティブにできる。よって、図を実行したとき、ネットリ
ストが完全となり、出荷又は利用の準備ができる。同様
に、増分コンパイラにより、ネットリスト・インタプリ
タを交換でき、このコンパイラは、図を構成するように
、必要なオブジェクト・コードを発生する。これは、イ
ンクブリチージョン段階をなくす、又は、インタプリタ
を作成して、ブロック図の部分をユーザが構成するよう
に、これら部分を実行できる。これは、構成処理の各ス
テップにて、ユーザに直接帰還を与える。
4.5  手続き及び例を組み立てるブロック機能衣の
節では、上述のメッサシュミットBLO5IM論文が論
じた一般的「スター」組み立て技術が、実験マネジャ・
ブロック機能の生成をどのように変更するかを説明する
0例としてのブロック機能は、1つの入力及び1つの出
力を有しており、処理を行わない、これは、実験マネジ
ャ・ブロック機能に共通な基本機能を示す、最後の節で
は、第50図、第51図及び第52図を参照して現在の
実験マネジャ・ブロック・機能の機能性について簡単に
説明する。
4、5.1  ブロック機能の組み立てBLO3IM論
文の述べたスターは、単一の単純な形式(C用語の形式
「ロング」インチジャ)の値(即ち、SAMPLEs)
を伝える。実験マネジャのポインタとして用いるために
SAMPLE (サンプル)の定義を変更して、複雑構
造に対するポインタとする。
これにより、ブロック機能は、本質的に任意形式のデー
タを互いに伝える。 SAMPLEデータ構造のF形式
」領域により、各ブロック機能は、受けたデータの形式
をチェックでき、それが期待されたかを確認する。転送
されたSAMPL[!sの現在のり−ガル値は、形式「
シq  h (short)J、「ロング(long)
 J、[インド(intN、「フロー) (float
) J、[ダブル(double) J、[文字(ch
ar) *J  (文字列)又は「波形(騨^VEFO
RM) *J  (波形のポインタ)である[WAVE
PORMデータ構造の定義については、テクトロニクス
社が1986年に出版した「信号処理及び表示プログラ
ム」マニュアル(TEK部品番号070−6168−0
0)のアベンディクスCのファイルrwav、hJを参
照、]。
BLO5IM論文に記載されたスターは、典型的には、
標準テキスト・ファイル(又は5tdin及びs td
ou t)から読出し及び書込みを行う。実験マネジャ
・ブロック機能第4.4章で説明したパイプ通信技術を
用いる。これらブロック機能は、次のように定義した2
つの全体的なファイル名によりパイプをアクセスする。
extern FILE *co+ms+andFil
eextern  FILE  寧responseF
ileここで、r commandFileJはスモー
ルトーク/Cパイプを参照し、r responseF
ileJはC/スモールトーク・パイプを参照する。
com+nandFileパイプからトボロギー説明を
読み取るネットリスト・インタプリタ354 (第3c
図)により、81051M内のユーザが発生した機能「
ユニバース」を交損する。スター初期化を適切に扱うた
め、各スター機能は、スター機能ドライバ・ルーチンを
有している。このスター機能ドライバ・ルーチンは、パ
イプにわたるパラメータを読み、スター用のデータ蓄積
領域を初期化する。
BLO!91Mスターは、それらの名称を知る必要がな
い。しかし、ユーザ・インクフェース(反転映像アニメ
ーシヨン、エラー・ロギングなど)と効果的に通信をす
るために、各実験マネジャ・ブロック機能は、その名称
をアクセスする必要がある。
よって、各ブロック機能は、そのドライバ・ルーチンが
実行するとき、そのデータ領域内にそれ自体の名称を蓄
積する。
−BLO3IMスターと異なり、各実験マネジャ・ブロ
ック機能は、C機能1nvertBlockOを呼び出
し、その表示ブロックを反転映像に設定するように要求
する。機能1nvertB1ockOは、反転映像要求
を行い、スモールトーク処理から適切な信号を待つ。
ブロック機能がそのアプリケーション・コードを実行し
ようとすると(例えば、波形を生成し、入力をアクセス
して処理する等)、その機能を単に呼び出す。
BLO3IMスター・ルーチンは、典型的に、エラー・
メツセージをs Ldou tにプリントする。実験マ
ネジャ・ブロック機能は、特別なerrorLog 0
1!能を用いて、エラーをスモールトーク処理に報告す
る。
4、5.2  ブロック機能の説明 実験マネジャ・ブロック機能の大部分は、信号処理機能
を実行する。これらブロック機能は、前の章で説明した
例に非常に類領しているが、その例において指示された
点にて信号処理ライブラリに対して種々の呼び出しを近
似的に行う点が異なる。これらブロック機能の簡単な説
明を第50図に示した。
いくつかの実験マネジャ・ブロック機能は、機器制御機
能を実行する。これらブロック機能は、R3232通信
を用いて、c p I B II御器とトークし、実際
の機器を制御する0機器制御ブロック機能を簡単に第5
1図に説明する。
現在存在するいくつかの他の機能は、上述のカテゴリー
に適さない、これらを第52図に説明する。各表の資源
列は、ブロック・エディタの資源リスト・ペイン内のブ
ロックに付けた名称を示す。
ブロック機能列は、ブロック機能及びブロック機能ドラ
イバ・ルーチンを名付けるのに用いる実際の文字列を保
持している。多くの場合、資源名称及びブロック機能名
称は同じである。いくつかの資源は、入力、出力及びコ
メント行に複数の列がある。異なる列は、異なる選択を
参照する。例えば、第50図の「資源付加(add r
esource) Jは、その入力に対して3つの選択
があり、対応する出力及びコメント領域”も具えている
。それは、2つの波形を入力として受は入れるか、2つ
のスカラーを入力として受は入れるか、波形を第1入力
とし、スカラーを第2人力として受は入れる。
5.0  信号検査制御 5.1  デジタイザ制御の機能的検査第42図におい
て、第5図のシステムを機能ブロック図として示し、信
号検査期間中のデジタイザ、データの流れ、及び表示ス
クロール動作を示す、初期設定又はデフォルト設定によ
り活性化すると、デジタイザ74は被試験装置76から
アナログ形式で電気信号を受ける。従来のように、デジ
タイザは、アナログ信号をデジタル化し、通信経路50
2を介してデジタイザ・ドライバ504に未処理デジタ
イザ・データを転送する。経路502は、第5図に示す
如く、3つの通信要素で構成する。未処理デジタイザ・
データは、GPIBバス66を介して転送プロトコル変
換器64に伝達される。この未処理データは、R523
2バス62を介してワークステーション54に転送する
第42図において、デジタイザ・ドライバは、未処理デ
ータを時間/電圧軸座標に変換する。ワークステーショ
ン54内において、詳細に後述するプログラミングは、
機能ブロック506が示すウィンドイング変換を実行し
、このブロックは、時間/電圧座標からのデータをスク
ロール座標に変換する。そして、このデータを矢印50
8に示すように、機能ブロック510が示すグラフ・ド
ロウア(drawer)に変換する。このグラフ・ドロ
ウアは、従来のグラフ及びCR7表示制御ソフトウェア
を含んでおり、このソフトウェアにより、目盛り515
上の波形514のように、電気信号のグラフ的表現をC
R7表示器56のウィンドウ512内に表示できる。
スモールトーク80のウィンドイング及びグラフ・ソフ
トウェアには、スクリーン表示の矩形部分をグラフ的に
定義する能力がある。従来、このソフトウェアは、コン
ピュータ・メモリから表示波形の選択部分に関係したデ
ータを再呼び出しし、ウィンドウ512内に拡大された
フォーマントでかかる選択された部分を表示した。しか
し、拡大された表示波形の精度は、波形514を与える
ために電気信号が取り込まれ、デジタル化された際の精
度及び分解能に制限される。信号検査制御により、ユー
ザはこの制限を克服できるが、それには、電気信号を再
取り込みするようにデジタイザを制御する所望取り込み
ウィンドウとしてユーザが特定した矩形516を選択す
ることにより、新たな電気信号を取り込み、波形を表示
する。
これを行うために、信号検査制御は機能ブロック518
が指示したソフトウェアを含んでおり、所望取り込みウ
ィンドウの位置及び大きさを確立する。ウィンドウ位置
を、矩形の角の点のスクリーン座標の形式で、矢印52
0で示すように、ブーロック522が示すウィンドイン
グ変換機能に送る。このウィンドイング変換機能は、矩
形516をスクリーン座標系から信号の時間/電圧座標
系に変換し、取り込みウィンドウを発生する。この新た
なウィンドウをデジタイザ・ドライバ504に出力する
0時間/電圧座標の取り込みウィンドウを受けると、デ
ジタイザ・ドライバは、新たなデジタイザ設定を計算し
、これら設定をCPIBバスの通信経路524を介して
デジタイザに転送する。
これら座標は、データ流れ経路526で示す如く、コン
ピュータ内でウィンドイング変換506に人力する。同
様に、表示ウィンドウ512の位置及び次元をスクリー
ン座標の形式で、データ流れ経路528に示すように、
ウィンドイング変換に入力する。後述の如く、これらデ
ータを用いて、ブロック506のウィンドウ変換を再定
義し、取り込み、デジタル化した電気信号データの次の
1組をこのブロックに供給する。
これら新たな設定により制御すると、デジタイザ74は
被試験装置から新たな電気信号を取り込むが、その信号
取り込みウィンドウは、デジタイザの特定モデルの組み
込み設定オプションが可能な所望取り込みウィンドウ5
16に対応する。
この新たな取り込みウィンドウに応じて、電気信号を取
り込み、デジタル化する。デジタル化した波形をワーク
ステージ四ンに入力し、デジタイザ・ドライバ504に
より時間/電圧座標に変換する。経路526及び528
を介して入力したスゲリーン座標及び時間/電圧座標に
より変調し、スフ1ノーン上で表示するためにグラフ・
ドロウア510に送るように、ウィンドイング変換50
6゜で新たなデータを処理する。次に、矩形516内で
波形514の部分を近値したが、より詳細な新たな信号
を表示ウィンドウ512内に拡大した形式で表示する。
この説明の次の章では、上述のシステムを実施するため
のソフトウェアの好適例の構造及び動作を詳細に説明し
ている。
5.2  デジタイザ制御ソフトウェアの説明第43図
は、信号検査ソフトウェアの最高レベルの状態図である
。この説明は、上述の一般説明′ と同様に行い、プロ
グラム開始530から始まり、ブロック532で示す「
データ取り込み」状態にてルーチンに入る。初期データ
を取り込むと、プログラムの制御は、ブロック534で
示す「データを波形に変換」状態に進む、ブロック53
2及び534は、デジタイザ・ドライバ504が実行す
る機能を含む、変換の後に、波形データを「グラフ描画
」状態536に入力する。この状態において、作図ソフ
トウェア・モジュールにより、波形を表示スクリーン5
6上に表示できる。波形を表示した後、プログラム制御
を「待ち」状態538に送る。
「待ち」状態において、コンピュータは、ユーザがマウ
ス60の3つの制御ボタンの1つを押すのを待つ。ユー
ザが、システム・ボタンを押すと、プログラム制御は、
システム・メニュ状態540に切り替わる。この状態か
ら、ユーザは、いくつかの従来の作図ソフトウェア機能
である再フレーム機能542、移動機能544及びクロ
ーズ機能546からi!沢をできる。システム・メニュ
状態540内の動作は、従来と同じなので、これ以上の
説明は不要である。
ユーザがマウスの選択ボタンを選択すると、この動作に
より従来のソフトウェアがブロック548に示す如く選
択メニュを表示する。この選択メニュに表示された選択
により、ユーザは、いくつかのオブシタンから選択がで
き、次の電気信号データ・セットを取り込み、デジタル
化する際にデジタイザ74が用いる信号取り込みウィン
ドウの選択を決定する。
第1選択は、ブロック550に示す「ズーム・イン」状
態であり、この動作は、第15図〜第19図を参照して
上述した。第2選択は、ブロック552が示す「ズーム
・アウト」状態であり、これにより、ユーザは、信号取
り込みウィンドウを所定量だけ拡大できる。ユーザが選
択できる他の状態には、コンピュータ・メモリ34に蓄
積された以前のウィンドウを再呼び出しするブロック5
54と、ブロック556及び558で示す「垂直」及び
「水平」状態とがある。これらブロック556及び55
8により、ユーザは、単一次元の信号取り込みウィンド
ウを同時に制御できる。同様に、ユーザは、取り込みウ
ィンドウ用のトリガ・レベルの選択(ブロック560)
、)リガ傾きの選択(ブロック562)、又は用いる測
定機器の特定種類により呼び出す他の取り込み基本機能
を選択することができる。
これら機能の総ては、実行により「データ取り込み」状
態532に戻る。「ズーム・イン」状態は、「待ち」状
1551を含んでおり、これは、ユーザが矩形516用
のウィンドウの大きさを選択している開動作する。ユー
ザが第3のポインティング・マウス・ボタンを押すこと
により、矩形座標が最終的に確定し、所望の取り込み矩
形領域を示す、所望矩形を示すまで、第3ボタンを押し
ながらマウスを移動させ、ボタンを離す。この動作は、
「データ取り込み」状B532に対する制御に戻る。
さらに、選択メニュ上に、カーソル制御(ブロック56
4)、デルタ・カーソル(ブロック566)、セーブ/
使用データ制御(ブロック568)及び当業者に理解で
きるその他の如き従来の制御機能を与えることもできる
第44図は、「データ取り込み」状態532をより詳細
に示す、信号検査プログラムの動作は、開始ブロック5
30にて始まる。開始すると、第1手続きは、ブロック
570に示す如く、デジタイザの初期信号取り込みウィ
ンドウ用のデフォルト設定をロードすることである0手
続き572がこれら設定をセーブするが、この手続きは
、これら設定を第1acqRect 574としてプッ
シュダウン・スタック576に入力する。この動作は、
スタ・ンク・ポインタ578を用いて、従来の如く制御
する0次に、デフォルト設定を「垂直設定」状態に入力
する。この状態は、概略的にブロック580で示すが、
詳細は、第45a図に示す。垂直設定が完了すると、プ
ログラム制御は、概略的にブロック590で示し、詳細
は第46a図に示す「水平設定」状態に進む。
垂直及び水平設定が完了すると、プログラム制御は「デ
ータを得る」状態600に進む。この「データを得る」
状態において、第1ステツプは、「設定を送る」手続き
である。この手続きにおいて、予め決定した垂直及び水
平設定を、R5232及びIE[!E488通イε用通
過ε用プロトコルを用いて、デジタイザ・ドライバによ
りデジタイザに送っている。これら設定は、プログラマ
ブル・デジタイザが理解でき実現できるようにフォーマ
ットされたコンピュータ形式のコマンドにて実施する。
コマンドを実行し、設定コマンドにて特定された信号取
り込みウィンドウに対して被試験装置から新たな電気試
験信号を取り込むことにより、デジタイザが応答する。
これら設定に応じて、取り込みウィンドウ内の電気信号
部分をデジタル化し、デジタル・データの流れとしてコ
ンピュータに戻すようにフォーマットする6次に、「デ
ータ読取り」手続きにより、コンピュータはIE[![
!488及びR5232バスを介してデジタイザからデ
ジタル・データを取り込める。
第43図において、取り込みデータを「データを波形に
変換」状B534に渡す。この状態において、以前に特
定した取り込みウィンドウ内に取、り込んだ電気信号に
対するデジタイザからの未処理データを、波形データ構
造に転送する。このデータ構造は、表示器上に図形デー
タを表示する作図ソフトウェアが必要とするデータ・フ
ォーマットの要求に適合する。デジタイザのいくつかの
モデルは、正確に電圧を表すように縮尺された数の配列
としてのデータを戻すと共に、水平スケール・ファクタ
(要素間の時間)、時点0の位it(又は配列要素の時
間位置)、及び水平及び垂直測定単位に関する情報も戻
す。このような働きをするデジタイザにとって、「波形
に変換する」手続きは必要ない。
次のステップは、第43図に示したは「グラフ描画」状
[536である。この状態において、第1手続きは、選
択自由な「目盛り描画」手続きである。この手続きは、
必要ならば、グラフ目盛り515(第42図)を描き、
必要に応じて軸の次元に再ラベルを付ける0次の手続き
は、「データ・プロント」である、この手続きは、手続
き534が生成した波形データ構造内の波形の各要素を
波形座標からスクリーン座標に変換する。次に、アプリ
ケーション要求に応じて、例えば、表示器56上のウィ
ンドウ512の境界内の目盛り515に沿って、波形の
スクリーン座標点を表示する。このソフトウェアの例と
しては、市販のテクトロニクス社製rPlot−10J
  (商標)がある。
新たな波形を表示した後、プログラム制御は「待ち」状
態538に進む、「垂直設定」及び「水平設定」状態の
動作をより詳細に説明した後、「メニュ選択」状態54
8からの信号試験ソフトウェアの動作を説明する。
5.3  垂直及び水平設定 第44図において、ユーザが取り込み矩形516(第4
2図)を特定したときは常に、コンピュータは、デジタ
イザに送るために適切な垂直及び水平成分設定を決定す
る必要がある。第42図の矩形516の如き任意所望の
取り込み矩形(AcqRecL)は、垂直成分516Y
(第45b図)及び水平成分516X(第46b図)を
有するように設定できる。
デジタイザの如き試験機器は、従来設計であり、1組の
整然とした垂直レンジを与える。このレンジは、ピーク
・ピーク電圧で表し、一般にレンジ設定602と呼ぶ。
選択したレンジの中央は、原点(ゼロ・ボルト)からオ
フセット604の量だけ離れた位置にあり、従来は垂直
レンジの十又は−一の百分率として表した。最終的には
、最大オフセット(maxOffset 608 )及
び最小オフセント(miniOHset 606 )の
レンジ内で、試験機器が動作するように構成する。この
レンジ外のオフセントにより、レンジ602は試験機器
の動作能力の上限又は下限を越える。
典型的には、表示が「正しいようになる」まで、手動制
御可能な試験機器のユーザは、レンジ及びオフセント制
御を操作する。これは、レンジ設定の変更により、信号
試験領域の上側又は下側で波形部分が失われるときは常
に、所望信号の表示を適切な大きさとするためのレンジ
設定の変更と、オフセット設定の変更とにより、相互作
用的に行う。この種の相互作用制御は、設定を制御する
ために設定を?ンピュータ・コマンドに変換する必要が
あるので、プログラマブル試験機器では、従来の如く実
行できない。
本発明は、垂直成分516 Y及び水平成分516Xを
有する所望の取り込みウィンドウ516をユーザが図形
的に特定できるようにして、この欠点を除去している0
手続き580(第45a図)及び590(第46a図)
により、このシステムは、所望取り込み矩形に最良に適
合する試験機器用の垂直及び水平成分設定を所望の取り
込み成分から自動的に決定している。
第45a図に示す手続き580は、所望取り込み矩形5
16の垂直成分516Yに最適に適合する試験機器用の
垂直設定を自動的に決定する。
「垂直設定状fi580Jの最初のステップは、ブロッ
ク610に示す如く予め蓄積したレンジ表からレンジ設
定を選択することである。ブロック612に示す次の手
続きは、予め蓄積した最小オフセット606及び最大オ
フセントロ08の限界内でオフセット値を計算すること
であり、このオフセット値は、試験機器の最小及び最大
オフセット制限を乱すことなく、取り込み矩形垂直成分
516Yの周囲のレンジ602の中央に最も近い。
ブロック614に示す最終手続きは、選択したレンジ設
定及び計算したオフセット設定の組み合わせが、所望取
り込み矩形垂直成分516Yを含むかを判断する。含ま
れず、表にチェックするレンジ設定が残っていれば、制
御をブロック610に戻し、他の設定を選択し、上述の
如く試験する。
要約すれば、この手続きは、次のようなピーク・ピーク
電圧及びオフセントにおける最小レンジ設定の選択を呼
び出す。
[最小オフセット=〈[オフセット]=〈[最大オフセ
ット ; acqRect最高=<〔レンジ]*[オフセット]/
100+[レンジ]/2; acqRec L最低〉=[レンジ]*[オフセラ日/
100−[レンジ]/2; レンジ及びオフセットの組み合わせが適当でなければ、
最大レンジ設定を用いなければならない。
さらに、ユーザにこの状態を通知できる。
第46a図において、「水平設定」状態590も同様に
、所望取り込み矩形516の水平成分516X用のデジ
タイザ設定を決定し、設定する。
第46b図に示すように、取り込み矩形の水平成分51
6Xの周囲に4つの異なる水平デジタイザ・ウィンドウ
を確立できる。
第1選択は、水平取り込みウィンドウ616Aであり、
水平成分の最初の(左)端又はその直前のサンプル点、
及び水平成分の最終のく右)端又はその直後のサンプル
点を含むことにより、水平成分516Xを完全に含んで
いる。
第2選択は、ウィンドウ616Bであり、水平成分の最
初の(左)端又はその直後のサンプル点、及び水平成分
の最終の(右)端又はその直前のサンプル点を含むこと
により水平成分を含んでいる。
第3選択は、水平取り込みウィンドウ616Cであり、
水平成分の最初の(左)端又はその直前のサンプル点、
及び水平成分の最終の(右)端又はその直前のサンプル
点を含むことにより水平成分を含んでいる。
第4選択は、ウィンドウ616Dであり、水平成分の最
初の(左)端又はその直後のサンプル点、及び水平成分
の最終の(右)端又はその直後のサンプル点を含むこと
により水平成分を含んでいる。
第46a図において、取り込みウィンドウの水平成分は
、取り込みウィンドウの水平成分516Xの長さに対応
するサンプルの数により表し、遅延は、原点(時間=0
)から取り込みウィンドウの初めまでのサンプルの数で
表す、第46b図において、水平軸に沿ったティク・マ
ークは、試験機器がサンフニルする時間間隔を表す、典
型的な試験機器には、1組の利用可能なサンプリング・
レート、最大及び最小遅延の両方があり、これら総てを
コンピュータに与えて、試験機器用の水平取り込みウィ
ンドウ設定を決定するのに用いる。
第46a図において、「水平設定」状態590の第1ス
テツプは、ブロック620に示す如く、試験機器が利用
するかかる設定の予め蓄積した表からサンプル・レート
設定を選択する。ブロック622に示す次の手続きは、
所望水平取り込みウィンドウの最初(左)の端に対して
、デジタイザの水平取り込みウィンドウの初め(左)を
オフセントするために、遅延設定(即ち、最小遅延及び
最大遅延の予め蓄積した制限内で)を計算する。
この設定により、所望水平成分の開始直前又は直後のサ
ンプルができる。遅延の正確な値を選択するのに用いた
試験は、水平成分616 A、 616B。
616C又は616Dのユーザ選択により決まる。
手続き622も、遅延及びサンプル・レート設定に当て
るサンプル総数を計算し、その数を、行うサンプルの最
大数、最大サンプル(maxsas+plcs)を特定
する予め蓄積した値に制限する。遅延の正確な値を選択
するのに用いる試験は、水平成分616A、616B、
616C又は6!6Dのユーザ選択に応じて決まる。
ブロック624に示す最終手続きは、選択したサンプル
レート、選択した遅延設定、及びサンプルの計算した数
の組み合わせが、所望方法で所望取り込み矩形水平成分
(即ち、ウィンドウ616A、616B、616C又は
616D)を含むかを判断する。含まれず、表内にチェ
フクするサンプルレート設定が残れば、上述の如く、制
御をブロック620に戻し、他のサンプルレート設定を
選択し、試験する。そうでなければ、制御を、第43図
に示す最高レベル状態のブロック532に戻す。
要約すれば、この「水平設定」手続きは、次のような最
高サンプル・レート(即ち、単位時間当たりの最高サン
プル)の選択を求める。
[最小遅延〕〈[遅延〕〈〔最大遅延]  ;[サンプ
ル]〈[最大サンプル] ; [acqRect左]〉[遅延コ/[サンプルレートJ
[acqRect右]<[遅延]十[サンプル]/[サ
ンプルレート] ; 5.4  メニュ選択状態の動作 第43図において、初期信号を取り込み、対応波形を表
示スクリーンに表示し、信号検査プログラムが「待ち」
状態538になった後、ユーザは、マウス60の選択ボ
タンを押すことにより選択メニュ(ブロック548)を
呼び出せる。
第16a図において、AM変調実験用の初期波形を取り
込み、ウィンドウ172内で表示器56上に表示する。
手続き570(第44図)の初期又はデフォルト設定に
応じて、初期取り込みウィンドウ及び目盛りの次元を設
定した。ユーザがマウスの選択ボタンを押すと、手続き
548により、メニュ173がマウス・カーソルの位置
でスクリーンに表示される。このメニュは、ユーザが利
用可能な1組のコマンドを表示し、その最上位の1つが
初めに強調される。マウスを移動することにより、ユー
ザはコマンドを変更できるので、強調部分がコマンド・
リスト上を下に下がる。
第17図に示す如(、第1コマンドを選択すると、「ズ
ーム・イン」状態を呼び出す、この「ズーム・イン」状
態における第1ステツプは、「ユーザからの矩形」手続
きである。この手続きは、標準スモールトーク80ルー
チンであり、ユーザが関心のある信号部分を含む表示ス
クリーン上の矩形を示すようにユーザを促す、プロンプ
トは、表示器56上のウィンドウ512内に最初に位置
決めされたコーナ・シンボルの形状である。ユーザは、
マウスのポインタ・ボタンを押し、それを維持すること
により、表示スクリーン上の任意の位置にコーナ・シン
ボルを位置決めして、所望取り込みウィンドウの左上隅
を指示できる。この指示したコーナが表示されたウィン
ドウ172の境界内になくても、この指示したコーナの
位置を、現在表示された波形の取り込みウィンドウに対
してインタブレットする。
次に、ポインティング・ボタンを押しながらマウスを移
動することにより、ユーザは、右下コーナを移動して、
表示器上で強調又は影をつけた矩形174を形成できる
。矩形が、ユーザの関心のある波形部分を含むと、ユー
ザはマウス・ボタンを離す0次に、指定された領域を、
スクリーン座標系により変数5creenRectとし
て蓄積する・次に、変数5creenRectの範囲を
任意の予め蓄積した最初値minimumZoos+E
xtentと比較する手続きに、制御を渡す* 5cr
eenRecLの範囲がこの最小値よりも小さいと、制
御を「ボタンを待つ」状態551 (第43図)に渡し
、ユーザが他の動作を指定できるようにする。ボインテ
ィング・ボタンが不注意に押され、直ちに離されたとき
、及びユーザが「ズームイン」動作をキャンセルしよう
としたとき、非常に小さな矩形に対してチェックするこ
の機構は、アクティビイティを防ぐ。
上述の如<、「データ取り込み」状態の動作により、デ
ジタイザが被試験装置から新たな電気信号を取り込むこ
とができ、第17a図に示す如く、変更した目盛りで新
たな波形を表示器56に表示する。この目盛りは、取り
込み矩形174用の新たな座標を表示する。デジタイザ
が信号を再取り込みしたので、この波形は、第16a図
の波形に対する対応信号特徴よりも非常に詳細な信号特
徴を表示する。
ユーザは、ルーチン538及び548(第43図)を活
性化して、再び選択メニュ173を呼び出すことができ
、この時、「ズーム・アウト」状態を選択する。この状
態において、水平及び垂直成分の百分率として表せ、予
め蓄積された拡張係数により、従来の動作に用いた取り
込み矩形を拡大する。ズーム・アウト設定を決定し、コ
ンビエータによりデジタイザに転送した後、デジタイザ
は、被試験装置から第3電気信号を得て、かかる信号の
デジタル化したものをコンピュータに戻す。
次に、コンピュータは、拡大され、ズーム・アウトされ
た取り込みウィンドウを反映するように変更された座標
系を有する波形として信号を表示する。
メニュ173を再び呼び出し、ユーザは、「以前のウィ
ンドウ」、即ち、第16a図のウィンドウに対応するウ
ィンドウを指定し、再呼び出しすることができる。この
手続きは、取り込み矩形acqRectを、第44図に
示す如く、スタック576に蓄積された最終矩形に等し
く設定する0次に、以前のウィンドウ用に、デジタイザ
が被試験装置から新たな波形を取り込む0本質的には、
同じ信号特徴を表示するが、波形は必然的に同じではな
い、これらは、振幅及び波形の両方、並びに水平軸に沿
った遅延位置において変化する。これは、新たな波形が
前の波形用に以前蓄積したデータの単なるやり直しでは
なく、同じ取り込みウィンドウ内でデジタイザが新たに
取り込んだ信号の波形であるからである0本発明のこの
特徴により、例えば、比較分析用に同じ信号特徴の多数
回の試験を繰り返し実行できる。
選択メニュ(状as 4 g>を呼び出して、「水平」
手続きを選択することができるこの「水平」手続きによ
り、試験システムは信号取り込みウィンドウ内で試験信
号を得ることができる。このウィンドウは、前のウィン
ドウと垂直成分が同じであるが、水平成分は、示した信
号特徴に対して負及び正の両方向に大幅に拡大しである
。メニュ173の「垂直」コマンドの選択は、「水平」
と基本的には同じ拡大であるが、垂直次元である。
上述の説明より、当業者には、スペクトラム・アナライ
ザの如く他のプログラマブル2次元信号取り込み試験機
器も同様に制御できることが明かであろう、また、同じ
原理を後述するプログラマブル刺激形式試験機器の制御
にも適用できる。
5.5  刺激試験機器制御 刺激発生試験機器(電気的、機械的、音響的信号等を発
生する)は、その動作を定義するのに2つ以上の設定が
しばしば必要になる。設定及び次元の組み合わせを多次
元グラフで表すことができるとき、意味する設定を同時
に調整することができる。
種々の設定値を多次元空間の単一点として表すことによ
り、この多次元制御ができる。この空間内の点の表す位
置を調整することにより、種々の設定に対する制御がで
きる。かかる制御の例を第47図及び第48図の電源制
御により説明する。
図形的制御の他の形式は、図形的に示した「調整点」を
有するある原型信号の表現を含む、各調整点は、刺激信
号の信号パラメータを制御して、その全体的影響を直接
図形的にフィードバックする。第49図は、制御のかか
る方法をプログラマブル波形発生器に適応した例を示す
5、5.1  電源制御 第47図は、刺激発生試験機器の例として、電源に対す
る制御を示す。典型的には、最大電圧及び電流制限′に
より、電源を制御する。ユーザは、これら制限を、用い
る特定の電源用の動作領域内で設定しなければならない
、典型的には、動作領域に関する情報を、電源の上限及
び下限電流及び電圧能力を定義する数の形式で、ユーザ
に与える。
そして、ユーザは、実験用試験機器の電流及び電圧制限
を設定する際、これら数を覚えておくか、参照しなけれ
ばならない。
本発明のこの例において、テクトロニクス社製PS50
10型電源の正電源部分用の特徴として、2次元グラフ
700に表示する。このグラフは、X次元が電流を表し
、y次元が電圧を表す。電源動作領域を含むようにグラ
フの次元を確立する。
(検査の便宜のために付加的に5%拡大するが、これは
必要ではない。)暗い灰色領域702は、電源の実際の
動作領域を表す。この特定の電源では、動作M域の形が
L字形になっているが、これは必要ではない、電源の他
のモデルでは、動作領域の形は、−iに三角形である。
電圧設定及び電流設定動作点く即ち、それらの対応軸の
位置)を構成する電源の組み合わせ動作点704を、こ
の領域内に入れる。水平線706を組み合わせ動作点か
らグラフの電圧軸であるy軸目盛り708 (電流がゼ
ロ)の方向に延ばす。
垂直線710は、組み合わせ動作点からグラフのに軸で
あるX軸目盛り712(電圧がゼロ)の方向に延ばす、
これらの線は、各電源設定のレベル又は動作点の輪郭を
描く。
しばしば、設定を数学的に組み合わせて、付加′  的
に関心のある値を作る。2次元表現を与えることにより
、個々の次元を表せるばかりではなく、それらの組み合
わせ効果も示せる。この例において、試験機器が与える
電力(ワット)は電圧及び電流設定の積であり、組み合
わせ動作点での2つの線の交点により表す。
グラフの右上隅に、電圧、電流及び電力のデジタル・リ
ードアウト714を与えて、正確な制御を容易にする。
このリードアウトの配置は、任意である。例えば、ある
方法で、例えば、目盛り領域の左側で電圧線に結び付け
て、電圧リードアウトを表示しても良い。電流リードア
ウトは、電流線に結び付けて、例えば、中央及び右側に
表示しても良い。電カリードアウドは、動作点の線の交
差部分に配置しても良い。
第48図に示した電源制御ソフトウェアによりユーザ制
御を実現する。このルーチンを呼び出すと(開始プロ゛
ツク718)、第1手続きは、上述した如き「グラフ描
画」720である。「待ち」状態722に進み、ユーザ
は、(マウス、ジツイスティク、又は他の2次元グラフ
入力装置を活性化して)制限領域702内でカーソルを
移動させて、電源を制御する。カーソル位置に応じた方
法で、セレクタ・ボタン、即ち位置ボタンを押して、動
作点を調整する(ブロック724)。好適なインプリメ
ンテ−シランにおいて、セレクタ・ボタンを押したとき
の位置に最も近いものに応じて、カーソルは次の1つに
ジャンプする。
1)電圧線706の中央点(ブロック726)2)組み
合わせ動作点704(ブロック728)3)電流線71
0の中央点(ブロック730)このインタフェースの変
更においては、小さな目標を線の中央点、及び結合動作
点に付けても良い。
ユーザは、セレクタ・ボタンを押す前に、カーソルを適
当な目標の近傍に移動して、相互作用の所望形式を選択
する。
カーソルをこれらの点の1つに付けると、カーソルは以
下の位置に変化する。
a)上述1)の場合、電流設定を変更することなく、電
圧動作点の位置 b)上述2)の場合、電圧及び電流組み合わせ動作点の
位置 C)上述3)の場合、電圧設定を変更することなく、電
流動作点の位置 簡略化したインプリメンテーションにおいて・カーソル
を組み合わせ動作点に常に直接ジャンプするようにでき
るので、電圧又は電流動作点の独立した設定は認められ
ない。
所望設定を確立すると、ルーチン732により、これら
設定を電源制御コマンドに変換する。電源設定の結果を
処理する方法としては、次の3つが適当である。゛ 1)ユーザが表示内で線をスライドするのに応じて、電
圧及び電流動作点を電源に送る。
2)ユーザが新たな組み合わせ動作点を位置決めした後
のみ、動作点を送る。
3)より大型の試験機器システムの他の部分による後で
の設定用に、動作点を保持する。
ブロック図エディタ・システムにて使用するので、第3
の方法は初期設定に好適であり、その後、第2の方法を
用いて、実験の実行中に相互作用制御を可能にする。
選択メニュ(ブロック734)も実現して、電源の操作
を容易にする。第48図に示すように、選択には、動作
領域のユーザ指定サブセクション上の「ズーミング・イ
ン」を含むことができ、動作点のより細かな位置決め、
即ち細かな制御ができる。「ズーム・アウト」機能を設
けて、「ズーム・イン」機能の効果を取り消すことがで
きる。
「以前の設定」選択は、設定を調整する際にセーブした
動作点のスタックから、以前の組み合わせ動作点を再生
できる。「電源オン」及び「電源オフ」選択により、電
源の出カスインチをオン及びオフに切り替える。特定の
アブリケーシッン(例えば、ロジック・ファミリのTT
L (最大電流で5V) 、TTL (最大電流で−5
,2V))用の動作点を直接設定するために、更に選択
メニュ項目を追加しても良い。
5、5.2  信号発生器制御 図形制御の他の形式は、図形的に示した「設定点」を有
する原形信号を表す、各調整点は、2次元で、刺激信号
の単一動作点を制御し、全体的な影響を直接図形的にフ
ィードバックする・この制御形式は、他のシステム、例
えば、マツキントシュ(Macintosh)ミュージ
ック・システムと区別すべきである。このミュージック
・システムでは、「スライダ」を用いて(1次元の)設
定値を確立しているが、それには、各スライダを目盛り
に沿って位置決めし、各位置を発生する波形の1つのパ
ラメータにしている。しかし、かかるミュージック・シ
ステムでは、波形は表示されず、また、スライダの移動
により図形的に操作できない、この形式の図形制御は、
システムが「演奏」する波形を「描画」する既知のカー
ソル追従システムとも異なっている。この後者のシステ
ムは、ユーザが描画した波形のスクリーン点を振幅のサ
ンプル値に変換し、このサンプル値をデジタイザ/アナ
ログ変換器に供給して、ユーザが描画した波形に近似し
たアナログ信号を発生する。
第49図は、(テクトロニクス社製F 05010型の
如き)信号発生器に対するユーザ・インタフェースを示
す、2次元グラフ750は、波形752を表示する。ポ
ツプアップ・メニュ754を用いて、発生する波形の形
式(正弦波5ln13s矩形波5quare又は三角波
triangle)を特定する。この選択は「デジタル
j的であり、1組の選択しの中の1つのみが利用可能で
あり、中間形式は存在しない0表示した例においては、
「三角波」を選択している。波形を図形で表示するが、
各点の上の矩形目標は、波形の動作点を表す。すなわち
、目標756はピーク・ピーク振幅であり、目標758
は直流オフセットであり、目標760は百分率波形対称
性であり、目標762は周期である。この例において、
動作点を調整するには、カーソルを特定の目標内(又は
近傍)に移動させ、最も近い目標を選択するためにマウ
スの選択ボタンを押し、このボタンを押しながらマウス
を移動して、選択した目標を移動する。目標を移動する
と、信号発生器の出力波形の表示が調整され、その変化
が示される。実際の動作点の値を、リードアウト・ウィ
ンドウ764に表示しても良い、電源の例と同様に、試
験機器の設計により動作点が制限される。
この例では、これら制限に達すると、調整が簡単に停止
する(即ち、マウスの連続移動は、影響を生じない)。
周波数の如き動作点の大きさをいくつかのオーダにわた
って調整する際(例えば、FG5010において、0.
002Hzから20MHz)、2つの異なる技術を用い
て、表示された波形の影響を示す。小さな移動、又は低
速移動により、信号表示が変化し、動作点をより正確に
設定できる。
位置決め装置の大きな移動、又は高速移動を検出すると
、信号表示よりも周期目盛り766を調整する。動作点
目標を押すことにより、ユーザは目盛りを調整でき、同
じ効果が得られる。すなわち、グラフに応じて出力波形
を適切に表示できる。
本発明の原理を、好適実施例の動作例により、図示し、
説明したが、本発明の要旨を逸脱することなく種々の変
更が可能である。
[発明の効果コ 上述の如く、本発明によれば、コンピュータ・ワークス
テージジン・インタフェースにより試験機器を制御する
ことができ、試験システムの設計資源、試験資源、分析
資源、調査資源等を単一手段によりアクセスできる。ま
た、ワークステーションを基本とした制御により試験機
器の前面パネルの制御及び表示をなくして、プログラマ
ブル試験機器を安価にすることができ、ユーザが試験機
器の設定を行ったり、変更したりするのに必要な時間を
最短にすることもできる。さらに、操作目標による制御
又は分析の定義等に対してユーザの慣れた方法で、ユー
ザが試験システムを制御したり、信号を分析できる。ま
た、試験機器システムに対するユーザ・インタフェース
の複雑さ、及び問題分析をユーザ自身が制御できる。
【図面の簡単な説明】
第1図は本発明によるブロック図エディタ・システムを
実現するソフトウェア構造の図、第1a図は、第1図の
ソフトウェア構造のブロック・エディタ・モデルと、ビ
ューと、コントローラとの関係図、第tb図は、第1図
のソフトウェア構造の口1splayB1ockと、B
lockParas+s と、FormFillOut
との関係図、第1c図は、第1図のソフトウェア構造の
実行マネジャ部分の図、第2図は、本発明のブロック図
エディタ・システムを信号解析に適用した場合の表示ス
クリーンの図、第3図は、第2図の例を実行した後に表
示スクリーンに現れる出力情報を示す図、第4図は、第
3図に類似のブロック図を実行するための実行マネジャ
・ソフトウェアの動作例を示す図、第5図は、本発明に
より被試験装置を刺激し、その応答を検出し、分析する
ためのコンピュータ及びプログラマブル試験機器システ
ムのレイアウト及び相互接続を示す図、第6図〜第11
図は、被試験装置を刺激し、そこからの応答を検出する
ために、第5図のコンピュータでブロック図及び関連し
た凹構造のデータ・ベースを作成する過程を示す図、第
12図は、被試験装置からデジタイザが戻した信号デー
タを分析し、表示するために、第11図のブロック図に
ブロックを付加する過程を示す図、第13図及び第14
図は、ブロック図の選択された発生器ブロック用のパラ
メータを設定するために、システムの動作中の第12図
のスクリーンを示す図、第15図は、デジタイザ用の初
期パラメータ、即ちデフォルト・パラメータの設定過程
を示す図、第16図は、実行を開始するために「回実行
」コマンドのポツプアップ・メニュの選択を示す図、第
16a図は、ブロック図の部分実行後における、第15
図の初期設定下のデジタイザからの波形出力の図的表示
を伴ったスクリーンを示す図、第17図は、信号取り込
みウィンドウのユーザ相互作用の単一  ′検査制御に
より、どのようにユーザがデジタイザの動作を変更でき
るかを示す図、第17a図は、第17図にて変更したデ
ジタイザの設定を用いて、ブロック図を部分的に再実行
した後のスクリーンを示す図、第18図は、第17図で
設定した設定値に適合するデジタイザ・デフォルト設定
値を変更する過程を示す図、第19図は、ブロック図の
完全な実行の後で、デジタイザ出力波形及びポーラ・ブ
ロックの出力のグラフを含むスクリーンを示す図、第2
0図〜第23図は、第12図のブロック図の部分をマク
ロ・ブロックに統合するための手順を示す図、第24図
は、マクロ・ブロックを資源リストに付加する過程を示
す図、第25図〜第30図は、ユーザが、ブロックで表
される詳細な構造の層を検査するために、被試験装置の
如きブロックを入力する本発明の能力を示す図、第31
図は、本発明に用いるブロック図編集ソフトウェア用の
最上位レベルの状態図、第32図は、第31図の「エデ
ィタ・ペイン赤ボタン・アクティビイティ」の状態図、
第32a図、第32b図 ゛及び第32c図は、第32
図の「接続描画」、「ブロック移動」及び「接続移動」
の状態図、第33図は、第31図の「エディタ・ペイン
黄色ボタン・アクティビイティ」の状態図、第34図は
、第31図の「ブロック・メニュ・アクティビイティ」
の状態図、第34a図は、第34図の「ブロックに入力
付加」、「ブロックから入力除去」及び「入力のラベル
付け」状態用のブロック入力状態図、第34b図は、第
34図の「出力をブロックに付加」、「ブロックから出
力を除去」及び「出力にラベル付け」状態用のブロック
出力状態図、第35図は、第33図の「マクロ・メニュ
・アクティビイティ」の状態図、第36図は、第33図
の「マクロ・ブロック・エディタ・メニュ・アクティビ
イティ」の状態図、第37図は、第33図の「ブロック
・エディタ・メニュ・アクティビイティ」の状態図、第
37a図は、第36図及び第37図の「マクロ・ブロッ
ク生成」状態の状態図、第37b図は、第36図及び第
37図の「ブロックのラベル付け」状態の状態図、第3
7c図は、第36図及び第37図の「新たなブロック付
加」状態の状態図、第38図は、第37図の「回実行」
状態の状態図、第39図は、第31図の「青ボタン・ア
クティビイティ」状態の状態図、第40図は、第31図
の「資源リスト・ペイン黄色ボタン・アクティビイティ
」状態の状態図、第41図は、第31図の「資源リスト
・ベイン赤ボタン・アクティビイティ」の状態図、第4
2図は、ブロック図実行期間中におけるデジタイザの信
号検査制御の機能ブロック図、第43図は、信号検査制
御用手続きの最上位レベルの状態図、第44図は、第4
3図の「データ取り込み」状態の状態図、第45a図及
び第46a図は、夫々第44図の「垂直設定」及び「水
平設定」状態の状態図、第45b図及び第46b図は、
第45a図及び第46a図の手続きの動作を夫々図的に
表した図、第47図は、ユーザが信号検査制御により電
源の動作をどのように制御するかを示す図、第48図は
、電源の信号検査制御用の手続きの最上位レベルの状態
図、第49図は、ユーザが信号検査制御により関数発生
器の動作をどのように制御するかを示す図、第50図は
信号処理ブロック機能の説明に供するための表口、第5
1図は測定機器ブロック機能の説明に供するための表口
、第52図は種々のブロック機構の説明に供するための
表口、第53図は拡張ブロック・エディタ・メニュ機能
の説明に供するための表口である。 50はプログラマブル・コンピュータ、56は図形表示
手段、58.60は入力手段である。

Claims (1)

  1. 【特許請求の範囲】 1、コンピュータ・プログラム命令及びデータを蓄積す
    るメモリ手段、及び上記蓄積されたプログラム命令を実
    行して上記蓄積されたデータを処理する処理手段を有す
    るプログラマブル・コンピュータと、 該コンピュータに接続され、2次元図形データを表示す
    る図形表示手段と、 上記コンピュータに接続され、上記表示手段に表示され
    た図形データを選択すると共に位置決めできるユーザ操
    作可能な手段を有し、データを上記コンピュータに入力
    する入力手段と、 上記ユーザ操作可能な手段に応答して、出力端子を有す
    る第1ブロック及び入力端子を有する第2ブロックを上
    記表示手段に図形データとして表示するブロック表示手
    段と、 上記ユーザ操作可能な手段に応答して、上記第1ブロッ
    クの出力端子及び上記第2ブロックの入力端子間の相互
    接続を表示する相互接続表示手段と、 上記処理手段の実行により、予め定義された第1機能に
    応じて発生した第1信号データを上記第1ブロックの出
    力端子に与える第1機能命令手段と、 上記第1ブロックの出力端子から上記第2ブロックの入
    力端子への相互接続により決まる方向により、各機能の
    間で信号データを転送するデータ流れ手段と、 上記処理手段の実行により、予め定義された第2機能に
    応じて入力信号データを変換する第2機能命令手段と、 上記入力手段に応答して、上記処理手段に上記第1及び
    第2機能命令手段を実行させ、上記第1機能に応じて上
    記第1信号データを発生すると共に、上記データ流れ手
    段により上記信号データを上記第2機能に転送し、上記
    第2機能に応じて上記信号データを変換して第2信号デ
    ータを発生する手段と、 上記表示手段に上記第2信号データを表示させる手段と
    を具えた図形インタフェース装置。 2、電子機器を刺激し、コンピュータで制御可能な刺激
    手段を設け、 上記電子機器の刺激応答を検出し、コンピュータで制御
    可能な検出手段を設け、 ユーザが命令を入力できるユーザ入力手段、情報を図形
    的に表示する表示手段、及びデータの授受を行う外部通
    信手段を有するコンピュータを設け、 上記刺激手段及び上記検出手段を制御するように第1デ
    ータ・チャンネルを介して制御信号を送ると共に、刺激
    に対する上記電子機器の応答を定義するデータ信号を上
    記検出手段から第2データチャンネルを介して受けるよ
    うに、上記コンピュータ通信手段を接続し、 上記刺激手段を定義する第1ブロック及び上記検出手段
    を定義する第2ブロックを含むブロック図を表示するよ
    うに上記コンピュータをプログラムし、 上記刺激手段が上記電子機器に供給できる刺激の形式を
    決める可変刺激パラメータを上記第1ブロックに関連し
    て蓄積し、 上記検出手段が検出できる応答の特徴を決める可変検出
    パラメータを上記第2ブロックに関連して蓄積し、 制御信号を発生し、上記刺激手段及び上記検出手段に送
    って、上記刺激パラメータ及び上記検出パラメータに応
    じて、上記電子機器を刺激し、その応答を検出するよう
    に上記コンピュータをプログラムし、 上記第1及び第2ブロックの選択した一方に関連して、
    その可変パラメータを設定する命令を特定の刺激パラメ
    ータ又は検出パラメータに入れ、上記プログラムを実行
    して、上記コンピュータが上記制御信号を上記刺激手段
    及び上記検出手段に送り、上記特定の刺激パラメータに
    応じて上記電子機器を刺激すると共に、その応答を検出
    し、上記電子機器の検出応答に対応するデータ信号をコ
    ンピュータに転送し、 上記データ信号を処理し、上記第2ブロックに関連して
    上記検出応答を表示し、この表示された応答は、上記刺
    激パラメータ及び上記検出パラメータにより決まること
    を特徴とする電子機器制御方法。
JP63016805A 1987-01-27 1988-01-27 電子機器制御方法 Expired - Fee Related JPH0642210B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US7234 1979-01-29
US07/007,234 US4868785A (en) 1987-01-27 1987-01-27 Block diagram editor system and method for controlling electronic instruments

Publications (2)

Publication Number Publication Date
JPS63271541A true JPS63271541A (ja) 1988-11-09
JPH0642210B2 JPH0642210B2 (ja) 1994-06-01

Family

ID=21724988

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63016805A Expired - Fee Related JPH0642210B2 (ja) 1987-01-27 1988-01-27 電子機器制御方法

Country Status (3)

Country Link
US (1) US4868785A (ja)
EP (1) EP0295760A3 (ja)
JP (1) JPH0642210B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06273199A (ja) * 1993-03-18 1994-09-30 Yokogawa Electric Corp 実験システム
JP2007171100A (ja) * 2005-12-26 2007-07-05 Fujitsu Ten Ltd 信号パターン作成装置
JP2016206963A (ja) * 2015-04-23 2016-12-08 株式会社明電舎 デジタル回路シミュレータの波形とソフトウェア設計図との連携方法および連携プログラム
JP2019211988A (ja) * 2018-06-04 2019-12-12 日本無線株式会社 センサー表示手順決定装置、センサー表示装置、センサー表示手順決定プログラム及びセンサー表示手順決定方法

Families Citing this family (121)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4849880A (en) * 1985-11-18 1989-07-18 John Fluke Mfg. Co., Inc. Virtual machine programming system
US5481740A (en) * 1986-04-14 1996-01-02 National Instruments Corporation Method and apparatus for providing autoprobe features in a graphical data flow diagram
EP0347162A3 (en) * 1988-06-14 1990-09-12 Tektronix, Inc. Apparatus and methods for controlling data flow processes by generated instruction sequences
US5287511A (en) * 1988-07-11 1994-02-15 Star Semiconductor Corporation Architectures and methods for dividing processing tasks into tasks for a programmable real time signal processor and tasks for a decision making microprocessor interfacing therewith
US5590349A (en) * 1988-07-11 1996-12-31 Logic Devices, Inc. Real time programmable signal processor architecture
JPH0786883B2 (ja) * 1988-09-09 1995-09-20 松下電器産業株式会社 網図または諭理回路図自動生成方法およびそのシステム
JPH02155033A (ja) * 1988-12-07 1990-06-14 Hitachi Ltd 帳票ソート制御方法およびデータ処理装置
US5111413A (en) * 1989-03-24 1992-05-05 Vantage Analysis Systems, Inc. Computer-aided engineering
AU6916291A (en) * 1989-11-13 1991-06-13 Digital Equipment Corporation User interface for management
DE4100899A1 (de) * 1990-01-17 1991-07-18 Schlumberger Technologies Inc System fuer die steuerung des ablaufs von testsequenzen in einer informationsverarbeitungsvorrichtung
US5579463A (en) * 1990-03-30 1996-11-26 Anritsu Corporation Waveform display apparatus of frequency sweep type for facilitating display of a high definition waveform
US5434954A (en) * 1990-03-30 1995-07-18 Anritsu Corporation Waveform display apparatus for easily realizing high-definition waveform observation
US5309352A (en) * 1990-05-18 1994-05-03 Tektronix, Inc. Method and system for optimizing termination in systems of programmable devices
AU665927B2 (en) * 1990-05-18 1996-01-25 Star Semiconductor Corporation Programmable signal processor architecture
US5278770A (en) * 1990-06-25 1994-01-11 Brooklin J. Gore Method for generating input data for an electronic circuit simulator
GB2247597B (en) * 1990-08-31 1995-03-08 Canon Res Ct Europe Ltd Image processing
US5617523A (en) * 1990-11-30 1997-04-01 Anritsu Corporation Waveform display apparatus for easily realizing high-definition waveform observation
AU665182B2 (en) * 1991-02-28 1995-12-21 Associative Measurement Pty Ltd Scientific instrument emulator
EP0573503B1 (en) * 1991-02-28 2002-12-11 Associative Measurement Pty. Ltd. Scientific instrument emulator
DE4111181A1 (de) * 1991-04-06 1992-10-08 Rohde & Schwarz Einrichtung zum einstellen einzelner unterschiedlicher elektronischer geraete eines geraetesystems
US5649171A (en) * 1991-04-12 1997-07-15 Accom, Inc. On-line video editing system
US5446575A (en) * 1991-06-28 1995-08-29 Digital Equipment Corp. System for constructing and loading a table data structure based on an associated configuration data
US5434971A (en) * 1991-06-28 1995-07-18 Digital Equipment Corp. System for constructing a table data structure based on an associated configuration data structure and loading it with chemical sample physical data
US5630164A (en) * 1992-02-27 1997-05-13 Associative Measurements Pty. Ltd. Scientific instrument emulator having a computer and an analog signal interface for real-time signal processing
JPH05242213A (ja) * 1992-03-02 1993-09-21 Casio Comput Co Ltd 線図作成装置
US5557559A (en) * 1992-07-06 1996-09-17 Motay Electronics, Inc. Universal burn-in driver system and method therefor
GB2270242A (en) * 1992-08-29 1994-03-02 Ibm A method of editing for an object oriented computer system
US5485600A (en) * 1992-11-09 1996-01-16 Virtual Prototypes, Inc. Computer modelling system and method for specifying the behavior of graphical operator interfaces
US6128542A (en) * 1993-03-29 2000-10-03 Cmsi Acquisition Corporation Method and apparatus for generating a sequence of steps for use by a factory
DE4337488A1 (de) * 1993-11-03 1995-05-04 Dresden Messelektronik Gmbh Verfahren zur analogen und/oder digitalen Prüfung von Elektronikbaugruppen
US5592604A (en) * 1994-08-31 1997-01-07 International Business Machines Corporation Method and system for indicating boundaries of connected data subsets
US5680530A (en) * 1994-09-19 1997-10-21 Lucent Technologies Inc. Graphical environment for interactively specifying a target system
US5771032A (en) * 1994-09-30 1998-06-23 International Business Machines Corporation Method, system, and memory for modifying a window as information is being scrolled
US5546520A (en) * 1994-09-30 1996-08-13 International Business Machines Corporation Method, system, and memory for reshaping the frame edges of a window around information displayed in the window
US5515486A (en) * 1994-12-16 1996-05-07 International Business Machines Corporation Method, apparatus and memory for directing a computer system to display a multi-axis rotatable, polyhedral-shape panel container having front panels for displaying objects
US5909595A (en) * 1995-05-15 1999-06-01 Nvidia Corporation Method of controlling I/O routing by setting connecting context for utilizing I/O processing elements within a computer system to produce multimedia effects
US6408429B1 (en) 1997-01-17 2002-06-18 Cognex Corporation Machine vision system for identifying and assessing features of an article
EP0871112A1 (en) * 1997-03-10 1998-10-14 Ncr International Inc. Information technology architecture
US5845234A (en) * 1997-04-22 1998-12-01 Integrated Measurement Systems, Inc. System and method for efficiently generating testing program code for use in automatic test equipment
US5991705A (en) * 1997-07-23 1999-11-23 Candle Distributed Solutions, Inc. End-to-end response time measurement for computer programs using starting and ending queues
US6917971B1 (en) 1999-12-23 2005-07-12 International Business Machines Corporation Method and apparatus for determining a response time for a segment in a client/server computing environment
WO1999022310A1 (en) * 1997-10-27 1999-05-06 Kla-Tencor Corporation Software system and method for extending classifications and attributes in production analysis
US7016811B2 (en) * 2001-08-15 2006-03-21 National Instruments Corporation Network-based system for configuring a programmable hardware element in a measurement system using hardware configuration programs generated based on a user specification
WO1999044164A1 (en) * 1998-02-24 1999-09-02 Anwar Mohammed S A multidimensional data display and manipulation system and methods for using same
GB9810574D0 (en) 1998-05-18 1998-07-15 Thermo Bio Analysis Corp Apparatus and method for monitoring and controlling laboratory information and/or instruments
JP4280329B2 (ja) * 1998-07-06 2009-06-17 アルプス電気株式会社 座標入力装置
EP1003096A1 (en) 1998-11-19 2000-05-24 Alcatel Mediation device development method
US6750864B1 (en) 1999-11-15 2004-06-15 Polyvista, Inc. Programs and methods for the display, analysis and manipulation of multi-dimensional data implemented on a computer
US20040205704A1 (en) * 1999-12-27 2004-10-14 Miller Donald W. Transparent monitoring system and method for examining an executing program in real time
US7047495B1 (en) 2000-06-30 2006-05-16 Intel Corporation Method and apparatus for graphical device management using a virtual console
US6895563B2 (en) * 2000-08-15 2005-05-17 Paul K. Dixon Universal laboratory prototyping interface system
EP1336133A4 (en) * 2000-11-17 2007-10-24 Lecroy Corp CONTROL VARIABLES
DE10124371A1 (de) * 2001-05-18 2002-11-21 Rohde & Schwarz Meßgerät mit über ein Blockdiagramm ansteuerbaren Funktionseinheiten
US20030004673A1 (en) * 2001-06-29 2003-01-02 Thurman Robert W. Routing with signal modifiers in a measurement system
US6965800B2 (en) * 2001-06-29 2005-11-15 National Instruments Corporation System of measurements experts and method for generating high-performance measurements software drivers
US7969431B2 (en) 2001-06-29 2011-06-28 National Instruments Corporation Graphical program node for generating a measurement program
US7162387B2 (en) * 2001-06-29 2007-01-09 National Instruments Corporation Measurement system graphical user interface for easily configuring measurement applications
US20030004672A1 (en) * 2001-06-29 2003-01-02 National Instruments Corporation Meta-routing tool for a measurement system
US20030005153A1 (en) * 2001-06-29 2003-01-02 National Instruments Corporation Dynamic routing for a measurement system
US20030005154A1 (en) * 2001-06-29 2003-01-02 Thurman Robert W. Shared routing in a measurement system
US8290762B2 (en) * 2001-08-14 2012-10-16 National Instruments Corporation Graphically configuring program invocation relationships by creating or modifying links among program icons in a configuration diagram
US7302675B2 (en) * 2001-08-14 2007-11-27 National Instruments Corporation System and method for analyzing a graphical program using debugging graphical programs
US7984423B2 (en) * 2001-08-14 2011-07-19 National Instruments Corporation Configuration diagram which displays a configuration of a system
US7594220B2 (en) * 2001-08-14 2009-09-22 National Instruments Corporation Configuration diagram with context sensitive connectivity
US6889172B2 (en) * 2001-08-15 2005-05-03 National Instruments Corporation Network-based system for configuring a measurement system using software programs generated based on a user specification
US7013232B2 (en) * 2001-08-15 2006-03-14 National Insurance Corporation Network-based system for configuring a measurement system using configuration information generated based on a user specification
US7043393B2 (en) * 2001-08-15 2006-05-09 National Instruments Corporation System and method for online specification of measurement hardware
WO2003017945A2 (en) * 2001-08-24 2003-03-06 Martek Biosciences Boulder Corporation Products containing highly unsaturated fatty acids for use by women and their children during stages of preconception, pregnancy and lactation/post-partum
US7512931B2 (en) * 2001-11-13 2009-03-31 National Instruments Corporation Graphical program nodes for implementing a measurement state model
US7089141B2 (en) * 2001-11-13 2006-08-08 National Instruments Corporation Measurement system which uses a state model
US7027070B2 (en) * 2001-11-29 2006-04-11 Agilent Technologies, Inc. Systems and methods for manipulating a graphical display of a printed circuit board model for an automated x-ray inspection system
US20030131145A1 (en) * 2002-01-09 2003-07-10 International Business Machines Corporation Passing parameters to an external command via the command environment
US20040246252A1 (en) * 2002-01-14 2004-12-09 Morrow Jesse James Method and apparatus for visualizing data
US7006092B2 (en) * 2002-05-16 2006-02-28 Tektronix, Inc. Method and apparatus for representing complex vector data
US20040031019A1 (en) * 2002-05-20 2004-02-12 Richard Lamanna Debugger for a graphical programming environment
US7042469B2 (en) * 2002-08-13 2006-05-09 National Instruments Corporation Multiple views for a measurement system diagram
US7219306B2 (en) * 2002-08-13 2007-05-15 National Instruments Corporation Representing unspecified information in a measurement system
US20040034496A1 (en) * 2002-08-13 2004-02-19 Correll Jeffrey N. Displaying functionality of a hardware device in a measurement system
US7890868B2 (en) * 2002-08-13 2011-02-15 National Instruments Corporation Selecting a connectable element of a hardware device in a measurement system
US7356774B2 (en) * 2002-08-13 2008-04-08 National Instruments Corporation Grouping components of a measurement system
US7761802B2 (en) * 2002-08-13 2010-07-20 National Instruments Corporation Expanding and collapsing components in a measurement system diagram
US7484200B2 (en) * 2002-08-14 2009-01-27 National Instruments Corporation Automatically analyzing and modifying a graphical program
US20040205111A1 (en) * 2002-11-15 2004-10-14 Zaki Chasmawala User configurable data messages in industrial networks
US7134109B2 (en) * 2003-02-10 2006-11-07 National Instruments Corporation Parameter oriented graphical representation of hardware timing and triggering capabilities with contextual information
US6859750B1 (en) * 2003-02-13 2005-02-22 Agilent Technologies, Inc. Ramp sweep synthesis control
US7665025B2 (en) * 2003-04-16 2010-02-16 The Mathworks, Inc. Signal navigation and label propagation in block diagrams
EP1660994A2 (en) * 2003-08-07 2006-05-31 National Instruments Corporation A graphical program which executes a timed loop
US8875039B2 (en) * 2003-11-18 2014-10-28 The Mathworks, Inc. Propagation of characteristics in a graphical model environment
US7761847B2 (en) * 2004-07-16 2010-07-20 National Instruments Corporation Timed sequence for a graphical program
US7348995B2 (en) * 2005-06-09 2008-03-25 International Business Machines Corporation Method, apparatus and computer program product for implementing picture format conversion to X, Y plot
US20070197169A1 (en) * 2006-02-01 2007-08-23 Viss Marlin E Systems and methods for transmitter and channel characterization
FR2898708A1 (fr) * 2006-03-17 2007-09-21 France Telecom Procede et plate-forme de developpement d'applications multisensorielles, programme d'rodinateur associe
US7373263B2 (en) * 2006-05-16 2008-05-13 Tektronix, Inx. Analog-type measurements for a logic analyzer
EP1863268A1 (en) * 2006-05-29 2007-12-05 Ricoh Company, Ltd. Combining image processing components using visual programming
JP4832164B2 (ja) * 2006-05-29 2011-12-07 株式会社リコー 画像処理装置、アプリケーション実行方法及びアプリケーション実行プログラム
US8564544B2 (en) 2006-09-06 2013-10-22 Apple Inc. Touch screen device, method, and graphical user interface for customizing display of content category icons
US8689132B2 (en) * 2007-01-07 2014-04-01 Apple Inc. Portable electronic device, method, and graphical user interface for displaying electronic documents and lists
US8199149B2 (en) * 2007-12-13 2012-06-12 Tektronix, Inc. Automatic generation of frequency domain mask
US8205157B2 (en) 2008-03-04 2012-06-19 Apple Inc. Methods and graphical user interfaces for conducting searches on a portable multifunction device
GB2462997B (en) * 2008-04-23 2010-09-08 Wolfson Microelectronics Plc Method and apparatus for configuring a device
US8763045B2 (en) * 2008-09-30 2014-06-24 Echostar Technologies L.L.C. Systems and methods for providing customer service features via a graphical user interface in a television receiver
US20100083315A1 (en) * 2008-09-30 2010-04-01 Echostar Technologies Llc Systems and methods for graphical control of user interface features provided by a television receiver
US8473979B2 (en) * 2008-09-30 2013-06-25 Echostar Technologies L.L.C. Systems and methods for graphical adjustment of an electronic program guide
US8572651B2 (en) * 2008-09-22 2013-10-29 EchoStar Technologies, L.L.C. Methods and apparatus for presenting supplemental information in an electronic programming guide
US8582957B2 (en) 2008-09-22 2013-11-12 EchoStar Technologies, L.L.C. Methods and apparatus for visually displaying recording timer information
US8937687B2 (en) * 2008-09-30 2015-01-20 Echostar Technologies L.L.C. Systems and methods for graphical control of symbol-based features in a television receiver
US9357262B2 (en) * 2008-09-30 2016-05-31 Echostar Technologies L.L.C. Systems and methods for graphical control of picture-in-picture windows
US8397262B2 (en) * 2008-09-30 2013-03-12 Echostar Technologies L.L.C. Systems and methods for graphical control of user interface features in a television receiver
US8793735B2 (en) * 2008-09-30 2014-07-29 EchoStar Technologies, L.L.C. Methods and apparatus for providing multiple channel recall on a television receiver
US9100614B2 (en) * 2008-10-31 2015-08-04 Echostar Technologies L.L.C. Graphical interface navigation based on image element proximity
US8589374B2 (en) 2009-03-16 2013-11-19 Apple Inc. Multifunction device with integrated search and application selection
US20110225524A1 (en) * 2010-03-10 2011-09-15 Cifra Christopher G Multi-Touch Editing in a Graphical Programming Language
US20110283212A1 (en) * 2010-05-13 2011-11-17 Nokia Corporation User Interface
US9600785B2 (en) * 2011-01-31 2017-03-21 International Business Machines Corporation Automatically generated and updated graphical rendering of processes
US8713482B2 (en) 2011-07-28 2014-04-29 National Instruments Corporation Gestures for presentation of different views of a system diagram
US8782525B2 (en) 2011-07-28 2014-07-15 National Insturments Corporation Displaying physical signal routing in a diagram of a system
US9507484B2 (en) * 2012-12-27 2016-11-29 General Electric Company Methods and apparatus for configuring a data analyzer
US9672127B2 (en) * 2015-04-16 2017-06-06 Teradyne, Inc. Bus interface system for interfacing to different buses
US10283082B1 (en) 2016-10-29 2019-05-07 Dvir Gassner Differential opacity position indicator
CN107240334A (zh) * 2017-05-23 2017-10-10 梦孚(上海)教育科技有限公司 一种编程学习系统及其方法
JPWO2021192646A1 (ja) * 2020-03-27 2021-09-30

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5969861A (ja) * 1982-10-14 1984-04-20 Matsushita Electric Ind Co Ltd デイジタル回路シミユレ−シヨン装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4315315A (en) * 1971-03-09 1982-02-09 The Johns Hopkins University Graphical automatic programming
US4389706A (en) * 1972-05-03 1983-06-21 Westinghouse Electric Corp. Digital computer monitored and/or operated system or process which is structured for operation with an improved automatic programming process and system
US4064394A (en) * 1975-05-28 1977-12-20 American Chain & Cable Company, Inc. Electronic digital process controller having simulated analog control functions
US4656603A (en) * 1984-03-01 1987-04-07 The Cadware Group, Ltd. Schematic diagram generating system using library of general purpose interactively selectable graphic primitives to create special applications icons
US4723209A (en) * 1984-08-30 1988-02-02 International Business Machines Corp. Flow attribute for text objects
US4901221A (en) * 1986-04-14 1990-02-13 National Instruments, Inc. Graphical system for modelling a process and associated method

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5969861A (ja) * 1982-10-14 1984-04-20 Matsushita Electric Ind Co Ltd デイジタル回路シミユレ−シヨン装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06273199A (ja) * 1993-03-18 1994-09-30 Yokogawa Electric Corp 実験システム
JP2007171100A (ja) * 2005-12-26 2007-07-05 Fujitsu Ten Ltd 信号パターン作成装置
JP2016206963A (ja) * 2015-04-23 2016-12-08 株式会社明電舎 デジタル回路シミュレータの波形とソフトウェア設計図との連携方法および連携プログラム
JP2019211988A (ja) * 2018-06-04 2019-12-12 日本無線株式会社 センサー表示手順決定装置、センサー表示装置、センサー表示手順決定プログラム及びセンサー表示手順決定方法

Also Published As

Publication number Publication date
JPH0642210B2 (ja) 1994-06-01
US4868785A (en) 1989-09-19
EP0295760A2 (en) 1988-12-21
EP0295760A3 (en) 1990-12-19

Similar Documents

Publication Publication Date Title
JPS63271541A (ja) 電子機器制御方法
US5155836A (en) Block diagram system and method for controlling electronic instruments with simulated graphic display
EP0242131B1 (en) Graphical system for modelling a process and associated method
US9262129B2 (en) Mixed signal analysis
US7958488B2 (en) Virtual testing in a development environment
US5291587A (en) Graphical system for executing a process and for programming a computer to execute a process, including graphical variable inputs and variable outputs
KR100808504B1 (ko) 자동 테스트 장비를 프로그램하기 위한 방법 및 시스템
US7216334B2 (en) Self-determining behavior node for use in creating a graphical program
US7134086B2 (en) System and method for associating a block diagram with a user interface element
EP0869433A2 (en) A test development system and method for software with a graphical user interface
US20050155014A1 (en) Graphical program which includes an I/O node for hardware abstraction
US20080147371A1 (en) User Defined Virtual Instruments in a Simulation Environment
US7120877B2 (en) System and method for creating a graphical program including a plurality of portions to be executed sequentially
Eisenstein et al. Agents and GUIs from task models
US8151218B2 (en) Evaluation of graphical program nodes
US20040032412A1 (en) Generating a graphical program based on a timing diagram
JPH0981355A (ja) 対話型インタフェース装置
US9547479B2 (en) Method for adapting GUI-based instrument components in a visual programming language
US6016143A (en) Multi-device direct I/O object that generates transactions capable of controlling multiple instruments and transaction dialog boxes having device and address fields
US10235868B2 (en) Embedded shared logical instrument
CN102467371B (zh) 一种测量资源控制方法和测量资源控制系统
Biddle A lightweight case tool for learning OO design
Najib et al. Development of Real-Time signal generator Graphical user Interface using MATLAB 6.5
Eichner et al. A framework for internet-based tutorials on spoken language engineering
Strobl A generic widget library for Rapid-Prototyping of Graph Algorithms in Jupyter Notebooks

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees