JP2006146693A - Application management method and its control program - Google Patents

Application management method and its control program Download PDF

Info

Publication number
JP2006146693A
JP2006146693A JP2004337698A JP2004337698A JP2006146693A JP 2006146693 A JP2006146693 A JP 2006146693A JP 2004337698 A JP2004337698 A JP 2004337698A JP 2004337698 A JP2004337698 A JP 2004337698A JP 2006146693 A JP2006146693 A JP 2006146693A
Authority
JP
Japan
Prior art keywords
transition
event
application
state
application management
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.)
Withdrawn
Application number
JP2004337698A
Other languages
Japanese (ja)
Inventor
Shigeru Sakamoto
茂 坂本
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.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2004337698A priority Critical patent/JP2006146693A/en
Publication of JP2006146693A publication Critical patent/JP2006146693A/en
Withdrawn legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To simplify application control in a system having a plurality of application modes. <P>SOLUTION: This application management system is provided with an ID applying means for applying unique ID to an application, a transition control means for controlling the transition of an application mode defined for each of functions where the control objects of an application are clearly different, a system status transition control means for controlling the transition of a system status defined commonly to the application and a system status management stack for managing the system status. An event patch means for receiving an event when an event is generated notifies the application depending on a notification method stored in the management stack. When a factor necessary for the mode transition is detected, the system status transition control means pushes and adds the stack when transition conditions are satisfied, and operates transition request queuing when the transition conditions are not satisfied. <P>COPYRIGHT: (C)2006,JPO&NCIPI

Description

本発明は、複数の機能を有するいわゆる多機能プリンター等のアプリケーション管理システムに関するものである。   The present invention relates to an application management system such as a so-called multifunction printer having a plurality of functions.

従来のPCプリンターにおける制御ソフトウエアは、機構制御機能を主眼において作成されているため、ユーザーインターフェースに関わる制御やプリントソースの違い(ワードプロッセサのドキュメント、デジタルカメラの写真、スキャナーからの取り込み画像など)に起因するシーケンス切り替えなどの高度な制御を全てPCのアプリケーションに任せていた(例えば、特許文献1参照)。   Since control software for conventional PC printers is created mainly for mechanism control functions, control related to the user interface and print source differences (word processor documents, digital camera photos, scanned images from scanners, etc.) ) All of the advanced control such as sequence switching caused by (2) is left to the PC application (see, for example, Patent Document 1).

しかしながら、近年、デジタルカメラなどの普及に伴い、その出力媒体としてのプリンターに対する高機能化のニーズが高まってきており、従来のようなPCからの印刷機能だけでなくデジタルカメラからのダイレクト印刷機能やコピー機能、或いはファックス機能など、あらゆるプリントニーズに対応できるマルチファンクションプリンターが市場に投入されてきている。このような複合機能を持ったマルチファンクションプリンターでは、従来のPCプリンターと異なり、高度なユーザーインターフェースを持ち、スタンドアローンで使用可能な機能が要求され、それに伴い従来PCアプリケーションに任せていた制御を全て独自に行わなければならなくなってきている。マルチファンクションプリンターに対して求められる機能は決して単一ではなく、市場ターゲットに依存して変化することが当然であると考えられるので、機能の付加・削除に対して柔軟性を持ったソフトウエア構造が不可欠であり、そのためには機能ごとにモジュール化された個別のアプリケーションを間便に接続できる構成が必要となる。   However, in recent years, with the widespread use of digital cameras and the like, there has been an increasing need for higher functionality for printers as output media. In addition to conventional printing functions from PCs, direct printing functions from digital cameras and Multifunction printers that can meet all printing needs, such as copy functions or fax functions, have been introduced to the market. Unlike conventional PC printers, multi-function printers with such complex functions require an advanced user interface and functions that can be used stand-alone. You have to do it yourself. The function required for a multi-function printer is by no means a single thing, and it is natural that it will change depending on the market target, so the software structure has the flexibility to add and delete functions. For this purpose, it is necessary to have a configuration in which individual applications modularized for each function can be connected to a flight.

アプリケーションのモジュール性を高めて拡張性を持たせるためには以下の要素が重要である。
1.異なるアプリケーションであっても、キーイベントなどの共通リソースから発生するイベントは一本化して共通のインターフェースでハンドリングできる構造を持つこと。(拡張性)
2.共通リソースから発生するイベントを効率的に扱う為に、イベントを受け取るべきアプリケーションが限定される管理機構を持っていること。(処理の効率性)
3.アプリケーションは各機能(カメラからの印刷、コピー印刷など)を実現するために必要な制御のみを行えば良いような構成となっていること。(保守性)
もし、上記1が満たされないとすると、イベントを投げるモジュールがアプリケーションに応じて制御を変えなければならず、拡張性が保たれなくなる。また1が満たされていても2が満足されないと、全てのアプリケーションがラウンドロビン的に起動され、制御にかかるオーバーヘッドが増加してしまう。また3が満たされないと、各機能で共通な要素(例えばエラー発生時の制御など)までアプリケーションが制御しなければならなくなってしまう。
特開平09−006408 特開平07−175671
The following elements are important in order to enhance the modularity of the application and make it extensible.
1. Even in different applications, the events generated from common resources such as key events should be unified and handled by a common interface. (Scalability)
2. In order to handle events generated from common resources efficiently, the system must have a management mechanism that limits the applications that should receive the events. (Processing efficiency)
3. The application must be configured to perform only the control necessary to realize each function (printing from a camera, copy printing, etc.). (Maintenance)
If the above 1 is not satisfied, the module that throws the event must change the control according to the application, and the expandability cannot be maintained. If 1 is satisfied but 2 is not satisfied, all applications are started in a round robin manner, and the overhead for control increases. If 3 is not satisfied, the application must control elements common to each function (for example, control when an error occurs).
JP 09-006408 A JP 07-175671 A

しかしながら、プリンターなどの組み込み機器で一般的に用いられているItronなどのRTOSはPC上のOSとは異なり、キーイベントなどUI系の共通イベントを、並列に動作するアプリケーションプロセスに対して効率的にハンドリングするウインドーシステム機構を持たないので、このままでは上述した1,2の要素を満たせないという欠点があった。   However, RTOS such as Itron, which is generally used in embedded devices such as printers, is different from OS on a PC, and UI-related common events such as key events are efficiently handled for application processes operating in parallel. Since there is no window system mechanism for handling, there is a disadvantage that the above-described elements 1 and 2 cannot be satisfied as it is.

OS以外のサブシステムがプロセスを管理する技術の一例として例えば、特許文献2に開示されているように、OSとプロセスの間に「プロセス管理プロセス」と呼ばれるサブシステムを導入することで、動作プロセスを管理する手法が提案されている。この手法を応用すれば同文献に記述された「動作条件」を適切に設定することで上述した2の要素は実現できるが、1と3の要素はやはり満たすことが出来ない。   As an example of a technique for managing a process by a subsystem other than the OS, for example, as disclosed in Patent Document 2, an operating process is introduced by introducing a subsystem called a “process management process” between the OS and the process. A method for managing the above has been proposed. If this method is applied, the above-described two elements can be realized by appropriately setting the “operation condition” described in the document, but the elements 1 and 3 cannot be satisfied.

本発明は、上述した問題点を解決するためになされたものであり、以下のような特徴を持つ。   The present invention has been made to solve the above-described problems, and has the following features.

複数のアプリケーションモードを有するシステム、あるいは、多機能プリンターシステムにおけるアプリケーション管理方法であって、
システム状態管理スタックと、イベントディスパッチを行なうイベントディスパッチステップと、
アプリケーションモード遷移制御を行なう遷移制御ステップと、システム状態遷移制御を行なう遷移制御ステップと、遷移要求イベントキューイングを行なうイベントキューイングステップと、ID付与を行なうID付与ステップと、
を備えることを特徴とする。
An application management method in a system having a plurality of application modes or a multi-function printer system,
A system state management stack, an event dispatch step for event dispatch,
A transition control step for performing application mode transition control, a transition control step for performing system state transition control, an event queuing step for performing transition request event queuing, an ID providing step for performing ID assignment,
It is characterized by providing.

「アプリケーションモード」とは、制御対象が明確に異なる機能毎に定義された一つのモードを表す。例えば、「デジタルカメラからのダイレクト印刷機能」、「任意のI/Fに接続されたストレージデバイスからの印刷機能」、「PCドライバーを介した印刷機能」、「スキャナーから画像を読み取りながら直接印刷を行うコピー印刷機能」などは、一般的に異なる制御を必要とし、それぞれが一つのアプリケーションモードを形成すると考えられる。それに対して「システム状態」とは、各アプリケーションモードに対して共通の概念を定義できる状態であり、例えば「エラー状態」などが「システム状態」に相当する。(尚、全てのモードにおける共通の概念として「アイドル状態」を定義する。この状態は、モードにおける「基底状態」であり、原則としてアプリケーションモードを管理するプロセス自身が制御するものとする。)ここでは、各アプリケーションモードを管理するモジュール(タスク)を単に「アプリケーション」と呼び、各システム状態を管理するモジュール(タスク)を「システム状態管理モジュール」と呼ぶことにする。   The “application mode” represents one mode defined for each function whose control target is clearly different. For example, “Direct print function from digital camera”, “Print function from storage device connected to any I / F”, “Print function via PC driver”, “Direct printing while reading image from scanner” The “copy printing function to be performed” generally requires different controls, and each is considered to form one application mode. On the other hand, “system state” is a state in which a common concept can be defined for each application mode. For example, “error state” corresponds to “system state”. (Note that the “idle state” is defined as a common concept in all modes. This state is the “base state” in the mode, and in principle is controlled by the process managing the application mode.) The module (task) for managing each application mode is simply referred to as “application”, and the module (task) for managing each system state is referred to as “system state management module”.

本願により、複数の機能を有する多機能システムにおいて、アプリケーション管理システムを導入し、イベント伝達系のインターフェースを統一することで個別モジュールのモジュール性を高めることができるので、結果としてシステムの拡張性を高めることができるという効果がある。   According to the present application, the modularity of individual modules can be improved by introducing an application management system in a multi-function system having a plurality of functions and unifying the interface of the event transmission system. As a result, the expandability of the system is improved. There is an effect that can be.

また、複数のアプリケーションモードにまたがって共通に定義されるシステム状態の概念を導入し、あるシステム状態における制御を一つのモジュールでモード横断的に行うことにより、モジュールの再利用性が高まり、結果としてシステム設計の生産性を向上させるという効果がある。   In addition, by introducing the concept of system state that is defined in common across multiple application modes and performing control in one system state across modes in one module, the reusability of the module increases, and as a result This has the effect of improving system design productivity.

また、システム状態間の遷移は、単純なスタックのプッシュ・ポップ操作のみによって行われるため遷移にかかる負荷を最小限に抑えることが可能である。更に遷移要求が満たされなかった時は内部的なキューイング機構が働き、また状態が変わった時にはキューをサーチして自動的に再遷移を起動する仕組みを持つと同時に状態の変化を通知する仕組みも有するため、アプリケーション或いは状態管理モジュールが遷移処理にかける負荷を軽減できる。これらの要素により処理を高速化できる効果がある。   Further, since the transition between the system states is performed only by a simple stack push / pop operation, the load on the transition can be minimized. Furthermore, when the transition request is not satisfied, an internal queuing mechanism works, and when the state changes, it has a mechanism that searches the queue and automatically starts re-transition, and at the same time notifies the state change Therefore, the load applied to the transition process by the application or the state management module can be reduced. These elements have the effect of speeding up the processing.

また、システムが起動されると、各アプリケーションは「ID付与手段」を呼び出して、ユニークなIDを獲得する。システム起動処理が終了すると、「アプリケーションモード遷移制御手段」において任意の方法を用いて起動時モードが決定される。この時取得された情報は、「システム状態管理スタック」の最基底部に書き込まれて、現在のアプリケーションモードを保持すると共に、システム状態が「アイドル状態」であることを明示化させる。「アイドル状態」における「アプリケーション」に対する共通イベント(例えばキー操作など)が発生すると、外部ハンドラーは「アプリケーション管理システムが提供する共通のAPI」を用いて対応するイベントを管理システムへ発行し、このイベントを受け取った「イベントディスパッチャー」が「システム状態管理スタック」に保持されたイベント通知方法を用いて「アプリケーション」に対して直接通知を行える。また、あるシステム状態を管理するモジュールが該当する状態遷移要因を検出した場合は、(例えば「エラー状態」を管理するモジュールがエラー発生を検出した場合など)任意のタイミングで「システム状態遷移制御手段」へ状態遷移要求イベントを通知することが出来る。   Further, when the system is activated, each application calls “ID assigning means” to acquire a unique ID. When the system activation process ends, the “application mode transition control means” determines the activation mode using an arbitrary method. The information acquired at this time is written in the most base part of the “system state management stack”, holds the current application mode, and makes it clear that the system state is “idle state”. When a common event (for example, key operation) for the “application” in the “idle state” occurs, the external handler issues a corresponding event to the management system using the “common API provided by the application management system”. The “event dispatcher” that received the message can directly notify the “application” using the event notification method held in the “system state management stack”. In addition, when a module that manages a certain system state detects a corresponding state transition factor (for example, when a module that manages an “error state” detects an error occurrence), “system state transition control means” Can be notified of a state transition request event.

