>サイトトップへ >このカテゴリの一覧へ

 

B 3652 : 2002 (ISO 13281-2 : 2000) 

(1) 

まえがき 

この規格は,(工業標準化法第14条によって準用する)工業標準化法第12条第1項の規定に基づき,社

団法人精密工学会 (JSPE) /財団法人日本規格協会 (JSA) から,工業標準原案を具して日本工業規格を制

定すべきとの申出があり,日本工業標準調査会の審議を経て,経済産業大臣が制定した日本工業規格であ

る。 

制定に当たっては,日本工業規格と国際規格との対比,国際規格に一致した日本工業規格の作成及び日

本工業規格を基礎にした国際規格原案の提案を容易にするために,ISO 13281-2 : 2000,Industrial automation 

systems and integration−Manufacturing Automation Programming Environment (MAPLE) −Part 2 : Services and 

interfacesを基礎として用いた。 

この規格の一部が,技術的性質をもつ特許権,出願公開後の特許出願,実用新案権,又は出願公開後の

実用新案登録出願に抵触する可能性があることに注意を喚起する。経済産業大臣及び日本工業標準調査会

は,このような技術的性質をもつ特許権,出願公開後の特許出願,実用新案権,又は出願公開後の実用新

案登録出願にかかわる確認について,責任はもたない。 

JIS B 3652には,次に示す附属書がある。 

附属書A(規定) インタフェース記述 

JIS B 3652には,次に示す部編成がある。 

JIS B 3651 第1部:機能的体系 

JIS B 3652 第2部:サービス及びインタフェース 

 


 

B 3652 : 2002 (ISO 13281-2 : 2000)  

(1) 

目次 

ページ 

序文  1 

1. 適用範囲  1 

2. 引用規格  1 

3. 背景  2 

4. 定義  3 

4.1 処理 (action)  3 

4.2 データ分類 (data classification) 3 

4.3 データ分類カタログ (data classification catalogue)  3 

4.4 データ源 (data source)  3 

4.5 データベースの型 (data storage type)  3 

4.6 データベースの型のカタログ (dats storage type catalogue)  3 

4.7 データ変換器 (Data Translator) 3 

4.8 辞書マネージャ (Dictionary Manager)  3 

4.9 実行マネージャ (Execution Manager)  4 

4.10 論理対物理の関連付け (logical-to-physical mapping)  4 

4.11 製造用データベース (Manufacturing Database)  4 

4.12 製造用データ辞書 (Manufacturing Data Dictionary)  4 

4.13 製造用データマネージャ (Manufacturing Data Manager)  4 

4.14 製造用ソフトウェア辞書 (Manufacturing Software Dictionary)  4 

4.15 製造用ソフトウェア (Manufacturing Software Programs)  4 

4.16 MAPLE  4 

4.17 MAPLEエンジン (MAPLE Engine)  4 

4.18 ソフトウェア機能カタログ (software capability catalogue)  4 

4.19 ソフトウェア機能 (software program capability)  4 

4.20 ソフトウェアツールリンカ (software Tool Linker)  4 

4.21 タスク (task)  4 

4.22 タスクリスト (task list)  4 

4.23 タスク実行計画マネージャ (Task Planner)  4 

5. 企業的観点から見たMAPLEと製造用ソフトウェアの関係  4 

6. 省略記号  5 

7. 辞書定義スキーマ  5 

7.1 概要  5 

7.2 カタログ  5 

7.2.1 データ分類カタログ  5 

7.2.2 ソフトウェア機能カタログ  5 


 

B 3652 : 2002 (ISO 13281-2 : 2000) 目次 

(2) 

ページ 

7.2.3 データベースの型のカタログ  5 

7.3 製造用データ辞書  5 

7.4 製造用ソフトウェア辞書 5 

8. MAPLEサービス  5 

8.1 概要  5 

8.2 提供すべきサービス  5 

8.3 状態通知  7 

8.4 入力及び出力の型定義 7 

8.5 タスクの実行計画  7 

8.6 データ辞書及びソフトウェア辞書の維持管理  7 

8.6.1 階層  8 

8.6.2 データ源の登録  8 

8.6.3 データ源のリストの作成  8 

8.6.4 データ源の登録の削除  8 

8.6.5 データ源の修正  8 

8.6.6 プログラム機能の登録  8 

8.6.7 プログラム機能のリストの作成  8 

8.6.8 プログラム機能の登録の削除  9 

8.6.9 プログラム機能の修正  9 

8.6.10 論理対物理の関連付けの維持管理  9 

8.6.11 カタログ項目の登録  9 

8.6.12 カタログ項目のリストの作成  9 

8.6.13 カタログ項目の登録の削除  9 

8.6.14 カタログ項目の修正  9 

8.7 製造用データアクセス 9 

8.7.1 提供すべきサービス  10 

8.7.2 データの挿入  10 

8.7.3 データのリストの作成  10 

8.7.4 データの削除  10 

8.7.5 データの更新  10 

8.7.6 データの検索  10 

8.7.7 データの排他的更新権の取得  11 

8.7.8 データの排他的更新権の返却  11 

8.7.9 問合せの転送  11 

8.8 データの変換  11 

8.9 データの直接転送  11 

8.10 プログラムの呼出し  11 

8.11 プログラム実行マネージャ  11 

8.11.1 プログラムの開始  12 


 

B 3652 : 2002 (ISO 13281-2 : 2000) 目次 

(3) 

ページ 

8.11.2 タスクリストによるタスクの実行  12 

8.11.3 タスクリストのサポート  12 

8.11.4 状態管理  13 

8.12 MAPLEシステムサービス  13 

8.12.1 提供すべきサービス  13 

8.12.2 MAPLEオブジェクトの初期化  13 

8.12.3 MAPLEオブジェクトの終了  13 

8.12.4 MAPLEの統括管理  13 

8.12.5 MAPLEオブジェクト間の通信  13 

8.13 MAPLEオブジェクトへのアクセス  13 

9. MAPLEとのインタフェース  13 

9.1 概要  13 

9.2 インタフェースの概要 13 

9.3 製造用ソフトウェア又は他のMAPLEとのインタフェース  14 

9.3.1 概要  14 

9.3.2 インタフェースの定義  14 

9.3.3 共通の動作パラメータ  14 

9.3.4 インタフェースにおける動作の意味及び構文 15 

9.4 製造用データベースへのインタフェース  23 

9.5 データ変換器へのインタフェース  23 

 

附属書A(規定) インタフェース記述  24 

 

 


 

 

日本工業規格          JIS 

 

B 3652 : 2002 

 

(ISO 13281-2 : 2000) 

産業オートメーションシステム 

及びその統合−製造自動化 

プログラミング環境 (MAPLE) − 

第2部:サービス及びインタフェース 

Industrial automation systems and integration− 

Manufacturing Automation Programming Environment (MAPLE) − 

Part 2 : Services and interfaces 

 

 

序文 この規格は,2000年に第1版として発行されたISO 13281-2, Industrial automation systems and 

integration−Manufacturing Automation Programming Environment (MAPLE) −Part 2 : Services and interfacesを

翻訳し,技術的内容及び規格票の様式を変更することなく作成した日本工業規格である。 

 

1. 適用範囲 この規格は,MAPLEを構築する上で用意すべきサービスの最小限のセットとインタフェ

ース要件を規定する。この規格の仕様は,特にMAPLE環境のソフトウェアの開発者,システムインテグ

レータ及びソフトウェアツールの開発者向けのものである。製造自動化環境におけるプログラムの開発者,

企画者及び操作者などの利用者・製造用ソフトウェアの要求にかかわる仕様は,この規格の範囲外である。 

この規格は,MAPLEとソフトウェア間のアプリケーション階層のインタフェースだけを規定している。 

製造用データベースの生成又は削除は,製造用データ辞書及び製造用ソフトウェア辞書の仕様と同様に,

この規格の範囲外である。 

備考 この規格の対応国際規格を,次に示す。 

なお,対応の程度を表す記号は,ISO/IEC Guide 21に基づき,IDT(一致している),MOD

(修正している),NEQ(同等でない)とする。 

ISO 13281-2 : 2000 Industrial automation systems and integration−Manufacturing Automation 

Programming Environment (MAPLE) −Part 2 : Services and interfaces (IDT)  

 

2. 引用規格 次に掲げる規格は,この規格に引用されることによって,この規格の規定の一部を構成す

る。これらの規格は,記載の発行年の版だけがこの規格の規定を構成するものであって,その後の改正版・

追補には適用しない。 

JIS B 3651 産業オートメーションシステム及びその統合−製造自動化プログラミング環境 

(MAPLE) −第1部:機能的体系 

備考 ISO 13281 : 1997 Industrial automation systems Manufacturing Automation Programming 


B 3652 : 2002 (ISO 13281-2 : 2000) 

 

Environment (MAPLE) −Functional architectureが,この規格と一致している。 

JIS B 3700 産業オートメーションシステム及びその統合−製品データの表現及び交換−(規格群) 

備考 ISO 10303 : Industrial automation systems and integration−Product data representation and 

exchange− (Parts)  

通称STEPと呼ばれる。 

JIS X 0221 : 1995 国際符号化文字集合 (UCS) −第1部 体系及び基本多言語面 

備考 ISO/IEC 10646-1 Information technology−Universal Multiple−Octet Coded Character Set 

(UCS) −Part 1 : Architecture and Basic Multilingual Planeが,この規格と一致している。 

JIS X 5740-3 開放型分散処理−参照モデル:アーキテクチャ 

備考 ISO/IEC 10746-3 : 1996 Information technology−Open Distributed Processing−Reference 

Model−Part 3 : Architectureが,この規格と一致している。 

JIS X 5911 開放型システム間相互接続−遠隔データベースアクセス−第1部 モデル,サービス及

びプロトコル 

備考 ISO/IEC 9579-1 : 1993 Information technology−Open Systems Interconnection−Remote 

Database Access−Part 1 : Generic Model, Service and Protocolが,この規格と一致している。 

JIS X 5912 開放型システム間相互接続−遠隔データベースアクセス−第2部 SQL特殊化 

備考 ISO/IEC 9579-2 : 1993 Information technology−Open Systems Interconnection−Remote 

Database Access−Part 2 : SQL Specializationが,この規格と一致している。 

ISO/IEC 9579-3 : 1996 Information technology−Open Systems Interconnection−Remote Database Access

−Part 3 : SQL specialization Protocol Implementation Conformance Statement (PICS) proforma 

ISO/IEC 14750 : 1999 Information technology−Open Distributed Processing−Interface Definition 

Language 

 

3. 背景(1) 

注(1) この箇条は参考である。 

ここ何年かにわたって,製造システムは飛躍的に柔軟となり,機能が高度化している。NC工作機械,

ロボット,無人搬送車,PLC,製造セルといった製造システムを構成する装置の数や型も増加している。

そのため製造技術者は,多種多様な装置向けプログラム及び装置を統合するためのプログラムを,開発及

び更新しなければならない。このことが,システムの運用及び制御を統合するためのプログラムの開発を

一層困難にしている。 

製造プログラムは,製品データ,プロセスデータ,操作データ及び管理データを含む多様性に富んだ製

造データを必要としている。この多様性は,ビジネス・システムなどの他のシステムが扱うデータと比較

しても,製造用データが複雑で多様なスキーマをもっていることを意味している。したがって,製造用デ

ータベースの使用と管理においては,製造に適したアプローチが必要である。MAPLEの概念は,こうし

た製造に適したアプローチを支援することを意図している。 

MAPLEは,製造自動化環境におけるプログラムの開発者,企画者及び操作者が,プログラム作成及び

プログラム実行環境の準備を支援する。 

MAPLEは,次のような場面で支援環境を提供する。 

a) 装置,セル,製造現場及び工場を制御するためのプログラム作成。 

b) 生産計画及び工程計画の立案。 


B 3652 : 2002 (ISO 13281-2 : 2000) 

 

c) 生産準備。 

d) 製造データセットの準備。 

これらの場面で次のものが得られる。 

a) 製造データセット。 

例 幾何形状,ツール,技術,操作シーケンス,段取り,測定,検査,運用 

b) セル,製造現場及び工場の,監視プログラム及び制御プログラム。 

MAPLEサービス及びインタフェースに関するこの規格の構築は,JIS B 3651で規定する機能的体系に沿

