JP4491989B2 - 制御システム - Google Patents

制御システム Download PDF

Info

Publication number
JP4491989B2
JP4491989B2 JP2001118769A JP2001118769A JP4491989B2 JP 4491989 B2 JP4491989 B2 JP 4491989B2 JP 2001118769 A JP2001118769 A JP 2001118769A JP 2001118769 A JP2001118769 A JP 2001118769A JP 4491989 B2 JP4491989 B2 JP 4491989B2
Authority
JP
Japan
Prior art keywords
interface
control system
entry point
providing
type
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2001118769A
Other languages
English (en)
Other versions
JP2002312301A (ja
Inventor
淳 酒井
裕明 林
季之 杉本
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2001118769A priority Critical patent/JP4491989B2/ja
Priority to EP02008180A priority patent/EP1251427A3/en
Priority to CNB021231184A priority patent/CN1294501C/zh
Priority to US10/124,559 priority patent/US7330825B2/en
Priority to KR10-2002-0020877A priority patent/KR100461887B1/ko
Publication of JP2002312301A publication Critical patent/JP2002312301A/ja
Application granted granted Critical
Publication of JP4491989B2 publication Critical patent/JP4491989B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/20Point-of-sale [POS] network systems
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07GREGISTERING THE RECEIPT OF CASH, VALUABLES, OR TOKENS
    • G07G1/00Cash registers
    • G07G1/12Cash registers electronically operated
    • G07G1/14Systems including one or more distant stations co-operating with a central processing unit

Description

【0001】
【発明の属する技術分野】
本発明は、ジャババーチャルマシンをプラットフォームとして実行されるオブジェクトソフトウェアを用いた制御システムに関するものである。
【0002】
【従来の技術】
オブジェクト指向プログラミングによるコンポーネントベースのプログラムあるいはソフトウェア(オブジェクト)は、オペレーティングシステム上で稼動する再利用可能なソフトウェアであり、オブジェクトを用いて多種多様なシステムが開発されている。特に、ジャバ(Java)言語(Javaは登録商標)で書かれたプログラム(JavaアプリケーションあるいはJavaアプレット)はジャババーチャルマシン(JVM)さえ存在すれば実行できるので、JVMをサポートするオペレーティングシステム(OS)であれば、OSの種類やバージョンを問わずに実行できる。したがって、マイクロソフト社が提供するOSのウィンドウズ(登録商標)が稼動するシステム上であっても、リナックスがOSとして稼動するシステム上であっても、さらには、専用コンピュータチップにマイクロコードとして埋め込まれていても、Javaアプリケーションは稼動する。このようにJavaアプリケーションは特定のOSに依存しないので、ソフトウェア資産の保護が図れ、システム毎に開発する必要がないので経済的である。また、ユーザにとっては特定のOSに縛られることがないので、選択の幅が大きく広がる。さらに、OSを変えたり、更新された場合であっても既存のソフトウェア資産を継続あるいは承継できる。
【0003】
POSシステムは多種多様な周辺装置により組み立てられるシステムの1つであり、パーソナルコンピュータなどの中心となるホストコンピュータにディスプレイ、プリンタ、スキャナ、ドロワ、カードリーダなど様々な入出力装置が接続されることによりシステムが構築される。このため、ホストコンピュータの仕様に依存しないJavaアプリケーションによるPOSシステムを提供することにより、既存のハードウェアを用いて新しいPOSシステムを導入することが可能となり、また、アプリケーションの開発コストを低減できるのでユーザの負担も小さくできる。それと共に、POSシステムを構築するシステムがフレキシブルに選択できるのでユーザの選択肢が広がり、ユーザの環境に合致したシステムを構築できるなどの多くのメリットを得ることができる。
【0004】
図1に、JavaPOSシステム10の概要を示してある。このPOSシステム10は、各POSメーカが提供するPOSアプリケーションプログラム11と、プリンタ21、スキャナ22あるいはドロワ23などの周辺装置(デバイス)の種類単位(デバイスクラス単位)に供給されるデバイスコントロールオブジェクト(第1のオブジェクト、以降ではDC)12と、周辺装置毎、すなわち、デバイス毎に供給されるサービスオブジェクト(第2のオブジェクト、以降ではDS)13とを備えている。これらのDS13により制御される各デバイス21〜23は、シリアルポート、パラレルポートあるいはUSBポートなどを制御するポートドライバ14を介してパーソナルコンピュータ18などのアプリケーションプログラム11およびオブジェクトプログラムが稼動するホストと接続されている。したがって、POSアプリケーションプログラム11がプリンタ21から出力するときは、データがプリンタのDC12に渡され、さらに、出力するプリンタのメーカおよび機種に対応したDS13に渡され、ポートドライバ14を介してプリンタ21に供給される。
【0005】
図1に示したJavaPOSシステム10では、DC12およびDS13を備えたオブジェクト制御システム19がPOSアプリケーションプログラム11に対して、また、プリンタ21などの周辺機器に対して機種依存性のないインターフェイスを提供する。これらのアプリケーション11、DC12およびDS13はJava言語で作成されたプログラムであり、ジャバ仮想マシン(JVM)で実行可能なようにコンパイラによってJavaバイトコードに変換されたものである。したがって、ホスト18にインストールされているOSに依存せずにユニフォームなサービスを提供することができる。
【0006】
図2に、あるデバイス、たとえばプリンタ21を制御するシステム19を抜き出して示してある。アプリケーション11に対しプリンタとのインターフェイスを提供するDC12は、アプリケーション11が利用できるインターフェイス(第1のインターフェイス)12iを備えている。同様に、DC12に対し、特定のプリンタ21とのインターフェイスを提供するDS13は、DC12が利用できるインターフェイス(第2のインターフェイス)13iを備えている。このDS13は、DC12がデバイス21にアクセスするためにDS13を呼ぶとインスタンスが生成されてオブジェクトとして利用できるようになっている。
【0007】
このため、制御システム19は、DC12に呼び出されて特定のプリンタの名前を指定して接続を確立し切断することができるJCL(jpos config/loader)オブジェクト(第3のオブジェクト、以降ではJCL)31と、このJCL31からの指示によりDS13のインスタンスを生成するファクトリオブジェクト(第4のオブジェクト、以降ではファクトリクラス)34を備えている。さらに、制御システム19は、ファクトリクラス34によりDS13のインスタンスを生成するときの条件および設定などの情報が、XMLなどによって蓄積されたデータベース(以降ではDB)33と、XMLパーサなどからなる、名称の情報のDB33におけるエントリーポイントを取得できる名称解決のためのオブジェクト32を備えている。したがって、JCL31は、DC12がプリンタの名前を指定するために利用できるインターフェイス(第3のインターフェイス)31iを備えており、また、ファクトリクラス34は、JCL31がエントリーポイントを指定することができるインターフェイス(第4のインターフェイス)34iを備えている。
【0008】
【発明が解決しようとする課題】
このように、この制御システム19では、ユニフォームなインターフェイスをアプリケーション11に対して提供するために各々の機能がオブジェクトに分散されており、最小限のプログラムを提供するだけで様々なデバイスが利用できるようになっている。たとえば、デバイス21を提供するメーカは、デバイス21に対応したDS13と、そのインスタンスを生成するファクトリクラス34を提供し、ユーザはそれをホストにインストールすることによりPOSシステムにデバイス21を組み込むことができる。しかしながら、本願の発明者らは、さらにJavaを用いて多数のデバイスを制御できる分散システムを簡易にすることを検討した。そして、DS13をより簡単に精度良く開発および提供できるシステムを検討した。
【0009】
【課題を解決するための手段】
図2に示した制御システム19では、ファクトリクラス34はDS13と共にメーカから提供されることが前提となっており、これは、インスタンスを生成するオブジェクトDS13とファクトリクラス34とのマッチングをメーカに一任するという点で自由度が高く、また、オブジェクト13が稼動するときの設定値などをどのように提供するかという点でも自由度が高い。すなわち、ファクトリクラス34で生成されたインスタンスによるオブジェクトが稼動するために必要な情報を提供しきれるのであればDS13はDB33にアクセスする必要がないし、DS13がDB33にアクセスする必要があるのであればそのエントリーポイントを適当な方法でファクトリクラス34からDS13に提供すればよい。
【0010】
これに対し、本願の発明者らは、DS13にファクトリクラス34からエントリーポイントを取得できるインターフェイスを設けることにより、ファクトリクラス34をDS13に依存しないプログラムとして提供することが可能であり、デバイスメーカはDSだけを提供することによりデバイスをシステムに組み込むことができることを見出した。さらに、ファクトリクラス34とDS13をセットで提供することが前提としてこれらのプログラムが開発されていると、DSでエントリーポイントが必要な場合は、DSにエントリーポイントを取得する関数が用意され、それに合わせてファクトリクラスでDSのクラスの型にキャストしてエントリーポイントがDSに提供される処理が行われやすい。このような方法でエントリーポイントを渡そうとすると、DSとファクトリクラスが1対1に対応している場合は、まだ面倒がないが、ファクトリクラスをDSに共通にしようとすると、全てのDSに共通の親クラスを作成する必要があり、DSの開発効率が大幅に低下する。これに対し、DSにエントリーポイントを取得するインターフェイスを用意することにより、キャストする必要がなくなるので、DSの開発も容易になるというメリットがある。
【0011】
したがって、デバイスサービスにエントリーポイントを取得するインターフェイスを設けることにより、デバイスサービスの開発の自由度が向上すると共に、他のメーカなどのデバイスサービスを容易にロードすることができるファクトリクラスを提供することが可能となり、多数のデバイスを取り扱うJVM上で稼動するシステムをさらに簡易な構成にすることができる。
【0012】
すなわち、本発明の、ジャババーチャルマシン(JVM)をプラットフォームとして稼動する制御システムにおいては、複数種類のデバイスを制御可能なアプリケーションプログラムに対しデバイスの種類毎の第1のインターフェイスを提供する第1のオブジェクトと、デバイスの種類毎の第2のインターフェイスを第1のオブジェクトに対し提供する第2のオブジェクトと、第2のオブジェクトを呼び出して接続および切断する第3のインターフェイスを第1のオブジェクトに対し提供する第3のオブジェクトと、第2のオブジェクトを設定およびロードする情報を蓄積したデータベースと、第2のオブジェクトの情報が蓄積されたデータベースのエントリーポイントを得て、デバイスに対応した第2のオブジェクトを生成する第4のインターフェイスを第3のオブジェクトに対し提供する第4のオブジェクトとを有し、第2のオブジェクトが、さらに、第4のオブジェクトに対し、前記第4のオブジェクトがエントリーポイントを第2のオブジェクトに渡す関数を定義した第5のインターフェイスを提供する
【0013】
このため、JVMにより実行されることにより、複数種類のデバイスを制御可能なアプリケーションプログラムにデバイスの種類毎の第1のインターフェイスを提供する第1のオブジェクト、すなわち、上記のデバイスコントロール(DC)に対し、デバイスの種類毎の第2のインターフェイスを提供する第2のオブジェクトとして機能するプログラム、すなわち、上記のデバイスサービス(DS)として、この第2のオブジェクトを呼び出して接続および切断するために第3のインターフェイスを第1のオブジェクトに対し提供する第3のオブジェクトから第2のオブジェクトの情報が蓄積されたデータベースのエントリーポイントを得る第4のインターフェイスを備え、デバイスに対応した第2のオブジェクトを生成する第4のオブジェクトに対し、第4のオブジェクトがエントリーポイントを第2のオブジェクトに渡す関数を定義した第5のインターフェイスを提供する命令を有するプログラムを提供する。
【0015】
この本発明の第2のオブジェクト、すなわちDSと、第4のオブジェクト、すなわち、ファクトリクラスとを有する制御システムにおいては、ファクトリクラスが第3のオブジェクト、すなわち、上記のJCLから取得したデータベース、上記のDBのエントリーポイントを、DSに用意されたインターフェイスを利用してDSに与えることができる。したがって、本発明においては、複数の異なるメーカのデバイス用の第2のオブジェクト、すなわちDSを生成可能な第4のオブジェクト、すなわちファクトリクラスを提供することができる。このため、デバイスメーカはDSをユーザに提供するだけで、本発明の制御システム、すなわち、多数のデバイスに対しユニフォームなインターフェイスをアプリケーションに提供する制御システムに、そのメーカのデバイスを組み込むことが可能となる。さらに、各デバイス毎に開発する必要があるDSを、本発明においては、そのDSをロードするファクトリクラスを共通化するために共通のクラスから派生させる必要がなくなる。したがって、全てのメーカに共通の親クラスを設けたりしなくても各メーカにおいて、各デバイス毎に自由にデバイスサービス(DS)を開発することが可能となる。また、DSを変更した場合でも、親クラスに影響が及ぶことはないので、検査も容易であり開発効率の良いシステムとなる。
【0016】
また、本発明の制御システムを構成するための上述したオブジェクトは、上述した処理を実行可能な命令を有するプログラムであり、CD−ROMなどの適当な記録媒体に記録して、あるいはコンピュータネットワークを介して提供することが可能であり、JVMが稼動するコンピュータの適当な記録媒体に記録して使用することができる。
【0017】
デバイスは仮想的なものであっても良いが、本発明では、制御システムを簡素にできると共に、デバイスサービスの開発も容易となるので、プリンタ、スキャナなどメーカや機種によって性能や仕様が異なりデバイスサービスも異なることとなる制御システムに本発明は適している。すなわち、パーソナルコンピュータなどのホストコンピュータの周辺機器をデバイスとして、アプリケーションにユニフォームなインターフェイスを提供可能な制御システムに本発明は好適である。したがって、上述したような、第1のオブジェクトは周辺機器の種類毎に提供されるデバイスコントロールオブジェクトであり、第2のオブジェクトは周辺機器毎に提供されるデバイスサービスオブジェクトである制御システムに本発明は好適であり、その1つとしてアプリケーションプログラムがPOSアプリケーションプログラムである制御システムを挙げることができる。
【0018】
【発明の実施の形態】
以下では、上記にて図1および図2に基づき説明したJavaPOSシステム10に基づき本発明についてさらに説明する。まず、以下に図2に示した制御システム19で、エントリーポイントを渡す関数をインターフェイスで定義せずにデバイスサービス(DS)13に直接組み込むとすると、ファクトリクラス(ファクトリ)34の実装(コード)は次のようになる。
Figure 0004491989
Figure 0004491989
このファクトリクラス34の第1のコードで問題になる個所は(A)の部分であり、データベースのエントリーポイントを渡すのにDS13のインスタンスをいったんDSのクラスの型にキャスト(変換)しなければならない。しかしながら、DSは制御するデバイス毎に作成する。したがって、同一の名称にすることは不可能であり、この方法でDSをロードしてエントリーポイントを渡すためには次の2つの方法しかない。これらの方法では、開発効率が低下し、プログラムの設計において制限が大きい。
【0019】
第1の方法は、各デバイスのDS13のそれぞれにファクトリクラス34を作成することである。すなわち、DS13とファクトリクラス34は常にペアで提供されるようにすることである。図2に示した制御システムでは、この方法が前提として開発されており、その意味では問題はない。しかしながら、ファクトリクラス34は、DS13のインスタンスを生成するのが目的であり、DS13のようにデバイス毎に作成して提供する意味合いはほとんどないことに注目した場合はシステムを簡略化しようとしたときに大きなネックになる。また、DS13の各々に対応してファクトリ34を提供し制御システム19に格納しておくことは、制御システム19で取り扱うデバイスが増加するにつれてオブジェクト数が大幅に増加することになり、分散型システムとしては望ましい方向ではない。さらに、同一のDS13であっても、それを更新したときにファクトリクラス34も更新するのか否かなどの問題もある。したがって、ファクトリクラス34はDS13と独立して機能し、複数のDS13に共通なオブジェクトであることが望ましい。
【0020】
第2の方法は、全てのDS13に共通の親クラスを作成し、この親クラスでデータベース33のエントリーポイントを取得する関数を用意する方法である。この方法であると、ファクトリクラス34は全てのDS13に対し同一の命令によりエントリーポイントを渡すことが可能であり、分散型のシステムとして望ましい。しかしながら、全てのDS13、すなわち、全てのメーカの全てのデバイス、あるいは少なくともある程度の範囲の全てのDS13を作成するときに必ず決まった親クラスを継承しなけらばならないという制限がある。したがって、デバイスの種類毎に親クラスを設けたり、メーカ毎に親クラスを設けたりしないと実現することができず、デバイス毎の設計の自由度が奪われる。さらに、親クラスに含まれる部分を更新しようとしたときに、それに関連する全てのオブジェクトを再検査する必要があるなど、DSの開発を進める上で非常に大きなネックになる可能性がある。
【0021】
図3に、本発明に係る制御システム39の構成を示してある。この制御システム39においては、DS13にエントリーポイントを取得するためのインターフェイス35iを設けることにより、上記の2つの方法の問題を解決している。すなわち、DS13をデバイス単位で自由に開発および設計できると共に、ファクトリクラス34は各DS13に共通に利用できるものとし、機種の異なるデバイスや、他のメーカのデバイス用のDS13であってもロードできるようにしている。
【0022】
図3に示した制御システム39も、あるデバイス、たとえばプリンタ21を制御するシステムであり、各々のプログラムおよびオブジェクトはJVMをプラットフォームとして稼動する。この制御システム39も、アプリケーション11に対しプリンタとのインターフェイスを提供するDC12は、アプリケーション11が利用できる第1のインターフェイス12iを備え、DC12に対し特定のプリンタ21とのインターフェイスを提供するDS13は、DC12が利用できる第2のインターフェイス13iを備えている。また、DC12に呼び出されて特定のプリンタの名前を指定して接続を確立し切断することができるJCL31と、このJCL31からの指示によりDS13のインスタンスを生成するファクトリクラス34も備えており、ファクトリクラス34によりDS13のインスタンスを生成するときの条件および設定などの情報はDB33に格納され、その名前の解決のためのオブジェクト32も備えている。JCL31は、DC12がプリンタの名前を指定するために利用できる第3のインターフェイス31iを備えており、また、ファクトリクラス34は、JCL31がエントリーポイントを指定することができる第4のインターフェイス34iを備えており、さらに、DS13がファクトリクラス34からエントリーポイントを渡すことができる第5のインターフェイス35iを備えている。
【0023】
したがって、この制御システム39において、データベース33のエントリーポイントを渡すファクトリクラス34のコードは次のようになる。
Figure 0004491989
Figure 0004491989
このファクトリクラス34の第2のコードでは、(B)に示したように、DSがSetEntry関数を定義した新しいEpsonJposServiceInstanceインタフェースを実装しているために、上記の第1のコードのようにデータベース33のエントリーポイントを渡すのにDSのクラスの型にキャスト(変換)する必要がなくなる。したがって、ファクトリクラス34は各デバイスのDS13のそれぞれに対応している必要はなくなり、各種のDS13に対し共通したサービスを提供することができるオブジェクトとして提供することができる。また、全てのDS13にSetEntry関数を定義した新しいEpsonJposServiceInstanceインタフェースを実装するだけで、共通の親クラスを継承する必要はなくなり、DSを作成する上で制限も解除することができる。
【0024】
現在のJavaPOSの標準仕様では、JCL31に関連してDSにインターフェイスを用意することが義務づけられているが、そのインターフェイスにはコネクションが切断されたことを示すメソッドが1つ定義されているだけである。すなわち、以下のようなインターフェイスを提供するコードとなる。
Figure 0004491989
したがって、本例の制御システム39では、このJposServiceInstanceを継承すると共にSetEntryをメソッドとして定義した新たなEpson JposServiceInstanceを作成し、そのインターフェイスをDSが提供するようにしている。したがって、本例のDSのインターフェイスを提供するコードは以下のようになる。
Figure 0004491989
以上のように、現状の仕様でも、DS13を実装する上で、DS13の上位層であるDC12がDS13をロードするときに使用するJCL31と、DS13との間のやり取りを定義したJposServiceInstanceインタフェースが規定されている。しかしながら、JposServiceInstanceインターフェイスには、ファクトリクラス34がDS13に対してDS13が使用するデータベース33のエントリーポイントを渡すことは考慮されていない。したがって、DS13でエントリーポイントが必要なときは、各デバイス用のDSで統一がとれておらず、また、DSを実装するメーカ間でも統一が取れる状態にはなっていない。これに対し、上記のように、DS13にデータベース33のエントリーポイントを渡す関数SetEntryを定義した新しいインタフェース(仮称:EpsonJposServiceInstance)を作成し、制御システム39に組み込むDS13はこのインタフェースを実装するルールにすることにより、DSの作成方法に自由度ができ、より良いDSを作成することができる。また、他のメーカのDSや、他のデバイスのDSであっても共通のファクトリクラスによってロードすることができ、JavaをベースとしたPOSシステムをさらにシンプルで低コストで提供可能にすることができる。
【0025】
本例のJavaPOS用の制御システム39を構築するサービスオブジェクト(DS)13およびファクトリクラス34は、上述したインターフェイスを提供する命令、あるいはそのインターフェイスを使用してエントリーポイントを渡す命令を有するJavaアプレットあるいはプログラムであり、これらはCD−ROMあるいはその他のコンピュータに読み取り可能な記録媒体に記録して提供することができる。そして、JVMが稼動するコンピュータであれば、OSなどに依存せずにJVMをプラットフォームとして動作し、上述したような機能を発揮することができる。
【0026】
なお、以上では、多種多様なデバイスを取り扱うPOSシステムに基づき本発明を説明しているが、POSシステムに限定されることはなく、多種多様な機器をJavaをプラットフォームとして統合した制御を行うようなシステム、たとえば、ファクトリーオートメーションシステムやロボット制御システムなどにおいても適用することが可能である。
【0027】
【発明の効果】
以上に説明したように、本発明においては、デバイス毎のインターフェイスを提供するデバイスサービスを実装する上で、デバイスサービスの上位層であるデバイスコントロールがデバイスサービスをJCLを介して接続するときに、デバイスサービスにファクトリクラスからデータベースのエントリーポイントを取得できる第5のインターフェイスを設け、ファクトリクラスがデバイスサービスをロードするときにインターフェイスを用いてエントリーポイントをデバイスサービスに渡せるようにしている。したがって、本発明の第5のインタフェースを実装したデバイスサービスを組み込んだ本発明の制御システムにおいては、他のメーカのデバイスサービスや、他のデバイスのデバイスサービスであっても共通のファクトリクラスによってロードすることができ、Javaをベースとしてアプリケーションに対しユニフォームなインターフェイスを与えるPOSシステムなどに適した制御システムをさらにシンプルにでき、また、低コストで提供できる。
【0028】
さらに、各デバイスサービスは、本発明に係る第5のインターフェイスを実装するだけでデータベースのエントリーポイントをファクトリクラスから取得できるので、各メーカに共通した親クラスを設けてそれを継承するような作成方法を採用しなくても良く、デバイスサービスの作成方法の自由度が向上する。このため、共通のファクトリクラスに対応可能なデバイスサービスであって、アプリケーションから各々のデバイスを取り扱うのにより適した品質の高いデバイスサービスを提供することが可能となる。
【図面の簡単な説明】
【図1】オブジェクトサービスによりPOSシステムの概要を示す図である。
【図2】JVMをプラットフォームとする制御システムの例であり、デバイスサービスがエントリーポイントを取得するインターフェイスを提供しないシステムの概要を示す図である。
【図3】JVMをプラットフォームとする本発明の制御システムの例であり、デバイスサービスがエントリーポイントを取得するインターフェイスを提供するシステムの概要を示す図である。
【符号の説明】
10 POSシステム
11 アプリケーションプログラム
12 デバイスコントロールオブジェクト(第1のオブジェクト)
12i 第2のインターフェイス
13 デバイスサービスオブジェクト(第2のオブジェクト)
13i 第3のインターフェイス
19、39 POS制御システム
31 JCL(第3のオブジェクト)
31i 第3のインターフェイス
33 データベース
34 ファクトリクラス
34i 第4のインターフェイス
35i 第5のインターフェイス

Claims (9)

  1. ジャババーチャルマシンをプラットフォームとして稼動する制御システムであって、
    複数種類のデバイスを制御可能なアプリケーションプログラムに対し前記デバイスの種類毎の第1のインターフェイスを提供する第1のオブジェクトと、
    前記デバイスの種類毎の第2のインターフェイスを前記第1のオブジェクトに対し提供する第2のオブジェクトと、
    前記第2のオブジェクトを呼び出して接続および切断する第3のインターフェイスを前記第1のオブジェクトに対し提供する第3のオブジェクトと、
    前記第2のオブジェクトを設定およびロードする情報を蓄積したデータベースと、
    前記第2のオブジェクトの前記情報が蓄積された前記データベースのエントリーポイントを得て、前記デバイスに対応した前記第2のオブジェクトを生成する第4のインターフェイスを前記第3のオブジェクトに対し提供する第4のオブジェクトとを有し、
    前記第2のオブジェクトは、さらに、前記第4のオブジェクトに対し、前記第4のオブジェクトが前記エントリーポイントを前記第2のオブジェクトに渡す関数を定義した第5のインターフェイスを提供する制御システム。
  2. 請求項1において、前記第4のオブジェクトは複数の異なるメーカの前記デバイス用の前記第2のオブジェクトを生成可能である制御システム。
  3. 請求項1において、前記デバイスはホストコンピュータの周辺機器である制御システム。
  4. 請求項3において、前記第1のオブジェクトは前記周辺機器の種類毎に提供されるデバイスコントロールオブジェクトであり、前記第2のオブジェクトは前記周辺機器の種類毎に提供されるデバイスサービスオブジェクトである制御システム。
  5. 請求項3において、前記アプリケーションプログラムはPOSアプリケーションプログラムである制御システム。
  6. ジャババーチャルマシンにより実行されることにより、複数種類のデバイスを制御可能なアプリケーションプログラムに前記デバイスの種類毎の第1のインターフェイスを提供する第1のオブジェクトに対し、前記デバイスの種類毎の第2のインターフェイスを提供する第2のオブジェクトとして機能するプログラムであって、
    前記第2のオブジェクトを呼び出して接続および切断するために第3のインターフェイスを前記第1のオブジェクトに対し提供する第3のオブジェクトから前記第2のオブジェクトの情報が蓄積されたデータベースのエントリーポイントを得る第4のインターフェイスを備え、前記デバイスに対応した前記第2のオブジェクトを生成する第4のオブジェクトに対し、前記第4のオブジェクトが前記エントリーポイントを前記第2のオブジェクトに渡す関数を定義した第5のインターフェイスを提供する命令を有するプログラム。
  7. 請求項において、前記デバイスはホストコンピュータの周辺機器であるプログラム。
  8. 請求項7において、前記第1のオブジェクトは前記周辺機器の種類毎に提供されるデバイスコントロールオブジェクトであり、前記第2のオブジェクトは前記周辺機器の種類毎に提供されるデバイスサービスオブジェクトであるプログラム。
  9. 請求項7において、前記アプリケーションプログラムはPOSアプリケーションプログラムであるプログラム。
JP2001118769A 2001-04-17 2001-04-17 制御システム Expired - Fee Related JP4491989B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2001118769A JP4491989B2 (ja) 2001-04-17 2001-04-17 制御システム
EP02008180A EP1251427A3 (en) 2001-04-17 2002-04-16 Control system
CNB021231184A CN1294501C (zh) 2001-04-17 2002-04-17 控制系统中装置的控制方法
US10/124,559 US7330825B2 (en) 2001-04-17 2002-04-17 Control system
KR10-2002-0020877A KR100461887B1 (ko) 2001-04-17 2002-04-17 제어 시스템 및 프로그램을 기록한 기록 매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001118769A JP4491989B2 (ja) 2001-04-17 2001-04-17 制御システム

Publications (2)

Publication Number Publication Date
JP2002312301A JP2002312301A (ja) 2002-10-25
JP4491989B2 true JP4491989B2 (ja) 2010-06-30

Family

ID=18969104

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001118769A Expired - Fee Related JP4491989B2 (ja) 2001-04-17 2001-04-17 制御システム

Country Status (5)

Country Link
US (1) US7330825B2 (ja)
EP (1) EP1251427A3 (ja)
JP (1) JP4491989B2 (ja)
KR (1) KR100461887B1 (ja)
CN (1) CN1294501C (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030133136A1 (en) * 2001-12-27 2003-07-17 Tsutomu Ohishi Method for generating and launching application for information processing apparatus and image forming apparatus
US9135021B2 (en) * 2003-06-30 2015-09-15 International Business Machines Corporation Method and system for input and output of data with non-standard I/O devices for web applications
US20050261969A1 (en) * 2004-05-10 2005-11-24 International Business Machines Corporation Layered architecture for POS (point-of sale) systems
KR100559251B1 (ko) * 2004-05-12 2006-03-15 한국생산기술연구원 개방형 인터넷망 기반의 로봇 개발을 위한 분산소프트웨어 통합서비스방법
KR100607141B1 (ko) * 2004-05-12 2006-08-01 한국생산기술연구원 개방형 분산처리구조의 로봇 제어 시스템
KR100757906B1 (ko) * 2004-11-26 2007-09-11 한국전자통신연구원 네트워크 기반 로봇 시스템 및 그 실행 방법
US20060206442A1 (en) * 2005-03-08 2006-09-14 Rockwell Automation Technologies, Inc. Systems and methods for managing control systems through java extensions
US7873615B2 (en) * 2005-12-14 2011-01-18 Sap Ag Control object based report generation using a central class
JP2008158651A (ja) * 2006-12-21 2008-07-10 Shinko Electric Ind Co Ltd Rfidタグのリーダライタのためのミドルウェア
JP5381009B2 (ja) * 2008-10-20 2014-01-08 セイコーエプソン株式会社 デバイス制御システム
JP5906620B2 (ja) * 2011-09-08 2016-04-20 セイコーエプソン株式会社 制御装置の制御方法
CN102915215B (zh) * 2011-08-03 2015-05-27 精工爱普生株式会社 控制装置以及控制方法
CN102800153B (zh) * 2012-07-17 2015-09-23 武汉天喻信息产业股份有限公司 刷卡终端的业务下载方法及系统
US20160098994A1 (en) * 2014-10-03 2016-04-07 Speaktoit, Inc. Cross-platform dialog system
CN107590925B (zh) * 2017-08-10 2021-01-26 百富计算机技术(深圳)有限公司 Pos终端控制方法、装置、存储介质和计算机设备
CN108665654A (zh) * 2018-05-18 2018-10-16 任飞翔 收银信息同步方法及收银系统
US10789048B2 (en) * 2019-01-30 2020-09-29 Salesforce.Com, Inc. Namespace and class utilities for managed packages

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5758070A (en) * 1995-10-06 1998-05-26 Canon Kabushiki Kaisha System for dynamically determining a network media type of a LAN using frame type identifying value from a configuration table
US6820255B2 (en) * 1999-02-17 2004-11-16 Elbrus International Method for fast execution of translated binary code utilizing database cache for low-level code correspondence

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0762273B1 (en) * 1995-09-06 2002-05-15 Seiko Epson Corporation Peripheral device control system using a plurality of objects
JPH10187224A (ja) * 1996-12-25 1998-07-14 Smc Corp 自動コントロールシステム
US6201996B1 (en) * 1998-05-29 2001-03-13 Control Technology Corporationa Object-oriented programmable industrial controller with distributed interface architecture
JP2000057081A (ja) * 1998-08-13 2000-02-25 Toshiba Tec Corp 情報処理装置
US6788980B1 (en) * 1999-06-11 2004-09-07 Invensys Systems, Inc. Methods and apparatus for control using control devices that provide a virtual machine environment and that communicate via an IP network
AU7583000A (en) * 1999-09-21 2001-04-24 Wyse Technology, Inc. Displaying windowing application programs on a terminal
US6691302B1 (en) * 2000-05-31 2004-02-10 Siemens Information & Communications Networks, Inc. Interfacing a service component to a native API

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5758070A (en) * 1995-10-06 1998-05-26 Canon Kabushiki Kaisha System for dynamically determining a network media type of a LAN using frame type identifying value from a configuration table
US6820255B2 (en) * 1999-02-17 2004-11-16 Elbrus International Method for fast execution of translated binary code utilizing database cache for low-level code correspondence

Also Published As

Publication number Publication date
CN1294501C (zh) 2007-01-10
US7330825B2 (en) 2008-02-12
CN1384440A (zh) 2002-12-11
JP2002312301A (ja) 2002-10-25
EP1251427A3 (en) 2006-08-23
KR100461887B1 (ko) 2004-12-14
KR20020081141A (ko) 2002-10-26
US20030061021A1 (en) 2003-03-27
EP1251427A2 (en) 2002-10-23

Similar Documents

Publication Publication Date Title
JP4491989B2 (ja) 制御システム
US6345382B1 (en) Run-time customization in object-oriented design
KR101795844B1 (ko) 런타임 시스템
US6442753B1 (en) Apparatus and method for checking dependencies among classes in an object-oriented program
US8793676B2 (en) Version-resilient loader for custom code runtimes
US5974428A (en) Method and apparatus for class version naming and mapping
US8452950B2 (en) Component firmware integration in distributed systems
US20080222160A1 (en) Method and system for providing a program for execution without requiring installation
US20040088397A1 (en) System and method for management of software applications
JPH10283189A (ja) 内蔵実行可能アプリケーション及びコンピュータ読み取り可能な記憶媒体並びに内蔵実行可能アプリケーションの作成方法及びその作成システム
JP5542796B2 (ja) モバイル・デバイス・ソフトウェアの管理方法及び装置
JP2004199672A (ja) セキュリティ・トークンの一様なフレームワーク
US8271622B2 (en) Method and apparatus for a system management tool to adapt command interface and behavior based on installed features
KR20030036736A (ko) 내장형 오퍼레이팅 시스템을 가진 디바이스를 위한 기능및 사용자 인터페이스를 형성하기 위한 방법 및 장치
US7930708B2 (en) Device control system, device control method, and device control program
CN113168320A (zh) 用类选择性替换遗留加载模块程序以在java虚拟机中执行
JP2002318703A (ja) 制御システム
JP2005182419A (ja) コンポーネント処理システム及びコンポーネント処理方法
JP5165234B2 (ja) ジャバ言語におけるメソッド参照のサポート
JP4149624B2 (ja) オブジェクト計算機システム
WO2008015110A2 (en) Methods, apparatus and computer programs for modelling computer programs
JP3767666B2 (ja) ワークフロー管理システム
JP4635341B2 (ja) 制御システム
EP4343540A1 (en) Updated driver installation
JPH0244429A (ja) 情報処理端末器

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060619

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090407

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090603

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091006

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091109

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100316

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100329

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130416

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees