ISO 10303-22 は、正式名称がS tandard da ta a ccess i nterfaceまたは単にSDAIであるSTEPの実装方法の一部です。
SDAIは、 EXPRESSで定義されたデータモデルに従ってアプリケーションデータを操作する抽象的な アプリケーションプログラミングインターフェース(API)を定義します。SDAI自体は特定のプログラミング言語とは独立して定義されています。言語バインディングは以下で存在します。
- パート 23 -標準データ アクセス インターフェイスのC++言語バインディング
- パート 24 -標準データ アクセス インターフェイスのCバインディング
- パート 27 -インターネット/イントラネット拡張機能を備えた標準データ アクセス インターフェイスへのJavaバインディング
- FORTRANの言語バインディングとCORBAのインターフェース定義言語(IDL)の開発は中止されました。
SDAI とプログラミング言語へのバインディングの本来の目的は、ソフトウェア アプリケーションをある実装から別の実装に移植できるようにすることでした。しかし、商用実装が少数で、詳細な API が大きく異なっていたため、この目的はすぐに放棄されました。今日では、SDAI という用語は、STEP をサポートする多くの種類の API に使用されることがあります。これらの API は、ISO 10303-22 とその実装方法で定義されている厳密な機能に部分的にしか従っていない場合や、まったく従っていない場合でも同様です。STEP のパート 35 ( SDAI 実装の抽象テスト方法) では、実装が SDAI に準拠しているかどうかを証明する正式な方法が提供されています。
SDAI の主なコンポーネントは次のとおりです。
- SDAI辞書スキーマ、EXPRESSスキーマを記述するためのメタレベルEXPRESSスキーマ
- オブジェクトの管理
- オプションのトランザクション制御を含む、単一のユーザー/スレッドの SDAI 環境全体を制御するSDAI セッション
- SDAIリポジトリは、SDAIモデルとスキーマインスタンスを格納する物理的な(通常は)コンテナ(例:データベース)です。
- SDAIモデルは、特定のEXPRESSスキーマに従ったエンティティインスタンスを含むSDAIリポジトリのサブディビジョンです。
- スキーマインスタンスは、特定の EXPRESS スキーマに従って有効な集団を構成する 1 つまたは複数の SDAI モデルの論理的なグループです。
- オペレーション
- 管理オブジェクトを扱う
- アプリケーションデータ(エンティティインスタンス、属性値、集計とそのメンバー)を作成、削除、変更する
- EXPRESSで指定されたすべての制約とルールに従ってアプリケーションデータを検証する
SDAIおよび類似のSTEP-APIの主要ソフトウェアベンダー
- ユーロステップ
- EPMテクノロジー
- LKSoftWare GmbH / JSDAI
- オープンデザインアライアンスSTEP SDK オープンデザインアライアンスSTEP SDK
- PDTec AG: Ecco ツールキットは、ISO 10303-11、-14、-21、-28 の実装を提供します。
- STEP Tools, Inc
SDAIのオープンソース実装
NIST STEP クラス ライブラリは、ISO 10303-11:1994 を使用したISO 10303-21 (ASCII データ交換ファイル)、-22 (SDAI)、-23 (C++ SDAI バインディング)のパブリック ドメイン実装です。NIST STEP クラス ライブラリの開発は 1990 年代後半に中止されました。 [1] STEPcode (旧 STEP クラス ライブラリ) は、 BSD ライセンスの下で github のBRL-CAD開発者によって改良されました。STEPcode には、実験的な Python バインディングもあります。
JSDAI は、オープン ソース ライセンスAGPLに基づく ISO 10303-22 (SDAI) および ISO 10303-27 (Java SDAI バインディング) の完全な実装です。
参照
- STEP (ISO 10303) 部品リスト
- 日本社会科学会
参考文献
- ^ Thompson, Kristy (2010-10-28). 「STEP クラス ライブラリ (SCL)」. NIST . 2016 年 9 月 22 日閲覧。
