JP2006520502A - ワークフローのグラフィック操作のためのバッチベースの方法および手段 - Google Patents
ワークフローのグラフィック操作のためのバッチベースの方法および手段 Download PDFInfo
- Publication number
- JP2006520502A JP2006520502A JP2006507157A JP2006507157A JP2006520502A JP 2006520502 A JP2006520502 A JP 2006520502A JP 2006507157 A JP2006507157 A JP 2006507157A JP 2006507157 A JP2006507157 A JP 2006507157A JP 2006520502 A JP2006520502 A JP 2006520502A
- Authority
- JP
- Japan
- Prior art keywords
- hierarchical
- nodes
- node
- edge
- primitive
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- Entrepreneurship & Innovation (AREA)
- Educational Administration (AREA)
- Game Theory and Decision Science (AREA)
- Development Economics (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Stored Programmes (AREA)
- Manipulator (AREA)
Abstract
本発明は、製造および、研究や開発におけるワークフローに関し、特に、製造活動とともに、研究や開発の遂行やそれらの記録を自動化する手段に関する。ここに、適応階層型ワークフロー環境における、バッチベースの作業手順を確定・実行する手段を説明する。オートフィルアルゴリズムは、適応階層型ワークフロー環境におけるバッチベースの作業手順を定義して自動実行する手段を提供し、実験手順計画、実行、記録、およびロボット機器の駆動を含む広範囲の適用に好適である。
Description
(発明の背景)
(発明の分野)
本発明は、製造および、研究や開発におけるワークフローに関し、特に、製造活動とともに、研究や開発の遂行やそれらの記録を自動化する手段に関する。
(発明の分野)
本発明は、製造および、研究や開発におけるワークフローに関し、特に、製造活動とともに、研究や開発の遂行やそれらの記録を自動化する手段に関する。
(関連分野の説明)
多くの研究者が、研究・開発の遂行および/もしくは記録に際し、自動数式処理システムに加えて、所在地がワシントンのレッドモンドとする、マイクロソフト株式会社が提供するExcel(登録商標)などの、実験ノートや自動表計算を使用している。
多くの研究者が、研究・開発の遂行および/もしくは記録に際し、自動数式処理システムに加えて、所在地がワシントンのレッドモンドとする、マイクロソフト株式会社が提供するExcel(登録商標)などの、実験ノートや自動表計算を使用している。
実験手順の設計においては、バッチに基づく規則性を利用する必要がある。設計者は個々のオペレーションの代わりに、オペレーションのバッチを用いて作業手順を作成することが求められ、そうすることで、有用かつ精細な構造が存在することを容易に示すことができる。バッチベースの作業手順の設計において重要な点は、ユーザーが作成したバッチベースの作業手順から精細なトポロジーを導くために簡単なルールを設けることである。そのルール、もしくはアルゴリズムは、ユーザーによる理解・予想が可能なものであり、同時に、ユーザーが、多岐にわたる有益かつ精細なトポロジーを作成する能力を提供するものであることが期待される。
(発明の概要)
ここに、適応階層型ワークフロー環境における、バッチベースの作業手順を確定・実行する手段を説明する。そういった手段は、ロボット操作機器の駆動に加えて、実験手順計画、実行、記録を含む様々な用途に適している。
ここに、適応階層型ワークフロー環境における、バッチベースの作業手順を確定・実行する手段を説明する。そういった手段は、ロボット操作機器の駆動に加えて、実験手順計画、実行、記録を含む様々な用途に適している。
以下の図面において、同一の符号は同様の構成要素もしくは作用を指す。図面中の構成要素の大きさおよび相対位置は必ずしも図面のそれに従うものではなく、例えば、各構成要素の形状や角度は図面のそれに従うものではなく、いくつかの構成要素は、図面を見やすくする目的で、任意に拡大、配置される。さらに、それぞれの構成要素の特有の形状は、特定の構成要素における実際の形状を伝えることを意図したものではなく、単に、図面において認識しやすいように選択されたものである。
(発明の詳細な説明)
以下の説明においては、特定の詳細事項の説明を行うことで、本発明の各実施形態への十分な理解を促しているが、当業者であれば、これらの詳細な情報がなくとも本発明を実施可能であることは理解できるであろう。その他の例においては、本発明の実施形態に対する説明を不必要に曖昧にすることがないように、バッチベース作業設計に関連する公知の構造の図示もしくは説明は行わない。
以下の説明においては、特定の詳細事項の説明を行うことで、本発明の各実施形態への十分な理解を促しているが、当業者であれば、これらの詳細な情報がなくとも本発明を実施可能であることは理解できるであろう。その他の例においては、本発明の実施形態に対する説明を不必要に曖昧にすることがないように、バッチベース作業設計に関連する公知の構造の図示もしくは説明は行わない。
内容が別の意味を必要としない限り、本明細書および添付の請求項において、「備える」および「備えて」などの単語は、「含むが、それに限定はされない」という意味での非限定的かつ包含的な解釈をなされるべきものある。
本明細書を通して、「一つの実施形態もしくは実施形態」という記載は、その実施形態に関連して説明される特定の機能、構造もしくは特徴が、少なくとも本発明の一つの実施形態に含まれるという意味である。このように、本明細書を通して各所に記載される「一つの実施形態において」もしくは「実施形態において」という表現は、必ずしもすべてが同じ実施形態に言及しているとは限らない。さらに、特定の機能、構造もしくは特徴は、一つ以上の実施形態において好適に組み合わせてもよい。
本明細書に記載される各見出しは便宜上のものであり、請求発明の範囲もしくは意義に解釈が加えられるものではない。
図1Aおよび以下の論考は、本発明が実施される、好適なコンピューター環境に対する簡略かつ概要説明である。指定はないが、本発明における実施形態は、パソコンによって実行されるプログラムアプリケーションモジュール、目的もしくはマクロなどの、コンピューターにより実行可能な指示を一般的な背景として説明される。関連分野の当業者であれば、本発明が、携帯用機器、マイクロプロセッサシステム、マイクロプロセッサを用いたもしくはプログラミング可能な消費電子製品、ネットワークパソコン、ミニコン、メインフレームコンピューターなどを含む、他のコンピューターシステム構成を用いて実施可能であることを認識するであろう。本発明は、コミュニケーションネットワークを介して連結された遠隔処理装置によってタスクやモジュールが行われる、分散型コンピューター環境において実施可能である。ある分散型コンピューター環境では、プログラムモジュールはローカルおよび遠隔のメモリ記憶装置の両方に配置される。
図1Aを参照して、本発明で言及される従来のパソコンである、コンピューターシステム10は、処理部12と、システムメモリ14と、前記システムメモリ14の処理部12への連結を含む、様々なシステム構成要素を連結するシステムバス16を備える。処理部12は論理処理部であればどれでもよく、例としては、一つ以上の中央処理器(CPUs)、デジタル信号処理器(DSPs)、アプリケーション用集積回路(ASIC)などである。別の説明がない限りは、図1Aに図示する様々なブロックの構成および作用は、従来の設計によるものである。よって、関連分野の当業者であれば理解できるものとして、それらのブロックは本明細書における詳細説明は省略する。
システムバス16は、メモリ制御器に搭載されるメモリバス、周辺バス、および/もしくはローカルバスを含む、公知のバスの構造もしくは構成あれば、すべて用いることができる。システムメモリ14は、読み取り専用メモリ(「ROM」)18およびランダムアクセスメモリ(「RAM」)20を含む。前記ROM18の一部を構成する基本入力/出力システム(「BIOS」)22は、スタートアップ中などに、コンピューターシステム10内のエレメント間の情報転送をサポートする基本ルーティンを含有する。
コンピューターシステム10はまた、ハードディスク25に対する読み取りおよび書き込み用のハードディスクドライブ24などの、一つ以上の回転メディアメモリと、それぞれ、取り外し可能な光ディスク30と磁気ディスク32に対する読み取りと書き込みを行う光ディスクドライブ26と磁気ディスクドライブ28を含む。光ディスク30は、CD−ROMを採用してもよく、一方、磁気ディスク32は磁気フロッピー(登録商標)ディスクもしくはディスケットを採用できる。ハードディスクドライブ24、光ディスクドライブ26、磁気ディスクドライブ28は、バス16を介して処理部12と交信する。ハードディスクドライブ24、光ディスクドライブ26、磁気ディスクドライブ28は、関連分野の当業者に公知のように、それらのドライブとバス16間に連結されるインターフェースもしくはコントローラーを、例えば、IDE(すなわち、Integrated Drive Electronics)インターフェースを介して含んでもよい。ドライブ24,26,28とそれに関連したコンピューターで読み取り可能な媒体は、コンピューターシステム10に対して、コンピューターで読み取り可能な指示、データ構造、プログラムモジュール、およびその他のデータの不揮発性記憶部を提供する。上記に説明したコンピューターシステム10はハードディスク25、光ディスク30、磁気ディスク32を採用しているが、関連分野の当業者であれば、デジタルビデオディスク(「DVD」)、ベルヌーイカートリッジなどの、他のタイプの回転メディアメモリ、コンピューターで読み取り可能な媒体が採用可能であることを認識するであろう。関連分野の当業者はまた、例えば、磁気カセット、フラッシュメモリカード、RAMs、ROMs、スマートカードなどの非回転メディアメモリを例とした、コンピューターがアクセス可能なデータを保存できる他のタイプのコンピューター読み取り可能媒体が採用可能であることを認識するであろう。
オペレーティングシステム34、一つ以上のアプリケーションプログラム36、他のプログラムもしくはモジュール38、プログラムデータ40などのプログラムモジュールはシステムメモリ14に格納される。システムメモリ14はまた、コンピューターシステム10に、サーバーコンピュータ上の他のサーバーアプリケーションとともに、インターネット、企業のイントラネット、もしくは他のネットワークのホームページなどのソースに対する、データのアクセスおよび交換を許可するブラウザー41を含む。前記ブラウザー41は、ハイパーテキストマークアップ言語などのマークアップ言語(「HTML」)を用いており、情報文書のデータにその文書構造を表すために付加された構文上の区切り文字を使用するマークアップ言語を用いて作動する。
図1Aの図示ではシステムメモリに格納されているが、オペレーティングシステム34、アプリケーションプログラム36、その他のプログラムモジュール38、プログラムデータ40、ブラウザー41はハードディスクドライブ24のハードディスク25、光デスクドライブ26の光ディスク30、および/もしくは磁気ディスクドライブ28の磁気ディスク32に格納することができる。ユーザーは、キーボード42やマウス44などのポインター器などの入力機器を使って、コンピューターシステム10にコマンドや情報を入力できる。他の入力機器としては、マイクロフォン、ジョイスティック、ゲームパッド、スキャナーなどが含まれる。これらとそれ以外の入力機器は、バス16を連結するシリアルポートインターフェースなどのインターフェース46を介して処理部12に接続されるが、パラレルポート、ゲームポート、ユニバーサルシリアルバス(「USB」)などの、他のインターフェースも使用可能である。モニター48もしくは他のディスプレイ機器は、ビデオアダプターなどのビデオインターフェース50を介して、バス16に連結されてもよい。コンピューターシステム10は、スピーカー、プリンターなどの、他の出力機器を含むこともできる。
コンピューターシステム10は、一つ以上のリモートコンピューター、もしくはマイクロ流体システム60などのロボットシステムへの論理接続を用いてネットワーク化された環境での動作が可能である。コンピューターシステム10は、公知の通信手段であればどれでも採用可能であり、例えば、ローカルエリアネットワーク(「LAN」)52、ワイドエリアネットワーク(「WAN」)、もしくはインターネット54である。上記のようなネットワーク環境は、企業規模でのコンピューターシステム、イントラネット、およびインターネットにおいて周知である。
LANのネットワーク環境で使用される場合、コンピューターシステム10は、アダプターもしくはネットワークインターフェース56を介してLAN52に接続される(通信可能にバス16に接続される)。WANのネットワーク環境で使用される場合、コンピューターシステム10は、モデム57、もしくはWAN/インターネット54上で通信を確立する他の機器を含むことが多い。モデム57は、通信を可能にするようにインターフェース46とWAN/インターネット54間に接続される形で、図1Aに図示されている。ネットワーク化された環境では、プログラムモジュール、アプリケーションプログラム、もしくはデータ、もしくはそれらの一部が、サーバーコンピューター(図示なし)に格納される。関連分野の当業者であればただちに認識するであろうが、図1Aに図示のネットワーク接続がコンピューター間、および/もしくはロボットシステム60間の通信網を確立する数例にすぎず、例えば、ワイヤレス接続を含む他の接続方法を用いることもできる。
コンピューターシステム10は、スロット58などの一つ以上のインターフェースを含むことで、コンピューターシステム10に対して、内臓もしくは外付けのどちらかの形態での機器の追加を可能にしてもよい。例えば、好適なインターフェースとしては、オプションカード、シリアおよび/もしくはパラレルポート、USBポート(すなわち、ユニバーサルシリアルバス)、オーディオ入力/ 出力(すなわち、I/O)、および、MIDI/ジョイスティック コネクター、および/もしくはメモリ用スロット用のISA(業界標準アーキテクチャ)、IDE、PCI(すなわち、パソコンインターフェース)、および/もしくは、AGP(すなわち、アドバンスグラフィックプロセッサー)のスロットコネクター、MIDI/ジョイステックコネクター、および/もしくはメモリ用スロットを含んでもよい。
本明細書で記載されている「コンピューターで読み取り可能な媒体」という表現は、処理部12に実行を促す指示を送る際に関与する媒体であればいかなるものも指す。上記媒体は様々な形態をとり、不揮発性媒体、揮発性媒体、および伝送媒体を含むが、それらに限定されるものではない。不揮発性媒体の例としては、ハードディスク25、光ディスク30、もしくは磁気ディスク32のそれぞれを含む。揮発性媒体は、システムメモリ14などのダイナミックメモリを含む。伝送媒体は、同軸ケーブル、銅線、および光ファイバーを含み、システムバス16を備えるワイヤーを含む。伝送媒体はまた、電波や赤外線データ通信中に生成されるものなど、音波や光波の形態を適用可能である。
コンピューターで読み取り可能な媒体の一般形態としては、例えば、フロッピー(登録商標)ディスク、フレキシブルディスク、ハードディスク、磁気テープもしくはそれ以外の磁気媒体、CD−ROM、それ以外の光媒体、パンチカード、ペーパーテープ、それ以外のホールパターンを設けた物理的媒体、RAM、PROM、EPROM、フラッシューEPROM、それ以外のメモリチップもしくはカートリッジ、以降に説明する搬送波、それ以外のコンピューターが読み取り可能であるすべての媒体を含む。
上記様々な態様のコンピューターで読み取り可能な媒体は、一つ以上の指示の一つ以上のシークエンス、を実行に際して処理部12に送る作業に関与してもよい。例えば、各指示は当初、リモートコンピューターの磁気ディスクに載せて移送されてもよい。リモートコンピューターは、そのダイナミックなメモリに指示を搭載し、その指示を、モデムを用いて電話線にのせて伝送することができる。コンピューターシステム10用のモデム57は、電話線を通じてデータを受け取り、そのデータを、赤外線トランスミッターを用いて赤外線信号に変換することができる。システムバス16に連結された赤外線検知器は、赤外線信号で運ばれたデータを受け取り、そのデータをシステムバス16に配置する。システムバス16は、そのデータをシステムメモリ14に送り、そこから、処理部12が指示を取り出して実行する。システムメモリ14が受け取った指示は、処理部12による実行の前か後かどちらかに任意に、記憶器に格納される。
(問題点の事例)
図1Bは、生物学の実験室において、人間かロボット機器によって行われる一組のタスクの簡単な階層型ワークフロー図62を示す。このワークフロー図62は、「Workflow 63」と名づけられたノードが、それ以外の、「サンプル64」、「Reagent 65」、「Dispense 66」、および「Combine 67」と名づけられた4つのノードを含有するために、階層型となっている。細い矢印68はコンテナシップを表し、太い矢印69はワークフローのシークエンスを表す。
図1Bは、生物学の実験室において、人間かロボット機器によって行われる一組のタスクの簡単な階層型ワークフロー図62を示す。このワークフロー図62は、「Workflow 63」と名づけられたノードが、それ以外の、「サンプル64」、「Reagent 65」、「Dispense 66」、および「Combine 67」と名づけられた4つのノードを含有するために、階層型となっている。細い矢印68はコンテナシップを表し、太い矢印69はワークフローのシークエンスを表す。
この例では、ワークフロー63の最終目的は、生物学的サンプルを何らかのリージェントとコンバインし、5百万セルのカウントにおいて、希望するボリュームである50mLを生成することである。さらに重要なのは、サンプルとリージェントの必要とされるボリュームは、オリジナルサンプルのセルの数とボリューム(セル密度)に基づいてコンピューター計算が必要なことである。例えば、必要されるオリジナルサンプルのボリュームは、サンプルの総カウントに対する希望カウント(5M)の割合をサンプルボリュームで乗算したものである(ボリューム*総/希望)。この量は、希望ボリューム(50mL)から減算されて、どれくらいのリージェントが必要かを決定する。これらの数式は、表計算で使用されるタイプのものに非常に似通っているが、残念な点は、フローグラフの自由な形式では、コラムとローの配置を、変数を参照する手段としては使えないことである。
本明細書では、ユーザーが、ノードやプロパティ名の点で簡単な条件式を生成できるような、階層型ネーミングとルックアップアルゴリズムが開示される。詳細に説明すると、上記各数式はこの方法を用いると以下になる。
Dispense.Volume=(Combine.Count/Sample.Count)*Sample.Volume
Reagent.Volume=(Combine.Volume−Dispense.Volume)
(問題の定義)
グラフ中のノードとエッジにプロパティの注釈を加えられる(「ボリューム:50mL」もしくは「カウント数:10M」などのキー:値の組み合わせ)一般的なグラフ構造G(E,N)を考えると、プロパティ値を、スプレッドシートシステムで採用されるような数式を用いて、他のプロパティ値からコンピューター計算することが望ましいアプリケーションが多数ある。
Reagent.Volume=(Combine.Volume−Dispense.Volume)
(問題の定義)
グラフ中のノードとエッジにプロパティの注釈を加えられる(「ボリューム:50mL」もしくは「カウント数:10M」などのキー:値の組み合わせ)一般的なグラフ構造G(E,N)を考えると、プロパティ値を、スプレッドシートシステムで採用されるような数式を用いて、他のプロパティ値からコンピューター計算することが望ましいアプリケーションが多数ある。
図1Bは、一つの解決策を示しており、各ノードもしくはエッジ70a、70b、がグローバル一意性識別子id(GUID)を持つことが想定されている。この想定では、他のプロパティ値は、「G1.X」などのGUID.KEY式を用いて、各数式で参照が可能である。この式を用いた簡素な数式としては、G1.X+1であり、図1Cに示すように、11と評価されることが想定される。
この評価方法は、単に、そのGUIDが「G1」にマッチするノードを検索し、そのノードにプロパティXの値を探すことが目的である。この方法は、階層からは完全に独立して機能するものであり、よって、階層の境界を越えるエッジに使用可能である。しかし、この方法はまた、GUIDE.KEYの組み合わせとして表示するために、すべての式にすべての変数が必要になり、それは、サイズをコンパクトに抑えられないか、もしくは人間による読み取りが難しい可能性が高い。実際のGUIDEは通常、暗号化機器で生成された少なくとも128ビット列で構成されており、時間が経つにつれ、増加する傾向にある。人間に読み取り可能なGUIDは、非常に長く、読み取りが不可能な参照を用いる数式が生成される。
(名称解決方法)
この解決策は、ノードとエッジに、短く、人間が読み取り可能で、ユーザーが選択可能であるが、必ずしも一意的ではない、NAMEプロパティを持たせることが可能になる。この方法と上記に説明した方法との大きな違いは、NAMEが一意的ではないと想定されることである。結果として、その動作がユーザーに予測可能であり、ほとんどの場合シンプルな名称の使用が可能な名称解決検索アルゴリズムが用いられなければならない。
この解決策は、ノードとエッジに、短く、人間が読み取り可能で、ユーザーが選択可能であるが、必ずしも一意的ではない、NAMEプロパティを持たせることが可能になる。この方法と上記に説明した方法との大きな違いは、NAMEが一意的ではないと想定されることである。結果として、その動作がユーザーに予測可能であり、ほとんどの場合シンプルな名称の使用が可能な名称解決検索アルゴリズムが用いられなければならない。
数式でのプロパティ値の参照は、「.」などの何らかの分離子で分離される一連の識別子として表される。そのシークエンスの最後の項目は、プロパティキーであり、そのシークエンスのそれ以前の項目はすべてノードの名称である。以下に示すアルゴリズムは、前記一連のノードの名称がどのようにして階層型グラフ構造において実際のノードにマッピングされるかを定義する。アルゴリズムの検索順序を簡単に説明すると、まず「self」が、その後に「child」が、さらにその後に「parent」が続く。このアルゴリズムはまず例示で説明され、その後正式な定義による説明が続く。
図1Dは、プロパティ値がどのようにしてノードの階層システムで参照されるかを示した、5つのノード、71a〜71eを用いた実施例を示す。説明上の便宜上、各ノードは必ずしも一意的ではないNAMEプロパティを持ち、この実施例のすべてのノードは、キーがXのプロパティを持つ。また、ノード71aは、「TOP」のNAMEプロパティを持ち、それ以外のすべてのノードを(階層に従って)含有する。
オリジナルノードを、数式を含むプロパティが添付されたノードと定義する。図表において、オリジナルノードは71bであり、NAMEはY、プロパティはXである。Yの値に対する式のいくつかの例示と、それらの例がどのように評価されるかを以下に示す。
Y:=Xは、一つの項目のみの参照がキーと認識され、それがオリジナルノードのプロパティ(self)とマッチするため、1と評価される。
Y:=A.Xもまた、オリジナルノードの名称がAであり、最初に検索される(self)ため、1と評価される。
Y:=A.A.Xは、参照の最初の名称である「A」がオリジナルノードの名称(self)とにマッチし、第2の名称である「A」がオリジナルノードのメンバーの名称にマッチするため、100と評価される。ここでも、オリジナルノードは最初に検索され、問題なくマッチングが得られる。
Y:=TOP.A.A.Xはもまた100と評価される。「TOP」は、オリジナルノードの名称(self)にも、そのメンバー(child)の名称にも、そのメンバーにもマッチせず、したがって、検索アルゴリズムはオリジナルノードのコンテナー(parent)まで、すべての参照をパスする。TOPはこの時点でマッチするので、同じアルゴリズムに従って、参照の残りの部分、「A.A.X」に対して、TOPのメンバーすべてが再び検索される。この結果、上記に説明するように100と評価される。
Y:=B.Xは、selfとchildにおいてマッチしないので、1000と評価される。
Y:=B.A.Xは、同様の理由において10と評価される。
Y:=TOP.A.Xは、不明瞭であり、1と10000のどちらかに評価される。実際の結果は、実施によって特定されるものであり、本明細書により定義されるものではない。
(正式な定義)
検索アルゴリズムの正式な擬似コードの定義は、以下のように、機能的に定義される。
検索アルゴリズムの正式な擬似コードの定義は、以下のように、機能的に定義される。
(定義)
1.一組の順序だった識別子([I0.....In])として、参照Vを考える。
2.pre(V)は、n>0なら10と評価され、そうでなければ0である。
3.rem(V)は、[I1....In]と評価される。
4.key(V)はInと評価される。
1.一組の順序だった識別子([I0.....In])として、参照Vを考える。
2.pre(V)は、n>0なら10と評価され、そうでなければ0である。
3.rem(V)は、[I1....In]と評価される。
4.key(V)はInと評価される。
(アルゴリズム)
「n1.n2.n3[n1.key1]n4.key2」という参照は、すべての評価に対して、オリジナルノードから始まる逆深さ優先順序でのネスト式を解決することで解決される。したがって、マッチ(node,「n1.key1」)が「x」と評価される場合、組み合わせ()は、括弧付参照を、マッチ(node,「n1.n2.n3.x.n4.key2」)にあるように「x」に置き換えた後で再び呼び出される。
この技術を具体的に適用すると、一組の階層型ノードのメンバーを、INDEXが前記一組のノードでのその位置を特定するオリジナルノードのプロパティのキーである、「n1.n2.[INDEX]+n1.n3.[INDEX]」にあるように、別の一連の階層型ノードの類似性インデックス付番号を参照するのに用いることができる。この例の他にもいくつかの、参照列の間接性の任意レベルをサポートする本方法の一般的な利用用途9がある。
(エッジ)
エッジプロパティに対する検索アルゴリズムは、コンテナシップがそのエッジが接続される二つのノードの最小公倍コンテナとして定義される点を除いてノードの検索アルゴリズムと同一である。EをノードN1とN2に接続されるエッジとして、例えば、N1がN4に包含されているN3に包含されており、N2はN4に直接包含されている場合、EはEのノードの最小公倍コンテナとしてN4に直接包含される。エッジはメンバーを持たないため、検索アルゴリズムはselfであり、それにparentが続く。上記アルゴリズムは直接エッジに適用される。
エッジプロパティに対する検索アルゴリズムは、コンテナシップがそのエッジが接続される二つのノードの最小公倍コンテナとして定義される点を除いてノードの検索アルゴリズムと同一である。EをノードN1とN2に接続されるエッジとして、例えば、N1がN4に包含されているN3に包含されており、N2はN4に直接包含されている場合、EはEのノードの最小公倍コンテナとしてN4に直接包含される。エッジはメンバーを持たないため、検索アルゴリズムはselfであり、それにparentが続く。上記アルゴリズムは直接エッジに適用される。
(適用例)
図1Eにおいて、ワークフロー図62のノード63〜67それぞれに関連するプロパティは、表72の右側において、Sample.Countの値の入力前に表示される。「Reagent」ノードは、その値が、「Combine.Volume」および「Dispense.Volume」で表示された数式であるボリュームプロパティを有する。一方、「Dispense.Volume」は、「Sample.Count」および「Combine.Count」で表示される。このアルゴリズムにしたがうと、「Combine.Volume」の表示は、「Workflow.Combine.Volume」に置き換えることも可能である。
図1Eにおいて、ワークフロー図62のノード63〜67それぞれに関連するプロパティは、表72の右側において、Sample.Countの値の入力前に表示される。「Reagent」ノードは、その値が、「Combine.Volume」および「Dispense.Volume」で表示された数式であるボリュームプロパティを有する。一方、「Dispense.Volume」は、「Sample.Count」および「Combine.Count」で表示される。このアルゴリズムにしたがうと、「Combine.Volume」の表示は、「Workflow.Combine.Volume」に置き換えることも可能である。
図1Fは、更新された表72に示すように、どのようにしてシステムが、Sample.Countの値が入力された以降の必要ボリュームを、上記に説明したネーミングおよび検索アルゴリズムを用いてコンピューター計算できるかを示す。
本発明を実行する一つの態様として、コンピューター読み取り可能媒体に格納された、コンピューターシステムに上記アルゴリズムを実行させるソフトウェアの指示であり、ノードとエッジが(key.value pairs)というプロパティの注釈を付加された階層性グラフ構造を表す。
図2Aは、適応ワークフロー手段の環境におけるオペレーションを表すアイコン100を示す。各オペレーションはデータもしくはマテリアルに対して行われる動作を表す。入力と出力は、オペレーションにおいてそれぞれ開始するアーク(入力)と終了するアーク(出力)によって表される。特に、図2Aに図示のアイコン100は、「Combine」オペレーションを表す。
コンテナーは、オペレーションとその他コンテナーの集合体であり、階層の任意レベルを含む。コンテナーには2種類があり、1)バッチと、2)作業手順である。コンテナーのサブクラスのみが、図示表示(すなわち、アイコン)を有する。二つの例を以下に示す。
図2Bは、適応ワークフロー手段環境におけるバッチを現すアイコン102を示す。バッチとは、メンバーすべてがそのバッチに関連する座標にしたがって編成された、コンテナーのサブクラスである。アイコン102の上端左側のテキストは、バッチの座標の大きさと次元数を表す。特に、図2Bに図示のアイコン102は3つの個々のコンバインオペレーションの1次元バッチを表す。
図2Cは、適応ワークフロー手段環境における作業手順を表すアイコン102を示す。作業手順はコンテナーのサブクラスであり、例として以下のサンプルフローグラフ(SFG)に示すように、下位の作業手順やバッチも含みうる、一部順序化された一連の作業を指定する。
図3はサンプルフローグラフ(SFG)106である。SFGは、作業手順を表す階層型のグラフである。SFGのノードはオペレーションもしくはコンテナーを表す。オペレーションとコンテナーを接続するアークには2種類ある: a)マテリアルフローアーク108(白)、オペレーション上で開始および終了する; b)テンプレートアーク110(黄)、コンテナー上で開始および終了する。細い矢印112は、「contain」の関係を示す。「Combine」のタイトルの各緑色のバー114はそれぞれ、「Combine」102のタイトルの各コンバインオペレーションのバッチのメンバーである、単一のコンバインオペレーションを図で表したものである。個々のコンバインオペレーション上の番号は、バッチでのそれぞれの位置を示す(以下のインデックスを参照)。
図4は、少なくとも一つの実施形態にしたがった適応ワークフロー手段のユーザーインターフェース120の画面例であり、サンプルバッチと関連しうるプロパティを示す。ユーザーインターフェース120は、様々なユーザーにより選択可能なアイコン、メニュー、パレット、ボタン、および/もしくはダイアログボックスを含んでおり、ユーザーがテンプレートを作成および変更、およびワークフロー手段に別の動作をさせることができるようになっている。特に、ユーザーインターフェース120は、ワークスペース124の水平エッジに沿って延びる一つ以上のツールバー122を含んでおり、SFG106に表すように、定義されたワークフローの各局面を操作する、ユーザーにより選択可能な様々なアイコンを含む。ユーザーインターフェース120はまた、ワークスペース124の垂直エッジに沿って延びる第2のツールバー126を含んでおり、オペレーション、バッチ、作業手順を作成および定義する、ユーザーにより選択可能な様々なアイコンを含む。ユーザーインターフェース120はまた、バッチ、作業手順、および/もしくはオペレーションの特定の特徴を指し示す多数のテキストフィールド128と、バッチ、作業手順、および/もしくはオペレーションの特定の属性の設定を指し示す多数のチェックボックス130を含む。ユーザーは、ワークスペース124で図示されるテンプレートにおいてSFG106が表すワークフローモジュールを定義するために、様々なユーザー選択のアイコンを選択してもよい。
図5は、図4に例示するサンプルバッチに付随したプロパティを示す。プロパティは、SFG106のノードとアークに付随する一対のキー値である。プロパティは、各オペレーションもしくはコンテナーのタイプに適切なパラメテターを指定するのに用いられる。値はどのようなタイプのデータでもよい。本例では、サンプルバッチは、「Normal」、「Cancer」、および「Diabetes」の値をもったキーの「Condition」を有する第1プロパティと、「Lung」、「Liver」、「Blood」の値を持ったキーの「Tissue」を有する第2プロパティを含む。当業者であればわかるように、これは単にバッチとプロパティの一例であり、これより多いもしくは少ない数のConditionsを有するバッチを定義してもよい。
属性は、値が常に正しいか間違っているかのどちらかである、一対のキー値である。属性はプロパティに付随するものであるが、プロパティはオペレーションとコンテナーに関連するのみである。プロパティの「Name」に対する「required」および「visible」などのサンプル属性を図4に示す。
図6は、一例としてのバッチ102と、その座標を示す。バッチは軸記述子のプロパティで定義される「coordinate system (座標)」を有する。軸記述子のプロパティは有限の個別ドメイン(一連の整数、列、もしくはそれ以外のデータタイプ)を指定する。バッチの座標は、確定されたデフォールト順序(例えば、Axis1, Axis2, Axis3; コラム、ロー、プレート; X, Y, Z など)を必ず有する限り、軸をいくつ有してもよい。図6に図示の例では、バッチ102は、コラムとロー上で3×3 2−Dバッチを指定する。このように、図5に図示するバッチ102は、ColumnとRowの二つの軸記述子のプロパティを有する。同時に、それらの記述子は3×3 2−D座標を指定する。特に、図6の図示例であるバッチ102の「Samples」に関しては、座標は、動物タイプと組織タイプの2次元である。バッチ102の各メンバーは、バッチの座標での位置を特定するインデックスプロパティを有する。
バッチのメンバーは、バッチ内のオペレーションもしくはコンテナーである。すべてのメンバーが、バッチの座標内でのメンバーの位置を特定する「Index」プロパティを有する必要がある。
インデックスは、バッチ内のメンバーの位置を特定するバッチメンバーのプロパティである。インデックスプロパティは、バッチの座標のベクトルであるため、軸ごとに一つの数字エントリを有する。本明細書に記載するオートフィルアルゴリズムは、すべてのバッチが同じ次元数を有することを求めるものではないが、それぞれの座標におけるインデックスが比較できるように、すべてのバッチが軸のディフォールト順序において同等であることが求められる。結果として、インデックスのプロパティは、それらのバッチの座標に含まれない軸に対するベクトル表示において、「empty」のエントリーを有することが可能である。以下に例を示す。
X,Y,Zをすべてのバッチの軸順序にする。
AをX軸のみで定義される1−Dバッチにする。
BをY軸のみで定義される1−Dバッチにする。
オペレーションLをAのメンバーにする。したがって、Lは、Xで定義されるが、YとZでは定義されないインデックスプロパティ(ベクトル)を有する必要がある。これは「1,,」と表す。
作業MをBのメンバーにする。したがって、M は、Yで定義されるが、XとZでは定義されないインデックスプロパティ(ベクトル)を有する必要がある。これは「,1,」と表す。
慣例により、上記のコンマは削除することで、かなり長いベクトルなしに、各座標が不特定数の軸(Axis1, Axis2, Axis3, …, AxisNにあるように)を有することができる。したがって、Lのインデックスは「1」であり、Mのインデックスは「,1」となり、つまり、バッチに対して軸が特定されていない場合、インデックスは対応する位置で空白である。この定義づけは、以下に定める、オートフィルアルゴリズムの定義において重要である。
(問題例)
図7は、アイコン132で表される、一組のサンプルに対して行われる簡単な実験手順130の図示である。各サンプルは、アイコン134で表すように、アイコン136で示す単一のリージェントとコンバインされて、アイコン138に示すように培養され、アイコン140に示すように選別され、アイコン142に示すように計測される。サンプルごとに行われる一連のオペレーションは原則的に同一であり、サンプルごとのパラメターのいくつかに小さな変動があるのみである。このように、ユーザーが、オペレーションの「バッチ」を一度用いるだけでシークエンスを取り出し、その後、個々に変化するパラメータのみを、バッチを開くか表の形態で入力できるようにすると有利である。
図7は、アイコン132で表される、一組のサンプルに対して行われる簡単な実験手順130の図示である。各サンプルは、アイコン134で表すように、アイコン136で示す単一のリージェントとコンバインされて、アイコン138に示すように培養され、アイコン140に示すように選別され、アイコン142に示すように計測される。サンプルごとに行われる一連のオペレーションは原則的に同一であり、サンプルごとのパラメターのいくつかに小さな変動があるのみである。このように、ユーザーが、オペレーションの「バッチ」を一度用いるだけでシークエンスを取り出し、その後、個々に変化するパラメータのみを、バッチを開くか表の形態で入力できるようにすると有利である。
大きなアイコン132、134、136、138、140、142、および、矢印144a−、144e (黄)は、ユーザーが作成したバッチ構造を示す。各バッチのサイズを3と指定した後、システムは自動的に、小さなバー146a,a 〜 146e,c (緑)および矢印 148a,a 〜 148e,c (白)で表す精細な構造を作成することになる。リージェントアイコン136はバッチではない。結果として、リージェントアイコン136は、オペレーションの「Combine」バッチに含まれる3つの「Combine」オペレーションのそれぞれに接続される。
図8Aおよび8Bは、オートフィルアルゴリズムをかける前にユーザーによって作成されるテンプレートを示す。特に、図8Aは、各サンプルが一つのロー全体に分配されるように、サンプルの1次元バッチの2次元アレー(もしくはプレート)への配分に対してどのような指定を希望するかを示す。図8Bは、ある条件式をどのように用いてプレートのロー軸の定義をリージェントのロー軸の定義から導くかを示す。コラム軸がリージェントバッチに対して限定されていないため、ローa、bおよびcはコラム1および2の両方に対して、プレートのローa、bおよびcに接続されるべきである。目的は、ユーザーが、バッチレベルでのみ接続と座標をセットアップできるようにすることであり、ある意味では、システムが適正かつ精細なグラフ構造を生成することを可能にする。こうするにあたって、本明細書で「オートフィルアルゴリズム」と呼ばれる、精細な構造を完成、もしくは「補完」するアルゴリズムを採用してもよい。
図8Aおよび9は、オートフィルアルゴリズムの実行の前後それぞれの、モデルの表示を示す。次のセクションでは、ユーザーが、多岐にわたる有用なトポロジーを簡単に指定できるオートフィルアルゴリズムの詳細を提示する。
特に、図9は、オートフィルアルゴリズムの使用の結果得られた、SFG106としてのワークフローモジュールを示す。リージェントバッチはアイコン160で表され、ディスペンス作業はアイコン162で表される。縦のバー 164a〜164b、および 1661,a〜1662,cはバッチメンバーであり、矢印168(白)はオートフィルアルゴリズムにより生成されたマテリアルフローアークである。このSFG106は、リージェント,aが、プレートの1,aおよび2,aの両方に調合されることを示す。矢印170(細い)はコンテナーシップを示す。
(オートフィルアルゴリズム)
以下のアルゴリズムは、図8に示すテンプレートを設けたユーザーからの図9に示すグラフ構造を生成する。
以下のアルゴリズムは、図8に示すテンプレートを設けたユーザーからの図9に示すグラフ構造を生成する。
このシンプルで一般的なアルゴリズムを用いれば、ロー、コラム、もしくはプレートのすべてのウェルへのリージェントの配分、二つの1次元バッチの「クロスプロダクト」(図10および11)の生成、ローおよびコラムにわたるサンプルのプーリング(図12および13)、オペレーションのバッチからの選択、およびトランスポジションなどの有益なグラフ構造を、自動的にかつ多数生成できる。
(オートフィル例)
図10〜15および以下の説明には、正確かつ精細な構造がオートフィルアルゴリズムによって生成できるように、バッチレベルで様々な有益なトポロジーをどのように記述するかを説明する。各例を以下に示す。
・Cross:二つの1次元バッチのメンバーの間でのペア間の関係をすべて一組にして作成する。
・Pool:プールされた次元にわたってマッチするサンプルすべてをコンバインすることでバッチの次元を削減する。例としては、図6に示す、2Dバッチにおける各動物タイプに対する組織タイプのすべてをコンバインする。こうすることで、組織タイプの次元を削除した1Dバッチが生成される。
・Select:オリジナルバッチの座標のサブセットにマッチさせることで、バッチの一部のみを手順の後続ステップで用いることが可能になる。
・Transpose:オートフィルアルゴリズムがかけられる時はバッチの座標の順序を変更することで、ローがコラムに組み込まれ、その結果、様々な有益かつ実験的な構造を作成できる。例の一つとしては、一組のサンプル内で可能なすべての組み合わせを作り出すために、単一のバッチがそれ自身とクロスされる。
図10〜15および以下の説明には、正確かつ精細な構造がオートフィルアルゴリズムによって生成できるように、バッチレベルで様々な有益なトポロジーをどのように記述するかを説明する。各例を以下に示す。
・Cross:二つの1次元バッチのメンバーの間でのペア間の関係をすべて一組にして作成する。
・Pool:プールされた次元にわたってマッチするサンプルすべてをコンバインすることでバッチの次元を削減する。例としては、図6に示す、2Dバッチにおける各動物タイプに対する組織タイプのすべてをコンバインする。こうすることで、組織タイプの次元を削除した1Dバッチが生成される。
・Select:オリジナルバッチの座標のサブセットにマッチさせることで、バッチの一部のみを手順の後続ステップで用いることが可能になる。
・Transpose:オートフィルアルゴリズムがかけられる時はバッチの座標の順序を変更することで、ローがコラムに組み込まれ、その結果、様々な有益かつ実験的な構造を作成できる。例の一つとしては、一組のサンプル内で可能なすべての組み合わせを作り出すために、単一のバッチがそれ自身とクロスされる。
(Cross)
図10および11は、プレート内で各サンプルを各ドラッグと組み合わせる「Cross」実験のセットアップとその結果を示す。特に、図10はクロス実験のセットアップを示す。図10に示すように、アイコン200で示すサンプルは、コラム軸に沿って単一の次元で配置される。アイコン202で示すドラッグは、ロー軸に沿って単一の次元で配置される。プレートは2D次元として定義され、そのローはドラッグバッチによって決まり、そのコラムはサンプルバッチによって決まる。オートフィルアルゴリズムは、プレートのx、yをサンプルのxとドラッグのyとマッチさせ、その結果、アイコン204が示すクロスプロダクトにおいて、ドラッグyとサンプルxが合成される。この結果が図11に示す精細なトポロジーである。コンバインオペレーションのバッチは、ユーザーによるこの情報の確認は一箇所でできるように、そのコラム軸の定義がサンプルから導かれ、ロー軸の定義はドラッグから導かれる。
図10および11は、プレート内で各サンプルを各ドラッグと組み合わせる「Cross」実験のセットアップとその結果を示す。特に、図10はクロス実験のセットアップを示す。図10に示すように、アイコン200で示すサンプルは、コラム軸に沿って単一の次元で配置される。アイコン202で示すドラッグは、ロー軸に沿って単一の次元で配置される。プレートは2D次元として定義され、そのローはドラッグバッチによって決まり、そのコラムはサンプルバッチによって決まる。オートフィルアルゴリズムは、プレートのx、yをサンプルのxとドラッグのyとマッチさせ、その結果、アイコン204が示すクロスプロダクトにおいて、ドラッグyとサンプルxが合成される。この結果が図11に示す精細なトポロジーである。コンバインオペレーションのバッチは、ユーザーによるこの情報の確認は一箇所でできるように、そのコラム軸の定義がサンプルから導かれ、ロー軸の定義はドラッグから導かれる。
図11は、その結果生成される、Samples.Columns およびDrugs.Rowsの軸定義を入力した後の、図10のクロス例に対して、オートフィルアルゴリズムによって生成された精細なトポロジーを示す。
(Pooling)
図12および13は、「Pooling」実験のセットアップとその結果を示す。プーリングの目的の一つとしては、例えば、ローもしくはコラムのすべてのメンバーを単一のコンバインオペレーションに接続することである。もし、複数のコラムにわたってプールするなら、その結果のバッチはコラム軸を持たず、ローのみのはずである。特に、図12はプーリング例のセットアップを示す。「Drug」アイコン210は薬剤をしめし、「Sample」アイコン212はサンプルを示し、「Cross」アイコン214はクロスオペレーションを示し、「Pool」アイコン216はプーリングオペレーションを示す。図12に示すテンプレートは、図13に示すように、希望するプーリングをオートフィルアルゴリズム行わせる。これは、インデックス,xのプールバッチのメンバーがローxの2dバッチの全メンバーにマッチするので有効である。図12の2Dクロスプロダクトの各ローは単一のコンバインオペレーションにプールされる。結果得られるバッチは1次元であり、クロス_プロダクトのローと同じ数のローを有する。
図12および13は、「Pooling」実験のセットアップとその結果を示す。プーリングの目的の一つとしては、例えば、ローもしくはコラムのすべてのメンバーを単一のコンバインオペレーションに接続することである。もし、複数のコラムにわたってプールするなら、その結果のバッチはコラム軸を持たず、ローのみのはずである。特に、図12はプーリング例のセットアップを示す。「Drug」アイコン210は薬剤をしめし、「Sample」アイコン212はサンプルを示し、「Cross」アイコン214はクロスオペレーションを示し、「Pool」アイコン216はプーリングオペレーションを示す。図12に示すテンプレートは、図13に示すように、希望するプーリングをオートフィルアルゴリズム行わせる。これは、インデックス,xのプールバッチのメンバーがローxの2dバッチの全メンバーにマッチするので有効である。図12の2Dクロスプロダクトの各ローは単一のコンバインオペレーションにプールされる。結果得られるバッチは1次元であり、クロス_プロダクトのローと同じ数のローを有する。
図13は、図12図示のプーリング例を完遂させるためにオートフィルアルゴリズムをかけることで得られる接続性を示す。マテリアルフローは、コラムを削除するための、複数のローにわたるプーリングが後続するクロス構造を示す。
(Selection)
図14はセレクト作業手順を示す。共通して必要なことは、与えられた一組のサンプルのサブセットに作業手順を行うことである。これは、オートフィルアルゴリズムを用いて、重要な軸のサブセットを特定することで完遂できる。次元数を同じに維持すれば、プーリングは起きない。図14の例では、ディスペンスバッチのプレート次元がサンプルのオリジナルバッチに対するプレート次元のサブレンジとして特定される。結果として、オートフィルアルゴリズムはディスペンスバッチのメンバーを、インデックスが正確にマッチするオリジナルバッチのメンバーに接続させるのみである。
図14はセレクト作業手順を示す。共通して必要なことは、与えられた一組のサンプルのサブセットに作業手順を行うことである。これは、オートフィルアルゴリズムを用いて、重要な軸のサブセットを特定することで完遂できる。次元数を同じに維持すれば、プーリングは起きない。図14の例では、ディスペンスバッチのプレート次元がサンプルのオリジナルバッチに対するプレート次元のサブレンジとして特定される。結果として、オートフィルアルゴリズムはディスペンスバッチのメンバーを、インデックスが正確にマッチするオリジナルバッチのメンバーに接続させるのみである。
図14、Select。この構成は、5x4x3のバッチにおいて、3つのプレートから第一のプレートを選択する。インセット220は、オートフィルアルゴリズムを用いる前に、ユーザーによって要求される入力を示す。サンプルアイコン222はサンプルを表し、ディスペンスアイコン224はディスペンスオペレーションを表す。「5x4x1」の次元は、次元のサイズを示すのみである。実際のプレートもしくは選択されたプレートは、ユーザーによって指定されたディスペンスバッチ用の座標を介して決定する。例えば、プレートが「1」ではなく、「2、3」として特定される場合、次元サイズは5x4x2であり、オートフィルアルゴリズムは、第1ではなく、第2および第3のプレートにマッチする。
(Transpose)
図15はトランスポーズ作業手順を図示する。バッチの配置方法を変更するのは有益な場合もある。例としては、単一のバッチから、可能なすべての組み合わせを作成する必要がある場合である。これは、オリジナルサンプルが二つのバッチに分けられ(ディスペンスオペレーション)、一つのバッチがロー軸に沿って配置され、他方がコラム軸に沿って配置される場合にのみ、上記のクロスパターンによって完遂される。このタスクは、バッチの一つに対して軸の順序が変更されるべきであるとの命令を出すことができれば、オートフィルアルゴリズムを用いて完遂できる。ランクプロパティを用いれば、違う順序にしたがって、関連するバッチに対してのみ、オートフィルアルゴリズムをマッチさせることができる。結果として、オリジナルサンプルバッチのメンバーxはトランスポーズされたディスペンスバッチ(Down)のメンバー,xにマッチする。図15は、サンプルのバッチをそれ自身とクロスするのに、このパターンがどのように用いられるかを示す。
図15はトランスポーズ作業手順を図示する。バッチの配置方法を変更するのは有益な場合もある。例としては、単一のバッチから、可能なすべての組み合わせを作成する必要がある場合である。これは、オリジナルサンプルが二つのバッチに分けられ(ディスペンスオペレーション)、一つのバッチがロー軸に沿って配置され、他方がコラム軸に沿って配置される場合にのみ、上記のクロスパターンによって完遂される。このタスクは、バッチの一つに対して軸の順序が変更されるべきであるとの命令を出すことができれば、オートフィルアルゴリズムを用いて完遂できる。ランクプロパティを用いれば、違う順序にしたがって、関連するバッチに対してのみ、オートフィルアルゴリズムをマッチさせることができる。結果として、オリジナルサンプルバッチのメンバーxはトランスポーズされたディスペンスバッチ(Down)のメンバー,xにマッチする。図15は、サンプルのバッチをそれ自身とクロスするのに、このパターンがどのように用いられるかを示す。
インセット230は、図10および11に示すように、単一の1次元バッチをどのように分けてトランスポーズすれば、クロス作業手順のそれ自身とコンバインできるのかを示す。サンプルアイコン232はサンプルを示し、「Across」アイコン234はアクロスオペレーションを示し、「Down」アイコン236はダウンオペレーションを示し、「Cross」アイコン238はクロスオペレーションを示す。マッチングアルゴリズムによって使用される座標のディフォールト順序は、{Column, Row, Plate} の代わりに、{Row, Column Plate} の新しい順序を特定する「Rank」プロパティによってオーバーライドされる。結果として、オートフィルアルゴリズムは「Down」バッチのローを「Sample」バッチのコラムにマッチさせることで、「Down」が「Across」とクロスして、可能なすべての組み合わせの2−Dバッチを形成する。
その他の様々な有用なパターンは特に、マッチアルゴリズムを様々な次元に沿ってシフトもしくはストレッチできるようにオフセットやストライドなどの他の指令が加えられた場合に、オートフィルアルゴリズムで解析される。
(オートフィルアルゴリズムエクステンション)
オートフィルアルゴリズムに対するこのエクステンションは、数学的に表示されうるパターンなら実際にどれでも含むように、自動的に生成可能な構造のクラスを一般化する。簡潔かつハイレベルな仕様から、オートフィルアルゴリズムは、このエクステンションを用いて、多次元スペースにおける組み合わされた複雑な作業手順やコンピュータ計算に対するモデルを生成できる。
オートフィルアルゴリズムに対するこのエクステンションは、数学的に表示されうるパターンなら実際にどれでも含むように、自動的に生成可能な構造のクラスを一般化する。簡潔かつハイレベルな仕様から、オートフィルアルゴリズムは、このエクステンションを用いて、多次元スペースにおける組み合わされた複雑な作業手順やコンピュータ計算に対するモデルを生成できる。
上記に論考した一般的なオートフィルアルゴリズムは、各インデックス位置でマッチした接続バッチのメンバーを接続し、空白位置はすべてのエントリーもしくは他の空白エントリにマッチする。このアルゴリズムはまた、バッチに含まれないが、バッチにエッジを介して接続されるオペレーションにも有効である。それらのオペレーションはインデックスプロパティを有しないため、接続されたバッチメンバーのインデックスプロパティすべてにマッチする。これは単一のオペレー損をバッチの全メンバーに接続するのに有効である。
このアルゴリズムに対するエクステンションは、各マッチを査定する前に、ユーザ定義のG.Index.eへの変換を適用するため、新しいアルゴリズムは以下のように生成される。一般化されたアルゴリズムからの変更部分は太字で強調して示す。
図16は、オートフィルアルゴリズムにSample 302とDispense 1 304の間で接続をシフトさせるマッチルールから発生したSFG200の簡略な一例である。図16に図示されたコラムマッチルールは、オートフィルアルゴリズム適用前に、Dispense 1 304の各メンバー304a〜304dごとに、個別に査定される。1を各メンバー304a〜304dのコラム位置に加算すると、接続が左へシフトする。例えば、Dispense 1 304の第4メンバー304dは、Sample302の第5メンバーの302eに接続される。また、Dispense 1 304は4つのメンバーを含むのみである。オートフィルアルゴリズムは、マッチのないメンバーを自動的に削除する。
マッチルールに若干の変更を加えたものを、図17のSFG320で図示するが、ここでは、同様の4つのメンバーという結果がでているが、シフトはない。図17では、コラムマッチルールの条件式が、Column0に対してマッチするものがないことを確認するために使用されて、他の位置は影響を受けない。この場合、シフトはない。
図18は、SFG350で表されるような、有益な構造を生成するための、オートフィルアルゴリズムのパワーとマッチルールエクステンションの説明に対する、より高度な例を示している。統計的な観点から、一組のreagent354に対するすべての可能な組み合わせを用いて、一組のSample352に実験を試みることが必要な場合がある。オートフィルアルゴリズムとマッチルールエクステンションを用いれば、そうした実験の正確なグラフ表示350を簡単に生成できる。
図18の例では、マッチルールがどのようにオリジナルサンプルセットもしくはbatch352を同時にトランスポーズしてペアリングの重複を避け、望ましい上位もしくは下位のトライアングルマトリックスが得られるかが示されている。この例は図15の図示と同様であり、original sample352が二つのバッチ(Dispense Operations Across 354およびDown356)に分けられており、バッチの一つがロー軸に沿って配置されており、他方がコラム軸に沿って配置されている。Across batch354に対するペアの重複は、コラムがロー同等か大きい場合にはすべてのマッチングを避け、マッチングをチェックする前にローとコラムのインデックス位置をトランスポーズすることで、防ぐことができる。選択されたアイコンの間のdark line358は、オートフィルによって生成された接続のいくつかを強調する。Cross batch360の項目に対するインデックスは、それらのoriginal Sample batch352との関係を、適正に指し示す。これは、ユーザーがバッチレベルで定義する接続に沿って、バッチからバッチへ、オートフィルアルゴリズムと自動座標が伝播していることの自然な結果である。
(マニュアルオーバーライドに対するオートフィルアルゴリズムのエクステンション)
上記で論考されたオートフィルアルゴリズムでは、フローグラフのバッチメンバー間の接続はすべて、アルゴリズムによって決定される。これらの結果は、アルゴリズムを用いた後で、自動とマニュアルの接続を組み合わせるために、ユーザーによって変更が可能である。しかし、この方法は、バッチサイズとマッチルールが変更されるために、アルゴリズムが繰り返し再実行されるダイナミックな実行には好適とはいえない。ダイナミックなアルゴリズムの実行においては、オートフィルの結果に対してマニュアルで加えた変更は、次の実行で消去される。この問題点を解決するために、その後のオートフィルアルゴリズムの実行結果に影響を与える方法での、モデルのマニュアル編集を保存する新規な方法を以下に提起する。モデリングのエクステンションとオートフィルアルゴリズムへの変更を以下に説明する。
上記で論考されたオートフィルアルゴリズムでは、フローグラフのバッチメンバー間の接続はすべて、アルゴリズムによって決定される。これらの結果は、アルゴリズムを用いた後で、自動とマニュアルの接続を組み合わせるために、ユーザーによって変更が可能である。しかし、この方法は、バッチサイズとマッチルールが変更されるために、アルゴリズムが繰り返し再実行されるダイナミックな実行には好適とはいえない。ダイナミックなアルゴリズムの実行においては、オートフィルの結果に対してマニュアルで加えた変更は、次の実行で消去される。この問題点を解決するために、その後のオートフィルアルゴリズムの実行結果に影響を与える方法での、モデルのマニュアル編集を保存する新規な方法を以下に提起する。モデリングのエクステンションとオートフィルアルゴリズムへの変更を以下に説明する。
図19においては、バッチXはバッチYに接続されている。結果として、バッチXの各メンバーは、オートフィルアルゴリズムによる「automatic」接続によって、バッチYのメンバーそれぞれに自動的に接続される。
オリジナルなシステムでは、ユーザーが接続を削除したい場合には、例えば、バッチXの1,AとバッチYの1,A間において、ユーザーは、それらの間で「automatic」接続を削除できた。しかしながら、オートフィルアルゴリズムが再実行されると、ユーザーの意思に反して、この削除された接続が復元する。
バッチサイズやマッチルールなどのパラメータが変更されると自動接続が再計算されるダイナミックユーザーインターフェースをサポートするには、マニュアルによる変更を保存する方法が求められる。二通りのマニュアル変更が可能である。「automatic」エッジの削除(すなわち、削除)、および、オートフィルアルゴリズムであれば作成されなかったエッジの追加(すなわち、追加)である。
新規の実行の際には、その場所の間に「NoConnect」エッジを追加することでautomatic」エッジが永久的に削除される。この「NoConnect」エッジは、新規のオートフィルアルゴリズムによって遵守されるので、自動エッジは作成されない。「NoConnect」エッジは図20に白で表示している。
この「NoConnect」エッジはユーザーから見えないようにすることも可能であるが、「NoConnect」エッジは可視にすることで、ユーザーが、自動接続を復元させたい場合に、「NoConnect」エッジを削除することを認識できるようにすることが好ましいと考えられる。
マニュアル接続を保存するには、オートフィルアルゴリズムの再実行前に、自動接続のみが削除される。図21は、Xにおける2,AとYにおける1,A間にマニュアル接続を追加した結果を示す。
オートフィルのダイナミックな実行は、以下の擬似コード仕様で要約できる。
(その他の適用)
上記の各例は、実験手順の観点から説明されるが、純粋に数学的なモデリングやコンピュータ計算にも同様に適用可能である。例として、バッチや自動的に生成された接続は生物学的システムの空間的および時間的なモデルを生成するのに使用可能である。バッチの各エレメントは、化学種の反応や凝縮に対応し、エッジは化学種の凝縮の変化を引き起こす反応内外の科学的移動に対応する。オートフィルアルゴリズムおよびマッチルールエクステンションによって、ユーザーにとって、それらのシステムや他のコンピューターシステムの複雑な有限エレメントモデルを、シンプルなアイコン表示を用いて迅速に生成することが可能になる。
上記の各例は、実験手順の観点から説明されるが、純粋に数学的なモデリングやコンピュータ計算にも同様に適用可能である。例として、バッチや自動的に生成された接続は生物学的システムの空間的および時間的なモデルを生成するのに使用可能である。バッチの各エレメントは、化学種の反応や凝縮に対応し、エッジは化学種の凝縮の変化を引き起こす反応内外の科学的移動に対応する。オートフィルアルゴリズムおよびマッチルールエクステンションによって、ユーザーにとって、それらのシステムや他のコンピューターシステムの複雑な有限エレメントモデルを、シンプルなアイコン表示を用いて迅速に生成することが可能になる。
関連分野の当業者であれば、図2〜18と本明細書の詳細な説明に基づいて、速やかにソースを作成することが可能であろう。
ワークフローモデリングにおけるオートフィリングの機器や方法に対する各実施形態や実施例が、本明細書において、実例紹介として説明されているが、関連分野の当業者であれば気づくように、種々の均等な変更が、本発明の精神と範囲を逸脱することなく可能である。本発明の記載内容は、上記にその全体を説明した例示のコンピューターシステムに限らず、他のプロセッサー制御システムに適用可能である。同様に、本発明の記載内容は、上記にその全体を説明した例示のワークフローモデリング手段に限らず、他のワークフローモデリング手段に適用可能である。
上記に説明した各実施形態を組み合わせることで、さらなる実施形態を提供可能である。本明細書に記載、および/もしくはアプリケーションデータシートに挙げられたすべての、米国特許、米国特許出願広報、米国特許出願、外国特許、外国特許出願、非特許出版物、かつ以下に挙げる同一出願人による仮特許出願−含むが限定は受けない−は、その記載全容において、参照され本書に組み込まれる。
Serial No. 60/454,756, filed March 14, 2003, 「METHOD, APPARATUS AND ARTICLE FOR GRAPHICAL MANIPULATION OF WORKFLOW USING EQUATIONS;Serial No. 60/493,749, filed August 8, 2003, 「BATCH−BASED METHOD AND TOOL FOR GRAPHICAL MANIPULATION OF WORKFLOWS」;Serial No. 60/505,096, filed September 22, 2003, 「BATCH−BASED METHOD AND TOOL FOR GRAPHICAL MANIPULATION OF WORKFLOWS」;Serial No. 60/543,859, filed February 11, 2004, 「BATCH−BASED METHOD AND TOOL FOR GRAPHICAL MANIPULATION OF WORK FLOWS」;Serial No. 60/493, 748, filed August 8, 2003, 「CLOSED LOOP INTEGRATION OF IN SILICO AND PHYSCIAL MODELING」;Serial No. 60/508,109, filed October 2, 2003, 「CLOSED LOOP INTEGRATION OF IN SILICO AND PHYSCIAL MODELING」。本発明の態様は、必要であれば、変更を加えることで、様々な特許、出願、印刷物のシステム、回路、概念を採用し、本発明にさらなる実施手形態を提供することが可能である。
Serial No. 60/454,756, filed March 14, 2003, 「METHOD, APPARATUS AND ARTICLE FOR GRAPHICAL MANIPULATION OF WORKFLOW USING EQUATIONS;Serial No. 60/493,749, filed August 8, 2003, 「BATCH−BASED METHOD AND TOOL FOR GRAPHICAL MANIPULATION OF WORKFLOWS」;Serial No. 60/505,096, filed September 22, 2003, 「BATCH−BASED METHOD AND TOOL FOR GRAPHICAL MANIPULATION OF WORKFLOWS」;Serial No. 60/543,859, filed February 11, 2004, 「BATCH−BASED METHOD AND TOOL FOR GRAPHICAL MANIPULATION OF WORK FLOWS」;Serial No. 60/493, 748, filed August 8, 2003, 「CLOSED LOOP INTEGRATION OF IN SILICO AND PHYSCIAL MODELING」;Serial No. 60/508,109, filed October 2, 2003, 「CLOSED LOOP INTEGRATION OF IN SILICO AND PHYSCIAL MODELING」。本発明の態様は、必要であれば、変更を加えることで、様々な特許、出願、印刷物のシステム、回路、概念を採用し、本発明にさらなる実施手形態を提供することが可能である。
上記詳細説明を鑑みて、上記およびそれ以外の変更を加えることが可能である。一般的には、添付された請求項において、そこに記載された用語は、本明細書および開示された実施形態と請求項において、本発明に何ら限定を加えるものではないが、請求項により実施されるすべてのバッチベースの作業手順設計を含むものである。したがって、本発明はその開示による限定は受けないが、その範囲はもっぱら添付の請求項によって決定される。
Claims (28)
- フロープロセスのデジタルモデルを採用した方法であって、
少なくとも二つの階層型ノードのデジタル表示を作成し、前記各階層型ノードが各階層型ノードの多数の次元を定義する各次元数を自身に関連付け、前記各階層型ノードの各次元が互いに対し定義された順序を有し、各次元がそれぞれの多数のメンバーを定義する関連サイズを有し、
前記階層型ノードの少なくともいくつかの間の接続を定義する多数の階層型エッジのデジタル表示を作成し、前記階層型エッジの少なくとも第1のエッジが、前記少なくとも二つの前記階層ノードの第1および第2のノードとの間に接続を定義し、
前記階層型エッジの各共有エッジによって接続された階層型ノードの多数のペアのそれぞれに対して、多数のマッチルールの少なくとも一つを前記階層型ノードのペアと関連付け、前各記マッチルールは前記各ペアの階層型ノード間に、少なくとも一つのマトリックス変換を定義し、前記各ペアの前記階層型ノードのメンバーに前記マトリックス変換を適用することで、生成される一組の原始ノードと原始エッジを定義し、多数のマッチルールの第1ルールは、前記第1および第2階層型ノード間に第1マトリックス変換を定義する、方法。 - 請求項1に記載の方法であって、さらに、
前記少なくとも二つの階層型ノードの第1の階層型ノードを表わす第1のアイコンの選択を定義し、第1の階層型ノードに対する次元の総数を示す次元数と各次元のサイズを定義する第1組のユーザー入力を受領し、
前記少なくとも二つの階層型ノードの第2の階層型ノードを表わす第1のアイコンの選択を定義し、第2の階層型ノードに対する次元の総数を示す次元数と各次元のサイズを定義する第2組のユーザー入力を受領する、方法。 - 請求項2に記載の方法であって、さらに、
前記第1階層型ノードから前記第2階層型ノードまで延びるエッジを表わす第1アイコンを定義する第3組のユーザー入力を受領する、方法。 - 請求項1に記載の方法であって、さらに、
前記少なくとも二つの階層型ノードの前記第1の階層型ノードを表わす第1のアイコンの選択と前記第1階層型ノードの人間読み取り可能の名称を定義し、前記第1階層型ノードの次元の総数を示す次元数と、各次元のサイズと、各次元の人間読み取り可能の名称を定義する第1組のユーザー入力を受領する、方法。 - 請求項1に記載の方法であって、さらに、
前記少なくとも二つの階層型ノードの前記第1の階層型ノードを表わす第1のアイコンの選択と前記第1階層型ノードの人間読み取り可能の名称を定義し、前記第1階層型ノードの次元の総数を示す次元数と、次元における互いの順序と、各次元のサイズを定義する第1組のユーザー入力を受領する、方法。 - 請求項1に記載の方法であって、さらに、
前記各階層型ノードに対して、各次元を充填する多数の原始ノードのデジタル表示を、前記多数の次元と前記各階層型ノードの次元のサイズとに基づき自動的に作成する、方法。 - 請求項6に記載の方法であって、さらに、
前記階層型エッジの各共有エッジによって接続された階層型ノードの各ペアに対して、原始ノード間に原始エッジのデジタル表示を、前記階層型ノードの各ペアに関連した前記マッチルールによって定義された前記マトリックス変換に基づき自動的に作成する、方法。 - 請求項7に記載の方法であって、さらに、
前記階層型ノードの少なくとも一つ、もしくは前記階層型エッジの少なくとも一つに対する変化を検知し、
前記検知された変化に対応して、前記各階層型ノードに対して、
前記各次元を充填する多数の原始ノードのデジタル表示を、前記多数の次元と前記各階層型ノードのそれぞれの次元のサイズとに基づき自動的に作成する、方法。 - 請求項7に記載の方法であって、さらに、
前記階層型ノードの少なくとも一つ、もしくは前記階層型エッジの少なくとも一つに対する変化を検知し、
前記検知された変化に対応して、前記各階層型ノードに対して、
前記各次元を充填する多数の原始ノードのデジタル表示を、前記多数の次元と前記各階層型ノードのそれぞれの次元のサイズとに基づき自動的に再作成し、原始ノード間に原始エッジのデジタル表示を、階層型ノードの各ペアに関連した前記マッチルールによって定義された前記マトリックス変換に基づき自動的に作成する、方法。 - 請求項9に記載の方法であって、さらに、
ユーザーが、前記マッチルールの少なくとも一つの、前記原始ノードの少なくとも一つもしくは前記原始エッジの少なくとも一つへの適用の抑制を指示することを決定し、
ユーザー指示による、前記少なくとも一つのマッチルールの、前記原始ノードの少なくとも一つもしくは前記原始ノードの少なくとも一つへの適用の抑制に基づき、前記原始ノードの少なくとも一つもしくは前記原始エッジの少なくとも一つの再作成を選択的に抑制する、方法。 - 請求項1に記載の方法であって、さらに、
前記原始ノードと原始エッジの可視表示を生成する、方法。 - 請求項11に記載の方法であって、さらに、
多数のトランスデューサーを駆動するために、少なくとも前記原始ノードのいくつかと原始エッジのいくつかに対応する多数のトランスデューサー駆動信号を生成する、方法。 - パラレルパスが、結合、および/もしくは分割などの再編成を受けるマテリアルもしくはデータにオペレーションを行う、高度パラレル処理をモデリングするシステムであり、
少なくとも二つの階層型ノードのデジタル表示を作成する手段を備え、前記各階層型ノードがそれ自身を各階層型ノードの多数の次元を定義する各次元数と関連付け、前記各階層型ノードの各次元が互いに対して定義された順序を有し、各次元がそれぞれの多数のメンバーを定義する関連サイズを有するものであり、
前記階層型ノードの少なくともいくつかの間で接続を定義する多数の階層型エッジのデジタル表示を作成する手段を備え、前記階層型エッジの少なくとも第1のエッジが、前記少なくとも二つの階層ノードの第1および第2のノードとの間に接続を定義するものであり、
多数のマッチルールの少なくとも一つを、前記階層型エッジの各共有エッジによって接続された階層型ノードの多数のペアに対して、一対の階層型ノードに関連付ける手段を備え、前記各マッチルールは前各ペアの記階層型ノード間に少なくとも一つのマトリックス変換を定義し、前記各ペアの階層型ノードのメンバーに前記マトリックス変換を適用することで生成される一組の原始ノードと原始エッジを定義し、
前記多数のマッチルールの第1ルールは前記第1ノードと第2ノード間の第1マトリックス変換を定義する、システム。 - 請求項13に記載のシステムであって、さらに、
プロセッサーと、
前記プロセッサーによって実行される指示を格納するコンピューター読み取り可能メモリを備え、
少なくとも二つの階層型ノードのデジタル表示を作成する前記手段は前記コンピューター読み取り可能メモリに格納された第1組の指示を備え、前記階層型ノードの少なくともいくつかの間の接続を定義する多数の階層型エッジのデジタル表示を作成する前記手段は、前記コンピューター読み取り可能メモリに格納された第2組の指示を備え、多数のマッチルールの少なくとも一つを、前記階層型エッジの各共有エッジによって接続された階層型ノードの多数のペアに対して、一対の階層型ノードに関連付ける前記手段は前記コンピューター読み取り可能メモリに格納された第3組の指示を備える、システム。 - 請求項13に記載のシステムであって、さらに、
前記プロセッサーに連結されて、前記階層型ノード、前記階層型エッジ、前記原始ノードおよび原始エッジに動作可能なディスプレイを備える、システム。 - 請求項13に記載のシステムであって、さらに、
一つ以上のロボット機器に制御信号を与える連結可能な出力ポートを備える、システム。 - フロープロセスを体言するデータ構造を格納するコンピューター読み取り可能媒体であって、
少なくとも二つの階層型ノードを備え、前記各階層型ノードは、前記各階層型ノードの多数の次元を定義する各次元数をそれ自身に関連付け、各階層型ノードの各次元がお互いに対し定義された順序を有し、各次元がそれぞれの多数のメンバーを定義する関連サイズを有するものであり、
前記階層型ノードの少なくともいくつかの間で接続を定義する多数の階層型エッジを備え、前記階層型エッジの少なくとも第1のエッジが、前記少なくとも二つの前記階層ノードの第1および第2のノードとの間に接続を定義するものであり、
多数のマッチルールを備え、各前記マッチルールは前記階層型エッジの共通エッジによって接続される階層型ノードの各ペア間に少なくとも一つのマトリックス変換を定義し、前記階層型ノードの各ペアにおける階層型ノードのメンバーに前記マトリックス変換を適用することで、生成される一組の原始ノードと原始エッジを定義し、前記多数のマッチルールの第1ルールは前記第1および第2階層型ノード間の第1マトリックス変換を定義する、コンピューター読み取り可能媒体。 - 請求項17に記載のコンピューター読み取り可能媒体であって、
各メンバーは基本オペレーションもしくは基本マテリアルを表す、コンピューター読み取り可能媒体。 - 請求項17に記載のコンピューター読み取り可能媒体であって、
各メンバーは情報の基本部分を表す、コンピューター読み取り可能媒体。 - 請求項17に記載のコンピューター読み取り可能媒体であって、
各メンバーは基本オペレーション、基本マテリアル、もしくは別の階層ノードの一つを表す、コンピューター読み取り可能媒体。 - 請求項17に記載のコンピューター読み取り可能媒体であって、
各メンバーは前記次元に沿って順序づけられる、コンピューター読み取り可能媒体。 - 請求項17に記載のコンピューター読み取り可能媒体であって、
前記第1および第2階層型ノードの少なくとも一つの前記次元数は3つであり、各次元はX−軸、前記X−軸に直行するY−軸、前記X−軸とY−軸の両方に直行するZ−軸に相当する、コンピューター読み取り可能媒体。 - 請求項17に記載のコンピューター読み取り可能媒体であって、
各メンバーは情報の基本部分を表す、コンピューター読み取り可能媒体。
前記第1および第2階層型ノードの少なくとも一つの前記次元数は2つであり、各次元はローとローに直行するコラムに相当する、コンピューター読み取り可能媒体。 - 階層型ノードと前記階層型ノード間の指示された接続を定義する階層型エッジの形態による高度な構図を採用することで、原始ノードと前記原始ノード間の基本接続の形態によるプロセスフローの下位レベルにおける詳細を表す方法であって、
多数の階層型ノードのそれぞれに対して、各階層型ノードの少なくとも一つのデカルト次元を一部充填する多数の原始ノードを自動的に作成し、
前記自動的に作成された原始ノード間の多数の基本エッジ接続を、前記階層型ノードの接続ペアに関連するマッチルールに基づいて自動的に作成し、前記マッチルールは前記階層型ノードの接続ペアの階層型ノード間に少なくとも一つのマトリックス変換を定義する、方法。 - 請求項24に記載の方法であって、さらに、
プロパティを前記原始ノードの少なくともいくつかに関連付け、前記原始ノードに関連付けられたプロパティは、前記原始ノードを前記マッチルールを介して定義する前記階層型ノードの各次元に割り当てられたプロパティに対応する、方法。 - 請求項24に記載の方法であって、
第1の階層型ノードは第1のマテリアルに相当し、第2の階層型ノードは第2のマテリアルに相当し、第3の階層型ノードは前記第1および第2のマテリアルに対して行われるオペレーションに相当し、第1のエッジは前記第1の階層型ノードを前記第3の階層型ノードに接続し、第2のエッジは前記第2の階層型ノードを前記第3の階層型ノードに接続する、方法。 - 請求項26に記載の方法であって、さらに、
各階層型ノードの少なくとも一つのデカルト次元を一部充填する多数の原始ノードの自動的作成において、前記第1の階層型ノードのローを表す多数の原始ノードを作成し、前記第2の階層型ノードのコラムを表す多数の原始ノードを作成し、前記第3の階層型ノードを表す原始ノードの多数のローとコラムを作成し、前記第3の階層型ノードを表す前記多数のローは前記第1の階層型ノードの多数のローとマッチし、前記第3の階層型ノードを表す前記多数のコラムは前記第2の階層型ノードの多数のコラムと合致する、方法。 - 請求項27に記載の方法であって、さらに、
前記自動的に作成された原始ノード間の多数の基本エッジ接続の、前記階層型ノードの接続ペアに関連するマッチルールに基づく自動的作成において、前記第1の階層型ノードの各ローを表す多数の原始ノードのそれぞれから、前記第3の階層型ノードの各ローにおける前記原始ノードのそれぞれまでのエッジ接続を作成し、前記第2の階層型ノードの各コラムを表す多数の原始ノードのそれぞれから、第3の階層型ノードの各コラムにおける前記原始ノードのそれぞれまでのエッジ接続を作成する、方法。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US45475603P | 2003-03-14 | 2003-03-14 | |
US49374903P | 2003-08-08 | 2003-08-08 | |
US50509603P | 2003-09-22 | 2003-09-22 | |
US54385904P | 2004-02-11 | 2004-02-11 | |
PCT/US2004/007748 WO2004086174A2 (en) | 2003-03-14 | 2004-03-11 | Batch-based method and tool for graphical manipulation of workflows |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006520502A true JP2006520502A (ja) | 2006-09-07 |
JP2006520502A5 JP2006520502A5 (ja) | 2007-07-12 |
Family
ID=33102444
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006507157A Pending JP2006520502A (ja) | 2003-03-14 | 2004-03-11 | ワークフローのグラフィック操作のためのバッチベースの方法および手段 |
Country Status (6)
Country | Link |
---|---|
US (1) | US7010760B2 (ja) |
EP (1) | EP1609049A4 (ja) |
JP (1) | JP2006520502A (ja) |
AU (1) | AU2004222903B2 (ja) |
CA (1) | CA2518884A1 (ja) |
WO (1) | WO2004086174A2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2023507097A (ja) * | 2019-12-17 | 2023-02-21 | ベックマン コールター, インコーポレイテッド | コンピュータ実装された液体ハンドラプロトコル |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8407188B1 (en) | 2003-07-25 | 2013-03-26 | Verizon Data Services Llc | Methods and systems for providing data form management |
US8645547B1 (en) | 2003-07-25 | 2014-02-04 | Verizon Data Services Llc | Methods and systems for providing a messaging service |
WO2005017681A2 (en) * | 2003-08-08 | 2005-02-24 | Teranode Corporation | Closed loop integration of digital models of in silico systems and experimental procedures |
US8285856B1 (en) | 2004-07-23 | 2012-10-09 | Verizon Data Services Llc | Methods and systems for integrating a messaging service with an application |
US8347203B1 (en) * | 2004-07-23 | 2013-01-01 | Verizon Data Services Llc | Methods and systems for defining a form navigational structure |
US8300062B2 (en) * | 2005-04-18 | 2012-10-30 | Steve Tsang | Method, system and computer program for using a suggestive modeling interface |
US7672865B2 (en) * | 2005-10-21 | 2010-03-02 | Fair Isaac Corporation | Method and apparatus for retail data mining using pair-wise co-occurrence consistency |
US20070250505A1 (en) * | 2006-04-25 | 2007-10-25 | Sbc Knowledge Ventures, L.P. | Method and apparatus for defining a workflow |
US20070300173A1 (en) * | 2006-06-26 | 2007-12-27 | Sun Microsystems, Inc. | Apparatus and method for coordinated views of clustered data |
US20080027687A1 (en) * | 2006-07-28 | 2008-01-31 | Ncr Corporation | Process sequence modeling using histogram analytics |
US20080109759A1 (en) * | 2006-09-29 | 2008-05-08 | Stambaugh Thomas M | Spatial organization and display of organizational research information |
US8330033B2 (en) | 2010-09-13 | 2012-12-11 | Apple Inc. | Graphical user interface for music sequence programming |
EP2450711A1 (en) | 2010-11-03 | 2012-05-09 | F. Hoffmann-La Roche AG | Analaysis system for analyzing biological samples |
GB201108709D0 (en) * | 2011-05-24 | 2011-07-06 | Corethree Ltd | Core engine |
WO2012103854A2 (zh) * | 2012-04-19 | 2012-08-09 | 华为技术有限公司 | 表格图形化管理方法和装置 |
WO2014138405A1 (en) * | 2013-03-08 | 2014-09-12 | The Broad Institute, Inc. | Visual workflow display and management |
WO2015190010A1 (ja) * | 2014-06-09 | 2015-12-17 | 国立研究開発法人産業技術総合研究所 | プロトコルチャート作成装置、プロトコルチャート作成方法、コンピュータプログラム及びプロトコルチャート |
US11282011B2 (en) * | 2020-04-01 | 2022-03-22 | Chevron U.S.A. Inc. | Task management interface for well operations |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000347921A (ja) * | 1999-06-07 | 2000-12-15 | Hitachi Ltd | データ管理方法及びその実施装置 |
JP2001344391A (ja) * | 2000-05-30 | 2001-12-14 | Satoshi Sagawa | 様々な組織体固有の、作業者や機能単位にアクティビティの実行履歴を取得できるワークフローシステムを迅速に構築する為の方法 |
JP2003006395A (ja) * | 2001-06-18 | 2003-01-10 | Hitachi Ltd | 業務支援情報抽出プログラム及びそれを用いた業務支援情報抽出システム |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB9322137D0 (en) * | 1993-10-27 | 1993-12-15 | Logical Water Limited | A system and method for defining a process structure for performing a task |
US6288723B1 (en) * | 1998-04-01 | 2001-09-11 | Intel Corporation | Method and apparatus for converting data format to a graphics card |
EP1141813A4 (en) * | 1998-12-23 | 2007-10-24 | Triconex Corp | DEVELOPMENT AND TEST SYSTEM FOR THE MAINTENANCE OF A PROGRAM WITH CAUSE EFFECT DIAGRAM |
US6637473B2 (en) * | 2000-10-30 | 2003-10-28 | Robodesign International, Inc. | Automated storage and retrieval device and method |
-
2004
- 2004-03-11 AU AU2004222903A patent/AU2004222903B2/en not_active Ceased
- 2004-03-11 JP JP2006507157A patent/JP2006520502A/ja active Pending
- 2004-03-11 US US10/799,451 patent/US7010760B2/en not_active Expired - Fee Related
- 2004-03-11 WO PCT/US2004/007748 patent/WO2004086174A2/en not_active Application Discontinuation
- 2004-03-11 EP EP04757725A patent/EP1609049A4/en not_active Withdrawn
- 2004-03-11 CA CA002518884A patent/CA2518884A1/en not_active Abandoned
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000347921A (ja) * | 1999-06-07 | 2000-12-15 | Hitachi Ltd | データ管理方法及びその実施装置 |
JP2001344391A (ja) * | 2000-05-30 | 2001-12-14 | Satoshi Sagawa | 様々な組織体固有の、作業者や機能単位にアクティビティの実行履歴を取得できるワークフローシステムを迅速に構築する為の方法 |
JP2003006395A (ja) * | 2001-06-18 | 2003-01-10 | Hitachi Ltd | 業務支援情報抽出プログラム及びそれを用いた業務支援情報抽出システム |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2023507097A (ja) * | 2019-12-17 | 2023-02-21 | ベックマン コールター, インコーポレイテッド | コンピュータ実装された液体ハンドラプロトコル |
JP7415000B2 (ja) | 2019-12-17 | 2024-01-16 | ベックマン コールター, インコーポレイテッド | コンピュータ実装された液体ハンドラプロトコル |
Also Published As
Publication number | Publication date |
---|---|
EP1609049A4 (en) | 2006-12-06 |
US7010760B2 (en) | 2006-03-07 |
US20040243599A1 (en) | 2004-12-02 |
WO2004086174A3 (en) | 2005-04-14 |
EP1609049A2 (en) | 2005-12-28 |
WO2004086174A2 (en) | 2004-10-07 |
AU2004222903B2 (en) | 2009-10-01 |
CA2518884A1 (en) | 2004-10-07 |
AU2004222903A1 (en) | 2004-10-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2006520502A (ja) | ワークフローのグラフィック操作のためのバッチベースの方法および手段 | |
Wang et al. | ALKEMIE: An intelligent computational platform for accelerating materials discovery and design | |
US8656271B2 (en) | Adapting a spreadsheet for use with a complex object | |
Krishnamurthy et al. | Pathways database system: an integrated system for biological pathways | |
US6571247B1 (en) | Object oriented technology analysis and design supporting method | |
US8234098B2 (en) | Method and apparatus for integrated modeling, simulation and analysis of chemical and biochemical reactions | |
TWI411928B (zh) | 用於將工作簿範圍顯露成資料來源之方法及系統 | |
KR101213798B1 (ko) | 복합 데이터 액세스 | |
US20020178184A1 (en) | Software system for biological storytelling | |
US8296070B2 (en) | Method and apparatus for improved simulation of chemical and biochemical reactions | |
US20110276915A1 (en) | Automated development of data processing results | |
KR20060050040A (ko) | 레포팅 소프트웨어의 주문형 그래픽 표현을 지원하는시스템 및 방법 | |
US20160306908A1 (en) | System and method for accessing settings in a multiphysics modeling system using a model tree | |
JP2006107444A (ja) | スプレッドシートの数式内の動的データを参照する方法および実装 | |
CN101297268A (zh) | 用于设计自动业务过程应用程序的集成系统、工具和方法 | |
Cho et al. | Statistics in MATLAB: A primer | |
JP2000148814A (ja) | 構成部品データ管理システム及び構成部品データ管理プログラムを格納したコンピュータ読み取り可能な記憶媒体 | |
US20060117246A1 (en) | System and method for performing over time statistics in an electronic spreadsheet environment | |
US20070022368A1 (en) | Method and system for hiding sensitive data in an electronic spreadsheet environment | |
US20080294406A1 (en) | Context-based completion for life science applications | |
JP2007108867A (ja) | 文献調査方法、文献調査システムおよび文献調査プログラム | |
Delugach | Charger: A graphical conceptual graph editor | |
Li et al. | Model driven laboratory information management systems | |
Johnston et al. | A flexible framework for Web interfaces to image databases: supporting user-defined ontologies and links to external databases | |
US7529733B2 (en) | Query builder using context sensitive grids |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070309 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070524 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20091218 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20100607 |