クエリ言語において、パス式は、オブジェクトのグラフ(場合によっては暗黙的)内でオブジェクトへの移動方法を記述することで、オブジェクトを識別します。例えば、パス式は、ある人物の上司の居住地の都市を参照するかもしれません。パス式は、正規表現p.Manager.Home.Cityのような柔軟性をサポートするために拡張されています。XPath
はパス式言語の一例です。
同時実行制御において、パス式は許可される実行シーケンスを表すメカニズムです。例えば、「 」のようなパス式は、ある時点で
{read}, writeの複数の同時実行、readまたは単一の実行のいずれかが許可され、両方が許可されないことを指定します。write
パス式は、ソフトウェアのモニターレベルでプロセスを同期させるためのメカニズムであることを理解することが重要です。これにより、共有データの記述、および同時実行プロセス間の調整と通信に対する明確で構造化されたアプローチが提供されます。この方法はタイミングを表現する能力に優れており、さまざまな方法で使用できます。
さらに、パス式はプロセス同期に2つの理由から有用です。1つ目は、ストリーム式と正規表現の密接な関係により、この同期メカニズムを使用するプログラムの記述と推論が簡素化されることです。2つ目は、多くの並行プログラムにおける同期は有限状態であるため、正規表現で適切に記述できることです。全く同じ理由から、パス式は複雑な非同期回路の動作を制御するのにも有用です。実際、有限状態という仮定は、モニターレベルよりもハードウェアレベルでより合理的である可能性があります。
パス式は、複雑なシステムにおける設計エラーの防止と検出に役立ち、特定の形式のコーディング エラーなどの危険の一部を克服する、高度な記述的同期を提供します。
参照
参考文献
- M. Kifer、W. Kim、Y. Sagiv (1992). 「オブジェクト指向データベースへのクエリ」ACM SIGMOD論文集pp. 393– 402.
- Elisa Bertino、Mauro Negri、Giuseppe Pelagatti、Licia Sbattella (1992年6月). 「オブジェクト指向クエリ言語:概念と課題」. IEEE Transactions on Knowledge and Data Engineering . 4 (3): 223– 236. doi :10.1109/69.142014.
{{cite journal}}: CS1 maint: 複数の名前: 著者リスト (リンク) - R. Campbell & R. Kolstad (1979). 「Pascalにおけるパス式」.第4回国際ソフトウェア工学会議論文集. 第4巻. pp. 212– 219.
- トニー・ブルーム (1979). 「同期メカニズムの評価」.第7回ACMオペレーティングシステム原理シンポジウム議事録. pp. 24– 32.