(57)【要約】  本発明は，設計されたシステム構成図３２０における部品間の接続整合性を調べ，部品間を接続する適切なケーブルの候補を自動で抽出するため，コネクタの形状的な特性と電気的な特性と，それらの接続可否を判定する判定式とを，スクリプトで定義した情報を記憶する手段２と，電気的な特性とその判定式とをケーブルに沿って伝播させる伝達関数をスクリプトで定義した情報を記憶する手段３を設け，部品のコネクタ間を接続するケーブルの接続整合性を，各コネクタの特性および判定式と伝達関数のスクリプトを解析してチェックし，適切なケーブルの候補を選択する。これらの処理を，スクリプトの利用により，各種の特性を持つコネクタおよびケーブルに対して統一的なアルゴリズムによって実現する。
2008093401.tif 000002
【特許請求の範囲】
【請求項１】
システム構成図の電子情報をもとに，システム構成図中の線で結ばれた部品と部品とが実際に接続可能であるか否かを，計算機がチェックする接続整合性チェック処理方法であって，
前記計算機は，
入力した前記システム構成図の電子情報から，システム構成図上の線で結ばれた接続すべき部品のコネクタ群を抽出する工程と，
抽出した接続すべきコネクタのそれぞれについて，部品の接続に用いられるコネクタに対して，形状的な特性を示す固定特性と，固定特性が接続可能な値であるかどうかを判定するための固定特性の接続判定式と，電気的な特性を示す可変特性と，可変特性が接続可能な値であるかどうかを判定するための可変特性の接続判定式とを，所定の文法規則に従うスクリプトで記述した定義情報を記憶する特性／判定式スクリプト記憶手段から，固定特性，固定特性の接続判定式，可変特性，可変特性の接続判定式を記述したスクリプトを読み出す工程と，
予め登録された各ケーブルに対して，前記接続すべきコネクタの固定特性の値を，前記固定特性の接続判定式に従って評価して接続可否を判定するとともに，予め登録されたコネクタおよびケーブルに対して，接続するコネクタとコネクタとの間，またはケーブルの一端と他端との間で，前記可変特性および前記可変特性の接続判定式をどのように引き継ぐかを示す伝達関数を，所定の文法規則に従うスクリプトで記述した定義情報を記憶する伝達関数スクリプト記憶手段を参照し，接続元の前記可変特性と可変特性の接続判定式とを前記伝達関数に従って変形させて接続相手側の伝達先に引き継ぎ，その可変特性を，前記可変特性の接続判定式に従ってそれぞれ評価して接続可否を判定する処理を，各接続部位について繰り返すことにより，すべて接続可と判定されたケーブルが存在する場合に，接続整合性があると認定し，すべて接続可と判定されたケーブルが存在しない場合に，接続整合性がないと認定する工程と，
接続整合性があるか否かの情報を出力する工程とを実行する
ことを特徴とする接続整合性チェック処理方法。
【請求項２】
請求項１記載の接続整合性チェック処理方法において，
前記計算機は，
前記システム構成図の電子情報から抽出した接続すべき部品のコネクタが，ケーブルを用いずに直接接続可能であるか否かを，前記コネクタの固定特性，固定特性の接続判定式，可変特性，可変特性の接続判定式を記述したスクリプトを解析して検査し，前記固定特性の接続判定式および前記可変特性の接続判定式による判定結果がともに真である場合に，直接接続可能である旨の情報を出力する工程を実行する
ことを特徴とする接続整合性チェック処理方法。
【請求項３】
システム構成図の電子情報をもとに，システム構成図中の線で結ばれた部品と部品とを接続するケーブルの候補を，計算機が選択するケーブル選択処理方法であって，
前記計算機は，
入力した前記システム構成図の電子情報から，システム構成図上の線で結ばれた接続すべき部品のコネクタ群を抽出する工程と，
抽出した接続すべきコネクタのそれぞれについて，部品の接続に用いられるコネクタに対して，形状的な特性を示す固定特性と，固定特性が接続可能な値であるかどうかを判定するための固定特性の接続判定式と，電気的な特性を示す可変特性と，可変特性が接続可能な値であるかどうかを判定するための可変特性の接続判定式とを，所定の文法規則に従うスクリプトで記述した定義情報を記憶する特性／判定式スクリプト記憶手段から，固定特性，固定特性の接続判定式，可変特性，可変特性の接続判定式を記述したスクリプトを読み出す工程と，
予め登録された各ケーブルに対して，前記接続すべきコネクタの固定特性の値を，前記固定特性の接続判定式に従って評価して接続可否を判定するとともに，予め登録されたコネクタおよびケーブルに対して，接続するコネクタとコネクタとの間，またはケーブルの一端と他端との間で，前記可変特性および前記可変特性の接続判定式をどのように引き継ぐかを示す伝達関数を，所定の文法規則に従うスクリプトで記述した定義情報を記憶する伝達関数スクリプト記憶手段を参照し，接続元の前記可変特性と可変特性の接続判定式とを前記伝達関数に従って変形させて接続相手側の伝達先に引き継ぎ，その可変特性を，前記可変特性の接続判定式に従ってそれぞれ評価して接続可否を判定する処理を，各接続部位について繰り返すことにより，すべて接続可と判定されたケーブルを，接続可能なケーブルの候補として選択する工程と，
前記接続可能なケーブルの候補を出力する工程とを実行する
ことを特徴とするケーブル選択処理方法。
【請求項４】
システム構成図の電子情報をもとに，システム構成図中の線で結ばれた部品と部品とが実際に接続可能であるか否かを，計算機がチェックする設計確認処理装置であって，
部品の接続に用いられるコネクタに対して，形状的な特性を示す固定特性と，固定特性が接続可能な値であるかどうかを判定するための固定特性の接続判定式と，電気的な特性を示す可変特性と，可変特性が接続可能な値であるかどうかを判定するための可変特性の接続判定式とを，所定の文法規則に従うスクリプトで記述した定義情報を記憶する特性／判定式スクリプト記憶手段と，
コネクタおよびケーブルに対して，接続するコネクタとコネクタとの間，またはケーブルの一端と他端との間で，前記可変特性および前記可変特性の接続判定式をどのように引き継ぐかを示す伝達関数を，所定の文法規則に従うスクリプトで記述した定義情報を記憶する伝達関数スクリプト記憶手段と，
入力した前記システム構成図の電子情報から，システム構成図上の線で結ばれた接続すべき部品のコネクタ群を抽出する処理手段と，
抽出した接続すべきコネクタのそれぞれについて，前記特性／判定式スクリプト記憶手段から固定特性，固定特性の接続判定式，可変特性，可変特性の接続判定式を記述したスクリプトを読み出す処理手段と，
予め登録された各ケーブルに対して，前記接続すべきコネクタの固定特性の値を，前記固定特性の接続判定式に従って評価して接続可否を判定するとともに，接続元の前記可変特性と可変特性の接続判定式とを前記伝達関数に従って変形させて接続相手側の伝達先に引き継ぎ，その可変特性を，前記可変特性の接続判定式に従ってそれぞれ評価して接続可否を判定する処理を，各接続部位について繰り返すことにより，すべて接続可と判定されたケーブルが存在する場合に，接続整合性があると認定し，すべて接続可と判定されたケーブルが存在しない場合に，接続整合性がないと認定する処理手段と，
接続整合性があるか否かの情報を出力する処理手段とを備える
ことを特徴とする設計確認処理装置。
【請求項５】
請求項４記載の設計確認処理装置において，
前記システム構成図の電子情報から抽出した接続すべき部品のコネクタが，ケーブルを用いずに直接接続可能であるか否かを，前記コネクタの固定特性，固定特性の接続判定式，可変特性，可変特性の接続判定式を記述したスクリプトを解析して検査し，前記固定特性の接続判定式および前記可変特性の接続判定式による判定結果がともに真である場合に，直接接続可能である旨の情報を出力する処理手段を備える
ことを特徴とする設計確認処理装置。
【請求項６】
システム構成図の電子情報をもとに，システム構成図中の線で結ばれた部品と部品とを接続するケーブルの候補を，計算機が選択する設計確認処理装置であって，
部品の接続に用いられるコネクタに対して，形状的な特性を示す固定特性と，固定特性が接続可能な値であるかどうかを判定するための固定特性の接続判定式と，電気的な特性を示す可変特性と，可変特性が接続可能な値であるかどうかを判定するための可変特性の接続判定式とを，所定の文法規則に従うスクリプトで記述した定義情報を記憶する特性／判定式スクリプト記憶手段と，
コネクタおよびケーブルに対して，接続するコネクタとコネクタとの間，またはケーブルの一端と他端との間で，前記可変特性および前記可変特性の接続判定式をどのように引き継ぐかを示す伝達関数を，所定の文法規則に従うスクリプトで記述した定義情報を記憶する伝達関数スクリプト記憶手段と，
入力した前記システム構成図の電子情報から，システム構成図上の線で結ばれた接続すべき部品のコネクタ群を抽出する処理手段と，
抽出した接続すべきコネクタのそれぞれについて，前記特性／判定式スクリプト記憶手段から固定特性，固定特性の接続判定式，可変特性，可変特性の接続判定式を記述したスクリプトを読み出す処理手段と，
予め登録された各ケーブルに対して，前記接続すべきコネクタの固定特性の値を，前記固定特性の接続判定式に従って評価して接続可否を判定するとともに，接続元の前記可変特性と可変特性の接続判定式とを前記伝達関数に従って変形させて接続相手側の伝達先に引き継ぎ，その可変特性を，前記可変特性の接続判定式に従ってそれぞれ評価して接続可否を判定する処理を，各接続部位について繰り返すことにより，すべて接続可と判定されたケーブルを，接続可能なケーブルの候補として選択する処理手段と，
前記接続可能なケーブルの候補を出力する処理手段とを備える
ことを特徴とする設計確認処理装置。
【請求項７】
システム構成図の電子情報をもとに，システム構成図中の線で結ばれた部品と部品とが実際に接続可能であるか否かをチェックする処理を，計算機に実行させるための設計確認処理プログラムであって，
前記計算機に，
入力した前記システム構成図の電子情報から，システム構成図上の線で結ばれた接続すべき部品のコネクタ群を抽出する工程と，
抽出した接続すべきコネクタのそれぞれについて，部品の接続に用いられるコネクタに対して，形状的な特性を示す固定特性と，固定特性が接続可能な値であるかどうかを判定するための固定特性の接続判定式と，電気的な特性を示す可変特性と，可変特性が接続可能な値であるかどうかを判定するための可変特性の接続判定式とを，所定の文法規則に従うスクリプトで記述した定義情報を記憶する特性／判定式スクリプト記憶手段から，固定特性，固定特性の接続判定式，可変特性，可変特性の接続判定式を記述したスクリプトを読み出す工程と，
予め登録された各ケーブルに対して，前記接続すべきコネクタの固定特性の値を，前記固定特性の接続判定式に従って評価して接続可否を判定するとともに，予め登録されたコネクタおよびケーブルに対して，接続するコネクタとコネクタとの間，またはケーブルの一端と他端との間で，前記可変特性および前記可変特性の接続判定式をどのように引き継ぐかを示す伝達関数を，所定の文法規則に従うスクリプトで記述した定義情報を記憶する伝達関数スクリプト記憶手段を参照し，接続元の前記可変特性と可変特性の接続判定式とを前記伝達関数に従って変形させて接続相手側の伝達先に引き継ぎ，その可変特性を，前記可変特性の接続判定式に従ってそれぞれ評価して接続可否を判定する処理を，各接続部位について繰り返すことにより，すべて接続可と判定されたケーブルが存在する場合に，接続整合性があると認定し，すべて接続可と判定されたケーブルが存在しない場合に，接続整合性がないと認定する工程と，
接続整合性があるか否かの情報を出力する工程とを
実行させるための設計確認処理プログラム。
【請求項８】
請求項７記載の設定確認処理プログラムにおいて，
前記計算機に，
前記システム構成図の電子情報から抽出した接続すべき部品のコネクタが，ケーブルを用いずに直接接続可能であるか否かを，前記コネクタの固定特性，固定特性の接続判定式，可変特性，可変特性の接続判定式を記述したスクリプトを解析して検査し，前記固定特性の接続判定式および前記可変特性の接続判定式による判定結果がともに真である場合に，直接接続可能である旨の情報を出力する工程を
実行させるためのプログラムを含む設計確認処理プログラム。
【請求項９】
システム構成図の電子情報をもとに，システム構成図中の線で結ばれた部品と部品とを接続するケーブルの候補を選択する処理を，計算機に実行させるための設計確認処理プログラムであって，
前記計算機に，
入力した前記システム構成図の電子情報から，システム構成図上の線で結ばれた接続すべき部品のコネクタ群を抽出する工程と，
抽出した接続すべきコネクタのそれぞれについて，部品の接続に用いられるコネクタに対して，形状的な特性を示す固定特性と，固定特性が接続可能な値であるかどうかを判定するための固定特性の接続判定式と，電気的な特性を示す可変特性と，可変特性が接続可能な値であるかどうかを判定するための可変特性の接続判定式とを，所定の文法規則に従うスクリプトで記述した定義情報を記憶する特性／判定式スクリプト記憶手段から，固定特性，固定特性の接続判定式，可変特性，可変特性の接続判定式を記述したスクリプトを読み出す工程と，
予め登録された各ケーブルに対して，前記接続すべきコネクタの固定特性の値を，前記固定特性の接続判定式に従って評価して接続可否を判定するとともに，予め登録されたコネクタおよびケーブルに対して，接続するコネクタとコネクタとの間，またはケーブルの一端と他端との間で，前記可変特性および前記可変特性の接続判定式をどのように引き継ぐかを示す伝達関数を，所定の文法規則に従うスクリプトで記述した定義情報を記憶する伝達関数スクリプト記憶手段を参照し，接続元の前記可変特性と可変特性の接続判定式とを前記伝達関数に従って変形させて接続相手側の伝達先に引き継ぎ，その可変特性を，前記可変特性の接続判定式に従ってそれぞれ評価して接続可否を判定する処理を，各接続部位について繰り返すことにより，すべて接続可と判定されたケーブルを，接続可能なケーブルの候補として選択する工程と，
前記接続可能なケーブルの候補を出力する工程とを
実行させるための設計確認処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，例えばコンピュータシステムの設計を電子図面として表現するような設計システムにおいて，該電子図面として表された設計図における部品間の接続線から，接続の妥当性をチェックし，接続にケーブルが必要かを判定し，接続可能なケーブルの候補を出力する接続整合性チェック処理方法，ケーブル選択処理方法，設計確認処理装置および設計確認処理プログラムに関する。
【背景技術】
【０００２】
例えば，多数のコンピュータをネットワークで接続するようなネットワークシステムの設計では，ＣＡＤを用いたシステム構成図の作成が行われている。また，ＣＡＤで作成されたシステム構成図の整合性に関するチェックも，ある程度自動的に行うような試みがなされている。【０００３】
従来のプリント板設計のＣＡＤでは，ピン間の接続性チェックとして，該ピンを流れる信号の性質に基づき接続可否を判断することが行われている。このようなＣＡＤの設計図におけるピン間の接続性チェック（ＤＲＣ［DesignRule Check ］の一部）は，そこを流れる信号の性質をハードコーディングすることにより，接続可否のチェックを行っていた（例えば，出力信号ピンと出力信号ピンは接続不可等）。すなわち，個々のチェック対象ごとにチェック用のプログラムをコーディングし，各ピンの各種の信号の特性や条件ごとに，それらをチェックするプログラムの作成が必要であった。【０００４】
このやり方は高速ではあるが，以下のような場合には対応が非常に難しい。第一に，どのような性質を持つかがライブラリデータ／処理プログラム作成時点ではっきりしていないもの同士の接続性をチェックする場合，第二に，新たな技術を用いた部品が現れた時に，その技術の性質を使って迅速に接続性チェックを拡張する場合などであり，このような場合には，新たな接続性チェックのためのロジックを組み込んだプログラムの作成が必要になる。【０００５】
下記の特許文献１に示されるカード設計検証方法及びカード設計検証システムでは，カード間の接続検証において，コネクタのピン属性の整合性検証にとどまらず，コネクタ前後の電気的接続の検証も行っている。ここで，カード種類ごとのネットワークリストの情報と，カード同士の接続情報とをもとに，カード間でも接続検証を可能としている。しかし，従来のプリント板設計ＣＡＤと同様に，新しいピン属性や信号の特性が導入された場合には，その都度，それを検証できるようにするためのプログラムの改変や追加が必要であった。
【特許文献１】特開２００４−２８７５８５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
プリント板の設計ではなく，ネットワークシステム等のシステム設計にＣＡＤを適用することが考えられる。その場合，従来のＣＡＤのような接続性チェックを行うが，システム設計ＣＡＤの接続単位はコネクタとなり，その接続は，コネクタ同士の直結やケーブルを介したものとなる。【０００７】
コネクタ単位の接続では，従来のような信号減衰やノイズによる擾乱等による信号伝達の物性上の限界を考慮する必要があるとともに，「信号プロトコル」という論理的な性質を伝達する方法を考慮しなければならない。【０００８】
「信号プロトコル」は論理的なものであるので，物性上の伝達と比べて恣意的でかつ自由度が高く変化が激しくなっている。このため，プログラムのハードコーディングによる単純なチェック方法では，変化への追随が容易ではなく，ハードコーディングに依存したシステム設計ＣＡＤの接続性チェックはすぐに陳腐化してしまう。【０００９】
以上のように，従来のＣＡＤでは，ピン間の接続性チェックとして，例えば該ピンを流れる信号の性質に基づき接続可否を判断することが行われていたが，システム構成図上のコネクタ接続のチェックにおいては，コネクタではさらに信号プロトコルという論理的な性質を考慮する必要があるため，上記従来技術を単純に適用することができず，コネクタ同士が直接あるいは単数または複数のケーブルを介して接続可能か否かを容易にチェックすることができず，新しい仕様のコネクタやケーブルまたは新しい信号プロトコルに，チェック用プログラムの改変や追加なしで対処することができなかった。【００１０】
もし，新しい仕様のコネクタやケーブルまたは新しい信号プロトコルを用いるシステム構成図の接続整合性チェックに，テキストデータもしくは，そのテキストデータを高速化のために翻訳したバイナリデータのような簡易な登録データの追加だけで，チェック用プログラムの改変や追加なしで対処することができる手段があれば，システム構成図の接続整合性チェックを容易に行うことができ，また，接続に用いる実際のケーブルについても，利用可能なケーブルの候補を自動的にリストアップすることができ，システム開発者およびシステム設置者にとって極めて有用であり，信頼性の高いシステムを構築できるようになると考えられる。【００１１】
本発明は，以上の点を鑑みて，システム構成図の接続整合性チェックを容易に行うことができ，また，接続に用いる実際のケーブルについても，利用可能なケーブルの候補を自動的に選択することができる拡張性の高い技術を提供する。
【課題を解決するための手段】
【００１２】
本発明は，上記課題を解決するため，汎用的な接続チェック用のスクリプトを用いてコネクタやケーブルの特性および接続可否の判定式を記述できるようにし，さらにそれらの特性の値や接続判定式が，部品のコネクタからケーブルのコネクタへ，およびケーブルの一端から他端へと，どのように伝達されるかを示す伝達関数をスクリプトにより記述できるようにし，予めコネクタ（群）やケーブル（群）に対して，それらの性質をスクリプトで記述してデータベースに登録しておき，検査対象のシステム構成図における各コネクタおよび利用可能なケーブルのスクリプトを解析して，接続整合性チェックおよび適切なケーブル選択を実現するエンジンを開発することにより，新技術への追従が容易な接続チェック／ケーブル選択処理方法を実現する。【００１３】
本方法では，コネクタごとに，形状特性（外形規格，雄雌の別，ピン数，切り欠位置等）と電気的特性（プロトコル，通信速度等）に関する情報，および接続可否の判定式を，文法仕様が定められたスクリプト，すなわちテキストデータにより設定する。また，ケーブルおよびコネクタごとに伝達関数（接続相手への電気的特性に関する伝達方法に関する情報）を，同様に文法仕様が定められたスクリプトによって設定する。【００１４】
この伝達関数は，ケーブルを介したコネクタ同士の接続性チェックを可能とするためのケーブル／コネクタの性質を表すもので，これによって電気的特性を伝達し，例えばＲＪ−４５雄形状を両端に持つケーブルを介して，２つのＲＪ−４５雌形状を持つコネクタを接続したとき，コネクタの組がＲＳ２３２Ｃ同士，もしくはＬＡＮ同士の場合はＯＫと判断するが，ＲＳ２３２ＣとＬＡＮの場合は排除する，などの判定を可能とする。【００１５】
以上のスクリプトを解析するスクリプト実行エンジンを用い，コネクタ，ケーブルごとに設定されたスクリプトを解析することにより，接続可否を判定する。接続判定式により，形状特性が接続可，かつ，電気的特性が接続可であれば，接続可能と判断する。電気的特性の接続可否の判定においては，ケーブル／コネクタの伝達関数により伝達された電気的特性についての接続可否判定を行う。これらの判定結果のすべてがＯＫであれば該ケーブルを介して接続可能と判断する。【００１６】
これにより，形状特性，電気的特性，接続判定式，および伝達関数を，スクリプトによって記述することにより，コネクタおよびケーブルの性質を，容易に定義することが可能になり，接続整合性を容易に確認できるようになるとともに，接続に用いることができるケーブルの候補を網羅して，システム設置者等に提示することができるようになる。【００１７】
具体的には，本発明は，システム構成図の電子情報をもとに，システム構成図中の線で結ばれた部品と部品とが実際に接続可能であるか否かを，計算機がチェックする設計確認処理装置であって，部品の接続に用いられるコネクタに対して，形状的な特性を示す固定特性と，固定特性が接続可能な値であるかどうかを判定するための固定特性の接続判定式と，電気的な特性を示す可変特性と，可変特性が接続可能な値であるかどうかを判定するための可変特性の接続判定式とを，所定の文法規則に従うスクリプトで記述した定義情報を記憶する特性／判定式スクリプト記憶手段と，コネクタおよびケーブルに対して，接続するコネクタとコネクタとの間，またはケーブルの一端と他端との間で，前記可変特性および前記可変特性の接続判定式をどのように引き継ぐかを示す伝達関数を，所定の文法規則に従うスクリプトで記述した定義情報を記憶する伝達関数スクリプト記憶手段とを備え，入力した前記システム構成図の電子情報から，システム構成図上の線で結ばれた接続すべき部品のコネクタ群を抽出し，抽出した接続すべきコネクタのそれぞれについて，前記特性／判定式スクリプト記憶手段から固定特性，固定特性の接続判定式，可変特性，可変特性の接続判定式を記述したスクリプトを読み出し，予め登録された各ケーブルに対して，前記接続すべきコネクタの固定特性の値を，前記固定特性の接続判定式に従って評価して接続可否を判定するとともに，接続元の前記可変特性と可変特性の接続判定式とを前記伝達関数に従って変形させて接続相手側の伝達先に引き継ぎ，その可変特性を，前記可変特性の接続判定式に従ってそれぞれ評価して接続可否を判定する処理を，各接続部位について繰り返すことにより，すべて接続可と判定されたケーブルが存在する場合に，接続整合性があると認定し，すべて接続可と判定されたケーブルが存在しない場合に，接続整合性がないと認定し，接続整合性があるか否かの情報を出力することを行う。【００１８】
または，本発明の設計確認処理装置は，上記設計確認処理装置において接続整合性があると認定されたケーブルの候補を出力する処理手段を備える。さらに，前記システム構成図の電子情報から抽出した接続すべき部品のコネクタが，ケーブルを用いずに直接接続可能であるか否かを，前記コネクタの固定特性，固定特性の接続判定式，可変特性，可変特性の接続判定式を記述したスクリプトを解析して検査し，前記固定特性の接続判定式および前記可変特性の接続判定式による判定結果がともに真である場合に，直接接続可能である旨の情報を出力する手段を有していてもよい。
【発明の効果】
【００１９】
本発明によれば，新しいスクリプトによって，コネクタの「形状性質を自由に記述」でき，「論理的な性質を自由に記述」でき，また，「２つの形状性質の適合性（接続整合性）を自由に記述」でき，「２つの論理的な性質の適合性（接続整合性）を自由に記述」でき，かつ「論理的な性質の伝達方法を定義」することができる。したがって，そのスクリプトによって，システム構成図に用いられるコネクタやケーブルの性質を予め定義しておくことにより，新しいコネクタやケーブル，また新しい信号プロトコルに対しても，スクリプトによる定義情報を追加するだけで，スクリプトを解析する汎用のチェック用エンジンを用いて，接続整合性のチェックおよびケーブル候補の選択を行うことができる。
【図面の簡単な説明】
【００２０】
【図１】本発明の概要を説明する図である。
【図２】本発明の実施の形態によるシステム設計の全体像を説明する図である。
【図３】設計確認処理装置の構成例を示す図である。
【図４】接続マトリックスを示す図である。
【図５】スクリプトの動作例を説明する図である。
【図６】各コネクタの接続判定式を示す図である。
【図７】接続マトリックスを示す図である。
【図８】ストレートケーブルとクロスケーブルの特性を表にした図である。
【図９】スクリプトの動作例を説明する図である。
【図１０】各コネクタの接続判定式を示す図である。
【図１１】本実施の形態における接続整合性チェック／ケーブル選択部およびライブラリＤＢの構成例を示す図である。
【図１２】特性／判定式マスタテーブルの構成例を示す図である。
【図１３】伝達関数マスタテーブルの構成例を示す図である。
【図１４】部品マスタテーブルの構成例を示す図である。
【図１５】部品コネクタテーブルの構成例を示す図である。
【図１６】ケーブル伝達関数対応テーブルの構成例を示す図である。
【図１７】コネクタ伝達関数対応テーブルの構成例を示す図である。
【図１８】ケーブル選択処理フローチャートである。
【図１９】コネクタ接続性判定処理フローチャートである。
【図２０】接続チェック処理フローチャートである。
【図２１】接続チェック処理フローチャートである。
【図２２】スクリプト判定処理フローチャートである。
【図２３】スクリプト伝達処理フローチャートである。
【図２４】システム構成図の例を示す図である。
【符号の説明】
【００２１】
１  接続整合性チェック／ケーブル選択処理装置
２  特性／判定式スクリプト記憶手段
３  伝達関数スクリプト記憶手段
１００  設計確認処理装置
１０１  部品情報／接続情報解析部
１０２  内部データ構造構築部
１０３  接続整合性チェック／ケーブル選択部
１０４  設定情報収集部
１０５  機器単位部品情報収集部
１０６  ケーブル候補文書作成部
１０７  設定情報文書作成部
１０８  機器構成文書作成部
１０９  設計関連文書マージ部
１１０  各種文書を生成するための処理の前段部分
１１１  各種文書を生成するための処理の後段部分
１３０  ケーブル選択処理部
１３１  コネクタ接続性判定処理部
１３２  接続チェック処理部
１３３  スクリプト判定処理部
１３４  スクリプト伝達処理部
１４０  ケーブル候補情報
２００  ライブラリＤＢ
２０１  特性／判定式マスタテーブル
２０２  伝達関数マスタテーブル
２０３  部品マスタテーブル
２０４  部品コネクタテーブル
２０５  ケーブル伝達関数対応テーブル
２０６  コネクタ伝達関数対応テーブル
３００  ＣＡＤ装置
３１０  ＣＡＤ内部情報
３２０  システム構成図
４００  データ登録装置
５００  ＣＡＤ用ライブラリＤＢ
６００  設計関連文書
【発明を実施するための最良の形態】
【００２２】
図１は，本発明の概要を説明するための図である。図１において，１は接続整合性チェック／ケーブル選択処理装置，２は特性／判定式スクリプト記憶手段，３は伝達関数スクリプト記憶手段，３２０は電子情報化されたシステム構成図を表す。なお，本実施例では，ＣＡＤシステムを用いて作成されたシステム構成図を例として説明しているが，本発明はこれに限るものではなく，同様の情報が含まれるシステム構成図データであれば，ＣＡＤシステム以外の手段により作成された電子情報であっても構わない。【００２３】
システム構成図３２０においては，システムを構成するサーバやネットワーク機器などの構成部品のインタフェースが線で結ばれ，接続関係が定義されている。実際にシステムを実装する場合には，これらの線に対して，構成部品間のインタフェースに対応した適切なケーブルを割り当てるか，インタフェース（コネクタ）同士を直接接続しなければならない。サーバや各種のネットワーク機器にはコネクタがあり，ケーブルにも接続のためのコネクタがある。【００２４】
コネクタとコネクタとが接続可能であるためには，外形規格，雄雌の別，ピン数，切り欠位置等の各コネクタの形状特性が適合しなければならない。さらに，信号プロトコルや通信速度等の電気的特性も適合しなければならない。また，部品間をケーブルを用いて接続した場合，一方の部品のコネクタにおける電気的特性が，ケーブルによって接続相手の部品のコネクタまで伝達することになる。したがって，接続相手の部品のコネクタとケーブルのコネクタ間では，各コネクタの形状特性が適合するとともに，伝達した電気的特性も適合しなければならない。このように形状特性および電気的特性が適合するか否かの検査を，ここでは接続整合性チェックという。【００２５】
従来のプリント板等における接続検証の考え方により，接続整合性チェックを行おうとすると，外形規格，雄雌の別，ピン数，切り欠位置等の各コネクタの形状特性のそれぞれについて，整合性をチェックするためのプログラムを作成する必要があり，また，電気的特性のチェックについても，電気的特性の種類に応じたチェックプログラムを作成する必要があった。また，これらのチェックプログラムで参照するための多くの形状特性および多くの電気的特性に関する属性も，それぞれ各コネクタに対して定義しなければならなかった。したがって，特に，新しい形状特性や電気的特性を持つコネクタを持つ部品が出現した場合には，その属性情報の定義およびその接続整合性チェックのプログラムを新たに作成する必要があり，拡張性に欠けるという問題があった。【００２６】
本発明では，これらの問題を所定の文法規則（仕様）を持つスクリプトを利用することによって解決する。【００２７】
以下では，上記形状特性を固定特性といい，上記電気的特性を可変特性という。これらの特性は，各コネクタまたは同じ属性を持つコネクタ群ごとに，特性名と特性値の組み合わせからなる特性値集合を記述するスクリプトによって定義される。【００２８】
また，固定特性と可変特性のそれぞれについて，接続相手との接続可否の判定に用いる接続判定式が，スクリプトによって定義される。この判定式のスクリプトは，特性名と，自分方，相手方の別をもって識別する変数を，数値演算／論理演算／集合演算した結果の真偽を記述することができる。コネクタ同士を接続した際，各々のコネクタが持つ固定特性の接続判定式（以下，固定判定式と略記する）および可変特性の接続判定式（以下，可変判定式と略記する）に，自分方，相手方の特性値集合を値として与え，固定判定式および可変判定式のそれぞれの接続整合性を判定し，すべての判定式の結果が真になった場合に，接続可能と決定する。【００２９】
可変特性については，元の特性値としてｎｕｌｌを許可し，ｎｕｌｌの場合には接触した他方のコネクタの可変特性を，コネクタ伝達関数を介して変形して代入することができる。【００３０】
また，ケーブルを，端点のコネクタの属性（固定特性／可変特性）と，そのコネクタを結ぶ線分部分と考え，コネクタ部分の可変特性の元の値をｎｕｌｌとし，線分部分はケーブル伝達関数を定義して，その関数で変形した可変特性が他端のコネクタの可変特性となるようにする。この場合，ケーブルを構成するコネクタが３つ以上ある場合には，定義した伝達関数がどの端点からどの端点への変形かを定義できるような仕組みを設ける。ケーブルの一端をコネクタと接続すると，コネクタ伝達関数を介して，ケーブルの可変特性がコネクタの可変特性の変形として定義され，かつ，ケーブル伝達関数を介して，一端の可変特性が他端に伝達する仕組みを持つ。ケーブルの他端がコネクタと接触する場合，ケーブル側コネクタの可変属性は伝達された値を用いて整合性チェックを行う。【００３１】
与えられたコネクタ群に対して，定義された複数のケーブル群から順次ケーブルを選択して，整合性の判定を行うことにより，接続可能な単数または複数のケーブルを抽出するスクリプトエンジンを持つ。【００３２】
特性／判定式スクリプト記憶手段２には，ケーブルやサーバ等の部品の各コネクタごとに，上記固定特性，固定判定式，可変特性，可変判定式を記述したスクリプトが予め登録され，記憶されている。これらのスクリプトは，各コネクタごとではなく，同じ属性を持ったコネクタ群ごとに登録してもよい。【００３３】
また，伝達関数スクリプト記憶手段３には，各コネクタおよび各ケーブルごとに，可変特性を接続相手またはケーブルの他端まで伝達するための可変特性を変形させる式を記述したスクリプトが予め登録され，記憶されている。これらのスクリプトも，各コネクタ，各ケーブルごとではなく，同じ属性を持ったコネクタ群，ケーブル群ごとに登録することもできる。【００３４】
接続整合性チェック／ケーブル選択処理装置１は，電子情報化されたシステム構成図３２０を入力し，特性／判定式スクリプト記憶手段２および伝達関数スクリプト記憶手段３のスクリプトを参照して，システム構成図３２０における各部品の接続整合性チェックを行い，実装可能な適切なケーブルの候補を選択して出力するスクリプト実行エンジンである。【００３５】
接続整合性チェック／ケーブル選択処理装置１は，次のように処理を実行する。まず，コネクタ群を抽出する処理Ｐ１では，システム構成図３２０から線分で接続された部品のコネクタ群を接続関係を保持したまま抽出する。次に，コネクタの固定および可変の特性／判定式を取得する処理Ｐ２では，処理Ｐ１で取得した接続すべきコネクタのそれぞれについて，特性／判定式スクリプト記憶手段２から固定特性，固定判定式，可変特性，可変判定式を記述したスクリプトを読み出す。【００３６】
次に，直接接続可否検査の処理Ｐ３では，読み出した固定特性および可変特性を，それぞれ固定判定式，可変判定式を用いて評価し，線で結ばれた接続すべきコネクタがケーブルを用いずに直接接続できるか否かの検査を行う。直接接続できる場合，ケーブルを用いないで接続できる旨の情報を，例えば接続可能ケーブルがダミーケーブルとして出力する。ここでは，処理の都合上，ダミーケーブルも接続可能ケーブルの候補の一つとして出力する。【００３７】
続いて，ケーブルごとのコネクタ接続性検査の処理Ｐ４では，予め部品マスタテーブルに登録されている各ケーブル群から順次，検査対象のケーブルを選択し，まず，固定特性／判定式スクリプトチェックの処理Ｐ５により，接続すべき部品のコネクタと検査対象のケーブルのコネクタとの形状的な特性が適合するかどうかを，固定特性と固定判別式を用いてチェックする。特性が適合しない場合，そのケーブルは，接続不可とする。【００３８】
次に，伝達関数スクリプトによる特性値伝播の処理Ｐ６では，形状的な特性が適合するケーブルについて，電気的な特性も適合するかを調べるため，伝達関数スクリプトを用いて，部品のコネクタからケーブルのコネクタへ可変特性の特性値の伝播を行う。続いて，可変特性／判定式スクリプトチェックの処理Ｐ７では，伝搬した可変特性について可変判定式を用いて接続可能であるかどうかをチェックする。接続可能である場合，さらに伝達関数スクリプトによる特性値伝播の処理Ｐ６により，ケーブルの伝達関数スクリプトを用いて，ケーブルの一端からケーブルの他端のコネクタへの可変特性の特性値の伝播を行い，続いて，可変特性／判定式スクリプトチェックの処理Ｐ７では，伝搬した可変特性について，接続相手の部品のコネクタとケーブルのコネクタとが，可変判定式を用いて接続可能であるかどうかをチェックする。同様に，接続相手の部品のコネクタとケーブルのコネクタとの形状的な特性の適合性についても，固定特性／判定式スクリプトチェックの処理Ｐ５によって調べる。【００３９】
以上のすべてのチェックで，接続可能という判定結果が得られたならば，そのケーブルを接続可能ケーブルの候補として記憶し，同様に次のケーブルについて接続整合性を調べる。【００４０】
すべてのケーブルについてコネクタ接続性検査の処理を終了したならば，接続可能ケーブルの候補出力の処理Ｐ８により，接続可能ケーブルの候補として記憶したケーブルのリストを出力する。接続可能ケーブルの候補が一つも存在しない場合，システム構成図３２０における部品の接続は不可能であることを，接続不整合情報出力の処理Ｐ９で出力する。【００４１】
以上の処理によって，与えられた複数の部品のコネクタが直接接続可能かどうかを調べることができる。また，与えられた複数の部品のコネクタがケーブルを介して接続可能かどうかを調べることができる。また，与えられた複数のコネクタに対して，接続可能なケーブル群の候補を出力することができる。【００４２】
さらに，接続可能なケーブル群の候補の中から自動的に一つのケーブルを選択する処理を追加することもできる。接続可能なケーブル群の候補の中から一つのケーブルを選択する方法としては，予め設定された選択条件に従って最適なものを選択する方法を用いるが，これをプログラム化することは容易である。【００４３】
選択条件としては，例えば次のようなものが考えられるが，どのような選択条件を設定してケーブルの候補を一つに絞るかは，予め任意に決めてもよいし，またユーザにインタラクティブに問い合わせて決定してもよい。【００４４】
選択条件の例：                                                                １）コストの安いものを優先的に選択する。
２）在庫があるもの，あるいは入手し易いものを優先的に選択する。
３）ある程度の品質を保証できる信頼性の高いものを優先的に選択する。
４）実装に適したケーブル長のものを選択する。
５）その他
本発明によって，以上のことを実現できるのは，各コネクタの形状的な特性を定め，その接続適合性を判定するためのコネクタの性質を，固定特性および固定判定式としてスクリプトによって定義できるようにするとともに，信号プロトコルのような電気的な特性を定める可変特性と，その接続適合性をチェックできる可変判定式をスクリプトによって定義できるようにし，さらに異なる２つのコネクタの間でケーブルを介して可変特性と可変判定式を伝達する伝達関数を，スクリプトで定義できるようにしているからである。【００４５】
システム構成図３２０から抽出した部品のコネクタについて，これらのスクリプトを取得し，固定特性，可変特性を，それぞれ固定判定式，可変判定式によって評価することにより，接続可能か否かを，多種多様なコネクタおよびケーブルに対して，すべて同じアルゴリズムによって決定することができる。新しいコネクタやケーブルが利用可能になった場合にも，それらの特性等を簡易なスクリプトで定義することで，図１に示す接続整合性チェック／ケーブル選択処理装置１（スクリプト実行エンジン）を実現するプログラムを変更することなく，一律に処理することができる。【００４６】
以下，本発明の実施の形態について，図を用いて説明する。【００４７】
図２は，本発明の実施の形態によるシステム設計の全体像を説明する図である。本実施の形態によるシステム設計は，主に，設計確認処理装置１００，ライブラリＤＢ２００，ＣＡＤ装置３００によって実現される。【００４８】
設計者は，ＣＡＤ装置３００を用いてシステム設計を行う。設計確認処理装置１００は，ＣＡＤ装置３００で設計されたシステム構成図のＣＡＤ内部情報３１０から，設計関連文書６００を生成する。ライブラリＤＢ２００は，ＣＡＤ装置３００や設計確認処理装置１００で必要となるすべてのデータを保持する。【００４９】
システム設計を行う場合には，まず，データ登録装置４００を用いて，ライブラリＤＢ２００に必要な情報を入力する。入力される情報は，例えば，製品／部品の型名や名称，大きさや消費電力等の諸元，作図用のビットマップデータ，またそれぞれの部品の持つインタフェースやそれらの機能などの情報である。【００５０】
次に，ライブラリＤＢ２００から作図に必要な情報を抜き出し，ＣＡＤ用ライブラリＤＢ５００を生成する。ＣＡＤ装置３００は，このＣＡＤ用ライブラリＤＢ５００を取り込んで動作する。設計者は，ＣＡＤ装置３００を用いてシステム構成図を作図する。【００５１】
次に，ＣＡＤ装置３００は，設計されたシステム構成図のＣＡＤ内部情報３１０を，例えばファイルなどを介して設計確認処理装置１００に引き渡す。このときのＣＡＤ内部情報３１０には，例えば，一意の内部ＩＤやＤＢアクセスコード，型名などの情報を含む各部品やインタフェースのリスト，インタフェース同士の接続リスト，各部品やインタフェースに設計者が設定したＩＰアドレスやＳＣＳＩ情報等のプロパティ情報などが含まれる。【００５２】
設計確認処理装置１００は，ＣＡＤ装置３００から渡されたＣＡＤ内部情報３１０を解析し，不足情報をライブラリＤＢ２００にアクセスすることにより補完し，その他必要な処理を施して設計関連文書６００を生成する。不足情報としては，例えば，接続判定スクリプトや，設計図面上の接続関係を追いかけるためのネット探査コード，プロトコル情報，ＣＡＤ装置３００での設計には不要な固定的なプロパティや，出力情報の種類ごとに異なるインタフェース名などがある。【００５３】
なお，本発明は，主に設計確認処理装置１００において，使用可能なケーブルの候補を抽出する接続整合性チェック／ケーブル選択部１０３に関するものである。【００５４】
図３は，設計確認処理装置の構成例を示す図である。設計確認処理装置１００は，ライブラリＤＢ２００を参照し，ＣＡＤ装置３００で作成されたシステム構成図のＣＡＤ内部情報３１０から設計関連文書６００を生成する。設計確認処理装置１００は，部品情報／接続情報解析部１０１，内部データ構造構築部１０２，接続整合性チェック／ケーブル選択部１０３，設定情報収集部１０４，機器単位部品情報収集部１０５，ケーブル候補文書作成部１０６，設定情報文書作成部１０７，機器構成文書作成部１０８，設計関連文書マージ部１０９を備える。【００５５】
なお，以下では，接続整合性チェック／ケーブル選択部１０３，設定情報収集部１０４，機器単位部品情報収集部１０５を含む部分を，各種文書を生成するための処理の前段部分１１０と呼ぶ。また，ケーブル候補文書作成部１０６，設定情報文書作成部１０７，機器構成文書作成部１０８を含む部分を，各種文書を生成するための処理の後段部分１１１と呼ぶ。【００５６】
設計確認処理装置１００は，ＣＡＤ装置３００からシステム構成図のＣＡＤ内部情報３１０を受け取る。受け取ったＣＡＤ内部情報３１０は，まず，部品情報／接続情報解析部１０１に送られる。【００５７】
ＣＡＤ内部情報３１０には，システム構成図に使用された部品の情報や，接続の情報だけではなく，システム構成図上の部品の位置情報など，設計関連文書６００の生成に無関係の情報も含まれる。ＣＡＤ内部情報３１０は，例えばＣＳＶフォーマットのファイルとして，ＣＡＤ装置３００から出力される。部品情報／接続情報解析部１０１では，まずそのフォーマット（ＣＳＶ）を解析し，次に部品や接続に関する情報のみを抽出する処理を行う。部品情報／接続情報解析部１０１で抽出された情報は，内部データ構造構築部１０２に送られる。【００５８】
内部データ構造構築部１０２は，ＣＡＤ装置３００から送られてきた部品や接続の識別子とそれらの接続関係とを，後段の処理が扱いやすいようにオブジェクト化するとともに，不足している共通情報をライブラリＤＢ２００から取得する。不足している共通情報とは，例えば“システム構成図上では使用が設定されていないために線が接続されていないＬＡＮインタフェース”の情報などである。内部データ構造構築部１０２で構築された内部データオブジェクトは，各種文書を生成するための処理の前段部分１１０，すなわち接続整合性チェック／ケーブル選択部１０３，設定情報収集部１０４，機器単位部品情報収集部１０５等の各処理部に送られる。【００５９】
各種文書を生成するための処理の前段部分１１０では，それぞれの目的に従って，内部データオブジェクトの必要な部品や接続関係を参照しつつ，情報を収集する処理や選択する処理などを行う。【００６０】
接続整合性チェック／ケーブル選択部１０３は，接続関係の両端のインタフェース情報を取り出し，それらのインタフェースが直接相互に接続可能かどうか，またケーブルを介して接続可能かどうかの判定を行い，接続可能なもののみを保持することにより，ケーブルの選択を行う。なお，ケーブルの選択にはケーブルなしの直接接続も含まれる。このとき，インタフェースの性質やケーブルの性質を表すスクリプトの取得を，ライブラリＤＢ２００の参照により解決する。【００６１】
設定情報収集部１０４は，ある部品からの接続関係を辿りながら，その接続関係のパスの収集や，それぞれの部品オブジェクトに設定されているプロパティ情報の収集を行う。このとき，設定情報の収集目的により，接続関係の辿り方が異なる場合がある。ここでは，設定情報の収集目的に応じた接続関係の辿り方を指示する情報があらかじめライブラリＤＢ２００に登録されており，ライブラリＤＢ２００を参照することにより，設定情報の収集目的に応じた接続関係の辿り方を取得できるようになっている。【００６２】
機器単位部品情報収集部１０５は，部品の接続関係を機器内の接続と機器間の接続とに区別し，機器間の接続は無視して機器内の接続のみを追うことにより，機器単位の構成情報を収集する。このとき，機器間の接続であるか機器内の接続であるかを区別するための情報等を，ライブラリＤＢ２００から取得する。【００６３】
各種文書を生成するための処理の前段部分１１０で収集された情報は，内部形式の情報であるため，それを人が読める形式に変換する必要がある。そのために，各種文書を生成するための処理の前段部分１１０にそれぞれ対応する各種文書を生成するための処理の後段部分１１１，すなわちケーブル候補文書作成部１０６，設定情報文書作成部１０７，機器構成文書作成部１０８等の各処理部を設ける。各種文書を生成するための処理の前段部分１１０は，それぞれ対応する各種文書を生成するための処理の後段部分１１１に，収集した情報を送る。【００６４】
各種文書を生成するための処理の後段部分１１１は，各種収集情報を出力するためのフォーマット化や，内部形式の情報から人が読める形式の情報への変換を主に行う。人が読める形式の情報とは，例えば，内部形式では単なる記号である部品の識別情報を，その部品に付けられた名称に変換したものなどである。各種文書を生成するための処理の後段部分１１１では，このような変換を行うために，ライブラリＤＢ２００を参照する。【００６５】
ケーブル候補文書作成部１０６は，接続整合性チェック／ケーブル選択部１０３で収集されたケーブルの情報やケーブル選択の結果をもとに，ケーブル候補文書を作成する。設定情報文書作成部１０７は，設定情報収集部１０４によって収集された設定情報から，設定情報文書を作成する。機器構成文書作成部１０８は，機器単位部品情報収集部１０５で収集された機器単位の構成情報から，機器構成文書を作成する。【００６６】
このように，各種文書を生成するための処理の前段部分１１０と，それに対応する各種文書を生成するための処理の後段部分１１１とを目的ごとに設けることにより，様々な目的に対応する各種文書を作成することができる。【００６７】
各種文書を生成するための処理の後段部分１１１は，それぞれの目的に応じた各種文書の情報を出力する。設計関連文書マージ部１０９は，各種文書を生成するための処理の後段部分１１１から出力された各種文書の情報を，それぞれの利用者の目的に沿って取捨選択し，それぞれの利用者の目的にあわせた設計関連文書６００を生成する。【００６８】
例えば，システム構築関連の作業を行うＣＥ（Customer Engineer ）には，機器内の接続情報，機器間の接続情報等，主にハード関連の情報が必要となるので，機器単位部品情報収集部１０５，機器構成文書作成部１０８によって生成された機器構成文書や，接続整合性チェック／ケーブル選択部１０３，ケーブル候補文書作成部１０６によって生成されたケーブル候補文書などが必要となる。【００６９】
また，同じようにシステム構築関連の作業を行う人でも，ＳＥ（System Engineer ）には，主にソフトウェア関連の情報が必要となるので，設定情報収集部１０４，設定情報文書作成部１０７によって生成された設定情報文書が必須となり，その他の文書は参考程度に必要となる。【００７０】
また，接続整合性チェック／ケーブル選択部１０３，ケーブル候補文書作成部１０６で生成された情報は，ケーブル絞込み作業が必要となる設計関係者には，必須となる。【００７１】
各種文書を生成するための処理の後段部分１１１は，他のシステムと連携するために，文書情報を，例えばＸＭＬ形式などの機械可読の形式で生成することもできる。これにより，例えば，ケーブル候補文書作成部１０６で作成されたケーブル候補文書の情報を，システム構成図の機器情報や接続情報などとともに，ラックへの実装設計を行う実装解決装置に送り，実装解決装置では，ケーブル候補文書の情報をもとに，絞り込まれたケーブル候補の中から最適な長さのケーブルを選択する，といったことも実現可能となる。【００７２】
これらのために，各種文書を生成するための処理の後段部分１１１では，１つの各種文書を生成するための処理の前段部分１１０の処理部に対して，複数の処理部が配置される場合もある。【００７３】
このようなシステム設計の環境のもとで，本発明は，特に接続整合性チェック／ケーブル選択部１０３と，ライブラリＤＢ２００の登録データとに関連する。【００７４】
本実施の形態によるケーブル選択処理を説明する前に，本発明において固定および可変特性，それらの接続判定式，および伝達関数を記述するスクリプト言語の定義（仕様）の例を説明し，その後に，本実施の形態によるケーブル選択処理に必要となる可変特性等のスクリプトの定義／動作例を説明する。【００７５】
＜スクリプト言語の定義の例＞
実際のスクリプト言語は，数値範囲を扱う方法が定義されていたり，演算子も以下の例よりもかなり多かったりする。ここでは，本実施例で用いる代表的なスクリプト言語の定義の例を説明するが，本発明の理解には以下で説明する例で十分であり，定義の変更および追加は，設計的事項として任意になし得る。【００７６】
〔特性集合〕
特性集合は，複数の特性の集まりであり，各特性を“，”で区切って以下のように記述する。【００７７】
特性１，特性２，特性３，... 
特性：
特性は，特性名と特性値を“：＝”で区切って以下のように記述する。【００７８】
特性名  ：＝  特性値集合
特性名：
特性名は，「変数」として扱われ，英文字で始まり，英文字，数字，“＿”を任意個数繋ぐことができる。すなわち，［Ａ−Ｚａ−ｚ］［Ａ−Ｚａ−ｚ０−９＿］＊という形式で表される。【００７９】
特性値集合：
特性値集合は，特性値を集合要素として列挙した集合である。以下のように記述することにより，この特性値集合が，特性値１，特性値２，特性値３，... 特性値Ｎを持っていることを表す。【００８０】
｛特性値１｜特性値２｜特性値３｜... ｜特性値Ｎ｝
空集合の場合は，φと記述すればよい。ＡＳＣＩＩのみなら，例えば｛＊ＰＨＩ＊｝などと記述すればよい。【００８１】
特性値：
特性値は，それぞれの特性（性質）を表す分かりやすい文字列として自由に定義してよい。ただし，１文字目は数字を許さない。特性値は，基本的に「文字列」として扱われ，通常のプログラム記述言語で判定されるような一致性，すなわち同じ文字列のものが等しいという性質を持つ。例えば，“ＩＥ８０２．３ａ”，“ａ”，“ＭＤＩ”等が特性値文字列である。【００８２】
特性集合の例：
ＬＡＮＳＰ  ：＝  ｛ｉ｜ｕ｝，ＬＡＮＰＩＮ  ：＝  ｛ＭＤＩ｝
意味：特性名“ＬＡＮＳＰ”で表される特性は，“ｉ”，“ｕ”という２つの文字列要素を持ち，特性名“ＬＡＮＰＩＮ”で表される特性は，“ＭＤＩ”という文字列要素を持ち，これらの２つの特性を併せ持っていると解釈される。【００８３】
〔変数〕
変数は一般に「特性名」の形式を持つが，式（後述の演算子説明のＥＸＰＲ，ＬＥＸＰＲ）の中で使われる場合には，異なるコネクタ同士の同じ特性名を扱う場合に，どちらのコネクタの特性名を表すかを示す接尾辞が付加される。【００８４】
＠Ｓ：自コネクタの特性名を表す接尾辞。【００８５】
＠Ｏ：他コネクタ，すなわち相手側コネクタの特性名を表す接尾辞。伝達関数においては，伝達元の特性名を表す。【００８６】
例１：ＬＡＮＳＰ＠Ｓ  ＆  ＬＡＮＳＰ＠Ｏ  ！＝  φ
この例１は，自分側のコネクタのＬＡＮ速度プロパティ（ＬＡＮＳＰ＠Ｓ）と相手側コネクタのＬＡＮ速度プロパティ（ＬＡＮＳＰ＠Ｏ）との積を求め，その結果が空集合かどうかを判定する接続判定式の定義例である。【００８７】
例２：ＬＡＮＳＰ  ：＝  ＬＡＮＳＰ＠Ｏ  ＆  ｛ｉ｜ｕ｝
この例２は，あるコネクタのＬＡＮ速度プロパティと｛ｉ｜ｕ｝という特性値集合の積を取ったものを，他端のコネクタのＬＡＮ速度プロパティとする伝達関数の定義例である。【００８８】
〔演算子〕
・ＥＸＰＲ１  ＆  ＥＸＰＲ２    （２項演算子）
ＥＸＰＲ１，ＥＸＰＲ２の両集合要素の積すなわち共通要素を求める。ＥＸＰＲ１，ＥＸＰＲ２には変数（特性名），特性値集合を含む算術式が記述できる。【００８９】
例：｛Ａ｜Ｂ｜Ｃ｜Ｄ｝  ＆  ｛Ｂ｜Ｄ｜Ｅ｜Ｆ｝  →  ｛Ｂ｜Ｄ｝
・ＥＸＰＲ１  ＃  ＥＸＰＲ２    （２項演算子）
ＥＸＰＲ１，ＥＸＰＲ２の両集合要素の排他的論理和を求める。【００９０】
例：｛Ａ｜Ｂ｜Ｃ｜Ｄ｝  ＃  ｛Ｂ｜Ｄ｜Ｅ｜Ｆ｝  →  ｛Ａ｜Ｃ｜Ｅ｜Ｆ｝
・ＥＸＰＲ１  ｅｘｃｅｐｔ  ＥＸＰＲ２    （２項演算子）
ＥＸＰＲ１の集合要素から，ＥＸＰＲ２に含まれる要素を取り除いたものを求める。【００９１】
例：｛Ａ｜Ｂ｜Ｃ｜Ｄ｝  ｅｘｃｅｐｔ  ｛Ｂ｜Ｄ｜Ｅ｜Ｆ｝  →  ｛Ａ｜Ｃ｝
・ＰＲＯＰ  ：＝  ＥＸＰＲ１    （代入演算子）
ＥＸＰＲ１をＰＲＯＰに代入する。ＰＲＯＰには「特性名」が記述できる。このときの演算結果はＥＸＰＲ１となる。【００９２】
例：ＬＡＮＳＰ  ：＝  ｛ｉ｜ｕ｜ａｂ｝  ＆  ｛ｉ｜ｕ｝
ＬＡＮＳＰに演算結果（｛ｉ｜ｕ｝）が代入され，この代入式自体は演算結果（｛ｉ｜ｕ｝）を返す。【００９３】
・ＥＸＰＲ１  ＝＝  ＥＸＰＲ２    （比較演算子）
ＥＸＰＲ１とＥＸＰＲ２が等しい場合には“真”，そうでなければ“偽”となる。「等しい」とは，各々の集合要素の数が等しく，かつ，それぞれの要素に対応する等しい要素，すなわち文字列が等しい要素が存在することを意味し，記述順序は関係ない。【００９４】
例：｛Ａ｜Ｂ｜Ｃ｝  ＝＝  ｛Ａ｜Ｂ｜Ｃ｝  →  真
｛Ａ｜Ｂ｜Ｃ｝  ＝＝  ｛Ａ｜Ｃ｜Ｂ｝  →  真
｛Ａ｜Ｂ｝      ＝＝  ｛Ａ｜Ｂ｜Ｃ｝  →  偽
｛Ａ｜Ｂ｜Ｃ｝  ＝＝  ｛Ａ｜Ｂ｜Ｄ｝  →  偽
｛Ａ｜Ｂ｜Ｃ｝  ＝＝  φ              →  偽
φ              ＝＝  φ              →  真
・ＥＸＰＲ１  ！＝  ＥＸＰＲ２    （比較演算子）
ＥＸＰＲ１とＥＸＰＲ２が等しい場合には“偽”，そうでなければ“真”となる。【００９５】
例：｛Ａ｜Ｂ｜Ｃ｝  ！＝  ｛Ａ｜Ｂ｜Ｃ｝  →  偽
｛Ａ｜Ｂ｜Ｃ｝  ！＝  ｛Ａ｜Ｃ｜Ｂ｝  →  偽
｛Ａ｜Ｂ｝      ！＝  ｛Ａ｜Ｂ｜Ｃ｝  →  真
｛Ａ｜Ｂ｜Ｃ｝  ！＝  ｛Ａ｜Ｂ｜Ｄ｝  →  真
｛Ａ｜Ｂ｜Ｃ｝  ！＝  φ              →  真
φ              ！＝  φ              →  偽
・ＬＥＸＰＲ１  ＆＆  ＬＥＸＰＲ２    （論理演算子）
ＬＥＸＰＲ１とＬＥＸＰＲ２との論理積を取る。ＬＥＸＰＲ１，ＬＥＸＰＲ２が共に“真”であるときにのみ“真”となり，それ以外では“偽”となる。ＬＥＸＰＲは，真／  偽を表す論理式を示す。【００９６】
・ＬＥＸＰＲ１  ｜｜  ＬＥＸＰＲ２    （論理演算子）
ＬＥＸＰＲ１とＬＥＸＰＲ２との論理和を取る。ＬＥＸＰＲ１，ＬＥＸＰＲ２のどちらかが“真”であれば“真”となり，両者とも“偽”であるときにのみ“偽”となる。ＬＥＸＰＲ１，ＬＥＸＰＲ２は，論理値（真／偽）そのもの，もしくは，論理式（論理値を結果とする式で，論理演算子や比較演算子で結合された式）を取ることができる。【００９７】
・ＬＥＸＰＲ  ？  ＥＸＰＲ１  ：  ＥＸＰＲ２    （３項演算子）
ＬＥＸＰＲが“真”であるときにはＥＸＰＲ１を返し，“偽”であるときにはＥＸＰＲ２を返す。【００９８】
〔接続判定式〕
接続判定式は，上述の特性値集合（特性集合ではないので注意）や演算子を組み合わせて結果が“真”，“偽”を表すような式のことを言う。【００９９】
〔伝達関数集合〕  
伝達関数集合は，伝達関数を“，”で区切って複数列挙したものを表す。【０１００】
伝達関数１，伝達関数２，... 
伝達関数：
伝達関数は，代入式の形を持ち，代入結果が他端コネクタに伝達されたと見なす。【０１０１】
＜ＬＡＮの定義例＞
以上のスクリプト言語の仕様に従って定義された，ケーブル選択処理（接続整合性チェックを含む）に必要となる可変特性等のスクリプトの定義／動作例を説明する。【０１０２】
〔ＩＥＥＥ８０２．３系プロトコル〕
ＩＥＥＥ８０２．３系には，ＬＡＮのスピードについて，例えば以下のような定義がある。【０１０３】
８０２．３ｉ  ：  １０Ｂａｓｅ−Ｔ              １０Ｍｂｐｓ
８０２．３ｕ  ：  １００Ｂａｓｅ−Ｔｘ        １００Ｍｂｐｓ
８０２．３ａｂ：  １０００Ｂａｓｅ−Ｔ            １Ｇｂｐｓ
これらのプロトコルのうち，どのプロトコルをサポートするかは，機器（コネクタ）／ケーブルによって異なり，最終的にケーブル両端の機器で共通するプロトコルをサポートしている場合に動作可能となる。この場合には，速度に注目している。【０１０４】
以下では，伝送速度に関する特性名をＬＡＮＳＰとし，特性値としては，規格名の差分を取って，８０２．３ｉには“ｉ”，  ８０２．３ｕには“ｕ”，８０２．３ａｂには“ａｂ”を用いる。【０１０５】
（１）コネクタ側の速度特性定義（例）  
機器により扱える規格は様々である。以下に，その代表的な例をいくつか挙げる。【０１０６】
ＬＡＮＳＰ  ：＝  ｛ｉ｝              ：１０Ｍｂｐｓ専用機器
ＬＡＮＳＰ  ：＝  ｛ｉ｜ｕ｝          ：１０／１００Ｍｂｐｓ機器
ＬＡＮＳＰ  ：＝  ｛ｉ｜ｕ｜ａｂ｝    ：１０／１００／１０００Ｍｂｐｓ機器
ＬＡＮＳＰ  ：＝  ｛ａｂ｝            ：１Ｇｂｐｓ専用機器
（２）コネクタ同士の接続可能性
（２−１）接続マトリックス
図４は，接続マトリックスを示す図である。それぞれの規格は，その規格同士で接続可能である。接続可能な関係をマトリックスで表現すると，図４に示す通りとなる。【０１０７】
（２−２）接続判定式（スクリプト）  
図４に示す接続マトリックスから，自コネクタの値と他コネクタの値とのＡＮＤ条件が空でない，という判定式を作ればよい。また，その判定式は，（１）の例で挙げたような一つのコネクタが複数の規格に対応している場合にも，そのまま利用可能である。すなわち，
ＬＡＮＳＰ＠Ｓ  ＆  ＬＡＮＳＰ＠Ｏ  ！＝  φ
となる。これは，どのコネクタにも利用できるため，判定式の伝達関数は恒等関数で構わない。【０１０８】
（３）ケーブルの伝達関数
ケーブルは，コネクタやケーブル部分のシールド方法やケーブル内の撚り線の撚りの方法等により周波数特性が定まり，その結果通せるプロトコルのスピードが制限される。この制限は，通常，カテゴリ（ＣＡＴ）として表され，ＣＡＴ−３，ＣＡＴ−５，ＣＡＴ−５ｅ，ＣＡＴ−６等が存在する。それぞれのケーブルは，以下のように表される。【０１０９】
ＣＡＴ−３：
１０Ｍｂｐｓのスピードの信号のみを扱える。よって，どのような機器側コネクタと接続しても，他端側には，規格名として  ８０２．３ｉのみが出現する。８０２．３ｉをサポートしないコネクタでは何も出現しない。【０１１０】
ＬＡＮＳＰ  ：＝  ＬＡＮＳＰ＠Ｏ  ＆  ｛ｉ｝
ＣＡＴ−５：
１０Ｍｂｐｓ，１００Ｍｂｐｓのスピードの信号を扱える。ＣＡＴ−３と同様に考えると，
ＬＡＮＳＰ  ：＝  ＬＡＮＳＰ＠Ｏ  ＆  ｛ｉ｜ｕ｝
となる。【０１１１】
ＣＡＴ−５ｅ，ＣＡＴ−６：
１０Ｍｂｐｓ，１００Ｍｂｐｓ，１Ｇｂｐｓのスピードを扱える。ＣＡＴ−５ｅとＣＡＴ−６には総合的に違いがあるが，スピードに関しては同じと扱ってよい。従って，ＣＡＴ−３，ＣＡＴ−５と同様に考えると，
ＬＡＮＳＰ  ：＝  ＬＡＮＳＰ＠Ｏ  ＆  ｛ｉ｜ｕ｜ａｂ｝
となる。【０１１２】
（４）スクリプト動作例
図５は，スクリプトの動作例を説明する図である。以下では，図５を用いて，１０／１００ＭｂｐｓのコネクタＣＮ１（α）と，１０／１００／１０００ＭｂｐｓのコネクタＣＮ２（β）とを，ＣＡＴ−５のＬＡＮケーブルで接続する場合のスクリプト動作の例を説明する。【０１１３】
（４−１）コネクタＣＮ１（α）とＬＡＮケーブルのコネクタａを接続
ＬＡＮケーブルのコネクタａの可変特性がｎｕｌｌであるため，接続判定式は使われず，恒等関数のコネクタ伝達関数を用いてコネクタＣＮ１（α）からＬＡＮケーブルのコネクタａに特性が伝達される。【０１１４】
α：  ＬＡＮＳＰ  ：＝  ｛ｉ｜ｕ｝  →  ＬＡＮＳＰ  ：＝  ｛ｉ｜ｕ｝
ａ：  ＬＡＮＳＰ  ：＝  ｎｕｌｌ    →  ＬＡＮＳＰ  ：＝  ｛ｉ｜ｕ｝
（４−２）ケーブル伝達関数を用いて，ＬＡＮケーブルのコネクタａの特性がコネクタｂに伝達される。【０１１５】
ＬＡＮケーブルのコネクタｂでの視点により，“＠Ｏ”は「ＬＡＮケーブルのコネクタａでの特性」を表すので，伝達関数により，以下のように特性がＬＡＮケーブルのコネクタｂに伝播する。【０１１６】
ＬＡＮＳＰ  ：＝  ＬＡＮＳＰ＠Ｏ  ＆  ｛ｉ｜ｕ｝
：＝  ｛ｉ｜ｕ｝  ＆  ｛ｉ｜ｕ｝
：＝  ｛ｉ｜ｕ｝
（４−３）コネクタＣＮ２（β）とＬＡＮケーブルのコネクタｂを接続
ＬＡＮケーブルのコネクタｂにはケーブル伝達関数により特性が伝播されており，特性がｎｕｌｌではないので，ここではコネクタＣＮ２（β）のコネクタ伝達関数は用いず，ＬＡＮケーブルのコネクタｂ，コネクタＣＮ２（β）の接続判定式を用いて接続可能性を判定することになる。【０１１７】
図６は，各コネクタの接続判定式を示す図である。図６（Ａ）は，初期状態を示し，図６（Ｂ）は，ＬＡＮケーブルのコネクタａからコネクタｂへの特性の伝達後の状態を示す。ここまでは接続判定式の記述を省略していたが，（２−２）から判定式は図６に示す通りとなる。なお，図６（Ｂ）には，これまでに計算された特性値も記載されている。【０１１８】
（４−４）コネクタＣＮ２（β）における接続判定
特性値として，ＬＡＮＳＰ＠Ｓ  ：＝  ｛ｉ｜ｕ｜ａｂ｝，ＬＡＮＳＰ＠Ｏ  ：＝  ｛ｉ｜ｕ｝を用いる。【０１１９】
ＬＡＮＳＰ＠Ｓ  ＆  ＬＡＮＳＰ＠Ｏ  ：＝  ｛ｉ｜ｕ｜ａｂ｝  ＆  ｛ｉ｜ｕ｝
：＝  ｛ｉ｜ｕ｝      ［  ！＝  φ  ］
結果が空集合ではないので，判定はＯＫとなる。【０１２０】
（４−５）ＬＡＮケーブルのコネクタｂにおける接続判定
特性値として，ＬＡＮＳＰ＠Ｓ  ：＝  ｛ｉ｜ｕ｝，ＬＡＮＳＰ＠Ｏ  ：＝  ｛ｉ｜ｕ｜ａｂ｝を用いる。【０１２１】
ＬＡＮＳＰ＠Ｓ  ＆  ＬＡＮＳＰ＠Ｏ  ：＝  ｛ｉ｜ｕ｝  ＆  ｛ｉ｜ｕ｜ａｂ｝
：＝  ｛ｉ｜ｕ｝      ［  ！＝  φ  ］
結果が空集合ではないので，判定はＯＫとなる。【０１２２】
どちらの判定式もＯＫとなったので，この接続点の接続可能性はＯＫとなる。よって，コネクタＣＮ１，コネクタＣＮ２を，ＣＡＴ−５のＬＡＮケーブルで接続できることが分かった。【０１２３】
ここで，コネクタＣＮ１が１０／１００Ｍｂｐｓのままでであり，コネクタＣＮ２が１Ｇｂｐｓ専用コネクタである場合について考察する。（４−２）までは上述の例と同様であるが，（４−３）の判定において，ＣＮ２（β）側では，
ＬＡＮＳＰ＠Ｓ  ＆  ＬＡＮＳＰ＠Ｏ  ：＝  ｛ａｂ｝  ＆  ｛ｉ｜ｕ｝
：＝  φ              ［  ＝＝  φ  ］
となり，接続性（φ  ！＝  φ）がＮＧ（判定式が偽）となる。よって，この場合には，ＬＡＮケーブルのコネクタｂでの接続判定を行うまでもなく，コネクタＣＮ１とコネクタＣＮ２は，ＣＡＴ−５のＬＡＮケーブルでは接続できないと判定される。【０１２４】
さらに，コネクタＣＮ１が１０／１００／１０００Ｍｂｐｓであり，コネクタＣＮ２が１００／１０００Ｍｂｐｓあり，ＣＡＴ−３のＬＡＮケーブルで接続する場合について考察する。（４−１），（４−２）を上述の例と同様に計算すると，ＬＡＮケーブルのコネクタｂに伝達される特性は，｛ｉ｜ｕ｜ａｂ｝  ＆  ｛ｉ｝から，ＬＡＮＳＰ  ：＝  ｛ｉ｝となる  。コネクタＣＮ２の特性は，ＬＡＮＳＰ  ：＝  ｛ｕ｜ａｂ｝と表されるので，コネクタＣＮ２（β）側では，
ＬＡＮＳＰ＠Ｓ  ＆  ＬＡＮＳＰ＠Ｏ  ：＝  ｛ｕ｜ａｂ｝  ＆  ｛ｉ｝
：＝  φ              ［  ＝＝  φ  ］
となり，この場合も接続不可能であることが分かる。【０１２５】
〔ピン配置に関わる項目〕
ＬＡＮ機器は，一般的に，ネットワーク端末であるＰＣとネットワーク中継であるＨＵＢとの接続において，ケーブル（ここでは，Twist Pairケーブル）内の配線が捻じれのないストレートであるときに，信号のやり取りが可能なように設計されている。このため，ＰＣ−ＨＵＢのケーブル接続では，お互いの送信部と受信部とがケーブルを介して正しく対向する。しかし，ＰＣ−ＰＣのケーブル接続やＨＵＢ−ＨＵＢのケーブル接続に，ＰＣ−ＨＵＢのケーブル接続の場合と同じケーブルを用いると，送信部と送信部，受信部と受信部が対向するため，何らかの工夫が必要となる。【０１２６】
これには，例えば，
ａ）ケーブルの結線を変更する。【０１２７】
ＰＣ−ＨＵＢ                ：  ストレートケーブル
ＰＣ−ＰＣ／ＨＵＢ−ＨＵＢ  ：  クロスケーブル
ｂ）特にＨＵＢ等ネットワーク中継機器などの場合に，ＨＵＢ−ＨＵＢ／ＰＣ−ＰＣ接続専用のコネクタを搭載する。これには，機械スイッチによる結線変更も含む。
ｃ）コネクタ側で結線の信号接続の正しさを自動認識し，正しく送受信可能なように，電気的に内部結線を変更する。
等の解決策が存在する。【０１２８】
これらの規格として，通常，ＰＣ側コネクタの結線配列をＭＤＩ，ＨＵＢ側コネクタの結線配列をＭＤＩ−Ｘと称する。これらは結線配列の違いのみで形状は同一のため，電気的特性すなわち可変特性のスクリプトとして表現される。特性名は，例えば，結線配列であるのでＬＡＮＰＩＮとし，それぞれの結線規格名をその特性の値とする。ここでは，ＰＣ側コネクタの特性値をＭＤＩ，ＨＵＢ側コネクタの特性値を，ＭＤＩ−Ｘを略してＭＤＸとする。【０１２９】
（１）コネクタ側の結線配列規格特性の定義（例）
ＬＡＮＰＩＮ  ：＝  ｛ＭＤＩ｝：
ＰＣ，ＷＳ，Ｒｏｕｔｅｒ等のネットワーク端末側の特性。【０１３０】
ＬＡＮＰＩＮ  ：＝  ｛ＭＤＸ｝：
主にＨＵＢなどのネットワーク中継ノード側の特性。【０１３１】
ＬＡＮＰＩＮ  ：＝  ｛ＭＤＩ｜ＭＤＸ｝：
結線を自動認識可能なコネクタの特性。端末／中継ノードのどちらに利用されてもよいが，通常はネットワーク中継ノードが持つ性質。【０１３２】
（２）コネクタ同士の接続可能性
（２−１）接続マトリックス
図７は，接続マトリックスを示す図である。ＭＤＩとＭＤＩ−Ｘ（ＭＤＸ）との組合せが通信可能となる。接続可能な関係をマトリックスで表現すると，図７に示す通りとなる。【０１３３】
（２−２）接続判定式（スクリプト）
接続判定式が簡単な伝達関数（：＝  恒等関数）で伝達されることを考えると，以下が最も簡単になる。【０１３４】
ネットワーク端末，自動認識機能がないネットワーク中継器
ＬＡＮＰＩＮ＠Ｏ  ｅｘｃｅｐｔ  ＬＡＮＰＩＮ＠Ｓ  ！＝  φ
自動認識機能つきネットワーク中継器
判定式なし  ｏｒ  ＬＡＮＰＩＮ＠Ｏ  ＝＝  ＬＡＮＰＩＮ＠Ｏのような恒等式
（３）ケーブルの伝達関数
ケーブルは，その結線により，ストレートケーブルとクロスケーブルに分類され，以下のような性質を持つ。【０１３５】
ストレートケーブル：
接続されたコネクタの結線規格を，そのまま他端のケーブルに出現させる。すなわち，ＭＤＩコネクタと接続されたケーブルは，ケーブル他端のコネクタにＭＤＩの性質を持たせ，ＭＤＩ−Ｘコネクタと接続されたケーブルは，ケーブル他端のコネクタにＭＤＩ−Ｘの性質を持たせる。これらについて方向性はなく，ケーブルのどちらの端をコネクタに接続しても，開放端である他端に上記に沿った特性を持たせる。【０１３６】
クロスケーブル：
クロスケーブルの場合には，ストレートケーブルの場合とは逆に，ＭＤＩコネクタと接続されたケーブルは，ケーブル他端のコネクタにＭＤＩ−Ｘの性質を持たせ，ＭＤＩ−Ｘコネクタと接続されたケーブルは，ケーブル他端のコネクタにＭＤＩの性質を持たせる。方向性がないことはストレートケーブルの場合と同様である。【０１３７】
図８は，ストレートケーブルとクロスケーブルの特性を表にした図である。図８において，ＭＤＩ｜ＭＤＩ−Ｘは順不同である。【０１３８】
すなわち，ストレートケーブルでは，伝達関数は恒等関数として表され，以下のようになる。【０１３９】
ＬＡＮＰＩＮ  ：＝  ＬＡＮＰＩＮ＠Ｏ
また，クロスケーブルは，条件付きの式を用いて，以下のように表される。【０１４０】
ＬＡＮＰＩＮ  ：＝  ＬＡＮＰＩＮ＠Ｏ  ＝＝  ｛ＭＤＩ｝？｛ＭＤＸ｝：
（ＬＡＮＰＩＮ＠Ｏ  ＝＝  ｛ＭＤＸ｝？｛ＭＤＩ｝：
（ＬＡＮＰＩＮ＠Ｏ  ＝＝  ｛ＭＤＩ｜ＭＤＸ｝？｛ＭＤＸ｜ＭＤＩ｝：φ）
）
ＭＤＩ，ＭＤＩ−Ｘ以外の結線規格を考慮しないなら，
ＬＡＮＰＩＮ  ：＝  （ＬＡＮＰＩＮ＠Ｏ  ＝＝  φ
｜｜  ＬＡＮＰＩＮ＠Ｏ  ＝＝  ｛ＭＤＩ｜ＭＤＸ｝）？
ＬＡＮＰＩＮ＠Ｏ：ＬＡＮＰＩＮ＠Ｏ  ＃  ｛ＭＤＩ｜ＭＤＸ｝
とも考えられる。【０１４１】
（４）スクリプト動作例
図９は，スクリプトの動作例を説明する図である。以下では，図９を用いて，ＰＣ１とＰＣ２とをクロスケーブルで接続した場合のピン結線特性のスクリプト動作の例を説明する。【０１４２】
（４−１）ＰＣ１のコネクタαとＬＡＮケーブルのコネクタａを接続
ＬＡＮケーブルのコネクタａの可変特性がｎｕｌｌであるため，接続判定式は使われず，伝達関数（恒等関数とする）を用いてＰＣ１のコネクタαからＬＡＮケーブルのコネクタａに特性が伝達される。【０１４３】
α：  ＬＡＮＰＩＮ  ：＝  ｛ＭＤＩ｝
→  α：  ＬＡＮＰＩＮ  ：＝  ｛ＭＤＩ｝
ａ：  ＬＡＮＰＩＮ  ：＝  ｎｕｌｌ
→  ａ：  ＬＡＮＰＩＮ  ：＝  ｛ＭＤＩ｝
記載は省略されているが，このとき，ＰＣ１のコネクタαに記述された接続判定式も，同様に恒等関数でＬＡＮケーブルのコネクタａに移される。【０１４４】
（４−２）ケーブル伝達関数を用いて，ＬＡＮケーブルのコネクタａの特性がコネクタｂに伝達される。【０１４５】
ｂでの視点により，“＠Ｏ”は「ＬＡＮケーブルのコネクタａでの特性」を表すので，伝達関数により，以下のように特性がＬＡＮケーブルのコネクタｂに伝播する。【０１４６】
ＬＡＮＰＩＮ  ：＝
（ＬＡＮＰＩＮ＠Ｏ  ＝＝  ｛ＭＤＩ｝？            ｛ＭＤＸ｝
：（ＬＡＮＰＩＮ＠Ｏ  ＝＝  ｛ＭＤＸ｝？            ｛ＭＤＩ｝
：（ＬＡＮＰＩＮ＠Ｏ  ＝＝  ｛ＭＤＩ｜ＭＤＸ  ｝？  ｛ＭＤＩ｜ＭＤＸ｝
：                                                  φ）））  
上記は，
ｉｆ            （ＬＡＮＰＩＮ＠Ｏ  ＝＝  ｛ＭＤＩ｝）
ｔｈｅｎ  ＬＡＮＰＩＮ  ：＝  ｛ＭＤＸ｝
ｅｌｓｅ  ｉｆ  （ＬＡＮＰＩＮ＠Ｏ  ＝＝  ｛ＭＤＸ｝）
ｔｈｅｎ  ＬＡＮＰＩＮ  ：＝  ｛ＭＤＩ｝
ｅｌｓｅ  ｉｆ  （ＬＡＮＰＩＮ＠Ｏ  ＝＝  ｛ＭＤＩ｜ＭＤＸ｝）
ｔｈｅｎ  ＬＡＮＰＩＮ  ：＝  ｛ＭＤＩ｜ＭＤＸ｝
ｅｌｓｅ                            ＬＡＮＰＩＮ  ：＝  φ）））
と同じ意味になるので，先頭の条件に合致し，
ｂ：  ＬＡＮＰＩＮ  ：＝  ｛ＭＤＸ｝
となる。記載は省略されているが，このとき，ＬＡＮケーブルのコネクタａの接続判定式も，そのままケーブルｂに恒等変換で移される。【０１４７】
（４−３）ＰＣ２のコネクタβにＬＡＮケーブルのコネクタｂを接続
ＬＡＮケーブルのコネクタｂの可変特性はｎｕｌｌではないので，ここではＰＣ２のコネクタＢのコネクタ伝達関数は用いず，ＬＡＮケーブルのコネクタｂ，ＰＣ２のコネクタβの接続判定式を用いて接続可能性を判定することになる。【０１４８】
図１０は，各コネクタの接続判定式を示す図である。図１０（Ａ）は，初期状態を示し，図１０（Ｂ）は，ＬＡＮケーブルのコネクタａからコネクタｂへの特性の伝達後の状態を示す。ここまでは接続判定式の記述を省略していたが，（２−２）から判定式は図１０に示す通りとなる。なお，図１０（Ｂ）には，これまでに計算された特性値も記載されている。【０１４９】
（４−４）ＰＣ１のコネクタβにおける接続判定
特性値として，ＬＡＮＰＩＮ＠Ｓ  ：＝  ｛ＭＤＩ｝，ＬＡＮＰＩＮ＠Ｏ  ：＝  ｛ＭＤＸ｝を用いる。【０１５０】
ＬＡＮＰＩＮ＠Ｏ  ｅｘｃｅｐｔ  ＬＡＮＰＩＮ＠Ｓ  ：＝
｛ＭＤＸ｝  ｅｘｃｅｐｔ  ｛ＭＤＩ｝  ：＝
｛ＭＤＸ｝                                                ［  ！＝  φ  ］
結果が空集合ではないので，判定はＯＫとなる。【０１５１】
（４−５）ＬＡＮケーブルのコネクタｂにおける接続判定
特性値として，ＬＡＮＰＩＮ＠Ｓ  ：＝  ｛ＭＤＸ｝，ＬＡＮＰＩＮ＠Ｏ  ：＝  ｛ＭＤＩ｝を用いる。【０１５２】
ＬＡＮＰＩＮ＠Ｏ  ｅｘｃｅｐｔ  ＬＡＮＰＩＮ＠Ｓ  ：＝
｛ＭＤＩ｝  ｅｘｃｅｐｔ  ｛ＭＤＸ｝  ：＝
｛ＭＤＩ｝                                                ［  ！＝  φ  ］
結果が空集合ではないので，判定はＯＫとなる。【０１５３】
どちらの判定式もＯＫとなったので，この接続点の接続可能性はＯＫとなる。よって，ＰＣ１のコネクタα，ＰＣ２のコネクタβを，クロスケーブルで接続できることが分かった。【０１５４】
〔ＩＥＥＥ８０２．３系プロトコルとピン配置に関わる項目の融合〕
以上では，各々の特性について別々に見てきたが，実際のコネクタはこれらの特性をあわせ持っている。したがって，両者の特性を合わせると，図５と図９とで示す例は，最終的に以下のようになる。【０１５５】
コネクタα：１０／１００ＭｂｐｓのＰＣのコネクタ
特性値：
ＬＡＮＳＰ  ：＝｛ｉ｜ｕ｝，ＬＡＮＰＩＮ  ：＝  ｛ＭＤＩ｝
接続判定式
ＬＡＮＳＰ＠Ｓ  ＆  ＬＡＮＳＰ＠Ｏ  ！＝  φ  ＆＆
ＬＡＮＰＩＮ＠Ｏ  ｅｘｃｅｐｔ  ＬＡＮＰＩＮ＠Ｓ  ！＝  φ
コネクタａ，コネクタｂ：ＣＡＴ−５  クロスＬＡＮケーブル
伝達関数：  
ＬＡＮＳＰ  ：＝ＬＡＮ＠Ｏ  ＆  ｛ｉ｜ｕ｝，  
ＬＡＮＰＩＮ  ：＝  ＬＡＮＰＩＮ＠Ｏ  ＝＝  ｛ＭＤＩ｝？｛ＭＤＸ｝：
（ＬＡＮＰＩＮ＠Ｏ  ＝＝  ｛ＭＤＸ｝？｛ＭＤＩ｝：
（ＬＡＮＰＩＮ＠Ｏ  ＝＝  ｛ＭＤＩ｜ＭＤＸ｝？｛ＭＤＸ｜ＭＤＩ｝：φ）
）
コネクタβ：１０／１００／１０００ＭｂｐｓのＰＣのコネクタ
特性値：  
ＬＡＮＳＰ  ：＝  ｛ｉ｜ｕ｜ａｂ｝，ＬＡＮＰＩＮ  ：＝  ｛ＭＤＸ｝
接続判定式
ＬＡＮＳＰ＠Ｓ  ＆  ＬＡＮＳＰ＠Ｏ  ！＝  φ  ＆＆
ＬＡＮＰＩＮ＠Ｏ  ｅｘｃｅｐｔ  ＬＡＮＰＩＮ＠Ｓ  ！＝  φ
後は，上述の例と同様に  （４−１），（４−２），（４−３）の計算を行うと，最終的に接続可能と判定される。ここで注意すべきは，特性値は複数の種類の特性名が“，”で羅列されるだけなのに対して，接続判定式では，論理式（この例では論理積“＆＆”）として結合されることである。結合は状況により，論理和“｜｜”でも，その他のものでもよい。【０１５６】
以上，本実施の形態による可変特性スクリプトの定義／動作例を説明した。以下では，このようなスクリプトを用いてケーブル選択処理を行う接続整合性チェック／ケーブル選択部１０３について，詳しく説明する。【０１５７】
図１１は，本実施の形態における接続整合性チェック／ケーブル選択部およびライブラリＤＢの構成例を示す図である。図１１において，システム構成図３２０は，ＣＡＤ装置３００で作成された図面である。実際には，直接にシステム構成図３２０が接続整合性チェック／ケーブル選択部１０３に入力されるのではなく，システム構成図３２０のＣＡＤ内部情報３１０から作成された内部データオブジェクトが接続整合性チェック／ケーブル選択部１０３に入力される。ケーブル候補情報１４０は，システム構成図３２０上で配置された部品と部品とを接続するケーブルの候補として，接続整合性チェック／ケーブル選択部１０３によってライブラリＤＢ２００から抽出されたケーブルの情報である。【０１５８】
接続整合性チェック／ケーブル選択部１０３は，ケーブル選択処理部１３０，コネクタ接続性判定処理部１３１，接続チェック処理部１３２，スクリプト判定処理部１３３，スクリプト伝達処理部１３４を備える。【０１５９】
ケーブル選択処理部１３０は，ライブラリＤＢ２００からシステム構成図３２０上の部品と部品との接続に使用可能なケーブルの候補を抽出する全体的な処理を行う。コネクタ接続性判定処理部１３１は，あるケーブルで部品間の接続可能性の判定を管理する処理を行う。接続チェック処理部１３２は，あるケーブルで部品間の接続が可能かをチェックする処理を行う。スクリプト判定処理部１３３は，コネクタ同士が接続可能かを判定する。スクリプト伝達処理部１３４は，接続されるコネクタ間，またはケーブル内のコネクタからコネクタへ可変特性／可変判定式を伝達する処理を行う。【０１６０】
ライブラリＤＢ２００には，特性／判定式マスタテーブル２０１，伝達関数マスタテーブル２０２，部品マスタテーブル２０３，部品コネクタテーブル２０４，ケーブル伝達関数対応テーブル２０５，コネクタ伝達関数対応テーブル２０６が登録されている。以下，図１２から図１７を用いて，ライブラリＤＢ２００に登録された特性／判定式マスタテーブル２０１，伝達関数マスタテーブル２０２，部品マスタテーブル２０３，部品コネクタテーブル２０４，ケーブル伝達関数対応テーブル２０５，コネクタ伝達関数対応テーブル２０６の例について説明する。【０１６１】
図１２は，特性／判定式マスタテーブルの構成例を示す図である。特性／判定式マスタテーブル２０１は，特性値集合のスクリプト，判定式のスクリプトを保持するテーブルである。特性／判定式マスタテーブル２０１は，特性コード，固定特性，固定判定式，可変特性，可変判定式等の情報を持つ。【０１６２】
特性コードは，特性／判定式マスタテーブル２０１の各レコードを一意に識別する識別情報であり，同じ特性／判定式が適用されるコネクタ群を特定するための情報である。固定特性は，固定特性値集合のスクリプトの定義情報である。固定判定式は，固定特性の接続判定式スクリプトの定義情報である。可変特性は，可変特性値集合のスクリプトの定義情報である。可変判定式は，可変特性の接続判定式スクリプトの定義情報である。【０１６３】
図１３は，伝達関数マスタテーブルの構成例を示す図である。伝達関数マスタテーブル２０２は，伝達関数スクリプトの定義情報を保存するテーブルである。伝達関数マスタテーブル２０２は，関数コード，種別，変換種別，伝達関数定義等の情報を持つ。【０１６４】
関数コードは，伝達関数マスタテーブル２０２の各レコードを一意に識別する識別情報であり，同じ伝達関数が適用されるコネクタ群またはケーブル群を特定するための情報である。種別は，ケーブル用かコネクタ用かを示す情報である。変換種別は，特性値用か判定式用かを示す情報である。ケーブル用かコネクタ用か，また特性値変換用か判定式変換用かは，スクリプト定義により定まる。伝達関数は，伝達関数スクリプトの定義情報である。伝達関数がｎｕｌｌのものは，「恒等変換」とする。【０１６５】
図１４は，部品マスタテーブルの構成例を示す図である。部品マスタテーブル２０３は，部品の諸設定値を保存するテーブルである。部品マスタテーブル２０３は，部品コード，名称，部品種別等の情報を持つ。この例では，ネットワーク機器だけでなく，ケーブルも部品の一種として部品マスタテーブル２０３に予め登録されているが，ケーブルマスタテーブルとして別のテーブルで管理してもよい。【０１６６】
部品コードは，部品マスタテーブル２０３の各レコードを一意に識別するための識別情報である。名称は，その部品の名称を示す情報である。部品種別は，その部品の種類を示す情報である。【０１６７】
図１５は，部品コネクタテーブルの構成例を示す図である。部品コネクタテーブル２０４は，部品に付属するコネクタの情報テーブルである。部品コネクタテーブル２０４は，コネクタＩＤ，コネクタコード，部品コード，特性コード等の情報を持つ。【０１６８】
コネクタＩＤは，部品コネクタテーブル２０４の各レコードを一意に識別するための識別情報である。コネクタコードは，部品内部で一意となるコネクタの識別情報である。部品コードは，部品マスタテーブル２０３の部品コードにリンクする情報である。特性コードは，特性／判定式マスタテーブル２０１の特性コードにリンクする情報である。【０１６９】
図１６は，ケーブル伝達関数対応テーブルの構成例を示す図である。ケーブル伝達関数対応テーブル２０５は，ケーブル内で特性／判定式を伝達するために使用する伝達関数を，実際の部品（ケーブル）に結びつけるテーブルである。ケーブル伝達関数対応テーブル２０５は，部品コード，関数コード，始点コネクタＩＤ，終点コネクタＩＤ等の情報を持つ。【０１７０】
部品コードは，部品マスタテーブル２０３の部品コードにリンクする情報である。関数コードは，伝達関数マスタテーブル２０２の関数コードにリンクする情報である。始点コネクタＩＤは，変換始点となるコネクタのコネクタＩＤであり，部品コネクタテーブル２０４のコネクタＩＤにリンクする情報である。終点コネクタＩＤは，変換終点となるコネクタのＩＤであり，部品コネクタテーブル２０４のコネクタＩＤにリンクする情報である。【０１７１】
始点コネクタＩＤ，終点コネクタＩＤは，多端子ケーブルに対して，その伝達関数がどのコネクタからどのコネクタに特性値や判定式が伝達されるときに使われるべきかを示す。また，二端子ケーブルでも，信号通過に方向性のあるケーブルの場合に使用する。“−１”はデフォルト値であり，注目するコネクタＩＤについての具体的な対応記述がないときに使用される。上記の定義は，（ＣＢＬ１，ＣＡＴ５ＣＢＰ，１，２），（ＣＢＬ１，ＣＡＴ５ＣＢＰ，２，１）と書いた場合と同値となる。始点コネクタＩＤ，終点コネクタＩＤが使用される具体的な例としては，マウス／キーボード／ディスプレイケーブルを一体とするコンソール切替器などのケーブルがある。【０１７２】
図１７は，コネクタ伝達関数対応テーブルの構成例を示す図である。コネクタ伝達関数対応テーブル２０６は，コネクタからケーブルへと特性値や判定式を伝達する場合のコネクタと伝達関数との対応テーブルである。コネクタ伝達関数対応テーブル２０６は，コネクタＩＤ，関数コード等の情報を持つ。【０１７３】
コネクタＩＤは，部品コネクタテーブル２０４のコネクタＩＤにリンクする情報である。関数コードは，伝達関数マスタテーブル２０２の関数コードにリンクする情報である。コネクタからケーブルに伝達する場合には，ケーブルからコネクタに伝達することはないので，その方向が決まっている。そのため，始点／終点の概念は不要となる。【０１７４】
次に，図１８から図２３のフローチャートを用いて，本実施の形態の接続整合性チェック／ケーブル選択部１０３による処理の例を説明する。以下の処理は，システム構成図３２０上の接続関係の１つについてのケーブル候補を抽出する処理である。以下の処理を，システム構成図３２０上のすべての接続関係について繰り返すことにより，設計されたシステムに必要なすべてのケーブル候補を抽出することができる。【０１７５】
図１８は，ケーブル選択処理フローチャートである。図１８のケーブル選択処理（接続整合性チェック処理を含む）では，コネクタ名配列を引数として入力する。コネクタ名配列は，今回の処理でケーブル候補を抽出する接続関係について，接続する部品のコネクタの情報である。コネクタ名配列は，部品コードとコネクタコードによって特定されるコネクタ名を要素とする。ケーブル選択処理の出力は，ケーブル候補配列（配列名をｒｅｓとする）であり，これには入力として与えられたコネクタ配列中のコネクタ間を接続可能なケーブルの選択結果が格納される。【０１７６】
まず，ライブラリＤＢ２００に登録されたケーブルを，ケーブル配列に格納する（ステップＳ１０）。具体的には，ライブラリＤＢ２００の部品マスタテーブル２０３を部品種別“ケーブル”で検索し，該当する部品の部品コードを収集してケーブル配列に格納する。このとき，ライブラリＤＢ２００に登録されたケーブルをすべて格納してもよいが，ライブラリＤＢ２００に登録されるケーブルの数は非常に多いので，実用的には他の情報を用いて簡易選択を行い，あらかじめその数を減らしておく方がよい。ケーブル配列は，部品コードを要素とする。【０１７７】
ケーブル候補配列ｒｅｓを用意し（ステップＳ１１），そのケーブル候補配列のインデックス（カーソル変数）ｒｅｓＣｓｒを０に初期化する（ステップＳ１２）。ケーブル候補配列は，ケーブルの部品コードを要素とする配列である。また，ライブラリＤＢ２００の部品マスタテーブルを部品コードで参照して得られる名称を要素としてもよい。【０１７８】
コネクタ名配列の要素数が２のときは，コネクタ同士の直接接続の可能性も考えられる。コネクタ同士の直接接続が可能であれば，ケーブルが不要でもよいことを示すダミーケーブルをケーブル候補配列ｒｅｓに加える。このため，コネクタ名配列の要素数が２であるかを判定し（ステップＳ１３），２であれば，以下のステップＳ１４からステップＳ１８の処理を行う。まず，コネクタ配列を作成する（ステップＳ１４）。具体的には，ライブラリＤＢ２００の部品コネクタテーブル２０４をコネクタ名配列の部品コード，コネクタコードで参照し，特性コードを取得する。取得された特性コードでライブラリＤＢ２００の特性／判定式マスタテーブル２０１を参照し，固定特性，固定判定式，可変特性，可変判定式を得る。得られた固定特性，固定判定式，可変特性，可変判定式をコネクタ配列に格納する。ここで，コネクタ配列は，固定特性，固定判定式，可変特性，可変判定式を要素とする配列である。【０１７９】
コネクタ配列［０］の固定／可変特性，固定／可変判定式，コネクタ配列［１］の固定／可変特性，固定／可変判定式を引数として，スクリプト判定処理（図２２参照）を行う（ステップＳ１５）。スクリプト判定処理の結果が“真”であれば（ステップＳ１６），ケーブル候補配列ｒｅｓ［ｒｅｓＣｓｒ］にダミーケーブルを格納し（ステップＳ１７），配列のインデックスｒｅｓＣｓｒをインクリメントする（ステップＳ１８）。【０１８０】
次に，ケーブル配列中のすべてのケーブルについて，コネクタ接続性判定処理を行うためのケーブル配列のインデックスｉを０に初期化する（ステップＳ１９）。【０１８１】
ｉ＜ケーブル配列の要素数であれば（ステップＳ２０），未判定のケーブルが存在するので，コネクタ名配列，ケーブル配列［ｉ］を引数として，コネクタ接続性判定処理（図１９参照）を行う（ステップＳ２１）。コネクタ接続性判定処理の結果が“真”であれば（ステップＳ２２），ケーブル候補配列ｒｅｓ［ｒｅｓＣｓｒ］にケーブル配列［ｉ］を格納し（ステップＳ２３），インデックスｒｅｓＣｓｒをインクリメントする（ステップＳ２４）。ｉをインクリメントし（ステップＳ２５），ステップＳ２０の処理に戻って同様に処理を繰り返す。【０１８２】
ｉがケーブル配列の要素数になったならば（ステップＳ２０），すべてのケーブルを判定したことになるので，ケーブル候補配列ｒｅｓを，ケーブル選択処理の結果として処理の呼出し元へ返却し（ステップＳ２６），処理を終了する。すなわち，コネクタ接続性判定処理の結果が“真”であるケーブルが集められ，戻り値となる。【０１８３】
図１９は，コネクタ接続性判定処理フローチャートである。図１９のコネクタ接続性判定処理では，コネクタ名配列，ケーブル配列の１要素（ケーブルの部品コード）を引数として入力する。コネクタ接続性判定処理の出力は，コネクタ名配列で指定されたコネクタに，指定されたケーブルが接続可能であるか否かの真／偽の論理値である。【０１８４】
ケーブルコネクタ配列を作成する（ステップＳ３０）。具体的には，ケーブル配列の各要素の部品コードでライブラリＤＢ２００の部品コネクタテーブル２０４を参照し，特性コードを取得する。部品はケーブルなので，取得される特性コードは複数となる。取得された特性コードでライブラリＤＢ２００の特性／判定式マスタテーブル２０１を参照し，固定特性，固定判定式を取得する。取得された固定特性，固定判定式を，ケーブルコネクタ配列に格納する。ケーブルコネクタ配列は，コネクタＩＤ，固定特性，固定判定式を要素とする配列である。【０１８５】
次に，伝達関数配列を作成する（ステップＳ３１）。具体的には，ケーブル配列の各要素の部品コードでライブラリＤＢ２００のケーブル伝達関数対応テーブル２０５を参照し，関数コード，始点コネクタＩＤ，終点コネクタＩＤを取得する。取得された関数コードでライブラリＤＢ２００の伝達関数マスタテーブル２０２を参照し，変換種別，伝達関数を取得する。取得された始点コネクタＩＤ，終点コネクタＩＤ，変換種別，伝達関数を，伝達関数配列に格納する。伝達関数配列は，始点コネクタＩＤ，終点コネクタＩＤ，変換種別，伝達関数を要素とする配列である。【０１８６】
ケーブルコネクタ配列の要素数とコネクタ名配列の要素数の大小を比較する（ステップＳ３２）。ケーブルコネクタ配列の要素数＜コネクタ名配列の要素数であれば，結果として“偽”を返し（ステップＳ３３），処理を終了する。ケーブルコネクタ配列の要素数，すなわちケーブルのコネクタの数が，コネクタ名配列の要素数，すなわち接続するコネクタの数より少ないならば，このケーブルは与えられたすべてのコネクタを接続できないことは自明である。【０１８７】
ステップＳ３２の判定で，ケーブルコネクタ配列の要素数＜コネクタ名配列の要素数でなければ，コネクタ配列を作成する（ステップＳ３４）。具体的には，ライブラリＤＢ２００の部品コネクタテーブル２０４をコネクタ名配列の部品コード，コネクタコードで参照し，特性コードを取得する。取得された特性コードでライブラリＤＢ２００の特性／判定式マスタテーブル２０１を参照し，固定特性，固定判定式，可変特性，可変判定式を得る。得られた固定特性，固定判定式，可変特性，可変判定式をコネクタ配列に格納する。ここで，コネクタ配列は，固定特性，固定判定式，可変特性，可変判定式を要素とする配列である。【０１８８】
次に，ケーブルコネクタ順列配列を作成する（ステップＳ３５）。ケーブルコネクタ順列配列は，ケーブルコネクタ配列の要素の順列を要素とする配列である。ケーブルコネクタ順列配列の各要素は，ケーブルコネクタ配列の要素をある順で並べたものであり，ケーブルコネクタ順列配列の各要素ごとに，ケーブルコネクタ配列の各要素の並び順が異なるものが格納される。ケーブルコネクタを順列に展開するのは，与えられたコネクタ配列にどの順でどのようなコネクタが格納されているかが不明なため，現在のケーブルが与えられたコネクタと接続可能である場合には，コネクタ配列内の要素がどのような順序で与えられていても必ずマッチするケーブルコネクタの格納順序が存在することを保証するためである。ケーブルコネクタ順列配列のインデックスｉを０に初期化する（ステップＳ３６）。【０１８９】
ｉ＜ケーブルコネクタ順列配列の要素数でなければ（ステップＳ３７），結果として“偽”を返し（ステップＳ３３），処理を終了する。すべてのケーブルコネクタ順列配列の要素について接続可能性を判定し，すべて“偽”であれば，このケーブルが与えられたコネクタを接続できないことがわかる。【０１９０】
ｉ＜ケーブルコネクタ順列配列の要素数であれば（ステップＳ３７），コネクタ配列，ケーブルコネクタ順列配列［ｉ］，伝達関数配列を引数として，接続チェック処理（図２０参照）を行う（ステップＳ３８）。【０１９１】
接続チェック処理の結果が“真”でなければ（ステップＳ３９），ｉをインクリメントし（ステップＳ４０），ステップＳ３７の処理に戻って，次のケーブルコネクタ順列配列の要素について同様に処理を繰り返す。【０１９２】
接続チェック処理の結果が“真”であれば（ステップＳ３９），結果として“真”を呼出し元へ返し（ステップＳ４１），処理を終了する。すなわち，接続可能なケーブルコネクタ配列の順列要素が存在するので，接続可能を戻り値として返却する。【０１９３】
図２０および図２１は，接続チェック処理フローチャートである。図２０および図２１の接続チェック処理では，コネクタ配列，ケーブルコネクタ配列，伝達関数配列を引数として入力する。ここで入力するケーブルコネクタ配列は，ケーブルコネクタ順列配列の１要素である。接続チェック処理の出力は，接続可の場合に真，接続不可の場合に偽の真偽値である。【０１９４】
まず，コネクタ配列とケーブルコネクタ配列のインデックスｉを０に初期化する（ステップＳ５０）。【０１９５】
ｉ＜コネクタ配列の要素数であれば（ステップＳ５１），コネクタ配列［ｉ］の固定特性，固定判定式，ケーブルコネクタ配列［ｉ］の固定特性，固定判定式を引数として，スクリプト判定処理（図２２参照）を行う（ステップＳ５２）。【０１９６】
スクリプト判定処理の結果が“偽”でなければ（ステップＳ５３），ｉをインクリメントし（ステップＳ５４），ステップＳ５１の処理に戻る。【０１９７】
スクリプト判定処理の結果が“偽”であれば（ステップＳ５３），結果として“偽”を返し（ステップＳ５５），処理を終了する。固定特性／固定判定式のスクリプトチェックで“偽”すなわち接続不可が返された場合，可変特性／可変判定式のスクリプトチェックを行うまでもなく，“偽”を返せばよい。【０１９８】
すべての固定特性／固定判定式のスクリプトチェックの結果が“真”であり，ｉがコネクタ配列の要素数になったならば（ステップＳ５１），次のチェックのために，インデックスｉを０に初期化する（ステップＳ５６）。【０１９９】
ｉ＜コネクタ配列の要素数であれば（ステップＳ５７），ケーブルコネクタ配列［ｉ］の可変特性，可変判定式にコネクタ配列［ｉ］の可変特性，可変判定式を代入する（ステップＳ５８）。これは，コネクタからケーブルへの可変特性値の伝播を表現している。ここでは，コネクタ伝達関数は恒等関数である。伝達関数が恒等関数でない場合には，スクリプトによる伝達を用いる。インデックスｉをインクリメントし（ステップＳ５９），ステップＳ５７の処理に戻って，次の配列要素について同様に処理を繰り返す。【０２００】
すべての配列要素について処理し，ｉがコネクタ配列の要素数になったならば（ステップＳ５７），次の処理のためにインデックスｉを０に初期化する（ステップＳ６０）。【０２０１】
ｉ＜コネクタ配列の要素数であれば（ステップＳ６１），インデックスｊを０に初期化する（ステップＳ６２）。【０２０２】
ｊ＜コネクタ配列の要素数であれば，ステップＳ６４へ進み，そうでなければ，ステップＳ６９へ進む（ステップＳ６３）。ステップＳ６４では，ｉとｊが等しいかどうかを判定し，等しければステップＳ６８へ進み，ｊをインクリメントして（ステップＳ６８），ステップＳ６３の処理に戻る。【０２０３】
ｉとｊが等しくなければ（ステップＳ６４），ケーブルコネクタからケーブルコネクタへの伝達関数を，ケーブル伝達関数配列から検索して取得し，伝達関数に代入する（ステップＳ６５）。伝達関数配列からの検索は，ケーブルコネクタ配列［ｉ］の持つコネクタＩＤを始点コネクタＩＤとし，ケーブルコネクタ配列［ｊ］のコネクタＩＤを終点コネクタＩＤとして，始点，終点の一致する伝達関数を検索結果とする。もし一致する伝達関数がなければ，始点，終点のどちらか一方を−１として一致を検索する。これでも見つからない場合は，始点，終点とも−１として再検索する。この３段階のいずれかにおいて，確実に一つの伝達関数が見つかることはデータ作成時に保証する事項である。伝達関数への代入が終了すると，次に，伝達関数，ケーブルコネクタ配列［ｉ］の可変特性，可変判定式を引数として，スクリプト伝達処理（図２３参照）を行う（ステップＳ６６）。これは，ケーブル伝達関数によるケーブルコネクタから別のケーブルコネクタへの特性値の伝播を表現している。【０２０４】
伝達結果配列［ｊ］に，スクリプト伝達処理により得られた可変特性，可変判定式を加える（ステップＳ６７）。伝達結果配列は，可変特性，可変判定式を要素とする。図２１のステップＳ６７にある“＋”は，特性値のマージを表している。ｊをインクリメントし（ステップＳ６８），ステップＳ６３の処理に戻る。【０２０５】
ｊがコネクタ配列の要素数になったならば（ステップＳ６３），ｉをインクリメントし（ステップＳ６９），ステップＳ６１の処理に戻って，同様に処理を繰り返す。【０２０６】
このような伝達の処理をｉ，ｊについて回すことにより，すべての伝達関数の組合せでの特性値の伝播を実行する。ケーブルコネクタ配列の要素数ではなく，コネクタ配列の要素数で回すのは，コネクタが接続されていないケーブルコネクタは無視してよいからである。【０２０７】
ｉがコネクタ配列の要素数になったならば（ステップＳ６１），スクリプト判定処理のためのコネクタ配列のインデックスｉを０に初期化する（ステップＳ７０）。【０２０８】
ｉ＜コネクタ配列の要素数であれば（ステップＳ７１），ケーブルコネクタ配列［ｉ］の可変特性，可変判定式，伝達結果配列［ｉ］の可変特性，可変判定式を引数として，スクリプト判定処理（図２２参照）を行う（ステップＳ７２）。【０２０９】
スクリプト判定処理の結果が“偽”でなければ（ステップＳ７３），インデックスｉをインクリメントし（ステップＳ７４），ステップＳ７１の処理に戻って，同様に処理を繰り返す。【０２１０】
スクリプト判定処理の結果が“偽”であれば（ステップＳ７３），結果として“偽”を返し（ステップＳ７５），処理を終了する。【０２１１】
ｉがコネクタ配列の要素数になったならば（ステップＳ７１），結果として“真”を返し（ステップＳ７６），処理を終了する。コネクタと対応付けられているすべてのケーブルコネクタにおいて，スクリプト判定処理による可変特性，可変判定式の結果が“真”であれば，接続チェック処理の結果も“真”すなわち接続可能となる。【０２１２】
図２２は，スクリプト判定処理フローチャートである。図２２のスクリプト判定処理は，特性ａ，判定式ａ，特性ｂ，判定式ｂを引数とする。特性ａ，特性ｂは，特性値集合スクリプトである。判定式は，接続判定式スクリプトである。出力は，評価結果の真／偽である。【０２１３】
特性ａを解析し，特性ａの解析木を作成する（ステップＳ８０）。スクリプトの解析方法は，ＬＬｋやＬＲｋの文法処理を用いてインプリメントすることができる。これらの解析ツールには，ｌｅｘ／ｙａｃｃやｊａｖａｃｃ等が利用できる。ＬＬｋやＬＲｋの具体的なアルゴリズムは，様々な計算機言語の市販書籍に記述されているので，ここでの詳しい説明は省略する。特性ａの解析木を評価し，特性値集合ａを作成する（ステップＳ８１）。【０２１４】
同様に，特性ｂを解析し，特性ｂの解析木を作成する（ステップＳ８２）。特性ｂの解析木を評価し，特性値集合ｂを作成する（ステップＳ８３）。判定式ａを解析し，判定式ａの解析木を作成する（ステップＳ８４）。判定式ｂを解析し，判定式ｂの解析木を作成する（ステップＳ８５）。【０２１５】
特性値集合ａを自分側，特性値集合ｂを相手側と定めて判定式ａの解析木を評価する（ステップＳ８６）。自分側とは，スクリプト内の変数接尾辞が“＠Ｓ”で表されるものを指し，相手側とは，スクリプト内の変数接尾辞が“＠Ｏ”で表されるものを指す。評価の結果が“偽”であれば（ステップＳ８７），結果“偽”を返し（ステップＳ８８），処理を終了する。【０２１６】
同様に，特性値集合ｂを自分側，特性値集合ａを相手側と定めて判定式ｂの解析木を評価する（ステップＳ８９）。評価の結果が“偽”であれば（ステップＳ９０），結果“偽”を返し（ステップＳ８８），処理を終了する。【０２１７】
ステップＳ８６の評価の結果とステップＳ８９の評価の結果とが，ともに“真”であれば（ステップＳ８７，ステップＳ９０），結果“真”を返し（ステップＳ９１），処理を終了する。【０２１８】
図２３は，スクリプト伝達処理フローチャートである。図２３のスクリプト伝達処理では，伝達関数，可変特性，可変判定式を引数とする。出力は，伝達された可変特性，可変判定式である。【０２１９】
伝達関数を解析し，伝達関数の解析木を作成する（ステップＳ１００）。可変特性を解析し，可変特性の解析木を作成する（ステップＳ１０１）。可変判定式を解析し，可変判定式の解析木を作成する（ステップＳ１０２）。【０２２０】
可変特性を相手側の特性とし，伝達関数の解析木の特性値伝達部分を評価する（ステップＳ１０３）。評価結果を，伝達された可変特性とする（ステップＳ１０４）。同様に，可変判定式を相手側の判定式とし，伝達関数の解析木の判定式伝達部分を評価する（ステップＳ１０５）。評価結果を，伝達された可変判定式とする（ステップＳ１０６）。結果として伝達された可変特性，可変判定式を呼出し元へ返し（ステップＳ１０７），処理を終了する。【０２２１】
次に，ＣＡＤ装置３００により作成されたシステム構成図をもとに，部品間を接続するケーブルを選択する具体的な例を説明する。【０２２２】
図２４は，ＣＡＤ装置３００により作成されたシステム構成図３２０の例を示す図である。図２４に示すシステム構成図３２０において，部品を示す箱の中には部品コード（ＳＶＲ１，ＨＵＢ１）が示されており，箱の外に示されているｐｃ１，ｐｃ２，ｈｕｂは，設計時に付けられた部品の名称である。図２４に示すシステム構成図３２０では，部品コード“ＳＶＲ１”というサーバ部品の２つが，部品コード“ＨＵＢ１”というハブ部品に接続されている。部品と部品との接続関係を表す線の横に示されているＬＡＮ１，ＬＡＮ２，Ｐ１，Ｐ２は，その接続関係の端となる部品のコネクタのコネクタコードである。【０２２３】
以下では，図２４に示すシステム構成図３２０のｐｃ１−ｈｕｂ間のケーブル選択を行う場合の例を説明する。ここでは，各種のテーブルが，リレーショナル・データベースのテーブルとして実現されているものとする。【０２２４】
図２４に示すシステム構成図３２０では，コネクタ“ｐｃ１．ＬＡＮ１”とコネクタ“ｈｕｂ．Ｐ１”とが線で接続されている。実際にシステムを構築する場合には，この線がケーブルとなる。どのケーブルを利用できるかを求めるには，以下で説明するようにすればよい。【０２２５】
システム構成図３２０から，部品名称“ｐｃ１”の部品には部品コード“ＳＶＲ１”という部品が使われており，また部品名称“ｈｕｂ”の部品には“ＨＵＢ１”という部品が使われている。これらのコネクタから，そのコネクタの特性スクリプトを取り出すためには，例えば以下のようにする。【０２２６】
ケーブル候補配列
＝ケーブル選択（［“ＳＶＲ１．ＬＡＮ１”，“ＨＵＢ１．Ｐ１”］）；
ここで，［“ＳＶＲ１．ＬＡＮ１”，“ＨＵＢ１．Ｐ１”］は，ケーブル選択関数の引数であり，コネクタ名配列を表す。ケーブル選択関数の処理内容は，図１８に示すとおりである。【０２２７】
図１８に示すケーブル選択処理のアルゴリズム中の「ケーブル配列に登録ケーブルを格納（ステップＳ１０）」では，以下のようなＳＱＬを使えばよい。【０２２８】
ｓｅｌｅｃｔ  部品コード  ｆｒｏｍ  部品マスタテーブル
ｗｈｅｒｅ  部品種別＝‘ケーブル’；
得られたケーブル配列中のすべてのケーブルについて，順に図１９に示すコネクタ接続性判定処理（コネクタ名配列，ケーブル配列の一つが引数）が実行され，選択されたケーブルが与えられたコネクタ配列に接続可能かどうかが判定される。【０２２９】
図１９に示すコネクタ接続性判定処理のアルゴリズムでは，「ケーブルコネクタ配列を作成（ステップＳ３０）」，「伝達関数配列を作成（ステップＳ３１）」，「コネクタ配列を作成（ステップＳ３４）」とあるが，これらはそれぞれ以下のようなＳＱＬで実行できる。【０２３０】
ケーブルからケーブルコネクタに関する情報を取得するには，
ｓｅｌｅｃｔ  ｐｄ．コネクタＩＤ，ｐｄ．固定特性，ｐｄ．固定判定式
ｆｒｏｍ  部品コネクタテーブル  ｐｃ，特性／判定式マスタテーブル  ｐｄ
ｗｈｅｒｅ
ｐｃ．部品コード＝‘与えられたケーブルのコード（例えばＣＢＬ１）’
ａｎｄ  ｐｃ．特性コード＝ｐｄ．特性コード；
を実行すればよい。【０２３１】
また，ケーブルから伝達関数配列を取得するには，
ｓｅｌｅｃｔ  ｃｔｌ．始点コネクタＩＤ，ｃｔｌ．終点コネクタＩＤ，
ｔｆ．変換種別，ｔｆ．伝達関数
ｆｒｏｍ  伝達関数マスタテーブル  ｔｆ
，ケーブル伝達関数対応テーブル  ｃｔｌ
ｗｈｅｒｅ
ｃｔｌ．部品コード＝‘与えられたケーブルのコード（例えばＣＢＬ１）’
ａｎｄ  ｃｔｌ．関数コード＝ｔｆ．関数コード
ａｎｄ  ｔｆ．種別＝‘ケーブル’；
を実行すればよい。【０２３２】
また，コネクタ配列の生成，すなわちコネクタ名配列の各要素をスクリプトに変換するには，最初にコネクタ名を部品コード（ＳＶＲ１，ＨＵＢ１）部分とコネクタコード（ＬＡＮ１，Ｐ１）部分に分解する。例えばコネクタ名が“ＳＶＲ１．ＬＡＮ１”のコネクタを特性／判定式のスクリプトに変換する場合には，
ｓｅｌｅｃｔ  ｐｄ．固定特性，ｐｄ．固定判定式，
ｐｄ．可変特性，ｐｄ．可変判定式
ｆｒｏｍ  特性／判定式マスタテーブル  ｐｄ，部品コネクタテーブル  ｐｃ
ｗｈｅｒｅ  ｐｃ．部品コード＝‘ＳＶＲ１’
ａｎｄ  ｐｃ．コネクタコード＝‘ＬＡＮ１’
ａｎｄ  ｐｃ．特性コード＝ｐｄ．特性コード；
を実行すればよい。【０２３３】
コネクタ伝達関数が恒等式を仮定できない場合には，さらに，
ｓｅｌｅｃｔ  ｔｆ．変換種別，ｔｆ．伝達関数
ｆｒｏｍ  伝達関数マスタテーブル  ｔｆ，
コネクタ伝達関数対応テーブル  ｃｔｌ，部品コネクタテーブル  ｐｃ
ｗｈｅｒｅ  ｐｃ．部品コード＝‘ＳＶＲ１’
ａｎｄ  ｐｃ．コネクタコード＝‘ＬＡＮ１’
ａｎｄ  ｐｃ．コネクタＩＤ＝ｃｔｌ．コネクタＩＤ
ａｎｄ  ｃｔｌ．関数コード＝ｔｆ．関数コード
ａｎｄ  ｔｆ．種別＝‘コネクタ’；
を実行して情報を取得すればよい。【０２３４】
これで，ライブラリＤＢ２００から必要なスクリプトが取り出せたので，後はアルゴリズムに従い，接続可否判定を行えば，現在注目中のケーブル（例えば部品コード“ＣＢＬ１”のケーブル）がｐｃ１．ＬＡＮ１−ｈｕｂ．Ｐ１間の接続に利用可能かどうかを判定することができる。【０２３５】
最終的に，部品コード“ＣＢＬ１”のケーブルで上記処理を実行すると，部品コード“ＳＶＲ１”のサーバのコネクタから伝達された特性と，部品コード“ＨＵＢ１”のハブのコネクタとの特性が，判定式のＬＡＮＳＰ，ＬＡＮＰＩＮの項について，ともに“真”となるので，部品コード“ＣＢＬ１”のケーブルはケーブル候補として選択される。部品コード“ＣＢＬ２”のケーブルで同様に行うと，ＬＡＮＳＰは判定式が“真”となり適合するが，ＬＡＮＰＩＮが適合しないので，部品コード“ＣＢＬ２”のケーブルはケーブル候補として選択されない。詳しい動作については，上述の図５，図９等を用いた「可変特性スクリプトの定義／動作例」の説明に記述されているとおりである。【０２３６】
なお，実際のアルゴリズムでは，分かりやすさよりも動作の対称性をより考慮しているので，ここで紹介した動作例とは伝達や判定のさせ方が異なるが，効果は同じである。【０２３７】
以上のケーブル選択のための処理は，コンピュータとソフトウェアプログラムとによって実現することができ，そのプログラムをコンピュータ読み取り可能な記録媒体に記録して提供することも，ネットワークを通して提供することも可能である。
【産業上の利用可能性】
【０２３８】
本発明は，ＣＡＤなどで設計されたシステム構成図に記述された部品間の接続線から，接続の妥当性をチェックし，接続が可能な適切なケーブルの候補を自動的に選択して提示するコンピュータ応用技術である。
【図１】
2008093401.tif 000003
【図２】
2008093401.tif 000004
【図３】
2008093401.tif 000005
【図４】
2008093401.tif 000006
【図５】
2008093401.tif 000007
【図６】
2008093401.tif 000008
【図７】
2008093401.tif 000009
【図８】
2008093401.tif 000010
【図９】
2008093401.tif 000011
【図１０】
2008093401.tif 000012
【図１１】
2008093401.tif 000013
【図１２】
2008093401.tif 000014
【図１３】
2008093401.tif 000015
【図１４】
2008093401.tif 000016
【図１５】
2008093401.tif 000017
【図１６】
2008093401.tif 000018
【図１７】
2008093401.tif 000019
【図１８】
2008093401.tif 000020
【図１９】
2008093401.tif 000021
【図２０】
2008093401.tif 000022
【図２１】
2008093401.tif 000023
【図２２】
2008093401.tif 000024
【図２３】
2008093401.tif 000025
【図２４】
2008093401.tif 000026
【国際調査報告】
2008093401.tif 000027
2008093401.tif 000028