putational support for a concurrent engineering approach. At present ..... companies the record of the violation in a violations log. ..... representation and reasoning in machine design. Technical Report 212, The University of Texas at Austin. 18 ...
Computational Support for Concurrent Engineering of Cable Harnesses Hisup Park Center for Design Research, Stanford University & Lockheed Missiles and Space Co.. O/86-61 B/153 Sunnyvale, CA 94089-3504 Soo Hong Lee Mark R. Cutkosky Center for Design Research Stanford University Stanford, California 94305-4026
CDR Technical Report No.
Submitted in
19920219 San Francisco, CA, 1992
Computers in Engineering Conference, Februrary 15, 1992
Abstract Design and production of cables for aerospace systems provide the background for the development of concurrent engineering framework. Key issues include the development of an architecture that supports collaboration among engineers associated with dierent parts of the cable design process and the development of hierarchical representations that capture the dierent characteristics (e.g., connectivity, geometry) of the harnesses. The abstraction of design information results in features, while the abstraction of operations leads to the development of agents. These abstractions are essential for ecient transactions among people and computer tools in a domain that involves numerous interacting constraints. We have decomposed the cable design process into ve basic categories of tasks that are each addressed by an \agent": the Environment Editor, the Free Space Manager, the Cable Editor, the Component Selector, and the Cost Comparator. In this paper the strategy for the problem decomposition, the de nition of features, and the ways in which features are used by various agents, are discussed. We conclude with a discussion of some of the issues raised by the project and the steps underway to address them. This work has been supported by Lockheed Missiles and Space Co. and DARPA under ONR grant N00014-88K0620.
1
1 Introduction Computational support for concurrent engineering has received much attention recently and has resulted in a number of prototype systems such as those described in [Cutkosky and Tenenbaum 1991, Sriram et al. 1989, Dym and Levitt 1991, Mayer and Lu 1988]. The earlier systems were often based on a blackboard architecture, following the information generation and sharing concepts detailed in [Nii 1986b, Nii 1986a, Hayes-Roth 1985]. More recently, agent-based systems have gained much attention, in conjunction with distributed problem solving [Shoham 1991, Sycara 1989, Lander et al. 1989]. The relative autonomy and exibility of agents appear well suited to the needs of a cooperative engineering enterprise. Regardless of the approach, some of the most important issues in providing computational support for concurrent engineering are task decomposition, abstraction, and representation. In this paper we describe these issues in the context of a concurrent engineering system developed to support the design and fabrication of wire harness assemblies for aerospace equipment. We rst describe the cable design domain and distinguish the aspects that make this a challenging and interesting concurrent engineering problem. In section 3, we de ne the features of this domain. Section 4 describes how these features are used in operations of varying levels of abstraction. In conjunction, we elaborate on the de nition of agents in First-Link . We conclude with a discussion of the First-Link approach and future work.
2 The Cable Design Domain After some exploration, cable harness design and fabrication were identi ed by the sta of a large aerospace contractor as an ideal area in which to introduce computational support for concurrent engineering. First, cable harness design is a relatively mature eld in which design requirements and constraints have been established over several decades of practice. Second, cable harness design includes a combination of electrical and mechanical concerns and provides an impetus for integrating these disciplines. The primitives involved in cable harness design, though modest in number, must address the harness con guration, geometry, mechanical integrity and electrical connectivity. In addition, cable harness routing requires extensive three-dimensional spatial reasoning. Finally, cable harness design stands to bene t dramatically from a simultaneous engineering approach, as the harness geometry, weight and cost are greatly aected by decisions made elsewhere in the organization.
2.1 Problem Description Figure 1 shows a typical cable harness used in missiles and aircrafts. While the design of a cable harness may appear on the surface to be rather routine, it is in fact a complex design problem. The cables come in many dierent sizes and varieties and carry a combination of signals and power between electronic packages and subassemblies. Wiring requirements determine the number of wires that each cable segment contains, which in turn determines the bending stiness and mass distribution of the cable. The cables are held in place by a variety of clamps which ultimately de nes the path of the cable. Special regions within the cabling environment may impose further design requirements. For example, a segment routed through a high temperature zone will require a thicker insulation jacket. Required osets, or clearances for package maintenance and removal, may reduce the size of the usable free space, whereas the presence of a exible obstacle (e.g. another cable) provides the 2
FERRULE NUT
CAP
COPPER BRAID INSULATION JACKET
FERRULE
WIRE
SHIELD BRAID
CONNECTOR
TRANSITION ASSEMBLY
CONNECTOR & BUNDLE ASSEMBLIES
Figure 1: Typical cable components used for avionics. nominal free space with some extensibility. The rule is that any electronic package or cable must be removable without disconnecting any other cable. Human factors are also considered; in areas near crawl spaces, a cable segment should not present a tempting \handle" for maintenance personnel to grab. The end result is that the cable and free space geometry become complex as large numbers of cables are squeezed into a minimum of unoccupied space. As for the overall design objectives, it is clear that for aerospace applications reliability is the governing imperative. However, harness weight and weight distribution are also critical factors, as they directly aect the performance of ight vehicles. Finally, material and production costs are, as always, important considerations. A glance at Figure 2 illustrates some of the interdependencies in cable harness design. Such interdependencies make the design process relatively volatile; a change in any of the design criteria can initiate a cascade of modi cations. Cable harness design is consequently a time-consuming, iterative, and often tedious process. The problem is further complicated by the vulnerability of the of cable harness to decisions made upstream in the design process. The exibility of cables ensures that there are many possible routes that will satisfy a given set of wiring and space constraints. Therefore, cable routing is often left till near the end of the design cycle. As a result, the cable harness must be recon gured with almost every change that aects the interior geometry of the vehicle. Even a minor change, such as moving a package by half an inch, may require an entire cable redesign if a previously used path becomes obstructed. In practice, such design iterations are common, particularly because the development cycle is long and the design process must begin early to meet product deadlines. These circumstances are especially pronounced in test vehicles, which are equipped with additional, uniquely arranged instruments that necessitate extensive readjustments of the cables. The previous description indicates that the design process would bene t substantially from computational support for a concurrent engineering approach. At present, work is often forced to progress 3
Cable Environment
Free Space Attributes
Wiring Requirement Bundle Composition Bundle Diameter
Free Space
Bundle Stiffness Other Cables Bundle Mass Density Path Cable Configuration Cable Cost
Parts List
Clamping Configuration Cable Weight
3D Cable Layout
1st Order Effects
Bundle Length
2nd Order Effects
Figure 2: Tasks within the cable design process are highly interdependent. Maintaining consistency is dicult for human designers. in a serial fashion. This involves wasteful waiting periods, costly design iterations, inecient design, and increased development time. Therefore, the most important functions of the computational tools are not to automate individual aspects of the design process (although this is useful for speeding up routine tasks) but to help engineers detect and resolve con icts and ensure the consistency and validity of interdependent elements of the design. The objective in developing First-Link is to explore computational support for multidisciplinary concurrent engineering tasks, using the cable design problem as an example. The architecture and much of the programming methodology embodied in First-Link are derived from a previous research system called Next-Cut [Cutkosky and Tenenbaum 1991]. However, First-Link needs to extend the approach of Next-Cut in several ways. For example, the software modules in Next-Cut adhered to a \safe" strategy in which they assumed that all external constraints were non-negotiable, and in which modi cations to design or process elements were done so as to cause only localized changes whenever possible. In First-Link , this approach would be too restrictive, due to the high degree of interdependency among wiring, geometric and mechanical issues.
2.2 Problem Decomposition A small scale project involving one or two primary designers can, in general, progress along a fairly straightforward sequence of steps. However, in medium- to large-scale design problems, the product development eort will involve multiple organizations with tens or even hundreds of people, and a \divide-and-conquer" approach becomes necessary. The primary motivations are a shortened de4
FSM EE
CS
CDKS CE
CC
Figure 3: Five agents of First-Link system that resulted from the problem decomposition analysis. velopment cycle and better utilization of resources. In this situation, individual groups must begin making decisions as early as possible, using whatever information is available. The division of tasks and the organization of the groups will aect the cycle time, the cost of the development, and even the quality of the solution. Accordingly, the agents identi ed for First-Link were the result of considerable discussion, re ecting not only the inherent characteristics of the cable design problem, but also the needs of the human organizations that are involved in the design process. The main considerations included: the ability to make parallel progress with partial knowledge; provisions for incremental design re nement; sharing of common resources (tools, functions, etc.) and data (e.g. libraries; hiding of the internal details of individual activities; reducing the communications overhead between activities; and familiarity and intuitiveness of the system to users.) Ultimately, the cable design problem was divided into ve major tasks:
modeling and manipulation of the environment, free space identi cation and path generation, cable con guration generation and management, component selection, and assessment and comparison of design solutions.
In the First-Link system, each task is supported by an agent, containing a set of operations and representations, and an editor for human interaction. The Environment Editor (EE) deals with the transfer and management of geometric entities that make up the cabling environment. The Free Space Manager (FSM) determines the paths for cable segments within the environment. The Cable Editor (CE) generates and maintains the cable con gurations based on the wiring requirements and 5
PART SPECIFICATION CONFIGURATION
GEOMETRY
CONNECTIVITY
Figure 4: The cable design problem contains 3 primary aspects: connectivity, con guration, and geometry. geometric and other constraints. The Component Selector (CS) produces and maintains the bill-ofmaterial for each harness. Cost Comparator (CC) helps the designer in selecting between alternate solutions with respect to selected criteria. (See Figure 3.)
3 Design Representation in First-Link During product development, designers use multiple levels of abstraction to focus on dierent aspects of the problem without being overwhelmed by detail. In computer-aided design systems, features are an important mechanism for supporting abstraction. To determine what useful features may be de ned for the cable design domain, we rst need to recognize three basic properties of the cable harness. As shown in Figure 4, these are connectivity, con guration, and geometry. The need to maintain distinct representations of, for example, con guration and geometry has also been identi ed in previous design systems (e.g., [Welch and Dixon 1989], [Cutkosky et al. 1992]). A solution (or a set of solutions) is reached when the conditions of connectivity, con guration and geometry are satis ed simultaneously. The cable connectivity embodies the primary function of the cable harness. The connectivity requirements are summarized in a wiring table in which each row represents a single wire with identi cations for the originating connector and pin, destination connector and pin, wire type and 6
CONFIGURATION TERMINAL & NESTED BRANCHES
BRANCH 1
BRANCH 2
ELEMENT 2
ELEMENT 1
COMPONENT 1
BRANCH k
BUNDLE CONNECTOR & TRANSITION SUBASSEMBLIES
ELEMENT m
COMPONENT 2
COMPONENT n
WIRES CONNECTORS FERRULES FERRULE NUTS SHIELDING INSULATION TRANSITION SHELLS T-COUPLINGS T-PORTS CLAMPS
Figure 5: Hierarchy of features in cable harness design. gauge. A single cable can contain hundreds of wires. The cable con guration speci es the layout and ordering relationships among the elements of the cable harness assembly. When displayed graphically, it shows how the harness would look if spread out on a at surface, keeping all wires straight and all connections at right angles. Individual wires are grouped into bundles, with breakouts at transition points and connectors at the terminal nodes. Numerous factors in uence the ultimate grouping, including the vicinity of the origin and destinations, available space, clamping locations, and material cost and weight. The cable harness assembly also contains hardware components that gather, secure and protect the bundled wires. These include connectors, ferrule and ferrule nuts, metallic shielding, insulation and ak-protection jackets, T-transitions and accompanying transition-nuts, and clamps. (See Figure 1). The part-subpart hierarchy of these components leads to a hierarchical representation containing components (leaf nodes), elements (which include connector, bundle, transition, and clamp subassemblies), branches, and nally, the overall configuration. (See Figure 5.) Many con gurations are generally possible for a given set of point-to-point connectivity speci cations. (See Figure 8 for example.) Changing the cable con guration typically involves changing the wire count in individual bundles, with attendant changes in weight, minimum bend radius, etc. Finally, geometry de nes the space within which a cable must reside, and the path taken by the cable through the space. It also de nes the trajectories needed for installing and removing cables and other components. Just as many con gurations will usually be possible for a given set of wiring speci cations, many paths will usually be possible for a given con guration and free-space.
3.1 Features for Cable Design Based on the above observations, one can de ne a set of features for cable design:
The most important primitive component in cable design is the bundle . A bundle is a composite
of wires, shielding, and protective jacket(s). From the standpoints of connectivity, con guration or geometry, the bundle can be viewed, respectively, as a wire list, a subassembly or a curve in space. Figure 6 shows the object de nition for the bundle feature. Properties of the bundle 7
cable
Bundle Object parent object superior-part wire-list bundle diameter bending radius bending stiffness port1-face port2-face drawing instruction weight cost length geometric-model
(movable body) (configuration) (wires) (method to compute) (method to compute) (method to compute) ;; used for connectivity ;; maintenance (color etc.) (method to compute) ;; from Cost Comparator ;; & local information ;; from Free-Space Manager ;; e.g. spline
connector clamp
transition bundle jacket
wire shielding
Figure 6: (a) Corresponding object and slot de nitions for bundle feature. (b) Object part-subpart hierarchy
include its diameter, stiness, minimum bending radius, and linear weight density. These properties, along with the placement of clamps, determine the path the cables will ultimately take. The transition permits branching (or merging) of a bundle. An exclusive-OR relationship between the contiguous bundles' wire-lists must be observed for the transition to be valid (see Figure 9). From the con guration standpoint, the transition is also a subassembly of components, as shown in Figure 1. The transition plays a key role in determining the properties of a cable layout. Bundles that are linked to transitions at both ends are called trans ? bundles. A connector is a subassembly of components that provide the connection between an electronic package and a bundle. It represents the termination point of a set of wires and provides the positions and orientations in space that constrain adjacent bundles (term-bundles). Clamps are xturing devices used to anchor various points along the bundles. Dierent types of clamps are available to control the number of degrees of freedom as well as the stiness of the attachment. Accordingly the choice and location of the clamps determine the ultimate physical con guration, and the exibility of the cable in the three dimensional space. The clamps are represented as both physical components and kinematic and dynamic constraint mechanisms. A branch is a subassembly of a cable harness that contains a group of bundles, connectors and transitions. This is a highly useful element for dividing the harness into meaningful subsections, particularly for con guration modi cation as described in the following section. The free space represents the complement of the volumes occupied by the physical objects. Local decomposition may be used to control the granularity and to model the potential paths more eciently. Regions within the free space feature are also labeled to keep track of special high-vibration, high-temperature, ak-exposure, and clearance conditions. The free-space also involves special representations for regions occupied by movable, or exible obstacles, such as hinged or shock-mounted xtures or another cable. The path is a curve or set of curves through free space. Initially the paths are collections of curves between connector locations. They indicate where in space a cable segment may reside, and do not address the extent of the free space surrounding the cable. As more constraints are satis ed, the paths eventually coincide with the axial centerlines of the cable segments. 8
4 Operations and Functions in First-Link In much the same way that abstraction of data leads to the de nition of features, abstraction of functions and operations leads to the concept of agents. The notions of transactions [Eastman and Kutay 1989], knowledge sources [Nii 1986b], and agents [Shoham 1991] all seek to derive a meaningful abstraction strategy for operations. In this section, we shall describe the abstraction strategy for the cable design operations. Working with selected representations, operations act on a feature to modify, re ne, abstract, or transform them [Talukdar and Fenves 1989]. Distinctions among levels of abstraction for operations are useful for the same reasons that pertain to data. At the lowest level, there are utility functions and methods that manipulate variables and object slots. For example, a method in the transitionobject updates the properties of the bundle-objects that are attached to each of its ports when a recon guration of the cable harness is performed. When such operations are combined to represent a high level behavior (e.g., build-cable-con guration), we obtain a software module that performs a task that is comparable to a \job" performed by a human specialist. What this module lacks is the ability to communicate and to recognize changing conditions in the design environment. If elements of such cooperative behavior can be added to this module (de ned within the system's framework), then we obtain the highest form of functional abstraction called an agent . Thus, in the First-Link framework, an agent is an entity that performs a homogeneous set of operations and behaves cooperatively within the structure de ned by the framework. We have identi ed the following list of capabilities that are necessary for each agent in the cable harness domain:
the ability to inform other agents of its functions and capabilities, the ability to identify and request the externally generated information necessary to perform
its tasks, the ability to recognize which other agent(s) can provide the missing information, the ability to respond to requests from other agents, ability to evaluate a design in reference to the agent's local constraint set, the ability to document constraint violations, design decisions and explanations, the ability to access common resources and utilities within the framework, such as the design model, knowledge bases, and tools.
Note that this de nition is equally applicable to a software module, or a human interacting through an editor. What is important is that each agent appears like any other agent to the community. In either case the agent consists of two elements: a set of operations whose format and behavior is unrestricted by the framework, and a set of interaction mechanisms whose protocol is de ned and enforced by the framework.
4.1 First-Link design environment In this section we describe the functions of the ve agents that presently constitute First-Link . As yet, none of the agents exhibits the full range of interactive capabilities discussed in the previous 9
section. However, the Cable Editor , the Component Selector and the Environment Editor now provide enough basic capabilities that they can be used in design test problems. The Cable Editor is the most mature of the agents and will be discussed in detail.
4.1.1 Cable Editor The Cable Editor allows designers to experiment with dierent cable con gurations and automatically updates the details of the bundles when the con guration is changed. As discussed in Section 3, there are typically many con gurations that will satisfy a given set of point-to-point wiring or connectivity constraints. The dierent con gurations result in dierent wire counts within bundles and dierent bundle lengths, diameters, bend radii, etc. At a higher level, the various con gurations that satisfy a set of wiring constraints will result in dierent weights and costs, and will be more or less eective at utilizing the available free space. The ability to quickly generate and test dierent con gurations is therefore an important part of cable harness design. However, keeping track of the associated constraints and updating the aected parameters with each change is tedious if done manually. One of the main functions of the Cable Editor is to automate these details. If no previous con guration exists, the Cable Editor begins with a default \spine" con guration that satis es the connectivity requirements. The connectivity requirements are represented by a wiring table listing the originating connector, originating pin, destination connector, destination pin, wire-type, and wire-gauge for each wire. The two main operations for transforming the harness into new con gurations are swap-bundle and move-branch. The swap-bundle (bundleA ; bundleB) operation can be thought of as cutting the two selected bundles and reattaching them so that the branches that emanate from each bundle are exchanged. The move-branch (branch,location) operation involves removing a branch of the harness that emanates from a particular transition (T ) element and inserting it elsewhere in the harness. The bundles that were on either side of the original transition are then merged. Figure 7 shows the eect of moving a branch in the harness. For both the move-branch and swap-bundle operations, the cable harness can be viewed as an assembled tree of bundles, transitions and end connectors, each of which is given a relative position and orientation with respect to the component preceding it in the tree. Thus, the connection face, A, on the transition element Ta in Figure 7 is the \root" of the tree, as indicated by arrows. When a move-branch operation is invoked, the harness is disconnected at the aected branch, breaking the harness into three subassemblies. At this point, the location dependency information is recomputed so that the the terminal nodes automatically follow the base of the branch to be moved. In Figure 7, transition element Tb is the base of the branch to be moved, and the location and orientation of the terminal nodes are therefore recomputed with respect to it. After moving the branch, we observe that connection face B has become the \root" of the new harness assembly. The arrows in bold face show bundles for which location dependency information has been reversed. The method for propagating parameter values and contiguity information along the harness assembly is similar to that used in other object-oriented assembly design systems, such as those described in [Konkar et al. 1990, Kannapan and Marshek 1989]. The information is propagated via connections between ports on mating components. Each bundle has two ports and each transition has three. The ports contain information about the mating faces of components:
port1-face : connection-face port2-face : connection-face 10
A
B
move
Tb
Ta
(a) before move-branch
B
Tb
A
Ta
(b) after move-branch Figure 7: An example move-branch operation. Arrows represent the directions for propagating location information for contiguous elements. A and B denote connection faces on transition elements Ta and Tb.
11
(port3-face : connection-face) The connection-face objects associated with the ports have the following structure:
owner : component to which the face is attached port : a surface on the owner to which this face is xed (i.e., :LEFT, :RIGHT, :TOP, :BOTTOM, etc.) target-face : a connection-face belonging to mating component to which this face is linked
The ports and connection faces are automatically created and linked when new bundles and transitions are added to the harness assembly. The wire count in each bundle is then computed following the rules summarized in Figure 9.) By applying combinations of the swap-bundle and move-branch transformations, arbitrary rearrangements can be made. However, to satisfy spatial constraints, additional operations which aect the cable con guration but not the branching, may be necessary. Examples include ip-transition, which rotates a transition connector 180o about its main axis and make-ganged-transition, which merges two transitions by eliminating the intermediate bundle. Transformations of the cable harness also necessitate recomputation of the characteristics of bundles between transition connectors, including changes in each bundle's wire-list, diameter and bending radius. Thus, with each transformation the following methods (procedures) are invoked:
monitor-trans-bundle : a low-level operation that updates the properties of the bundle feature,
including the wire-list, bending stiness, minimum bending-radius, and bundle-diameter. record-constraint-violations : an operation that records violations encountered as a new con guration is generated. When a constraint is violated, for example when a limit on the maximum bundle diameter is exceeded as a result of updating a bundle, the Cable Editor prompts the designer to either override the constraint or cancel the operation. If the designer, or another agent, elects to override the constraint, he is required to provide an explanation, which accompanies the record of the violation in a violations log. During the course of the design, subsequent operations may nullify this violation; for instance, a subsequent swap operation may reduce the bundle's diameter, bringing it back within speci cations. When the constraint is no longer violated, the entry in the log is voided. The Cable Editor also provides editing and testing functions for human interaction including:
add-notes : this operation lets the designer annotate an element of the design artifact (e.g., to
give extra instructions or explanations). modify-constraint : this operations allows the designer (or another agent) to change a constraint. For example, the Free Space Manager can set the maximum bundle diameter in a region of space. trace-wires : this operation shows an origin and a destination connector for a selected wire. show-wires-in-connector : This function traces the paths of all wires emanating from a chosen connector. 12
In order to demonstrate the interdependencies among the three aspects of the cable problem (connectivity, con guration, and geometry), it is worthwhile to examine a branch swap operation in detail. The example begins with the \base" con guration in Window I of Figure 8, which is generated from a wiring requirements table, partly shown in the upper left corner of the gure. The contents of each bundle are indicated schematically by dierent line thicknesses. A designer, or perhaps another agent in First-Link , speci es that the branch bundle to connector C3 and the trans-bundle, B2, should be swapped. The resulting con guration is shown in Window II. Next, it is speci ed that bundle B1 should be swapped with the branch bundle to connector C2, resulting in the con guration in Window III. Finally, bundle B1 is swapped with the branch bundle from connector C1, resulting in the con guration shown in Window IV. The wire list for bundles B1 and B2 after each operation are tracked in a table in the upper right corner of the gure. Although this example has been simpli ed for clarity (typical wire counts are much higher and there are several dierent types of wire in most bundles) it illustrates how the swap bundle operations can alter the cable con guration and how the details of the bundles must be updated after each change. In particular, we note that bundle B2 has become substantially thicker as a result of the transformations. Therefore, there is a chance that B2 would violate a constraint on the maximum bundle diameter. On the other hand, if bundle B1 and B2 are short in con guration IV, then this con guration probably represents a substantial savings in weight over the original con guration. The foregoing example demonstrates the value of functional abstraction. To the designer, the swapping operation is an intuitive high-level task for changing the harness con guration. However, if done manually, the tracing of wires and the checking of constraints on bundle diameter, bend radius, etc. is tedious. By automating these functions and maintaining a record of changes and constraint violations, the Cable Editor encourages the designer to experiment freely with alternative con gurations in response to shifting geometric and cost considerations. This approach pervades First-Link , and is in fact, the purpose of its agents. Rather than attempting to automate fully the cable design problem with a single large program, the hierarchical representation and the agents allow the designers to work on the overall problem at an abstract level, with low information-sharing overhead, enhanced data consistency, and better focus on global feasibility and optimality. Following are brief descriptions of the other agents in the First-Link system, included here for the sake of completeness.
4.1.2 Component Selector The Component Selector uses the con guration (provided by the Cable Editor) to generate a partslist for the cable. It maintains a complete library that contains part-numbers and part properties, such as weight and material cost. A rule base provides the Cable Editor with a basis for selecting components. In line with the incremental re nement approach discussed earlier, this agent tries at each stage to select as many parts as the existing information will allow. For example, if the length of a cable segment is not yet available, because the Free Space Manager has not yet applied the geometry constraints, the Component Selector uses a default (approximated) length, until an update is triggered. This agent also provides a range of interactive tools that allow the user (or an agent) to override or modify the automatic component selection. It also provides a facility to attach notes to any of the selections.
13
ORIGIN DEST PIN # PIN # CONN CONN 1 C2 1 C1
WIRE # 1 2
C1
3
C3
1
3
C2
2
C5
3
4
C3
2
C4
1
5
C4
2
C1
2
6
C4
3
C5
2
7
C5
1
C3
3
I
{1, 4, 5, 7}
{1, 6, 7}
II
{2, 5, 6, 7}
{1, 6, 7}
III
{2, 5, 6, 7}
{2, 3, 5}
IV
{2, 5, 6, 7} {1,2,3,5,6,7}
Trans bundle wire composition
Connectivity Constraint I
{1,4,5,7}
{1,2,5}
II
B2
B1
B1 {2,5,6,7}
{1,2,5}
{1,6,7}
{1,3}
{2,4,7} C3
C1
C2
C1
B2
B1
{1,6,7} {2,4,7}
{4,5,6}
C3
{3,6,7} C4
IV
C2
C4 {4,5,6}
swap
{2,3,5}
B2
C2
{1,3}
C1
{3,6,7}
C4
{1,3}
Base Configuration {1,2,5}
swap
C5
C5
swap
III
{4,5,6}
{3,6,7}
B1 {2,5,6,7}
B2
{1,3}
C3
C5
C2 {2,4,7}
{2,5,6,7}
{1,2,3,5,6,7}
B1
{3,6,7}
{4,5,6}
C5
C4 {2,4,7}
{1,2,5}
B2 C1
C3
Figure 8: For a given connectivity requirement, the wiring composition can change for each transbundle during swap-bundle operations (Windows [I] thru [IV]). Tables at top display the wiring requirements and the contents of bundles B1 and B2 after each operation.
14
CONNECTOR {P}
TRANSITION PORTS
BUNDLE {w} L
k {w} i
{w} B {w} i
k
{w} R
R B
TERMINAL BRANCH
{P}
L
CONNECTIBILITY RULES {w} = {w} BUNDLE TRANSITION PORT
= {w} i
{w} = [ ( {w} U {w} ) - ({w} R L B L
Legend
{w} = [ ( {w} U {w} ) - ({w} B L R L
{P} = { pins of k-th connector } k {w} = { wires of l-th bundle } i
U U
{w} )] B {w} )] R
U {w} )] {w} = [ ( {w} U {w} ) - ({w} B L R B R
Figure 9: Cable elements follow simple rules to propagate the connectivity constraints. These rules are invoked during swap-bundle and move-branch operations.
4.1.3 Environment Editor The primary function of the Environment Editor is generation and management of geometric entities (and their properties) within the cabling environment. Much of the geometric information originates from external CAD systems. We have elected to make the geometry transfer as tool-independent as possible, so currently the Environment Editor imports the geometry data via an IGES le transfer. In the near future, PDES/STEP le transfer should be possible [Wilson and Kennicott 1989]. Using the imported geometry, the Environment Editor assists the user in constructing simpli ed solid models using convex polyhedra, and where adequate, bounding box primitives. It is necessary to represent the shapes at multiple levels of detail so that regions of the free space can subsequently be computed with more or less accuracy, as needed. Another function of the Environment Editor , which will be added in the future, is the ability to update the environment model automatically in response to noti cations of design changes in the external CAD systems.
4.1.4 Free Space Manager The Free Space Manager is the most computationally intensive agent. Its primary function is to generate a model of the available space for cable routing. As mentioned earlier, it is also the job of the Free Space Manager to keep track of spaces that require special attention for such conditions as high vibration, high temperature, ak exposure, or clearance for maintenance. Based on a selected cable con guration, the Free Space Manager must determine if a path exists to accommodate each cable, and if so, identify the paths or sets of paths. We are currently testing several candidate algorithms from the path planning literature [Breuer 1972, Tsao and Fu 1981, Latombe 1991, Kong 1989, Stefanelli and Rosenfeld 1971].
15
5 Discussion of Approach While interoperability among applications and local databases is important, one must go a step further to ensure that human designers can easily keep track of the steps of the design process. Design is a complex and open-ended process. The challenges of developing a successful concurrent engineering framework include, in addition to the automation of speci c steps, and the development of mechanisms for communication among software modules, an eective means for coordinating human design activities and for tracking the design process. Automation can greatly expedite repetitive and computation-intensive procedures, but it also tends to hide the details of internal steps and their limitations from the user. This can be very detrimental in product design, where groups of designers must keep track of distributed, but interdependent, activities over extended periods of time. Indeed, automation is not the primary goal of the cable design project. The number of options and special exclusionary conditions render direct automation nearly impossible. Extensive human interaction and intervention is the normal operating mode. The goal, then, is to construct a system in which the human needs and activities drive the computer automation. This is essential for acceptance of the system by human users { an issue often underestimated, especially in academic research. Yet in this case it perhaps outweighs even performance and cost. In view of this need, intuitiveness of features and operations were greatly emphasized in the development of the First-Link system. The framework has been built on the premise that the way cables have been designed for the past thirty years represents a certain re nement achieved over time. If through much progress in arti cial intelligence research, the computational agents could achieve human capabilities, then they would probably follow a similar pattern of interaction as found in the current process, albeit with much greater speed and consistency. Our approach is built on the hypothesis that, by studying and assimilating the cooperative model used by the human design teams, a working framework for distributed problem solving will result. By treating the resulting model as a microcosm, one can also establish general guidelines for computational support of concurrent engineering. Several observations pertaining to this eort are worth mentioning here.
5.1 Observations on problem decomposition and development There is an important bene t from the problem decomposition. A proper decomposition of the problem insures independence among behaviors, representations, and structure of individual modules, so that a change in one module does not aect the others. Because of the modular nature of the framework, once speci cations for each module have been established, the development of other modules can progress as though it already existed. This approach allowed a rapid, parallel development of the Cable Editor, Free Space Manager and Component Selector and minimized the eects of setbacks in individual development activities. The module approach also improves portability and scalability of this framework to other domains. Indeed, the rst version of the Cable Editor was developed in about 1.5 months, largely because it was possible to reuse many concepts and software modules from the earlier Next-Cut system.
16
5.2 Observations on abstraction There is a correspondence between the levels of abstraction used to represent the design artifact and design activities. Thus, an abstract operation (swap-bundle for example) applies to correspondingly abstract features (branches). It would be both inecient and confusing to represent the swap-bundle operation in terms of the eects on each individual wire. Having dierent levels of abstraction also helps to make it possible for dierent subtasks to proceed with individually directed focus. For example, while the Cable Editor maintains whatever links have been established by the Free Space Manager, to determine the exact length of each bundle, it can also proceed based on connectivity requirements alone, when the detailed geometry is not available. Later, when the geometric information becomes available, the aected cable lengths are updated. This incremental approach goes both ways: if the cable con guration is modi ed, only the aected bundles obtain new lengths from the Free Space Manager .
5.3 Observations on \agents" One should note that our de nition of cooperation among agents does not include negotiation. In [Sycara 1989] agents negotiate among one another when con icts are detected. The negotiation is based on weighting factors. In First-Link system, agents simply generate and supply the requested information, and notify others of violations of local constraints. With the First-Link system, we acknowledge the need for super-agent(s) (which for the near term will be human { for both technical and political reasons). The agent community's role is to provide information that will help the super-agent to make correct design decisions when faced with con icts among local objectives. Even without the capacity for negotiation, the agents under development for the First-Link system will need several extensions for ecient interaction. The rst extension will be to accompany the results that agents compute and communicate with explanations that specify under what conditions (i.e., what \window of applicability" [Kambhampati and Cutkosky 1990]) the supplied information remains true. A second area of work will be to develop methods that allow the agents to determine the reasonable extent of revisions when faced with a con ict; sometimes, a complete re-initialization is more economical than a series of small, incremental revisions. As discussed earlier, it is part of the philosophy of First-Link that the agents should be able to do some preliminary or approximate computation when only partial information is available. A more dicult issue is to determine when it is better to initiate processing and when it is better to request more detailed information, to avoid having to back-track at a later stage.
5.4 Observations on \extensibility" and \scalability" While First-Link system speci cally addresses cable design, the basic the approach and framework should be applicable to other engineering domains. The inherent modularity of the agent-based architecture permits a wide range of alterations to the system. Indeed, the basic architecture and many of the utility functions of First-Link are identical to those found in Next-Cut [Cutkosky and Tenenbaum 1991], a system centered around CNC machining and assembly. The architecture has also been applied to VLSI process design [Pan et al. 1989]. As for scaling, the abstraction of operations and data need not stop at the functional level. One can envision a system that is composed of abstractions at the facility level, in which the First-Link 17
cable system is but one of several agents. Because all activities, as envisioned in the First-Link framework are distributed, and event-driven (vs. centrally controlled), further abstraction does not incur a commensurate increase in the complexity of every agent. Care will obviously be needed to control the propagation of dependencies, but we note that such a system is a natural application for parallel processing, provided that the communications overhead can be kept low.
5.5 Summary In this paper, we have explored the issues of problem decomposition, and data and operation abstraction in the context of cable harness design and fabrication. Using the cable harness design system as a testbed, we seek to develop and formalize the methods by which computer agents and human designers may interact to address complex design problems. We have identi ed a hierarchy of features and operations that are useful abstractions of the design artifact and the design process, respectively. Preliminary versions of several agents are now functioning, and these permit designers to construct and modify cable harnesses in response to constraints on connectivity, con guration and geometry, while automatically taking care of low-level details. We note that incremental re nement and revision are an inevitable part of complex design problems and that the system should be to help designers accomplish them quickly, without losing track of constraints and details. A second guiding principle was that agents should be able to initiate processing at an abstract level when complete geometric details are not available. The hierarchy of features and operations helps to make both of these capabilities possible.
Bibliography [1] Breuer, M. A. 1972. Design Automation of Digital Systems. Englewood Clis, N.Y., PrenticeHall. chapter 6. [2] Cutkosky, M. R. and Tenenbaum, J. M. 1991. Providing computational support for concurrent engineering. International Journal of Systems Automation: Research and Applications (SARA) 1:239{261. [3] Cutkosky, M. R.; Brown, D.; and Tenenbaum, J. M. 1992. Working with multiple representations in a concurrent design system. ASME Journal of Mechanical Design. [4] Dym, C. L. and Levitt, R. E. 1991. Knowledge Based Systems in Engineering. McGraw Hill. [5] Eastman, C. M. and Kutay, A. 1989. Transaction management in design databases. In ComputerAided Cooperative Product Development. Springer-Verlag. 269{297. [6] Hayes-Roth, B. 1985. A blackboard architecture for control. Arti cial Intelligence 26:251{321. [7] Kambhampati, S. and Cutkosky, M. R. 1990. An approach toward incremental and interactive planning for concurrent product and process design. In ASME Winter Annual Meeting on Computer Based Approach to Concurrent Engineering. 557{562. [8] Kannapan, S. M. and Marshek, K. M. 1989. An algebraic and predicate logic approach to representation and reasoning in machine design. Technical Report 212, The University of Texas at Austin. 18
[9] Kong, T. Y. 1989. Digital topology: Introduction and survey. Computer Vision, Graphics, and Image Processing 48:357{393. [10] Konkar, R.; Cutkosky, M. R.; and Tenenbaum, J. M. 1990. Towards an assembly editor for concurrent product and process design. In Proceedings of the IFIP WG 5.2 Workshop on Geometric Modeling, Rensselaer Polytechnic Inst. [11] Lander, S. E.; Lesser, V. R.; and Connell, M. E. 1989. Knowledge-based con ict resolution for cooperation among expert agents. In Computer-Aided Cooperative Product Development. SpringerVerlag. 253{268. [12] Latombe, J. C. 1991. Robot Motion Planning. Kluwer Academic Publishers. [13] Mayer, A. K. and Lu, S. C-Y 1988. An AI-based approach for the integration of multiple sources of knowledge to aid engineering design. Journal of Mechanisms, Transmissions, and Automation in Design 110:316{323. [14] Nii, H. P. 1986a. Blackboard systems: Blackboard application systems, blackboard systems from a knowledge engineering perspective. The AI Magazine 82{106. [15] Nii, H. P. 1986b. Blackboard systems: The blackboard model of problem solving and the evolution of blackboard architectures. The AI Magazine 38{53. [16] Pan, J. Y.-C.; Tenenbaum, J. M.; and Glicksman, J. 1989. A framework for knowledge-based computer-integrated manufacturing. In IEEE Transaction on Semiconductor Manufacturing, Vol. 2, No. 2. 33{46. [17] Shoham, Y. 1991. Agent0: A simple agent language and its interpreter. In Proceedings Ninth National Conference on Arti cial Intelligence. IEEE. 704{709. [18] Sriram, D.; Logcher, R.; Wong, A.; and Ahmed, S. 1989. An object-oriented framework for collective engineering design. In Computer-Aided Cooperative Product Development. SpringerVerlag. 51{92. [19] Stefanelli, R. and Rosenfeld, A. 1971. Some parallel thinning algorithms for digital pictures. Journal of the Association for Computing Machinery 18(2):255{264. [20] Sycara, K. P. 1989. Cooperative negotiation in concurrent engineering design. In ComputerAided Cooperative Product Development. Springer-Verlag. 269{297. [21] Talukdar, S. N. and Fenves, S. J. 1989. Towards a framework for concurrent design. In Computer-Aided Cooperative Product Development. Springer-Verlag. 140{151. [22] Tsao, Y. F. and Fu, K. S. 1981. A parallel thinning algorithm for 3-D pictures. Computer Graphics and Image Processing 17:315{331. [23] Welch, R. V. and Dixon, J. R. 1989. Extending the iterative redesign model to con guration design: sheet metal brackets as an example. In Design theory and Methodology - DTM 1989, Montreal, Quebec, CANADA. ASME. 81{88. [24] Wilson, P. R. and Kennicott, P. R. 1989. Iso step baseline requirements document (ipim). Technical Report 4, General Electric CR&D.
19