JP2017091532A - 製品ライフサイクル管理(plm)システムからソースコード管理(scm)システムへの階層的なデータのエクスポート - Google Patents

製品ライフサイクル管理(plm)システムからソースコード管理(scm)システムへの階層的なデータのエクスポート Download PDF

Info

Publication number
JP2017091532A
JP2017091532A JP2016217363A JP2016217363A JP2017091532A JP 2017091532 A JP2017091532 A JP 2017091532A JP 2016217363 A JP2016217363 A JP 2016217363A JP 2016217363 A JP2016217363 A JP 2016217363A JP 2017091532 A JP2017091532 A JP 2017091532A
Authority
JP
Japan
Prior art keywords
module
scm
plm
data
version
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.)
Granted
Application number
JP2016217363A
Other languages
English (en)
Other versions
JP6817030B2 (ja
JP2017091532A5 (ja
Inventor
ドビンソン イアン
Dobinson Ian
ドビンソン イアン
ハインズ ピーター
Haynes Peter
ハインズ ピーター
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dassault Systemes Americas Corp
Original Assignee
Dassault Systemes Americas Corp
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 Dassault Systemes Americas Corp filed Critical Dassault Systemes Americas Corp
Publication of JP2017091532A publication Critical patent/JP2017091532A/ja
Publication of JP2017091532A5 publication Critical patent/JP2017091532A5/ja
Application granted granted Critical
Publication of JP6817030B2 publication Critical patent/JP6817030B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06313Resource planning in a project environment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Abstract

【課題】PLMシステムが、PLMシステムにて制御される処理において、モジュールをSCMシステムにエクスポートすることができる方法を提供する。
【解決手段】従来、PLMシステムとSCMシステムとはリンクされていない。実施形態において、コンピュータ方法は、製品ライフサイクル管理(PLM)システムからソースコード管理(SCM)システムにモジュールを転送するというユーザリクエストに応答して、PLMシステムのプロセッサから、モジュールを表すデータ、モジュールのバージョン、およびモジュールの階層的な関係性を、PLMシステムのデータソースから抽出するステップを含む。方法は、モジュール、モジュールのバージョン、モジュールの階層的な関係性を表す抽出されたデータを有するSCMシステムモジュールを作成するステップをさらに含む。
【選択図】図5

Description

関連出願
本出願は、同時に出願された、同一の出願人に譲渡され、本願と同日に出願された、Ian DobinsonおよびPeter Haynesによる米国特許出願明細書「Exporting Hierarchical Data From A Source Code Management(SCM)System To A Product Lifecycle Management(PLM)System」(整理番号4659.1019−000)と、同一の出願人に譲渡され、本願と同日に出願された、Ian Dobinson およびPeter Haynesによる、「Bi−Directional Synchronization Of Data Between A Product Lifecycle Management(PLM)System And A Source Code Management(SCM)System」(整理番号4659.1021−000)と、に関する。
上記出願の教示の全体が、参照としてここに組み込まれる。
ハードウェア開発者は、特に集積回路設計のコミュニティにおいては、一般に、設計のための階層的な開発の手法を適用し、それにおいて、高レベルの製品が下位の製品を参照する、すなわち、下位の製品から作出される。同様に、ソフトウェア開発者は、一般に、再利用可能なソフトウェアのブロックを使用するより高レベルのソフトウェアコンポーネントと共に、階層を使用する。
ソースコード管理(Source Code Management(SCM))システムは、その最も基本的なレベルで、メモリまたはデータベースに記憶されたデータファイルのセットをバージョン管理するための手段を提供し、このことが、それらファイルに対する経時的な変更をトラッキングすることを可能にする。SCMシステムの例は、
a)DesignSync(登録商標)システム、これはダッソーシステムズ社の、欠陥の管理およびコラボレーションについての製品の一部である、
b)公表されて入手可能な並行型の(concurrent)バージョン管理システム(CVS)、
c)公表されて入手可能なGITリビジョン管理システム、
d)商業用サポートにより入手可能な、SubversionシステムおよびPerforceシステム、
がある。
階層的なSCMシステムは、データファイルがパッケージまたはモジュールとして管理されることが可能であるものの1つであり、多数の個別のファイルを含んでもよい。モジュールがさらに、または、パッケージが、他のモジュールまたはパッケージを参照して、データの階層を形成することができる。
製品ライフサイクル管理(Product Lifecycle Management(PLM))システムは、開始から、工学的設計、製造、製造された製品のサービスおよび廃棄までの、製品の全ライフサイクルを管理する処理を提供する。PLMシステムは、人、データ、処理、およびビジネスシステムを統合し、企業およびその拡大される事業のための製品情報のバックボーンを提供する。PLMシステムは、関係性により結合される一連のオブジェクトとして、データを表す。例えば、第1のオブジェクトが、開発中の製品を表すことができ、これは、製品を開発している組織を表す第2のオブジェクトとの関係性を有する。これらのオブジェクトはまた、オブジェクトの異なるリリースを表す、または、オブジェクトの開発状態を表す、リビジョン(またはバージョン)をサポートすることができる(例えば、異なるリビジョンが、チップのバージョン1.0もしくはこのチップの後継の2.0バージョンを表すことができ、または、将来のリリースに向けて進行中である作業を表すこともできる)。これらのオブジェクトはまた、同じ型または同様の型のオブジェクトの間の関係性を介して、階層をサポートすることができる。例えば、チップを表すオブジェクトは、そのチップの一部であるCPUモジュールを表すオブジェクトとの関係性を有することができる。ダッソーシステムズ社により、3Dエクスペリエンス(登録商標)プラットフォームというバナーで提供されるアプリケーションが、PLMシステムの例を提供する。
本発明の実施形態において、システムおよび方法は、データブロックの階層的なセットについての記述を、SCMシステムからPLMシステムに渡すためのスキームを提供する。本発明の実施形態において、システムおよび方法は、PLMシステムからSCMシステムに、階層的な設計をサポートするデータを転送する。本発明の実施形態において、システムおよび方法の発明は、データブロックの階層的なセットについての記述を、PLMシステムからSCMシステムに、またはSCMシステムからPLMシステムに、手動または自動的に渡す。
従来、PLMシステムとSCMシステムとは、リンクされていなかった。少なくともいくつかの既知のソリューションが、2つのシステムにおいてデータをリンクする手法を提供し、SCMシステムからPLMシステムにデータを引き込むための限定されたサポートを提供する。しかし、以前の様式は効率的ではなく、機能性が限定され、フローがSCMシステムから制御されることを考慮に入れておらず、データ構造がPLMシステムにおいて定義されて、SCMシステムにプッシュダウンされること、または、本発明の実施形態のように、一方のシステムにおける自動的なデータ更新が、他方のシステムにおいて対応するデータが修正されるのに応じて行われる、ことを考慮していない。
SCMからPLMへ
本発明の実施形態は、階層的な設計をサポートするSCMシステムから、PLMまたは同様のシステムに、データを転送するための手段について記述する。データを渡すことは、SCMシステムからデータを抽出すること、および、階層的な結合と、それらの結合が、サブブロックの特定のリリースであるのか、開発中のバージョンであるのかについての詳細と、を含むポータブルフォーマットにデータを変換すること、を含む。
システムは、そのデータをさらにカスタマイズし、システムの個別の実装が、対象のPLMシステムのオブジェクトにより必要とされるデータを提供できるようになる。そして、システムは、そのデータをPLMシステムに転送する。
システムは、SCMシステムからのデータのブロック、それらのバージョン、およびそれらの階層的な結合、を表すオブジェクトを、PLMシステムにおいて作成する。
システムは、PLMシステムにおいて作成されるデータの型、それらを結合するために使用される関係性、および、SCMシステム上のカスタマイズ機能を介して渡される追加のデータに基づく、PLMシステムにおけるオブジェクト、をさらにカスタマイズする。
そして、システムは、SCMデータオブジェクトと等価な作成されたオブジェクトに関する情報を、SCMシステムに戻して渡すため、この情報は、トラッキングする目的で記憶されることが可能である。
実施形態において、本発明は、SCMシステムにおけるデータから、PLMシステムにおける新しいデータを作成する。
本発明の実施形態は、SCMシステムからのデータ転送の初期化および制御を提供する。これは、進歩したカスタマイズ能力および制御の能力を可能にする。システムは、SCMシステムに関するトラッキング情報を記憶するためのスキームをさらに提供する。
SCMシステムは、システムレベルオブジェクトと、それらの階層的な関係性とを定義するデータを管理する。従って、データが、SCMシステムにおいて作成される時に、SCMシステムからPLMシステムに挿入されることは、有利である。既存のソリューションは、本発明の実施形態におけるように、SCMシステムから制御される処理を使用して、PLMシステム内でデータを直接作成する手段を提供しない。
異なるPLMシステムが、個別のオブジェクトについて異なる種類の情報(例えば、プロパティ/属性)、異なるSCMシステム、または特定のSCMシステムの異なる実装、を保持する。PLMシステムは、PLMシステムにおける情報を埋めるために使用されることが可能なデータの異なるセットに対するアクセスを有する。従って、本発明の実施形態において、システムは、データをSCMシステムからPLMシステムに転送するときに、この追加の情報を、統合、生成、および供給することができる。既存のソリューションはさらに、関連付けられた属性のデータおよび設定を作成する、詳細なカスタマイズをサポートしない。
データが一旦PLMシステムに転送されると、SCMは、作成されたオブジェクトへのリンクを維持する。SCMシステムからPLMシステムへのリンクは、SCMシステムがPLMシステムにおける等価のオブジェクトへ直接リンクすることを可能にすることにより、進歩した機能性を有効にすることができる。例えば、SCMシステムは、等価のPLMシステムオブジェクトを、SCMシステムがそのオブジェクトが何であるかを分かっている場合に、直接表示する関数を実装することができる。既存のソリューションは、SCMシステム内にこのトラッキング情報(例えば、ブレッドクラム)の記憶装置を提供しない。
PLMからSCMへ
本発明の実施形態は、データブロックの階層的なセットについての記述を、PLMシステムからSCMシステムに渡すためのスキームである。記述を渡すことは、階層的な結合と、それらの結合が、サブブロックの特定のリリースであるのか、開発中のバージョンであるのかについての詳細と、を含むポータブルフォーマットで、PLMシステムからデータを抽出すること、を含む。システムは、そのデータをさらにカスタマイズし、システムの個別の実装が、対象のSCMシステムにより使用されるデータを提供できるようになる。システムは、そのデータをSCMシステムにさらに転送する。システムは、SCMシステムからのオブジェクト、およびそれらの階層的な結合、を表すコンテナオブジェクトを、SCMシステムにおいてさらに作成する。システムは、PLMシステム上のカスタマイズ機能を介して渡される追加のデータに基づく、SCMシステムにおけるオブジェクトをさらにカスタマイズする。システムはさらに、PLMデータオブジェクトと等価な作成されたオブジェクトに関する情報を、PLMシステムに戻して渡すため、この情報は、トラッキングする目的で記憶されることが可能である。
PLMシステムにおけるデータは、例えば、製品を備えるピースの開発ステータスをトラッキングすること、および、製品を備えるピースのいずれかに対して発見された問題(例えば、欠陥、バグ)をトラッキングすること、などの多くの操作に使用される。
多くの場合において、ロールアップデータが用いられて、製品の全体的なステータスを入手する。例えば、コンピュータチップなど製品は、ランダムアクセスメモリ(RAM)および中央処理装置(CPU)などの複数のコンポーネントから構成されていてもよい。問題がCPUに対して発見され、対応する欠陥が引き起こされると、チップの管理者は、この欠陥が、あるサブコンポーネントに存在し、チップに影響を及ぼすことを提示する、ロールアップレポートを所望する。PLMシステムにおけるデータ、特に、より高レベルの製品による、サブブロックの階層的な結合/使用におけるデータは、従って、システムにおいて正確にトラッキングされる。
PLMシステムは、設計のブロックと、それらの間の階層的な関係性とを定義するためのマスタとして考慮されることができる。すなわち、設計の構造は、PLMシステムにおいて作成され、SCMシステムは、構造を備えるブロックのための個別のデータファイルを管理するために使用される。SCMシステムは、それ自身のオブジェクトを包含して、設計のブロックと、それらの間の階層的な関係性とを表すため、SCMシステムのユーザが、設計を備えるデータの正しいセットをフェッチすること、およびそのデータに対する自分の操作を実行することができる。
本発明の実施形態は、PLMシステムにおいて組み立てられた定義を使用して、SCMシステム内にブロックと、それらの間の結合とを作成する能力を提供する。既存のソリューションは、PLMシステムから制御される処理を使用して、SCMシステム内でデータを直接作成する手段を提供しない。
異なるPLMシステムが、個別のオブジェクトについて異なる種類の情報(例えば、プロパティ/属性)を記憶し、異なるSCMシステムが、PLMシステムにおける情報から定義されるデータの異なるセットを記憶することができる。本発明の実施形態において、PLMシステムからSCMシステムにデータを転送することは、この追加の情報に対処するには十分にフレキシブルである。既存のソリューションは、関連付けられた属性のデータおよび設定を作成する処理の詳細なカスタマイズをサポートしない。
データが一旦SCMシステムに転送されると、PLMシステムは、作成されたオブジェクトへのリンクを維持し、SCMシステムは、PLMシステムにおける等価のソースオブジェクトの知見を持続する。これは、SCMシステムがPLMシステムにおける等価のオブジェクトへ直接リンクすることを可能にすることにより、進歩した機能性を有効にする。例えば、SCMシステムは、等価のPLMシステムオブジェクトを、SCMシステムがそのオブジェクトが何であるかを分かっている場合に、直接表示する関数を実装することができる。既存のソリューションは、SCMシステム内にこのトラッキング情報(すなわち、ブレッドクラム)の記憶装置を提供しない。本発明の実施形態は、PLMシステムにおけるデータから、SCMシステムにおける新しいデータを作成する。
本発明の実施形態は、以前の利用できるソリューションを以下のことにより向上させる。
a)PLMシステムからのデータ転送の初期化および制御を可能にすること。
b)新しいコンテナオブジェクト(例えば、DesignSyncシステムにおけるモジュール)または既存のオブジェクトの新しい分岐が、PLMシステム情報に基づき、SCMシステムにおいて作成されることを可能にすること。
c)進歩したカスタマイズ能力および制御の能力を提供すること。
d)SCMシステムおよびPLMシステムに関するトラッキング情報を記憶するためのスキームを提供すること。
PLMからSCMへの自動更新、またはSCMからPLMへの自動更新
本発明の実施形態は、データブロックの階層的なセットについての記述を、PLMシステムからSCMシステムに、またはSCMシステムからPLMシステムに、手動または自動的に渡す。システムは、上記に記述されたシステムを用いることにより記述を渡して、一方のシステム上のデータを抽出し、そのデータを他方のシステムに転送する。システムはさらに、前に記述されたシステムに拡張を提供して、対象のシステム上のデータの漸増の更新を可能にする。上記で記述されたシステムに対する拡張はさらに、ユーザが、一方の側のデータで開始する更新を、手動で起動することを可能にする。システムはさらに、自動的に変更を識別し、それらを2つのシステム間で同期させる。
実施形態において、本発明は、PLMシステムまたはSCMシステムのいずれかでの階層的なデータの開発の継続と、そのデータの継続される同期と、を可能にする。実施形態において、本発明はさらに、データが自動的に同期されることを可能にし、従って、期限切れの情報がいずれかのシステムに存在することによる任意の問題を回避する。
実施形態において、システムは、PLMシステムからSCMシステムに、またその逆に、階層的な設計をサポートするデータを転送する。これらの実施形態において、転送は、ユーザにより起動され、システム間のデータの最初のプッシュとすることが意図される。システムは、手動または自動のいずれかで、両システム上でデータを更新し、データを同期する。
階層的なSCMシステムは、データファイルがパッケージまたはモジュールとして管理されることを可能にし、これは多数の個別のファイルを含むことができる。それらのモジュールは、他のモジュールを参照して、データの階層を形成することができる。
SCMシステムは、設計のブロックと、それらの間の階層的な関係性とを表すそれ自身のオブジェクトを記憶するため、SCMシステムのユーザが、設計を備えるデータの正しいセットをフェッチすること、およびそのデータに対する操作を実行することができる。
時と共に、構造の定義は多くの手法で変更してもよい。例えば、製品の設計者は、PLMシステムを使用して、典型的には、設計におけるいくつかの他のグループにより提供される、追加のブロックまたは代替のIPブロック(例えば、モジュール、設計セグメント、または知的財産(IP)のピース)を用いると決定することができる。別の例として、製品の開発者は、SCMシステムを使用して、実装の目的で、ブロックを2つのパーツに分割することを決定することができる。さらに別の例として、設計のサブブロックのうちの1つを開発しているチームが、そのブロックの新しいバージョンをリリースすることができ、親製品においてその新しいバージョンを用いると決定することができる。
変更は、開発中の任意の時に実行されることが可能であり、本発明の実施形態を使用しているときに、PLMシステムまたはSCMシステムのいずれかから起動されることが可能である。変更が、システムの一方のみの構造に対してなされると、チャレンジが起こり得る。例えば、PLMシステムにおいてなされたがSCMシステムにおいてはなされなかった変更は、製品信頼性または機能性に壊滅的な影響を受けた、不良の製品が作られる結果となり得る。別の例として、SCMシステムにおいてなされたがPLMシステムにおいてはなされなかった変更は、問題またはIP使用の間違ったトラッキングをもたらすことになり得る。これは、IPライセンスの問題または課題の正確なトラッキングの欠如、を生じさせ、製品信頼性の問題(既存のバグの知見が無い状態で出荷される製品)をもたらす可能性がある。
既存のソリューションは、手動または自動のいずれでも、一方のシステムにおけるデータを、他方におけるソース定義から漸増的に更新するための手段を提供しない。
実施形態において、コンピュータ方法は、製品ライフサイクル管理(PLM)システムからソースコード管理(SCM)システムにモジュールを転送するというユーザリクエストに応答して、PLMシステムのプロセッサから、モジュール、モジュールのバージョン、およびモジュールの階層的な関係性、を表すデータを、PLMシステムのデータソースから抽出するステップを含む。方法は、モジュール、モジュールのバージョン、モジュールの階層的な関係性を表す抽出されたデータを有するSCMシステムモジュールを作成するステップをさらに含む。
実施形態において、コンピュータ方法は、データモジュール要件と一致するSCMシステムモジュールを作成するために必要な追加の情報を検索することによって、抽出されたデータをカスタマイズしてSCMシステムのデータモジュール要件と一致するようにするステップをさらに含む。SCMシステムモジュールを作成するステップは、カスタマイズされた抽出されたデータを用いることができる。
実施形態において、コンピュータ方法は、PLMシステムのアイデンティティを、SCMシステムの対応するアイデンティティにマッピングするステップを含む。PLMシステムのアイデンティティとSCMシステムの対応するアイデンティティとは、別個の識別子であり、同一のユーザエンティティも表すことができる。
実施形態において、方法は、作成されたSCMシステムモジュールにおいて、PLMシステムのモジュールへのリンクを有するブレッドクラムを提供するステップを含む。方法は、更新リクエストに応答して、ブレッドクラムにアクセスすることにより、作成されたSCMシステムモジュールのバージョンを、PLMシステムのリンクされたモジュールのバージョンと比較するステップを含むこともできる。PLMシステムのモジュールが、より新しいバージョンである場合、方法はまた、SCMシステムモジュールを、PLMシステムのモジュールのより新しいバージョンに更新する。
実施形態において、SCMシステムモジュールを作成するステップは、モジュールの階層的な関係性に対応する複数のPLMシステムモジュールを、SCMシステムのデータソースから作成するステップを含む。
実施形態において、コンピュータシステムは、製品ライフサイクル管理(PLM)システムからソースコード管理(SCM)システムにモジュールを転送するというユーザリクエストに応答して、PLMシステムのプロセッサから、モジュールを表すデータ、モジュールのバージョン、およびモジュールの階層的な関係性を、PLMシステムのデータソースから抽出するように構成される抽出モジュールを含む。実施形態において、作成モジュールは、モジュール、モジュールのバージョン、モジュールの階層的な関係性を表す抽出されたデータを有するSCMシステムモジュールを作成するように構成される。
コンピュータシステムは、データモジュール要件と一致するSCMシステムモジュールを作成するために必要な追加の情報を検索することによって、抽出されたデータをカスタマイズしてSCMシステムのデータモジュール要件と一致するようにするように構成されるカスタマイズモジュールをさらに含む。SCMシステムモジュールを作成することは、カスタマイズされた抽出されたデータを用いることができる。
コンピュータシステムは、PLMシステムのアイデンティティを、SCMシステムの対応するアイデンティティにマッピングするように構成されるマッピングモジュールを含む。PLMシステムのアイデンティティとSCMシステムの対応するアイデンティティとは、別個の識別子であり、同一のユーザエンティティも表すことができる。
実施形態において、システムは、作成されたSCMシステムモジュールにおいて、PLMシステムのモジュールへのリンクを有するブレッドクラムを提供するように構成されるブレッドクラムモジュールを含む。コンピュータシステムはまた、更新リクエストに応答して、ブレッドクラムにアクセスすることにより、作成されたSCMシステムモジュールのバージョンを、PLMシステムのリンクされたモジュールのバージョンと比較するように構成される比較モジュールを含むことができる。PLMシステムのモジュールが、より新しいバージョンである場合、比較モジュールはSCMシステムモジュールを、PLMシステムのモジュールの、より新しいバージョンに更新することができる。
実施形態において、SCMシステムモジュールを作成することは、モジュールの階層的な関係性に対応する複数のPLMシステムモジュールを、SCMシステムのデータソースから作成することを含む。
実施形態において、非一時的コンピュータ可読媒体が、ソースコード管理(SCM)システムモジュールを作成するための命令を記憶するように構成される。命令は、プロセッサによりロードされて実行されるとき、プロセッサに、製品ライフサイクル管理(PLM)システムからソースコード管理(SCM)システムにモジュールを転送するというユーザリクエストに応答して、PLMシステムのプロセッサから、モジュールを表すデータ、モジュールのバージョン、およびモジュールの階層的な関係性を、PLMシステムのデータソースから抽出させる。命令は、プロセッサにさらに、モジュール、モジュールのバージョン、モジュールの階層的な関係性を表す抽出されたデータを有するSCMシステムモジュールを作成させる。
実施形態において、命令が、プロセッサにさらに、データモジュール要件と一致するSCMシステムモジュールを作成するために必要な追加の情報を検索することによって、抽出されたデータをカスタマイズさせSCMシステムのデータモジュール要件と一致するようにする。SCMシステムモジュールを作成することは、カスタマイズされた抽出されたデータを用いることができる。
実施形態において、命令が、プロセッサにさらに、PLMシステムのアイデンティティを、SCMシステムの対応するアイデンティティにマッピングさせる。PLMシステムのアイデンティティとSCMシステムの対応するアイデンティティとは、別個の識別子であり、同一のユーザエンティティも表すことができる。
実施形態において、命令が、プロセッサに、作成されたSCMシステムモジュールにおいて、PLMシステムのモジュールへのリンクを有するブレッドクラムを提供させる。命令が、プロセッサにさらに、更新リクエストに応答して、ブレッドクラムにアクセスすることにより、作成されたSCMシステムモジュールのバージョンを、PLMシステムのリンクされたモジュールのバージョンと比較させることができる。PLMシステムのモジュールが、より新しいバージョンである場合、プロセッサは、SCMシステムモジュールを、PLMシステムのモジュールのより新しいバージョンに更新することができる。
上記の内容は、添付の図面で例示されるように、本発明の実施形態の例についての以下のより具体的な記述から明らかとなるであろう。図面においては、同類の参照符号は異なる図面においても同一部品を指す。図面は必ずしも縮尺どおりではなく、代わりに、本発明の実施形態を説明することに重点が置かれている。
本発明の例示の実施形態を説明するブロック図である。 PLMシステムにおける階層の一例の実施形態を説明するブロック図である。 本発明の実施形態に係る、SCMシステムからPLMシステムにモジュールを送ることを説明するブロック図である。 本発明により用いられる処理の一例の実施形態を説明するフロー図である。 PLMシステムオブジェクトデータを、SCMシステムにインポートする一例の実施形態を説明するブロック図である。 PLMシステムからSCMシステムにデータをインポートするための、本発明により用いられる処理の一例の実施形態を説明するフロー図である。 SCMまたはPLMシステムにおいてインポートされた情報を、他方のシステムにおける対応するモジュールに対する変更の際に、動的に更新する、本発明により用いられる処理の一例の実施形態を説明するフロー図を説明する図である。 本発明の実施形態が実装され得る、コンピュータネットワークまたは同様のデジタル処理環境を説明する図である。 図8のコンピュータシステムにおけるコンピュータ(例えば、クライアントプロセッサ/デバイスまたはサーバコンピュータ)の一例の内部の構造の図である。
本発明の例の実施形態についての記述が後に続く。
図1は、本発明の例示の実施形態を説明するブロック図100である。ユーザ102が、第1の管理システム106と第2の管理システム108とに連結されるインターフェースシステム104を用いる。第1の管理システム106および第2の管理システム108の例は、それぞれSCMまたはPLMのいずれかであってよい。SCMおよびPLMの両方が、モジュールの階層的収集物を用いて、SCMの場合はソースコードソリューションを、PLMの場合は製品を、形成する。多くの状況において、チップなどの、PLMにおける製品が、その設計においてソースコードを必要とする可能性があり、ソースコード設計が、ハードウェアリソースを必要とする可能性がある。従って、第1の管理システム106から第2の管理システム108にモジュールをインポートするためのシステムが、望ましいことになる。
第1の管理システム106および第2の管理システム108は、それぞれのクラウドネットワーク110aから110cおよび114aから114cに選択的に記憶されることが可能な、それぞれのモジュールデータベース112aから112cおよび116aから116cに、連結される。実施形態において、モジュールデータベース112aから112cおよび116aから116cはまた、ローカルに(図示せず)、または単一のリモートサーバ(図示せず)上に、または複数のリモートサーバ(図示せず)上に、記憶されることが可能である。ユーザ102は、インターフェースシステム104を介して、インポートするモジュール118を、第1の管理システム106から第2の管理システム108に送られるように差し向ける。第1の管理システム106は、サポートデータ122を、第2の管理システム108にさらに送る。サポートデータ122は、モジュール118、サポートモジュール、およびモジュールに関するブレッドクラム情報、についての階層情報を含むことができる。
さらに、第1の管理システム106および第2の管理システム108は、一実施形態において、それぞれの自動更新120aから120bをお互いに送ることが可能である。自動更新120aから120bは、インポートされたモジュールが一方のシステム上で修正される際に送られ、その更新は他方のシステム上で必要とされる。自動更新120aから120bは、以下でさらに詳細に記述される。
図2は、PLMシステムにおける階層の一例の実施形態を説明するブロック図200である。例の階層は、チップ202を含み、これは、ランダムアクセスメモリ(RAM)204および中央処理装置(CPU)206の両方に関連する。チップ202は、RAM204およびCPU206の両方との「使用する」関係性を有し、RAM204およびCPU206がチップ202のサブコンポーネントであることを提示する。
PLMシステムにおけるデータは、操作、例えば、製品(例えば、チップ202、RAM204、およびCPU206)を構成するピースの開発ステータスをトラッキングすること、に使用される。PLMはまた、チップ202、RAM204、およびCPU206、などの製品を構成するピースで発見された問題208(例えば、欠陥/バグ)をトラッキングすることが可能である。問題208は、CPU206で発見された課題を提示する。問題208は、問題208の結果、引き起こされた欠陥210を、さらに提示することが可能である。問題208がCPU206と直接関係するため、欠陥210はCPU206とリンクされる。CPU206がチップ202のサブコンポーネントであり、CPU206と関係する欠陥210が、チップ202に影響を及ぼすため、欠陥210は、チップ202との「影響を及ぼす」関係性をさらに有する。
これらの場合の多くにおいて、ロールアップデータが使用されて、製品の全体的なステータスを提供する。例えば、コンピュータチップなど製品は、RAMメモリおよび中央処理装置(CPU)などの複数のコンポーネントから構成されることが可能である。問題がCPUで発見され、欠陥が引き起こされると、チップの管理者は、欠陥がサブコンポーネントに存在し、CPUおよびRAMを持つチップに影響を及ぼすことを提示する、ロールアップレポートを要求してもよい。PLMは、より高レベルの製品による、サブブロックの階層的な結合/使用を含むデータを、正確にトラッキングする。
図3は、本発明の実施形態に係る、SCMシステム301からPLMシステム350にモジュールを送ることを説明するブロック図300である。
SCMシステム301は、グラフィカルユーザインターフェース(GUI)および/またはアプリケーションプログラミングインターフェース(API)に基づくコマンドラインインターフェース(CLI)、を有するインターフェースモジュール302を含む。GUIが提供されて、エンドユーザは、SCMシステム301上の機能性にアクセスして、コードモジュールの特定の階層が、PLMシステム350と同期されることをリクエストする。GUIは、最上レベルのコードモジュールの詳細のユーザ入力が同期されることを可能にし、SCMシステム301からPLMにプッシュされるバージョンの識別を可能にする、フォームを含む。システムは、オブジェクトの複数の異なるバージョンが、同時にまたは同時期に、プッシュされることを可能にする。加えて、フォームは、コードモジュールの階層をプッシュするのか、または、具体的なレベルのみ(例えば、第1のレベルのみ)をプッシュするのか、をユーザが識別すること可能にする。システムはまた、操作を行うことなく、ユーザに階層の操作の詳細を報告することをサポートする、ドライランモードをサポートする。システムは、返された出力の詳細を制御する、報告モードをさらにサポートする。
インターフェースモジュールはまた、例えば、DesignSync(登録商標)の製品によりサポートされるツールコマンド言語(tool command language(TCL))拡張言語を使用して、CLIを提供する。CLIは、GUIフォームを介して指定されることが可能な同一の入力が提供されることが可能な、コマンドラインから成る。
SCMシステム301はまた、PLMシステム350と同期されるデータモジュールの階層に関する情報を抽出する、階層サービスモジュール304を含む。一例の実施形態において、階層サービスモジュール304は、例えば、SCMシステム301のshowhref関数を用いて、処理のためにPLMシステム350に渡される、XML形式の構造を作成する。階層サービスモジュール304は、その作成された構造をPLMシステム350に渡し、結果を待機する。返送結果は、実行された操作のログを含み、これは、ユーザに報告される、以下に記述されるブレッドクラム管理システム310により処理される追加情報である。
システムは、階層サービスモジュール304に操作可能に連結されるカスタマイズレイヤ306を、さらに含む。カスタマイズレイヤ306は、階層的な情報の抽出の後、データの修正または拡張を可能にする。これは、エンドユーザまたはシステム管理人により提供されることが可能な選択的なTCL関数のものを含む。TCL関数は、呼び出される際に、抽出されたデータが引数として渡される。TCL関数は、データを修正して値を変更すること、または、データ要素ごとに追加情報を用いてデータを拡張すること、ができる。そして、追加の値はPLMシステム350に渡される。
SCMシステム301は、処理構成モジュール308をさらに含む。PLMシステム350が、SCMシステム301に応答して行うように構成されるインポート処理は、SCMシステム301から、さらに構成されることが可能である。例えば、PLMシステム350上で作成されるオブジェクトの型は、ソースSCMシステム301に依存してもよい。処理構成モジュールは、データベースから処理構成設定を読み込み、処理構成設定をデータに適用した後に、そのデータをPLMシステム350に送る。例の実装は、構成パラメータが、手動、またはグラフィカルツールを介してのいずれかで、レジストリファイルに設定されることを可能にする。
SCMシステム301は、ブレッドクラム管理システム310をさらに含む。PLMシステム350が一旦データを処理すると、PLMシステム350は、PLMシステム350において作成されたオブジェクトについての情報が補充されたデータ構造を、SCMシステム301に返す。例の実装において、補充物は、PLMシステム350において作成されたデータの一意的なオブジェクト識別子を含む。そして、この情報は、ブレッドクラム管理システム310により処理され、SCMシステム301のデータと共にプロパティとして記憶され、SCMシステム301上で使用する他の操作に利用可能である。
SCMシステム301は、PLMサーバマッピングモジュール314、およびアイデンティティマッピングモジュール316をさらに含む。SCMシステム301では、PLMシステム350と通信するためのPLMシステム350のアドレスを分かっている。PLMサーバマッピングモジュール314は、PLMシステム350アドレス指定情報が、フレキシブルかつデータに依存する様式で提供されることを可能にする。組織は、一般に単一の組織規模のPLMシステム350を持ち、従って、そのシステムについて単一のアドレスで十分である。しかし、PLMサーバマッピングモジュール314は、複数のアドレスを有する複数のPLMまたは分散されたPLMを用いた、より複雑なインストールをサポートする。ユーザまたは管理人は、構成ツールを使用して、SCMシステム301オブジェクトとPLMプラットフォームアドレスとの間のマッピングを指定することが可能であり、構成ツールは選択的にグラフィカルである。
加えて、ユーザのアイデンティティは、システム間で異なるものとすることができる(例えば、異なるユーザ名またはユーザID)。例えば、SCMシステム301は典型的には、識別用のユーザのシステムログイン名を用いることができるが、PLMシステム350は、ログインするための全社規模のアイデンティティまたは電子メールアドレスを使用してもよい。選択的なアイデンティティマッピングモジュール316は、ユーザのSCMシステム301のアイデンティティを、PLMシステム350上のアイデンティティにマッピングするためのカスタマイズ可能なシステムを提供する。特別な実施形態において、IDは、PLMシステム350とSCMシステム301との間で同一であり、マッピングが必要とされない。
SCMシステム301は、通信レイヤをさらに含む。サンプルの実装において、レストフルウェブサービス(RESTful Web Service)318が、SCMシステム301とPLMシステム350との間の通信に使用される。階層を記述するデータと、ユーザアイデンティティ情報とを、SCMシステム301からPLMシステム350に渡すためのスキームを提供し、かつ、更新された情報の返送を提供する、他の通信の手段が使用されることが可能である。
PLMシステム350は、アイデンティティマッピングモジュール336を含んで、アイデンティティマッピングを同様に、PLMシステム350上で選択的に実行する。PLMシステム350およびSCMシステム301のシステムにアイデンティティマッピングを提供することは、より大きなフレキシビリティを可能にし、何故なら、a)全てのSCMサーバからのユーザIDが一致する場合、PLMシステム350において単一のアイデンティティマッピングを実装することで十分であり、また、b)個別のSCMサーバが異なるユーザIDを有するが、単一のPLMシステム350が存在する場合、各SCMサーバでのアイデンティティマッピングの実装が、適切である、からである。例の実装の、SCMシステム301側でのアイデンティティマッピングモジュールは、SCMシステム301から来るアイデンティティを、PLMシステム350での識別子にマッピングする。
PLMシステム350上の階層サービス324は、SCMシステム301からのデータを受領し、全体的な処理を制御する。階層サービス324は、ルーチンを呼び出して、PLMシステム350において異なるオブジェクトを作成し、作成されたオブジェクトをまとめてリンクして、PLMシステム350において階層を形成する。階層サービス324はまた、ブレッドクラム情報を用いてデータの補充を行い、SCMシステム301に操作のログを返送する。
新しいデータの作成の後、PLMシステム350のカスタマイズレイヤ326は、SCMシステム301から渡されていた追加の情報を用いてデータを補充し、または、データが、元の構成設定によって禁止される手法で別のやり方で取り扱われることを可能にする。例えば、機能性の個別の使用が、オブジェクトにデフォルトと異なる名前を付けたい場合、カスタマイズレイヤ326は、オブジェクトをリネームすることが可能である。選択的リネーム方法は、重要であるものの全ての情報と、PLMシステム350において作成される等価の新しいオブジェクトが、渡される。
PLMシステム350は、処理構成モジュール328により読み込まれ、適用される設定の提供により、さらに構成されることができる。例えば、PLMシステム350は、この手法で作成されるオブジェクトの型を構成することができる。例えば、構成は、種々の指定された構成パラメータについてカスタマイズされた値を有するプロパティファイルを介するものとすることができる。
オブジェクト作成モジュール330は、PLMシステム350においてオブジェクトを作成する。オブジェクト作成モジュール330は、SCMシステム301からの情報と、構成パラメータとを活用して、作成されるオブジェクトの詳細を判定する。加えて、作成親オブジェクトモジュール332は、関連付けられた親オブジェクトを作成することができる。サンプルの実装の場合、これは、オブジェクトの追加のバージョンを作成するように構成される自動作成モジュール334を含んで、ルートバージョンとして動作するか、処理バージョンで働き、バージョンの導出木全体をサポートする。自動作成最新モジュール340は、上述の集められた情報の全てに基づき、モジュールにより作成されているオブジェクトのための、コンテナとして動作する付随する親オブジェクトを作成することができる。自動作成モジュール334は、モジュールの過去バージョン情報を、自動作成最新モジュール340により作成されるモジュールに、同様にロードすることが可能である。追加タグモジュール342は、タグまたはエイリアスを、作成されたアイテムに追加するように、さらに構成されることができる。
例えば、オブジェクト作成は、デフォルトで製品オブジェクト、および、SCMシステムからのデータのバージョンを表すリビジョンと、実際にインポートされているバージョンと、を作成することを伴う。新しいオブジェクトは、まとめて結合されて、製品の階層を形成する。
加えて、製品は、親モデルと製品ラインのコンポーネントに結合されることができ、これらコンポーネントは、製品開発処理の総括的管理のためにPLMシステムにおいて使用される、他のオブジェクト型である。
図4は、本発明により用いられる処理の一例の実施形態を説明するフロー図400である。PLMシステムが、SCMシステムにより起動された処理から、SCMシステムからインポートデータを受け取ることに応答して、PLMシステムが、インポートデータのアイテムを処理して、PLMシステムにおいてオブジェクトを作成する(402)。PLMシステムは、サブアイテムが存在するかどうかを判定する(404)。存在する場合、システムは、親の各サブアイテムを処理し(406)、各サブアイテムを親アイテムに結合する(408)。次に、PLMシステムは、作成された各サブアイテムごとに、サブアイテムが存在するかどうかを判定する(404)。サブアイテムが存在しない場合、処理は、現在のサブアイテムの分岐について終了する(410)。最終的に、全ての分岐が終了し(410)、処理が終了する。
図5は、PLMシステム550オブジェクトデータを、SCMシステム501にインポートする一例の実施形態を説明するブロック図500である。
PLMシステム550は、ユーザが、オブジェクトの階層をSCMシステム501にエクスポートすることを起動するためのグラフィカルユーザインターフェース(GUI)534を含む。GUI534は、SCMシステム501において作成されたオブジェクトが、円錐構造またはピア構造として結合されるかどうかを、ユーザが指定することを可能にするフォームを含む。円錐構造は、階層におけるサブオブジェクトのためのファイルを、親のディレクトリの下にある物理ディレクトリに編成する。ピア構造は、階層におけるサブオブジェクトのためのファイルを、並列の物理ディレクトリに編成する。GUIフォームはまた、ユーザが、エクスポートが、最初のエクスポートであるか、更新のエクスポートであるかを指定することを可能にする。この設定は、アイテムが、SCMシステム501内で再利用されるかどうかに関する要因を制御する。
PLMシステム550はまた、SCM結合情報を記憶し、この情報は、対象のSCMシステムサーバを識別し、かつ、そのサーバ上のどこに、PLMシステムからの最上レベルのオブジェクトを表すオブジェクトが配置されるかを識別する。例えば、これは以下を介する。
a)SCMサーバを識別するストア、
b)そのサーバ上のオブジェクトの位置を識別するパス、および
c)PLMオブジェクトにリンクされるSCMオブジェクトのバージョンを識別するセレクタ。
PLMシステム550の実装は、API関数を使用するエクスポート制御モジュール524を直接呼び出すことができ、システムの完全なカスタム制御を可能にする。
PLMシステム550はまた、デフォルト階層抽出モジュール530を含む。例えば、デフォルト階層抽出モジュール530は、デフォルト抽出処理を提供するが、デフォルト処理はオーバーライドされることができる。デフォルト階層抽出モジュール530は、SCMシステム501にエクスポートされる、PLMシステム550におけるデータオブジェクトの階層に関する情報を抽出する。サンプルの実装において、抽出は、データベースのルックアップおよびクエリを用いて、製品オブジェクトの階層を抽出する。抽出処理は、エクスポート制御モジュール524に渡されるデータ構造(例えば、Javaデータ構造)をさらに作成する。
PLMシステム550はまた、カスタムプロパティモジュール532を含む。カスタムプロパティモジュール532は、カスタマイズをインポートに、さらには上述のデフォルト階層抽出処理にも、提供することが可能である。カスタムプロパティモジュール532は、プロパティまたは構成の値のセットを修正し、例えば、これにより、SCMシステムにおいて新しいオブジェクトが、親または最上レベルのオブジェクトの記憶場所に相対してどこに作成されるのかを制御することができる。
PLMシステム550はまた、デフォルト階層抽出モジュール530の代替としてカスタム抽出モジュール528を含む。カスタム抽出モジュール528は、例えば、PLMシステム550における異なるオブジェクトの型を処理すること、または、階層におけるどのオブジェクトがSCMシステム501において表されるのか、および、どれがPLMの目的で単に存在し、従ってSCMシステム501にはコピーされる必要が無いのか、を判定するためのカスタムスキームを指定すること、が可能である。
次に、エクスポート制御モジュール524が、残りのエクスポート処理を制御する。エクスポート制御モジュール524は、以下を行うように構成される。
a)処理を呼び出して、アイデンティティマッピングモジュール522にて任意のアイデンティティマッピングを実行する、
b)ウェブサービスレイヤ520を呼び出して、全てのデータをSCMサーバに渡す、
c)SCMシステム501から戻される結果を受け取る、
d)SCMサーバのブレッドクラム管理モジュール508上のデータに対する任意のローカルな結合(例えば、ブレッドクラム)を記憶する、および
e)ユーザに、全体的な処理のレポートを表示する(または、これをログスクリプトとして、呼び出し側に返送する)。
PLMシステム550は、オブジェクト結合モジュール526をさらに含む。SCMシステム501から戻って渡されるデータは、PLMオブジェクトと一致する作成されたSCMオブジェクトのアドレスを含む。各作成されたSCMオブジェクトのアドレスは、実際のオブジェクト識別子(例えば、URLの形式で)と、PLMオブジェクトにリンクするSCMオブジェクトのバージョンを識別するセレクタと、の両方を含む。この情報は、PLMオブジェクトと共に記憶されて、対応するSCMオブジェクトとの結合を形成する。
PLMシステム550は、アイデンティティマッピングモジュール522を(選択的に)含む。ユーザのアイデンティティは、システム間で異なるものとすることができる。例えば、SCMシステム501は典型的には、識別用のユーザのシステムログイン名を使用することができるが、PLMシステム550は、ログインするための組織規模のアイデンティティまたは電子メールアドレスを使用してもよい。アイデンティティマッピングモジュール522は、ユーザのアイデンティティをPLMシステム550が分かっている通りに、SCMシステム501上のアイデンティティにマッピングするためのカスタマイズ可能なシステムを提供する。アイデンティティマッピングは選択的である。特別なシステムにおいて、ユーザのアイデンティティは、2つのシステムの間で同一であり、マッピングが必要ない。
PLMシステム550は、PLMシステム550とSCMシステム501との間の通信のためのウェブサービスレイヤ520,(例えば、SOAPベースのウェブサービス)をさらに含む。あるいは、SCMシステム501、PLMシステム550、およびSCMシステム501、または別のエンティティが、ウェブサービスレイヤ520を含むことができる。階層を記述するデータと、ユーザアイデンティティ情報とを、PLMシステム550からSCMシステム501に渡し、更新された情報を返送し、出力のログを取り、および、値を返送する、ためのスキームを提供する他の通信の手段が用いられることが可能である。
SCMシステム501は、アイデンティティマッピングモジュール502を含むことができる。アイデンティティマッピングは、SCMシステム501でもPLMシステム550でも、選択的に実行される。両システムにアイデンティティマッピングを提供することは、より大きなフレキシビリティを可能にし、a)全てのSCMサーバにおいて使用されるユーザ名が一致する場合、PLMシステムにおいて単一のアイデンティティマッピングを実装することで十分であり、また、b)個別のSCMサーバが異なるユーザアイデンティティを有するが、単一のPLMシステムが存在する場合、各SCMサーバでのアイデンティティマッピングの実装が、適切である。サンプルの実装のSCM側のアイデンティティマッピングモジュールは、PLMシステムから来るアイデンティティをSCMシステム上の識別子にマッピングする、供給されるカスタマイズされた関数を提供する。
SCMシステム501は、カスタマイズレイヤ506を有するインポート制御モジュール504を含む。インポート制御モジュール504は、PLMシステム550からデータを受領し、インポートを制御する。インポート制御モジュール504は、SCMシステム501において異なるオブジェクトを作成し、それらをまとめてリンクして、SCMシステム501において階層を形成する。インポート制御モジュール504は、ブレッドクラム情報を用いてデータをさらに補充し、また、PLMシステム550に操作のログの返送を行う。
カスタマイズレイヤ506は、データをインポートする前または後のいずれかに、作動されることが可能である。インポートするに先立って、カスタマイズレイヤ506は、PLMシステム550から受け取られた通りに、データを訂正することができる。例えば、カスタマイズレイヤ506は、SCMシステム510を表現するには不適切なアイテムを、識別して削除する。インポートの後、カスタマイズレイヤ506には、SCMシステム501からのデータと、新しく作成されたSCMオブジェクトに関する情報との両方が渡される。例えば、カスタマイズレイヤ506は、PLMシステム550から情報を受け取り、SCMオブジェクト上にプロパティを設定する(例えば、作成者の値は、PLMシステムから渡され、SCMオブジェクト上に設定されることが可能である)。
SCMシステム501は、ブレッドクラム管理モジュール508をさらに含む。データがSCMシステムにおいて作成されると、ブレッドクラムが記憶されて、新しいSCMアイテムを、PLMシステムにおけるオブジェクトにリンクさせる。例の実装において、PLMシステム550から送られるデータは、SCMオブジェクトのオブジェクト識別子を含む(例えば、整数は、オブジェクトの一意的な識別子である)。PLMシステム550からのオブジェクト識別子は、SCMシステム501において作成されたオブジェクトのプロパティとして設定される(例えば、モジュール、分岐、および/またはバージョン)。
SCMシステム501は、データ事前チェックモジュールをさらに含む。SCMシステムは、加えて、モジュール(またはオブジェクト)作成モジュール512を含む。モジュール作成モジュール512は、PLMシステム550からのモジュールを表すモジュールを、そのモジュールがまだ存在しない場合に、SCMシステム501において作成するように構成される。分岐作成およびタギングモジュール514は、モジュールの異なる分岐を、そのバージョン進行に基づきさらに作成することができ、バージョニングデータをモジュールにさらにタグ付けすることができる。階層的参照作成モジュール516は、SCMシステム501におけるモジュール間の階層的な関係性を、PLMシステム550上で存在する通りに表す、作成されたモジュールと既存のモジュールとの間の参照を作成することができる。
図6は、PLMシステムからSCMシステムにデータをインポートするための、本発明により用いられる処理の一例の実施形態を説明するフロー図600である。SCMシステムは、データを事前チェックすることにより始まる(602)。実施形態において、事前チェックは、処理が後で失敗することを回避するために、「静的」チェックにより発見されることが可能な「総体的な」エラーのデータをチェックすることを含むことができる。事前チェックにおける基準の例は、渡された「セレクタ」値および「名前」が対象のシステム上で有効であることをチェックすること、を含むことができるが、これに限定されない。データ事前チェックが失敗の場合、処理は終了する(604)。
しかし、事前チェックが通る場合、SCMシステムは、データの最上レベルのアイテムを処理する(606)。SCMシステムは、インポートが、最初のインポートモードにあるのか、既存のインポートモードにあるのかを判定する(608)。これが最初のインポートである場合、システムは、SCMオブジェクトがSCMシステムに存在するかどうかを判定する(610)。存在する場合、インポートされたモジュールは、再使用されている事前に存在するモジュールである可能性があり、従って、このポイントから下の全てのデータは既に正しく、処理はこのポイントで終了することができる(612)。オブジェクトが事前に存在するモジュールではない場合、新しいSCMオブジェクトを作成するのではなく、既存のSCMオブジェクトは、サブオブジェクトとのリンクの新しいセットを用いて更新されることが可能である。新しいサブオブジェクトを作成することは、なお可能であるものとしてもよい。
モジュールが存在しない場合(610)、またはシステムが最初のモードではない場合(608)、SCMシステムは、必要に応じて、PLMオブジェクトを表す対応するモジュールを作成し(例えば、SCMに既に存在するPLMオブジェクトを表すモジュールが無い場合)(614)、最初のバージョンを含むバージョンのセットを有する作成されたSCMオブジェクトの開発分岐を作成し(616)、タグモジュールを介してタグを追加する(618)。PLMシステムからのデータが、オブジェクトがSCMデータの確定されたリリースされたバージョンであることを提示する場合、システムはバージョニングデータをタグ付けし、SCMデータのバージョンに対して、確定された参照を作成する。しかし、PLMデータが、オブジェクトが作業途中であることを提示する場合、結合が、SCMデータのタグ付けされた分岐に対して作られる。換言すると、それは、その分岐のデータの最新バージョンと結合する。PLMシステムは、従って、確定された/最終化されたモジュールと、進行中の開発との両方を表すことができる。
次に、SCMシステムは、サブアイテムをその親に結合する(620)。階層における最上レベルのアイテムを除く全てについて、システムは、SCMコマンドを使用して、サブアイテムをその親オブジェクトに結合して、その結合を達成する。例のDesignSync(登録商標)システムにおいて、これは、親モジュールから子モジュールへのhref(階層的参照)を作成することを含み、このhrefは、a)子モジュール、b)使用する子モジュールのバージョン(例えば、バージョンセレクタとして)、およびc)子モジュールデータが、SCMシステムからフェッチされるときに、親モジュールに相対してどこに置かれるかを提示するhrefパス、を識別する。この最後のものは、円錐またはピアのhrefパス値が効力を生じる場所である。円錐構造については、hrefパス値は、ファイルシステム上のサブディレクトリ名であり、これは、データを親モジュールデータより下に置く。ピア構造については、hrefパス値は、「../ディレクトリ名」の形式であり、データがファイルシステム上で親モジュールデータと並列に置かれるということを意味する。
次に、SCMシステムは、サブアイテムが存在するかどうかを判定する(622)。他の実施形態において、処理の順番は異なっていてもよく、何故なら、SCMシステムとその能力に依存して、例えば、親オブジェクトを作成する前に、再帰的に全てのサブアイテムを作成することが必要となることがあるからである。しかし、この例においては、親オブジェクトを作成する前に、再帰的なステップが発生する。サブアイテムが存在する場合、システムはサブアイテムを処理する(606)。存在しない場合、SCMシステムは処理を終了する(624)。
図7は、SCMまたはPLMシステムにおいてインポートされた情報を、他方のシステムにおける対応するモジュールに対する変更の際に、自動的に更新する、本発明により用いられる処理の一例の実施形態を説明するフロー図700を説明する。自動更新処理は、データをPLMからSCMに移動させるのか、SCMからPLMに移動させるのかに関わらず、高レベルで同様であるが、実装の詳細が異なってもよい。以下は、SCMシステム701のユーザ702により起動された更新が、構造変更704を生じさせることを記述するが、同様の記述が、PLMシステム750、そのユーザ722、および対応する構造変更724に適用できる。
処理は、SCMシステム701のユーザ702が、データの構造に対する変更を生じさせる操作を実行すると、始まる(704)。かかる変更は以下の任意の組み合わせとすることができる。
(1)一のオブジェクトからサブオブジェクトへの階層的参照の追加または削除。階層的参照は構造におけるより高レベルのオブジェクトから、より低レベルのオブジェクトへの参照であり(例えば、チップモジュールとCPUとの間のリンク)、または
(2)階層的参照の修正(例えば、2つのシステム間で反映される階層的参照のいくつかの態様の修正)である。かかる修正は、例えば、使用され、参照されるオブジェクトのバージョンにおける変更、または、サブオブジェクトデータが、親オブジェクトに相対してファイルシステム内のどこに置かれるのかを決定するために使用される、相対パス(例えば、relパス)における変更、とすることができる。
構造変更は、全体的な階層構造に影響を及ぼすことができ、単一の参照をサブブロックに対して追加または修正することが、そのポイントから下方に向かう全階層に対して変更となり得る。
手動の更新(706)では、SCMシステム701およびPLMシステム750上でユーザのために提供されるGUIが、機能性にアクセスして、オブジェクトの特定の階層のエクスポートを、他方のシステムにリクエストする(708)。
自動化された更新を提供するために、本発明の実施形態はデータに対して変更がなされると、自動的にトリガされる(716)。トリガは、データの構造を修正する全ての変更について呼び出され、データの同期が常に実行されることを確保する。トリガは、トランザクショナルに呼び出されるため、複数の構造変更が単一のユーザ操作で実行される場合に、トリガは1回だけ呼び出される。これが、対象のシステムに対する変更を1回渡すことにより、不要な作業/データ転送を防ぐ。トリガが作動する際に、記憶されて、PLMシステム750におけるオブジェクトをSCMシステム701に、またはその逆にリンクさせるブレッドクラムに、SCMシステム701がアクセスする。これが、両システム上で表されているデータについて、更新が対象のシステムに渡されることを確保する。第2のシステム上で反映されることが意図されない、第1のシステムにおけるデータがあってもよい。自動更新システムは、ブロックの第1の同期が、手動であるか、または、参照する親オブジェクトの同期の結果であるかのいずれかによって、および、後に続く自動的な同期がブレッドクラムの存在に基づくことによって、不要なデータを反映することを防ぐ。
次に、SCMシステム701は、自動更新ステップを実行し(710)、これが、エクスポート処理を呼び出し、これは、各システムについて上述されている(708)。
PLMシステムでは、エンドユーザが同一のAPIを使用して実行する各システムに関連して上述された同一の種類の構造的変更を、更新処理(734)が実行する。重要なこととしては、更新処理(734)が修正されて、セマフォフラグを呼び出しシステム上に設定する(732)ことがあげられる。セマフォフラグは、変更が対象のシステム上でなされると、自動的なトリガが発動するのを回避し、これが、データを、呼び出しシステムに逆に再送信させ、潜在的には、無限ループを生じさせる。セマフォを実装すること(732)が、更新処理によりなされる更新のためのトリガを遮断するが、トリガが、ユーザからの他の変更を行うことを可能にする。典型的なSCMシステムおよびPLMシステムのような、マルチスレッド化されたシステムにおいては、更新処理が発生する間にトリガが無効にされる危険がある。無効化が次に、トリガの発動から、異なるスレッド上のいくつかの動作を遮断する。セマフォの実装は、使用されているSCMシステムおよびPLMシステムの能力に依存する。しかし、一例の実装は、(1)全ての新しいスレッドの開始を遮断すること、(2)全ての他の稼働中のスレッドが終了するのを待つこと、(3)トリガを遮断すること、(4)更新処理により必要とされる更新を実行すること、(5)トリガを遮断解除すること、および(6)新しいスレッドが開始されることを可能にすること、を含む。
セマフォ処理(732)は、トリガが遮断されている間、他の操作が発生しないことを確保する。より高性能のシステムは、更新処理に必要な全てのデータベース変更のトランザクションを用いて、このトランザクションがデータベースにコミットされている時間の最中のみ、トリガを遮断し、データベースに対するトランザクションコミットメントが単一スレッドされるという事実を活用する。
他方の処理は、PLMシステム750のユーザ722が、データの構造に対する変更を生じさせる操作を実行すると、始まる(724)。かかる変更は以下の任意の組み合わせとすることができる。
(1)一のオブジェクトからサブオブジェクトへの階層的参照の追加または削除。階層的参照は構造におけるより高レベルのオブジェクトから、より低レベルのオブジェクトへの参照であり(例えば、チップモジュールとCPUとの間のリンク)、または
(2)階層的参照の修正(例えば、2つのシステム間で反映される階層的参照のいくつかの態様の修正)である。かかる修正は、例えば、使用され、参照されるオブジェクトのバージョンにおける変更、または、サブオブジェクトデータが、親オブジェクトに相対してファイルシステム内のどこに置かれるのかを決定するために使用される、相対パス(例えば、relパス)における変更、とすることができる。
構造変更は、全体的な階層構造に影響を及ぼすことができ、単一の参照をサブブロックに対して追加または修正することが、そのポイントから下方に向かう全階層に対して変更となり得る。
手動の更新(726)では、PLMシステム750およびSCMシステム701上でユーザのために提供されるGUIが、機能性にアクセスして、オブジェクトの特定の階層のエクスポートを、他方のシステムにリクエストする(728)。
自動化された更新を提供するために、本発明の実施形態はデータに対して変更がなされると、自動的にトリガされる(736)。トリガは、データの構造を修正する全ての変更について呼び出され、データの同期が常に実行されることを確保する。トリガは、トランザクショナルに呼び出されるため、複数の構造変更が単一のユーザ操作で実行される場合に、トリガは1回だけ呼び出される。これが、対象のシステムに対する変更を1回渡すことにより、不要な作業/データ転送を防ぐ。トリガが作動する際に、記憶されて、SCMシステム701におけるオブジェクトをPLMシステム750に、またはその逆にリンクさせるブレッドクラムに、PLMシステム750がアクセスする。これが、両システム上で表されているデータについて、更新が対象のシステムに渡されることを確保する。第2のシステム上で反映されることが意図されない、第1のシステムにおけるデータがあってもよい。自動更新システムは、ブロックの第1の同期が、手動であるか、または、参照する親オブジェクトの同期の結果であるかのいずれかによって、および、後に続く自動的な同期がブレッドクラムの存在に基づくことによって、不要なデータを反映することを防ぐ。
次に、PLMシステム750は、自動更新ステップを実行し(730)、これが、エクスポート処理を呼び出し、これは、各システムについて上述されている(728)。
SCMシステム701では、エンドユーザが同一のAPIを使用して実行する各システムに関連して上述された同一の種類の構造的変更を、更新処理(714)が実行する。重要なこととして、更新処理(714)が修正されて、セマフォフラグを呼び出しシステム上に設定する(712)ことがあげられる。セマフォフラグは、変更が対象のシステム上でなされると、自動的なトリガが発動するのを回避し、これが、データを、呼び出しシステムに逆に再送信させ、潜在的には、無限ループを生じさせる。セマフォを実装すること(712)が、更新処理によりなされる更新のためのトリガを遮断するが、トリガが、ユーザからの他の変更を行うことを可能にする。典型的なSCMシステムおよびPLMシステムのような、マルチスレッド化されたシステムにおいては、更新処理が発生する間にトリガが無効にされる危険がある。無効化が次に、トリガの発動から、異なるスレッド上のいくつかの動作を遮断する。セマフォの実装は、使用されているSCMシステムおよびPLMシステムの能力に依存する。しかし、一例の実装は、(1)全ての新しいスレッドの開始を遮断すること、(2)全ての他の稼働中のスレッドが終了するのを待つこと、(3)トリガを遮断すること、(4)更新処理により必要とされる更新を実行すること、(5)トリガを遮断解除すること、および(6)新しいスレッドが開始されることを可能にすること、を含む。
セマフォ処理(712)は、トリガが遮断されている間、他の操作が発生しないことを確保する。より高性能のシステムは、更新処理に必要な全てのデータベース変更のトランザクションを用いて、このトランザクションがデータベースにコミットされている時間の最中のみ、トリガを遮断し、データベースに対するトランザクションコミットメントが単一スレッドにされるという事実を活用する。
上述のエクスポート処理およびインポート処理は、自動更新するために修正される。具体的には、処理のエクスポート部分が、ソースシステムからデータを集める。自動更新において、任意の既存のブレッドクラムまたはトラッキングデータが、構造に沿って抽出される。処理のインポート側は、対象のシステム上でデータを作成または修正する作業の大部分を実行する。自動更新において、オブジェクトがシステム上に既に存在するかどうかを確かめるチェックをするときに、ブレッドクラムデータが使用される。ブレッドクラムデータがある場合、存在チェックが実行されて、オブジェクトが存在することを確保する。オブジェクトが既に存在する場合、そのオブジェクトからサブオブジェクトへの参照は、なお更新されることが必要であるかもしれない。新しいサブオブジェクトが追加されていてもよく、対応する新しい参照が作成されてもよい。サブオブジェクトへの参照は、ソースシステム上では削除されていてもよく、対象のシステム上の対応する参照は、同様に削除される必要があるかもしれない。参照の属性(例えば、データをフェッチするときに使用される対象のパスまたはhrefパスのバージョン)は、変更されていてもよい。
対象のオブジェクトを修正することは、それが静的バージョンである場合は、可能でないこともありうる。PLMシステム750におけるオブジェクトの静的バージョンは、リリースされたアイテムを表す。これら静的バージョンは、それらが過去における確定されたポイントでの状態を表すため、修正されることができない。SCMシステム701自体が、かかる場合の変更を回避するため、かかるアイテムには、変更が可能とされない可能性がある。静的バージョン上での変更が企図される場合、インポート処理は、ユーザがそのレベルで補正するように、SCMシステム701に問題を正確に報告する。
上述のエクスポート処理およびインポート処理は、自動更新するために修正される。具体的には、処理のエクスポート部分が、ソースシステムからデータを集める。自動更新において、任意の既存のブレッドクラムまたはトラッキングデータが、構造に沿って抽出される。処理のインポート側は、対象のシステム上でデータを作成または修正する作業の大部分を実行する。自動更新において、オブジェクトがシステム上に既に存在するかどうかを確かめるチェックをするときに、ブレッドクラムデータが使用される。ブレッドクラムデータがある場合、存在チェックが実行されて、オブジェクトが存在することを確保する。オブジェクトが既に存在する場合、そのオブジェクトからサブオブジェクトへの参照は、なお更新されることが必要であるかもしれない。新しいサブオブジェクトが追加されていてもよく、対応する新しい参照が作成されてもよい。サブオブジェクトへの参照は、ソースシステム上では削除されていてもよく、対象のシステム上の対応する参照は、同様に削除される必要があるかもしれない。参照の属性(例えば、データをフェッチするときに使用される対象のパスまたはhrefパスのバージョン)は、変更されていてもよい。
対象のオブジェクトを修正することは、それが静的バージョンである場合は、可能でないこともありうる。SCMシステムにおけるオブジェクトの静的バージョンは、リリースされたアイテムを表す。これら静的バージョンは、それらが過去における確定されたポイントでの状態を表すため、修正されることができない。PLMシステム自体が、かかる場合の変更を回避するため、かかるアイテムには、変更が可能とされない可能性がある。静的バージョン上での変更が企図される場合、インポート処理は、ユーザがそのレベルで補正するように、PLMシステムに問題を正確に報告する。
理想的には、構造の変更は、単一の操作内の設計の単一のレイヤに限定される。例えば、操作は、最上レベルのチップから新しいALUブロックへの参照を追加するかもしれないが、チップが既に参照しているCPUブロックより下の構造を、同時に修正はしない。それが保証される場合、全部の更新処理が最適化されることが可能であるため、構造の単一のレイヤがシステム間で渡され、一度で更新される。しかし、ほとんどのシステムにおいて、これが保証されることはできず、与えられた例においては、ALUは、全部が新しい階層構造であり得、他方のシステムにおいて表される。
加えて、安全のため、および、任意のエラー状態に対処するため、処理は、全階層の再同期を強制的に行う。従って、システムは、構造全体を(例えば、最上レベルの修正されたオブジェクトから下に)任意の操作について常に送り、しかも、これが、インポート中の対象のシステムに対してチェックされる。このアプローチは、パフォーマンスおよびシステム要件の観点からは非常に大変であるが、より正確である。
図8は、本発明の実施形態が実装され得る、コンピュータネットワークまたは同様のデジタル処理環境を説明する。
クライアントコンピュータ/デバイス50およびサーバコンピュータ60が、アプリケーションプログラムなどを実行する、処理デバイス、記憶デバイス、および入力/出力デバイスを提供する。クライアントコンピュータ/デバイス50はまた、通信ネットワーク70を通して、他のクライアントコンピュータ/デバイス50およびサーバコンピュータ60、を含む他のコンピューティングデバイスにリンクされることが可能である。通信ネットワーク70は、リモートアクセスネットワーク、グローバルネットワーク(例えば、インターネット)、コンピュータのワールドワイドコレクション、ローカルエリアネットワークまたはワイドエリアネットワーク、およびゲートウェイの一部とすることができ、これらは、現在、それぞれのプロトコル(TCP/IP、Bluetooth(登録商標)、など)を使用してお互いに通信する。他の電子デバイス/コンピュータネットワークアーキテクチャは適したものとなる。
図9は、図8のコンピュータシステムにおけるコンピュータ(例えば、クライアントコンピュータ/デバイス50またはサーバコンピュータ60)の一例の内部の構造の図である。各コンピュータ50、60は、システムバス79を包含し、それにおいて、バスは、コンピュータまたは処理システムのコンポーネント間でデータ転送に使用されるハードウェア回線のセットである。システムバス79は、基本的には、要素間の情報の転送を可能にする、コンピュータシステムの異なる要素(例えば、プロセッサ、ディスク記憶装置、メモリ、入力/出力ポート、ネットワークポート、など)を結合する共用コンジット(shared conduit)である。システムバス79には、I/Oデバイスインターフェース82が取り付けられ、これは種々の入力デバイスおよび出力デバイス(例えば、キーボード、マウス、ディスプレイ、プリンタ、スピーカ、など)をコンピュータ50、60に接続させるためのものである。ネットワークインターフェース86は、コンピュータが、ネットワークに取り付けられた種々の他のデバイスに接続することを可能にする(例えば、図8のネットワーク70)。メモリ90は、本発明の実施形態を実装するために使用されるルーチン/プログラム92およびデータ94(例えば、上記で詳述された、抽出モジュール、作成モジュール、およびマッピングモジュール)のための、揮発性記憶装置を提供する。ディスク記憶装置95は、本発明の実施形態を実装するために使用されるルーチン/プログラム92およびデータ94のための、不揮発性記憶装置を提供する。中央処理装置84もまたシステムバス79に取り付けられ、コンピュータ命令の実行を提供する。
一実施形態において、プロセッサルーチン92およびデータ94は、コンピュータプログラム製品(総括的に、92で参照される)であり、少なくとも本発明システムのソフトウェア命令の一部分を提供する非一時的コンピュータ可読媒体(例えば、1または複数のDVD−ROM、CD−ROM、ディスケット、テープなど取り外し可能な記憶媒体)を含む。ルーチン/プログラム92は、従来技術で周知であるように、任意の適したソフトウェアインストール手続きによりインストールされることが可能である。別の実施形態において、ソフトウェア命令の少なくとも一部分はまた、ケーブル通信および/または無線接続を介してダウンロードされてもよい。他の実施形態において、本発明プログラムは、伝搬媒体上の伝播信号上(例えば、無線波、赤外線波、レーザ波、音波、またはインターネットまたは他のネットワークなどのグローバルネットワークを介して伝播される電波)で具現化されるコンピュータプログラム伝播信号製品である。かかる搬送媒体または信号は、用いられて、本発明ルーチン/プログラム92のソフトウェア命令の少なくとも一部分を提供することができる。
本発明を、本発明の実施形態の例を参照して特別に示し、記述してきたが、当業者により、添付の特許請求の範囲に包含される本発明の範囲から逸脱することなく、形態および詳細において種々の変更が可能なことが理解されるであろう。

