JPH0511997A - System configuration method - Google Patents

System configuration method

Info

Publication number
JPH0511997A
JPH0511997A JP15849891A JP15849891A JPH0511997A JP H0511997 A JPH0511997 A JP H0511997A JP 15849891 A JP15849891 A JP 15849891A JP 15849891 A JP15849891 A JP 15849891A JP H0511997 A JPH0511997 A JP H0511997A
Authority
JP
Japan
Prior art keywords
state transition
system configuration
configuration method
program
test
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
JP15849891A
Other languages
Japanese (ja)
Inventor
Yoshiya Kono
善弥 河野
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP15849891A priority Critical patent/JPH0511997A/en
Publication of JPH0511997A publication Critical patent/JPH0511997A/en
Pending legal-status Critical Current

Links

Landscapes

  • Monitoring And Testing Of Exchanges (AREA)
  • Exchange Systems With Centralized Control (AREA)
  • Stored Programmes (AREA)

Abstract

PURPOSE:To simplify and unify a program configuration for deciding state transition and also for state transition by taking a unified configuration for an object of a process which becomes a sequencial machine after being made to be abstract. CONSTITUTION:A software is divided into plural functional parts, and each functional part is constituted by a sequencial machine consisting of state transition programs, and respective sequencial machines are connected by way of a message to which a destination information and a cause information about state transition are added, and each sequencial machine is permitted to be accessed by its own sequencial machine and a message. If this method is applied, for example, to a functional test of a telephone switchboard and a test material of simulated reflux test and others, a test procedure 1 stored in the file of highest order is, by way of a test controlling part 2, provided to simulators 3-5. In that case, a test scenario described in a scenario macro and a test program described in a state transition macro are translated by a compiler into the form which a machine can execute, and above mentioned test is carried out.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】この発明を利用する分野は、順序
機械に関し、特にコンピュータプログラム(ソフトウエ
ア)によるその構成方式に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The field of use of the present invention relates to a sequential machine and, more particularly, to a system for constructing a computer program (software).

【0002】[0002]

【従来の技術】従来、コンピュータプログラムが利用さ
れる第1の分野としては、自動販売機のように、外から
みてはプログラムの存在が判らないような、いわゆる組
込システムがある。第2の分野は、通信システム、画像
装置などのように、プログラムを用いて情報の伝達、交
換、蓄積、制御などを行うものがある。この中には、コ
ンピュ−タとしてマイクロコンピュ−タである場合があ
り、またこれらを含めて全体をLSI化した場合も含
む。第3の分野は、上記システム等のテスト、シミュレ
−ションの実行のように、全てがコンピュ−タ上で実行
されるものである。
2. Description of the Related Art Conventionally, as a first field in which computer programs are used, there is a so-called built-in system such as a vending machine in which the existence of the program cannot be seen from the outside. The second field is, for example, a communication system, an image device, or the like that uses a program to transmit, exchange, store, or control information. In this case, there are cases where the computer is a micro computer, and cases where the whole is included in an LSI including these. The third field is that everything is executed on the computer, such as the test of the above system and the execution of simulation.

【0003】これらに共通する特徴は、プログラミング
の対象にシ−ケンス性があり、そのシ−ケンスをプログ
ラムで実行/処理する点にある。
A feature common to these is that the objects to be programmed have a sequence property, and the sequence is executed / processed by a program.

【0004】従来この種の技術が最も早くに発達し、ま
た公開されたのは、コンピュ−タ制御による電子交換機
の分野である。昭和51年に発行された「電子交換プロ
グラム入門」はその成果を最もよく纏めてしるしてい
る。この文献の{4.1.4交換機能の状態遷移図によ
る記述}の図4.15には交換機はシ−ケンス性があ
り、その動作が状態遷移図で抽象化される事が示されて
いる。また、{4.5.タスク実行}では、交換の為の
スイッチ網での接続なしの状態からからある端子への接
続あり状態への状態遷移がタスクとして定義され、この
タスクは交換動作上の観点からマクロ化され、それらが
インタプリチブに実行される事が示されている。 かよ
うなタスクの決定については、複雑であるが、{4.
4.4状態分析}において図4.68などに、状態に対
応する状態番号STNと外部からの情報で起動され処理
された結果の情報とで、タスクが決定される事が示され
ている。
The earliest development and publication of this type of technology has been in the field of computer-controlled electronic exchanges. The "Introduction to the Electronic Exchange Program" published in 1976 best summarizes the results. FIG. 4.15 in {4.1.4 State transition diagram description of switching function} of this document shows that the exchange has a sequence property and its operation is abstracted by the state transition diagram. There is. In addition, {4.5. In task execution}, the state transition from the state without connection in the switch network for exchange to the state with connection to a certain terminal is defined as a task, and this task is made into a macro from the viewpoint of exchange operation. Is shown to be executed interpretively. Although it is complicated to determine such a task, {4.
4.4 State Analysis}, FIG. 4.68 and the like show that the task is determined by the state number STN corresponding to the state and the information of the result activated and processed by the information from the outside.

【0005】本発明の対象とする順序機械は状態をも
ち、外部からの遷移原因に対して状態遷移を行う抽象機
械であり、そのオ−トマトン理論に立脚してCCITT
では勧告Z.100 CCITT−SDL(Specificat
ionand Description Language)が決められている。こ
の勧告では、抽象化して状態があり、遷移原因に対して
状態遷移があることのみが示されており、オ−トマトン
理論以上の具体性を持っていない。
The sequential machine which is the object of the present invention is an abstract machine which has a state and makes a state transition with respect to a transition cause from the outside. Based on its automaton theory, the CCITT
Recommendation Z. 100 CCITT-SDL (Specificat
ionand Description Language) has been decided. This recommendation only shows that there is a state as an abstraction and there is a state transition for the cause of the transition, and it has no specificity beyond the automaton theory.

【0006】[0006]

【発明が解決しようとする課題】これらの方式の問題点
は、オ−トマトン理論やSDLのように一見単純にみえ
ても、実際に応用するとなると前述の文献のように複雑
な構成をとらざるを得ないということである。この為に
機種毎に異なる制御構成が取られ、そのプログラム(ま
たはソフトウエア)が統一的なプログラム/ソフトウエ
アにならない。
The problem with these methods is that even if they seem simple as in the Autotonon theory and SDL, they are complicated in structure as in the above-mentioned documents when they are actually applied. That is not to get. For this reason, different control configurations are taken for each model, and the program (or software) does not become a unified program / software.

【0007】次の問題点は、さらに状態遷移決定にコン
ピュ−タの時間が掛かり、システムの能力が低下する事
である。この時間を節約したいという要請が、夫れ夫れ
のシステムでの個別的な制御構成をとらせている原因で
あるとも考えられる。
The next problem is that it takes more time for the computer to determine the state transition and the capacity of the system is lowered. The request to save this time is considered to be the cause of the individual control configuration in each system.

【0008】さらに他の問題点は、状態遷移プログラム
が複雑なことである。前記の交換機では、一つのプログ
ラムの元で、数万の「呼び」が同時に制御される。サ−
ビスを要求する「呼び」に対しては、オペレーティング
システム(OS)で通常行うように、タスクコントロー
ルブロック(TCB)(またはその相当品)を一つ宛割
当て、ここに一時情報を蓄え、交換プログラムはOSと
アプリケーションプログラムとの混合した形で作るのが
普通である。したがって、そのプログラミングは面倒で
あり交換機のプログラムは生産性の低いことでも知られ
ている。
Still another problem is that the state transition program is complicated. In the above exchange, tens of thousands of "calls" are controlled simultaneously under one program. Ser
For a "call" that requires a screw, a task control block (TCB) (or its equivalent) is assigned to one, as is usually done by an operating system (OS), and temporary information is stored here, and an exchange program Is usually made by mixing the OS and application programs. Therefore, it is known that the programming is troublesome and the exchange program is low in productivity.

【0009】本発明の第一の目的は、抽象化して順序機
械となるような処理の対象物について統一的な構成をと
り、状態遷移の決定の為および状態遷移の為のプログラ
ムの構成を統一的な簡単なものとすることができるシス
テム構成方式を提供することにある。
A first object of the present invention is to adopt a uniform structure for processing objects that are abstracted into a sequential machine, and to unify the structure of programs for determining state transitions and state transitions. An object of the present invention is to provide a system configuration method that can be simplified.

【0010】第二の目的は、高速に状態遷移を決定する
機構、プログラムを提供することができるシステム構成
方式を提供することにある。
A second object is to provide a system configuration system capable of providing a mechanism and a program for determining state transition at high speed.

【0011】第三の目的は、状態遷移プログラムの作成
を極めて容易にすることができるシステム構成方式を提
供することにある。
A third object of the present invention is to provide a system configuration method capable of extremely easily creating a state transition program.

【0012】[0012]

