JPH08314704A - 制御プログラム生成システム - Google Patents

制御プログラム生成システム

Info

Publication number
JPH08314704A
JPH08314704A JP8025120A JP2512096A JPH08314704A JP H08314704 A JPH08314704 A JP H08314704A JP 8025120 A JP8025120 A JP 8025120A JP 2512096 A JP2512096 A JP 2512096A JP H08314704 A JPH08314704 A JP H08314704A
Authority
JP
Japan
Prior art keywords
program
control program
control
data
display
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP8025120A
Other languages
English (en)
Inventor
Andrew R Pillans
アール. ピランズ アンドリュー
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.)
NCR International Inc
Original Assignee
NCR International 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
Application filed by NCR International Inc filed Critical NCR International Inc
Publication of JPH08314704A publication Critical patent/JPH08314704A/ja
Pending 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/10Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
    • G06Q20/108Remote banking, e.g. home banking
    • G06Q20/1085Remote banking, e.g. home banking involving automatic teller machines [ATMs]

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Development Economics (AREA)
  • Stored Programmes (AREA)
  • Programmable Controllers (AREA)
  • Devices For Executing Special Programs (AREA)
  • Digital Computer Display Output (AREA)

Abstract

(57)【要約】 【課題】 自動窓口端末機のようなターゲット装置に簡
単で利用範囲が広く有効な制御プログラムを生成するシ
ステムを提供する。 【解決手段】 本発明のシステムがそのユーザに提供す
る可視インタフェースは、制御プロセスを示すサブ画像
においてこれらプロセスは同時に実行可能な複数の同時
プロセスを表すようグループ分けしたプロセスである制
御プロセスを示すサブ画像ならびに同時プロセスの一つ
のグループから同時プロセスの続いて実行される後続グ
ループへの制御フローを示すこれらサブ画像間のリンク
の両者を表しかつこれら両者のエディティングを可能に
する可視インタフェースを本発明の制御プログラム生成
システムは提供する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、制御システム製作
用装置に係り、特に例えば、自動窓口端末機(ATM)
のようなセルフサービス自動装置に関する。
【0002】
【従来の技術】周知のように、このようなATMには、
カードを読取るカード・リーダがあり、さらに紙幣を払
出す紙幣蓄積装置があり、さらにキーパッドやスクリー
ンのような入出力装置があり、さらに前記要素のオペレ
ーションを制御するマイクロプロセッサのような制御装
置がある。ATMのこれら要素は広く利用されている。
カードの受入、このカードの読取り、このカードの拒
否、キー入力の受入、さらにスクリーンの表示など、こ
のマイクロプロセッサが行う基本制御オペレーション
は、ATMを利用する多くの種々のシステムにおいて類
似している。ところが、このスクリーン上に表示される
データはこのATM機械を利用するシステムの個別性に
応じ異なる。
【0003】さらに、種々のシステムにおいてはこのA
TM機械を構成する機器を制御する基本オペレーション
は種々のシーケンスで行う必要がある。そこで新規AT
Mを設けようとする場合、このシステムを将来持つと考
えられる将来所持者によってこのシステムが行う必要の
あるファンクションは指定される、そして各ATM機械
上のマイクロプロセッサ制御装置の制御プログラムはコ
ンピュータ・プログラミングの専門家によって書込ま
れ、また(可能な場合には)特定の低水準の機器の制御
オペレーションには現サブルーチンが利用される。そこ
で本発明の目的は次のような(例えば、ATM)新規制
御プログラム・システムを開発する開発システムを提供
することにある。
【0004】すなわち、ここではこのコンピュータの専
門家の役割を少くすること、そしてその将来ユーザまた
はこの将来ユーザのビジネス分野の専門家の役目を大き
くすることである。“アイコン・オーサ”と呼ばれる制
御プログラム開発アプリケーションは既知である。この
アプリケーションは図形のユーザ・インタフェース〓
(GUI)を提供し、これによって制御プログラムをフ
ロー図として指定することができ、ただしこれは多数の
アイコン(つまり、サブ画像)から構成されおり各アイ
コンはそれぞれ処理サブプログラムまたはサブルーチン
もしくは制御構造を示しておりさらにこれらはサブルー
チンからサブルチンへの制御フローを表すラインによっ
てリンクされているものである。
【0005】ところが、このシステムにはただ順次処理
のみを指定する(フロー図では通常のことであるが)デ
ザインとなっている大きい欠点がある。ATMや類似の
アプリケーションの場合には、数個のサブルーチンの同
時実行が必要である場合が実際にはあり得ることであっ
て、例えば、カード挿入を走査するようカードリーダを
制御するルーチンと共に別のメッセージを表示するスク
リーンを同時に動作させる場合があり得る。この問題は
2個のタスクを実際上同時に実行するサブルーチンを書
込むことによってこのアイコン・オーサ・システムまた
は類似のシステムでは解決することが可能である。
【0006】ところが、この解決方法では、サブルーチ
ンが複雑となりさらにはこれはある1個の特定のシステ
ムに限定的なものとなってしまう傾向がある、というの
はいろんなシステムではいろんなプロセスを同時に実行
する必要があり得るためである。この問題はまたサブル
ーチンをさらに小さい小部分に分割することによって解
決することも可能である。ところがこの場合にはそのア
プリケーションの構造は非専門家には理解するのは難し
くまた再利用がさらに難しいという欠点がある。そこで
以上のような従来の複雑で再利用も難しい利用範囲の狭
い不都合な欠点の無い簡単で再利用も容易で利用範囲の
広い有効な制御プログラム生成システムが望まれてい
る。
【0007】
【発明が解決しようとする課題】例えば、ATMのよう
な装置に簡単で再利用も容易な利用範囲の広い有効な制
御プログラムを生成するシステムが望まれている。
【0008】
【課題を解決するための手段】本発明は、以下に説明す
る制御プログラム生成システムを提供し前記課題を解決
しこの技術分野の進歩を遂げる。すなわち本発明の提供
する制御プログラム生成システムは、一つの特徴とし
て、次の可視インタフェースをこのシステム・ユーザに
提供する制御プログラムの生成システムである。つまり
本発明の可視インタフェースは、制御プロセスを示すサ
ブ画像においてこれらプロセスは同時に実行可能な複数
の同時プロセスを表すようグループ分けしたプロセスで
ある制御プロセスを示すサブ画像ならびに同時プロセス
の一つのグループから同時プロセスの続いて実行される
後続グループへの制御フローを示すこれらサブ画像間の
リンクの両者を表しかつこれら両者のエディティングを
可能にする可視インタフェースである。以下に図表を参
照し発明の実施の形態例を説明する。
【0009】
【発明の実施の形態例】背景として通常のATM機械の
構造を図1を参照し簡単に説明する。このATMには、
中央処理装置(CPU)2があってこれは内部バス4を
介して蓄積(記憶)装置(例えば、ディスク・ドライブ
または消去可能PROM)6に接続する、ただしこの蓄
積装置6はこのCPU2のオペレーションを制御する制
御プログラムを蓄積するものであり、さらにこのATM
にはランダム・アクセス・メモリ(RAM)8があって
これはこのCPU2のオペレーション時のワーキング・
データを蓄積するものである。またこのCPU2は装置
バス10に接続しており、この装置バス10を介してこ
のCPU2に通じているものにはカード機構12があっ
てこれはカード(例えば、磁気ストライプ・カード)の
受入と読取りと拒否を行うものである。
【0010】さらにこのCPU2にその装置バス10を
介して通じているものには、、プリンタ14があってこ
れはレシートまたは残高をプリントするものであり、さ
らに紙幣蓄積払出しディスペンサ16があってこれは1
個以上の単位紙幣であって選択的に払出す所用枚数の紙
幣を蓄積するものであり、さらにキーパッド(または他
の接触応答入力装置)18があり、さらにまたディスプ
レイ・スクリーン12があってこれはメッセージを表示
するものである。さらにまたモデム22が設けられこれ
は通信ネットワークを介し検証処理を行うものである。
ここでさらに設けられているものにはタイマ(例えば、
プログラマブル・カウンタ・タイマ集積回路)24があ
る。
【0011】図1に示すATMが行うオペレーションは
この蓄積装置6内の制御プログラムによって左右され
る。この制御プログラムには普通には通常のオペレーテ
ィング・システム(例えば、OS/2)があってこれは
低水準の入出力を取扱うものであり、さらにアプリケー
ション・プログラムがあってこれはそのATMの常駐す
る特定システムに特有のものである。ここに一例として
挙げることができるオペレーションの一般的順序は、例
えば次の通りである。カード挿入を待つ、その一方でメ
ッセージを表示する。カードを受入しIDデータを読取
る。
【0012】キーボードを介しPIN番号を入力し、そ
の一方でユーザに対する命令スクリーンを表示する。検
証のためIDとPINのデータをモデムを介して伝達し
応答を待つ。処理選択を示すスクリーンを表示し所望処
理を入力する。検証で許容できぬ場合、カードを拒否し
最初に戻る。検証で許容できる場合、処理(例えば、残
高の読取りと表示またはプリント、もしくは所望金額の
入力と紙幣蓄積装置からの払出し)を実行する。カード
を戻す。
【0013】この処理時のいろんな時点で次のことが行
なわれる。そのユーザに命令または通知するメッセージ
・スクリーンが表示される、そのネットワークを介して
通信が行われる、そのキーボードを介してデータが入力
される、連続するユーザ・オペレーレーションの間の時
間間隔が調節される(そしてタイムアウト後にオペレー
ションは終る)などである。これら要素がこのATM機
械のそのサービスを利用する顧客に対する挙動を決め
る。図2を参照し本発明の実施の好ましい形態例の制御
プログラム開発システムを説明する。本制御プログラム
開発システムには、CPU30があり、さらにシステム
・バス32があってこれを介してこのCPU30は読出
し専用メモリ34と通じており、さらにこのROM34
はオペレーティング・システム(またはその一部)を含
むものである。
【0014】本制御プログラム開発システムには、さら
にディスク・ドライブ(例えば、ハード・ディスク・ド
ライブ)36があってこれは本発明によってこのCPU
30を動作させるプログラムを含むものであり、さらに
データ・テーブル38を蓄積するランダム・アクセス・
メモリがあり、さらに可視ディスプレイ装置(VDU)
ランダム・アクセス・メモリ40があってこれは画像バ
ッファを有し、さらに可視ディスプレイ装置(VDU)
42があり、さらにキーボード44があってこれはテキ
ストまたは数値の入力用であり、さらにマウス46(他
の図形入力装置、例えば、トラック・ボール、ライト・
ペン、タッチ・スクリーン、またはディジタイザ・タブ
レットおよびスタイラス)がある。またこれら要素をコ
ンピュータ・ワーク・ステーションが提供することも可
能である。
【0015】さらに、本実施の形態例で提供されるもの
には、ターゲット蓄積装置プログラマ48(例えば、デ
ィスク・ドライブまたは消去可能PROMプログラマ)
がある。図2の本制御プログラム開発システムのオペレ
ーションの概要を図3を参照し説明する。図3では、符
号番号50はオペレーティング・システム・プログラム
を表し、これはディスク・ドライブ36内のハード・デ
ィスク(そのROM34のカーネルの場合を除く)に含
まれ、このオペレーティング・システム・プログラムに
は、特にマウス・ドライバ52があってこれはマウス4
6から入力信号を処理し制御事象信号を提供し、さらに
キーボード・ドライバ54があってこれはそのキーボー
ド44から同様に入力信号を処理するものである。
【0016】さらに、このオペレーティング・システム
・プログラムには、VDUドライバ・プログラム56が
あってこれはそのVDU42をリフレッシュする画像バ
ッファ40にディスプレイ・データを提供するものであ
り、さらに、ディスク・ドライバ・ルーチン58があっ
てこれはディスク・ドライバ36からデータを読取りま
たはこれにデータを書込むものである。このオペレーテ
ィング・システム50には、好ましくは、図形ユーザ・
インタフェース(GUI)システムがあり、またこれに
は、例えば、そのOS/2オペレーティング・システム
またはウインドウズ(商標)の環境を挙げることがで
き、ただしこれはマイクロソフト社から入手可能のもの
である。
【0017】このランダム・アクセス・メモリ内に蓄積
されるものには、データ・テーブル38があってこれは
その制御プログラムを生成するデータを蓄積する。この
データ・テーブル38は以下にさらに詳しく述べる。こ
のディスク・ドライバ36内のハード・ディスクに蓄積
するものには、アプリケーション・プログラム70があ
ってこれはそのCPU30を制御するものであり、この
アプリケーション・プログラム70を構成するものに
は、エディタ・ルーチン72があってこれはそのオペレ
ーティング・システム50を介しそのマウス・ドライバ
(52)およびキーボード・ドライバ(54)からデー
タを受信しさらにこのデータ・テーブル38でそのデー
タを応答し修正するものである。
【0018】さらに、このアプリケーション・プログラ
ム70を構成するものには、ディスプレイヤ・ルーチン
74があってこれはそのVDU42のディスプレイを規
定するデータを周期的に生成し更新するものでただしこ
れはそのデータ・テーブル38の内容を表すものであ
り、さらにこのディスプレイ・データをそのオペレーテ
ィング・システム50に伝えるものであり、さらにまた
ローダ・ルーチン76があってこれはそのディスク・ド
ライバ36から事前蓄積データを読取りこのデータ・テ
ーブル38にロードする、さらにまたコンパイラ78が
設けられておりこれはこのデータ・テーブル38からそ
のデータを読取りさらに機械語プログラムを図1のAT
MのCPU2の言語で提供、ただしその蓄積装置プログ
ラマ48に(このオペレーティング・システム50を介
し)供給するためのものである。
【0019】動作で以下にさらに詳しく説明を続ける。
ユーザはこのキーボード44とマウス46を操作しこの
データ・テーブル38においてそのデータをエディット
するがこれは制御プログラムを規定するデータをアセン
ブルしてしまうまで行い、次にこの制御プログラムをデ
ィスクにそのドライブ48を介し書込む。次にこのディ
スクを図1のATMに挿入しその蓄積装置としての役目
を行わさせる。当然のことであるが、ディスクに直接書
込まないでこのデータをATM機械に設けられたランダ
ム・アクセス・メモリに通信リンクを介しダウンロード
することも可能である。本発明の理解を容易にするため
前記実施の形態例の挙動をさらに詳しく述べ、続いてこ
の挙動が実現される方法について説明する。
【0020】図4はそのワーク・スペース・エリア42
1内のVDU42上に生成するディスプレイの一部を示
す。図4の表示画面の楕円100はプロセスを表し、こ
れにはプログラムまたはフロー制御サブプログラムがあ
り、図形で示されている。このプロセスはいくつかのプ
ロセス・グループを連続して実行するよう設けられ、た
だし各グループを構成するものには1個以上の同時実行
プロセスがある。第1のプロセス・グループを第1の長
方形110で第2のプロセス・グループを第2の長方形
120で表し、リンク・ライン130でこの楕円100
の中でリンクする。この各長方形110、120は同時
実行のためのサブプログラムまたはサブルーチンのグル
ープを示す。
【0021】図5はこの長方形110の拡大図であって
これは第1のアイコン112と第2のアイコン114と
第3のアイコン116を含み、それぞれ特定のプロセス
(サブルーチンまたはファンクション)を表し、各アイ
コン112、114、116の様相はそのサブルーチン
の性質を示す。例えば、図6を参照すると、このアイコ
ン112はディスプレイ・スクリーンにIDコードを表
示させるルーチンを示す。図4の解釈は次の制御プログ
ラムを指定している。先ず最初にこの第1の長方形にお
ける3個のアイコン112、114、116に対応する
3個のプロセスが同時に動作し、次にある条件で、3個
のプロセスがすべて終了し、制御フローはその次の長方
形120内に特定するプロセスに移るという制御プログ
ラムを指定している。
【0022】図7を参照すると、このアイコン116は
それ自身で図4に示す種類のフロー制御ファンクション
であるプロセスに対応するが、これを構成するものには
(3個の)同時プロセス・グループがあってこれらはあ
る一つのグループからその次のグループへの制御フロー
を示すラインを介しリンクされている。図8はこのVD
U42上に表示されるスクリーンの別の部分を示し、こ
れにはカタログ・エリア422がある。好ましいことで
あるが、図8のカタログ・エリア422と図4のワーク
・スペース・エリア421はそれぞれウインドウで表示
されているが、そのサイズと形状はこのオペレーティン
グ・システム50を介し通常の方法でそのユーザが制御
することができるものである。
【0023】このカタログ・エリア422の中に表示さ
れるものには、複数のアイコンがあってこれはこのワー
ク・スペース・エリア421内でしたがってその制御プ
ログラムにおいても利用することできる原型のサブルー
チンを示すものである。このカタログ・エリア422に
含まれるものには、楕円形の表示アイコン200があっ
てこれは図4に示す楕円形100のようにプログラムま
たはフロー制御サブルーチンを示し、さらにアイコン2
02があってこれはスクリーン・ディスプレイを示し、
さらにアイコン204があってこれは現金払出しオペレ
ーションを示し、さらにアイコン206があってこれは
キーボード読取りオペレーションを示し、さらにアイコ
ン208があり、などと続くものである。
【0024】この各アイコン200ないし208はその
ディスク・ドライブ36内のハード・ディスクに蓄積さ
れたプロセス・テーブル362の中の蓄積プロセス・レ
コード300ないし308に対応する。このプロセス・
テーブル内の各エントリ300ないし308に含まれる
ものには、クラス・レコード・テーブル364に蓄積さ
れたクラス定義レコード310ないし316に対するレ
ファランス(例えば、その名称、または別の種類のポイ
ンタ)がある。同様に、各クラス・レコード310ない
し316に含まれるものには、実行可能コード・テーブ
ル366に蓄積された実行可能機械コード・ファイルに
対するポインタがある。各コード・ファイル400ない
し406には、エディティング・ルーチン400aない
し406aがあり、さらにプロセス実行ルーチン400
bないし406bがあるが、理由については以下に述べ
る。
【0025】このコードに対するポインタに加えて、各
クラス・レコード310ないし316には、クラス名が
あり、さらにデータ・フィールドのリストがあり、これ
には各フィールドにおけるデータ定義(その種類(テキ
スト/画像/整数/実数)、範囲、データ・ナンバ、デ
ータ・フィールド名を指定する)も共にある。各プロセ
ス・レコード300ないし308には、そのプロセス名
に加えて、そのそれぞれのクラス・レコードに指定した
データ・フィールドの各々に対する各データがある。そ
こで、各プロセス・レコード300ないし308はその
対応するクラス・レコードによって規定されたクラス例
を示す。図示のように、複数のプロセス・レコード(例
えば、306、308)が同じクラス・レコード(31
6)を指す場合も可能である。図8を参照しプロセス・
レコード300の場合を次に説明する。
【0026】これはフロー制御プロセスに対応するもの
であってこのプロセス・レコード300上に保持された
データには、ワーク・グループのリストがあり、このリ
ストはそのワーク・グループの実行順序を指定するもの
である。またこのプロセス・レコード306、308は
種々の入力ルーチンに対応するものであって入力ソース
を指定する種々のデータを含む。本実施の形態例ではま
た各クラス・レコード310ないし316を“ダミー”
例と関係付けることができ、例えば、このアイコン20
8はそのクラス・レコード316に対応する総称入力プ
ロセスを示す。したがって本実施の形態例で明白なこと
は、このプロセスはオブジェクト指向表現に対応するア
イコン200ないし208によって表され、各プロセス
には実行可能コードに関係付けられたクラス例があるデ
ータ・レコードによって規定されたオブジェクトがあ
る。
【0027】ローダ16 図9を参照しローダ・ルーチン76のオペレーションを
説明する。このローダ・ルーチンは、ユーザがそのマウ
ス46を用い(例えば、ダブル・クリックによって)そ
のカタログ・エリア422からこのアイコン200ない
し208の中の1個を選択すると、このオペレーティン
グ・システム50によって開始される。ステップ761
において、この選択アイコンに対応するプロセス・レコ
ード300ないし308をそのディスク・ドライブ36
内のハード・ディスクに蓄積したテーブル362から読
取る。ステップ762において、このレコードをそのラ
ンダム・アクセス・メモリ38内のテーブル38にコピ
ーする。
【0028】ディスプレイヤ74 図10を参照しディスプレイヤ・ルーチン74のオペレ
ーションを説明する。入力事象を検出すると(そのマウ
ス46またはキーボード44の操作で)、最初のステッ
プ741において、このディスプレイヤ・ルーチン74
は、テーブル38の内容がそのローダ76またはエディ
タ72によって変更されたかその正否を検出する。この
テーブル38の内容が変更されなかった場合、ステップ
742において、そのディスプレイ・モードを変更する
命令が入力されたかその正否をチェックする。このテー
ブル38の変更もディスプレイ・モードの変更もなかっ
た場合、そのディスプレイヤ・ルーチン74は終了す
る。しかしそのいずれかの変更があった場合、次のよう
に行う。
【0029】ステップ743において、このディスプレ
イヤ・ルーチン74は、このテーブル38を読取り、現
在このテーブル38の各要素に対し対応アイコンを読取
り、現ディスプレイ・パラメタ(オブジェクト・サイ
ズ、そのワーク・スペース421内のオブジェクト位置
など)に応じディスプレイを生成し、ステップ744に
おいて、このディスプレイ・データをそのオペレーティ
ング・システムに伝えその画像バッファ40に書込みそ
のVDU42上に表示する。したがって、このワークス
ペース41の内容はそのテーブル38の状態を絶えず表
す。このディスプレイ・モードの変更には2種類があ
リ、この第1の種類は次の通りである。
【0030】先ず、一般的に図形ユーザ・インタフェー
スに共通する変更であって、例えば、そのワークスペー
ス内の観点に対する変更(それによってユーザがこのワ
ークスペース・エリア421を移動することが可能)が
あり、さらにスケールの変更があり、これによってその
ユーザはこのワークスペース・エリア421の再生スケ
ールを変更できこのワークスペース・エリアのエリア倍
率の拡大と縮小を行うことができる。これらのモード変
更は通常のように対処されここではさらに詳しく述べな
い。他の通常のディスプレイ・モードの変更には、例え
ば、そのワークスペース・エリア423の開閉またはサ
イズ変更があり、またはそのカタログ・エリア422の
ような他のエリアを同時に表示するが、これらも通常の
ように利用可能が好ましい。
【0031】この第2の種類のディスプレイ・モード変
更は次の通りである。つまりこのワークスペース・エリ
ア421における構造ディスプレイの選択部で利用可能
な情報量を増加するものである。このワークスペース・
エリア421内にいずれかのアイコンを表示する場合、
このワークスペース421の対応するアクティブ・エリ
アを次のようにそのアイコンの周囲に限る。このスクリ
ーン42上に示すアクティブ・エリア内にそのカーソル
を置きそのマウス46上のボタンまたはそのキーボード
44上のキーを押しユーザがそのアイコンを選択する
と、図13に示すように、拡大図が生成され、さらに詳
しくはこのファックションが構成されるサブファンクシ
ョンを一連のアイコンとして示す。
【0032】この拡大図は、図示のように、そのアイコ
ンにリンクされているが、これはペアのリード・ライン
424a、424bで対応している。さらにこのディス
プレイヤ・ルーチン745は、入力を受信すると(例え
ば、このワークスペース・エリア421内の対応するア
イコンにそのマウス46をダブル・クリックし)次のよ
うに動作することができる。それは、このワークスペー
ス421の別のエリアにおいてこの対応するアイコンに
対しそのテーブル38内のレコードに保持されたデータ
表現を、さらに好ましくは、図12に示すデータ・ディ
スプレイ・ウインドウ423のこのアイコンに対応する
ファンクションの文字記述を、表示するよう動作するこ
とができる。
【0033】図11はモード変更におけるそのディスプ
レイヤ・ルーチン74のオペレーションを示す。ステッ
プ745においてアイコンの拡大を検出すると、このデ
ィスプレイヤ・ルーチン74は、ステップ746におい
て、データの文字ディスプレイまたは拡大画像が必要か
その正否を検出する。これが否の場合、その移動、拡大
またはバックグラウンド・カラー変更の所要オペレーシ
ョンをステップ747において行う。文字データ・ディ
スプレイを必要とする(ステップ746において)場
合、ステップ479においてこのディスプレイヤ・ルー
チン74はそのワークスペース・エリア421内にテキ
スト・データ・ディスプレイ・エリア423をオープン
する。
【0034】ピクチャの拡大を必要とする場合、このデ
ィスプレイヤ・ルーチン74は、ステップ748におい
て、そのワークスペース・エリア421内にピクチャ・
ディスプレイ・エリア424をオープンするが、ここで
それはペアのリード・ライン424a、424bで関連
付けされそのアイコンに結合するものであり、さらにそ
のアイコンに関係付けられたファンクションを構成する
ファンクションに対応するいずれかのアイコンを表示す
るものである。
【0035】データ・テーブル38 このエディタ・ルーチン72のオペレーションを説明す
るに先だって、このデータ・テーブル38に保持された
データ構造を詳しく説明する。図14はこのワークスペ
ース・エリア421の制御プログラム・ディスプレイの
説明例を示し、これには、そのプログラムを示す楕円1
00があってサブルーチン・グループ110、120、
140(以下“ワーク・グループ”と呼ぶ)を含み、こ
れはリンク・ライン130、131(以下“ワーク・フ
ロー”と呼ぶ)によって相互結合している。この第1の
ワーク・グループにはアイコン111があってこれは第
1のプロセスを表す。この第2のワーク・グループ12
0にはアイコン121、122があってこれはこのワー
ク・グループ内で同時に動作するプロセスを表す。さら
に第3のワーク・グループ140にはアイコン141が
あってこれはプロセスを表す。
【0036】図15を参照し説明を続ける。このデータ
・テーブル38には、第1のテーブル381(以下プロ
セス・テーブルと呼ぶ)があってこれには各エントリ3
811、3812、3813、3814、3815を含
み、さらにこれはそれぞれそのプログラム(それ自身プ
ロセスとして取扱われる)100とプロセス111、1
21、122、141に対応し、さらに第2のテーブル
382(以下ワーク・グループ・テーブルと呼ぶ)があ
ってこれには各エントリ3821、3822、382
3、を含み、さらにこれはそれぞれそのワーク・グルー
プ110、120、140に対応し、さらにまた第3の
テーブル383(以下ワーク・フロー・テーブルと呼
ぶ)があってこれにはエントリ3831、3832を含
み、さらにこれはそれぞれそのワーク・フロー130、
131に対応する。
【0037】さらに図15を参照し説明を続ける。各プ
ロセスに対するプロセス・テーブル381のエントリに
は、第1のフィールド3811aがあってこれはこのプ
ロセスに対する属性データ値を規定するものであり、例
えば、このプロセスによって生成されさらに使われた信
号を挙げることができる。さらに含まれるものにはその
ハード・ディスク・ドライブ36上のクラス・レコード
310ないし316に対するポインタがある。このプロ
セスが一連の他のプロセス(プログラム100のよう
に)からできているフロー制御プロセスである場合、こ
のプロセス・テーブルのエントリ3811にはさらにワ
ーク・グループ・ポインタのリスト3811bがある、
ただしこのポインタはそのワーク・グループ・テーブル
382の各エントリを指すものである。
【0038】そこで、このプログラム100に対応する
エントリ3811の場合、このワーク・グループ・リス
トにはポインタを含みこれには、そのワーク・グループ
110に対応する第1のエントリ3821に対するもの
があり、さらにそのワーク・グループ120に対応する
第2のエントリ3822があり、さらにそのワーク・グ
ループ140に対応する第3のエントリ3823があ
る。これらポインタはそのリスト内で、例えば、第1の
ポインタはそのファンクションの呼出の際に実行される
第1のワーク・グループを示すようなオーダになってい
る。このワーク・グループ・テーブル382における各
ワーク・グループ・レコード3821ないし3823は
フィールド(明白に図示していないが)からできており
このフィールドはそのワーク・グループの属性データを
規定するものであり、ここではそのワーク・グループの
出現する様相(つまり長方形)を含む。
【0039】さらにまた、各レコードにはこのワーク・
グループ内にあるそのプロセス・テーブル381におけ
るプロセスに対するポインタのリストがある。したがっ
て、このワーク・グループ・エントリ3821には、そ
のプロセス・レコード3812に対するポインタがあ
る、というのはその対応するワーク・グループ110に
はその対応プロセス111を含むからであり、このワー
ク・グループ120に対応するワーク・グループ・レコ
ード3822にはそのプロセス121、122に対応す
るプロセス・エントリ3813、3814に対するポイ
ンタがあり、さらにこのワーク・グループ140に対応
するワーク・グループ・エントリ3823にはそのプロ
セス141に対応するプロセス・エントリ3815に対
するポインタがある。
【0040】フロー制御プロセス(これに含まれるもの
には一連のワーク・グループがあってつまりそのプログ
ラム100についてのものであるが)に対するこのプロ
セス・エントリ3811内にあるものはワーク・フロー
・ポインタ・エントリのリスト3811cがあり、これ
はこのプロセスを構成するワーク・フロー130、13
1に対応するワーク・フロー・テーブル383における
エントリ3831、3832などを指す。図示のよう
に、このワーク・フロー・テーブル383における各エ
ントリには、そのワーク・フロー・ソースがあるワーク
・グループを指すポインタがあり、さらにその行先のあ
るワーク・グループに対するポインタがある。
【0041】前記各エントリには、さらにそのソース・
ワーク・グループ、ただしこれは信号を生じその次のワ
ーク・グループへの遷移を起させるものであり、さらに
この信号のIDを記録するフィールドと共にであるが、
このソース・ワーク・グループ内のプロセスに対するポ
インタがある。そこで、このワーク・フロー・レコード
3831が指すものには、ワーク・グループ・レコード
3821があってこれはそのソース・ワーク・グループ
としてワーク・グループ110に対応するものであり、
さらにそのソース・プロセスとしてプロセス111に対
応するプロセス・レコード3812があり、なおさらに
ワーク・グループ・レコード3822があってこれはそ
の行先ワーク・グループとしてワーク・グループ120
に対応するものである。
【0042】エディタ72 本実施の形態例においてこのエディタ72が行うオペレ
ーションは次の通りである。 プロセス入力。 このプロセス・テーブル381の新規
エントリはそのエディタ・ルーチン72によってオープ
ンされ、このユーザは属性データをそのフィールド38
11aに入力するようプロンプトされ、さらに必要に応
じ、ワーク・グループ・ポインタ・データをそのテーブ
ル3811bにまたワーク・フロー・ポインタ・データ
をそのリスト3811cに入力するようプロンプトされ
る。 プロセス・コピーイング。 このプロセス・テーブル3
81のエントリの1個は新規エントリにコピーされ、そ
してこれが次に修正用に利用できる。
【0043】複製参照プロセス。 今述べたように、こ
のプロセス・テーブル381またはワーク・グループ・
テーブル382へのエントリがコーピーされた場合、そ
のポインタの内容は通常変わらずその新規のプロセスま
たはワーク・グループはそのコピーされたのと同じプロ
セスを指す。オプションであるが、この新規プロセスの
構造を修正しようとする場合、このエディタ72は、さ
らに、そのプロセスが指すいずれかのワーク・グルー
プ、そのまたは各ワーク・グループが指すいずれかのプ
ロセスなどなどのコピーをし、さらに、各プロセスさら
に各ワーク・グループ内のポインタを修正しこのコピー
を指すようにする、というのはその目的はこのコピーさ
れたプロセスまたはワーク・グループならびにそのすべ
ての要素をそのコピーされたプロセスまたはワーク・グ
ループから分かれてエディットできるようにするためで
ある。
【0044】プロセス修正。 このフィールド3811
aに蓄積した属性データを、その文字データ・ディスプ
レイ・エリア423に表示し、またこれをそのユーザが
そのマウス46またはキーボード44上のカーソル制御
キーを用いこのディスプレイの所望のエリアにそのカー
ソルを置きまたそのキーボード44を用いて重ねタイプ
することによりエディットすることができる。そのキー
ボード44にタイプした文字はこのエディタ・ルーチン
72によってその属性データ・フィールド3811aの
対応する位置に書込まれる。
【0045】移動。 プロセスまたはワーク・グループ
はこのユーザによってそのワークスペース・エリア42
1内を移動させることができる。例えば、プロセスはあ
るワーク・グループから移動させ別のワーク・グループ
に置くことができるが、この移動はこのマウスを用いて
その対応するアイコンを選択しその新規ワーク・グルー
プに“ドラッグアンドドロップ”の動きを行って実行す
る。この選択とドラッギング(すなわち、その制御ボタ
ンを押してのマウス46の動き)に応答し、このエディ
タ72は次のように動作できる。つまり、このカーソル
の位置を検出し、このカーソルに従うようそのワークス
ペース・エリア421内にこのアイコンを移動させ、さ
らに、このマウス46上の制御ボタンを放すと、このア
イコンが現在その中にあるワーク・グループを検出す
る。
【0046】次にこのワーク・グループ・テーブル38
2内のワーク・グループ・レコードが修正され、そのプ
ロセスに先のワーク・グループ・レコードからそのポイ
ンタを削除し、さらにこの新規ワーク・グループ・レコ
ード内のポインタをその移動アイコンによって示される
プロセスに対応するプロセス・テーブル381における
エントリに挿入する。同様に、ワーク・グループは一方
の表示プロセスから他方のものに“ドラッグアンドドロ
ップ”カーソル操作によって移動させることができ、こ
れに続いてエディタ・ルーチン72は次のことを行うよ
う設けられる、つまりこのプロセス・テーブル381内
の新旧プロセスに対するエントリを修正し、そのワーク
・グループに対する先のポインタを削除し新規ポインタ
を挿入する。
【0047】ワーク・グループ生成。 このエディタ7
2を設け、そのキーボード44またはマウス46から対
応する命令信号を受信すると、次のことを行う。つま
り、そのワーク・グループ・テーブル382における新
規エントリを生成し、さらにこの新規ワーク・グループ
・エントリを指すようそのワークスペース・エリア42
1でその中にこの新規グループがあるプロセスに対しそ
のプロセス・テーブル381におけるエントリを修正す
るようこのエディタ72を設ける。
【0048】ワーク・フロー生成。 このエディタ・ル
ーチン72を設けこのユーザによって次のように選択と
続いてカーソルの移動を行って新規ワーク・フローの定
義を与える。つまり、このユーザによってそのソース・
ワーク・グループに対応するある1個のワーク・グルー
プを選択し、続いてその行先ワーク・グループに対応す
る別のワーク・グループにそのマウス46を用いてカー
ソルの移動を行う。このカーソルが行先ワーク・グルー
プに達したことを検出すると、このエディタ72は次の
ラインを引く。つまり、この行先ワーク・グループをそ
のソース・ワーク・グループとリンクするラインを引
き、矢印でこの行先ワーク・グループを指すようにして
そのワーク・フローを表す。
【0049】この点で、このエディタ・ルーチン72は
そのワーク・フロー・テーブル383において新規エン
トリを生成し、そのワーク・グループ・テーブル382
におけるレコードに対するポインタはそのソース・ワー
ク・グループと行先ワーク・グループに対応するもので
ある。このワーク・フローを選択(例えば、そのカーソ
ルをこのライン上に置き)することにより、このユーザ
は次にそのマウス46によってこの次のワーク・グルー
プに遷移を生じさせるようなそのソース・ワーク・グル
ープ内にそのプロセスを入力することができる。
【0050】この点で、このエディタ・ルーチン72は
そのワーク・フロー・テーブル383内におけるエント
リを修正しそのソース・プロセスとしてこの選択プロセ
スに対しポインタを加える。このソース・プロセスがた
だ1個の信号のみを生成する場合、この信号のIDはそ
のときこのレコードにこのエディタ・ルーチンによって
入力され、さもなければ、このユーザは、そのキーボー
ド44を用いてその文字データ・ディスプレイ・エリア
424から信号を選択するようプロンプトされ、この選
択信号のIDはそのワーク・フロー・レコードの信号フ
ィールドに入力される。
【0051】ワーク・フローの修正。 そのカーソルを
用いてこのワークスペース・エリア421におけるワー
ク・フローを示す矢印のソース・エンドかまたは行先エ
ンドかのいずれかを選択し、このユーザはそのワーク・
フローのソースかまたは行先かのいずれかを変更するこ
とができる。この必要とするソース・ワーク・グループ
または行先ワーク・グループに対応する新規ワーク・グ
ループを選択すると、このエディタ72はそのカーソル
位置を検出し、そのワーク・フロー・レコードを修正し
その先のソース・ワーク・グループまたは行先ワーク・
グループに対するレファランスを削除し、それを新規選
択ワーク・グループへのレファランスと置換える。この
ワーク・フローを再選択して、このユーザはそのソース
・プロセスまたはこのワーク・フローを動かす信号を前
記と同様に変更することができる。
【0052】共用。 あるプロセスを2個以上のワーク
・グループから呼出することができる。このプロセスが
それぞれ各場合に同じであるとすると、各ワーク・グル
ープに対しこのプロセスの新規コピーを生成することは
しないで、このワーク・グループ・テーブル382の各
後続ワーク・グループ・レコード内のエントリを修正し
このエディタ・ルーチン72によって同じプロセスを指
すように行う。
【0053】アンリンク。 あるプロセスを、そのマウ
ス46を用い、また例えば、そのキーボード44上の削
除キーを動作させ、そのワーク・グループ内のこのプロ
セスを選択しこのワーク・グループから除くことができ
る。このエディタ72はそれに応答してこのワーク・グ
ループ・テーブル382内におけるこのプロセスに対す
るポインタを削除することができ、その後このディスプ
レイヤ74はその対応するワーク・グループ内のこのプ
ロセスに対するアイコンを表示することを止める。同様
に、ワーク・フローまたはワーク・グループをそれに対
応しそのマウス46とキーボード44の動作によって削
除することができ、それによってこのワーク・グループ
・テーブル382またはワーク・フロー・テーブル38
3における対応するエントリに対するこのプロセス・テ
ーブル381内のポインタの削除を起させる。
【0054】このディスプレイヤ74はそのワークスペ
ース・エリア421の内容を次のように表示する。つま
り、このプロセス・テーブル381内の第1のプロセス
・レコード3811を求める。その属性データ・レコー
ド3811a内に保持したディスプレイ・データを参照
しそのプロセスを楕円形に描画する。次に、その各ワー
ク・グループ・ポインタを参照しこのワーク・グループ
・テーブル382内の対応するワーク・グループ・レコ
ード3821ないし3823をアクセスしこれら蓄積デ
ィスプレイ・データ(本実施の形態例では長方形でそれ
ぞれ表す)によってその対応するワーク・グループを描
画する。
【0055】次にこのディスプレイヤ74は、各ワーク
・グループ内の各プロセスに対するこのプロセス・テー
ブル381内の対応するレコードを求めアクセスした各
ワーク・グループ・レコード内のプロセス・ポインタを
アクセスする。各プロセス・レコード内に蓄積したアイ
コン・データを次にアクセスしそのワーク・グループ内
の対応するアイコンを表示する。最後に、この第1のプ
ロセス・レコード3811を戻って参照し、このディス
プレイヤ・ルーチン74は、このワーク・フロー・テー
ブル383内のワーク・フロー・ポインタ・リスト38
11cから指された各ワーク・フロー・レコードを次に
アクセスし、対応する下記の矢印表現を生成する。
【0056】この生成矢印は、このソース・ワーク・グ
ループからその行先ワーク・グループへの矢印であって
そのワーク・フロー・レコードから指されたワーク・グ
ループ・レコードに対応するものである。通常、前記オ
プションはすべてそのユーザによる選択に対し提供され
るが、例えば、このワークスペース・エリア421の頂
部のドロップダウン・メニュ・バーの形を挙げることが
できる。そこで分かるように、このエディタ・ルーチン
72とディスプレイヤ・ルーチン74の共同オペレーシ
ョンによってそのユーザはこのテーブル38の内容を図
形で次のように構成することができる。それは、プロセ
スが修正されるかまたは直接生成されるかのいずれか、
もしくはそのローダ・ルーチンによってそのハード・デ
ィスク・ドライブ36上にすでに蓄積されたものから最
初にプロセスがコピーされて行われる。
【0057】チェッキング。 次に、このテーブル38の内容を、以下に詳しく述べる
ようにこのコンパイラ78がコンパイルすることができ
る。しかし、このコンパイラ78のオペレーションに先
だって、このエディタ72がチェック・ステージを持つ
ていくつかのチェックを実施し、このテーブル38の内
容が感知良好な制御プログラムに対応することを保証す
ることが好都合である。最初の比較的直接的なチェック
は次のことを保証する。つまりこのワーク・フロー・テ
ーブル383における各レコードにはソース・プロセス
に対するポインタがあってさらにそのワーク・フローを
動かす信号の表示があることを保証する。第2のチェッ
クはこのプロセス・テーブル381におけるすべてのレ
コードを次のようにレビューする。
【0058】この属性データ・フィールド3811aは
そのプロセスを共用できない(つまり、何度も同時に動
作させる、例えば、カード・リーダ処理プロセスのよう
なデバイス・ドライバ・プロセスの場合を挙げることが
できる)という表示を含むレコードを求める。次にこの
ワーク・グループ・テーブル382とワーク・フロー・
テーブル383のエントリのポインタ・フィールドをレ
ビューしそのプロセス・テーブルの対応するエントリは
同時に動作できる2個以上のワーク・グループから指さ
れないことを保証する。さらに実施できるチェックに
は、再帰防止チェックがあってこれはそのプロセス・テ
ーブル381へのエントリをすべてレビューし次のワー
ク・グループに対するポインタを含むエントリはないこ
とを保証する。
【0059】それは、次にそのプロセス自身を指す、ま
たはその元のプロセス自身を指すワーク・グループに対
する別のポインタを含む別のプロセスに対するものであ
る。さらにまた、チェックはこのワーク・フロー・テー
ブル383の各エントリに行うのが好ましくすべてのプ
ロセスによって生成された信号を一貫して処理すること
を保証する。最初に次のようにして曖昧さを回避する。
それは、同じソーソ・ワーク・グループ、ソース・プロ
セスおよびソース信号ポインタを持つワーク・フロー・
テーブルのエントリを求めて曖昧さを回避する。その行
先ワーク・グループがそれぞれの場合で同じであると、
このエントリの中の1個は冗長であるとして削除し、一
方その行先ワーク・グループが様々であると、このエデ
ィタ72はそのユーザにコンパイルの前に次の選択をす
るようプロンプトする。
【0060】それは、このフローの中の一方かまたは他
方を選択(というのは、さもなければ同じ信号が生じ選
択する必要があるその後続ワーク・グループに関し曖昧
になるためである。)するようプロンプトする。最後
に、チェックが各信号について行われるが、この信号は
プロセスによって生成され得るものでこのワーク・フロ
ー・テーブル383のエントリで参照されない信号であ
る。本実施の形態例では、このワーク・グループ・テー
ブル382のワーク・グループ・レコードには、好まし
くはオプションのフィールドがあってこれはこの未使用
信号をそのワーク・グループを去る際にその制御プログ
ラムで消去できることを表示するよう設定できるオプシ
ョンのフィールドである。
【0061】このようなフィールドが設定されない場
合、その対応する信号は他のプロセス用に利用可能な信
号であってこれはそのワーク・グループがその中にある
プロセスを呼出するものである。したがってチェックは
このエディタ72によって行われこのような場合にいず
れかの信号がすべてのプロセスによって使用されていな
いかその正否を確認する。このメモリ38内のいずれか
のプロセスによって使用されていない信号があると、こ
のエディタ72はそのユーザにコンパイラ78によるコ
ンパイルに先だってこのテーブル38の内容を再エディ
ットするようプロンプトする、というのは、さもなけれ
ばこの制御プログラムはこのような信号がオペレーショ
ン時に生ずると中間状態になるからである。
【0062】コンパイラ78 このコンパイラ78の一般的オペレーションは多数のサ
ブルーチンからできている制御プログラムを生成するこ
とにあってこの各サブルーチンはそれぞれそのプロセス
・テーブル381のエントリに対応しさらにまたそのプ
ロセス・テーブル・レコード3811が一例であるクラ
スに対応するコード・テーブル366から実行可能のコ
ード400bないし406bからそれぞれできている。
このコードと共に提供されるものには、各サブルーチン
について、そのプロセス・レコードに対しそのプロセス
・テーブル381上に保持された属性値に対応するデー
タがある。プロセス・レコード3811に対応するこの
各サブルーチンは自律的に動作する“バーチャル機械”
であってこれはそのATM CPU2上の入力事象(そ
のバス4またはバス10から)さらに他のサブルーチン
によって生成されたメッセージ信号に応答し、またそれ
自身メッセージ信号を生成するものである。
【0063】各サブルーチンにはインタフェース(その
サブルーチン名とパラメタ・タイプの集合を有する)が
あってこれはそのサブルーチンが受信した信号と事象を
規定するものであり、種々のサブルーチンは同じインタ
フェースを共用するよう設けるのが好都合であるがただ
しその信号または事象が処理される処理法では異なるも
のである。図16でフロー制御プロセスを実行するコー
ドを説明する。この制御プログラムそれ自身の全体構造
はこのプログラムを表すフロー制御プロセス100によ
って示される。このフロー制御プロセスへの呼出の際
に、最初に、ステップ1002において、このプロセス
内に構成される第1のワーク・グループを求める。
【0064】ステップ1004において、この第1のワ
ーク・グループ内にある次々にその各プロセスに対しア
クティベーション・ルーチンを行う、というのはこれら
のプロセスに非同期同時オペレーションを開始させるた
めに行う。ステップ1006において、このプログラム
は次の事象ループに入る。つまりここでは、(ただしそ
の一方ではこの第1のワーク・グループ内のプロセスを
同時に実行しているのではあるが)そのワーク・フロー
制御プロセスは外部事象を待つ(例えば、ハードウェア
生成事象であってこれはキーを押しまたはそのカード機
構12もしくはタイマ24から信号によるものであ
る)。同様にその現時点でアクティブなワーク・グルー
プのすべてのプロセスはこのような事象をすべて受信す
る。
【0065】このステップ1006において、このプロ
セスの終了を命令する信号を受信すると、ステップ10
07においてこれを検出し、ステップ1009において
信号をこのステップ104でアクティベートした各ファ
ンクションに送りこのファンクションに終了するよう命
令する。次にこのファンクション自身はオペレーション
を終了しさらに制御を呼出されたプロセスに返送する。
このステップ1006において事象を検出しない場合、
ステップ1008においてこの同時実行ファンクション
に出力信号についてポーリングする。この信号が利用可
能でない場合、この事象ループはリサイクルする。また
信号が検出される場合、下記ステップ1016に進む。
【0066】つまり、ステップ1016において、この
信号はこの現ワーク・グループがそのソース・ワーク・
グループであるようなワーク・フロー・テーブルのエン
トリに保持されたデータに対応するソース・プロセスか
らの信号であるかその正否をテストする。それが正であ
る場合、ステップ1018において、ステップ1004
でアクティベートしたこの各プロセスを各アクティブ・
プロセスに送信したメッセージでデアクティベートす
る。次に、ステップ1020において、その次のワーク
・グループ(つまり、この関係ワーク・フローに対する
行先ワーク・グループであったワーク・グループ)を選
択し制御はステップ1004に移る。
【0067】この信号がワーク・フローに必要とされる
信号にマッチしない場合、ステップ1022においてこ
の信号を図16のプロセスをそこから呼出したプロセス
(存在する場合)にメッセージとして送信する。図16
のプロセスがこのプログラムの主体である場合には、こ
のプログラムはそのオペレーティング・システムに制御
を戻す。前記から明らかなことは、このコンパイラ78
のアクションはしたがって階層プログラムを生成するこ
とであってこれはそのプログラム・フロー制御プロセス
100の構造に対応する第1のプログラム構造からでき
ており、さらに1個以上のシーケンスの実行ステージを
持つものであって、その各ステージ(そのテーブル38
内のワーク・グループに対応する)では2個以上のプロ
セスを同時に実行できるものである。
【0068】これら各プロセスは、次々に、多数のファ
ンクションからできている制御フロー構造を規定でき
る、などなどである。このATMまたは他のターゲット
機械のハードウェア要素によって生成した事象はこの階
層(そのプログラム・フロー制御プロセス100に対応
するもの)の最上位プログラム構造によってこの階層の
各連続ステージを下に通り送られる。この階層のファン
クションによって生成された信号はこの階層を上に送ら
れ、これはフロー制御用に用いられるか、またはこの上
のレイヤの他のプロセスによって用いられるか、もしく
は利用されるまで連続して上位のレイヤを通り送られ
る。この階層構造を図17に模式的に例示する。
【0069】図18を参照し、フロー制御プロセスでは
ないプロセスについてこのコンパイラ78によって生成
されたコードの第1の構造例を説明する。実際上、この
構造は外部事象を利用するカード・リーダに対応するも
のである。図16のステップ1004においてアクティ
ベートされると、図18のプロセスは、ステップ120
2において開始タスクを行う(例えば、カード・トラン
スポート機構の初期状態を読取りカード・エントリを許
可する)。ステップ1204において、このプロセスは
次に事象ループに入るが、これは事象を示す信号を図1
6のステップ1010のルーチンに送るまでである。テ
スト1206において、この信号が終了信号を有する場
合、図18のプロセスはカード・エントリをディスエイ
ブルにし実行を終了する。
【0070】この信号が終了信号を持たない場合、ステ
ップ1207において、このプロセスはカード・リーダ
のエントリ事象をテストし、カード・エントリの検出の
際には、ステップ1208においてこのデータを読取り
そして処理し、この事象が1個以上の信号の生成を起す
場合、ステップ1210においてこれらを生成する。次
に制御はこの事象ループ1204に戻り次の事象を待
つ。図19を参照し説明を続ける。ディスプレイ・ファ
ンクションの場合、アクティベーション・メッセージを
受信すると、ステップ1302において、このディスプ
レイ・ファンクションは表示しようとする画像を規定す
るディスプレイ属性データに応じ出力ディスプレイを生
成する。
【0071】ステップ1304において、次にこのファ
ンクションは事象ループに入る。事象を検出する場合、
ステップ1306において、このファンクションはこの
事象が終了信号を有するかその正否をテストし、否の場
合、再び事象を待つ。終了信号を受信した場合、ステッ
プ1305において、このディスプレイを除きこのファ
ンクションは終了する。当然のことであるが、他のファ
ンクションにより行われるコードはそれに関係するファ
ンクションの目的に左右される。図20を参照し、この
コンパイラ78のオペレーションの詳細を説明する。好
都合には、このコンパイラ78には、第1のプロセス7
81があってここでは制御プログラム仕様が生成された
だしこれはそのターゲットCPU2に独立で無関係のも
のである。
【0072】さらに、第2のプロセス782があってこ
こではこのターゲット独立プログラム仕様はそのPRO
Mプログラマ48への供給用に好適なターゲット依存実
行可能コード・ファイルに変換される。完全にするには
さらに図20には残りの第3のプロセス783としてそ
のATM装置の製造の際のステップがある。本実施の形
態例において、このターゲット独立制御プログラム仕様
は次のように生成される。先ず最初に、ステップ784
においてこのテーブル38の内容を複製するテキストの
スクリプト・ファイルを生成する。このスクリプト・フ
ァイルを構成するものには、バッファ文字によって分け
られた多数のスクリプト・レコードがあり、各レコード
を構成するものにはレコード名があってその次にアーギ
ュメント・リストがある。
【0073】本実施の形態例においてはこのスクリプト
・ファイルの構文はそのC言語の構文の部分集合であ
る。本実施の形態例では、このテーブル38であらゆる
データ・フィールドはタイプされており、すなわち、こ
のデータ・タイプは識別される(例えば、浮動小数点、
ブール、英数字などである)。このデータのタイピング
によって、ただしそのレコードの性質を識別するクラス
とテーブル38におけるレコードの連携と共にである
が、これによってこのコンパイラ78の一部にあるCプ
リプロセッサに、ステップ786において、そのC++
コンピュータ言語でそのスクリプト・ファイルからソー
ス・コード・ファイルを生成させることができるが、そ
れはこのスクリプト・ファイルにおける各レコードに対
し、このスクリプト・ファイルの属性データによりその
ハード・ディスク・ドライブ36上に蓄積したそのクラ
ス情報の対応命名例を生成することによって行うもので
ある。
【0074】次に、ステップ788において、このコン
パイラ78の一部にあるターゲット・プロセッサ2に対
するC++コンパイラは、このハード・ディスク36上
に蓄積したそのエディティング・ルーチン400aない
し408aをアクセスするが、これがこのターゲットC
PU2によって利用可能なフォーマットにおける各実行
可能コード400bないし406bによる解釈に対しデ
ータ構造を生成する。次に、このコンパイラ78はその
ハード・ディスク・ドライブ36上に蓄積したその実行
可能なコード・ルーチン400bないし408b(この
ターゲットATM CPU2と関係付けられた機械語
で)をアクセスし、さらに、これらから、ステップ79
0においてこのディスク・ドライブ36上に蓄積した実
行可能機械コード・ファイルを提供する。
【0075】ある後続する時点で、この実行可能なコー
ド・ファイルをその蓄積装置プログラマ48に供給しこ
れがステップ792においてディスクにプログラムを書
込み、ステップ794においてこのディスクをそのディ
スク・プログラマ48から取除きさらに図1のATMシ
ステムの蓄積装置6として組込む。このCPU2を設け
この種々の同時プログラム間のこのCPU2について利
用可能な時間を分割する通常の多重タスク法を利用して
ファンクションの同時実行を提供する。このCPU2が
複数のプロセッサ装置を有する場合、このコンパイラ7
8は各装置に異なるファンクションの実行を代って提供
することができる。本発明は多数の種々の用途に利用可
能であるが、このハード・ディスク36上に提供されA
TMアプリケーション用カタログ・エリアに示されるフ
ァンクションを次に簡単に説明する。ベーシック・クラ
スは次の通りである。
【0076】フロー制御ファンクション。 このファン
クションは以上に詳しく述べた。 タイマ。 このファンクションはそのタイマ装置24を
読取り、さらにファンクションが実行を開始した後所定
時に出力信号を生成する。この所定時はそのファンクシ
ョンに対する属性データの中にセットする。 セレクタ。 このファンクションは、高水準プログラム
言語の“on・・・goto”または“case”文と
同様に入力変数の値に応じ複数のコンポーネント・ファ
ンクションの中の1個に制御を送るものである。
【0077】プレゼンタ。 このクラスは、画像データ
のスクリーン上にディスプレイを生成する、または(属
性データが音声データである場合)そのデータの音声表
現を生成する。 データ処理。 多数のクラスのデータ処理ファンクショ
ンが提供される。第1はデータ蓄積ファンクションであ
ってこれはデータを受信しデータを読取ることができ、
種々のファンクション間のデータの同期転送を提供す
る。さらに複雑なファンコションには、コピー、比較、
計算、レコードの処理ファンクションなどがある。これ
らのクラスは、一般に、そのユーザ、通信チャネル、カ
ード・トラック、データベース、他の外部ソースからの
データを処理するよう設計されている。
【0078】リーダ・エントリ。 このクラスの集合
は、ユーザ、オペレータ・キーボードおよび/またはタ
ッチ・スクリーンからデータを収集するファンクション
を提供する。例えば、12個のキーのキー・パッドによ
るATMアプリケーションの場合において、各キーにそ
のキーを読取り、さらにこのキーに関係付けられたスト
リングを与えるデータ・エントリ・ファンクションを提
供することができる。 資源管理。 このファンクションは、数個の異なる制御
プログラムが同時に動作していてそのATM CPU2
または他の資源へのアクセスを共有するようなATMア
プリケーションに対し提供することができる。
【0079】装置制御。 これらのクラスは下記を動作
させるための制御プログラムを提供する。 磁気カード・リーダ/ライタ レシート・プリンタ 記帳プリンタ 使用中インディケータ ファシア・ライト 遠隔状態インディケータ キャッシュ・ハンドラ 封筒ディスペンサ 預金/文書アクセプタ アラーム
【0080】通信。 これらのクラスは、モデムまた通
信チャネルを介しメッセージを送受信するファンクショ
ンを提供する。 セキュリティ。 これらのクラスは、セキュリティ基準
(例えば、PIN暗号/検証、メッセージ認証など)を
支援するファンクションを提供する。さらにまた、この
ハード・ディスク・ドライブ36上に提供されるものに
は、前記コンポーネントからアセンブル済みのレディ状
態の1個以上の制御プログラム例がある。利用可能な他
のファンクションには、夜間セーフ、カメラ、セキュリ
ティ・ドア、スマート・カード・リーダなどへのアクセ
スを制御できるものを挙げることができる。
【0081】シミュレータ80。 この蓄積装置プログラマ48にその実行コードの供給に
先だってこの制御プログラムのファンクションの表示を
行うよう、オプションでシミュレータ・ルーチン80を
提供することができるが、ただしここではこの制御プロ
グラムをそのCPU30が実行するものである。このC
PU30がそのCPU2と同じタイプのものである場合
または、いずれかのレートにおいて、同じコードを実行
できるものである場合(つまり、これら2個のCPUは
プロセッサがコンパチブル・グループ・メンバである理
由のため)、このプロセッサ30はそのディスク・ドラ
イバ36を簡単に読取りこの制御プログラムを実行する
ことができる。これを実現するため、このシミュレータ
・ルーチン80はそのATM周辺にまたはこの周辺から
呼出をインタセプトしこれらをこのシミュレータ80の
一部にあるシミュレーション・ルーチンに再送する。
【0082】そこで、例えば、このシミュレータ80の
オペレーションの下では、このCPU30によって生成
される信号であって紙幣の払出しを起させる場合にはそ
のATM装置バス10に送られる信号で中断信号を生成
させこれが紙幣ディスペンサ・シミュレーション・ルー
チンを代って実行しその場合にはATM機械で生ずる紙
幣の払出しをそのVDU42が表示する。同様に、カー
ドまたは数値データの入力をこのキーボード44の操作
によってシミュレートする。このように、このキーボー
ド44のキーまたはマウス46はすべてのATM入力装
置(12、18・・・)をエミュレートし、このVDU
42のエリアはすべてのATM出力装置(例えば、1
4、16、20)をエミュレートする。
【0083】したがって、このユーザはこのディスクに
プログラムを書込むのに先だってこのプログラムのオペ
レーションをテストすることができる。このCPU30
がそのCPU2とコンパチブルではない場合、このシミ
ュレータ80には、このホストCPU30に対しC++
コンパイラがあってこのシミュレータ80はそのホスト
・プロセッサ30に対する実行可能コードを生成するよ
うそのコンパイラで図20に示すコンパイラ・プロセス
のコンパイル・ステップ790を繰返す。または、この
シミュレータ80にはC++インタプリタを有すること
ができ、これでこのテーブル38の内容に応答しこのホ
ストCPU30に対し実行可能な命令をリアルタイムで
生成する。
【0084】この場合、このインタプリタをそのエディ
タ72と同時に動作するよう設けることができ、そこで
このテーブル38の内容をこのエディタ72が変更する
場合、このシミュレータ80が行うプログラムを変えこ
のユーザがオペレーションでプログラム・パラメタを変
える効果を評価することができる。本実施の形態例でこ
のシステムには、実際上ATM装置バス10と周辺装置
があってこれら周辺装置でテストを行うことができる。
【0085】他の実施の変形例 以上述べた本発明の実施の前記形態例は単に説明のため
の一例であることは明らかであって、例えば、ATMシ
ステムへのアプリケーションの場合を開示しながら、明
らかなことであるが同様に本発明は他の独立型制御プロ
グラムにも利用可能で、ここで例えば、バー・コード・
リーダ(例)のオペレーションに必要な例を挙げること
ができる。さらに一般的には、他の独立型の利用の場
合、例えば、工業的プロセス制御は本発明の用途に好適
である。しかし、さらに本発明はこれらに限らずこれら
の分野以外にもいずれの種類のプログラマブル処理装置
に対し他の種類の制御プログラムに利用可能である。
【0086】前記本発明の特定の図形表現は好都合なも
のであるが、これに本発明は範囲を限定するものではな
く、特に、ファンクションの同時オペレーションは、例
えば、長方形のような境界線の中にそのファンクション
をグループ分けするような方法以外に表すことも可能で
あって、例えば、すべての同時オペレーティング・ファ
ンクションを同じように色付けすることもできる。同様
に理解できることであるが、前記特定のオペレーティン
グ・システムならびに環境は好都合なものであるが本発
明はこれに限定するものではなく、本発明はいずれの図
形的環境で動作させることも可能である。オブジェクト
指向データ蓄積スキームは好ましいものであるが、他の
実施の形態例で、コードとデータを一緒に蓄積すること
も可能でありさらにクラス定義を省略することも可能で
ある。
【0087】以上にコンパイル・プロセスの一例を説明
したが、本発明のこの特徴は関係するターゲット・プロ
セッサ2に左右され、本発明は以上に述べたコンパイル
法に限定するものではないことが理解される。重ねて述
べるように、以上の説明は、本発明の実施の一形態例に
関するもので、この技術分野の当業者であれば、さらに
本発明の種々の変形例が考え得るが、それらはいずれも
本発明の技術的範囲に包含される。尚、特許請求の範囲
に記載した参照番号は発明の容易なる理解のためで、そ
の技術的範囲を制限するよう解釈されるべきではない。
【0088】
【発明の効果】以上述べたごとく、本発明によって、例
えば、サブルーチンが複雑で限定的にならずさらに小部
分に分割する必要もなくアプリケーションの構造も複雑
にならず再利用も簡単で、例えば、ATMのような装置
に有効に制御プログラムを開発し生成することが可能な
制御プログラム生成システムを提供することができる。
【図面の簡単な説明】
【図1】通常のATM機械の要素を例示するブロック図
である。
【図2】本発明の実施の一形態例の制御プログラム開発
システムの要素を例示するブロック図である。
【図3】図2の実施の形態例のデータ・フローを例示す
る図である。
【図4】制御プログラムの種々の要素の中の図2の可視
ディスプレイ装置上に出現する様相を例示する図であ
る。
【図5】制御プログラムの種々の要素の中の図2の可視
ディスプレイ装置上に出現する様相を例示する図であ
る。
【図6】制御プログラムの種々の要素の中の図2の可視
ディスプレイ装置上に出現する様相を例示する図であ
る。
【図7】制御プログラムの種々の要素の中の図2の可視
ディスプレイ装置上に出現する様相を例示する図であ
る。
【図8】図2の可視ディスプレイ装置に出現する様相を
例示する図であってこれは図2の一部にある蓄積装置の
中のカタログ・エリア、サブ画像と対応する内容のもの
である。
【図9】図3の一部にあるローダ・ルーチンの構造を説
明するフロー図である。
【図10】図3の一部にあるディスプレイヤ・ルーチン
のオペレーションを模式的に説明するフロー図である。
【図11】図10のプロセスの一部を模式的に説明する
フロー図である。
【図12】図2の一部にある可視ディスプレイ装置上の
テキスト・データ・ディスプレイ・エリアに出現する様
相を模式的に例示する図である。
【図13】図2の可視ディスプレイ装置上の拡大図に出
現する様相を模式的に示す図である。
【図14】図2の一部にある可視ディスプレイ装置上の
制御プログラム・ディスプレイの一例を示す図である。
【図15】その制御プログラムを示すよう図2の一部に
あるメモリに蓄積した制御プログラム・データ・テーブ
ルの対応構造を例示する図である。
【図16】フロー制御プログラム・ファンクションに応
答し図3の一部にあるコンパイラ・プログラムによって
生成された実行可能コードの構造を模式的に示すフロー
図である。
【図17】そのコンパイラによって生成されたフロー制
御プログラム・ファンクションの階層配置を例示する略
図である。
【図18】ノン・フロー制御プログラム・ファンクショ
ンに応答しそのコンパイラによって生成したコードを例
示するフロー図である。
【図19】ノン・フロー制御プログラム・ファンクショ
ンに応答しそのコンパイラによって生成したコードを例
示するフロー図である。
【図20】制御プログラムを製造する製造時のそのコン
パイラのオペレーションと後続ステージを例示するフロ
ー図である。
【符号の説明】
2 中央処理装置(CPU) 4 内部バス 6 蓄積装置 8 ランダム・アクセス・メモリ(RAM) 10 装置バス 12 カード機構 14 プリンタ 16 紙幣蓄積払出し装置(ディスペンサ) 18 キーパッド 20 スクリーン 22 モデム 24 タイマ 30 中央処理装置(CPU) 32 システム・バス 34 読出し専用メモリ(ROM) 36 ディスク・ドライブ 38 制御プログラム・データ・テーブル(RAM) 40 可視ディスプレイ装置(VDU)RAM 41 ワーク・スペース 42 可視ディスプレイ装置(VDU) 44 キーボード 46 マウス 48 ターゲット蓄積装置プログラマ 50 オペレーティング・システム・プログラム 52 マウス・ドライバ 54 キーボード・ドライバ 56 VDUドライバ 58 ディスク・ドライバ 70 アプリケーション・プログラム 72 エディタ・ルーチン 74 ディスプレイヤ・ルーチン 76 ローダ・ルーチン 78 コンパイラ 80 シミュレータ 100 プログラム 110 プロセス・グループ(ワーク・グループ) 111 アイコン(プロセス) 112 アイコン 114 アイコン 116 アイコン 120 ワーク・グループ 121 アイコン(プロセス) 122 アイコン(プロセス) 130 ワーク・フロー 131 ワーク・フロー 140 ワーク・グループ 141 アイコン(プロセス) 200 アイコン 202 アイコン 204 アイコン 206 アイコン 208 アイコン 300 プロセス・レコード 302 プロセス・レコード 304 プロセス・レコード 306 プロセス・レコード 308 プロセス・レコード 310 クラス・レコード 312 クラス・レコード 314 クラス・レコード 316 クラス・レコード 362 プロセス・テーブル 364 クラス・レコード・テーブル 366 コード・テーブル 381 プロセス・テーブル 382 ワーク・グループ・テーブル 383 ワーク・フロー・テーブル 400 コード・ファイル 400a エディティング・ルーチン 400b プロセス実行ルーチン 402 コード・ファイル 402a エディティング・ルーチン 402b プロセス実行ルーチン 404 コード・ファイル 404a エディティング・ルーチン 404b プロセス実行ルーチン 406 コード・ファイル 406aエディティング・ルーチン 406b プロセス実行ルーチン 421 ワークスペース・エリア 422 カタログ・エリア 423 ワークスペース・エリア 424 ピクチャ・ディスプレイ・エリア 424a リード・ライン(拡大) 424b リード・ライン(拡大) 3811 プロセス・レコード(エントリ) 3811a 属性データ・レコード(フィールド) 3811b テーブル 3811c ワーク・フロー・ポインタ・リスト(リス
ト) 3812 エントリ 3813 プロセス・エントリ 3814 プロセス・エントリ 3815 プロセス・エントリ 3821 (ワーク・グループ・レコード)エントリ 3822 (ワーク・グループ・レコード)エントリ 3823 (ワーク・グループ・レコード)エントリ 3831 エントリ 3832 エントリ

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 ターゲット装置のための制御プログラム
    を生成する制御プログラム生成システムにおいて、 (A)プロセッサ(30)と、 (B)可視ディスプレイ装置(42)と、 (C)入力装置(44、46)と、 (D)プログラム蓄積装置(34、36、40)と、 (E)制御プログラム・データ蓄積装置(38)を有
    し、さらに、 前記プログラム蓄積装置は、 (D1)前記制御プログラム・データ蓄積装置の内容を
    修正するため前記入力装置から入力を受信するよう前記
    プロセッサを制御するエディタ・プログラム〓(72)
    と、 (D2)前記可視ディスプレイ装置上に前記制御プログ
    ラム・データ蓄積装置の内容の図形表現を表示するよう
    前記プロセッサを制御するディスプレイ・プログラム
    (74)と、 (D3)前記制御プログラム・データ蓄積装置の内容か
    ら前記制御プログラムを生成するコンパイラ・プログラ
    ム(78)を有し、さらに、 前記エディタ・プログラムは前記ターゲット装置での同
    時実行のためサブ・プログラムのグループを規定する制
    御プログラム・データおよび前記グループの実行シーケ
    ンスを規定する制御フロー・データを蓄積するよう設け
    たエディタ・プログラムでありさらに前記エディタ・プ
    ログラムはグループで複数のサブ・プログラムを許可す
    るエディタ・プログラムであり、 さらにまた、前記ディスプレイ・プログラムは前記グル
    ープを表すための前記サブ・プログラムおよび前記グル
    ープ間の制御フロー・データに対応する制御フローを図
    形で表示するディスプレイを生成するよう設けたディス
    プレイ・プログラムであることを特徴とする制御プログ
    ラム生成システム。
  2. 【請求項2】 ターゲット装置のための制御プログラム
    を生成する制御プログラム生成システムにおいて、 (A)プロセッサと、 (B)可視ディスプレイ装置と、 (C)入力装置と、 (D)プログラム蓄積装置と、 (E)制御プログラム・データ蓄積装置を有し、さら
    に、 前記プログラム蓄積装置は、 (D1)前記制御プログラム・データ蓄積装置の内容を
    修正するため前記入力装置から入力を受信するよう前記
    プロセッサを制御するエディタ・プログラムと、 (D2)前記可視ディスプレイ装置上に前記制御プログ
    ラム・データ蓄積装置の内容の図形表現を表示するよう
    前記プロセッサを制御するディスプレイ・プログラム
    と、 (D3)前記制御プログラム・データ蓄積装置の内容か
    ら前記制御プログラムを生成するコンパイラ・プログラ
    ムを有し、さらに、 前記プログラム蓄積装置は、さらに、前記制御プログラ
    ム・データ蓄積装置の内容に応答し前記プロセッサに前
    記ターゲット装置のアクションを前記制御プログラムの
    制御下にシミュレートさせるよう設けたシミュレータ・
    プログラムを有することを特徴とする制御プログラム生
    成システム。
  3. 【請求項3】 制御プロセスを示すサブ画像においてこ
    れらプロセスは同時に実行可能な複数の同時プロセスを
    表すようグループ分けしたプロセスである制御プロセス
    を示すサブ画像ならびに同時プロセスの一つのグループ
    から同時プロセスの続いて実行される後続グループへの
    制御フローを示すこれらサブ画像間のリンクの両者を表
    しかつこれら両者のエディティングを可能にする可視イ
    ンタフェースをこのシステムのユーザに提供することを
    特徴とする制御プログラムを生成する制御プログラム生
    成システム。