Claims (20)

  1. コンピュータ方法であって、
    製品ライフサイクル管理(PLM)システムからソースコード管理(SCM)システムにモジュールを転送するというユーザリクエストに応答して、前記PLMシステムのプロセッサから、モジュール、前記モジュールのバージョン、および前記モジュールの階層的な関係性を表すデータを、前記PLMシステムのデータソースから抽出するステップと、
    前記モジュール、前記モジュールのバージョン、および前記モジュールの前記階層的な関係性、を表す前記抽出されたデータを有するSCMシステムモジュールを作成するステップと
    を含むことを特徴とするコンピュータ方法。
  2. データモジュール要件と一致する前記SCMシステムモジュールを作成するために必要な追加の情報を検索することによって、前記抽出されたデータをカスタマイズして前記SCMシステムの前記データモジュール要件と一致するようにするステップをさらに含むことを特徴とする請求項1に記載のコンピュータ方法。
  3. 前記SCMシステムモジュールを作成するステップは、前記カスタマイズされた抽出されたデータを用いることを特徴とする請求項2に記載のコンピュータ方法。
  4. 前記PLMシステムのアイデンティティを、前記SCMシステムの対応するアイデンティティにマッピングするステップ、をさらに含み
    前記PLMシステムのアイデンティティと前記SCMシステムの前記対応するアイデンティティとは、別個の識別子であり、同一のユーザエンティティも表していることを特徴とする請求項1に記載のコンピュータ方法。
  5. 前記作成されたSCMシステムモジュールにおいて、前記PLMシステムの前記モジュールへのリンクを有するブレッドクラムを提供するステップさらに含むことを特徴とする請求項1に記載のコンピュータ方法。
  6. 更新リクエストに応答して、前記ブレッドクラムにアクセスすることにより、前記作成されたSCMシステムモジュールのバージョンを、前記PLMシステムのリンクされたモジュールのバージョンと比較するステップと、
    前記PLMシステムの前記モジュールが、より新しいバージョンである場合、前記SCMシステムモジュールを、前記PLMシステムの前記モジュールの前記より新しいバージョンに更新するステップと
    をさらに含むことを特徴とする請求項5に記載のコンピュータ方法。
  7. SCMシステムモジュールを作成するステップは、前記モジュールの前記階層的な関係性に対応する複数のSCMシステムモジュールを、前記PLMシステムのデータソースから作成するステップを含むことを特徴とする請求項1に記載のコンピュータ方法。
  8. コンピュータシステムであって、
    製品ライフサイクル管理(PLM)システムからソースコード管理(SCM)システムにモジュールを転送するというユーザリクエストに応答して、前記PLMシステムのプロセッサから、モジュール、前記モジュールのバージョン、および前記モジュールの階層的な関係性を表すデータを、前記PLMシステムのデータソースから抽出するように構成される抽出モジュールと、
    前記モジュール、前記モジュールのバージョン、および前記モジュールの前記階層的な関係性、を表す前記抽出されたデータを有するSCMシステムモジュールを作成するように構成される作成モジュールと、
    を備えることを特徴とするコンピュータシステム。
  9. データモジュール要件と一致する前記SCMシステムモジュールを作成するために必要な追加の情報を検索することによって、前記抽出されたデータをカスタマイズして前記SCMシステムの前記データモジュール要件と一致するようにするように構成されるカスタマイズモジュールをさらに備えることを特徴とする請求項8に記載のコンピュータシステム。
  10. 前記SCMシステムモジュールを作成することは、カスタマイズされた抽出されたデータを用いることを特徴とする請求項9に記載のコンピュータシステム。
  11. 前記PLMシステムのアイデンティティを、前記SCMシステムの対応するアイデンティティにマッピングするように構成されるマッピングモジュールをさらに備え、
    前記PLMシステムの前記アイデンティティと前記SCMシステムの前記対応するアイデンティティとは、別個の識別子であり、同一のユーザエンティティも表していることを特徴とする請求項8に記載のコンピュータシステム。
  12. 前記作成されたSCMシステムモジュールにおいて、前記PLMシステムの前記モジュールへのリンクを有するブレッドクラムを提供するように構成されるブレッドクラムモジュールをさらに備えることを特徴とする請求項8に記載のコンピュータシステム。
  13. 更新リクエストに応答して、前記ブレッドクラムにアクセスすることにより、前記作成されたSCMシステムモジュールのバージョンを、前記PLMシステムの前記リンクされたモジュールのバージョンと比較するように構成される比較モジュールと、
    前記PLMシステムの前記モジュールが、より新しいバージョンである場合、前記SCMシステムモジュールを、前記PLMシステムの前記モジュールの前記より新しいバージョンに更新することと
    をさらに備えることを特徴とする請求項12に記載のコンピュータシステム。
  14. 前記作成モジュールは、前記モジュールの前記階層的な関係性に対応する複数のPLMシステムモジュールを、前記SCMシステムのデータソースから作成するようにさらに構成されることを特徴とする請求項8に記載のコンピュータシステム。
  15. ソースコード管理(SCM)システムモジュールを作成するための命令を記憶するように構成される非一時的コンピュータ可読媒体であって、前記命令は、プロセッサによりロードされて実行されるとき、前記プロセッサに、
    製品ライフサイクル管理(PLM)システムからソースコード管理(SCM)システムにモジュールを転送するというユーザリクエストに応答して、前記PLMシステムのプロセッサから、モジュール、前記モジュールのバージョン、および前記モジュールの階層的な関係性、を表すデータを、前記PLMシステムのデータソースから抽出させ、
    前記モジュール、前記モジュールのバージョン、および前記モジュールの階層的な関係性、を表す前記抽出されたデータを有するSCMシステムモジュールを作成させる
    ことを特徴とする非一時的コンピュータ可読媒体。
  16. 前記命令が、前記プロセッサにさらに、
    データモジュール要件と一致する前記SCMシステムモジュールを作成するために必要な追加の情報を検索することによって、前記抽出されたデータをカスタマイズさせ前記SCMシステムの前記データモジュール要件と一致するようにすることを特徴とする請求項15に記載の非一時的コンピュータ可読媒体。
  17. 前記SCMシステムモジュールは、前記カスタマイズされた抽出されたデータを用いることを特徴とする請求項16に記載の非一時的コンピュータ可読媒体。
  18. 前記命令が、前記プロセッサにさらに、
    前記PLMシステムのアイデンティティを、前記SCMシステムの前記対応するアイデンティティにマッピングさせ、
    前記PLMシステムのアイデンティティと前記SCMシステムの対応するアイデンティティとは、別個の識別子であり、同一のユーザエンティティも表していることを特徴とする請求項15に記載の非一時的コンピュータ可読媒体。
  19. 前記命令が、前記プロセッサにさらに、
    前記作成されたSCMシステムモジュールにおいて、前記PLMシステムの前記モジュールへのリンクを有するブレッドクラムを提供させることを特徴とする請求項15に記載の非一時的コンピュータ可読媒体。
  20. 前記命令が、前記プロセッサにさらに、
    更新リクエストに応答して、前記ブレッドクラムにアクセスすることにより、前記作成されたSCMシステムモジュールのバージョンを、前記PLMシステムの前記リンクされたモジュールのバージョンと比較させ、
    前記PLMシステムのモジュールが、より新しいバージョンである場合、前記SCMシステムモジュールを、前記PLMシステムの前記モジュールの前記より新しいバージョンに更新させる
    ことを特徴とする請求項19に記載の非一時的コンピュータ可読媒体。
