JP2004342107A - オブジェクト指向パイプラインを用いるシステム及び方法 - Google Patents

オブジェクト指向パイプラインを用いるシステム及び方法 Download PDF

Info

Publication number
JP2004342107A
JP2004342107A JP2004142831A JP2004142831A JP2004342107A JP 2004342107 A JP2004342107 A JP 2004342107A JP 2004142831 A JP2004142831 A JP 2004142831A JP 2004142831 A JP2004142831 A JP 2004142831A JP 2004342107 A JP2004342107 A JP 2004342107A
Authority
JP
Japan
Prior art keywords
command
pipeline
computer
pipelined
readable medium
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
JP2004142831A
Other languages
English (en)
Other versions
JP2004342107A5 (ja
Inventor
Jeffrey P Snover
ピー.スノーバー ジェフリー
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.)
Microsoft Corp
Original Assignee
Microsoft 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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2004342107A publication Critical patent/JP2004342107A/ja
Publication of JP2004342107A5 publication Critical patent/JP2004342107A5/ja
Pending legal-status Critical Current

Links

Images

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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45508Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
    • G06F9/45512Command shells
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • 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/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • Y10S707/99945Object-oriented database structure processing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99948Application of database or data structure, e.g. distributed, multimedia, or image

Abstract

【課題】 オブジェクト指向パイプラインをサポートするコンピューティング環境及びその方法を提供する。
【解決手段】 コンピューティング環境は、ランタイムシェル、パーサ及び基本コマンドを含む。ランタイムシェルは、オブジェクト指向パイプラインを受信する。ランタイムシェルは、オブジェクト指向パイプラインをパーサに送出し、パーサは、オブジェクト指向パイプラインをパイプラインサブコンポーネントに解析する。各々のパイプラインサブコンポーネントは、オペレーティングシステムによって提供される基本コマンドまたはサードパーティデベロッパによって提供されるサードパーティコマンドなどのコマンドに関連付けられている。パーサは、第1パイプラインサブコンポーネントに関連付けられたメソッドを起動する。メソッドは、規定された入力から関連するオブジェクトを獲得する。
【選択図】 図2

Description

