JPH10340195A - オブジェクトにおける動作同時並行の管理方法 - Google Patents

オブジェクトにおける動作同時並行の管理方法

Info

Publication number
JPH10340195A
JPH10340195A JP3901098A JP3901098A JPH10340195A JP H10340195 A JPH10340195 A JP H10340195A JP 3901098 A JP3901098 A JP 3901098A JP 3901098 A JP3901098 A JP 3901098A JP H10340195 A JPH10340195 A JP H10340195A
Authority
JP
Japan
Prior art keywords
objects
parameter
architecture
activities
executed
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP3901098A
Other languages
English (en)
Inventor
Christine Delcourt
クリステイーヌ・デルクール
Claire Diehl-Watrin
クレール・デイール−ワトラン
Jean-Robert Huon
ジヤン−ロベール・ユオン
Philippe Richard
フイリツプ・リシヤール
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.)
Alcatel Lucent SAS
Original Assignee
Alcatel Alsthom Compagnie Generale dElectricite
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 Alcatel Alsthom Compagnie Generale dElectricite filed Critical Alcatel Alsthom Compagnie Generale dElectricite
Publication of JPH10340195A publication Critical patent/JPH10340195A/ja
Pending legal-status Critical Current

Links

Classifications

    • 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/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • 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/46Multiprogramming arrangements
    • G06F9/465Distributed object oriented systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