っている。機能的体系は,製造用データ辞書及び製造用ソフトウェア辞書を提供する。これらの辞書は形

式にかかわらず,データ源及び入出力要求の製造タスクからの分離を促進する。したがって,MAPLEは,

多種多様なデータ源とソフトウェアツールを境い目なしに統合するための機構を提供する。 

JIS B 3651及びJIS B 3652は,システムインテグレータ,ソフトウェアツールの開発者,及びMAPLE

環境でのソフトウェアの開発者の指針となることを目指している。この規格は,インタフェース記述言語

についてはISO/IEC 14750 : 1999に,また,開放型分散処理 (ODP) の観点からの表現についてはJIS X 

5740-3 : 1998に準拠している。 

STEP(2)データ及びNC加工環境で使用するデータファイルなどとの関連については,MAPLEの製造用

データ辞書及び製造用ソフトウェア辞書にかかわる今後の標準化にゆだねる。 

JIS B 3651は,MAPLE内の幾つかの機能要素並びにそれらの内部及び外部インタフェースを通じて,

MAPLEが提供するサービスに対する理解を助けるために,MAPLEの機能的体系の概要を規定している。 

MAPLEは,どのようなレベルの製造企業であっても適用可能なビルディングブロック構造である。個々

に構築したMAPLEを,必要に応じて企業内に配置して統合することができる。 

注(2) STEPとは,Standard for Exchange of Product Model Dataの略称であり,ISO 10303で規定される

規格群の通称として用いられている。これらの規格群は,JIS B 3700で規定されている。 

 

4. 定義 この規格で用いる主な用語の定義は,次による。MAPLEにかかわる要素は,大文字で始まる

英語表記で示す。 

4.1 

処理 (action)  外部の製造用ソフトウェア又は他のMAPLEに対する作業要求の要素記述。 

4.2 

データ分類 (data classification)  特定のアプリケーションプログラムに対してコンピュータが可読

なデータ表記の識別子。 

例 部品構成表,CLファイルフォーマット,STEPフォーマット 

4.3 

データ分類カタログ (data classification catalogue)  利用者・製造用ソフトウェア又はベンダが指定

するMAPLEで使うデータ分類の集合。 

4.4 

データ源 (data source)  MAPLEに登録した特定のデータ形式のための,データスキーマ,データ

位置,データへのアクセス方法の記述。 

4.5 

データベースの型 (data storage type)  使用するデータベースの型。 

例 ディレクトリファイル,ORACLEデータベース,Accessデータベース,ONTOS,ODBCデータ

源 

4.6 

データベースの型のカタログ (data storage type catalogue)  利用者・製造用ソフトウェア又はベンダ

が指定し,MAPLEで使用する製造用データベースの型の集合。 

4.7 

データ変換器 (Data Translator)  データの表現方法を変換するための製造用ソフトウェアツール。 


B 3652 : 2002 (ISO 13281-2 : 2000) 

 

4.8 

辞書マネージャ (Dictionary Manager)  製造用データ辞書と製造用ソフトウェアツール辞書とを操

作する機能を備えた製造用ソフトウェアツール。 

4.9 

実行マネージャ (Execution Manager)  MAPLEの内部プロセス及びMAPLEの外部で実行する製造

用アプリケーションプログラムや製造用ソフトウェアツールの実行の順序を制御するソフトウェアツール。 

4.10 論理対物理の関連付け (logical-to-physical mapping)  データ源と製造用データ辞書に収納したデー

タとの関係。 

4.11 製造用データベース (Manufacturing Database)  製品,生産工程,生産設備及び生産管理に用いるデ

ータ保管場所。分散している場合もある。 

4.12 製造用データ辞書 (Manufacturing Data Dictionary)  製造用データベースに収められるデータのスキ

ーマ(メタデータ)の集合。 

4.13 製造用データマネージャ (Manufacturing Data Manager)  製造用データベースのアクセスに用いる

製造用ソフトウェアツール。 

4.14 製造用ソフトウェア辞書 (Manufacturing Software Dictionary)  製造用ソフトウェア及び製造用アプ

リケーションプログラムの機能に関する記述の集合。 

4.15 製造用ソフトウェア (Manufacturing Software Programs)  製造用アプリケーションプログラムを支

援する機能(シミュレータ,エディタなど)を提供するために,製造用ソフトウェアツール辞書に登録し

たソフトウェア。 

4.16 MAPLE 複数の製造用装置における制御を支援する,ベンダに依存しない中立な製造自動化プログ

ラミング環境。 

4.17 MAPLEエンジン (MAPLE Engine)  MAPLEの初期化及びMAPLEに対する要求を処理する,

MAPLEの中核ソフトウェアツール。 

4.18 ソフトウェア機能カタログ (software capability catalogue)  利用者・製造用ソフトウェア又はベンダ

が指定し,MAPLEで使用するソフトウェアの機能の集合。 

4.19 ソフトウェア機能 (software program capability)  MAPLEで使用するプログラムの機能の分類。 

4.20 ソフトウェアツールリンカ (Software Tool Linker)  MAPLEエンジンの要求に従って,製造用ソフ

トウェアツールや製造用アプリケーションプログラムを選択し,その実行順序を制御する製造用ソフトウ

ェアツール。 

4.21 タスク (task)  MAPLEがもつ基本的な作業単位の記述。 

4.22 タスクリスト (task list)  順序付けしたタスクの集合(3)。 

注(3) インスタンスによっては,タスクリストで指定したタスクが内部又は外部の処理を参照する。

その処理をタスクと呼ぶ。 

4.23 タスク実行計画マネージャ (Task Planner)  MAPLEエンジンの要求を分析して,実行マネージャが

実行する製造用ソフトウェアを選択し,タスクの実行計画を立案する機能。 

 

5. 企業的観点から見たMAPLEと製造用ソフトウェアの関係 ISO/IEC 14750 : 1999のインタフェース

定義言語を使用して,関係する処理をもつオブジェクトに基づいて,MAPLEと製造用ソフトウェアのイ

ンタフェースを分類する。企業的観点からODP (JIS X 5740-3) を見て,インタフェースに関係するオブジ

ェクトについて,次に説明する。 

a) インタフェースに関係する三つの重要なオブジェクトは,MAPLE,製造用ソフトウェア及びMAPLE

ファインダである。 


B 3652 : 2002 (ISO 13281-2 : 2000) 

 

b) これらのオブジェクトの役割は,次のとおりである。 

1) MAPLEオブジェクトは,MAPLEのサービスを提供する。 

2) 製造用ソフトウェアオブジェクトは,MAPLEのサービスを利用する。MAPLEオブジェクト自身が

利用してもよい。 

3) MAPLEファインダオブジェクトは,あるMAPLEオブジェクトのサービス要求に対応できる

MAPLEオブジェクトを見付け出す。 

c) MAPLEは,MAPLEエンジン,辞書マネージャ,製造用データマネージャ,ソフトウェアツールリン

カ及び実行マネージャで構成する (JIS B 3651)。 

d) MAPLEサービスは,8.で定義する。 

e) 製造用ソフトウェアは,9.で定義するインタフェースを介してだけMAPLEにアクセスできる。 

 

6. 省略記号 

a) DST̲ :データベースの型 (data̲storage̲type)  

b) DS̲ 

:データ源 (data̲source)  

c) SP̲ 

:プログラム (software program)  

 

7. 辞書定義スキーマ 

7.1 

概要 7.は,ODP (JIS X 5740-3) の情報的観点に対応する。 

辞書は,オブジェクトであるなしにかかわらず,データ集合及びプログラムの処理ができる。 

7.2 

カタログ 次の三つのカタログがある。 

7.2.1 

データ分類カタログ このカタログには,NCプログラム,ツールデータ,設定データ,製品デー

タなどの項目がある。 

7.2.2 

ソフトウェア機能カタログ このカタログには,後処理,監視,シミュレーションなどの項目があ

る。 

7.2.3 

データベースの型のカタログ このカタログには,ファイル,関係データベース,オブジェクトデ

ータベース,画像データベースなどの項目がある。 

7.3 

製造用データ辞書 この辞書は,データベースの型のカタログと関係し,データ源の記述及び論理

対物理の関連付けの二つの主要部分を含む。データ源の記述は,関係する製造データの処理方法について

の情報を含む。 

この辞書には,ある工作機械に固有のNCプログラム,STEP製品データなどの項目がある。 

7.4 

製造用ソフトウェア辞書 この辞書は,データベースの型のカタログ及びソフトウェア機能カタロ

グと関係し,ソフトウェアの記述を含む。その記述内容は,ソフトウェアの機能及び起動条件である。 

製造用ソフトウェア辞書には,NCプログラムエディタ,ベンダ固有の制御用ポストプロセッサ,CLフ

ァイル用シミュレータなどの項目がある。 

 

8. MAPLEサービス 

8.1 

概要 8.は,ODP (JIS X 5740-3) の工学的観点に対応する。 

8.2 

提供すべきサービス MAPLEは,次のサービスを提供しなければならない。 

a) タスクの実行計画(8.5参照) 

b) データ源の登録(8.6.2参照) 


B 3652 : 2002 (ISO 13281-2 : 2000) 

 

c) データ源のリストの作成(8.6.3参照) 

d) データ源の登録の削除(8.6.4参照) 

e) データ源の修正(8.6.5参照) 

f) 

プログラム機能の登録(8.6.6参照) 

g) プログラム機能のリストの作成(8.6.7参照) 

h) プログラム機能の登録の削除(8.6.8参照) 

i) 

プログラム機能の修正(8.6.9参照) 

j) 

カタログ項目の登録(8.6.11参照) 

k) カタログ項目のリストの作成(8.6.12参照) 

l) 

カタログ項目の登録の削除(8.6.13参照) 

m) カタログ項目の修正(8.6.14参照) 

n) データの挿入(8.7.2参照) 

o) データのリストの作成(8.7.3参照) 

p) データの削除(8.7.4参照) 

q) データの更新(8.7.5参照) 

r) データの検索(8.7.6参照) 

s) 

データの排他的更新権の取得(8.7.7参照) 

t) 

データの排他的更新権の返却(8.7.8参照) 

u) 問合せの転送(8.7.9参照) 

v) データの変換(8.8参照) 

w) データの直接転送(8.9参照) 

x) プログラムの呼出し(8.10参照) 

y) プログラムの開始(8.11.1参照) 

z) タスクリストによるタスクの実行(8.11.2参照) 

1) タスクリストによるタスクの開始(8.11.2.1参照) 

2) タスクリストによるタスクの終了(8.11.2.2参照) 

3) タスクリストによるタスクの一時停止(8.11.2.3参照) 

4) タスクリストの一時停止(8.11.2.4参照) 

5) タスクリストの再開(8.11.2.5参照) 

6) ステップ単位実行モード(8.11.2.6参照) 

7) タスク単位実行モード(8.11.2.7参照) 

8) 範囲指定のタスク単位実行モード(8.11.2.8参照) 

9) 単位実行モードの解除(8.11.2.9参照) 

10) Nタスク先のタスクの実行(8.11.2.10参照) 

11) 指定タスクの実行(8.11.2.11参照) 

aa) タスクリストの表示(8.11.3.1参照) 

ab) タスクリストの削除(8.11.3.2参照) 

ac) タスクリストの生成(8.11.3.3参照) 

ad) トレースの開始(8.11.4.1参照) 

ae) トレースの停止(8.11.4.2参照) 


B 3652 : 2002 (ISO 13281-2 : 2000) 

 

af) タスクリストの実行状態の確認(8.11.4.3参照) 

ag) MAPLEオブジェクトの初期化(8.12.2参照) 

ah) MAPLEオブジェクトの終了(8.12.3参照) 

ai) MAPLEの統括管理(8.12.4参照) 

aj) MAPLEオブジェクト間の通信(8.12.5参照) 

ak) MAPLEオブジェクトへのアクセス(8.13参照) 

これらサービスは,ベンダが拡張可能である。 

8.3 

状態通知 すべてのサービスは,状態を返さなければならない。 

8.4 

入力及び出力の型定義 次の一般的な型定義を適用しなければならない。 

typedef int  status 

typedef wstring  DataSource 

typedef wstring  SPCapability 

typedef wstring  CatalogEntry 