【課題を解決するための手段】上記目的を達成するため
に、本発明によるシステム構成方式は、ソフトウエアを
含むシステムを構成するシステム構成方式において、ソ
フトウエアを複数の機能部分に分割し、各機能部分を状
態遷移プログラムからなる順序機械で構成し、宛先情報
および状態遷移原因情報を付したメッセージで前記順序
機械相互間を結び、各順序機械には自己の順序機械およ
び上記メッセージのみアクセスを許容するようにしたも
のである。
In order to achieve the above object, a system configuration method according to the present invention is a system configuration method for configuring a system including software, in which the software is divided into a plurality of functional parts, The functional part is composed of a sequential machine consisting of a state transition program, and the sequential machines are connected by a message with destination information and state transition cause information, and each sequential machine is allowed to access only its own sequential machine and the above messages. It is something that is done.

【0013】上記各順序機械を構成する状態遷移プログ
ラムはマクロ命令で記載する。
The state transition program forming each of the above sequential machines is described by a macro instruction.

【0014】すべてのメッセ−ジが統一された構成を持
つようにすることができる。
All messages can have a unified structure.

【0015】好ましくは、タイミング機能を司る順序機
械を設ける。この順序機械は、補足情報として計時間隔
および計数値を含むメッセージを受けて、前記計時間隔
ごとに計数を行ない、前記計数値の計数終了後に前記送
元を宛先として計時終了の旨を伝えるメッセージを返送
する。
Preferably, a sequential machine having a timing function is provided. This sequence machine receives a message including a time interval and a count value as supplementary information, performs counting at each time interval, and after finishing counting the count value, sends a message to the effect that the sender is the destination to notify the time end. Send it back.

【0016】[0016]

【作用】本発明において、プログラミングの対象を単一
の抽象機械でなくて、複数の順序機械で構成する。この
原理自体は、オ−トマトン理論や論理回路では従来から
知られたやりかたである。ソフトウエアにおいては、複
数の抽象化した順序機械相互をメッセ−ジで結ぶやり方
が知られてきて、SDLにも取り入れられている。本発
明では、この手法を採用し、全体を(階層的に)極めて
多くの単一の機能/概念にによる順序機械の集合体とし
て構成する。このことは、個々の状態遷移プログラムの
作成が極めて簡単になることを意味する。
In the present invention, the object of programming is not a single abstract machine but a plurality of sequential machines. This principle is a method that has been conventionally known in the automaton theory and logic circuits. In software, a method of connecting a plurality of abstract sequential machines with each other by a message has been known, and has been incorporated into SDL. In the present invention, this method is adopted, and the whole is configured (hierarchically) as a collection of sequential machines according to a large number of single functions / concepts. This means that the creation of individual state transition programs becomes extremely easy.

【0017】この場合には、二つ問題がある。第一は、
如何に抽象機械を分割していくか、である。これは設計
技法の問題なので、ここでは述べない。第二は状態遷移
の決定の回数が極めて多くになるので、いかに処理の高
速化を図るかの問題がある。
In this case, there are two problems. The first is
It is how to divide the abstract machine. This is a design technique issue and will not be discussed here. Secondly, since the number of state transition decisions is extremely large, there is a problem of how to speed up the processing.

【0018】本発明では、メッセ−ジに宛先情報を含め
て、この宛先情報から簡単に相手の順序機械を割り出
し、その状態情報を取り出して高速化の第一を達成す
る。次にメッセ−ジに遷移原因情報を含める。かくすれ
ば、状態情報と遷移原因の両者が簡単に得られるので、
高速化の第二を達成する。
According to the present invention, the first speed-up is achieved by including the destination information in the message, easily determining the partner's sequential machine from this destination information, and extracting the status information. Next, the transition cause information is included in the message. This way, you can easily get both the state information and the cause of the transition.
Achieve the second speedup.

【0019】更に、メッセ−ジには送元情報をもたせ
る。このことにより、メッセ−ジを見れば送受の両者が
判明するから、デバッグが極めて容易になる。また、以
下に述べるタイミング機能を司る抽象機械は自己へのメ
ッセージの送元情報を基に宛先情報を得ることができ
る。
Further, the message has sender information. As a result, both the sending and receiving can be identified by looking at the message, which makes debugging extremely easy. Also, the abstract machine that controls the timing function described below can obtain the destination information based on the source information of the message to itself.

【0020】遷移原因情報には通常各種の補足情報を持
たせることができる。本発明では、これにタイミング情
報などをもたせ、タイミング機能を司る抽象機械を設け
る。かくして、全ての状態遷移は一切の中断を許さない
こととすることができる。このことはタイミング/中断
の表記を要するが、状態遷移プログラムの簡単化や制御
構造の簡単化、高速化に寄与することの方が大きい。
The transition cause information can usually have various kinds of supplementary information. In the present invention, an abstract machine that controls timing functions by providing it with timing information and the like is provided. Thus, all state transitions can be allowed without any interruption. This requires notation of timing / interruption, but it is more important to contribute to simplification of the state transition program, simplification of the control structure, and speeding up.

【0021】このようにすると、一つ毎に順序機械の設
計/記述は容易になるが、現実の設計ではTCBと状態
遷移プログラムとの相互作用があるのでまだ面倒であ
る。そこで、更に容易にする為に、状態遷移プログラム
はメッセ−ジとTCBの限られた特殊領域にしかアクセ
スを許さぬこととする。これにより、処理すべき対象
は、限られたレジスタについての処理を行なう仮想的プ
ロセサに見える。そこで、プロセサに見立ててメッセ−
ジとTCBと限られた特殊領域に限定して、これらにつ
いて処理を行なうマクロ命令を設ける。マクロ命令とい
うのは、TCBなどのアクセスなどを含むので、マクロ
命令ではあるが、使用者にはレジスタ1,2,....
の加減乗除、判断/分岐に見せる。この仮想的プロセサ
は、判断/分岐などの為に、通常のプロセサと同じくマ
クロ命令の実行結果で表示子(コンディションコード)
を立てる。判断/分岐命令はこれを参照する。その結
果、単純な処理で状態遷移プログラムが構成できるの
で、プログラムは益々作り易くなる。
In this way, the sequential machines can be easily designed / described one by one, but in the actual design, the interaction between the TCB and the state transition program is still troublesome. Therefore, in order to make it easier, the state transition program is allowed to access only the limited special area of the message and TCB. As a result, the target to be processed looks like a virtual processor that processes limited registers. Therefore, it is a messe to look like a processor.
And TCB are limited to special areas, and macro instructions for processing these are provided. The macroinstruction is a macroinstruction because it includes accesses such as TCB, but the user can use the registers 1, 2 ,. . . .
Add, subtract, multiply, and divide, and make a decision / branch. This virtual processor is an indicator (condition code) based on the execution result of a macro instruction like a normal processor for judgment / branching.
Stand up. The decision / branch instruction refers to this. As a result, the state transition program can be constructed by simple processing, and the program becomes easier to make.

【0022】また、マクロ命令として、通常のサブル−
チン分岐命令、復帰機能を設けることにより、上記のマ
クロ命令のみしか使えない場合の問題を解消する。例え
ば、交換機では多数、多種のデ−タアクセスが不可欠で
あるが、これらは定形的なル−チンを準備してやればよ
い。このようなルーチンは、デ−タアクセスマクロと考
えればよいであろう。
Further, as a macro instruction, an ordinary subroutine is used.
By providing the Chin branch instruction and the return function, the problem when only the above macro instruction can be used is solved. For example, many and various types of data access are indispensable in an exchange, but these can be prepared by preparing routine routines. Such a routine may be thought of as a data access macro.

【0023】状態遷移プログラムを更に作り易くする為
に、状態を含むサブル−チンを準備する。通常の概念で
は、状態遷移の為のプログラムの中でサブル−チンの概
念がある。本発明では、これを拡張して、(複数の)状
態と状態遷移の為のプログラムを一つのサブル−チンと
して扱う。このサブル−チンには複数の出口を設ける。
このサブル−チンは複数の状態と複数の状態遷移プログ
ラムからなるブロックに対応するから、簡単な記述で等
価的に大きな機能を持たせることができる。従って、実
効的なソフト生産性を向上させることが可能になる。
In order to make a state transition program easier, a subroutine containing states is prepared. In the usual concept, there is a concept of subroutine in a program for state transition. In the present invention, this is expanded to handle a program for (plural) states and state transitions as one subroutine. The subroutine is provided with a plurality of outlets.
Since this subroutine corresponds to a block composed of a plurality of states and a plurality of state transition programs, it can be equivalently provided with a large function by a simple description. Therefore, it becomes possible to improve the effective software productivity.

【0024】上記仮想的プロセサは、結局、判断/分岐
の為のコンデションコ−ド、状態番号、マクロステップ
カウンタ、(これらは従来のプログラム制御語の拡張で
ある)、サブル−チンの為のスタックレジスタと従来か
らのTCBとからなる一本のレジスタを持つとみなせ
る。
In the end, the virtual processor is a condition code for judgment / branching, a state number, a macro step counter, (these are extensions of conventional program control words), and a stack register for subroutines. It can be regarded as having one register consisting of the conventional TCB and the conventional TCB.

【0025】場合によっては、一つのプログラムを幾つ
かの抽象機械(具体的にはTCB)が共用する場合もあ
るので、TCBに共通/個別のいずれかを示す表示子を
設ける。
In some cases, one program may be shared by several abstract machines (specifically, TCBs), and therefore an indicator indicating either common or individual is provided in the TCB.