(57)【要約】 【課題】 通信ネットワークのソフトウェアアーキテク
チャに適用される。 【解決手段】 オブジェクトアーキテクチャ(2)の管
理サポートを有するデータの処理システムにおいてオブ
ジェクト(O1、O2…)における並行性を管理するため
の方法であって、前記のオブジェクトの記述言語(OD
L)が、各オブジェクトについて、並行に実行できるか
どうか、割当てられるアクティビティの最小数および割
当てられるアクティビティの最大数を明示できるパラメ
ータの明示を可能にすることを特徴とする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、下層システムから
独立して、(オブジェクト指向プログラミングの意味で
の)オブジェクトにおける並行性を管理することができ
る方法に関するものである。
【0002】
【従来の技術】電気通信システム、より一般的にはデー
タ処理システムは、普及していくにつれて、オブジェク
トの集合体の形で構造化され、各オブジェクトは他のオ
ブジェクトに対して一定数のサービスを提供する。
【0003】オブジェクト指向プログラミングの意味に
おいて、一つのオブジェクトは、データとそれを扱うメ
ソッドの一つの複合体を意味する。これらのメソッドの
一部だけが外部から(すなわち、典型的には他のオブジ
ェクトから)アクセス可能であり、パブリックメソッド
とよばれるこれらのメソッド全体がオブジェクトのイン
ターフェースを形成する。
【0004】主にオブジェクトから成り立っているソフ
トウェアアプリケーションを開発するためには、たとえ
ば、寸法決め、挙動、オブジェクト間の相互作用などに
関するこれらオブジェクトの一定数の特性を指定するこ
とが有用である。これらの特性は、オブジェクト記述言
語(ODL)で指定することができ、その後に、アプリ
ケーションの実施においてこれらの特性が満たされなけ
ればならない。
【0005】そのために、コンピュータのオペレーティ
ングシステムとオブジェクトアプリケーションとの間
に、オブジェクトアーキテクチャの管理サポートが挿入
される。このサポートは、特定のプラットフォームによ
ってあるいはまたORB(英語でObject Request Broke
r−オブジェクト要求ブローカ)によって供給すること
ができる。たとえば、CORBA(Common Object Requ
est Broker Architecture−共通オブジェクト要求ブロ
ーカアーキテクチャ)は、ORBのアーキテクチャの仕
様である。またこれは、分配されたオブジェクト間の通
信の透過性および局在化の一定の面を管理することがで
きる。
【0006】以下、オブジェクトアーキテクチャの管理
サポートという言葉は、最も一般的な意味で理解され、
ORBと特定のプラットフォームを同時にカバーするも
のとする。
【0007】これらのさまざまな概念についてより多く
の情報を得るためには、《Information Technology−Op
en Distributed Processing Reference Model:Archite
cture》、ITU−TRecommandation X903、1995あるい
はまた《The Common ObjectRequest Broker:Architect
ure and Specification v.2.0−Object ManagementGrou
p》といった資料を参照することができる。
【0008】サービスの提供者として、同一のオブジェ
クトが複数の同時要求(あるいはサービス要求)の対象
となることもできる。いいかえれば、クライアントとよ
ばれる複数のオブジェクトは、同時にサーバとよばれる
同一オブジェクトの様々なメソッドを呼出すことができ
る。
【0009】従来の方法では、この種の問題は、マルチ
スレッディング(multi-threading)タイプの技術を駆
使することで解決される。当該のオブジェクト(サー
バ)は、要求の数と同数の実行ストリームと並行に実行
される。
【0010】スレッド(thread)は、実行の基礎的リソ
ースと定義することができる。以下の説明において、ス
レッドおよび実行リソースという用語は無差別に使用さ
れる。
【0011】その一方で、システムにおける実行ストリ
ームに対応する論理概念であるアクティビティの概念と
この実行リソースの概念を区別する必要がある。オブジ
ェクトのアクティビティの数は、定められた瞬間にシス
テムにおいて一つのオブジェクトが実行される回数を表
わす。同一の実行リソースは、複数のアクティビティに
とってサポートの役割を果たし、その逆に、同一のアク
ティビティは、それぞれの実行リソースによってそれぞ
れの瞬間にサポートされることが可能である。
【0012】しかしながら、特定のタイプのオブジェク
トでは、同一のデータへの並行アクセスを防ぐために、
並行に実行されるのが不適切なこともある。また、オブ
ジェクトアプリケーションのプログラマは、各オブジェ
クトについて、並行に実行できるかどうか、あるいは逐
次的実行のみが適しているかどうかを指定できなければ
ならない。
【0013】一見妥当な解決策が添付の図1に示されて
いる。この図では、オペレーティングシステム1とオブ
ジェクトアーキテクチャの管理サポート2で形成される
環境でオブジェクトO1、O2、O3の集合が認められ
る。
【0014】特定のオブジェクトアーキテクチャ管理サ
ポートによって、各クラスについて、オブジェクトが使
用できる実行リソースの最大数を決定することができ
る。これらのパラメータは、たとえば、このサポートに
含まれる表T中に置くことができる。
【0015】このように、逐次実行するものとしてオブ
ジェクトをパラメータ化するためには、アプリオリに、
当該のオブジェクトのための実行リソースの最大数を1
とするだけで十分である。
【0016】しかしながら、この解決策は以下のいくつ
かの理由から不十分である。
【0017】・このようなアプローチは、オブジェクト
アーキテクチャの管理サポートに依存する。
【0018】・このようなアプローチは、アクティビテ
ィと実行リソースの概念を混同している。
【0019】この点について説明すると、従来の技術に
よる解決策はアクティビティと実行リソースの概念を混
同しており、このような混同は問題を引き起こしてしま
う。図1を参照してその一例をみてみよう。
【0020】この図1に示す例においては、オブジェク
トO1は、要求R12をオブジェクトO2にアドレスする。
要求R12のために必要とされる処理が終了する前に、オ
ブジェクトO3がオブジェクトO2に要求R32をアドレス
する。
【0021】要求R32は質問型の要求である、すなわち
呼出しているオブジェクトO3は、その実行の進行を続
行する前に要求が戻って来るのを待っていると想定され
る。
【0022】さらに、二つのオブジェクトO2とO3は、
オブジェクトの管理サポートが、O2の呼出されたメソ
ッドの進行について、O3の進行についてと同じ実行リ
ソースを割当てることができるように、リソースの同一
の割当て単位上に局在化されると想定される。
【0023】というのも、この種の状況においては、O
3の実行の進行は、O2のメソッドの呼出しによって中断
されるからである。また、従来のやり方では、オブジェ
クト管理サポートは、O2のメソッドの実行のためにO3
がもはや使用しない実行リソースを割当てる。O2メソ
ッドの実行の進行が終了すると、実行リソースは、オブ
ジェクトO3に再び割当てられ、その結果、O3はその進
行を再開できる。
【0024】このように、新しい実行リソースの作成が
行われる必要なくO2の新しいアクティビティの作成が
存在する。したがって、このメカニズムのために、割当
てられた実行リソース数を1と定めることのみで、並行
にオブジェクトが実行されるのを妨げるのは不可能であ
る。
【0025】
【発明が解決しようとする課題】本発明の第一の目的
は、オブジェクトアーキテクチャの管理サポートから独
立して、定められたオブジェクトが並行に実行されなけ
ればならないかまたは逐次的に実行されなければならな
いかを実際に明示できる方法を提案することにある。
【0026】本発明の第二の目的は、さらに、アクティ
ビティの最小数を必要とするオブジェクトを管理するこ
とにある。
【0027】本発明の第三の目的は、非並列メカニズム
を使用しながらもアクティビティの最小数を同時に必要
とするオブジェクトを管理することにある。
【0028】
【課題を解決するための手段】そのために、オブジェク
トの記述言語(ODL)が、各オブジェクトについて、
並行に実行できるかどうかを明示できるように、その言
語中に一つのパラメータが挿入される。記述(つまりパ
ラメータ)は、オブジェクトと、オブジェクトアーキテ
クチャの管理サポート(2)との間に挿しはさまれる中
間層(3)に必要なコードを生成するコンパイラによっ
て計算に入れられる。
【0029】問題をよりわかりやすくするために、ここ
で、カウンタを増分することによる恒常的処理と、この
カウンタの値を送り返す方法を有するオブジェクトの一
例を見てみよう。
【0030】このようなオブジェクトについて、二つの
アクティビティの最小数が必要となることが明らかであ
る。一般的に、開発者は、アプリケーションのオブジェ
クトへの実行リソースの割当てについてあまり気にする
必要がないにもかかわらず、こうしたケースにおいて
は、オブジェクトの記述のレベル、すなわちオブジェク
ト記述言語(ODL)レベルで、それを明示しながら、
二つのアクティビティを行なうことが常に可能であるこ
とを確かめようとすることができる。
【0031】そのために、各オブジェクトについて、最
小数のアクティビティの明示を可能にする一つの手段が
オブジェクト記述言語中に挿入される。
【0032】上述のカウンタの例を参照しながら、カウ
ンタの値を送り返すメソッドへの要求は並行に処理され
てはならないケースを想像することができる。
【0033】この問題を解決するために、各オブジェク
トについて、アクティビティの最大数を明示できる一つ
の手段がオブジェクト記述言語中に挿入される。
【0034】その結果、オブジェクトが開発者が望むよ
うに挙動するためには、アクティビティの最大数とアク
ティビティの最小数を2にするだけでよい。
【0035】添付の図面と関連した以下の説明によっ
て、本発明の特性と利点がより明らかになるだろう。
【0036】
【発明の実施の形態】本発明の方法によれば、パラメー
タ(P1、P2、P3)は、オブジェクト(それぞれO1
2、O3)が並行に実行できるかどうかを決定するオブ
ジェクト記述のレベルで明示される。記述言語レベルに
おいては、このパラメータは、さまざまなやり方で実施
することができる。
【0037】本発明の第一の目的を満たすために、二状
態型識別子(フラグ)を用いてこのパラメータを使用す
ることができる。
【0038】本発明の第二及び第三の目的を満たすため
に、さらに、このパラメータは、それぞれ一つまたは二
つの数値を有することができる。
【0039】いずれにしても、本発明は、このパラメー
タの特定の実施形態に限定されるものではない。
【0040】さらに、オブジェクトアーキテクチャの管
理サポート2とアプリケーションとの間に追加層3を挿
しはさむことによって、このサポート2から独立してこ
のパラメータを管理することが可能になる。
【0041】この追加層3によって提供される管理メカ
ニズムのさまざまな実施が可能であり、したがって、本
発明は特定の実施形態に限定されるものではない。
【0042】本発明による方法の望ましい実施形態によ
れば、各オブジェクトに、待ち行列と相互排除メカニズ
ム(英語のMutual Exclusionを略してMUTEX)が割
当てられる。このメカニズムは当該の分野で良く知られ
ているものである。これは、メソッドの各呼出しの前
に、追加層3によって提供される特定機能の呼出しを挿
入し、いったんメソッドの処理が終了するとまた別の特
定機能を呼出すというものである。
【0043】よりはっきりと、あるメソッドを呼出す
と、第一の機能が、オブジェクト記述中で指定されたパ
ラメータを計算に入れながら、オブジェクトがさらに一
回実行できるかどうかを検証する。実行できない場合に
は、要求は実行されないが、オブジェクトに結びついた
待ち行列中に置かれる。
【0044】メソッドの処理が終了すると、第二の機能
が、オブジェクトに結びついた行列中に待機している要
求が存在するかどうかを検証する。存在する場合にはそ
の要求に関連しアクティビティを開始することができ
る。
【0045】これら二つの機能の付加は、プログラマ
が、オブジェクトの記述において並行特性(二状態型識
別子、アクティビティ最小数の値、アクティビティ最大
数の値)を明示する以外は何もしなくてよいように、特
定のコンパイラによって自動的に行なうことができる。
【0046】オブジェクトに割当てられるアクティビテ
ィの最小数の実施形態については、非常に密接に、オブ
ジェアーキテクチャの管理サポートタイプに関連し、ま
たそのタイプによって異なる。しかしながら、実行リソ
ース数の保証が、アクティビティ数のいっそうの保証を
可能にすることから、単純な実施形態は、このアクティ
ビティの最小数によって明示されるだけの実行リソース
の割当てとすることもできる。
【図面の簡単な説明】
【図1】一つのケースを実施するための従来のオブジェ
クトアーキテクチャを示す図である。
【図2】本発明による方法の望ましい実施形態を示す図
である。
【符号の説明】
2 オブジェクトアーキテクチャ O1、O2、O3 オブジェクト ODL オブジェクト記述言語 P1、P2、P3 パラメータ
フロントページの続き (72)発明者 クレール・デイール−ワトラン フランス国、75013・パリ、アブニユ・ド ウ・シユワジー・172 (72)発明者 ジヤン−ロベール・ユオン フランス国、91240・サン・ミツシエル・ シユル/オルジユ、レジダンス・ドウ・ロ ルモイ、バテイマン・エロー・2(番地な し) (72)発明者 フイリツプ・リシヤール フランス国、75150・ル・シエネ、リユ・ ドウ・ラ・セル・11

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 オブジェクトアーキテクチャの管理サポ
    ート(2)を有するデータ処理システムにおいてオブジ
    ェクト(O1、O2、O3)における並行性を管理するた
    めの方法であって、各オブジェクトがオブジェクト記述
    言語(ODL)で記述され、さらに、前記のオブジェク
    ト記述言語(ODL)が、各オブジェクトについて、並
    行に実行できるかどうかを明示することを可能にし、追
    加層(3)が、前記のオブジェクトアーキテクチャの管
    理サポート(2)と前記オブジェクト(O1、O2
    3)の間に挿しはさまれ、またコンパイラが、前記オ
    ブジェクト記述言語(ODL)に基づいて前記追加層
    (3)に必要なコードを生成することを特徴とする方
    法。
  2. 【請求項2】 前記言語が、各オブジェクトについてア
    クティビティの最小数を明示できることを特徴とする請
    求項1に記載の方法。
  3. 【請求項3】 前記言語が、各オブジェクトについてア
    クティビティの最大数を明示できることを特徴とする請
    求項1または2に記載の方法。
  4. 【請求項4】 必要な前記コードが、前記オブジェクト
    の各々に結びついた相互排除メカニズム(MUTEX)
    と待ち行列との管理を含むことを特徴とする請求項1か
    ら3のいずれか一項に記載の方法。