typedef sequence <wstring>   AttributeList 

typedef sequence <any>   ValueList 

typedef sequence <wstring>   ArgumentList 

typedef sequence <wstring>   TaskList 

typedef sequence <CatalogEntry>   CatalogEntryList 

enum IdentifierType {logical, physical}; 

struct DataIdentifier { 

IdentifierType logical̲or̲physical; 

wstring data̲identifier; 

}; 

enum CheckOutStatus {true, false}; 

8.5 

タスクの実行計画 このサービスは,実行マネージャが実行する前に,MAPLEエンジンが渡した要

求の前処理を提供しなければならない。タスク実行計画マネージャは,与えられた要求を実行マネージャ

が直接実行できるタスクリストに展開しなければならない。 

タスク実行計画マネージャは,次の機能を提供しなければならない。 

a) パラメータ及び入出力を置き換えることでタスクリストを作成する。 

b) ソフトウェア辞書から要求機能を探す。 

c) 複数の検索結果を選択によって一つにする。 

d) 辞書情報を検索する。 

e) 要求機能を確実に解決するようにする。 

f) 

実際の値を参照する。 

g) 入力と出力の間のフォーマット互換性を検査し,必要な箇所に変換タスクを挿入する。 

h) 要求機能に見合わない場合は,MAPLEエンジンにエラーメッセージを発行する。 

このサービスの入力は,次による。 

a) SPCapability型のSP̲capability 

b) ArgumentList型のSP̲capability̲input argument̲list 

このサービスの出力は,TaskListとする。 


B 3652 : 2002 (ISO 13281-2 : 2000) 

 

8.6 

データ辞書及びソフトウェア辞書の維持管理 

8.6.1 

階層 データ源は,一つのデータ集合を複数のデータレコードで構成する階層をもつ。辞書及びそ

れに関連するカタログの維持管理を実装するために提供すべきサービスは,8.6.2〜8.6.14で規定する。 

8.6.2 

データ源の登録 このサービスは,MAPLE利用者及び製造用ソフトウェアが製造用データ辞書に

データ源を登録できるようにする。 

このサービスの入力は,次による。 

a) wstring型のdata̲source̲name 

b) wstring型のDST̲name 

c) wstring型のDST̲parameter̲set 

d) wstring型のdata̲source̲command̲set 

8.6.3 

データ源のリストの作成 このサービスは,MAPLE利用者及び製造用ソフトウェアが製造用デー

タ辞書に問い合わせ,MAPLEに現在登録してあるデータ源を検索できるようにする。 

このサービスの入力は,wstring型のdata̲source̲filterとする。これは,属性の値に基づく既存の

data̲sourcesの選択を定義する。 

このサービスの出力は,関連する属性をともなった型DataSourceListのset̲of̲data̲sourcesとする。 

8.6.4 

データ源の登録の削除 このサービスは,MAPLE利用者及び製造用ソフトウェアが製造用データ

辞書からデータ源の登録を削除できるようにする。 

このサービスの入力は,wstring型のdata̲source̲nameとする。 

8.6.5 

データ源の修正 このサービスは,MAPLE利用者及び製造用ソフトウェアが製造用データ辞書に

あるデータ源を修正できるようにする。 

このサービスの入力は,次による。 

a) wstring型のdata̲source̲name 

b) AttributeList型のdata̲source̲attributes修正する属性を定義する。 

c) ValueList型のdata̲source̲attribute̲values修正する属性に対応する値を提供する。 

8.6.6 

プログラム機能の登録 このサービスは,MAPLE利用者及び製造用ソフトウェアが製造用ソフト

ウェア辞書にプログラムの機能を登録できるようにする。 

このサービスの入力は,次による。 

a) wstring型のSP̲capability̲name 

b) wstring型のSP̲name 

c) wstring型のSP̲location 

d) wstring型のSP̲argument̲template 

e) SPCapability型のSP̲capability 

f) 

ArgumentList型のSP̲argument̲set 

8.6.7 

プログラム機能のリストの作成 このサービスは,MAPLE利用者及び製造用ソフトウェアが製造

用ソフトウェア辞書に問い合わせ,MAPLEに現在登録してあるプログラムの機能を検索できるようにす

る。 

このサービスの入力は,SPCapability型のSP̲capability̲filterとする。これは,その属性の値に基づく既

存のSP̲capabilityの選択を定義する。 

このサービスの出力は,SPCapability型のset̲of̲SP̲capabilitiesとする。これは,AttributeList型の関連

する属性SPcapability̲attributesをもつ。 


B 3652 : 2002 (ISO 13281-2 : 2000) 

 

8.6.8 

プログラム機能の登録の削除 このサービスは,MAPLE利用者及び製造用ソフトウェアが製造用

ソフトウェア辞書からSP̲capabilityの登録を削除できるようにする。 

このサービスの入力は,wstring型のSP̲capability̲nameとする。 

8.6.9 

プログラム機能の修正 このサービスは,MAPLE利用者及び製造用ソフトウェアが製造用ソフト

ウェア辞書におけるプログラム機能を修正できるようにする。 

このサービスの入力は,次による。 

a) wstring型のSP̲capability̲name 

b) AttributeList型のSP̲capability̲attributes修正する属性を定義する。 

c) ValueList型のSP̲capability̲attribute̲values修正する属性に対応する値を提供する。 

8.6.10 論理対物理の関連付けの維持管理 このサービスは,8.6.11〜8.6.14で規定するサービスで提供す

る。 

8.6.11 カタログ項目の登録 このサービスは,MAPLE利用者及び製造用ソフトウェアが指定したカタロ

グへ項目を登録できるようにする。 

このサービスの入力は,次による。 

a) wstring型のcatalogue̲name 

b) wstring型のcatalogue̲entry̲identifierカタログ項目に対して利用者及び製造用ソフトウェアの一意な識

別子を定義する。 

c) AttributeList型のcatalogue̲entry̲attributesカタログが要求するパラメータを指定する。 

d) ValueList型のcatalog̲entry̲attribute̲values 

8.6.12 カタログ項目のリストの作成 このサービスは,MAPLE利用者及び製造用ソフトウェアが指定し

たカタログの問い合わせをできるようにする。 

このサービスの入力は,次による。 

a) wstring型のcatalogue̲name 

b) AttributeList型のcatalogue̲entry̲filter属性の値に基づく既存のカタログ項目の選択を定義する。 

このサービスの出力は,関連するcatalogue̲entry̲attributesを伴う型CatalogueEntryListのカタログ項目の

集合とする。 

8.6.13 カタログ項目の登録の削除 このサービスは,MAPLE利用者及び製造用ソフトウェアが,指定し

たカタログからカタログ項目の登録を削除できるようにする。 

このサービスの入力は,次による。 

a) wstring型のcatalogue̲name 

b) wstring型のcatalogue̲entry̲identifier 

8.6.14 カタログ項目の修正 このサービスは,MAPLE利用者及び製造用ソフトウェアが,指定したカタ

ログからカタログ項目を修正できるようにする。 

このサービスの入力は,次による。 

a) wstring型のcatalogue̲name 

b) wstring型のcatalogue̲entry̲identifier 

c) AttributeList型のcatalogue̲entry̲attributes修正する属性を定義する。 

d) ValueList型のcatalogue̲entry̲attribute̲values 

8.7 

製造用データアクセス 


10 

B 3652 : 2002 (ISO 13281-2 : 2000) 

 

8.7.1 

提供すべきサービス 製造用データアクセスを実装するために提供すべきサービスは,8.7.2〜8.7.9

で規定する。これらのサービスは,データ集合及びデータレコードの両方に適用する。これらのサービス

の対象となるデータ集合及びデータレコードの型は,データ辞書への登録を必要とする。 

8.7.2 

データの挿入 このサービスは,MAPLE利用者及び製造用ソフトウェアが,製造用データベース

に新しいデータ項目を挿入できるようにする。 

このサービスの入力は,次による。 

a) wstring型のdata̲source̲name 

b) wstring型のlogical̲data̲identifier特定のデータ項目を表示するMAPLE環境内で一意な利用者及び製

造用ソフトウェアの一意な識別子とする。 

c) wstring型のphysical̲data̲identifier data̲source内で特定のデータ項目を表示する識別子とする。 

d) wstring型のdata̲item of type wstring data̲sourceに挿入する実際のデータ項目とする。 

8.7.3 

データのリストの作成 このサービスは,MAPLE利用者及び製造用ソフトウェアが,特定の

data̲classificationに対して製造用データベースにおけるすべてのデータ項目のリストを取得できるように

する。 

このサービスの入力は,wstring型のdata̲classificationとする。 

このサービスの出力は,次による。 

a) wstring型のlogical̲data̲identifierこれは,論理的な名前及びdata̲source名を含む。 

b) wstring型のphysical̲data̲identifierこれは,対応する物理的な識別子名を含む。 

8.7.4 

データの削除 このサービスは,MAPLE利用者及び製造用ソフトウェアが,特定のデータ項目を

削除できるようにする。ただし,そのデータ項目は他の利用者及び製造用ソフトウェアが,排他的更新権

を取得していないものとする。 

このサービスの入力は,次による。 

a) wstring型のdata̲source̲name 

b) DataIdentifier型のlogical̲data̲identifier又はDataIdentifier型のphysical̲data̲identifier 

8.7.5 

データの更新 このサービスは,MAPLE利用者及び製造用ソフトウェアが,既存のデータ項目を

更新できるようにする。ただし,そのデータ項目は既に同じ利用者及び製造用ソフトウェアが,排他的更

新権を取得しているものとする。 

このサービスの入力は,次による。 

a) wstring型のdata̲source̲name 

b) DataIdentifier型のlogical̲data̲identifier又はDataIdentifier型のphysical̲data̲identifier 

c) AttributeList型のdata̲item̲attributesこれは,更新する属性を定義する。 

d) ValueList型のdata̲item̲attribute̲valuesこれは,更新する属性の対応する値を提供する。 

8.7.6 

データの検索 このサービスは,MAPLE利用者及び製造用ソフトウェアが,特定のデータ項目を

検索できるようにする。 

このサービスの入力は,次による。 

a) wstring型のdata̲source̲name 

b) DataIdentifier型のlogical̲data̲identifier又はDataIdentifier型のphysical̲data̲identifier 

このサービスの出力は,次による。 

a) wstring型のdata̲item 

b) CheckOutStatus型のdata̲check̲out̲status 


11 

B 3652 : 2002 (ISO 13281-2 : 2000) 

 

備考 データが,他の利用者及び製造用ソフトウェアが排他的更新権を取得している場合,これは正

しい。 

8.7.7 

データの排他的更新権の取得 このサービスは,MAPLE利用者及び製造用ソフトウェアが,特定

のデータ集合又はデータレコードを排他的に更新する権利を,そのデータの排他的更新権を返却するまで

確保できるようにする(8.7.8参照)。 

このサービスの入力は,次による。 

a) wstring型のdata̲source̲name 

b) DataIdentifier型のlogical̲data̲identfier又はDataIdentifier型のphysical̲data̲identifier 

このサービスの出力は,その排他的更新権の取得に対する,wstring型のcheck̲out̲identifier,すなわち,

wstring型のシステムが生成する識別子とする。 

8.7.8 

データの排他的更新権の返却 このサービスは,MAPLE利用者及び製造用ソフトウェアが,特定

のデータ集合又はデータレコードを排他的に更新する権利を解放できるようにする。 

このサービスの入力は,wstring型のcheck̲out̲identifierとする。 

8.7.9 

問合せの転送 このサービスは,MAPLE利用者及び製造用ソフトウェアが,特定のデータ源に関

係するすべてのデータ検索問合せがデータマネージャに転送できるようにする。 

このサービスの入力は,次による。 

a) wstring型のdata̲source̲nameこれは,問い合わせるデータベースの参照に必要である。 

b) wstring型のquery̲string 

このサービスの出力は,wstring型のquery̲outputとする。 

8.8 

データの変換 このサービスは,MAPLE利用者及び製造用ソフトウェアが,特定のデータ変換プロ

セスを実行できるようにする。 

このサービスの入力は,次による。 

a) wstring型のtranslation̲name変換のための識別子とする。 

b) wstring型のinput̲schema入力ファイルのスキーマとする。 