【0026】マクロ命令のアドレッシングの方法として
は、前記長いレジスタについて、命令で直接に値を用い
るリテラル、TCBの値を直接に用いるダイレクト、間
接に用いるインダイレクト、などの各種の方式がとれ
る。これにより、プログラムの個別性が減るので、プロ
グラムの流用性が高まり、または理解と設計の容易性が
更に高まり、ソフト生産性の向上に寄与する。
As a method of addressing a macro instruction, various methods such as a literal that directly uses a value in the long register, a direct method that directly uses the TCB value, and an indirect method that indirectly uses the value of the TCB can be used. As a result, the individuality of the program is reduced, so that the reusability of the program is enhanced or the ease of understanding and design is further enhanced, which contributes to the improvement of software productivity.

【0027】具体的に、宛先情報から相手の順序機械を
割り出すための一番簡単な方法は、宛先情報部のコ−ド
を値として、あるベ−スに対して加減算して相手をうる
ものである。次の方法は、あるベ−スに対して宛先情報
部のコ−ドを加減算した結果でテ−ブルにアクセスして
相手を得るものである。最も複雑な方法は、宛先情報を
数ブロックで構成し、第1のブロックで一次テ−ブル
に、続くブロックで二次テ−ブルに、と続けてアクセス
していく方法であり、この方法により大きな階層的なシ
ステムに適用できる。送元の割り出しについても、同様
に送元情報から送元を得ることができる。このテ−ブル
アクセスは極めて高速にでき、かくして得た相手先の状
態とメッセ−ジに含まれた遷移原因情報との両者で、テ
−ブルサ−チ、2次元テ−ブルアクセス等を行なうこと
により、簡単に実行すべきタスク/状態遷移プログラム
の先頭アドレスが求められる。
Specifically, the simplest method for determining the partner's sequential machine from the destination information is to obtain the partner by adding / subtracting to / from a certain base using the code of the destination information section as a value. Is. The following method is to access the table and obtain the other party by adding / subtracting the code of the destination information section to a certain base. The most complicated method is that the destination information is composed of several blocks, and the primary block is accessed in the first block and the secondary table is accessed in the subsequent block. Applicable to large hierarchical systems. Regarding the source identification, the source can be similarly obtained from the source information. This table access can be performed at extremely high speed, and the table search, the two-dimensional table access, etc., can be performed by using both the destination state thus obtained and the transition cause information included in the message. Thus, the start address of the task / state transition program to be executed can be easily obtained.

【0028】なお、仮想プロセサ化は、それぞれマクロ
命令化、コンデションコ−ド化、状態を含むサブル−チ
ン化などとともに、あるいは別個に実施可能である。
The virtual processor can be implemented together with a macro instruction, a condition code, a status-containing subroutine, or the like, or separately.

【0029】さらに、順序機械間で授受するメッセ−ジ
を標準化をすることにより、全てのメカニズムが共通に
なる。そこで、全ての(多数の)分散化した順序機械を
単一の物理的プロセサで実現することも、幾つかの物理
的プロセサに分けて実現することも自由にできる。つま
り、標準化によって、プロセス(順序機械)と物理的プ
ロセサとの対応を切り離すことができる。このことは、
統一ア−キテクチャが可能であり、プログラムの流用度
が高まることを意味する。
Further, by standardizing the messages sent and received between the sequential machines, all the mechanisms become common. Therefore, all (many) distributed sequential machines can be realized by a single physical processor or can be realized by dividing them into several physical processors. In other words, the standardization makes it possible to separate the correspondence between the process (sequential machine) and the physical processor. This is
It means that a unified architecture is possible, and the degree of diversion of programs will increase.

【0030】[0030]

【実施例】本実施例は、電話交換機の試験機に対して適
用したものである。その機能は「機能の試験」と「模擬
環境試験」である。前者は、例えば電話機の送受話器を
取り上げてみて「ダイアル音」が出てくるかといった
「刺激を与えた時に正しく反応するか?」を確認するも
のである。後者は、連続的に電話の呼びを与えて全体と
して正常な動作を多数回、長時間にわたり繰り返す間
に、システムで稀に発生する異常を摘出するためのもの
である。従来これらは人手で行っていた。特に、後者は
判り易くいえば、逆交換機を作ることに外ならず、極め
て技術的に難しかった。
EXAMPLE This example is applied to a telephone exchange testing machine. The functions are "function test" and "simulated environment test". The former is, for example, to pick up a handset of a telephone and confirm whether "a dial sound" appears, "does it react correctly when a stimulus is given?" The latter is for extracting abnormalities that rarely occur in the system while continuously giving normal telephone calls and repeating the normal operation a large number of times over a long period of time. Conventionally, these were done manually. In particular, the latter is extremely technically difficult because it is inevitable to make a reverse exchange.

【0031】図1は、本実施例の機能構成を示す。最下
部には被試験体である交換機6が位置し、これに、電話
機シミュレータ3、中継台シミュレ-タ4および中継線
シミュレータ5が接続されて、人手操作に替わる。最上
部のファイルに収容されたテスト手順1は、テスト制御
部2を経て各シミュレ-タに与えられる。テスト7は、
電話機シミュレータ3によるテストを行なっている状態
を示している。
FIG. 1 shows the functional configuration of this embodiment. An exchange 6 as a device under test is located at the lowermost part, and a telephone simulator 3, a relay stand simulator 4, and a relay line simulator 5 are connected to this to replace the manual operation. The test procedure 1 contained in the uppermost file is given to each simulator via the test control unit 2. Test 7 is
It shows a state where a test is being performed by the telephone simulator 3.

【0032】図2は、同じ図をハードドウエア中心に示
したもので、図1に示した要素と対応する要素には同一
の番号を付してある。各シミュレータ3,4,5は種別
毎に個別のプロセサで多重制御されている。試験は数種
の数台のシミュレータで構成するグループを単位(テス
トグループ)に行うが、この単位毎の試験状態の制御を
テスト制御部2が行っている。すなわち、テスト制御C
PU2は、他と同様に複数のテスト制御機能を果たして
いる。最上位のE−7100はミニコンピュータ1であ
り、試験の準備(コンパイルなど)と試験実行制御のマ
ンマシンインタフェイスとを司っている。
FIG. 2 shows the same figure focusing on the hardware, and the elements corresponding to the elements shown in FIG. 1 are assigned the same numbers. Each of the simulators 3, 4 and 5 is multiplexed and controlled by an individual processor for each type. The test is performed in units of groups (test groups) that are composed of several types of simulators, and the test control unit 2 controls the test state for each unit. That is, test control C
PU2, like others, performs multiple test control functions. The highest-level E-7100 is a minicomputer 1, which controls a test preparation (compilation, etc.) and a man-machine interface for test execution control.

【0033】図3は試験の流れを示す。機能仕様から試
験仕様(プログラムチェックリスト)が作られ、次にテ
ストシナリオと呼ぶ端末対応の動作のシーケンスに変換
する。これはシナリオマクロ等のマクロ言語で表記す
る。テストシナリオに従って、図示のように交換機
(X)に信号を与え、交換機からの信号を確認して進行
していく。これらのシナリオマクロにより記述されたテ
ストシナリオ及び後述する状態遷移マクロで記述された
ものはテストプログラムと呼ばれ、E−7100に備え
たコンパイラにより機械で実行する形式(オブジェクト
コード)に変換され、図1で説明したように試験が行わ
れる。
FIG. 3 shows the test flow. A test specification (program checklist) is created from the functional specifications, and then converted into a sequence of terminal-compatible operations called a test scenario. This is written in a macro language such as a scenario macro. According to the test scenario, a signal is given to the exchange (X) as shown in the figure, and the signal from the exchange is confirmed to proceed. The test scenario described by these scenario macros and the one described by the state transition macro described later are called a test program, and are converted into a form (object code) to be executed by a machine by a compiler provided in the E-7100. The test is performed as described in 1.

【0034】前述した通常の機能試験は一直線状にプロ
グラムが流れてよいが、模擬環境試験を行うには交換機
が加入者などが異常な操作をするとか、多数の呼びが掛
った為に話中になる等の準正常動作を含めて正常に動作
することに対応せねばならない。交換機は複雑な順序機
械であるが、模擬環境試験もまた複雑な順序機械であら
ねばならない。順序機械とは状態を持ち、状態間の遷移
を持つ抽象機械である。交換機は複雑な順序機械である
為に巨大なプログラムとなる。模擬環境試験もまた複雑
な順序機械で同様に巨大なプログラムとなる。しかし、
試験に巨大なプログラム開発を行っていては、試験して
いるのかされているのか判らなくなってしまう。
In the above-mentioned normal function test, the program may flow in a straight line, but in order to perform the simulated environment test, the exchange is busy because the subscriber or the like operates abnormally or many calls are made. We have to deal with normal operation including quasi-normal operation such as. The switch is a complex sequential machine, but the simulated environment test must also be a complex sequential machine. A sequential machine is an abstract machine that has states and transitions between states. The exchange is a huge program because it is a complicated sequential machine. Simulated environment testing is also a huge program with complex sequential machines. But,
If you are developing a huge program for the test, you will not know whether you are testing or not.

