JP2000502198A - Object Oriented System with Shared Persistence Class Pattern Specification - Google Patents

Object Oriented System with Shared Persistence Class Pattern Specification

Info

Publication number
JP2000502198A
JP2000502198A JP09518699A JP51869997A JP2000502198A JP 2000502198 A JP2000502198 A JP 2000502198A JP 09518699 A JP09518699 A JP 09518699A JP 51869997 A JP51869997 A JP 51869997A JP 2000502198 A JP2000502198 A JP 2000502198A
Authority
JP
Japan
Prior art keywords
class
state
internal
oriented system
objects
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.)
Abandoned
Application number
JP09518699A
Other languages
Japanese (ja)
Inventor
カール エム イシャム
Original Assignee
フィリップス エレクトロニクス ネムローゼ フェンノートシャップ
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 フィリップス エレクトロニクス ネムローゼ フェンノートシャップ filed Critical フィリップス エレクトロニクス ネムローゼ フェンノートシャップ
Priority claimed from PCT/IB1996/001179 external-priority patent/WO1997018512A1/en
Publication of JP2000502198A publication Critical patent/JP2000502198A/en
Abandoned legal-status Critical Current

Links

Abstract

(57)【要約】 オブジェクト指向システムは、ベースクラスおよび関係する派生クラスを含む。状態セレクタクラスは、前記ベースクラスに状態選択を与える。操作上のオブジェクトのクラスは、前記ベースクラスに、集合を通じて関係する。各々の操作上のオブジェクトは、一対の内部状態を有する内部オブジェクトと、前記派生クラスに応じてこれらを切り替える操作をするセレクタとを有する内部オブジェクトを含む。 (57) [Summary] An object-oriented system includes a base class and related derived classes. The state selector class provides state selection to the base class. The class of the operational object is related to the base class through a set. Each operational object includes an internal object having a pair of internal objects having an internal state and a selector performing an operation of switching between them according to the derived class.

Description