c) wstring型のoutput̲schema出力ファイルのスキーマとする。 

d) wstring型のoutput̲location結果として生じる変換プロセスの位置とする。 

8.9 

データの直接転送 このサービスは,一つの製造用ソフトウェアから他の製造用ソフトウェアへ,

データを製造用データベースに収納する必要なしに転送する。 

このサービスの入力は,次による。 

a) wstring型のtarget̲software̲program̲nameこれは,対象となる製造用ソフトウェアのwstring型の

SP̲nameとする。 

b) wstring型のdata̲item 

8.10 プログラムの呼出し このサービスは,製造用ソフトウェア辞書に登録した製造用ソフトウェアプ

ログラムの機能を使用できるようにする。 

このサービスの入力は,次による。 

a) wstring型のSP̲capability̲name 

b) ArgumentList型のSP̲capability̲input̲argument̲list 

このサービスの出力は,ArgumentList型のSP̲capability̲output̲argument̲listとする。 

8.11 プログラム実行マネージャ このサービスは,開発及び維持管理の処理を提供する。 

プログラム実行マネージャは,次の機能も提供しなければならない。 


12 

B 3652 : 2002 (ISO 13281-2 : 2000) 

 

a) 命令の発信元によるステップ実行,終了又は一時停止が可能なタスクリストの実行。 

b) 発信元へのタスクリスト及び実行履歴の準備。 

c) 発信元によるタスクリストの修正。 

8.11.1 プログラムの開始 このサービスは,実行マネージャが,MAPLEエンジンに製造用ソフトウェア

辞書の中に登録した製造用ソフトウェアの開始を要求できるようにする。 

このサービスの入力は,wstring型のSP̲start̲up̲scriptとする。 

8.11.2 タスクリストによるタスクの実行 このサービスは,実行マネージャが,MAPLEエンジンにタス

クリストの実行を要求できるようにする。 

すべてのオプションに対して,入力は次による。 

a) wstring型のtask̲list̲id 

b) wstring型のtask̲id 

8.11.2.1 タスクリストによるタスクの開始 このサービスは,タスクリストの実行ができるようにする。 

8.11.2.2 タスクリストによるタスクの終了 このサービスは,タスクリストの終了ができるようにする。 

8.11.2.3 タスクリストによるタスクの一時停止 このサービスは,タスクリストの一時停止ができるよう

にする。 

8.11.2.4 タスクリストの一時停止 このサービスは,特定のタスク又は外部動作の後に,タスクリストの

一時停止ができるようにする。 

8.11.2.5 タスクリストの再開 このサービスは,タスクリストの実行の再開ができるようにする。 

8.11.2.6 ステップ単位実行モード このサービスは,通常実行モードからステップ単位実行モードへ移行

できるようにする。 

8.11.2.7 タスク単位実行モード このサービスは,次のタスク又は動作の,実行及び停止ができるように

する。 

8.11.2.8 範囲指定のタスク単位実行モード このサービスは,現在のタスクから特定のタスクまでのタス

クリストの実行ができるようにする。 

8.11.2.9 単位実行モードの解除 このサービスは,タスクリストの通常実行モードの実行ができるように

する。 

8.11.2.10 Nタスク先のタスクの実行 このサービスは,実行プロセスが,タスクリスト内のnタスク先の

タスクを実行できるようにする。 

付加的な入力は,wstring型のnとする。 

8.11.2.11 指定タスクの実行 このサービスは,実行プロセスが,タスクリスト内の特定のタスクを再開で

きるようにする。 

8.11.3 タスクリストのサポート 

8.11.3.1 タスクリストの表示 このサービスは,特定のタスクリストを表示できるようにする。 

このサービスの入力は,次による。 

このサービスの入力は,次による。 

a) wstring型のtask̲list̲id 

b) wstring型のoutput̲destination 

このサービスの出力は,ValueList型のtask̲list̲informationとする。 

8.11.3.2 タスクリストの削除 このサービスは,特定のタスクリストを削除できるようにする。 

このサービスの入力は,wstring型のtask̲list̲idとする。 


13 

B 3652 : 2002 (ISO 13281-2 : 2000) 

 

8.11.3.3 タスクリストの生成 このサービスは,タスクリストを生成できるようにする。 

このサービスの入力は,wstring型のtask̲list̲nameとする。 

8.11.4 状態管理 

8.11.4.1 トレースの開始 このサービスは,特定のタスクリストの実行トレースを生成する。 

このサービスの入力は,wstring型のtask̲list̲idとする。 

8.11.4.2 トレースの停止 このサービスは,特定のタスクリストの実行中にトレースを停止できるように

する。 

このサービスの入力は,wstring型のtask̲list̲idとする。 

8.11.4.3 タスクリストの実行状態の確認 このサービスは,利用者及び製造用ソフトウェアが,実行中の

タスクを確認できるようにする。 

このサービスの入力は,wstring型のtask̲list̲idとする。 

このサービスの出力は,wstring型のtask̲idとする。 

8.12 MAPLEシステムサービス 

8.12.1 提供すべきサービス 提供すべきサービスは,8.12.2〜8.12.5で規定する。 

8.12.2 MAPLEオブジェクトの初期化 このサービスは,MAPLEを初期化し開始する。 

このサービスの入力は,wstring型のMAPLE̲nameとする。 

8.12.3 MAPLEオブジェクトの終了 このサービスは,MAPLEを正常に終了する。 

このサービスの入力は,wstring型のMAPLE̲nameとする。 

8.12.4 MAPLEの統括管理 このサービスは,システムマネージャに,MAPLEの臨界的な操作のための

環境を提供する。 

このサービスの入力は,wstring型のMAPLE̲nameとする。 

8.12.5 MAPLEオブジェクト間の通信 このサービスは,一つのMAPLEと他のMAPLEの間の通信を提

供する。 

このサービスの入力は,wstring型のother̲MAPLE̲nameとする。 

8.13 MAPLEオブジェクトへのアクセス このサービスは,MAPLEへのアクセス制御を提供する。 

このサービスの入力は,wstring型のMAPLE̲nameとする。 

このサービスの出力は,status型のreturn̲valueとする。 

 

9. MAPLEとのインタフェース 

9.1 

概要 9.には,ODP (JIS X 5740-3) の計算的観点及び情報的観点を含む。それぞれの観点との対応は,

関連する箇条,又は細分した箇条で述べる。 

インタフェースにおけるメッセージは,JIS X 0221に従って16ビットの文字表現で転送しなければなら

ない。この記述は,CORBA2.2に従う“wstring”の規定を適用する。 

備考 この規格は,MAPLEとソフトウェアの間のアプリケーション層でのインタフェースを規定す

るので,MAPLE開発者は,下位の通信層に対して,既存のDCOM,CORBAなどを使用する

ことになる。 

9.2 

インタフェースの概要 MAPLEは,少なくとも,次の対象に対してインタフェースを提供しなけれ

ばならない。 

a) 製造用ソフトウェア又は他のMAPLE(9.3.2及び附属書Aを参照)。これは,次のインタフェースを

もつ。 


14 

B 3652 : 2002 (ISO 13281-2 : 2000) 

 

1) interface MAPLE,  

2) interface ManufacturingSoftwareProgram,  

3) interface MAPLEFinder; 

b) 製造用データベース(9.4参照) 

c) データ変換器(9.5参照) 

9.3 

製造用ソフトウェア又は他のMAPLEとのインタフェース 

9.3.1 

概要 このインタフェースは,MAPLE,製造用ソフトウェア及びMAPLE検索器とのインタフェ

ースで構成する。 

これらは,次の11種類の動作を提供する。 

a) 製造用ソフトウェアによる新しいセッションの要求(9.3.4.1参照) 

b) MAPLEによる製造用ソフトウェアとの新しいセッションの開始(9.3.4.2参照) 

c) MAPLEサービスの要求(9.3.4.3参照) 

d) MAPLEによる製造用ソフトウェア機能の起動(9.3.4.4参照) 

e) MAPLEからのデータ取得(9.3.4.5参照) 

f) 

MAPLEへのデータ転送(9.3.4.6参照) 

g) 他のMAPLEからのデータ取得(9.3.4.7参照) 

h) 製造用ソフトウェアへのデータ転送(9.3.4.8参照) 

i) 

他のMAPLEへの一斉通信(9.3.4.9参照) 

j) 

製造用ソフトウェアからのセッションの終了(9.3.4.10参照) 

k) MAPLEからのセッションの終了(9.3.4.11参照) 

インタフェースは,9.3.2及び附属書Aで定義する。共通の動作パラメータの意味は,9.3.3で説明する。

インタフェースにおける動作の意味及び構文は,9.3.4で説明する。 

MAPLEと製造用ソフトウェアの間のインタフェースは,MAPLEと他のMAPLEの間のインタフェース

にも適用できる。 

状態情報で準備する以外のMAPLEインタフェースに対する例外処理の規定は,MAPLE開発者に一任

する。 

9.3.2 

インタフェースの定義 インタフェースは,ISO/IEC 14750 : 1999に従って附属書Aで定義する。 

9.3.3 

共通の動作パラメータ インタフェースの定義で使用する動作パラメータの意味は,次による。 

session̲identifier:MAPLEとの一意なセッションを認識するためのMAPLE定義のデータ型。 

request̲identifier:MAPLEとの一意な要求を認識するためのMAPLE定義のデータ型。 

originator̲identifier:命令の発信元を一意に認識するためのMAPLE定義のデータ型。 

application̲program̲identifier:一意なアプリケーションプログラムを認識するためのMAPLE定義のデー

タ型。 

data̲send̲request̲identifier:データ送信の一意な要求を認識するためのMAPLE定義のデータ型。 

requested̲data̲identifier:要求のあった一意なデータ項目を認識するためのMAPLE定義のデータ型。 

data̲retrieve̲identifier:検索する一意なデータ項目を認識するためのMAPLE定義のデータ型。 

MAPLE̲identifier:MAPLEを一意に認識するためのMAPLE定義のデータ型。 

requested̲service:MAPLEサービスを起動するMAPLE定義の構造。 

service̲name:8.で示したMAPLEサービスの一つを指定するMAPLE定義のキーワード文字列。 

service̲req̲parameter̲list:要求のあったMAPLEサービスへの入力用パラメータリスト。 


15 

B 3652 : 2002 (ISO 13281-2 : 2000) 

 

service̲results:MAPLEサービスからの出力パラメータを提供するMAPLE定義の構造。 

service̲rsp̲parameter̲list:要求のあったMAPLEサービスからの出力用パラメータリスト。 

requested̲SP̲capability:製造用ソフトウェアの機能を起動するMAPLE定義の構造。 

SP̲capability̲name:登録してある製造用ソフトウェアが提供する機能を指定するキーワード文字列。 

SP̲capability̲parameter̲list:ソフトウェア機能への入力用パラメータリスト。 

SP̲capability̲results:ソフトウェア機能からの出力用パラメータリスト。 

new̲session̲status:新しいセッション要求命令の状態を記述するMAPLE定義のデータ型。 

request̲status:インタフェース要求の状態を記述するMAPLE定義のデータ型。 

termination̲status:命令終了を記述するMAPLE定義のデータ型。 

data̲receive̲status:データ受信中動作の状態を記述するMAPLE定義のデータ型。 

receive̲status:データ受信動作の状態を記述するMAPLE定義のデータ型。 

data̲to̲be̲sent:MAPLE又は製造用ソフトウェアが提供するアプリケーション固有のデータ型。 

data̲requested:MAPLE又は製造用ソフトウェアが要求したアプリケーション固有のデータ型。 

application̲program̲data̲type:製造用ソフトウェアが要求するMAPLEからのデータ型。 

9.3.4 

インタフェースにおける動作の意味及び構文 9.3.4は,ODP (JIS X 5470-3) の計算的観点に対応

する。 

9.3.4.1 

製造用ソフトウェアによる新しいセッションの要求 この動作は,図1に示すように,製造用ソ

フトウェアがMAPLEとの通信セッションを確立できるようにする。 

 

図1 製造用ソフトウェアによる新しいセッションの要求 

request̲new̲sessionは,MAPLEとの通信セッションを確立するために,製造用ソフトウェアが起動する

操作である。 

void request̲new̲session ( 

in Identifier originator̲identifier,  

in Identifier request̲identifier 

) ; 