【0035】そこで、本実施例はこれを極めて簡易に実
現している。図4はその概念を示す。 シナリオマクロ
は状態遷移を行うプログラムの一部に対応させる。図で
はSMと示した。このように大きな部品を繋ぎ合わせれ
ば、大きなプログラムも簡単に作れる。図5はその工夫
を示す。シナリオマクロSMは図5のaに示すように、
複数の出口51〜54を持っている。各シナリオマクロ
SMの入出力は図5のbに示したように、相互に接続さ
れる。図5のcはシナリオマクロSMの中身も含めて示
したものである。通常、コンパイラによってマクロが状
態遷移プログラムに変換される。しかし、これではコン
パイラが複雑化するので、ここでは「状態を含むサブル
ーチン」によって実現している。詳細は後述する。
Therefore, this embodiment realizes this extremely easily. FIG. 4 shows the concept. The scenario macro corresponds to a part of the program that makes the state transition. It is shown as SM in the figure. You can easily create a large program by connecting large parts like this. FIG. 5 shows the device. The scenario macro SM is, as shown in FIG.
It has a plurality of outlets 51-54. The input and output of each scenario macro SM are connected to each other as shown in FIG. FIG. 5C shows the contents of the scenario macro SM as well. Usually, a compiler converts a macro into a state transition program. However, since this complicates the compiler, it is realized by "subroutine including state" here. Details will be described later.

【0036】次に試験機自体の更に詳しい説明に入る。
図6はソフト的な機能構成を示す。最上部のシミュレー
タシステム61の元に、管理サブシステム62、テスト
サブシステム63、サポートサブシステム64が位置す
る。テストサブシステム63の元にはテスト制御部6
5、スーパバイザ66、テストプログラム67が位置
し、サポートサブシステム64の元には前処理部69お
よびSDLコンパイラ68が位置している。さらに、図
の最下部には、テストプログラム67の元に、入力部7
0、信号検出部71、信号シーケンス72、信号出力部
73および出力部74が位置する。図中、右肩に黒丸
“・”を付したブロックは本実施例において単一機能の
状態遷移プログラムで実現されていることを示す。右端
の前処理部69に与えられたテストシナリオは各シミュ
レータのテストプログラム67に収容される。これは試
験の度毎に変わる。図の最下部に示したように、信号シ
ーケンス72は信号検出部71を介して入力を受けて動
作し、必要に応じて上位のテストプログラム67に通報
する。上位のテストプログラム67は状態遷移を行いな
がら必要に応じて下位の信号シーケンス72に指令を与
える。信号シーケンス72は状態遷移を行いつつ必要に
応じてハードウエアに出力を与える。このように、この
システムは徹底的に階層化されている。図7はその様子
を示す。
Next, a more detailed description of the tester itself will be described.
FIG. 6 shows a software-like functional configuration. A management subsystem 62, a test subsystem 63, and a support subsystem 64 are located under the simulator system 61 at the top. The test control unit 6 is provided under the test subsystem 63.
5, the supervisor 66 and the test program 67 are located, and the preprocessing unit 69 and the SDL compiler 68 are located under the support subsystem 64. Furthermore, at the bottom of the figure, the input section 7 is added under the test program 67.
0, the signal detection unit 71, the signal sequence 72, the signal output unit 73 and the output unit 74 are located. In the figure, a block with a black circle “•” on the right shoulder indicates that it is realized by a single function state transition program in this embodiment. The test scenario given to the preprocessing unit 69 at the right end is stored in the test program 67 of each simulator. This will change with each test. As shown at the bottom of the figure, the signal sequence 72 operates by receiving an input via the signal detection unit 71, and notifies the upper test program 67 as necessary. The high-order test program 67 gives a command to the low-order signal sequence 72 as necessary while performing the state transition. The signal sequence 72 provides outputs to the hardware as needed while making state transitions. As such, this system is thoroughly layered. FIG. 7 shows the situation.

【0037】図8は入出力ハードウエアの機能をデータ
フロー図で示したものであり、図9はソフトウエアにつ
いて機能をデータフロー図で示したものである。図示の
範囲で、スキャナ91はハードウエアであり、周期的ス
キャン部92は例えば4ms毎に起動されて回線の状態
変化を検出する。プッシュボタン(PB)コード検出部
93も同様に一定時刻に起動される。右端信号ディスト
リビュータ104につながるプログラム100〜103
は入力指令を与えられるとハードウエアを(多くの場
合)ただちに駆動する。これらは状態遷移プログラムの
中でサブルーチンの形で使われる。これらを除くここに
示された機能は全て順序機械であり、状態遷移プログラ
ムで実現されている。このプログラムは状態から状態へ
と休止なしに遷移する。
FIG. 8 is a data flow diagram showing the functions of the input / output hardware, and FIG. 9 is a data flow diagram showing the functions of the software. In the illustrated range, the scanner 91 is hardware, and the periodic scanning unit 92 is activated every 4 ms, for example, to detect a change in the line state. The push button (PB) code detector 93 is also activated at a fixed time. Programs 100 to 103 connected to the right end signal distributor 104
Drives the hardware (often) immediately when given an input command. These are used as subroutines in the state transition program. Except for these, the functions shown here are all sequential machines and are realized by state transition programs. This program transitions from state to state without pausing.

【0038】このシステムの特色はこのように階層化さ
れた単一機能の状態遷移プログラムの多数の集合体で構
成されていることである。単一機能の状態遷移プログラ
ムの一例を図10に示す。図の場合、テストの制御のみ
行っていることが分かる。テスト制御部はこの一つの状
態遷移プログラムが多数のテストグループに共用される
モードを用いる。これは、テストグループ毎にタスクコ
ントロールブロックを割り当てること、状態遷移プログ
ラムを全てリエントラントにすることにより達成され
る。
The feature of this system is that it is composed of a large number of aggregates of the state transition programs of the single function thus layered. An example of a single function state transition program is shown in FIG. In the case of the figure, it can be seen that only test control is performed. The test control unit uses a mode in which this one state transition program is shared by many test groups. This is achieved by assigning a task control block for each test group and making all state transition programs reentrant.

【0039】上記と異なる試験部分の一例をしめす。図
11は信号Sを創出し、信号Rが正常に返ってくること
を確認するタイムチャートである。信号Rの返送が時間
Ts以下なら早過ぎ、Tl以上なら遅すぎ、中間のみ許
容する。図12はこの為の状態遷移プログラムの部分を
示すが、業界の普通の知識ではこれ以上の説明は不要で
あろう。このような部分は試験対象毎に相違するから回
路毎に状態遷移プログラムを対応させており、かつタス
クコントロールブロックをそれぞれが持っている。特殊
な工夫として、時間の値Ts,Tlは直接指定せず、タ
スクコントロールブロックのある領域に時間情報を記録
してあり、状態遷移プログラムでは間接指定している。
これは図中で(T..)で示されている。このようにす
ることにより、試験対象毎に時間が相違してもタスクコ
ントロールブロックのデータを転送コマンドで変更する
ことにより容易に対処できる外、状態遷移プログラムの
この部分の共通性が高まる。
An example of a test portion different from the above will be shown. FIG. 11 is a time chart for confirming that the signal S is created and the signal R is normally returned. If the return of the signal R is less than the time Ts, it is too early, if it is more than Tl, it is too late, and only the middle is allowed. FIG. 12 shows a part of the state transition program for this purpose, but ordinary knowledge in the industry will not require further explanation. Since such a part is different for each test object, a state transition program is made to correspond to each circuit and each has a task control block. As a special measure, the time values Ts and Tl are not directly specified, but the time information is recorded in a certain area of the task control block and indirectly specified in the state transition program.
This is indicated by (T ..) in the figure. By doing so, even if the time is different for each test target, it can be easily dealt with by changing the data of the task control block by the transfer command, and the commonality of this part of the state transition program is enhanced.

【0040】このシステムは多くの状態遷移プログラム
で表される抽象機械の複合体である。以下、このような
抽象機械をプロセスと呼ぶ。プロセス相互間が相互に独
立にされており、メッセージにより交信することしか原
則として許容しない。図13は複数のプロセスと、これ
ら相互間のメッセージの授受の様子を示す。メッセージ
の構成は図14に示すように標準化されている。すなわ
ち、各メッセージ140は、当該メッセージの宛先14
1と、イベント142と、補足情報143と、送元14
4とからなり、各エリアは固定長となっている。イベン
トとは、ある状態から抜け出す原因となる事象である。
This system is a complex of abstract machines represented by many state transition programs. Hereinafter, such an abstract machine is called a process. In principle, the processes are independent of each other, and in principle, only messages can be used for communication. FIG. 13 shows a plurality of processes and how messages are exchanged between them. The message structure is standardized as shown in FIG. That is, each message 140 corresponds to the destination 14 of the message.
1, event 142, supplemental information 143, and sender 14
4 and each area has a fixed length. An event is an event that causes a state to exit.