また、イベントを受け取った「システム状態遷移制御手段」は、あらかじめ定義された任意の方法を用いて遷移条件を判断し、遷移条件を満たした場合は状態遷移処理を行って「システム状態管理モジュール」へ通知すると共に「システム状態管理スタック」をプッシュしてカレント状態の上に「該当するシステム状態」を追加する。この時新しく追加された「システム状態」には、イベントの通知方法として「該当するシステム状態を管理するシステム状態管理モジュール」が定義したものが書き込まれる。従って、「アプリケーション」が何ら特別な制御を行うことなく、「該当するシステム状態」における共通イベントは、上述したのと同じ原理で、「該当するシステム状態管理モジュール」へ直接通知されることになる。   In addition, the “system state transition control unit” that receives the event determines the transition condition using an arbitrary method defined in advance, and performs the state transition process when the transition condition is satisfied, thereby performing the “system state management module”. And push the “system state management stack” to add “corresponding system state” on top of the current state. In the newly added “system state”, the event notification method defined by the “system state management module for managing the corresponding system state” is written. Therefore, the common event in the “corresponding system state” is directly notified to the “corresponding system state management module” on the same principle as described above, without any special control by the “application”. .

また、遷移条件を満たさなかった要求は「遷移要求イベントキューイングステップ」によりキューイングされて、適当なタイミングで再遷移を行うことが出来る。状態を復帰させる動作は、上述した「状態管理スタック」へのプッシュ処理をポップ処理にするのみで、全く対象的に行うことが出来る。   Requests that do not satisfy the transition condition are queued by the “transition request event queuing step” and can be re-transitioned at an appropriate timing. The operation of restoring the state can be performed completely in a target manner only by changing the above-described push processing to the “state management stack” to the pop processing.

また、モード遷移が必要になるような外部イベントを受け取った「アプリケーション」は、任意のタイミングでアプリケーションモード遷移要求イベントを「アプリケーションモード遷移制御手段」へ送ることが可能である。「アプリケーションモード遷移制御手段」はイベントを受け取ると、要求元の情報と「システム状態管理スタック」の情報を参照して、遷移条件を満たした場合に、モード遷移処理を行い、「システム状態管理スタック」の最基底部に新しいアプリケーションの情報を書き込んでモードを切替えることができる。   An “application” that has received an external event that requires mode transition can send an application mode transition request event to “application mode transition control means” at an arbitrary timing. When the “application mode transition control means” receives the event, it refers to the information of the request source and the information of the “system state management stack” and performs the mode transition processing when the transition condition is satisfied, and the “system state management stack” The mode can be switched by writing new application information in the most basic part of "."

また、遷移条件を満たさなかった要求は「遷移要求イベントキューイングステップ」によりキューイングされて、適当なタイミングで再遷移を行うことが出来る。   Requests that do not satisfy the transition condition are queued by the “transition request event queuing step” and can be re-transitioned at an appropriate timing.

以上、述べたように、「アプリケーション」は、「アプリケーション管理システム」が定める共通I/Fを用いてイベントハンドリングの共通化を行うことが出来ると共に、アプリケーションへイベントを送るためのI/Fも共通化されるので、モジュールの拡張性を高めることが出来る。   As described above, the “application” can share the event handling using the common I / F determined by the “application management system”, and the I / F for sending the event to the application is also common. Therefore, the extensibility of the module can be improved.

また、「アプリケーションモード遷移制御手段」は遷移要求元が送付したデータを元にモード遷移制御を行い、更に「システム状態遷移制御手段」は、あらかじめ定義された方法でシステム状態遷移制御を行い、共に管理情報を「状態管理スタック」に書き込むことでカレント情報が「状態管理スタック」で一元管理されるため、任意のモード・状態の組み合わせにおいて、イベント通知方法が一義的に決定される。   The “application mode transition control means” performs mode transition control based on the data sent by the transition request source, and the “system state transition control means” performs system state transition control by a predefined method. Since the current information is centrally managed by the “state management stack” by writing the management information to the “state management stack”, the event notification method is uniquely determined in any mode / state combination.

更に、「システム状態管理モージュール」及び「システム状態遷移制御手段」は、上述した方法で連係してシステム状態遷移と、その状態における制御を行うため、「アプリケーション」を自身の機能実現の為だけに特化させることが可能になる。   Furthermore, the “system state management module” and the “system state transition control means” cooperate with the above-described method to perform system state transition and control in that state. It becomes possible to specialize in.

(実施例1)
本発明の第1実施例について説明する。(本実施例は本発明を多機能プリンターに適用した場合のことを想定しているが、同じようなシステム構成をとる任意の装置に適用可能なことは言うまでも無い。)まず、本実施例における構成について図1を用いて説明する。同図において、100はアプリケーション管理システムである。101はアプリケーションモード遷移制御手段であり、特定のプロセスから発生するアプリケーションモード遷移要求イベントを受け取って、モード遷移を制御する。102は遷移要求イベントキューであり、アプリケーションモード遷移制御手段(101)或いはシステム状態遷移制御手段(103)での遷移処理において遷移条件が満たされなかった時に、要求イベントの履歴を保存するためのものである。103はシステム状態遷移制御手段であり、特定のプロセスから発生するシステム状態遷移要求イベントを受け取って、状態遷移を制御する。105はシステム状態管理スタックであり、モード遷移制御手段(101)または状態遷移制御手段(103)によってカレント状態がプッシュ或いはポップされる。113はイベントディスパッチャーであり、共通イベントをアプリケーション或いは状態管理モジュールへ通知する。114はID付与手段であり、制御対象となるモジュールに対してユニークなIDを割り振る機能を提供する。次に本実施例の動作について詳細に説明する。
Example 1
A first embodiment of the present invention will be described. (This embodiment assumes that the present invention is applied to a multi-function printer, but it goes without saying that it can be applied to any apparatus having a similar system configuration.) First, this embodiment A configuration in the example will be described with reference to FIG. In the figure, reference numeral 100 denotes an application management system. An application mode transition control unit 101 receives an application mode transition request event generated from a specific process and controls the mode transition. Reference numeral 102 denotes a transition request event queue for storing a request event history when a transition condition is not satisfied in the transition process by the application mode transition control means (101) or the system state transition control means (103). It is. Reference numeral 103 denotes a system state transition control unit which receives a system state transition request event generated from a specific process and controls the state transition. Reference numeral 105 denotes a system state management stack, in which the current state is pushed or popped by the mode transition control means (101) or the state transition control means (103). An event dispatcher 113 notifies the common event to the application or the state management module. Reference numeral 114 denotes an ID assigning unit that provides a function of assigning a unique ID to a module to be controlled. Next, the operation of this embodiment will be described in detail.

始めにシステム起動時の処理について図20を用いて説明する。同図はシステム起動時の処理フローを表す。システムが起動されるとOSリソースなどの初期化後に、まずS2001においてID付与手段(114)の初期化が行われる。続いて各アプリケーションとシステム状態管理モジュールが起動されて、S2002〜S2004のループでID割付処理が行われる。S2003におけるID割付は、各モジュールがID付与手段(114)が提供するI/Fを呼び出して、ユニークなIDを獲得する処理である。(以降、便箋的に、アプリケーションに与えられるIDを特にアプリケーションIDと呼び、システム状態管理モジュールに与えられるIDをシステムIDと呼ぶことにする。)IDを獲得した各モジュールは、自身のIDを覚えておく。全てのアプリケーション及びシステム状態管理モジュールに対するID付与が終了したら、各モジュールはタスク間通信などの機能を用いて、制御の為に必要な他のモジュールのIDを取得する。次にS2005でアプリケーション管理システム100の初期化が行われ、続いてS2006でシステム状態管理スタック(105)へビルトインアプリの情報が設定される。(後述するように、このアプリケーションは、システムが状態遷移途中にあって有効なモードが確定するまでの間だけ、暫定的に起動されるアプリケーションである。)この後、アプリケーション管理システム100は、タスク遅延などの手段を用いて、アプリケーションに実行権を渡し、その間に、システム的にあらかじめ定められた「デフォルトモードアプリケーション」と、もし遷移要因が整っていれば任意のアプリケーションがモード遷移要求イベントを発行する。実行権を回復したアプリケーション管理システム100は、S2007でモード遷移シーケンスを起動して、初期化時のアプリケーションを立ち上げ、処理を終了する。(モード遷移に関しては、後述する。)ここでは、ID付与手段(114)が動的に各制御対象モジュールに対してIDを付与する方法について説明したが、これを静的に行う方法を用いても良い。即ち、システム設計時に抽出された動作モードとシステム状態に対して、マクロなどを用いて、あらかじめユニークなIDを静的に付与しておくことで、ここで述べた動的なID付与処理は省略することも可能である。以上で起動時処理の説明を終わる。   First, processing at the time of system startup will be described with reference to FIG. This figure shows the processing flow at the time of system startup. When the system is activated, after the OS resources and the like are initialized, first, the ID assigning means (114) is initialized in S2001. Subsequently, each application and the system state management module are activated, and ID assignment processing is performed in a loop of S2002 to S2004. The ID allocation in S2003 is a process in which each module calls an I / F provided by the ID assigning means (114) to acquire a unique ID. (Hereinafter, the ID given to the application is referred to as an application ID, and the ID given to the system state management module is called a system ID in the form of stationery.) Each module that has acquired the ID remembers its own ID. Keep it. When ID assignment to all applications and system state management modules is completed, each module acquires IDs of other modules necessary for control using functions such as inter-task communication. In step S2005, the application management system 100 is initialized, and in step S2006, information on the built-in application is set in the system state management stack (105). (As will be described later, this application is an application that is temporarily activated only until the system is in the middle of state transition and a valid mode is determined.) Thereafter, the application management system 100 performs the task. By using means such as delay, the execution right is handed over to the application, and during that time, a system-predetermined “default mode application” and any application issues a mode transition request event if transition factors are in place To do. The application management system 100 that has recovered the execution right activates the mode transition sequence in S2007, starts up the application at the time of initialization, and ends the process. (The mode transition will be described later.) Here, the method in which the ID assigning means (114) dynamically assigns an ID to each control target module has been described. Also good. In other words, a unique ID is statically assigned in advance using a macro or the like to the operation mode and system state extracted at the time of system design, so that the dynamic ID assignment process described here is omitted. It is also possible to do. This is the end of the description of the startup process.

