23
1 Teamcenter Engineering On-Demand Synchronization Mark Brueggeman General Motors Information Systems & Services [email protected]

1 Teamcenter Engineering On-Demand Synchronization Mark Brueggeman General Motors Information Systems & Services [email protected]

Embed Size (px)

Citation preview

Page 1: 1 Teamcenter Engineering On-Demand Synchronization Mark Brueggeman General Motors Information Systems & Services mark.brueggeman@gm.com

1

Teamcenter EngineeringOn-Demand SynchronizationMark BrueggemanGeneral Motors Information Systems & [email protected]

Page 2: 1 Teamcenter Engineering On-Demand Synchronization Mark Brueggeman General Motors Information Systems & Services mark.brueggeman@gm.com

2

On-Demand SynchronizationIntroduction

On-Demand Multi-Site Synchronization was developed to address the difficulties in synchronizing large, complex structures across a global Teamcenter Engineering implementation.

On-Demand Sync is a joint GM-Siemens development project that provides a "data pull" synchronization paradigm.

On-Demand Sync is intended to complement, not replace, the existing "push" Multi-Site synchronization functionality.

On-Demand Synchronization was first delivered to GM in Teamcenter Engineering 9.1.3 and is available in core TcEng. (The functionality described here is all available as of TC2007.1 MP3.)

This presentation provides an overview of On-Demand Sync functionality and GM's experience to date with this tool.

Page 3: 1 Teamcenter Engineering On-Demand Synchronization Mark Brueggeman General Motors Information Systems & Services mark.brueggeman@gm.com

General Motors Teamcenter Engineering Multi-Site Implementation

Sao Paulo

Pontiac (3)

Warren (2)

Trollhättan

Rüsselsheim

Hamamatsu (Suzuki)

Melbourne

20 GM Sites.

10 Supplier and Joint Venture Partner Sites.

1 ODS.

Up to 60 concurrent vehicle development programs.

Graz (MagnaSteyr)

Oshawa

Warren ODS

Shanghai (PATAC)

Warren (JCI)

Strasbourg

Bupyong

Fujisawa (Isuzu)

Bangalore

Millbrook

Honeoye Falls

Toluca

Burscheid (JCI)

Yellow border indicates Supplier or JV site.

Port Elizabeth

Fulda (EDAG)

Fujisawa (GMIDEL)

Torrance Torino (Fiat)

Torino

Fujisawa (LPEC)

Shanghai

Page 4: 1 Teamcenter Engineering On-Demand Synchronization Mark Brueggeman General Motors Information Systems & Services mark.brueggeman@gm.com

Synchronization Challenges

A GM Vehicle Assembly Structure is large and complex. Over 100,000 BOMLines Over 10,000 Unique Items Over 12 levels deep.

Upper four levels are Imprecise All lower levels are Precise

Some Item Revisions contain over 10,000 objects, typically Variant Expressions and Appearance Path Nodes.

Most structures contain Items owned by ten or more Sites. Virtually all GM global development programs today are global.

Global programs typically involve up to six engineering centers, each center requires the entire vehicle structure to be complete and in sync at their site.

GM engineering centers exist on six continents, in nine different time zones.

Page 5: 1 Teamcenter Engineering On-Demand Synchronization Mark Brueggeman General Motors Information Systems & Services mark.brueggeman@gm.com

The Problems with Synchronization

The limitations of data_sync:

data_sync relies on Export Records, which are not always reliable.

data_sync synchronizes all objects of a given class, without regard to assembly context.

Failure of a single Item to synchronize may cause all subsequent Items in the same job to fail.

Latency of synchronization:

Synchronization is typically performed as a scheduled job. Scheduling a sync job must compromise between the working hours of the

sending and receiving site.

Each sync job typically takes several hours to complete.

Increasing data complexity:

Extensions to the TcEng data model increase the data_sync workload.

data_sync wrapper scripts must be increasingly complex to keep up with data complexity.

Result: End users have poor confidence in the integrity of replicated data.

Page 6: 1 Teamcenter Engineering On-Demand Synchronization Mark Brueggeman General Motors Information Systems & Services mark.brueggeman@gm.com

Failed Assembly Synchronization Strategies

Increased data_sync frequency: Execute two or more syncs per day.

Increases the probability that syncs will overlap.