本発明は、オブジェクト指向パイプラインを用いるシステム及び方法に関する。
多くのオペレーティングシステムは、複数のアプリケーション(例えば、ユーティリティ)を互いに「ステッチング(stitching)」(すなわち、パイプライン化する)機構を提供し、オペレーティングシステムのコマンドラインに入力することができるカスタムのアドホックコマンドを生成する。典型的には、コマンドを、システム属性の管理などのためのシステム管理ツールで使用する。コマンドの「パイプライン化された」ユーティリティの各々は、テキストを転送することによって互いに通信する。従って、パイプライン内の各ユーティリティは、受信したテキストの構成要素を解析し、出力されるテキストをフォーマットする役割を担う。容易に想像できるように、非常に高級なコマンドが望まれる場合には、システム管理者は、高級な出力を生成するようにユーティリティをパイプライン化するために、種々のユーティリティを理解しなければならない。各ユーティリティの内部動作の詳細を理解すること及び複数のユーティリティを適切にパイプライン化することは、時間がかかり、システム管理者にとってやりがいがある。実際、ユーティリティの各々の詳細な知識を獲得する者は極めて少数である。すなわち、システム管理は非常に専門化されている。
従って、システム管理者が、パイプライン化される各ユーティリティの詳細な動作を知ることを要求されることなく、カスタムのアドホックコマンドラインベースの管理ツールを生成することを可能にする機構が必要である。
本発明は、オブジェクト指向パイプラインをサポートするコンピューティング環境及びその方法を指向する。本発明にかかるコンピューティング環境は、ランタイムシェル、パーサ、及び基本コマンドを含む。ランタイムシェルは、オブジェクト指向パイプラインを(例えば、コマンドラインを介して)受信する。ラインタイムシェルは、受信したオブジェクト指向パイプラインをパーサ宛に送出し、パーサは、オブジェクト指向パイプラインをパイプラインサブコマンドに構文解析する。パイプラインサブコマンドは、オペレーティングシステムによって提供されている基本コマンド、サードパーティデベロッパによって書かれたサードパーティコマンドなどに関連付けられる。パーサは、パイプラインの第1サブコンポーネントに関連付けられたメソッドを起動する。メソッドは、特定の入力(例えば、XML)から関連するオブジェクトを獲得する。オブジェクトは、次の処理のために、次段のパイプラインサブコンポーネントに送出される。パイプラインサブコンポーネントの各々を、同一のプロセスで実行さすることができる。
簡潔に述べれば、本発明は、オブジェクト指向パイプラインをサポートする環境及びオブジェクト指向パイプラインを生成して処理する機構を指向する。以下の説明より明らかなように、本発明は、サードパーティデベロッパが書く必要があるコードの量を最小化し、システム属性を管理するためにシステム管理者が知る必要のある知識の量を最小化する。従って、本発明は、システム管理タスクを大幅に簡略化する。
図1は、本発明の一実施形態において用いることができるコンピューティングデバイスの一例を示す。非常に基本的な構成において、コンピューティングデバイス100は、典型的には、少なくとも1つの処理ユニット102及びシステムメモリ104を含む。コンピューティングデバイスの詳細な構成に依存して、システムメモリ104は、揮発性メモリ(例えば、RAM)、不揮発性メモリ(ROM、フラッシュメモリなど)またはそれら2種類の組み合わせとすることができる。システムメモリ104は、典型的には、オペレーティングシステム105、1または複数のプログラムモジュール106を含み、プログラムデータ107を含むことができる。オペレーティングシステム105は、オペレーティングシステムコマンドを実行するコマンドプロセッサ130を含む。コマンドプロセッ130は、オペレーティングシステムコマンドを受け入れるシェル131(すなわち、コマンドプロセッサインタフェース)を含む。シェルは、コマンドプロンプト、グラフィカルユーザインタフェース、または、ユーザ入力を入力して解釈する他のあらゆる手段を表示することができる。シェル131は、入力されたコマンドが有効であることを確認し、実行のために確認されたコマンドをコマンドプロセッサ130の別の部分に送出する。この基本的な構成は、図1において、破線108内の構成要素によって示されている。
コンピューティングデバイス100は、他の特徴すなわち機能を有することができる。例えば、コンピューティングデバイス100は、例えば、磁気ディスク、光学ディスク、またはテープなどの(リムーバブル及び/または非リムーバブル)付加データス記憶デバイスを含むことができる。このような付加ストレージは、図1において、リムーバブルストレージ109及び非リムーバブルストレージ110によって示されている。コンピュータ記憶媒体には、コンピュータ読み取り可能な命令、データ構造、プログラムモジュール、または他のデータなどの情報を蓄積するためのあらゆる方法または技術によって実現された、揮発性及び不揮発性の、リムーバブル及び非リムーバブルの媒体を含むことができる。システムメモリ104、リムーバブルストレージ109及び非リムーバブルストレージ110は、全てコンピュータ記憶媒体の例である。コンピュータ記憶媒体は、これらに限定されないが、RAM、ROM、EEPROM、フラッシュメモリあるいは他のメモリテクノロジ、CD−ROM、DVDあるいは他の光学ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージあるいは他の磁気ストレージデバイス、または、所望の情報を格納するために利用され、コンピューティングデバイス100によってアクセス可能な他のあらゆる媒体が含む。このような全てのコンピュータ記憶媒体は、コンピューティングデバイス100の一部とすることができる。コンピューティングデバイス100は、さらに、キーボード、マウス、ペン、音声入力デバイス、タッチ入力デバイスなどの入力デバイス112を有することができる。ディスプレイ、スピーカ、プリンタなどの出力デバイス114を含むこともできる。これらのデバイスは、当業者には既知であり、本明細書においては詳細には記述しない。
コンピューティングデバイス100は、例えばネットワークを介して、他のコンピューティングデバイス118との通信を可能にする通信接続116を含むことができる。通信接続116は、通信媒体の一例である。通信媒体は、典型的には、搬送波または他の伝達機構などの変調されたデータ信号におけるコンピュータ読み取り可能命令、データ構造、プログラムモジュールまたは他のデータなどによって実現され、その他のあらゆる情報伝達媒体を含むことができる。「変調されたデータ信号」という用語は、情報を信号中に符号化する方法で、1または複数の特徴を有するようにまたは変化させられた信号を意味する。例えば限定ではなく、通信媒体は、有線ネットワークあるいは直接有線接続などの有線媒体、音波、RF、赤外線または他の無線媒体などの無線媒体を含む。本明細書において用いられているコンピュータ読み取り可能媒体という用語は、記憶媒体及び通信媒体の双方を含む。
図2は、本発明が機能しうる管理ツール環境の一実施形態の概略を示すブロック図である。管理ツール環境200は、ランタイムシェル202、パーサ204及び基本コマンド206を含む。ランタイムシェル202、パーサ204及び基本コマンド206は、図1に示したオペレーティングシステム105の一部とすることもできる。管理ツール環境200は、プラットフォームコマンド208、ホストコマンド210及び1または複数のサードパーティコマンド212を含むことができる。プラットフォームコマンド208及びホストコマンド210は、それぞれ、管理ツール環境200がホスティングされているコンピュータの種類に固有のコマンド及びホストに特有のコマンドである。サードパーティコマンド212は、以下に図3に関連して詳述されているように、サードパーティデベロッパによって提供されるものであり、典型的には、管理システムあるいはサードパーティアプリケーションの属性を指向している。後に詳述されることであるが、本発明にかかる管理ツール環境200は、システム管理者が、基本コマンド206、ホストコマンド210及びプラットフォームコマンド208の全てに詳細な理解を要求されることなく、システム属性を管理することを可能にする。むしろ、本発明にかかる管理ツール環境200は、システム管理者が、比較的小量のコードによってサードパーティコマンド212を生成することを可能にする。後に記述されているように、サードパーティコマンド212は、それが比較的小量のコードしか有していない場合であっても、他のコマンドと容易にパイプライン化され、高度な管理機能及びそのためのツールを提供する。
管理ツール環境例200をより詳細に記述する前に、図7に例示されているオブジェクト指向パイプラインの一例を議論する。図7は、3つのオブジェクト指向パイプライン702、722,742の例を示している。オブジェクト指向パイプライン702は、コマンドプロンプト704、パイプラインキャラクタ708及びパイプラインサブコンポーネント706,710を含む。一般的に、各パイプラインサブコンポーネントは、プラットフォームコマンド、ホストコマンド、サードパーティコマンド、基本コマンドとすることができる。以下に記述されるように、これらの型のコマンドの各々は、同一のメカニズムを用いて生成され、同一の方法で機能する。図7において、第1パイプラインサブコンポーネント706は、サードパーティコマンドを表わしている。
しかしながら、上述されているように、第1パイプラインサブコンポーネント706は、プラットフォームコマンド、ホストコマンドまたは基本コマンドでもよい。コマンドプロンプト704は、図示されているドル記号“$”などの、いずれかの指示である。パイプラインキャラクタ708は、パイプラインサブコンポーネント706,710の各々を分離する。パイプラインキャラクタ708は、いろいろな形態を取ることができるが、典型的には、縦線“|”によって表現される。オブジェクト指向パイプライン702は、それぞれパイプラインキャラクタ708によって分離された、あらゆる数のパイプラインコンポーネントを有することができる。典型的には、最終パイプラインサブコンポーネント(例えば、サブコンポーネント710)は、ディスプレイ上のテキストなどの情報を出力する役割を担う。パイプラインサブコンポーネント706,710は、パイプラインサブコンポーネント710として示されているようにパラメータを必要とするか、または、パイプラインサブコンポーネント706として示されているようにパラメータを必要としないかのいずれかである。各パイプラインサブコンポーネント706,710は、例えば“get/process”及び“format/table”のように、動詞/名詞対を表現する。動詞または名詞は、パイプラインサブコンポーネント706,710において暗示とすることができる。
図7に示されたオブジェクト指向パイプライン702は、文法的にはテキストベースのパイプラインと同様に見えるが、オブジェクト指向パイプライン702をパイプライン化して実行する基盤となる機構はかなり異なっている。例えば、テキストベースパイプラインにおいて、各々のパイプライン化されたコマンドは、個別のユーティリティであり、従って、スタンドアローンで実行可能なプログラムである。加えて、個別のユーティリティの各々は、テキストを出力し、各ユーティリティは、テキストに独自の処理を実行する前にテキストを解釈しなければならない。これに対して、本発明に従って、パイプラインサブコンポーネント706,710は、互いにオブジェクト(例えば、オブジェクトの集合)を交換する。本発明の一実施例においては、オブジェクトは、以降のパイプラインサブコンポーネント706,710に対してバッチ化されており、前のサブコンポーネントにおいて、後のサブコンポーネントがオブジェクトに対する処理を開始する前に、処理を完了することができる。別の実施形態においては、オブジェクトは、複数のパイプラインサブコンポーネントにストリーム化され、オブジェクトに対する処理を、並列して実行することができる。さらに別の実施形態においては、1または複数のパイプラインサブコンポーネントは、同一のプロセスで実行することができる。従って、パイプラインサブコンポーネント、及びサブコンポーネント間のオブジェクトは、異なったシステムから来てもよい。
図2に戻って、ランタイムシェル202は、オペレーティングシステムコマンド(例えば、オブジェクト指向パイプライン)を受け入れる。これらのオペレーティングシステムコマンドは、リッチコンソールホスト254、グラフィカルユーザインタフェース(GUI)ホスト256またはサードパーティホスト(図示せず)を介して入力される。ランタイムシェル202が、オペレーティングシステムコマンドを受信すると、オペレーティングシステムコマンドが有効であることを確認する。確認されたコマンドがオブジェクト指向パイプラインである場合には、ランタイムシェル202は、当該コマンドをパーサ204宛に転送する。簡潔に述べれば、パーサ204は、オブジェクト指向パイプラインをパイプラインサブコンポーネントの構成要素を解析する。パーサ204は、第1パイプラインサブコンポーネントに関連付けられたメソッドを起動する。メソッドは、1または複数のオブジェクトを生成し、それらが、パーサ204によって識別されたそれ以降のパイプラインサブコンポーネントの各々による処理に用いられる。典型的には、最終パイプラインサブコンポーネントは、コンソールベースのホストに対するテキストなどの情報を出力する。
管理ツール環境200は、正確に解析可能な入力216をアクセスするように構成された拡張された型リフレクタ214を含む。ランタイムシェル202、サードパーティコマンド212、基本コマンド206、リッチコンソールホスト254及びGUIホスト256は、拡張された型リフレクタ214を介して、正確に解析可能な入力216にそれぞれアクセスする。以下の議論においては、正確に解析可能な入力216は、属性と値とを識別することができる入力として規定される。正確に解析可能な入力216のいくつかは、例えば、WMI(Windows(登録商標) Management Instrumentation)232、ADO(ActiveX data object)入力234、XML(eXtensible Markup Language)入力236、及び.NET objectsなどのオブジェクト入力を含む。他の正確に解析可能な入力は、サードパーティデータフォーマット240を含むこともできる。
一般に、拡張された型リフレクタ214は、リフレクションベースの処理をサポートする。リフレクションベースの処理とは、実行可能なコードが、オブジェクトの特徴を理解する必要なく、そのオブジェクトの属性にアクセスすることができる機構である。オブジェクトそれ自体は、オブジェクトの有するどの属性かの要求側の実行コード、及び関連付けられた値を通知する。これは、実行可能コードが、オブジェクトとから独立する。加えて、本発明に従って、拡張された型リフレクタ214は、ADO入力234などの非オブジェクト型入力に対するリフレクションも実現する。例えば、完全に解析可能な入力216が、ADO入力234であると仮定すると、実行可能コードが、属性に対するADO入力を要求した場合には、ADO入力234は、2つの属性、すなわちカラム属性とロウ属性を返す。しかしながら、これら2つの属性は、ADO入力234内の“オブジェクト”にかかる充分な詳細事項を提供しない。従って、本発明に従って、拡張された型リフレクタ214は、実行コードがADO234を要求したことを認識し、ADO入力234の属性ではなくカラム名を要求する。それに応答して、ADO入力234は、カラム名を返し、これが実行コードに対して属性として返される。従って、拡張された型リフレクタ214は、正確に解析可能な入力216のあらゆる型から、「オブジェクト」を生成するように構成されている。
正確に解析可能な入力216からオブジェクトを生成するために、管理ツール環境200は、型注釈・拡張子カタログ218を含む。型注釈・拡張子カタログ218は、拡張された型リフレクタ214が入力216の種々の型をどのように要求すべきかを記述し、特定の入力型にかかるオブジェクトを生成するための所望の属性を得る。従って、拡張された型リフレクタ214は、オブジェクトの全ての型に関するリフレクションを可能にするインダイレクションのレイヤを提供する。例えば、入力型がXMLである場合には、XMLを記述する記述ファイルを使用して、XMLドキュメントからオブジェクトを生成する。
管理ツール環境200は、さらに、ポリシーエンジン250及びウェブサービス252を含むこともできる。パーサ204及びランタイムシェル202は、プラットフォームコマンド208、ホストコマンド210及びサードパーティコマンド212などのあらゆる種類のコマンドを起動する際にポリシーエンジン250と通信することができる。ウェブサービス252は、管理ツール環境200がネットワークを介して機能することを可能にする。ウェブサービス252は、パーサ204、ランタイムシェル202及び拡張された型リフレクタ214と通信する。加えて、基本コマンド206に、ウェブサービス252を介してアクセスすることができる。
図3は、パイプラインサブコンポーネント(すなわち、cmdlet)を生成する一実施形態である。完了すると、cmdletは、プラットフォームコマンド、ホストコマンド、サードパーティコマンドまたは基本コマンドとすることができる。以下の議論では、サードパーティデベロッパにより書くことのできるサードパーティコマンドの生成を記述する。このサードパーティコマンドは、図2に示した管理ツール環境において機能する。サードパーティコマンド300は、ProcessCmdクラスなど、すなわちパブリッククラスのコマンドクラス302を含む。コマンドクラス302は、予期される入力パラメータにかかる文法を規定する文法機構303と、スタティックメソッド318と、cmdlet(すなわち、“get/process”)をスタティックメソッド318に関連付けるコマンド属性312とを含む。
本発明の一実施形態において、文法機構は、ProcessReqクラスなどの入力パラメータクラス304を含む。入力パラメータクラス304は、管理ツール環境によって供給されるRequestObjectクラス306から派生し、入力パラメータクラス304内において規定された予期されるパラメータに従って、コマンド(例えば、コマンドラインを介して)に対して入力されたパラメータを処理する。入力パラメータクラス304は、1または複数のメンバー宣言310を含む。メンバー宣言310は、サードパーティコマンドに対して予期される入力パラメータの1つに対応する。入力パラメータクラス306は、メンバー宣言310の1つに関連付けられた1または複数の命令308を含む。図3の入力パラメータクラス304において、命令308は、オブジェクト指向パイプラインコマンドにおける第1の予期されるパラメータとして“Name”を識別する。入力パラメータの処理が完了すると、入力パラメータは、パラメータ322としてスタティックメソッド318に供給される。スタティックメソッド318は、予期されたパラメータ(例えば、“req.Name”)を用いて、処理を実行する。この文法機構303の付加的な情報は、同一出願人によって同時に出願された「コマンドに対する入力パラメータのリフレクションベース処理」という表題の特許出願により得ることができ、本明細書に組み込まれる。
コマンド属性312は、サードパーティコマンド300に関連付けられたオブジェクト指向パイプラインに出現するテキストパラメータ314,316を識別する。簡潔に述べれば、パーサ204(図2)は、オブジェクト指向パイプラインコマンドを解析する際に、テキストパラメータ314,316を認識する。テキストパラメータ314,316を識別すると、パーサ304は、スタティックメソッド318をロケートし、スタティックメソッド318を起動する。スタティックメソッド318内の処理は、パイプラインサブコンポーネント間で伝達されるオブジェクトまたはオブジェクトの集合の生成を担っている。スタティックメソッド318は、オペレーティングシステムにより提供され、図3に示したSystem.Diagnostics.Process320などのシステムメソッドを呼び出すことができ、サードパーティコードなどを呼び出すことができる。
図4は、図1に示したコンピューティングデバイス上への図3に示したサードパーティコマンドの実装を示すブロック図である。上述したように、サードパーティコマンドの実装は、本来、プラットフォームコマンド、ホストコマンド及び基本コマンドの実装と同様である。サードパーティコマンド300がコード化されると、サードパーティコマンド300は、コンパイラ402に入力されてコンパイルされる。コンパイラ402は、実行可能コード404と記述ファイル406とを出力する。システム管理者が、サードパーティコマンド300が特定のコンピューティングデバイス上に実装されることを望むとき、実行可能コード404及び記述ファイル406は、(矢印によって示されているように)特定のコンピューティングデバイス(図示せず)にダウンロードされる。典型的には、特定のコンピューティングデバイスは、サードパーティコマンドが開発されたコンピューティングデバイスとは異なっている。実行可能コード404及び記述ファイル406がダウンロードされると、サードパーティコマンドにかかる情報をカタログ418に格納する。この情報は、図3に示されたテキストパラメータ314,316に関連付けられた実行可能コード414を読み出すためのロケーション及びサードパーティコマンドを実行するために重要な他のデータを識別する。特定のコンピューティングデバイス上のオペレーティングシステムは、テキストパラメータ314,316を認識し、カタログ418に規定されているように、スタティックメソッド318を起動する。
図5は、本発明にかかるオブジェクト指向パイプラインを実行するプロセスを示す論理的流れ図である。このプロセスは、ランタイムシェルがコマンドラインに入力されたオブジェクト指向パイプラインを認識した時に開始する。処理は、ブロック502に進む。
ブロック502において、オブジェクト指向パイプラインが解析され、1または複数のパイプラインサブコンポーネント及びそれぞれに関連付けられた入力パラメータが識別される。上述の「コマンドに対する入力パラメータのリフレクションベース処理」という表題の特許出願は、オブジェクト指向パイプラインの解析にかかる実施形態を記載している。オブジェクト指向パイプラインが解析されると、処理はブロック504へ進む。
ブロック504において、パーサは、第1パイプラインサブコンポーネントに関連付けられたメソッドを識別する。本発明の一実施形態においては、この識別を、カタログ内のテキストパラメータを検索することにより実行する。カタログは、関連付けられたメソッドのロケーションを提供する。処理は、ブロック506へ進む。
ブロック506において、識別されたメソッド(例えば、図3に示したGetProcessメソッド318)が起動される。ブロック508では、メソッドは、次段のパイプラインサブコンポーネントに渡されるオブジェクトを獲得する。ある場合には、オブジェクトの獲得は、オブジェクトを直接得ることを含む。このことは、情報が既に.NET objectsなどのオブジェクトの形態である場合に起こる。別の場合には、図6に関連して記述するように、オブジェクトの獲得は、複数の入力型のうちの1つからオブジェクトを構成することを含む。オブジェクトまたは複数のオブジェクトが得られると、処理は、ブロック510へ進む。
ブロック510において、オブジェクト指向パイプラインが他のパイプラインサブコンポーネントを含むか否かの決定がなされる。図7に関連して記述したように、オブジェクト指向パイプラインは、複数のパイプラインサブコンポーネントを含むことができる。他のパイプラインサブコンポーネントが存在する限り、処理はブロック512へ継続する。
ブロック512において、オブジェクトに対する参照(例えばハンドル)を、次段のパイプラインサブコンポーネントに渡す。別の実施例において、オブジェクトに対する参照を、オブジェクトの並列処理を目的として、複数のパイプラインサブコンポーネントにストリーム化する。オブジェクトは、リフレクションをサポートするように生成されるため、各々のオブジェクトは、次段のパイプラインサブコンポーネントに、それらが有している属性及びそれらに関連付けられた値を通知する。処理は、ブロック514へ進む。
ブロック514において、次段のパイプラインサブコンポーネントは、オブジェクトに対する処理を実行する。後段のパイプラインサブコンポーネントは、オブジェクトのサブセットを生成し、オブジェクトの順序付けを行い、またはブロック508で生成されたオブジェクトに対して別の処理を実行することができる。例えば、サブコンポーネントは、システム管理者が出力に関する属性を選択する際に用いることができるグラフを表示することもできる。サブコンポーネントが処理を実行すると、処理は、決定ブロック510へ戻る。他のパイプラインサブコンポーネントが存在する場合には、ブロック512,514の処理を、パイプラインサブコンポーネントに対して実行する。典型的には、最終パイプラインサブコンポーネントは、オブジェクトに関連するテキストなどの情報を出力する。各パイプラインサブコンポーネントが対応する処理の実行を終了すると、処理は、完了し、終了ブロックへ移行する。
図6は、図5において用いるのに適したオブジェクトを獲得するプロセスを示す論理的流れ図である。処理はブロック601で開始され、決定ブロック602へ続く。決定ブロック602において、メソッドによって要求された入力が正確に解析可能であるか否か決定される。上述したように、オブジェクト情報を、.NET objectsなどのオブジェクト、WMI入力、ADO入力、XML入力及び他のサードパーティフォーマットから獲得することができる。ブロック602における決定が、入力が正確には解析可能ではないという結論を出した場合には、入力は有効ではない。従って、エラーが存在することになり、オブジェクト指向パイプラインは処理されない。処理は終了する。
決定ブロック602に戻ると、入力が正確に解析可能であるという結論が出された場合には、処理は決定ブロック604へ進む。決定ブロック604において、入力が.NET objectsなどのオブジェクト型であるか否かの決定がなされる。入力が既にオブジェクトフォーマットである場合には、処理はブロック606へ進む。
ブロック606において、要求された属性を有するオブジェクトが抽出される。リフレクションを使用して、これら要求された属性を獲得する。全てのオブジェクトが獲得されると、処理はリターンブロックへ進み、図5に戻る。
他方、決定ブロック604において、入力がオブジェクト型ではないという結論が出された場合には、処理はブロック608へ進む。ブロック608において、オブジェクトにかかる属性を、入力の型に基づいて獲得する。拡張された型リフレクタを、型の注釈及び拡張子と共に用いて、入力から属性を獲得する。型の注釈及び拡張子は、入力のフォーマットを記述し、属性を獲得する。属性が獲得されると、処理はブロック610へ進む。
ブロック610において、ブロック608において獲得された属性にかかる値を、獲得する。属性及びその値を、要求された各々の属性に関して、次の属性を獲得する以前に獲得できることは当業者には明らかである。従って、処理ブロックを、結果として所望の成果を実現するために、様々な順序で実行する。属性及びそれらの対応する値が獲得されると、処理はブロック612へ進む。
ブロック612において、獲得された属性及びその対応する値を有するオブジェクトが生成される。オブジェクトは、それ自体がリフレクションをサポートするように生成される。処理は、リターンブロックへ進み、図5に戻る。
再び図7を参照して、3つのオブジェクト指向パイプライン例702,722,742を、より詳細に記述する。オブジェクト指向パイプライン702は、2つのパイプラインサブコンポーネント706,710を有する。パイプラインサブコンポーネント710は、テキスト712をディスプレイに出力する。パイプラインサブコンポーネント710は、基本コマンド“format/table”を含み、このコマンドは、出力の配置を規定するフォーマッティングパラメータ(例えば、name, pid, ws, handlecount)を受け入れる。従って、テキスト712は、属性の名前を第1列に有し、その後の列に、オブジェクト指向パイプライン702の処理の間に獲得されたオブジェクトのうちの1つに対する属性の値を各々有するテーブルである。
第2の例において、オブジェクト指向パイプライン722は、2つのパイプラインサブコンポーネント706,710を含む。加えて、サブコンポーネント710に先行する2つの付加的なパイプラインサブコンポーネント(すなわち、パイプラインサブコンポーネント724,726)を有する。パイプラインサブコンポーネント724は、第1パイプラインサブコンポーネント706によって戻されるオブジェクトのサブセットを生成する。パイプラインサブコンポーネント726は、サブセットの順序を再度整える。再び、パイプラインサブコンポーネント710は、テキスト(すなわち、テキスト728)を出力する。
第3の例では、オブジェクト指向パイプライン742は、パイプラインサブコンポーネント724,726を有するが、パイプラインサブコンポーネント710を変更している(以下、パイプラインサブコンポーネント710’という)。変更されたパイプラインサブコンポーネント710’は、コマンドライン上のパラメータの1つに対して属性を付加し、この属性が、テーブル中のそのパラメータの出力を変更する。ワーキングセット(ws)パラメータは、ws.kbパラメータであり、ワーキングセットがキロバイト単位で表示されることを意味している。本発明の一実施形態において、オブジェクトそれ自体がオブジェクトを含むため、本発明は、サブコンポーネントをパイプライン化する際に、このやり方を用いることができる。例えば、管理者は、出力あるいは処理のために、オブジェクトのサブ属性に対して「ナビゲート」することができる。コマンドライン上のシンタックスは、それに従って変化し、例えば、オブジェクトとそのオブジェクトのサブ属性の間に“.”が付加される。
名前に関してアルファベット順にソートし、少なくとも12,000Kのワーキングセットを各オブジェクトが有するオブジェクトのサブセットを生成するなど、他の多くの例を容易に生成することができる。これら及び他の変形例を、システム管理者が基本コマンド(例えば、where, sort, format)の詳細を知っていることを要求すること無く、コマンドライン上で容易に入力することができる。従って、本発明は、システム管理の複雑さを劇的に低減する。
上述された詳細な説明、実施形態及びデータは、本発明の構成の製造及び利用にかかる完全な記述を提供する。本発明の種々の実施形態が本発明の精神及びその範囲を逸脱することなくなされうるため、本発明は、特許請求の範囲に記載された範囲のものと理解されるべきである。
本発明の一実施形態において用いることができるコンピューティングデバイスの例を示す図である。 本発明が機能しうる管理ツール環境の一実施形態の概略を示すブロック図である。 図2に示した管理ツール環境において機能しうるサードパーティコマンドの一実施形態を示す図である。 図3に示したサードパーティコマンドの、図1に示したコンピューティングデバイスへの実装を示すブロック図である。 本発明にかかるオブジェクト指向パイプラインを実行するプロセスを示す流れ図である。 図5において用いるのに適したオブジェクトを獲得するプロセスを示す流れ図である。 オブジェクト指向パイプラインのいくつかの例及びそれぞれの対応する出力を示す図である。
符号の説明
100 コンピューティングデバイス
102 処理ユニット
104 システムメモリ
105 オペレーティングシステム
106 プログラムモジュール
107 プログラムデータ
109 リムーバブルストレージ
110 非リムーバブルストレージ
112 入力デバイス
114 出力デバイス
116 通信接続
118 他のコンピューティングデバイス
130 コマンドプロセッサ
131 シェル
200 管理ツール環境
202 ランタイムシェル
204 パーサ
206 基本コマンド
208 プラットフォームコマンド
210 ホストコマンド
212 サードパーティコマンド
214 拡張された型リフレクタ
218 型の注釈・拡張子カタログ
250 ポリシーエンジン
252 ウェブサービス
254 リッチコンソールホスト
256 GUIホスト

