Information Reuse
In engineering processes - particularly in harness development - the reuse or derivation of new information from existing data is a common practice. Specific examples include libraries, building blocks, or modular systems, where certain information, such as a partial system description, is predefined and then adapted to fit the context of a specific vehicle. In the following sections, the source of the information will be referred to as the template, while the location where it is reused or the derived information itself will be referred to as the usage.
Information reuse differs from a classic instantiation model that typically involves distinct classes for type and instance, such as PartVersion and PartOccurrence. In an instantiation model, the structure clearly specifies which attributes are defined by the type and which by the instance. For example, the cross-section area of a wire might be defined by the "wire type," while the length is defined by the "wire instance."
In a reuse scenario, however, the same model elements (VEC classes) are employed both in the template and in describing the usage. For instance, a system schematic building block is described using Connections and ComponentNodes, and its usage is also described using Connections and ComponentNodes. Essentially, information reuse involves copying the original data, which can then be supplemented with additional information, redefined, or even overridden. The extent to which the usage is allowed to deviate from the template is specific to each case and depends on business rules that apply to the scenario. Typically, the usage is fully self-contained and can function independently.
The traceability provided by the ReusageSpecification and Reusage-Elements allows the enforcement of business rules between template and usage. Scenarios that exemplify this traceability include:
- Downstream Change Propagation: When the template is updated, changes could be propagated to the derived elements.
- Limitation of Deviation: Information defined in the template might be restricted or flexible for modification in the usage or only changeable in specific ways. For instance, a template could define standard aspects of a component (such as a standard cavity or conductor). Some template attributes might be mandatory in the usage, while others could be redefined.
An individual ReusageSpecification shall be defined when reusing a specific block of information within a particular context. For example, reusing a partial schematic within a vehicle-specific schematic represents one ReusageSpecification. Adding a second partial schematic to the vehicle constitutes a second ReusageSpecification. Reusing the same partial system schematic in another vehicle-specific schematic would require a third ReusageSpecification.
Within a ReusageSpecification, a Reusage-Element is created for every ExtendableElement from the template that is utilized in the usage.