JP8025120A 1995-02-14 1996-02-13 制御プログラム生成システム Pending JPH08314704A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GBGB9502819.7A GB9502819D0 (en) 1995-02-14 1995-02-14 Control systems
GB9502819.7 1995-02-14

Publications (1)

Publication Number Publication Date
JPH08314704A true JPH08314704A (ja) 1996-11-29

Family

ID=10769544

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8025120A Pending JPH08314704A (ja) 1995-02-14 1996-02-13 制御プログラム生成システム

Country Status (5)

Country Link
US (1) US5644728A (ja)
EP (1) EP0727740A3 (ja)
JP (1) JPH08314704A (ja)
GB (1) GB9502819D0 (ja)
ZA (1) ZA961021B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001512599A (ja) * 1997-02-14 2001-08-21 フィッシャー−ローズマウント システムズ,インコーポレイテッド 複数の制御装置の中に分散されている階層ハイアラーキー制御戦略を使用しているプロセス制御システム

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2752071B1 (fr) * 1996-07-30 1998-12-18 Thomson Csf Lecteur pour cartes a puce a interface homme-machine amelioree
AU7162998A (en) * 1997-05-05 1998-11-27 Intellinet Inc. Method and system for control systems authoring
GB9710720D0 (en) * 1997-05-24 1997-07-16 Ncr Int Inc Method and apparatus for determining the validity of a data processing transaction
AU1115799A (en) * 1997-10-23 1999-05-10 Dsc Telecom L.P. Method and system for modeling events in a software program
US6286129B1 (en) * 1997-12-02 2001-09-04 Aspect Communications Method and apparatus for compiling transaction processing workflows
US6286137B1 (en) * 1997-12-15 2001-09-04 International Business Machines Corporation Method and apparatus of indicating steps in a task which have been completed
GB2337139A (en) * 1998-05-09 1999-11-10 Ibm A bi-directional transaction intercepting filter and log
US6384842B1 (en) 1999-05-13 2002-05-07 Lsi Logic Corporation User interface to provide a physical view of movable physical entities
WO2000079493A1 (en) * 1999-06-04 2000-12-28 @Pos.Com, Inc. A visual design tool for interactive sale devices
JP2001209304A (ja) 2000-01-24 2001-08-03 Nec Corp 暗号評価支援システム及びプログラムを記録した機械読み取り可能な記録媒体
US7739325B1 (en) 2000-04-24 2010-06-15 Aspect Software, Inc. Apparatus and method for extensible real-time workflows
US7221377B1 (en) 2000-04-24 2007-05-22 Aspect Communications Apparatus and method for collecting and displaying information in a workflow system
US6965803B2 (en) * 2000-12-22 2005-11-15 Siemens Aktiengesellschaft Apparatus and method for commissioning and diagnosing control systems
US20040104946A1 (en) * 2002-09-23 2004-06-03 Yufeng Li System and method for automated positioning of graphic objects
US8443295B1 (en) * 2004-09-17 2013-05-14 Avaya Inc. Graphical representation of definitions of statistics
TWI293152B (en) * 2005-06-20 2008-02-01 Lite On Technology Corp Character input system capable of adjusting a character setting corresponding to an input device and method thereof
JP5600342B2 (ja) * 2009-03-16 2014-10-01 アール・エイチ・ケイ・テクノロジー・インコーポレイテッド プログラマブル機器構成方法および装置
CA2669606A1 (en) * 2009-06-22 2010-12-22 Ibm Canada Limited - Ibm Canada Limitee Tool for graphically visualizing and configuring patterns
US20110225524A1 (en) * 2010-03-10 2011-09-15 Cifra Christopher G Multi-Touch Editing in a Graphical Programming Language
US8782525B2 (en) 2011-07-28 2014-07-15 National Insturments Corporation Displaying physical signal routing in a diagram of a system
US9047007B2 (en) 2011-07-28 2015-06-02 National Instruments Corporation Semantic zoom within a diagram of a system
US8713482B2 (en) 2011-07-28 2014-04-29 National Instruments Corporation Gestures for presentation of different views of a system diagram
CN102929214A (zh) * 2011-08-11 2013-02-13 西门子公司 一种嵌入式多处理单元并行处理系统及其运行方法
CN103067534B (zh) * 2012-12-26 2016-09-28 中兴通讯股份有限公司 一种NAT实现系统、方法及Openflow交换机

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US4827404A (en) * 1986-04-14 1989-05-02 Schlumberger Technology Corporation Method and system for computer programming
US4914568A (en) * 1986-10-24 1990-04-03 National Instruments, Inc. Graphical system for modelling a process and associated method
US5291587A (en) * 1986-04-14 1994-03-01 National Instruments, Inc. Graphical system for executing a process and for programming a computer to execute a process, including graphical variable inputs and variable outputs
US4860204A (en) * 1987-02-05 1989-08-22 Softron, Inc. Computer based workstation for development of graphic representation of computer programs
US4809170A (en) * 1987-04-22 1989-02-28 Apollo Computer, Inc. Computer device for aiding in the development of software system
NZ224848A (en) * 1987-07-15 1995-07-26 Computer Associates Internatio Application software created from defined modules of code
US5019961A (en) * 1989-04-05 1991-05-28 Cadware, Inc. Computer apparatus and method for logical modelling
FR2647239B1 (fr) * 1989-05-22 1991-07-05 Bull Sa Procede de generation d'interfaces pour applications-utilisateurs visualisables sur l'ecran d'un systeme informatique et dispositif pour mettre en oeuvre ledit procede
US5339392A (en) * 1989-07-27 1994-08-16 Risberg Jeffrey S Apparatus and method for creation of a user definable video displayed document showing changes in real time data
JP2765969B2 (ja) * 1989-07-31 1998-06-18 株式会社日立製作所 図式データ駆動型プログラム開発支援装置
US5134560A (en) * 1989-10-23 1992-07-28 International Business Machines Corporation Method and system for generation of manufacturing process plans
JP2909491B2 (ja) * 1990-01-19 1999-06-23 株式会社山武 設備管理装置
US5312478A (en) * 1990-04-11 1994-05-17 Lotus Development Corporation System for managing information in a three dimensional workspace
US5551041A (en) * 1990-06-13 1996-08-27 Hewlett-Packard Company Wait for service request in an iconic programming system
US5327529A (en) * 1990-09-24 1994-07-05 Geoworks Process of designing user's interfaces for application programs
US5301301A (en) * 1991-01-30 1994-04-05 National Instruments Corporation Polymorphic dataflow block diagram system and method for programming a computer
US5500800A (en) * 1991-02-26 1996-03-19 Texas Instruments Incorporated Method and apparatus for tracking allocatable requirements
US5321803A (en) * 1991-03-01 1994-06-14 Broderbund Software, Inc. Method of managing expression data to control the presentation of visual displays
US5325481A (en) * 1991-04-12 1994-06-28 Hewlett-Packard Company Method for creating dynamic user panels in an iconic programming system
JPH05324295A (ja) * 1991-09-12 1993-12-07 Fujitsu Ltd ソフトウエアの設計支援装置
US5321610A (en) * 1991-09-23 1994-06-14 The Cobre Group, Inc. Integrated product for implementing application software and process of developing integrated product for implementing application software
JPH0683404A (ja) * 1992-01-20 1994-03-25 Internatl Business Mach Corp <Ibm> スケジュール表示のカストマイズ装置および方法
CA2101864A1 (en) * 1992-08-27 1994-02-28 Claudia Carpenter Customizable program control interface for a computer system
US5517663A (en) * 1993-03-22 1996-05-14 Kahn; Kenneth M. Animated user interface for computer program creation, control and execution

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001512599A (ja) * 1997-02-14 2001-08-21 フィッシャー−ローズマウント システムズ,インコーポレイテッド 複数の制御装置の中に分散されている階層ハイアラーキー制御戦略を使用しているプロセス制御システム