Does not address the issue of syncs that fail to complete.

BOM Comparison: Generate Bills of Material at different sites and compare them.

Requires significant time and resources to execute.

Normal data_sync latency, combined with the time required to generate BOMs, quickly makes comparisons invalid unless the structure is static.

A single mismatch at a high level assembly creates hundreds or thousands of mismatches at lower levels.

If two sites both have the same out of date version of a component owned by a third site, the comparison will indicate that the sites are in sync.

Component push: Evaluate the BOM at each site to find locally-owned components that are missing at other sites and push them to those sites.

Requires significant time and resources to execute.

Only addresses components owned by sites that have the entire BOM.

Page 7: 1 Teamcenter Engineering On-Demand Synchronization Mark Brueggeman General Motors Information Systems & Services mark.brueggeman@gm.com

On-Demand SynchronizationSolution Approach

Assumptions: Export Records are not a reliable indicator of synchronization state. Only

comparison of the "last modified" date of the replica with the master can be trusted.

Only the Owning Site of an object can be trusted to provide the state of the object.

Synchronization of assemblies requires application of identical Revision Rules at each site.

Two objects are considered to be in sync if the answer to this question is "no":"If this object is re-imported, will anything change?"

Requirements: Provide a means to determine the synchronization state of a replica by

comparison with its master. Provide a means to perform a "pull" synchronization of an object. Must support synchronization of individual Items as well as entire assemblies. Functionality is required in both the Portal interface as well as the command

line.

Page 8: 1 Teamcenter Engineering On-Demand Synchronization Mark Brueggeman General Motors Information Systems & Services mark.brueggeman@gm.com

On-Demand Synchronization Functionality

Interfaces: Portal (Rich Application Client) User Interface

Navigator Object: checks the synchronization state of a single Workspace Object) Component: checks the synchronization state of a single Item or Item

Revision and its associated objects. PSE

Assembly: checks the synchronization state of an assembly and its components, to a specified depth.

Command-Line "sync_on_demand" Utility Supports Objects, Components, Assemblies Lists of Workspace Objects may be processed.

Functions: Report: Generates a synchronization report. Sync: Synchronizes out-of-sync objects without generating a report.

Page 9: 1 Teamcenter Engineering On-Demand Synchronization Mark Brueggeman General Motors Information Systems & Services mark.brueggeman@gm.com

On-Demand SynchronizationNavigator User Interface

Select "Object" to synchronize a specific object.

Select "Component" to synchronize an Item or Item Revision.

Page 10: 1 Teamcenter Engineering On-Demand Synchronization Mark Brueggeman General Motors Information Systems & Services mark.brueggeman@gm.com

On-Demand SynchronizationNavigator User Interface

Included relations are specified on the "Advanced" tab.

Page 11: 1 Teamcenter Engineering On-Demand Synchronization Mark Brueggeman General Motors Information Systems & Services mark.brueggeman@gm.com

On-Demand SynchronizationNavigator User Interface

Page 12: 1 Teamcenter Engineering On-Demand Synchronization Mark Brueggeman General Motors Information Systems & Services mark.brueggeman@gm.com

On-Demand SynchronizationSynchronization Status

<blank> Replica is in sync with Master.

master not replicated Object is missing at replicating site.

out of date Replica object exists but has an older last-modified date than the Master.

replica has been superseded

There is a newer revision of the component that satisfies the Revision Rule. (only applies to assemblies)

up to date per hub Object is in sync with replica at a Hub.

replica has later LMD than master

Replica date last modified is later than the master. May be due to a remote checkout of the object.

unknown Synchronization could not be determined.

Owning Site offline.

Owning Site could not be determined.

Specified Revision Rule doesn't exist at Owning Site.

Master or replica object is not readable.

Local site is not an "IDSM permitted" site for the Owning Site.

Page 13: 1 Teamcenter Engineering On-Demand Synchronization Mark Brueggeman General Motors Information Systems & Services mark.brueggeman@gm.com

On-Demand SynchronizationProduct Structure Editor Interface

Synchronization is invoked by right-clicking the assembly to be

synchronized.

Page 14: 1 Teamcenter Engineering On-Demand Synchronization Mark Brueggeman General Motors Information Systems & Services mark.brueggeman@gm.com

On-Demand SynchronizationProduct Structure Editor Interface