次にアプリケーションモード遷移制御処理について図5を用いて説明する。(ここでの説明はアプリケーションAからアプリケーションBへ遷移するものとして議論する。遷移前の状態は図21(A)のようになっているものとする。)同図は、アプリケーションモード遷移制御処理のフローを表している。S501〜S502における処理は、外部イベントハンドラーによる処理を表す。S503〜S505における処理は、モード遷移要求元であるプロセスによる処理を表す。(モード遷移イベント要求元となるプロセスは、必ずしもアプリケーションそのものである必要はないが、ここでは簡単の為にアプリケーションB自身が要求元であるものとする。)S506〜S520における処理は、アプリケーション管理システム100での処理を表す。また、S523〜S524における処理は一義的にコンテキストが定まらないものであり、システムに依存してアプリケーションAのコンテキストかアプリケーション管理システム100のコンテキストのどちらかに属する。同様にS521〜S522の処理は、アプリケーションBのコンテキストかアプリケーション管理システム100のコンテキストのどちらかに属する。今、イベントハンドラーがアプリケーションBの起動要因を検出したとすると(S501)、そのイベントが任意の方法を用いてアプリケーションBに伝えられる。(S502)(イベントハンドラー及び起動要因に関しては、システムに依存して任意の構成をとることが出来る。例えばアプリケーションBがデジタルカメラからの直接印刷機能を制御するものであるとすれば、イベントハンドラーはUSBなどのインターフェースを監視し、カメラ接続事象を起動要因として、アプリケーションBをキックするようなものが考えられる。)イベント待ち状態であったアプリケーションBは、S503においてハンドラーからの遷移要因検出イベントを受けて、続くS504で、アプリケーション遷移制御手段(101)が提供するインターフェース(API)を通じて、モード遷移要求イベントを発生させる。このインターフェースは、(1)遷移イベント要求元、(2)遷移イベントの種類、(3)付加情報の長さ、(4)付加情報へのポインター111、(5)優先順位181、(6)イベント通知手段182、をアプリケーションが設定して呼び出すものである。ここで(3)及び(4)は、呼び出し元とイベント種別に依存したデータである。(付加データとして明示的に定義された型を用いないのは、システム依存な部分をなるべく排除し、アプリケーション管理システム100の汎用性を確保するためである。)また(6)は、イベントを通知する為の方法として、定義された関数型であり、引数としてイベント種別と付加データへのポインター84が与えられる。APIでは、付加情報の長さ分のメモリー領域を確保して、(4)の内容をコピーした後、図18で示されるようなパケットを生成してアプリケーション管理システム100に送付する。S506でイベント待ち状態であったアプリケーション管理システム100は、モード遷移イベントがアプリケーションB(ID=2)から発生したことを受けて、遷移シーケンスに入る。遷移シーケンスが起動されると、まずS507においてモード遷移可能かどうかが判断される。モード遷移可能条件は、次の3つの条件のANDで判断される。
1.システム状態がアイドル状態である。(スタックポインターが最下段を指している。)
2.内部状態が遷移中ではない。
3.遷移先のモードの優先度が現在の優先度より高い。
Next, the application mode transition control process will be described with reference to FIG. (The description here will be discussed as a transition from application A to application B. Assume that the state before the transition is as shown in FIG. 21A.) FIG. Represents a flow. The processing in S501 to S502 represents processing by an external event handler. The processing in S503 to S505 represents processing by the process that is the mode transition request source. (The process that is the mode transition event request source is not necessarily the application itself, but for the sake of simplicity, it is assumed that the application B itself is the request source.) The processing in S506 to S520 is performed by the application management system. 100 represents processing. Further, the processing in S523 to S524 is not uniquely defined in context, and belongs to either the context of application A or the context of application management system 100 depending on the system. Similarly, the processing of S521 to S522 belongs to either the context of the application B or the context of the application management system 100. If the event handler detects an activation factor of the application B (S501), the event is transmitted to the application B using an arbitrary method. (S502) (The event handler and the activation factor can take any configuration depending on the system. For example, if the application B controls the direct printing function from the digital camera, the event handler It is possible to monitor an interface such as USB and kick the application B with the camera connection event as the activation factor.) The application B that has been waiting for the event receives a transition factor detection event from the handler in S503. In subsequent S504, a mode transition request event is generated through the interface (API) provided by the application transition control means (101). This interface includes (1) transition event request source, (2) type of transition event, (3) length of additional information, (4) pointer 111 to additional information, (5) priority 181 and (6) event The notification unit 182 is set and called by the application. Here, (3) and (4) are data depending on the caller and the event type. (The reason why the type explicitly defined as the additional data is not used is to eliminate the system-dependent portion as much as possible and to ensure the versatility of the application management system 100.) Also, (6) notifies the event. As a method for doing this, the function type is defined, and an event type and a pointer 84 to additional data are given as arguments. In the API, a memory area corresponding to the length of the additional information is secured, the contents of (4) are copied, and then a packet as shown in FIG. 18 is generated and sent to the application management system 100. In response to the occurrence of the mode transition event from the application B (ID = 2), the application management system 100 that is in the event waiting state in S506 enters the transition sequence. When the transition sequence is activated, it is first determined in S507 whether or not mode transition is possible. The mode transition enabling condition is determined by AND of the following three conditions.
1. The system state is idle. (The stack pointer points to the bottom.)
2. The internal state is not transitioning.
3. The priority of the mode at the transition destination is higher than the current priority.

上記判断のための情報を獲得するために、図21(A)に示されたスタックポインター213が指す状態管理スタック211から、システム状態34とカレント優先度33、及びイベント通知方法35(ここでは“FUNC_A”)が読み出される。同時に、S506で獲得したパケットにアクセスして、遷移先モードの優先度33とイベント通知方法35(ここでは“FUNC_B”)が読み出される。これらの情報を用いて、上記1と3の条件が満たされるかどうかが判断され、同時にアプリケーション管理システム100の内部情報である内部状態が2を満たすかどうかが判断される。全ての条件が満たされると遷移シーケンスが続行される。(条件が満たされなかった場合は、S509において要求イベントのキューイング処理が行われるが、これについては後述する。)続くS508で内部状態をモード遷移中に設定する。S511では、状態管理スタック211をポップした後、ビルトインアプリケーションの情報をプッシュする。(ビルトインアプリケーションとは、ID=0を割り振られた特殊なアプリケーションであり、起動時直後、或いはアプリケーション管理システム100が遷移処理状態にある時に暫定的なモード支配を行う様に設計されている。起動時アプリケーションが定義するイベント通知方法35(FUNC_SYS)は、起動要求、停止要求、状態遷移通知のみ受け付けるようになっており、他の共通イベントは全てFailする。従って起動時アプリケーションモードで発生した共通事象は全てシステムフックへ流されることになり、単純なUI系イベントなどへの応答はしない。これに関連して、アイドル状態におけるイベントディスパッチ機構については後述する。)続いてS512、S513では、S507において読み出しておいたそれぞれのイベント通知方法35(FUNC_A,FUNC_B)を用いてアプリケーションAには停止要求を、そしてアプリケーションBには起動要求をそれぞれ送付する。(この時、S506で受け取ったパケットの付加情報も一緒に送る。)これらの通知処理を行った後、アプリケーション管理システム100はS514でイベント待ち状態になる。一方、停止要求を受け取ったアプリケーションAは、S523において停止の為に必要な処理を行う。(ここでの処理内容は、システムに依存して様々なものが有り得るが、例えば内部状態を切り替えたり、表示系などに関連した不要なリソースを解放する処理などが考えられる。)S523での処理が終了したら、S524においてアプリケーション管理システム100へ停止処理が終了したことを伝える。(通知は、アプリケーション管理システム100が用意したAPIなどのインターフェースを用いて行う。)同様にしてアプリケーションBはS521で起動処理(表示リソースの確保、初期表示等)を行った後、S522で起動処理終了通知をアプリケーション管理システム100へ送る。(前述したように、これら2つの処理が行われるコンテキストは、アプリケーション側でも、アプリケーション管理システム側でも構わない。即ちS512において呼び出されたFUNC_Aの中でS523、S524の処理が完結できるのであれば実行コンテキストは管理システム側になるし、ここでイベント通知のみが行われるのであれば、実行コンテキストは、アプリケーション側になる。どちらの形態をとるかは処理負荷などに応じて実装依存で定まることであり、肝心な事は必ず処理終了通知によって同期をとることである。)S514でイベント待ち状態だったアプリケーション管理システム100は、停止終了通知と起動終了通知が両方とも揃ったことを確認したら、モード遷移シーケンスを継続させてS515に進み、システム状態管理スタック105にアプリケーションBの管理情報を書き込み、更にモード遷移中であった内部状態をクリアする。更にS516において遷移要求イベントキュー102が調べられて、保留イベントが存在したらS518でリストの先頭要素を取り出す。取り出された要素のイベント種別83がS519で調べられて、もしイベントが状態遷移要求であったら、S1007へ分岐して状態遷移制御シーケンスが起動され、モード遷移要求であったら、再びS507へ戻って新しいモード遷移シーケンスに入る。キューが空であったら、そこで処理を終了する。(S517でイベント待ちになる。)モード遷移処理が終了するとアプリケーション管理システム100内の状態は図21(B)のようになり、アプリケーションBが管理するモードとなる(尚、状態管理スタック211のデータ構造についても図21(C)に示しておく)。   In order to acquire the information for the determination, the system state 34, the current priority 33, and the event notification method 35 (in this case, “in this case”) are transmitted from the state management stack 211 pointed to by the stack pointer 213 shown in FIG. FUNC_A ″) is read out. At the same time, the packet acquired in S506 is accessed, and the priority 33 and event notification method 35 (here, “FUNC_B”) of the transition destination mode are read. Using these pieces of information, it is determined whether the above conditions 1 and 3 are satisfied, and at the same time, it is determined whether the internal state that is internal information of the application management system 100 satisfies 2. The transition sequence continues when all conditions are met. (If the condition is not satisfied, a request event queuing process is performed in S509, which will be described later.) In S508, the internal state is set to the mode transition. In S511, after popping the state management stack 211, information on the built-in application is pushed. (A built-in application is a special application assigned with ID = 0, and is designed to perform provisional mode control immediately after activation or when the application management system 100 is in a transition processing state. The event notification method 35 (FUNC_SYS) defined by the time application accepts only a start request, a stop request, and a state transition notification, and all other common events fail, so a common event that occurs in the start application mode Are all sent to the system hook and do not respond to simple UI events, etc. In this connection, the event dispatch mechanism in the idle state will be described later.) Subsequently, in S512 and S513, in S507 Read it out Les event notification method 35 (FUNC_A, FUNC_B) a stop request to the application A with, and the application B sends an activation request, respectively. (At this time, additional information of the packet received in S506 is also sent together.) After performing these notification processes, the application management system 100 enters an event waiting state in S514. On the other hand, the application A that has received the stop request performs a process necessary for the stop in S523. (There are various processing contents depending on the system. For example, processing for switching the internal state or releasing unnecessary resources related to the display system, etc. can be considered.) Processing in S523 When the process is finished, in step S524, the application management system 100 is notified that the stop process is finished. (Notification is performed using an interface such as an API prepared by the application management system 100.) Similarly, the application B performs activation processing (reservation of display resources, initial display, etc.) in S521, and then activation processing in S522. An end notification is sent to the application management system 100. (As described above, the context in which these two processes are performed may be the application side or the application management system side. That is, if the processes of S523 and S524 can be completed in FUNC_A called in S512, the execution is performed. The context is on the management system side, and if only event notification is performed here, the execution context is on the application side, which form depends on the processing load etc. The important thing is to always synchronize with the process end notification.) When the application management system 100 that has been in the event waiting state in S514 confirms that both the stop end notification and the start end notification have been prepared, the mode transition is performed. Continue the sequence and proceed to S515. The arm state management stack 105 writes the management information of the application B, and clears the internal state was being further mode transition. Further, the transition request event queue 102 is examined in S516, and if there is a pending event, the top element of the list is extracted in S518. The event type 83 of the extracted element is checked in S519. If the event is a state transition request, the process branches to S1007 to start the state transition control sequence. If it is a mode transition request, the process returns to S507 again. A new mode transition sequence is entered. If the queue is empty, the process ends there. (Waiting for an event in S517) When the mode transition process ends, the state in the application management system 100 is as shown in FIG. 21B, and is in a mode managed by the application B (note that data in the state management stack 211) The structure is also shown in FIG. 21C).

