(57)【要約】【課題】ライン設計者等専門的知識が無い者でも、シミュレーションモデルを自動作成できるようにする。【解決手段】入力された工程情報に対応する工程モデルを選択するための選択ルール、及び工程情報に含まれるデータを工程モデルが持つ属性に代入する代入ルールを含むルール群を記憶したルールデータベース２２、複数のメンバを接続して表されると共に属性によって分類された工程モデルを複数個記憶した事例データベース２４、に基づいて、モデル合成部３６において、入力された工程情報に対応する工程モデルを選択し、かつ工程情報に含まれるデータを工程モデルが持つ属性に代入する処理を行ってシミュレーションモデルを生成する。モデル合成部３６によって生成されたシミュレーションモデルをモデル分解部４０によって、基本モデル単位の集合に分割すると共に、属性変更部４２いおいて工程モデルが持つ属性を基本モデルが持つ属性に変更する。【選択図】図１
2004280719.tif 000002
【特許請求の範囲】
【請求項１】
工程情報を入力するための入力手段と、
複数のメンバを接続して表されると共に属性によって分類された工程モデルを複数個記憶した工程モデリング事例データベースと、
シミュレーションモデルで扱うことができる単位の基本モデルを属性と共に複数個記憶した基本モデルデータベースと、
入力された工程情報から該工程情報に対応する工程モデルを選択するための選択ルール、及び該工程情報に含まれるデータを工程モデルが持つ属性に代入する代入ルールを含むルール群を記憶したルールデータベースと、
前記工程モデリング事例データベースに記憶された工程モデル、及び前記ルールデータベースに記憶されたルール群に基づいて、入力された工程情報に対応する工程モデルを選択し、かつ該工程情報に含まれるデータを工程モデルが持つ属性に代入する処理を行ってシミュレーションモデルを生成する生成手段と、
前記生成手段によって生成されたシミュレーションモデルを前記基本モデル単位の集合に分割すると共に、工程モデルが持つ属性を該基本モデルが持つ属性に変更するモデル分解手段と、
を含むシミュレーションモデルの自動生成装置。
【請求項２】
標準語に対応させて同義語を記憶した同義語データベースと、
前記同義語データベースを用いて前記入力手段から入力された工程情報を標準語に正規化した後、前記生成手段に入力する正規化手段と、
を更に含む請求項１に記載のシミュレーションモデルの自動生成装置。
【請求項３】
前記工程モデリング事例データベースに、
工程モデル内の各メンバのタイプ及び識別子に関する属性、工程モデル内のメンバの相対位置関係に関する属性、及び工程モデル内のメンバの外部工程モデルとの接続に関する属性を含む属性によって分類された複数の工程モデルを記憶した請求項１または請求項２に記載のシミュレーションモデルの自動生成装置。
【請求項４】
前記ルールデータベースに、前記工程情報に含まれる接続に関する属性に基づいて、選択された工程モデルと外部工程モデルとを接続するための接続ルールを更に記憶した請求項３に記載のシミュレーションモデルの自動生成装置。
【請求項５】
前記ルールデータベースに、作成すべきラインの分類情報に基づいて、分類情報に対応するルールを含むルール群を選択するためのメタルールを更に記憶した請求項１〜請求項４のいずれか１項記載のシミュレーションモデルの自動生成装置。
【請求項６】
前記ルールデータベースに、シミュレーション実行のために必要なモデルを追加するためのルール、及び工程情報に工程の列数に関する情報が含まれていた場合に該列数に関する情報から対応する工程モデルを複製するためのルールの少なくとも一方を記憶させた請求項１〜請求項５のいずれか１項に記載のシミュレーションモデルの自動生成装置。
【請求項７】
前記基本モデルは、基本モデル自身のタイプ名、生成したモデルの内容をシミュレータが解釈できる形式に変換するための属性情報を含む請求項１〜請求項６のいずれか１項に記載のシミュレーションモデルの自動生成装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、シミュレーションモデルの自動生成装置に係り、特に、生産ラインの設計・改善時において、ラインの挙動を事前に検証する検証時に行われるシミュレーションの入力データとなるシミュレーションモデルを自動作成するシミュレーションモデルの自動生成装置に関するものである。
【０００２】
【従来の技術】
生産ラインの挙動を事前に検証するためのシミュレーションとして、市販の複数のシミュレータが知られている。これらのシミュレータの殆どが、専用のモデリング機能や解析機能を備えている。一般的に、生産ラインのシミュレータを利用するためには、モデリングや解析における様々な専門的知識を必要とし、利用するにあたって以下のような困難さが存在する。
【０００３】
１）シミュレータのモデリング操作（具体的には、▲１▼ラインを流れるワークの種類を定義し、▲２▼設備を選択して配置し、▲３▼パラメータを設定し、▲４▼ワークの流れを定義する等）に習熟ことが必要であるので、設計者等にはモデリング操作が困難である。ここで生成、配置する設備モデルの数は、解析対象や、シミュレーションツールに依存するが、数十、時には数百に上る場合もある。
【０００４】
２）モデルの属性（パラメータ）の概念や、名称が、計画者にとって聞き慣れない語句で表現されており、故障等で用いる乱数等、設定にノウハウや知識を必要とするパラメータが多く、また、設備数や個々の設備のパラメータが多く、入力に手間がかかる。
【０００５】
３）モデルの機能、仕様（一例として、コンベヤ速度の単位は何か、故障の分布にはどのような種類があるか等）を正確に理解する必要があり、理解していないとモデリング操作は困難である。
【０００６】
４）実際の設備機器をどのように抽象化するかのノウハウが必要であり（一例として、搬送機を動きのある物体で表現するか、移動時間だけをパラメータとするか、簡略化してよい設備と詳細化すべき設備をどう分けるか等）、また、標準モデルの組み合わせで複雑なシステムを構成することにもノウハウが必要であり、これらのノウハウが無いとモデリング操作が困難である。
【０００７】
５）その他、モデルの挙動について計画者（解析依頼者）と解析担当者との間で検証が必要であり、また、シミュレーションソフトが高価で、モデリングを行う環境が不足している。
【０００８】
上記のような困難さが存在するため、専任のエキスパートがシミュレーションを実施する場合が多い。このため、計画者のペースで試行錯誤を行うことは困難であり、解析専任者に依頼が集中する場合には、重要案件をタイムリーにシミュレーションで検討できない可能性がある。
【０００９】
ライン設計上のノウハウは、実際に試行錯誤を行い、多くの案件を処理する解析専任者が蓄積しがちで、計画者のスキルアップや意識向上に繋がり難い面を持っている。
【００１０】
正確なシミュレーションを行うためには、計画者と解析専任者との間のコミュニケーションが必要不可欠であるが、その反面、解析リードタイムが長くかかる、という問題がある。
【００１１】
ライン設計の手順、結果の出力形式は様々だが、多くの場合、ライン設計者は、設計結果を、各工程間の緒元やフローを「工程フローチャート」や表１に示す「工程表」等（以下、「工程表」という。）に記載する。その内容は、各工程における処理時間（サイクルタイム）や前後工程との繋がり、処理内容を記したコメント等で、本来、シミュレーションのための書類ではないので、特に設計の初期段階においては、一般的にシミュレーションで用いるモデルの詳細度に比較して情報量が少ない。
【００１２】
【表１】
2004280719.tif 000003
【００１３】
このため、シミュレーション専門家は、この工程表を分析すると共に、設計者への聞き取り等を行い、過去の知見に基づいてモデルを作成している。
【００１４】
一方、従来では、各工程に対応する部分的なモデルを作成、保存、再利用することでモデリングを効率化できるシミュレーションソフトウェアも販売されている（例：Ｔｅｃｎｏｍａｔｉｘ社のＳＩＭＰＬＥ＋＋等）。
【００１５】
【発明が解決しようとする課題】
しかしながら、これらのソフトウエアでは、モデリング作業の効率化は図れるものの、そのシミュレータや部分的モデルの内容を熟知した専門家でなければ活用することは困難であり、モデリングを自動化してライン設計者自身を支援し得るものではない。
【００１６】
本発明は、ライン設計者が、通常の設計業務の中で作成した前述の「工程表」の様な設計情報を入力として利用し、シミュレータに特化した特別な訓練、操作をできるだけ行わず、シミュレーションモデルを作成することができるようにし、これにより従来困難であった設計者自身によるシミュレーションを実行可能にすることを目的とする。
【００１７】
【課題を解決するための手段】
モデルの自動生成には、幾つかの課題が存在する。例えば、シミュレータが持つモデル（例えば、加工機械、バッファ、搬送機器等）に関する情報無しにはモデルを作成することはできず、そのための何らかのデータベースが必要である。
【００１８】
また、生産ラインのシミュレーションでは、一般的に一つの工程をモデル化する場合、シミュレータが持つモデルを複数組み合わせることになる。すなわち、工程の概念とモデルとは一対一の対応関係にはないため、単純な変換作業では自動生成できない。
【００１９】
更に、シミュレーションモデルには、例えばライン内を流れるワークの生成や排出を行うモデルやワークの流れのみを制御するモデル等、本来物理的に存在しない（すなわち、工程表上にも存在しない）がシミュレーションのためには不可欠なモデルが存在する。
【００２０】
多くの場合、工程表に書かれた属性名、工程名、及び単位等は、シミュレーションモデルが持つそれらとは、一致していない。
【００２１】
このような理由から、設計情報を元にシミュレーションモデルを自動的に作成するためには、シミュレーション専門家が持つ様々な知識（暗黙知）を形式知としてデータ化し、これを用いて適切なラインの内容を類推し、モデルを合成する必要がある。
【００２２】
専門家の知識を利用するアプローチとしては、いわゆるエキスパートシステムを構築し、利用することが考えられる。一般的にエキスパートシステムは、ルールデータベース（知識ベース）のシステムであるが、上記の様なシミュレーションモデリングにおける知識を全てルールデータベースで記述するには非常に膨大な量のルールの記述が必要であり、専門家からのルールの取得も困難である。例えば、幾何学的な配置や、接続関係、属性の設定等は、データの形式で保持するのは容易であるが、論理的に記述することに向いていない。
【００２３】
ルール以外のアプローチとして、事例の利用が考えられる。モデリングに関する知識・ノウハウの内容は、過去に作成されたラインのモデル（すなわち、事例）に全て集約・内包されると言ってもよい。ただし、個々のラインモデルは、あくまで対象のラインを模擬したものであり、新たな設計要件に対してそのまま利用することは殆ど不可能である。
【００２４】
一方、生産ラインの特徴として、ライン中に多数存在する各作業工程については、その構成にある種のパターンが存在する。このパターンは、企業や工場、対象となる製品・作業・処理によって当然ながら異なる。前述の様に、ライン全体のモデルは事例としての再利用性が低いが、この工程レベルのモデルは、再利用性が高い。本発明等はこの点に着目し、モデリング作業上の知識を、どのような場面（工程）で、何を（どんな工程モデル事例を）、どのように（どのような属性、接続で）作成するか、という様に分類、整理することにより、ある程度体系化できる点に着目し、知識を、工程レベルのモデリング事例を収めたデータ、工程の選択や属性設定の方法を記述したルール、設計者が用いる言葉と、シミュレーションモデルで用いる言葉の対応表、及びルールやモデリング事例自体の選択に関するメタルール等に分けてデータ化し、これらを組み合わせた推論エンジンを用いることでラインモデリングの自動化を図っている。
【００２５】
上記目的を達成するために本発明は、工程情報を入力するための入力手段と、複数のメンバを接続して表されると共に属性によって分類された工程モデルを複数個記憶した工程モデリング事例データベースと、シミュレーションモデルで扱うことができる単位の基本モデルを属性と共に複数個記憶した基本モデルデータベースと、入力された工程情報から該工程情報に対応する工程モデルを選択するための選択ルール、及び該工程情報に含まれるデータを工程モデルが持つ属性に代入する代入ルールを含むルール群を記憶したルールデータベースと、前記工程モデリング事例データベースに記憶された工程モデル、及び前記ルールデータベースに記憶されたルール群に基づいて、入力された工程情報に対応する工程モデルを選択し、かつ該工程情報に含まれるデータを工程モデルが持つ属性に代入する処理を行ってシミュレーションモデルを生成する生成手段と、前記生成手段によって生成されたシミュレーションモデルを前記基本モデル単位の集合に分割すると共に、工程モデルが持つ属性を該基本モデルが持つ属性に変更するモデル分解手段と、を含んで構成したものである。
【００２６】
本発明では、複数のメンバを接続して表されると共に属性によって分類された工程モデルを複数個記憶した工程モデリング事例データベースと、シミュレーションモデルで扱うことができる単位の基本モデルを属性と共に複数個記憶した基本モデルデータベースと、入力された工程情報から該工程情報に対応する工程モデルを選択するための選択ルール、及び該工程情報に含まれるデータを工程モデルが持つ属性に代入する代入ルールを含むルール群を記憶したルールデータベースとが設けられている。
【００２７】
生成手段は、入力手段から入力された工程情報、工程モデリング事例データベースに記憶された工程モデル、及び前記ルールデータベースに記憶されたルール群に基づいて、入力された工程情報に対応する工程モデルを選択し、かつ該工程情報に含まれるデータを工程モデルが持つ属性に代入する処理を行ってシミュレーションモデルを生成する。
【００２８】
生成手段によって生成されたシミュレーションモデルは、モデル分解手段によって、基本モデル単位の集合に分割されると共に、工程モデルが持つ属性が基本モデルが持つ属性に変更される。
【００２９】
これによって、シニュレータが解釈可能なシミュレーションモデルを自動的に生成することができる。
【００３０】
本発明には、標準語に対応させて同義語を記憶した同義語データベースと、前記同義語データベースを用いて前記入力手段から入力された工程情報を標準語に正規化した後、前記生成手段に入力する正規化手段を更に設けることができる。
【００３１】
これによって、専門的な語句を知らなくても、同義語を入力するだけで、自動的に専門的な標準語に正規化することができる。
【００３２】
前記工程モデリング事例データベースには、工程モデル内の各メンバのタイプ及び識別子に関する属性、工程モデル内のメンバの相対位置関係に関する属性、及び工程モデル内のメンバの外部工程モデルとの接続（前後関係定義）に関する属性を含む属性によって分類された複数の工程モデルを記憶することができる。
【００３３】
前記ルールデータベースには、前記工程情報に含まれる接続に関する属性に基づいて、選択された工程モデルと外部工程モデルとを接続するための接続ルールを更に記憶することができる。
【００３４】
また、前記ルールデータベースには、作成すべきラインの分類情報に基づいて、分類情報に対応するルールを含むルール群を選択するためのメタルールを更に記憶することもでき、また、シミュレーション実行のために必要なモデルを追加するためのルール、及び工程情報に工程の列数に関する情報が含まれていた場合に該列数に関する情報から対応する工程モデルを複製するためのルールの少なくとも一方を記憶することもできる。
【００３５】
そして、前記基本モデルには、基本モデル自身のタイプ名、生成したモデルの内容をシミュレータが解釈できる形式に変換するための属性情報を含ませることができる。
【００３６】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態を詳細に説明する。
【００３７】
図１に示すように、本発明の実施の形態におけるシミュレーションモデルの自動生成装置１０には、工程設計者が作成した工程表を修正したり、工程表に新たな情報を追加する等によって、自動生成装置１０に入力するライン情報（入力情報）を決定して入力するための入力手段としての入力情報決定部１２が接続されている。
【００３８】
また、自動生成装置１０には、自動生成装置で変換されたシミュレーションを実行するための実行モデルを格納するためのシミュレーションモデルファイル１４が接続され、このシミュレーションモデルファイル１４にはシミュレーションを実行するためのシミュレータ１６が接続されている。
【００３９】
自動生成装置１０には、標準語に対応させて同義語を記憶した同義語データベース２０、入力されたライン情報からライン情報に対応する工程モデルを選択するための選択ルール、及びライン情報に含まれるデータを工程モデルが持つ属性に代入する代入ルールを含むルール群を記憶したモデリングルールデータベース（モデリングルールベース）２２、複数のメンバを接続して表した工程モデルを複数個記憶した工程モデリング事例データベース（工程モデリング事例ベース）２４、及び、シミュレーションモデルで扱うことができる単位の基本モデルを属性と共に複数個記憶した基本モデルデータベース２６が設けられている。
【００４０】
モデリングルールデータベース２２には、モデリングルールデータベース２２にモデリングルールを記述するためのモデリングルール記述部２８が接続され、工程モデリング事例データベース２４には、工程モデリング事例データベース２４に工程モデリング事例を登録するための工程モデリング事例登録部３０が接続されている。
【００４１】
同義語データベース２０には、入力されたライン情報を同義語データベース２０を用いて標準語に正規化するライン情報正規化部３２が接続されている。
【００４２】
ライン情報正規化部３２には、正規化されたライン情報、すなわち工程設計情報を格納する工程設計情報格納部３４が接続されており、工程設計情報格納部３４には、モデリングルールデータベース２２と工程モデリング事例データベース２４とを用いて、シミュレーションモデルを合成するモデル合成部３６が接続されている。モデル合成部は、モデリングルールデータベース２２及び工程モデリング事例データベース２４と共に推論エンジンを構成する。
【００４３】
モデル合成部３６には、基本モデルデータベースを用いて、シミュレーションモデルを基本モデル単位の集合に分割するモデル分割部４０、工程モデルが持つ属性を基本モデルが持つ属性に変更する属性変更部４２に接続された生成モデル記憶部３８が接続されている。生成モデル記憶部３８は、基本モデル単位の集合に分割され、かつ属性が基本モデルが持つ属性に変更された生成モデル、その前の段階の工程モデルの集合を記憶する。
【００４４】
また、生成モデル記憶部３８には、生成モデルをシミュレータで実行する実行用モデルに変換する実行用モデル変換部４４が接続されている。
【００４５】
次に、図１の各部の詳細について説明する。まず、最初に各データベースに格納されているデータについて説明する。
【００４６】
推論エンジンは、モデリングに関する知識を用いて、工程表を元にシミュレーションモデルの合成を行うためのものであり、データベース２２、２４を含んで構成されている。
【００４７】
推論エンジンのモデリングルールデータベース２２には、ユーザが作成する工程表を入力として、工程モデリング事例データベース２４からの適切なモデリング事例の検索、工程表に書かれた緒元の代入処理等のルールが格納されている。ルールの記述には幾つかの方法が考えられるが、例えば、ＩＦ−ＴＨＥＮルール等の形式で記述することができる。
【００４８】
モデリングルールデータベース２２は、工程内の詳細なモデル情報を持たないが、以下で説明する事例データベース２４がその内容を補っている。また、事例データベース２４は、事例データベース自身ではその利用法に関する知識を持たないが、このルールデータベースを用いて利用法に関する知識を補うことができる。このように、ルールデータベース及び事例データベースの各データベースは、各々簡潔な記述でありながら、互いに不得意な知識を補完し合うことで、全体としては専門家と同レベルの知識を体系化し得る。
【００４９】
これらの知識（推論エンジン）を利用することで、シミュレーションに関する知識の無い者であっても通常の設計業務の出力である工程表を用意するだけで、詳細なシミュレーションモデルを自動生成することが可能である。
【００５０】
ルールデータベースに格納されるルール群としては、以下のようなものがある。
【００５１】
▲１▼工程情報から、その工程に対応する工程モデルを選択するための選択ルール。
【００５２】
このルールは、工程モデルを作成するために必要である。作成される工程モデルは、一つとは限らず、また基本モデルを作成する場合もある。関連するモデルの要素としては、工程モデリング事例データベースの工程モデル内の各メンバのタイプ及び識別子、工程モデル生成時の名前の候補、基本モデルデータベースの基本モデル自身の名称、基本モデルを生成する際の名前の候補があり、参照する工程情報の例としては、工程名、処理名、前後バッファの有無、前後工程の有無等がある。
【００５３】
▲２▼工程情報に含まれる種々のデータを工程モデルが持つ属性に代入するための代入ルール。
【００５４】
このルールは、工程情報をモデルにマッピングするために必要なルールである。関連するモデルの要素としては、工程モデリング事例データベースのユーザが変数として扱うメンバの属性、登録時に任意に追加する属性、及び工程モデル自身の属性、基本モデルデータベースの属性情報があり、参照するデータの例としては、処理名、サイクルタイム、バッファサイズ、故障頻度等がある。
【００５５】
▲３▼工程情報のうち前後工程に関する情報から選択ルールによって選択した工程モデルと前後の工程モデルとを接続する接続ルール。
【００５６】
このルールは、工程同士を接続することで、工程フローからモデルのフローにマッピングし、ラインを形成するために必要なルールである。関連すモデルの要素としては、工程モデリング事例データベースの工程モデル内のメンバの名前が記録された属性、基本モデルデータベースの他のモデルとの接続に関する属性があり、参照する工程情報としては前後工程の有無、前後工程名等がある。
【００５７】
▲４▼シミュレーション実行のために必要なモデル（シミュレータのモデル）を追加するためのルール。
【００５８】
このルールは、シミュレーション実行のためには、工程情報と無関係な管理用のモデルを生成する必要があることから必要なルールである。関連すモデルの要素としては、工程モデリング事例データベースの基本モデル自身の名称、及び属性情報があり、追加すべき管理用のモデルの例としては、実行停止用のタイマ、ワークの生成及び消去、及び工場稼動スケジュール等がある。
【００５９】
▲５▼工程情報内の工程の列数に関する情報から工程情報に対応する工程を複製するための複製ルール。
【００６０】
このルールを用いることにより、単列、二列、三列等の工程パターンを全て工程モデルとして個別に登録し、管理する必要が無いため、基本的な工程モデルだけを持てばよくなる。
【００６１】
▲６▼作成すべきラインの分類情報から上記ルール群を選択するためのメタルール。
【００６２】
ルール群は、対象によって適用範囲が限定されるので、適正なモデリングを行うためにこのメタルールが必要である。ライン分類の例としては、自動化機械加工ライン、手組ラインなどがある。
【００６３】
工程モデリング事例データベース２４には、工程種類別に、工程を構成する複数のシミュレーションモデル（設備モデル）の種類、配置、属性、前後接続関係等を記述したモデリング事例に関するデータが格納されている。
【００６４】
工程モデリング事例データベース２４は、複数の設備モデル群の属性を一つの事例として保存したモデル（工程モデル）の集合体である。工程モデルは、以下に示す属性が与えられて登録されている。
【００６５】
▲１▼工程モデル内の各メンバのタイプ及び識別子（名称）を表す属性。
【００６６】
この属性は、工程モデルの分解時に、各メンバを生成するために必要である。例えば、メンバ名「ＣＶ１」は、工程分解後に「ＣＶ１＿ＯＰ１」という名称のコンベアとして生成される。
【００６７】
▲２▼工程モデル内のメンバの位置、または位置及び姿勢に関する属性。
【００６８】
この属性は、工程モデルの分解時に、各メンバを登録時と同様な位置関係に配置するために必要な属性である。この属性は、工程モデルの基本座標からの相対位置で定義することができる。
【００６９】
▲３▼工程モデル内のメンバの属性であって外部工程モデルとの接続（前後関係で定義）に関する属性。
【００７０】
この属性は、工程モデル分解時に、工程同士の接続情報を各々の工程モデル内のメンバの接続情報に変換するために必要な属性である。例えば、対象となるメンバ名と接続情報を収めるべきそのメンバの属性名が該当する。
【００７１】
▲４▼工程モデル内のメンバの名前が記録された属性（工程モデル内のメンバ同士の接続に関する属性等が該当する）。
【００７２】
この属性は、工程モデル分解時に、各メンバの名前をライン内においてユニークな名称に変換するのに合わせて必要である。例えば、メンバ名「ＣＶ１」の属性が与えられたメンバを工程モデル「ＯＰ１」に分解後、ユニークな名称を「ＣＶ１＿ＯＰ１」に変換する。
【００７３】
▲５▼その他、工程モデル内のメンバの属性であって、保存すべき属性。
【００７４】
この属性は、工程モデル分解時に、生成されたメンバの属性を登録時と同様に再設定するために必要である。この属性は、基本的には、メンバ属性のうちの非デフォルト属性（ユーザによって変更された値）である。
【００７５】
上記の▲１▼〜▲５▼の属性は、工程モデルを構成するメンバが持つ属性へのリンクとなっている。なお、接続とは、例えば、モデル「コンベヤ１」が持つ属性「後設備」に「コンベヤ２」を入力し、更に「コンベヤ２」の属性「前設備」に「コンベヤ１」を入力する等の処理である。
【００７６】
その他、工程モデル事例データベースには更に以下の属性を用いるようにしてもよい。
【００７７】
・工程モデル内のメンバの属性であって、ユーザが変数として取り扱う属性。
【００７８】
工程モデルに対して、ユーザが変更可能なこの属性を選択しておくことにより、工程モデル生成後の属性編集が容易になる。一般に、全メンバの属性項目は、非情に膨大になるため、閲覧性が悪く、編集し難いので、変数として取り扱える属性を選択しておくのが効果的である。
【００７９】
・登録時に任意に追加する属性。この属性により、任意の論理式を実行し、工程モデル内メンバの属性等を参照、操作することができる。
【００８０】
この属性によって、複数のメンバの属性を一括して変更したり、属性同士の値を関係づけるようにすると効果的である。例えば、属性Ａ変更時の論理式記述の例として、ＣＶ１  バッファサイズ＝ｖａｌ（Ａ）、ＣＶ２  バッファサイズ＝ｖａｌ（Ａ）がある。
【００８１】
・工程モデル自身の名称（タイプ）を表す属性。
【００８２】
この属性は、ルール適用、または手動により工程モデルを生成する際等に必要である。
【００８３】
・工程モデル生成時の名前の候補を表す属性。
【００８４】
この属性は、ルール適用、手動により工程モデルを生成する際等に必要である。
この工程モデル生成時の名前は、ルール側で名前付けしてもよい。
【００８５】
・工程モデルを表示するための図形情報に関する属性。
【００８６】
この属性は、システム上で、工程モデルのアイコンを整列させる際、その大きさを知るために使用される。例えば、アイコンの幅、高さ、イメージファイル名等である。
【００８７】
・そのモデルが工程モデルであることを示す識別子を表す属性。
【００８８】
この属性は、そのモデルを分解処理の対象とするために用いるものである。
【００８９】
ライン情報正規化部３２は、工程表に書かれた項目名、工程種類名、単位等のライン情報を標準語に正規化（Ｃａｎｏｎｉｃａｌｉｚａｔｉｏｎ）する処理である前処理を行う。この前処理では、工程設計者とシミュレーション専門家とが各々用いる語彙をデータ化した同義語データベース２０を用いて語句の変換を行う。
【００９０】
上記の構成により、暗黙知となっているモデリングに関する専門家の知識が、大別して、同義語データベース２０、モデリングルールデータベース２２、工程モデリング事例データベース２４の３つに分けて登録される。知識のうち、モデリングルールデータベース２２及び工程モデリング事例データベース２４が主体であり、同義語データベース２０は補足的である。同義語データベース２０以外にも、例えば、ラインの実績データベースとのリンク情報、及びモデルに関するドキュメント情報等を補足的な知識として用いることができる。
【００９１】
上記の工程モデリング事例データベース２４に格納された工程モデルは、単なるモデリング結果の記録（または、基本モデルの集合体）ではなく、一つの新しい設備モデルのように再利用できるものである。ソフトウェア的に見ると、「オブジェクト化」されている。例えば、前後工程との接続や、属性の設定、複製等、ルールデータベースからの簡単な要求（オペレーション）に従ってモデルの内容を様々に変更可能となっている。その具体例、理由を以下に示す。
（１）作成した工程モデルに対して、ルールデータベースに従って前後の工程（工程モデル）との接続を指示するだけで、実際のシミュレーションモデルとなるメンバ設備に対する接続の設定を行うことができる。これは、工程モデリング事例データベース２４に、工程モデルに対して外部モデルを接続した場合、どのメンバに対して実際に接続をすべきかを表す属性が登録されているためである。
（２）ライン全体をモデル化する際、同じ工程モデルを複数含んでいても、各々の工程内メンバの名称が全てユニークになるよう設定する必要がある。同様に、メンバ間の接続属性として保存されている前後の設備名についても、ユニークな名称に変更する必要がある。工程モデルでは、メンバ間の接続に関する属性を分類して記録しているため、工程モデルを分解して基本モデルを生成する際、メンバ間の接続に関して保存した属性を抽出し、名前付けをやり直すことができる（例えば、「ＯＰ１０」という工程モデルを分解する場合、メンバであるコンベヤ「ＣＶ１」の名称は「ＯＰ１０＿ＣＶ１」の様に変換できる）。
（３）工程モデルは、事例としての再利用性は高いが、全てのデータが新しい設計要件にマッチするわけではないため、変数属性を設けてカスタマイズできることが非常に重要となる。このため、工程モデル登録時のままで用いるべき属性と、ユーザが変更すべき変数とすべき属性とを分類している。工程モデル及びそのメンバは、非常に多くの属性を持つが、ユーザは、変数となる属性のみメニュー上で見ることができるため、工程モデルに対する属性の変更が容易となる。
（４）登録時に任意に追加する属性を用いて定義した変数に対して入力、属性変更を行うと、他のメンバの属性に対して数式を適用し、瞬時に多くの属性設定が可能となる（例えば、メンバである６台の加工設備の属性「加工時間」を全て同じ値に設定する等）。こうした属性間の関連性の設定は、属性の一括変更や属性の変数の関連付けに適している。
（５）工程モデルデータの作成の際、メンバ間の接続に関する属性、位置情報に関する属性等のリストアップは自動的に行われる。これは、メンバとなる設備に関する基本モデルが、その属性として事例データベースの属性と同様の分類情報を持つためである。工程モデル登録の際、システムはこれらの分類情報を検索し、属性のリストアップを行う。
【００９２】
同義語データベース２０を用いることにより、設計者が普段から用いる言葉、形式で書かれた表であっても、予めデータを正規化することで推論におけるあいまいさが排除され、比較的簡易なルールの記述によって適切なモデルの構築が可能である。例えば、ルール記述において、項目名が「Ａ」又は「Ｂ」又は「Ｃ」ならば・・・といった記述が不要となる。この部分は、入力となる工程表の記述法に関する制約やユーザに求められる知識に関する制約を減少させる効果がある。
【００９３】
基本モデルデータベース（基本モデルデータ）２６は、シミュレーションソフトで扱う様々なモデルの属性項目（パラメータ）を格納したデータベースであり、シミュレーションソフトが持つ基本的なモデルについて、それが保持する属性に関する情報を格納している。
【００９４】
属性項目の内容は、設備モデル毎に異なり、例えば以下の様なものがある。以下は、極一部の例であり、実際には一つの設備に対して数十の項目が存在している。
【００９５】
▲１▼基本モデル自身の名称（タイプ名）を表す属性。この名称は、本発明システム内で用いる名称と、シミュレータが解釈可能な基本モデルの名称との両方を示す。
【００９６】
この属性は、基本モデル生成時、及び本システムで作成したラインモデルの内容をシミュレータが解釈できる形式に変換する際に必要である。例えば、多くのシミュレータは、ｃｏｎｖｅｙｏｒ、ｍａｃｈｉｎｅ、ＡＧＶ等、英語の名称を用いている。
【００９７】
▲２▼属性情報（属性の名称（本システム内で用いる名称とシミュレータ上のモデルの属性名の両方）、値等を含む）。
【００９８】
この属性情報は、本システムで作成したラインモデルの内容をシミュレータが解釈できる形式に変換するのに必要である。例えば、属性「故障間隔」は、シミュレータ上のモデル属性「ＭＴＢＦ」に変換される。この属性情報には、基本的に位置属性、接続情報属性、その他の属性等全てを含む。
【００９９】
▲３▼基本モデルを生成する際の名前の候補に関する属性。
【０１００】
この属性は、基本モデルを単独で追加する場合（工程内メンバでない場合）に必要である。なお、工程分解時のモデル生成では、すでにメンバとして名前が付けられているので、必要は無い。
【０１０１】
▲４▼他のモデルとの接続（前後関係）に関する属性。
【０１０２】
基本モデルを単独で追加する場合、他のモデルと接続するのに必要である。工程分解時のモデル生成では、すでにこの属性を識別できているので、特に分類する必要は無い。
【０１０３】
▲５▼基本モデルの位置、位置及び姿勢等の位置情報に関する属性。
【０１０４】
基本モデルを単独で追加する場合に、追加した基本モデルを配置する際に必要である。工程分解時のモデル生成では、すでにこの属性を識別できているので、特に分類する必要は無い。
【０１０５】
▲６▼基本モデルを表示するための図形情報に関する属性。
【０１０６】
工程分解等で基本モデルを生成し配置する場合に、そのモデルのアイコンの大きさを知るために必要である。例えば、アイコンの幅、高さ、イメージファイル名等がある。
【０１０７】
▲７▼そのモデルが基本モデルであることを示す識別子を表す属性。
【０１０８】
基本モデルを分解処理の対象から除外するために必要である。
【０１０９】
その他、生産ラインのシミュレーションモデルには、例えば以下のような属性が不可されるべきであろう。
・加工設備の、部品１個あたりの加工時間
・機械の故障頻度（ＭＴＢＦ，ＭＴＴＲ，乱数分布のタイプ）
・コンベヤバッファの容量
・ＡＧＶ（無人搬送台車）の搬送速度
・ワークを受ける、又は渡す設備の選択方法
基本モデルデータは、これらのデータを自動モデリングシステム上で参照し、変更する場合や、モデル出力時、シミュレータの持つ属性へと変換する際に利用（参照）される。
【０１１０】
基本モデルデータは、シミュレータで用いるモデルの情報と自動モデリングシステム上での（基本）モデル情報との間の概念の対応表を持っている。これにより以下の様な効果がある。
【０１１１】
▲１▼種類の異なるシミュレーションソフト及びモデルを使っていても、自動モデリングシステム上では常に同じ概念、同じ名称、同じ制御ロジックを使ってモデリングができるため、モデリングに関してシミュレータ毎に習熟する必要が無い。
【０１１２】
▲２▼シミュレータの持つ設備名や属性名が英語や、理解しにくい言葉であっても、本システム上では、より理解しやすい名称でモデリングができるため、計画者にとって扱い易い。例えば、”ｓｅｔｕｐ”という属性名を、”段取替え”に置換えられる。
【０１１３】
▲３▼シミュレータ上の一つの設備モデルに対して、名称やパラメータ設定のデフォルト値を変えた亜種のモデルを複数定義できる。例えば、”マシン”の亜種として”検査装置”を作成でき、このモデルに不良品発生に関する属性を与えること等である。これにより、計画者は、”マシン”という抽象的なモデルを使い、パラメータ設定によって詳細なモデルを作成するのではなく、最初から”検査装置”のような詳細なモデルをすぐに使用することができる。
【０１１４】
▲４▼工程モデル同士の組み合せも登録・利用可能であり、ライン単位でのモデル事例蓄積・再利用が可能となる。しかも最終的には通常のシミュレータのモデリング機能を使って作成した大規模なモデルと同様の詳細度を持ったシミュレーションモデルが作られる
▲５▼目的に応じて入力データの内容の詳細度を予め規定するため、即ち入力データの質をシステム自身が管理することになり、単にラフなモデルを簡単に作成するのではなく、シミュレーションの精度を落とすことの無いモデリングが可能となる。
【０１１５】
▲６▼本発明では、モデル情報をすべてテキスト情報で管理しており、高価なシミュレーションソフトが無くとも、Ｅｘｃｅｌ等に本手法をプログラム化して埋め込み、これを用いることでシミュレーションモデルを作成でき、これまで小人数の解析専任者が行ってきたモデリングを、より多くの計画者が実施できる。
【０１１６】
次に、図１のシミュレーションモデルの自動生成装置（本システム）の各部の作用に付いて説明する。
【０１１７】
入力情報決定部１２は、ラインシミュレーションの目的に応じて、シミュレーションの精度を確保するため、工程表に対してどのような設計データの入力が必須となるかを決定する。
【０１１８】
工程表は、上記入力必須データ項目に基づき、生産ラインの製造工程のフロー、各工程での処理時間、故障頻度等の設計情報を入力する（ユーザに入力させる、又はファイル等から情報を抽出する）。
【０１１９】
ライン情報正規化部３２は、入力情報決定部１２から入力された工程情報であるライン情報を同義語データベース２０を用いて標準語に正規化した後、工程設計情報格納部３４に登録する。
【０１２０】
モデル合成部３６は、工程設計情報格納部３４に登録されたライン情報を参照し、各工程に対して推論エンジンを呼び出す。モデル合成部から呼び出された推論エンジンは、モデリング事例データベース２２及びモデリングルールデータベース２４を用いて、ライン全体のモデルを自動的に生成する。生成されたモデルは、生成モデル記憶部に記憶される。
【０１２１】
モデル分解部４０は、推論エンジンで生成された工程モデルを、基本モデル（シミュレーションソフトが持つモデル概念に等しい）の集合に分解すると共に、工程モデル間のフロー情報や属性値を、各基本モデルが持つ属性に変更する。
【０１２２】
属性変更部４２は、工程モデル又は基本モデルの配置や形状，属性等を必要に応じて画面上で変更する（自動生成結果の補正）。
【０１２３】
実行用モデル変換部４４は、生成されて基本モデルの集合に分解されたモデルデータを、シミュレーションソフトが解釈、実行可能なデータ形式に変換する。
【０１２４】
次に、上記の自動生成装置１０によるモデルを自動生成する処理手順について図２のフローチャートを用いて説明する。
【０１２５】
ステップ１００において、入力情報決定部１２から工程表に記載されたライン情報が入力されると、ステップ１０２において、ライン情報正規化部３２によって、同義語データベース２０を用いてライン情報の正規化が行われる。
【０１２６】
次のステップ１０４では、モデリングルールデータベース２２及び工程モデリング事例データベース２４を用いてモデルを合成する処理が実行される。このモデル合成処理では、ステップ１０４Ａにおいて選択ルールに従って工程モデル事例データベース２２から工程モデル（または基本モデル）を選択することによって工程モデルを生成し、ステップ１０４Ｂにおいて代入ルールを用いて工程表の属性を生成した工程モデルに代入することにより属性を設定し、ステップ１０４Ｃにおいて前後モデルとの接続を定める属性に基づいて前後モデルとの接続を設定し、ステップ１０４Ｄにいて全工程に適用するか否かを判断する。全工程に適用しない場合には、ステップ１０４Ａに戻って再度工程モデルを生成する処理、属性設定処理、前後モデルとの接続処理を実行する。
【０１２７】
一方、  全工程に適用する場合には、ステップ１０４Ｅにおいてその他の付加モデルの生成を行う。
【０１２８】
次のステップ１０６では、メンバの配置、属性の変更、工程モデルの追加があるか否かを判断し、追加がある場合にはステップ１０８でメンバの配置、属性の変更、工程モデルの追加を行う。次のステップ１１０では、モデル分解部４０によって合成されたモデルを基本モデルデータベースに基づいて基本モデル単位の集合に分割すると共に、工程モデルが持つ属性を基本モデルが持つ属性に変更する処理を行う。次のステップ１１２では、分割されたモデルの配置、属性の変更、基本モデルの追加があるか否かを判断し、追加がある場合にはステップ１１４でモデルの配置、属性の変更、モデルの追加を行い、ステップ１１６で実用モデルに変換する。そして、この実用モデルを用いてシミュレーションを行う。
具体例
以下、機械加工を行うフローラインのシミュレーションモデリングを例にとり、本実施の形態の具体的な例を説明する。この例では、ライン設計を行う計画者が、表計算ソフト等を用いてライン情報を記述し、このライン情報を本発明実施の形態の自動モデリングシステムに入力することでモデルを生成する。
（１）基本モデルデータ
図３及び図４は、表計算ソフト上で定義した基本モデルデータの例を示すものである。基本モデルデータは、大別して、個々の設備モデルパターン（設備クラスと呼ぶ）に関する情報（図３に示す１頁目）と、各設備クラスが持つ属性情報（図４に示す２頁目）とで構成されている。このデータは、シミュレーションに先立ち、ライブラリとして予め作成しておく。
【０１２９】
１頁目に含まれる情報は下記の通りである。
＜１頁目に含まれる情報＞
・クラス名：本モデリングシステム上での設備クラス名（モデルのタイプ名）。
・実クラス名：シミュレータ上での設備クラスの名称（シミュレーションモデルへの変換で必要）。
・インスタンス名：設備作成時に付けられる設備名の候補。
・その設備クラスを作成対象として表示するか／しないか、実際の設備モデルを作成可能か／不可能か等を示すタグ情報。
・カテゴリ：分類（設備／管理／制御  等）。
・アイコン色：作成された設備モデルをシステム上に表示するためのアイコンの形状属性。
・親クラス：親クラスの名称。
・概要：クラスの機能概要。
・制約条件等：制約条件等のドキュメント。
また、２頁目に含まれる情報は下記の通りである。
＜２頁目に含まれる情報＞
・クラス名：対象クラス名。
・変数名：上記クラスの持つ本システム上での属性名。
・実変数名：シミュレータ上での属性名。この属性名は、シミュレーションモデルへの変換で必要となる。
・可視／非可視情報。
・属性（変数）のタイプ（ｐｕｂｌｉｃ／ｐｒｉｖａｔｅ／ｃｏｎｓｔ  等）。
・特殊な属性を示すタグ。これらの情報は、設備間のフロー（ワークの流れ）や、設備配置の情報等、モデリング用のフォームからの情報を設備属性に反映させる際に必要となる。（例：該当設備の前の設備の名前に関する属性にはｃｏｎｎｅｃｔ＿Ｉ、後の設備についてはｃｏｎｎｅｃｔ＿ｏ、該当設備の配置に関する属性にはｌｏｃａｔｉｏｎ  等のようにタグ付けする。）
・属性のデフォルト値。
・選択項目リスト。
・属性に関するドキュメント。
【０１３０】
上記２つの表は最終的には、１つの階層構造のデータとしてＸＭＬ形式で保存され、参照される。
【０１３１】
図５は、ＸＭＬデータのスキーマ（データ構造）の例を示すものである。
【０１３２】
図６及び図７は、表計算ソフト上での工程モデルデータの例を示すものである。工程モデルデータは、大別して、個々の複合設備パターンに関する情報（図６の１頁目）と、各複合設備クラスが持つ属性情報（図７の２頁目）とで構成される。このデータも、シミュレーションに先立ち、ライブラリとして予め作成しておく。実際に使用するデータは一つの階層構造を持ったＸＭＬ形式のデータを用いる。
【０１３３】
１頁目に含まれる情報は、下記の通りである。
＜１頁目に含まれる情報＞
・グループ名：複合設備クラスの名称。
・インスタンス名：複合設備作成時に付けられる名前の候補。
・アイコン色等：作成された複合設備を示すアイコンの形状属性。
・複合設備を構成する設備メンバの（仮の）名称。
・メンバのタイプ（基本設備／複合設備）。
・メンバが属すクラスの名称。
・メンバの複合設備内での相対的位置情報等。
・複合設備の機能概要、制約条件等のドキュメント。
【０１３４】
２頁目に含まれる情報は、下記の通りである。
＜２頁目に含まれる情報＞
・対象クラス名。
・上記クラスの持つ本システム上での属性の名前。これらの属性は、元々設備メンバが持つ属性であり、工程モデル中でユニークな名前となるよう、”メンバ名＿  ＋  変数名”のような名前で管理される。
・シミュレータ上での属性名。シミュレーションモデルへの変換で必要となる。・属性（変数）のタイプ（ｐｕｂｌｉｃ／ｐｒｉｖａｔｅ／ｃｏｎｓｔ  等）
・特殊な属性を示すタグ。これらの情報は、基本的に設備メンバの持つ属性を継承する。
・属性のデフォルト値。
・選択項目リスト。
・属性に関するドキュメント。
【０１３５】
上記２つの表は、一つの階層構造のデータとしてＸＭＬ形式で保存され、参照される。図８は、ＸＭＬデータのスキーマを示す。
【０１３６】
以下、図９（Ａ）、（Ｂ）に工程モデルの例を示す。図は、検査工程をモデル化したものである。ＭＣ０において検査のための一定時間が経過する。その後のＣＨＧ１において、不良ワークのみを選別して、ＯＵＴＰＵＴ０に排出させ、良品は次工程に流す（例えば、良品はＡ、不良品はＢというように異なるワーク名称で分類されている）。この工程モデルでは、ＭＣ０の不良品発生比率や検査時間等が属性として登録されている。
【０１３７】
また、図９（Ｃ）は、パレット循環型のトランスファーマシンを示す。ＣＨＧ１でワークとパレットを分離し、パレットはＣＶＳ４→ＣＨＧ０へと流れて再びワークと合体し、ワークだけが次工程へ流れる。
【０１３８】
次に、上記で述べた工程モデルの定義方法について説明する。工程モデルの目的は、複数のモデルの集合を登録し、モデリングの際、登録時と同様の属性設定で再構築することにある。
【０１３９】
ここで説明する工程モデル定義システムは、Ｍｉｃｒｏｓｏｆｔ  Ｅｘｃｅｌ（商品名）のマクロで作成したプログラムであり、設備モデルの表示や、設備間のフローを意味する矢印の表示の機能で、Ｅｘｃｅｌの持つ機能を利用する。
（１）前準備
基本モデルデータおよび工程モデルデータを読み込む。
（２）設備配置
メンバとして登録する複数の設備を一覧メニューから選択し、それぞれフォーム上に配置する。（基本モデルだけでなく、工程モデルも選択可能）
（３）フロー設定
配置した設備アイコン同士を、線（矢印）によって繋ぐことで、設備間のフロー（ワークの流れ）を設定する。
（４）属性設定
設備の持つ属性を一覧のメニューで表示し、必要に応じてこれを編集する。
（５）工程モデル属性の設定
▲１▼ここでは、選択した設備メンバ（複数）の属性情報（多数）の分類を行い、工程モデルという一つのオブジェクトが持つ属性として再設定する。複合設備の属性は以下の様に分類される。
・設備メンバ間の接続に関する属性（前の設備名、後ろの設備名等、ワークの流れを示す）。
・外部モデルとの接続に関する属性。
・メンバの相対的位置関係に関する属性。
・その工程モデルにおいて、固定の値としたい属性。
・その工程モデルにおいて、変更可能な値としたい属性。
【０１４０】
このように分類する理由は、設備メンバの全ての属性を保存するのは非効率（多くの属性が基本モデル等のデフォルト値のまま）であるため、重要な属性のみを登録するためである。また、登録時の属性のままメンバを再構築しても、設備モデルの名前付けの問題（同じ工程モデルから生成した他のモデルの名前とのバッティング）が起こり、登録時の絶対的位置を保持しても、再構築の際、望ましい位置とはならず、更に、登録時の状態で固定したい属性と、ユーザに開放してパラメータとして編集を許可したい属性とが存在するので、パラメータを設けることで、登録したモデルの再利用範囲を広げることができる。
【０１４１】
これらの理由から、再利用性の高い工程モデルの定義と基本モデル再構築を実現するため、上記の様な分類が必要となる。
【０１４２】
▲２▼先ず、登録すべき基本モデル群を選択し、「モデル編集」処理に入ると、図１０に示すメニュー画面が表示される。
【０１４３】
この時点で既に、工程モデルの属性候補として幾つかの項目がリストアップされている。これらは、各メンバの持つ全属性の中から、以下のような特徴を持ったものを自動的に選択し、表示している。
・（３）で設定しておいた設備メンバ間のフロー（前の設備名，後の設備名）に関わる属性
・（４）で設定した設備メンバ属性
・配置に関する属性（工程モデル群の基準座標からの相対的位置に変換されている）
▲３▼次に、選択したメンバの中から、対象となる工程モデルへのワークの入口となるメンバと、出口となるメンバを選択する。この結果、工程モデルの属性候補に、新たにフローに関する属性情報が追加される（上図、ＭＣ０の”後設備名”とＣＶＳ３の”前設備名”）。
【０１４４】
▲４▼更に、ある値に固定したい属性を、設備メンバの持つ全属性リストの中から選択し、工程モデルの属性項目に追加する。
【０１４５】
▲５▼同様に、ユーザに開放してパラメータとして編集を許可させたい属性を、設備メンバの持つ全属性リストの中から選択し、工程モデルの属性項目に追加する。（全ての属性を変数として登録することも可能）
▲６▼この工程モデルの名称や、実際のモデルを生成する際に用いるモデル名候補（例えば”ＭＣ＿ＳＴ０”，  ”ＭＣ＿ＳＴ１”のように番号付けが行われる）、この工程モデルの機能や制約を説明するドキュメント等を入力する。
【０１４６】
▲７▼登録を行う。この結果、上記で説明した工程モデルデータ（ここではＸＭＬ形式の階層構造テキスト）が追加登録される。
【０１４７】
シミュレーションの入力となるデータには様々なものがあり、精度の高いシミュレーションを行うためには、モデルの持つ全ての属性について正確なデータを入手し、入力を行う必要がある。
【０１４８】
しかしながら、全てのシミュレーション解析において、必ずしも正確な全データが必要なわけではない。例えば、新規ライン設計において、実際のラインの故障頻度に関するデータを得ることは不可能であるが、解析の目的が複数の設計案の相対的な比較が目的であれば、それは設定しないか、或いは過去の類似工程におけるＭＴＢＦ，ＭＴＴＲ等で代用すれば充分である場合もある。
【０１４９】
このように、入力データの精度レベルを如何に設定するかはケースバイケースであり、本来、シミュレーションの専門家がライン計画者と協議を行い、決定すべき問題である。
【０１５０】
これを自動的に行い、計画者自身はモデリングを実施できるようにするため、本実施の形態では、入力情報決定用テーブル（表）を用いた管理法を適用する。
【０１５１】
この入力情報決定用テーブルでは、シミュレーションへの入力データが、シミュレーション解析の目的に対してどの程度の必要性を持つかを定義しており、次項でのデータ入力において、最初にシミュレーションの目的を設定すると、各入力データのレベルが自動的に設定される。
工程表の作成
自動モデリングのための重要な入力情報、すなわち、ライン情報データ（工程表）は、Ｅｘｃｅｌ等で記述した表データで定義される。
【０１５２】
ユーザは、データ入力に先立ち、先ず解析目的をリストの中から選択する。この結果、各データ項目に対して、入力の必要性が表示される。
【０１５３】
ユーザはこの表を埋め、「モデル自動生成」ボタンを押すことでモデル生成処理）を実行する。この際、入力情報決定部で「必須」や「実データ必要」として登録されている属性項目についていずれの工程についても設定をしなかった場合、入力を促すワーニングやエラー等が表示される。これに従うことで、本来シミュレーションの専門家でない計画者でも、各データの重要性を理解し、不適切なモデリングを行うことが防止できる。
【０１５４】
また、この表には、工程の内容とは別に、後で行うモデル自動生成の際に用いる推論エンジンでどのようなルールデータベースと事例データベースを用いるかの選択を行うためのキーワード（例えば、「自動化加工ライン」、「手組み工程」等）が含まれている。
工程モデルの自動生成
自動生成モジュールの起動と同時に、基本モデルデータおよび工程モデルデータを読み込む。
【０１５５】
次に、ライン情報データを読み込む。この際、データに記述された内容（語句）は正規化処理を受け、後の処理において参照しやすいデータ形式に変換される。正規化処理の例を表２に示す。表の正規化データは、標準語に相当し、キーワードは、同意義語に相当する。
【０１５６】
【表２】
2004280719.tif 000004
【０１５７】
工程モデル生成では、入力されたライン情報を分析し、各工程に対して適切な工程モデルを選択・生成し、更に作成した工程モデルに対してライン情報のデータを反映させる。また、工程フローを工程モデルに反映させる。これは以下の様なアルゴリズムで行われる。
【０１５８】
Ｓｔｅｐ１：ライン内の全行程データのうち、次のＳｔｅｐ２を未実施であり、なお且つ対象工程の上流工程が存在しないもの（即ち先頭の工程）についてＳｔｅｐ２を実行する。次に、Ｓｔｅｐ２で作成された工程モデル群についてＳｔｅｐ３，４を実行する。
【０１５９】
Ｓｔｅｐ２：対象工程について、以下を実行する。
【０１６０】
Ｓｔｅｐ２．１：対象工程について、工程のタイプ、その他の属性、本工程の前工程の出口設備モデルのリスト（上流が複数の場合、合流用の設備を作成する等の対応を行うため）等を参照し、工程モデル又は基本モデルを一つ又は複数生成する。また、作成したモデルのうち、最も上流に位置する設備モデルを１つ求める。
【０１６１】
Ｓｔｅｐ２．２：対象工程の次工程（下流）に対して更にＳｔｅｐ２を再帰的に実行する（ただし、次工程が無ければこのＳｔｅｐ２を抜ける。また次工程が既にＳｔｅｐ２を適用済みの場合はＳｔｅｐ２．３へ進む）。この際、上記Ｓｔｅｐ２．１で作成された工程モデルのうち、工程内で最も下流に位置する一つ又は複数のモデル（即ち工程の出口設備モデル）を、次工程に対する上流モデルとして設定する。
【０１６２】
Ｓｔｅｐ２．３：上記Ｓｔｅｐ２．２で作成された次工程モデルのうち、工程内で最も上流に位置する一つのモデル（即ち次工程の入口設備モデル）を、本工程の出口設備群の下流設備として登録する。また、次工程の入口設備モデルの上流設備として、本工程の出口設備モデルを登録し、二つの工程の設備の流れを定義する。
【０１６３】
Ｓｔｅｐ３：モデリング画面のフォーム上に、一連の工程モデル群が上流から下流まで直線的に（並列に複数のモデルが存在する場合は、流れに対し垂直に並べる）並ぶよう配置を行う。
【０１６４】
Ｓｔｅｐ４：予め設定しておいたライン最大長データに従い、最大長を超える設備モデルについては、改行を行うように設備のフローを折り曲げる。この処理は、全ての設備が定められた領域に入るまで繰り返す。
【０１６５】
なお、本実施例においてＳｔｅｐ２．１の実際の論理処理は、推論エンジン中のルールデータベースで記述されたロジックに従って行われる。
【０１６６】
次の表３にメタルールの例を示し、表４にルール群の例を示す。
【０１６７】
【表３】
2004280719.tif 000005
【０１６８】
【表４】
2004280719.tif 000006
【０１６９】
上記処理に従って工程モデルの生成と描画を行った結果（工程モデル生成後の状態）を図１０に示す。図において四角形が工程モデルである。
工程モデルの分解
以下のアルゴリズムを用いて、上記のようにして作成した工程モデルを、基本モデルの組み合せになるまで詳細に分解する。
【０１７０】
Ｓｔｅｐ１：ライン内の全工程モデルデータのうち、次のＳｔｅｐ２を未実施であり、なお且つ対象工程モデルの上流モデルが存在しないもの（即ち先頭のモデル）についてＳｔｅｐ２を実行する。
【０１７１】
Ｓｔｅｐ２：対象モデルが工程モデルである場合はＳｔｅｐ２．１、基本モデルである場合はＳｔｅｐ２．２を実行する。その後、Ｓｔｅｐ２．３、Ｓｔｅｐ２．４を実行する。
【０１７２】
Ｓｔｅｐ２．１：
（１）工程モデルに登録されているメンバである基本モデル又は工程モデル（メンバという）を、登録されている位置に生成する。この際、モデル名称を＜工程モデル名＞＋”＿”＋＜登録されているメンバ名＞というルールで付けることで、ライン上でユニークなモデルにする。
（２）工程モデルの持つ属性変数の中で、生成したメンバに関するものを、そのメンバに適用する。
（３）上記属性の中で、モデル間の接続に関するもの（上流・下流モデル名を設定）である場合、その変数がメンバ間の接続を意味するものである場合は次の（３−１）、工程モデル外のモデルとの接続を意味するものである場合は次の（３−２）を実行する。
（３−１）：登録された上流又は下流設備モデル名の先頭に＜工程モデル名＞＋”＿”を追加する（上記（１）の名前付けルールに対応）。
（３−２）：その属性が、工程モデルへの入力となるモデルを定義するものである場合は、その属性名称を、「入力リスト」に登録する。また、工程モデルの出力となるモデルを定義するものである場合は、その属性名称を、「出力リスト」に登録する（いずれも複数可）。
（４）（３−１）で設定した、メンバ間の接続属性に従い、メンバ同士のフローを定義（上流・下流モデル名を設定）する。
（５）メンバ自身が工程モデルである場合は、その工程モデルに対してＳｔｅｐ２を適用する。
【０１７３】
Ｓｔｅｐ２．２：対象基本モデルの属性の中で、モデル間の接続に関するもの（上流・下流モデル名を設定）である場合、その属性が、モデルへの入力となるモデルを定義するものである場合は、その属性名称を、「入力リスト」に登録する。また、工程モデルの出力となるモデルを定義するものである場合は、その属性名称を、「出力リスト」に登録する（いずれも複数可）。
【０１７４】
Ｓｔｅｐ２．３：対象モデル（複合又は基本）の下流工程モデル（一つ又は複数）が存在しない場合はＳｔｅｐ２を抜ける。下流モデルのうち、Ｓｔｅｐ２を未実施であるものに対して、Ｓｔｅｐ２を適用する。
【０１７５】
Ｓｔｅｐ２．４：下流工程モデルの中で「入力リスト」に登録されている設備と、本工程モデルの「出力リスト」として登録されている設備モデルを接続する（それぞれの名称を登録し合う）。
【０１７６】
上記処理に従って工程モデルの分解と描画を行った結果（工程モデル分解，基本モデル生成後の状態）を図１１に示す。各基本モデルは、工程モデルが存在していた位置に、登録時と同様に作られる。
配置・属性変更
工程モデル生成や基本モデル生成後、生成されたモデルが所望のラインと異なる場合、手直しをする必要がある。この場合、配置・属性の変更、新しい設備モデルの追加・削除等の機能を用いることになる。
配置変更
自動生成されたモデルの配置は、もともと自動的に決定されたものであるため、基本的に、実際のラインでの配置とは異なる。離散系シミュレーションにおいて、設備配置は必ずしもシミュレーション精度に影響を及ぼさないが、視覚効果や目視によるライン挙動のチェック等を考慮すると配置の調整機能が必要となる。
本システムでは、設備群が表示されたるフォーム上で、マウス操作によって設備アイコンを動かすことで、配置を変更できる。フォーム上での配置変更結果は、「生成モデル記憶部」に登録され、シミュレーションモデルファイル生成時に、基本モデルが持つ、配置属性データに反映され、記録される。
シミュレーションモデルファイル生成
多くのシミュレーションソフトが、テキスト形式のモデルファイルをサポートしており、シミュレータ固有の書式に添って、外部ツールでシミュレーションモデルファイルを作成することは可能である。
【０１７７】
【発明の効果】
以上説明したように本発明によれば、シミュレータに特化した特別な訓練、操作をできるだけ行わず、シミュレーションモデルを自動的に生成することができる、という効果が得られる。
【０１７８】
また、本発明において上記のように、ライン計画者でもモデリング、ひいてはシミュレーションを実施できることにより、以下の様な効果が得られる。
（１）詳細なデータが完全に揃わないライン設計初期段階においても、ある程度定量的に生産性を知ることができ、ライン設計の基本方針に関して、設計後期で後戻りすることを防ぐことができる。これにより、生産システム構築のリードタイム短縮と設計の高品質化を図ることができる。
（２）入力データの誤りによるシミュレーションの失敗（実ラインとの不整合）を防ぐ効果がある。例えば、計画者から解析専任者を通してシミュレータへデータが渡る過程でのミスを防止することができる。また、計画者は、シミュレーションの結果が、入力データの問題から、当初予想したものに対して異なることに対して気付き易い。更に、ライン設計情報は計画において日々変更されることが多いが、計画者自身はそうした情報に常に接しているため、データの陳腐化による結果の不整合を防止できる。
（４）計画者自身が生産システム構築・改善の試行錯誤，検証を行うことが容易であり、ライン設計ノウハウを計画者自身が身に付けることに効果がある。
（５）解析専任者にとっても、自動化によって、従来のモデリング手段と比較して格段に迅速なモデリングが可能となる。
【図面の簡単な説明】
【図１】本発明の実施の形態のシミュレーションモデルの自動生成装置のブロック図である。
【図２】本発明の実施の啓形態のモデルを自動生成する処理手順を示す流れ図である。
【図３】基本モデルデータの１頁目の例を示す図である。
【図４】基本モデルデータの１頁目の例を示す図である。
【図５】基本モデルデータのＸＭＬデータのスキーマの例を示す図である。
【図６】工程モデルデータの１ページ目の例を示す図である。
【図７】工程モデルデータの１ページ目の例を示す図である。
【図８】工程モデルデータののＸＭＬデータのスキーマの例を示す図である。
【図９】（Ａ）、（Ｂ）、（Ｃ）は、工程モデルの例を示す図である。
【図１０】工程モデル生成後の状態を示す図である。
【図１１】工程モデルを分割して基本モデル生成後の状態を示す図である。
【符号の説明】
１２  入力情報決定部
２０  同義語データベース
２２  モデリングルールデータベース
２４  工程モデリング事例データベース
２６  基本モデルデータベース
【図１】
2004280719.tif 000007
【図２】
2004280719.tif 000008
【図３】
2004280719.tif 000009
【図４】
2004280719.tif 000010
【図５】
2004280719.tif 000011
【図６】
2004280719.tif 000012
【図７】
2004280719.tif 000013
【図８】
2004280719.tif 000014
【図９】
2004280719.tif 000015
【図１０】
2004280719.tif 000016
【図１１】
2004280719.tif 000017