Also Published As

Publication number Publication date
US5644728A (en) 1997-07-01
ZA961021B (en) 1996-09-09
EP0727740A3 (en) 1999-06-02
EP0727740A2 (en) 1996-08-21
GB9502819D0 (en) 1995-04-05

Similar Documents

Publication Publication Date Title
JPH08314704A (ja) 制御プログラム生成システム
US5764226A (en) Reusable and modifiable data entry interface part
US5960199A (en) Model trace view for object-oriented systems
EP0760117B1 (en) Status indicators of an improved graphical user interface
US5623591A (en) System and methods for building spreadsheet applications
JP3565850B2 (ja) オブジェクト指向通知フレームワークシステム
US5740444A (en) Symbol browsing in an object-oriented development system
US8296720B2 (en) Framework to access a remote system from an integrated development environment
Kurtenbach et al. Contextual animation of gestural commands
CA2211373C (en) Learn mode script generation in a medical imaging system
JPH05241797A (ja) ソフトウェア・アプリケーション・パッケージ準備支援データ処理システム
KR20060087995A (ko) 작업 흐름을 모델링하는 방법 및 시스템
JPH09510567A (ja) ドキュメント・プロキシィ・フレームワーク
JP3565441B2 (ja) データ処理システム
US5623664A (en) Interactive memory organization system and method therefor
US20030037310A1 (en) Visual programming tool and execution environment for developing computer software applications
US5613119A (en) Data processor initialization program and method therefor
WO1999021084A1 (en) System to associate control with applications using drag and drop interface
Frankel et al. An on-line assistance system for the simulation model development environment
EP0377273A2 (en) Space management system incorporating a software-operating environment
JPH11231995A (ja) ユーザインタフェース設計方法およびユーザインタフェース設計装置および自動処理装置
WO1997049026A1 (en) A system and method for renaming a window title
Boudreaux Programming the iphone user experience: Developing and designing cocoa touch applications
EP0693192B1 (en) Object-oriented cursor tool
Artim et al. User interface services in AD/Cycle

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050905

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20051129

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20051202

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060227

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060323

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060718

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20060817

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20060908