JP3901098A 1997-02-21 1998-02-20 オブジェクトにおける動作同時並行の管理方法 Pending JPH10340195A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR9702119 1997-02-21
FR9702119A FR2760108B1 (fr) 1997-02-21 1997-02-21 Methode pour gerer la concurrence dans des objets

Publications (1)

Publication Number Publication Date
JPH10340195A true JPH10340195A (ja) 1998-12-22

Family

ID=9504055

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3901098A Pending JPH10340195A (ja) 1997-02-21 1998-02-20 オブジェクトにおける動作同時並行の管理方法

Country Status (3)

Country Link
EP (1) EP0863463A1 (ja)
JP (1) JPH10340195A (ja)
FR (1) FR2760108B1 (ja)

Also Published As

Publication number Publication date
FR2760108B1 (fr) 1999-04-16
EP0863463A1 (fr) 1998-09-09
FR2760108A1 (fr) 1998-08-28

Similar Documents

Publication Publication Date Title
JP4993851B2 (ja) 動的なレジストリの区分
KR100361635B1 (ko) 논리적 분할부 관리기 및 방법
US6023721A (en) Method and system for allowing a single-user application executing in a multi-user environment to create objects having both user-global and system global visibility
US6209018B1 (en) Service framework for a distributed object network system
JP4690437B2 (ja) ネットワークアプリケーションにおける通信方法、通信装置及びそのためのプログラム
US5771383A (en) Shared memory support method and apparatus for a microkernel data processing system
JPH08241207A (ja) セキュリティ・レベルを設定する方法およびシステム
US10025924B1 (en) Taskless containers for enhanced isolation of users and multi-tenant applications
US20040122953A1 (en) Communication multiplexor for use with a database system implemented on a data processing system
KR19990064189A (ko) 다중 사용자 운영 체제에서 사용자 글로벌 오브젝트 명칭공간을 제공하기 위한 방법
US20050086237A1 (en) Shared queues in shared object space
JP2005534116A (ja) 複数の消費者をもつコンピュータシステムで資源を動的に割当てて管理する方法
JPH05216692A (ja) プログラム実行を管理する方法およびシステム
EP1461695A2 (en) Modified class loaders and their utilisation method
KR20070028446A (ko) 장치 동작 모드에 기초한 애플리케이션 우선권을 위한시스템
US6108744A (en) Software interrupt mechanism
EP0695993A2 (en) System and method for interprocess communication
EP0704796B1 (en) Capability engine method and apparatus for a microkernel data processing system
JP3725437B2 (ja) トランザクションのための安全なサブスペースを生成する方法及びシステム
EP1480124B1 (en) Method and system for associating resource pools with operating system partitions
Bhardwaj et al. ESCHER: expressive scheduling with ephemeral resources
EP0689139A2 (en) Anonymous reply port method and apparatus for a microkernel data processing system
JPH10340195A (ja) オブジェクトにおける動作同時並行の管理方法
Au et al. L4 user manual
EP0689137A2 (en) Message control structure registration method and apparatus for a microkernel data processing system