【0041】このメッセージの使い方と本方式の特徴
を、計時と報告とを機能とするタイマプロセスを例とし
て図15で説明する。本プロセスは、宛先が「タイマプ
ロセス」を指定しているメッセージを他のプロセスから
受けると、図のタイミング対象150に登録する。この
とき使用されるメッセージの補足情報は、図に展開して
示したように、計時間隔143a、計数値143b、報
告イベント143cを含む構成を持つ。タイマプロセス
は定刻に起動される特性を持つ。タイマプロセスは、起
動されるとタイミング対象の中で計時間隔の一致する対
象については(151)、計数値を変更(加算または減
算)する(152)。限度値(0やオーバーフロー)を
超えると(153)、時間の経過したことを送元に報告
する(154)。対象が複数ある場合には(155)、
処理151に戻り上記処理を繰り返す。かくすることに
より一切中断休止なしで状態遷移プログラムが構成でき
る。なお、この時間指定は間接指定で行われることは前
に記したとおりである。
The usage of this message and the characteristics of this system will be described with reference to FIG. 15 by taking a timer process having a function of timing and reporting as an example. When this process receives a message in which the destination specifies the "timer process" from another process, it registers it in the timing target 150 in the figure. The supplementary information of the message used at this time has a structure including a time interval 143a, a count value 143b, and a report event 143c, as shown in the expanded view of the figure. The timer process has the characteristic that it is activated on time. When started, the timer process changes (adds or subtracts) the count value (151) of the timing targets whose timing intervals match (151). When the limit value (0 or overflow) is exceeded (153), the elapse of time is reported to the sender (154). If there are multiple targets (155),
The processing returns to step 151 and the above processing is repeated. By doing so, the state transition program can be constructed without any interruption and suspension. Note that the time designation is performed indirectly, as described above.

【0042】このように相互に独立であり、時間中断/
休止のない多数のプロセスは物理的には単一のプロセサ
で実行させうる。図16はその概念を示し、SQで示さ
れたプロセス相互間をメッセージが往来して全体が進
む。ハッチした部分はこの為の制御機構であり、本質的
には図2の中位および下位の全プロセサに共用可能であ
る。
Thus, they are independent of each other,
Multiple non-pause processes can physically run on a single processor. FIG. 16 shows the concept, and messages move back and forth between the processes indicated by SQ to advance the whole. The hatched portion is a control mechanism for this purpose, and can be shared by all the middle and lower processors in FIG.

【0043】図17はその上位の概念構成を示す図であ
る。各プロセスは相互に独立で、メッセージは標準化さ
れているから、図のように待合せキュー171,172
を設けてやれば全体の制御ができる。入力のある待合せ
キューから取り出したメッセージ情報で、あるプロセス
が動作し、出力は、ある時はハードウエアを駆動し、あ
る時は他の待合せキューに接続される。このような動作
は休止なしに行われるので、全体として矛盾なく動作す
る。この実行動作については後に詳しく述べる。
FIG. 17 is a diagram showing the conceptual structure of the upper level. Since the processes are independent of each other and the messages are standardized, the waiting queues 171 and 172 are as shown in the figure.
If it is provided, the entire control can be performed. Message information taken from one waiting queue with input runs a process, the output drives the hardware at one time and is connected to another waiting queue at one time. Since such an operation is performed without suspension, the operation as a whole is consistent. This execution operation will be described later in detail.

【0044】図18はこの為の実行の管理の条件となる
プログラム実行レベルを示す図である。他のプログラム
の実行を中断して行われる定刻起動されるプログラムは
最も上位に位し、Cで表される。この外、外部割込みな
どで起動される高レベルプログラムもあり、これはIで
表されている。これらの入力の結果のメッセージで起動
されるプログラムは、幾つかのレベルがあり、H,Bな
どで表され、主として状態遷移プログラムよりなるプロ
セスである。
FIG. 18 is a diagram showing a program execution level which is a condition of execution management for this purpose. A program that is activated on time by interrupting the execution of another program has the highest rank and is represented by C. In addition to this, there is a high-level program activated by an external interrupt or the like, which is represented by I. The program activated by the message resulting from these inputs has several levels, is represented by H, B, etc., and is a process mainly composed of a state transition program.

【0045】図19は各プログラムの処理の様子を示
す。プロセサに割込みが発生すると、同図のaに示すよ
うに原因対応に、例えば入力走査、計時などの処理をす
る。割込みの無い状態では、同図のbに示す様に優先度
の最上位の待合せキューから順次に存在を調べて、有れ
ば実行し終われば再び探しに戻る。あるレベルが終われ
ば、更に下位に移り同じことを繰り返す。
FIG. 19 shows how each program is processed. When an interrupt occurs in the processor, processing such as input scanning and clocking is performed according to the cause as shown in a of the figure. When there is no interruption, the existence is sequentially checked from the waiting queue of the highest priority as shown in b of the figure, and if there is, execution is finished and the process returns to searching again. When a certain level ends, it moves to a lower level and repeats the same thing.

【0046】図20は状態遷移プログラムの実行の前半
の手順を示す図である。図の左に示す待合せキューより
最上位のメッセージを取り出し、(デバッグモードなら
その記録を留め、)実行領域に移す。宛先に基づいて
(図の例では)階層的に宛先プロセスの情報(プロセス
指定情報)を得て、実行すべき状態遷移プログラムの実
行に入る。
FIG. 20 is a diagram showing the first half procedure of execution of the state transition program. The top-level message is fetched from the waiting queue shown on the left side of the figure, and (if in debug mode, its record is stopped) and moved to the execution area. Based on the destination (in the example of the figure), the information (process designation information) of the destination process is hierarchically obtained, and the execution of the state transition program to be executed is started.

【0047】図21は状態遷移プログラムの実行の様態
を示す。プロセス指定情報212およびベースポインタ
211により、使用すべきタスクコントロールブロック
213が定まる。同時に、プロセス指定情報212によ
って参照すべき先頭アドレステーブル215が定まり、
前記タスクコントロールブロック213の現状態情報2
13cと、実行領域216のメッッセージ中のイベント
とにより、実行すべきマクロプログラム217の先頭ア
ドレスが割り出される。この様子は図の右上に示し、対
応するプログラム表示219は左下に示した。タスクコ
ントロールブロック213の先頭の実行モード表示21
3aは、当該タスクコントロールブロックの実行モード
(RUN,HALT等)を示すエリアである。
FIG. 21 shows how the state transition program is executed. The process control information 212 and the base pointer 211 determine the task control block 213 to be used. At the same time, the start address table 215 to be referenced is determined by the process designation information 212,
Current status information 2 of the task control block 213
The start address of the macro program 217 to be executed is determined by 13c and the event in the message of the execution area 216. This is shown in the upper right of the figure, and the corresponding program display 219 is shown in the lower left. Execution mode display 21 at the top of the task control block 213
An area 3a indicates an execution mode (RUN, HALT, etc.) of the task control block.

【0048】既に述べたように状態遷移プログラムでは
メッセージ以外、他に触ることを基本的に許していな
い。そこで、状態遷移プログラムが扱いうるのは、メッ
ッセージを中心とする実行領域216とタスクコントロ
ールブロック213内の情報に限定される。とすると、
状態遷移プログラムが実行する処理は、これらのデータ
相互の演算を中心とするのみでよい。タスクコントロー
ルブロック213をレジスタ、実行領域216を主記憶
と見ると、これは丁度簡単なプロセサに見える。つま
り、一つずつのプロセスがあたかも仮想的なプロセサに
見える。従って、このことに基づいた簡単な命令体系を
作った方が考えやすく、また誤りも大幅に減る。そこ
で、状態遷移プログラムが扱いうる命令を限定し、この
命令を状態遷移マクロと名付ける。
As described above, the state transition program basically does not allow anyone to touch anything other than the message. Therefore, the state transition program can handle only the information in the execution area 216 centered on the message and the task control block 213. Then,
The processing executed by the state transition program need only be centered on the mutual operation of these data. Looking at the task control block 213 as a register and the execution area 216 as a main memory, this looks just like a simple processor. In other words, each process looks like a virtual processor. Therefore, it is easier to think of a simple command system based on this, and errors are greatly reduced. Therefore, the instructions that the state transition program can handle are limited, and this instruction is named a state transition macro.

【0049】このように各プロセスを仮想的なプロセサ
と見ると、各種のプロセサ技術が使える。例えば、 *各マクロ命令は実行終了後にコンデションコード(図
21の213e)を設定することができる(不変もあ
る)。 *上記演算系以外に分岐系命令を設けることができる。 *モード/制御情報を纏めて拡張したプログラムステー
タスレジスタを構成することができる。 *サブルーチンなどのスタックレジスタ(図21の21
3b)なども設けることができる。
When each process is regarded as a virtual processor in this way, various processor technologies can be used. For example, each macro instruction can set a condition code (213e in FIG. 21) after execution is completed (there is also no change). * Branch-type instructions can be provided in addition to the above arithmetic-type. * It is possible to configure a program status register that is an extension of the mode / control information. * Stack registers such as subroutines (21 in Fig. 21
3b) etc. can also be provided.

【0050】図21の右下に示すようにデバッグモード
では、状態、マクロの歩進はリング状の記録に残す。
In the debug mode, as shown in the lower right of FIG. 21, the state and the macro step are left in the ring-shaped record.

