Distributed MBD Projects, Part 16: Deprecating Components

This is the sixteenth in a series of posts discussing the lifecycle of MBD projects that are distributed across multiple managerial domains.

Deprecating Components

When managing a Distributed MBD project, it is important to properly handle the churn as components evolve during the lifecycle of the project. A significant part of this is deprecating design elements that are supplanted by later versions, or are no longer a part of the project.

Any time the design is updated, elements of the project will be changed, and managing the outdated parts will be necessary any time the project is updated.

 

Component Versioning

Component Split

Design Update

Whenever a component is updated, it is important to deprecate the old component versions to help ensure the entire team is using only the latest revision. This is necessary for a few reasons:

  • A mix of old and new components will probably not be compatible with each other
  • The team should work on a common set of components, so that their results are consistent, or at least comparable.
  • Just like any software development, you want to avoid working on older versions of your software. Obviously, there are exceptions, e.g., if you are delivering your integrated simulation as a product, you will need to support older versions that have been delivered.
  • When different participants are using different versions of components, you should usually avoid any analysis that combines the results from the different versions. An exception to this would be an explicit comparison of different versions, such as comparing improvements from version to version.

As I discussed in my previous article, an update can be structural change that is a new configuration of the existing components:

With this type of change, there are no components to deprecate. However, you will typically want to save the various configurations, either for comparison or for archival purposes.

SystemBlend™

SystemBlend’s publishing and versioning facility makes it very easy to update components and deprecate outdated design elements.

In the SystemDesigner application, updating and managing component definitions is quite easy:

When deprecating component definitions, the component is not removed from the system. It is left in the system design database so that any existing simulations that use the deprecated component are not broken. Instead, SystemBlend™ simply removes the definition from the GUI so that it no longer available for new development.

In the Client/Server variant of SystemBlend™, the project manager uses the management console to deprecate component implementations:

Again, deprecating a component implementation does not remove it from the system. This ensures that all current simulation continue to function. Instead, SystemBlend™ removes the implementations from the GUIs.

In the IntegrationMaster application, creating and saving different simulation configurations is straight-forward:

When managing a Distributed MBD project, it is important to manage the outdated elements of the simulation as the project grows and evolves. SystemBlend’s publishing and versioning facilities make this easy and intuitive.

Other Articles in this Series:

Note: This post has been updated with links to other posts in the series

Request More Information

Contact Us To Learn More