Claims (25)

  1. パイプラインを使用するコンピュータ実行可能命令を有するコンピュータ読み取り可能媒体であって、前記命令は、
    オブジェクト指向パイプラインを受信すること、
    前記オブジェクト指向パイプラインを複数のパイプラインサブコンポーネントに解析すること、
    前記複数のパイプラインサブコンポーネントのうちの第1パイプラインサブコンポーネントに関連付けられたメソッドを起動することであって、該メソッドは、前記第1パイプラインサブコンポーネントにかかる少なくとも1つのオブジェクトを生成すること、および、
    前記少なくとも1つのオブジェクトを処理目的で次段のパイプラインサブコンポーネントに送出することであって、該次段のパイプラインサブコンポーネントは、前記複数のパイプラインサブコンポーネントのうちの1つであること
    を備えたことを特徴とするコンピュータ読み取り可能媒体。
  2. 前記オブジェクト指向パイプラインを受信することは、コマンドラインを介することを特徴とする請求項1に記載のコンピュータ読み取り可能媒体。
  3. 前記第1パイプラインサブコンポーネントは、オペレーティングシステムによって提供されている基本コマンドに対応することを特徴とする請求項1に記載のコンピュータ読み取り可能媒体。
  4. 前記第1パイプラインサブコンポーネントは、サードパーティコマンドに対応することを特徴とする請求項1に記載のコンピュータ読み取り可能媒体。
  5. 前記少なくとも1つのオブジェクトを前記次段のパイプラインサブコンポーネントに送出することは、前記次段のパイプラインサブコンポーネントに前記少なくとも1つのオブジェクトの各々にかかるハンドルを送出することを含むことを特徴とする請求項1に記載のコンピュータ読み取り可能媒体。
  6. 前記少なくとも1つのオブジェクトを送出することは、前記少なくとも1つのオブジェクトを複数のパイプラインサブコンポーネントに送出することを含むことを特徴とする請求項1に記載のコンピュータ読み取り可能媒体。
  7. 前記複数のオブジェクトを生成することは、リフレクションを介して前記オブジェクトにかかる属性名を獲得することを含むことを特徴とする請求項1に記載のコンピュータ読み取り可能媒体。
  8. 前記複数のオブジェクトを生成することは、入力ソースからの情報に基づいていることを特徴とする請求項1に記載のコンピュータ読み取り可能媒体。
  9. 前記入力ソースは、XMLベースドキュメントを含むことを特徴とする請求項8に記載のコンピュータ読み取り可能媒体。
  10. オブジェクト指向パイプラインをサポートするデータ構造で符号化されたコンピュータ読み取り可能媒体であって、前記データ構造は、
    コマンドが起動される際に供給される該コマンドにかかる少なくとも1つの予期されるパラメータの処理を規定する入力パラメータ構造と、
    少なくとも1つのオブジェクトを生成し、該少なくとも1つのオブジェクトを前記オブジェクト指向パイプラインの次のコマンドに供給するスタティックメソッドと、
    前記スタティックメソッドを、前記コマンドを起動するために供給される入力に関連付けるコマンド属性と
    を備えたことを特徴とするコンピュータ読み取り可能媒体。
  11. 前記入力は、コマンドラインを含むことを特徴とする請求項10に記載のコンピュータ読み取り可能媒体。
  12. 前記スタティックメソッドは、前記入力パラメータ構造内で情報を受け渡しすることを特徴とする請求項10に記載のコンピュータ読み取り可能媒体。
  13. パイプライン化されたコマンド間で通信するコンピュータ実装方法であって、
    第1パイプライン化コマンドにより少なくとも1つのオブジェクトを生成すること、
    前記第1パイプライン化コマンドから第2パイプライン化コマンドに、前記少なくとも1つのオブジェクトに対する参照を送出すること、および、
    前記第2パイプライン化コマンドにより前記少なくとも1つのオブジェクトの処理を実行すること
    を備えたことを特徴とするコンピュータ実装方法。
  14. 前記第1パイプライン化コマンドは、サードパーティデベロッパによって提供されたサードパーティコマンドであることを特徴とする請求項13に記載のコンピュータ実装方法。
  15. 前記第1パイプライン化コマンドは、オペレーティングシステムによって提供された基本コマンドであることを特徴とする請求項13に記載のコンピュータ実装方法。
  16. 前記第1および第2パイプライン化コマンドは、同一のプロセスにおいて実行されることを特徴とする請求項13に記載のコンピュータ実装方法。
  17. 前記少なくとも1つのオブジェクトに対する前記参照を、並列処理目的で第3パイプライン化コマンドに送出することをさらに備えたことを特徴とする請求項13に記載のコンピュータ実装方法。
  18. 前記第2パイプライン化コマンドは、前記少なくとも1つのオブジェクトのサブセットを第3パイプライン化コマンドに送出することを特徴とする請求項13に記載のコンピュータ実装方法。
  19. パイプライン化コマンドを処理するシステムであって、
    プロセッサと、
    前記プロセッサにより実行するためにロードされた複数のコンピュータ実行可能命令が割り付けられたメモリとを備え、前記コンピュータ実行可能命令は、
    パイプライン化コマンドの受信に応答して、該パイプライン化コマンドを複数のパイプラインサブコンポーネントに構文解析すること、
    第1パイプラインサブコンポーネントに関連付けられたメソッドを起動することであって、該メソッドは、少なくとも1つの関連したオブジェクトを生成すること、および、
    前記少なくとも1つのオブジェクトを処理目的で次段のパイプラインサブコンポーネントに送出すること
    を備えた方法を実行することを特徴とするコマンド処理システム。
  20. 前記第1パイプラインサブコンポーネントは、オペレーティングシステムによって提供された基本コマンドに対応することを特徴とする請求項19に記載のコマンド処理システム。
  21. 前記第1パイプラインサブコンポーネントは、サードパーティコマンドに対応することを特徴とする請求項19に記載のコマンド処理システム。
  22. 前記パイプライン化コマンドは、コマンドラインを介して受信されることを特徴とする請求項19に記載のコマンド処理システム。
  23. 前記少なくとも1つのオブジェクトを前記次段のパイプラインサブコンポーネントに送出することは、前記次段のパイプラインサブコンポーネントに各オブジェクトにかかるハンドルを送出することを含むことを特徴とする請求項19に記載のコマンド処理システム。
  24. パイプライン化コマンド間で通信するコンピュータシステムであって、
    第1パイプライン化コマンドにより少なくとも1つのオブジェクトを生成する手段と、
    前記第1パイプライン化コマンドから第2パイプライン化コマンドに、前記少なくとも1つのオブジェクトに対する参照を送出する手段と、
    前記第2パイプライン化コマンドにより前記少なくとも1つのオブジェクトの処理を実行する手段と
    を備えたことを特徴とするコンピュータシステム。
  25. 前記第1及び第2パイプライン化コマンドは、コマンドラインを介して入力されることを特徴とする請求項24に記載のコンピュータシステム。