【0051】図22はマクロの実行を示す。マクロは順
次取り出されて(221)、対応する実行ルーチンで処
理される(222、223)。デバグモードではデバグ
情報が記録される(234)。続いて、ステップカウン
タを歩進し(235)、後続のマクロの取りだし処理2
21へ戻る。マクロプログラムの実行終了後、状態情報
の更新を行なう(236)。
FIG. 22 shows the execution of the macro. The macros are sequentially fetched (221) and processed by the corresponding execution routines (222, 223). In the debug mode, debug information is recorded (234). Then, the step counter is incremented (235), and the subsequent macro extraction processing 2 is performed.
Return to 21. After the execution of the macro program is completed, the status information is updated (236).

【0052】図23は状態遷移マクロの体系を示すテー
ブルである。同図に示すように、状態遷移マクロは、加
減算等、分岐系、サブルーチン系、タイマー系、多分岐
サブルーチン系、メッセージ送出系、休止系の各系に分
類できる。加減、論理、分岐などの命令体系は普通の命
令と何ら変わらない。メッセージ送出系は既に説明した
メッセージの送出の為のものであり、各種の間接指定、
自動指定、中継などの機能を持っている。状態の遷移は
次に移行する状態を指定する休止系の命令により完結す
る。
FIG. 23 is a table showing the system of the state transition macro. As shown in the figure, the state transition macros can be classified into add / subtract, branch system, subroutine system, timer system, multi-branch subroutine system, message sending system, and dormant system. The instruction system such as addition, subtraction, logic, and branching is no different from ordinary instructions. The message sending system is for sending messages already explained, and various indirect designations,
It has functions such as automatic designation and relay. The state transition is completed by a sleep-type instruction that specifies the state to shift to next.

【0053】サブルーチン系マクロ命令を使用すると、
サブルーチンとして任意の言語、機能を持った処理が実
質的に使用可能となる。これは、試験機として細かな操
作が必要な場合に有用である。アドレッシングとして
は、次のものがある。 *タスクコントロールブロック内領域 *リテラル
*特定領域 *0番地に近いある領域 また、直接、間接、修飾(インデクス)などが可能であ
る。
When a subroutine macro instruction is used,
As a subroutine, a process having any language and function can be practically used. This is useful when the tester requires detailed operations. The following addressing is available. * Internal area of task control block * Literal
* Specific area * A certain area near address 0 In addition, direct, indirect, modification (index), etc. are possible.

【0054】タイマ系は既に説明したが、実用上は異常
状態などの処理にはリセット命令が必要である。特徴あ
る命令の一つは多分岐サブルーチン命令である。これは
図5aに示したように、複数個の分岐先を持つ。この機
能は、図23に説明した通りであるが、更に詳述する。
多分岐サブルーチン命令は、図24に示す形式を有す
る。本命例の実行は次のようになる。まず、i番地の命
令コードを取りだし、これが多分岐サブルーチン命令で
あることが分かると、サブルーチン分岐先Sへ分岐す
る。サブルーチン命令であるので、マクロ命令アドレス
はi+1に更新され、スタックレジスタに格納される。
分岐先Sのサブルーチンへ分岐するが、図4にその概念
を示し、図5にその形式、使用例および内部機能を示し
たように、通常のサブルーチンが状態遷移を行なうプロ
グラム内に適用されるのに対して、状態を含みうる機能
に概念が拡張されている。更に、図5に示したように通
常のサブルーチンが1入力1出力であったのに対して、
本実施例では1入力他出力に拡張されている。この戻り
先に対応するために、図24では4個の分岐先の短縮ア
ドレスが指定され、最大5分岐が行なえるようになって
いる。
Although the timer system has already been described, a reset command is required for practical processing such as an abnormal state. One of the characteristic instructions is a multi-branch subroutine instruction. It has a plurality of branches as shown in FIG. 5a. This function is as described in FIG. 23, but will be described in more detail.
The multi-branch subroutine instruction has the format shown in FIG. The execution of the favorite example is as follows. First, the instruction code at the address i is fetched, and if it is found that this is a multi-branch subroutine instruction, it branches to the subroutine branch destination S. Since it is a subroutine instruction, the macro instruction address is updated to i + 1 and stored in the stack register.
A branch is made to the subroutine of the branch destination S, but as shown in the concept of FIG. 4 and its format, usage example, and internal function in FIG. 5, a normal subroutine is applied in a program that makes a state transition. In contrast, the concept has been expanded to include functions that can include states. Further, as shown in FIG. 5, while the normal subroutine has 1 input and 1 output,
In this embodiment, it is expanded to one input and another output. In order to correspond to this return destination, in FIG. 24, four shortened addresses of branch destinations are designated so that a maximum of 5 branches can be performed.

【0055】図25は、このような多数の戻りに対応す
るために、通常のサブルーチン復帰命令を拡張した命令
を示す。図のように、複数の値を取りうる戻りコードを
持っている。サブルーチンからの復帰に際しては、戻り
コードを参照する。戻りコードが0であれば、スタック
レジスタから更新されたアドレスi+1が得られ、この
アドレスへ復帰する。これは通常のサブルーチン復帰命
令と同じである。戻りコードが0でなく、1の場合に
は、スタックレジスタから更新されたアドレスi+1を
得る他に多分岐サブルーチン命令の戻り分岐1のフィー
ルドに記入された値に対して一定数を操作して得た値を
i+1に加えたアドレスに復帰する。一般に、1≦k≦
4として、戻りコードがkの場合には、スタックレジス
タから更新されたアドレスi+1を得た後、多分岐サブ
ルーチン命令の戻り分岐kのフィールドに記入された値
に対して一定数を操作して得た値をi+1に加えたアド
レスに復帰する。従って、本実施例では最大5方路に分
岐することが可能である。
FIG. 25 shows an instruction obtained by expanding a normal subroutine return instruction in order to deal with such a large number of returns. As shown, it has a return code that can take multiple values. When returning from the subroutine, refer to the return code. If the return code is 0, the updated address i + 1 is obtained from the stack register and returns to this address. This is the same as a normal subroutine return instruction. When the return code is 1 instead of 0, the updated address i + 1 is obtained from the stack register, and a fixed number is operated on the value entered in the return branch 1 field of the multi-branch subroutine instruction. The value added to i + 1 is returned to the address. Generally, 1 ≦ k ≦
4, when the return code is k, the updated address i + 1 is obtained from the stack register, and then a fixed number is operated on the value entered in the return branch k field of the multi-branch subroutine instruction. The value added to i + 1 is returned to the address. Therefore, in this embodiment, it is possible to branch into a maximum of 5 routes.

【0056】従来、通常このような機能を仮に実現する
とした場合にはコンパイラによって整合をとるであろう
が、本実施例ではコンパイラに複雑なリンクをとる機能
を一切与えないで済ますことができる。この構成によ
り、コンパイラが簡単になり、部品が共通使用され、ま
たテストシナリオが簡単に作成できる利点が生み出され
ている。
Conventionally, if it is assumed that such a function is normally realized, the compiler will make the matching, but in the present embodiment, it is not necessary to give the compiler a function of taking a complicated link at all. With this configuration, the compiler is simplified, the parts are commonly used, and the test scenario is easily created.

【0057】なお、図21では各プロセスにそれぞれの
プログラムを実行する構造を示したが、図26に、各プ
ロセスに共通なプログラムを実行する構造の特徴部を示
す。プログラムの実行にあたっては、実行モード表示を
参照するが、このときタスクコントロールブロック21
3の共通/個別の表示子213fにより共通プログラム
の実行であることが認識される。そこで、図26の破線
で示したようにプロセス毎に個別な先頭アドレステーブ
ル群215aとは別に、共通ベースポインタ214によ
りアクセスされる共通の先頭アドレステーブル群215
bを設けてある。プロセス指定情報212の一部(共通
な種類のみを示すフィールド)を取りだし、共通ベース
ポインタ214と併せて、その種に共通な先頭アドレス
テーブル群215bにアクセスする。その結果得られた
マクロプログラム先頭アドレスは、共通なマクロプログ
ラム217aの先頭アドレスを差し示す。
Although FIG. 21 shows the structure for executing each program in each process, FIG. 26 shows the characteristic part of the structure for executing the program common to each process. In executing the program, the execution mode display is referred to, but at this time, the task control block 21
The three common / individual indicators 213f recognize that the common program is executed. Therefore, as shown by the broken line in FIG. 26, apart from the individual start address table group 215a for each process, a common start address table group 215 accessed by the common base pointer 214 is provided.
b is provided. A part of the process designation information 212 (a field indicating only the common type) is taken out, and together with the common base pointer 214, the head address table group 215b common to that type is accessed. The macro program start address obtained as a result indicates the start address of the common macro program 217a.

【0058】以上説明したように、本実施例は次のよう
なソフトウエア作成上の利便を提供する。
As described above, the present embodiment provides the following conveniences for creating software.

