JPS6239785B2 - - Google Patents
Info
- Publication number
- JPS6239785B2 JPS6239785B2 JP56032763A JP3276381A JPS6239785B2 JP S6239785 B2 JPS6239785 B2 JP S6239785B2 JP 56032763 A JP56032763 A JP 56032763A JP 3276381 A JP3276381 A JP 3276381A JP S6239785 B2 JPS6239785 B2 JP S6239785B2
- Authority
- JP
- Japan
- Prior art keywords
- file
- register
- area
- processing unit
- central processing
- 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.)
- Expired
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Description
【発明の詳細な説明】
本発明は、中央処理装置とサービス・プロセツ
サとを持つ計算機システムにおけるテスト・プロ
グラムの退避復元方式に関するものである。
サとを持つ計算機システムにおけるテスト・プロ
グラムの退避復元方式に関するものである。
中央処理装置を試験する場合、あらかじめ用意
されているテスト・プログラム等を中央処理装置
にロードし、実行させることにより障害探索をす
る方法が一般に良く用いられる。しかし、あらか
じめ用意されているテスト・プログラムは機能試
験を目的としており、全ての障害のケースを考慮
したプログラムを用意しておくことは不可能に近
い。しかし、現実には種々の障害が発生する。そ
こで、従来技術においては障害調査を目的として
計算機を動作させる場合その計算機中にマニユア
ル操作で機械語によりテスト・プログラムを組立
て試験する方法が用いられていた。
されているテスト・プログラム等を中央処理装置
にロードし、実行させることにより障害探索をす
る方法が一般に良く用いられる。しかし、あらか
じめ用意されているテスト・プログラムは機能試
験を目的としており、全ての障害のケースを考慮
したプログラムを用意しておくことは不可能に近
い。しかし、現実には種々の障害が発生する。そ
こで、従来技術においては障害調査を目的として
計算機を動作させる場合その計算機中にマニユア
ル操作で機械語によりテスト・プログラムを組立
て試験する方法が用いられていた。
上記の方法は一時的なものであり、計算機をリ
セツトしたり、電源を落したりした場合には、せ
つかく作成したテスト・プログラムも消滅してし
まう。したがつて、同じことを試験するために再
び計算機中に機械語でプログラムをマニユアル操
作により復元しなければならない。
セツトしたり、電源を落したりした場合には、せ
つかく作成したテスト・プログラムも消滅してし
まう。したがつて、同じことを試験するために再
び計算機中に機械語でプログラムをマニユアル操
作により復元しなければならない。
上記のように、一時的なテスト・プログラムは
一時的にしか使用しないにも拘らず、実際には復
元するという同一動作を何度もオペレータに対し
て強要することになり、効率の良い方法とは言え
ない。
一時的にしか使用しないにも拘らず、実際には復
元するという同一動作を何度もオペレータに対し
て強要することになり、効率の良い方法とは言え
ない。
本発明は、上記の考察に基づくものであつて、
計算機中に組立てられた一時的テスト・プログラ
ムを不揮発性メモリに退避させ、必要に応じてそ
のテスト・プログラムを計算機中に復元させるこ
とを可能とするテスト・プログラムの退避復元方
式を提供することを目的としている。そしてその
ため、本発明のテスト・プログラムの退避復元方
式は、 中央処理装置および外部記憶装置を持つサービ
ス・プロセツサを備え、 上記サービス・プロセツサが、上記中央処理装
置の内部状態の読出し、内部状態の変更、停止お
よび起動を行い得るようになつた計算機システム
において、 上記サービス・プロセツサに退避手段と復元手
段とが設けられ、 テスト・プログラムに対して付与されるフアイ
ル名もしくは識別番号、主記憶の読出すべき領域
を特定するアドレス情報、読出すべきレジスタを
特定するレジスタ特定情報およびテスト・プログ
ラムの実行開始アドレスが入力され、そして主記
憶の内容を退避すべきことを指令する退避指示が
入力された時、上記サービス・プロセツサの退避
手段が起動され、当該退避手段の制御により、外
部記憶装置の領域が獲得され、当該獲得領域に、
入力されたアドレス情報、レジスタ特定情報およ
びプログラム実行開始アドレス等が書込まれ、そ
して主記憶の指定された領域のデータおよび指定
されたレジスタのデータが上記獲得領域に書込ま
れ、当該獲得領域が入力されたフアイル名もしく
は識別番号で管理され、 フアイル名もしくは識別番号が入力され、そし
て復元すべきことを指令する復元指示が入力され
た時、上記サービス・プロセツサの復元手段が起
動され、当該復元手段の制御により、該当するフ
アイルが外部記憶装置の中から検索され、当該フ
アイル中のテスト・プログラムが当該フアイル中
のアドレス情報で指定される中央処理装置の主記
憶の領域にロードされ、当該フアイル中のレジス
タ・データが当該フアイル中のレジスタ特定情報
で指定されるレジスタにセツトされ、当該フアイ
ル中のプログラム実行開始アドレスが命令アドレ
ス・レジスタにセツトされることを特徴とするも
のである。以下、本発明を図面を参照しつつ説明
する。
計算機中に組立てられた一時的テスト・プログラ
ムを不揮発性メモリに退避させ、必要に応じてそ
のテスト・プログラムを計算機中に復元させるこ
とを可能とするテスト・プログラムの退避復元方
式を提供することを目的としている。そしてその
ため、本発明のテスト・プログラムの退避復元方
式は、 中央処理装置および外部記憶装置を持つサービ
ス・プロセツサを備え、 上記サービス・プロセツサが、上記中央処理装
置の内部状態の読出し、内部状態の変更、停止お
よび起動を行い得るようになつた計算機システム
において、 上記サービス・プロセツサに退避手段と復元手
段とが設けられ、 テスト・プログラムに対して付与されるフアイ
ル名もしくは識別番号、主記憶の読出すべき領域
を特定するアドレス情報、読出すべきレジスタを
特定するレジスタ特定情報およびテスト・プログ
ラムの実行開始アドレスが入力され、そして主記
憶の内容を退避すべきことを指令する退避指示が
入力された時、上記サービス・プロセツサの退避
手段が起動され、当該退避手段の制御により、外
部記憶装置の領域が獲得され、当該獲得領域に、
入力されたアドレス情報、レジスタ特定情報およ
びプログラム実行開始アドレス等が書込まれ、そ
して主記憶の指定された領域のデータおよび指定
されたレジスタのデータが上記獲得領域に書込ま
れ、当該獲得領域が入力されたフアイル名もしく
は識別番号で管理され、 フアイル名もしくは識別番号が入力され、そし
て復元すべきことを指令する復元指示が入力され
た時、上記サービス・プロセツサの復元手段が起
動され、当該復元手段の制御により、該当するフ
アイルが外部記憶装置の中から検索され、当該フ
アイル中のテスト・プログラムが当該フアイル中
のアドレス情報で指定される中央処理装置の主記
憶の領域にロードされ、当該フアイル中のレジス
タ・データが当該フアイル中のレジスタ特定情報
で指定されるレジスタにセツトされ、当該フアイ
ル中のプログラム実行開始アドレスが命令アドレ
ス・レジスタにセツトされることを特徴とするも
のである。以下、本発明を図面を参照しつつ説明
する。
図は本発明が適用される計算機システムの1例
を示すものであつて、1は中央処理装置、2はサ
ービス・プロセツサ、3―0と3―1はチヤネ
ル、4はコンソール・インターフエース、5はシ
ステム電源制御装置、6はコンソール・プロセツ
サ、7は記憶装置、8は電源インターフエース、
9は磁気デイスク装置、10はコントロール・パ
ネル、11はモデム、12―0と12―1はデイ
スプレイ、13―0と13―1はキー・ボード、
14はデイスプレイ制御装置をそれぞれ示してい
る。
を示すものであつて、1は中央処理装置、2はサ
ービス・プロセツサ、3―0と3―1はチヤネ
ル、4はコンソール・インターフエース、5はシ
ステム電源制御装置、6はコンソール・プロセツ
サ、7は記憶装置、8は電源インターフエース、
9は磁気デイスク装置、10はコントロール・パ
ネル、11はモデム、12―0と12―1はデイ
スプレイ、13―0と13―1はキー・ボード、
14はデイスプレイ制御装置をそれぞれ示してい
る。
サービス・プロセツサ2は、中央処理装置1と
は独立のプロセツサであつて、中央処理装置1と
はチヤネル・インタフエースおよびコンピユー
タ・コンソール・インタフエースで接続されてい
る。サービス・プロセツサ2は、コンソール・プ
ロセツサ6や記憶装置7、電源インタフエース
8、コントロール・パネル10、モデム11、デ
イスプレイ12―0と12―1、キーボード13
―0と13―1などを有している。サービス・プ
ロセツサ2はシステムの監視、操作、制御などを
一括して行うことが出来、例えば表示、変更、起
動、停止、リセツトなどの制御機能を有してい
る。表示とは中央処理装置側の各種レジスタや主
記憶の内容を読出してデイスプレイ12―1に表
示させる機能であり、変更とは中央処理装置の各
種レジスタや主記憶の内容を変更させる機能であ
り、停止とは中央処理装置を停止状態にさせる機
能であり、起動とは中央処理装置を作動状態にさ
せる機能であり、リセツトとは中央処理装置側の
内部状態をクリアする機能である。
は独立のプロセツサであつて、中央処理装置1と
はチヤネル・インタフエースおよびコンピユー
タ・コンソール・インタフエースで接続されてい
る。サービス・プロセツサ2は、コンソール・プ
ロセツサ6や記憶装置7、電源インタフエース
8、コントロール・パネル10、モデム11、デ
イスプレイ12―0と12―1、キーボード13
―0と13―1などを有している。サービス・プ
ロセツサ2はシステムの監視、操作、制御などを
一括して行うことが出来、例えば表示、変更、起
動、停止、リセツトなどの制御機能を有してい
る。表示とは中央処理装置側の各種レジスタや主
記憶の内容を読出してデイスプレイ12―1に表
示させる機能であり、変更とは中央処理装置の各
種レジスタや主記憶の内容を変更させる機能であ
り、停止とは中央処理装置を停止状態にさせる機
能であり、起動とは中央処理装置を作動状態にさ
せる機能であり、リセツトとは中央処理装置側の
内部状態をクリアする機能である。
さきに述べたように、障害調査などを目的とし
て、サービス・プロセツサ2を用いて中央処理装
置1の主記憶(図示せず)に機械語のテスト・プ
ログラムを組立て、このテスト・プログラムを実
行して障害調査などを行う場合がある。主記憶は
揮発性のRAMから構成されているので、電源が
オフされたときには主記憶のテスト・プログラム
は消滅してしまう。本発明は、主記憶に組立てら
れたテスト・プログラムを繰返して使用できるよ
うにすることを目的とするものであつて、主記憶
に組立てられたテスト・プログラムをサービス・
プロセツサ2の磁気デイスク装置9などに退避さ
せ、必要に応じて磁気デイスク装置9からテス
ト・プログラムを読出して中央処理装置1の主記
憶にロードし、ロードしたテスト・プログラムを
実行できるようにしたものである。
て、サービス・プロセツサ2を用いて中央処理装
置1の主記憶(図示せず)に機械語のテスト・プ
ログラムを組立て、このテスト・プログラムを実
行して障害調査などを行う場合がある。主記憶は
揮発性のRAMから構成されているので、電源が
オフされたときには主記憶のテスト・プログラム
は消滅してしまう。本発明は、主記憶に組立てら
れたテスト・プログラムを繰返して使用できるよ
うにすることを目的とするものであつて、主記憶
に組立てられたテスト・プログラムをサービス・
プロセツサ2の磁気デイスク装置9などに退避さ
せ、必要に応じて磁気デイスク装置9からテス
ト・プログラムを読出して中央処理装置1の主記
憶にロードし、ロードしたテスト・プログラムを
実行できるようにしたものである。
中央処理装置1の主記憶に組立てられたテス
ト・プログラムをサービス・プロセツサ2の磁気
デイスク装置9に退避させる場合には、次のよう
な操作が行われる。オペレータは、キー・ボード
13―1を用いて、テスト・プログラムに対して
付与される名前もしくは識別番号、主メモリの読
出すべき領域を特定する先頭アドレスと終端アド
レス、読出すべきレジスタを特定するレジスタ識
別番号、およびテスト・プログラムの実行開始ア
ドレスなどを入力し、そして主記憶の内容を退避
すべきことを指令するセーブ(SAVE)コマンド
を入力する。このセーブ・コマンドの実行が開始
されると、サービス・プロセツサ2は、磁気デイ
スク装置9の中にテスト・プログラムを格納する
エリアを確保する。そして、このエリアに入力さ
れた読出領域の先頭アドレス、読出領域の終端ア
ドレス、レジスタ識別番号およびプログラム実行
開始アドレスなどを書込み、しかる後に主記憶の
指定された領域のデータおよび指定されたレジス
タのデータをコンソール・インタフエースを介し
て読出して、上記磁気デイスク装置9のエリアに
書込む。セーブ・コマンドを実行するためのプロ
グラムは記憶装置7の中に存在する。
ト・プログラムをサービス・プロセツサ2の磁気
デイスク装置9に退避させる場合には、次のよう
な操作が行われる。オペレータは、キー・ボード
13―1を用いて、テスト・プログラムに対して
付与される名前もしくは識別番号、主メモリの読
出すべき領域を特定する先頭アドレスと終端アド
レス、読出すべきレジスタを特定するレジスタ識
別番号、およびテスト・プログラムの実行開始ア
ドレスなどを入力し、そして主記憶の内容を退避
すべきことを指令するセーブ(SAVE)コマンド
を入力する。このセーブ・コマンドの実行が開始
されると、サービス・プロセツサ2は、磁気デイ
スク装置9の中にテスト・プログラムを格納する
エリアを確保する。そして、このエリアに入力さ
れた読出領域の先頭アドレス、読出領域の終端ア
ドレス、レジスタ識別番号およびプログラム実行
開始アドレスなどを書込み、しかる後に主記憶の
指定された領域のデータおよび指定されたレジス
タのデータをコンソール・インタフエースを介し
て読出して、上記磁気デイスク装置9のエリアに
書込む。セーブ・コマンドを実行するためのプロ
グラムは記憶装置7の中に存在する。
磁気デイスク装置9に格納されたテスト・プロ
グラムを中央処理装置1の主記憶に復元したい場
合には、キー・ボード13―1からテスト・プロ
グラムに対して付与されたフアイル名もしくは識
別番号を入力し、復元すべきことを指令するリス
トア(RESTORE)コマンドを入力する。このリ
ストア・コマンドの実行が開始されると、サービ
ス・プロセツサ2は該当するフアイルを磁気デイ
スク装置9から探し出して読出し、フアイル中に
書込まれている領域先頭アドレスおよび領域終端
アドレスを参照してテスト・プログラムを中央処
理装置1の主記憶にロードし、フアイル中に書込
まれているレジスタ識別番号を参照してレジス
タ・データを中央処理装置1のレジスタにセツト
し、フアイル中に書込まれているプログラム実行
開始アドレスを命令アドレス・レジスタにセツト
する。リストア・コマンドを実行させるためのプ
ログラムは記憶装置7の中に存在する。上記の復
元処理が終了した後、オペレータは起動キー(図
示せず)を押下して中央処理装置1を作動状態と
し、テスト・プログラムの実行を開始させる。
グラムを中央処理装置1の主記憶に復元したい場
合には、キー・ボード13―1からテスト・プロ
グラムに対して付与されたフアイル名もしくは識
別番号を入力し、復元すべきことを指令するリス
トア(RESTORE)コマンドを入力する。このリ
ストア・コマンドの実行が開始されると、サービ
ス・プロセツサ2は該当するフアイルを磁気デイ
スク装置9から探し出して読出し、フアイル中に
書込まれている領域先頭アドレスおよび領域終端
アドレスを参照してテスト・プログラムを中央処
理装置1の主記憶にロードし、フアイル中に書込
まれているレジスタ識別番号を参照してレジス
タ・データを中央処理装置1のレジスタにセツト
し、フアイル中に書込まれているプログラム実行
開始アドレスを命令アドレス・レジスタにセツト
する。リストア・コマンドを実行させるためのプ
ログラムは記憶装置7の中に存在する。上記の復
元処理が終了した後、オペレータは起動キー(図
示せず)を押下して中央処理装置1を作動状態と
し、テスト・プログラムの実行を開始させる。
以上の説明から明らかなように、中央処理装置
に作成された任意のテスト・プログラムを、任意
の名前もしくは識別番号を付与してサービス・プ
ロセツサの中に退避保存しておくことが出来ると
共に何時でも必要とした時点で、退避保存してお
いたテスト・プログラムを中央処理装置にロード
し実行させることが出来るので、中央処理装置の
テストを効率的に行うことが出来る。
に作成された任意のテスト・プログラムを、任意
の名前もしくは識別番号を付与してサービス・プ
ロセツサの中に退避保存しておくことが出来ると
共に何時でも必要とした時点で、退避保存してお
いたテスト・プログラムを中央処理装置にロード
し実行させることが出来るので、中央処理装置の
テストを効率的に行うことが出来る。
図は本発明が適用される計算機システムの1例
を示す図である。 1……中央処理装置、2……サービス・プロセ
ツサ、3―0と3−1……チヤネル、4……コン
ソル・インタフエース、5……システム電源装
置、6……コンソール・プロセツサ、7……記憶
装置、8……電源インタフエース、9……磁気デ
イスク装置、10……コントロール・パネル、1
1……モデム、12―0と12―1……デイスプ
レイ、13―0と13―1……キー・ボード、1
4……デイスプレイ制御装置。
を示す図である。 1……中央処理装置、2……サービス・プロセ
ツサ、3―0と3−1……チヤネル、4……コン
ソル・インタフエース、5……システム電源装
置、6……コンソール・プロセツサ、7……記憶
装置、8……電源インタフエース、9……磁気デ
イスク装置、10……コントロール・パネル、1
1……モデム、12―0と12―1……デイスプ
レイ、13―0と13―1……キー・ボード、1
4……デイスプレイ制御装置。
Claims (1)
- 【特許請求の範囲】 1 中央処理装置および外部記憶装置を持つサー
ビス・プロセツサを備え、 上記サービス・プロセツサが、上記中央処理装
置の内部状態の読出し、内部状態の変更、停止お
よび起動を行い得るようになつた計算機システム
において、 上記サービス・プロセツサに退避手段と復元手
段とが設けられ、 テスト・プログラムに対して付与されるフアイ
ル名もしくは識別番号、主記憶の読出すべき領域
を特定するアドレス情報、読出すべきレジスタを
特定するレジスタ特定情報およびテスト・プログ
ラムの実行開始アドレスが入力され、そして主記
憶の内容を退避すべきことを指令する退避指示が
入力された時、上記サービス・プロセツサの退避
手段が起動され、当該退避手段の制御により、外
部記憶装置の領域が獲得され、当該獲得領域に、
入力されたアドレス情報、レジスタ特定情報およ
びプログラム実行開始アドレス等が書込まれ、そ
して主記憶の指定された領域のデータおよび指定
されたレジスタのデータが上記獲得領域に書込ま
れ、当該獲得領域が入力されたフアイル名もしく
は識別番号で管理され、 フアイル名もしくは識別番号が入力され、そし
て復元すべきことを指令する復元指示が入力され
た時、上記サービス・プロセツサの復元手段が起
動され、当該復元手段の制御により、該当するフ
アイルが外部記憶装置の中から検索され、当該フ
アイル中のテスト・プログラムが当該フアイル中
のアドレス情報で指定される中央処理装置の主記
憶の領域にロードされ、当該フアイル中のレジス
タ・データが当該フアイル中のレジスタ特定情報
で指定されるレジスタにセツトされ、当該フアイ
ル中のプログラム実行開始アドレスが命令アドレ
ス・レジスタにセツトされる ことを特徴とするテスト・プログラムの退避復元
方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP56032763A JPS57147763A (en) | 1981-03-07 | 1981-03-07 | Evacuation restoring system of test program |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP56032763A JPS57147763A (en) | 1981-03-07 | 1981-03-07 | Evacuation restoring system of test program |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS57147763A JPS57147763A (en) | 1982-09-11 |
| JPS6239785B2 true JPS6239785B2 (ja) | 1987-08-25 |
Family
ID=12367876
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP56032763A Granted JPS57147763A (en) | 1981-03-07 | 1981-03-07 | Evacuation restoring system of test program |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS57147763A (ja) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS6234246A (ja) * | 1985-08-06 | 1987-02-14 | Nec Corp | デ−タ処理装置 |
| JPH0719170B2 (ja) * | 1987-10-27 | 1995-03-06 | 三菱電機株式会社 | プログラマブルコントローラにおけるシーケンスプログラムのデバッグ方法 |
| JPH0273434A (ja) * | 1988-09-09 | 1990-03-13 | Fujitsu Ltd | 補助記憶装置からのデータ読み取り方法 |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE2165589A1 (de) * | 1971-12-30 | 1973-07-19 | Ibm Deutschland | Anordnung zur programmgesteuerten bestimmung von fehlern in einer datenverarbeitungsanlage |
| JPS5361938A (en) * | 1976-11-16 | 1978-06-02 | Fujitsu Ltd | Automatic diagnosis device |
-
1981
- 1981-03-07 JP JP56032763A patent/JPS57147763A/ja active Granted
Also Published As
| Publication number | Publication date |
|---|---|
| JPS57147763A (en) | 1982-09-11 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5819024A (en) | Fault analysis system | |
| JPS6239785B2 (ja) | ||
| US6141635A (en) | Method of diagnosing faults in an emulated computer system via a heterogeneous diagnostic program | |
| JPS6029984B2 (ja) | 主メモリ・ダンプ方式 | |
| JPS61177551A (ja) | 処理装置の立上げ制御方式 | |
| JPH0235341B2 (ja) | ||
| JP3399741B2 (ja) | ダンプデータの表示方法及び障害解析システム | |
| JP2658699B2 (ja) | 入出力装置用テストプログラムの被試験装置の管理方法 | |
| JP3224478B2 (ja) | メモリのアクセス状態の比較によるデバッグ・解析方法 | |
| JPH1091477A (ja) | 制御用マイクロコンピュータ装置及び該装置の保守ツール | |
| JP2684966B2 (ja) | 入出力処理装置のデバッグ装置 | |
| JPH09218829A (ja) | 外部記憶装置用書き込み試験方法及びそれを適用した情報処理システム | |
| JPH0478938A (ja) | コンピュータ運用支援システム | |
| JPH08221287A (ja) | 系切り替え制御方法 | |
| JPS62187942A (ja) | デバツグ制御処理方式 | |
| JPH03251934A (ja) | コンピュータ装置 | |
| JPS605362A (ja) | 制御メモリテスト方式 | |
| JPH11110011A (ja) | プロセス制御装置 | |
| JPS62249242A (ja) | 電子計算機のメモリダンプ方式 | |
| JPH04338840A (ja) | プログラムデバッグ支援処理装置 | |
| JPS6367214B2 (ja) | ||
| JPS63138438A (ja) | メモリダンプ方式 | |
| JPH04243431A (ja) | 障害処理機能の評価方式 | |
| JPH05158822A (ja) | 転送装置の命令組合わせ試験装置 | |
| Bowring | Writing a roll‐out‐roll‐in facility for small machines |