acknowledge̲new̲session̲requestは,新しいセッションの生成を確認し識別するために,要求元の製造用

ソフトウェアへMAPLEが通知する操作である。 

void acknowledge̲new̲session̲request ( 

in Identifier originator̲identifier,  

in Identifier request̲identifier 

in Identifier session̲identifier 

in Status new̲session̲status 

) ; 

9.3.4.2 

MAPLEによる製造用ソフトウェアとの新しいセッションの開始 この動作は,図2に示すよう

に,MAPLEが製造用ソフトウェア辞書の中の製造用ソフトウェアとの通信セッションを開始できるよう

にする。 


16 

B 3652 : 2002 (ISO 13281-2 : 2000) 

 

 

図2 MAPLEによる製造用ソフトウェアとの新しいセッションの開始 

initiate̲new̲sessionは,製造用ソフトウェアとの通信セッションを開始するために,MAPLEが起動する

操作である。 

void initiate̲new̲session ( 

in Identifier application̲program̲identifier,  

in Identifier session̲identifier 

) ; 

acknowledge̲new̲session̲ initiationは,新しいセッションの開始を確認するために,製造用ソフトウェア

が起動する操作である。 

void acknowledge̲new̲session̲initiation ( 

in Identifier session̲identifier,  

in Identifier new̲session̲status 

) ; 

9.3.4.3 

MAPLEサービスの要求 この動作は,図3に示すように,製造用ソフトウェアがMAPLEが提

供するサービスを起動できるようにする。 

 

図3 MAPLEサービスの要求 

request̲serviceは,MAPLE外部のサービスを受けるために,製造用ソフトウェアが起動する操作である。 

void request̲service ( 

in Identifier session̲identifier,  

in Identifier request̲identifier,  

in RequestedService requested̲service 

) ; 

request̲service̲action̲responseは,サービス要求の受信を確認するために,要求元の製造用ソフトウェア

へMAPLEが通知する操作である。 

void request̲service̲action̲response ( 

in Identifier session̲identifier,  

in Identifier request̲identifier,  

in RequestStatus request̲status 

) ; 

service̲terminationは,サービス要求の終了を確認するために,要求元の製造用ソフトウェアへMAPLE

が通知する操作である。 

void service̲termination ( 


17 

B 3652 : 2002 (ISO 13281-2 : 2000) 

 

in Identifier session̲identifier,  

in Identifier request̲identifier,  

in Status termination̲status,  

in ServiceResults service̲results 

) ; 

要求するサービスは,基本サービス(8.参照)又は製造用ソフトウェア辞書に登録したサービスである。 

9.3.4.4 

MAPLEによる製造用ソフトウェア機能の起動 この動作は,図4に示すように,MAPLEが製

造用ソフトウェアの機能を起動できるようにする。 

 

図4 MAPLEによる製造用ソフトウェア機能の起動 

request̲SP̲capabilityは,製造用ソフトウェアの機能を利用するために,MAPLEが要求する操作である。 

void request̲SP̲capability ( 

in Identifier session̲identifier,  

in Identifier request̲identifier,  

in RequestedCapability requested̲SP̲capability 

) ; 

request̲SP̲capability̲action̲responseは,要求の受信を確認するために,製造用ソフトウェアが通知する

操作である。 

void request̲SP̲capability̲action̲response ( 

in Identifier session̲identifier,  

in Identifier request̲identifier,  

in RequestStatus request̲status 

) ; 

invocation̲terminationは,要求の終了を確認するために,MAPLEへ製造用ソフトウェアが通知する操作

である。 

void invocation̲termination ( 

in Identifier session̲identifier,  

in Identifier request identifier,  

in Status termination̲status,  

in CapabilityParameterList SP̲capability̲results 

) ; 

9.3.4.5 

MAPLEからのデータ取得 この動作は,図5に示すように,製造用ソフトウェアがMAPLEか

らデータを取得できるようにする。 


18 

B 3652 : 2002 (ISO 13281-2 : 2000) 

 

 

図5 MAPLEからのデータ取得 

request̲dataは,MAPLEのデータを取得するために,製造用ソフトウェアが起動する操作である。 

void request̲data ( 

in Identifier session̲identifier,  

in Identifier request̲identifier,  

in RequestedService requested̲service 

) ; 

request̲data̲action̲responseは,要求のあったデータを提供するために,MAPLEが起動する操作である。 

void request̲data̲action̲response ( 

in Identifier session̲identifier,  

in Identifier request̲identifier,  

in ParameterList data̲requested,  

in RequestStatus request̲status 

) ; 

9.3.4.6 

MAPLEへのデータ転送 この動作は,図6に示すように,MAPLEへ製造用ソフトウェアがデ

ータを転送できるようにする。 

 

図6 MAPLEへのデータ転送 

prepare̲data̲sendは,MAPLEへデータを転送する準備のために,製造用ソフトウェアが起動する操作で

ある。 

void prepare̲data̲send ( 

in Identifier session̲identifier,  

in Identifier request̲identifier,  

in RequestedService requested̲service 

) ; 

prepare̲data̲send̲action̲responseは,データ受信の準備ができたことを通知するために,MAPLEが起動

する操作である。 

void prepare̲data̲send̲action̲response ( 

in Identifier session̲identifier,  

in Identifier request̲identifier,  

in Identifier data̲send̲request̲identifier,  

in RequestStatus request̲status 


19 

B 3652 : 2002 (ISO 13281-2 : 2000) 

 

) ; 

send̲dataは,MAPLEへデータを転送するために,製造用ソフトウェアが起動する操作である。 

void send̲data̲from̲MAPLE ( 

in Identifier data̲send̲request̲identifier,  

in ParameterList data̲to̲be̲sent 

) ; 

send̲data̲action̲responseは,データの受信を通知するために,MAPLEが起動する操作である。 

void send̲data̲action̲response ( 

in Identifier data̲send̲request̲identifier,  

in Status data̲receive̲status 

) ; 

9.3.4.7 

他のMAPLEからのデータ取得 この動作は,図7に示すように,MAPLEが他のMAPLEから

データを取得できるようにする。 

 

図7 他のMAPLEからのデータ取得 

MAPLE̲to̲MAPLE̲requested̲dataは,データの取得を要求するために,MAPLE(要求元)が起動する

操作である。 

void MAPLE̲to̲MAPLE̲requested̲data ( 

in Identifier session̲identifier,  

in Identifier request̲identifier,  

in Identifier requested̲data̲identifier 

) ; 

MAPLE̲to̲MAPLE̲request̲data̲action̲responseは,データ転送の準備ができたことを通知するために,

他のMAPLE(要求先)が起動する操作である。 

void MAPLE̲to̲MAPLE̲requested̲data̲action̲response ( 

in Identifier session̲identifier,  

in Identifier request̲identifier,  

in Identifier data̲retrieve̲identifier,  

in RequestStatus request̲status 

) ; 

MAPLE̲to̲MAPLE̲retrieve̲dataは,データ取得の準備ができたことを通知するために,MAPLE(要求

元)が起動する操作である。 

void MAPLE̲to̲MAPLE̲retrieve̲data ( 


20 

B 3652 : 2002 (ISO 13281-2 : 2000) 

 

in Identifier data̲retrieve̲identifier 

) ; 

MAPLE̲to̲MAPLE̲send̲dataは,要求データを転送するために,他のMAPLE(要求先)が起動する操

作である。 

void MAPLE̲to̲MAPLE̲send̲data ( 

in Identifier data̲retrieve̲identifier,  

in ParameterList data̲requested 

) ; 

MAPLE̲to̲MAPLE̲send̲data̲action̲responseは,データ受信を通知するために,MAPLE(要求元)が

起動する操作である。 

void MAPLE̲to̲MAPLE̲send̲data̲action̲response ( 

in Identifier data̲retrieve̲identifier,  

in Status data̲receive̲status 

) ; 

9.3.4.8 

製造用ソフトウェアへのデータ転送 この動作は,図8に示すように,MAPLEが製造用ソフト

ウェアにデータを転送できるようにする。 

 

図8 製造用ソフトウェアへのデータ転送 

prepare̲data̲send̲from̲MAPLEは,製造用ソフトウェアへデータを転送する準備のために,MAPLEが

起動する操作である。 

void prepare̲data̲send̲from̲MAPLE ( 

in Identifier session̲identifier,  

in Identifier data̲send̲request̲identifier,  

in wstring application̲program̲data̲type 

) ; 

prepare̲data̲send̲from̲MAPLE̲action̲responseは,データ転送の準備ができていることを通知するため

に,製造用ソフトウェアが起動する操作である。 

void prepare̲data̲send̲from̲MAPLE̲action̲response ( 

in Identifier session̲identifier,  

in Identifier data̲send̲request̲identifier,  

in RequestStatus request̲status 

) ; 


21 

B 3652 : 2002 (ISO 13281-2 : 2000) 

 

send̲data̲from̲MAPLEは,製造用ソフトウェアにデータを転送するために,MAPLEが起動する操作で

ある。 

void send̲data̲from̲MAPLE ( 

in Identifier data̲send̲request̲identifier,  

in ParameterList data̲to̲be̲sent 

) ; 

send̲data̲from̲MAPLE̲action̲responseは,MAPLEからのデータ受信を確認するために,製造用ソフト

ウェアが起動する操作である。 

void send̲data̲from̲MAPLE̲action̲response ( 

in Identifier data̲send̲request̲identifier,  

in Status data̲receive̲status 

) ; 

9.3.4.9 

他のMAPLEへの一斉通信 MAPLEが実行できないタスクのある場合,そのタスクを他の

MAPLEに一斉通信を試みる。一連のソフトウェア群には,固有の機能で与えられたタスクを実行可能な

他のMAPLEを検索するプログラムがあるものとする。これをMAPLE検索器と呼び,与えた規則に従っ

て選択するか,又はタスクの実行可能性をすべての他のMAPLEに一斉通信で問い合わせる。 

この動作は,図9に示すように,MAPLEが実行できないタスクを実行可能な他のMAPLEを検索でき

るようにする。 

 

図9 他のMAPLEへの一斉通信 

broadcast̲requestは,一斉通信を行うMAPLEが,実行できないタスクを実行可能な他のMAPLEを検索

するために,MAPLEが起動する操作である。 

void broadcast̲request ( 

in Identifier request̲identifier,  

in Identifier MAPLE̲identifier,  

in RequestedCapability requested̲SP̲capability 

) ; 

broadcast̲request̲action̲responseは,タスクの実行可能性を通知するために,他のMAPLEが起動する操

作である。 

void broadcast̲request̲action̲response ( 

in Identifier request̲identifier,  

in Identifier MAPLE̲identifier,  

in RequestStatus request̲status 

) ; 


22 

B 3652 : 2002 (ISO 13281-2 : 2000) 

 

9.3.4.10 製造用ソフトウェアからのセッションの終了 この動作は,図10に示すように,製造用ソフト

ウェアがMAPLEとのセッションを終了できるようにする。 

 

図10 製造用ソフトウェアからのセッションの終了 

request̲session̲terminationは,MAPLEとのセッションを終了するために,製造用ソフトウェアが起動す

る操作である。 

void request̲session̲termination ( 

in Identifier session̲identifier 

) ; 

session̲termination̲action̲responseは,製造用ソフトウェアが要求するセッションの終了を確認するため

に,MAPLEが起動する操作である。 

void request̲session̲termination̲action̲response ( 

in Identifier session̲identifier,  

in Status termination̲status 

) ; 

MAPLEが返すtermination̲statusは,MAPLEがセッションを開始した場合には負の値となる。 

9.3.4.11 MAPLEからのセッションの終了 この動作は,図11に示すように,MAPLEが製造用ソフトウ

ェア又は他のMAPLEとのセッションを終了できるようにする。 

 

図11 MAPLEからのセッションの終了 

request̲session̲terminationは,製造用ソフトウェア又は他のMAPLEとのセッションを終了するために,

MAPLEが起動する操作である。 

void request̲session̲termination ( 

in Identifier session̲identificr 

) ; 

session̲termination̲action̲responseは,MAPLEが要求したセッションの終了を確認するために,製造用

ソフトウェアが起動する操作である。 

void request̲session̲termination̲action̲response ( 

in Identifier session̲identifier,  

in Status termination̲status 

) ; 