Page 15: 1 Teamcenter Engineering On-Demand Synchronization Mark Brueggeman General Motors Information Systems & Services mark.brueggeman@gm.com

On-Demand SynchronizationProduct Structure Editor Interface

Page 16: 1 Teamcenter Engineering On-Demand Synchronization Mark Brueggeman General Motors Information Systems & Services mark.brueggeman@gm.com

sync_on_demand Command-Line Utility

sync_on_demand [-u=<user_id> -p=<password> -g=<group>]

-f={ sync | report } -type={object | component | assembly}

{-rev_rule=<revision rule> | -rev=<rev_id> } [-assy_level=<number>]

{-item_id=<item id | template> | -folder=<folder name> | -filename=<file name>}

[ -class=<wso class name> || -classoffile=<class name>]

[ -include=<relation type1> -include=<relation type2> ...]

[ -exclude_folder_contents][-exclude_protected_objects]

[-exclude_protected_comp][-batch_size=<number of objects per batch>]

[-report_file=<report file>][-error_report=<error report file>]

[-uid_report=<uid report file>][-separator="<open and close separator for the uids>"]

[-h]

Can be run in either "report" or "sync" mode. Supports objects, components and assemblies. Can take Items, Item Revisions or lists of Workspace Objects as targets.

Page 17: 1 Teamcenter Engineering On-Demand Synchronization Mark Brueggeman General Motors Information Systems & Services mark.brueggeman@gm.com

sync_on_demand Synchronization Report

This is an assembly report. Component reports are similar, but include detailed information about the objects associated with the component Item.

Page 18: 1 Teamcenter Engineering On-Demand Synchronization Mark Brueggeman General Motors Information Systems & Services mark.brueggeman@gm.com

Synchronizing Replica Objects

Out-of-sync replicas can be synchronized by running Synchronization in "sync" mode. However, there are some limitations to sync mode:

There is limited feedback as to which objects require synchronization. Synchronization of assemblies is effectively the same thing as Remote Import using the

"Include Entire BOM", "Modified Only" and "Include Distributed Components" options. This makes it impractical for use on very large assemblies.