【0059】*最上位では機能の大きなシナリオマクロ
で簡単に大きな機能のシナリオを作成することができ
る。一方、必要に応じて状態遷移マクロで細部にわたる
処理の実現も可能である。
* At the highest level, a scenario with a large function can be easily created with a scenario macro with a large function. On the other hand, if necessary, detailed processing can be realized by the state transition macro.

【0060】*中位のプログラムは、状態遷移マクロに
全て統一してあり、また、メッセージ以外に他に係るこ
とは許されない。また、システム全体を階層的に順序機
械の集合体として構成し、個々のプロセスは小さな単一
概念の順序機械にして実現をはかる。仮想プロセサの概
念により、小さな範囲についてあたかもCPUを駆使す
るようにプログラムできる。これらの命令は中位の複雑
性の処理機能を持っており、簡単にプログラムできる
が、実は通常であれば、複雑な機能のプログラムを作る
に等しい。もし必要なら更に下位のコンパイラ命令語、
アセンブラ命令語のプログラムも併用できる。
* The middle-level programs are all unified in the state transition macro, and it is not allowed to relate to anything other than the message. In addition, the whole system is hierarchically constructed as a collection of sequential machines, and each process is realized as a small single concept sequential machine. The concept of a virtual processor allows a small area to be programmed as if it were CPU intensive. These instructions have medium complexity processing capabilities and are easy to program, but in the normal case they are equivalent to programming complex capabilities. If necessary, lower-level compiler command words,
An assembler instruction word program can also be used together.

【0061】*時間指定など、命令語に間接指定機能を
与えることにより、プログラムは汎用性に富んだものと
なり、プログラム機能自体の簡単化と相俟って流用が極
めて容易になる。
* By giving an indirect designation function to a command word such as time designation, the program becomes versatile and, in combination with the simplification of the program function itself, the diversion becomes extremely easy.

【0062】*処理機能構成、メッセージの標準化によ
り全てのインタフェイスが統一されるので、デバッグ機
能が統一的に使える。
* All the interfaces are unified by standardization of the processing function configuration and messages, so that the debugging function can be used in a unified manner.

【0063】以上詳細に実施例について説明したが、全
ての効果がプログラム/ソフトウエア生産性の向上に帰
着する。本実施例においては、原形プログラムと仕上り
プログラムの比は約1対7であり、実効的な生産性は常
識的な値の数倍に達する。試験プログラムのレベルで考
えるとこの値は更に大きくなる。
Although the embodiments have been described in detail above, all the effects result in the improvement of the program / software productivity. In this embodiment, the ratio of the original program to the finished program is about 1: 7, and the effective productivity reaches several times the common sense value. This value becomes even larger when considered at the level of the test program.

【0064】また、プログラムの共用性/流用性が原理
上極めて高く、かつ、アーキテクチャの統一が容易にな
る。
In addition, the commonality / diversity of programs is extremely high in principle, and the unification of architectures becomes easy.

【0065】現在、状態遷移プログラムの設計支援とし
てSDLをサポートするワークステーションが市販され
るに至っているが、これと組合せるとソフトウエア生産
性は飛躍的に向上する。
At present, workstations that support SDL have come on the market as support for designing state transition programs, but when combined with this, the software productivity is dramatically improved.

【0066】[0066]

【発明の効果】本発明によれば、抽象化して順序機械と
なるような処理の対象物について統一的な構成をとり、
状態遷移の決定の為および状態遷移の為のプログラムの
構成を統一的な簡単なものとすることができ、また、状
態遷移プログラムの作成を極めて容易にすることができ
る。
According to the present invention, the objects to be processed that are abstracted to be a sequential machine have a uniform structure,
The configuration of the program for determining the state transition and the program for the state transition can be unified and simple, and the state transition program can be extremely easily created.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明の一実施例である電話試験機の全体の構
成を示すブロック図。
FIG. 1 is a block diagram showing the overall configuration of a telephone tester that is an embodiment of the present invention.

【図2】図1のプロセサ構成をも示した電話試験機全体
のブロック図。
FIG. 2 is a block diagram of the entire telephone tester that also shows the processor configuration of FIG.

【図3】図1の電話試験機による試験の実施の流れを示
す図。
3 is a diagram showing a flow of execution of a test by the telephone tester of FIG.

【図4】本発明による状態を含む状態遷移プログラムの
ブロックで順序機械全体を構成する概念を示す図。
FIG. 4 is a diagram showing a concept of configuring an entire sequential machine with blocks of a state transition program including states according to the present invention.

【図5】図4における機能のマクロ化の原理を示す図。5 is a diagram showing the principle of macro conversion of the function in FIG.

【図6】図1の試験機のソフトウエア構成を示すブロッ
ク図。
6 is a block diagram showing a software configuration of the tester shown in FIG.

【図7】図1の試験機の内部プログラムの階層概念を示
すブロック図。
7 is a block diagram showing a hierarchical concept of an internal program of the tester of FIG.

【図8】図1の試験機のハードウエアの構成と機能を示
すデータフロー図。
8 is a data flow diagram showing the hardware configuration and functions of the tester of FIG.

【図9】図1の試験機の具体的なソフトウエアの構成と
機能を示すデータフロー図。
FIG. 9 is a data flow diagram showing a specific software configuration and function of the tester of FIG.

【図10】図1の試験機のテスト制御部の状態遷移を示
す図。
10 is a diagram showing a state transition of a test control unit of the testing machine of FIG.

【図11】状態遷移プログラムの例としてあげたタイム
チャート。
FIG. 11 is a time chart given as an example of a state transition program.

【図12】図11の状態遷移プログラム部分。FIG. 12 is a state transition program part of FIG. 11.

【図13】本発明によるプロセス相互間の通信を示す
図。
FIG. 13 illustrates communication between processes according to the present invention.

【図14】図13のメッセージの形式を示す図。14 is a diagram showing the format of the message shown in FIG.

【図15】実施例におけるタイママクロ命令の機能の説
明図。
FIG. 15 is an explanatory diagram of a function of a timer macro instruction in the embodiment.

【図16】実施例における各順序機械と実行機構の関係
を示す概念図。
FIG. 16 is a conceptual diagram showing the relationship between each sequential machine and the execution mechanism in the embodiment.

【図17】実施例における各プロセスの重なりを示す
図。
FIG. 17 is a diagram showing the overlap of processes in the embodiment.

【図18】実施例におけるプログラムの多重レベルの実
行の関係を示す図。
FIG. 18 is a diagram showing the relationship of multilevel execution of programs in the embodiment.

【図19】実施例におけるプログラム実行制御の概念
図。
FIG. 19 is a conceptual diagram of program execution control in the embodiment.

【図20】実施例におけるタスクの実行準備の説明図。FIG. 20 is an explanatory diagram of task execution preparation according to the embodiment.

【図21】実施例における仮想プロセサのタスク実行の
説明図。
FIG. 21 is an explanatory diagram of task execution of the virtual processor according to the embodiment.

【図22】実施例におけるインタプリタによるタスク実
行の説明図。
FIG. 22 is an explanatory diagram of task execution by the interpreter according to the embodiment.

【図23】実施例におけるマクロ命令の群を示す図。FIG. 23 is a diagram showing a group of macro instructions in the embodiment.

【図24】図23の多分岐サブルーチン系マクロ命令の
説明図。
24 is an explanatory diagram of a multi-branch subroutine macro instruction of FIG. 23.

【図25】図24の多分岐サブルーチン系マクロ命令に
対応するサブルーチン復帰マクロ命令の説明図。
FIG. 25 is an explanatory diagram of a subroutine return macro instruction corresponding to the multi-branch subroutine macro instruction of FIG. 24.

【図26】図21の変形例の説明図。FIG. 26 is an explanatory diagram of a modified example of FIG. 21.

【符号の説明】[Explanation of symbols]

1…テスト手順、2…テスト制御部、3…電話機シミュ
レータ、4…中継台シミュレータ、5…中継線シミュレ
ータ、6…被試験交換機。
DESCRIPTION OF SYMBOLS 1 ... Test procedure, 2 ... Test control part, 3 ... Telephone simulator, 4 ... Relay stand simulator, 5 ... Trunk line simulator, 6 ... Exchange under test.

Claims (16)

