APM Entities(Definition)
SUBTYPE OF( multimaterial_part );
( * Product Attributes * )
outline : LIST (1:?) OF xy_coordinates;
layup : LIST (1:?) OF pwb_layer;
( * Idealized Attributes * )
width : positive_length_measure;
length: positive_length_measure;
total_diagonal: positive_length_measure;
total_thickness: positive_length_measure;
coefficient_of_thermal_bending: REAL;
( * Product Idealization Transformations * )
wr1: pwb-pit-1( width , outline );
wr2 : pwb-pit-2( length , outline );
wr3: pwb-pit-3( width , length , total_diagonal );
wr4: pwb-pit-4( coefficient_of_thermal_bending ,
wr5: pwb-pit-5( total_thickness , layup );
FUNCTION pwb-pit-3( W, L , D : positive_length_measure )
RETURN( D = SQRT( W*W+ L*L) );
FUNCTION pwb-pit-1( aWidth : positive_length_measure ,
anOutline : LIST (1:?) OF xy_coordinates)
EXPRESS code that finds the maximum and minimum X and Y coordinates (Xmax, Xmin, Ymax, Ymin, respectively) in anOutline and returns TRUE if width = min( (Xmax-Xmin) , (Ymax – Ymin) ).
Definitions for the other functions (pwb-pit-2, pwb-pit-4, and pwb-pit-5)
Notes:
- One of the key features of the APM is that it is not just a static repository of product data. The APM also contains the operations required to transform the product information (populated with the mappings) into idealized product attributes that can be shared among multiple analyses. These operations are also referred to as product idealization transformations .
- The values of these idealized attributes are calculated on demand as they are queried by the analysis modules. With this strategy, potentially complex calculations are performed only when needed, allowing a more efficient utilization of computer resources.
- The three main idealizations implemented for TIGER were: 1) total diagonal of the board, 2) total thickness of the board and 3) coefficient of thermal bending (?B) of the board.
- To illustrate how idealizations were defined and implemented, let me continue with the example of the board outline.
- Once the board outline is mapped into the APM, analysis applications could use it directly to determine the total width and length of the board, and with it calculate the total diagonal. However, since the total diagonal is an idealization of the product that is likely to be used by more than one analysis, it is better to have it readily available in the APM for the sharing. But instead of storing the value of the total diagonal in the APM (which would make the mappings more complex), we define it as an idealized attribute of the board and store the operation (or product idealization transformation) required to calculate its value from the outline.
- In order to do this, we use EXPRESS to define the pwb entity and its regular and idealized attributes (as shown in ). Then we define WHERE rules for each product idealization transformation (PITs) that exists between these attributes. For example, WHERE rule wr1 defines a relationship between the width and the outline of the board. This relationship is further defined by FUNCTION pwb-pit-1 (show the next slide briefly, then come back to this one). Likewise, wr3 establishes a relationship between width, length and total_diagonal, which is defined as pwb-pit-3 also in . Notice that there is nothing implied in the WHERE rules as to which variables are inputs and which are outputs.