JP2004142831A 2003-05-12 2004-05-12 オブジェクト指向パイプラインを用いるシステム及び方法 Pending JP2004342107A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/438,235 US7526770B2 (en) 2003-05-12 2003-05-12 System and method for employing object-based pipelines

Publications (2)

Publication Number Publication Date
JP2004342107A true JP2004342107A (ja) 2004-12-02
JP2004342107A5 JP2004342107A5 (ja) 2007-06-21

Family

ID=33449735

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004142831A Pending JP2004342107A (ja) 2003-05-12 2004-05-12 オブジェクト指向パイプラインを用いるシステム及び方法

Country Status (5)

Country Link
US (2) US7526770B2 (ja)
EP (1) EP1548577A3 (ja)
JP (1) JP2004342107A (ja)
KR (1) KR20040097937A (ja)
CN (1) CN1550985A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006065861A (ja) * 2004-08-27 2006-03-09 Microsoft Corp 継ぎ目なくオブジェクトを比較するシステムおよび方法
JP2006244471A (ja) * 2005-03-04 2006-09-14 Microsoft Corp コマンドラインデータ型の検出および変換
JP2007004608A (ja) * 2005-06-24 2007-01-11 Fuji Xerox Co Ltd 連携処理システム及び装置及び方法

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7594170B2 (en) * 2003-10-24 2009-09-22 Microsoft Corporation Mechanism for providing data driven command line output
US20050091424A1 (en) * 2003-10-24 2005-04-28 Snover Jeffrey P. Mechanism for analyzing partially unresolved input
US20060010369A1 (en) * 2004-07-07 2006-01-12 Stephan Naundorf Enhancements of data types in XML schema
US20060089147A1 (en) * 2004-10-21 2006-04-27 Beaty Robert M Mobile network infrastructure for applications, personalized user interfaces, and services
US8151282B2 (en) * 2005-04-15 2012-04-03 Yahoo! Inc. System and method for pipelet processing of data sets
US7716252B2 (en) * 2005-07-29 2010-05-11 Microsoft Corporation Dynamically exposing relationships among entities contained in data stores
US20070240164A1 (en) * 2006-03-15 2007-10-11 Microsoft Corporation Command line pipelining
CN100466555C (zh) * 2007-03-14 2009-03-04 华为技术有限公司 一种发送维护命令的方法及装置
US20080244514A1 (en) * 2007-03-29 2008-10-02 Microsoft Corporation Scriptable object model for network based services
US8417819B2 (en) * 2007-11-05 2013-04-09 Red Hat, Inc. Combining UNIX commands with uniform resource locators
US10346104B2 (en) 2015-10-30 2019-07-09 Hewlett-Packard Development Company, L.P. Object type based image processing
JP6975866B2 (ja) * 2018-01-29 2021-12-01 ルビクラウド テクノロジーズ インコーポレイテッド フレキシブル・パイプライン生成のための方法及びシステム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001175596A (ja) * 1999-12-14 2001-06-29 Nec Corp コマンド処理装置、コマンド処理方法、およびそのプログラムを記録した記録媒体
JP2002014813A (ja) * 1999-02-25 2002-01-18 Sony Electronics Inc 分散適応実行時プラットホーム用のアプリケーションプログラム開発方法及びコンピュータ装置
WO2002050669A2 (en) * 2000-12-18 2002-06-27 Koninklijke Philips Electronics N.V. Self-determining command path architecture

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5404528A (en) * 1993-01-19 1995-04-04 Canon Information Systems, Inc. Scripting system
FR2742892B1 (fr) * 1995-12-21 1998-02-13 Bull Sa Systeme de protection de logiciel pour ordinateur ecrit en langage interprete
AU1437300A (en) 1998-11-16 2000-06-05 Telefonaktiebolaget Lm Ericsson (Publ) Concurrent processing for event-based systems
US7216351B1 (en) * 1999-04-07 2007-05-08 International Business Machines Corporation Systems and methods for synchronizing multi-modal interactions
US6560606B1 (en) * 1999-05-04 2003-05-06 Metratech Method and apparatus for processing data with multiple processing modules and associated counters
US7055095B1 (en) * 2000-04-14 2006-05-30 Picsel Research Limited Systems and methods for digital document processing
US6721808B1 (en) * 2000-09-13 2004-04-13 Cisco Technology, Inc. Real-time creation of distributed object shell commands
US7051069B2 (en) * 2000-09-28 2006-05-23 Bea Systems, Inc. System for managing logical process flow in an online environment
US6941560B1 (en) 2000-12-19 2005-09-06 Novell, Inc. XML-based integrated services event system
US6785685B2 (en) 2001-08-22 2004-08-31 International Business Machines Corporation Approach for transforming XML document to and from data objects in an object oriented framework for content management applications
US20030115292A1 (en) * 2001-10-24 2003-06-19 Griffin Philip B. System and method for delegated administration
WO2003093964A1 (en) * 2002-05-01 2003-11-13 Bea Systems, Inc. Enterprise application platform
US7127520B2 (en) * 2002-06-28 2006-10-24 Streamserve Method and system for transforming input data streams
US7085853B2 (en) * 2002-09-10 2006-08-01 Sun Microsystems, Inc. System and method for a distributed shell in a java environment
US7167874B2 (en) * 2003-01-22 2007-01-23 International Business Machines Corporation System and method for command line administration of project spaces using XML objects

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002014813A (ja) * 1999-02-25 2002-01-18 Sony Electronics Inc 分散適応実行時プラットホーム用のアプリケーションプログラム開発方法及びコンピュータ装置
JP2001175596A (ja) * 1999-12-14 2001-06-29 Nec Corp コマンド処理装置、コマンド処理方法、およびそのプログラムを記録した記録媒体
WO2002050669A2 (en) * 2000-12-18 2002-06-27 Koninklijke Philips Electronics N.V. Self-determining command path architecture

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006065861A (ja) * 2004-08-27 2006-03-09 Microsoft Corp 継ぎ目なくオブジェクトを比較するシステムおよび方法
JP2006244471A (ja) * 2005-03-04 2006-09-14 Microsoft Corp コマンドラインデータ型の検出および変換
US8566806B2 (en) 2005-03-04 2013-10-22 Microsoft Corporation Command-line data-type discovery and conversion
JP2007004608A (ja) * 2005-06-24 2007-01-11 Fuji Xerox Co Ltd 連携処理システム及び装置及び方法

