JP4570638B2 - オブジェクト指向方法 - Google Patents

オブジェクト指向方法 Download PDF

Info

Publication number
JP4570638B2
JP4570638B2 JP2007102753A JP2007102753A JP4570638B2 JP 4570638 B2 JP4570638 B2 JP 4570638B2 JP 2007102753 A JP2007102753 A JP 2007102753A JP 2007102753 A JP2007102753 A JP 2007102753A JP 4570638 B2 JP4570638 B2 JP 4570638B2
Authority
JP
Japan
Prior art keywords
component
design
deliverable
version
type
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP2007102753A
Other languages
English (en)
Other versions
JP2007226824A (ja
Inventor
イー ガーナー,ロバート
エヌ ガードナー,デイヴィッド
ジャッセル,ジェフリー
エルマン,アンナ
リン,デイヴィッド
エデュアード ビネイヴィデス,アルヴァロ
エイ マックアダムス,マーク
Original Assignee
メンター・グラフィクス・コーポレーション
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by メンター・グラフィクス・コーポレーション filed Critical メンター・グラフィクス・コーポレーション
Publication of JP2007226824A publication Critical patent/JP2007226824A/ja
Application granted granted Critical
Publication of JP4570638B2 publication Critical patent/JP4570638B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/02CAD in a network environment, e.g. collaborative CAD or distributed simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2115/00Details relating to the type of the circuit
    • G06F2115/08Intellectual property [IP] blocks or IP cores

Description

本発明は、再利用可能な回路設計コンポーネントに関する。特に、本発明は、システムオンチップ(SoC)設計を含む回路設計に容易に盛り込むことができる設計コンポーネントを作成し管理するシステム及び方法に関する。
集積回路の設計及び製造は、信じがたいほど複雑な作業である。回路論理の基本的な記述から始まる回路設計は、半導体シリコンダイ上の導体、半導体、及び、絶縁体のエリアから形成された、トランジスタ、抵抗器、コンデンサ、及び、接続配線のような回路コンポーネントに変換しなければならない。論理から物理的な回路への変換の際の各ステップは、回路が設計された論理を適切に実現することを保証するため、検証されなければならない。
実際の回路は、理想的、理論的なコンポーネントのようには振舞わないので、モデルとして機能する設計は、実際の装置として製造されたときに巧く機能しない。例えば、隣接する導体間の容量は、電子信号が回路の素子間を移動するために時間を要するので、回路動作に影響を与える。回路論理が回路設計に変換され、次に、実際の回路に変換されるときに、大規模なテスト及び解析が行われる。
集積回路(IC)製造プロセスの能力が高まるのに伴って、半導体チップに載せることができるトランジスタ及び論理ゲートの個数は、指数関数的に増加する。現在の集積回路は、一つのチップ上に数千万個の論理ゲートを含む。企業は、プロセッサ、デジタル・シグナル・プロセッサ(DSP)、メモリ、及び、周辺インタフェースを含む従来のシステムの全ての機能を単一のチップ内に組み合わせることによって、最新シリコンプロセスを巧く利用する。
ムーアの法則は、集積回路内のフィーチャー(特徴部分)の数に依存するコンピュータの計算能力が、18ヶ月毎に倍増することを示している。この倍増は、回路フィーチャーのサイズを縮小する製造の進歩に起因する。フィーチャーのサイズが減少する結果として、回路構成のため使用できるシリコンダイ上で利用可能な空間(スペース)の量が増加し続ける。新製品ができるだけ素早く市場に出回るようにするため、短い設計時間を維持することは重大な課題であるため、スペースを埋めるために余分な時間を利用できない。設計された回路の生産性は、毎年約20%ずつ増加していることが推定されるが、市場の需要の期限までにチップ上で利用可能なスペースを有効に活用するには不十分である。
設計者数は増加していない。設計者は、チップの収容能力の増加についていくのが困難である。例えば、多数の半導体ハウスは、チップ上に2000万個以上の論理ゲートを置くためにシリコンプロセスを複雑化させている。しかし、現在の平均的な特定用途向け集積回路(ASIC)は、およそ50万ゲートを組み込んでいる。現在の電子設計自動化(EDA)ツールと、現在のシリコンプロセスにおいて1個のダイ上で利用可能なゲート数との間には、生産性格差が存在することが広く認識されている。
この格差を解決するため、設計者は、ブロックベースの方法論において、インテレクチュアル・プロパティ(IP)又は設計資産と称される既存の事前検証された設計ブロックを再利用することにより、マルチミリオンゲート・システムオンチップ(SoC)設計を作成しようとしている。
電子産業では、設計再利用の価値はかなり以前から十分に理解されている。このような理解にもかかわらず、今までのところ、設計再利用は制限されている。設計(設計情報)再利用の一つの妨げは、設計グループの間で設計資産を共有することに係る技術的な課題である。設計は、単一のファイルにはとどまらない。設計は、典型的に、種々のフォーマットの多数のパーツにより構成され、多数のパーツは様々なツールで作成され編集されている。一部の個別の設計グループが異なるファイルタイプに対して標準化されたディレクトリフォーマットを作成しているとしても、産業界全体の標準規格や、殆どの企業の間の標準規格は存在しない。設計が他の設計者へ与えられるとき、ファイルの命名法や編成法に関する標準規格は無いので、必要なファイルが全て存在するかどうかを判定することは困難になる。
問題を更に複雑化する点として、設計再利用を生産性課題は、設計作成の格差だけではない。それは、設計検証の格差でもある。広範囲に及ぶ合成の使用は、設計者が、実行されるべき論理演算の記述から論理回路又はゲートを自動的に生成することを可能にさせる。合成ステップの出力が要求された論理結果を生ずるかどうかを検証することが必要である。
設計は時間の経過に伴って変化するので、設計を構築する様々なファイルは改正される。個別のファイルの変更によって、ファイルのバージョンが変更される。現在設計に使用されているファイルがどのファイルであるかを追跡するために多数のファイルの異なるバージョンを全て記録しておくことは困難である。
設計データを共有するエンジニアのグループについては、互換性のないツールや、コミュニケーションの不足のような問題が存在する。ある設計ファイルを作成するツールのバージョンのような情報は保持されない。ある設計者が他の設計者によって作成された設計を使用したい場合、ツールの違い、或いは、ツールのバージョンの相違は、ファイルを再処理する際に誤りを生じさせる。原設計者が設計ファイルを説明できない場合、あるテクノロジーから次のテクノロジーへ継承される遺産ブロックを再度巧くまとめることは非現実的であり、場合によっては、禁止される。
設計再利用に対する技術的障害を超えて、設計再利用を初期導入するには非常に現実的な経済的障害も存在する。例えば、設計マネージャは、SoC設計スケジュールを維持しようと努めながら、再利用のための新しいブロックの設計を正当化することは困難であることに気付く。設計を再利用可能にするために必要な余分な仕事は、限られたリソースを使い果たし、既存のプロジェクトを危うくする。同時に、既存の設計グループは、不確実な報いのため既知の危険のうちの一つを再利用するため設計する選択を行って、このブロックを再利用することは決してない。新しいブロックを使用可能な態様で設計するために要する努力を埋め合わせるよりもSoC設計における既存のブロックを再利用する方が時間が節約される場合に限り克服され得る。
設計再利用のその他の妨げは、本質的に文化である。全てのエンジニアリング組織は固有の設計文化をもっている。その文化の中の多数のエンジニアは、検証よりも創作を好み、再設計よりも革新の方を好む。更に、従来の企業インセンティブプログラムは、革新に対して設計者に報いる傾向がある。しかし、設計再利用は、設計創作及び革新が抽象化のレベルに格上げされることを要求する。
ある特定の組織内でも、再利用を試みる設計者は、互換性の無い配布フォーマット、一致しないブロックインタフェース、不完全な文書、及び、一貫しないツールフローに気付くであろう。更に、殆どの場合に、ブロックを再利用可能にすることが何を意味するかについて明確な定義がない。更に、問題を複雑にする事項として、「再利用可能」の定義は、設計者、組織、及び、設計要件の間で異なる。その上、チップ複雑性の増大に伴って、機能的検証は、設計再利用に対する大変な阻害要因である。設計者がブロックを検証するためにコンポーネントの細部に詳細に精通しなければならない場合、設計再利用において殆ど時間は節約されない。
本発明の目的は、回路設計者による設計資産(IP)の再利用を容易にするシステムを提供することである。
本発明のシステムは、標準化されたコンポーネントタイプと、「デリバラブル」の概念を使用する設計環境を提供する。デリバラブルは、共通の機能を実行し、標準化された態様でシステムによって表されるファイル、若しくは、ファイルのディレクトリ、又は、ファイル若しくはディレクトリのグループにより構成される。設計ファイルをデリバラブルに抽象化することによって、システムは、あらゆるソースから生じ、異なる構造を有する設計ファイルと連携することが可能であり、これらの設計ファイルは、事前審査されたコンポーネントの効率的な再利用のための均一的な様式で他の設計者によって使用できるようにされる。
コンポーネントは、「デリバラブル」と「アトリビュート(属性)」とにより構成される。アトリビュートは、コンポーネントを記述するメタデータであり、コンポーネントはそのデリバラブルを含む。コンポーネントのタイプ毎の属性、デリバラブル、及び、クォリフィケーション(適格性審査)標準は、システムで制御される。かくして、コンポーネントを再利用することを望む設計者は、コンポーネントがその属性及びクォリフィケーションに関して均一に表されることが約束される。コンポーネントタイプ項目を定義し、次に、コンポーネントをインスタンス化するオブジェクト指向の局面は、オブジェクトのインスタンスバージョンとアソシエーションを容易に作成することができる拡張可能性のあるシステムを提供する。システムは設計者に標準的なフレームワークを提供すると共に、新しいコンポーネントタイプ、標準、属性、及び、デリバラブルが容易に定義され、システム管理者によってシステムに追加され得る点でフレキシブルである。
標準化されたデリバラブルの概念を使用し、設計ファイルとは別のデータベース内のメタデータを使用して各デリバラブルを特徴付けることにより、他の設計者がファイルを理解し再利用できるようにさせる効率的な態様で、多数の様々なタイプの設計ファイルを管理するシステムを提供することが可能である。
デリバラブルの概念の使用によって、システムは、コンポーネントの階層を維持することにより階層コンフィギュレーション管理を行うことが可能になり、デリバラブル及びコンポーネントのサブコンポーネント毎にバージョンを与え、コンポーネント自体に一つのバージョンを与えるバージョン制御を行うことが可能になる。コンポーネントモデルと、設計ファイル及びメタデータファイルのデータ構造との組み合わせは、拡張性のある知識ベースを維持するため適した知識管理システムを生成する。
以上の説明では、本発明の特徴及び技術的効果をかなり広範に概説しているので、以下の本発明の詳細な説明が十分に理解されるであろう。本発明の更なる特徴及び効果は後述される。開示された概念及び特定の実施例は、本発明の同じ目的を実現するため他の構成を変更若しくは設計するための基礎として容易に利用されるであろう。当業者には明らかであるように、このような等価的な構成は、特許請求の範囲に記載されている本発明の精神並びに範囲に包含される。
本発明の実施例は、これらの実施例を例示する以下の説明及び添付図面を参照することによって十分に理解されるであろう。
再利用可能なIP(設計資産)設計を作成・管理し、他のIP及びシステムオンチップ設計でIPを使用するシステムを説明する。以下の記述では、説明の目的のため、多数の具体的な細部が本発明の完全な理解が得られるように開示されている。しかし、当業者には明らかであるように、本発明はこれらの具体的な細部を用いなくても実施することができる。
本発明の理解を助けるため、最初に、用語を定義し、本発明の一部の局面をより詳細に説明する。
定義・概念・構造
〔設計資産(IP)〕
一般的に使用される用語「設計資産(IP)」は、CPU、タイマー、或いは、完全なSoC(システムオンチップ)のような特定の再利用可能設計ブロックを表現する。本発明は、単にIPコンポーネントをサポートするだけではなく、実質的にあらゆるタイプのコンポーネントを保存するように構成することが可能である。
〔コンポーネント〕
用語「コンポーネント」は、典型的に、メタデータファイルと設計データファイルの両方によってサポートされた再利用可能設計ブロックを表すために使用される。典型低には、回路設計の再利用可能ブロックであるコンポーネントは、実際にはどのようなものでもよく、例えば、ソフトウェアや筐体用のプラスチックでもよい。メタデータは、ユーザが、単純な属性のように、これまでは設計データファイルに保存されることがなかったコンポーネントに関する情報を指定できるようにさせる。メタデータとして保存されたコンポーネント情報は、コンポーネントをそのメタデータによって検索可能にさせる。
各コンポーネントは、特定の「コンポーネントタイプ」をもつように定義される。特定のコンポーネントタイプをもつ全てのコンポーネントは、コンポーネントタイプによって示される同じ標準規格によって制限される。これにより、コンポーネント間の一貫性が保証され、ユーザがこれらのコンポーネントを検索し管理する能力を高める。
〔コンポーネント属性〕
コンポーネントのメタデータの大半は、属性(アトリビュート)の形式で添付される。属性は、例えば、「ゲート数:100」のように、「名前(name):値(value)」のペアとして定義される。コンポーネントは、特定の属性名に対する属性値に基づいて検索することも可能である。例えば、「カテゴリー」という名前の属性がある場合、ユーザは、全コンポーネントに対して、カテゴリー=CPUという条件で検索をすることによって、全てのCPUコンポーネントを見つけることができる。属性は、コンポーネントのある局面を特徴付けるため、システム管理者によっても作成され得る。
属性名の標準化は、広範囲のリポジトリの検索をサポートする。従来技術において、設計者が異なると、異なる属性名が使用されていた。例えば、同じ概念を表現するために、あるコンポーネントは属性名「カテゴリー」を使用し、別のコンポーネントは属性名「キャット」を使用し、更に別のコンポーネントは属性名「グルーピング」を使用する。設計者は異なる属性名を使用し、属性名が等価であるかどうかを知る方法がないので、コンポーネントの枠を越えて検索することは不可能であった。本発明のシステムの場合、属性名は、コンポーネントのコンポーネントタイプに連携された標準属性名のリストの中から選択しなければならない。
属性名の標準化は、コンポーネントタイプの使用に重大な利益がある。コンポーネントタイプの作成者は、そのタイプのコンポーネントが使用しなければならない全ての属性名を選択することができる。属性名「カテゴリー」を使用する場合、例えば、ユーザは、この属性名を所定のリストから選択し、次に、値を入力すればよく、データ入力エラーの結果として異なる属性名を取り除く。
〔コンポーネントデリバラブル〕
デリバラブルは、一つ以上の設計データファイル又はファイルのディレクトリの集まりとして定義される。デリバラブルは、例えば、文書(ドキュメンテーション)、RTLソースコード、ネットリスト、又は、合成制約などである。デリバラブルは、再利用されるべき作業生産物である。各デリバラブルのタイプ及び特徴付けは、システムによって標準化されているので、デリバラブルの標準化は、設計者の間で、交換対象についての共通の理解を生じさせる。デリバラブルは、コンポーネント設計の特定の部分に関するファイルをグループ分けするための強力な方式を提供する。例えば、ユーザが設計のため全てのRTLファイルを要求する場合、設計者は、それらの全てのファイルを格納するRTLデリバラブルを要求するだけでよい。
用語デリバラブルが示すように、デリバラブルは、他の設計者へ配布することが予定されたデータユニットを表現する。デリバラブルは、特に、設計ファイルのネーミングや構成法に関して異なる標準規格をもつ設計者間での、設計データの交換に関連した問題を取り扱う。
コンポーネントは、多数のデリバラブルにより構成され得る。各デリバラブルは、コンポーネントのコンポーネントタイプによって規定されるような有効なデリバラブルタイプの標準化リストからの一つのデリバラブルである。例えば、IPコンポーネントタイプは、RTL、ネットリスト、及び、文書のようなデリバラブルタイプ項目を定義するときに、ユーザが「IPコンポーネント」タイプの「高速CPU」と称されるコンポーネントを設計する場合を考える。高速CPUの設計者は、RTLタイプのデリバラブルを作成し、全てのRTLファイルをそのデリバラブルの下に置くことができる。ネットリストや文書の場合にも同様である。IPコンポーネントを作成する全ての設計者は、同じデリバラブル標準規格のセットに従うので、設計者は、コンポーネントを効率的に交換し再利用することが可能である。
デリバラブルタイプの標準化には、クォリフィケーション標準規格の開発がデリバラブルタイプに限定され、標準フローがこれらのデリバラブルタイプに基づいて作成され得る、というその他の利点がある。
各デリバラブルは、高々1個のコンポーネントだけに結び付けられる。そのコンポーネントは、多数のコンポーネントの中でサブコンポーネントとして使用できるが、デリバラブル自体は一つのコンポーネントに関連付けられる。異なるバージョンのコンポーネントは、異なるコンポーネント内でサブコンポーネントとしてインスタンス化される。設計者が新しいデリバラブルのバージョンを作成した場合、デリバラブルを保持するコンポーネントの新しいバージョンが作成される。以前のバージョンのコンポーネントを使用した設計は変更されずに、以前のバージョンを使用し続ける。
〔コンポーネントタイプ〕
コンポーネントタイプは、そのタイプに属する全てのコンポーネントが準拠しなければならない標準規格のセットを規定する。これらの標準規格の中には、
属性名
デリバラブルタイプ
デリバラブルセット
フローテンプレート
クォリフィケーション標準規格
の項目が含まれる。
各コンポーネントは、所定のコンポーネントタイプのいずれかである。コンポーネントタイプの中の一部のタイプは限定される。例えば、あるコンポーネントタイプは、バージョンが無いタイプ項目として定義され、或いは、サブコンポーネントをインスタンス化できないタイプ項目として定義される。
〔設計階層〕
典型的な設計アプローチの場合、設計コンポーネントは多数のサブブロックに区分される。各サブブロックは、それ自体、サブブロックに区分され得る。このことは、設計階層(構造)として知られている。好ましいシステムは、ユーザがコンポーネントを他のコンポーネントの下にインスタンス化すること、すなわち、コンポーネントがサブコンポーネントを含むこと、を許容する。コンポーネントが他のコンポーネントの内部にインスタンス化されたとき、同じコンポーネント内の別のインスタンスとの間で個別に識別できるように固有のインスタンス名が与えられる。
〔バージョン制御〕
好ましい一実施例によれば、コンポーネントを作成する第1ステップは、バージョンの無いコンポーネントの表現を作成することである。これにより、システムは、バージョンとは無関係にコンポーネントを参照することができる。また、無バージョンに関連した属性がコンポーネントに割当てられる。無バージョン属性は、作成されたコンポーネントのバージョンによって自動的に継承される。
コンポーネント上の設計を実際に開始するため、コンポーネントのバージョンは作成されるべきである。好ましい一実施例によれば、全ての設計作業はコンポーネントバージョンに作用する。これにより、2世代以上のバージョンに対する作業が同時に行われることが許される。用語「コンポーネントバージョン」は、コンポーネントのバージョン付きインスタンス化を参照する。
コンポーネントバージョンは、完全に独立ではなく、コンポーネントバージョン間でデータを共有する。例えば、2世代のバージョン間のデリバラブルの一部は同一でもよい。その場合、2個のコンポーネントバージョンは、同じデリバラブルバージョンを参照することになる。
システムは、コンポーネントだけにではなく、デリバラブル、及び、デリバラブルに含まれるファイルにもバージョンを割当てる。デリバラブルにバージョンを割当てることにより、デリバラブルファイルは1ユニットとして取り扱えるようになり、これにより、設計者は、デリバラブルのコンフィギュレーションを非常に簡単に調べることができる。ファイルバージョンは、典型的に、表に出ないバージョンであり、抽象化されたデリバラブルだけを取り扱うコンポーネントのユーザには関係が無い。用語「デリバラブルバージョン」は、デリバラブルのバージョン付きのインスタンス化を意味する。
〔コンポーネントの分析〕
コンポーネントは、デリバラブルとデリバラブルのバージョンとの両方の集まりを表現する。デリバラブルは、ファイルとファイル自体のバージョンとの両方の集まりを意味する。ファイルは、ファイル自体のバージョンの集まりを意味する。
コンポーネントのデリバラブルのバージョニングは、コンポーネントのバージョンとは独立に維持される。同様に、デリバラブルのファイルのバージョニングは、デリバラブルとコンポーネントの両方のバージョニングとは独立して行われ、たとえ、設計者がデリバラブルのバージョンを取り扱うとしても、ファイルのバージョニングは表に出ないシステム機能である。コンポーネントのユーザは、設計ファイルの標準化されたデリバラブル表現だけを取り扱い、標準化されていないファイル自体は取り扱わない。かくして、ファイルの原本若しくは形式とは無関係に、ファイルはデリバラブルに抽象化され、システムはこのデリバラブルを用いて均一な態様で機能することができる。
したがって、システムは、コンポーネント階層構造にバージョン制御とコンフィギュレーション管理を提供する。バージョンは、階層のレベル毎に制御され、コンポーネントの全コンポーネントバージョンに対して制御される。システムの中心はデリバラブルであり、デリバラブルは再利用されるべき作業生産物である。
コンポーネントのバージョンは、デリバラブルバージョンへの照会先の固有セットに過ぎない。同様に、単一のファイルバージョンは、任意の個数のデリバラブルバージョンから参照され得る。このため、ファイルバージョンをコピーする必要がなく、ファイルバージョンへの参照しか行われないので、記憶効率が著しく高くなる。
コンポーネントの階層構造の管理と、コンポーネントのバージョン制御とを組み合わせることにより、再利用を促進する階層コンフィギュレーション管理が実現される。
コンポーネントバージョンは、他のコンポーネント、若しくは、デリバラブルのバージョンを含む他のコンポーネントバージョンへの参照先を格納する。第1のコンポーネントバージョンが第2のコンポーネントバージョンを参照するとき、第2のコンポーネントバージョンは第1のコンポーネントのサブコンポーネントであると考えられる。
例えば、CPUと称されるコンポーネントがデリバラブルRTL及びネットリストを収容する場合、CPUのバージョン1.1はRTLデリバラブルとネットリストデリバラブルの両方のバージョン1.1を参照する。CPUのバージョン1.2は、RTTデリバラブルの同じバージョンを参照し続けるが、ネットリストのバージョン1.2を参照しない。最後に、CPUのバージョン1.3は、両方のデリバラブルの新しいバージョンであるRTLデリバラブルのバージョン1.2と、ネットリストデリバラブルのバージョン1.3を参照する。同じ種類の参照が、デリバラブルとファイルの間でも行われる。CPUは、サブコンポーネントをもつことができる。ユーザは、サブコンポーネントのバージョン、或いは、コンポーネントを構成するデリバラブルのバージョンに関心がある場合もあるが、ユーザは、典型的に、コンポーネント自体のバージョンにしか関心が無い。
〔データ編成〕
メタデータを組み込み、Oracle(登録商標)リレーショナルデータベースのようなデータベースを用いてメタデータを管理し、上述のコンポーネントモデルと連結することによって、知識管理システムが得られる。
多数のオブジェクトを収容し得るシステムと同様に、これらのオブジェクトを編成する能力が不可欠である。Unix(登録商標)若しくはWindows(登録商標)のようなオペレーティングシステムは、ファイルを階層的に構造化し、編成する方式を得るため、ディレクトリと呼ばれるものを使用する。本発明は、ドメインと呼ばれるユーザ、チーム、コンポーネント、作業(タスク)、フローなどを編成するため同じ方法を提供する。ドメインはサブドメインを含むことがあり、各サブドメインはそれ自体がサブドメインを収容することが可能であり、これにより、作成されるべきドメインの階層構造が得られる。これは、ドメインツリーとして知られている。
ドメインツリーは、ユーザ、チーム、コンポーネントなどを編成する目的のためだけに役立つのではなく、システム内で各エレメントを個別に識別する方式を規定する。各IPコンポーネントは、ドメインツリー内でのその位置に基づく固有識別子をもつ。これは、完全に適格である名前とも呼ばれる。完全に適格である名前は、ドメインツリーの最上部から開始して、下方のコンポーネントに達するまでの全てのドメイン名を連結し、ドメイン名とドメイン名の間、並びに、最後のドメイン名とコンポーネント名の間にピリオド(.)を挿入することによって形成される。
〔マルチサイトデータ〕
本発明の一つの利点は、全社的協調及び共有を促進する能力を備えていることである。このことは、屡々、システムはグローバルに広がり、世界中に展開したユーザにアクセスできるようにする必要がある、ということを意味する。
これは、単独のサーバー装置を用いて実現することも可能であるが、遠隔ユーザのネットワーク応答時間が著しく遅くなるであろう。この問題を解決するため、システムは、各サーバーが会社の主要なサイトに設置された場合に、多数のサーバーをサポートするアーキテクチャを採用する。定期的な間隔で、サーバーは、サーバー間でデータを同期させる。各サーバーは、データが最初にどこから入力されたかにかかわらず、システムに入力された全データのコピーを保持する。この処理はデータベース複製として知られている。サポートすることが可能な実際のサーバーの台数はサーバー間のネットワーク収容能力に依存する。
メタデータのデータベースはシステム全体で複製されるが、設計ファイルは複製しない方が好ましい。設計ファイルは、個別の「保管サーバー」又は「保管部」に置かれる。ユーザがデリバラブルを要求したとき、システムは、ローカル保管部内でそのデリバラブルを自動的に見つける。デリバラブルの実際の場所はユーザにはわからない。システムは、高速アクセスのため、設計ファイルのローカルコピー又はキャッシュを作成する。別のユーザがそのファイルへのアクセスを要求し、そのユーザのアクセスはキャッシュされたコピーを使用することによって高速化される場合、システムは、オリジナルではなく、ローカルキャッシュへ自動的にアクセスする。
〔フロー、タスク、フローテンプレート、及び、タスクテンプレート〕
一部の実施例のフローシステムの局面は、設計フローを定義し、追跡することを可能にさせる。標準的なフローは、ユーザが、コンポーネントを設計若しくはクォリファイするため矛盾の無い、反復可能なプロセスを作成することを可能にさせると同時に、設計プロセス中に必要に応じてフローに変更を加える柔軟性を保ち続ける。フローシステムは、2段式であり、フローとタスクとを含む。タスクは、入力と出力を有するジョブに特有のものであり、フローは、タスクの系列である。フローテンプレートは、コンポーネントタイプに特有の設計プロセスを定義するが、特定のコンポーネントには依存しない。フローテンプレートは、別のフローテンプレート又はタスクテンプレートをインスタンス化することが可能である。フローテンプレートはバージョン制御される。標準化フローを準備することは、システムに入るコンポーネント及びデリバラブルが標準規格を充たすことを保証する。
システム機能
次に、システムによってシステム内で実行される種々の機能を説明する。機能は、対象エリアによって概略的にリスト化される。様々な役割のユーザが異なる機能にアクセスする。例えば、設計は、コンポーネントをクォリファイするためクォリフィケーションツールを使用するが、クォリフィケーション管理者だけが新しいクォリフィケーション要求を作成可能である。好ましい一実施例によれば、全ユーザ及び管理機能は、データベースにアクセスするため、エンタープライズJava(登録商標)ビーンズ(EJBs)のアプリケーションプログラミングインタフェース(API)に構築されたアプリケーションを介してアクセスされる。アプリケーションは、APIを使用してアプリケーションサーバーにアクセスするプレゼンテーション層を表現する。EJBsは、アプリケーションサーバー上で動き、データベースサーバー上のデータベースにアクセスする。本発明は、特定のアーキテクチャに限定されない。例えば、プレゼンテーション層のその他の実現例は、EJBsとは無官気に作成することができる。
〔ロール(役割)〕
システムの種々の機能は、便宜上、ユーザのタイプ別に分割することが可能であり、ユーザの各タイプは特定の「役割」を想定する。3種類の主要な役割は、システム若しくはプラットフォームの管理部と、標準規格の管理部と、設計者である。設計者は、新しいコンポーネントを作成し、以前に作成され、システムに蓄積されているコンポーネントを使用する。システム管理部は、システムデータベースを組み込み、サーバーを組み込み、ユーザ、チーム、及び、ユーザのドメインを管理し、様々な権限をユーザ、チーム、及び、ドメインに与える責任を担う。ドメインは、ユーザのグループであり、典型的に、共通の場所に居るユーザのグループである。標準規格管理部は、設計部がコンポーネントを作成する際に使用する標準的な選択対象を用意する役割を担う。例えば、標準規格管理部は、設計部がファイルのフォーマットを指定するときに選択するフォーマットのリストを設定する。標準規格管理部は、標準コンポーネントタイプ、デリバラブル及びフローテンプレートを定義する。
管理機能は、ある設計者によって作成されたコンポーネントが他の設計者によって容易に理解され、かつ、使用されることを保証するために、データベース及びサーバーのセットアップと、システムの種々のパーツが準拠しなければならない標準規格の提供と、を必然的に伴う。
〔システム管理機能〕
システム管理機能には、ドメイン及びチームの管理の組織化と、ユーザへの権利の付与とが含まれる。プラットフォーム管理機能は、システム設計データが、「保管部」と呼ばれるデータベースに保持されることを可能にする。設計データファイルは、典型的に非常に大規模であるため、これらのファイルは、そのファイルに責任をもつ設計者のサイトに置いておく方が効率的である。ファイルを他の場所からもアクセスできるべきであるならば、設計ファイルのコピーは、長時間のダウンロードを避けるため、他の場所にキャッシュされる。システム管理部は、保管部及びリモート保管部を作成することが可能である。
〔単位管理〕
標準的な管理部の一つの機能は、種々のコンポーネント属性を記述することが許される測定単位を定義することである。例えば、「ゲート幅」の属性に対する単位は、「ミクロン」であり、周波数に対する単位はメガヘルツであり、バス幅に対する単位はビット数である。単位を標準化することによって、設計者は、他の設計者によって作成されたコンポーネントの属性を適切に解釈することが可能である。
〔フォーマット管理〕
標準的な管理部のもう一つの機能は、デリバラブルに使用されるフォーマットを標準化することである。フォーマットは、例えば、異なるタスクから入力若しくは出力することができるデリバラブルを判定するために、プロセスフローツールと共に使用される。例えば、設計ファイル用のフォーマットは、「Verilog バージョン1.1」である。「合成」タスクは、入力として、有効な設計フォーマットだけを受け付ける。標準規格管理部は、新しいフォーマットや、既存のフォーマットの新しいバージョンを作成し得る。設計者は、コンポーネントをシステムに入力する際には、標準規格管理部に新しいフォーマットを追加させていない限り、既存のフォーマットを使用するように制限される。
〔ツール管理〕
効率的なタスク立案と再生可能設計フローを可能にするため、ツール情報を追跡する必要がある。ツールには、設計自動化ツール、シミュレーションツール、検証ツール、文書ツールなどが含まれる。ツールは、システムに登録され、ツール情報が追跡される。設計者は、限定的なタスク及びフローでツールを使用することができ、種々のデリバラブルを作成するため使用されたツールを追跡することができる。
〔フロー及びタスク管理〕
システムは、新しいIP(設計資産)の作成を追跡記録する。新しいIPを作成するため要求されるステップは、一体として、「フロー」と呼ばれる。フローはタスクにより構成される。標準規格管理部は、設計者が設計用のフローを作成するため寄せ集めることができる標準規格タスクを定義する。一般的なタスクには、例えば、合成、RTLコーディング、静的時間解析、プロトタイプ化、要求仕様書の作成などが含まれる。標準規格管理部は、各タスクの入力及び出力を指定し、特定の入力又は出力のうちの複数のものが許容されるかどうかを指定する。合成スクリプトのような外部ファイルは、タスク管理部によってタスクにアップロードされる。
〔デリバラブルタイプ管理〕
デリバラブルタイプ管理機能は、新しいデリバラブルをシステムに追加する。デリバラブルタイプ管理機能は、典型的に独立にアクセスされるものではなく、コンポーネントタイプ管理部若しくはフロー管理部のようなその他のアプリケーションを介してアクセスされる。デリバラブルタイプ管理部を使用することにより、設計者は、デリバラブルを作成、削除、或いは、編集できる。
デリバラブルタイプは、名前、作成者、及び、コメントのような特性によって特徴付けられる。デリバラブルを作成する場合、そのデリバラブルのためのフォーマットが選択される。フォーマットは、上述のフォーマット管理機能を使用して管理部によって以前に入力されたそのデリバラブルタイプに対して利用可能なフォーマットのテーブルから選択される。
デリバラブルタイプは、属性によっても特徴付けられる。属性はそのデリバラブルタイプのため利用可能な属性のリストから選択される。例えば、RTLファイルデリバラブルの属性は「ゲート」である。属性は、タイプ「個数」の値をとり、デフォルト値は、10,000でもよい。
〔コンポーネントタイプ機能〕
コンポーネントタイプは、IP又はSoCのような役に立つ設計のタイプを形成するデリバラブルのグループと、そのグループに関する情報として定義される。コンポーネントタイプ機能は、コンポーネントタイプを定義し、それらの特性と、定義タイプのコンポーネントのインスタンスを作成するためのユーザ機能を指定する管理機能を含む。
コンポーネントタイプは、タイプの名前、コメント、及び、作成者情報のような特性をもつ。タイプの作成者は、当該タイプのコンポーネントが保有する属性を定義する。属性には、名前と値が含まれ、値は、値のタイプ(例えば、数若しくは文字列)、デフォルト値、有効な値のリストなど、並びに、属性が当該タイプのあらゆるコンポーネントから要求されているかどうかの指摘、及び、属性の説明によって更に定義される。ユーザは、当該タイプのコンポーネントと関連したデリバラブルを定義する。便宜上、ユーザは、デリバラブルを組にグループ分けすることが許される。組は、処理されている設計のタイプを精緻化するために有用である。
コンポーネントタイプを使用することは、本システムのオブジェクト指向的な局面である。様々なタイプが、バージョニング、アソシエーション、及び、インスタンス化のコンポーネントモデルの異なる局面を作動(オン)させたり、停止(オフ)させたりすることができる。
コンポーネントタイプは、標準規格を作成する能力を高めるので、コンポーネントタイプの下で作成されたコンポーネントは標準規格に準拠する。システムは、コンポーネントタイプを作成する能力を与えることによって、柔軟性(フレキシビリティ)が得られる。このように、システム自体は、標準規格を指定せずに、システム標準規格を作成するためのツールをユーザに提供する。
コンポーネントタイプは階層的に組織化される。例えば、親のコンポーネントタイプの特性を継承するコンポーネントタイプが定義される。
〔フロー機能〕
フロー機能は、コンポーネント及びデリバラブルを作成する作業を制御する設計フローを作成し編集するため使用され、タスク機能によって定義されるようなタスクから構築される。フローは階層的でもよく、すなわち、他のフローに包含されるフローが存在していても構わない。タスクの入力及び出力と、対応したフォーマットは、タスクテンプレートのため定義され、テンプレートがフローテンプレート内でインスタンス化されるときに継承される。これにより、ユーザは、コンポーネントタイプのデリバラブルセットからのフォーマットに基づいてタスクの入力又は出力毎に、デリバラブルを選択できるようになる。ユーザはタスクの入力と出力を接続することができる。
コンポーネントに対するフローが定義された後、設計者は、作業の進捗に応じて、例えば、フローは、実行準備完了、実行準備中、進行中、正常終了、或いは、異常終了のようにフローの状態を指定することができる。異常終了は、全てのタスクが完了したが、出力デリバラブルの一部が発生していない、ということを意味する。
ユーザは、各タスク及びデリバラブルの依存性を示すフローテンプレートのグラフィカル描写を見ることができる。タスクは、概要図又はフローチャートに類似した様式で入力デリバラブル及び出力デリバラブルを表すことによって、他のタスクへの依存性を表示するグラフィカル・アイコンを用いて表される。タスクに対する必須の入力デリバラブルが準備され、デリバラブル・バージョニング・システム(DVS)へ入れられた場合、ユーザは、これらのデリバラブルをプロジェクトディレクトリに入れる。同時に、フローテンプレートは、DVSから出される。
全ての入力デリバラブル及びフローテンプレートが出されたとき、ユーザはタスクを呼び出すことができる。タスクは、フローに関して上述と同じ状態、すなわち、準備中、準備完了、進行中、正常終了、或いは、異常終了の状態をとる。
タスク及びタスクテンプレートは、名前、ランバージョン、及び、このタスクの責任を負うユーザの名前のような特性を含む。タスクテンプレートは、特性として、タスクテンプレートの名前、タスクテンプレートのバージョン、及び、テンプレートの作成者を更に含む。タスク設定メニューは、特定のタスクのための入力デリバラブル及び出力デリバラブルの割当を可能にさせる。例えば、合成タスク用の入力デリバラブルは、RTLファイル、合成スクリプトファイル、及び、制約条件ファイルを含み、一方、出力デリバラブルは、ネットリストを含む。ユーザは、デリバラブルフォーマット若しくはツールを活用することによって異なるデリバラブルを含む多数のタスクを構築することが可能である。
〔クォリフィケーション標準機能〕
クォリフィケーション機能には、クォリフィケーション標準規格を定義する管理機能と、設計者がデリバラブル若しくはコンポーネントのクォリフィケーションを記録するため使用するユーザ機能と、が含まれる。
クォリフィケーションは、典型的に、コンポーネントタイプと関連付けられるが、関連付けなくてもよい。ユーザがコンポーネントタイプのため利用可能なクォリフィケーション標準規格のリストを要求するとき、データベースは、エンタープライズJava(登録商標)ビーンズ(Enterprise Java(登録商標)Beans)を介して問い合わせを受け、階層ツリーモードで表示される。標準規格は、公開しても公開しなくてもよい。公開された標準規格はコンポーネントをクォリファイするため使用できるが、非公開標準規格は使用できない。標準規格は削除してもよいが、公開から非公開に変更することはできない。コンポーネントは、コンポーネント管理機能を使用して、標準規格の新しいバージョンに限定してもよい。標準規格の2世代以上のバージョンが公開されてもよく、設計マネージャは、特定のコンポーネントをクォリファイするため、公開された標準規格の中でどのバージョンを使用するかを指定しなければならない。標準規格は、標準規格の名前及び説明を含む特性によって特徴付けられる。標準規格は、α、β、又は、プロダクションのようなクォリフィケーションレベルをもつように定義してもよい。
クォリフィケーション機能は、設計者が自分のコンポーネントを標準規格に適格とするために回答しなければならない質問のリストを、管理者が構築できるようにする質問構築機能を含む。質問は、識別子、質問テキスト、クォリファイするために正しい回答、質問が適用されるレベル、及び、質問に対するある種の制限、質問を適用できない事情によって特徴付けられる。オプション的な検索機能は、標準規格管理者が他のクォリフィケーション標準規格から質問を見つけ、コピーできるようにさせる。
設計者は、システム内のコンポーネントを特定のバージョンの標準規格に適合させるため、クォリフィケーション・ユーザ・ツールを使用する。コンポーネントタイプは、選択されたコンポーネントタイプを編成するデリバラブルの階層ツリーと共に表示される。ユーザは、各々のデリバラブルに関するクォリフィケーション質問に回答する。例えば、RTLコードデリバラブルを有するコンポーネントタイプSoCの場合、クォリフィケーション質問は、「ソースはエラーなしでコンパイルされましたか?」である。クォリフィケーション質問は、デリバラブルではなく、タスクについての問い合わせでもよい。
〔コンポーネントツール機能〕
コンポーネントツールは、ユーザがコンポーネントに関する情報を編集できるようにさせる。コンポーネントに含まれる情報は、例えば、名前、タイプ、説明、並びに、作成情報及び変更情報のような履歴情報である。コンポーネントは属性に関連付けられる。「ゲートクロック」のようなある種の属性は、フラグ型であり、その属性がコンポーネントに適用されるかどうかを示すチェックボックスを有する。「ピンアウト」のような別の属性は、選択型であり、ユーザは適切な値を選択するためメニューをプルダウンする。他の属性は、値型であり、ユーザは数値を入力する。値型の属性は、単位管理者によって指定されたミクロン或いはメガヘルツのような単位で記述される。
ユーザは、コンポーネントへの相対的なアクセス度を様々なユーザ若しくはチームに付与する。例えば、あるユーザは、ファイルに読み書きする許可が与えられ、他のユーザに許可を与えることができる管理上の特権が与えられる。許可は、ユーザ又はチームに付与され、チームのメンバーはそのチームの許可を継承する。
コンポーネント機能は、新しいバージョンのコンポーネントの作成と、旧いバージョンの除去とを可能にさせる。改定は、通常、連続的な番号が与えられ、小規模の改定には小数が使用される。
コンポーネントバージョンツール・デリバラブル・メニューは、既存のデリバラブルを提示する。デリバラブルは、デリバラブル・バージョニング・システム(DVS)を使用して作成される。コンポーネントと関連付けられた各デリバラブルは、デリバラブル名とデリバラブルバージョンをもつ。新バージョンのコンポーネントを作成するとき、ユーザは、新しい改定版と共に使用するため既存のデリバラブルを選択可能である。ユーザは、以前に定義されたデリバラブルの組を指定してもよい。例えば、フロント・エンド・デリバラブルの組は、RTLソース、テストベクトル、仕様書、テストベンチ、シミュレーションなどを含む。ユーザは、コンポーネントの多数のバージョンで同じデリバラブルを使用することが可能であるが、ユーザは異なるコンポーネントで同じデリバラブルを使用することはできない。異なるコンポーネントでデリバラブルを使用するためには、ユーザは、固有の識別情報をもつ第2のデリバラブルを作成するために、デリバラブルをコピーする必要がある。
ユーザは、コンポーネントバージョンに収容するため特定の改定レベルのサブコンポーネントを選択してもよい。ユーザは、組み込まれるべき特定のコンポーネントを検索することができる。ユーザは、コンポーネントバージョンに対応させるため設計フローバージョンを選択することも可能である。
〔通信機能〕
本発明の一部の実施例には、設計チームのメンバー間の通信用の通信システムが含まれる。通信システムは、組織が結束した設計環境を得るため協調した通信を行えるようにする。設計者は、設計イベントに関する企業内通信を構成し、維持し、受け取ることができる。設計イベントとは、システム内のユーザによって行われたある種の行動の結果としての設計に関するイベントである。リポジトリへの新しい設計の公開、又は、発見されたバグのような設計イベントは、影響を受ける他の設計者への通信をトリガーする。典型的な設計イベントは、コンポーネントのための「新クォリフィケーションレベル到達」である。ユーザは、自分が関心を持っているイベントに加入することによって、このようなイベントが発生したとき、自分に通知するようにシステムを設定することができる。ユーザは、ある種のイベントが公開されるか、又は、他のユーザへ自動的に送信されるように指定することも可能である。ユーザは、加入済みメッセージ及び公開メッセージを受信し、再検討するため、個人用受信トレイが与えられている。また、システムの全ユーザへ送信されたメッセージを閲覧することができる公開受信トレイも存在する。
通信システムは、通信管理部と、通信セットアップと、通信受信トレイの三つのサブアプリケーションを含む。通信管理部は、管理者が通信環境全体を設定できるようにする。通信セットアップは、各ユーザがイベント若しくはプロファイルに基づいてメッセージを予約、公開できるようにする。通信プロファイルは、各ユーザが、申込又は公開のためある頻度で使用される特性を設定し、それらを再利用できるようにする。通信個人受信トレイは、ユーザが、ユーザの申し込んだ設計イベント、又は、コンポーネント所有者によって公開されて設計イベントによってトリガーされたメッセージを読むことを可能にさせる。また、通信公開受信トレイは、全てのグローバルシステムメッセージを表示する。
〔課題追跡機能〕
課題追跡システムの目的は、組織が、コンポーネントに関する問題、或いは、場合によってはデリバラブルシステムに関する問題などの種々の設計問題を報告し、この設計課題を解決するため行われる後続のステップを記録できるようにすることである。これらの課題は、一般設計コミュニティに報告される必要があり、他のユーザがその課題を解決するため助けることを要求する。システム内で、「課題」は、品質、機能性、製造価値、或いは、再利用性に影響を与える設計データにおける何らかの矛盾であり、他のユーザへの報告及び解決が求められる。ある課題に関して追跡記録される情報には、影響される対象のタイプ、すなわち、課題は、コンポーネント、ツール、フローなどのどのタイプの対象に影響を与えるかという情報、コンポーネントのタイプ、名前及びバージョン、デリバラブル及びそのバージョン、課題の簡単な説明を含むタイトル、課題の詳細な説明、課題の優先度レベル、(例えば、ペンディング中、進行中、クローズ中、再オープン中のような)課題の状態、課題を報告した人の名前、課題に責任を担う人、並びに、一般的な注意事項、が含まれる。
課題追跡システムは、課題管理部と課題追跡アプリケーションの二つのアプリケーションを含む。課題管理部は、管理者が課題追跡環境の全体を設定できるようにさせる。課題追跡アプリケーションによって、各ユーザが課題を提出し、他のユーザによって課題が割当てられるようになる。
ユーザは、一般的な注意事項を追加することが可能であるが、状態、優先度、又は、課題タイプを設定できるのは管理者だけである。現在の課題受託者は状態を変更することが可能であり、起案者又は現在の受託者は、課題を再割当することが可能である。履歴は、夫々の課題に関して行われた行動を追跡するため維持される。
〔監査証跡機能〕
監査証跡システムは、組織が共有設計の起源を追跡できるようにする。監査証跡システムによって、設計者は、階層又は系譜のいずれかの観点で起源を追跡することにより、再利用設計内で共通設計要素(例えば、バグ)を検索し、発見できるようになる。設計者は、新しいコンポーネントの作成につながるイベントのシーケンスを再トレースするため設計履歴を閲覧可能である。これを実現するため、監査証跡システムは、設計階層と、設計系譜と、設計進捗と、設計使用法のサブアプリケーションに分割される。設計階層アプリケーションは、ユーザが、所与のコンポーネントでインスタンス化されたのはどのコンポーネントであるか、所与のコンポーネントを構成するコンポーネントはどのコンポーネントであるか、を決定できるようにする。設計系譜アプリケーションによって、ユーザは、所与のコンポーネントの起源、すなわち、所与のコンポーネントはどのコンポーネントに基づいているか、或いは、どのコンポーネントからコピーされたか、並びに、新しいコンポーネントはどのコンポーネントに基づいているか、或いは、どのコンポーネントからコピーされたか、を決定できる。設計進捗アプリケーションは、所与のコンポーネントとそのサブコンポーネントに関する設計進捗の状態及びクォリフィケーションレベルを追跡するため使用される。また、ユーザは、ユーザの指定した検索条件に基づいて、多数のコンポーネントに対する設計進捗を取得可能である。設計使用法アプリケーションは、ユーザが所与のコンポーネントを使用する人を追跡できるようにする。この所与のコンポーネントには、全てのコピー及び調査されたコンポーネント、並びに、インスタンス化されたコンポーネントが含まれる。システム内の他のアプリケーションと同様に、監査証跡アプリケーションは、データベースリポジトリとの通信のため、エンタープライズJava(登録商標)ビーンズを大量使用する。
図1は、本発明の実施例を具体化するシステムを例示するブロック図である。図1には、設計者がユーザ・インタフェース・ソフトウェア104を実行するため使用する多数の設計者ワークステーション102を含むシステム100が示されている。システム100は、ユーザ・インタフェース・プログラム108を実行する管理者ワークステーション106を更に含む。設計者及び管理者には役割があり、同一個人が設計者と管理者の両方の役割を果たしてもよく、管理者ワークステーション106は、設計者ワークステーション102と実際には同一のコンピュータでも構わない。ユーザ・インタフェース・プログラム(ソフトウェア)104及び108は、ネットワーク116を介して通信を行い、アプリケーション・サーバー120のアプリケーション・プログラミング・インタフェース(API)118の機能を呼び出す。API機能は、ネットワーク130を経由してメタデータデータベース132へアクセスするため、エンタープライズJava(登録商標)ビーンズ(EJBs)を使用する。メタデータデータベース132は、コンポーネントの特定のバージョンのようなインスタンス化オブジェクト136に関するデータと、オブジェクトのインスタンス化を構造化し制約する抽象コンポーネントタイプ及びフローテンプレートを定義するデータのような標準化データ140と、を格納する。システム100は、デリバラブル、ファイル152を格納する保管(vault)サーバー150を更に有する。保管サーバーに格納されたファイルは、データベースに関連したメタデータを有する。メタデータは、ファイルバージョン及びバージョン情報毎に固有の識別子を含む。デリバラブルは、保管サーバーに保持されたファイルを収容するデータベースに格納されたオブジェクトを表す抽象概念である。
図2は、本発明の実施例によるメモリ用のコンポーネントタイプの一例の説明図である。図2に示されるように、メモリコンポーネントタイプ202は、デリバラブル212と属性214とを含む。メモリコンポーネントタイプ202用のデリバラブル212は、設計文書204と、ユーザガイド文書206と、レジスタ・トランスファー・レベル(RTL)ソースコード208と、テストベクトル210と、を含む。メモリコンポーネントタイプ202用の属性214は、物理サイズ216、速度218及び記憶スペース220を含む。したがって、メモリコンポーネントタイプ208のコンポーネントが作成されるか、データベースに記憶するためインスタンス化されるとき、コンポーネントは、図2に示されるように、リスト化されたデリバラブル及び属性を含む。図2に示されたデリバラブル及び属性は、例示であり、限定のためではなく、本発明の実施例に従って、その他のデリバラブル及び属性を様々なコンポーネントタイプに組み込むことが可能である。
図3は、本発明の好ましい一実施例のステップを説明するフローチャートである。ステップ302では、コンポーネントタイプが定義される。上述の通り、コンポーネントタイプは、そのコンポーネントタイプのコンポーネントバージョンのインスタンス化のため属性及びデリバラブルを指定する。コンポーネントタイプ及びデリバラブルタイプのようなタイプは、設計者ではなく、管理者によって作成される。勿論、個別のユーザは、設計者の役割と管理者の役割の両方で機能してもよい。
ステップ304において、一つ以上のデリバラブルタイプが定義される。上述のように、デリバラブルタイプは、典型的に、デリバラブルと、デリバラブルの要求属性のためのフォーマットを指定する。デリバラブルタイプは、管理者の役割のユーザによって作成される。ステップ308において、クォリフィケーション標準規格がコンポーネントタイプのため定義される。上述の通り、クォリフィケーション標準規格はコンポーネントタイプと関連付けられ、クォリフィケーション標準規格はバージョン制御される。
ステップ310において、第1のコンポーネントタイプをもつ無バージョンのコンポーネントが作成される。無バージョンのコンポーネントは、コンポーネントの全てのバージョンに対して同一であり、継承された特性を定義するため便利である。ステップ322において、このコンポーネントタイプのコンポーネントバージョンが作成される。ステップ324において、コンポーネントバージョンに関連付けられたデリバラブルが作成され、見つけられ、購入され、保管サーバーに格納される。ステップ330において、コンポーネントバージョンは、クォリフィケーション標準規格を使用してクォリファイされる。ステップ336において、コンポーネントは、適切なレベルで適格であることが判明した場合、コンポーネントは、製品若しくは他の設計で自由に使用することが可能である。なお、コンポーネントは、それ自体で、SoCのような最終製品でもよく、或いは、コンポーネントは他の設計に組み込んでもよい。ステップ340において、コンポーネントは製品として生産される。ステップ342では、コンポーネントバージョンが、同じコンポーネントタイプ、若しくは、他の第2のコンポーネントタイプをもつ第2のコンポーネントバージョンの階層に組み込まれる。
ステップ336において、コンポーネントバージョンは適格ではないと判明した場合、そのコンポーネントバージョンのデリバラブルは、コンポーネントバージョンが適格となるまで変更される。デリバラブルに重大な変更が加えられた場合、設計者は、ステップ322から再開して、コンポーネントの変更を追跡する能力を高めるため、新しいコンポーネントバージョンを作成する。図3は、単純化されたフローを表しており、上述の多数のオプションは、このフローチャートには描かれていない。例えば、コンポーネントに対するクォリフィケーション(資格審査)には多数のレベルが存在し、各コンポーネントバージョンは、他のコンポーネントバージョンに組み込むことができるようになるまでに幾つかのレベルを進む。
コンポーネントの集積化のための好ましいツールは、1999年6月14日に出願され、発明の名称が”再利用可能IPのためのソケットベースド設計方法及び装置(Method and Apparatus for Socket-Based Design for Reusable IP)”である係属中の米国仮特許出願第60/139,146号、及び、2000年3月31日に出願され、発明の名称が”再利用可能IPのためのソケットベースド設計方法及び装置(Method and Apparatus for Socket-Based Design for Reusable IP)”である米国特許出願第09/540,784号、に詳述され、これらの文献は参考のためここに引用される。
上述の通り、本発明の実施例は、IP(設計資産)設計再利用のためのデータ・デリバラブル中心の方法論を提供する。更に、本発明の実施例は、IPデリバラブルを使用するため、IPコンシューマ用のシステム及び機構を提供する。本発明の実施例は、電子IP及びSoC設計に関して記述されている。しかし、本発明の実施例はこれらに限定されるものではなく、このような実施例は他の分野でも具体化することが可能である。例えば、本発明の実施例は、ソフトウェアコンポーネントにおいて具体化される。
本発明は、回路設計の環境に関して説明されているが、本発明は、実際には、回路設計以外の多数の分野で使用される知識管理用のシステムである。
本発明と本発明の効果は、詳細に説明されているが、多数の変更、置換、及び、代替は、特許請求の範囲に記載されているような発明の精神及び範囲を逸脱することなくなし得ることが認められよう。さらに、本発明の範囲は、明細書中で説明されたプロセス、装置、製造、事物の組み合わせ、手段、方法、及び、ステップの特定の実施例に限定されることを意図していない。当業者は、本発明の開示から、明細書に記載された対応した実施例と実質的に同じ機能を実行し、実質的に同じ結果を達成する、既存の、又は、後で開発される、プロセス、装置、製造、事物の組み合わせ、手段、方法、及び、ステップが本発明にしたがって利用できることが容易に理解されるであろう。以上の通り、特許請求の範囲に記載された事項は、このようなプロセス、装置、製造、事物の組み合わせ、手段、方法、及び、ステップを包含することが意図されている。
以下、本発明により教示される手段を例示的に列挙する。
(1) 再利用可能な設計コンポーネントを使用して集積回路を設計するコンピュータ組込み型のシステムであって、
様々なタイプの再利用可能コンポーネントに対応する多数のコンポーネントタイプ定義項目が設けられ、
コンポーネントタイプ定義項目はコンポーネントタイプと関連付けられた属性を含み、
各々が一つのコンポーネントタイプである多数のコンポーネントと、
多数のコンポーネントの各々に対する多数のコンポーネントバージョンと、
が設けられ、
各コンポーネントバージョンは一つのコンポーネントであり、
少なくとも一つのコンポーネントバージョンは、メタデータ及びデリバラブルバージョンを含み、
メタデータは、コンポーネントの種々のバージョンを追跡するコンポーネントバージョン番号、及び、コンポーネントの属性を記述する属性値を含み、
デリバラブルバージョンは、共通機能を実行し、デリバラブルバージョン番号によって記述された一つ以上の設計ファイルを含む、
システム。
(2) デリバラブルバージョン番号をコンポーネントバージョン番号に関連付けるメタデータが更に設けられている第1項記載のシステム。
(3) コンポーネントバージョンに対応したメタデータは、デリバラブルファイルが格納されるデータベースとは別のデータベースに格納される、第1項記載のシステム。
(4) ユーザがメタデータデータベースを作成し変更するためにデータベースへアクセスする際に用いられるアプリケーション・サーバーが更に設けられている第3項記載のシステム。
(5) デリバラブルの様々なタイプと対応する多数のデリバラブルタイプ定義項目が更に設けられている第1項記載のシステム。
(6) 少なくとも一つのデリバラブルタイプはクォリフィケーション要求項目と関連付けられ、
クォリフィケーション要求項目には、当該デリバラブルタイプのデリバラブルバージョンがクォリフィケーションレベルに適格であるための要求項目が定義されている、
第5項記載のシステム。
(7) 少なくとも一つのデリバラブルタイプは、多数の関連付けられたクォリフィケーション要求項目を含み、
クォリフィケーション要求項目には、当該デリバラブルタイプのデリバラブルバージョンが多数のクォリフィケーションレベルに適格であるための要求項目が定義されている、
第6項記載のシステム。
(8) コンポーネントタイプと関連付けられた設計フローテンプレートが更に設けられ、
設計フローテンプレートは当該コンポーネントタイプのコンポーネントを設計する設計タスクを指定する、
第1項記載のシステム。
(9) 設計フローテンプレートのインスタンス化であり、コンポーネントバージョンに対応している設計フローバージョンが更に設けられている第8項記載のシステム。
(10) コンポーネントバージョンと連結された設計問題を追跡する情報が更に設けられ、
当該情報は、各設計問題を解決する責任を負う人と、各設計問題を解決するために行われる、又は、行われるべきステップと、を含む、
第1項記載のシステム。
(11) 少なくとも一つのコンポーネントバージョンは、第2のコンポーネントタイプをもつ第2のコンポーネントバージョンをインスタンス化し、
第2のコンポーネントバージョンは少なくとも一つの第2のデリバラブルバージョンを含む、
第1項記載のシステム。
(12) コンポーネントタイプはシステムオンチップに対応する、第11項記載のシステム。
(13) 第2のコンポーネントタイプは再利用可能な設計ブロックに対応している、第12項記載のシステム。
(14) ユーザ名項目が更に設けられ、
ユーザ名項目の少なくとも一部はチームにグループ分けされている、
第1項記載のシステム。
(15) ユーザ及びチームは、コンポーネントを作成、閲覧、又は、変更するため、並びに、他のユーザに対してコンポーネントを作成、閲覧、又は、変更する権限を付与するため、選択的に制御可能なアクセス権限が与えられている、第14項記載のシステム。
(16) ユーザ及びチームは、コンポーネントバージョンを作成、閲覧、又は、変更するため、並びに、他のユーザに対してコンポーネントバージョンを作成、閲覧、又は、変更する権限を付与するため、選択的に制御可能なアクセス権限が与えられている、第14項記載のシステム。
(17) コンポーネントバージョンを作成、閲覧、又は、変更するため、並びに、他のユーザに対してコンポーネントバージョンを作成、閲覧、又は、変更する権限を付与するためのアクセス権限は、チームから当該チームのメンバーへ継承される、第16項記載のシステム。
(18) ユーザが関心のある設計イベントのタイプを指定することができ、ユーザは当該タイプの設計イベントの出現を自動的に通知されるか、又は、ユーザが設計イベントの出現を他のユーザへ通知させるように指定することができる、通信システムが更に設けられた第1項記載のシステム。
(19) 設計イベントはコンポーネントバージョンのクォリフィケーションである、第18項記載のシステム。
(20) 通信システムは、一般に関心がもたれている情報を受信するための公開メール受信トレイと、個別のユーザが要求したイベント情報、又は、別の個別のユーザが当該個別のユーザへ送信されることを要求したイベント情報を受信するため当該個別のユーザに関連付けられた個人メール受信トレイと、を含む、第18項記載のシステム。
(21) 共有設計情報を追跡することができるように系譜及び履歴情報を含み、コンポーネントバージョンの由来を記述する、メタデータが更に設けられた第1項記載のシステム。
(22) 集積回路を設計する方法であって、
デリバラブルタイプを定義し、
第1のコンポーネントタイプのコンポーネントに関連付けられた属性及び一部のデリバラブルタイプを指定して第1のコンポーネントタイプを定義し、
第1のコンポーネントタイプと関連付けられたクォリフィケーション標準規格を定義し、
デリバラブルタイプと関連付けられたクォリフィケーション質問を定義し、
第1のコンポーネントタイプの第1のコンポーネントを作成し、
第1のコンポーネントの第1のコンポーネントバージョンを作成し、
第1のコンポーネントタイプと関連付けられたデリバラブルタイプのデリバラブルバージョンを作成し、
デリバラブルバージョンの適格性を審査し、
第1のコンポーネントバージョンの適格性を審査する、
方法。
(23) 第2のコンポーネントのコンポーネントと関連付けられる属性及び一部のデリバラブルタイプを指定して第2のコンポーネントタイプを更に定義し、
第2のコンポーネントタイプと関連付けられたクォリフィケーション標準規格を定義し、
第2のコンポーネントタイプの第2のコンポーネントバージョンを作成し、
第2のコンポーネントバージョンの一部として第1のコンポーネントバージョンをインスタンス化し、これにより、第1のコンポーネントバージョンを再利用する、
第22項記載の方法。
(24) 第1のコンポーネント階層を記述する第2のコンポーネントと関連した情報を維持する、第23項記載の方法。
(25) デリバラブルタイプのデリバラブルバージョンを作成することに関連付けられたタスクリストを含むフローを作成し、
タスクリストは各タスクの要求された入力及び出力を表し、
各入力及び出力はデリバラブルタイプと関連付けられている、
第22項記載の方法。
本発明の実施例を具体化するシステムを例示するブロック図である。 本発明の実施例によるメモリ用のコンポーネントタイプのテーブルの説明図である。 本発明尾実施例による命令のセットが格納された機械読み取り可能な媒体を含むコンピュータシステムの説明図である。

Claims (1)

  1. コンポーネントを含む設計資産を異なる回路設計の間で共有する、コンピュータシステムで使用されるオブジェクト指向方法であって、
    前記コンピュータシステムは、1つ以上のコンピュータワークステーションと、該コンピュータワークステーションにネットワークを介して接続された保管サーバ及びメタデータデータベースとを有し、当該方法は、
    (a)コンピュータワークステーションのユーザインターフェースを使って、コンピュータの人的オペレータにより、コンポーネントを用意するステップであって、
    前記コンポーネントは、所定のコンポーネントタイプの内の何れかのタイプに該当し、設計ファイル及びメタデータにより指定され、
    前記設計ファイルは、該タイプの回路要素の物理的設計内容を規定する文書を少なくとも含み、
    前記メタデータは、前記コンポーネントの検索に使用される属性名を少なくとも含み、該属性名は所定のリストの中から選択され、
    前記設計ファイルは前記保管サーバに格納され、前記メタデータは前記メタデータデータベースに格納される、ステップと、
    (b)システム管理者が作成した質問リストの各質問に前記人的オペレータが回答することで、第1の回路設計に使用されたコンポーネントが、該コンポーネントのタイプに共通の適格性基準に合致しているか否かを判定し、合致していた場合、該コンポーネントは前記コンピュータシステムで再利用可能である、ステップと、
    (c)コンピュータワークステーションのユーザインターフェースを使って、前記第1の回路設計と少なくとも一部が異なる第2の回路設計を行う人的オペレータが、前記メタデータとともにコンポーネントを検索するステップと、
    (d)前記第1の回路設計に使用され且つ前記検索するステップで発見されたコンポーネントを、前記第2の回路設計に使用するステップと、
    を有するオブジェクト指向方法。
JP2007102753A 2000-06-21 2007-04-10 オブジェクト指向方法 Expired - Lifetime JP4570638B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US21320700P 2000-06-21 2000-06-21

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2002503695A Division JP2003536163A (ja) 2000-06-21 2001-06-21 集積回路設計における設計資産の再利用システム

Publications (2)

Publication Number Publication Date
JP2007226824A JP2007226824A (ja) 2007-09-06
JP4570638B2 true JP4570638B2 (ja) 2010-10-27

Family

ID=22794152

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2002503695A Pending JP2003536163A (ja) 2000-06-21 2001-06-21 集積回路設計における設計資産の再利用システム
JP2007102753A Expired - Lifetime JP4570638B2 (ja) 2000-06-21 2007-04-10 オブジェクト指向方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2002503695A Pending JP2003536163A (ja) 2000-06-21 2001-06-21 集積回路設計における設計資産の再利用システム

Country Status (5)

Country Link
US (1) US6961918B2 (ja)
EP (1) EP1295212A4 (ja)
JP (2) JP2003536163A (ja)
AU (1) AU2001272987A1 (ja)
WO (1) WO2001098921A1 (ja)

Families Citing this family (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2001296576A1 (en) * 2000-10-04 2002-04-15 Siemens Energy And Automation, Inc. Manufacturing system software version management
US20030009730A1 (en) * 2001-06-16 2003-01-09 Chen Michael Y. Enhanced platform based SOC design including exended peripheral selection and automated IP customization facilitation
US6757882B2 (en) * 2001-06-16 2004-06-29 Michael Y. Chen Self-describing IP package for enhanced platform based SOC design
US20030005396A1 (en) * 2001-06-16 2003-01-02 Chen Michael Y. Phase and generator based SOC design and/or verification
JP2003316838A (ja) 2002-04-19 2003-11-07 Nec Electronics Corp システムlsiの設計方法及びこれを記憶した記録媒体
US7539680B2 (en) * 2002-05-10 2009-05-26 Lsi Corporation Revision control for database of evolved design
JP3862652B2 (ja) 2002-12-10 2006-12-27 キヤノン株式会社 印刷制御方法及び情報処理装置
US7822826B1 (en) 2003-12-30 2010-10-26 Sap Ag Deployment of a web service
US7941521B1 (en) 2003-12-30 2011-05-10 Sap Ag Multi-service management architecture employed within a clustered node configuration
US7895580B1 (en) 2003-12-30 2011-02-22 Sap Ag Application tracing service employing different levels of precision for modifying bytecode
US7756968B1 (en) 2003-12-30 2010-07-13 Sap Ag Method and system for employing a hierarchical monitor tree for monitoring system resources in a data processing environment
US7426723B1 (en) 2003-12-30 2008-09-16 Sap Ag Classfile conversion into an organization of objects, and modification thereof, to effect bytecode modification
US7367025B1 (en) 2003-12-30 2008-04-29 Sap Ag Byte code modification for testing, debugging and/or monitoring of virtual machine based software
US7644395B1 (en) 2003-12-30 2010-01-05 Sap Ag System and method employing bytecode modification techniques for tracing services within an application server
US7725572B1 (en) 2003-12-30 2010-05-25 Sap Ag Notification architecture and method employed within a clustered node configuration
US7836438B1 (en) 2003-12-30 2010-11-16 Sap Ag Modified classfile registration with a dispatch unit that is responsible for dispatching invocations during runtime execution of modified bytecode
US7506315B1 (en) * 2003-12-30 2009-03-17 Sap Ag System and method combining application tracing and distributed statistical records
US7743367B1 (en) 2003-12-30 2010-06-22 Sap Ag Registration method for supporting bytecode modification
US7707557B1 (en) 2003-12-30 2010-04-27 Sap Ag Execution of modified byte code for debugging, testing and/or monitoring of object oriented software
US20050216585A1 (en) * 2004-03-26 2005-09-29 Tsvetelina Todorova Monitor viewer for an enterprise network monitoring system
US7526550B2 (en) 2004-03-26 2009-04-28 Sap Ag Unified logging service with a log viewer
US7721266B2 (en) 2004-03-26 2010-05-18 Sap Ag Unified logging service with a logging formatter
US7797661B2 (en) * 2004-09-03 2010-09-14 Abb Research Ag Method and apparatus for describing and managing properties of a transformer coil
US7263672B2 (en) * 2004-09-03 2007-08-28 Abb Research Ltd. Methods, systems, and data models for describing an electrical device
JP4570933B2 (ja) * 2004-11-01 2010-10-27 富士通セミコンダクター株式会社 マクロ提供システム
US20060190111A1 (en) * 2005-02-03 2006-08-24 Wang Beniz System and method of designing a product or a module therein based on experiences of modular designs accumulated previously
US7810075B2 (en) * 2005-04-29 2010-10-05 Sap Ag Common trace files
US7721241B2 (en) * 2005-07-29 2010-05-18 Abb Research Ltd. Automated method and tool for documenting a transformer design
US8521736B2 (en) * 2005-10-26 2013-08-27 Dassault Systemes Enovia Corp. Managing hierarchies of components
US8516418B2 (en) * 2006-06-30 2013-08-20 Oracle America, Inc. Application of a relational database in integrated circuit design
JP4979414B2 (ja) 2007-02-28 2012-07-18 インターナショナル・ビジネス・マシーンズ・コーポレーション 複数ロケール混在環境におけるプロビジョニング用の管理サーバ、コンピュータプロブラム、及び方法
WO2009055589A1 (en) * 2007-10-23 2009-04-30 Dfmsim, Inc. Process simulation framework
US8266571B2 (en) 2008-06-10 2012-09-11 Oasis Tooling, Inc. Methods and devices for independent evaluation of cell integrity, changes and origin in chip design for production workflow
US8655950B2 (en) * 2008-08-06 2014-02-18 International Business Machines Corporation Contextual awareness in real time collaborative activity alerts
TW201027378A (en) * 2009-01-08 2010-07-16 Realtek Semiconductor Corp Virtual platform and related simulation method
US20100235803A1 (en) * 2009-03-16 2010-09-16 Lara Gramark Method and Apparatus for Automatically Connecting Component Interfaces in a Model Description
US8589877B2 (en) 2009-10-07 2013-11-19 International Business Machines Corporation Modeling and linking documents for packaged software application configuration
US8234570B2 (en) * 2009-10-26 2012-07-31 International Business Machines Corporation Harvesting assets for packaged software application configuration
US20110167070A1 (en) * 2010-01-06 2011-07-07 International Business Machines Corporation Reusing assets for packaged software application configuration
US8417798B2 (en) 2010-05-11 2013-04-09 International Business Machines Corporation Deploying artifacts for packaged software application in cloud computing environment
US8612931B2 (en) 2010-07-14 2013-12-17 International Business Machines Corporation Interactive blueprinting for packaged applications
US8554721B2 (en) * 2010-08-10 2013-10-08 Sap Ag (Th) Systems and methods for replicating values from multiple interface elements
US8890143B2 (en) 2010-09-22 2014-11-18 Qualcomm Incorporated Method to optimize and reduce integrated circuit, package design, and verification cycle time
US8666850B2 (en) * 2011-06-03 2014-03-04 Freescale Semiconductor, Inc. Systems and methods for tracking intellectual property
WO2012170939A2 (en) 2011-06-10 2012-12-13 Oasis Tooling, Inc. Identifying hierarchical chip design intellectual property through digests
KR101838649B1 (ko) * 2012-01-19 2018-03-14 한국전자통신연구원 반도체 칩 설계 방법 및 장치
JP6668182B2 (ja) * 2016-06-30 2020-03-18 株式会社日立製作所 回路設計装置及びそれを用いた回路設計方法
US11270053B2 (en) 2016-07-08 2022-03-08 efabless corporation Systems and methods for assembling and developing an SoC efficiently using templates and designer input data
US11062073B2 (en) 2016-12-23 2021-07-13 Google Llc Integrated circuit design system and method
US10922463B1 (en) * 2019-10-20 2021-02-16 Xilinx, Inc. User dialog-based automated system design for programmable integrated circuits
CN116756082B (zh) * 2023-08-16 2023-10-27 沐曦集成电路(上海)有限公司 一种可配置的功能模块文件的生成方法及系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6134539A (en) 1998-12-22 2000-10-17 Ac Properties B.V. System, method and article of manufacture for a goal based education and reporting system
US6519571B1 (en) * 1999-05-27 2003-02-11 Accenture Llp Dynamic customer profile management
US6721713B1 (en) * 1999-05-27 2004-04-13 Andersen Consulting Llp Business alliance identification in a web architecture framework
US6606744B1 (en) * 1999-11-22 2003-08-12 Accenture, Llp Providing collaborative installation management in a network-based supply chain environment

Also Published As

Publication number Publication date
US20020019730A1 (en) 2002-02-14
JP2003536163A (ja) 2003-12-02
WO2001098921A1 (en) 2001-12-27
JP2007226824A (ja) 2007-09-06
US6961918B2 (en) 2005-11-01
EP1295212A1 (en) 2003-03-26
EP1295212A4 (en) 2007-02-28
AU2001272987A1 (en) 2002-01-02

Similar Documents

Publication Publication Date Title
JP4570638B2 (ja) オブジェクト指向方法
US6634008B1 (en) Methodology server based integrated circuit design
CN102902839B (zh) 管理集成电路设计的装置和方法
US20070240102A1 (en) Software development tool for sharing test and deployment assets
Milicev Automatic model transformations using extended UML object diagrams in modeling environments
US20040225972A1 (en) Automation of the development, testing, and release of a flow framework and methodology to design integrated circuits
Dong et al. Managing design information in enterprise-wide CAD usingsmart drawings'
Rose Visual assessment of engineering processes in virtual enterprises
Gomaa et al. A prototype domain modeling environment for reusable software architectures
Cleetus Modeling evolving product data for concurrent engineering
Walderhaug et al. Traceability in model-driven software development
Romano et al. Applying MDA development approach to a Hydrological Project
Li et al. System configuration design of BIM object-oriented database for civil engineering
Pantelelis et al. Mapping CRUD to Events-Towards an object to event-sourcing framework
Schönhoff et al. Global version management for a federated turbine design environment
Carchiolo et al. Object-oriented re-engineering of manufacturing models: A case study
Liljas et al. NHibernate 4. x Cookbook
Kouamou Building a service-oriented ERP from an open source software
Vörg et al. Automation of IP qualification and IP exchange
Kwon et al. SysML-based simulation framework for semiconductor manufacturing
Hagerman et al. Improved tool and data selection in task management
Peles et al. GridPACK: Library Architecture and Usability Assessment
Hommik Evaluation of CATIA Team PDM
Hahn OpenAccess: Standard and Practices
Wiederhold et al. Layering an engineering information system.

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080219

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20080512

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20080515

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20080617

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20080620

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080716

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080902

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081226

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20090120

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20090220

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100630

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100810

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130820

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4570638

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term
S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R370 Written measure of declining of transfer procedure

Free format text: JAPANESE INTERMEDIATE CODE: R370