JP2016217363A 2015-11-09 2016-11-07 製品ライフサイクル管理(plm)システムからソースコード管理(scm)システムへの階層的なデータのエクスポート Active JP6817030B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/935,844 US10621526B2 (en) 2015-11-09 2015-11-09 Exporting hierarchical data from a product lifecycle management (PLM) system to a source code management (SCM) system
US14/935,844 2015-11-09

Publications (3)

Publication Number Publication Date
JP2017091532A true JP2017091532A (ja) 2017-05-25
JP2017091532A5 JP2017091532A5 (ja) 2019-12-12
JP6817030B2 JP6817030B2 (ja) 2021-01-20

Family

ID=57286260

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016217363A Active JP6817030B2 (ja) 2015-11-09 2016-11-07 製品ライフサイクル管理(plm)システムからソースコード管理(scm)システムへの階層的なデータのエクスポート

Country Status (4)

Country Link
US (1) US10621526B2 (ja)
EP (1) EP3166030B1 (ja)
JP (1) JP6817030B2 (ja)
CN (1) CN106990978B (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10621524B2 (en) 2015-11-09 2020-04-14 Dassault Systemes Americas Corp. Exporting hierarchical data from a source code management (SCM) system to a product lifecycle management (PLM) system
US10140350B2 (en) 2015-11-09 2018-11-27 Dassault Systemes Americas Corp. Bi-directional synchronization of data between a product lifecycle management (PLM) system and a source code management (SCM) system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060174190A1 (en) * 2005-01-31 2006-08-03 International Business Machines Corporation Techniques supporting collaborative product development
JP2009134445A (ja) * 2007-11-29 2009-06-18 Mitsubishi Electric Corp ソフトウェア部品抽出支援装置
JP2010033373A (ja) * 2008-07-29 2010-02-12 Hitachi Ltd ソフトウェア構成管理方法およびシステム

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2273376B (en) 1992-12-11 1997-03-12 Sony Corp Data processing
US7003587B1 (en) 1996-07-18 2006-02-21 Computer Associates Think, Inc. Method and apparatus for maintaining data integrity across distributed computer systems
US6457003B1 (en) 1999-08-16 2002-09-24 International Business Machines Corporation Methods, systems and computer program products for logical access of data sources utilizing standard relational database management systems
US6957214B2 (en) 2000-06-23 2005-10-18 The Johns Hopkins University Architecture for distributed database information access
US7200619B2 (en) 2002-05-31 2007-04-03 International Business Machines Corporation Method and process to optimize correlation of replicated with extracted data from disparate data sources
US7801945B1 (en) 2002-07-03 2010-09-21 Sprint Spectrum L.P. Method and system for inserting web content through intermediation between a content server and a client station
US7809762B1 (en) 2003-07-11 2010-10-05 Bmc Software, Inc. Outage-less database change operation
US7555527B1 (en) 2003-11-07 2009-06-30 Symantec Operating Corporation Efficiently linking storage object replicas in a computer network
US20070061154A1 (en) * 2003-11-14 2007-03-15 Koninklijke Philips Electronics N.V. Product data exchange
US8442938B2 (en) 2005-01-14 2013-05-14 Siemens Aktiengesellschaft Child data structure update in data management system
US7987159B2 (en) * 2006-09-15 2011-07-26 Microsoft Corporation Detecting and managing changes in business data integration solutions
US7925626B2 (en) 2006-12-20 2011-04-12 International Business Machines Corporation Immediate copy target pull of volume data
US8010910B2 (en) 2007-09-04 2011-08-30 Microsoft Corporation Breadcrumb list supplementing for hierarchical data sets
EP2327027A4 (en) 2008-07-21 2016-03-30 Emn8 Inc SYSTEM AND METHOD FOR MANAGING DIGITAL MEDIA IN A QUICK SERVICE RESTAURANT ENVIRONMENT
US20100153866A1 (en) * 2008-12-11 2010-06-17 Accenture Global Services Gmbh Method and system for modifying the execution of a native application running on a portable electronic device
US8676756B2 (en) 2010-05-17 2014-03-18 Invensys Systems, Inc. Replicating time-series data values for retrieved supervisory control and manufacturing parameter values in a multi-tiered historian server environment
US9064131B2 (en) 2010-07-28 2015-06-23 Nextlabs, Inc. Protecting documents using policies and encryption
US20120030015A1 (en) 2010-07-29 2012-02-02 Google Inc. Automatic abstracted creative generation from a web site
US9824091B2 (en) 2010-12-03 2017-11-21 Microsoft Technology Licensing, Llc File system backup using change journal
US8538926B2 (en) 2011-03-08 2013-09-17 Rackspace Us, Inc. Massively scalable object storage system for storing object replicas
CN102855131B (zh) * 2011-06-30 2016-01-13 国际商业机器公司 用于软件配置管理的装置和方法
EP2590144B1 (en) * 2011-11-03 2018-10-24 Dassault Systèmes Designing a modeled volume represented by dexels
CN103927155A (zh) * 2013-01-16 2014-07-16 上海云点信息科技有限公司 Plm软件移动客户端展示模式
US9904721B1 (en) 2013-01-25 2018-02-27 Gravic, Inc. Source-side merging of distributed transactions prior to replication
US9258676B2 (en) 2013-01-29 2016-02-09 Blackberry Limited Mobile device for creating, managing and sharing location information
US20150293947A1 (en) 2014-04-10 2015-10-15 Raghuvira Bhagavan Validating relationships between entities in a data model
US20170235605A1 (en) * 2014-05-06 2017-08-17 NetSuite Inc. System and method for implementing cloud based asynchronous processors
US9832260B2 (en) 2014-09-23 2017-11-28 Netapp, Inc. Data migration preserving storage efficiency
US10140350B2 (en) 2015-11-09 2018-11-27 Dassault Systemes Americas Corp. Bi-directional synchronization of data between a product lifecycle management (PLM) system and a source code management (SCM) system
US10621524B2 (en) 2015-11-09 2020-04-14 Dassault Systemes Americas Corp. Exporting hierarchical data from a source code management (SCM) system to a product lifecycle management (PLM) system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060174190A1 (en) * 2005-01-31 2006-08-03 International Business Machines Corporation Techniques supporting collaborative product development
JP2009134445A (ja) * 2007-11-29 2009-06-18 Mitsubishi Electric Corp ソフトウェア部品抽出支援装置
JP2010033373A (ja) * 2008-07-29 2010-02-12 Hitachi Ltd ソフトウェア構成管理方法およびシステム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
鈴木 憲: "「製品開発を改革するPDM 6つの視点 第5回 コンフィグレーション管理」", CAD&CG MAGAZINE, vol. 第3巻,第4号, JPN6020043669, 1 April 2001 (2001-04-01), pages 165 - 167, ISSN: 0004391955 *

Also Published As

Publication number Publication date
CN106990978A (zh) 2017-07-28
EP3166030A1 (en) 2017-05-10
EP3166030B1 (en) 2022-04-20
US20170132543A1 (en) 2017-05-11
CN106990978B (zh) 2021-09-24
JP6817030B2 (ja) 2021-01-20
US10621526B2 (en) 2020-04-14

Similar Documents

Publication Publication Date Title
JP6881948B2 (ja) 製品ライフサイクル管理(plm)システムとソースコード管理(scm)システムとの間のデータの双方向同期
JP6917695B2 (ja) ソースコード管理(scm)システムから製品ライフサイクル管理(plm)システムへの階層的なデータのエクスポート
US10430204B2 (en) System and method for cloud provisioning and application deployment
US10740093B2 (en) Advanced packaging techniques for improving work flows
US20200201748A1 (en) Systems and methods for testing source code
US9740476B2 (en) Version control for customized applications
US8561023B2 (en) Software change management extension for uniformly handling artifacts with relaxed contraints
US20080189679A1 (en) Method and system for creating, deploying, and utilizing a service
US20090327324A1 (en) Method of refactoring a running database system
US20160098253A1 (en) Delivering and deploying services in multi-server landscapes
US11055078B2 (en) Systems and methods for deploying software products to environments
US9501263B2 (en) Automated model derivation and alignment
Oliveira et al. Delivering software with agility and quality in a cloud environment
US20080163166A1 (en) Technique for integrating a distributed object system component with a service oriented architecture application
US9411618B2 (en) Metadata-based class loading using a content repository
JP6817030B2 (ja) 製品ライフサイクル管理(plm)システムからソースコード管理(scm)システムへの階層的なデータのエクスポート
US10540397B2 (en) Algorithm to check compatibility of business object types to prevent business catalog corruption on resource update
Berglund Gradle Beyond the Basics: Customizing Next-Generation Builds
Japikse et al. Introducing Entity Framework Core
Ambler et al. Knex and Bookshelf
Isci et al. Delivering software with agility and quality in a cloud environment

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191029

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191029

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201111

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20201124

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201224

R150 Certificate of patent or registration of utility model

Ref document number: 6817030

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250