JPS59733A - Control system of conversation processing - Google Patents

Control system of conversation processing

Info

Publication number
JPS59733A
JPS59733A JP57111190A JP11119082A JPS59733A JP S59733 A JPS59733 A JP S59733A JP 57111190 A JP57111190 A JP 57111190A JP 11119082 A JP11119082 A JP 11119082A JP S59733 A JPS59733 A JP S59733A
Authority
JP
Japan
Prior art keywords
command
key
data
processing
type
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
JP57111190A
Other languages
Japanese (ja)
Inventor
Megumi Suyama
巣山 めぐみ
Etsuko Negishi
根岸 悦子
Eiichi Aoki
栄一 青木
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP57111190A priority Critical patent/JPS59733A/en
Publication of JPS59733A publication Critical patent/JPS59733A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9017Indexing; Data structures therefor; Storage structures using directory or table look-up

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)

Abstract

PURPOSE:To attain ease of review and debugging, by combining command types with key types and forming and storing a control table for performing retrieval with the table. CONSTITUTION:When a data is transmitted to a central processing unit 2, all data and the types of PF key/enter key inputted entirely so far are informed. In receiving the transmission data at a control section 21 of the central proccessing unit 2, a prescribed processing is executed based thereon. The data are handled as data as they are, and the function of a program of the central processing unit depends on the key type and the command type, and the succeeding processing are different. The retrieval finding out a program module to execute the succeeding processing is performed by retrieving a control table 10 based on the key and the command types received at the control section 2 and calling out the registered processing module.

Description

【発明の詳細な説明】 (a)発明の技術分野 本発明は、電子計算機システムにおいて、会話式にデー
タ処理を行なう際の、会話処理制御方式に関する。
DETAILED DESCRIPTION OF THE INVENTION (a) Technical Field of the Invention The present invention relates to a conversation processing control system when data processing is performed conversationally in an electronic computer system.

(bl従来技術とその問題点 電子計算機システムの中央処理装置を時分割で共用して
、会話式に端末装置を操作し処理を行なうシステムが普
及している。この場合、会話処理を行なう制御プログラ
ムは、ファンクションキー、コマンド、正常/異品など
の多種多様なユーザ入力に対処しなければならない。そ
のために従来は、制御プログラムにおいてコマンド種別
をiP文などで判別し、コマンド種別だけでは判別でき
ないときは、更にキ一種別を判別することによって、論
理的にチェックし、処理プログラムのモジュール入口点
を求めて処理を実行している。しかしながら、ユーザ入
力をいちいち論理的に判別するにはプログラムが複雑に
なるだけでなく、処理時間もかかり、会話処理の効率を
低下させる。しかもユーザ人力などの仕様変更時の影響
範囲も大きく、付随する修正が困難になる。
(bl Prior Art and its Problems) Systems have become widespread in which the central processing unit of an electronic computer system is shared in a time-sharing manner and processes are performed by interactively operating terminal devices.In this case, a control program that performs conversational processing has to deal with a wide variety of user inputs such as function keys, commands, normal/abnormal, etc.For this purpose, conventionally, the command type was determined in the control program using iP statements, etc., and when it could not be determined based on the command type alone, By further determining the key type, the system performs a logical check and determines the module entry point of the processing program to execute the process.However, the program is complicated to logically determine the user input one by one. Not only that, but it also takes processing time and reduces the efficiency of conversation processing.Furthermore, changes in specifications such as user power have a large influence, making accompanying corrections difficult.

(e)発明の目的 本発明は、従来の会話処理制御方式におりるこのような
問題を解決し、簡単な構成で且つ高速に会話処理を行な
えるようにすると共に、仕1様変更などの際のメンテナ
ンスも簡単に行なえるようにすることを目的とする。
(e) Purpose of the Invention The present invention solves the problems of conventional conversation processing control systems, enables high-speed conversation processing with a simple configuration, and eliminates the need for changes in specifications. The purpose is to make maintenance easier.

fd1発明の構成 この目的を達成するために本発明は、入力されるキ一種
別とコマンド種別の総ての組合せをもった制御テーブル
が格納されており、且つ会話処理で必要とする制御プロ
グラムがそれぞれ独立したモジュールとして装備されて
いると共に、キ一種別およびコマンド種別に対応して、
実行すべきモジュールが順番に登録されており、 受信したキ一種別とコマンド種別から、制御テーブルに
よって、登録されている処理モジュールを検索して呼び
出すような構成を採っている。
Structure of fd1 Invention In order to achieve this object, the present invention stores a control table having all combinations of input key types and command types, and a control program required for conversation processing. Each is equipped as an independent module, and corresponds to the key type and command type.
Modules to be executed are registered in order, and a control table is used to search and call the registered processing module based on the received key type and command type.

fe)発明の実施例 次に本発明による会話処理制御方式の実施例を図に基づ
い′ζ説明する。第1図は会話処理システムの構成を示
すもので、1は端末装置、2は中央処理装置である。端
末装置1には、F’Fキー即ちプログラム・ファンクシ
ョン・キー3・・・と、端末装置側から中央処理装置へ
の送信実行を指令するた3− めのエンターキー(ENTERキー)4を備えている。
fe) Embodiment of the Invention Next, an embodiment of the conversation processing control system according to the present invention will be described with reference to the drawings. FIG. 1 shows the configuration of a conversation processing system, where 1 is a terminal device and 2 is a central processing unit. The terminal device 1 is equipped with an F'F key, that is, a program function key 3, and a third enter key (ENTER key) 4 for instructing execution of transmission from the terminal device side to the central processing unit. ing.

