JPH096581A - Window system - Google Patents
Window systemInfo
- Publication number
- JPH096581A JPH096581A JP7172916A JP17291695A JPH096581A JP H096581 A JPH096581 A JP H096581A JP 7172916 A JP7172916 A JP 7172916A JP 17291695 A JP17291695 A JP 17291695A JP H096581 A JPH096581 A JP H096581A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- window
- section
- reproduction
- executed
- 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
Links
Landscapes
- User Interface Of Digital Computer (AREA)
- Digital Computer Display Output (AREA)
Abstract
(57)【要約】
【目的】 部分再生を効率よく行い且つ表示内容の変化
がいかなる操作によって引き起こされたかを容易に把握
することができるようにした。
【構成】 各命令列をこれらの相互依存関係を含めて保
存した後、節Ciを指定して該節Ciの命令を再実行し
(S21)、次いで節CiのフラグVが「0」のときは
節Ciが依存する節〔Ci〕が存在するか否かを判断し
(S22→S23→S24)、節〔Ci〕が存在する場
合は当該節〔Ci〕を節Ciに設定して(S25)ステ
ップS21以下の処理を実行し、節Ciが依存する節
〔Ci〕がなくなったときは当該節Ciを実行した後
(S26)フラグVを「1」に設定して処理を終了す
る。また、かかる操作内容を視覚的に表示する表示手段
を有している。
(57) [Summary] [Purpose] Partial playback was performed efficiently and it was possible to easily understand what operation caused the change in the display content. [Structure] After saving each instruction sequence including these interdependencies, the node Ci is specified and the command of the node Ci is re-executed (S21). Then, when the flag V of the node Ci is "0". Determines whether or not there is a section [Ci] on which the section Ci depends (S22 → S23 → S24). If the section [Ci] exists, the section [Ci] is set to the section Ci (S25 ) After the processing of step S21 and subsequent steps is executed, and when there is no section [Ci] on which the section Ci depends, after executing the section Ci (S26), the flag V is set to "1" and the processing ends. Further, it has a display means for visually displaying such operation contents.
Description
【0001】[0001]
【産業上の利用分野】本発明はウインドウシステムに関
する。FIELD OF THE INVENTION This invention relates to window systems.
【0002】[0002]
【従来の技術】ウインドウシステムは、ディスプレイ上
に異なる複数のウインドウを表示することができるシス
テムである。そして、グラフィカルな表示機能を備えた
端末と該端末上で稼働する前記ウインドウシステムを使
用することにより、対話的なアプリケーション操作環境
が広く提供されている。2. Description of the Related Art A window system is a system capable of displaying a plurality of different windows on a display. An interactive application operating environment is widely provided by using a terminal having a graphical display function and the window system operating on the terminal.
【0003】この種のウインドウシステムは、具体的に
は、文字や図形を描く描画命令や該描画命令における表
示属性の設定を行う描画属性設定命令、更には描画の対
象となるウインドウを操作するウインドウ操作命令等に
よりシステムを駆動させている。This type of window system is specifically a drawing command for drawing a character or a figure, a drawing attribute setting command for setting display attributes in the drawing command, and a window for operating a drawing target window. The system is driven by operating instructions.
【0004】また、上記ウインドウシステムにおいて
は、入力装置から得られる入力コードを該ウインドウシ
ステムに固有の内部コードに変換し、更にアプリケーシ
ョンに解釈されて然るべき動作の起動を行なっている。Further, in the above window system, an input code obtained from the input device is converted into an internal code unique to the window system, which is further interpreted by an application to start an appropriate operation.
【0005】[0005]
【発明が解決しようとする課題】ところで、上記ウイン
ドウシステムにおいては、一般に、前記描画命令、前記
描画属性設定命令、前記ウインドウ操作命令等の各命令
を実行したときは画面の表示内容が変わるという副作用
を有し、またこれら一連の命令間には前記副作用に基づ
く相互依存関係がある。例えば、或るウインドウに対し
て描画の作成を行う場合には、該描画作成に先立ってウ
インドウと描画属性の設定を行い、然る後に描画命令が
発せられる。By the way, in the above window system, in general, when the respective commands such as the drawing command, the drawing attribute setting command, and the window operation command are executed, the side effect that the display content of the screen changes , And there is an interdependence between the series of instructions based on the side effect. For example, when a drawing is created for a certain window, the window and drawing attributes are set prior to the drawing creation, and then a drawing command is issued.
【0006】しかしながら、上記ウインドウシステムに
おいては、前記命令間の相互依存関係に基づいて先行す
る命令列の作用と等価な命令列が予め実行されていない
ため、ランダムな部分再生や特定のウインドウを指定し
ての部分再生が極めて困難であるという問題点があっ
た。However, in the above window system, an instruction sequence equivalent to the action of the preceding instruction sequence is not executed in advance based on the interdependence between the instructions, so random partial reproduction or designation of a specific window is performed. However, there is a problem in that it is extremely difficult to perform partial reproduction.
【0007】また、キーボードやマウス等の入力装置に
対する操作が表示画面上には直接現れないため、マウス
によるメニュー操作やキーボードによる文章編集等にお
いては表示内容の変化からデバイスの操作内容を類推し
て把握することが可能であるものの、キーボードによる
メニュー操作やマウスによる文書編集においては表示内
容の変化からデバイスの操作内容を類推することが困難
であり、したがって画面の変化がいかなる操作によって
引き起こされたかを把握することが困難となり、初心者
に対する教育等においては不都合であるという問題点が
あった。Further, since the operation on the input device such as the keyboard and the mouse does not appear directly on the display screen, in the menu operation by the mouse and the text editing by the keyboard, the operation content of the device is inferred from the change of the display content. Although it is possible to grasp, it is difficult to infer the operation content of the device from the change in the display content in the menu operation with the keyboard and the document editing with the mouse, so it is difficult to understand what operation caused the screen change. There is a problem in that it is difficult to understand, and it is inconvenient in education for beginners.
【0008】本発明はこのような問題点に鑑みなされた
ものであって、部分再生を効率よく行うことができ、且
つ表示内容の変化がいかなる操作によって引き起こされ
たかを容易に把握することができるウインドウシステム
を提供することを目的とする。The present invention has been made in view of the above problems, and it is possible to efficiently perform partial reproduction and easily grasp what operation caused a change in display content. The purpose is to provide a window system.
【0009】[0009]
【課題を解決するための手段】上記目的を達成するため
に本発明に係るウインドウシステムは、ウインドウに対
する各命令を相互依存関係を含めて保存する保存手段
と、該保存された一連の命令列の中から部分的に再実行
する命令列を決定する決定手段と、該決定された命令列
に基づいて前記ウインドウの操作内容を再生する再生手
段とを備えていることを特徴としている。In order to achieve the above object, a window system according to the present invention includes a storage means for storing each instruction for a window including mutual dependency, and a series of the stored instruction sequence. It is characterized in that it is provided with a deciding means for deciding an instruction sequence to be partially re-executed from the inside, and a reproducing means for reproducing the operation content of the window based on the decided instruction sequence.
【0010】また、前記保存手段は時間情報を含めて保
存すると共に、前記再生手段は前記保存手段により保存
された時間情報の時間的前後関係を保持しながら再生処
理を行うことを特徴とし、更には隣接する命令間の経過
時間を評価する評価手段を有し、前記再生手段は該評価
手段に基づいて再生処理を行うことを特徴とするのも好
ましい。Further, the storage means stores the time information including the time information, and the reproduction means performs the reproduction processing while maintaining the temporal relation of the time information stored by the storage means. Is preferably characterized by having an evaluating means for evaluating an elapsed time between adjacent instructions, and the reproducing means performing a reproducing process based on the evaluating means.
【0011】また、本発明は、前記保存手段は入力装置
の操作内容を保存する操作内容保存手段を含むと共に、
前記再生手段により再生された前記ウインドウの操作内
容を視覚的に表示する表示手段を有していることを特徴
としている。According to the present invention, the storage means includes operation content storage means for storing operation content of the input device.
It is characterized by further comprising display means for visually displaying the operation content of the window reproduced by the reproduction means.
【0012】[0012]
【作用】上記構成によれば、各命令列が相互依存関係を
含めて保存され、ウインドウ操作内容の部分的な再生が
可能となる。According to the above construction, each instruction sequence is stored including the interdependency, and the window operation contents can be partially reproduced.
【0013】また、再生されたウインドウの操作内容は
表示手段により視覚的に表示される。The operation contents of the reproduced window are visually displayed by the display means.
【0014】[0014]
【実施例】以下、本発明の実施例を図面に基づいて詳説
する。Embodiments of the present invention will now be described in detail with reference to the drawings.
【0015】図1は本発明に係るウインドウシステムの
一実施例(第1の実施例)を示す全体構成図を示し、図
2は該ウインドウシステムの構成を示すブロック図を示
している。FIG. 1 is an overall block diagram showing an embodiment (first embodiment) of a window system according to the present invention, and FIG. 2 is a block diagram showing the structure of the window system.
【0016】該ウインドウシステムは、文字や図形等の
画像情報を入力するキーボード1と、マウスボタン2を
操作してウインドウに対する所定の指示を行うマウス3
と、マウス3やキーボード1からの入力情報を記憶する
ハードディスクやフレキシブルディスク等の外部記憶装
置4と、入力された画像情報を表示するLCDやCRT
等のディスプレイ5と、接続ケーブル6を介して上記各
構成要素と接続され各ウインドウに対する命令の実行等
を行う制御部7とから構成されている。また、制御部7
はカウンタ領域を有すると共に所定の制御プログラムが
格納されたメモリ7bと、前記制御プログラムにしたが
って装置全体の制御を司るCPU7aとを備えている。The window system includes a keyboard 1 for inputting image information such as characters and figures, and a mouse 3 for operating a mouse button 2 to give a predetermined instruction to a window.
And an external storage device 4 such as a hard disk or a flexible disk for storing the input information from the mouse 3 or the keyboard 1, and an LCD or CRT for displaying the input image information.
And the like, and a control unit 7 which is connected to each of the above-mentioned components through a connection cable 6 and executes an instruction for each window. The control unit 7
Includes a memory 7b having a counter area and storing a predetermined control program, and a CPU 7a that controls the entire apparatus according to the control program.
【0017】図3は上記ウインドウシステムの命令とそ
の間の相互依存関係を示す模式図であって、図中、Ci
(i=1〜5)はグラフ中で固有の値を有する節のラベ
ルである。本実施例では、節C1に直接依存する節は節
C2及び節C3であり、節C2に直接依存する節は節C
4及び節C5であることを示している。また、節C4
は、節C2及び節C3を介して間接的に節C1に依存す
る。したがって、節Ciが間接的に依存する節は、一般
に前記節Ciが直接に依存する節が直接又は間接に依存
する節の全体である。FIG. 3 is a schematic diagram showing the above-mentioned window system instructions and the interdependence between them, and in the figure, Ci
(I = 1 to 5) are the labels of clauses having unique values in the graph. In this embodiment, the clauses that directly depend on the clause C1 are clauses C2 and C3, and the clauses that depend directly on the clause C2 are clause C.
4 and section C5. Also, section C4
Depends on node C1 indirectly via nodes C2 and C3. Therefore, the clause on which the clause Ci depends indirectly is generally the whole clause on which the clause on which the clause Ci directly depends depends directly or indirectly.
【0018】図4は節Ciの属性を示している。すなわ
ち各々節とそれに対する命令内容は、節C1はシステム
の初期化に対応する命令若しくは疑似的な命令に相当
し、節C2はウインドウ作成命令、節C3は描画属性作
成命令に対応し、さらに節C4は描画命令、節C5はウ
インドウ破壊命令に夫々対応している。また、<w>及
び<p>はウインドウシステムの内部状態に対応する実
際の命令中において使用されるウインドウ識別子及び描
画属性識別子(実識別子)であり、他の命令におけるパ
ラメータとして参照される。すなわち、節C4の描画命
令ではウインドウ識別子<w>と描画属性識別子<p>
が使用され、節C5のウインドウ破壊命令ではウインド
ウ識別子<w>が使用される。また、各節Ciにはフラ
グVが、各々命令に対して既実行のときは「1」に設定
され、未実行のときは「0」に設定される。そして、こ
れらの情報は公知の情報処理技術を介して制御部7に内
蔵された記憶装置又は外部記憶装置4に格納される。FIG. 4 shows the attributes of the section Ci. That is, regarding each section and the instruction content corresponding thereto, section C1 corresponds to an instruction corresponding to system initialization or a pseudo instruction, section C2 corresponds to a window creation instruction, section C3 corresponds to a drawing attribute creation instruction, and further section C4 corresponds to a drawing command, and section C5 corresponds to a window destruction command. Also, <w> and <p> are a window identifier and a drawing attribute identifier (real identifier) used in an actual command corresponding to the internal state of the window system, and are referred to as parameters in other commands. That is, in the drawing command of section C4, the window identifier <w> and the drawing attribute identifier <p>
Is used, and the window identifier <w> is used in the window destruction instruction in section C5. Further, the flag V is set in each section Ci to "1" when the instruction has been executed, and to "0" when the instruction has not been executed. Then, these pieces of information are stored in the storage device built in the control unit 7 or the external storage device 4 via a known information processing technique.
【0019】ウインドウシステムにおいては、一般に一
連の命令間に相互依存関係が生じる。この場合、1つの
命令によって変化する内部状態が1個の場合は、命令の
パラメータリストに現れる識別子に対応する節を容易に
同定することができるが、1個の命令に対し変化する内
部状態が複数個存在する場合は、相互依存関係に留意し
て節の同定を行う必要がある。そこで、本実施例では節
を変化した内部状態の個数に分解して保存し、任意の順
序で連結することにより再生処理において等価なものと
している。すなわち、これにより、ウインドウシステム
の内部状態の識別子を節のラベルによって表現すること
が可能となり、この結果、命令のパラメータリストに現
れる識別子に対応する節を同定することが可能となる。In a window system, a mutual dependency generally occurs between a series of instructions. In this case, if the number of internal states that change with one instruction is one, the clause corresponding to the identifier that appears in the parameter list of the instruction can be easily identified, but the internal state that changes with one instruction If there is more than one, it is necessary to identify the section by paying attention to the interdependence. Therefore, in the present embodiment, the nodes are decomposed into the changed number of internal states, stored, and connected in an arbitrary order to make the reproduction processing equivalent. That is, this makes it possible to represent the identifier of the internal state of the window system by the label of the clause, and as a result, it is possible to identify the clause corresponding to the identifier appearing in the parameter list of the instruction.
【0020】尚、上記実施例では、命令の相互依存関係
は主として上記実識別子の参照関係によって決定されて
いるが、例えば描画による表示内容の変化が生じた場合
に対応する内部状態が存在するとは限らず、実識別子の
参照関係として取り扱うことができない場合もある。し
かし、かかる場合においても、例えば描画命令によって
影響を受ける画面上の領域は確定しており、該領域に対
して仮想的な識別子を付与し、領域間の重畳の有無によ
り命令間の相互依存関係とすることができる。このよう
に命令間の相互依存関係の抽出方法は、稼働しているウ
インドウシステムの命令構成によって変形が可能であ
る。In the above embodiment, the interdependence of commands is mainly determined by the reference relationship of the real identifiers. However, it is said that there is an internal state corresponding to a change in the display content due to drawing, for example. In some cases, it cannot be handled as a reference relationship of real identifiers. However, even in such a case, for example, the area on the screen that is affected by the drawing instruction is fixed, a virtual identifier is given to the area, and the interdependence relationship between instructions is determined by the presence or absence of overlap between areas. Can be As described above, the method of extracting the interdependence relationship between instructions can be modified depending on the instruction configuration of the operating window system.
【0021】次に、図5のフローチャートに基づきウイ
ンドウ操作内容の保存手順を説明する。尚、本プログラ
ムはCPU7aで実行される。Next, the procedure for saving the window operation contents will be described with reference to the flowchart of FIG. The program is executed by the CPU 7a.
【0022】ステップS1ではCPU7aはメモリ7b
のカウンタ領域のカウント値iを「1」に設定し、ステ
ップS2でCPU7aは節Ci、すなわち節C1を作成
してメモリ7bに保存する。次いで、ステップS3では
CPU7aはウインドウ操作に対する命令を入力し、続
くステップS4では該命令が終了命令か否かを判断す
る。そして、終了命令でないときはステップS5に進ん
で前記命令が内部状態の変化を伴うものであるか否かを
判断する。そして、内部状態の変化を伴わない場合はス
テップS7に進む一方、内部状態の変化を伴う場合はそ
の内部状態として内部識別子iを割り当てた後、ステッ
プS7に進む。次いで、ステップS7では前記命令から
パラメータリストを抽出し、パラメータリストに実識別
子、すなわちウインドウ識別子<w>又は描画属性識別
子<p>が含まれているか否かを判断する(ステップS
8)。そして、ウインドウ識別子<w>及び描画属性識
別子<p>のいずれもが含まれていない場合はステップ
S10に進む一方、前記ウインドウ識別子<w>又は描
画属性識別子<p>が含まれているときはこれらの識別
子に対応する節Ciが一義的に決定され、先行する一連
の命令が決定される。先行する各命令において、内部識
別子iが割り当てられていれば、該一連の内部識別子を
もって先行する節のリストとする。そして、この後、ス
テップS10でカウンタ値iを「1」だけインクリメン
トしてステップS2に戻り、上記ステップS9で得られ
た結果を使用してC2節の作成を行い、上述の処理を繰
り返す。そして、全ての節Ciが作成されて保存された
ときはステップS3で終了命令が入力され、したがって
ステップS4の答が肯定(Yes)となり処理を終了す
る。これにより、各命令間の相互依存関係を含めてウイ
ンドウに対する命令が保存されることとなる。In step S1, the CPU 7a has the memory 7b.
The count value i of the counter area is set to "1", and in step S2, the CPU 7a creates a node Ci, that is, a node C1 and stores it in the memory 7b. Next, in step S3, the CPU 7a inputs an instruction for window operation, and in the following step S4, it is determined whether or not the instruction is an end instruction. If it is not the end instruction, the process proceeds to step S5, and it is determined whether or not the instruction is accompanied by a change in internal state. If the internal state does not change, the process proceeds to step S7. If the internal state changes, the internal identifier i is assigned as the internal state, and then the process proceeds to step S7. Next, in step S7, a parameter list is extracted from the command, and it is determined whether or not the parameter list includes a real identifier, that is, a window identifier <w> or a drawing attribute identifier <p> (step S).
8). Then, if neither the window identifier <w> nor the drawing attribute identifier <p> is included, the process proceeds to step S10, while if the window identifier <w> or the drawing attribute identifier <p> is included, The clause Ci corresponding to these identifiers is uniquely determined, and the preceding series of instructions is determined. If an internal identifier i is assigned in each preceding instruction, the series of internal identifiers is used as a list of preceding clauses. Then, after this, in step S10, the counter value i is incremented by "1", the process returns to step S2, the section C2 is created using the result obtained in step S9, and the above-described processing is repeated. When all the clauses Ci have been created and saved, an end command is input in step S3, and therefore the answer in step S4 becomes affirmative (Yes), and the process ends. As a result, the command for the window including the interdependence between the commands is saved.
【0023】尚、実際の命令で使用される実識別子であ
るウインドウ識別子<w>及び描画属性識別子<p>と
保存処理の内部で使用される内部識別子iとは一般に異
なるが、内部識別子iから識別子<w>、<p>へは1
対1に対応し、また識別子<w>、<p>から内部識別
子iについても識別子<w>に対応する内部状態の破壊
命令を監視することにより、任意のステップにおいて1
対1に対応させることができる。The window identifier <w> and the drawing attribute identifier <p>, which are the real identifiers used in the actual command, are generally different from the internal identifier i used in the saving process. 1 for identifiers <w> and <p>
By monitoring the destruction instruction of the internal state corresponding to the pair 1 and also for the internal identifier i from the identifiers <w> and <p> to 1 in any step.
One-to-one correspondence is possible.
【0024】上記保存手順においては、命令によっては
内部状態の変化を伴わず、パラメータリストにも内部状
態の指定がないにもかかわらず、かかる命令に対応する
節も作成されて保存されることとなる。このような命令
の例としてシステムに対する問い合わせ命令が存在する
が、この種の命令に対しては処理の軽減や記憶領域の節
約等の観点から作成しない方が好ましい。In the above-mentioned saving procedure, the internal state is not changed depending on the instruction, and the clause corresponding to the instruction is created and saved even though the internal state is not specified in the parameter list. Become. As an example of such an instruction, there is an inquiry instruction for the system, but it is preferable not to create such an instruction from the viewpoint of reduction of processing and saving of storage area.
【0025】図6はかかる点を考慮した保存手順の変形
例を示すフローチャートであって、ステップS11で内
部状態の変化を伴うか否かを再び参照し、問い合わせ命
令等の内部状態の変化を伴わない場合は、ステップS3
に戻って該ステップS3以降の処理を実行することによ
り、不必要な節の作成を回避することができ、システム
の軽減化や記憶領域の節約等を図ることができる。FIG. 6 is a flow chart showing a modified example of the storage procedure in consideration of such a point. It is referred to again in step S11 whether or not the internal state is changed, and the internal state such as an inquiry command is changed. If not, step S3
By returning to step S3 and executing the processing of step S3 and thereafter, it is possible to avoid the creation of unnecessary nodes, reduce the system, and save the storage area.
【0026】次に、保存手順により保存された情報を部
分的に再生する再生手順について説明する。Next, a reproducing procedure for partially reproducing the information stored by the storing procedure will be described.
【0027】図7は本ウインドウシステムの再生手順を
示すフローチャートである。尚、本プログラムはCPU
7aで実行される。FIG. 7 is a flow chart showing the reproduction procedure of this window system. This program is a CPU
7a.
【0028】まず、CPU7aは節Ci(例えば、節C
4)を指定して該節Ciの命令を再実行し(ステップS
21)、次いで節CiのフラグVを調べ(ステップS2
2)、フラグVが「1」か否かを判断する(ステップS
23)。そして、フラグVが「1」のときはそのまま処
理を終了する一方、フラグVが「0」のときはステップ
S24に進んで、節Ciが依存する節〔Ci〕が存在す
るか否かを判断し、節〔Ci〕が存在する場合は当該節
〔Ci〕を節CiとしてステップS21に戻り上述した
一連の処理を繰り返す。すなわち、例えば、節C4が指
定されているときは、該節C4は図3に示すように節C
2及び節C3に直接的に依存し、節C4に間接的に依存
するが、これら一連の節は上述した保存手順により保存
されているため、これらを取り出してこれらの節につい
てステップS21以下を実行する。そして、命令Ciに
直接依存する命令と間接的に依存する命令とがすべて実
行され、節Ciが依存する節〔Ci〕がなくなったとき
(例えば節C1)にはステップS26に進んで節Ciの
命令を実行し、フラグVを「1」に設定して(ステップ
S27)処理を終了する。これにより図5又は図6で保
存された情報を部分的に再生することが可能となる。す
なわち、命令間の相互依存関係を保証しつつ部分的な再
実行を効率的に行うことが可能となる。First, the CPU 7a causes the node Ci (for example, node C
4) is designated and the instruction of the section Ci is re-executed (step S
21), and then checks the flag V of section Ci (step S2
2), it is determined whether the flag V is "1" (step S)
23). When the flag V is "1", the process is terminated as it is, while when the flag V is "0", the process proceeds to step S24, and it is determined whether or not there is a node [Ci] on which the node Ci depends. If the section [Ci] is present, the section [Ci] is set as the section Ci and the process returns to step S21 to repeat the series of processes described above. That is, for example, when the section C4 is designated, the section C4 is the section C4 as shown in FIG.
2 and the node C3 directly and indirectly on the node C4, but since these series of nodes have been saved by the above-described saving procedure, these are taken out and the steps S21 and the following steps are executed for these nodes. To do. When all the instructions that directly depend on the instruction Ci and the instructions that indirectly depend on the instruction Ci are executed and there is no section [Ci] on which the section Ci depends (for example, section C1), the process proceeds to step S26. The instruction is executed, the flag V is set to "1" (step S27), and the process ends. This makes it possible to partially reproduce the information stored in FIG. 5 or 6. That is, it is possible to efficiently perform partial re-execution while guaranteeing the interdependency between instructions.
【0029】ところで、上記再生手順のステップS21
で節C5が指定された場合、すなわちウインドウ破壊命
令が指定されて実行された場合は例えばステップS26
で命令Ciの実行を行わないようにすることで相互依存
関係の一貫性は保証されるが、かかる場合は再利用され
ない不要な内部状態が蓄積されることとなり、効率上の
問題が生じうる。これを防止するためにはステップS2
6で命令Ciを実行すると共に、破壊した内部状態の識
別子に対応する節の命令と、それに直接又は間接的に依
存する全ての節の命令の実行を無効化する必要がある。By the way, step S21 of the above-mentioned reproduction procedure.
If the section C5 is specified in step 1, that is, if the window destruction instruction is specified and executed, for example, step S26.
Although the consistency of the interdependency is guaranteed by not executing the instruction Ci in step 1, in this case, an unnecessary internal state that is not reused is accumulated, which may cause an efficiency problem. To prevent this, step S2
It is necessary to execute the instruction Ci in 6 and invalidate the execution of the instruction of the clause corresponding to the identifier of the destroyed internal state and the instruction of all the clauses that depend directly or indirectly on it.
【0030】例えば、節C2〜C4のフラグVがいずれ
も「1」で節C5のフラグVのみが未実行を示す「0」
のときに全ての節Ciを無効にする場合の手順について
図8のフローチャートに基づき説明する。For example, the flags V of the sections C2 to C4 are all "1", and only the flag V of the section C5 is "0", which indicates unexecuted.
The procedure for invalidating all the clauses Ci in the case of will be described based on the flowchart of FIG.
【0031】ステップS31で節Ci(例えばC4)を
指定し、続くステップS32でそのフラグVを調べる。
そして、この場合はフラグVは既実行を示す「1」であ
るので、ステップS34に進み、節Ciが依存する節
〔Ci〕があるか否かを判断する。そして、その答が肯
定(Yes)の場合は節〔Ci〕を節Ciとしてステッ
プS31に戻り上述の処理を繰り返す。すなわち、i=
4の場合、節C4が依存する節は直接的には節C2及び
節C3があり、間接的には節C1 がある。そして、ステ
ップS31及びステップS36での命令を消去命令と
し、ステップS37で消去した節CiのフラグVを0と
する。尚、内部状態破壊命令である節C5については後
続する命令が存在しないことから無用な内部状態の破壊
が発生することはない。In step S31, the node Ci (for example, C4) is designated, and the flag V is checked in the following step S32.
Then, in this case, the flag V is "1" indicating that it has already been executed, so the process proceeds to step S34, and it is determined whether or not there is a section [Ci] on which the section Ci depends. Then, when the answer is affirmative (Yes), the section [Ci] is set as the section Ci and the process returns to step S31 to repeat the above-described processing. That is, i =
In the case of 4, the nodes on which node C4 depends directly include node C2 and node C3, and indirectly node C1. Then, the instruction in steps S31 and S36 is set as an erase instruction, and the flag V of the node Ci erased in step S37 is set to 0. Incidentally, since there is no subsequent instruction for the node C5 which is the internal state destruction instruction, unnecessary destruction of the internal state does not occur.
【0032】尚、図7で既に再実行を行った命令列に対
して再度再実行を行うときも上記内部状態破壊命令を適
用することによって実行することができる。すなわち、
内部状態破壊命令を適用することにより、再実行は無効
となるので、指定の命令に対応する破壊命令を実行す
る。また、対応する破壊命令が存在しないときは指定の
命令が直接的又は間接的に依存する命令において対応す
る破壊命令を少なくとも1つ抽出し、その命令に対応す
る破壊命令を上記図7の手順に基づいて実行すればよ
い。When re-execution is performed again on the instruction sequence that has already been re-executed in FIG. 7, it can be executed by applying the above internal state destruction instruction. That is,
Since the re-execution becomes invalid by applying the internal state destruction instruction, the destruction instruction corresponding to the designated instruction is executed. When there is no corresponding destructive instruction, at least one corresponding destructive instruction is extracted from the instructions on which the designated instruction directly or indirectly depends, and the destructive instruction corresponding to the instruction is converted to the procedure of FIG. It should be executed based on the above.
【0033】このように上記第1の実施例においては、
相互依存関係にない命令は独立に実行され、部分的なウ
インドウ操作状況の再生や、任意の時点からのウインド
ウ操作状況の再生が可能となる。As described above, in the first embodiment,
Instructions that do not have a mutual dependency are executed independently, and it is possible to reproduce a partial window operation situation or a window operation situation from an arbitrary point in time.
【0034】ところで、実際のウインドウ操作では、複
数の独立したウインドウと描画属性とを使用して並行に
処理が行われるのが一般的である。そして、再生時に相
互依存関係にない複数の命令を再実行する場合は、これ
らを再実行するのではなく、保存時の時間的な順序関係
にしたがって再実行するのが望ましい。By the way, in the actual window operation, it is general to perform processing in parallel using a plurality of independent windows and drawing attributes. When a plurality of instructions that are not in a mutual dependency relationship are re-executed at the time of reproduction, it is desirable to re-execute these in accordance with the temporal order relationship at the time of saving, instead of re-executing them.
【0035】このためには、節Ciの作成時に、命令の
時間的順序関係と1対1に対応する付加的情報を節Ci
の属性値として記録するような変更を加えればよい。こ
の場合、前記付加的情報はオペレーティングシステムの
標準的な機能として提供されている時間情報を獲得する
か、カウンタを設けて保存処理における命令を処理する
毎にカウンタをインクリメントすることによって実現す
ることができる。To this end, when the node Ci is created, the additional information corresponding to the temporal order relationship of the instructions is in one-to-one correspondence with the node Ci.
It is sufficient to make a change such that it is recorded as the attribute value of. In this case, the additional information can be realized by acquiring time information provided as a standard function of the operating system or by providing a counter and incrementing the counter each time a command in the saving process is processed. it can.
【0036】図9は複数の命令ci、cj、…、ckか
ら構成される複合命令Cを時間的順序を保持したまま再
実行する場合のフローチャートである(第2の実施
例)。FIG. 9 is a flow chart in the case of re-executing a compound instruction C composed of a plurality of instructions ci, cj, ..., ck while maintaining the temporal order (second embodiment).
【0037】すなわち、ステップS41では節の時間的
順序リストL(C)を全てリセットして空にする。尚、
時間的順序リストL(C)への要素の追加は時間的順序
関係を保証するものとし、また時間的順序リストL
(C)からの要素の取り出しは時間的に早い要素から順
次取り出すものとする。That is, in step S41, the temporal order list L (C) of nodes is all reset to empty. still,
Addition of elements to the temporal ordered list L (C) shall guarantee temporal ordered relation, and temporal ordered list L
The elements are extracted from (C) sequentially from the earliest in time.
【0038】次いで、複合命令Cに対して展開処理を行
う(ステップS42)。すなわち、図10に示すよう
に、複合命令Cが空状態か否かを判断し(ステップS5
1)、その答が肯定(Yes)のときはそのまま処理を
終了する一方、その答が否定(No)のときは複合命令
Cの中から任意の命令cを取り出し、該命令cを複合命
令から取り除き(ステップS52)、次いで節cのフラ
グVを調べ(ステップS53)、フラグVが「1」か否
かを判断する(ステップS54)。そして、その答が肯
定(Yes)のときはステップS51に戻る一方、その
答が否定(No)のときは未だ再実行が行われていない
ためステップS55に進み、上記第1の実施例と同様、
節cが依存する一連の節〔c〕を取り出し、c=〔c〕
としてステップS51以下の処理を繰り返す。Next, expansion processing is performed on the compound instruction C (step S42). That is, as shown in FIG. 10, it is determined whether or not the compound instruction C is empty (step S5).
1) When the answer is affirmative (Yes), the processing is terminated as it is, while when the answer is negative (No), an arbitrary instruction c is extracted from the compound instruction C, and the instruction c is converted from the compound instruction. It is removed (step S52), then the flag V of the node c is checked (step S53), and it is determined whether the flag V is "1" (step S54). Then, when the answer is affirmative (Yes), the process returns to step S51, while when the answer is negative (No), the re-execution has not been performed yet, so the process proceeds to step S55, the same as in the first embodiment. ,
Take a series of clauses [c] on which clause c depends, and c = [c]
Then, the processing from step S51 onward is repeated.
【0039】一方、ステップS55の答が否定(No)
のとき、すなわち節cが依存する節〔c〕がなくなった
ときは、節cを時間的順序リストL(C)に追加し(ス
テップS57)、メインルーチン(図9)のステップS
43に進む。次いで、この状態で時間的順序リストL
(C)は再実行の行われていないもののリストとなるた
め、該時間的順序リストL(C)から1個ずつ要素を取
り出して対応する命令を実行し(ステップS43)、実
行した節cのフラグVを「1」に設定して処理を終了す
る。On the other hand, the answer to step S55 is negative (No).
When, that is, when there is no section [c] on which the section c depends, the section c is added to the temporal order list L (C) (step S57), and step S of the main routine (FIG. 9).
Proceed to 43. Then, in this state, the temporal ordered list L
Since (C) is a list of items that have not been re-executed, elements are taken out one by one from the temporal order list L (C) and the corresponding instruction is executed (step S43), and the executed section c The flag V is set to "1" and the process ends.
【0040】尚、上記第2の実施例において、節の時間
属性に絶対時間を使用する場合は、実時間的な再生処理
が可能となる。すなわち、時間的順序リストL(C)の
要素である節cは、上述したように時間的順序にしたが
って配列されており、保存処理における絶対時間を参照
することにより、時間的順序リストL(C)の任意の隣
接する要素間の経過時間を得ることができる。したがっ
て、ステップS43で要素間経過時間にしたがって命令
の再実行を行うことにより、実時間的な再生処理を実行
することができる。In the second embodiment, when absolute time is used as the time attribute of a node, real-time reproduction processing can be performed. That is, the clauses c, which are the elements of the temporal ordered list L (C), are arranged according to the temporal order as described above, and the temporal ordered list L (C ), The elapsed time between any adjacent elements can be obtained. Therefore, by re-executing the instruction according to the elapsed time between elements in step S43, it is possible to execute real-time reproduction processing.
【0041】また、要素間の経過時間を可変とすること
により、スロー再生や早送り等も容易に実現することが
できる。Further, by making the elapsed time between elements variable, slow reproduction, fast forward, etc. can be easily realized.
【0042】図11は本発明のウインドウシステムの操
作を画面上で視覚的に行う場合を示す画面構成図である
(第3の実施例)。FIG. 11 is a screen configuration diagram showing a case where the operation of the window system of the present invention is visually performed on the screen (third embodiment).
【0043】8は再生が行なわれているウインドウであ
り、9は操作内容の記録時のマウスカーソルの位置を示
している。10はマウスを示すマウス図形であり、11
はキーボードを示すキーボード図形である。また、12
は再生状態が表示されユーザによって制御されるウイン
ドウである。マウス図形10及びキーボード図形11は
図1のマウス3及びキーボード1と形状的に類似してお
り、キー位置やボタン位置は略同一である。またウイン
ドウ12は、速度の指定や部分的な再生の範囲指定等再
生処理においてユーザに種々の手段を提供する。Reference numeral 8 is a window in which reproduction is performed, and reference numeral 9 shows the position of the mouse cursor when recording the operation content. 10 is a mouse figure showing a mouse, and 11
Is a keyboard figure showing a keyboard. Also, 12
Is a window in which the playback status is displayed and controlled by the user. The mouse figure 10 and the keyboard figure 11 are similar in shape to the mouse 3 and the keyboard 1 in FIG. 1, and their key positions and button positions are substantially the same. Further, the window 12 provides the user with various means in the reproduction process such as the designation of the speed and the range of the partial reproduction.
【0044】上記第3の実施例においては、保存処理を
以下の如く行われる。すなわち、保存の対象となる命令
としてキーボード操作、マウスボタン操作、及びマウス
移動操作を含むように拡張する。そして、例えば、ウイ
ンドウ作成命令の場合、該命令の開始キー、範囲指定時
のマウスボタンの操作等を含むように保存する。ここ
で、これらの拡張された命令間の相互依存関係は、上記
操作が発生したウインドウに依存する1個の命令列とし
て定義し、例えば図3に示すような1つの節の系列とし
て表現する。これらの節の系列は分岐を有さず、系列上
の節に依存する節は存在しない。In the third embodiment, the storage process is performed as follows. That is, the instruction is expanded to include a keyboard operation, a mouse button operation, and a mouse movement operation. Then, for example, in the case of a window creation command, it is saved so as to include the start key of the command, the operation of the mouse button when the range is specified, and the like. Here, the interdependence relationship between these extended instructions is defined as one instruction sequence depending on the window in which the above operation has occurred, and is expressed as a series of one clause as shown in FIG. 3, for example. The sequence of these clauses has no branch, and there is no clause that depends on the clause on the sequence.
【0045】次に、再生処理は以下の如く行われる。す
なわち、保存されている命令は、マウスの移動操作、マ
ウスのボタン操作、キーボード操作を含むものであるか
ら、夫々について処理をディスプレイ5の表示画面上に
表示することにより再生処理がなされる。マウスの移動
操作についてはマウスカーソル9を表示画面上で移動さ
せることで再生する。特に上述した保存処理において、
マウスの移動操作の中にカーソルのウインドウに対する
出入りが含まれているときはカーソルの出入りに対応し
てマウスカーソル9を表示/消去したり、或いは表示色
を変更することにより表現する。マウスボタン操作やキ
ーボード操作については、マウス図形10やキーボード
図形11上の該当するボタンの表示色を変更することに
より表現する。これによりユーザの入力装置に対する操
作状況をウインドウの表示内容と同期して表示すること
ができる。Next, the reproduction process is performed as follows. That is, since the stored instructions include a mouse movement operation, a mouse button operation, and a keyboard operation, the reproduction processing is performed by displaying the processing on the display screen of the display 5. Regarding the operation of moving the mouse, reproduction is performed by moving the mouse cursor 9 on the display screen. Especially in the saving process described above,
When the movement of the mouse includes entry / exit of the cursor window, the mouse cursor 9 is displayed / erased or the display color is changed in correspondence with the entry / exit of the cursor. The mouse button operation and the keyboard operation are represented by changing the display color of the corresponding button on the mouse graphic 10 or the keyboard graphic 11. This allows the operation status of the user's input device to be displayed in synchronization with the display content of the window.
【0046】尚、本発明は上記実施例に限定されるもの
ではない。上記実施例に使用した端末装置は保存処理と
再生処理とを併せ持つが、保存処理を行う端末と再生処
理を行う端末とが機能的に異なるものを使用してもよ
い。The present invention is not limited to the above embodiment. Although the terminal device used in the above embodiment has both the saving process and the reproducing process, it is also possible to use a terminal that performs the saving process and a terminal that performs the reproducing process that are functionally different.
【0047】[0047]
【発明の効果】以上詳述したように本発明に係るウイン
ドウシステムは、ウインドウに対する各命令を相互依存
関係を含めて保存する保存手段と、該保存された一連の
命令列の中から部分的に再実行する命令列を決定する決
定手段と、該決定された命令列に基づいて前記ウインド
ウの操作内容を再生する再生手段とを備えているので、
ランダムな部分再生や特定のウインドウを指定しての部
分的な再生を効率的に行うことができる。As described above in detail, in the window system according to the present invention, the saving means for saving each instruction for the window including the interdependence relationship, and a part of the saved series of instructions are partially stored. Since it is provided with the determining means for determining the instruction sequence to be re-executed and the reproducing means for reproducing the operation content of the window based on the determined instruction sequence,
It is possible to efficiently perform random partial reproduction or partial reproduction by designating a specific window.
【0048】また、前記保存手段は入力装置の操作内容
を保存する操作内容保存手段を含むと共に、前記再生手
段により再生された前記ウインドウの操作内容を視覚的
に表示する表示手段を有しているので、画面に直接現れ
ない入力操作を視覚的に表現することが可能となり、表
示内容の変化がいかなる操作によって引き起こされたも
のであるかを容易に把握することができる。Further, the storage means includes operation content storage means for storing the operation content of the input device and display means for visually displaying the operation content of the window reproduced by the reproduction means. Therefore, it is possible to visually represent an input operation that does not appear directly on the screen, and it is possible to easily understand what operation caused the change in the display content.
【図1】本発明に係るウインドウシステムの一実施例を
模式的に示した全体構成図である。FIG. 1 is an overall configuration diagram schematically showing an embodiment of a window system according to the present invention.
【図2】図1のウインドウシステムのブロック構成図で
ある。FIG. 2 is a block diagram of the window system shown in FIG.
【図3】ウインドウシステムの命令とその間の相互依存
関係を示す模式図である。FIG. 3 is a schematic diagram showing commands of a window system and interdependence relationships between them.
【図4】各節Ciの属性を示す図である。FIG. 4 is a diagram showing attributes of each section Ci.
【図5】保存手順を示すフローチャートである。FIG. 5 is a flowchart showing a storage procedure.
【図6】図4の変形例を示すタイムチャートである。FIG. 6 is a time chart showing a modified example of FIG.
【図7】再生手順を示すフローチャートである。FIG. 7 is a flowchart showing a reproduction procedure.
【図8】図7の変形例を示すフローチャートである。FIG. 8 is a flowchart showing a modified example of FIG.
【図9】再生手順の他の実施例(第2の実施例)を示す
フローチャートである。FIG. 9 is a flowchart showing another embodiment (second embodiment) of the reproduction procedure.
【図10】図9のステップS42で実行される展開処理
ルーチンのフローチャートである。FIG. 10 is a flowchart of a development processing routine executed in step S42 of FIG.
【図11】本発明のウインドウシステムの操作を画面上
で視覚的に行う場合を示す画面構成図である(第3の実
施例)。FIG. 11 is a screen configuration diagram showing a case where the operation of the window system of the present invention is visually performed on the screen (third embodiment).
5 表示装置 7 制御部(保存手段、決定手段、再生手段) 5 display device 7 control unit (storing means, determining means, reproducing means)
Claims (4)
係を含めて保存する保存手段と、該保存された一連の命
令列の中から部分的に再実行する命令列を決定する決定
手段と、該決定された命令列に基づいて前記ウインドウ
の操作内容を再生する再生手段とを備えていることを特
徴とするウインドウシステム。1. A saving means for saving each instruction for a window including interdependency, a deciding means for deciding an instruction sequence to be partially re-executed from the stored series of instructions, and the deciding process. And a reproducing means for reproducing the operation content of the window based on the generated command sequence.
ると共に、前記再生手段は前記保存手段により保存され
た時間情報の時間的前後関係を保持しながら再生処理を
行うことを特徴とする請求項1記載のウインドウシステ
ム。2. The storage means stores the time information including the time information, and the reproduction means performs the reproduction processing while maintaining the temporal relation of the time information stored by the storage means. The window system according to item 1.
価手段を有し、前記再生手段は該評価手段に基づいて再
生処理を行うことを特徴とする請求項2記載のウインド
ウシステム。3. The window system according to claim 2, further comprising an evaluation unit that evaluates an elapsed time between adjacent instructions, and the reproduction unit performs reproduction processing based on the evaluation unit.
存する操作内容保存手段を含むと共に、前記再生手段に
より再生された前記ウインドウの操作内容を視覚的に表
示する表示手段を有していることを特徴とする請求項1
乃至請求項3のいずれかに記載のウインドウシステム。4. The storage means includes operation content storage means for storing the operation content of the input device, and also has display means for visually displaying the operation content of the window reproduced by the reproduction means. Claim 1 characterized by the above.
The window system according to claim 3.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP7172916A JPH096581A (en) | 1995-06-15 | 1995-06-15 | Window system |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP7172916A JPH096581A (en) | 1995-06-15 | 1995-06-15 | Window system |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH096581A true JPH096581A (en) | 1997-01-10 |
Family
ID=15950733
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP7172916A Pending JPH096581A (en) | 1995-06-15 | 1995-06-15 | Window system |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH096581A (en) |
-
1995
- 1995-06-15 JP JP7172916A patent/JPH096581A/en active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5907706A (en) | Interactive modeling agent for an object-oriented system | |
| JPH04337843A (en) | Program operation display method | |
| US7721255B2 (en) | Sequence program editing apparatus | |
| KR20000018932A (en) | System for developing games and a method therefor | |
| JPH11184900A (en) | Scenario display device and method | |
| JP2000056888A (en) | Method and device for setting user interface | |
| JPH096581A (en) | Window system | |
| JP2706558B2 (en) | Ladder program editing method | |
| JP2707962B2 (en) | Operation line visualization device | |
| JPH07141137A (en) | Menu selection method | |
| JPH0778215A (en) | How to execute business programs | |
| JP2747164B2 (en) | Software simulator | |
| JPH0784829A (en) | Automatic testing device for interactive multiwindow program | |
| JP2619487B2 (en) | File operation method | |
| JPH01191269A (en) | Image controller | |
| KR100926832B1 (en) | Efficient Shaping Method for Network Element Management | |
| JP2001209412A (en) | Sequence program simulation device | |
| JP2005251128A (en) | Model editing system, model editing method and program for model editing | |
| JP3057620B2 (en) | Information processing device | |
| JPH1021191A (en) | Command history management device for information processing device | |
| JP2000172859A (en) | Multimedia title editing apparatus, multimedia title editing method, and recording medium recording multimedia title editing program | |
| JP2665206B2 (en) | Front screen drawing processing method | |
| JPH0683629A (en) | Object-oriented processing system | |
| JPH06301668A (en) | Simulation data construction method | |
| JP2004046867A (en) | Network type document processor and method using tree structure defined secondarily |