Also Published As

Publication number Publication date
US7526770B2 (en) 2009-04-28
US7530075B2 (en) 2009-05-05
EP1548577A2 (en) 2005-06-29
EP1548577A3 (en) 2006-02-01
US20040243543A1 (en) 2004-12-02
US20040249780A1 (en) 2004-12-09
CN1550985A (zh) 2004-12-01
KR20040097937A (ko) 2004-11-18

Similar Documents

Publication Publication Date Title
JP4889204B2 (ja) シェルに対するコマンドの入力パラメータを処理するための媒体およびシステム
JP5085022B2 (ja) 継ぎ目なくオブジェクトを比較するシステムおよび方法
US6651240B1 (en) Object-oriented software development support apparatus and development support method
US20090254881A1 (en) Code generation techniques for administrative tasks
KR101795844B1 (ko) 런타임 시스템
TWI536263B (zh) 將作業系統之原始應用程式介面投射至其它程式語言
US20040015870A1 (en) System and method for combinatorial test generation in a compatibility testing environment
KR20060130478A (ko) 관리 도구 환경
JP2006092529A (ja) Xml入力文書を検証するxmlスキーマを自動的に生成するシステムおよび方法
JP2004342107A (ja) オブジェクト指向パイプラインを用いるシステム及び方法
JP2014525622A (ja) オペレーティングシステムのネイティブアプリケーションプログラミングインターフェイスのメタデータを用いた記述
Wielemaker et al. Using SWISH to realize interactive web-based tutorials for logic-based languages
US20110197178A1 (en) Architecture, system, and method for providing hover help support for c++ application source code
AU2004279192B2 (en) Mechanism for analyzing partially unresolved input
NO329240B1 (no) System og fremgangsmate for forklarende definering og bruk av undergrupper innenfor dokumentkoding
US8433729B2 (en) Method and system for automatically generating a communication interface
KR101552914B1 (ko) 웹 서버 어플리케이션 프레임워크 장치와 프레임워크를 이용한 웹 어플리케이션 처리 방법 및 이를 구현할 수 있는 컴퓨터로 읽을 수 있는 기록 매체
US20110296373A1 (en) Command line shell command generation based on schema
US7657869B2 (en) Integration of external tools into an existing design environment
JP5377522B2 (ja) 公称的に互換性のない型を効率的に相関させること
US7555708B2 (en) Mechanism for converting text output into objects
US7917893B2 (en) Using a system of annotations to generate views and adapters
JP2004362185A (ja) プログラム生成方法及び実施装置並びに処理プログラム
JP2019179383A (ja) Api処理方法、端末、api処理プログラム
Cen et al. Block affordances for graphql in mit app inventor

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070508

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070508

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100312

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100806