The "sync" mode relies on Export Records (due to the "modified only" import behavior; consequently objects that are reported to be out-of-sync in "report" mode may not be imported in "sync" mode.

There are alternate ways to synchronize out-of-sync objects, using "report" mode: In the Portal interface, users may select objects from the Sync Report and import them using

Remote Import. This is available both in Navigator and PSE. To satisfy GM's requirements for command-line functionality, Siemens has enhanced the

sync_on_demand and data_share utilities to so that they can be used together to identify and import missing or out-of-sync objects.

A "uid_report" option was added to sync_on_demand. This option creates a Synchronization report that includes the tags of all objects in the report.

A "-f=ri" (remote import) option was added to data_share. This mode will import remote objects specified in a list of tags.

A "-selected_revision" revision selector was later added to data_share in order to import specific revisions. (This revision selector is only useful in the "remote_import" mode.)

Page 19: 1 Teamcenter Engineering On-Demand Synchronization Mark Brueggeman General Motors Information Systems & Services mark.brueggeman@gm.com

Scripted Synchronization Using the sync_on_demand and data_share Utilities

sync_on_demand is executed in report mode to generate a UID report. For example, for an assembly:sync_on_demand -f=report -item_id=9988 -rev_rule="Latest Released then wip" -er=IMAN_reference -uid_report=9988_uid.txt

A list of tags for missing or out-of-sync objects is extracted from the UID report. The Owning Site for each tag must also be extracted from the report. This is typically done using a Perl script or UNIX shell script.

data_share is executed in "remote import" mode to import the objects associated with the list of tags: data_share -f=ri -filename=taglist.txt -classoffile=Tagstring -latest_ds_version -exclude=IMAN_reference -site=Site_A

If the target object is an Item or Item Revision, then a revision selector may be used. However, it is typically not easy to determine which revision selector is appropriate. One solution is to execute data_share with different revision selectors until the import is successful. e.g. "selected_revision", then "latest_released", the "latest_working".

Since both the Owning Site and revision selector must be specified, it is usually necessary to create multiple lists each containing a single tag, then execute data_share repeatedly to import each object.

Page 20: 1 Teamcenter Engineering On-Demand Synchronization Mark Brueggeman General Motors Information Systems & Services mark.brueggeman@gm.com

sync_on_demand UID Report

ON DEMAND SYNCHRONIZATION REPORT - ASSEMBLY

2008-05-01 17:00:39

------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Component Owning site Sync State Master LMD Replica LMD

------------------------------------------------------------------------------------------------------------------------------------------------------------------------

AHD69710/001-VPPS_50 BODY STRUCTURE (view)[CM70xVyTAfcCdC] GMTG_Production 2005-01-31 11:54:44 2005-01-31 11:54:44

AHD69742/010-VPPS_50.1 BODY LOWER STRUCTURE (view)[CAz0xVyTAfcCdC] GMTG_Production 2007-11-19 14:11:06 2007-11-19 14:11:06

TL128262/013-IA-UNDERBODY ASM_11-MM (view)[SNAZ5bENAfcCdC] GMTG_Production 2007-11-20 07:20:46 2007-11-20 07:20:46

15010271/012-REINFORCEMENT-FLOOR PNL[wm78RDKlAfcCdC] GMTG_Production 2005-03-18 19:46:21 2005-03-18 19:46:21

11517438/000-STUD - METRIC TYPE TUS3 PROJECTI[AKxF2zxxQyYmUC] SCG001 2004-08-03 04:08:01 2004-08-03 04:08:01

11517438/000-STUD - METRIC TYPE TUS3 PROJECTI[AKxF2zxxQyYmUC] SCG001 2004-08-03 04:08:01 2004-08-03 04:08:01

11517438/000-STUD - METRIC TYPE TUS3 PROJECTI[AKxF2zxxQyYmUC] SCG001 2004-08-03 04:08:01 2004-08-03 04:08:01

15017234/005-REINFORCEMENT - BODY MOUNT REAR (view)[1QwweMbVAfcCdC] GMTG_Production 2006-04-05

The tagstring for each object in the report, including "Remote" objects, is listed. These tagstrings may be used with data_share to remote import the missing or out-of-sync objects.

[SNAZ5bENAfcCdC]

Page 21: 1 Teamcenter Engineering On-Demand Synchronization Mark Brueggeman General Motors Information Systems & Services mark.brueggeman@gm.com

On-Demand Sync Configuration

Revision Rules A common Revision Rule must be defined at all sites, using the

same name and same definition. GM uses a Revision Rule called "Latest Released then wip"; this

rule will always configure:PreciseHas Status( Any Release Status, Configured Using Released Date )Working( )

Preferences TC_sync_revision_rules defines which Revision Rules are

available in the Synchronization Preferences dialog. TC_follow_ownership_chain_max_site_count determines

the maximum number of sites On-Demand Sync will check when tracking down the owning site of an object. Set this to "2" for best performance.

TC_sync_on_demand_broadcast_mode determines if the On-Demand Sync will poll all sites to find the owning site of an object. Set this to "FALSE" for performance.

Page 22: 1 Teamcenter Engineering On-Demand Synchronization Mark Brueggeman General Motors Information Systems & Services mark.brueggeman@gm.com

Results to Date at General Motors

GM has been using On-Demand Sync in production for the past year. The current production version (Teamcenter Automotive Edition 9.1.3.6u) addresses the performance issues discovered in earlier releases.

On-Demand Sync has proven very useful in detecting and diagnosing synchronization issues.

Using GM-developed wrapper scripts around sync_on_demand and data_share, on-demand sync is run on a regular basis against several major vehicle assembly structures. This process has nearly eliminated synchronization issues with those structures.

Import of missing components is now automated for the majority of Items. Synchronization issues are now clearly visible. Assemblies can be synchronized immediately prior to virtual reviews. This is a

point in time when synchronization is most critical, but difficult to achieve due to last-minute revisions and releases.

BOM expansion performance is currently an issue for large assemblies. Siemens is working to improve BOM expansion performance.

On-Demand Sync will be run as nightly jobs to prepare each assembly prior to running Global Repeatable Digital Validation Automation (GRDVA) maintenance activities.

Page 23: 1 Teamcenter Engineering On-Demand Synchronization Mark Brueggeman General Motors Information Systems & Services mark.brueggeman@gm.com

Contact Information

Mark Brueggeman

General Motors Information Systems and Services

[email protected]