製造用ソフトウェアが返すtermination̲statusは,製造用ソフトウェアがセッションを開始した場合には


23 

B 3652 : 2002 (ISO 13281-2 : 2000) 

 

負の値となる。 

9.4 

製造用データベースへのインタフェース このインタフェースは,manufacturing̲databases̲interface

と呼ぶ。このインタフェースは,製造用データベースへのデータアクセスを可能としなければならない。

これは,データアクセス動作(挿入,削除,更新及び検索),複数利用者のデータアクセス,及びデータベ

ースのセキュリティ問題を含む。 

備考 MAPLEの実装は,特定のデータベースには依存しないので、このインタフェースは,一般の

データベースにアクセスできることが望ましい。この目的を達成するために,多くの利用可能

な規格及びアクセスツールがある。例えば,JIS X 5911 : 1995,JIS X 5912 : 1995及びISO/IEC 

9579-3 : 1996がある。 

9.5 

データ変換器へのインタフェース データ変換器は,製造用ソフトウェアと考えることができる。

このインタフェースは,data̲translator̲interfaceと呼ぶ。MAPLEとのインタフェースの動作は,9.3.4.2,

9.3.4.4,9.3.4.6,9.3.4.8及び9.3.4.11で示したものと同じでなければならない。 


24 

B 3652 : 2002 (ISO 13281-2 : 2000) 

 

附属書A(規定) インタフェース記述 

インタフェースは,インタフェース定義言語のためのISO/IEC 14750 : 1999を使用して定義する。 