端末装置の画面5中の6で示される領域はコマンド入力
行、7で示される領域はデータ入力行をそれぞれ示して
いる。
The area indicated by 6 on the screen 5 of the terminal device indicates a command input line, and the area indicated by 7 indicates a data input line.

端末装置の叶キー3またはエンターキー4を打鍵すると
、デ・−夕が中央処理装置2に送信される。
When the user presses the key 3 or the enter key 4 of the terminal device, the data is sent to the central processing unit 2.

ことき、それまで入力した総てのデータとPF主キーエ
ンターキーの種別が、通知される。なおこのときの送信
データは、フィールド位置を示すデータ81とその位置
に入力されたフィールドデータ82、並びにキ一種別を
示すデータ9が一緒になって送信される。フィールド位
置のデータ81がコマンド入力行をさすときは、フィー
ルドデータ82はそのデータ即ちコマンドとなる。
At this time, all the data input so far and the type of the PF primary key enter key will be notified. Note that the transmission data at this time includes data 81 indicating the field position, field data 82 input at that position, and data 9 indicating the type of key. When field position data 81 points to a command input line, field data 82 becomes that data, that is, the command.

中央処理装置2の制御部21でこの送信データを受信す
ると、それに基づいて所定の処理が行なわれる。そのた
めに、データはそのままデータとして扱うが、PFキー
3のキ一種別とコマンド種別とによって、中央処理装置
のプログラムの機能が異な゛す、以後の処理が違ってく
る。例えば、処理を=4− 終了するとか、キャンセルするとかの処理を行なう。
When the control unit 21 of the central processing unit 2 receives this transmission data, predetermined processing is performed based on it. Therefore, the data is treated as data as it is, but the function of the program of the central processing unit differs depending on the type of key of the PF key 3 and the type of command, and the subsequent processing will be different. For example, a process such as =4- ending the process or canceling the process is performed.

このように端末装置l側から、データと共にPF主キー
コマンドの入力が送信されて来ると、以後の処理を実行
するたのプログラムモジュールを見付ける必要がある。
When input of the PF primary key command along with data is transmitted from the terminal device l side in this way, it is necessary to find a program module for executing subsequent processing.