次にS509で行われるモード遷移要求イベント保留処理について図6を用いて説明する。処理が起動されるとモード遷移制御手段(101)は、S601で遷移要求イベントキュー(102)を検査してリストが空でないかどうか確認する。リストが空であった時には、S602においてリスト領域を確保し、必要な情報をリスト要素にコピーしてリストの先頭につなぐ。もしリストが空でなかった時は、S603でリストの検索処理を行う。検索処理は、(1)対象イベントのIDと等しい要素の検索、(2)対象イベントの優先度より低い(数値が小さいほうが優先度が高い)要素の検索、の順に行われ、(1)でヒットした場合は、S604で要素の入れ替え処理のみが行われ、(1)でヒットしなかった場合は、(2)で検索された要素の直前に、対象イベントの内容をコピーした新しいリスト要素を挿入する。(S605)(尚、(2)の検索処理において、リスト内の全ての要素の優先度が対象イベントの優先度以上であった場合は、リストの最後に接続される。)最後にS606において、対象イベントのイベント通知方法35を用いて、イベントが保留されたことと保留要因(優先度に起因するものか、システム状態に起因するものか)を通知する。ここで用いるキューイングリストの構造は、例えば図8に示したようなものである。同図(A)はリスト要素のデータ構造であり、previous81/next82はそれぞれ自分の前及び後に接続された要素へのポインターであり、ID43、優先度33、及びイベント通知方法35は、全てモード遷移要求発行元の情報である。またイベント種別83は、遷移シーケンス起動の要因となった遷移要求イベントである。リストは同図(B)に示されたように優先度順の1次元リンクリストとして保持される。(ここで示したリスト構造は、一般的に用いられている優先度付汎用リスト構造である。ここでは、構造を例示したのみであり、本発明の範囲がこの構造に限定される訳ではない。)以上が、モード遷移要求イベント保留処理のシーケンスであるが、保留されたイベントは後述するように、状態遷移のタイミングで必ずフックされてしまう。もし、保留解除を待っている間に、モード遷移条件が崩れてしまったり(例えば一度接続されたデジタルカメラがはずされた等)、システム仕様的に、そもそも保留する必要がなかったりする場合も考えられるので、モード遷移制御手段(101)は、保留された遷移要求イベントを解除するインターフェースも備えている。このインターフェースを通じて呼び出された処理は、図9に示したシーケンスフローにより保留イベントを解除する。以上で、モード遷移要求イベント保留処理の説明を終わる。   Next, the mode transition request event hold processing performed in S509 will be described with reference to FIG. When the process is started, the mode transition control means (101) checks the transition request event queue (102) in S601 to check whether the list is not empty. When the list is empty, a list area is secured in S602, and necessary information is copied to the list element and connected to the head of the list. If the list is not empty, a list search process is performed in S603. The search processing is performed in the order of (1) search for an element equal to the ID of the target event, and (2) search for an element lower than the priority of the target event (the smaller the numerical value, the higher the priority). If there is a hit, only the element replacement process is performed in S604. If no hit is found in (1), a new list element in which the content of the target event is copied immediately before the element searched in (2). insert. (S605) (In the search process of (2), if the priority of all elements in the list is equal to or higher than the priority of the target event, it is connected to the end of the list.) Finally, in S606 The event notification method 35 of the target event is used to notify that the event has been suspended and the suspension factor (whether it is due to priority or system state). The structure of the queuing list used here is, for example, as shown in FIG. FIG. 6A shows the data structure of the list element, the previous 81 / next 82 are pointers to the elements connected before and after the ID, the ID 33, the priority 33, and the event notification method 35 are all mode transitions. This is information about the request issuer. The event type 83 is a transition request event that causes a transition sequence activation. The list is held as a one-dimensional linked list in order of priority as shown in FIG. (The list structure shown here is a general-purpose list structure with priorities that is generally used. Here, the structure is merely illustrated, and the scope of the present invention is not limited to this structure. The above is the sequence of the mode transition request event hold processing, but the held event is always hooked at the timing of state transition, as will be described later. If waiting for the hold to be released, the mode transition condition may be lost (for example, the digital camera once connected is removed), or there is no need to hold it in the first place due to system specifications. Therefore, the mode transition control means (101) also includes an interface for canceling the pending transition request event. The process called through this interface releases the hold event by the sequence flow shown in FIG. This is the end of the description of the mode transition request event hold processing.

次にシステム状態遷移制御処理について、図10を用いて説明する。同図はシステム状態遷移制御処理のフローを表す。同図においてS1001〜S1002の処理は、外部イベントハンドラーによる処理を表す。S1003〜S1005の処理は、遷移要求元での処理を表す。また、S1006〜S1018の処理はアプリケーション管理システム100における処理を表す。今、イベントハンドラーが状態遷移要因を検出したとすると(S1001)、そのイベントが任意の方法を用いて、状態遷移要求元となるモジュールに通知される。ここから状態遷移要求元がアプリケーション管理システム100が提供するAPIをコールして、状態遷移要求イベントを通知するまでの処理過程は、モード遷移制御においてS503からS506で行われるそれと殆ど同じであるので詳細な説明は省く。結果として、図18で示された型のパケットがアプリケーション管理システム100へ送られて、状態遷移要求イベントの発生が認識される。   Next, the system state transition control process will be described with reference to FIG. This figure shows the flow of system state transition control processing. In the figure, the processing of S1001 to S1002 represents processing by an external event handler. The processing from S1003 to S1005 represents processing at the transition request source. Further, the processing of S1006 to S1018 represents processing in the application management system 100. If the event handler detects a state transition factor (S1001), the event is notified to the module that is the state transition request source using an arbitrary method. The process from when the state transition request source calls the API provided by the application management system 100 to notify the state transition request event is almost the same as that performed in S503 to S506 in the mode transition control. The explanation is omitted. As a result, a packet of the type shown in FIG. 18 is sent to the application management system 100, and the occurrence of the state transition request event is recognized.

ここで状態遷移要求イベントに関してその定義を説明しておく。パケットのイベント種別83には、(1)アップスタックイベント、または(2)ダウンスタックイベント、のどちらかが格納されている。2つのイベントの定義は下記で与えられる。
(1)アップスタックイベント
新たな状態を状態管理スタックへ積み重ねる。
(2)ダウンスタックイベント
既に状態管理スタック211に入った状態を解除する。
Here, the definition of the state transition request event will be described. The packet event type 83 stores either (1) an up stack event or (2) a down stack event. Two event definitions are given below.
(1) Up stack event A new state is stacked on the state management stack.
(2) Down stack event The state that has already entered the state management stack 211 is released.

再び図10に戻ってシーケンスの説明を続ける。   Returning to FIG. 10 again, the description of the sequence will be continued.

イベントを受け取ったアプリケーション管理システム100は、S1006において状態遷移制御手段を呼び出して状態遷移シーケンスを起動する。同シーケンスは、まずS1007で受け取ったパケットの内容を解析し、遷移先のSystem IDとイベント通知方法35をパケットから取得する。ここで取得したイベント通知方法35がNULLだった場合は、この要求を無効であるものと見なし、イベントを捨てて処理を終了してしまう。イベント通知方法35が有効であった時は、遷移可能条件が満たされているかどうかが判断される。遷移が許可されるためには、イベント種別83に応じて下記の条件を満たす必要がある。
(1)アップスタックイベントの時
1.内部状態が遷移処理中ではなく、かつ
2.カレント状態管理モジュールが遷移を許可する。
(2)ダウンスタックイベントの時
1.内部状態が遷移処理中ではない。
In step S1006, the application management system 100 that has received the event calls the state transition control unit to start the state transition sequence. In the sequence, first, the contents of the packet received in S1007 are analyzed, and the system ID of the transition destination and the event notification method 35 are acquired from the packet. If the event notification method 35 acquired here is NULL, this request is regarded as invalid, the event is discarded, and the process ends. When the event notification method 35 is valid, it is determined whether or not the transition enable condition is satisfied. In order for the transition to be permitted, the following conditions must be satisfied according to the event type 83.
(1) Up stack event 1. The internal state is not in transition processing and The current state management module permits the transition.
(2) At a down stack event The internal state is not in transition processing.

アップスタックイベントの時は、2の条件を評価するために、カレント状態管理モジュールのイベント通知方法35に対して、状態遷移判断要求イベントが遷移先のSystem IDと共に送付される。アプリケーション管理システム100は、この関数の戻り値に応じて2の条件を評価する。ここで遷移が可能であると判断された場合は、遷移シーケンスを継続し、S1008へ進む。(遷移が不可能であった場合は、S1009で状態遷移要求イベントの保留処理が行われるが、この処理は図6の処理と同じである。ただし、モード遷移要求と異なり状態遷移要求は全て優先度0(優先度最大)の事象として扱われるので、必ずモード遷移要求より前につながれる。また、状態遷移要求同士の順位はFIFO型になる。)S1008ではアプリケーション管理システム100の内部状態を状態遷移処理中に設定する。続くS1011では、システム状態管理スタック105をビルトインアプリのものに設定する。(この処理は、S511と同じ処理である。)次にS1012でイベントの種別による分岐が行われて、アップスタック処理(S1014)またはダウンスタック処理(S1013)が起動される。これらの処理が終了すると、S1015〜S1018においてキューイングリストへの対応処理が行われる(S516〜S519での処理と同じ)。   In the case of an up-stack event, a state transition determination request event is sent together with the system ID of the transition destination to the event notification method 35 of the current state management module in order to evaluate the condition of 2. The application management system 100 evaluates two conditions according to the return value of this function. If it is determined that the transition is possible, the transition sequence is continued and the process proceeds to S1008. (If the transition is not possible, the state transition request event hold processing is performed in S1009, but this processing is the same as the processing in FIG. 6. However, unlike the mode transition request, all the state transition requests have priority. (Because it is treated as an event of degree 0 (maximum priority), it is always connected before the mode transition request. Also, the order of the state transition requests is a FIFO type.) In S1008, the internal state of the application management system 100 is changed to the state. Set during transition processing. In the subsequent S1011, the system state management stack 105 is set to that of the built-in application. (This process is the same as S511.) Next, in S1012, branching is performed according to the event type, and the up stack process (S1014) or the down stack process (S1013) is started. When these processes are completed, a process corresponding to the queuing list is performed in S1015 to S1018 (the same as the process in S516 to S519).

次に図12を用いてS1014におけるアップスタック処理について説明する。まずS1201において遷移先に起動要求イベントを発行した後、イベント待ち状態に入る。(S1204)遷移先が起動終了通知を返してきたら、シーケンスを継続し、S1205で状態管理スタック211を操作する。この処理は、まずスタックをポップしてビルトインアプリ状態を解除してから、遷移先状態をスタックにプッシュするものである。最後にS1207で現在の状態管理スタック211上にある全てのモジュールに対して、状態遷移通知イベントを発行する。この時、イベントと共に図14に示した構造をもつデータが各モジュールに送られる。同図において直前状態のID141及びカレント状態のID142は、それぞれ遷移前後でスタックの頂点にあった状態を表すSystem ID(アプリケーションの場合はアプリケーションID)であり、イベント種別83は遷移の起点となった遷移要求イベント(アップスタック要求、ダウンスタック要求、モード遷移要求)であり、付加情報は遷移要求元が要求イベント発行時に送ってきたものである。各モジュールは、通知イベントに同期して送られて来るこれらのデータを解析することで、必要な動作を行うことが出来る(例えば、状態遷移要求イベントを一度けられて、かつキューを削除した後で、遷移要求の再送タイミングを待っていたモジュールは、データを解析して遷移可能であると判断できる状態であれば、状態遷移要求を行うことが出来る)。   Next, the up stack process in S1014 will be described with reference to FIG. First, in S1201, an activation request event is issued to the transition destination, and then an event wait state is entered. (S1204) When the transition destination returns an activation end notification, the sequence is continued, and the state management stack 211 is operated in S1205. In this process, the stack is first popped to cancel the built-in app state, and then the transition destination state is pushed onto the stack. Finally, in step S1207, a state transition notification event is issued to all modules on the current state management stack 211. At this time, data having the structure shown in FIG. 14 is sent to each module together with the event. In the same figure, ID 141 in the previous state and ID 142 in the current state are System IDs (application IDs in the case of an application) representing the state at the top of the stack before and after the transition, respectively, and event type 83 is the starting point of the transition. It is a transition request event (up stack request, down stack request, mode transition request), and the additional information is sent from the transition request source when the request event is issued. Each module can perform the required operation by analyzing these data sent in synchronization with the notification event (for example, after the state transition request event is issued once and the queue is deleted) Thus, the module that has been waiting for the resending timing of the transition request can make a state transition request if it can be determined that the transition is possible by analyzing the data).

次に図13を用いてダウンスタック処理について説明する。まずS1301で状態管理スタック211を上から下へ検索して要求元のIDと等しい情報を取り出す。(取り出した後のスタックは詰めておく)次にS1302で対象のモジュールに対し、停止要求イベントを投げた後S1305でイベント待ち状態になる。停止要求イベントを受けたモジュールから停止終了通知を受け取ったら、シーケンスを継続してS1306で状態管理スタック211を操作し、ビルトインアプリ状態を解除する。その後、状態遷移通知イベント発行処理(S1308)を行ってシーケンスを終了する(これらの処理は、S1207におけるものと同じである)。   Next, the down stack process will be described with reference to FIG. First, in step S1301, the state management stack 211 is searched from top to bottom, and information equal to the request source ID is extracted. (The stack after removal is packed) Next, after a stop request event is thrown to the target module in S1302, an event wait state is entered in S1305. When the stop end notification is received from the module that has received the stop request event, the sequence is continued and the state management stack 211 is operated in S1306 to release the built-in app state. Thereafter, a state transition notification event issuing process (S1308) is performed to end the sequence (these processes are the same as those in S1207).

ここで状態のネストについて簡単に説明しておく。注意深く設計されたシステムでは、状態管理スタック211上に同じ状態が複数現れることは稀である。(逆にそのようにシステム設計すべきである。)しかし、場合によっては状態のネストが生じることが避けられないこともあり得る。例えば、あるエラーが発生してエラー状態151になった後で、エラー解除の為にAの状態152に入り、そこでまたエラーが発生して状態Aを管理するモジュールが対応処理を何も行わなかった場合、図15のようなスタック状態になることが考えられる。上述した様にダウンスタック処理ではS1301におけるスタック探索が上から下へ行われ、かつ対象が最上位にいなくても状態解除が可能なシーケンスとなっているため、仮にこの状態で最初に生じたエラーと2番目に生じたエラーが同時に解除されて、エラー状態管理モジュールが複雑なシーケンス管理を行わずに、ダウンスタックイベントを2回続けて投げるだけの操作を行ったとしても、状態の辻褄を合わせることが可能である。   Here is a brief description of state nesting. In a carefully designed system, multiple occurrences of the same state on the state management stack 211 are rare. (Conversely, the system should be designed in that way.) However, in some cases, it may be unavoidable that nesting of states occurs. For example, after an error occurs and the error state 151 is entered, the error state 151 is entered to enter the A state 152 for error cancellation, where an error occurs again and the module managing the state A performs no corresponding processing. In such a case, it is conceivable that a stacked state as shown in FIG. As described above, in the down stack processing, the stack search in S1301 is performed from the top to the bottom, and the sequence can be canceled even if the target is not at the highest level. Even if the error and the second error that occurred are canceled at the same time, and the error state management module does not perform complicated sequence management and only throws the down stack event twice in succession, It is possible to match.

次に本システムにおけるイベントディスパッチシーケンスについて図16を用いて説明する。このシーケンスは、発生したイベントが前述した遷移要求イベント以外である時に起動されるものである。S1601でイベント発生要因を検出した外部ハンドラーが、S1602でアプリケーション管理システム100が提供するAPIを用いてイベントを通知する動作は、図5または図10で説明したものと全く同じ処理内容である。(ただし、この場合図18で示したパケットデータのうち、有効なものはイベント種別83と付加情報へのポインターのみとなる。)S1603でイベント通知を受けたアプリケーション管理システム100は、イベントディスパッチ手段(113)を呼び出してディスパッチシーケンスを起動する。同シーケンスが起動されると、S1604においてシステム状態管理スタック105のスタックポインターが指す位置に格納されたモジュールのイベント通知方法35を使ってイベントが通知される。S1605では、呼び出したコールバックの戻り値を見て、処理が成功していたらS1606へ分岐してシーケンスを終了する。もし、コールバック関数が処理失敗を返してきたら、S1607のシステムディスパッチを行う。システムディスパッチャーは、あらかじめ定義された(或いは動的に登録された)ルーチンを用いて、主にシステムよりのイベントを処理するように実装されている。(例えば、動作中に電源キーが押された場合は、システムの電源を切る動作を統一的に行うことが一般的である。このようなイベントを処理するのがシステムディスパッチャーである。)
以上で、本実施例における全ての制御シーケンスの説明を終わる。
Next, an event dispatch sequence in this system will be described with reference to FIG. This sequence is activated when the generated event is other than the transition request event described above. The operation in which the external handler that detected the event occurrence factor in S1601 notifies the event using the API provided by the application management system 100 in S1602 is exactly the same as the processing described in FIG. 5 or FIG. (However, in this case, the only valid packet data shown in FIG. 18 is the event type 83 and a pointer to the additional information.) The application management system 100 that has received the event notification in S1603 receives the event dispatch means ( 113) to invoke the dispatch sequence. When the sequence is activated, an event is notified in step S1604 using the module event notification method 35 stored in the position pointed to by the stack pointer of the system state management stack 105. In S1605, the return value of the called callback is seen, and if the process is successful, the process branches to S1606 to end the sequence. If the callback function returns a processing failure, the system dispatch of S1607 is performed. The system dispatcher is implemented so as to mainly process events from the system by using a predefined (or dynamically registered) routine. (For example, when a power key is pressed during operation, it is common to perform an operation to turn off the system in a unified manner. It is a system dispatcher that processes such an event.)
Above, description of all the control sequences in a present Example is completed.

(実施例2)
本発明の第2実施例について説明する。(本実施例は本発明を多機能プリンターに適用した場合のことを想定しているが、同じようなシステム構成をとる任意の装置に適用可能なことは言うまでも無い。)まず、本実施例における構成について図17を用いて説明する。(同図において第一実施例の構成図面である図1における構成要素と同じ機能を有するものについては、同じ参照符号を記し、説明を省く。)
同図において、1700はアプリケーション管理システムである。1706はアプリケーション管理テーブルであり、そのコンテンツとしてアプリケーション登録テーブル(1707)及びシステム状態管理モジュール登録テーブル(1708〜1711)を含んでいる。1712はアプリケーション登録手段であり、アプリケーションがアプリケーション管理情報をアプリケーション管理テーブル(1706)へ登録したり、アプリケーション管理テーブル(1706)から削除したりするためのインターフェースを与える。113はイベントディスパッチャーであり、共通イベントをアプリケーション或いは状態管理モジュールへ通知する。1714は初期化同期手段であり、システム起動時にアプリケーションが登録動作を行う為に必要な同期機能を提供する。次に本実施例の動作について詳細に説明する。
(Example 2)
A second embodiment of the present invention will be described. (This embodiment assumes that the present invention is applied to a multi-function printer, but it goes without saying that it can be applied to any apparatus having a similar system configuration.) First, this embodiment A configuration in the example will be described with reference to FIG. (In the figure, components having the same functions as the components in FIG. 1, which is the configuration diagram of the first embodiment, are given the same reference numerals and will not be described).
In the figure, reference numeral 1700 denotes an application management system. An application management table 1706 includes an application registration table (1707) and a system state management module registration table (1708 to 1711) as its contents. An application registration unit 1712 provides an interface for the application to register application management information in the application management table (1706) or to delete the application management information from the application management table (1706). An event dispatcher 113 notifies the common event to the application or the state management module. Reference numeral 1714 denotes initialization synchronization means, which provides a synchronization function necessary for an application to perform a registration operation when the system is activated. Next, the operation of this embodiment will be described in detail.

始めにアプリケーションの登録・削除処理について説明する。   First, application registration / deletion processing will be described.

まずアプリケーションの登録処理について図2を用いて説明する。同図はシステム起動時に行われるアプリケーション登録処理のフローを表す。システムが起動されるとOSリソースなどの初期化後に、まず初期化同期手段(1714)の初期化が行われ、次に各アプリケーションタスクが起動されてS201〜S203のループで各アプリケーションが初期化同期のために必要なフラグを獲得する。この処理は各アプリケーションが初期化同期手段(1714)を呼び出して、ユニークなフラグを獲得する処理である。この時、初期化同期手段(1714)は、自分が与えたフラグを全て覚えておく。フラグを獲得したアプリケーションは、例えば初期値が0である共通のセマフォをゲットしにいくことで、待ち状態になる。全てのアプリケーションがフラグを獲得して待ち状態になると、S204においてアプリケーション管理システム1700が起動されて、自身を初期化する。この初期化では、アプリケーション管理テーブル(1706)やシステム状態管理スタック(105)などの動的リソースに対する初期化処理を加える。アプリケーション管理システム(1700)は、自身の初期化が終了すると初期化同期手段(1714)を呼び出して初期化終了を通知すると共に待ち状態に入る。初期化同期手段(1714)は例えば上述したセマフォをリリースすることで待ち行列に入っている先頭のアプリケーションを動作状態にする。初期化同期フラグ獲得後に待ち状態に入っていた各アプリケーションは、この事象に同期してS205〜S208のループでアプリケーション登録を行う。S206において行われるアプリケーション登録処理とは、自身のアプリケーション管理情報を、アプリケーション登録手段(1712)を用いてアプリケーション管理テーブル1706に記録する一連の手続きである。アプリケーション管理情報は図3に示した情報を含んでおり、図示されたように自身の優先度33とイベント通知方法35、及びあらかじめ定義されたシステム状態34におけるイベント通知方法35を指定する。(本実施例のシステムでは、システム状態34として「Print状態」、「Error状態」、「InkChange状態」が定義されているものとする。当然の事ながら、これらの定義はシステムに依存して定まるものであり、この例に限定されるものではない。)今、アプリケーション(A)から図3(A)で示された管理情報が、アプリケーション登録手段(1712)に送られたものとすると、アプリケーション登録手段(1712)はアプリケーション(A)に対してユニークなアプリケーションID=1を割り当てる。次にアプリケーション登録テーブル(1707)における“ID=1”の項に、送られて来た優先度33と、イベント通知方法35を書き込む。更にID=1にリンクされるシステム状態管理モジュール登録テーブル(1708)に、送られて来た各状態におけるイベント通知方法35を書き込む。この時、図3(A)の3行目(或いは4行目)で例示されているようにイベント通知方法35が“Default”指定されていた場合は、システムがあらかじめ用意したデフォルトの方法をシステム状態管理モジュール登録テーブル(1708)へ書き込む。また、図3(B)に例示したように、登録指定の無いシステム状態に関しては、システム状態管理モジュール登録テーブル(1708)の該当する要素に“NULL”を書き込んで、そのアプリケーションモードにおける無効なシステム状態を明示する。これら、アプリケーション管理テーブル1706への書き込み処理が終了すると、アプリケーション登録手段1712は、割り振ったアプリケーションIDを呼び出し元のアプリケーションへ返す。自身のIDを獲得したアプリケーションは、IDを記憶すると共に、S207において初期化同期手段(1714)へ自分の初期化同期フラグを通知して登録処理が終了したことを通知する。初期化同期フラグを返却された初期化同期手段(1714)は、該当フラグをクリアした後、例えば前述したセマフォを再びリリースすることで、次のアプリケーションへ登録権を与える。以上の動作を全ての初期化同期フラグがクリアされるまで繰り返すことで、S205〜S208のループが完結する。(尚、各モードにおける(即ち異なるアプリケーションIDを持つ)モード制御を行うアプリケーションの実体が必ずしも異なる必要はない。もしモードを分割した方が見通しが良いが、タスクを分けてリソースを消費するほどの価値が見出せない2つの近接したモードがあったら、同じモジュールが2つのモードを制御するような構成にすることも一案である。)アプリケーション登録処理によって生成されたアプリケーション管理テーブル(1706)の一例を図4に示した。ID=1を割り振られたアプリケーションは、優先度=128であり、イベント通知方法35は“FUNC_A”で与えられている。また「Print状態」、「Error状態」、「InkChange状態」を全てハンドリング可能であり、この内「Print状態」におけるイベント通知方法35には独自のメソッドを定義している。同様にしてID=2を持つアプリケーションは、優先度=64であり、イベント通知方法35は“FUNC_B”で与えられる。またシステム状態のうち、「Print状態」をとることは無い。ID=0のアプリケーションは、優先度が255であり、全てのシステム状態が無効である。(後述するように、このアプリケーションは、システムが状態遷移途中にあって有効なモードが確定するまでの間だけ、暫定的に起動される「ビルトインアプリケーション」である。)システム状態管理モジュール登録テーブル42には状態名として“System ID”が記述されているが、これはあらかじめ定義されたシステム状態をID番号で識別するためのものである(尚、この後、起動時の初期アプリケーション立ち上げ処理が行われるが、これに関しては第一実施例と同じであるので説明を省略する)。   First, application registration processing will be described with reference to FIG. This figure shows the flow of application registration processing performed at the time of system startup. When the system is activated, the initialization synchronization means (1714) is first initialized after the OS resources and the like are initialized, then each application task is activated, and each application is initialized and synchronized in the loop of S201 to S203. Get the flags you need for. This process is a process in which each application calls the initialization synchronization means (1714) to acquire a unique flag. At this time, the initialization synchronization means (1714) remembers all the flags given by itself. The application that has acquired the flag enters a waiting state by going to get a common semaphore whose initial value is 0, for example. When all the applications acquire the flag and enter a waiting state, the application management system 1700 is activated in S204 and initializes itself. In this initialization, initialization processing is added to dynamic resources such as an application management table (1706) and a system state management stack (105). When the initialization of the application management system (1700) is finished, the application management system (1700) calls the initialization synchronization means (1714) to notify the end of the initialization and enters a waiting state. The initialization synchronization means (1714), for example, releases the above-described semaphore to bring the first application in the queue into an operating state. Each application that has been in a waiting state after acquiring the initialization synchronization flag performs application registration in a loop of S205 to S208 in synchronization with this event. The application registration process performed in S206 is a series of procedures for recording its own application management information in the application management table 1706 using the application registration means (1712). The application management information includes the information shown in FIG. 3, and designates its own priority 33, event notification method 35, and event notification method 35 in a predefined system state 34 as shown. (In the system of this embodiment, “Print state”, “Error state”, and “InkChange state” are defined as the system state 34. Of course, these definitions are determined depending on the system. It is assumed that the management information shown in FIG. 3A is sent from the application (A) to the application registration means (1712). The registration means (1712) assigns a unique application ID = 1 to the application (A). Next, the sent priority 33 and the event notification method 35 are written in the item “ID = 1” in the application registration table (1707). Further, the event notification method 35 in each state sent is written in the system state management module registration table (1708) linked to ID = 1. At this time, if the event notification method 35 is designated as “Default” as illustrated in the third line (or the fourth line) of FIG. 3A, the default method prepared in advance by the system is used. Write to the state management module registration table (1708). Further, as illustrated in FIG. 3B, for a system state with no registration designation, “NULL” is written in the corresponding element of the system state management module registration table (1708), and an invalid system in the application mode is written. Specify state. When the writing process to the application management table 1706 is completed, the application registration unit 1712 returns the allocated application ID to the calling application. The application that has acquired its own ID stores the ID, and notifies the initialization synchronization means (1714) of its own initialization synchronization flag in S207 to notify that the registration process has ended. The initialization synchronization means (1714) to which the initialization synchronization flag is returned gives the registration right to the next application by, for example, releasing the above-described semaphore again after clearing the flag. By repeating the above operation until all the initialization synchronization flags are cleared, the loop of S205 to S208 is completed. (Note that the substance of the application that performs mode control in each mode (that is, having a different application ID) does not necessarily have to be different. If the mode is divided, the prospect is better, but the task is divided to consume resources. If there are two adjacent modes whose value cannot be found, it is also a suggestion that the same module controls the two modes.) Example of application management table (1706) generated by application registration processing Is shown in FIG. An application assigned ID = 1 has a priority = 128, and the event notification method 35 is given by “FUNC_A”. The “Print state”, “Error state”, and “InkChange state” can all be handled, and an event notification method 35 in the “Print state” defines a unique method. Similarly, an application having ID = 2 has a priority = 64, and the event notification method 35 is given by “FUNC_B”. Further, the “print state” is not taken out of the system states. The application with ID = 0 has a priority of 255, and all system states are invalid. (As will be described later, this application is a “built-in application” that is temporarily activated until the system is in the middle of state transition and a valid mode is determined.) System state management module registration table 42 "System ID" is described as a state name, which is used for identifying a pre-defined system state by an ID number. However, since this is the same as the first embodiment, the description is omitted).

次にアプリケーションの削除処理について説明する。削除を要求するアプリケーションは、自身のIDを引数にして、アプリケーション登録手段1712が提供するインターフェースをコールする。アプリケーション登録手段は、まず状態管理スタック211の最基底を調べて、削除対象のIDを持ったモードがアクティブである場合は失敗を返す。そうでなかった場合は、アプリケーション登録テーブル1707の該当項目における情報と、それに関連付けられたシステム状態管理モジュール登録テーブル42を削除して処理を終了する。   Next, application deletion processing will be described. The application requesting deletion calls an interface provided by the application registration unit 1712 with its own ID as an argument. The application registration means first checks the top base of the state management stack 211, and returns failure if the mode having the ID to be deleted is active. If not, the information in the corresponding item in the application registration table 1707 and the system state management module registration table 42 associated therewith are deleted, and the process ends.

以上で、アプリケーション登録・削除処理に関する動作説明を終えるが、ここで述べた初期化同期手段による同期管理のプロセスは、用いるOSの種類に依存して変化する可能性を持っており、説明した手法に限定されるものではない。即ちアプリケーション管理システム1700の初期化後にアプリケーション登録処理が行われる構成であることが重要であり、それを実現する手段がいかようであろうとも、それらは全て本発明の範囲に含まれるべきものである。(例えばシステム初期化処理以降に、動的な登録処理を行う場面も想定できるが、それに関しても上述した方法によって容易に実現できることは言うまでも無い。)逆に、アプリケーション登録処理をシステム初期化前に行うことは、アプリケーション管理テーブル1706や状態管理スタック211が不定である期間にこれらのリソースを制御しなければならないので、現実的に不可能である。   This completes the description of the operation related to the application registration / deletion processing. However, the synchronization management process by the initialization synchronization means described here has a possibility of changing depending on the type of OS used, and the method described above. It is not limited to. In other words, it is important that the application registration process is performed after the application management system 1700 is initialized, and whatever the means for realizing it is within the scope of the present invention. is there. (For example, a scene where dynamic registration processing is performed after the system initialization processing can be assumed, but it is needless to say that it can be easily realized by the above-mentioned method.) Conversely, application registration processing is system initialization. It is practically impossible to do before because these resources must be controlled during a period when the application management table 1706 and the state management stack 211 are indefinite.

次にアプリケーションモード遷移制御処理について図22を用いて説明する。尚、同図において図5と同じ処理内容を示している部分には同じ参照符号を付し、説明を省く。また本実施例でもアプリケーションAからアプリケーションBへ遷移するものとして議論する。(遷移前の状態は図7(A)のようになっている。)外部イベントハンドラーが遷移要因を受けて遷移要求元であるプロセスへ外部イベントを送った後、S2204ではアプリケーション遷移制御手段(101)が提供するインターフェース(API)を通じて、モード遷移要求イベントを発生させる。このAPI仕様は第一実施例とは異なり、(1)遷移イベント要求元、(2)遷移イベントの種類、(3)付加情報の長さ、(4)付加情報へのポインター、を引数とする。このAPIコールにより発生するパケットの構造は、図11で表され、このパケットを受け取ったアプリケーション管理システム1700は、第一実施例と同様にしてモード遷移シーケンスを起動する。S2207における遷移可否の判断ロジックは、第一実施例におけるものと全く同じである。ただし、遷移先モードの情報は、パケットから得るのではなく、アプリケーション登録テーブル1707にアクセスしてID=2に格納された遷移先モードの優先度33とイベント通知方法35(ここでは“FUNC_B”)が読み出される。後は、S2211に至るまで第一実施例と同じ処理を行い、S2211ではビルトインアプリの情報をシステム状態管理スタック105に設定すると同時に、状態管理モジュールテーブルも同アプリのものに入れ替える処理が付加される。同様にS2215においてもスタック操作に加えて、状態管理モジュールテーブルの入れ替え処理を行う。以降の処理に関しては、第一実施例と全く同じであるので、説明を省略する。モード遷移処理が終了すると、アプリケーション管理システム1700の状態は図7(B)のようになり、アプリケーションモードが切り替わる。   Next, the application mode transition control process will be described with reference to FIG. In the figure, the same reference numerals are given to the portions showing the same processing contents as in FIG. 5, and the description will be omitted. Also in this embodiment, the discussion will be made on the assumption that the application A changes to the application B. (The state before the transition is as shown in FIG. 7A.) After the external event handler receives the transition factor and sends the external event to the process that is the transition request source, in step S2204, the application transition control means (101 The mode transition request event is generated through the interface (API) provided by the (). Unlike the first embodiment, this API specification uses (1) transition event request source, (2) type of transition event, (3) length of additional information, and (4) pointer to additional information as arguments. . The structure of a packet generated by this API call is shown in FIG. 11, and the application management system 1700 that has received this packet activates a mode transition sequence in the same manner as in the first embodiment. The logic for determining whether or not to allow transition in S2207 is exactly the same as in the first embodiment. However, the information of the transition destination mode is not obtained from the packet, but the priority 33 of the transition destination mode and the event notification method 35 (here, “FUNC_B”) stored in ID = 2 by accessing the application registration table 1707 Is read out. After that, the same processing as in the first embodiment is performed until S2211, and in S2211, processing for replacing the status management module table with that of the same application is added at the same time that the information of the built-in app is set in the system status management stack 105. . Similarly, in S2215, in addition to the stack operation, the state management module table replacement process is performed. Since the subsequent processing is exactly the same as in the first embodiment, description thereof is omitted. When the mode transition process ends, the state of the application management system 1700 is as shown in FIG. 7B, and the application mode is switched.

次にシステム状態遷移制御処理について、図23を用いて説明する。尚、同図において図10と同じ処理内容を示している部分には同じ参照符号を付し、説明を省略する。S2304における状態遷移要求イベントの送付処理は、モード遷移制御と同様にアプリケーション管理システム1700が提供するAPI仕様と、APIが掃き出すパケットデータ構成が異なるのみである。S2307における処理は、データの収集先がパケットからシステム状態管理モジュール登録テーブルに変わるのみである。S2311における処理では、スタック操作に加えて、システム状態管理モジュール登録テーブルの変更処理が生じるのみである。以降の処理は全て第一実施例と同様である。   Next, the system state transition control process will be described with reference to FIG. In the figure, the same reference numerals are given to the portions showing the same processing contents as those in FIG. 10, and the description will be omitted. In the state transition request event sending process in S2304, the API specification provided by the application management system 1700 is different from the packet data configuration that the API sweeps out, as in the mode transition control. The processing in S2307 only changes the data collection destination from the packet to the system state management module registration table. In the processing in S2311, in addition to the stack operation, only the change processing of the system state management module registration table occurs. All subsequent processing is the same as in the first embodiment.

イベントディスパッチシーケンスは、第一実施例と全く同じであるので説明を省略する。   Since the event dispatch sequence is exactly the same as in the first embodiment, description thereof is omitted.

以上で、本実施例における全ての制御シーケンスの説明を終わる。尚、本実施例においても、起動要求処理、停止要求処理をアプリケーション管理システム1700のコンテキストで行う様にすることが可能である。また、本実施例に特有の事項として、アプリケーション管理テーブルを持つことで、そこに管理される様々な情報を他のプロセスが必要に応じて取り出すための統一されたインターフェースを提供することが可能となり、制御の柔軟性が増すという効果がある。   Above, description of all the control sequences in a present Example is completed. Also in this embodiment, it is possible to perform the start request process and the stop request process in the context of the application management system 1700. Also, as an item specific to this embodiment, having an application management table makes it possible to provide a unified interface for other processes to retrieve various information managed there as needed. This has the effect of increasing the flexibility of control.

また、本発明の目的は、上記実施の形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体(又は記録媒体)を、システム又は装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。   Another object of the present invention is to supply a storage medium (or recording medium) on which a program code of software that realizes the functions of the above-described embodiments is recorded to a system or apparatus, and the computer (or CPU or CPU) of the system or apparatus Needless to say, this can also be achieved by the MPU) reading and executing the program code stored in the storage medium.

この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。   In this case, the program code itself read from the storage medium realizes the functions of the above-described embodiments, and the storage medium storing the program code constitutes the present invention.

また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。   Further, by executing the program code read by the computer, not only the functions of the above-described embodiments are realized, but also an operating system (OS) or the like running on the computer based on an instruction of the program code. It goes without saying that a case where the function of the above-described embodiment is realized by performing part or all of the actual processing and the processing is included.

さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPU等実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。   Further, after the program code read from the storage medium is written in a memory provided in a function expansion card inserted into the computer or a function expansion unit connected to the computer, the function expansion is performed based on the instruction of the program code. It goes without saying that a case where the function of the above-described embodiment is realized by performing part or all of the actual processing such as the CPU provided in the card or the function expansion unit and performing the processing.

また、上記プログラムは、上述した実施の形態の機能をコンピュータで実現することができればよく、その形態は、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給されるスクリプトデータ等の形態を有するものでもよい。   The above-described program only needs to be able to realize the functions of the above-described embodiments by a computer, and the form includes forms such as object code, a program executed by an interpreter, and script data supplied to the OS. But you can.

プログラムを供給する記録媒体としては、例えば、RAM、NV−RAM、フロッピー(登録商標)ディスク、光ディスク、光磁気ディスク、CD−ROM、MO、CD−R、CD−RW、DVD(DVD−ROM、DVD−RAM、DVD−RW、DVD+RW)、磁気テープ、不揮発性のメモリカード、他のROM等の上記プログラムを記憶できるものであればよい。或いは、上記プログラムは、インターネット、商用ネットワーク、若しくはローカルエリアネットワーク等に接続される不図示の他のコンピュータやデータベース等からダウンロードすることにより供給される。   As a recording medium for supplying the program, for example, RAM, NV-RAM, floppy (registered trademark) disk, optical disk, magneto-optical disk, CD-ROM, MO, CD-R, CD-RW, DVD (DVD-ROM, DVD-RAM, DVD-RW, DVD + RW), magnetic tape, non-volatile memory card, other ROM, etc. may be used as long as they can store the above programs. Alternatively, the program is supplied by downloading from another computer or database (not shown) connected to the Internet, a commercial network, a local area network, or the like.

本発明の第一実施例の構成を表す図The figure showing the structure of the 1st Example of this invention 本発明の第二実施例におけるアプリケーション登録処理を表すフローチャートThe flowchart showing the application registration process in the second embodiment of the present invention. 本発明の第二実施例におけるアプリケーション登録情報を表す図The figure showing the application registration information in 2nd Example of this invention 本発明の第二実施例におけるアプリケーション管理テーブルの構成を表す図The figure showing the structure of the application management table in 2nd Example of this invention. 本発明の第一実施例におけるアプリケーションモード遷移制御シーケンスを表すフローチャートThe flowchart showing the application mode transition control sequence in the first embodiment of the present invention. 本発明における遷移要求イベントキューイング処理を表すフローチャートFlowchart showing transition request event queuing processing in the present invention 本発明の第二実施例におけるアプリケーションモード遷移を説明するための図The figure for demonstrating the application mode transition in 2nd Example of this invention 本発明における遷移要求イベントキューイングリストの構造を表す図The figure showing the structure of the transition request event queuing list in this invention 本発明における遷移要求イベントキュー要素削除処理を表すフローチャートFlowchart showing transition request event queue element deletion processing in the present invention 本発明の第一実施例におけるシステム状態遷移シーケンスを表すフローチャートThe flowchart showing the system state transition sequence in the first embodiment of the present invention. 本発明の第二実施例においてアプリケーション管理システムが受け取るイベントパケットのデータ構成を表す図The figure showing the data structure of the event packet which an application management system receives in 2nd Example of this invention 本発明におけるアップスタック遷移処理を表すフローチャートThe flowchart showing the up-stack transition process in the present invention 本発明におけるダウンスタック遷移処理を表すフローチャートThe flowchart showing the down stack transition process in this invention. 本発明において状態遷移完了後にシステムがスタック上のプロセスへ送るイベントのデータ構造を示す図The figure which shows the data structure of the event which a system sends to the process on a stack after a state transition completion in this invention 本発明においてシステム状態がネストした場合の一例を示す図The figure which shows an example when the system state is nested in this invention 本発明におけるイベントディスパッチシーケンスを表すフローチャートThe flowchart showing the event dispatch sequence in this invention 本発明の第二実施例の構成を表す図The figure showing the structure of 2nd Example of this invention. 本発明の第一実施例においてアプリケーション管理システムが受け取るイベントパケットのデータ構成を表す図The figure showing the data structure of the event packet which an application management system receives in 1st Example of this invention 本発明の第一実施例におけるID割り付け処理を表すフローチャートThe flowchart showing ID allocation processing in the first embodiment of the present invention. 本発明の第一実施例における起動時処理を表すフローチャートThe flowchart showing the process at the time of starting in the first embodiment of the present invention. 本発明の第一実施例におけるアプリケーションモード遷移を説明するための図The figure for demonstrating the application mode transition in 1st Example of this invention 本発明の第二実施例におけるアプリケーションモード遷移制御シーケンスを表すフローチャートThe flowchart showing the application mode transition control sequence in the second embodiment of the present invention. 本発明の第二実施例におけるシステム状態遷移シーケンスを表すフローチャートThe flowchart showing the system state transition sequence in the second embodiment of the present invention.

符号の説明Explanation of symbols

100 アプリケーション管理システム
101 アプリケーションモード遷移制御手段
102 遷移要求イベントキュー
103 システム状態遷移制御手段
105 システム状態管理スタック
113 イベントディスパッチ手段
114 ID付与手段
1700 アプリケーション管理システム
1706 アプリケーション管理テーブル
1707 アプリケーション登録テーブル
1708 システム状態管理モジュール登録テーブル
1709 システム状態管理モジュール登録テーブル
1710 システム状態管理モジュール登録テーブル
1711 システム状態管理モジュール登録テーブル
1712 アプリケーション登録手段
1714 初期化同期手段
31 アプリケーション登録テーブルへの情報
32 システム状態管理モジュール登録テーブルへの情報
33 優先度
34 システム状態
35 イベント通知方法
41 アプリケーション登録テーブル
42 システム状態管理モジュール登録テーブル
43 ID
45 状態
81 previous
82 next
83 イベント種別
84 付加データへのポインター
111 付加情報へのポインター
141 直前状態のID
142 カレント状態のID
151 エラー状態
152 A状態
153 エラー状態
154 基底状態
181 優先順位
182 イベント通知手段
211 状態管理スタック
212 アプリケーション
213 スタックポインタ
DESCRIPTION OF SYMBOLS 100 Application management system 101 Application mode transition control means 102 Transition request event queue 103 System state transition control means 105 System state management stack 113 Event dispatch means 114 ID assignment means 1700 Application management system 1706 Application management table 1707 Application registration table 1708 System state management Module registration table 1709 System state management module registration table 1710 System state management module registration table 1711 System state management module registration table 1712 Application registration means 1714 Initialization synchronization means 31 Information to application registration table 32 Information to system state management module registration table Distribution 33 priority 34 system state 35 event notification method 41 application registration table 42 the system state management module registration table 43 ID
45 states 81 previous
82 next
83 Event type 84 Pointer to additional data 111 Pointer to additional information 141 Previous state ID
142 ID of current state
151 Error state 152 A state 153 Error state 154 Base state 181 Priority 182 Event notification means 211 State management stack 212 Application 213 Stack pointer

Claims (21)

複数のアプリケーションモードを有するシステム、または、多機能プリンターシステムにおけるアプリケーション管理方法であって、
システム状態管理スタックと、イベントディスパッチを行なうイベントディスパッチステップと、
アプリケーションモード遷移制御を行なう遷移制御ステップと、システム状態遷移制御を行なう遷移制御ステップと、遷移要求イベントキューイングを行なうイベントキューイングステップと、ID付与を行なうID付与ステップと、
を備えることを特徴とするアプリケーション管理方法。
An application management method in a system having a plurality of application modes or a multi-function printer system,
A system state management stack, an event dispatch step for event dispatch,
A transition control step for performing application mode transition control, a transition control step for performing system state transition control, an event queuing step for performing transition request event queuing, an ID providing step for performing ID assignment,
An application management method comprising:
複数のアプリケーションモードを有するシステム、または、多機能プリンターシステムにおけるアプリケーション管理方法であって、
アプリケーション登録・削除する登録・削除ステップと、アプリケーション管理テーブルと、システム状態管理スタックと、イベントディスパッチを行なうイベントディスパッチステップと、
アプリケーションモード遷移制御を行なう遷移制御ステップと、システム状態遷移制御を行なう遷移制御ステップと、遷移要求イベントキューイングを行なうイベントキューイングステップと、初期化同期する初期化同期ステップと、
を備えることを特徴とするアプリケーション管理方法。
An application management method in a system having a plurality of application modes or a multi-function printer system,
Registration / deletion step for application registration / deletion, application management table, system state management stack, event dispatch step for event dispatch,
A transition control step for performing application mode transition control, a transition control step for performing system state transition control, an event queuing step for performing transition request event queuing, an initialization synchronization step for performing initialization synchronization,
An application management method comprising:
前記システム状態管理スタックは、対象となる状態に関連したIDと優先順位とイベント通知方法を保持すると共に、カレント状態を示すスタックポインターを持つ事を特徴とする請求項1または請求項2に記載のアプリケーション管理方法。   3. The system state management stack according to claim 1, wherein the system state management stack holds an ID, a priority order, and an event notification method related to a target state, and has a stack pointer indicating a current state. Application management method. 前記イベントディスパッチを行なうイベントディスパッチステップは、送られて来たイベントを、
前記システム状態管理スタックの最上位にある状態に対応したイベント通知方法を用いて、対応したモジュールへ送付する送付ステップと、
前記イベント通知方法が失敗した場合に、あらかじめ定義されたデフォルトのイベント処理方法を呼び出す呼び出しステップと
を備えることを特徴とする請求項1または請求項2に記載のアプリケーション管理方法。
The event dispatch step for performing the event dispatch is to send the sent event,
Sending to the corresponding module using the event notification method corresponding to the state at the top of the system state management stack;
The application management method according to claim 1, further comprising a calling step of calling a predefined default event processing method when the event notification method fails.
前記アプリケーションモード遷移制御を行なう遷移制御ステップは、遷移要求イベントがキューイングされた場合には、遷移要求元のイベント通知方法を用いて、要求イベントが保留されたことを通知することを特徴とする請求項1または請求項2に記載のアプリケーション管理方法。   The transition control step for performing the application mode transition control is characterized in that, when a transition request event is queued, the event notification method of the transition request source is used to notify that the request event is suspended. The application management method according to claim 1 or 2. 前記遷移要求イベントキューイングを行なうイベントキューイングステップは、遷移要求イベントを優先度順に繋ぎ替えて保持することを特徴とする請求項1または請求項2に記載のアプリケーション管理方法。   3. The application management method according to claim 1, wherein the event queuing step for performing the transition request event queuing holds the transition request events by switching in order of priority. 前記システム状態遷移制御を行なう遷移制御ステップは、状態遷移処理が行われた場合には、状態管理スタックにある全てのイベント通知ステップに対し、状態遷移が行われたことを通知することを特徴とする請求項1または請求項2に記載のアプリケーション管理方法。   The transition control step for performing the system state transition control is characterized in that, when the state transition processing is performed, all event notification steps in the state management stack are notified that the state transition has been performed. The application management method according to claim 1 or 2. 前記システム状態遷移制御を行なう遷移制御ステップは、状態遷移要求イベントがキューイングされた場合には、遷移要求元のイベント通知方法を用いて、要求イベントが保留されたことを通知することを特徴とする請求項1または請求項2に記載のアプリケーション管理方法。   The transition control step for performing the system state transition control is characterized in that, when a state transition request event is queued, the event notification method of the transition request source is used to notify that the request event is suspended. The application management method according to claim 1 or 2. 前記アプリケーションモード遷移制御を行なう遷移制御ステップは、
システム状態管理スタックの最上位にあるカレント状態(ID)とイベント通知方法と優先順位を読み出す読み出しステップと、
送付されたアプリケーションモード遷移要求イベントに含まれた遷移先モードのIDとイベント通知方法と優先順位を取り出す取出しステップと、
前記カレント状態が特定の状態と等しいことを評価する第1の評価ステップと、
前記カレント状態の優先順位と、前記遷移先モードの優先順位を比較して前記遷移先モードの優先順位が前記カレント状態の優先順位より高いことを評価する第2の評価ステップと、
アプリケーション管理システムの内部状態が遷移中でないことを評価する第3の評価ステップとを含み、
第1の評価ステップ、第2の評価ステップ、第3の評価ステップの評価結果が全て真である場合には、モード遷移処理を行い、第1の評価ステップ、第2の評価ステップ、第3の評価ステップの評価結果の少なくとも一つが偽であるときには、モード遷移を行わずに遷移要求イベントキューイングを行なうイベントキューイングステップをもちいて、前記アプリケーションモード遷移要求イベントをキューイングすることを特徴とする請求項1に記載のアプリケーション管理方法。
The transition control step for performing the application mode transition control includes:
A read step for reading the current state (ID), event notification method and priority at the top of the system state management stack;
A step of taking out the ID of the transition destination mode, the event notification method, and the priority included in the sent application mode transition request event;
A first evaluation step for evaluating that the current state is equal to a specific state;
A second evaluation step for comparing the priority of the current state with the priority of the transition destination mode and evaluating that the priority of the transition destination mode is higher than the priority of the current state;
And a third evaluation step for evaluating that the internal state of the application management system is not transitioning,
When the evaluation results of the first evaluation step, the second evaluation step, and the third evaluation step are all true, a mode transition process is performed, and the first evaluation step, the second evaluation step, and the third evaluation step are performed. When at least one of the evaluation results of the evaluation step is false, the application mode transition request event is queued by using an event queuing step for performing the transition request event queuing without performing the mode transition. The application management method according to claim 1.
前記アプリケーションモード遷移制御を行なう遷移制御ステップは、
前記システム状態管理スタックの最上位にあるカレント状態(ID)とイベント通知方法と優先順位を読み出す読み出しステップと、
送付されたアプリケーションモード遷移要求イベントに含まれた遷移先モードのIDを取り出す取出しステップと、
前記遷移先モードIDに関連付けられて格納されている前記アプリケーション管理テーブル内の優先順位とイベント通知方法を読み込む読み込みステップと、
前記カレント状態が特定の状態と等しいことを評価する第4の評価ステップと、
前記カレント状態の優先順位と、前記遷移先モードの優先順位を比較して前記遷移先モードの優先順位が前記カレント状態の優先順位より高いことを評価する第5の評価ステップと、
アプリケーション管理システムの内部状態が遷移中でないことを評価する第6の評価ステップと、
第4の評価ステップ、第5の評価ステップ、第6の評価ステップの評価結果が全て真である場合には、モード遷移処理を行い、第4の評価ステップ、第5の評価ステップ、第6の評価ステップの評価結果の少なくとも一つが偽であるときには、モード遷移を行わずに前記遷移要求イベントキューイングを行なうイベントキューイングステップをもちいて前記アプリケーションモード遷移要求イベントをキューイングすることを特徴とする請求項2に記載のアプリケーション管理方法。
The transition control step for performing the application mode transition control includes:
A read step of reading a current state (ID), an event notification method and a priority at the top of the system state management stack;
An extraction step of retrieving the ID of the transition destination mode included in the sent application mode transition request event;
A reading step of reading a priority order and an event notification method in the application management table stored in association with the transition destination mode ID;
A fourth evaluation step for evaluating that the current state is equal to a specific state;
A fifth evaluation step for comparing the priority of the current state with the priority of the transition destination mode and evaluating that the priority of the transition destination mode is higher than the priority of the current state;
A sixth evaluation step for evaluating that the internal state of the application management system is not transitioning;
When the evaluation results of the fourth evaluation step, the fifth evaluation step, and the sixth evaluation step are all true, a mode transition process is performed, and the fourth evaluation step, the fifth evaluation step, and the sixth evaluation step are performed. When at least one of the evaluation results of the evaluation step is false, the application mode transition request event is queued using an event queuing step for performing the transition request event queuing without performing mode transition. The application management method according to claim 2.
前記システム状態遷移制御を行なう遷移制御ステップは、送付された状態遷移要求イベントがアップスタックイベントであった場合には、
前記システム状態管理スタックの最上位にあるカレント状態(ID)とイベント通知方法を読み出す読み出しステップと、
送付された状態遷移要求イベントに含まれた遷移先モードのIDとイベント通知方法を取り出す取出しステップと、
前記カレント状態のイベント通知方法を用いて遷移可能条件を評価する第7の評価ステップと、
アプリケーション管理システムの内部状態が遷移中でないことを評価する第8の評価ステップと、
第7の評価ステップ、第8の評価ステップの評価結果が全て真である場合には、状態遷移処理を行い、第7の評価ステップ、第8の評価ステップの評価結果の少なくとも一つが偽であるときには、状態遷移を行わずに前記遷移要求イベントキューイングを行なうイベントキューイングステップをもちいて前記状態遷移要求イベントをキューイングすることを特徴とする請求項1記載のアプリケーション管理方法。
In the transition control step for performing the system state transition control, when the sent state transition request event is an up stack event,
A reading step of reading a current state (ID) at the top of the system state management stack and an event notification method;
An extraction step of retrieving the ID and event notification method of the transition destination mode included in the sent state transition request event;
A seventh evaluation step of evaluating a transition possible condition using the event notification method in the current state;
An eighth evaluation step for evaluating that the internal state of the application management system is not transitioning;
When the evaluation results of the seventh evaluation step and the eighth evaluation step are all true, state transition processing is performed, and at least one of the evaluation results of the seventh evaluation step and the eighth evaluation step is false. 2. The application management method according to claim 1, wherein the state transition request event is queued by using an event queuing step for performing the transition request event queuing without performing a state transition.
前記システム状態遷移制御を行なう遷移制御ステップは、送付された状態遷移要求イベントがアップスタックイベントであった場合には、
前記システム状態管理スタックの最上位にあるカレント状態(ID)とイベント通知方法を読み出す読み出しステップと、
送付された状態遷移要求イベントに含まれた遷移先モードのIDを取り出す取出しステップと、
前記遷移先モードIDに関連付けられて格納されている前記アプリケーション管理テーブル内のイベント通知方法を読み込む読み込みステップと、
前記カレント状態のイベント通知方法を用いて遷移可能条件を評価する第9の評価ステップと、
アプリケーション管理システムの内部状態が遷移中でないことを評価する第10の評価ステップと、
第9の評価ステップ、第10の評価ステップの評価結果が全て真である場合には、状態遷移処理を行い、第9の評価ステップ、第10の評価ステップの評価結果の少なくとも一つが偽である場合には、状態遷移を行わずに前記遷移要求イベントキューイングを行なうイベントキューイングステップをもちいて前記状態遷移要求イベントをキューイングすることを特徴とする請求項2に記載のアプリケーション管理方法。
In the transition control step for performing the system state transition control, when the sent state transition request event is an up stack event,
A reading step of reading a current state (ID) at the top of the system state management stack and an event notification method;
An extraction step of extracting the ID of the transition destination mode included in the sent state transition request event;
A reading step of reading an event notification method in the application management table stored in association with the transition destination mode ID;
A ninth evaluation step of evaluating a transition possible condition using the event notification method in the current state;
A tenth evaluation step for evaluating that the internal state of the application management system is not transitioning;
When the evaluation results of the ninth evaluation step and the tenth evaluation step are all true, state transition processing is performed, and at least one of the evaluation results of the ninth evaluation step and the tenth evaluation step is false. 3. The application management method according to claim 2, wherein the state transition request event is queued by using an event queuing step for performing the transition request event queuing without performing a state transition.
前記システム状態遷移制御を行なう遷移制御ステップは、送付された状態遷移要求イベントがダウンスタックイベントであった場合には、
送付された状態遷移要求イベントに含まれた解除対象モードのIDを取り出す取出しステップと、
前記システム状態管理スタックの最上位から状態IDを検索して前記解除対象モードのIDと最初に一致した位置にあるスタック情報を取り出す取出しステップと、
アプリケーション管理システムの内部状態が遷移中でないことを評価する第11の評価ステップと、
第11の評価ステップの評価結果が真である場合には、状態遷移処理を行い、偽であるときには、状態遷移を行わずに前記遷移要求イベントキューイングを行なうイベントキューイングステップをもちいて前記状態遷移要求イベントをキューイングすることを特徴とする請求項1または請求項2に記載のアプリケーション管理方法。
In the transition control step for performing the system state transition control, when the sent state transition request event is a down stack event,
A step of taking out the ID of the cancellation target mode included in the sent state transition request event;
Retrieving a state ID from the top of the system state management stack and retrieving stack information at a position that first matches the ID of the release target mode;
An eleventh evaluation step for evaluating that the internal state of the application management system is not transitioning;
When the evaluation result of the eleventh evaluation step is true, state transition processing is performed. When the evaluation result is false, the state is obtained using an event queuing step of performing the transition request event queuing without performing state transition. The application management method according to claim 1, wherein the transition request event is queued.
前記システム状態遷移制御を行なう遷移制御ステップは、現在の状態に対し新たな状態をスタック上に積み上げる積み上げステップと、現在の状態をスタックから抜き去る抜き去りステップによって行なわれることを特徴とする請求項1または請求項2に記載のアプリケーション管理方法。   The transition control step for performing the system state transition control is performed by a stacking step of stacking a new state on the stack with respect to the current state, and an extracting step of extracting the current state from the stack. The application management method according to claim 1 or 2. 前記アプリケーション管理テーブルは、アプリケーション登録テーブルとシステム状態管理モジュール登録テーブルを別々に管理することを特徴とする請求項2に記載のアプリケーション管理方法。   The application management method according to claim 2, wherein the application management table separately manages an application registration table and a system state management module registration table. 前記アプリケーション管理テーブルは、アプリケーション登録テーブルの管理単位ごとに関連付けられた少なくとも一つ以上のシステム状態管理モジュール登録テーブルを持つ事を特徴とする請求項2に記載のアプリケーション管理方法。   3. The application management method according to claim 2, wherein the application management table has at least one system state management module registration table associated with each management unit of the application registration table. 前記アプリケーション登録・削除する登録・削除ステップは、登録対象となるアプリケーションから、モード遷移条件と、イベント通知方法を受け取り、対象となるアプリケーションに対してユニークなID番号を割り当てるID番号割当ステップと、前記モード遷移条件と、イベント通知方法を前記ID番号と関連付けて前記アプリケーション管理テーブルへ登録する登録ステップと、登録対象となるアプリケーションへ前記ID番号を通知する機能を備えることを特徴とする請求項2に記載のアプリケーション管理方法。   The registration / deletion step for registering / deleting the application receives a mode transition condition and an event notification method from an application to be registered, and an ID number assigning step for assigning a unique ID number to the target application; 3. A registration step of registering a mode transition condition and an event notification method in the application management table in association with the ID number, and a function of notifying the ID number to an application to be registered. Application management method as described. 前記アプリケーション登録・削除する登録・削除ステップがアプリケーションから受け取る前記イベント通知方法は、アプリケーション自身が通知先になるものと、任意個の別プロセスが通知先になるものとから構成されることを特徴とする請求項2に記載のアプリケーション管理方法。   The event notification method received from the application by the registration / deletion step of registering / deleting the application is characterized in that the application itself is configured to be a notification destination and an arbitrary number of other processes are notification destinations. The application management method according to claim 2. 前記初期化同期する初期化同期ステップは、システム起動時にアプリケーション管理システムのリソース初期化が、アプリケーション登録処理よりも先に行われるように制御する制御ステップを備えることを特徴とする請求項2に記載のアプリケーション管理方法。   The initialization synchronization step of performing the initialization synchronization includes a control step of performing control so that the resource initialization of the application management system is performed prior to the application registration process at the time of system startup. Application management method. 複数のアプリケーションモードを有するシステム、あるいは、多機能プリンターシステムにおけるアプリケーション管理方法を実現する制御プログラムであって、
システム状態管理スタックと、イベントディスパッチを行なうイベントディスパッチステップと、
アプリケーションモード遷移制御を行なう遷移制御ステップと、システム状態遷移制御を行なう遷移制御ステップと、遷移要求イベントキューイングを行なうイベントキューイングステップと、ID付与を行なうID付与ステップと、
を備えることを特徴とするアプリケーション管理方法の制御プログラム。
A control program for realizing an application management method in a system having a plurality of application modes or a multi-function printer system,
A system state management stack, an event dispatch step for event dispatch,
A transition control step for performing application mode transition control, a transition control step for performing system state transition control, an event queuing step for performing transition request event queuing, an ID providing step for performing ID assignment,
An application management method control program comprising:
複数のアプリケーションモードを有するシステム、あるいは、多機能プリンターシステムにおけるアプリケーション管理方法を実現する制御プログラムであって、
アプリケーション登録・削除する登録・削除ステップと、アプリケーション管理テーブルと、システム状態管理スタックと、イベントディスパッチを行なうイベントディスパッチステップと、
アプリケーションモード遷移制御を行なう遷移制御ステップと、システム状態遷移制御を行なう遷移制御ステップと、遷移要求イベントキューイングを行なうイベントキューイングステップと、初期化同期する初期化同期ステップと、
を備えることを特徴とするアプリケーション管理方法の制御プログラム。
A control program for realizing an application management method in a system having a plurality of application modes or a multi-function printer system,
Registration / deletion step for application registration / deletion, application management table, system state management stack, event dispatch step for event dispatch,
A transition control step for performing application mode transition control, a transition control step for performing system state transition control, an event queuing step for performing transition request event queuing, an initialization synchronization step for performing initialization synchronization,
An application management method control program comprising:
JP2004337698A 2004-11-22 2004-11-22 Application management method and its control program Withdrawn JP2006146693A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004337698A JP2006146693A (en) 2004-11-22 2004-11-22 Application management method and its control program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004337698A JP2006146693A (en) 2004-11-22 2004-11-22 Application management method and its control program

Publications (1)

Publication Number Publication Date
JP2006146693A true JP2006146693A (en) 2006-06-08

Family

ID=36626285

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004337698A Withdrawn JP2006146693A (en) 2004-11-22 2004-11-22 Application management method and its control program

Country Status (1)

Country Link
JP (1) JP2006146693A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012068874A (en) * 2010-09-22 2012-04-05 Canon Inc Information processing unit, method for controlling the same, and program

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012068874A (en) * 2010-09-22 2012-04-05 Canon Inc Information processing unit, method for controlling the same, and program
US9300746B2 (en) 2010-09-22 2016-03-29 Canon Kabushiki Kaisha Information processing apparatus and control method therefor

Similar Documents

Publication Publication Date Title
JP4029711B2 (en) Image forming apparatus
JP4979287B2 (en) Image processing apparatus and program
JP5473267B2 (en) Workflow execution system and workflow execution method
JP4891054B2 (en) Image processing apparatus using license, control method thereof, and program
WO2010001555A1 (en) Execution order decision device, execution order decision program, execution order decision circuit, and information processing device
JP5415750B2 (en) Information processing apparatus, information processing method, program, and information processing system
JP5408353B2 (en) Multithread processing apparatus, multithread processing system, multithread processing program, and multithread processing method
JP2009188762A (en) Document processing system, method of controlling the same, program, and storage medium
JP2006163842A (en) Search system, information processor, its control method, and program
JP2008009696A (en) Image processor and program
CN111835930A (en) Information processing apparatus, information processing system, recording medium, and information processing method
JP2004127251A (en) Output management method and information processing apparatus
JP2000112706A (en) System and method for printing log totalling management, and storage medium
JP2008090798A (en) Backup-control device of data-processing system, and system therefor
JP5241520B2 (en) Workflow management device, task cooperation processing system, workflow management method, and program
JP2009301538A (en) Service flow processing apparatus and method
JP2006146693A (en) Application management method and its control program
JPH08221372A (en) Free resource management device in distributed processing system
WO2023051034A1 (en) Terminal code incremental compilation method, system, apparatus, server, and storage medium
JP2007323393A (en) Image processor and program
JP2004135323A (en) Image processing apparatus, image processing system, control method of image processing apparatus, program and recording medium
JP2010020689A (en) Image processing apparatus, image processing method, and computer program
JP4762865B2 (en) Image processing apparatus and image processing program
JP2008166899A (en) Image forming apparatus, control method and program
JP2004302630A (en) Message processing method, execution device therefor and processing program therefor

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20080205