【発明の詳細な説明】 共有持続性クラスパターン仕様を有するオブジェクト指向システム発明の分野 本発明は、一般に、オブジェクト指向プログラミングおよびオブジェクト指向 ソフトウェアシステムと、特に、システムオブジェクト内のカプセル化データへ の改善された制御を与えることとに関係する発明の背景 オブジェクト指向プログラミングおよびシステムは、より慣例的なソフトウェ アシステムとは異なり、システムを、より慣例的なプログラミングのデータフロ ーおよびアルゴリズム関係よりも、複数のソフトウェアオブジェクトを該システ ムの基礎論理構築ブロックとして使用して形成する。オブジェクト指向システム は、グラディ ブックによって書かれ、べンジャミン/カミングスパブリッシン グカンパニーInc.ISBN 0-8035-0091-0 によって刊行されたアプリケーションに よるオブジェクト指向設計や、ジェームスによって書かれ、プレンティスホール ISBN番号0136298419によって刊行されたオブジェクト指向モデル化および設計の ような、多数の公的に利用可能な教科書において記載され、教えられている。 上記文献に記載されているように、オブジェクト指向プログラミングは、一般 的に、プログラムを、その各々があるクラスのインスタンスを表すオブジェクト の協調的な集合として構成し、これらのクラスを継承関係によって結合されたク ラスの階層のメンバとすることができるインプリメンテーションの方法として規 定される。オブジェクト指向プログラミングの言語を、一般的に、指定された操 作のインタフェースと隠蔽された局所状態とを有する抽象概念であるオブジェク トを支持する言語として記述してもよい。前記オブジェクトは、関係する型また はクラスを有し、前記型またはクラスは、スーパー型またはスーパークラスから 属性を継承してもよい。 オブジェクト指向システム内の各々のオブジェクトは、インタフェースおよび インプリメンテーションを所有し、すなわちこれらによって規定される。基本的 に、前記インタフェースは、オブジェクトの操作の抽象を含むオブジェクトの外 観に関係する。反対に、前記インプリメンテーションは、所望の行動を達成する オブジェクト内のメカニズムに加えて抽象を表す。本質的に、前記インタフェー スは、オブジェクトの機能の明細を表す。前記インプリメンテーションは、オブ ジェクト内の、その操作を行うのに必要な詳細な情報の集合であり、事実上、他 のオブジェクトおよび前記システムの残りの部分から隠蔽されている。 オブジェクト指向システムの主要な操作上の特徴となる要素に従って、オブジ ェクトのインプリメンテーションは、カプセル化または情報隠蔽として一般的に 知られる原理に従って、システムの残りの部分内の他のオブジェクトまたはサブ システムから隠蔽される。このカプセル化の原理は、オブジェクト指向システム にとって基本的であり、プログラムの変更をわずかの労力で確実に行うのを容易 にする。カプセル化の原理は、また、オブジェクト内のデータには直接アクセス できないため、このデータが前記システムの残りの部分との相互作用中に汚染さ れるのを防止する。 本質的に、オブジェクトは、それが行う機能または操作によって、前記システ ムの残りの部分に知られる。例えば、オブジェクト指向システム内の代表的なオ ブジェクトに、ある活動の計数値(すなわち、カウンタとしての操作)を与える ように要求してもよい。この計数値を与えることは、本質的に、オブジェクトの 、該オブジェクトの外部のシステムに対する定義である。結果として、計数値を 与えることは、前記オブジェクトの操作の抽象化を含む。代表的にこのようなオ ブジェクトに許可される機能的操作は、数の読み取り(測定)機能、数のリセッ ト機能、数の増加機能または数の減少機能を含んでもよい。前記システム内のオ ブジェクトを、上記機能のいくつかまたはすべてを行うようにしてもよい。しか しながら、前記オブジェクトのインプリメンテーション、すなわち、どのように 計数をメモリにおいて表すかと、どのように範囲を制限するかと、前記計数を操 作する正確な手段とは、内部的であり、カプセル化の原理に従って、他のオブジ ェクトにはアクセスできない。結果として、この例において、前記システム内の オブジェクトは、前記計数オブジェクトのインプリメンテーション、すなわち、 前記計数を行うメカニズムにはアクセスできず、新たなまたは異なった数にロー ドすることによってエラーまたは汚染がもたらされる恐れはない。 オブジェクト指向システム内のオブジェクトは、これらが所有する3つの性質 によっても規定される。これらの性質は、行動、状態および同一性である。行動 は、オブジェクトがどのように作用または反作用するかである。行動は、該オブ ジェクトがその内部状態内のデータに応じて行うことができる働きも説明する。 したがって、オブジェクトの状態は、該オブジェクトの属性のすべてと、これら の属性の各々の現在値のすべてとを含む。前記オブジェクトの同一性は、該オブ ジェクトに固有であり、その属性において、該オブジェクトを同じクラスまたは 型のすべての他のオブジェクトから識別する。実際には、メモリ内のその割り当 てられた位置に対応する。 オブジェクト指向システムの論理構築ブロック配置の見地から、オブジェクト は、クラスおよびサブクラスの組み合わせによって規定されるアーキテクチャに 従ってオブジェクト指向システム内に存在する。本質的に、クラスは、オブジェ クトの型として規定される。上述した例において、計数値を提供するオブジェク トは、カウンタとして記述することができるクラスのインスタンスである。前記 システムがカウンタである他のオブジェクトを有する場合、これらのオブジェク トは、上述したオブジェクトと同じクラスに属するが、異なった同一性を有し、 これらが、異なった現在計数値を有するかもしれないが、すべて同様に行動する ことを意味する。サブクラスは、オブジェクトのクラス内に存在し、これらが派 生したクラスの属性または機能を継承する。したがって、代表的なオブジェクト 指向システムにおいて、クラスおよび/またはサブクラスのものであり、該シス テム内の前記クラスおよびサブクラス関係による継承階層に適合するオブジェク トが存在する。類似として、オブジェクト指向システム内の、前記階層内のオブ ジェクトと、クラスおよびサブクラスとの関係は、一般に、これらの分類におい て、種類およびサブ種類の層を有する一般的な言葉によって記述された階層化に 対応する。 オブジェクト指向システムは、プログラミングおよび複雑なシステムの構成に おいて実際的な利点を提供し、重点は、主に特定の言語メカニズムの適切で効果 的な使用に焦点を合わせたプログラミング方法から、複雑なシステムの適切で効 果的な構成を強調する設計方法にシフトする。オブジェクト指向設計における設 計プロセスは、システム内の機能的に規定されたオブジェクトを相互に関係させ るプロセスを含む。本質的に、オブジェクト指向分析および設計は、システムの オブジェクト指向な視点を使用する“実世界モデル”の構築を強調する。各オブ ジェクトの内部活動のカプセル化は、システム内のオブジェクトの相互に作用す る操作を簡単にする。本質的に、抽象的概念のより高いレベルにおけるオブジェ クトは、より低いレベルのインプリメンテーションの細部から保護される。オブ ジェクトは、各オブジェクトを外部特性または他のオブジェクトのインタフェー スに単に関係させる所望の行動を達成するメカニズムとして考えられる。このカ プセル化は、設計を容易にするだけでなく、各々のオブジェクトに、その内部状 態およびその内部メカニズムと、その個々の操作またはインプリメンテーション を達成するデータとを保護させる。 オブジェクト指向システムによって提供される極めて重要な利点にも係わらず 、オブジェクト内のカプセル化を保存し、保持する必要性は、システム操作にお いて重大な制限を強いる。例えば、オブジェクト指向設計に決定的なカプセル化 の保持は、全体としてある機能を行うシステム内のすべてのオブジェクトの内部 状態を操作するシステムの能力に対する障害となる。これらの機能の中に、シス テムがシャットダウンする期間中の内部状態の保存または保持がある。加えて、 システムがあるオブジェクトの集合の内部状態の多数の複製の保存を要求する場 合、同様な問題に直面する。あるオブジェクトの集合の内部状態を、システムオ ペレータによる命令に切り換えられなければならないシステム要求が生じるかも しれない。上記により、オブジェクトが通常これらの内部状態をカプセル化する ことは明らかであることから、これらは、他のオブジェクトに直接アクセスする ことはできず、外部に保存することはできない。このようなオブジェクトの内部 状態の露出は、カプセル化の主要な原理を侵害し、システムを妥協させる。した がって、当該技術分野において、カプセル化およびその利益を保持すると同時に 、オブジェクト内部状態への十分に集合的なアクセスを提供し、システム操作の さらなる柔軟性を助長するオブジェクト指向システムに対する必要性が、依然と してある。発明の要約 したがって、本発明の一般的な目的は、改善したオブジェクト指向システムを 提供することである。本発明のより個別的な目的は、オブジェクト内部状態カプ セル化を保持すると同時に、システムオブジェクトの内部状態データへの集合的 なアクセスを提供する改善したオブジェクト指向システムを提供することである 。本発明の一層より個別的な目的は、データ持続性および一点状態管理を提供す る改善したオブジェクト指向システムを提供することと、同時に、単純化制御お よび内部状態切替えのような操作を容易にすることである。 本発明は、上述したオブジェクト指向システムの制限を、カプセル化を侵害す ることなく操作し、持続性と、1つのインタフェースを通じてシステム状態セッ トを管理する能力とを提供する共有持続性クラスパターンを与えることによって 克服する。前記クラスパターンは、継承階層から成るオブジェクト相互作用を特 定する。システムオブジェクトは、前記階層においてサブクラスのインスタンス を形成することができ、これらをこれらの内部状態の代わりに使用することがで きる。ベースクラス(またはスーパークラス)は、各々のサブクラスに関する共 通構造および抽象化共通操作を確立し、持続性計画を実現および隠蔽し、全シス テムの状態選択を制御するインタフェースを提供する。各サブクラスは、システ ムオブジェクト“オーナ”によって必要なすべてのデータを1つのデータセグメ ントに集め、前記セグメント内のデータメンバの各々に関して、公開観察子また は“ゲット”操作と、非公開変化子または“セット”操作とを与える。前記シス テムオブジェクトオーナは、前記サブクラスの非公開変化子へのアクセスを与え られ、したがって、そのデータを変更する能力を有する。すべての他のシステム オブジェクトは、前記サブクラスデータメンバを、これらの公開読み出しのみの 観察機能によってのみ使用するように強制される。 本発明によれば、複数の内部状態およびこれらを切り替える手段を規定する内 部オブジェクトを各々が有する複数のクラスと、ベースクラスおよびこのベース クラスに状態選択コマンドを与えるように関係する状態選択クラスと、前記べー スクラスに継承階層を通じて関係し、前記継承階層において前記ベースクラスに よって制御できる派生クラスとを具え、前記ベースクラスが、前記状態選択クラ スに応じて前記内部オブジェクトの内部状態を全システムを基準として共有持続 性オブジェクト指向クラスパターンに従って切り替えるように操作する、オブジ ェクト指向システムが提供される。図面の簡単な説明 新規であると考えられる本発明の特徴を、従属する請求の範囲において詳細に 述べる。本発明を、他の目的およびこれらの利点と共に、添付した図に関係して 行った以下の記述を参照することによって最もよく理解することができる。これ らの図のいくつかにおいて、同様の参照符は、同様の要素を示す。 図1は、本発明の一般化した実施例をランボー表記において示す。 図2は、本発明の状態切り替えアプリケーション実施例を示す。 図3は、図2のアプリケーション実施例のランボー表記における図を示す。好適実施例の説明 図1は、本発明のオブジェクト指向システムの一般的な実施例を、ランボー表 記において示す。ランボー表記は、ランボーによって書かれた教科書に記載され ており、オブジェクト指向ソフトウェアシステムを図で示すための一般的に認識 されている標準的な表記のシステムである。図1に一致しているランボー表記の 一般的なパターンにおいて、これらの要素は、オブジェクトを形成するクラスを 示し、クラスネーム、多数のクラス属性、および該クラス内のオブジェクトによ って行われる多数の操作を含む3つの部分に分割された矩形を含む。ランボー表 記内のクラス矩形間の接続ラインは、接続されたクラス間に存在する関係を示す 。これらの表記は、どの追加の記号も除いて、ラインに付随するテキストによっ て指定される型の、接続されたクラス間の関係を示す。加えて、接続されたクラ ス間の関係の性質を示す多数の記号を与える。これらの記号は、記号24のよう な三角形から成るベースクラス対派生クラス記号と、関係の結合を示す記号40 のような菱形と、クラス矩形に隣接し、クラスの集合または組み合わせを示す記 号54のような小さい菱形とを含む。加えて、クラスに隣接する記号64のよう な円記号は、ゼロまたは1の多重度を有する関係を示す。多重度は、あるクラス のどの位多くのインスタンスが、関係するクラスの1つのインスタンスに関係し てもよいかを明示する。記号66のような記号は、関連ラインによって接続され た他のクラスに関する1つまたはそれ以上のクラスの多重度を示す。 図1のシステムに特別に関係して、本発明によるシステムは、クラスネーム1 1と、システムデータおよび複数の属性12と、操作13とを有するベースクラ ス10と含む。属性12は、ベースクラス10の内部状態データを示し、操作1 3は、ベースクラス10がクラスオブジェクト内のデータに行うことができる種 々の機能を示す。加えて、ベースクラス10の操作部分13は、状態管理{抽象 }のようないくつかの抽象的機能を示す。同様の抽象的操作を、操作部分13に おいて、すべてが抽象的しるしを含む、表示、複製状態、および状態変更行動の ように示す。ベースクラス10の操作部分13内のこのような抽象的表記の意味 は、ベースクラスから派生したクラスにパターンまたはテンプレートを与えるこ とである。ベースクラス10から派生した他のクラスにおける効果の見地から、 このような抽象的表記は、ベースクラスから派生した各々のクラスは、これらの 操作をその中に持たなければならないという必要条件を強いる。すなわち、これ らは、これらの操作を、ベースクラスによって特定されるインタフェースによっ て実現しなければならない。以下に認められるように、状態管理、表示、複製状 態および状態変更行動のベースクラス10において抽象化された操作は、派生ク ラス20内の操作部分20内にすべて見られる。加えて、ベースクラス記号24 を、ベースクラス10と派生クラス20との間に結合して示す。ベースクラス記 号24の意味は、ベースクラス10と派生クラス20との間の継承関係を示すこ とである。派生クラス20は、“状態”であることを示すクラスネーム21と、 属性の組22と、操作の組23とを含む。上述したように、派生クラス20の操 作23は、クラス10および20間のベース/派生クラス関係に一致して、ベー スクラス10の操作部分13において抽象化される。加えて、関連ライン25お よび関連ライン26を、ベースクラス10と、派生クラス20との間に示す。こ れらの関係は、ベースクラス10と派生クラス20との間の操作上の関係を示す 。図1において選択した例において、関連ライン25は、ベースクラス10が全 システムデータ状態選択を制御できる関係を示す。関連ライン26は、ベースク ラス10のシステムデータクラスが、クラス36の追加の協力によって、メモリ セグメント利用可能性を派生クラス20に与えるように機能する関係を示す。 図1は、モードセレクタのクラスネーム31と、リストに載っていない属性の 組32と、操作の組33とを有するクラス30も示す。関連ライン34は、クラ ス30とベースクラス10との間に延在する。同様に、クラス35は、クラスネ ーム36と、リストに載っていない属性の組37と、操作の組38とを含む。関 連ライン39は、クラス35とベースクラス10との間に延在する。 オーナクラス50は、クラスネーム51と、属性の組52と、操作部分53と を含む。オーナクラス50を、関連ライン55を通じて、結合記号40および集 合記号54を通じて、派生クラス20に関係して示す。結合記号40は、関係の 単純な結合を示し、集合記号54は、クラス20がクラス50に含まれ、クラス 20の内部状態を、クラス50における操作によって、クラス20のアプリケー ション変化子によって変更できる、クラス50のオブジェクトと派生クラス20 のオブジェクトとの間の関係を示す。本質的に、関連ライン55は、クラス20 および50間の読み出し/書き込み関係である。 クラス60は、本発明の見地においては、“非オーナ”と呼ばれるクラス型で あって、関連ライン65におけるクラス60との間の記号64によって示される 関連において、クラス60は、クラス20を含んでもよいが、クラス60におけ る操作は、クラス20の内部状態を、クラス20のアプリケーション観察子によ って読み出すことができるだけである。本質的に、関係ライン65は、クラス2 0および60間の、読み出しのみの関係である。クラス60は、ネーム61と、 属性の組62と、空白において示す操作の組63とを含む。 図1に示す本発明による一般化した例において、本システムは、集合的状態切 り替え可能性を与えるオブジェクト指向クラスパターン内のクラス間の、持続的 な不揮発性メモリの共有の提供において有益なオブジェクト指向システムを提供 する。以下に述べる図2および3は、本発明のこのような状態切り替えアプリケ ーションのより特別な例を与える。ここに示せば十分であろうが、図1のシステ ムの目的は、データカプセル化を保護し、持続性と、1つのインタフェースを通 じて状態の組を管理する可能性とを提供することである。 したがって、クラス30は、ホストシステム内の選択鍵の操作を管理し、モー ド1および2として示される2つの利用可能なモードを選択する、オブジェクト を与える。したがって、クラス30は、モード選択子として示され、モード1に 入る、またはモード2に入る操作を含む。本発明によれば、モード1および2の 選択は、種々のシステムオブジェクト内の選択的な状態の組の選択に対応する。 したがって、クラス30とベースクラス10との間の関係を示すライン34は、 状態選択に従って確認される。 システムデータと呼ばれるベースクラス10は、活性状態に関する属性と、サ ブオブジェクトとを含む。操作13内に、クラス10は、活性状態、複製状態お よび所属セグメントに関する操作を含む。ベースクラス10の機能は、派生クラ ス20の操作を抽象化し、クラス30を通じてシステム共有メモリにアクセスす る方法および手順を情報隠蔽することである。ベースクラス10は、データセグ メントの提供に関して機能する。各々のサブクラスを具体化する。同じ一般的な 認識の各々のサブクラスの具体化は、同じ共有メモリ領域に束縛される。ベース クラスは、前記データセグメントを構築する機能を行う。必要ならば、前記共有 メモリ領域を、以前に保存したデータによって初期化する。データが変化すると きに、前記共有メモリ領域の内容を自動的に保存する。前記データセグメントが 束縛されるため、サブクラスに対するポインタも、状態選択制御に登録される。 特定の状態組の選択は、1つのベースクラスメンバ機能を呼ぶことによってトリ ガされる。この機能は、すべての登録されたサブオブジェクトを通して繰り返さ れ、状態組を変化させるのに必要な行動をトリガする。 状態と呼ばれるクラス20は、オブジェクト型および状態を有するセグメント として示される属性22を含む。オブジェクト20は、すべてベースクラス10 に対するその派生クラス関係による、状態管理、表示、および状態変化行動に対 する抽象に対応する操作も、操作23内に含む。操作23は、さらに、内部状態 データを観察する操作と、内部状態データを変化させることができる、いわゆる 変化子とを含む。したがって、派生クラス20は、ベースクラス10が有するす べての操作を継承する。加えて、派生クラス20は、ベースクラス10によって 提供されるメモリセグメントへのアクセスを有し、ベースクラス10内のすべて の抽象化された操作を実現する。実際には、派生クラス20は、前記システムの 不揮発性共有メモリにゲインアクセスする操作(帰属セグメント)を使用する。 クラス50は、該クラス内の内部状態である属性52内に内部設定を有するオ ーナクラスに一般的に関係することを示す、クラスという名前を有するオーナク ラスとして記述される。上述したように、集合記号54は、派生クラス20がク ラス50に含まれ、クラス20の内部状態を変化または変更することができるこ とを示す。クラス50の操作53は、仮想的ななにかの操作を載せてもよいが、 図1の一般化した例においては何も必要ないことを示す空白のままである。 クラス60は、ユーザという名前と、設定として示される属性とを有する“非 オーナ”クラスとして記述される。クラス50と同じように、クラス60の操作 63は、仮想的ななにかの操作をクラス60内に載せてもよいことを示す空白の ままである。図1において理解すべき関係に関して重要なのは、クラス60をク ラス20に関係させ、クラス20のクラス60内の任意の使用または抑制を示す 記号64の使用である。非オーナクラス60は、クラス20の内部データ状態を 変化または変更できず、これらを読み出す、またはこれらを観察することに限定 される。 このように、図1において示すものは、共有持続性クラスパターンオブジェク ト指向システムのランボー表記を使用する一般化した図であり、ベースクラスは 、共通構造を確立し、各々のサブクラスに関する共通行動を抽象化し、持続性計 画を実現および隠蔽する。ベースクラスは、全システムの状態選択を制御するイ ンタフェースも提供する。各々のサブクラスは、システムオブジェクトオーナに よって必要なすべてのデータを1つのデータセグメントに集め、セグメント内の データメンバの各々に対して公開観察子および非公開変化子の双方を与える。オ ブジェクトオーナは、サブクラスの要素に対する非公開的なアクセスを与えられ る。非公開的なアクセスは、サブクラス内のデータを変化させることができるこ とを特徴とし、したがって、サブクラスのメンバを、その変化子を通じて使用す ることができる。サブクラスを使用するすべての他のシステムオブジェクトは、 サブクラスデータメンバの使用を、読み出しのみの観察子を通してのみに制限さ れる。結果として、本発明は、すべてのシステムオブジェクトの内部状態を他の 状態に置き換えることによって、そうしなければカプセル化を侵害するであろう 操作を提供する。すべてのシステムオブジェクト内のこの追加のオブジェクトは 、ベースクラスによって制御できる継承された階層の一部である。これは、ベー スクラスが、システム内のオブジェクトの内部状態を、オブジェクトのカプセル 化を維持しながら、全システムを基準として制御することを可能にする。システ ムパワーおよび柔軟性は、劇的に拡張され、状態切り替えまたは他の状態操作を 始めるために、システムにおける各々の必要なオブジェクトに個別的に命令する 必要なく、ベースクラスに対する1つの命令が全システム状態を変化させる。シ ステムは、また、形成されたクラスの各々のインスタンスまたは事象に、同じデ ータオブジェクトへのアクセスを与えることによって、読み出し同時的にアドレ スする。書き込み同時的問題を、インプリメンテーションにおける組み込み相互 排除によって管理する。 図2は、放送制御パネル内の状態切り替えの代表的なアプリケーションにおけ る共有持続性クラスパターンを使用する本発明のオブジェクト指向システムのア プリケーション実施例を示す。説明の目的のみのために、3つの機能を、オーデ ィオゲイン調節、ビデオトランジションミキサおよびパネルコンポーザを具える システム内の操作によって示す。しかしながら、これらの当業者には、上述した 本発明のシステムが、さらにより複雑なシステムにも等しく利用可能であり、3 つのオブジェクトを単に説明のために示したことは明らかであろう。 さらに特に、数字70によって一般的に参照される状態切り替えシステムは、 ノブ切り替え入力部71に結合したゲイン調節76を有するオーディオ調節子オ ブジェクト75を含む。調節子76は、出力インタフェース110の入力部11 1に結合したスケール化ゲイン出力部72を含む。本発明の重要な態様に従って 、オーディオ調節子オブジェクト75は、ゲイン状態オブジェクト77を形成す る内部オブジェクトを含む。ゲイン状態オブジェクト77は、調節子76に印加 されたゲイン状態入力を、切り替え機能80の操作によって切り替えることがで きる。 ビデオトランジションミキサオブジェクト90は、フェードレート入力部96 に結合したフェード制御95と、テイク入力部97と、インタフェース110の 入力部112に結合した出力黒ミックス98とを含む。さらに本発明に従って、 ビデオトランジションミキサオブジェクト90は、状態セレクタ94によって選 択可能な1対の状態92および93を含むレート状態オブジェクト91を具える 内部オブジェクトを含む。状態セレクタ94を、フェード制御95の入力部に結 合する。したがって、オブジェクト95に関するレート状態は、セレクタ94に よって、レート92および93間で選択可能である。 パネルコンポーザオブジェクト100は、スケール化ゲイン出力部72に結合 した入力部106と、インタフェース110の入力部113に結合した出力部1 07とを有する制御105を含む。さらに本発明に従って、パネルコンポーザオ ブジェクト100は、db状態102および103を有するdb状態オブジェク トを形成する内部オブジェクト101を含む。内部オブジェクト101は、制御 105に印加すべき前記db状態のいずれかを選択するセレクタ104を含む。 さらに本発明の重要な態様に従って、オブジェクト75、90および100内 の内部オブジェクトの各々を、状態マネージャクラス120によって制御する。 状態マネージャクラス120は、スイッチ状態入力部124と、応答スイッチセ レクタ121とを含む。オブジェクト120は、さらに、入力部125および共 有不揮発性メモリ123に結合した読み出し/書き込み機能122を含む。不揮 発性メモリ123を共有し、前記オブジェクトの各々に関するデータセグメント を共有メモリ123内に与える。スイッチ機能121は、オブジェクト77、9 1および101の各々内の、これらの制御に用いるべき内部状態の集団的選択を 行う。したがって、セレクタ121は、内部オブジェクト77、91および10 1内のセレクタ80、94および104の選択機能を制御するものと理解される べきである。 本発明に従って、状態マネージャクラス120は、入力部124を経た状態選 択入力に応じて、オーディオ調節子オブジェクト75のゲイン状態78および7 9間の選択と、ミキサオブジェクト90のレート状態92および93間の選択と 、コンポーザオブジェクト100のdb状態102および103間の選択とを同 時に行う。したがって、内部オブジェクト77、91および101の使用によっ て、システム内のデータのカプセル化を侵害することなく、状態選択が行われる 。システム内の各々の内部オブジェクトを、状態マネージャクラス120による 階層システムによって制御するため、状態マネージャクラス120に対する1つ の選択入力によって、出力インタフェース110を通じてシステムに用いるべき ゲイン、レートおよびdb状態が同時に選択される。この、オーディオ調節子オ ブジェクト、ビデオトランジションミキサオブジェクトおよびパネルコンポーザ オブジェクトの内部状態に対する内部オブジェクトの使用は、システム内のオブ ジェクトに関する内部状態のカプセル化の維持における、本発明の重要な態様で ある。内部オブジェクト77、91および110内の状態に用いる各々の変化が 、状態マネージャクラス120によって、共有メモリ内のこれらに割り当てられ たセグメントに伝えられるため、共有メモリ内のシステムの持続性が与えられる 。 図3は、図2のシステムのランボー表記における図を示す。図3のシステムが 、図1において見られるクラス10、30および35とほぼ同じ、ベースクラス 10、モード選択クラス30およびメモリクラス35を含むことは明らかであろ う。したがって、ベースクラス10、モード選択クラス30およびメモリクラス 35は、図1に関して上述したのと同じ様に実際に相互に関係すると理解すべき である。図1の一般化システムに加え、そしてさらに同様に、ベースクラス10 は、システム内の残りのクラスと、図1において説明したのと同じように、ベー ス/派生クラス記号24を通じて関係することに注意すべきである。したがって 、図3において示す好例のシステムの、図1における一般化システムにおいて与 えられたのと同じ全体的な制御が、図3のシステムにおいて続くことを理解すベ きである。本質的に、派生クラスと、ベースクラス10に関係するクラスとを、 図1の一般化した図におけるより、図3においてより特別に説明する。 したがって、図3のシステムは、すべて、ベースクラス10の派生クラスとし てベースクラス10に関係する、ゲイン状態クラス140と、レート状態クラス 160と、db状態クラス170とを含む。したがって、階層および継承関係が 、派生クラス140、160および170に用いるこのようなベースクラス対派 生クラス関係において見られたことを思い出すであろう。したがって、ゲイン状 態クラス140は、状態ネーム141、ゲインセグメント属性142および操作 部分143を含む。同様に、レート状態クラス160は、状態ネーム161、属 性162および操作163を含む。最後に、db状態クラス170は、状態ネー ム171、属性部分172および操作部分173を含む。 クラスネーム145、属性部分146および操作部分147を有するオーディ オ調節子クラス144は、ゲイン状態クラス140に、集合記号148を通じて 関係する。したがって、オーディオ調節子クラス144は、ゲイン状態クラス1 40内のデータ状態を変更できると理解すべきである。ハードウェアドライバク ラス149は、クラスネーム150、属性部分151および操作部分152を含 む。ハードウェアドライバクラス149は、オーディオ調節子クラス144に関 係する。特に、スケール化ゲイン情報関係が、クラス149および144間に与 えられる。 ビデオトランジションミキサクラス164は、クラスネーム165、属性部分 166および操作部分167を含む。ビデオトランジションミキサクラス164 は、レート状態クラス160に、集合記号168を通じて関係する。したがって 、ビデオトランジションミキサクラス164は、クラス160内のデータの内部 状態を変更できることに注意されたい。クラス164は、さらに、ハードウェア ドライバクラス150に関係する。特に、黒ミックス情報が、これらの間で伝達 される。 パネルコンポーザクラス175は、クラスネーム176、属性部分177およ び操作部分178を含む。パネルコンポーザクラス175は、db状態クラス1 70に、集合記号179を通じて関係する。したがって、パネルコンポーザクラ ス175は、db状態クラス170内のデータの内部状態を変更できることを注 意すべきである。クラス175は、さらに、クラス149に関係し、特に、スケ ール化ゲインにおける情報と、db表示情報とを交換する。 パネル入力クラス153は、パネルネーム154、属性部分155および操作 部分156を含む。パネル入力クラス153は、クラス144に、ノブデルタ情 報の交換のために関係する。クラス153は、さらに、クラス164に、プロセ ステイク情報の交換のために関係し、クラス30に、プロセスバイパス情報の交 換のために関係する。 図3に示すシステムの操作は、オーディオ調節子クラス144、ビデオトラン ジションミキサ164およびパネルコンポーザクラス175の、ゲイン状態、レ ート状態およびdb状態を、1つのモード選択クラス30の操作によって選択す る可能性を与える。この可能性は、本発明の重要な態様に従って、ゲイン状態ク ラス140をオーディオ調節子クラス144内に与え、レート状態クラス160 をビデオトランジションミキサ164内に与え、db状態クラス170をパネル コンポーザクラス175内に与えることによって与えられる。クラス140、1 60および170の各々は、クラス144、164および175の各々1つに、 記号148、168および179によって示すように集合を通じて関係する。こ の集合は、クラス144、164および175の内部状態を具えるクラス140 、160および170の内部状態を、クラス144、164および175によっ て変更できる、クラス間の関係を表す。図2の参照によって、ゲイン状態、レー ト状態およびdb状態に関する内部オブジェクトが、オーディオ調節子オブジェ クト、ビデオトランジションミキサオブジェクトおよびパネルコンポーザオブジ ェクト内に与えられたことが思い出されるであろう。したがって、本発明の重要 な態様に従って、クラス140、160および170の内部状態間の選択は、ベ ースクラス10に対するこれらの関係に応じて容易になる。 この方法において、クラス144、164および175に関する内部状態のカ プセル化は、保存され、同時に、内部状態データは、ベースクラス10に対して 利用可能であり、ベースクラス10によって制御される。このクラスパターンの 階層は、本発明の複数の状態選択の1つのインタフェースによる制御を容易にし 、システムオブジェクト内のデータのカプセル化を維持する。 示したものは、オブジェクト内部状態のカプセル化を維持すると共に、1つの インタフェースコントローラによる状態切り替えおよび持続性を提供する、共有 持続性オブジェクト指向クラスパターンである。このシステムは、複数の内部状 態の組を、1つのパネルコマンドまたは同様のものに応じて切り替えたい、種々 の用途に利用可能である。DETAILED DESCRIPTION OF THE INVENTION Object Oriented System with Shared Persistence Class Pattern Specification Field of the invention The present invention relates generally to object-oriented programming and object-oriented software systems, and in particular, to providing improved control over encapsulated data within system objects. Background of the Invention Object-oriented programming and systems differ from more traditional software systems in that they use multiple software objects as the basic logic building blocks of the system, rather than the more traditional programming data flows and algorithmic relationships. Form. Object-oriented systems have been written by Grady Book and published by Benjamin / Comming Publishing Company, Inc. ISBN 0-8035-0091-0. It is described and taught in a number of publicly available textbooks, such as published object-oriented modeling and design. As described in the above references, object-oriented programming generally organizes a program as a cooperative collection of objects, each of which represents an instance of a class, and these classes are connected by inheritance relationships. It is defined as an implementation method that can be a member of a class hierarchy. An object-oriented programming language may be generally described as a language that supports objects, which are abstract concepts having a specified interface of operations and hidden local states. The object has an associated type or class, and the type or class may inherit attributes from a supertype or superclass. Each object in an object-oriented system owns, ie, is defined by, an interface and an implementation. Basically, the interface relates to the appearance of the object, including an abstraction of the operation of the object. Conversely, the implementation represents abstractions in addition to the mechanisms within the object that achieve the desired behavior. Essentially, the interface represents a specification of the function of the object. An implementation is a collection of detailed information within an object necessary to perform its operation, effectively hidden from other objects and the rest of the system. According to the key operational feature elements of an object-oriented system, the implementation of the object is insulated from other objects or subsystems in the rest of the system, according to a principle commonly known as encapsulation or information hiding. Be concealed. This encapsulation principle is fundamental to object-oriented systems and makes it easy to reliably modify a program with little effort. The principle of encapsulation also prevents the data in the object from being contaminated during interaction with the rest of the system, since the data is not directly accessible. Essentially, an object is known to the rest of the system by the functions or operations it performs. For example, a representative object in an object-oriented system may be required to be provided with a count of certain activities (ie, operation as a counter). Giving this count is essentially the definition of the object to the system external to the object. As a result, providing the count comprises an abstraction of the operation of the object. The functional operations typically allowed on such objects may include a number reading (measurement) function, a number reset function, a number increase function, or a number decrease function. Objects in the system may perform some or all of the above functions. However, the implementation of the object, ie how the counts are represented in memory, how to limit the range, and the exact means of manipulating the counts are internal, and the principle of encapsulation , You cannot access other objects. As a result, in this example, objects in the system do not have access to the implementation of the counting object, i.e., the mechanism for performing the counting, and errors or contamination by loading to a new or different number may result. There is no danger. Objects in object-oriented systems are also defined by their three properties. These properties are behavior, state and identity. Behavior is how an object acts or reacts. Actions also describe the actions that the object can take in response to data in its internal state. Thus, the state of an object includes all of the attributes of the object and all of the current values of each of these attributes. The identity of the object is unique to the object and in its attributes distinguishes the object from all other objects of the same class or type. In practice, it corresponds to its assigned location in memory. In view of the logical building block arrangement of an object-oriented system, objects exist in an object-oriented system according to an architecture defined by a combination of classes and subclasses. In essence, a class is defined as the type of an object. In the example described above, the object providing the count is an instance of a class that can be described as a counter. If the system has other objects that are counters, these objects belong to the same class as the objects described above, but have different identities, although they may have different current counts. , All mean to act the same. Subclasses exist within the class of an object and inherit the attributes or features of the class from which they are derived. Thus, in a typical object-oriented system, there are objects that are of a class and / or subclass and conform to the inheritance hierarchy of the class and subclass relationships in the system. Analogously, in object-oriented systems, the relationships between objects in the hierarchy and classes and subclasses are, in these classifications, generally in a hierarchy described by common words with types and sub-type layers. Corresponding. Object-oriented systems offer practical advantages in programming and in the construction of complex systems, with emphasis on programming methods for complex systems, mainly from programming methods that focus on the appropriate and effective use of particular language mechanisms. Shift to design methods that emphasize proper and effective configurations. The design process in object-oriented design includes the process of correlating functionally defined objects in the system. In essence, object-oriented analysis and design emphasize the construction of "real-world models" that use an object-oriented view of the system. Encapsulation of the internal activity of each object simplifies the interacting operations of the objects in the system. In essence, objects at a higher level of the abstraction are protected from lower level implementation details. Objects can be thought of as a mechanism to achieve the desired behavior that simply relates each object to an external property or interface of another object. This encapsulation not only simplifies the design, but also allows each object to protect its internal state and its internal mechanisms, as well as the data that accomplishes its individual operation or implementation. Despite the crucial advantages provided by object-oriented systems, the need to preserve and maintain encapsulation within objects imposes significant limitations on system operation. For example, the preservation of encapsulation crucial to object-oriented design hinders the ability of the system to manipulate the internal state of all objects in the system that perform a function as a whole. Among these functions is the preservation or retention of internal state during periods of system shutdown. In addition, similar problems are encountered when the system requires the storage of multiple copies of the internal state of a set of objects. There may be a system requirement that the internal state of a set of objects must be switched to a command by a system operator. From the above, it is clear that objects usually encapsulate these internal states, so they have no direct access to other objects and cannot be stored externally. Such exposure of the internal state of the object violates the main principle of encapsulation and compromises the system. Thus, there remains a need in the art for an object-oriented system that retains its encapsulation and its benefits, while at the same time providing fully collective access to the object's internal state and promoting greater flexibility in system operation. is there. Summary of the Invention Accordingly, a general object of the present invention is to provide an improved object oriented system. It is a more specific object of the present invention to provide an improved object-oriented system that retains object internal state encapsulation while providing collective access to the internal state data of system objects. It is a more specific object of the present invention to provide an improved object-oriented system that provides data persistence and point state management, while at the same time facilitating operations such as simplified control and internal state switching. It is. The present invention operates on the limitations of the object-oriented system described above without violating the encapsulation and provides a shared persistence class pattern that provides persistence and the ability to manage the system state set through one interface. Overcome by. The class pattern specifies an object interaction consisting of an inheritance hierarchy. System objects can form instances of subclasses in the hierarchy, which can be used instead of their internal state. The base class (or superclass) establishes a common structure and abstraction common operations for each subclass, implements and hides the persistence plan, and provides an interface to control the state selection of the whole system. Each subclass collects all the data needed by the system object "owner" into one data segment, and for each of the data members in said segment, a public observer or "get" operation and a private modifier or "set". "Operation and give. The system object owner is given access to the private modifier of the subclass and thus has the ability to modify its data. All other system objects are forced to use the subclass data members only by their public read-only observer. According to the present invention, a plurality of classes each having an internal object defining a plurality of internal states and means for switching between them, a base class and a state selection class related to giving a state selection command to this base class, A derived class that is related to the base class through an inheritance hierarchy and that can be controlled by the base class in the inheritance hierarchy, wherein the base class determines an internal state of the internal object based on the entire system based on the state selection class. An object-oriented system is provided that operates to switch according to a shared persistent object-oriented class pattern. BRIEF DESCRIPTION OF THE FIGURES Features of the invention which are believed to be novel are set forth with particularity in the appended claims. The invention, together with other objects and their advantages, can best be understood by referring to the following description taken in conjunction with the accompanying drawings. In some of these figures, like reference numbers indicate like elements. FIG. 1 shows a generalized embodiment of the invention in Rambo notation. FIG. 2 shows a state switching application embodiment of the present invention. FIG. 3 shows a diagram in Rambo notation of the application embodiment of FIG. Description of the preferred embodiment FIG. 1 shows a general embodiment of the object-oriented system of the present invention in Rambo notation. Rambo Notation is described in textbooks written by Rambo and is a generally recognized standard notation system for graphically illustrating object-oriented software systems. In the general pattern of Rambo notation, consistent with FIG. 1, these elements indicate the class that forms the object, including the class name, a number of class attributes, and a number of operations performed by objects within the class. Includes a rectangle divided into three parts. The connecting lines between the class rectangles in Rambo notation indicate the relationships that exist between the connected classes. These notations indicate, except for any additional symbols, the relationship between the connected classes of the type specified by the text accompanying the line. In addition, it gives a number of symbols indicating the nature of the relationships between the connected classes. These symbols include a base class vs. derived class symbol consisting of triangles such as symbol 24, a rhombus symbol such as symbol 40 indicating the union of relationships, and a symbol 54 adjacent to the class rectangle and indicating a set or combination of classes. Including small diamonds. In addition, a circle symbol, such as symbol 64, adjacent to the class indicates a relationship having a multiplicity of zero or one. Multiplicity specifies how many instances of a class may be involved in one instance of the class concerned. Symbols such as symbol 66 indicate the multiplicity of one or more classes with respect to other classes connected by the associated line. With particular reference to the system of FIG. 1, the system according to the invention comprises a base class 10 having a class name 11, system data and a number of attributes 12, and an operation 13. Attribute 12 indicates internal state data of base class 10, and operation 13 indicates various functions that base class 10 can perform on data in the class object. In addition, the operation part 13 of the base class 10 exhibits some abstract functions such as state management {abstract}. Similar abstract operations are shown in operation portion 13 as display, copy state, and state change behavior, all including abstract indicia. The meaning of such an abstract notation in the operation part 13 of the base class 10 is to provide a pattern or template to a class derived from the base class. In view of the effects on other classes derived from the base class 10, such abstract notation imposes the requirement that each class derived from the base class must have these operations therein. That is, they must implement these operations through the interface specified by the base class. As will be appreciated below, the operations abstracted in the base class 10 for state management, display, replication state and state change behavior are all found in the operation part 20 in the derived class 20. In addition, base class symbol 24 is shown coupled between base class 10 and derived class 20. The meaning of the base class symbol 24 is to indicate an inheritance relationship between the base class 10 and the derived class 20. The derived class 20 includes a class name 21 indicating “state”, a set of attributes 22, and a set of operations 23. As described above, operation 23 of derived class 20 is abstracted in operation portion 13 of base class 10, consistent with the base / derived class relationship between classes 10 and 20. In addition, an association line 25 and an association line 26 are shown between the base class 10 and the derived class 20. These relationships indicate an operational relationship between the base class 10 and the derived class 20. In the example selected in FIG. 1, the associated line 25 indicates the relationship by which the base class 10 can control the overall system data state selection. The associated line 26 shows the relationship in which the system data class of the base class 10 functions to provide memory segment availability to the derived class 20 with the additional cooperation of the class 36. FIG. 1 also shows a class 30 having a class name 31 of the mode selector, a set 32 of attributes not listed, and a set 33 of operations. Association line 34 extends between class 30 and base class 10. Similarly, the class 35 includes a class name 36, an unlisted attribute set 37, and an operation set 38. The associated line 39 extends between the class 35 and the base class 10. The owner class 50 includes a class name 51, an attribute set 52, and an operation part 53. Owner class 50 is shown in relation to derived class 20 through association line 55, through combination symbol 40 and through collection symbol 54. The combination symbol 40 indicates a simple combination of relationships, and the collection symbol 54 indicates that the class 20 is included in the class 50 and the internal state of the class 20 can be changed by an operation in the class 50 by an application modifier of the class 20. The relationship between objects of class 50 and objects of derived class 20 is shown. Essentially, the associated line 55 is a read / write relationship between classes 20 and 50. Class 60 is, in the context of the present invention, a class type referred to as “non-owner”, and in the association indicated by symbol 64 with class 60 in association line 65, class 60 may include class 20. Although good, operations in class 60 can only read the internal state of class 20 by class 20 application observers. In essence, relationship line 65 is a read-only relationship between classes 20 and 60. The class 60 includes a name 61, a set of attributes 62, and a set of operations 63 shown in blank. In the generalized example according to the present invention shown in FIG. 1, the system provides an object-orientation useful in providing persistent non-volatile memory sharing between classes in an object-oriented class pattern that provides collective state switchability. Provide system. FIGS. 2 and 3 described below provide a more specific example of such a state switching application of the present invention. As should be appreciated, the purpose of the system of FIG. 1 is to protect data encapsulation, provide persistence and the possibility to manage a set of states through one interface. Thus, class 30 provides an object that manages the operation of the select key in the host system and selects between two available modes, indicated as modes 1 and 2. Thus, class 30 is indicated as a mode selector and includes operations to enter mode 1 or enter mode 2. According to the present invention, the selection of modes 1 and 2 corresponds to the selection of a set of selective states in various system objects. Thus, the line 34 indicating the relationship between the class 30 and the base class 10 is confirmed according to the state selection. The base class 10 called system data includes attributes related to the active state and sub-objects. In the operation 13, the class 10 includes operations related to the active state, the copy state, and the belonging segment. The function of the base class 10 is to abstract the operation of the derived class 20 and to hide the method and procedure for accessing the system shared memory through the class 30. Base class 10 functions with respect to providing data segments. Embody each subclass. Each subclass instantiation of the same general knowledge is bound to the same shared memory area. The base class performs the function of constructing the data segment. If necessary, the shared memory area is initialized with previously stored data. When data changes, the contents of the shared memory area are automatically saved. Since the data segment is bound, the pointer to the subclass is also registered in the state selection control. The selection of a particular state set is triggered by calling one base class member function. This function is repeated through all registered sub-objects, triggering the actions required to change the state set. A class 20, called a state, includes attributes 22, shown as segments having object types and states. The object 20 also includes in operation 23 operations corresponding to abstractions for state management, display, and state change behavior, all with their derived class relationships to the base class 10. The operation 23 further includes an operation of observing the internal state data and a so-called modifier that can change the internal state data. Therefore, the derived class 20 inherits all the operations of the base class 10. In addition, derived class 20 has access to the memory segments provided by base class 10 and implements all the abstracted operations in base class 10. In practice, the derived class 20 uses an operation (attachment segment) to gain access to the non-volatile shared memory of the system. Class 50 is described as an owner class having the name class, indicating that it is generally related to an owner class having an internal setting in attribute 52, which is an internal state within the class. As described above, the set symbol 54 indicates that the derived class 20 is included in the class 50 and can change or change the internal state of the class 20. The operation 53 of the class 50 may include a virtual operation, but is left blank indicating that nothing is required in the generalized example of FIG. Class 60 is described as a "non-owner" class with the name user and the attributes indicated as settings. As with the class 50, the operation 63 of the class 60 remains blank indicating that a virtual operation may be placed in the class 60. Important for the relationships to be understood in FIG. 1 is the use of the symbol 64 to relate the class 60 to the class 20 and to indicate any use or suppression of the class 20 within the class 60. The non-owner class 60 cannot change or change the internal data state of class 20, and is limited to reading or observing them. Thus, what is shown in FIG. 1 is a generalized diagram that uses the Rambo notation of the shared persistence class pattern object-oriented system, where the base class establishes a common structure and abstracts the common behavior for each subclass. And implement and hide the sustainability plan. The base class also provides an interface to control the state selection of the whole system. Each subclass gathers all the data needed by the system object owner into one data segment and provides both a public observer and a private modifier for each of the data members in the segment. Object owners are given private access to subclass elements. Private access is characterized by the ability to change the data in the subclass, so that members of the subclass can be used through its modifiers. All other system objects that use subclasses are restricted from using subclass data members only through read-only observers. As a result, the present invention provides operations by replacing the internal state of all system objects with other states, which would otherwise violate encapsulation. This additional object in all system objects is part of the inherited hierarchy that can be controlled by the base class. This allows the base class to control the internal state of the objects in the system on a system-wide basis while maintaining object encapsulation. System power and flexibility are dramatically expanded, with one instruction for the base class being the entire system without having to individually instruct each required object in the system to initiate a state switch or other state manipulation. Change state. The system also reads and addresses concurrently by giving each instance or event of the formed class access to the same data object. The write concurrency problem is managed by built-in mutual exclusion in the implementation. FIG. 2 shows an application embodiment of the object-oriented system of the present invention using a shared persistence class pattern in a typical application of state switching in a broadcast control panel. For illustrative purposes only, three functions are shown by operation in a system that includes audio gain adjustment, a video transition mixer, and a panel composer. However, it will be apparent to those skilled in the art that the system of the present invention described above is equally applicable to even more complex systems, and that the three objects are shown merely for illustration. More particularly, the state switching system generally referenced by the numeral 70 includes an audio controller object 75 having a gain control 76 coupled to a knob switch input 71. The regulator 76 includes a scaled gain output 72 coupled to the input 111 of the output interface 110. In accordance with an important aspect of the present invention, audio modulator object 75 includes internal objects that form gain state object 77. The gain state object 77 can switch the gain state input applied to the adjuster 76 by operating the switching function 80. The video transition mixer object 90 includes a fade control 95 coupled to a fade rate input 96, a take input 97, and an output black mix 98 coupled to an input 112 of the interface 110. Further in accordance with the present invention, video transition mixer object 90 includes an internal object comprising a rate state object 91 including a pair of states 92 and 93 selectable by state selector 94. A state selector 94 is coupled to the input of the fade control 95. Therefore, the rate state of the object 95 can be selected by the selector 94 between the rates 92 and 93. Panel composer object 100 includes a control 105 having an input 106 coupled to scaled gain output 72 and an output 107 coupled to input 113 of interface 110. Further in accordance with the present invention, panel composer object 100 includes an internal object 101 that forms a db state object having db states 102 and 103. The internal object 101 includes a selector 104 for selecting one of the db states to be applied to the control 105. Further in accordance with an important aspect of the present invention, each of the internal objects within objects 75, 90 and 100 is controlled by state manager class 120. The state manager class 120 includes a switch state input unit 124 and a response switch selector 121. Object 120 further includes a read / write function 122 coupled to input 125 and shared non-volatile memory 123. The non-volatile memory 123 is shared, and a data segment for each of the objects is provided in the shared memory 123. The switch function 121 makes a collective selection of the internal states within each of the objects 77, 91 and 101 to be used for controlling them. Therefore, it should be understood that selector 121 controls the selection function of selectors 80, 94 and 104 within internal objects 77, 91 and 101. In accordance with the present invention, state manager class 120 selects between gain states 78 and 79 of audio controller object 75 and rate states 92 and 93 of mixer object 90 in response to a state selection input via input 124. The selection and the selection between the db states 102 and 103 of the composer object 100 are performed simultaneously. Thus, the use of internal objects 77, 91 and 101 provides for state selection without violating the encapsulation of data in the system. To control each internal object in the system by the hierarchical system by the state manager class 120, one select input to the state manager class 120 simultaneously selects the gain, rate, and db state to use for the system through the output interface 110. You. This use of internal objects for the internal states of the audio controller object, video transition mixer object, and panel composer object is an important aspect of the present invention in maintaining the encapsulation of internal states for objects in the system. Each change used for states in internal objects 77, 91 and 110 is propagated by the state manager class 120 to their assigned segments in shared memory, thus providing system persistence in shared memory. FIG. 3 shows a diagram in Rambo notation of the system of FIG. It will be apparent that the system of FIG. 3 includes a base class 10, a mode selection class 30, and a memory class 35, substantially similar to classes 10, 30, and 35 found in FIG. Therefore, it should be understood that the base class 10, the mode selection class 30, and the memory class 35 are actually interrelated, as described above with respect to FIG. Note that, in addition to and in addition to the generalized system of FIG. 1, base class 10 is related to the remaining classes in the system through base / derived class symbols 24, as described in FIG. Should. Thus, it should be understood that the same overall control of the example system shown in FIG. 3 as provided in the generalized system in FIG. 1 continues in the system of FIG. In essence, the derived classes and the classes related to the base class 10 are described more specifically in FIG. 3 than in the generalized diagram of FIG. Thus, the system of FIG. 3 includes a gain state class 140, a rate state class 160, and a db state class 170, all of which relate to base class 10 as a derived class of base class 10. Thus, one will recall that hierarchies and inheritance relationships have been found in such base class to derived class relationships used for derived classes 140, 160 and 170. Therefore, the gain state class 140 includes a state name 141, a gain segment attribute 142, and an operation part 143. Similarly, rate state class 160 includes state name 161, attribute 162, and operation 163. Finally, the db state class 170 includes a state name 171, an attribute part 172, and an operation part 173. An audio controller class 144 having a class name 145, an attribute portion 146, and an operation portion 147 is related to the gain state class 140 through a set symbol 148. Thus, it should be understood that the audio controller class 144 can change the data state in the gain state class 140. The hardware driver class 149 includes a class name 150, an attribute part 151, and an operation part 152. The hardware driver class 149 is related to the audio controller class 144. In particular, a scaled gain information relationship is provided between classes 149 and 144. The video transition mixer class 164 includes a class name 165, an attribute part 166, and an operation part 167. Video transition mixer class 164 is related to rate state class 160 through set symbol 168. Therefore, note that video transition mixer class 164 can change the internal state of the data in class 160. Class 164 further pertains to hardware driver class 150. In particular, black mix information is communicated between them. The panel composer class 175 includes a class name 176, an attribute part 177, and an operation part 178. The panel composer class 175 is related to the db state class 170 through the collective symbol 179. Therefore, it should be noted that the panel composer class 175 can change the internal state of the data in the db state class 170. Class 175 is further related to class 149 and, in particular, exchanges information on scaled gain and db display information. The panel input class 153 includes a panel name 154, an attribute part 155, and an operation part 156. Panel input class 153 is related to class 144 for the exchange of knob delta information. Class 153 further relates to class 164 for exchanging process take information and class 30 for exchanging process bypass information. The operation of the system shown in FIG. 3 involves the possibility of selecting the gain state, rate state and db state of the audio controller class 144, video transition mixer 164 and panel composer class 175 by operating one mode selection class 30. give. This possibility is provided by providing the gain state class 140 in the audio controller class 144, the rate state class 160 in the video transition mixer 164, and the db state class 170 in the panel composer class 175 in accordance with an important aspect of the present invention. Given by giving to. Each of the classes 140, 160 and 170 is associated with a respective one of the classes 144, 164 and 175 through the set, as indicated by the symbols 148, 168 and 179. This set represents a relationship between the classes that can change the internal state of classes 140, 160, and 170, comprising the internal state of classes 144, 164, and 175. With reference to FIG. 2, it will be recalled that the internal objects for the gain state, rate state and db state have been provided in the audio controller object, the video transition mixer object and the panel composer object. Thus, in accordance with an important aspect of the present invention, selection between the internal states of classes 140, 160 and 170 is facilitated depending on their relationship to base class 10. In this way, the encapsulation of the internal state for classes 144, 164 and 175 is preserved, while the internal state data is available to and controlled by base class 10. This hierarchy of class patterns facilitates the control of multiple state selections of the present invention through a single interface and maintains the encapsulation of data within system objects. Shown is a shared persistent object-oriented class pattern that maintains encapsulation of object internal state and provides state switching and persistence by a single interface controller. The system can be used for a variety of applications where one wants to switch between multiple sets of internal states in response to one panel command or the like.

