the design and development of an automated dfa system

3

Click here to load reader

Upload: sm-alexander

Post on 21-Jun-2016

219 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: The design and development of an automated DFA system

Computers ind. Engng Vol. 19, Nos 1-4, pp. 469---471, 1990 0360-8352/90 $3.00 + 0.00 Printed in Great Britain. All rights reserved Copyright © 1990 Pergamon Press pie

THE DESIGN AND DEVELOPMENT OF AN AUTOMATED DFA SYSTEM

S.M. Alexander and J. Guan

Department of Industrial Engineering and

Department of Engineering Math. and Computer Science University of Louisville Louisville, KY 40292

ABSTRACT

This paper presents the design and development of an automated system to assist with Design for Assembly (DFA) analysis. The system is designed to accept information on alternative assemblies using DFA metaphors. Statistics are calculated for these assemblies so as to evaluate their assemblability. The alternative assemblies and improvements in any assembly design are evaluated using these statistics.

A binary tree data structure is used in the DFA system to represent the design data. This structure is implemented by a linked method with three links in each tree node. This allows any arbitrary tree to be represented efficiently, and it also allows for unpredictable tree growth and easy tree manipulation. The user interface of the DFA system is managed by the "User Interface Management System", that achieves direct and fast control of the screen by directly accessing the video memory.

SYSTEM DESIGN

The block diagram illustrating the system design is shown in Figure 1. The read data module includes an user friendly interface to input data in the form of a design tree. The edit data module allows the modifications of designs. The display data module includes information on the design and assemblability statistics. The store data module stores the data in a file for later u s e .

FXqUreL

Block Di&gra® for system Design

THE DESIGN TREE

The design tree is comprised of a root, with one or more child nodes. Each of these nodes can represent a component, part of a sub- assembly. A part node contains information on its name, attachment sequence, operation elements required to assemble it, and number of identical parts. A subassembly node contains information on its attachment sequence.

Input to the DFA system is presented in the form of a design tree and it can be entered into the system through the keyboard or from a file. As previously mentioned the nodes of the tree represent products or subassemblies and are entered into the system in the order in which they are assembled. Figure 2 illustrates the sequence in which the nodes of the tree are input to the system.

Once a design is entered into the system it can be modified. Four kinds of modifications are allowed: 1. Adding a part or a subassembly. 2. Deleting a part or a subassembly. 3. Changing information stored in a part or subassembly. 4. Switching the sequence of attachment of parts or subassemblies at the same level.

F£~re 2

k Design Tree and order of Nodel Entry

i -~ ; -> 2 -~ 3.1 -> 1.2 -> 3.2.[ -> "~.2.2 -> 3.2,3 -> 3.1 -> 4

-> 5 - 7 6 -> 6 . k -> 6 . 2

DATA STRUCTURE

The design tree can be represented by the contiguous method or the linked method. A

469

Page 2: The design and development of an automated DFA system

470 Proceedings of the 12th Annual Conference on Computers & Industrial Engineering

major disadvantage of the contiguous method is its inability to allow for unpredictable storage requirements. Since the size of the DFA data could not be predicted, the linked method was used. Figure 3 illustrates the actual implementation of the linked method to represent the design tree. Each node in the tree is made up of two parts, one containing data and the other three pointers. The first pointer points to the leftmost child node, the second pointer points to the next node at the same level, the third pointer is used in tree processing.

A D I I i ~ Tree and I t s Representation by the Llrlk Method

&

F~qure J

USER INTERFACE MANAGEMENT SYSTEM

The DFA system includes an user interface management system that supports a user friendly interactive operating environment. This user interface management system utilizes character display instead of graphics display. The system includes menus, in-line editing, prompts and alerts. The latter is usually displayed as a pop-up box, so that it will not be ignored. Figure 4 illustrates the succession of menus the user will see on the screen if he wants to switch to nodes in a design tree. Besides the standard menus, pop up menus are also used in the system. Activating a standard menu stops the current activity of the program, a pop-up menu on the other hand appears to suspend the current activity of the program. The display of menus, prompts, and alerts, and the reading of user response or input, require a direct and often fast control of the screen. Owing to this speed requirement the screen displays were generated and controlled through direct access of the computers video memory, rather than through ROM BIOS or I/O functions provided by C.

Main Menu R >Reading Design Data W >Writing Design to F i l e M >Modifying Existing Design P >Printing Design & Statistics E >Exit

Edit Data Submenu A >Adding Data to Design D >Deleting Data from Des.gn U >Updating Data on Design E >Exit to Main Menu

I Update Data Su~enu I

N >Changing Subassembly Name >Changing Data in a Par t

C S >Switching P a r t s / S u b a s s ~ b l i e s E >Exit to Edit Data Submenu

Figure 4 A Menu Example

In C reading and writing from video memory requires the use of FAR pointers. The following C code segment is used in the DFA system to find out what video adapter is used and to set VID-MEM a far pointer, pointing to the start of the video memory.

~node = v i d e o _ ~ d * ( ) ;

i f ( ( w o d e I- 2) ~ ( v ~ d . I= 3) && ( v ~ d a I- 7)) (

a x l t ( 1 ) |

)

/* l i t prop*r addr*ls o f v ideo mmory */

i f (vuod , m 7) vid_m*m - (char f a r *) 0xBO000000;

e ls* v i d _ m " (char f a r * ) 0xBSOO0O00;

Once the start of the video memory is determined and saved the address of a screen position on row x and column y can be computed and reading and writing to the position can easily accomplished. The C code below illustrates the code for writing the character "ch" with attribute "attrib" in a specific location.

w l r i t e m h a r ( I , y. eh. i t t r i b )

¢ h l r oh, l t ~ r i b u t l +

{

e h l r f i r t lddr+

l d d r - v tdmun ; / t i e~ I ~ l r : ~ n l i d d t e s | of vxdeo ~ r y */

addr ~ (x~[60) ÷ y*2~ /* :~m~utl o f f l l t i d d r l l l I /

+ + d d r + = eh; / l + S l i | n C h l r l C t l g mOdl l /

Other functions written to directly access the video memory, include functions for saving a portion of the screen, restoring a portion of the screen, and on line editing.

A host of other functions have been developed for use in the user interface management system these include functions to, hold the screen until the user presses a special

Page 3: The design and development of an automated DFA system

Alexander and Guan: Automated DFA System 471

key, set up window, clear portions of the screen, change the background color, etc.

The automated DPA system described herein enhances the usability of DFA by providing easy input of data, allowing designs to be stored and modified, and calculating DFA statistics rapidly.

1. Aho, Alfred V., Hopcroft, John E., UUman, Jeffrey D., Data Structures and Algorithms. Addison-Wesley Publishing Company, 1983.

2. Aho, Alfred V., Hopcroft, John E., Ullman, Jeffrey D., The Desitm and Analysis of Comouter Al~orithrn-s, Addison-'-'Wesley Publishing Company, 1974.

3. Boothroyd, Geoffrey, and Dewhurst, Peter, Design for Assembly, Penton/IPC, Inc., 1984.

4. Naps, Thomas L., Singh, Bhagat, Introduction to Data Structures with Pascal, West Publishing Company, 1986.

5. Norton, Peter, and Wilton, Richard, The New Peter Norton Proaxammer's Guide to The IBM PC & PSI2. Nlicrosoft Press, 1988

6. Park, Chart S., Interactive Microcomouter Graphics, Addison-Wesley Publishing Company, 1985.

7. Tremblay, J.P., Sorenson, P.G., An Introduction to Data Structures with Applications, McGraw-Hill Book Company,