Keywords

1 Introduction

The high complexity of wiring harnesses and the currently low level of automation cause a high production effort [1]. Consequently, early design freezes are required to ensure on-time assembly. In addition subsequent changes to ensure operability, as well as parallel development of various product variants on one platform, result in overlapping timelines. Since each development phase of any product variant sets new requirements [2], changes may only be valid from specific phases and dates. This causes the creation of variants for individual subareas of the wiring harness. Due to the modular and tree-like structure of the wiring harness other areas, can still remain the same (see Fig. 1). Since newly gained knowledge and the corresponding adjustments to one CAD model can also be relevant for other models that are being developed in parallel, redundant maintenance efforts are the result [3]. This ensures that variants can be kept as similar as possible, but also avoids the repetition of errors and therefore reducing costs [3, 4].

Fig. 1.
figure 1

Variants of wiring harnesses during parallel development

Since changes have to be done almost daily and the complexity of the wiring harness itself, the execution of changes require a particular high effort [5, 6]. Engineers in wiring harness development spend almost 80% of their time for change management, which is almost three times what engineers in other fields spend on average with approximately 25% of their time [7, 8]. Therefore, reducing the time for redundant design changes by reusing gained knowledge to automate individual design tasks offers a high potential for increasing the efficiency of those changes [3, 9]. To address this, Eder et al. [3] present an approach for a knowledge management system. In Order to advance the knowledge reuse stage of that approach, the following questions have to be answered:

  • What are scenarios for knowledge reuse of CAD data in wiring harness development?

  • How can knowledge be integrated in CAD data sets of wiring harnesses?

  • What conditions must apply for the reuse of knowledge?

This paper is structured as follows: Sect. 2 reviews the state of the art of knowledge reuse in engineering design and in software development. Furthermore, it presents an overview of knowledge of wiring harnesses in CAD. Section 3 shows different reuse scenarios of CAD data in wiring harness development and a corresponding reuse methodology. Section 4 validates the presented methodology. Section 5 concludes and gives an outlook on future research.

2 State of the Art

Although knowledge reuse is a desire of any company, its implementation is difficult and the actual benefits are hard to determine [4, 10]. Knowledge can either be explicit in form of data or it can be tacit, which is based on personal experience and therefore difficult to express [11]. To reuse explicit knowledge, it has to be made available by the interpretation of relevant information tailored to its use case [12]. Since native CAD files are encrypted, all relevant information have to be exported via API (application programming interface) into a universal machine readable format like the XML-scheme [13]. In addition, it must be defined under which constraints a reuse of knowledge is possible and how it can be integrated [14].

2.1 Knowledge Reuse in Engineering Design

Knowledge reuse is based on a detailed understanding of the structure and internal logic of a product [10]. One massive challenge of knowledge reuse is, the more constraints and information are associated to the knowledge, the more unique the use case is, decreasing the reusability [4]. For example, the different boundary conditions make the transfer of knowledge between product families more difficult than within product families. In addition, reusability decreases the higher the product complexity [10]. To counter these challenges, the reuse of knowledge can vary over degree of completeness [15] and level of abstraction [4]. Instead of always reusing the whole knowledge, only individual aspects of the existing knowledge are reused, which reduces the applicable constraints. By increasing the level of abstraction, the focus on individual information rises. In general, the higher the degree of abstraction, the more flexible and reusable the existing knowledge becomes. But therefore, it is crucial to preserve the design intent, which requires a fundamental design knowledge and awareness of existing design to ensure a correct integration [15]. According to Lundin et al. [10], reusing knowledge with a high level of abstraction is more likely to result in a conceptual solution proposal, whereas a low level of abstraction is more likely to result in a direct implementation. Chen et al. [14] suggest, using individual reuse mechanisms for functions, geometry, features and interfaces. This should enable designers to decide for themselves what information interests them. Then a tool should assist the designer with the integration of the selected knowledge and thus avoiding that designers have to recreate the knowledge from scratch [14].

2.2 Knowledge Reuse in Software Development

For a long time, it is state of the art in software development to work on a program in parallel using a version control system (VCS) [16]. Programmer can create a local temporary variant, a so called branch, of the master data set at any time. This allows all desired changes to be made without external influences. Subsequently, all changes can be transferred to the master data set. The changes made are automatically detected by the VCS based on the specified merge algorithm and can be transferred where possible. If the program code has been changed since the local branch has been created, a conflict may occur. Depending on the merge algorithm, e.g. semantically or structural, these can be solved automatically in some cases [17]. Since each algorithm can only cover certain scenarios, conflicts often have to be solved by the respective developer manually [18]. A fully automated conflict resolving is generally considered to be not safe in practice, since errors can be caused during this process. Rather, it is considered useful to assist the developer in resolving the conflict [19].