Claims (1)

【特許請求の範囲】 1.複数の内部状態およびこれらを切り替える手段を規定する内部オブジェクト を各々が有する複数のクラスと、 ベースクラスおよびこのベースクラスに状態選択コマンドを与えるように関 係する状態選択クラスと、 前記ベースクラスに継承階層を通じて関係し、前記継承階層において前記ベ ースクラスによって制御できる派生クラスとを具え、 前記ベースクラスが、前記状態選択クラスに応じて、前記内部オブジェクト の内部状態を、全システムを基準として、共有持続性オブジェクト指向クラスパ ターンに従って切り替えるように操作する、オブジェクト指向データ処理システ ム。 2.請求の範囲1に記載のオブジェクト指向システムにおいて、前記状態選択ク ラスが、状態選択入力に応じ、前記内部オブジェクトの各々に関するデータセグ メントを格納する共有不揮発性メモリを含む状態マネージャオブジェクトを含む 、オブジェクト指向システム。 3.請求の範囲2に記載のオブジェクト指向システムにおいて、前記複数のクラ スが、 オーディオ調節子クラスと、 ビデオトランジションクラスと、 パネルコンポーザクラスとを含む、オブジェクト指向システム。 4.請求の範囲3に記載のオブジェクト指向システムにおいて、前記オーディオ 調節子クラス内部オブジェクトが複数のオーディオゲイン状態を含み、前記ビデ オトランジションクラス内部オブジェクトが複数のレート状態を含み、前記パネ ルコンポーザクラス内部オブジェクトが複数の表示スケール化ゲイン状態を含む 、オブジェクト指向システム。 5.請求の範囲1に記載のオブジェクト指向システムにおいて、前記複数のクラ スが、 オーディオ調節子クラスと、 ビデオトランジションクラスと、 パネルコンポーザクラスとを含む、オブジェクト指向システム。 6.請求の範囲5に記載のオブジェクト指向システムにおいて、前記オーディオ 調節子クラス内部オブジェクトが複数のオーディオゲイン状態を含み、前記ビデ オトランジションクラス内部オブジェクトが複数のレート状態を含み、前記パネ ルコンポーザクラス内部オブジェクトが複数の表示スケール化ゲイン状態を含む 、オブジェクト指向システム。 7.請求の範囲6に記載のオブジェクト指向システムにおいて、前記状態選択ク ラスが、状態選択入力に応じ、前記内部オブジェクトの各々に関するデータセグ メントを格納する共有不揮発性メモリを含む状態マネージャオブジェクトを含む 、オブジェクト指向システム。 8.カプセル化選択的内部状態を各々が有し、前記選択的内部状態を、これらの カプセル化を侵害することなく切り替える手段を各々が含む複数のシステムオブ ジェクトを有するオブジェクト指向システムにおいて、該オブジェクト指向シス テムが、 前記選択的内部状態を各々が規定する前記複数のシステムオブジェクト内の 複数の内部オブジェクトと、 前記内部オブジェクトの各々に継承階層によって関係し、前記継承階層にお いて前記システムオブジェクト内の内部オブジェクトの選択を制御するベースク ラスオブジェクトとを具える、オブジェクト指向システム。 9.請求の範囲8に記載のオブジェクト指向システムにおいて、ユーザ入力を受 け、前記ベースクラスオブジェクトを、1つのユーザ入力に応じて前記内部オブ ジェクトの全システム状態変化を与えるように制御する、システムマネージャオ ブジェクトを含む、オブジェクト指向システム。 10.請求の範囲9に記載のオブジェクト指向システムにおいて、前記複数のシ ステムオブジェクトが、 オーディオ調節子オブジェクトと、 ビデオトランジションオブジェクトと、 パネルコンポーザオブジェクトとを含む、オブジェクト指向システム。 11.請求の範囲10に記載のオブジェクト指向システムにおいて、前記オーデ ィオ調節子オブジェクトが複数のオーディオゲイン状態を含み、前記ビデオトラ ンジションオブジェクトが複数のレート状態を含み、前記パネルコンポーザオブ ジェクトが複数の表示スケール化ゲイン状態を含む、オブジェクト指向システム 。 12.データカプセル化を維持すると同時に、持続性と、状態組を共通インタフ ェースを通じて管理する能力とを提供するオブジェクト指向システムにおいて、 該オブジェクト指向システムが、 システムオブジェクトの選択的内部状態の組をカプセル化し、継承階層の一 部である内部オブジェクトを、各々またはいずれかが含むシステムオブジェクト を有するベースクラスのサブクラスを形成する派生クラスと、 共通構造を確立し、前記派生クラスの各々に関する共通行動を抽象化し、前 記継承階層を制御するベースクラスと、 前記内部オブジェクトを使用して、前記選択的内部状態を選択するモード選 択クラスとを具える、オブジェクト指向システム。[Claims] 1. Internal object that defines multiple internal states and the means to switch between them A plurality of classes each having     The base class and give the base class a state selection command. The state selection class involved,     Related to the base class through an inheritance hierarchy, and With a derived class that can be controlled by the source class,     The base class is, depending on the state selection class, the internal object The internal state of a shared persistent object-oriented class An object-oriented data processing system that operates to switch according to turns M 2. 2. The object-oriented system according to claim 1, wherein the state selection Lass responds to the state selection input by a data segment for each of the internal objects. Includes a state manager object that contains shared non-volatile memory for storing comments , Object oriented system. 3. 3. The object-oriented system according to claim 2, wherein the plurality of   Is     Audio regulator class,     Video transition classes,     An object-oriented system including a panel composer class. 4. 4. The object-oriented system according to claim 3, wherein the audio A regulator class internal object includes a plurality of audio gain states, The transition class internal object contains multiple rate states and the panel Object inside the composer class contains multiple display scaled gain states , Object oriented system. 5. 2. The object-oriented system according to claim 1, wherein the plurality of Is     Audio regulator class,     Video transition classes,     An object-oriented system including a panel composer class. 6. 6. The object-oriented system according to claim 5, wherein the audio A regulator class internal object includes a plurality of audio gain states, The transition class internal object contains multiple rate states and the panel Object inside the composer class contains multiple display scaled gain states , Object oriented system. 7. 7. The object-oriented system according to claim 6, wherein the state selection Lass responds to the state selection input by a data segment for each of the internal objects. Includes a state manager object that contains shared non-volatile memory for storing comments , Object oriented system. 8. Each having an encapsulated selective internal state, said selective internal state A plurality of system objects, each containing means for switching without violating the encapsulation In an object-oriented system having objects, System     In the plurality of system objects each defining the selective internal state Multiple internal objects,     Each of the internal objects is related by an inheritance hierarchy, and And controls the selection of internal objects within said system object. An object-oriented system with a lath object. 9. 9. The object-oriented system according to claim 8, wherein a user input is received. The base class object in response to one user input. System manager, which controls to give the entire system state change of the project An object-oriented system, including objects. 10. 10. The object-oriented system according to claim 9, wherein the plurality of systems The stem object is     An audio controller object,     A video transition object,     An object oriented system including a panel composer object. 11. 11. The object-oriented system according to claim 10, wherein the audio A video controller object comprising a plurality of audio gain states, The condition object includes a plurality of rate states and the panel composer object Object-oriented system in which the object includes multiple display scaled gain states . 12. Maintain data encapsulation while maintaining persistence and state sets in a common interface. In an object-oriented system that provides the ability to manage The object-oriented system     Encapsulates a set of selective internal states of a system object and A system object that contains each or any of the internal objects that are parts A derived class forming a subclass of the base class having     Establish common structure, abstract common behavior for each of the derived classes, A base class that controls the inheritance hierarchy,     A mode selection for selecting the selective internal state using the internal object; An object-oriented system with alternative classes.
JP09518699A 1996-11-04 1996-11-04 Object Oriented System with Shared Persistence Class Pattern Specification Abandoned JP2000502198A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/IB1996/001179 WO1997018512A1 (en) 1995-11-15 1996-11-04 Object-oriented system having shared-persistent class pattern specification