【特許請求の範囲】[Claims] 【請求項1】ソフトウエアを含むシステムを構成するシ
ステム構成方式において、 ソフトウエアを複数の機能部分に分割し、各機能部分を
状態遷移プログラムからなる順序機械で構成し、宛先情
報および状態遷移原因情報を付したメッセージで前記順
序機械相互間を結び、各順序機械には自己の順序機械お
よび上記メッセージのみアクセスを許容するようにした
ことを特徴とするシステム構成方式。
1. In a system configuration method for configuring a system including software, the software is divided into a plurality of functional parts, each functional part is configured by a sequential machine composed of a state transition program, and destination information and a state transition cause. A system configuration method characterized in that the sequential machines are connected to each other by a message to which information is attached, and each sequential machine is allowed to access only its own sequential machine and the above message.
【請求項2】上記各順序機械を構成する状態遷移プログ
ラムはマクロ命令で記述されることを特徴とする請求項
1記載のシステム構成方式。
2. The system configuration method according to claim 1, wherein the state transition program forming each of the sequential machines is described by a macro instruction.
【請求項3】前記メッセージは、さらに送元情報を含む
ことを特徴とする請求項1記載のシステム構成方式。
3. The system configuration method according to claim 1, wherein the message further includes sender information.
【請求項4】すべての前記メッセ−ジが統一された構成
を持つことを特徴とする請求項1記載のシステム構成方
式。
4. The system configuration method according to claim 1, wherein all the messages have a unified configuration.
【請求項5】前記順序機械の一つとしてタイミング機能
を司る順序機械を設け、該順序機械は、補足情報として
計時間隔および計数値を含むメッセージを受けて、前記
計時間隔ごとに計数を行ない、前記計数値の計数終了後
に前記送元を宛先として計時終了の旨を伝えるメッセー
ジを返送することを特徴とするシステム構成方式。
5. A sequential machine having a timing function is provided as one of the sequential machines, and the sequential machine receives a message including a time interval and a count value as supplementary information, and counts at each time interval. A system configuration method characterized in that, after the counting of the count value is completed, a message notifying that the time measurement is completed is returned to the sender as the destination.
【請求項6】前記タイミング機能を司る順序機械は、定
期的に起動され、起動される度に該当する計時間隔の計
時対象についてのみ前記計数を行なうことを特徴とする
請求項5記載のシステム構成方式。
6. The system configuration according to claim 5, wherein the sequential machine that controls the timing function is periodically activated and performs the counting only for a timing object having a timing interval corresponding to each time it is activated. method.
【請求項7】前記タイミング機能を司る順序機械は、計
時対象を指定する情報を含むメッセージを受けて当該計
時対象についての計時動作を解消することを特徴とする
請求項6記載のシステム構成方式。
7. The system configuration method according to claim 6, wherein the sequential machine that controls the timing function receives a message including information specifying a timing object and cancels the timing operation for the timing object.
【請求項8】上記マクロ命令で、間接アドレッシングを
採用したことを特徴とする請求項2記載のシステム構成
方式。
8. The system configuration method according to claim 2, wherein indirect addressing is adopted in the macro instruction.
【請求項9】順序機械の現在の状態と状態遷移原因とに
より目的の状態遷移プログラムの先頭アドレスが得られ
る2次元構成の先頭アドレステーブルを設けるととも
に、各順序機械にタスクコントロールブロックを割当て
て、該タスクコントロールブロックに当該順序機械の現
在の状態を表す現状態情報を保持するようにし、メッセ
ージを受けた順序機械は、当該宛先情報から該当するタ
スクコントロールブロックを割りだし、該タスクコント
ロールブロックに記載された現状態情報および当該メッ
セージの状態遷移原因情報に基づいて、前記先頭アドレ
ステーブルを検索し、実行すべき状態遷移プログラムの
先頭アドレスを得ることを特徴とする請求項1または2
記載のシステム構成方式。
9. A two-dimensional head address table for obtaining the head address of a target state transition program depending on the current state of the sequential machine and the cause of the state transition is provided, and a task control block is assigned to each sequential machine. The task control block holds the current state information indicating the current state of the sequential machine, and the sequential machine receiving the message divides the corresponding task control block from the destination information and writes it in the task control block. 3. The head address of the state transition program to be executed is obtained by searching the head address table based on the present state information and the state transition cause information of the message.
Described system configuration method.
【請求項10】前記複数の順序機械に共用される先頭ア
ドレステーブルを設けると共に、前記タスクコントロー
ルブロックに先頭アドレステーブルの共用/個別の表示
子を設け、「共用」である場合には前記共用される先頭
アドレステーブルを参照することを特徴とする請求項9
記載のシステム構成方式。
10. A head address table shared by the plurality of sequential machines is provided, and a shared / individual indicator of the head address table is provided in the task control block. 10. The head address table according to claim 1 is referred to.
Described system configuration method.
【請求項11】タスクコントロ−ルブロック、特定のメ
モリ領域をオペランドとして、加減算、論理演算などの
演算を行なうマクロ命令を有することを特徴とする請求
項2記載のシステム構成方式。
11. A system configuration method according to claim 2, further comprising a task control block, and a macro instruction for performing operations such as addition and subtraction and logical operation using a specific memory area as an operand.
【請求項12】前記演算を行なうマクロ命令により設定
されたコンデションコ−ドに応じて分岐を行なうマクロ
命令を有することを特徴とする請求項10記載のシステ
ム構成方式。
12. A system configuration method according to claim 10, further comprising a macro instruction for branching in accordance with a condition code set by the macro instruction for performing the operation.
【請求項13】マクロ命令の一種としてサブル−チンに
分岐するマクロ命令を有することを特徴とする請求項2
記載のシステム構成方式。
13. A macro instruction branching to a subroutine as a kind of macro instruction.
Described system configuration method.
【請求項14】前記サブル−チンに分岐するマクロ命令
に複数の戻り先を含むことを特徴とする請求項13記載
のシステム構成方式。
14. The system configuration method according to claim 13, wherein a macro instruction branched to the subroutine includes a plurality of return destinations.
【請求項15】前記複数の戻り先のいずれかを指定する
戻りコードを付加したサブルーチン復帰マクロ命令を有
することを特徴とする請求項14記載のシステム構成方
式。
15. The system configuration method according to claim 14, further comprising a subroutine return macro instruction to which a return code designating any one of the plurality of return destinations is added.
【請求項16】前記各順序機械を仮想的にプロセサとみ
なし、各順序機械に対して、現在の状態を表す現状態情
報、マクロ命令のアドレス歩進を行なうステップカウン
タ、コンデションコ−ド、スタック領域、レジスタ領域
のそれぞれを含むタスクコントロールブロックを割当て
ることを特徴とする請求項1または2記載のシステム構
成方式。
16. Each of the sequential machines is virtually regarded as a processor, and for each of the sequential machines, current state information indicating a current state, a step counter for incrementing an address of a macro instruction, a condition code, and a stack area. 3. The system configuration method according to claim 1, wherein a task control block including each of the register areas is allocated.
JP15849891A 1991-06-28 1991-06-28 System configuration method Pending JPH0511997A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP15849891A JPH0511997A (en) 1991-06-28 1991-06-28 System configuration method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP15849891A JPH0511997A (en) 1991-06-28 1991-06-28 System configuration method

Publications (1)

Publication Number Publication Date
JPH0511997A true JPH0511997A (en) 1993-01-22

Family

ID=15673054

Family Applications (1)

Application Number Title Priority Date Filing Date
JP15849891A Pending JPH0511997A (en) 1991-06-28 1991-06-28 System configuration method

Country Status (1)

Country Link
JP (1) JPH0511997A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07123453A (en) * 1993-10-28 1995-05-12 Nec Eng Ltd Electronic exchange system
JPH08503342A (en) * 1992-08-28 1996-04-09 テレフオンアクチーボラゲツト エル エム エリクソン Introduction of high-speed functions in communication networks
JPH10500510A (en) * 1994-05-16 1998-01-13 アップル コンピュータ, インコーポレイテッド A computer system that automatically generates an instance of a task specified by the user

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08503342A (en) * 1992-08-28 1996-04-09 テレフオンアクチーボラゲツト エル エム エリクソン Introduction of high-speed functions in communication networks
JPH07123453A (en) * 1993-10-28 1995-05-12 Nec Eng Ltd Electronic exchange system
JPH10500510A (en) * 1994-05-16 1998-01-13 アップル コンピュータ, インコーポレイテッド A computer system that automatically generates an instance of a task specified by the user

Similar Documents

Publication Publication Date Title
Musa The operational profile
US6785850B2 (en) System and method for automatically configuring a debug system
US20080270103A1 (en) Method for Functional Verification of an Integrated Circuit Model for constituting a Verification Platform, Equipment Emulator and Verification Platform
JP2707515B2 (en) How to compile and run a logic diagram
CA2288378A1 (en) Method and apparatus for testing event driven software
KR100280161B1 (en) Out of sequence work methods and devices
JPS5911943B2 (en) Trap mechanism for data processing equipment
JP2002502516A (en) Selective emulation interpretation using post-translation instructions
JP3366475B2 (en) How to evaluate data processing speed
US5740236A (en) System for providing feature services in a telecommunications system
Blake et al. Systems simulation with digital computers
US4837688A (en) Multi-channel shared resource processor
JPH0511997A (en) System configuration method
US6370589B1 (en) Process for performing at least one test on at least one of the objects of an object-oriented program capable of running in parallel on a computer
US3497630A (en) Conditional stored program computer for controlling switching networks
CN111538493A (en) Streaming data processing method, system, storage medium and electronic equipment
TWI712806B (en) Testing method and testing system
JP2004021907A (en) Simulation system for performance evaluation
WO2000068790A1 (en) An operating system interface method
Wilkes et al. Application of high level interface-based design to telecommunications system hardware
Koono et al. An environmental simulation tester as applied to traffic characteristics evaluation
CN116911219A (en) Method, electronic device and storage medium for simulation of logic system design
Li et al. Validation of Design Metrics on a Telecommunication Application
CN116361176A (en) Control method and device of embedded equipment, processor and electronic equipment
CN111625275A (en) Code reconstruction planning method and device, storage medium and electronic equipment