この検索は本発明では、制御部21において、受信した
キ一種別とコマンド種別に基づいて、制御テーブルlO
を検索し、登録されている処理モジュールを呼出すこと
によって行なわれる。
In the present invention, this search is performed in the control unit 21 based on the received key type and command type.
This is done by searching for and calling the registered processing module.

第2図はキ一種別とコマンド種別との組合せによる処理
形態を示す図で、各キ一種別とコマンド種別との交差す
る位置に、インデックスを表す数字が示されている。図
中のインデックスを示す数字で、■は八BEND、2は
コマンド名エラー、3はコマンドとPF主キー重複エラ
ーというように、各処理種別のインデックスとなってい
る。これによると、#2.4.5.10.11.12.
13.14.15.16だけがコマンド処理になってお
り、これらはそれぞれ、各コマンドを入力した後エンタ
ーキー45− を打鍵したときに有効となり、そのコマンドが中央処理
装置に送信されてコマンド処理される。逆にコマンドが
入力されずに(コマンドなし)、エンターキーが打鍵さ
れると、#4のデータのチェックとなり、コマンドが入
力されずにI’Fキーの#1、#2、#4、#7〜11
がそれぞれ打鍵された場合は、コマンド処理#1で示す
“ 八BEND″となる。なおコマンド入力が無く、P
F主キー#3、#5、#6、#12が打鍵されたときは
、それぞれ呼出しモジュールの#4.5.6、#4.5
.7、#4.5.8、#9.4のモジュールが呼び出さ
れて対応するモジュールが実行される。従ってPF主キ
ー#3、#5、#6、#12は、PF主キー独でもコマ
ンド入力と同じ機能を果すことになり、いちいちコマン
ドを入力しないでワンタンヂ・オペレーションが可能に
なる。
FIG. 2 is a diagram showing a processing form based on combinations of key types and command types, and a number representing an index is shown at the intersection of each key type and command type. The numbers indicate the indexes in the figure, and ``■'' indicates 8 BEND, 2 indicates command name error, and 3 indicates command and PF primary key duplication error, and so on. According to this, #2.4.5.10.11.12.
Only commands 13, 14, 15, and 16 are processed, and each of these becomes effective when the enter key 45- is pressed after inputting each command, and the command is sent to the central processing unit to process the command. be done. Conversely, if the enter key is pressed without any command being input (no command), the data in #4 will be checked, and the I'F keys #1, #2, #4, # will be checked without any command being input. 7-11
If each key is pressed, "8 BEND" is indicated by command processing #1. Note that there is no command input, and P
When F primary keys #3, #5, #6, and #12 are pressed, #4.5.6 and #4.5 of the calling module are pressed, respectively.
.. 7, #4.5.8, and #9.4 modules are called and the corresponding modules are executed. Therefore, the PF primary keys #3, #5, #6, and #12 perform the same function as command input even when used alone, and one-tongue operations can be performed without inputting commands one by one.

また、例えばコマンドとして“LOG”コマンドを入力
した後エンターキーを打鍵した場合であれば、#4のデ
ータチェックの後、#5のデータの書き出し、#13の
LOC,コマン]・を順次実行するよ6− うになっている。
For example, if you press the enter key after inputting the "LOG" command as a command, after the data check in #4, write the data in #5, and execute the LOC, command in #13 in sequence. 6- The sea urchin is turning.

以上のほかに、コマンド入力とPFキー人力が同時に行
なわれたときは、モジュール#lのABENDや#2の
コマンド名エラー、#3のコマンドとPF主キー重複エ
ラーとなり、それぞれのエラーメソセージが表示される
。このようにコマンド種別とキ一種別との組合せによっ
て、各モジュールを指定することができる。
In addition to the above, when command input and PF key manual input are performed at the same time, module #1 ABEND, #2 command name error, #3 command and PF primary key duplication error will occur, and each error message will be Is displayed. In this way, each module can be specified by a combination of command type and key type.