2.3 Structure and Knowledge of a Wiring Harness in CAD

A wiring harness is composed of individual segments. Each segment consists of a bundle of individual wires, which can be built up modularly by a connector, a wire protection, fixings and accessories, such as labels [20]. In general a segment is represented with a maximum bundle diameter in order to reserve installation space in the vehicle. Following the top-down principle a wiring harness CAD assembly is designed around one central part containing all segments, wire protections and accessories. In addition parts like connectors and fixings are added from a PDM system and positioned as desired [21]. Furthermore, each connector is allocated to its specific electro logical function via unique reference. Due to the modular structure and the clearly defined linkage of each element a wiring harness assembly can be fully described by the knowledge about the part data, the associated information like the connector references, their positioning, as well as the routing path of each segment [20]. Eder et al. [20] show how the explicit knowledge about changes made in on CAD model can be formalized. Therefore, all types of changes that can be made to a CAD model of a wiring harness are characterized. In addition, a methodology is presented on how to automatically detect these changes. To increase reusability, all changes in a CAD model are analyzed and clustered according to their intentions automatically. Furthermore, these clusters are stored in a Diff-XML file, containing all information about the state before and after the change was made. In addition this information is enhanced by automatic generated change descriptions. According to Altner et al. [22] the usage of standardized description improves the engineering change management.

3 Methodology for Knowledge Reuse in Wiring Harness Development

In order to reuse knowledge in different CAD data, all scenarios are identified in which elements and attributes can be similar and thus potentially be transferred. These scenarios are used to develop the following methods. In addition, all requirements for application and implementation of these methods are specified.

3.1 Scenarios for Knowledge Reuse

In the development of wiring harnesses, there are three scenarios that can be considered for knowledge reuse. One of these is the development of several phases in parallel. During this process, variants arise due to different requirements of the individual development phases and changes after the design freeze. However, the resulting individual variants can still have some of the same elements and areas. When changes are made to one data set, these can also be relevant for other data sets [3]. Therefore, the more product variants share the same wiring harness, the more data variants can be in development at the same time and consequently be considered for knowledge reuse. Another opportunity for the reuse of knowledge are alternative installation paths of one particular wiring harness. Since a wiring harness is a flexible component, the same product can be installed in many different ways. The need for these can be caused, for example, by different environmental conditions or various equipment variants in the vehicle. Consequently, each alternative installation path requires an individual CAD model. Since alternative installation paths correspond to the same product, it is necessary that all part data, the associated elements, as well as the segment structure and length remain the same in all corresponding CAD models. This requires that all changes to one model of the wiring harness must be transferred to all the other models.

The third scenario is based upon product variants that are built on partially the same bodywork areas, such as different vehicle derivatives and steering types. For example, changes to body holes and repositioning of components can cause adjustments to fixings and connectors in several CAD models. An overview of which elements and attributes are relevant for knowledge reuse in each scenario is shown in Fig. 2.

Fig. 2.
figure 2

Reusable elements and attributes of wiring harnesses in possible development scenarios

3.2 Knowledge Reuse Methods

CAD models that are developed in parallel usually differ in degree of similarity. Thus, the shared knowledge can cover entire areas or only individual elements and attributes. These variations lead to the fact that changes cannot be transferred completely in each case. In order to utilize the maximum potential of the acquired knowledge, it becomes necessary to reuse the knowledge in varying degrees of completeness and abstraction, as described in the state of the art. Based on the modular and tree-like structure of the wiring harness, the three categories complete reuse, partial reuse and assisted reuse are defined. Furthermore, all constraints and matching rules are specified to determine if knowledge reuse is possible and which method has to be used.

Complete Reuse:

All elements and attributes of the changes made in one CAD model are transferred into another model (see Fig. 3). The basic requirement for this type of transfer is that all elements and attributes of the affected area are identical in both data sets. This transfer can be done automatically without any additional user input. As such, it offers the greatest time saving of the three reuse methods. In addition, multiple data sets can be kept as similar as possible, giving a higher potential for knowledge reuse and especially complete reuse in the future.

Fig. 3.
figure 3