Publications (1)

Publication Number Publication Date
JP2000502198A true JP2000502198A (en) 2000-02-22

Family

ID=11004489

Family Applications (1)

Application Number Title Priority Date Filing Date
JP09518699A Abandoned JP2000502198A (en) 1996-11-04 1996-11-04 Object Oriented System with Shared Persistence Class Pattern Specification

Country Status (1)

Country Link
JP (1) JP2000502198A (en)

Similar Documents

Publication Publication Date Title
EP0804760B1 (en) Object-oriented system having shared-persistent class pattern specification
US8051435B2 (en) Software and methods for previewing parameter changes for a graphics display driver
Hardy KeyKOS architecture
US5742848A (en) System for passing messages between source object and target object utilizing generic code in source object to invoke any member function of target object by executing the same instructions
US5694561A (en) Method and system for grouping and manipulating windows
US5613099A (en) Persistent object storage system with modifiable group skeletal formats
US5682532A (en) System and method having programmable containers with functionality for managing objects
US6944829B2 (en) Configurable user-interface component management system
US7237199B1 (en) Architecture for an application framework
US6928453B2 (en) System for iteratively designing an object heterarchy in an object-oriented computing environment
US6677962B1 (en) Methods and systems for manipulating user interface controls
US6085034A (en) Constructor based object initialization with overrides
US6360280B1 (en) Method and system for accessing shell folder capabilities by an application program
US7024633B1 (en) Methods and apparatus for creating and transforming graphical constructs
JPH04313118A (en) Attribute data managing method
US7062773B1 (en) System and method for providing graphical user interface control enhancers
JP2000502198A (en) Object Oriented System with Shared Persistence Class Pattern Specification
US6122558A (en) Aggregation of system settings into objects
US7712109B2 (en) Dialog item interface definition object
GB2351370A (en) Data processing with policed object union
JP4339376B2 (en) Object-oriented cursor tool
CA2097542C (en) Linkage for accessing data objects in the stack
JP2005353092A (en) Process control system
JPH07200233A (en) Graphic parts management device
CA2115463C (en) Mechanism and method for allocating active objects on a processor stack

Legal Events

Date Code Title Description
A762 Written abandonment of application

Free format text: JAPANESE INTERMEDIATE CODE: A762

Effective date: 20060921