module MAPLEs̲and̲Manufacturing̲Software̲Programs { 

 

//識別子 

typedef wstring Identifier; 

 

//状態 

enum Status {success, failure}; 

enum RequestStatus {request̲success, request̲denied, invalid̲request}; 

enum CheckOutStatus {true, false}; 

 

//MAPLEのパラメータ 

 

//一般のパラメータリスト 

union Constant switch (long){ 

case 1 :   long long̲const; 

case 2 : unsigned long ulong̲const; 

case 3 : double double̲const; 

} ; 

enum ParameterAlternative {identifier, constant, other̲params}; 

union Parameter switch (ParameterAlternative){ 

case identifier: Identifier identifier; 

case constant: Constant constant; 

default: any other̲params; 

} ; 

typedef sequence<Parameter>ParameterList; 

 

//MAPLEサービスのパラメータ 

//入出力パラメータの型定義 

typedef long ServiceStatus; 

typedef wstring DataSource; 

typedef wstring SPCapability; 

typedef wstring CatalogueEntry; 

typedef sequence<wstring>AttributeList; 

typedef sequence<any>ValueList; 

typedef sequence<wstring>ArgumentList; 

typedef sequence<wstring>TaskList; 


25 

B 3652 : 2002 (ISO 13281-2 : 2000) 

 

typedef sequence<DataSource>DataSourceList; 

typedef sequence<SPCapability>SPCapabilityList; 

typedef sequence<CatalogueEntry>CatalogueEntryList; 

enum IdentifierType {logical, physical}; 

struct DataIdentifier { 

IdentifierType logical̲or̲physical; 

wstring data̲identifier; 

} ; 

 

//タスクの実行計画 

struct InPlanTask { 

SPCapability SP̲capability; 

ArgumentList sp̲capability̲input̲argument̲list; 

} ; 

struct OutPlanTask { 

ServiceStatus status; 

TaskList task̲list; 

} ; 

 

//データ源の登録 

struct InRegisterDataSource { 

wstring data̲source̲name; 

wstring DST̲name; 

wstring DST̲parameter̲set; 

wstring data̲source̲command̲set; 

} ; 

struct OutRegisterDataSource { 

ServiceStatus status; 

} ; 

 

//データ源のリストの作成 

struct InListDataSource{ 

wstring data̲source̲filter; 

} ; 

struct OutListDataSource { 

ServiceStatus status; 

DataSourceList set̲of̲data̲sources; 

} ; 

 

//データ源の登録の削除 


26 

B 3652 : 2002 (ISO 13281-2 : 2000) 

 

struct InDeregisterDataSource { 

wstring data̲source̲name; 

} ; 

struct OutDeregisterDataSource { 

ServiceStatus status; 

} ; 

 

//データ源の修正 

struct InModifyDataSource { 

wstring data̲source̲name; 

AttributeList data̲source̲attributes; 

ValueList data̲source̲attribute̲values; 

} ; 

struct OutModifyDataSource { 

ServiceStatus status; 

} ; 

 

//プログラム機能の登録 

struct InRegisterSoftwareProgramCapability { 

wstring SP̲capability̲name; 

wstring SP̲name; 

wstring SP̲location; 

wstring SP̲argument̲template; 

SPCapability  SP̲capability; 

ArgumentList  SP̲argument̲set; 

} ; 

struct OutRegisterSoftwareProgramCapability { 

ServiceStatus status; 

} ; 

 

//プログラム機能のリストの作成 

struct InListSoftwareProgramCapability { 

SPCapability  SP̲capability̲filter; 

} ; 

struct OutListSoftwareProgramCapability{ 

ServiceStatus status; 

SPCapabilityListset̲of̲SP̲capabilities; 

} ; 

 

//プログラム機能の登録の削除 


27 

B 3652 : 2002 (ISO 13281-2 : 2000) 

 

struct InDeregisterSoftwareProgramCapability { 

wstring SP̲capability̲name; 

} ; 

struct OutDeregisterSoftwareProgramCapability { 

ServiceStatus status; 

} ; 

 

//プログラム機能の修正 

struct InModifySoftwareProgramCapability { 

wstring SP̲capability̲name; 

AttributeList SP̲capability̲attributes; 

ValueList SP̲capability̲attribute̲values; 

} ; 

struct OutModifySoftwareProgramCapability { 

ServiceStatus status; 

} ; 

 

//カタログ項目の登録 

struct InRegisterCatalogueEntry { 

wstring catalogue̲name; 

wstring catalogue̲entry̲identifier; 

AttributeList catalogue̲entry̲attributes; 

ValueList catalogue̲entry̲attribute̲values; 

} ; 

struct OutRegisterCatalogueEntry { 

ServiceStatus status, 

} ; 

 

//カタログ項目のリストの作成 

struct InListCatalogue { 

wstring catalogue̲name; 

AttributeList catalogue̲entry̲filter; 

} ; 

struct OutListCatalogue { 

ServiceStatus status; 

CatalogueEntryList set̲of̲catalogue̲entries; 

} ; 

 

//カタログ項目の登録の削除 

struct InDeregisterCatalogueEntry { 


28 

B 3652 : 2002 (ISO 13281-2 : 2000) 

 

wstring catalogue̲name; 

wstring catalogue̲entry̲identifier; 

} ; 

struct OutDeregisterCatalogueEntry { 

ServiceStatus status; 

} ; 

 

//カタログ項目の修正 

struct InModifyCatalogucEntry { 

wstring catalogue̲name; 

wstring catalogue̲entry̲identifier; 

AttributeList catalogue̲entry̲attributes; 

ValueList catalogue̲entry̲attribute̲values; 

} ; 

struct OutModifyCatalogueEntry { 

ServiceStatus status; 

} ; 

 

//データの挿入 

struct InInsertData { 

wstring data̲source̲name; 

wstring logical̲data̲identifier; 

wstring physical̲data̲idenfifier; 

wstring data̲item; 

} ; 

struct OutInsertData { 

ServiceStatus status; 

} ; 

 

//データのリストの作成 

struct InListData { 

wstring data̲classification; 

} ; 

struct OutListData { 

ServiceStatus status; 

wstring logical̲data̲identifier; 

wstring physical̲data̲idenfifier; 

} ; 

 

//データの削除 


29 

B 3652 : 2002 (ISO 13281-2 : 2000) 

 

struct InDeleteData { 

wstring data̲source̲name; 

DataIdentifier logical̲or̲physical̲data̲identifier; 

} ; 

struct OutDeleteData { 

ServiceStatus status; 

} ; 

 

//データの更新 

struct InUpdateData { 

wstring data̲source̲name; 

DataIdentifier logical̲or̲physical̲data̲identifier; 

AttributeList data̲item̲attributes; 

ValueList data̲item̲attribute̲values; 

} ; 

struct OutUpdateData { 

ServiceStatus status; 

} ; 

 

//データの検索 

struct InRetrieveData { 

wstring data̲source̲name; 

DataIdentifier logical̲or̲physical̲data̲identifier; 

} ; 

struct OutRetrieveData { 

ServiceStatus status; 

wstring data̲item; 

CheckOutStatus data̲check̲out̲status; //true or false? 

} ; 

 

//データの排他的更新権の取得 

struct InCheckOutData { 

wstring data̲source̲name; 

DataIdentifier logical̲or̲physical̲data̲identifier; 

} ; 

struct OutCheckOutData { 

ServiceStatus status; 

wstring check̲out̲identifier; 

} ; 

 


30 

B 3652 : 2002 (ISO 13281-2 : 2000) 

 

//データの排他的更新権の返却 

struct InCheckInData { 

wstring check̲out̲identifier; 

} ; 

struct OutCheckInData { 

ServiceStatus status; 

} ; 

 

//問合せの転送 

struct InPassThroughQuery { 

wstring data̲source̲name; 

wstring query̲string; 

} ; 

struct OutPassThroughQuery { 

ServiceStatus status; 

wstring query̲output; 

} ; 

 

//データの変換 

struct InTraslateData { 

wstring translation̲name; 

wstring input̲schema; 

wstring output̲schema; 

wstring output̲location; 

} ; 

struct OutTranslateData { 

ServiceStatus status; 

} ; 

 

//データの直接転送 

struct InTransferIntermediateData { 

wstring target̲software̲program̲name; 

wstring data̲item; 

} ; 

struct OutTransferIntermediateData { 

ServiceStatus status; 

} ; 

 

//プログラムの呼び出し 

struct InInvokeSoftwareProgramCapability { 


31 

B 3652 : 2002 (ISO 13281-2 : 2000) 

 

wstring SP̲capability̲name; 

ArgumentList SP̲capability̲input̲argument̲list; 

} ; 

struct OutInvokeSoftwareProgramCapability { 

ServiceStatus status; 

ArgumenList SP̲capability̲output̲argument̲list; 

} ; 

 

//プログラムの開始 

struct InStartManufacturingSoftwareProgram { 

wstring SP̲start̲up̲script; 

} ; 

struct OutStartManufacturingSoftwareProgram { 

ServiceStatus status; 

} ; 

 

//タスクリストによるタスクの開始 

struct InStartTaskList { 

wstring task̲list̲id; 

wstring task̲id; 

} ; 

struct OutStartTaskList { 

ServiceStatus status; 

} ; 

 

//タスクリストによるタスクの終了 

struct InTerminateTaskList { 

wstring task̲list̲id; 

wstring task̲id; 

} ; 

struct OutTerminateTaskList { 

ServiceStatus status; 

} ; 

 

//タスクリストによるタスクの一時停止 

struct InSuspendTaskList { 

wstring task̲list̲id; 

wstring task̲id; 

} ; 

struct OutSuspendTaskList { 


32 

B 3652 : 2002 (ISO 13281-2 : 2000) 

 

ServiceStatus status; 

} ; 

 

//タスクリストの一時停止 

struct InSuspendAfter { 

wstring task̲list̲id; 

wstring task̲id; 

} ; 

struct OutSuspendAfter { 

ServiceStatus status; 

} ; 

 

//タスクリストの再開 

struct InResumeTaskList { 

wstring task̲list̲id; 

wstring task̲id; 

} ; 

struct OutResumeTaskList { 

ServiceStatus status; 

} ; 

 

//ステップ単位実行モード 

struct InStepMode { 

wstring task̲list̲id; 

wstring task̲id; 

} ; 

struct OutStepMode { 

ServiceStatus status; 

} ; 

 

//タスク単位実行モード 

struct InStepTask { 

wstring task̲list̲id; 

wstring task̲id; 

} ; 

struct OutStepTask { 

ServiceStatus status; 

} ; 

 

//範囲指定のタスク単位実行モード 


33 

B 3652 : 2002 (ISO 13281-2 : 2000) 

 

struct InStepTo { 

wstring task̲list̲id; 

wstring task̲id; 

} ; 

struct OutStepTo { 

ServiceStatus status; 

} ; 

 

//単位実行モードの解除 

struct InOutOfStep { 

wstring task̲list̲id; 

wstring task̲id; 

} ; 

struct OutOutOfStep { 

ServiceStatus status; 

} ; 

 

//Nタスク先のタスクの実行 

struct InSkipN { 

wstring task̲list̲id; 

wstring task̲id; 

wstring n; 

} ; 

 

struct OutSkipN { 

ServiceStatus status; 

} ; 

 

//指定タスクの実行 

struct InSkipTo { 

wstring task̲list̲id; 

wstring task̲id; 

} ; 

struct OutSkipTo { 

ServiceStatus status; 

} ; 

 

//タスクリストの表示 

struct InShowTaskList { 

wstring task̲list̲id; 


34 

B 3652 : 2002 (ISO 13281-2 : 2000) 

 

wstring output̲destination; 

} ; 

struct OutShowTaskList { 

ServiceStatus status; 

ValueList task̲list̲information; 

} ; 

 

//タスクリストの削除 

struct InDeleteTaskList { 

wstring task̲list̲id; 

} ; 

struct OutDeleteTaskList { 

ServiceStatus status; 

} ; 

 

//タスクリストの生成 

struct InCreateTaskList { 

wstring task̲list̲id; 

} ; 

struct OutCreateTaskList { 

ServiceStatus status; 

} ; 

 

//トレースの開始 

struct InStartTrace{ 

wstring task̲list̲id; 

} ; 

struct OutStartTrace{ 

ServiceStatus status; 

} ; 

 

//トレースの停止 

struct InStopTrace { 

wstring task̲list̲id; 

} ; 

struct OutStopTrace { 

ServiceStatus status; 

} ; 

 

//タスクリストの実行状態の確認 


35 

B 3652 : 2002 (ISO 13281-2 : 2000) 

 

struct InCheckTaskListStatus { 

wstring task̲list̲id; 

} ; 

struct OutCheckTaskListStatus { 

ServiceStatus status; 

wstring   task̲id; 

} ; 

 

//MAPLEオブジェクトの初期化 

struct InInitializeMAPLE { 

wstring MAPLE̲name; 

} ; 

struct OutInitializeMAPLE { 

ServiceStatus status; 

} ; 

 

//MAPLEオブジェクトの終了 

struct InShutDownMAPLE { 

wstring MAPLE̲name; 

} ; 

struct OutShutDownMAPLE { 

ServiceStatus status; 

} ; 

 

//MAPLEの統括管理 

struct InAdministrateSystem { 

wstring MAPLE̲name; 

} ; 

struct OutAdministrateSystem { 

ServiceStatus status; 

} ; 

 

//MAPLEオブジェクト間の通信 

struct InCommunicateMAPLEToMAPLE { 

wstring other̲MAPLE̲name; 

} ; 

struct OutCommunicateMAPLEToMAPLE { 

ServiceStatus status; 

} ; 

 


36 

B 3652 : 2002 (ISO 13281-2 : 2000) 

 

//MAPLEオブジェクトへのアクセス 

struct InAccessMAPLE { 

wstring MAPLE̲name; 

} ; 

struct OutAccessMAPLE{ 

ServiceStatus status; 

} ; 

 

//サービス名 

enum ServiceName { 

plan̲task, register̲data̲source, list̲data̲source,  

deregister̲data̲source, modify̲data̲source,  

register̲software̲program̲capability,  

list̲software̲program̲capability,  

deregister̲software̲program̲capability,  

modify̲software̲program̲capability,  

register̲catalogue̲entry, list̲catalogue,  

deregister̲catalogue̲entry, modify̲catalogue̲entry,  

insert̲data, list̲data, delete̲data, update̲data,  

retrieve̲data, checkout̲data, checkin̲data,  

pass̲through̲query, translate̲data, transfer̲intermediate̲data,  

invoke̲software̲program̲capability, start̲manufacturing̲software̲program,  

start̲task̲list, terminate̲task̲list, suspend̲task̲list,  

suspend̲after, resume̲task̲list, step̲mode, step̲task, step̲to,  

out̲of̲step, skip̲n, skip̲to, show̲task list, delete̲task̲list,  

create̲task̲list, start̲trace, stop̲trace, check̲task̲list̲status,  

initialize̲MAPLE, shut̲down̲MAPLE, administrate̲system,  

communicate̲MAPLE̲to̲MAPLE, access̲MAPLE, other̲services 

} ; 

 

//サービスパラメータのリスト 

//MAPLEへのサービス要求のパラメータ 

union ServiceReqParameterList switch (ServiceName){ 

case plan̲task: 

InPlanTask plan̲task; 

case register̲data̲source: 

InRegisterDataSource register̲data̲source; 

case list̲data̲source: 

InListDataSource list̲data̲source; 

case deregister̲data̲source: 


37 

B 3652 : 2002 (ISO 13281-2 : 2000) 

 

InDeregisterDataSource deregister̲data̲source; 

case modify̲data̲source: 

InModifyDataSource modify̲data̲source; 

case register̲software̲program̲capability: 

InRegisterSoftwareProgramCapability register̲software̲program̲capability; 

case list̲software̲program̲capability: 

InListSoftwareProgramCapability list̲software̲program̲capability; 

case deregister̲software̲program̲capability: 

InDeregisterSoftwareProgramCapability deregister̲software̲program̲capability; 

case modify̲software̲program̲capability: 

InModifySoftwareProgramCapability modify̲software̲program̲capability; 

case register̲catalogue̲entry: 

InRegisterCatalogueEntry register̲catalogue̲entry; 

case list̲catalogue: 

InListCatalogue list̲catalogue; 

case deregister̲catalogue̲entry: 

InDeregisterCatalogueEntry deregister̲catalogue̲entry; 

case modify̲catalogue̲entry: 

InModifyCatalogueEntry modify̲catalogue̲entry; 

case insert̲data: 

InInsertData insert̲data; 

case list̲data: 

InListData list̲data; 

case delete̲data: 

InDeleteData delete̲data; 

case update̲data: 

InUpdateData update̲data; 

case retrieve̲data: 

InRetrieveData retrieve̲data; 

case checkout̲data: 

InCheckOutData checkout̲data; 

case checkin̲data: 

InCheckInData checkin̲data; 

case pass̲through̲query: 

InPassThroughQuery pass̲through̲query; 

case translate̲data: 

InTraslateData translate̲data; 

case transfer̲intermediate̲data: 

InTransferlntermediateData transfer̲intermediate̲data; 

case invoke̲software̲program̲capability: 


38 

B 3652 : 2002 (ISO 13281-2 : 2000) 

 

InInvokeSoftwareProgramCapability invoke̲software̲program̲capability; 

case start̲manufacturing̲software̲program: 

InStartManufacturingSoftwareProgram start̲manufacturing̲software̲program; 

case start̲task̲list: 

InStartTaskList start̲task̲list; 

case terminate̲task̲list: 

InTerminateTaskList terminate̲task̲list; 

case suspend̲task̲list: 

InSuspendTaskList suspend̲task̲list; 

case suspend̲after: 

InSuspendAfter suspend̲after; 

case resume̲task̲list: 

InResumeTaskList resume̲task̲list; 

case step̲mode: 

InStepMode step̲mode; 

case step̲task: 

InStepTask step̲task; 

case step̲to: 

InStepTo step̲to; 

case out̲of̲step: 

InOutOfStep out̲of̲step; 

case skip̲n: 

InSkipN skip̲n; 

case skip̲to: 

InSkipTo skip̲to; 

case show̲task̲list: 

InShowTaskList show̲task̲list; 

case delete̲task̲list: 

InDeleteTaskList delete̲task̲list; 

case create̲task̲list: 

InCreateTaskList create̲task̲list; 

case start̲trace: 

InStartTrace start̲trace; 

case stop̲trace: 

InStopTrace stop̲trace; 

case check̲task̲list̲status: 

InCheckTaskListStatus check̲task̲list̲status; 

case initialize̲MAPLE: 

InInitializeMAPLE initialize̲MAPLE; 

case shut̲down̲MAPLE: 


39 

B 3652 : 2002 (ISO 13281-2 : 2000) 

 

InShutDownMAPLE shut̲down̲MAPLE; 

case administrate̲system: 

InAdministrateSystem administrate̲system; 

case communicate̲MAPLE̲to̲MAPLE: 

InCommunicateMAPLEToMAPLE communicate̲MAPLE̲to̲MAPLE; 

case access̲MAPLE: 

InAccessMAPLE access̲MAPLE; 

default: 

ParameterList other̲services; 

} ; 

 

//MAPLEからのサービス結果通知のパラメータ 

union ServiceRspParameterList switch (ServiceName){ 

case plan̲task: 

OutPlanTask plan̲task; 

case register̲data̲source: 

OutRegisterDataSource register̲data̲source; 

case list̲data̲source: 

OutListDataSource list̲data̲source; 

case deregister̲data̲source: 

OutDeregisterDataSource deregister̲data̲source; 

case modify̲data̲source: 

OutModifyDataSource modify̲data̲source; 

case register̲software̲program̲capability: 

OutRegisterSoftwareProgramCapability register̲software̲program̲capability; 

case list̲software̲program̲capability: 

OutListSoftwareProgramCapability list̲software̲program̲capability; 

case deregister̲software̲program̲capability: 

OutDeregisterSoftwareProgramCapability deregister̲software̲program̲capability; 

case modify̲software̲program̲capability: 

OutModifySoftwareProgramCapability modify̲software̲program̲capability; 

case register̲catalogue̲entry: 

OutRegisterCatalogueEntry register̲catalogue̲entry; 

case list̲catalogue: 

OutListCatalogue list̲catalogue; 

case deregister̲catalogue̲entry: 

OutDeregisterCatalogueEntry deregister̲catalogue̲entry; 

case modify̲catalogue̲entry: 

OutModifyCatalogueEntry modify̲catalogue̲entry; 

case insert̲data: 


40 

B 3652 : 2002 (ISO 13281-2 : 2000) 

 

OutInsertData insert̲data; 

case list̲data: 

OutListData list̲data; 

case delete̲data: 

OutDeleteData delete̲data; 

case update̲data: 

OutUpdateData update̲data; 

case retrieve̲data: 

OutRetrieveData retrieve̲data; 

case checkout̲data: 

OutCheckOutData checkout̲data; 

case checkin̲data: 

OutCheckInData checkin̲data; 

case pass̲through̲query: 

OutPassThroughQuery pass̲through̲query; 

case translate̲data: 

OutTranslateData translate̲data; 

case transfer̲intermediate̲data: 

OutTransferIntermediateData transfer̲intermediate̲data; 

case invoke̲software̲program̲capability: 

OutInvokeSoftwareProgramCapability invoke̲software̲program̲capability; 

case start̲manufacturing̲software̲program: 

OutStartManufacturingSoftwareProgram start̲manufacturing̲software̲program; 

case start̲task̲list: 

OutStartTaskList start̲task̲list; 

case terminate̲task̲list: 

OutTerminateTaskList terminate̲task̲list; 

case suspend̲task̲list: 

OutSuspendTaskList suspend̲task̲list; 

case suspend̲after: 

OutSuspendAfter suspend̲after; 

case resume̲task̲list: 

OutResumeTaskList resume̲task̲list; 

case step̲mode: 

OutStepMode step̲mode; 

case step̲task: 

OutStepTask step̲task; 

case step̲to: 

OutStepTo step̲to; 

case out̲of̲step: 


41 

B 3652 : 2002 (ISO 13281-2 : 2000) 

 

OutOfStep out̲of̲step; 

case skip̲n: 

OutSkipN skip̲n; 

case skip̲to: 

OutSkipTo skip̲to; 

case show̲task̲list: 

OutShowTaskList show̲task̲list; 

case delete̲task̲list: 

OutDeleteTaskList delete̲task̲list,  

case create̲task̲list: 

OutCreateTaskList create̲task̲list,  

case start̲trace: 

OutStartTrace start̲trace; 

case stop̲trace: 

OutStopTrace stop̲trace; 

case check̲task̲list̲status: 

OutCheckTaskListStatus check̲task̲list̲status,  

case initialize̲MAPLE: 

OutInitializeMAPLE initialize̲MAPLE; 

case shut̲down̲MAPLE: 

OutShutDownMAPLE shut̲down̲MAPLE; 

case administrate̲system: 

OutAdministrateSystem administrate̲system; 

case communicate̲MAPLE̲to̲MAPLE: 

OutCommunicateMAPLEToMAPLE communicate̲MAPLE̲to̲MAPLE; 

case access̲MAPLE: 

OutAccessMAPLE access̲MAPLE; 

default: 

ParameterList other̲services; 

} ; 

 

//MAPLEの機能のパラメータ 

 

//機能名 

typedef wstring CapabilityName; 

 

//機能のパラメータのリスト 

typedef ParameterList CapabilityParameterList; 

 

//要求するサービス 


42 

B 3652 : 2002 (ISO 13281-2 : 2000) 

 

struct RequestedService { 

//wstring型のキーワード“invoke̲service”は最初に置かなければならない。 

//フィールドは“invoke̲type”である。 

wstring   invoke̲type; 

ServiceName service̲name; 

ServiceReqParameterList service̲req̲parameter̲list; 

} ; 

 

//要求したサービスの結果 

struct ServiceResults { 

ServiceName service̲name; 

ServiceRspParameterList service̲rsp̲parameter̲list; 

} ; 

 

//要求した機能 

struct RequestedCapability { 

//wstring型のキーワード“invoke̲capability”は最初に置かなければならない。 

//フィールドは“invoke̲type”である。 

wstring   invoke̲type; 

CapabilityName SP̲capability̲name; 

CapabilityParameterList SP̲capability̲parameter̲list; 

} ; 

 

interface MAPLE { 

 

//操作 

//次の操作は,製造用ソフトウェア又は他のMAPLEが起動する。 

 

//製造用ソフトウェアによる新しいセッションの要求 

//製造用ソフトウェアからの応答は“acknowledge̲new̲session̲request”である。 

void request̲new̲session ( 

in Identifier originator̲identifier,  

in Identifier request identifier 

) ; 

 

//MAPLEによる製造用ソフトウェアとの新しいセッションの起動への応答 

//製造用ソフトウェアからの起動は“initiate̲new̲session”である。 

void acknowledge̲new̲session̲initiation ( 

in Identifier session̲identifier,  

in Identifier new̲session̲status 


43 

B 3652 : 2002 (ISO 13281-2 : 2000) 

 

) ; 

 

//MAPLEサービスの要求 

//Expected Response and expected Termination of this Request,  

//“request̲service̲action̲response” and “service̲termination”  

//from the ManufacturingSoftwareProgram Interface。 

void request̲service ( 

in Identifier session̲identifier,  

in Identifier request̲identifier,  

in RequestedService requested̲service 

) ; 

 

//MAPLEによる製造用ソフトウェア機能の起動への応答 

//製造用ソフトウェアからの起動は“request̲capability”である。 

void request̲SP̲capability̲action̲response ( 

in Identifier session̲identifier,  

in Identifier request̲identifier,  

in RequestStatus request̲status 

) ; 

 

//製造用ソフトウェア機能の起動の終了 

//製造用ソフトウェアからの起動は“request̲capability”である。 

void invocation̲termination ( 

in Identifier session̲identifier,  

in Identifier request̲identifier,  

in Status termination̲status,  

in CapabilityParameterList SP̲capability̲results 

) ; 

 

//MAPLEからのデータ取得 

//製造用ソフトウェアからの応答は“request̲data̲action̲response”である。 

void request̲data ( 

in Identifier session̲identifier,  

in Identifier request̲identifier,  

in RequestedService requested̲service 

) ; 

 

//MAPLEへのデータ転送 

//データ転送の準備 

//製造用ソフトウェアからの応答は“prepare̲data̲send̲action̲response”である。 


44 

B 3652 : 2002 (ISO 13281-2 : 2000) 

 

void prepare̲data̲send ( 

in Identifier session̲identifier,  

in Identifier request̲identifier,  

in RequestedService requested̲service 

) ; 

 

//データ転送 

//製造用ソフトウェアからの応答は“send̲data̲action̲response”である。 

void send̲data ( 

in Identifier data̲send̲request̲identifier,  

in ParameterList data̲to̲be̲sent 

) ; 

 

//他のMAPLEからのデータ取得 

void MAPLE̲to̲MAPLE̲requested̲data( 

in Identifier session̲identifier,  

in Identifier request̲identifier,  

in Identifier requested̲data̲identifier 

) ; 

 

void MAPLE̲to̲MAPLE̲requested̲data̲action̲response( 

in Identifier session̲identifier,  

in Identifier request̲identifier,  

in Identifier data̲retrieve̲identifier,  

in RequestStatus request̲status 

) ; 

 

void MAPLE̲to̲MAPLE̲retrieve̲data( 

in Identifier data̲retrieve̲identifier 

) ; 

 

void MAPLE̲to̲MAPLE̲send̲data( 

in Identifier data̲retrieve̲identifier,  

in ParameterList data̲requested 

) ; 

 

void MAPLE to MAPLE̲send̲data̲action̲response( 

in Identifier data̲retrieve̲identifier,  

in Status data̲receive̲status 

) ; 


45 

B 3652 : 2002 (ISO 13281-2 : 2000) 

 

//製造用ソフトウェアへのデータ転送 

//データ転送の準備に対する応答 

//準備は製造用ソフトウェアからの“prepare̲data̲send̲from̲MAPLE”である。 

void prepare̲data̲send̲from̲MAPLE̲action̲response ( 

in Identifier session̲identifier,  

in Identifier data̲send̲request̲identifier,  

in RequestStatus request̲status 

) ; 

 

//データ転送に対する応答 

//要求は製造用ソフトウェアからの“send̲data̲from̲MAPLE”である。 

void send̲data̲from̲MAPLE̲action̲response ( 

in Identifier data̲send̲request̲identifier,  

in Status data̲receive̲status 

) ; 

 

//他のMAPLEへの一斉通信 

//MAPLE検索器における“broadcast̲request”の結果として, 

//次の操作は,MAPLE検索器又は他のMAPLEが起動する。 

void broadcast̲request̲action̲response ( 

in Identifier request̲identifier,  

in Identifier MAPLE̲identifier,  

in RequestStatus request̲status 

) ; 

 

//製造用ソフトウェアからのセッションの終了 

//製造用ソフトウェアからの応答は“session̲termination̲action̲response”である。 

void request̲session̲termination ( 

in Identifier session̲identifier 

) ; 

 

//MAPLEからのセッションの終了の応答 

//製造用ソフトウェアからの要求は“session̲termination”である。 

void session̲termination̲action̲response ( 

in Identifier session̲identifier,  

in Status termination̲status 

) ; 

} ; 

 

interface ManufacturingSoftwareProgram{ 


46 

B 3652 : 2002 (ISO 13281-2 : 2000) 

 

//操作 

//次の操作は,MAPLEが起動する。 

 

//新しいセッションに対する製造用ソフトウェアの要求への応答 

//MAPLEからの要求は“request̲new̲session”である。 

void acknowledge̲new̲session̲request ( 

in Identifier originator̲identifier,  

in Identifier request̲identifier,  

in Identifier session̲identifier,  

in Status new̲session̲status 

) ; 

 

//MAPLEによる製造用ソフトウェアとの新しいセッションの開始 

//MAPLEからの応答は“acknowledge̲new̲session̲initiation”である。 

void initiate̲new̲session ( 

in Identifier application̲program̲identifier,  

in Identifier session̲identifier 

) ; 

 

//MAPLEのサービス要求に対する応答 

//MAPLEからの要求は“request̲service”である。 

void request̲service̲action̲response ( 

in Identifier session̲identifier,  

in Identifier request̲identifier,  

in RequestStatus request̲status 

) ; 

 

//MAPLEのサービス要求の終了 

//MAPLEからの要求は“request̲service”である。 

void service̲termination ( 

in Identifier session̲identifier,  

in Identifier request̲identifier,  

in Status termination̲status,  

in ServiceResults service̲results 

) ; 

 

//MAPLEによる製造用ソフトウェア機能の起動 

//これに対する応答及び終了は,“request̲capability̲action̲response” 

//及び“invocation̲termination”である。 

void request̲SP̲capability ( 


47 

B 3652 : 2002 (ISO 13281-2 : 2000) 

 

in Identifier session̲identifier,  

in Identifier request̲identifier,  

in RequestedCapability requested̲SP̲capability 

) ; 

 

//MAPLEからのデータ取得に対する応答 

//MAPLEからの要求は,“request̲data”である。 

void request̲data̲action̲response ( 

in Identifier session̲identifier,  

in Identifier request̲identifier,  

in ParameterList data̲requested,  

in RequestStatus request̲status 

) ; 

 

//MAPLEへのデータ転送 

//データ転送の準備に対する応答 

//MAPLEからの準備は,“prepare̲data̲send”である。 

void prepare̲data̲send̲action̲response ( 

in Identifier session̲identifier,  

in Identifier request̲identifier,  

in Identifier data̲send̲request̲identifier,  

in RequestStatus request̲status 

) ; 

 

//データ転送に対する応答 

//MAPLEからの要求は,“send̲data”である。 

void send̲data̲action̲response ( 

in Identifier data̲send̲request̲identifier,  

in Status data̲receive̲status 

) ; 

 

//製造用ソフトウェアへのデータ転送 

//データ転送に対する準備 

//MAPLEからの応答は,“prepare̲data̲send̲from̲MAPLE̲action̲response”である。 

void prepare̲data̲send̲from̲MAPLE ( 

in Identifier session̲identifier,  

in Identifier data̲send̲request̲identifier,  

in wstring application̲program̲data̲type 

) ; 

 


48 

B 3652 : 2002 (ISO 13281-2 : 2000) 

 

//データ転送 

//MAPLEからの応答は,“send̲data̲from̲MAPLE̲action̲response”である。 

void send̲data̲from̲MAPLE ( 

in Identifier data̲send̲request̲identifier,  

in ParameterList data̲to̲be̲sent 

) ; 

 

//製造用ソフトウェアからのセッション終了に対する応答 

//MAPLEからの要求は,“request̲session̲termination”である。 

void request̲session̲termination̲action̲response ( 

in Identifier session̲identifier,  

in Status termination̲status 

) ; 

 

//MAPLEからのセッション終了 

//MAPLEからの応答は,“session̲termination̲action̲response”である。 

void request̲session̲termination( 

in Identifier session̲identifier 

) ; 

} ; 

 

interface MAPLEFinder { 

//操作 

 

//他のMAPLEに対する一斉通信 

//MAPLE検索器は,タスクが実行可能な他のMAPLEを検索する要求を受け付ける。 

//MAPLE検索器がどのようにこの要求を他のMAPLEへ送るか,すなわち実時間で 

//一斉通信するか,候補となるMAPLEをディレクトリで検索してからメッセージを 

//送るか,などは,この規格の範囲外である。 

//MAPLEからの応答は,“broadcast̲request̲action̲response”である。 

void broadcast̲request( 

in Identifier request̲identifier,  

in Identifier MAPLE̲identifier,  

in RequestedCapability requested̲SP̲capability 

) ; 

} ; 

} ; 


49 

B 3652 : 2002 (ISO 13281-2 : 2000) 

 

 

産業オートメーションシステム及びその統合− 

製造自動プログラミング環境 (MAPLE) −第2部:サービス及びインタフェース 

JIS原案作成委員会 構成表 

 

 

氏名 

所属 

(委員長) 

 

荒 井 栄 司 

大阪大学大学院工学研究科 

(委員) 

 

井 上 久仁子 

 

 

 

内 山 光 一 

株式会社東芝 

 

 

佐々木 宏 明 

横河電機株式会社 

 

 

白 瀬 敬 一 

大阪大学大学院工学研究科 

 

 

高 田 昌 之 

電気通信大学総合情報処理センター 

 

 

東 條 喜 義 

社団法人電子情報技術産業協会 

 

 

松 田 三知子 

神奈川工科大学工学部 

 

 

若 井 秀 之 

株式会社小松製作所 

 

 

八 田   勲 

経済産業省産業技術環境局標準課情報電気標準化推進室 

 

 

山 村 修 蔵 

財団法人日本規格協会 

(事務局) 

 

岡 部 信 夫 

社団法人精密工学会