Principle of complete reuse

Partial Reuse:

Only selected elements and attributes of the changes made in one CAD model are transferred into another model (see Fig. 4). Therefore, specific matching and transfer rules have to be met. For example, if the part data and the information of a connector are identical, but the position differs, the connector can be replaced by reusing the gained knowledge automatically without any additional user input.

Fig. 4.
figure 4

Principle of partial reuse

Assisted Reuse:

Only selected elements and attributes of the changes made in one CAD model are transferred into another model. Thereby, a conflict arises between the source data and the destination data. This occurs, for example, when the position of one element has to be transferred to another data set whose segment path differs from the source data set (see Fig. 5). Consequently, there is no defined routing with the geometric boundary conditions of the designated data set and the position data to be reused. In order to solve the conflict and to be able to carry out the reuse process, the missing information must be supplemented by the user with support from the system. In analogy to software development, a fully automated conflict solution is considered to be too complex and prone to error. One reason for this is the lack of information about the environment in the available data, so collisions with the surroundings cannot be ruled out.

Fig. 5.
figure 5

Principle of assisted reuse

3.3 Requirements for Implementation

The approach to integrate knowledge into other CAD models is to modify them in the CAD system using the information of a Diff-XML file. Therefore, the XML file should either be provided manually or should be made available to the CAD system by an appropriate knowledge management system via API. The system has to search for the elements and attributes that match the initial state of the Diff-XML file. Depending on the matched data, the specific reuse rules must be applied in order to determine all possible reuse options and thus the reuse method to be carried out in each case. Subsequently, all changes that can be integrated have to be offered to the user in a selection window using corresponding change descriptions. Based on the user input, the system will then execute the selected changes automatically. The Functions that need to be performed by the CAD system in order to reproduce all the change scenarios are listed in Fig. 6.

Fig. 6.
figure 6

Requirements for the implementation of the knowledge reuse methods

Changes for which assisted reuse is required must be offered to the user in a feature box that allows the user to enter the missing information. For example, if a new connector has to be added, the user is asked to define the branch-off point from an existing segment.

4 Validation

In Order to validate our methodology, several CAD models were modified in Siemens NX by using the possible operations add, delete, replace and change. Before and after the changes were carried out, XML files were generated containing all necessary information about the wiring harness CAD model. Based on these, the corresponding Diff-XML files were created. A prototype add-on for Siemens NX was used to integrate the contained knowledge of a Diff-XML file into a wiring harness CAD model. All implementable changes were displayed in a user interface and could be selected by the designer. To validate the complete reuse method, all changes were recreated with the previous versions of the manually modified CAD models. Then, each manually adjusted data set was compared to the ones created by knowledge reuse to ensure that there were no deviations. Furthermore, individual elements and attributes could be transferred and thus the technological feasibility of the partial reuse and assisted reuse could be shown. Figure 7 presents an example of how the knowledge reuse process implemented into a CAD system could look like.

Fig. 7.
figure 7

Example of the knowledge reuse methodology implemented into a CAD system

Nevertheless, the tests also revealed optimization potentials. If, for example, a new connector was added to a CAD model, this connector could be theoretically integrated into almost all the other data models with assisted reuse. Thus, to prevent designers from being offered too many irrelevant change options, an additional relevance check might be useful. In addition, minor deviations of individual elements and attributes led to the fact that knowledge could only be implemented with assistance. A tolerance in the matching of the attributes might improve the efficiency.

5 Conclusion and Outlook

The increasing demand for high quality data during parallel development of multiple wiring harness variants requires individual changes to be carried out redundantly in multiple CAD models. In this paper, it was presented how these efforts can be reduced by reusing knowledge. First, the different use cases that occur in wiring harness development were specified. Based on these, a methodology for complete reuse and partial reuse were introduced, enabling the transfer of changes made to one CAD model into another one in varying degree of completeness automatically. In order to be able to integrate knowledge in situations where information are missing or conflicts occur, a method for assisted reuse was presented. Furthermore, it was specified that complete reuse can be applied, if whole areas are identical between two data sets. Partial reuse and assisted reuse, on the other hand, can be used when certain elements and attributes match. In addition, the requirements that have to be met in order to implement the reuse method into a CAD system were presented. For future work, these methods should be combined with a corresponding knowledge management system which is also responsible for the generation and transfer of the knowledge via Diff-XML files. In addition, the optimization potential identified should be investigated in order to increase the usability and efficiency of the reuse process.