JPS62222792A - 利用者プログラム可能即時応答システム - Google Patents

利用者プログラム可能即時応答システム

Info

Publication number
JPS62222792A
JPS62222792A JP61307592A JP30759286A JPS62222792A JP S62222792 A JPS62222792 A JP S62222792A JP 61307592 A JP61307592 A JP 61307592A JP 30759286 A JP30759286 A JP 30759286A JP S62222792 A JPS62222792 A JP S62222792A
Authority
JP
Japan
Prior art keywords
program
instructions
signal
state
signals
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
JP61307592A
Other languages
English (en)
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.)
AT&T Corp
Original Assignee
American Telephone and Telegraph Co 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 American Telephone and Telegraph Co Inc filed Critical American Telephone and Telegraph Co Inc
Publication of JPS62222792A publication Critical patent/JPS62222792A/ja
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q3/00Selecting arrangements
    • H04Q3/42Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker
    • H04Q3/54Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker in which the logic circuitry controlling the exchange is centralised
    • H04Q3/545Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker in which the logic circuitry controlling the exchange is centralised using a stored programme
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • 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/16Sound input; Sound output
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q3/00Selecting arrangements
    • H04Q3/0016Arrangements providing connection between exchanges
    • H04Q3/0029Provisions for intelligent networking
    • H04Q3/0033Provisions for intelligent networking customer-controlled
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13548Indexing scheme relating to selecting arrangements in general and for multiplex systems call modeling, e.g. Basic Call State Model
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S379/00Telephonic communications
    • Y10S379/914Programmable telephone component

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Exchange Systems With Centralized Control (AREA)
  • Telephonic Communication Services (AREA)
  • Stored Programmes (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

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

Description

【発明の詳細な説明】 肢土分互 この発明の即時応答システム、中でも特にソフトウェア
の開発環境やプログラムの卵子続き的な記述を許し、即
時に交換機構によって行なわれるような諸機能を修正す
ることができるような言語を活用した電気通信交換機構
の制御に関係のあるものである。
盈ユ曳宜景 即時応答システム、特に電気通信交換機構において、そ
の機構が利用者に予め与えている様々な操作法や機能を
修正したいという必要性がしばしば出てくる。ある特定
の利用者がシステムの機能を修正できるかどうかは、通
信交換技術の中ではそのシステムの機能に慣れることに
かかっていると言われ、利用者がそのような変更をでき
るかどうかは利用者がプログラムできるかどうかにかか
っていると言われている。通信システムにおける利用者
の定義の中には、そのようなシステムを個人で、または
商用で使っている人と、そのようなサービスを供給する
通信会社、すなわち、例えば“アメリテク”のようなリ
ージョナル・ベル・オペレーティング カンパニーや英
国逓信省のような政府の機関を含む。これら二つのタイ
プの利用者は、利用者プログラム可能性という点では違
った要求を持っている。
通信システムの機能に慣れるという点において通信供給
者が直面している問題は、このシステムを作った人がこ
のシステムを制御しているプログラムを書くのに使った
プログラム言語とそのソフトウェア開発環境に関係のあ
る二つの要因から生じている。最初の要因は、次のよう
な事実に関係している。即ち、多くのシステムが今なお
アセンブリ言語で書かれているのに、今日の通信システ
ムは通常C言語あるいはパスカルといった高水準手続型
言語で記述されているプログラム゛を実行するようなコ
ンピュータによって制御されているということである。
C言語やパスカルのような手続型言語で記述されている
通信システムプログラムの問題は、通信システムからの
異った信号に対処するプログラムで定義されている処理
の実行の順序が単に指示文の順序どおりであるにすぎず
、プログラムの対応がいかなる時点でもその通信システ
ムの状態やシステムの信号に、直接には基づいていない
という点である。この問題のために、通信システムのプ
ログラム構造をよく知った専門家しか通信システムを修
正したり新しい機能を追加したりできないのである。な
ぜなら現存している機能を修正したり新機能を追加する
のには、そのプログラム指示文のどこを変更しなければ
ならないのかを知る必要があるからである。
二つ目の要因は、通信制御プログラムは普通、通信シス
テムを制御するのに使われるものとは別のコンピュータ
システム上で開発されるということである。これらの開
発しているシステムは通信システムの完全な一部分にな
るのではなく開発されたプログラムをその通信システム
にすっと持って行くことはできないのである。それに加
えて、これらの開発システムは特別な用途のものであり
熟練した監督者が要る。そのような一つの開発システム
が[ソフトウェア開発ツールJ  (AT&TJ、 E
、 Ritacco  J、 A、 5antilli
liF)という表題の記事の中で記述されている。
現在の通信システムに修正を加えるのに必要な言語だけ
でなく開発システムをも製作者が提供しようとしている
例が「ニドランドテレフォンにおける交換型ソフトウェ
ア開発」 (通信交換システムのためのソフトウェア・
エンジニアリングに関の記事の中で記述されている。こ
の記事の中では、利用者のソフトウェア開発を製作者の
開発用システム上で行ない、それに続くプログラムの導
入・設置も製作者側の人員によって行なわれるというデ
ンマークのニドランドテレフォンの経験談が紹介されて
いる。確かにこのアプローチはニドランドテレフォンが
プログラムを開発できるようにしたが、通信システムを
動かしているプログラムに関する広くて深い知識だけで
なく開発用システムに関する膨大な知識をもニドランド
テレフォンが開発する必要があった。
上記のアプローチは可能ではあるが望ましくはない。な
ぜなら通信供給者は、経済上の理由で異なった製作者か
らの様々なシステムを使うことを好み、注文した機能を
提供するのにコストが高くなるためある特定の製作者の
システムに固定されることを好まないからである。
通信の運用会社あるいは逓信省が通信システムに対して
提供される諸機能がどのようなものであるべきかを詳し
く示されるような一つのアプローチが、S D L (
The 5pecification Descrip
tionLanguage−仕様記述言語)であり、そ
れは現在CCITT委員会によって取り決められている
Communications、) Vol、 Cam
 −30、魚6.1982年〒T丁石粥5ビ 5   (5aracco)著)の標題の記事の中に記
述があり、CCITT仕様は勧告Z101−104  
(CCITTイエローブック、国際通信連合、ジュネー
ブ、スイス、1981年)の中で示されている。SDL
言語は、状態と通信信号情報に関して通信システムが提
供すべき機能と特徴点を通信供与者が記述できるように
するものである。一度通信供与者がSDLを、外形を記
述するものとして使えば、製作者は、“CIIILL 
”とか“C”といったような彼らが好きな言語で自由に
その記述内容を実行できるのである。このSDLを使っ
たアプローチは確かに通信供与者がソフトウェア開発を
管理し詳しく表わすことができるようにしているのでは
あるが、それにもかかわらず今なお通信供与者は業務の
履行という点で製作者に従属したままであり任意に変更
できる柔軟性を与えられていない。
通信システムの最終利用者に様々な種類のサービスを提
供するという問題点に対する一つの解決方法は、製作者
が大量のサービスを提供できる通信システムを構築し通
信供与者あるいは業者に、これらのサービスのうちのど
れをどのグループのWoodland、 G、 A、 
Re1sner、 A、 S、 Melamed%の「
システム管理J  (AT&Tテクニカルジャーナル、
64巻、1lhl、1985年1月刊)の記事の中で例
解されている。この解決方法は多くの問題点をはらいで
いる。そのうちの一つは利用者が望みそうな種類のサー
ビスを予め全部見通しておくことが困難であり、またこ
れらのサービスを正しく提供するやり方を予知しておく
ことが難しいという点である。製作者が大きな費用をか
けて開発した多くの特殊サービスは、製作者側・利用者
側双方ともその通信システムの性能に満足できないもの
となり利用者にはほとんど使われていないことが解った
のである。
手続き型プログラム構造やこれらの通信システム用プロ
グラムを開発するのに使う開発用システムのために、単
に最終利用者向けの利用者プログラム可能性ということ
では最大の法人利用者に対してでさえも実用的であると
は言えない。最終利用者が特殊な通信サービスを手に入
れるための一つのアプローチは法人利用者が製作者に、
ある機能をつけるように頼むことである。このアプロー
チは、利用者側から見ても製作者側から見ても望ましい
ものではない。製作者は一つの利用者だけにしか使われ
ないソフトウェアを開発するのに貴重な人的資源を配置
する必要がある。利用者側から見れば、そのようなサー
ビスを提供するのに製作者にかかる費用が高くなるとい
うことである。
それに加えて通常そのような要求かもとで大巾な遅延が
生じるのである。
利用者プログラム可能性に対するもう一つのアプローチ
が「ネットワークサービスの利用者管理」E、 G、 
5able、 R,J、 Stewar帽)という標題
の記事の中で記述されている。その記事の後段では商用
の利用者が現在の諸機能をAT&Tの“7ドハンスト8
00サービス”に適合できるように形ち造るシステムの
ことが記述されている。その利用者はサービス管理シス
テムによって提供されている利用者に親切なインターフ
ェイスを活用して、サービスの論理的な体系を定義する
のに木構造を使って現在の諸機能を望ましい形の−まと
まりのサービス群に形造っている。様々な順序と組合せ
で機能を−まとまりのものにできるために、利用者は自
分たちの要求に合ったパフケージを提供する様々な機能
を仕立て上げることができる。こういった可能性は非常
に有効なものであるが、利用者が直接にコンピュータに
電話通信網を制御するようにプログラムすることは許さ
れていないし、できる変更の種類にも限りがある。
前述のことから考えて、最終利用者や通信サービスの提
供者が通信システムによって提供される諸サービスを迅
速かつ経済的に修正できるようにするプログラム言語や
ソフトウェア開発システムに対する要求があると考えら
れる。それに加えて、こういった修正を行なうには現存
しているサービスがたとえ新しいものに置きかえられる
としても、その現存しているサービスや特徴点が履行さ
れる様式を最小限理解していることが必要であろう。
また通信システムの場合、正常な業務運行を妨げること
なくこういづた修正ができるものであるべきである。そ
れに加えて、開発用のシステムは多くのプログラマ−が
慣れているもので通信産業に深く結びついていないよう
な標準的なものであるべきである。この後者の要求は、
利用者が通信システムを専門としているプログラマ−だ
けに限定される場合よりも広くプログラム作成能力の基
盤を広げることができるようにするだろう。
l王立!對 当発明の諸原理は、実証的な方法と構造的に具体化した
もので編成されており、そこでは絶対に必要なソフトウ
ェア開発用通信システムが提供されており現在の制御プ
ログラムを最小限知っていれば新しい通信に関する諸機
能をプログラムすることができ、また商用的に利用可能
なソフトウェア開発システムと卵子続き型プログラム言
語を前提としている。従って当案の原理に従えば前述の
問題点は解決され技術的な進歩が達成される。更にこの
絶対必要なソフトウェア開発用通信システムを使えば、
新しい機能の追加や現在の機能の修正をシステムの通常
運転中に繰り入れることができる。
先づこのシステムの優れている点は、非常に多種の状態
をとることができ、非常に多種の信号を発することがで
きる。コンピュータシステムは、先づ最初の一組のサー
ビスを提供するためにシステムの連絡機能を制御する一
番目のプログラムルーティンを実行する。その一番目の
プログラムルーティンの制御下になるコンピュータシス
テムはシステム状態やシステム信号に直接に反応するよ
うになっている。コンピュータシステムは第二番目のプ
ログラムルーティンを実行することによりソースコード
をコンパイルする追加的なサービスを定義しているソー
スコード指示文に反応するようになる。第三番目のプロ
グラムルーティンは、そのコンピュータシステムが最初
のプログラムルーティンを更新する追加的なサービスを
定義しているコンパイル済のソースコード指示文に反応
するようになるように制御する。第四番目のプログラム
ルーティンは最初のプログラムルーティンの更新された
部分を有効なものとするように実行される。
次に優れている点として、コンピュータシステムはシス
テムの通常の即時応答制御を妨げないようなやり方で最
初のプログラムルーティンをコンパイル済のソースコー
ド指示文で更新する。またこのコンピュータシステムは
更新された部分を含んでいる最初のプログラムルーティ
ンを実行する一つ目のプロセッサーとコンパイルを実行
する二番口のプログラムルーティンを実行する二つ目の
プロセッサーから成っている。
次に優れている点として、四番目のプログラムルーティ
ンは予め定義されているシステム状態や信号の発生によ
って、それらの各々が実行されるような非常に多くの指
示文のグループから成っている。最初のプログラムルー
ティンの更新部分は、それが可能な状態であることを示
すシステムタイム信号に反応する四番目のプログラムル
ーティンのあるグループの指示文によって有効なものと
なる。また、三番目のプログラムルーティンは最初のプ
ログラムの更新部分が有効でないようにするべきだとい
うことを示す信号を発する二番目のタイムシグナルに反
応する、その後半部のルーティンのある指示文のグルー
プにより発せられる二番目のシステムタイム信号の発生
に基づいて更新部分が有効でなくなるようにするために
提供される。最初のプログラムルーティンの更新部分は
、また予め定義された状態と信号によってそれぞれが有
効となる指示文のグループを含んでいる。この更新部分
の指示文グループのうちの一つが、更新部分を有効でな
くする信号に反応するのである。
他に優れている点として、状態の推移に基づいて通常行
なわれる普通の運転操作の実行を容易にするために、最
初のプログラムルーティンにはシステムの現在の状態を
別の状態に変更する時には許可信号を発する一組の指示
文と次の状態に入った時にそのことを示す入力信号を発
する一組の指示文がある。これら二つの信号は次によう
に使われる。最初のプログラムルーティン中の二番目の
指示文グループは共通の出口処理を行なうための許可信
号に反応し、三番目の指示文グループは共通の入口処理
を行なうための入力信号やその他の状態に反応するよう
になっている。
この実例的な方法によれば、様々な状態をとり多くの信
号を生成する音声・データ通信システムを、利用者がプ
ログラムし制御できる。第一の処理装置は、基礎的な命
令群から成る命令のセットを実行して、システムを制御
する。第二の装置は、才子続き型言語で書かれた原始コ
ードを翻訳に使われる。この方法は以下の諸段階で構成
される。
1)基礎的な命令群の実行により、第一の処理装置がシ
ステムを制御する段階。それぞれの命令群は、システム
の状態やシステム信号に応じて個々の処理を行うように
、予め定義されている。
2)機能の追加や基本的な機能の修正を定義した原始コ
ードプログラムを入力する段階。
3)入力したコードを付加的な命令群に翻訳する段階。
この命令群は第一の処理装置に追加された機能を実行さ
せるためのものである。
4)その付加的な命令群を、第二の処理装置から第一の
装置に転送する段階。
5)付加的な命令群を加えた基礎的な命令群を、予め定
めた優先関係をつけて更新する段階。
6)付加された命令群を活動材する段階。
第一の処理装置は多くの制御構造を持つが、゛都合の良
いことに、この方法は更に次のような段階を包含する。
・多くの制御構造のそれぞれについて個別に、特定のシ
ステム状態とシステム信号に対し、予め定めた優先関係
に従って命令群の一つ一つを関係づける段階。
・現在のシステム状態とシステム信号の発生に応じて、
制御機構のうち一つを識別する段階。
・識別された制御構造により最も高い優先度が与えられ
ている命令群を実行して、最初のサービス処理を行う段
階。
・識別された制御構造により二番目に高い優先度が与え
られている命令群が、最も優先度の高い命令群の一つを
実行することによって、実行できるようにする段階。
・三番目の優先度の命令群が、二番目の優先度の命令群
の一つを実行することによって、実行できないようにす
る段階。
この方法は更に、命令セントの非活動化や活動化のため
に、決められたシステム状態と信号に反応する一つの命
令群によって制御される非活動化まかは活動化を提供す
る。
加えて、制御構造はそれぞれ、システム状態のうちの一
つと関係しており、多数の表より構成されている。この
表はそれぞれ、関係する制i1[1構造のシステム状態
で発生するシステム信号のうちの一つと関係している。
その更新段階は以下の段階より成る。
・追加される命令群の各々の実行を活動化する状態と信
号に対応する表を決定する段階。
・決定した表に、追加する命令群のそれぞれを参照する
情報を格納する段階。
同様に、ある命令セントが非活動化されるときは、その
制御構造の諸表中にある、非活動化される範囲の命令群
に対する参照情報の全てが取り除かれる。
状態遷移についても、好都合なことに、この方法は次の
ような段階を包含している。
・第一の命令群中のある命令を実行して、現在のシステ
ム状態から別のシステム状態への変化を初期化する段階
・現在の状態から出ることを示す離脱信号を生成する段
階。
・離脱信号と現在の状態に応じて、現在の状態から出る
前に、第二の命令群の一つを実行して、共通の出口処理
を行う段階。
・別の状態に入ることを示す別の信号を生成する段階。
・入場信号と入る状態に応じて、前記の別の状態に入る
ときに、第三の命令群の一つを実行して、共通の人口処
理を行う段階。
荘L」隨 この発明の主題である通信システムを、図1で説明して
いる。このシステムは、音声とデータの双方を100バ
ス経由でパケット交換できる。顧客ユニット、つまり音
声通信用の電話器、データ通信用の端末をそれぞれここ
に接続する。各々の顧客ユニットに接続されたコンピュ
ータは、プログラムの制御下で、音声またはデータ通信
用の顧客ユニットを制御する機能をもつ。個々の顧客ユ
ニットのコンピュータは、その顧客向けに特殊化したサ
ービスを提供するプログラムを実行する。
このプログラムは、新しい非手続き型言語で記述される
。この言語は、システムの状態と通信に関する事象との
関係を、明確に直接にプログラムすることができる。顧
客は、101計算機を制御するUNIXオペレーティン
グシステム上で、この非手続き型言語を使って原始コー
ドを記述することにより、自分のユニットを特殊化する
ことができる。その原始コードは翻訳され、その顧客の
コンピュータに転送される。サービス間優先機構の利用
により、新しく翻訳されたコードは、活動化の時点で、
決まった優先度がつけられてコンピュータに格納される
。通信サービス会社も同様に、磁気テープやその他の媒
体を使って101コンピユータに直接にプログラムを与
え、続いて顧客ユニットにプログラムを転送することが
できる。
図1の通信システムが供給する、基礎的な電話サービス
の状態図表が図2である。それに伴う原始コードプログ
ラムが図3と4にある。このシステムに新しいサービス
をつけ加えるには、顧客がデータ端末を用いて、101
コンピユータを制御するUNIXオペレーティングシス
テムに接続すればよい。UNIXの標準的な編集技法を
使って、図5のようなプログラムを入力する。詳細は後
述するが、図5のプログラムは通話転送機能を提供する
ものである。102顧客ユニットから任意の指定する顧
客ユニットへ、通話の転送ができる。
また、通話関係者確認もできる。102顧客ユニットへ
の通話関係者を、106端末で確認できるものである。
加えて、活動化と非活動化の機能も提供する。通話転送
機能が、労働時間中には働き、そうでない時間には働か
ないようにするためのものである。
これらの新しい機能をプログラムするのに、顧客は機能
が発動するときの通話状態と、機能を発動させるシステ
ム信号にだけ気を配ればよい。加えて、この変更が影響
するのは102ff客ユニットだけであり、図1の通信
システムを利用する他の顧客群は影響を受けない。
図5のプログラムを準備したら、次に顧客はUNIXの
制御下でプログラムの翻訳を行う。図5の原始コードを
、図8に示す書式に翻訳するものである。翻訳されたコ
ードは110パス経由で104コンピユータに転送され
る。104コンピユータを制御するオペレーティングシ
ステムは、図8の情報に応じて、図9のプログラムを時
分割方式で実行する。通常の通信サービスを阻害しない
ためである。
図8のような転送された邦訳後のコードは、活動化によ
って、図6や7のような論理信号表に格納される。この
表は、全ての信号を、その信号が発生する状態と結びつ
ける。一度転送を行った後は、顧客が手動で活動化命令
を実行することによってこの新しいサービスを活動化す
ることもできるし、また、他のコードによって自動的に
行わせることもできる。そのコードは、図5の通話転送
機能の活動化のところで説明しであるようなものである
次の節で詳しく述べるが、この非手続き型言語の原始語
である5TOPとC0NTINUEに対応する図6と7
の論理信号表の物理的な構造は、新しいサービスが、そ
れぞれの状態で、元からある基礎的な命令コードの実行
や実行禁止をするかしないかを制御できるようになって
いる。加えて、事象特定語であるENTERとLEAV
Hについては、多くの状態遷移を経由しである状態に入
りあるいは出るときに通信システムのさまざまな局面を
初期化したり、再設定したりする問題に、プログラマ−
が関わらな(でよいようになっている。この非手続き型
言語は、状態や通信システムからの信号情報との関係と
いう形で、各処理を明確に定義する。そのため顧客は顧
客ユニットを必要に合わせて簡単に、すぐにプログラム
できる。加えて、商業的に普及しているUNIXオペレ
ーティングシステム上で実際の原始コードが記述され翻
訳されるので、通信型システムに特別に熟練したプログ
ラマ−に対する必要は大幅に緩和される。
大施拠q脱皿 本発明の対象であるソフトウェア・システムは図1に示
したハードウェア・システムによってを利に実施される
。しかし、他のハードウェア・システムもここに図説し
たソフトウェア・システムで制御可能であることは当業
の者には明白であろう。図1のハードウェアは複数の顧
客ユニット102から103までから成っている。それ
ぞれの顧客ユニットは1基のコンピュータ、1基の電話
受話器および1基のデータ端末から成っている。
音声およびデータ情報がハス100を通じてパケットの
形で通信される。バス100はエテルネット(登録商標
)型であることが有利であるが、米国特許第4,494
,230号に記載されたようなパケット交換システムで
あっても良い。顧客ユニット102はコンピュータ10
4と端末106を含んでいる。コンピュータ104はこ
こには示していないがバス100、電話受話器105お
よび端末106とのインターフェイスのための装置なら
びに音声情報を受話器105との間でバス100を通じ
てやりとりするのに使用されるアナログ・デジタル転換
を行なうための装置を含んでいる。
システムの初期化ならびに顧客ユニットのオペレーショ
ンの変更を実施する必要が生じた場合は、非手続的言語
で表現されたスクリプトが一つの端末を通してコンピュ
ータ101にエンターされる。
コンピュータ101はこれらのスクリプトをコンパイル
し、続いてそのうち解決可能な表現をバス110を通し
て顧客ユニットのプロセッサから該ユニットの指定され
たメモリーにダウンロードする。各スクリプトは複数の
トリプルから成り、各トリプルは一つの状態定義、一つ
の事態定義および一つの動作定義から成っている。事態
定義はどの信号が該トリプルを起動するかを定義し、動
作定義は該トリプルの起動の場合に取られるべき動作を
定義している。動作定義は一つの指示グループから成っ
ている。単純旧式電話(POT)用のトリプルを起動さ
せる状態と信号を図2に示した。
図2は局番から局番への通話の最中に顧客ユニット10
2から103までの間の一つのものがある状態201か
ら208までを状態グラフィックの形で示したものであ
る。新しいシステム上の要求を充足するために、図示し
た状態の数を拡張することは当業の者には明白であろう
。信号201から224までは事態を表現するが、その
発生はそれぞれある一つの状態から別の状態への変化を
生じせしめる。ここでもまた、新しいシステム上の要求
を充足するために信号数を拡張することは当業の者に明
白であろう。
例えば通話を発信しようとする場合、該顧客ユニットは
まずアイドル状態201にあって受話器の取り上げが行
なわれな(ではならない。受話器の取り上げという事態
は取り上げ信号201を通じて該顧客ユニットをダイヤ
ル状態202に置く。
端末から番号が集められると、状態は番号信号211に
よってダイヤル状態202から発信パルス状B2O3に
変えられる。
発信パルス状態203においては、着信側顧客ユニット
に呼び出し終了の要請が送られる。もし着信側の顧客ユ
ニットが話し中の時は話し生信号217を通じて話し生
状6207がエンターされる。発信パルス状態203ま
たはダイヤル状態202または話し生状態207の間に
発信側顧客ユニットが受話器を戻すと、その発信側顧客
ユニットは受信器戻し信号216.215または218
のいずれかを通じてアイドル状態201に復帰させられ
る。
着信側顧客ユニットが話し中でない場合は、発信側顧客
ユニットは呼び出し信号212を通じて可聴状B204
に入る。可聴状態にある間は発信側顧客ユニットは呼び
出し音が聞こえる。可聴状態204にある時に発信側顧
客ユニットの受話器が置かれると受話器戻し信号224
を通じてアイドル状態201に戻される。着信側顧客ユ
ニットが電話に答えると発信側顧客ユニットは応答信号
213を通じて通話状B2O5に移る。
通話状態205に入ると発信側と着信側はバス100を
通じて音声パケットを交換する。もし着信側が先に電話
を切ると、発信側は接続解除信号219を通じて通話状
態205から接続解除状態206に移行する。もし発信
側が先に電話を切ると、発信側は受話器戻し信号214
を通じて通話状8205からアイドル状態201に移行
する。
前述の例を着信側の観点から考察して見よう。
他の顧客ユニットが音声接続を希望していることを示す
バス100を通じてメツセージ223を受は取ると、着
信側顧客ユニットは原生信号223を通じてアイドル状
態201から呼び出し状態208に移行する。呼び出し
状態208にある間は、着信側は呼び出し音が聞こえる
。着信側顧客ユニットが受話器を取ると、受話器取上げ
信号221を通じて通話状態205に移行する。その代
りにもし発信側ユニットが着信側ユニットの呼び出し状
態208の間に受話器を置いてしまうと、発信側ユニッ
トはバス100を通じて連絡されたあるメソセージに含
まれた接続解除信号を伝達する。この接続解除信号に反
応じて、着信側顧客ユニットは接続解除信号222を通
じて呼び出し状態208からアイドル状態201に移行
される。
さて本発明であるが、図2に示した様々の状態からの移
行を実行するための一つのスクリプトを図3および図4
に示した。該スクリプトは単純旧式電話(POT)サー
ビスまたはトリプルを用いた基本的電話サービスを実行
する。後者は一旦コンパイルされると、メモリー108
に保持され、プロセッサ107によって実行される。図
3および図4に用いた言語の詳細を付録Aに示した。当
業の者にあっては、トリプルを順序づけする必要のない
ことを図3および図4において認めることができる。実
行の順序は状態・事態に関する情報ならびにスクリプト
のダウンロードと起動の間およびトリプルの実行の間に
実行されるスクリプト開割?I[を構によって明示的に
指定されるのである。
顧客ユニット103が顧客ユニット102と通話すると
いう例について考えて見よう。顧客ユニット102は図
2のアイドル状態201にある。
通信が接続されようとしていることを告げる原生信号2
23を含んだメツセージを顧客ユニット103から受は
取ると、トリプル303の原生事態が一致し、そこでそ
のトリプルは起動する。
$ 5OURCE変数は事態認識のためコンパイルされ
たコードによって顧客ユニット103の電話番号と同じ
ものにセットされる。実行されるべき動作はトリプル3
03の動作規定によって特定される。
まず$ 5OURCE変数の情報が後で使われる目的で
$ ORIG INATOR変数に転移され、呼び出し
信号212を含んだメソセージが、顧客102は呼び出
し状態にあることを顧客ユニット103に告げるための
5ENDプリミチブの実行により、バス100を通じて
顧客ユニット103に伝達される。次いで$ 5OUR
CE変数の情報が後で使用される目的で$ 0TIIE
RPARTY変数に移転される。最後に実行されるオペ
レーションは顧客ユニット102の次の状態は呼び出し
であるべきことを措定するNEXTSTATEブリミチ
ブの実行である。状態が呼び出しに変えられると、呼び
出し状8208のためのエンター信号が発生される。該
エンター信号−は後者の状態の内部で発生されるので図
2には示していないが、図38において詳細に説明があ
る。該エンター信号の発生はトリプル305の実行をも
たらす。トリプル305の動作規定は可聴の呼び出し「
音」または「表示」を受話器105にもたらす。
図2に示したとおり、顧客ユニット102は受話器を取
ることによって取り上げ信号221が発生されるか、ま
たは顧客ユニット103がらバス100を通じて接続解
除信号222を受は取るかのいずれかにより、呼び出し
状B2O3を脱する。
顧客ユニット103からの接続解除信号222は顧客ユ
ニッl−103の受話器が置かれたことを示す。顧客ユ
ニット102の受話器が取り上げられた時は、取上げ信
号221が発生され、トリプル308が実行される。ト
リプル308は顧客ユニッl−103に対して、顧客ユ
ニット102が応答したとのメソセージを含んだ応答信
号213を伝える。さらに、NEXTSTATEブリミ
チブによって、状態は通話状態205に変換される。状
態が変換されると、離脱信号が発生され、トリプル30
6が実行されるが、この動作規定は可聴呼び出し「音」
または「表示」が受話器105から除去されるようにせ
しめる。この離脱信号は呼び出し状態208の内部で発
生されるので図2には示していないが、図38において
詳細な説明がある。
顧客ユニット102が呼び出し状態208にあって接続
解除信号222を受けた時は、トリプル307が実行さ
れる。このトリプルは発信側顧客ユニット103の受話
器が置かれた時に顧客ユニット102が行なうべき動作
を指示する。しかしこの時点では接続はまったくなされ
ていない。メツセージが発信側顧客ユニットからのもの
でなければ、顧客ユニット102は単に呼び出し状態2
08に引続きおかれる。顧客ユニット103から接続解
除信号223が送られてくれば、トリプル307の動作
規定が実行されてNEXTSTATEプリミチブが該シ
ステムをアイドル状態201に復帰させる。
顧客ユニット102を呼び出し状態208から離脱させ
る信号が取り上げ信号221であった場合は、トリプル
308は応答信号213を顧客ユニット103に伝達せ
しめ、顧客102をして通話状態205にエンターせし
める。通話状態205に入ると図4のトリプル320が
実行される。後者のトリプルはバス100を通じた顧客
ユニット103への音声経路が成立するのに必要なコン
ピュータ104内部で実行されるべき内部作業を実行さ
せる。
顧客ユニフ)102の受話器が置かれると、トリプル3
22が実行され、顧客ユニッl−102が接続解除とな
ったことを告げる接続解除信号219を顧客ユニソl−
103に伝達する。さらに、NEXTSTATEブリミ
チブが実行され、顧客ユニット102をアイドル状態2
01に復帰させる。該NEXTSTATEブリミチブの
実行は離脱信号を発生させ、トリプル321の実行をも
たらす。トリプル321の動作規定はDISENGAG
Eプリミチブの実行によって顧客ユニット102用バス
100への音声接続を解除する。
このインタースクリプト制御機構ならびに顧客ユニット
の環境制御のためのスクリプトの起動・停止をより詳細
に検討する目的で、図5に示したスクリプトを考えてみ
よう。そこに示したスクリプトは電話転送(CFスクリ
プト)、発信者確認(CPIスクリプト)ならびに電話
転送(CF A)フィーチャの起動・停止を提供する。
これらのスクリプトはコンピュータ102によってコン
パイルされ、その後顧客ユニット102のコンピュータ
104にダウンロードされる。コンピュータ104はこ
れらスクリプト内で指定された異なる事態が生じた場合
にCFスクリプトがCPTおよびCFAスクリプトに優
先するよう、これらスクリプトを図説的に保存する。
転送フィーチャは顧客ユニット102に宛てられた通信
について、端末106を通した顧客エンタリング・デー
タによって予め特定された別の顧客ユニットに転送する
ことにより機能する。発信者確認フィーチャはどの顧客
ユニットが顧客ユニット102に通信しようとしている
かを端末106に表示する。ここに示した例では転送フ
ィーチャが発信者確認フィーチャに優先する。従って、
もし転送フィーチャが機能している場合は、発信人確認
フィーチャが実行されないので、発信人確認フィーチャ
は発信側顧客ユニットの身元を表示しない。もし転送が
機能していない時は、発信人確認フィーチャは顧客ユニ
ット102がアイドル状態にない場合のものも含め、そ
れまで顧客ユニット102に対して向けられたすべての
発信人を確認する。
転送フィーチャ用のCFスクリプトは図5に示したよう
にトルプル501と502から成っており、5TOPと
C0NTINUEのプリミチブを用いたインタースクリ
プト序列機構を発揮する。トリプル501は図2に示し
た状態のいずれにおいても実行可能である。トリプル5
01の起動は端末106に「#」がタイプさたことを示
す入力信号によって行なわれる。かかる入力信号が発生
されると、トリプル501の事態定義は顧客が端末10
6上で「#」の後にタイプする一連の文字と等しいもの
に$ CFNUMBER変数をセットする。トリプル5
01の作動定義は5TOPプリミチブを実行し、その結
果、いかなる状態下でもどんなスクリプトの他のトリプ
ルによって該入力信号によってそれ以上の処理が行なわ
な(なる。ここで5TOPブリミチブも実行する目的は
、インタースクリプトの序列を制′4′Bすることより
も、むしろ該入力信号のそれ以上の処理を停止すること
にある。
トリプル501が起動されており、かつ$CFNUMB
ERが特定された顧客ユニット103の番号に等しくセ
ットされていると仮定すれば、いかなる状態下であって
も受信された一つの原生信号223はトリプル502を
実行させる。トリプル502の実行の結果、まず$ 5
OURCE変数が事態定義によって発信側顧客ユニット
の番号と等しくセットされる。次いでトリプル502の
作動定義は、$ CFNUMBER変数がノナル値にセ
・ノドされていることならびに該ノナル値が発信側顧客
ユニットの番号と等しくないことを確認する。これらの
条件が満足されていれば、トリプル502の作動定義の
“then“ステートメントが実行され、その結果F〇
四ARD 、 PRINTおよび5TOPのプリミチブ
が実行される。FORWARDプリミチブは$ 5OU
RCE変数の値を、通話開始が意図されていることを示
す原生信号223と共に、特定された顧客ユニットに転
送する。加えて、PRINTプリミチブは該通話が該特
定顧客ユニフトに転送された時間を示すメツセージを端
末106にプリントアウトする。そして最後に5TOP
プリミチブが実行され、顧客ユニット102の該状態下
で原生信号に反応するCPIとPOTのスクリプトの該
トリプルの実行を阻害する。5TOPプリミチブが実行
されることにより、CFスクリプトは通信を開始しよう
とする場合に起生ずる通常の作動を阻止することが可能
となる。
この5TOPプリミチブはインタースクリプト制御機構
の一部である。
トリプル502の“if″ステートメントで規定された
条件が満足されない場合は、C0NTINUEプリミチ
プが実行される。後者の実行の結果、制御は序列の低い
スクリプトの他のトリプルに移される。
その場合においては、該原生信号223はCPIとPO
Tのスクリプトによって扱われる。CP[スクリプトが
いかなる状態下においてであれ該原生信号223を受信
すると、トリプル504の作動定義は原生信号で特定さ
れた顧客ユニットから通信があったことを示すプリント
アウトを行ない、そして通話をセットするためのPOT
スクリプトのオペレーションを起生させるためにC0N
TTNUEプリミチブを実行する。制御がPOTスクリ
プトに移ると、図3および4で既に示したような抵抗が
設定される。
では図5で示したCFAスクリプトがどのようにCFス
クリプトを起動または停止させるかを検討してみよう。
時刻が午前8時になると時間信号が発生されトリプル5
06が実行される結果、もし曜日がそれぞれ1から5ま
でと指定された月曜日から金曜日までであればCFスク
リプトが起動される。午後5時にはもう一つの時間信号
が発生される。そしてそれに反応してトリプル507が
実行され、曜日が土曜日もしくは日曜日でなければCF
スクリプトを停止する。土曜日か日曜日の場合は、Ha
 CFスクリプトは金曜日の午後5時に停止された状態
にあるのが通常である。
コンパイラ−はコンピュータ101によって実行され、
図3.4.5に示したスクリプトに反応じて、これらの
スクリプトをコンパイルした上で、図であればコンピュ
ータ104にコンパイルされたトリプル・コードを伝送
する。後述するように、コンパイルされたスクリプトが
ダウンロードされると、コンピュータ104で実行され
た起動オペレーションはスクリプト間に次のとおりの序
列を設定する。すなわちCFA、CPrおよびCP間で
CFAが最上位の序列となる。加えて、CFA。
CPIおよびCFスクリプトはその後の時点でコンパイ
ルされダウンロードされることが可能である。コンピュ
ータ104の一つのプログラムはこれらスクリプトのコ
ンパイルされたトリプルに反応じて、これらのトリプル
を図6にロジ・ツク的に示したようにアイドル状態、呼
び出し状態および通話状態に対応して保存し、また、こ
れらトリプルの実行方法を与える。他の状態と関係した
トリプルも同様に保存されることになる。該トリプルは
各状態に対応した事態定義毎にグループ分けされる。
図11.12および13に示したように、現在の状態が
状態定義上対応する時に固有の事態定義に対応する信号
に反応して一つのトリプルが実行されることを可能にす
るインデックスが用意されている。例えば、アイドル状
態201の時に受信された原生信号223は、CFスク
リプトのトリプル502、CPIスクリプトのトリプル
504、そしてPOTスクリプトのトリプル303をシ
ーケンス的に起動することができる。
コンピュータ101からのコンパイルされたコードを受
信し、その情報を図15に示したロジックの形で起動、
保存、実行するためにコンピュータ104内部で実行さ
れる様々なプロセスを図11に示した。
同じく図11に示したのは、顧客ユニット内の様々なプ
ロセスの間で交信される信号である。例えば、前述の説
明において、顧客ユニット103から顧客ユニット10
2に発信される原生信号223はV−RCVプロセス1
002によってバス100を通じコンピュータ104に
受信される。
そして後者のプロセスはオペレーティング・システム通
話を通じてフィーチャ制御プロセス1000に原生信号
223を伝達する。これらのプロセスの実行はコンピュ
ータ104のオペレーションを制御する一つのオペレー
ティング・システムによって制御される。該オペレーテ
ィング・システムのためのソース・コードは付録Eに示
した。
例えば顧客が受話器を取り上げると、ハードウェアの断
続が発生して、オペレーティング・システムに断絶メツ
セージをV−INプロセス1102に発信させる。後者
のプロセスはこの断絶に反応じて、顧客が受話器を取り
上げたと判定し、そして該取り上げ信号を1つのオペレ
ーティング・システム通信を通じてフィーチャ制御プロ
セス1000に送信する。この取り上げ信号をフィーチ
ャ制御プロセス1000に送信するオペレーティング・
システム通信の実行の結果、該オペレーティング・シス
テムフィーチャ制御プロセス1000を実行する。
フィーチャ制御1000が起生されれば、該制御はまず
どんな信号を受信したかを判断し、顧客ユニットの現在
の状態を判断し、そして事態定義が該受話信号と一致す
る状態のトリプルを実行する。このマツチングが如何に
行なわれるかを示すために、顧客ユニット103から顧
客ユニット102へのバス100を通じた原生信号22
3の伝送を考えてみよう。このメツセージはV−RCV
プロセス1001が受信し、該プロセスが該原生信号を
フィーチャ制?ll11000の有限状態マシン(FS
M)1005に伝える。FSMI OO5は該原生信号
に反応じて、アイドル状態201に関係しているロジッ
ク信号表601から601にインデックスする。FSM
I 005は次に環ロジック信号表602を特定し、イ
ンターブレツタ1006でインタープレートされた表6
02によってトリプルを特定せしめる。このインデック
ス化が実際の物理的表で実施される様子ならびにある一
つの状態と信号について実行されるべきトリプルの特定
は図11.12.13に詳細に示した。
ロジック信号表602を特定した後、FSM1005は
表602の502であるエントリーCFに保存されてい
るポインターをインタープレツタ1006に転送して、
実行されるべきコンパイルしたトリプル・コードの場所
を特定する。この特定されたトリプル・コードにより実
行される動作は、図5に示したとおりトリプル502に
よって定義される。
トリプル502の実行によって生じるオペレーションは
2組ある。1組は$ CPNt1MBuR変数が一つの
番号を含んでおり、発信側顧客ユニットは顧客ユニット
が通信を転送しようとしているものではない場合に生じ
る。この第1組のオペレーションの条件が満足されると
、原生信号と発信側顧客ユニットの番号が指定された転
送先顧客ユニットにFORW^R11ブリミチブの実行
によって送信される。
また、一つの通知メツセージがデータ端末106にプリ
ントされ、5TOPプリミチブが実行される。この5T
OPブリミチブの効果は、FSM1005をしてロジッ
ク信号表602におけるトリプルの処理を停止せしめる
ことにある。
第2組のオペレーションはトリプル502の”if″ス
テートメントの条件部分が「否」である時に実行され、
“else”部分を実行させる。“if“ステートメン
トの“else”部分はC0NTINUEブリミチブを
実行させるので、その結果、F S M2O2Sはロジ
ック信号表602の残りのトリプルを実行する。
C0NTINUEブリミチブが実行されると、表602
で次に実行されるのは図5のトリプル504であり、こ
れはCDIである504エントリーで示される。トリプ
ル504の実行の結果、発信側顧客ユニットを特定した
メツセージが端末106に表示される。次に、C0NT
INUEブリミチブが実行された結果として、表602
の303エントリーであるPOTにより特定されたとお
りトリプル303が実行される。
トリプル303の実行の結果、発信側顧客ユニットの認
識番号がS 0RIGINATORとS 0THERP
ARTYにセーブされ、そして受信側顧客ユニットが呼
び出し状態208に入ろうとしていることを示すメツセ
ージが発信側顧客ユニットに伝達される。これに加えて
、NEXTSTATEブリミチブが実行され、その結果
、離脱信号が内部的に発生され、状態は呼び出し状態に
移行され、そしてエンター信号がFSM1005によっ
てフィーチャ制御1000内部で内部的に発生される。
FSM1005は離脱信号とエンター信号を、V−RC
Vプロセス1001のような他のプロセスから受信した
信号を同様に処理する。離脱信号およびエンター信号の
処理についての詳細は、NEXTSTATEプリミチブ
を示した図38に示している。
本例においては、離脱信号はアイドル状態201と関係
づけられている。アイドル状態と関係づけられた離脱信
号については、ロジック信号表にエントリーがないこと
から、本例においてはこの信号からは何の動作も生じな
い。新しい状態、すなわち呼び出し状態208と関係づ
けられたエンター信号は、ロジック信号表614の30
5であるエントリーPOTで示されたコンパイルされた
コードを実行させる。このコンパイルされたコードは、
図3に示されたトリプル305に対応する。
トリプル305の作動定義の結果、C0NTINUEブ
リミチブが実行されるが、しかじロジ・ツク信号表61
4には実行されるべきトリプルがもうないため、該エン
ター信号に反応して実行されるトリプルは他にない。
もし、呼び出し状態208の途中で受話器105が取り
上げられると、その事実はV−INプロセス1002に
よって検知され、取り上げ信号221がFSM1005
に伝達される。後者のプロセスは、取り上げ信号を受信
したことならびに呼び出し状態にあることを(+1!認
し、ロジ・ツク信号表608にインデックスする。FS
MI OO5はPOTに保存されたポンター308をア
クセスし、このポインターをインターブレフタ1006
に伝達するが、このインタープレフタは図3に示したと
おりトリプル308のためのコンパイルされたコードを
実行する。後者のトリプルは、5ENDブリミチブの実
行によって応答信号213を発信側顧客ユニットに伝達
し、そしてNEXTSTATEプリミチブを実行して状
態を通話状態205に変更する。
NEXTSTATEプリミチブの実行の結果、呼び出し
状態については離脱信号が発生され、通話状態について
はエンター信号が発生される。F S M2O2Sは該
離脱信号に反応じて、インタープレツタ1006にロジ
ック信号表615の306であるエントリーPOTで示
されたトリプルを実行させる。図3に示したトリプル3
06のコンパイルされたコードの実行の結果、図1の受
話器105から呼び出し音が取り除かれる。
FSM1005はエンター信号に反応じて、通話状態を
関連するロジック信号表621から629までをインデ
ックスし、エンターロジック信号表626についての3
20エントリーであるPOTの内容によって示されたト
リプルを特定する。このポインターはインタープレツタ
1006に送られ、該インタープレツタは図4のトリプ
ル320を実行する。後者のトリプルは、ENGAGE
ブリミチブの実行によって、発信側顧客ユニットと受信
側顧客ユニット102との間に音声通信路を設定する。
通話状態205の途中で顧客ユニッl−102が受話器
置き戻しとなると、その事実はV−IN1002プロセ
スによって検知され、置き戻し信号がFSM1005に
伝達される。後者は該置き戻し信号に反応じて、ロジッ
ク信号表628の322であるPOTる含まれるインタ
ープレツタ1006にそのポインターを特定・送達する
。後者のポインターは図4に示したように、トリプル3
22のコンパイルされたコードを示すにのコンパイルさ
れたコードの実行の結果、5ENDプリミチブが実行さ
れて、接続解除信号219が発信側顧客ユニットに送ら
れるとともに、NEXTSTATEプリミチブが実行さ
れて状態がアイドル状態201に変化する。
NEXTSTATEプリミチプの実行によって、通話状
態については離脱信号が発生され、アイドル状態201
についてはエンター信号が発生される。
FSM1005は離脱信号に反応してポインターを特定
し、それをロジック信号表627に含まれるインタープ
レツタ1006に送る。後者のポインターは図4に示し
たようにトリプル321のためのコンパイルされたコー
ドを示す。後者のコイパイルされたコードの実行の結果
、顧客ユニット102から発信側への音声通信路は破断
される。
アイドル状態に関連づけられたエンターロジック信号表
はないので、エンター信号の発生は何の効果もない。
起動と停止の効果を示すため、次の例を考えてみよう。
顧客ユニット102が通話状態にある時に、リアルタイ
ムの時計が午後5時であることを示したと仮定する。時
報発生プロセス1004は午後5時である事実に反応し
て時計信号をFSM1005に伝達する。後者のプロセ
スは時刻信号に反応じて、通話状態に関係する時刻ロジ
ック信号表625を特定する。後に図23および24で
詳細に説明するように、FSM1005はまずトリプル
506のコンパイルされたコードを示すポインターをイ
ンタープレツタ1006に送り、そしてインタープレツ
タ1006がトリプル506を処理した後で、FSMI
 005は該ポインターをトリプル507のロジック信
号表の625からインタープレツタ1006に実行のた
め送る。トリプル506についてのコンパイルされたコ
ードの前者の動作は、事態時刻(8時00分)が発生し
たかどうかを調べて時刻が午前8時00分であるかを確
認するのが目的である。ここの例では時刻が午後5時O
O分であるので、事態は一致せず、トリプル506の作
動定義は実行されない。
インタープレツタ1006は制御をF S M2O2S
に返却し、該FSMは図5に示したとおりトリプル50
7を示すロジック信号表625のエントリー507であ
るCFAに含まれたポインターをインタープレツタ10
06に送る。後者は該ポインターに反応じて、トリプル
507についてコンパイルされたコードの実行を開始す
る。図5に示したように、トリプル507のコンパイル
されたコードの最初の部分は、該トリプルの作動定義部
分の実行に先立って、事態が特定された時刻(17時O
O分)事態と一致しているかどうかを確認する。時刻が
午後5時50分、すなわち24時間表示では17時00
分であるので、そしてこの日が日曜日から金曜日−まで
の間であると仮定すれば、トリプル507のDEACT
IVATEプリミチブとPRINTプリミチブが実行さ
れる。DEACTIVATEプリミチブはCFスクリプ
トが停止されるべきことを示す停止信号をFSM100
5に送達させる。この時点では実際の停止は起こらない
FSM1005が停止後を受信すると、図5に示したよ
うにPF F S MはCFスクリプト500の一部で
あるトリプルをすべて除去するようにすべての状態を処
理する。このプロセスは図23から図28において詳細
に示した。本例においては、CFスクリプ)500は事
態定義が停止信号に反応するようなトリプルを一つも有
していないので、トリプルはFSM1005で単純に除
去されるだけであって、それによってCFスクリプトの
実際の停止が完了される。CFスクリプト500と関係
するトリプルの除去後では、アイドル状態、呼び出し状
態および通話状態のロジック信号表は図7に示したとお
りのトリプルへのポインターを含んでいる。例えば、ア
イドル状態についても、CF)リプルに関するレファレ
ンスが除去されてしまっているので、アイドル状態で原
生信号が受信された時にロジック信号表702で最初に
実行されるトリプルは発信人確認トリプルである。
フィーチャ間の序列が図6のロジック信号表にトリプル
のレファレンスを保存する方法を変更することによって
変更し得ることは、当業の者には明白だろう。例えば発
信人確認を転送に優先させようとするならば、ロジック
信号表でCDIトリプルを通話転送トリプルの上位に置
けばよい。例えば、原生ロジック信号表602において
、順番はCPI、504、CF、502、そしてPOT
303となる。同様に、原生ロジック信号表609と原
生ロジック信号621のエントリーも変更される。
図8のPODSスクリプトは、一つのスクリプトが自ら
の停止を制御する様子を詳細に示している。後者のスク
リプトはデータ・サービスを提供するのに使用される。
さらに、このPODSスクリプトは図1に示したシステ
ムのためのデータ・サービスの提供を説明している。P
 OT 、 PODS。
CPI、CFAそしてCFのスクリプトがコンパイルさ
れダウンロードされる場合、これらは図6に示したよう
なロジック信号表に、各々のスクリプト用のトリプルを
含んだロジック信号表がCFトリプルを最上位に、そし
てCFA)リプル、CPII−リプル、PODSトリプ
ル、最後にPOTトリプルを持つような形で挿入される
。PODSスクリプトが最初に起動されると、トリプル
801が起動後に反応して実行され、その結果、$ D
AT^変形と$ DEACTIVATE変数が「否」に
等しくセ・ノドされる。$DATA変数は現在、データ
通信が進行中であるかどうかを示し、$ DEACTI
VATE変数はアイドル状態に入った場合、スクリプト
がパージされるかどうかを示す。
PODSデータ通信の目的は、顧客のデータ端末から別
の顧客のデータ端末に複数のバケ・ノドから成るメソセ
ージを送信することを顧客に可能とさせることにある。
しかしながら、当業に精通した者には、このスクリプト
をある顧客ユニ・ノドのコンピュータから別の顧客ユニ
・7トのコンピュータへの移送とするように拡張させる
ことは明白であろう。顧客ユニットが別の顧客のデータ
端末へのデータ通信を一旦設定すれば、このデータ通信
は該顧客が“discornect”なる用語を入力し
てデータ通信を接続解除するまでオプションとして残り
続ける。
では、前述のデータ通信を提供する際の図8に示したP
ODSスクリプトのオペレーションを考察してみよう。
例えば顧客ユニット102を使用している顧客は、通信
しようとする相手方顧客ユニットを指定する一連の数字
をタイプすることによってまず通信を設定する。アイド
ル状態での数字のエントリーに反応じて、トリプル81
4が実行され、その結果$DATA変数が「是」と等し
くセットされ、そして$ 0RIGINATOR変数が
$THIS変数と等しくセットされる。次いでSEND
MESSAGEプリミチブも用いて、相手方への原生信
号が一つのメツセージ・ストリングの形で送られ、NE
XTSTATEプリミチブが用いられて出力パルス状態
に入る。
音声通信の設定の場合であれば、顧客はアイドル状態の
受話器を取り上げ、ダイアル状態に置かれる。音声通信
のためのダイアル状態では、顧客は一連の数字を入力し
、それによって音声通信路だけが設定される。すなわち
、データ通信の場合では相手方を指定する数字がアイド
ル状態の時に入力されるのに対して、音声通信の場合で
は該数字がダイアル状態の時に入力されるので、システ
ムはこれをもってデータ通信と音声通信を区別するので
ある。受信側はデータ通信の場合はメツセージの“原生
”ストリングの送信にSENDMESSAGEが使用さ
れるのに対して、音声通信の場合は原生信号223の送
信に5ENDプリミチブが使用されるので、これをもっ
てデータ通信の着信か音声通信の着信かを区別する。受
信側はこれらの事実をrcvmessageと原生事態
の起動から認識する。
さて出力パルス状態に入ると、顧客ユニット102は、
話し中信号、入力信号または呼び出しメツセージの受信
のいずれかに移り、その結果、それぞれ、アイドル状態
のエントリー、アイドル状態または可聴状態となる。ト
リプル817と813は、それぞれ話し中信号または入
力信号の発生時に実行される動作定義を示す。図3に示
したトリプル311は呼び出しメツセージ信号の受信時
に取られる動作を定義する。これが発生した時は、5E
XTSTATEプリミチプが実行されて、顧客ユニット
を可聴状態に移行させる。
可聴状態に入ると、トリプル816が実行されて、その
結果、相手方の注意を惹起したことを告げるメツセージ
が端末106にプリントアウトされる。可聴状態では、
顧客ユニットは“discounect”ストリングを
伴なった入力信号の発生、または相手方からの話し生信
号の受信によって、それぞれトリプル812または81
7が実行される結果、アイドル状態に移行することがで
きる。受信側顧客ユニットがデータ送信を受は付けると
、そのユニットは、5BNDブリミチブを用いて発信側
顧客ユニットにメツセージを送って応答メ・ノセージと
する。発信側ユニットで応答メ・ノセージが受信された
という事態に反応じて、図3のトリプル316が実行さ
れ、その結果、顧客ユニット102は通話状態に移行さ
れる。
通話状態に入ると、トリプル810が実行され、その結
果、特定の相手方顧客ユニ・ノドに接続ができたことを
示すメソセージがプリントアウトされ、そしてトリプル
810の動作定義を終了させるC0NTINUEブリミ
チブがあるので、制御は図4に示したようにPOTスク
リプトのトリプル320に移る。トリプル320の実行
は発信側と受信側の顧客ユニットの間にデータ路に加え
て音声路を設定させる。通信状態はトリプル811また
は812の実行によって脱出できる。これらトリプルの
いずれも発信側顧客ユニットを通話状態からアイドル状
態に移行させる。音声路は図4に示したようにトリプル
321で除去されるが、これは通話状態の離脱事態に反
応してDISENGAGEブリミチブを実行する。
データ通話の設定を受信側顧客ユニ・ノドの観点から考
察してみよう。1つの原生ストリングを持ったrevm
essage事態が発生すると、受信側顧客ユニットが
アイドル状態にあると仮定すればトリプル806が実行
される。そうでなければトリプル805が実行され、話
し生信号が発信側顧客ユニットに返送される。トリプル
806の動作定義は5ENDプリミチブを用いて呼び出
し信号を発信側顧客ユニットに送信して、受信側顧客ユ
ニットが呼び出し状態に入りつつあることを伝え、$D
ATA、 $0RIGINATOR,5OTI(ERP
ARTY変数を初期化する。
呼び出し状態に入ると、トリプル807が受信側顧客ユ
ニット内で実行され、通信先を示すメ・ノセージが当該
の端末にプリントアウトされる。もし発信側が通話設定
を接続解消信号の指示によって終了させると状態はアイ
ドル状態に変えることが可能であり、その結果トリプル
808が実行される。受信側顧客ユニットの顧客は、“
connect″なる用語の入力事態を発生させること
によって通話を設定することが可能であり、その結果、
トリプル809が実行され、動作定義は発信側顧客ユニ
ットに応答信号を送信し、状態は通話状態となる。通話
状態に入ると、トリプル810が図9に示したように実
行され、それに加えてトリプル320が図4に示したよ
うに実行されてデータ路に加えて音声路が設定される。
受信側顧客ユニットにおける通話状態の終了は、発信側
顧客ユニットの観点から先に述べた方法と同様に行なわ
れる。
では、図1の端末106のような端末からPQDSスク
リプトを停止させようとすることを規定したDEACT
IVE命令が実行された後で、図8に示したようなPO
DSスクリプトがその停止を遅らせる様子を詳細に考察
してみよう。この遅れはデータ通信を完了させるための
ものであって、進行中のデータ通信が現在ある場合にの
み停止を遅らせることが必要である。従って、状態はア
イドル状態ではない。停止事態が発生し、状態がアイド
ル状態ではないので、トリプル802が実行され、その
結果、$ DEACTIVATE変数は「是」と等しク
セソトされ、次いで5TOPプリミチブが実行される。
後に図23および24で述べるように、一つのスクリプ
トがFSM1005に対して5TOPプリミチブの実行
により自らの停止を扱うよう指示する。データ通信が一
旦完了し、かつ状態がアイドル状態に移行されると、ト
リプル803が実行される。$ DEACTIVATE
変数カI是J T:アル0)T:、’tf”ステートメ
ントの“then″部分が実行され、その結果として図
6および7に示したようにロジック信号表からPODS
スクリプトを除去するPURGEプリミチブが実行され
る。
ある与えられた信号に反応してどのトリプルが実行され
るかを特定するフィーチャプロセス1000に用いられ
るデータ構造を図11.12および13に示した。後者
の図は図6および7に表わされたロジック信号表の詳細
な実施を示す。
図10に示した有限状態マシンFSM1005がプロセ
ス1001から1004までのうちのいずれか一つから
の信号を受は取ると、F S M2O2Sは場所110
1に保存されている現在状態インデックスならびに11
02に保存されている状態ポインターを利用して、パス
1103を通じた状態表1104の場所を決定する。状
態表1104のある一つの場所に保存された値は、パス
1105を通じたF S M Signalの表111
0、FSMSignal P T Rの場所1107、
およびパス1108の場所を間接的に示すポインターで
ある。状態表1104は有り得る顧客ユニットの各状態
のための間接的なポインターを含んでいる。同様に、有
り得る各状態について1107から1120までにはF
 S M Signal P T Rポインターが11
06に一つずつある。一つのF S M Signal
 表へノ各エントリーは該表と関係した状態で起生しう
る信号用の事態定義と関係づけられている。例えば、F
SM1005が一旦F 3 M Signa1表111
0にインデックスすると、FSM1005は該信号番号
を利用して処理する信号を特定し、それを後者の表の中
の正しい場所にインデックスする。
F S M Signa1表1110中にインデックス
された場所は、パス1111、トリプルリスト1113
およびパス1114を通じてProgram I D表
1116を間接的に示す。1113のようなトリプルリ
ストはF S M Signal場所とも言われる。F
SMSigna1表1109から1110までと112
1で表わされる状態のいずれでも反応し得る信号の個々
について、F S M Signal場所1112から
1113までのものが存在する。
Program表1116は図1116示されている。
1116のようなProgram r D表はFSM1
005が処理中であるとの信号に反応し得るすべてのト
リプルに対するレファレンスを含んでおり、また図6お
よび7の該当ロジック表に含まれるすべてのトリプルに
対するレファレンスを含んでいる。
FSM1005が該信号を完全に処理するには、Pro
gram  I D表1116のような表のエントリー
と関係しているトリプルを個々に実行するか、もしくは
該トリプルのうちの一つが5TOPプリミチブを実行す
るまで実行することが必要である。
表1116中のエントリーで表わされるすべてのトリプ
ルを処理するため、FSM1005は現状インデックス
変数を維持し、これらエントリーを最後に起動されたト
リプルから処理を開始する。
表1116の各エントリーは1201のようなスクリプ
ト表へのインデックスおよび1208のようなトリプル
表へのインデックスから成っている。
スクリプト表1201はスクリプト変数によって示され
た表1201の下部からのインデックスであるパス12
02を通じてポイントされる。スクリプト表1201中
の特定された場所はパス1203を通じてスクリプト・
リスト1206をポイントする。
スクリプト・リスト1206で特定された情報の処理を
開始するに先立って、FSM1005はスクリプト表1
201中の特定されたポインターをCURRENTSC
RIPT変数に保存する。スクリプト・リスト1205
から1207まではトリプルが共通しているある特定の
スクリプトに関するすべての情報をすべて含んでいる。
図14に示したように、スクリプト・リスト1206の
内部では、ネーム1220と表わられたメモリー場所が
スクリプトのネームを含んでいる。numLitera
ls 1221と定められた場所は本スクリプト中のす
べてのトリプルで使用される異なったリテラルの数を含
んでいる。リテラル1222と定められたエリアは二つ
の部分から成る。第1の部分は、エリア1222の第2
の部分に含まれる実際のリテラル・ストリングを指定す
るリテラル論議指示のリテラルIDフィールドによって
インデックスされるポインターの表である。この第2の
部分は該リテラル・ストリングより成る。numVan
ables  1223と指定されたエリアは、本スク
リプト中のすべてのトリプルによって使用される異なっ
た変数の数を含んでいる。エリア指定された変数122
4は、変数論議指示のIDフィールドでインデックスさ
れるストリング変数としての変数ネームより成る。変数
1224はシステムの最初のダウンロード時に使用され
る。エリア1ntoToExt  1225はトリプル
の変数論議指示の変数IDフィールドでインデックスさ
れるポインターの表であり、変数値の全体表へのインデ
ックスを含んでいる。エリア指定されたnumTrip
les 1226は変数1227でポイントされるトリ
プル・アレー1208に含まれるトリプルの総数を定義
する。変数1d1228はスクリプトアレー1201に
インデックスするのに用いられるインデックスを保存す
る目的に使用される。変数1229は該スクリプトが現
在起動しているか否かを指定する。最後に、変数指定さ
れたdeletescript  1230は、あるス
クリプトをメモリーから完全に除去する時に使用される
図12または14のスクリプト・リスト1206中のト
リプル1227はトリプル表1208へのポインターを
含んでいる。後者の表は、スクリプトのトリプルについ
てのコンパイルされたコードを間接的にポイントするポ
インターを含んでいる。
トリプル表1208はパス1204を通じてProgr
am  I D表1116からトリプル・フィールドを
使用するためにインデックスされる。パス1204によ
ってトリプル表1208へインデックスされる場所は一
連のメモリー場所を含む1−リプル1210をポイント
するが、このメモリー場所は該トリプルの実際のコード
化された実施内部の様々な情報をポイントする。トリプ
ル表1208の各エントリーについてトリプルのコード
化された実施が一つ存在し、またトリプノI/′120
9から1221までのような対応トリプルが存在する。
トリプル1210でポイントされたコンパイルされたト
リプル・コードが一旦実行されると、図10に示したイ
ンタープレツタ1006はもう1度制御をFSM100
5に戻す。後者はProgramID表1116の次の
場所にインデックスし、次のトリプルの新しいコードが
トリプル1209から1211までのでのいずれか一つ
によって特定されるまで、前述のものと同様のパスによ
ってインデックスし、次いでFSM1005は再び制f
fUをインタープレツタ1006に戻す。このプロセス
はProgram  I D表111’6中のすべての
トリプルが実行されるまで、もしくはトリプルの一つが
5TOPプリミチブを実行するまで継続する。
トリプルのコンパイルされたコード・フォーマットは図
15に示されており、数字コーど(ASCII)を用い
てコード化されている。場所1500はこのコンパイル
されたコードのバイト数を完成する。
トリプルの状態定義の中での特定された状態の数(すな
わち、該トリプルが適用される状態の数)は場所150
1に保存されており、これらの状態の数字■Dは場所1
503に配置されている。同様に、ネーム化された事態
のIDは場所1504に保存されている。ソース・コー
ド・トリプルの事態定義の中で特定された事態の一つ一
つについて、一つのコンパイルされたトリプルが存在す
る。
1501から1504までに保存された情報は、スクリ
プトの起動の際に使用される。コンパイルされたコード
の指示部分または動作は場所1505と1506に含ま
れている。エリア1505は通常二つの異なる部分から
成る。事態定義中に特定された事態パラメータがなけれ
ば、次に示すとおり第2部分しかない。
エリア1505の第1の部分は、信号発生によってコン
パイルされたトリプル・コードへ移されようとする値を
回復する目的および該トリプルの事態定数が完全に満足
されたかどうかを判定して以降の部分が実行されるべき
かをどうかを判定する目的に使用される。エリア150
5の第2の部分はブリミチブと指示を含んでいる。場所
1506はHA L Tプリミチブを含んでおり、これ
はそれまでのエリア1505の実行において5TOPか
C0NTINUEが出てきていなければインタープレツ
タ1006に制御をFSM1005へ戻される。プリミ
チブは指定された動作を実行するためのC++機能のサ
ブルーチン通話である。
エリア1505内のコードの一般的シーケンスは論議コ
ードおよびそれに続く指示コー、トまたはプリミチブ通
話であってそれまでの論議を利用するものから成ってい
る。この論議ならびに指示とプリミチブという通常のフ
ローの例外は図17と18に示した。図17はアサイン
メント指示を示すが、その場合は指図が最初に来て、次
にアサインメントを受けるための変数の内部的認識コー
ドが続く。図18はSENDMESSAGE指示を示す
が、この指示は指示の第2のフィールドで指示された送
信されるべきパラメータについて任意の数を有すること
ができる。
−C的に、論議コードはリテラル、変数、ブランチ・ツ
ー・アイドル論議もしくは信号論議という分類に属する
。図19と20は、リテラルまたは変数ならびに信号論
議のためのこれらの指示のフォーマットをそれぞれ示す
。これら論議の一つがインタープレツタ1006と出会
うと、それはIDとラベルされた内部的認識コードを取
り、そのIDを用いた実際の値へのポインターを表への
インデックスとして獲得し、該ポインターをインタープ
レツタのスタックの上に押し上げる。該論議を用いた主
旨示またはブリミチブが実行されると、それは該スタッ
クをポツプしてポインターを獲得し、該ポインターを利
用して実際の値をパスする。
信号の試験および関連値の回収は以下の方法によって行
なわれる。トリプルの事態パラメータは該トリプルの実
行時に情報をコンパイルされたトリプルに転送すること
ができる。この情報はある変数について検索された一つ
の値であっても良いし、または複数の値、例えば“入力
”事態であっても良い。FSM1005は5IGNAL
−ARGアレーの事態パラメータ・コードにパスされな
ければならない値はどんなものでも保存する。トリプル
のためのコンパイルされたコードの最初の指示がこれら
の値を検索する。「入力($ 5OURCE) Jのよ
うな事態定義については、値回収コードは単に5IGN
AL−ARGアレーの第1の場所をアクセスしてそこに
保存された値を獲得し、$ 5OUl?CE変数を検索
値と等しくセットする。「入力」のような事態の場合に
は、端末から受信された第1の入力ストリングを回収し
、次いで該ストリングをリテラル表のコンパイルされた
トリプルからの保存データと比較して該入力事態がトリ
プルの定義したものと正確に一致しているかどうかを判
定することが必要である。もし入力事態のリテラル情報
がコンパイルされたトリプルからの保存されたものと一
敗しない時は、制御がFSM1005に戻されて次のト
リプルが実行される。端末から受信された最初の入力ス
トリングが入力事態定義の最初の議論と一致すれば、該
トリプルの残りのコードが実行される。rcvmess
agl事態、返答事態および時刻事態も入力事態と同様
の方法で機能する。さらに、入力事態、rcvmess
agl事態および返答事態は変数論議の変数を持つこと
もできるが、その値はトリプル実行時の位置対応によっ
て5IGNAL−^RGアレーから獲得されなくてはな
らず、適切な変数場所に保存されなくてはならない。値
が回収された後は、トリプル・コードの残りが実行され
る。
ブランチ指示のフォーマットは図21に示した。
条件ブランチの場合は、インタープレツタがスタックか
ら試験値をポツプしてブランチがあるかないかを判断す
る。表■、■および■はそれぞれ事態コード、状態コー
ドおよび指示コードの十進法数字コードを示す。
表−一」− 事 態          コード 原生             0 接続解除           1 受話器取り上げ        2 受話器置き戻し        3 桁番号            4 呼び出し           5 応答             6 話し中           7 照会             8 アイドル             9非アイドル  
         10rcvmessaze    
        11入力             
12 返答             13 警報             14 時刻             15 未−一−1続き 事 態         コード 起動             16 停止             17 エンター            18離脱     
        19 表−一」− 状 態          コード アイドル            O 呼び出し           1 通話             2 接続解除           3 ダイアル           4 話し中            5 可聴              6 出力パルス          7 表−一」− 指 示 コード プリミチブ Mnemonic  コ
ードHLT   OALARM     ALM   
21BRU   I   CANCEL     CA
N   22BRC2APPLY     APP  
 23LAR3REMOVE     RMV   2
4VAR45END      SND   25S 
A R,5SE)JDMESSAGE  S N M 
  26BAR6PRINT     PRI   2
7EQL    ’7     DIAL      
     DIA     28NEQ      8
      FOR誓八Rへ         FWD
      29GRT   9   ASK    
  ASK   30L S S   10   AC
TIVATE    A CT   31G E Q 
  11   DEACTIVATE   D E A
   32LEQ   12   ASSIGN   
  ASN   33ADD   13   ENGA
GE     ENG   34S U B   14
   DISENGAGE   D I S   35
M U L   15   NEXTSTATE   
N X T   36DIV   16   PURG
E     PRG   37N E G   17 
  C0NTINUE    CON   38表−一
旦 続き 指 示 コード ブリミチブ Mnemonic  コ
ードAND   18  5TOP      STP
   390RR19 NOT   20 図22はトリプルのリテラルと変数コードがそれぞれ変
数とリテラル情報へのアクセスを獲得するのに使用され
る様子を示す。ローカルな変数表2201、図14にお
いてリテラル1225とも呼ばれるリテラル変数220
4およびリテラルのリスト2205は、図14のスクリ
プト・リスト1206のような関係するスクリプト・リ
スト内に維持されている。リテラルのリスト22o5は
コンパイルされたスクリプトの一部である。変数の場合
は、変数コードが使用されて図14においての1225
のような1ntoToExtとも呼ばれるローカルな変
数表2201がアクセスされ、該変数表からは全体の変
数表2202へのインデックスが得られる。全体の変数
表2202は一つの顧客ユニットの中では全スクリプト
に共通である。全体変数表2202からは変数の実際の
文字スI−IJング値を含んだ変数値2203へのポイ
ンターが得られる。同様に、リテラル・コードは、リテ
ラル値2205へのポインターが得られるリテラル表2
204  (1222)をアクセスするのに使用される
。関係するリスト中のすべてのリテラルと変数とは、各
情報の終了を指定する無効文字によって終了される。
システム・オペレーションのダウンロード段階において
は、プロンプト・ユーザー・プロセス1003内のコー
ドはコンピュータ101から受信されるデータに反応じ
て、それを図11.12および13に示した表に保存す
る。
図23と24はFSMI OO5の実行プログラムをフ
ローチャートの形式で示した。図23と詳細に述べられ
ている。図23および24に示したプログラムが−Hブ
ロック2301によって初期化されると、それはブロッ
ク2302から2315まで反復的に実行する。ブロッ
ク2313と2314は停止信号が受信されるとスクリ
プトの停止(すなわち、図11.12および13の表と
ポインターの修正)を実行し、ブロック2315は起動
信号が受信されるとスクリプトの起動を実行する。
ブロック2301はFSM1005の内部的なある種の
変数をまず初期化する。$THIS変数は顧客ユニット
の呼び出し番号と等しくセットされ、i−arg変数は
オペレーティング・システムの異なったメツセージと共
にバスされるパラメータを特定するポインターの表への
インデックスと等しくセットされる。これらのパラメー
タは該信号と関係する一切のストリング情報から成って
いる。
FSM1005がメツセージを受信すると、ipポイン
ターはオペレーティング・システムから処理されるべき
次のメツセージの場所と等しくセットされる。当業にお
いて良く知られているように、オペレーティング・シス
テムはどんな時点でものFSM1005による処理を得
つ複数のメソセージを有することができ、処理すべきメ
ツセージが存在する限りFSM1005の実行を起生ず
る。
ブロック2303は、オペレーティング・システムによ
って指定されたエリアに保存されたメツセージの型式を
ポイントするipポインターを用いて、メツセージ内の
メツセージ型式と等しいものにMGSTYPE変数をセ
ットする。ブロック2304は該M S G T Y 
P Eインデックスを利用して、それぞれの信号型式に
ついての数字認識を含んだ信号“#”表へのインデック
スを行なう。これらの十進法数値は表■に定義した。該
信号についての数字コードがブロック内2304で決定
されると、決定ブロック2305は該信号が起動信号で
あるか否かを判断する。該信号が起動信号であれば、ブ
ロック2315は実行される。ブロック2315の詳細
は図29.30および31において示した。
麦−IV 信 号          コード 原生             O 接続解除           1 受話器取り上げ        2 受話器置き戻し        3 桁番号            4 呼び出し           5 応答             6 話し中            7 照会             8 アイドル            9 非アイドル           10rcvmess
age            11入力      
        12返答             
13 警報             14 時刻             15 起動             16 停止            17 盗−m−M(続き) 信 号          コード エンター            18離脱     
        19 ブロツク2306は現在処理中の信号に対応する事態を
特定する目的ならびに該事態のためのネーム・ストリン
グを$ EVENT変数に保存する目的に利用される。
ブロック2307と2308はオペレーティング・シス
テムのメソセージのパラメータをアクセスし、これらの
パラメータをARGと呼ばれるアレーに保存する。
ブロック2309aは図11および12に示したバスを
実行してFS?l5IGNAL1113のように利用す
べきFSMSIGNAL構造を決定する。後者のブロッ
クは、状態表1104.1107のような一つのFSM
SIGNALPTR変数および1110のようなFSM
SIGNAL表を通じて変数1101と1102からの
ロジック・バスを実行する。ブロック2309bは現在
のインデックスをゼロにセットする。現在のインデック
スは1116のようなProgram I D表にイン
デックスするために使用される。加えて、ブロック23
09bは戻りコードをC0NTINtlEと等しくセッ
トする。コンパイルされたコードのインタープレツタの
間、あるトリプルのためのコードは戻りコードを5TO
Pに変更することがある。
加えて、ブロック2309aはTHISSIGNAL変
数を5IGNAL変数と等しくセットする。
1113のようなFSMSIGNAL構造へのエントリ
ーが一旦アクセスされると、該エントリーは1113の
ようなトリプル・リストを通じてProgram I 
D表をポイントする。ブロック2310と2311は次
いで指定されたProgram I D表中の特定され
たトリプルのすべてについてコンパイルされたコードの
実行に進む。この指定されたProgram I Dは
、顧客ユニットの現在の状態について、現在処理中の信
号に反応し得るすべてのトリプルを特定するポインター
を含む。
ブロック2311aは図12の1206のようなスクリ
プト構造を、1201のようなスクリプト表を通じたP
rogram I D表1116のエントリーのスクリ
プト部分を通じて特定するのに使用される。バス120
2に示されるような特定されたスクリプト表へのエント
リーは、現在処理中のトリプルに含まれるスクリプトを
決定する。スクリプト表中の特定されたエントリーはC
URRENTSCRIPT変数に保存される。ブロック
2311bは、次いで図12および13に図説的に示し
たバス1212、バス1204、トリプル表1208お
よびバス1215を通じて実行されるべきコンパイルさ
れたトリプル・コード1210を特定する。変数TPは
1210のような特定されたトリプルと等しくセットさ
れる。ブロック2311cは、次いで“EXECUTE
 ”接続を実行せしめるが、この機能は図34.35.
36そして37に詳細に示したインタープレツタ100
6を起動する。ブロック2311cは該インタープレツ
タ−に実行すべきコンパイルされたトリプル−コードへ
トリプル1210を通じてポイントするTP変数を送る
工亥インターブレツタは5TOPまたはC0NTINU
Eのいずれか一つである戻りコードの値を戻す。ブロッ
ク2311dは現状のインデックスを増加して、特定さ
れたProgram I D表1116中の次のトリプ
ルについてコンパイルされたコードが実行されるように
する。
ブロック2311が実行された後では、以下の条件のい
ずれかが「真」であれば、決定ブロック2310は制御
をブロック2312にバスする。
まず第1に、戻りコードが5TOPと等しいかどうか。
もしも戻りコードがC0NTINUEと等しければ、ブ
ロック2311が再実行される。しかし、もし戻りコー
ドから5TOPと等しければ、現在の信号の処理は停止
し、ブロック2312が実行される。検証される第2の
条件は現在のインデックスが特定Program I 
D表1116中のエントリー数より大きいかどうかであ
る。確認される最後の条件は、ブロック2311cでイ
ンターブレットされたばかりのトリプルがPURGES
CRIPT 10ルーチンを実行していたかどうかであ
る。後者のルーチンの実行は実行トリプルをProgr
am I Dから除去したばかりでなく、同じスクリプ
ト中の他の未実行も除去してしまった可能性がある。加
えて、この最後の条件は、もし最初に現在の状態で現在
の信号に反応できるトリプルがなければ満足される。も
し未実行のトリプルの結果、特定ProgramID表
の中に他のトリプルが何も残ってなければ、Progr
am I D表1116は除去され、1113のトリプ
ル・リスト・ポインターはNULLにセットされる。以
上3条件のいずれかが満足されると、ブロック2312
は実行されてARG表へのインデックスのための初期条
件がブロック2308の以降の実行のための正しい値に
セットされる。
ブロック2313と2314は停止信号の扱いを詳述し
ている。停止信号は停止すべきスクリプト内に対応した
停止事態を持つことができ、スクリプトは停止事態を利
用して該スクリプトの物理的停止またはパージングを後
刻まで遅らせることができる。この能力は、作業が任意
には終了させることができず、終了まで進まなくてはな
らないスクリプトに対して与えられる。かかるスクリブ
トは図8および9に示した。スクリプトはそのトリプル
の中で停止信号に反応する5TOPブリミチブを実行す
ることによって、その停止を後刻にまで延期する。決定
ブロック2313は5TOPプリミチブの実行を検知し
、スクリプトのパージングを実行するブロック2314
は実行しない。
ブロック2314はすべてのProgram I D表
のスクリプト内部に含まれるすべてのトリプルに対する
レファレンスを除去することによって、スクリプトのパ
ージングを実行する。
図24のブロック2314は図25に詳細に示した。P
URGESCRIPT ID手続きはその状態内のそれ
ぞれの状態と信号の間を循環して該状態で該信号に対応
するProgram I D表から削除されようとして
いるスクリプトと関係したトリプルをすべて除去する。
それはこれらのトリプルを除去するために、ブロック2
505においてレファレンスされたDELSCRIPT
機能を利用する。変数iとjは、それぞれ状態と信号へ
のインデックスの目的で使用される。まず、iがブロッ
ク2501によってゼロにセットされる。次に、THI
SSCRIPTの議論またはパラメータの内容によって
指定されたところによって削除しようとするスクリプト
と関係したトリプルがあるかどうかを判定するため、す
べての状態がチェックされる。決定ブロック2502は
iを変数F C−3TATESに含まれた状態の総数と
比較することによって、すべての状態がチェックされた
かどうかを判断する。iが状態の総数より少ない限り、
ブロック2503から2507までが実行される。ブロ
ック2503から2507までの各実行毎に、ブロック
2503はj変数をゼロと等しくセットする。決定ブロ
ック2504は、すべての信号が削除されるまで、DE
LSCRIPTi能の実行を制御する。
DELSCRIPT機能は停止しようとするスクリプト
と関係したすべてのトリプルを削除するProgram
ID表を特定するポインターをバスする。
DELSCRIPT機能は、続いて特定Program
 I Dのアレーのエントリーすべてを循環して、停止
されるスクリプトと関係したトリプルを除去する。この
i変数は図11の状態表1104の中をステップしてい
る。表1104の各エントリーについて、1110のよ
うな一つのFSM信号表が特定される。j変数は、特定
されたFSM信号表の各エントリーをステップ・スルー
して、各エントリーは1113のようなトリプルリスト
/FSM信号変数を通じてProgram I Dを特
定する。
図25のブロック2505のDELSCRIPT機能は
図26.27および28にフローチャートの形でより詳
細に示した。スクリプトと関係するトリプルは2段階で
削除される。もし段階ではブロック2604から260
9までがGOODTRIPLESに保存されたProg
ram r Dアレー1116内で特定された新しい数
のトリプルならびにNEWINDEXに保存された現在
のインデックス変数についての新しい値を決定する。現
在のスクリプトと信号に関係したトリプルの実際の除去
はブロック2611から2619までで実行される。こ
の手続きは仮のProgram I Dを創設し、古い
表からセーブすべきトリプルをすべて移送し、次いで仮
の表を新しいProgram I Dとして、それを1
113のようなTRIPLELIST変数の中で特定す
るというものである。
プロ・7り2601が実行されると、NE讐INDEX
変数はCURRENT INDEX変数と等しくセット
される。
このCURRENTINDEX変数は図24のブロック
2310から2311まで現在処理されているトリプル
のインデックスと等しい。変数GOODTRIPLES
はゼロに初期化される。図25のブロック2503から
2507までは各信号が各状態に対応した一つのPro
gram r D表を有していると仮定しているので、
処理中のある信号が本当にある状態についての一つの対
応Program I D表を有しているかどうか確認
する必要がある。この決定は決定ブロック2602によ
って実行される。図11に示したように、PSMSIG
NAL表は1112から1113までの一連のトリプル
・リストへのポインターを有している。
各FSMSIGNAL表の有り得る信号のそれぞれにつ
いて一つのエントリーが存在し、各エントリーには一つ
の対応するFSMS IGNAL構造/リストが存在す
る。ある一つの状態下である一つの信号に反応するトリ
プルがなければ、該信号についての該トリプル・リスト
は無効値を含んでいるのである。
PtlRGESCRIPTID機能が処理している現在
のFSl’1SIGNALにあるエントリーによって特
定されたトリプルリストが無効値を含んでいる場合は、
決定ブロック2602が制御をPURGESCI? I
PT機能に戻す。もしトリプル・リストが無効値を含ん
でいなければ、それは該信号が、この状態下での一組の
対応トリプルを有していることを意味し、制御はブロッ
ク2603に移る。
では、変数GOODTRIPLESに保存されている有
効トリプルの数がどのように決定されるか詳細に考察し
てみよう。決定ブロック2604は現在のProgra
m I D内に特定されたトリプルの数が最大値より大
きいかどうかを判断する。Program (Dのトリ
プルの最大数は図12に示したような1116のような
場所kに保存されている。もしiがトリプルの最大数よ
り小さければ、決定ブロック2605が実行されて、P
rogram I Dブロックへのエントリーが削除さ
れようとしているスクリプトと関係しているかどうかが
判断する。もしスクリプト・インデックスが、T)II
sscRIPT変数へのエントリーによって特定される
現在処理中のスクリプトと異なっていれば、ブロック2
609が実行され、それはGOODTRI PLES変
数を1だけ増加させる。もし1だけポイントされたトリ
プル・エントリーのスクリプトがTHISSCRIPT
変数と一致すれば、ブロック2606が実行されて、そ
れはi変数によってポイントされたProgram I
 D表へのエントリーを後でブロック2611から26
19までで処理する上で無効であると印す。
次いで制御は決定ブロック2607に移行される。後者
の決定ブロックは除去されるべきトリプルがProgr
am I D表において、現在実行中であって該DEL
S(ji IPT機能を実際に起動させた現在のトリプ
ルより下位にレファレンスされているかどうかを決定す
る。もし現在処理中のProgram I DがDEL
SCRIPT機能を実行させたトリプルのものであり、
かつiが実行されるトリプルをポイントする現在のイン
デックスより小さければ、ブロック2608が実行され
、それはNEWINDEX変数を1だけ減少させる。こ
れはNEWINDEX変数がブロック2601 )CU
RRENTINDEXと等しくセットされたからである
。NEWINDEX変数の内容はブロック2619にお
いて、現在のトリプルが解決を終了した後でもProg
ram I D表からの実行が継続するようにCURR
ENT INDEX変数を調整する目的に使用される。
Program I D表へのすべてのエントリーが保
持されるべきトリプルについてチェックが終わると、決
定ブロック2610が実行されて、残ったトリプルがな
いか、あるいはProgram r Dアレー中のすべ
てのトリプルがパージされるスクリプトと関係していた
かを判断する。もし後者の条件が「真」であればブロッ
ク2620が実行され、トリプル・リストは無効値と等
しくセットされて、現在の状態においては該信号に反応
するトリプルがないことを示す。次に、CURRENT
 INDEXもゼロにセットされて、将来制御がFSM
1005に戻された時に該Program I D表か
ら別のトリプルを実行しよとうする動きが生じないよう
になる。
もしパージされるスクリプトと関係していないトリプル
が存在する場合は、図28のブロック2611から26
19までが実行される。ブロック2611はポインター
TMPLISTをGOODTRIPLES変数に含まれ
た数と等しい数のエントリーを持った新しい表と等しく
セットする。次にブロック2613から2617までは
Program l D内をインデックスして、無効の
印しがないエントリーを探す。無効と印されていないエ
ントリーはすべてブロック2615と2616によって
新しいアレー表に移送されるが、これらのブロックはそ
れぞれスクリプトとトリプルの認識を挿入する。
Program I Dのエントリーがすべてチェック
された後、制御は2618に移行されるが、それはFS
MSIGNAL表からのトリプル ーをTMPL.IST変数と等しくセットする。これは
新しいアレー表を、1113のような指定されたFSM
SIGNAL表によってポイントされるProgram
 IDにする効果がある。次にブロック2619はPr
ogram I D表でkの場所に保存されているトリ
プルの数をGOODTRIPLES変数に含まれた数と
等しくセットする。そし7 CURRENTINDEX
をNEWINDEX変数と等しくセットする。
図23のブロック2315によって定義される起動信号
に反応してFSM1005が実行するオペレーションは
、図29.30および31のブロック2906から29
11までおよびブロック2917から2923までに詳
細に示した。ブロック2901から2905まではAC
TIVATEプリミチブの詳細を示す。ブロック290
1から2905までの目的は、起動されるべきスクリプ
トのコードを決定し、そしてその数字コードに含まれる
オペレーティング・システム・メツセージをパラメータ
としてプロセス制御1000に送ることにある。プロセ
ス制御1000はこのメツセージを受信するとFSM1
005を起動させる。
FSMI OOOが起動されて信号が起動信号であると
決定すると、制御は決定ブロック2305からブロック
2906に移る。後者のブロックはオペレーティング・
システムによってパスされたメツセージ中のパラメータ
のリストからスクリプト・コードを得ることによって、
iをスクリプト・コードに初期化する。決定ブロック2
907はスクリプト・コードが有効であることを判断し
、そうであれば制御を決定ブロック2908に移す。
後者の決定ブロックは、まず変数iをスクリプト表への
インデックスとして用いてスクリプト表1201から一
つのポインターを獲得することにより、1206のよう
なスクリプト構造または場所の中で現在のスクリプトが
既に「生き」とマークされているかどうかを決定する。
ブロック2908は、続いて1206 (7) ACT
IVE変数1229の値をチェックする。もし現在の状
態が「死に」とマークされていれば、ブロック2909
が実行される。
コード2909から2911までおよびブロック291
7から2923までの目的は、ProgramIDの表
に起動されようとするスクリプトのトリプルに対するレ
ファレンスを挿入することにある。
これらのレファレンスは、起動されようとするスクリプ
トの各トリプルの状態定義および事態定義によって指定
された状態および信号に対応するProgram I 
D表に挿入されるだけである。
図12に見られるように、スクリプト表1201のアド
レスは既知であり、数字のコードによるスクリプトの関
係は表1201へのインデックスに使用可能である。後
者の表の情報は、例えばパス1203、スクリプト12
06、パス1212および1214、トリプル表120
8、パス1215そしてトリプル1210のような処理
によって、スクリプトのトリプルを特定する目的に使用
される。トリプルが特定されると、ブロック2918に
示したコードはコンパイルされたトリプル・コード自身
の内部でコード化された状態情報および信号情報を用い
て、どのProgram I D表がトリプルへのレフ
ァレンスを受けなくてはならないかを決定することがで
きる。
ブロック2909では、THISポインターが変数iで
インデックスされたスクリプト表に01の内容と等しく
セットされ、次いでスクリプト1206のための変数に
ポイントするために使用される。このTHISポインタ
ーは1229のようなACTIVE変数をTRUEにセ
ットするのにも用いられる。変数tはスクリプト・リス
トに保存されているNtlMTRIPLES変数に含ま
れる数より1だけ少ない数と等しくセットされる。TH
ISSCRIPT変数は変数iの内容と等しくセットさ
れる。tをこのようにセットする理由は、スクリプトの
第1のトリプルが最上位の優先順位を持っている必要が
あり、従ってそれはどんなProgram I D表で
あっても最後に押し上げられるべきものであるからであ
る。
ポインターTPは1210のようなトリプルをポイント
する。図13に示したように、該トリプルは、トリプル
・リストと関係あるトリプルがその状態定義および事態
定義の中で有している状態と信号の数を特定するような
ポインターを含んでいる。この情報は決定ブロック29
17および2919ならびにブロック2918で使用さ
れて、コンパイルされたコードにいくつの状態が存在し
ているかを判断する。ブロック2917から2923ま
でに示したプログラムは、各トリプルについてコンパイ
ルされたコードを取り上げ、そのコードに、コンパイル
されたトリプル自身のコード化された状態および信号に
よって指定されたProgramIDへのブロック29
20のPUSHTRIPLE機能を利用してレファレン
スを挿入する。変数iは該トリプルの状態定義内で特定
された状態へインデックスするために用いられる。この
プロセスの詳細はPUSHTRIPLE機能を示す図3
2および33に示した。
ある一つのコンパイルされたトリプルについてすべての
状態が処理された後、ブロック2913が実行され、L
は1だけ増加され、そして実行はブロック2910およ
び2911にパスされる。
このプロセスの結果、1208のようなトリプル表はシ
ーケンス的にインデックスされ、そしてトリプル表の場
所によって間接的にポイントされたコンパイルされたト
リプルは必要なProgram I D表に正しく特定
される。該トリプル表のエントリーがすべて処理される
と、決定ブロック2910は制御をブロック2912に
パスする。ブロック2912は図23および24のブロ
ック2306から2314までに示されたものと類似し
たコードを実行する。これによって、起動信号は起動事
態を含む細菌起動されたスクリプトのいずれかのトリプ
ルによっても処理することが可能になる。
起動信号が処理された後では、iはゼロに再初期化され
、ブロック2014から2916までは図26.27お
よび28で記述したDELSCRIPT機能を利用して
、Program I D表から該スクリプトについて
事態が「起動」となっているトリプルへのレファレンス
をすべて除去する。該スクリプトについて事態が起動で
あるトリプルをすべて除去することの目的は、起動事態
は各スクリプトにつき1度だけ発生すべきであるので、
後での起動信号がこれらのトリプルに何らかの作動を実
行させないようにすることである。
このPtlSHTRIPLE機能は図32および33に
詳細に示した。PUSHTRIPLE機能が呼び出され
た時は、二つの条件が存在し得る。第1の条件はトリプ
ルを配置しようとするProgram I D表が既に
存在していることであり、第2の条件はかかるProg
ram I D表が存在していないことである。いずれ
の条件が存在しているかは、決定ブロック3201が1
113のような指定されたトリプル・リストの場所が無
効値でないか、すなわちProgram I D表が存
在していないことを示していないかをチェックして決定
する。Program I D表が存在していれば、ブ
ロック32o2が実行され、そして一つの新しいアレー
が創設されてその新しいアレーの場所を特定するTMP
LISTポインターがセントされる。続いてブロック3
203が実行されて、この新しいアレーの最初のエント
リーにスクリプト認識とトリプル認識を挿入し、それに
よってこの新しいアレーの中でコンパイルされたトリプ
ル・コードを特定する。ブロック3204は変数iの初
期値を設定する。
ブロック3205から3207まではスクリプトとトリ
プルの認識情報をもとのProgram I D表から
新しいアレー表にコピーする。ブロック3206はスク
リプト認識情報をコピーし、ブロック3207はトリプ
ル認識情報をコピーする。Program I D表の
内容が新しいアレー表に完全にコピーされると、ブロッ
ク3208が実行されてTMPLISTポインターに含
まれているポインターを1113のようなトリプル・リ
ストの場所に挿入し、それによって新しいアレーを11
10のようなFSMSIGNALへのエントリーによっ
てポイントされるProgramIDにする。加えて、
ブロック3208は新しいProgram I Dで特
定された数のトリプルをProgramIDの中でkと
指定された場所に挿入する。
図34.35.36および37は図10のインタープレ
フタのフローチャートを示す。コントロールがまずFS
MI 005からインタープレツタ1006にパスされ
ると、インタープレνり1006はRETURNCOD
E変数をUNDEFINEDと等しくセットし、ブロッ
ク3401の実行によってインタープレットされるべき
最初の指示の場所を獲得する。
これらの初期的機能を実行した後、インタープレツタ1
006はブロック3402ならびに3405から343
4までを、HALT、 5TOPまたはC0NTINU
E指示に出会うまで連続的に実行する。HALT、 5
TOPまたはC0NTINUE指示に一旦出会うと、R
ETURNCODEは5TOPまたはC0NTINUE
  (後者はHALT↑旨示とC0NTINUE指示の
両方について)にセットされ、ブロック3403と34
04が実行され、制御はRETURNCODEの値とと
もにFSM1005に戻される。先に見たように、HA
LT、 5TOPまたはC0NTINUEの指示はRE
TURNCODE変数を再設定することによりコード化
された指示の実行を終了させ、制御が図10のFSM1
005る戻るようにする。
RETURNCODEが口NDEFINEDと等しいま
まである場合は、決定ブロック3405が実行されて、
次に実行される指示が無条件のブランチ指示であるかど
うかを判断する。もし無条件ブランチ指示が存在する場
合は、インタープレツタのスタックがポツプされ、ポツ
プされた値がPC変数に保存される結果、該インタープ
レ・フタは該ポツプ値で決定されたコード中の新しい部
位へブランチする。
ポツプされたアドレスは元来決定ブロック3417で検
知される一つのブランチ論議指示によってスタックに押
し込まれたものである。次に、ブロック3418は図2
1に示したようなジャツブ・インデックスを獲得し、こ
のインデックスをコードの第1指示アドレスの場所に追
加して、その結果をスタックに押し上げる。
条件つきブランチ指示の実行をブロック3406から3
410までに示す。条件つきブランチの実行に先立って
は、ブランチ8m 議指示が実行されて、ブランチが発
生すべき場所へのインデックスがスタックに配置されて
いるであろう。条件つきブランチ指示が決定ブロック3
406によって検出されると、制御はポツプされたブラ
ンチのアドレス・インデックスを“P”と指定されたロ
ーカルな変数に保存するブロック3407に移される。
次に、決定ブロック3408はスタックから、ブロック
3419および3420および3425.3426.3
427、および3428で示したような比較の結果およ
び/または比較指示の実行によってスタック上に配置さ
れたロジック・オペレーションの結果および/またはロ
ジック・オペレーター指示の結果を含むTEMP変数の
アドレスをポツプする。もし比較および/またはロジッ
ク・オペレーションの結果が「真」 (非ゼロ)であれ
ば、ブロック3409が実行されて、該ブランチをブロ
ック3438で実行されるのと同様の方法でコード中の
指定された場所に生じせしめる。
もしこの比較および/またはロジック・オペレーション
の結果が「否」 (ゼロ)であれば、ブロック3410
が実行されて、コンパイルされたコードの次の指示が実
行される。
もしリテラル議論指示に出会うと、決定ブロック341
1は制御をブロック3412に移す。後者のブロックは
、図19にそのフォーマットを示した指示からリテラル
rDフィールドを獲得する。
このリテラルIDは、図12のスクリプト・リスト12
06のようなスクリプト・リストにその両方が含まれて
いるようなリテラル・ストリングのリストに対するポイ
ンターを含むリテラル表をアクセスするのに用いられる
。このポインターが獲得されると、それはインタープレ
ツタのスタックに押し上げられる。同様に、もし変数議
論指示に出会うと、決定ブロック3413は制御をブロ
ック3414に移す。ブロック3414は3412と同
様に機能するが、IDフィールドは全体の変数表へのポ
インターを獲得するため一つのローカルな変数表へイン
デックスする目的で使用される点が異なる。この全体変
数表へのポインターはブロック3414によってスタッ
クに押し上げられる。また、ブロック3415と341
6は、全体的なベースで維持されている信号論議のリス
トから信号論議へのポインターを獲得するという点でブ
ロック3411および3412と同様に機能する。
ブロック3419と3420は、まず比較すべき二つの
値をスタックからポツプし、次にその比較結果を仮の変
数に保存することによって、様々な比較オペレーション
を実行する機能を果たす。
この仮変数へのポインターは、続いてブロック3420
によってスタックへ押し上げられる。比較のための機能
として用意されているのは、等しい、等しくない、大き
い、少ない、大きい/等しい、および少ない/等しいで
ある。インタープレツタはブロック3403を実行した
時に自由となる仮の変数をい(つも使用して良いことに
留意されたい。
同様に、ブロック3421と3422は加減乗除の算術
的演算を実行する機能を果たす。ブロック3423と3
424は算術的指示に対して同様に機能するが2、ウナ
リー否定機能は一つの変数についてのみ実行される点が
異なる。また、ブロック3425および3426で示し
たようなロジックのopcode指示は、ブロック34
21および3422による算術的I旨示と同様に扱われ
る。同様に、NOT指示はNEGATE指示と同様に扱
われ、ブロック3427および3428に示されたとお
りである。
5ENDのようなプリミチブの実行はブロック3429
および3430によって示す。あるプリミチブが検出さ
れると、ブロック3430に示したオペレーションが実
行゛される。プリミチブのほとんどはパラメータが無い
か、あっても数が一定である。これらパラメータへのポ
インターはそれ以前の論議指示によってスタック上に配
置されており、単にスタックからポツプオフしてブリミ
チブ機能にパスするだけである。しかし、ASSIGN
とSENDMESSAGEという二つの型式のプリミチ
ブ指示は異なったフォーマットを有している。ASSI
GNプリミチブのフォーマットは図17に示された。こ
のASSIGN指示に出会うと、ブロック3430は指
示の第2フイールドをアクセスしてコンパイルされたコ
ード中の変数のTDを獲得し、その変数をスタックのト
ップの値と等しくセットする。
SENDMESSAGEのフォーマットは図18に示し
た。
まずSENDMESSAGE指示が発見され、次にブロ
ック3430が図18に示した指示の第2フイールドを
アクセスして、この指示によって常に黙示される二つの
パラメータに加えてバスされるべき任意のパラメータの
数を獲得する。ブロック3430はこの任意パラメータ
の数を用いて、さらにスタックからボフブすべき論議の
数を判断するのである。
HALTプリミチブとC0NTINUEブリミチブはプ
ロ・7り3431および3432によって実行される。
HALTまたはC0NTINUEが検出されると、制御
はブロック3432に移され、このブロックはRETU
RNCODEをC0NTINUEと等しくセットする。
同様に、決定ブロック3433によってSTOP指示が
検出されると、制御は3433に移され、それはRET
U[?NC0DEを5TOPと等しくセットする。
N[EXTSTATEプリミチブは図38にフローチャ
ートの形でより詳細に示した。NEXTSTATEプリ
ミチブを起生させると、ブロック3801はまず状態が
修正されようとしていることを確認し、もしそうであれ
ば、ブロック3802が実行される。後者のブロックは
$ EIIHNT変数を「離脱コストリングと等しくセ
ットし、図23および24のブロック2309から23
12までに示したものと同様のコードを実行する。その
結果、該離脱信号は通常の方法で処理される。これが達
成された後、ブロック3803が実行されて$ 5TA
TE変数をnflllWS ta te論議に含まれた
数字の状態コードについてのストリング・レプリゼンテ
ーションと等しいものに変数し、そしてCURRENT
変数1101を変更して新しい状態についてのエントリ
ーを状態表1104にインデックスする。最後に、ブロ
ック3804が実行され、それによって$ EVENT
変数は「エンターコストリングと等しいものにセット 
−され、図23および24のブロック2309から23
12までに示したのと同様のコードが実行される結果、
該エンター信号は新しい状態について処理される。
以上述べた具体的方法は本発明の原理を単に説明するだ
けのものであって、5業に精油したものは本発明の精神
と範囲を離れることなく他の組み立てを考案する可能性
があることが理解されるべきである。特に、コンピュー
タ101で実行される機能を既知のソフトウェア手法を
用いて各顧客の顧客ユニットのコンピュータに実行せし
めることは、5業に精通したものには明白であろう。さ
らに、図1に示した複数のコンピュータによって実行さ
れるすべての機能を、既知のソフトウェア手法を用いて
1台のコンピュータに実行せしめることも明白であろう
【図面の簡単な説明】
図1は、本発明の対象である電気通信システムをブロッ
ク・ダイアグラムの形で示した図である。 図2は、図1の電気通信システムの一つの顧客ユニット
の状態をステート・ダイアグラムの形で示した図である
。 図3と図4は、図1の電気通信システムのための基本的
な電話サービスを提供するための一つのプログラム・ス
クリプトをソース・コードの形で示した図である。 図5は、図1の電気通信システムにおいて電話伝送サー
ビスおよび発信人判定サービスで電話転送の起動停止サ
ービス付きのもののためのプログラム・スクリプトを示
した図である。 図6は、図1の電気通信システムにおいて電話転送、発
信人判定ならびに基本的電話サービスの実施に伴なう論
理的信号表を示した図である。 図7は、電話転送サービスが停止された時の図6の論理
的信号表を示した図である。 図8と第9は、図1の電気通信システムのためのデータ
・サービス提供用のプログラムを示した図である。 図10は、図1の顧客ユニットのコンピュータの制御に
おいて使用されるソフトウェア・プロセスとインタープ
ロセス通信をブロック・ダイアグラムの形で示した図で
ある。 図11、図12および図13は、図6および図7の論理
的信号表を実行するために使用されるソフトウェア構造
を示した図である。 図14は、図12のブロック12osjより詳細に示し
た図である。 図15は、図3に示したようなトリプルのためのソース
・コードのコンパイルにより生じた一つのコンパイルさ
れたトリプルのフォーマットを示した図である。 図16から図21までは、図15で使用される様々な指
示フォーマットを示した図である。 図22は、図15に示したようなコンパイルされたトリ
プルに含まれる情報をベースとして変数値およびリテラ
ル値をそれらが関係する表からアクセスする方法を詳細
に示した図である。 図23と図24は、図10のFSMI005プロセスを
フロー・チャートの形で示した図である。 図25は、図24のブロック2324をフロー・チャー
トの形で示した図である。 図26、図27及び図28は、図25のブロック250
5をより詳細に示した図である。 図29、図30及び図31は、図23のブロック231
5をより詳細に示して一つのプログラム・スクリプトの
起動をより詳細に示した図である。 図32と図33は、図31のブロック2920をより詳
細に示した図である。 図34から図37までは、図10のインタープレフタ−
1006をフロー・チャートの形で示した図である。 図38は、NEXTSTATEブリミチブをフロー・チ
ャートの形で示したものであり、特にリーブ信号とエン
ター信号の処理を示した図である。 図39は、図11、図12、図13がいかに有利に組合
せられるかを示した図である。 図40と41は図1の通信システムに関するデータサー
ビスを提供するプログラムスクリプトを示す図である。 く主要部分の符合の説明〉 コンピュータ・・・101 顧客ユニット・・・102.103 パ′ス・・・・・・・・・・・・・・・100FIC,
3 SCR工PT:  POT top  top  top continue ndif top continue nextstate  (idle) FIC,4 conLinue continue nextstate  (idleJ ndif continue stoρ FIG−8 SCRrPT:  PODS  top ndif top ndif continue FIC,9 end i f ndif end i f ndif FIC,15 FIG、16 0又はそれ以上のアーギュメントコードFIC,17 FIC,18 0又はそれ以上のアーギュメントコードFIG−19 FIC,4 continue FIG、41 else continue end i f ndif ndif else continue end i f 手続補正書(方式) 昭和62年 4月20日 特許庁長官 黒 1)明 雄  殿 1、事件の表示 昭和61年特許願第307592号 2、発明の名称 利用者プログラム可能即時応答システム3、補正をする
者 19件との関係  特許出願人 4、代理人 6、補正の対象 明細書と図面の浄書内容に変更なし く+)  別紙の通り浄書した明細書を1通提出致しま
す。 (2)  別紙の通り適正な図面を1通提出致します。

Claims (1)

  1. 【特許請求の範囲】 1、電気通信交換システムは多くのユーザーの境界部分
    の装置接続の際の音声、データ通信の手段として定義さ
    れている。一般的には多くの様様な状態を想定し多くの
    信号を発生させるシステムにおいて; 電気通信交換によって派生する様々な状況や多くの信号
    に直接的に反応しうることにより、最初のサービスを提
    供するためにある上記の電気交換通信システムの通信機
    能を制御するための第1のプログラムに反応する手段、 上記の第1番目のプログラムに対して、付加機能を追加
    するか、又は、従来の機能をさらに拡充するか、どちら
    か一方を行うための命令を編集する第2のプログラムに
    よって表わされる手段、 第1番目のプログラムを編集された原始コードによって
    更新を行うための第3番目のプログラムによって表わさ
    れる手段、及び 上記の第1番目のプログラムの更新された部分を活動状
    態にするためにある第4番目のプログラムによって表わ
    される手段からなるシステム。 2、特許請求の範囲第1項に記載の電気通信交換システ
    ムは、上記第1番目のプログラムの電気通信システムの
    即時制御機能に何ら影響を与えることなく機能拡充を行
    う命令文の定義を行う手段を含む。 3、特許請求の範囲第2項に記載の電気通信交換システ
    ムは、第1番目のプログラムを実行するための第1番目
    のプロセッサーより成る制御手段が含まれ、更に、既述
    の編集手段は第2番目のプログラムを実行するための第
    2番目のプロセッサーを含む。 4、特許請求の範囲第1項に記載の電気通信交換システ
    ムは多くの命令群により構成され、そして、各群は既に
    定義されているシステム状態、実行のための信号に対し
    て反応するものであるが、それらにより構成されている
    第4番目のプログラム、そして下記の様な手段をも、そ
    の中に含んでいる。既述の第1番目のプログラムの部分
    的な更新を可能ならしめる最初のシステム信号に反応す
    る第4番目のプログラムの最初の命令群によって表わさ
    る手段を含む。 5、特許請求の範囲第5項に記載の電気通信交換システ
    ムでは既述の制御手段が、更には5番目のプログラムに
    よって定義される手段から構成されており、その第5番
    目のプログラムとは、第2番目のシステム信号に反応し
    て第1番目のプログラムの更新部分を非活動状態にする
    ためのものである。 6、特許請求の範囲第5項に記載の電気通信交換システ
    ムには、第5番目のプログラムがあり、それは、多くの
    命令群により成り立っており、そして、その各々の群は
    既に定義されているシステム状態、信号により作用され
    ている。前述の非活動化手段は、下記の手段より構成さ
    れており、 前述の第1番目のプログラムの更新部分が非活動化され
    るべく命令を与える信号を発生させるための第2番目の
    システム信号に反応する第4番目のプログラムの命令群
    によって表わされる手段、更には、最初のプログラムの
    更新部分はさらには多くの命令群によって構成されてお
    り、その各々の命令群は既に定義されているシステム状
    態、信号、そして最初のプログラムの更新部分を無力化
    する為の非活動化信号に反応する要素によって作用され
    る。 7、特許請求の範囲第1項に記載の電気通信交換システ
    ムは、第1番目のプログラムは多くの命令群により構成
    されており、そして、各々の命令群は実行の為の既に定
    義されているシステム状態や信号に反応しており、なお
    、既述の制御手段は更には下記の様な手段により形成さ
    れており、 既存システムの現行状態から次なる状態への未だ実現さ
    れていない変換への信号を発生させるためのプログラム
    命令群により成る手段、そして現在の状況よりの離脱を
    可能ならしめる共通処理を行う為の信号や状況に反応す
    る第1番目のプログラムの命令群によって定義されてい
    る手段である。 8、特許請求の範囲第7項に記載の電気通信交換システ
    ムは、前述の実行手段が、更に細分化された手段により
    構成されており、それらの細分化された手段とは現行の
    信号や状態に反応する第1番目のプログラム、及び、そ
    の中の更新された部分に含まれている部分群を許容する
    第2の命令群によって表わされるものである。 9、特許請求の範囲第7項に記載の電気通信交換システ
    ムは、又、第1番目のプログラムの一連の命令群によっ
    て表わされる手段が含まれており、そして、その手段は
    現行システムから他のシステムに対して発せられる入力
    信号を生成しており、そして、その中の制御手段は更に
    は、他のシステムに認容可能とさせるための信号や動作
    状態に反応する第1番目のプログラムの第3命令群によ
    り構成されている。 10、特許請求の範囲第8項に記載の電気通信交換シス
    テムは入力命令の実行手段をも含んでおり、そして、そ
    れらの実行手段は、更に、第3番目の命令群、そしてそ
    れは入力信号や他のシステムに反応する第1番目のプロ
    グラム内の他の命令群を許容する第3番目の命令群より
    成り立っているが、その群より成っている。 11、複数の状態をとりそして複数の信号を発生してい
    る即時処理を制御するためのコンピュータシステムにお
    いて; 第1番目のプログラムに反応し、即時応答処理から発生
    する様々な状況や信号に直接的に反応する事により、ま
    ず第1のサービスを提供する為の電気通信交換システム
    の通信機能を制御する手段、 第1番目のプログラムに対し新機能を追加するか機能を
    拡充するか、どちらか一方を実現するための原始コード
    の編集を行う第2番目のプログラムによって表わされる
    手段、 上記の制御機能とは第1番目のプログラムを編集された
    原始コードの命令によって更新するための第3のプログ
    ラムより成る。 12、特許請求の範囲第11項に記載のシステムにおい
    て、新しい機能を付加する一連の命令によって表わされ
    る更新手段があり、そして、更新の際には現行の即時応
    答処理に何ら影響を与えることはない。 13、特許請求の範囲第11項に記載のシステムにおい
    て、制御機能は第1番目のプログラムを実行する最初の
    プロセッサーより成っており、そして、既存の編集手段
    は第2番目のプログラムを実行するためのプロセッサー
    より成っている。 14、特許請求の範囲第11項に記載のシステムは、様
    々な命令群より成る第3番目のプログラムがその中に含
    まれており、各々の命令群は既に定義されているシステ
    ム状態や信号に反応する。 又、非活動化手段は下記のものより成っている。 第3番目のプログラムからの命令群により定義される手
    段、その第3番目のプログラムとは第1番目のプログラ
    ムの更新部分を認容する為の信号に反応する様にできて
    いる。 15、特許請求の範囲第14項に記載のシステムには制
    御手段が存在し、それは第2番目のシステム信号に反応
    して第1番目のプログラムの更新部分を非活動化する為
    の第4番目のプログラムに定義される手段により成り立
    っている。 16、特許請求の範囲第15項に記載のシステムには第
    4番目のプログラムが存在しており、その第4番目のプ
    ログラムは様々な命令群により構成されており、各々の
    命令群は既に定義されているシステム状態や実行のため
    の信号に反応しており、 第4番目のプログラムの最初の命令群、そして、その第
    4番目のプログラムは、第1番目のプログラムの更新部
    分を非活動化状態に導くべき信号に反応するプログラム
    であるがその命令群が含まれており、 上記のプログラムの更新部分は更には、いくつもの命令
    群により構成されており、その各々の命令群は先に定義
    されたシステム状態や実行のための信号、そして第1番
    目のプログラムの更新部分を非活動化状態にする信号に
    反応するそのプログラムの更新部分の命令に反応する部
    分より成る。 17、特許請求の範囲第11項に記載のシステムは、第
    1番目のプログラムがあり、それは様々な命令群から成
    っており、各々の命令群は先に定義されたシステム状態
    、実行命令に反応し、又、制御手段は更には下記の様な
    手段により構成されており、 最初のプログラムの一連の命令によって定義される手段
    、そして、その最初のプログラムとは現行のシステムか
    ら他のシステムへのまだ実現されていない変換に対する
    信号を発するプログラムであり、そして、第1番目のプ
    ログラムの第2番目の命令群に定義される手段、そして
    、それは現行システムからの離脱を可能ならしめる共通
    の処理のための信号、現状等に反応する。 18、特許請求の範囲第16項に記載のシステムは、実
    行手段が含まれている。その実行手段とは第1番目のプ
    ログラム、及び、その中の活動領域の他の命令群が現状
    や信号に反応することを可能ならしめるための第1番目
    のプログラムの第2番目の命令群の1つより成り立って
    いる。 19、特許請求の範囲第17項に記載のシステムは、第
    1番目のプログラムの一連の命令群に定義される手段が
    あり、そして、それは現行のシステムから入力されつつ
    あって、他のシステムに対する入力信号を発生する手段
    によって成り、そして、上記の制御手段は、更には上記
    の第1番目のプログラムの第3番目の命令群によって成
    っており、そして、それは、他のシステムへの入力を可
    能ならしめる共通の処理を実行するための信号や状況に
    反応するものである。 20、特許請求の範囲第18項に記載のシステムには入
    口処理のための実行手段が含まれており、そして、それ
    は更には第3番目の命令群に定義される手段より成って
    おり、第3番目の命令群とは入場信号や他の状態に命令
    集団が反応することを容認させるためのものである。 21、プログラムを実行する制御コンピュータによって
    複数の状態をとりそして複数の信号を発生する即時処理
    を制御する方法において; 上記の制御コンピューターによって即時応答処理機能を
    制御しており、そして、その制御コンピューターは最初
    のプログラムに対して反応して即時応答処理からの様々
    な状態や信号に直接的に反応する事によって最初の機能
    を提供し、原始コード命令を第2番目のプログラムを実
    行しているコンピューターによって最初のプログラムに
    新しい機能を追加するか、機能を拡充するか、どららか
    一方を行うために編集し、最初のプログラムを編集され
    た原始コード命令によって最初のプログラムを更新して
    おり、その原始コード命令とは、第3番目のプログラム
    を実行する制御機能による新機能を定義しているもので
    、そして、最初のプログラムの更新部分を第4番目のプ
    ログラムを実行しているコンピューターによって活動化
    していることからなる方法。 22、特許請求の範囲第21項に記載の方法において、
    更新ステップが含まれており、そのステップは、更には
    追加命令のステップが含まれており、それは最初のプロ
    グラムに新しい機能を追加する事が可能であり、かつ、
    その機能追加の際の更新に際しては、即時処理機能にい
    かなる支障をも来たさないものである。 23、特許請求の範囲第22項に記載の方法において、
    制御コンピューターが含まれており、それは、第1、第
    2番目の実行手段と制御ステップより成り、さらにその
    プロセッサーは上記の第1番目のプロセッサーによって
    第1番目のプログラムを動かすステップより成っており
    、そして編集のステップは第2番目のプロセッサーによ
    って第2番目のプログラムを実行するステップより成っ
    ている。 24、多くのサービスを行なうために、原始コード入力
    装置や多くのシステム状態とシステム信号を持つ音声・
    データ通信システムを構築し、コントロールする方法に
    おいて; そのサービスは、個々の動作を実行し、定義済のシステ
    ム状態やシステム信号によりコントロールされている基
    本的な命令群の集合体によって、既述のサービスを行な
    うプログラムを実行する第1の処理プログラムや、非手
    続き型言語で書かれている原始コードの命令に対し、そ
    れをコンパイルするプログラムを実行する第2の処理プ
    ログラムによりコントロールされることで、定義済の音
    声・データサービスを行なっているのであり、 既述の命令を定義した状態や信号である現在のシステム
    状態やシステム信号をもとに、個々の動作を行なうため
    の基本的な命令群のそれぞれを実行する第1の処理プロ
    グラムによって、既述のシステムをコントロールしてお
    り、 追加サービスを定義する原始コードのプログラムを前述
    の入力装置から入力しており、 入力された原始コードをコンパイルし、コンパイラープ
    ログラムを実行する第2の処理プログラムにより、少な
    くとも1つの新しいサービスを追加したり、従来のサー
    ビスを修正するために、第1の処理プログラムをコント
    ロールする命令を追加しており、 追加された命令を、第2の処理プログラムから第1の処
    理プログラムへ移しており、 第1の処理プログラムにより、定義済の優先度のある関
    係において既述の追加された命令を用いて、基本的な命
    令を更新しており、そして前述の第1の処理プログラム
    で追加された命令を活性化させることからなる方法。 25、特許請求の範囲第24項に記載の方法の中におい
    て、第1の処理プログラムが含まれており、それは多く
    の制御構造を含み、以下のステップも含んでおり、 前述の定義済みの優先度のある関係に従って識別された
    システム状態やシステム信号に反応する命令群を多くの
    制御構造に個々に関係づけており、 現在のシステム状態やシステム信号の派生に応じて、既
    述の制御構造の1つを識別しており、前述の電気通信シ
    ステムにおいて、第1のサービスを行なうために、識別
    された制御構造によって関係づけられた最も高い優先権
    を持つ命令を実行しており、 前述の識別された制御構造によって基準づけされた2番
    目に高い優先権を持つ命令のうちの1つを実行すること
    により動かしており、 2番目に高い優先権を持つ命令のうちの1つを実行する
    ことにより、3番目に高い優先権を持つ命令を動かさな
    いことからなる方法。 26、特許請求の範囲第25項に記載の方法において、
    以下のようなステップがあり、 前述の第2の優先権を持つ命令を含むプログラム命令を
    非活性化し、そして 前述のシステム信号や非活性化さた第2の優先権を持つ
    命令を含むプログラム命令をもとに、電気通信システム
    において別のサービスを行なうために、識別された制御
    構造によって基準づけられた第3の優先権を持つ命令を
    実行している。 27、特許請求の範囲第26項に記載の方法において、
    非活性化のステップが含まれており、それは多くの制御
    構造から、第2の優先権を持つ命令を含んだものを構成
    している命令群に対する関係を取り除くことを含んでい
    る。 28、特許請求の範囲第26項に記載の方法において、
    前述のシステム状態のうちの1つに関係づけられている
    制御構造を含んでおり、その制御構造の中には制御構造
    のシステム状態に派生する前述のシステム信号のうちの
    1つと関係のある多くのテーブルを含んでおり、そして
    更新のステップには; 追加された命令を実行させるような状態や信号と一致す
    る前述のテーブルのうちの1つを決定し、そして 追加された命令の各々に対する基準を、決定されたテー
    ブルに記憶させることからなる。 29、特許請求の範囲第28項に記載の方法において、
    以下のようなステップを含む非活性化のステップがあり
    、 非活性化の信号を作り、 前述の非活性化の信号に対応する命令からなる制御構造
    に含まれている既述のテーブルのうち、別のものを探し
    出し、 第2の優先権を持つ命令を含んだものが、既述のシステ
    ム状態の別の部分においては非活性化されるべきである
    とする前述の処理プログラムの中に、可変的な信号を記
    憶させ、そして前述のテーブル内の他の部分に関する命
    令によって、非活性化させる信号の処理をやめ、そして
    、それによって第2の優先権を持つ命令と関係のある命
    令群を非活性化させることを抑制している。 30、特許請求の範囲第29項に記載の方法において、
    非活性化のステップが含まれており、それは以下のステ
    ップからなっており、 現在の状態から新しい状態へ既述のシステムの状態を変
    え、そして 前述の他のシステム状態に入ったり、前述の可変的な信
    号が存在することにより、第2の優先権を持つ命令を除
    去している。 31、特許請求の範囲第25項に記載の方法において、
    システム状態に関係のある制御構造を含んでおり、それ
    は制御構造のシステム状態に派生するシステム信号に関
    係する多くのテーブルも含んでおり、以下のステップが
    あり、 個々の命令の各々に対する状態やシステム信号と一致す
    るテーブルを決定し、そして 命令の基準を既述のテーブルの決定済みの部分へ記憶さ
    せること、そしてそのために、他の命令に関して前もっ
    て記憶されている基準すべてに対する関係において、決
    定がなされている。 32、特許請求の範囲第31項に記載の方法において、
    許可のステップが含まれており、そしてそれは、現在の
    システム状態の制御構造に含まれる第1の優先権のある
    命令を含むテーブルから、第2の優先権を持つ命令に対
    しての基準を得、そして 第2の優先権を持つ命令を実行している。 33、特許請求の範囲第32項に記載の方法において、
    防止のステップがあり、それは以下のステップを含んで
    おり、 前述のテーブルの第3の優先権を持つ命令に対する基準
    を決めることを抑制することで既述のシステム信号の処
    理を中止している。 34、特許請求の範囲第24項に記載の方法において、
    以下のステップが含まれ、 既述の命令のうちで、1番目のものを実行することによ
    り、現在のシステム状態から別のシステム状態へ変え、 既述の現在の状態から抜け出す信号を作り、前述の抜け
    出すために信号や現在の状態に応じて、既述の命令のう
    ちの2番目のものを実行すぐことにより、現在の状態を
    抜け出す前に共通出力動作を行ない、 他の状態へ入ることを指示する別の信号を作り、 入り込みの信号や他の状態に応じて、既述の命令のうち
    の3番目のものを実行することによって、他の状態へ入
    る時に共通入力動作を実行している。 35、特許請求の範囲第34項に記載の方法において、
    既述の処理プログラムや多くの制御構造があり、以下の
    ステップがあり、 前述の定義済の優先権のある関係に従い識別されたシス
    テム状態やシステム信号に対する命令を、多くの制御構
    造の各々に個々に関係づけており、 そして共通出力動作を行なうステップは、現在のシステ
    ム状態や既述の抜け出すための信号に応じて、制御構造
    を識別するステップを含んでおり、そして 既述の共通出力動作を行なうために、既述の命令のうち
    の2番目のものを行なっている。 36、特許請求の範囲第35項に記載の方法において、
    既述の共通入力動作を行なうステップを含み、そして他
    のシステム状態と入力するための信号を応じて、既述の
    制御構造の別の部分を識別するステップを含んでおり、
    そして 既述の共通入力動作を行なうために、既述の命令のうち
    の3番目のものを行なうのである。
JP61307592A 1985-12-23 1986-12-23 利用者プログラム可能即時応答システム Pending JPS62222792A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US812941 1985-12-23
US06/812,941 US4747127A (en) 1985-12-23 1985-12-23 Customer programmable real-time system

Publications (1)

Publication Number Publication Date
JPS62222792A true JPS62222792A (ja) 1987-09-30

Family

ID=25211043

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61307592A Pending JPS62222792A (ja) 1985-12-23 1986-12-23 利用者プログラム可能即時応答システム

Country Status (5)

Country Link
US (1) US4747127A (ja)
EP (1) EP0228048A3 (ja)
JP (1) JPS62222792A (ja)
KR (1) KR870006749A (ja)
CA (1) CA1254980A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06284193A (ja) * 1992-11-11 1994-10-07 Rockwell Internatl Corp 電話システムでスクリプトセットをプログラムするための装置

Families Citing this family (80)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4727575A (en) * 1985-12-23 1988-02-23 American Telephone And Telegraph Company, At&T Bell Laboratories State control for a real-time system utilizing a nonprocedural language
CA1284229C (en) * 1986-12-03 1991-05-14 Stephen Alec Sokolow Instrument control system and method
JPS6437621A (en) * 1987-07-20 1989-02-08 Ibm Updating of program
US4878240A (en) * 1988-01-25 1989-10-31 Bell Communications Research, Inc. Multi-service telephone switching system
US4866763A (en) * 1988-08-17 1989-09-12 American Telephone And Telegraph Company, At&T Bell Laboratories Interexchange carrier automatic route selection system
US5054054A (en) * 1989-02-07 1991-10-01 International Business Machines Corporation Voice applications generator
US5136631A (en) * 1990-08-20 1992-08-04 Texas Instruments Incorporated Method and apparatus for programming a voice services system
JP3028491B2 (ja) * 1990-09-11 2000-04-04 松下電器産業株式会社 音声蓄積装置
US5255305A (en) * 1990-11-01 1993-10-19 Voiceplex Corporation Integrated voice processing system
US5243643A (en) * 1990-11-01 1993-09-07 Voiceples Corporation Voice processing system with configurable caller interfaces
US5201045A (en) * 1990-11-19 1993-04-06 Ag Communication Systems Corporation Arrangement and method of downloading data to a plurality of destinations in a digital telephone system
US5241588A (en) * 1990-12-18 1993-08-31 Bell Communications Research, Inc. Systems and processes providing programmable or customized customer telephone information services
US5315646A (en) * 1990-12-18 1994-05-24 Bell Communications Research Systems and processes for providing multiple interfaces for telephone services
US5301100A (en) * 1991-04-29 1994-04-05 Wagner Ferdinand H Method of and apparatus for constructing a control system and control system created thereby
US5206900B1 (en) * 1991-05-31 1998-06-09 David Callele Automated attendant
ATE150243T1 (de) * 1991-06-13 1997-03-15 Siemens Ag Verfahren zum beeinflussen einer in einem kommunikationsendgerät implementierten signalisierungsprozedur
CN1078031C (zh) * 1991-09-10 2002-01-16 L·M·埃利克逊电话股份有限公司 通信设备控制系统和方法
US5386464A (en) * 1991-12-19 1995-01-31 Telefonaktiebolaget L M Ericsson Feature control system utilizing design oriented state table language
US5309509A (en) * 1992-07-27 1994-05-03 At&T Bell Laboratories Graphical user interface workstation
WO1994005112A1 (en) * 1992-08-25 1994-03-03 Bell Communications Research, Inc. System and method for creating, transferring, and monitoring services in a telecommunication system
US5511116A (en) * 1992-08-25 1996-04-23 Bell Communications Research Inc. Method of creating and accessing value tables in a telecommunication service creation and execution environment
US5450480A (en) * 1992-08-25 1995-09-12 Bell Communications Research, Inc. Method of creating a telecommunication service specification
US5455853A (en) * 1992-08-25 1995-10-03 Bell Communications Research, Inc. Method of creating a telecommunication service template
US5442690A (en) * 1992-08-25 1995-08-15 Bell Communications Research, Inc. Telecommunication service record structure and method of execution
US5463682A (en) * 1992-08-25 1995-10-31 Bell Communications Research, Inc. Method of creating user-defined call processing procedures
US5369686A (en) * 1993-02-12 1994-11-29 Open Port Technology, Inc. Method and apparatus for secondary-option message delivery through enhanced service message handlers
FI92895C (fi) * 1993-04-06 1995-01-10 Nokia Telecommunications Oy Menetelmä ja järjestelmä puhelinkeskuksen käytön ohjaamiseksi tilaajaliittymästä käsin
US5355404A (en) * 1993-06-29 1994-10-11 At&T Bell Laboratories Method of controlling parameter downloading from a communication switching system to customer stations
DE4340326A1 (de) * 1993-11-26 1995-06-01 Philips Patentverwaltung Kommunikationssystem
SE501303C2 (sv) * 1993-12-29 1995-01-09 Telia Ab Anordning och metod för fastställande av störningsrisken mellan två eller flera tjänster i ett eller flera telenät
CA2180635A1 (en) * 1994-01-06 1995-07-13 Michael D. Boyle Home banking system
US5583976A (en) * 1994-02-18 1996-12-10 Bellsouth Corporation Telecommunications network configuration model for data management and allocation
US5577105A (en) * 1994-03-11 1996-11-19 U.S. Robotics, Inc. Telephone call routing and switching techniques for data communications
US5724406A (en) * 1994-03-22 1998-03-03 Ericsson Messaging Systems, Inc. Call processing system and method for providing a variety of messaging services
US5544236A (en) * 1994-06-10 1996-08-06 At&T Corp. Access to unsubscribed features
SE503376C2 (sv) * 1994-06-13 1996-06-03 Ericsson Telefon Ab L M Kundprofilerad telekommunikationstjänst
US5579318A (en) * 1994-06-30 1996-11-26 Bellsouth Corporation Processes and apparatus for maintaining data concurrence between databases in telecommunications networks
US5546574A (en) * 1994-06-30 1996-08-13 At&T Corporation Peer-to-peer data concurrence processes and apparatus
US5852825A (en) * 1994-12-05 1998-12-22 Trimble Navigation Limited Form data message formatting method, program and system
US5579384A (en) * 1995-02-17 1996-11-26 Bellsouth Corporation Telecommunications network service central management system interfacing with protocol specific regional stations providing services to subscribers
CA2215043A1 (en) * 1995-03-22 1996-09-26 British Telecommunications Public Limited Company Service provision in a telecommunications network
US5623488A (en) * 1995-06-29 1997-04-22 Telefonaktiebolaget Lm Ericsson Call set-up server
JPH11511302A (ja) * 1995-06-29 1999-09-28 テレフオンアクチーボラゲツト エル エム エリクソン(パブル) 呼設定サーバ
WO1997018661A1 (en) * 1995-11-13 1997-05-22 Answersoft, Inc. Intelligent information routing system and method
US5740236A (en) * 1995-12-21 1998-04-14 Ericsson, Inc. System for providing feature services in a telecommunications system
US6154445A (en) * 1996-04-18 2000-11-28 Bell Atlantic Network Services, Inc. Telephony communication via varied redundant networks
US5745561A (en) * 1996-05-31 1998-04-28 Lucent Technologies Inc. Multiple independent named call-coverage paths
US5717747A (en) * 1996-05-31 1998-02-10 Lucent Technologies Inc. Arrangement for facilitating plug-and-play call features
US6028924A (en) 1996-06-13 2000-02-22 Northern Telecom Limited Apparatus and method for controlling processing of a service call
US6122345A (en) * 1996-06-25 2000-09-19 Mci Worldcom, Inc. System and method for developing and processing automatic response unit (ARU) services
US6157640A (en) * 1996-06-25 2000-12-05 Ericsson Inc Providing feature logic control in parallel with voice over a single subscriber access
US5875242A (en) * 1996-07-26 1999-02-23 Glaser; Lawrence F. Telecommunications installation and management system and method
US6775264B1 (en) 1997-03-03 2004-08-10 Webley Systems, Inc. Computer, internet and telecommunications based network
US6137869A (en) * 1997-09-16 2000-10-24 Bell Atlantic Network Services, Inc. Network session management
US5898772A (en) * 1997-05-29 1999-04-27 Lucent Technologies Inc. Logical PC agent
WO1999005590A2 (en) * 1997-07-25 1999-02-04 Starvox, Inc. Apparatus and method for integrated voice gateway
US6122258A (en) * 1997-08-29 2000-09-19 Nortel Networks Corporation Method for creating a numbering plan-independent directory structure for telecommunications applications
US6931116B1 (en) * 1997-09-08 2005-08-16 Mci Communications Corporation Multiple routing options in a telecommunications service platform
US5960205A (en) * 1997-10-30 1999-09-28 Lucent Technologies Inc. Upgrading the control of switching systems
US6792600B1 (en) * 1998-05-14 2004-09-14 International Business Machines Corporation Method and apparatus for just in time compilation of instructions
US6363472B1 (en) 1998-09-03 2002-03-26 Telefonaktiebolaget L M Ericsson (Publ) Method and system for minimizing effect of replacing programming languages in telephony systems
US6330319B1 (en) 1998-12-23 2001-12-11 Ericsson Inc. System and method for adding services to computer telephone systems
US20040052343A1 (en) * 1999-02-16 2004-03-18 Glaser Lawrence F. Telecommunications installation and management system and method
US6594691B1 (en) * 1999-10-28 2003-07-15 Surfnet Media Group, Inc. Method and system for adding function to a web page
US6526382B1 (en) * 1999-12-07 2003-02-25 Comverse, Inc. Language-oriented user interfaces for voice activated services
US6721705B2 (en) 2000-02-04 2004-04-13 Webley Systems, Inc. Robust voice browser system and voice activated device controller
US7516190B2 (en) 2000-02-04 2009-04-07 Parus Holdings, Inc. Personal voice-based information retrieval system
DE10105729C1 (de) * 2001-02-08 2002-08-08 Tenovis Gmbh & Co Kg Verfahren und System zur funktionsmäßigen Erweiterung einer Telekommunikationsanlage
US20030110040A1 (en) * 2001-12-07 2003-06-12 Creative Logic Solutions Inc. System and method for dynamically changing software programs by voice commands
US6889147B2 (en) * 2002-09-17 2005-05-03 Hydrogenics Corporation System, computer program product and method for controlling a fuel cell testing device
US7611405B2 (en) * 2002-10-15 2009-11-03 Igt Dynamic menu system
US7238079B2 (en) * 2003-01-14 2007-07-03 Disney Enterprise, Inc. Animatronic supported walking system
WO2004092756A1 (en) * 2003-04-17 2004-10-28 Hydrogenics Corporation Alarm recovery system and method for fuel cell testing systems
US20040229954A1 (en) * 2003-05-16 2004-11-18 Macdougall Diane Elaine Selective manipulation of triglyceride, HDL and LDL parameters with 6-(5-carboxy-5-methyl-hexyloxy)-2,2-dimethylhexanoic acid monocalcium salt
JP4119307B2 (ja) * 2003-05-30 2008-07-16 株式会社東芝 通信システムを利用した制御プログラム提供方法、通信システムのセンタ装置、通信システムのユーザ装置、及びユーザ装置で使用される制御プログラム
US7510478B2 (en) * 2003-09-11 2009-03-31 Igt Gaming apparatus software employing a script file
WO2005028713A1 (en) * 2003-09-22 2005-03-31 Hydrogenics Corporation Electrolyzer cell stack system
EP1794670A4 (en) * 2004-09-23 2009-05-06 Airclic Inc CROSS-REFERENCE OF MOBILE PROCESSING AUTOMATION METHODS TO ASSOCIATED APPLICATIONS
WO2007087804A1 (de) 2006-02-03 2007-08-09 Teles Ag Informationstechnologien Änderungsverfahren der arbeitsweise einer technischen-kommunikationsgruppen-plattform (tkgp) eines telekommunikations-netzes (tk-netzes)
CN102819698B (zh) * 2011-12-27 2015-05-20 腾讯科技(深圳)有限公司 检测网页中恶意代码的方法及装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3984817A (en) * 1973-11-08 1976-10-05 Honeywell Information Systems, Inc. Data processing system having improved program allocation and search technique
FR2269150B1 (ja) * 1974-04-25 1977-10-28 Honeywell Bull Soc Ind
US3972023A (en) * 1974-12-30 1976-07-27 International Business Machines Corporation I/O data transfer control system
US4133030A (en) * 1977-01-19 1979-01-02 Honeywell Information Systems Inc. Control system providing for the transfer of data in a communications processing system employing channel dedicated control blocks
US4291200A (en) * 1979-10-31 1981-09-22 Bell Telephone Laboratories, Incorporated Voice and data switching arrangement
US4486830A (en) * 1982-03-30 1984-12-04 Cincinnati Milacron Inc. Programmable control apparatus and method
US4626634A (en) * 1982-09-30 1986-12-02 At&T Bell Laboratories Multiprocessor computing system featuring shared global control
US4551581B1 (en) * 1983-07-12 1995-06-20 Bell Telephone Labor Inc Method and apparatus for sending a data message to a selected station during a silent interval between ringing
US4653085A (en) * 1984-09-27 1987-03-24 At&T Company Telephone switching system adjunct call processing arrangement

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06284193A (ja) * 1992-11-11 1994-10-07 Rockwell Internatl Corp 電話システムでスクリプトセットをプログラムするための装置

Also Published As

Publication number Publication date
KR870006749A (ko) 1987-07-14
EP0228048A3 (en) 1988-06-29
US4747127A (en) 1988-05-24
CA1254980A (en) 1989-05-30
EP0228048A2 (en) 1987-07-08

Similar Documents

Publication Publication Date Title
JPS62222792A (ja) 利用者プログラム可能即時応答システム
EP0228053B1 (en) Control of real-time systems utilizing a nonprocedural language
US4878240A (en) Multi-service telephone switching system
JPS62283795A (ja) 非手続言語を用いたリアルタイム状態制御法とその装置
EP2242282B1 (en) Extended cascaded ringing
US7461381B2 (en) Flexible network platform and call processing system
US8855289B2 (en) Automated callback reminder
EP0104241B1 (en) Implied principal addressing in a call coverage arrangement
EP1808004B1 (en) Providing a service framework at an endpoint
US5819046A (en) System for invoking in computer application associated with second user connected to the computer and subject to any active conditions associated with the second user
US6259781B1 (en) Generic distributed protocol converter
US20150016596A1 (en) Feature-based software system for programming of a business pbx
JP2010016542A (ja) 電話中継装置
Cisco Release Notes for Cisco Unity Release 2.4(6.126)ML
Puente Elastix Unified Communications Server Cookbook
Cisco Preparing the Cisco CallManager and Octel Systems
JP5374450B2 (ja) 付加サービス競合制御システム、付加サービス競合制御方法及び付加サービス競合制御プログラム
JPH04213258A (ja) 文書通信システム
US20040044726A1 (en) Service creation and provision using a java environment with a set of APIs for integrated networks called JAIN and a set of recommendations called the PARLAY API's
JP3144769B2 (ja) サービスプログラム生成方法及び装置
WO2018235090A1 (en) SYSTEMS AND METHODS FOR EXECUTING INTERACTIVE PROGRAMS SELECTED DURING A TELEPHONE CALL
JP5338194B2 (ja) 電話中継システム、その電話中継装置、そのコンピュータプログラムおよびデータ処理方法
JPH0329536A (ja) モデムの動作条件設定処理方式
JPS63187756A (ja) 自己端末番号処理装置
JPH10173779A (ja) 電子交換機における契約サービス起動方法とその方式