第3図は、これらの組合せを要約した形でテーブルを構
成し、そのビットパターンと呼出しモジュールのインデ
ックスを示したものであり、エンターキーと各PF主キ
ー含む総てのキ一種別と、コマンド無しの場合も含めた
総てのコマンド種別が含まれている。そしてエンターキ
ーや各PF主キーコマンド種別との組合せにより、所定
の位置にビットが設定されており、総ての組合せに対応
して処理種別が1〜20まで示されている。キ一種別と
コマンド種別との組合せによる処理種別は、第2図の場
合と同しであり、例えばコマンI・無しがONでエンタ
ーキーもONの場合は、処理種別は3番目7− で、呼出しモジュールは#4となり、第2図と一致して
いる。 CANコマンドがONで、エンターキーもON
の場合は、処理種別は9番目、呼出しモジュールのイン
デックスは#10で、 CANコマンドとなる。このよ
うに各処理種別の内、コマンド種別側とキ一種別側が共
にONの場合に、対応する処理種別のモジュールが呼出
されるようになっ゛(いる。
Figure 3 shows a table summarizing these combinations, showing their bit patterns and calling module indexes, and shows all key types including the enter key and each PF primary key, and commands. All command types are included, including those without. Bits are set at predetermined positions depending on the combination with the enter key and each PF primary key command type, and processing types 1 to 20 are shown corresponding to all combinations. The processing type based on the combination of key type and command type is the same as in the case of Fig. 2. For example, if Command I/None is ON and the Enter key is also ON, the processing type is the third 7-, The calling module is #4, which is consistent with FIG. CAN command is ON and enter key is also ON
In this case, the processing type is 9th, the calling module index is #10, and it is a CAN command. In this way, when both the command type side and the key type side of each processing type are ON, the module of the corresponding processing type is called.

このテーブルは、第1図のテーブル10であり、このテ
ーブルのモジュールインデックス#とモジュールの番地
を対応させるために、テーブル11を設けている。そし
てモジュール番地が指定されると、対応するモジュール
M+ 、M2 、M3・・・が呼出されて、実行が行な
われる。
This table is table 10 in FIG. 1, and table 11 is provided to make the module index # of this table correspond to the module address. When a module address is designated, the corresponding modules M+, M2, M3, etc. are called and executed.

実際にコマンドを入力するときは、第1図の端末装置画
面のコマンド入力行6にカーソルを合せてコマンド例え
ば°’  CAN”を入力してから、エンターキーを打
鍵すると、それぞれコード化された送信データとなって
中央処理装置側へ送信される、そしてこの送信されて来
た値をインデックスとして前記のテーブル10を索引す
ることにより、モジ8− ュールのインデックスが求まり、それに基づいてテーブ
ル11でモジュールの人口点のアl=’レスが求まって
、対応するモジュールM1、M2、M3・・・が呼出さ
れる。
When actually inputting a command, move the cursor to command input line 6 on the terminal device screen in Figure 1, input the command, for example °' CAN, and then press the enter key. The module index is determined by indexing the table 10 using this transmitted value as an index, and the module index is determined in table 11 based on the index. The address of the population point is determined, and the corresponding modules M1, M2, M3, . . . are called.

第4図は端末装置からの送信データを受信したときのテ
ーブル索引動作のフローチャートで、まずコマンドが入
力されたかどうかが判定され、コマンド入力が無い場合
は、コマンドなしを意味するインデックスを設定する。
FIG. 4 is a flowchart of a table indexing operation when transmitting data from a terminal device is received. First, it is determined whether a command has been input, and if there is no command input, an index indicating no command is set.

一方コマント入力が有った場合は、そのコマンドが正し
いかどうか判断され、登録されているコマンドでないと
判定されたときは、コマンドエラーを意味するインデッ
クスを設定する。コマンドが正しいときは、その内容を
解析して、制御ブロックのコマンドヒント列のインデッ
クスを得る。
On the other hand, if a command is input, it is determined whether the command is correct or not, and if it is determined that it is not a registered command, an index indicating a command error is set. If the command is valid, its contents are parsed to obtain the index of the control block's command hint column.

次に送信データの9で示されるキ一種別信号により、制
御ブロックのPFキービット列のインデックスを得る。
Next, the index of the PF key bit string of the control block is obtained from the key type signal indicated by 9 in the transmission data.

そしてコマンド種別とキ一種別の2つのインデックスに
より、それぞれのビット列の指定されたビットが共にO
Nになるまで、制御プロ9− ツクのインデックスを進めていくことにより、制御ブロ
ックを検索する。その結果登録されているコマンド、P
Fキー処理モジュールが次々に呼出される。エラーが発
生したときは、処理内容の#1を呼出し、 八BEND
をメツセージ表示し、モジュールの呼出しは行なわれな
い。
Then, by using the two indexes of command type and key type, the specified bits of each bit string are both O
The control block is searched by advancing the index of the control program 9 until N is reached. The command registered as a result, P
The F key processing modules are called one after another. When an error occurs, call process #1 and 8BEND
message is displayed and the module is not called.

ff1発明の効果 以上のように本発明によれば、コマンド種別とキ一種別
の両方の組合せで制御テーブルを作成して格納しておき
、端末装置からの送信データをこのテーブルで検索する
ことによって、対応するモジュールを呼出す方式になっ
ている。そのため、単にテーブルを設けておくだけでよ
くプログラムが簡単になり、テーブル設計書やソースリ
ストを見て容易にレヒューやデバッグを行なうことがで
きる。またそれぞれの処理バクーンが独立しているので
、保守性にも勝れている。テーブルを検索するだけであ
るから処理速度も速く、効率的である。
ff1 Effects of the Invention As described above, according to the present invention, a control table is created and stored with a combination of both command types and key types, and data transmitted from a terminal device is searched in this table. , the method is to call the corresponding module. Therefore, programs can be simplified by simply providing a table, and review and debugging can be easily performed by looking at table design documents and source lists. Also, since each processing machine is independent, maintainability is also superior. Since only the table is searched, the processing speed is fast and efficient.

【図面の簡単な説明】[Brief explanation of the drawing]

10− 図面は本発明Gこよる会話処理制御方式の実施例を示す
もので、第1図はシステムの概要を示す図、第2図はテ
ーブルの基本思想を示す図、第3図は制御テーブルの構
成を示す図、第4図は制御プログラムのモジュールを検
索する処理動作を示すフローチャートである。 図において、Iは端末装置、2は中央処理装置、21は
制御部、3・・・はPF主キー4はエンターキー、5は
画面、10は制御テーブル、11はモジュール入口点テ
ーブル、Ml 、M2・・・はプログラムモジュールを
それぞれ示す。 特許出願人      富士通株式会社代理人 弁理士
    青 柳   稔11− 第11
10- The drawings show an embodiment of the conversation processing control method according to the present invention, in which Fig. 1 shows an overview of the system, Fig. 2 shows the basic concept of the table, and Fig. 3 shows the control table. FIG. 4 is a flowchart showing the processing operation for searching for a module of the control program. In the figure, I is a terminal device, 2 is a central processing unit, 21 is a control unit, 3... is a PF primary key, 4 is an enter key, 5 is a screen, 10 is a control table, 11 is a module entry point table, Ml, M2...indicates a program module, respectively. Patent applicant: Fujitsu Ltd. Agent: Patent attorney: Minoru Aoyagi 11- No. 11

Claims (1)

【特許請求の範囲】[Claims] 入力されるキ一種別とコマンl” f!!別の総ての組
合せをもった制御テーブルが格納され−でおり、且つ会
話処理で必要とする制御プログラムがそれぞれ独立した
モジュールとして装備されていると共に、キ一種別およ
びコマンド種別に対応して、実行すべきモジュールが順
番に登録されており、受信したキ一種別とコマンド種別
から、制御テーブルによって、登録されている処理モジ
ュールを検索して呼び出すように構成されていることを
特徴とする会話処理制御方式。
A control table with all the different combinations of input keys and commands is stored, and the control programs required for conversation processing are each equipped as independent modules. In addition, modules to be executed are registered in order according to the key type and command type, and the registered processing module is searched and called using the control table based on the received key type and command type. A conversation processing control method characterized by being configured as follows.
JP57111190A 1982-06-28 1982-06-28 Control system of conversation processing Pending JPS59733A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP57111190A JPS59733A (en) 1982-06-28 1982-06-28 Control system of conversation processing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP57111190A JPS59733A (en) 1982-06-28 1982-06-28 Control system of conversation processing

Publications (1)

Publication Number Publication Date
JPS59733A true JPS59733A (en) 1984-01-05

Family

ID=14554775

Family Applications (1)

Application Number Title Priority Date Filing Date
JP57111190A Pending JPS59733A (en) 1982-06-28 1982-06-28 Control system of conversation processing

Country Status (1)

Country Link
JP (1) JPS59733A (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61187048A (en) * 1985-02-14 1986-08-20 Fujitsu Ltd Alarm processing system
JPS61204737A (en) * 1985-03-06 1986-09-10 Toppan Printing Co Ltd Data processor
JPS61221880A (en) * 1985-03-27 1986-10-02 Fujitsu Ltd Control system for conversation procedure of conversational system
JPS6344240A (en) * 1986-08-11 1988-02-25 Kyushu Nippon Denki Software Kk Program processing control system
JPH01258022A (en) * 1987-11-06 1989-10-16 Toshiba Corp Function selecting and controlling system
JPH02178725A (en) * 1988-12-29 1990-07-11 Canon Inc Printing controller

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5559554A (en) * 1978-10-30 1980-05-06 Hitachi Ltd Program control system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5559554A (en) * 1978-10-30 1980-05-06 Hitachi Ltd Program control system

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61187048A (en) * 1985-02-14 1986-08-20 Fujitsu Ltd Alarm processing system
JPH0518141B2 (en) * 1985-02-14 1993-03-11 Fujitsu Ltd
JPS61204737A (en) * 1985-03-06 1986-09-10 Toppan Printing Co Ltd Data processor
JPS61221880A (en) * 1985-03-27 1986-10-02 Fujitsu Ltd Control system for conversation procedure of conversational system
JPS6344240A (en) * 1986-08-11 1988-02-25 Kyushu Nippon Denki Software Kk Program processing control system
JPH01258022A (en) * 1987-11-06 1989-10-16 Toshiba Corp Function selecting and controlling system
JPH02178725A (en) * 1988-12-29 1990-07-11 Canon Inc Printing controller

Similar Documents

Publication Publication Date Title
JPS63305463A (en) Natural language processing system
JPS59733A (en) Control system of conversation processing
US3618042A (en) Error detection and instruction reexecution device in a data-processing apparatus
JPH03280120A (en) Guidance system utilizing operation history
CN117407430B (en) Data query method, device, computer equipment and storage medium
JPS5894041A (en) Debug backup device for high-class language
JPS6134620A (en) Inputting method to computer
JPS5870361A (en) Input controlling system
Elshoff et al. Handling asynchronous interrupts in a PL/1‐like language
JPS6395530A (en) System for interrupting screen processing
JPH0512739B2 (en)
JPH01120621A (en) Retrieving/updating system for data base
JPS5960531A (en) Data inputting system
JPH01161419A (en) Console control system
JPS60150161A (en) Forbidden processing display system
JPH03222038A (en) Parameter input system in program
JPS60251434A (en) Retrieving method of information
JPH0216614A (en) Established value pre-registration input system for general purpose terminal equipment
JPH06266630A (en) Input/output controller with trace function
JPS59125426A (en) Correction system for identical sentence group by full screen
JPS6033625A (en) Conversational information retrieving device
JPS63101959A (en) Japanese word processor
JPS59218527A (en) Command checking system
JPH0689167A (en) Protocol design device
JPH01180041A (en) Data base retrieving device