You are on page 1of 203

THE METHODOLOGIES OF SYSTEM ANALYSIS AND DESIGN FOR

COMPUTER INTEGRATED MANUFACTURING (CIM)


by
SHWU-YAN CHANG SCOGGINS, B.L., M.B.A.
A DISSERTATION
IN
INDUSTRIAL ENGINEERING

Submitted to the Graduate Faculty


of Texas Tech University in
Partial Fulfillment of
the Requirements for
the Degree of
DOCTOR OF PHILOSOPHY

Approved

December, 1986

""^^ Mr-'i

1987

SHWU-YAN CHANG SCOGGINS


All Rights Reserved

^01

ACKNOWLEDGEMENTS

I
tance

wish
and

to express my deep appreciation for the invaluable

directing which Dr. William M.

Marcy and Dr.

Hennessey have given during all phases of the research.


thank to the other members of my committee.
Milton L.

Dr.

Smith, and Dr. Eric L. Blair, for their

James

assis-

Kathleen

A.

I also want to
R.

Burns,

Dr.

continuous interest,

advice and constructive criticism.


My gratitude also goes to Joe L.

Selan and Cher-Kang Chua for long

and tedious hours of proof reading and the drawing of figures.


I want to thank my husband,

Mark,

for his support, collecting of refe-

rences, and beneficial problem discussion.

ii

Lastly,

ABSTRACT

This

paper

investigates the methodologies of system analysis

and

design for a CIM system from the software engineer's point of view.

The

hypotheses of this research are:


to be suitable for a

1) particular methodologies are likely

specific application system,

2) a combination

of

methodologies generally can make analysis and design more complete, and
3) analysis of their characteristics can be used to select a methodology
capable of providing system specifications for software development

and

system implementation.
To confirm the hypotheses,
analyze

five

application

nine design methodologies are chosen to

systems.

system has its own characteristics.


be

possible

to

Each methodology

application

If the hypotheses are true, it will

match the characteristics of

the

methodologies

corresponding

characteristics of a particular system.

methodologies

are used,

set

and

Also,

with

once the

they should yield information that provides

of usable system specifications,

and lead to a successful program-

ming environment and implementation of the system.


The nine methodologies are SD (Structured Design),
wise Refinement), WOD (Warnier-Orr Design),
(Michael

Jackson

Design Technique),

Structured

Design),

MSR (Meta Step-

TDD (Top-Down Design), MJSD

SADT (Structured

PSL/PSA (Problem Statement

Analysis

and

Language/Analyzer), HOS

(Higher Order Software), and HIPO (Hierarchy-Input-Process-Output). The

iii

five

application systems are an overall CIM system,

shop floor control

subsystem, product design subsystem, production planning/scheduling subsystem,

and

inventory

methodologies include:

control subsystem.
system complexity,

The characteristics of
data structures,

the

data flow,

functional structures, process flow, decoupling structure clash recognition,


the

logical control,

and data flow control.

application systems include:

tures,

process

flow,

data

The characteristics of

system complexity,

structures,

logical

functional struc-

control,

data

flow

control, cohesion, and coupling.


The contributions of this research include a technique for applying
Information Technology to manufacturing information problems, and a set
of

rules

for

combination of different methodologies

results of analysis and design efforts.

iv

to

improve

the

CONTENTS

ACKNOWLEDGEMENTS

ii

ABSTRACT

iii

LIST OF FIGURES

ix

LIST OF TABLES

xi

CHAPTER
1. INTRODUCTION

2. LITERATURE REVIEW: SYSTEM ANALYSIS AND DESIGN TECHNIQUES

2.1. Stages Of System Development

10

2.2. Basic Principles Of Software Engineering

11

2.3. Basic Problems Of System Theory

12

2.4. System Analysis And Design Criteria

13

2.4.1. Measures of Complexity

14

2.4.1.1. Modularity
2.4.1.2. Coupling

15
16

2.4.1.3. Cohesion

16

2.4.2. Representation of Complexity

17

2.4.2.1. Software Matrics


2.4.2.2. Diagrams
2.4.3. Approaches to Successful System Design

17
20
22

2.4.4. System Characteristics and Design Components ....

24

2.5. Criteria for Analysis and Design Methodologies

25

2.6. Design Methodologies

26

2.6.1. Structured Design (SD)

27

2.6.2. Meta Stepwise Refinement (MSR)

28

2.6.3. Warnier-Orr Design (WOD)

30

2.6.4. Top-Down Design (TDD)

32

2.6.5. Michael Jackson Structured Design (MJSD)

35

2.6.6. Problem Statement Language/Analyzer (PSL/PSA) ... 39


2.6.7. Structured Analysis and Design Technique (SADT) . 41
2.6.8. Higher Order Software (HOS)

44

2.6.9. Hierarchy-Input-Process-Output (HIPO)

48

2.7. Summary

50

3. ANALYSIS OF COMPUTERIZED MANUFACTURING SYSTEMS

54

3.1. Basic Concepts of Flexible Manufacturing Systems (FMS) . 54


3.2. Flexible Manufacturing Systems vs Transfering Line

55

3.3. Cellular Manufacturing (CM)

56

3.4. Conponents of A Machining Cell

61

3.5. Cell Operation And Cell Control

66

3.6. Supporting Theories and Software

69

3.6.1. CNC Standard Formats

69

3.6.2. Group Technology (GT) and Group Scheduling

71

3.6.3. Simulation

72

3.6.4. Artifical Intelligence (AI) and Expert Systems .. 73


3.6.5. Computer-Aided Statistical Quality Control
(CSQC)

75

3.6.6. Database Management

76

VI

3.6.7. Decision Support System (DSS)

78

3.6.8. Inventory Control

80

3.7. Summary

81

4. CASE STUDY

84

4.1. Structured Design (SD)

89

4.2. Meta Stepwise Refinement (MSR)

91

4.3. Warnier-Orr Design (WOD)

94

4.4. Top-Down Design (TDD)

97

4.5. Michael Jackson System Design (MJSD)

100

4.6. Problem Statement Language/Analysis (PSL/PSA)

104

4.7. Structure Analysis and Design Technique (SADT)

109

4.8. Higher Order Software (HOS)

109

4.9. Hierarchical Input Process Output (HIPO)

118

4.10. Conclusions

118

5. COMPARISON OF DESIGN METHODOLOGIES VS APLLICATION SYSTEMS ... 124


5.1. The Application Systems

125

5.2. The Relationship between Design Methodologies and


Application Systems

131

6. CONCLUSIONS

143

6.1. The Need for Industrial Information System Standards ... 143
6.2. Problems with Information and Human Resources

145

6.3. Contributions of this Research

146

6.4. Summary of Characteristics

146

6.5. Recommendations for Further Research

148

BIBLIOGRAPHY

150

vii

APPENDICES
A. CNC MILL, TRIAC

167

B. CNC LATHE, ORAC

172

C. PSEUDOCODES FOR FMC IN A MULTITASKING ENVIRONMENT

182

Vlll

LIST OF FIGURES

1. Shop Flow Control Context Diagram

86

2. Data Flow Diagram for SD (By Yourdon, Demarco method)

90

3. Warnier-Orr Data Structure Diagram

96

4. Warnier-Orr Process Structure Diagram

98

5. Top-Down Design (TDD) Diagram

99

6. Michael Jackson Structured Design (MJSD) Data Step Diagram ... 101
7. Michael Jackson Structured Design (MJSD) Program Step Diagram

102

8. PSL/PSA System Flowchart

105

9. SADT Level AO IDEFO Diagram

110

10. SADT Level A2 IDEFO Diagram

Ill

11. SADT Level A3 IDEFO Diagram

112

12. SADT Level A4 IDEFO Diagram

113

13. SADT Level A31 IDEFO Diagram

114

14. SADT Level A32 IDEFO Diagram

115

15. SADT Level A33 IDEFO Diagram

116

16. SADT Level A34 IDEFO Diagram

117

17. Higher-Order Software (HOS) Diagram

119

18. Flexible Manufacturing Cell HIPO Diagram

120

19. CNC Mill HIPO Diagram

121

20. CNC Lathe HIPO Diagram

122

21. Overall CIM System Context Diagram

126

IX

22. Product Design Context Diagram

129

23. Production Planning Context Diagram

130

24. Inventory Control Context Diagram

132

LIST OF TABLES

1. Narrative, PSL Name, And PSL Object Type

106

2. Relationship Between Two Objects

107

3. Characteristics of Design Methodologies

133

4. Characteristics of CIM Application Systems

135

5 Design Methodologies vs. Application Systems

1^0

xi

CHAPTER 1
INTRODUCTION

In 1976 the first Flexible Manufacturing System (FMS) was installed


in the United States,
development.
quicker

resulting in great achievements in

Achievements

change-over

of FMS,

items,

including reduced

reduced stock

times, better response to customer demands,


and lower unit cost,

levels,

manufacturing

work-in-process,
faster

throughput

consistent product quality,

have caused it to be termed "the second industrial

revolution".
Computer
FMS [177]*.
not

Integrated Manufacturing (CIM) is a term introduced after


Manufacturers recognize that integration has to be achieved

only in the factory,

but also in almost every department

and

all

functions of a manufacturing organization.

Currently, few manufacturers

fully implement CIM in the United States,

but predictions indicate that

expenditures
States

on

computerized factory automation systems in the

United

will climb from $5 billion in I983 to as high as $40 billion

in

1995 [57].
However,
an

the technology required to design and implement CIM is in

early stage of development.

* Note:

In 1974,

Dr.

Joseph

One cannot

turn

traditional

Harrington coined the concept

Integrated Manufacturing (CIM).

manufac-

"Computer

turing equipment into

modern Computer

Numeric Control (DNC),


ized

Numeric

Control

(CNC),

or Adaptive Control (AC) machines.

Direct

If computer-

machines come from different vendors or different models from

same vendor,
tion

there are still problems in both the

and the software interfaces.

hardware

the

communica-

The implementation of CIM cannot

be

done overnight; it requires an evolution instead of revolution.


Most
system.
it

manufacturers

do

not know what to do

have

Many institutions and

However, the current literature does not

system

analysis and design methodologies for CIM.

either

evaluate

system

CIM

indivi-

for

or focus on the functions of a CIM system;

modelling production,
programming.

papers

particular

others concentrate

others comment on the methodologies of

such as scheduling rules, simulation and mathema-

It is almost impossible to find

software development for CIM, which may be


proprietary

the

investigate the

Most of the

the software and hardware together

on the improvement of machining;

being

contributed to the research and development of CIM in

last decade.

tical

implement

The lack of generic system analysis and design techniques makes

difficult to implement CIM systems.

duals

to

material of the

information

about

attributable to CIM software

companies involved in this area

of

research and development.


The
instead

difficult
of

concept.

part

technique.

of

CIM is that CIM is a

matter

It is easy to train in technique

of
but

concept
not

in

The general concepts of CIM are as follows:

1 Integration

is

combining

the

elements of a system to form

whole.
2. The whole is greater than the sum of parts.

3. The

challenge of

integration in automated

systems is

greater

than the challenge of integration in conventional systems.


An

evaluation of methodologies of system analysis and design for a

CIM system from the software engineer's point of view is needed.


Manufacturing

Automation Protocol (MAP) and Technical

Office

Unlike
Protocol

(TOP) which attempt to develop a set of standardized specifications that


will enable a factory's computers and computerized equipment to communicate with each other, this dissertation is concerned with the approaches
of system analysis and the specification of software requirements.
The success of automated manufacturing systems depends on low-cost,
high-reliability

software systems.

Most work on areas of

Technology

(IT) is done for long-term payoffs,

benefits.

The

Information

but not for

short-term

academic researchers lack of large-scale software deve-

lopment experience is one of the reasons.

Industrial support is growing

rapidly for short term research, both within industrial labs and through
support of university work.
One
of

of the fundamental problems of the IT areas is the

complexity.

engineering
complexity

Many

show

up

of

the real problems

only when one tackles

of systems increases,

in

software

large

or

problems.

the degree of difficulty of

ming,

testing

system

analysts and designers follow qualitative guidelines.

technique

uses

and debugging increases exponentially.

mathematical computations,

such as

management
hardware
As

the

program-

Traditionally,

software

The

new

metrics,

number of variables involved, or number of variables and comparisons, or


number of nodes and paths.

The

knowledge and theories involved in

broad and very complex.

operating a CIM

are

very

However, system analysts need not know all the

technologies in detail, but they do need to know the organization structure,

what

functions

are performed and in which

synchronize all the functions,

department,

what the restrictions are,

how

to

and what the

input and output data will be. Integration of manufacturing includes not
only

hardware (machines, material-handling tools, cell controllers, and

computers),

but also software (technologies,

programs, data, and func-

tions).
Hardware
cate

with

integration means that all programmable devices

each other,

rather than operating on a

communi-

stand-alone

basis.

Integration of software allows data produced in one program module to be


processed
data

in

by

any other program module inside the system,

such as

a CAD/CAM (Computer-Aided Design/Manufacturing) database

the
that

can be used in simulation.


The objectives of this research are as follows:
. To

integrate

manufacturing

and

production

technologies

with

information system theories.


. To provide an organized approach to the application of the methodologies

of system analysis and

design in

computer

integrated

manufacturing systems.
. To provide the decision rules in choosing methodologies.
. To provide an approach leading from design of a complex system to
multitasking programming.
This

research

has three hypotheses.

The first hypothesis

states

that each application system has its own characteristics as well as each

methodology.

There are certain

types of application system.

methodologies suitable for a particular

Nine analysis and design methodologies are

chosen to analyze five application systems. Should a match occur between


the criteria of the methodologies and the characteristics of a

particu-

lar system, the first hypothesis is accepted.


The

second

hypothesis

states that the combination

of

different

methodologies always provides a better analysis and design technique.


good

methodology should provide as much information as

there is no methodology that includes all types of


combination
rules,

of

different

methodologies,

provides more information,

possible.

information,

according to

and therefore,

the

But

so the

selection

is a better analysis

and design technique.


The

third

hypothesis states that once the methodologies are

they should yield information


specifications,
implementation
evaluate

the

and
of

that provides a full set of usable system

lead to a successful programming


the system.

contribution

used,

of

environment

Prior to this research,


the methodologies

to

and

articles which
CIM

programming

techniques could not be found in the literature.


In Chapter 2, the most commonly used methodologies are reclassified
into

nine

system

analysis

and

design

methodologies.

between these methodologies are not always consistent.


combined
Design

Meta Stepwise Refinement (MST),


(MJSD) and

(LCP/LCS)

into

Distinctions

G.

D.

Michael Jackson's

Warnier's Logical Construction

the same category as Structured

of

methodology).

However,

based

on

the

Structured

Programs/Systems

Design (SD)

this paper, Warnier's methodology is combined with Orr's as


Design

design

Bergland

[25]

(In

Warnier-Orr

procedures.

diagramming technique,
ture, functional

data flow control,

logic control, system struc-

decomposition, and system specifications, these metho-

dologies are distinguished.


The

following nine methodologies are

studied:

Structured

Design

(SD), Meta Stepwise Refinement (MSR), Warnier-Orr Design (WOD), Top-Down


Design (TDD), Michael Jackson's System Design (MJSD), Structured
sis

and

Design

(PSL/PSA),

Higher

Output (HIPO).

Problem Statement Language/Analyzer

Order Software (HOS) and

Hierarchy-Input-Process-

The United States Air Force's Integrated Computer Aided

Manufacturing
refined

Technique (SADT),

Analy-

Definition

descriptions

(IDEF),

and

derived from SADT,

is very suitable

for

gave

SADT

manufacturing

more

system

analysis.
Each methodology has its weaknesss and strengths, and no one methodology

would be appropriate for every design problem.

Bureau

of

Standards)

has established IGES (Initial

NBS

(National

Graphic

Exchange

Specification) and now Automated Manufacturing Research


as
for

standards for industry.


industrial

standards

needs,

for

synchronizing

Facility (AMRF)

It is a natural trend to develop

and

we

should not be surprised

system analysis and design would produce


all the standards into a complete

standards

to

see

that

methodology

software

development

technique, especially for CIM, in the future.


Chapter

is

an

overview

of

general

CIM

systems,

including

components of a manufacturing cell, process control, theories in production planning and design,

and Decision Support Systems (DSS).

this information, further system analysis can be performed.

Based on

Because CIM is a complex system, several design methodologies, such


as SD,

MSR, WOD, and MJSD, do not fit

the overall CIM system analysis,

but they might be good for a smaller scope of system analysis.


thesis

evaluated

systems.

these methodologies based

Five application systems are used:

on

different

So, this

application

1) overall CIM system,

2)

shop floor control subsystem, 3) product design subsystem, 4) production


planning (scheduling) subsystem, and 5) inventory control subsystem.

In

Chapter 4, nine methodologies are applied only to one of the subsystems,


a

shop floor control subsystem.

chapter

is

actually

The shop floor control system in this

a Flexible Manufacturing

Cell

(FMC)

which

is

installed in the Industrial Engineering Department, Texas Tech University,

It has three functional modules:

and robot.

CNC lathe,

CNC milling machine,

Each module has its own software and functions independent-

ly. In order to computerize the flexible manufacturing cell and optimize


productivity,

computer

was used to coordinate these three

software

systems.
Application
representing
independent

systems were first broken into

modules,

complete and independent function.

modules

of

Only

each

complete

software and hardware that already

function on a stand-alone basis were used,

module

exist

and
and

so that the focus was on the

interface of the modules.


Chapter

5 not only summarizes the conclusions from Chapter 4,

but

also expands the methodologies to the other four system/subsystems.

The

characteristics of the application system are compared and contrasted to


the

representation

criteria of the nine

methodologies.

Methods

are

provided to select more

than one

methodology for a

particular type of

application system.
The

shop floor system has real-time

multitasking

processes

example,

CNC Lathe,

ly),

must be implemented under a real-time multitasking

it

In this research,
also

(for

CNC Mill, and robot can be operating simultaneousexecutive.

a commercial product (AMX86) was chosen.

Chapter

demonstrates the program design from the information given in

system
code

analysis and design methodologies and their


for higher level functions was written,

diagrams.

the

Pseudo-

leaving detailed program-

ming to be provided as required for each unit.


Chapter
research.

It

implement

research

contains conclusions and

recommendations

CIM

system and offers solutions to

the

problems.

but also suggest rules to

and provides a

for implementing a FMC in a multitasking environment.

Further

work

beyond

the scope of this research can

the limitation of complexity management for each

quantitatively

and set up the system analysis and design

which are applicable to any type of system.

decision-making
accuracy,

com-

It offers an insight to the relationship

between the methodologies and the programming technique,

rules,

This

not only provides an analytical approach for applying Informa-

bine different methodologies.

determine

further

restates the issues in applying Information Technology to

tion Technology to manufacturing areas,

framework

for

and automated design tools are

consistency,

completeness,

needed to

applicability of system analysis and design techniques.

done

to

methodology
standards and

More

modifiability,

be

mathematical
improve

the

efficiency, and

CHAPTER 2
LITERATURE REVIEW: SYSTEM ANALYSIS AND
DESIGN TECHNIQUES

System analysis consists of collecting,


facts

about

organizing, and evaluating

a system and the environment in which

it

operates.

The

objective of system analysis is to examine all aspects of the system and


to

establish

basis for designing and implementing a

better

system

[63].
System design essentially recognizes processes and defines the data
content
design

of
in

their interfaces.
that

System design is

program design deduces the

implicit in those interfaces.

distinct from program

flow-of-control

structure

The ideal capability of a methodology is

that system design tools should establish system processes in such a way
that subsequent program design cannot invalidate these processes [94],
Program
tencies
from

System design,

on the

other

inputs
hand,

to establish a structured statement of what is to be accomplished

terms of products,

Nevertheless,
have

inconsis-

incompatibilities between required outputs and the

which they must be derived.

seeks
in

and

design techniques are associated with resolving

functions,

information,

resources and

timing.

some aspects of program design methodology can be seen to

counterparts in system design methodology,

especially in terms of

measurement are representation of complexity and design components.

10

System design is of critical importance, especially for large-scale


projects.

System techniques

provide

formal disciplines for increasing

the probability of implementing systems characterized by high degrees of


initial

correctness,

practices
software

and maintainability,

and

promotes

that aid in the consistent and orderly development of a total


system on schedule and within

disciplines
during

readability,

budgetary

constraints.

These

and practices are set forth as a set of rules to be applied

system development to eliminate the time spent in debugging

the

code, to increase understanding among those who come in contact with it,
and

to

facilitate

operation

and alteration of

the

program

as

the

requirements or program environment evolves,

2,1, Stages of System Development


Seven phases in the system life cycle are distinguished:
Phase 1: Documentation of the existing system.
Phase 2: The logical design.
Phase 3: The physical design.
Phase 4: Programming and procedure development.
Phase 5: System test and implementation.
Phase 6: Operation.
Phase 7: Maintenance and modification,
J,

D, Couger

stated [63] that the amount of costs and the alloca-

tion among phases of system development in the 1970s are different


the ones in the 1980s.
sed.

The

primary

from

The total cost of system development has increa-

increase in cost occurred in the early part of

system development cycle.

the

In the 1970s, only 35 percent of development

11

cost

occurred

percent.
lower

in phases

However,

through

3,

and

now it is

approximately 55

better analysis and planning of systems results in

costs in the subsequent phases.

improvement

in

system development techniques has not kept pace with the improvement

in

computing
System

equipment

and

Unfortunately,

the increase in the

complexity

systems.

analysts continued to use techniques developed during the era of

first generation computers (1940 - 1950),


1980s,

the gap began to close.

In the latter 1970s and early

Techniques especially suited for analy-

sis and design of complex systems were developed.


of

of

system

The fifth

techniques has been developed almost in

parallel

generation
with

the

fifth generation of hardware (in the late 1980s),

2,2, Basic Principles of Software Engineering


Software engineering is the study of software principles and
application
Software

to

the

development and maintenance of

engineering

collection

of

methodologies

includes

structured
and tools.

the

structured

software

methodology

techniques as well as

many

their

systems.
and

other

the

software

The basic principles of software engineering

are defined as follows:


1, Principle of Abstraction: separate the concept from the reality,
2, Principle

of Formality:

follow a rigorous, methodical approach

to solve a problem.
3, Divide-and-Conquer
smaller,

divide

problem into a

set

of

independent problems that are easier to solve.

4, Hierarchical
solution

Concept:

Ordering

into

Concept:

organize

a tree-like hierarchical

the

components of a

structure.

Then

the

12

solution

can

be

constructed level by level,

each

new

level

adding more detail.


5. Principle of Hiding:

hide

nonessential

information.

Enable a

module to see only the information needed for that module.


6. Principle of

Localization:

group logically related items close

together.
7. Principle of

Conceptual

Integrity:

philosophy and architecture.

follow a

consistent design

It is the most important

principle

of software engineering,
8. Principle
all

of

Completeness:

requirements,

insure the system completely meets

involving data,

function,

correctness

and

robustness (i.e,, system ability to recover from errors) [224],

2,b, Basic Problems of System Theory


Langefors
outer

stated

boundary

[127] that the conditions or

functions

(outer boundary is the boundary of that

at

design;

the
inner

boundary is the set of subsystems) must be estimated by the designer


the

system.

(the

The conditions or

boundary to

functions at the intermediate boundary

the other subsystems) must not be

subsystem designer.

Instead,

of

estimated

by

the

delineation of the intermediate boundary

should be derived in a formal fashion,

by using system properties, from

decisions made at the outer boundary,

Langefors aims to provide formal

methods of deriving intermediate boundary conditions from outer ones.


However,

there are imperceivable systems

which

cause

people

to

neglect the importance or the existence of things that they are not able
to

see or perceive.

The imperceivable system

is defined by Langefors

as a system in which the number of its parts and their interrelations is


so

high

that

observed

overall structure cannot

at one and the same time [127].

subjective
proving

it

and

know

perceived

or

Because imperceivability

is

varies from person to person,

by

propositions.
not

its

logic.

be

safely

there is

no

means

Such a proof would have to be based

on

for

other

In the field of system analysis and design, designers do

such

propositions which could be more conveniently

used

as

primaries in proving the correctness of the applications of the methodologies.

In this kind of research results usually are based on deductive

statements (a method of formal analysis) instead of formal proofs.


An efficient way of designing an imperceivable system is by

adding

a perceivable set of subsystems or interactions to a subsystem structure


of

system and by testing each subsystem's structure for feasibility,

before any subsystem contained in it is designed,


tem

structure.

by giving its subsys-

The methodologies of system analysis and design

parti-

tion a system into subsystems, specify subsystem properties and interactions,

verify

properties

that

from

all subsystems can be realized,

subsystem structure,

construct

and compare them with

system

specified

system properties,

2,4, System Analysis And Design Criteria


The aim of system design is implementation of a functioning
mation,

handling facility.

translation

into

information

systems,

design.

set

To do this,

infor-

the design must be capable of

of coordinated procedures;

in

the

this most frequently involves software

case
and

of
data

When the application involves large volumes, and/or variety in

14

data

structures,

relationship

and functions,

problems of

complexity

beyond the ability of the software engineer to solve them can result.
Several

methods have been developed for defining and dealing

with

complexity in software design that can be adapted to the overall context


of system design.

Measures of software complexity include: modularity,

coupling and cohesion;

software metrics and diagrams are used to define

and represent complex program structures,

2,4,1. Measures of Complexity


Several

measures of complexity were developed based on module size

in the 1970s,
1, Halstead's
complexity.
a program:

Software

Science

is

the

most popular measure

of

The software science matrices derive four basic counts for


n1 is the number of distinct operators in a program,

the number of distinct operands in a program,

n2

is

N1 is the total number of

operators in a program, N2 is the total number of operands in a program.


The length of a program (module) is N = N1 + N2,
2, McCabe's Cyclomatic Number determines the complexity by counting
the number of
structured

linearly

program,

independent

paths

through

program.

In a

the cyclomatic number is the number of comparisons

in a module plus one (V(G) = Path - Node + 1 ) ,


3, McClure's
as

Control

Variable

Complexity computes the complexity

the sum of the number of comparisons in the module and the number of

unique variables referenced in the comparisons.


There are several factors that influence the control of complexity,
such as modularity, coupling, and cohesion.

15
2.4.1.1. Modularity
Dividing

program into

controlling complexity.

such as IBM's

of program code, Weinberg's 30 Programming instructions,

Martin's 100 instructions.


lines,

the

logical

of

The modularization scheme includes restrict-

module size to a certain number of instructions,

lines

way

How a program is divided into modules is called

its modularization scheme.


ing

modules can be a very effective

However,

or

50
J.

in addition to module size guide-

and control constructs and variables

also

affect

modularity.
There

are

two basic types

solution-oriented.
a

of

modularity:

problem-oriented

and

A basic premise of Modular Programming (MP) is that

large piece of work can be divided into separate compilation units so

as

to

limit the flow-of-complexity,

permit

parallel

development

by

several programmers and cut recompilation costs. This premise generates


wholly solution-oriented modules and relies on wholly
criteria

of modular division.

responds

to

At the other extreme is a program which

stimuli in a process-control

problem-oriented

solution-oriented

application,

and is

because it is structured to reflect the

wholly

time-ordering

of its input.
MP

is used as a crude device for the intolerable complexity of the

unconstrained control logic of large programs.

Two rules of thumb were

found to be useful and were more fully exploited in later methodologies.


One

is

This
[64].

the idea of functional separateness

concept

is

for

refined and extended by both

constituent

Myers

The second was the notion of a central control

and
module

modules.

Constantine
directing

16

the processing carried out by all subordinate modules. MP is thought of


as either the predetermined design or architectural design.

2.4.1.2. Coupling
Modules
control
and

are

connected by the control structure and by

complexity the connections between modules must

minimized.

modules.

The

Coupling

data.

be

controlled

measures the degree of independence

less dependence between modules,

To

between

the less extensive the

chain reaction that occurs because of a change in a module's logic.


more

interaction between two modules,

greater the complexity.


of

data

the tighter the coupling and the

It is affected by three factors: 1) the number

items passed between modules,

passed between modules,

The

2) the amount of

control

data

3) the number of global data elements shared by

modules.
In a system
data

coupling,

content
coupling;

there are five types of coupling between two


stamp coupling,

coupling.
content

control coupling,

common coupling and

Data coupling is the loosest and the best


coupling

is

the

modules:

tightest and the

worst

type

of

type

of

coupling.
Decoupling is a method of making modules more independent.
ling

is best performed during system

design.

Each type

of

Decoupcoupling

suggests ways to decouple modules.

2.4.1.3. Cohesion
Cohesion
related.

measures

how strongly the elements within a

module

are

There are seven levels of cohesion, the order of the strongest

17

level

to

the

procedural,

weakest

is:

functional,

sequential,

temporal, logical and coincidental.

communicational,

Functional and sequen-

tial cohesion are the only two types of cohesion that should be accepted
in a module.

Any other type, when recognized, should be analyzed to see

if the module can be changed to be functional or sequential.

This could

entail

modifiable

restructuring

of modules and structure

charts.

system is made up of modules that have high cohesion and loose coupling.

2.4,2, Representation of Complexity


2,4,2,1, Software Metrics
Software

metrics

can be used to evaluate the structure of

scale systems quantitatively.


been

large-

Previous research in software metrics has

concentrated in one of three

major areas:

lexical content

of

program, application of information theory concepts, flow of information


or control among system components.
Compared
method
flow

to the information theory measures,

the information flow

is a completely automatable process using fairly


analysis techniques.

standard

data

The major elements in the information

flow

analysis can be directly determined at the design phase.


lity

of

The availabi-

this quantitative measurement early in the system

development

process allows the system structure to be corrected with the least cost.
By observing the patterns of communication among the system

components

we can define measurements for complexity, module coupling, level interactions,


ties

and stress points.

cannot

information

Evaluation of these critical system quali-

be derived from the simple lexical


flow

method

leads to

automatable

measures.
measures

Thus,
of

the

software

18

quality which are available early in the development process and produce
quantitative evaluation of many critical structural attributes of largescale

systems.

The most important practical test of a software metric

is its validation on real software systems.


The

structure

of information flow presents all

of

the

paths of information flow in the subset of the procedures.

possible

The informa-

tion flow paths are easily computable from the relations which have been
generated

individually for each procedure.

The current techniques

of

data flow analysis are sufficient to produce these relations automatically

at compiler time.

ted,

If the external specifications have been comple-

then the information flow analysis may be performed at the

design

stage.
The
same

complexity of a given problem solution is not necessarily

as the unmeasurable complexity of the problem being

complexity of a procedure depends on two factors:


procedure

the

The

the complexity of the

A very

simple length measure of a procedure was

number of lines of text in the source code for

(fan-in * fan-out) computes the total possible

tions

The

code and the complexity of the procedure's connections to its

environment,
as

solved.

the

of

an input source to an output destination.

procedure

is

the

defined

procedure.

number of
Here,

the number of local flows into procedure

combinafan-in

of

plus

the

number of data structures from which procedure A retrieves

information.

Fan-out

procedure

of

procedure A is the number of local flows from

plus the number of data structures which procedure A updates.


The

global

flows and the module complexities show four

potential design or implementation difficulties for the module.

areas

of

19
1. Global flows indicate a poorly refined data structure.
of

Redesign

the data structure to segment it into several pieces may be a

solu-

tion to this overloading.


2. The module complexities indicate improper modularization.
desirable

that

particularly

procedure be in one and only

important

one

module.

It is

This

is

when implementation languages are used which do

not contain a module construct and violations of the module property are
not enforcable at compile time,
3.

High

indicate

global
third

flows and a low or

area of difficulty,

average
namely,

module
poor

complexity

internal

module

construction,
4. A low global flow and high module complexity may reveal either a
poor

functional

decomposition

within

the

module

or

complicated

interface with other modules.


The formula defining the complexity value of a procedure is
length * (fan-in * fan-out) ** 2
The formula calculating the number of global flows is
(write * read) + (write * read_write) +
(read_write * read) + (read_write * (read_write - 1))
The
system

interface between modules is important because it


components

components
connections

of

the modules.

reference between the modules.


the

direct

the

connect

the

A design goal is to minimize

the

to be distinguished and also serves to

the system together,

among

allows

local flows.

Content coupling refers to

direct

This type of coupling is equivalent

Common coupling refers to the sharing

of

to
a

20

global

data

structure

which this is equivalent to

the

global

flows

measure.
The

connections between two modules is a function of the number of

procedures
modules,

involved in exporting and importing information between

the

and the number of paths used to transmit this information,

simple way to measure the

strength of the connections from module A

A
to

module B is
(the number of procedures exporting information from module A
+ the number of procedures importing information into module B)
* the number of information paths.
The

coupling

measurements

between two modules.


ty.

If

indicates

show the strength of

connections

Coupling also indicates a measure of modifiabili-

modifications are made to a particular


which

the

module,

the

coupling

other modules are affected and how strongly the

modules are connected.

other

These measurements are useful during the design

phase of a system to indicate which modules communicate with which other


modules and the strength of that communication.
or

maintenance,

the

During

coupling measurement is a tool to

implementation
indicate

what

effect modifying a module will have on the other components of a system.

2.4.2.2. Diagrams
There
diagram,
rams,
man

are many types of diagrams:


structure charts,

structured diagram,

data

flow

Warnier-Orr diagrams, Michael Jackson diag-

HIPO diagrams, flowchart. Pseudocode, HOS charts, Nassi-Shneider-

charts,

action diagrams,

analysis diagrams,

decision trees and decision tables, data

entity-relationship

diagrams, data navigation diag-

21

rams,

and compound data accesses.

Three species of functional decompo-

sition charts, IDEFO, IDEF1, and IDEF2 are usually associated with SDAT.
Each

system design and analysis methodology has some

represent

the

diagrams

to

functional decomposition or data structure or data flow.

Good, clear diagrams play an essential part in designing complex systems


and

developing programs.

The larger the program,


ming.

It also helps in maintenance and

debugging.

the greater the need for precision in

MSR does not use any kind of diagram, it simply uses

techniques

at

programming

each level and refines one portion at a time

whole program is completed.


ming technique.

diagram-

until

the

PSL/PSA also does not involve any diagram-

It only uses literal description to express

functional

and performance requirements.


Structured diagramming combines graphic and narrative notations to
increase understandability.
degrees
process.

of

detail

It can describe a system program at varying

during each step of

the

of

over

earlier

a program.

Today's structured techniques are an

techniques.

However,

systems are full of ambiguities,

most specifications

inconsistencies,

precisely, mathematically based techniques are

such

decomposition

Flowcharts are not used because they do not give a structured

view

use

functional

improvement
for

and omissions.

evolving so that we

the computer to help create specifications without these


as

CAI,

manufacturing,

CAD and CAM

(Computer-Aided

respectively),

Analysis and Programming).

CASA

and

CAP

complex

instruction,

can

problems,

design,

(Computer-Aided

More

and

Systems

22

2,4,3. Approaches to Successful System Design


There

are many design techniques which apply to both integrity and

flexibility.

system

has

a high level of integrity if

it

has

the

characteristics: correctness, availability, survivability, auditability,


and security.
Flexibility includes the ability to modify functions, protocols, or
interfaces provided by the system or to add new functions, protocols, or
interfaces,

and the ability to

expand the capacity of the

system,

or

possibly to decrease the capacity.


Ground

rules

which

apply

both to designing

for

integrity

and

designing for flexibility include the following:


1. Design for the maximum feasible modularity:

The piece-at-a-time

approach rather than the grand-design approach should be used throughout


system design and implementation.
as flexibility.

Modularity improves integrity as well

A modular system is more readily understood and is less

likely than a more integrated system to have hidden relationships


its

elements which eventually cause errors or failures.

among

Modularity is

therefore one of the most basic ground rules of good design.


2. Design for simplicity and avoid complexity: Complexity in design
or

implementation makes a program or system

difficult

to

understand,

systems which cannot be understood cannot easily be changed. Simplicity,


like modularity, contributes to both integrity and flexibility.
3.

Create

organization,

a set of design and implementation standards within the


and

programming-language
interfaces.

observe them rigorously.


standards,

protocols,

Those

standards

interfaces,

and

include
internal

23
4. Document everything.
Designing rules for integrity are as follows:
1. Provide

automatic restart and recovery capabilities for all the

system's information processors


2. Ensure

that the

host and satellite.

communications links,

processors,

and

other

equipment have adequate diagnostic capabilities,


3, Arrange for manual operation in case of serious system failures,
4, Define
security

which

data elements or functions must be protected

or privacy reasons and how this protection relates

for
to

the access control over system functions,


5, Design the system to be self-tracking, by

logging all important

events,
6. Ensure that the DBMS (DataBase Management System) software to be
used includes dead-lock detection and resolution,
7. Minimize the amount of keying required in data entry,
8, Do not allow access to a database except by standard DBMS.
Designing rules for flexibility are as follows:
1, Decouple information
and
as
the

implementation.

processing, database,

and network

design

Keeping each of these areas as independent

possible allows each to be changed without affecting any


others.

This is modularity on a systemwide basis and

the same effect as modularity at a lower level,

such as

of
has

within

an application program.
2. Decouple the design and management of the user interfaces, especially terminal-user interfaces,
input data.

from processing which uses the

24
3. Standardize

and

document all interfaces

between

modules and

programs.
4. Limit the size of programs and modules.
5. Minimize the degree of

tight integration among the parts of the

information system; emphasize loose coupling instead.


6. Don't define limits within modules, programs, or the system.

2.4.4. System Characteristics and Design


Components
There

are

some

characteristics which can be

used

to

represent

either a methodology or an application system.


1. Data
vertical

structures and clash recognition: Data structures are the

data relationships. Usually, input data structures are sepa-

rate

from

output data structures.

Structure clash occurs when

input

data

structures are inconsistent with output data structures. If there

is a large amount of data involved, it is easy to have structure clash.


If the methodologies are data-driven, then data structure charts will be
included,
2, Data flow analysis and control: Flow of data shows the horizontal data relationship, or indicates the input-process-output
ship.

This

relationship can be one to one (1:1),

many to one (N:1),

or many to many (N:M).

one to many

ship

a many to many relationship.

(1:N),

Problem Statement Language/

Analyzer (PSL/PSA) generates data metrics, from the input


shows

relation-

data, which

The input-process-output relation-

is many to many for the Structured Analysis and Design Technique/

25

IDEF

(SADT/IDEF),

Higher

Order Software (HOS),

and

Hierarchy-Input-

Process-Output (HIPO), and one to one for Structured Design (SD).


3. Functional structures indicate the vertical functional relationship.

They can be hierarchy charts or structure charts. Usually struc-

ture charts include more information than hierarchy charts.


4. Process flow analysis is the horizontal functional relationship.
It shows the sequence of processes.

Process flow charts usually include

input and output for each function (data flow analysis).

However,

data

flow analysis does not always include process flow analysis. Data

flow

analysis can be included in functional structure charts, such as HOS.


5. Control

mechanism:

Some

methodologies

are

good

in

logical

control, but weak in data flow control, such as Warnier-Orr Design (WOD)
and Top-Down Design (TDD),

some are the reverse, while others are good

in both controls.

2.5. Criteria for Analysis and Design


Methodologies
Generally, a good design methodology and its diagrams should:
1. include some or all of the following information:
. process flow (horizontal functional relationship)
. functional structures (vertical functional relationship)
. data flow analysis (interface of data and functions)
. data structures (vertical data relationship)
2. provide

formal

guidelines to determine how to decompose struc-

tures, what the boundaries are, and when to stop;


3. check the consistency of data input and output;

26
4. recognize structure clash;
5. be precise in describing system structures;
6. be able to handle complex systems;
7. be easy to use;
8. be easy to understand;
9. be easy to modify;
10. be easy to program and implement;
11. provide documentation.
The more information a diagram can show,
can write the code.

the easier the prograrmner

A good diagram should be not only easy to read and

understand, but also be consistent.

Only when the flow of data is shown

can data consistency be check.


The flow of data is as important as the sequence of processes.

If

a diagram does not show the input and output data of a function process,
there is a high probability of data inconsistency.

2.6. Design Methodologies


Design
enables

methodology

the

may be defined as a set

needs

to construct a structure in terms

dependences,
internal

of

which

associated

The design methodolodata

entities,

their

relative orderings and associated data attributes in which

consistency

inspection,

principles

building of an exact model of events and their

data and the information to be derived from them.


gy

of

and

and

completion are subject

implementation

to

and optimization may

applied to it to transform it to executable form.

verification
be

by

successively

27

Nine

methodologies are evaluated based on their design procedures,

diagramming technique,

data flow control,

logic control, system struc-

ture, functional decomposition, and system specification.

2.6.1, Structured Design (SD)


Structured Design (SD) is based on concepts originated by Larry
Constantine,
called
and

N, Birrell and M, Ould which stated that SD should also be

Composite Design (CD) or Module Design (MD) [245],

CD

L,

have different principles (strength

actually distinguishable
procedures, so it is

methodologies.

seldom

and

However,

coupling),

they

SD
are

CD does not have clear design

adopted,

SD is a methodology for developing logically correct, hierarchical,


structured systems.

It encompasses problem definition, system analysis,

system design, data base design, programming and project management in a


unified

package.

The

method

relies

on following the

through

the system to formulate program design.

through

flow

of

Data flow is

data

depicted

special notational scheme which identifies each data

trans-

formation, transforming process, and the order of their occurrence.


The

interpretation of the system specification is used to

the Data Flow Diagram (DFD),

the diagram used to develop the

produce
structure

chart, the structure chart to develop the data structure, and all of the
results used to reinterpret the system specification.

While the design

process is iterative, the order of iteration is not rigid [25, 167],


SD focuses on a higher-level view of the program, using the program
module

as the basic building block.

The concept of modularization was

refined by standardizing the structure of a program module,

restricting

28

the

interfaces between modules,

and defining program

quality

metrics

[141],
SD

is well suited to design problems where a well-defined data flow

can be derived from the problem specifications.

Some of the

characte-

ristics that make a data flow well-defined are that input and output are
clearly

distinguished from each other, and that transformations of data

are done in incremental steps

that is,

single transformations do not

produce major changes in the character of the data.


The
up,

major problem with SD is that the design is

which

Also,

means

identifying

developed

bottom

that it can be applied to relatively small

problems.

input and output flow boundaries plays an

important

role in the definition of the modules and their relationships.


the boundaries of the modules can be moved almost

However,

arbitrarily,

leading

to different system structures, but no formal guide is provided [167],

2,6.2, Meta Stepwise Refinement (MSR)


Meta
later

Stepwise Refinement (MSR) was authored by Henry

given its name by Ben Schneiderman.

top-down

notions,

structuring.
MSR

and

It is a synthesis of Mill's

Wirth's stepwise refinement,

It produces a level-structured,

allows

Ledgard

and

Dijkstra's

level

tree-structured program.

the designer to assume a simple solution to a

problem

and gradually build in more and more detail until the complete, detailed
solution
detail,
desired.

is

derived.

Several refinements,

are conjured up by the

all at the same

level

of

designer each time additional detail is

The best of these is selected, and so on.

tion is refined at each level of detail.

Only the best solu-

The topmost level

represents

29

the program in its most abstract form.

In the bottommost level, program

components can be easily described in terms of the programming language.


MSR requires an exact, fixed problem definition.
programming

language independent.

In early stages, it is

The details are postponed to

lower

levels. Correctness is ensured at each level.


Each level is a machine.

The three components of a machine are: a

data structure set, an instruction set, and an algorithm.


program is conceived as a dedicated virtual machine.
ment
At

process,
each

To begin, the

During the refine-

a real machine is constructed from the virtual

step a new machine is built.

As the process

machine.

continues,

the

components of each successive machine become less abstract and more like
instructions
process

and

data structures from the

programming

language.

is complete when a machine can be built entirely of

The

components

available in the prograimning language.


Since

the

solution

since

at any one level depends

on

prior

any change in the problem statement

(higher)

levels,

and

levels,

the user's ability to produce a solution at any level is under-

mined

until the changes are made.

until

the

design is complete.

refuse

This results in the solution

requirements being unsynchronized.


is another difficulty.

One approach is to

affects

which

solution

This

approach

works

only

single

changes
and

the

The production of multiple solutions

Coming up with fundamentally different solutions

to a problem is not a likely occurrence for an individual.


decide

prior

is

best

is

not

addressed

best on small problems,

module.

It is

particularly

by

Also, how to
this

perhaps those

method.
involving

useful where the problem

30

specifications

are

fixed and an elegant solution is

required,

as

in

developing an executive for an operating system [141, 167].

2.6.3. Warnier-Orr Design (WOD)


Jean-Dominique

Warnier

and his group at Honeywell-Bull

developed a methodology. Logical Construction of

in

Paris

Programs/Systems (LCP/

LCS), in the late 1950s, which is similar to Jackson's design methodology in that it also assumes data structure is the key to successful software design. However, this method is more proceduralized in its approach
to

program design than the Jackson method.

In the mid 1970s, Ken Orr

modified Warnier's LCP and created Structured Program Design (SPD).


hybrid form of LCP and

SPD is the

The

Warnier-Orr Design (WOD) methodology

[141].
WOD is a refinement of the basic Top-Down Design (TDD) approach. It
has the basic input-process-output model for a system.

It treats output

as being more important than input which is different from the


Constantine

approach and the Jackson approach.

Yourdon-

The designer begins by

defining the system output and works backwards through the basic
model

to define the process and input parts of the design.

really

top-down

design.

The six steps in the

system

It is

Warnier-Orr

not

design

procedure are: define the process outputs, define the logical data base,
perform

event

analysis,

develop the physical data

base,

design

the

logical process, and design the physical process [141].


WOD

is data-driven,

structure,
logical

driving the program structure from

just like the Jackson

design

Methodology.

the

data

They both stress

that

should be separated from and precede

physical

design.

31

Structured

programming

provides

only

part of the

theory

resulted in the development of structured systems design.


element

is data base management.

provide

which

has

Another major

The data base management system

great deal of data independence and thereby reduce the

can
cost

of system maintenance.
This

method

problems,

and

appears

to

be

suited

for

small,

where the data are tree-structured,

output-oriented

the latter leads to

the same kind of problems as the Jackson Methodology [167]. It has no GO


TO

structure.

cannot

Network-like

data structures are

not

permitted.

be used as a general-purpose design methodology since many

It
data

bases are not hierarchically organized.


Another

problem

is that the Warnier-Orr diagram includes

control

logic for loop termination and condition tests only as footnotes, rather
than as an integral part of the diagram.
program

control

design.

There are no guidelines for control logic design.

logy

builds

structure

It makes the designing of the

the

a critical and difficult

logical data base to list all the

part

of

The methodo-

input

required to produce the desired program output much earlier,


of the methodology.
variables,
Further,

nor

are

program

data

items

in step

It provides no comparable structure to list control


the new variables added to the logical data

base.

it does not include a step to check that each control variable

has been correctly initialized and reset [141].


The
nesting
nesting,

Warnier-Orr
is

Diagram is a form of bracketed

horizontal.

For

larger problems with

pseudocode
several

the diagram quickly becomes many pages wide.

where

levels

of

Also, for larger

32

problems

involving many pseudocode instructions,

the

diagram

quickly

becomes very crowded.


At

the

output

point of defining the logical data base from

structure

becomes vague.

and

the logical

input

structure,

the

logical

methodology

By following from the output, the designer may overlook

requirements.

When oversights occur, the designer must redraw the data

structure to include the hidden hierarchy.


many

the

For very complex

problems,

requirements may not be initially apparent from an examination

the system output.


Another

This may lead to an incorrect design.

problem

in multiple output structure is the

hierarchy, which can be dropped from the structure.


transferred to the next lower hierarchical level,
added

in

of

incompatible

The process code is

and control logic

the lower level to determine when to execute the

is

transferred

logic.
The

ideal

input

structures which are derived

from

the

problem

output structure may not be compatibly ordered with the already existing
physical
convert

input

files.

The user can always write

the existing input into the ideal input.

another

program

Sometimes,

to

the data

may have to be completely restructured [141],

2,6.4. Top-Down Design (TDD)


Top-Down

Design

(TDD)

is a design strategy

that

breaks

complex problems into smaller, less complex problems, and then

large,
decompo-

ses each of those smaller problems into even smaller problems, until the
original

problem has been expressed as some combination of many

solvable problems.

small,

33
The interface between modules and the interface between
are common places for bugs to occur.
interfaces

In the bottom-up approach,

usually are not tested until the very end

the discovery of an interface bug can be disastrous.


top-down approach tends to force important,
exercised

at

problems,

they

energy,

and

an

early

can

the

subsystems
major

at which point,

By contrast,

the

top-level interfaces to

stage in the project,

so that

be resolved while there still

resources to deal with them.

is

be

if

there

are

the

time,

the

one

goes

Indeed,

as

further and further in the project, the bugs become simpler and simpler,
and the interface problems become more and more localized.
In

the radical top-down approach,

one first designs the top level

of a system, then writes the code for those modules, and tests them as a
version 1 system.

Next, designs the second-level modules, those modules

a level below the top-level modules just completed.


second-level modules,

Having designed the

next write the code and test a version 2

system,

and so forth.
The

conservative

designing

all

third-level
Then

approach to top-down implementation consists

the top-level modules,

modules,

and

then the next

level,

so on until the entire design

then

is

of
all

finished.

the developer codes the top-level modules and implement them as

version 1.
developer
then

From the

experience

gained in implementing version 1, the

makes any necessary changes to

codes

the lower levels

and tests at the second level,

and on down to

of
the

design,
lowest

level.
There are an infinite number of compromise top-down strategies that
one can select,

depending on the situation.

If the user has no idea of

34

what

he wants,

or has a tendency to change his mind,

radical approach.
may

make

Committing oneself to code too

early in the

it difficult to improve the design later.

being equal,

If the

the radical approach should be employed,

approach.

provide accurate,

If

detailed

one

is

required by

his

the

project

All other

the aim is to finish the entire design.

is inflexible,
conservative

it opts for

things
deadline

otherwise, the

organization

to

estimates of schedules, manpower, and other

resources, then the conservative approach should be used.


Many projects do seem to follow the extreme conservative

approach,

and while it may, in general, lead to better technical designs, it fails


for two reasons:
fying
and

1) on a large project, the user is incapable of speci-

the details with any accuracy,


top

and 2) on a large project,

management increasingly are unwilling to accept two

years of effort with no visible,

tangible output.

or

users
three

Hence, the movement

toward the radical approach [115],


In TDD,

data should receive as much attention as functional compo-

nents because the interfaces between modules must be carefully specified


specified.
TDD

Refinement steps should be simple and explicit.

is

Module Programming (MP) to which is added

functional decomposition.
ment

for

rational

The modules tend to be small and the require-

references from one module to a lower-level module

the

single-entry,

TDD

thus

or

single-exit requirement of

Structured

satisfies

Programming,

has the benefits of Structured Programming which MP does

not

[94],
However,

when following a TDD,

common functions may not be recog-

nized, or the development process may require too much time,

especially

35
for

a large program.

experienced
tions,

in

or

delayed.

constructing a component to match a set

when
A

The TDD is preferred when the developer is

decisions

combination

concerning

data

of

specifica-

representations

of TDD and bottom-up approach is

more

must

often

be
more

practical.

2.6.5. Michael Jackson Structured Design (MJSD)


As developed by Michael Jackson,

the methodology incorporates

the

technologies of top-down development, structured programming, and structured walk-throughs.


design

It is a data-driven program design technique.

process consists of four sequential steps:

data

step,

The

program

step, operations step, and text step.


In this methodology a program is viewed as the means by which input
data

are

parallel

transformed
the

organization

into

output data.

data structures used.


reflects

design is incorrect.

The

system

structure

Thus a tree chart

the data structure records.

of

the

If not,

must
system

then

the

Paralleling the structure of the input and output

ensures a quality design.

Only serial files are involved.

The methodo-

logy requires that the user knows how to structure data.


MJSD divides programs into simple and complex programs.
program must first be divided into a sequence of simple
of

which can then be designed using the Basic Design

programs

fail

A complex

programs,

each

Procedure.

Most

to meet the criteria for a simple program because

their

data structures conflict or because they do not process a complete


each time they are executed.

file

36

Breaking
viewing
data

complex

problem

into a set of

problems

simplifies the design but can

when

the

cause

design is implemented.

program

to

serious

serial

is

it can process one record at a time.

coded

It involves coding

a
so

methods

physical files and introducing subroutines to read

write one record at a time.

the

Program inversion allows

be designed to process a complete file but to be

eliminating

and

efficiency

Program inversion

technique MJSD used to solve this problem.

for

programs

a program as a sequence of simple programs connected by

streams

that

simple

or

The structure text is not affected, nor is

the design, nor is program inversion used during the design phase.
However,

how

the

designer arrives at a

program

structure

combines all simple programs is not explained in the methodology.


complex problem,

the system network diagram,

hidden program steps,

For a

the data structures,

the program structure do not obviously fit together.


tures,

that

and

Double data struc-

and combined program structures, a normal

part of the design of a complex program,

can confuse and frustrate even

the most experienced of designers.


Several difficulties are encountered.
mentation

which has too few explanatory

accessing

and

manipulation

One is the supporting docunotes.

schemes make the

Whether the data are tree-structured or not,


an

Also,

design

various

more

file

difficult.

one may still end up with

unimplementable program because there does not appear to be a causal

link between data structure and program quality [167].


There are two major achievements.
to the backtracking problem,
tures

and

The first,

a standard solution

enables the correspondence of data

struc-

program structure to be maintained in those cases where

the

37

serial input stream prohibits making decisions at the points where

they

are

good

required.

MJSD

enables the essential distinction between a

batch and a bad batch to be preserved in the structure of the program.


The

second

structure

major

clashes.

achievemnet

Structure

of

MJSD

is

the

recognition

clashes occur when the input and

of

output

data structures conflict. A structure clash is usually recognized during


the

program

step

of the design process when the

correspondences between data structures.

designer

looks

for

To resolve a structure clash,

the problem is broken into two or more simple programs by expanding


system

network diagram.

process

the

The designer must back up and begin the design

again with an expanded system network diagram.

As with

back-

tracking the designer is able to apply standard, simple solutions to the


complex problems.
By
each

defining programs and processes in a way which

design

structural independence of all the others,

MJSD makes

for

program

more nearly an automatic procedure than is the case with any

the other methodologies.

of

By so doing it provides one of the prerequisi-

ties of the ideal capability,


its

guarantees

but it has not yet capitalized on this in

system design techniques [94].


Both MJSD and SD separate the implementation phase from the

phase.

The

major difference between the two is that MJSD is based

the

analysis

of data structure,

data

flow.

One is data-oriented,

advocates

design

while SD is based
the other

a static view of structures,

view of data flow.

on

on an analysis

process-oriented.

whereas SD advocates a

of

MJSD
dynamic

38
The
need

to

important difference between MJSD and SD is that in


read,

clearly shown.

update,

and

produce a new-subscriber master

MJSD

the

file

is

MJSD is therefore preferred over SD because it provides

the more complete design.


In the respect of data design, MJSD is superior to the other design
methodologies.
verification,

However, in the areas of control logic design and design


MJSD is weak.

There are no guidelines for governing the

execution of loops and selection structures during the last part of

the

last step in the design process or checking its correctness.


Verification is an important part of the constructive method.

Each

step should be performed independently and verified independently.

MJSD

includes an informal verification step in each basic design step,


is

not

simple

sufficient.
programs and

The

designer decomposes a complex

which

problem

verifies only the parts, but verifying the

into
parts

does not mean the whole is verified.


The major weakness of MJSD is that it is not directly applicable to
most

real-world

problems.

First,

the

design

existence of a complete, correct specification.


for most data processing applications.
limited

to

simple programs.

Third,

toward batch-processing systems.

process

assumes

the

This is rarely possible

Second,

the design process

the design process

is

is

oriented

It is not an

effective design techni-

nique for on-line systems or database systems.

In general, MJSD is more

difficult to use than other structured design methodologies.


are tedious to apply.

The steps

39
2.6.6. Problem Statement Language/Analyzer
(PSL/PSA)
PSL (Problem Statement Language) was developed by the ISDOS project
at the University of Michigan.
particular

methodology

declarations
system,

that

or

allow

It is a natural language prescribing no

procedure,

though

it contains

the user to define objects

in

the

set

of

proposed

to define properties that each object possesses, and to connect

the objects via relationships.

Each PSL description is a combination of

formal statements and text annotation.


PSA (Problem Statement Analyzer) is the implemented processor
validates

PSL statements.

It generates a data base that describes the

system's

requirements and performs consistency checks

analyses

on the data.

PSA processor.
lists

and

completness

Many different reports can be generated by

These include:

of objects,

that

the

data base accesses and changes, errors,

and relationships among the data

in the data

base.

PSL is mostly keyword-oriented, with a relatively simple syntax [83].


PSL
permit

contains a number of types of objects and relationships


these

different aspects to be

described:

system

which

input/output

flow, system structure, data structure, data derivation, system size and
volume, system dynamics, system property, and project management.
PSL/PSA incorporates three important concepts. First, all information

about

the

developing

system is to be kept

development-information database.

Second,

in

computerized,

processing of this informa-

tion is to be done with the aid of the computer to the extent

possible.

Third, specifications are to be given in what-terms, not how-terms.

40

The

approach

requirements
specific

primarily

analysis and specification.

method

and

aspect

It does not incorporate


the

of
any

problem

The act of formally specifying all development infor-

the cuialysis reports produced by PSA can aid the

understanding
response

communication

to lead one to a better understanding of

being worked on.


mation

assists in the

of

the

partly

in

to the tendency of analysts/designers to describe a system

in

programming-level
nontechnical

problem.

details

user.

It was created

at

least

analyst's

that are useless for communication with

At the same time,

it

make it useful for design specification.

the

provides sufficient rigor to


It has been used in situations

ranging from commercial DP to air-defense systems [81].


PSL/PSA

is

conventions
used
of

to

many

specific

the design manageable.

memory.

In

Also,

PSA

microcomputer

uses

large

amounts

direct

access

However, since I98O a

version of PSL/PSA has been developed with a

bytes of RAM,

Naming

PSA and must be

the and several megabytes of

secondary storage on large main frame computers.

64K

applications.

and limited attributes are not checked by

keep

canputer

too general for

and it became a single-user system.

minimum

of

The number

of

reports also reduced from 30 to 6 [83, 122].


PSL/PSA needs more precise statements about logical and
information.
more

It is also too complicated to be used.

effective

provids

more

and
help

simple data entry and


to the users.

procedural

It should provide

modification

The system performance

commands
also

and
needs

improvement.
PSL/PSA

has

a number of benefits.

become possible and particular qualities,

Simple

and

complex

analyses

such as completeness, consis-

41

tency

and coherence can be more easily ensured and checked for.

Also,

the implications of changes can be quickly and completely established.

2.6.7. Structured Analysis and Design Technique


(SADT)
Structured
SofTech,

Inc.,

design.

SADT

Analysis and Design Technique (SADT),


is

a manual graphical system for

has three basic principles.

principle in a very pragmatic form.

trademark

system analysis

The first is the

Any function or data

of
and

top-down

aggregate be

decomposed into no fewer than three, no more than six at the next level,
because

to decanpose into fewer generates too many levels and to deccan-

pose into more causes span of control problems.


The second principle is represented by the rectangular
tion box with its four symmetrically disposed arrows.
sents

an activity,

arrow

the output data,

transforma-

If the box repre-

the left arrow describes the input data,

the right

the upper arrow the control data and the

arrow the means used to effect the transformation.

lower

This is a formaliza-

tion of the change-of-state emphasis, but is decoupled entirely from any


computer representation.
The

third principle is that the system may be represented

by a connected set of data boxes.


links

representing

data

representing activities.
and

data

system

has

The activity boxes are connected

while the data boxes are connected

activity-based

be

by

by

links

The methodology acknowledges that the activity

representations are symmetric and equally valid,


to

equally

implemented from

its

constituent

approach is the dominant one.

In fact,

but since a

activities

the

the drawing of

42

the corresponding database


of

checking

parallel

consistency

here

between

diagrams is

recommended

and completeness.

There

mainly as a
is

an

means

interesting

the activity/data ambivalence of SADT

and

the

transform/transaction ambivalence of SD [94].


One basic assumption made in using SADT is that requirements
nition

defi-

ultimately requires user input to choose among conflicting goals

and_cons_traints.

This is difficult or impossible to

automate.

While

SADT is a design technique, it assumes that existence of other automated


tools to provide for the on-line data bases that may be needed.
There are a few problems in using SADT:

it is not automated; it is

sometimes hard to think only in functional terms;

the technique lacks a

specific design methodology [83].


The United Stated Air Force Integrated Computer Aided Manufacturing
(ICAM) Program is a SADT, particularily for applying computer technologjy
to

manufacturing

industry.
method

and demonstrating ICAM technology for

transition

to

To better facilitate this approach the ICAM Definiton (IDEF)

was

established to better understand,

communicate and

analyze

manufacturing.
There

are

three models in IDEF.

Each represents a distinct

but

related view of a system and each provides for a better understanding of


that system.
1. IDEFO is used to
functions
ties.
to

produce a

Function

Model (blueprint).

These

are collectively referred to as decision, actions and activi-

In order to distinguish between functions,

identify

the model is required

what objects are input to the function,

function and what objects control the functions.

output

from

the

Objects in this model

43
refer to data,

facilities,

equipement,

resources, material, people,

organizations, information, etc.


2. IDEF1 is an
structured

Model.

The

IDEF1 is a

description supported by a glossary

references,
detail

Information

which

dictionary, a

defines, cross-

relates and characterizes information at a desired level of

necessary to support the manufacturing environment.

identifies

entities,

attribute

relations,

assignment constraints.

attributes,

attribute

The

IDEF1

domains, and

The advantage of the IDEF1 approach

to describing manufacturing is that it provides an essentially invariant


structure

around

which data bases and application

subsystems

can

be

designed to handle the constantly changing requirements of manufacturing


information.
3. IDEF2 is a
dependent

Dynamics

Model (scenario).

It

represents the time

characteristics of manufacturing to describe and analyze

the

behavior of functions and information interacting over time. The Dynamic


Model identifies activation and termination events, describes sequences
of

operations,

output.

The

definition

and

defines

Dynamics

Model

conditional relations between


Entity

Flow

diagram

is

input eind

supported

forms which quantify the times associated with the

by

diagram.

The Dynamics Model is comprised of four submodels: Resource Disposition,


System

Control,

and Facility Submodels which support the

Entity

Flow

Submodel.
The ICAM system development methodology is unique because it establishes
the

a formal definition of the current manufacturing system prior to

specification of the future integrated system and it uses

rather than a specification to accomplish this definition.

model

Descriptive

44
models for management control and representational models for specifications

and designs are utilized to construct,

implement and maintain an

integrated system [200].

2.6.8. Higher Order Software (HOS)


HOS
Saydean

initially was developed and promoted by Margaret Hamilton


Zeldin while working on NASA projects at MIT.

invented
reliable,
basic

in

response

to

the need for

large scale, multiprogrammed,

formal

The method

means

of

was

defining

multiprocessor systems.

elements include a set of formal laws,

and

Its

a specification language,

an automated analysis of the system interfaces,

layers of system archi-

tecture produced fran the analyzer output, transparent hardware.


This design method requires rigorously defined forms of
decomposition with mathematical rules at each
continues

until

can be generated.

step. The

functional

decomposition

blocks are reached from which executable program

code

The technique is implemented with a software graphics

tool

called USE.IT,

which automatically generates

code

and tenainates the decomposition.

executable

It can generate

program

code for

very

complex systems with complex logic.


This
hierarchy

design

method is based on axioms which explicitly

of software control,

define

wherein control is a formally specified

effect of one software object on another:


. A given module controls the invocation of the set of valid

func-

tions on its immediate, and only its immediate, lower level.


. A

given

module

output space.

is

responsible for elements of only

its

own

45
. A given module controls the access rights to a
whose

set

of variables

values define the elements of the output space

for

each,

and only each, immediate lower level function.


. A given module controls the access rights to a

set of

variables

whose values define the elements of the input space for each, and
only each, immediate lower level function.
. A

given module can reject invalid elements of its own,

and only

its own, input set.


. A

given

module controls the ordering of each tree for the imme-

diate, and only the immediate, lower levels.


The most primitive form of HOS is a binary tree. Each decompostion
is

of a specified type and is called a control structure.

sition

has

to

obey rules for that

control

structure

The decompothat

enforces

mathematically correct decomposition.


Each node of HOS binary tree represents a function.
one

or more objects as its input and one or more objects as its output.

An object might be a data item,

a list, a table, a report, a file, or a

data base, or it might be a physical entity.


cal notation,
side

A function has

In keeping with mathemati-

the input object or objects are written on the right-hand

of the function,

and the output object or objects are written

on

the left-hand side of the function.


Design

may proceed in a top-down or bottom-up

methodologies,
high-level

the

design,

different languages.

requirements statements,
and

the

detailed

With HOS,

the

fashion.

In

specifications,

program design

are

done

many
the
with

one language is used for all of these.

46

Automatic checks for errors,

omissions, and inconsistencies are applied

at each stage.
Three primitive control structures are used: JOIN, INCLUDE, and OR.
Other control structures can be defined as combinations of these three.
1. JOIN: The parent's
functions.

The

function is

input

decomposed into two

sequential

of the right-hand child is the

same

as

that of the parent. The output of the parent is the same as that
of the left-hand

child.

The output of the right-hand child

is

the input to the left-hand child.


2. INCLUDE:

The

parent's function is decomposed into two indepen-

dent functions.
the parent

Together

function,

both

offspring use the input data of

and together they produce the output data

of that function.
3. OR: One of the offspring achieves the effect of the
not both.

parent, but

The resulting output of each offspring is the same as

that of the parent.


4. COJOIN:
ture.

A COJOIN is composed of a
It is like the JOIN

JOIN and an

structure

INCLUDE

except that the left off-

spring has as its input, variables that are input to the


as well as variables that are output from the right
5. COINCLUDE:
parent.
6. COOR:

The

offspring

share

part

struc-

of the

parent

offspring.

input from

the

Together they produce the output data of that function.

A condition,

P(B), is

tested.

One of the

offspring is

used, depending on whether the condition is true or false.

47

7. CONCUR:
output

Similar to COINCLUDE in that both offspring produce the


data of a function together,

CONCUR allows the input of

the left-hand child to be that of the parent or other child.


There are four types of leaf nodes:
1. Primitive

Operation (P): This is an

decomposed into other operations.

operation that

cannot

be

It is defined rigorously with

mathematical axioms.
2. Operation

Defined

decomposed in

Elsewhere

(OP): This function

another control map,

which

is

may be part

further
of

the

current design or may be in a library.


3. Recursive Operation (R): This is a special node that allows the
user to build loops.
4. External
that

Operation (XO): This function is an external

is not written with HOS methodology.

program

It may be the manu-

facturer's software or previously existing user

programs.

The

HOS software cannot guarantee its correctness.


The diagrams are designed interactively. The designer can build and
check them quickly.
created

with

However, certain operations appear cumbersome when

control maps.

It is desirable to

replace

or

simplify

repetitively used logic.


There
tool.
ing a

are two ways of extending the power and usability of the HOS

The most common is to build a library of operations, like buildlibrary of subroutines and callable programs.

maps contain blocks labeled OP or XO.


fulness

control

The second way of extending use-

is to create defined structures.

one's own language or dialect in HOS.

Most HOS

This is rather like creating

48

USE.IT

has

an automatic documentation

generator

that

generates

documentation in U.S. Department of Defense format, with standard


graph numbers,
blocks.

and so on.

high-level

high-level blocks.
to

them.

control

map,

The designer can put comments in any of the

system description may be associated

with

the

The low-level blocks often need no description added

person
and

para-

maintaining the software works

from this both new program code

by
and

changing
new

the

auxiliary

documentation are generated.


HOS
using

eliminates the need for most dynamic program testing,

static testing.

usable

combination

of

Dynamic program testing tests each


branches

rigorous mathematical technique.

for all

programs not

instead

branch

built

and

with

Static testing refers to verification

that the functions, data types, and control structures have been used in
accordance
performed
control

by a computer with absolute precision.

The verification is
A few

instances

paths will be checked to ensure that correct results are

produced.
HOS

with rules that guau'antee correctness.

being

Because of the computerized verification and cross-checking,

is particularly valuable for creating specifications of a level

complexity

of

beyond the capability of one person.

The more complex

of
the

system, the greater the benefits [141].

2.6.9. Hierarcy-Input-Process-Output (HIPO)


Hierarchy-Input-Process-Output
developed
useful

for

(HIPO) is a documentation technique

by IBM and used in a number of different situations.


design documentation as well as

specifications

before beginning design.

stating

It

requirements

It is based on two

is
and

concepts:

49

The

input-process-output model of information processing and functional

hierarchies.
HIPO
charts

is basically a graphical notation,

and process charts.

ture chart.
program,

consisting

hierarchy

The hierarchy chart is similar to a struc-

Each box in the chart can represent a

or program module.

of

system,

subsystem,

Its purpose is to show the overall

func-

tional components and to refer to overview and detail HIPO diagrams.

It

does not show the data flow between functional components or any control
information.
Also,

It

does not show the arrows with open or filled circles.

it does not give any information about the data components of the

system or program.
The

second part of the HIPO notation is process

charts have two levels:

charts.

Process

overview diagram and detail diagrams.

They are

used to describe a function in terms of its inputs, the processing to be


done,

and the outputs produced.

process

Any of the information, especially the

part, may be described in more detail by accompanying

material.
however,

textual

The process charts show the flow of data through processes;


they are more difficult to draw than data flow diagrams. HIPO

diagrams often require more verbiage and symbols to give the same information as a comparable data flow diagram.
HIPO

has been used in a number of DP (Data Processing)

and some more complex specification tasks.

Its

drawbacks,

situations
especially

with respect to interfaces and the description of data,

were limited to

its acceptance.

strategies,

procedures

HIPO does not include any guidelines,

to guide the analyst in building a

or

functional specification

or the designer in building a system or program design.

50

At the general level, a structure chart is usually preferred over a


hierarchy chart.
over

HIPO

compact

At the detailed level,

diagrams

form.

pseudocode is often preferred

because it provides more

information

in

more

HIPO diagrams have no symbols for representing detailed

program structures such as conditions, case structures, and loops. HIPO


diagrams cannot represent data structures or the linkage to data models.
However, its ease of use and simplicity do make it a
native

for defining functional requirements and

functions.
steps

viable alter-

specifying

individual

Showing input and output and how they relate to

procedural

is a strength of HIPO diagrams that some other

structured

tech-

niques do not have [81, I4l].

2.7. Summary
There is no way to define the range of problems that a

methodology

can handle except in terms of their structural principles. What distinguishes


of

these categories are not differences of structure or principles

design

access,

but the

mechanisms

of

invocation,

synchronization,

data

etc., all of which have to do with the transfer of data between

processes rather than their existence or internal structure.


All the methodologies recognize this by not
sions for these distinctions.

making

As far as defining the

special provi-

range of problems

in terms of structural principles is concerned, it is impossible to make


any statement at all for MP,
are

solution-oriented.

Given a well-defined problem, any of these will

produce a solution,

however

are

WOD

defined.

With

TDD, SD and SADT, simply because all these

and

particular characteristics of the problem


MJSD at least a

relative

statement

is

51

possible.

MJSD

offers backtracking and the mechanical

clashing structures as already

described.

decoupling

of

WOD has no conception of the

former and only a vestigial treatment of the latter.

What MJSD makes so

central to the understanding of program structure WOD dismisses in a few


paragraphs

with

trivial illustrations.

What in MJSD is

basis for future system design, in WOD is merely


of

obviously

the obligatory mention

a universal difficulty which the methodology otherwise does not take

into account.
Both
files

MJSD and

where

WOD

also deal with the problem of

items in different files have to be collated.

cumbersome approach based on the selection,


files as a guide file.
problem
and

multiple

arbitrarily,

input

WOD has

of one of the

MJSD perceives that the essence of the collation

is the physical disjunction of a single iteration

of

entities

therefore forces a similar program structure in a way that does not

falsely attribute structural importance to any one of them.


MJSD

is more competent than WOD.

file-processing

problems.

WOD deals only with

commercial

In such problems the data may well

require

considerable computation to produce the required output but the entities


are

self-identifying.

both

the

MJSD is capable of dealing with cases in

classification

and extent of the principal entities

which
in

the

files have to be computed.


Structural

integrity is the most important single attribute that a

system should possess.


a

system may

tures
them.

it

One half of it is correctness.

The structure of

be correct if it corresponds directly to the data

models and the existent orderings of the

Furthermore,

entities

this correspondence must be visible;

in

struc-

composing
whatever

52

form

the

design is represented,

language,

that which is present for reasons

optimization and physical input/output must be separable from

the realization of the problem structure.


tural

of

integrity

inspection

of

if

A system has complete

an outsider can deduce the problem

the design notations or compilable

code

it

struc-

solves

and,

by

further,

cannot tell whether it has ever been amended.


Because
structural

they are solution-oriented,


correctness by inspection.

TDD,

SD and SADT can

SD does meet

the

reveal

evolutionary

requirement because if the strength/cohesion and coupling rules are kept


wherever

the

system

is amended,

the patches do not

designed

by

SD

possible

to

ensure that the structural quality

may not have the best

show.

possible structure
does

not

but

system
it

is

deteriorate

under repeated alteration.


SD

permits the preservation of structural integrity.

PSL/PSA and

MJSD both provide sufficient insight for the full effects of any
ment

and

the necessitated structural changes made at both

amend-

system

and

progrsim levels.
The

conclusions

about

design methodologies are

method exists which would be an asset on every design


can

only contribute so much to the

designs,

methods do not;

design

a design problem,

effort;

that

no

single

problem;

methods

designers

produce

although well suited to a

particular technique, will always have some quirk which makes it unique;
designing is a technique of problem solving.
Methods
in

are important but their successful application occurs only

supportive environments.

Specifically,

elements must all be present and effective.

the

necessary

management

The larger the system, the

53
more important are these technical factors. The balance between methods
and environments is a delicate one.

The merging of these may very well

be the next evolutionary step [167].


The

combination

of

Structured Systems Analysis and

PSL/PSA

are

powerful tools in the development of logical models, functional specifications, and management information systems; it also provides a valuable
methodology for use by teachers of system analysis and design.

CHAPTER 3
ANALYSIS OF COMPUTERIZED MANUFACTURING SYSTEMS

3.1. Basic Concepts of Flexible Manufacturing


Systems (FMS)
In 1976 the first Flexible Manufacturing System (FMS) was installed
in the United States.

The benefits of FMS include: reduced work in pro-

gress, quicker changeover times, reduced stock levels, faster throughput


times,

better response to customer demands, consistent product quality,

and lower unit cost.


has

to

Later, manufacturers recognized that integration

be achieved not only in the factory,

but also in almost

department and all functions of a manufacturing


term

Computer Integrated Manufacturing (CIM) was introduced.

chapter,

both

Flexible

types

following

Manufacturing System (FMS) is a

of workpieces are transported,

handling

and

the

In

this

the structure and the functions of a FMS are analyzed.

K. Stecke and J. Solberg gave FMS the


"A

organization,

every

systems,

definition [191]:

system in

which

various

via computer controlled material-

to versatile machines for

the

processing of

their

individual operations, without human intervention.

In general, FMS is

applicable

which

variety
manual

of

to

mid-volume

manufacturing

different part types.

scheduling

systems

Unlike

of a FMS is impractical,

conventional
and

used:

ABMS

(Advanced

54

Batched

job

The

Manufacturing

shops,

would very likely

serious underutilization of the system's capabilities."


terms are also

produce

be

following
System),

55

VMS

(Versatile Manufacturing/Variable Mission

System),

VMM

(Variable

Mission Manufacturing), and CMPM (Computer Managed Parts Manufacturing).


Flexibility is the essential feature of FMS. Flexibility is defined by Mandelbaum [137] as the ability to respond effectively to changing
circumstances.

The

measure of

flexibility includes part flexibility,

cell flexibility, machine flexibility, and control system flexibility.


To

maximize the benefits of a FMS it is necessary to ensure

that,

as the job flexibility of the system increases; the decline in productivity is minimized, and the increase in

efficiency (machine flexibility)

is maximized.

3.2. Flexible Manufacturing Systems vs


Transfer Line
There

are two general classes of multistation automated manufactu-

ring systems,
lines

automatic transfer lines and FMS.

In automatic

transfer

all parts processed by the line have the same sequence of

tions.

Part

movement is synchronized and,

at fixed intervals of time,

every part in the system is transferred to the next station.


need

not visit the same sequence of machines as is the case

which

can

opera-

All parts
with

be regarded as equivalent to a conventional shop with

FMS,
auto-

mated material handling [47].


As

long as a FMS has a production range of less than a dozen parts

per hour,

its advantages can be justified.

For high-volume production,

transfer machines remain the most cost-effective method.


FMS

is

beneficial for

In

addition,

job shop production in which the machined

configurations can change from week to week.

part

56

In contrast,
of

transfer machines with special stations for a

family

parts can machine faster and with better quality than systems

must

make compromises for any part defined within a cube

manufacturers of valves,

compressors,

size.

which
Thus,

engines, or washing machines may

be better served by a combination approach that uses transfer technology


with special flexible machining stations.

3.3. Cellular Manufacturing (CM)


Manufacturing systems are segregated into three categories based on
their physical layout:
Manufacturing
(GT).

(CM).

product layout,

functional layout, and Cellular

CM is a subset and derivative of Group Technology

Each cell is designed to produce a part family.

The parts within

the family normally will go from raw material to finished parts within a
single cell.

Usually,

divided

into

remains

as

the manufacturing facility cannot be

specialized cells.

Rather,

a portion of

completely

the

a large functional job shop which is termed

the

facility
remainder

cell [93].
Flexible
tages

Manufacturing Cell (FMC) provides many of the same advan-

of a full FMS ~

levels

at far less cost.

of the factory hierarchy.

These

cells form

the

The cells receive their work

either from a supervisor console or from a center-level computer.


cells

may

controllers

also
from

receive

the part programs to be used

remote CAD systems.

by

the

The results of each work

lower
orders
The
device
order

are returned to the requester when the work is completed.


A
months

cell is generally on-line,

and provide a return

before a more sophisticated system could.

The

on

investment

common elements

57

in a cell are:

the machines, a material-handling system, and a computer

or cell controller.

The material-handling system is generally interre-

lated with the various machines,

and orchestrating the whole

operation

cell control system can be logically divided into two

sections.

is a cell controller [27].


A
In

one section are the algorithms and database that are responsible for

the actual cell management (cell controller).


following

functions:

program management,
second

production

control,

This section performs the

resource

management,

equipment monitoring, and error monitoring.

section is the machine-dependent hardware and software

part

In the

required

to control and monitor each individual device in the cell.


The

hardware and software architecture of the control system

dictate the flexibility that can be achieved.


be

discussed,

totally

Three possibilities

will
will

with designs progressing from a centralized system to

distributed system.

Essentially,

the intelligence is progre-

ssively driven down to the lowest level,


1, The Centralized System:

In this

architecture, the cell control

system is completely implemented on a single computer system, probably a


general-purpose minicomputer.
the cell control functions.

This machine manages the database and all


In addition, all the application and proto-

col tasks required by the machines in the cell are performed there.
2. The

Network

System:

Local Area Networks (LANs),

This approach utilizes the development of

which provide high-speed, error-free trans-

misssion, and microprocessors to distribute the control system.

In this

architecture, the cell controller will be a minicomputer or possibly one


or more microcomputers.

The protocol section of the

machine-dependent

58

software

is contained in Network Interface Units (NIUs),

to the network.

The cell controller is responsible for the cell control

functions and database management,


tion

which connect

software.

When

as well as all the machine

an application wishes to control its

applicaassociated

machine, it sends a message over the LAN to the protocol software in the
NIU, which transmits it to the machine.
3. The Fully Distributed System:
controller,

database,

and

In this

NIUs are all directly connected to a LAN to

provide a fully distributed architecture.


ponsible
cation

for

The cell controller is

only those functions that control the cell.

The

and protocol software that provides the intelligence to

the machine is placed in the NIUs,


just

control system, the cell

In this way,

the LAN is no

communication system to a group of machines but is also

between

res-

applioperate
longer
a

bus

the cell control software and the virtual machines it is opera-

ting.

The

advantage

of a network-addressable database

is

that

the

burden

of obtaining the required part programs is transformed from

the

cell control processor to the NIUs [205].


The

heart of the design is flexibility.

founded on two principles:


must

be

modular,

The design philosophy is

the cell and its component parts and

and the cell and its components fit in a

pieces

structured

hierarchy.
A few of the most common cell design pitfalls are listed below:
1. Flexibility vs. Productivity:
designed
therefore

The components of the cell can be

to maximize either of these criteria,

but not

both.

It

is

important to decide from a production standpoint how flexible

the cell should be and what its productivity should be.

59

2. Failures: Failures can result from many causes, including equipment breakage,

faulty incoming parts,

acceptable to scrap a part,

and robot drift.

It is probably

but the equipment in the cell should not be

allowed to seriously damage itself.


3.
will

Critical Items:

have

to be fed by hand.

commission,
a

cell.

computer,

If the robot is out of commission,

If the supervisory computer is

out

of

then the machine tools and robots can no longer function as


In

the case of very critical components,

such as

there should always be spare parts on hand.

the

host

Sensors, such as

limit switches used to determine the presence of a part,


redundant

then parts

should be made

so that if one fails then the desired information will

still

be available from another.


4. Cell Host Extensibility:
dure

for changing the way the cell executive sequences the machines

the cell.
it

There must be a straightforward proce-

The software to handle the errors should be designed to make

straightforward to add new routines and modify old ones.

tion,

in

the

In

hardware must allow for expansion of the software.

addi-

host that seems just adequate for the cell at design time will

cell

probably

soon be bogged down with unanticipated sensor handling routines.


The
means

functions and equipment for the cell described above are by no

exclusive.

Various

alternative configurations can be

used

to

increase flexibility or productivity.


After

cell is built,

manufacturing system.

it needs to be integrated into

Like the cells beneath it,

a defined input and output.

larger

the system will be a

module

with

It will depend on

higher

level of the hierarchy for certain services such

as

the

next

inventory.

60

engineering support, and scheduling.

The system may be a very large and

versatile collection of cells, but it is not a factory.


the

following

operations

are beyond the scope

of

In particular,

the

manufacturing

system:
1. The

retrieval and

initial processing of raw materials is

done

outside the system.


2. Inventory and its control are handled outside the

manufacturing

system.
3. Maintenance

functions

required in the factory are not part

of

the system.
4. The CAD/CAM system will reside in computers outside the manufacturing system.
The supervisory computer for the manufacturing system will fill the
same
It

role for the system that the cell host computer does for the cell.
schedules the flow of parts between the cells within the

ring

system,

directs

the flow of information

concerning

manufactuthe

parts,

stores the CNC part programs in an on-line storage facility, maintains a


database

that relates particular parts to the programs required to make

them, and supplies the part programs to the cell host when a new part is
send to a cell.
cell

The manufacturing system computer must also provide the

host with its operating software.

support

each

time they are booted,

responsible for that also.

If the cell hosts need software

then the system computer

The statistics arising from the

will

be

individual

cells will need to be compiled, compressed, and analyzed by the manufacturing

system

computer.

The software for

gracefully

system will reside in the system computer [67].

degrading

the

61
3.4. Components of A Machining Cell
1. A

CNC Milling

Machine:

This

closed-loop control of the table.

machine should be

equipped with

The spindle speed should be software

controllable.
2. A
closed-loop

CNC Turret Lathe:

The machine tool should be equipped

position control on all axes.

with

The spindle speed should be

software controllable.
3. The Lathe Loading Robot:

In

general this component consists of

two arms suspended from a carriage riding in an overhead track,


overhead crane.

like an

One arm is usually used for loading new pieces into the

lathe and the other for unloading finished pieces.

Only the movement of

the carriage in its track is continuously programmable.

A more flexible

alternative to the specialized lathe loading robot is to use a 5- or


axis robot.

6-

Another possibility is to mount the mill loading robot on a

track running between the mill and the lathe.


4. A Mill Loading Robot:

The robot requires at least five program-

mable axes to pick up a part from a flat surface and to orient it on the
bed of a milling machine.
5. Linear

Table: A

linear table is used to transfer parts between

the lathe loading robot and the mill loading robot.


6.

Controllers:

The

controller must be able to send and receive

complex messages from the cell host.


host

The controller must allow the cell

to manage the machine tools' actions including:

controller

programs,

transfer of programs to and from

access to the machines' and controllers' state.

the execution
the

host,

of
and

62

Most existing controllers provide communications channels,

but few

will allow a cell host to command the running or stopping of a

control-

ler

advanced

program.

Program

transfers

are provided on

controllers but require operator intervention.


an autonomous cell.
putting

the

more

This is unacceptable for

Solutions to this problem generally involve either

a small computer between the controller and the supervisor,

or

rewriting the controller software.


7. A Vision System: The system consists of stand-alone microprocessors,

combined

with special-purpose hardware and software designed

to

process images from one or more video cameras, acquire an image, convert
the image to digital form, and perform a variety of computational tasks.
The computational tasks range from simply recognizing a distinct
to

object

calculating its position and orientation within the field of view of

the camera.

The software will also control,

to varying

degrees, the

speed, accuracy, and overall utility of the system.


The
to

need to communicate with the cell host and allow the cell host

control

the system's actions is for a vision system and

controller.
current

Both

of these

commercial systems.

machine

characteristics are absent in some of

the

The software required to make use

the

of

binary or grey-scale information is often not commercially available,


8. Cell
schematic,
control

Computer:
and the

and

The

cell

capabilities

host

computer is the

heart of this

of the

cell from the

stand-point of

communications depend almost entirely on

coordination

of the machine actions will be the most

of the host,

but the host will also pass

lers.

the

host.

complex

The

function

part programs to the control-

The part programs themselves are stored elsewhere.

63
In addition, the host computer for a cell should be able to provide
statistical information to any higher level computer.

The type of data

the higher level computer should have access to includes the


machine

tool operation time,

following:

the number of parts processed in the last

time

period,

the

number of parts that came into the cell in the

time

period,

the number of incoming parts that

were

acceptable,

last
the

number of parts that were scrapped during the last time period, how much
the

various cutting tools have been used,

what fadlures have

occurred

during processing, and details of the failures.


The

correct choice of operating system,

microprocessor

functions

and speed, source language, and support environment can

greatly

ence

system needs to

the

service

efficacy

of

communication

the

development

with all

effort.

The

machine controllers,

influ-

and must provide

adequate support to the system programs.


9. Sensors:

The

quantity and the sophistication of the sensors in

a cell determine its ability to function autonomously.

For sniautono-

mous operation, one requires only fairly simple sensors

which may be of

several types.
10. CNC

Parts

Programs:

The

systems that create parts

vary in canplexity from large CAD systems to


gramming
is

aids.

stand-alone

pro-

The generation of parts programs for CNC machine tools

straightforward

prograrmned

simple,

programs

problem,

since

most

CNC

in a derivative of the APT language.

machine

tools

are

The structure of

APT

programs is simple and very amenable to automatic creation.


The

state

of the art in program generation and

robots is more primitive than for CNC machine tools.

verification

for

For the near-term

64

cell,

user

must anticipate cell down-time when new robot programs

are

being written, debugged, and tested.


The

linear

table

will probably be controlled by

available Programmable Controller (PC).


are

simple

commercially

The programs for such

ladder diagrams input through something typically called

"program loader".

The program loader is

designed to send its machine code directly to the programmable


but

The program loader is a terminal paired with software

to convert the user input into machine language.

ler,

devices

control-

the output can also be redirected to some storage device

and

later down-loaded to the linear table controller [67].


The

process

controllers in the cells can be implemented

clock-driven system,

a sequentially-driven system,

using

an interrupt-driven

system or a multitasking-based executive program.


1.

In

clock-driven executive program each task is allocated

specific

time interval which is scheduled by periodic

provided

by the computer's real time clock.

time

interrupts

This approach requires

predetermination of task time, which is difficult to provide for complex


systems such as an FMS.
ties

under

Since

In addition, high-priority devices and activi-

clock-driven system do not

receive

preferred

service.

this may lead to inefficient resource utilization or a catastrop-

hic failure, a clock-driven system would probably never be implemented,


2.
system.

A sequentially driven executive program uses a software polling


The executive program polls the system status input ports

the communication channels in a predetermined order.

and

Although the order

of polling may be altered based upon input parameters, it still does not
allow for preferred service for high priority devices.

An advantage of

65
the

sequentially-driven system lies in its base of implementation using

high level languages.


3.

The

most efficient executive program uses an

system.

Interrupt-driven

external

device to physically stop the processor,

save

interrupt-driven

systems require a processor which allows


have

the

an

processor

the current program information and then branch to a predetermined

memory location.
mined

memory

Since an interrupt results in a branch to a predeter-

location,

we

can implement

priorities

Various queueing disciplines can be implemented,


upon

task

system.

devices.

but a discipline based

priority is most consistent with the intent

interrupt

among

of

priority

A disadvantage of this approach is the considerable

software overhead required for its implementation.


4.

In

activity

a multitasking system a separate task is created

to be monitored.

Each task may exist in one of four

executing, ready, suspended or dormant.


ty,

and

for

among active tasks,

each

states:

Each task is assigned a priori-

the operating system will always have the

highest priority task executing.

In practice we would create a task to

monitor each level one process controller and a task to handle each type
of high priority
state

until

communication.

These tasks would lie in a

communication was initiated by the level

The system still has considerable software overhead,

one

suspended

controller.

but with technolo-

gical advances toward high speed, large memory mini- and microcomputers,
the overhead is not a limitation.
Implementation
structure,
decision

of the system control components requires a program

data structure and decision

algorithms

are

implemented

algorithms.

using

The

multitasking

necessary
program

66

structure.

Most

of

the algorithm software can be

storage

media.

They are:

dynamic

part scheduler,

kept

part identifier assignment,

material handling movement and

on

external

part location,
control,

part

transfer, operation-NC matrix, operation/machine assignment matrix, part


type/pallet
system,

type

assignment matrix,

monitoring,

interpretation

part type to be
and

input

system status

into

the

determination,

decision implementation, system startup/shutdown.


Data

structures

be

either

static or dynamic.

Static information will not change once the

system

is

a particular

initialized

in

for FMS process control

program

configuration.

Dynamic

changes with each event occurrence within the system.


tures are part identifier,

can

information

The data

struc-

machine identifier, material handling compo-

nent identifier, pallet identifier.

3.5. Cell Operation And Cell Control


The

ability

of

a cell to function independently depends

tolerance of errors.
incoming
from

parts,

common

and

this

its

An autonomous cell must be able to recognize

bad

to recover from parts lost in process,

failures

Unfortunately,

on

such

such as tool

breakage

and

part

and to recover
misalignment.

errors are very difficult to recognize or tolerate

often forces one to limit the cell

to

partially

autonomous

operation, meaning that human operators will verify the cell operation.
An

autonomous

cell should also have some

rudimentary

inspection

capabilities both for locating incoming parts and for final part inspection.

However,

automated

visual inspection cannot measure dimensions

67

such

as

the

depth

of a blind hole or the

diameter

of

an

internal

snapring groove.
Programmable coordinate measuring machines are expensive
difficult
They

to

are an

and

in

and

interface with the rest of the cell than vision


attractive possibility for large

the future for small ones.

useful for troubleshooting,

manufacturing

The in-process inspection

more

systems.
systems,
is

very

but ties up the machine tools if it is done

extensively.
The

cell

cell-level

operations are divided into two distinct

tasks:

steady

state

operations and

categories

periodic

of

operations.

Error handling is treated separately.


The cell operates in a steady state during a parts run.
move through the cell under the guidance of the cell
data

host.

Management

concerning cell status is available from the cell host.

host must be able to manage the actions of the mill,

The parts

The cell

lathe, robots, and

vision system so that they function in parallel.

This turns out to be a

difficult

actions

problem,

for

many

of the different

are

related.

Managing a cell so that the machines can function in parallel is a topic


of current investigation

one technique for coordinating the different

activities is to use a rule based production system.

Other schemes may

prove to be appropriate for managing the parallel operations within


cell,

but

most

of

the currently available systems are

difficult

the
to

change and do not clearly describe how the cell works.


The

control

of the CM can be divided into

loading and cell scheduling.

two

activities:

cell

Cell loading is the determination of which

cell, among the feasible cells,

the job

should be

assigned

to.

Cell

68

loading

is

similar

to such topics as

capacity

scheduling,

planning, shop loading, and work-load balancing.


tives

in

cell loading:

large

There are three objec-

balance the load between

machine loads within each cell,

capacity

cells, balance

the

and balance the proportion of jobs with

processing time and jobs with small processing times between

and

within cells.
Cell
cell.
the

Scheduling

is the internal control of the jobs

within

each

Scheduling determines the order of the jobs onto each machine and
precise start time and completion time of each job on each machine.

Each cell within a cellularly divided manufacturing system can be considered

a modified flow shop,

same

characteristics

A modified flow shop employs most of

as a job shop.

either a static or a dynamic system.

The job shop can be


For a static system,

pooled and scheduled at fixed time intervals.


duled,
are

the schedule is set and fixed.

scheduled

the

modeled

as

the jobs are

Once the jobs are

For a dynamic system,

as they arrive at the shop or at a machine.

sche-

the jobs

With

this

flexibility, the queues in front of each machine can continually change.


If the job shop is modeled as a static system,
duling methodologies fall into three categories:
mathematical

programming,

and

Monte

the available sche-

combinatorial methods,

Carlo Sampling.

If the

CM

is

modeled as a dynamic system, the available scheduling methodologies fall


into two categories: queuing theory, and heuristic sequencing rules.
Specification of the FMS computer system varies widely depending on
system size.
broken

For controlling more than 15 machines, the systems may be

down into as many as five distinct levels.

the corporate host;

At the top level is

the second level, a factory or site host; the third

69

level,

the FMS cell manager;

the fourth level,

computers to control storage systems,

individual

transportation,

functional

tool management,

and other functions; the fifth level, the supervisory computer installed
at the machine tool ahead of the CNC and the programmable logic control.
Developing
which

net requirements from the user's wide

incorporates MRP,

approach
The

dated

passes

manager,

network,

and master schedule functions,

production information down to a cell

only required

cell

cost,

area

hierarchical level common to any

the CIM

manager

size

level.

system,

the

receives dispatch lists for scheduling and tracking from

simulations performed on the corporate host.


in the system is small,

If the number of machines

other functions such as machining,

inspection,

and administration may also be handled at this level,

3.6. Supporting Theories and Software


3.6.1. CNC Standard Formats
Integrating

CAD/CAM

with factory equipment is often slowed

bottleneck created at the CNC postprocessor stage.


have program portability.
CNC

programming

Location
Tools,

Also,

users do

To solve some of these problems,

format,

the

EIA Standard

RS-494

or

Electronics

This standard,

Industry Association,

Binary

Cutter
Machine

defines a specific format for Cutter


systems.

data can then be input directly into CNC controls that comply

the RS-494 standard.

not

published in August 1983 by the

Location (CD data that can be easily output from most CAD/CAM
The

a standard

(BCD Data Exchange Format for Numerically Controlled


was developed.

at

This can be accomplished

postprocessors or the need for reprogramming.

with

without conventional

70

With the program portability allowed by the standard,


be

prepared ahead of time,

and

programs can

can be stored on 8" (203 mm) floppy

disks,

can even be moved between similar machines without being reprogram-

raed. Though the RS-494 format does not allow

100* portability,

it can

significantly increase flexibility.


There
BCL.

is

no need to change the entire NC operation

to

implement

The two basic requirements for implementation are to begin speci-

fying RS-494 compatibility on new and retrofit CNC and to provide compatible output from CAD/CAM or other programming systems.
are phasing into

Some

companies

BCL usage by retrofitting existing machines with a

CL

exchange processor, a black box approach which provides compatibility.


To produce a part on a numerically controlled machine tool requires
a

part

program.

This program defines the functions to be

including the cutter path,


speeds,
The

feed rates,

performed,

and also commands for tool changes,

spindle

coolant, and other parts of the machining process.

program format has traditionally been known as a conventional

program.

The

NC programmer creates a high-level part

than a conventional program.

program

part
rather

This can be a language program like APT (A

Programmable Tool) or a graphics-generated program using CAD/CAM.


The

APT

or CAD/CAM processor,

converts

the

part program source into an intermediate form known as

cutter

location data file.

information

programs,

unique

software

It contains the same type

as a conventional program,

specific machine tool.


nal

an application

of

program,
a

instruction

but is not yet formatted for

Since there is no standardization of conventiopiece of software called a

postprocessor

is

required to format data into a specific conventional program format.

71

different postprocessor is required for each new combination of

machine

tool and CNC.


Both
494

the APT or CAD/CAM processor and the CNC must use the EIA RS-

standard CL data format to implement this approach.

CAD/CAM systems vary slightly from the standard,

Most

APT

or

and a small conversion

program is usually required to standardize the output [157].

3.6.2. Group Technology (GT) and Group


Scheduling
W. P. Darrow mentions Group Technology (GT) \69} as a technique for
identifying
production

and

bringing together related or similar

components in

process in order to take advantage of their similarities

making use of the inherent economics of similar setups and flow


tion

methods.

a
by

produc-

Ccxnponents are broken down into subgroups based on

part

code and process routing, called families.

Ccxnponents within a subgroup

have similarities in production processes.

A set of machines, called a

GT cell,

is allocated to each family,

dedicated to

the

located close to each other, and

manufacture of one family of parts.

Some of the major benefits of a GT cell are reduction of


tation
design,

and

queueing

preparation

manufacturing
total number

within

time between operations,


of process sheets,
a cell.

transpor-

simplification

and production

in

controlled

One advantage of using GT is

that

the
by
the

of machines and jobs in a GT cell is significantly smaller

in comparison to a general job or flow shop.


Group scheduling has been identified as a logical means of integrating

GT

into an existing Material Requirement Planning

(MRP)

system.

72

Group scheduling concepts can be incorporated into the material planning


function of

MRP by

aggregation

of

material

modifying the lot

family

control

sizing procedures to

production runs.

function

handle the

GT can also be used

by using group

scheduling

in

the

techniques

for

machine scheduling.

3.6.3. Simulation
Simulation of the FMS has two functions.
determine

the

vehicle

guide

gathered

on

operating
path

vehicle

characteristics and

layouts.

The first function


capabilities of

Under this evaluation,

utilization,

efficiency of

data

vehicle

is to
various

would

be

usage, and

optimum placement of control elements [105].


A

comprehensive simulation effort helps to assure

reliable operation of a major automated system.


tant

uses

the

efficient,

One of the most impor-

for simulation is the development of a control

strategy

to

manage the routing of shuttle cars carrying empty racks. Simulation can
be

used to study the control system so as to have the majority of empty

racks

go

straight back to molding.

delay

to

provide

determines
live

Another approach involves

a "window of opportunity."

The

use

of

time

simulation

if there is enough queuing capacity in the assembly area

with anticipated intermittent interruptions of shuttle cars

to

move-

ment without having to include an alternate path for the vehicles.


Graphic simulation of a complex system is probably one of the
commmunication media.

It is particularly effective in orienting manage-

ment and those responsible for running the


the

best

system is installed and running,

manufacturing system.

the model can be used to

After
analyze

73
planned

changes

ments.

that may be required to meet new

Once built,

production

require-

the model can be used for ongoing simulation in

an

evolutionary way [184].


One
systems

of

the

most important aids in the

interactive

implementation

computer graphics software packages.

of

robot

The use

of

these packages for simulation purposes provides significant time savings


in

the layout and modeling of robot workcell ccaiponents and in

ming that the final installation will perform as intended.


lity

essentially

has

been

This capabi-

became available with the introduction

Aided Design (CAD) systems capable of 3D modeling.


enhauiced

with the develoixnent of

of

More

simulation

confir-

Computer-

recently,
packages

it

that

dynamically model the robot in basically a real-time mode.

3.6.4. Artifical Intelligence (AI) and


Expert Systems
Artificial
tions

and

solving.
using

Intelligence (AI) is the study of knowledge representa-

their use in
AI

programs

changing

language,

reasoning,

learning,

and

gain flexibility over conventional

knowledge base rather than

fixed,

problem

systems

by

preprogrammed

algorithm [181].
The

most widely used AI programming languages are LISP and

(PROgramming language based on formal LOGic).


conventional
define

desired

instructions
tive**

procedural

language

languages,

They are different

because they allow a

result without being concerned

of how it is to be computed.
they

are well suited to

PROLOG

with

programmer
the

Sometimes called
special

from
to

detailed
"declara-

computers,

called

74
parallel

processing

computers

(multiple

computers

working

together

simultaneously), as programs that can be run in any order without regard


to sequence.
and

ideas

The languages which deal with operations, objects, words,

are

therefore most adaptable to

robotic

functions

in

an

automated manufacturing system.


Expert
of

AI.

systems are currently the most emphasized area in the field

An expert system is an intelligent computer program

knowledge

uses

and inference procedures to solve problems that are difficult

enough to require significant human expertise for their


knowledge

that

of

performance

an expert system consists of facts and

level

solution.

The

heuristics.

The

of an expert system is primarily a function

of

the

size and quality of the knowledge base that it possesses.


Expert

systems have been applied to Computer-Aided

Design

(CAD),

such as VLSI and electronic circuits, and have been proposed for CAD/CAM
applications.
not

CAD system could alert a designer that a design

conform to specifications,

selecting

the

does

it also might perform functions such as

inspection points of manufactured products based

on

an

analysis of its design.


To isolate a problem,

the trouble-shooting system first displays a

menu of possible fault areas.


area,

the

system

When the user selects a particular fault

proceeds with a series of

detailed

questions.

appropriate points during the question-and-answer session,

At

CAD drawings

or video disk sequences are displayed on a CRT screen to assist the user
in

locating various

system

components.

Finally,

when the

identifies the cause of the malfunction,

repair instructions.

trouble-shooting

it generates

specific

75
Modern distributed control systems can monitor thousands of process
variables and alarms, delivering a constant stream of information to the
control room. PIPCON (Process Intelligent CONtrol) is a real-time expert
system for process control available from LISP Machine, Inc.

PIPCON can

monitor

priorities

to

up to 20,000 measurements and alarms and can assign

alarms to assist an operator in dealing efficiently with

interruption or fault.
systems

Other important areas being addressed by expert

in manufacturing include energy management systems,

management

process

facilities

systems, and factory and plant design simulation systems.

Expert systems are not problem-free. They tend to be highly memory


intensive,

which

may

not

be a terribly big problem as

hardware continues to decline.

the

cost

of

Another certainly near-term problem

is

that the specialists required to set up such system are in short supply.
Estimates
tackle

suggest

perhaps

as few as 250 people in the entire

serious expert system challenges. A third problem is

resistance to expert systems on the part of end-users

and

US

can

potential

programmers.

Human nature being what it is,

reluctance to accept, let alone embrace,

expert systems can be expected.

Last, expert systems cannot be accurate

all of the time [148].

3.6.5. Computer-Aided Statistical


Quality Control (CSQC)
Pontiac Motor Div., General Motors Corp. has developed a

computer-

aided gauging information and Statistical Quality Control (SQC)


[26].

program

It provides the advantages of real-time analysis through compute-

rization

at

every process.

It also eliminates the delays and

errors

76
associated

with man-made control charts. By computer,

current statistical

behavior and capability,

each

machine's

not just workpiece dimen-

sions, are monitored, assuring they are meeting specifications.


The

effect is

sary to prevent
inspection,
detection

that action on a given process is taken when neces-

production

the

out-of-specification

or action on the output side,

of out-of-inspection products already produced and

requiring

production

or reworking.

The end result is that this

and

not at the end

line when it is too late to take correct

system

business

Final

involving

can find a particular problem at the source,

Pontiac

products.

is past oriented,

physical sorting, scrapping,


system

of

allows the automaker to move out

of

action.

the

into the business of producing a higher ratio

of
The

part-sorting
of

usable

products.
With the process running in statistical control, process capability
can be assessed.
conform

If the process cannot produce parts that consistently

to specification,

action

taken

system,

or

to

the process itself must be investigated

identify and correct the significant

specifications

will need to be

faults

reassessed.

In

of

and
the

general,

capability is a measure of the variation that a process can maintain.

3.6.6. Database Management


A

database is a collection of stored operational data used by

application

systems

of some particular enterprise [212].

the

database

system provides the Computer Integrated Manufacturing (CIM) with centralized control of its operational data which is one of its most
assets.

This

is

in contrast to some systems where

each

valuable

application

77
software
is

package has its own private files so that the operational data

widely dispersed,

leading

and is therefore probably difficult

to suboptimal use of data storage and

to

control,

duplicated data that

is

inconsistent when only one has been updated.


With

a centralized database,

not only can redundancy be

reduced,

but also the data can be shared and integrated. Data requirements of new
applications

may

be satisfied without having to create any new

stored

files, ensuring integrity of the data in the database.


Based on overall system requirements,
be

the centralized database can

organized and structured to provide best service for the

and ensure that all applicable standards are followed in


of

data.

Standardizing data formats is

subsystems

representation

especially desirable for data

interchange or transformation between systems.


The
quite

size

large.

composed
quality
quite
the
An

of a centralized manufacturing database may grow


This

to

extensive integrated manufacturing database will be

of process plans,

fixture and tooling designs,

control and inspection programs,

and robot

NC

programs,

programs.

It

is

possible that data processing will ultimately become a subset

of

manufacturing operation once a companywide CIM operation is

built.

ideal database for CIM should allow the users to redraw the model to

suit new tolerance without endangering design integrity.

It should also

allow users to interrogate and extract information from the database


aid

be

in process planning and tool selection.

retrieving

previously

created

to

It may also offer help by

data on feeds and

speeds

machine tool characteristics for the postprocessing phase.

as

well

as

78
3.6.7. Decision Support System (DSS)
A

Decision Support System (DSS) can be one of the software

nents of an organization's information system.

compo-

The main objective of a

decision support system is to improve the effectiveness of the decisionmaking

process.

The

decision support system

provides

the

control

capability for the structured problems, and the support in the decisionmaking process for the unstructured problems.

A structured problem can

be defined as a problem that has been anticipated and occurs repeatedly.


An appropriate response for such a problem can be programmed in advance.
An

unstructured

problem may be defined as a problem that has not

anticipated but arises occassionally.

been

An appropriate response for such

problem may be sought with the help of the decision support system after
the problem has occured [53].
The
that

concept of a DSS can apply to all levels of

interact

operations

with

the

CIM

It can offer not just

but a generative function.

computation,

organization

and to the integration of the

in the rest of the organization.

evolutive function,
substantial

the CIM,

the

DSS can propose

with
an

Given its capacity for


candidate

actions

and

optimize among them, thereby creating a recommended course of action for


supervisor

approval.

The plant wide targets and production goals will

serve as inputs to the three operational levels.


The

first level consists of long-term decision

done by higher management.


tion goals,
There

economic goals,

facilities,

typically

This involves establishing policies, producand decisions that have long-term effects.

are many ancillary support

programming

making,

and

services,

part program

including:

extended

part

verification

tools.

Part

79

design and manufacturing analysis is an effort that must be supported by


a

variety

of utility programs on the mainframe computers.

that the programs do what is intended,


tion aids must also exist.

To

ensure

extensive part program verifica-

These usually involve some form of

graphic

analysis and tool path plotting.


The
overall

second level involves medium-term decisions,


production

resources
tion,

satisfy

of

parts,

responding
availability.

are

to

changes in upper-level production

The

criteria the

batching

time

system
utiliza-

plans

procedure

or

should

to minimize the number of batches required to process

parts (this minimizes the time associated with batch


maximize

assigning

with each batch in a manner that maximizes resource

and

material

targets into batches

such as dividing

all

changeovers),

and

the average utilization over all machines (this minimizes

the

required

to

work through an

individual

batch).

Balancing

workload involves minimizing differences in time required for

the

workloads

assigned to different machines, and ensuring all the work for each batch
is assigned to some machine in the system.
The third level involves short-term decisions.
typically

a few minutes or hours,

The time horizon is

and the decisions involve work order

scheduling and dispatching, movement of workpieces and material handling


system, tool management, system monitoring and diagnostics, and reacting
to disruptions.

Of equal importance to the decision making within each

level is corranunication between the levels.


Integration of the operational levels is also an important
to

be

incorporated

within the DSS software to be used with

feature
the

FMS,

Basically, a Production Decision Support System (PDSS) consists of three

80

major components:

a database, a control support system, and an analysis

system.
The analysis system of the PDSS is a set of software modules
are

developed

problems

associated

production
issued
is
the
with

specifically

to deal with the

with a CIM

system.

unstructured

Whenever

problem appears on the CIM shop floor,

an

production
unstructured

alert information is

via the output communication terminal to the decision maker

in charge of the production control activities.


problem,
the

After

the decision maker establishes the feasible

aid

of

the system

status

information

which

and

who

identifying
alternatives

relevant

data

furnished by the database.


The
loading,

basic capabilities in a PDSS include order


work

sequencing,

station

capacity

requirements

scheduling,

adjustments,

and reporting manufacturing performance,

alert information.

For effective control,

order

workpiece

order status, and

feedback information on the

controlled systems's behavior is usually required.

The reports are used

to deal with the unstructured production problem of a CIM [53].

3.6.8. Inventory Control


On average,
working

34 percent of the current assets and 90 percent of the

capital of a typical company in the United States are

in inventories.

In 1979, Herron reported that for many firms, inventory

costs are approximately as large as before-tax operating


Inventory

invested

profits [168].

management decision systems in the new international

indust-

rial competition of the future can no longer be designed separately from

81

their

production process contexts.

Inventory

management,

production

planning, and corporate strategy are all closely linked together.

3.7. Summary
It is apparent that Computer Integrated Manufacturing (CIM) systems
are

fruitful area for developing improved

systems

have

considerable

control

complexity because of the

policies.

These

requirement

for

multilevel control,

the inherent variability due to the possibility

machine breakdowns,

the different processing requirements of jobs (both

in terms of

routing and processing times),

of collecting reliable information.

of

and the difficulty and cost

As a result it has proved difficult

to formulate and solve adequate models of their control and operation.


Since
limited
work

the

ability to develop exact models seems to be

by the complexity of the systems,

there is a need for

in the development of good approximate models of these

control

systems

inherently

with particular focus on the interaction

further

multilevel

between

the

different levels of control [47].


The selection of scheduling rules, the determination of
arguments

(such

as types of parts produced,

number

of

production

stations

and

queueings, types of machines, tools and transportation devices, types of


operations,

time and cost consideration,

the

of control algorithms are the problems which have not

design

solved.

Most

research use.
for

answers

and type of shops, etc.), and

research has not produced any general rules for

been

further

The best rule is to have a heuristic procedure searching


close

to optimal.

Before an integrated package

can

be

82

developed, these problems need to be further studied and better decision


rules need to be developed.
Future

application of CIM and the technical problems to be

solved

include:
1.

Computerized data banks based on proven and established cutting

and forming data,

with the prospect of data optimisation in the future.

In a major investment required by


best

a CIM system, the availability of the

process data can have a direct effect on the economics of manufac-

turing.
2.
means
FMS,

Automated

computerized

process planning and estimating

as a

of generating consistent and efficient process routes through


and

more

importantly,

through

running in parallel with the FMS.

the other areas

of

an

manufacture

Automatic process planning is also a

prerequiste for an FMS operating under a * real-time' scheduling


so that any requirements for rerouting, can be responded to

system,

immediately

by the generation of a 'new' process plan.


3.
needs
ty,

Computerized loading and scheduling must consider not only

of a CIM system representing only part of a manufacturing facili-

but

also

finished

the

the

whole series of processes

which

combine

products ready to deliver to the customer on time.

scheduling
by

the

to

Real-time

is not necessary simply to be able to make frequent

hour

or minute,

but rather to have the ability

to

make

changes
change

manufacturing or tooling schedule quickly at a particular point in time,


and

take

whole.

full
This

account of such a change throughout the

factory

as

will enable at least two of the likely benefits of CIM

83

reduced Work-In-Process (WIP) and better response to customer demands

to be in other non-CIM parts of the factory.


4.
bases

Linking
from

processes,
nical

the

with

office-based CAD/CAM systems using

point of component design

through

the

common

data

preproduction

thus ensuring that once the information concerning the tech-

requirements of a part has been defined it can be processed

and

reprocessed automatically via automated planning, scheduling and loading


systems
of

into a series of direct manufacturing instructions in the

an NC program.

reasons

of

This also means that any changes made,

performance,

production,

or

cost,

can

throughout the system in the shortest possible time.

be

either

form
for

accommodated

CHAPTER 4
CASE STUDY
Chapter
Computer
their

3 described the structure, components, and functions

Integrated

complexity

Manufacturing (CIM) systems which, by

can be defined as imperceivable

nature

of
of

systems, for which

analysis and design requires decomposition into subsystems. Putting bugfree

modules

together to form a complete

system, however, does not

guarantee that the system will work successfully. By taking into account
the

supporting theories and software associated with Flexible Manufac-

turing Systems (FMS) and other


define

organization aspects, it is possible to

a set of generic CIM system characteristics, on which the

case

study in this chapter is based.


A
chosen
most

shop flow control system is a subsystem of a CIM system.


for

study

in this chapter because it

complex part of a CIM system.

is

the

in

essential

A shop floor control subsystem

actually a group of Flexible Manufacturing Cells (FMC).


led

includes a CNC (Computer Numeric Control) Mill,

is

University

a CNC Lathe, a program-

The system analysis and design metho-

dologies are applied to this FMC.


about CNC Mill,

and

The FMC instal-

the Industrial Engineering Department at Texas Tech

mable robot and a microcomputer.

It is

Appendix A presents the

information

TRIAC. Appendix B describes the CNC Lathe, ORAC. The

84

85

information

includes

function keys,

operation modes, machine

codes,

standard equipment, and extracts from of program listings.


A context diagram, developed by the author, is used for preliminary
analysis

to help understand the application systems.

In

the

context

diagrams, the thick solid lines represent functional hierarchy relationships,

the

light lines horizontal relationships,

supporting
ships.

software,

and the project lines external

system

relation-

Each rectangular box represents an independent function, which

can be broken down into submodules


Each

the thin solid lines

in the lower level context diagrams.

rounded box represents a supporting mechanism.

Each subsystan is

treated as an external module.


There
diagram

are

eight internal modules in a shop flow

(Figure 1): cell coordinator and controller,

material handling,
data

acquisition

device control,
and

safety handling,

process, and user

control
job

context

allocation,

quality

control,

Three

external

interface.

modules are factory management, CAD/CAM, and scheduling.

The supporting

mechanism is a cell COTiputer. The relationship of the shop flow control


subsystem

to

Internal

other subsystems,

module

operation

and

is shown in Figure 21
interaction

with

in

other

Chapter

5.

modules

are

nine methodologies are applied to

the

described in detail in Chapter 3.


In

the

following section,

shop flow control system based on the same level of analysis and design.
S(xne systems have concurrent processes, which cannot be identified from
the

structure

processes.

of systems

but can be identified from the

sequence

of

Some processes may take much longer to complete than others,

but the time constraint is seldom included in most design

methodologies

86

From Factory
Level

MAMWWWWMMWWMMUMMMWIMWWWWWWIM

From Factory
Level

FIGURE 1.

From Factory
Level

Shop Flow Control Context Diagram

87

and diagrams.

The only methodology among the nine that shows

the time

factor is the IDEF2 Dynamic Model, an application of Structured Analysis


and Design Technique (SADT).
SADT,

PSL/PSA,

output,

and

which

HOS,

Some design methodologies,

check

such as MJSD,

the inconsistency of data

input

decreases the difficulty of linking modules together

and
to

establish a complex CIM system.


In

the system develojxttent cycle,

Software implementation,
other
oTiner

testing,

the fourth step is

debugging,

issues
issues in
in system
system develofwient.
aeveiopment.

programming.

and maintainence present

Knowing
design
Knowing how
how to
to go
go from
irom desigi

programming is important for both the designer and the


the

system design does not lead to successful

the

designer

program

programmer.

to
If

implementation,

should confer with the programmer and modify his

design.

So, in this case study, the feasibility and applicability of programming


from the results of analysis and

design is also discussed, based on the

pseudocodes

(see Appendix C ) .

processes
are
must

written for the FMC

Because

machining

and robot movements in the computerized manufacturing

concurrent and

time-critical,

be implemented.

a real-time multitasking

In this case study,

system

executive

a coimnercial real-time soft-

ware system (KADAK's AMX86) was the executive.


There are five tasks in a FMC program:
1. Operator
process
enter

file,
proper

programs
produced,

for

Task reads in the


tool file,

job specification

file,

machining

and machine file and allows the operator

data

or make menu selections in order

to

Mill

and Lathe machines.

part

After

the

produce
program

to
part
is

the operator must insure all machines and materials are ready

to start the process.

88

2. CNC
from

the

process

Mill Task should be able to send and receive signals to and


CNC

Mill machine.

status

Also,

it performs the

and machine status.

bookkeeping

Each machine should

be

for

operated

independently.
3. CNC

Lathe Task performs functions similar to the CNC Mill task.

In addition,
Lathe

task

it monitors the CNC Lathe machine.


must

both

wait for the robot to load

machine and unload psu?ts from machines.


Lathe

machine

check

The Mill task and the


material

for presence of any material or

part

If so, the machines start the process.

or

task will call the Robot task to load materials.

Mill

task

or

*wakes'

them

machines.
When

up.

in

the

If not, the Mill task

Lathe task wait for the Robot task

materials, they are in 'sleep*.

the

Sensors in the Mill machine and

machine.
Lathe

into

to

load

While
or

the

unload

Once the Robot task finishes loading it

The same process occurs when unloading

parts

from

Both the CNC Mill and CNC Lathe tasks have the same priority.

both request a robot,

they are served on a first-come first-serve

basis.
4. Robot

Task

from the robot,

should be

and to monitor robot

keeping for robot status.


robot,

they

able to send and receive signals to


movement.

and

It also does the book-

When the Mill task and Lathe task call for a

send an argument to the Robot task,

which determines

the

machine to pick up materials or parts, and where to put them down.


5. Safety Task is responsible for error detection, error correction
and

emergency

shut down of the manufacturing system.

Lathe task verifies input data from machines.

The Mill task or

If a fault

occurs,

the

89

Safety

task

shut down.

is called and correction is performed,

or the

system

is

The Safety task has priority over all other of tasks.

4.1. Structured Design (SD)


The DFD
Structured

(Data

Flow

Diagram,

see Figure 2) is the

first step of

Design (SD). The DFD shows how data flow through a

logical

system, but it does not give control or sequence information.


The

parallel lines on the DFD are a data store which represents

logical
the

file.

system

system.
level

used

by

by

the

and the ultimate recipient of data (sink) produced

A process specification is created for each box in the lowest-

DFD

to define how data flow in and out of the process

operations
data

A terminator shows the origin of data (source)

are

performed on the data.

in the DFD.

and

what

A data dictionary defines

It can also include physical information

all

about

the

data, such as data storage devices and data access methods.


The
paths

DFD

(vertices).

necessary
hard

is hard to draw when there are many modules

In order to squeeze everything into a page,

to shrink the size of

to read,

(nodes) and

modules and text, making the

especially at higher levels of detail.

it

is

diagram

As such the DFD

should probably contain no more than six to twelve process boxes at each
level.
not

Larger DFDs often show too much detail.

thoroughly

If the designer

understand data analysis and data modeling

does

techniques,

inappropriate aggregation of system processes can result.


DFD
complex

is

system,

very

valuable tool for directing flows of

data

but it is not adequate for checking all of the

in

inputs

90

I
UJ

o
Ui

a.

1
I

t II oD

oooo

c
<u
E
C

o
L.
CO

0)

o
c
c
T3
L.
3
C
>-
>.
OQ

Q
CO

L.

C
E
CO
L.
130

(D

3
C
CO
CO
Q

UJ
OS
=>

o
II

91

and outputs of data.


and

output,

Specifications may be inconsistent for data input

a type of error that can be detected from Michael

Jackson

Structured Design (MJSD).


When

using DFD,

representative

data models should also be included to give

information about data structures.

more

The data structures

are defined as being designed bottom-up.


The
computer

DFD shows that,


to machines,

after part programs are downloaded

'sleep'

the

the Mill machine and Lathe machine need to

for the robot loading materials.


in

from

while waiting,

wait

It did not show that the machines are

nor the decision rules to

determine

which

machine is to be chosen while both machines are waiting.

4.2. Meta Stepwise Refinement (MSR)


Each level is a machine.

The three components of machine Mi are a

data structure set (Di), an instruction set (Ii), and an algorithm (Ai).
The Shop Flow Control system performs the following functions:
up operator interface,

set

produce part programs, monitor CNC Mill machine,

monitor CNC Lathe machine,

monitor robot,

write process report,

write

status report, and write error report.


STEP 1: The system program is divided into twelve basic
corresponding to the twelve program tasks.
Machine Ml
DI (job specification file,
process file,
machine file,
tool file)
II (set up operator interface,
produce (Part Programs),

components

92

monitor (equipment),
write (reports))
AI:

STEP

2;

accomplished
for Ml.
tion.

set up operator interface,


produce (Part Programs),
monitor CNC Mill machine,
monitor CNC Lathe machine,
monitor Intelledex robot,
write (process report),
write (status report),
write (error report))
Machine Ml is defined in terms of machine

M2.

This

by refining the instruction set and/or data structure

is
set

The decision is to refine the 'produce Part Programs' instrucThe set DI is also refined since this is required to explain the

new instruction set 12.


Machine M2
D2 (job specification file,
material specification records,
process specification records,
process file,
type of process records,
type of machine records,
type of tool records,
force records,
angles and diameter records,
feed rate records,
spindle speed records,
finishing process records,
precision records,
tool file,
type of tool records,
process records,
edges records,
set up requirement records,
machine file,
type of machine records,
auxiliary equipment records,
set up requirement records,
operation mode records,
process records)

93
12 (read (job specification file),
find (material specification records),
find (process specification records),
read (process file),
find (type of process records),
write (part program),
add (process number records),
add (operation codes records),
add (X, Y, Z positions),
add (cutting speed records),
add (feed rate records),
read (tool file),
find (process records),
write (part programs),
add (tool number records))
A2: set up operator interface,
read (job specification file),
find (material specification records),
find (process specification records),
read (process file),
find (type of process records),
num__process=0,
while (num__process [= jbb_num_process) do
num__process = num__process + 1,
if ((process_process = job_process) and
(machine_j)rocess = job_j)rocess))
then
write (part program),
add (process number records),
add (operation codes records),
add (X, Y, Z positions),
add (cutting speed records),
add (feed rate records),
endif
read (tool file),
find (process records),
if (tool_process = process_process)
then
write (part program),
add (tool number records))
endif
enddo
monitor CNC Mill machine,
monitor CNC Lathe machine,
monitor Intelledex robot,
write (process report),
write (status report),
write (error report))

94
STEP 3: We would further refine 'produce Part Programs',
any

or refine

of the tasks. Because MSR is already in the same level of analysis

and design as the other methodologies, the procedure is stopped here.


Because of the nature of stepwise refinement,
produce part programs very thoroughly in step 2,
tion

about the rest of processes and

showed

how

data flow.

to create part programs.

MSR describes how to


but it lacks
No other

informa-

methodology

Mainly it is too detailed to

be

included at the same level of design as other methodologies. MSR has no


diagram technique.
from

scratch

to

Procedurally, it is similar to a prograimner starting


write a program.

When a system is

complex,

it

is

difficult to start a program description right away. Because there is no


data structure, it is easy to create data redundancy.

4.3. Warnier-Orr Design (WOD)


There are six steps in the Warnier-Orr Design (WOD) procedure:
STEP 1 Define The Process Outputs
Finished goods
Part programs
C(^pleted machining processes
Process reports and error reports
STEP 2 Define The Logical Data Base
Job descriptions (materials, shape, size, machining, quantity, due date)
Process description (machining processes, tools, feed rate,
cutting force, spindle speed, angles, diameters, precision, finishing processes)
Machine description (type of machine, machining processes,
operation modes, set up requirements, tools, auxiliary
equipment)
Tools (type, machining processes, edges, set up requirements)

95

Part programs (detailed processes)


Status reports (machines, processes, tools, raw materials,
finished goods, errors)
Completed process reports (part programs, time, date, number
of finished goods, errors)
Error reports (machines, processes, items, time, date)
The Warnier-Orr data structure is presented in Figure 3.
STEP 3 Perform Event Analysis
\

1 ENTITY

1 ATTRIBUTE

{material
!
Ipart
1 machine
1
{processes
1
{tools
{reports

Itype, strength, toughness, red hot,


i
i brittleness
1
{material, shape, size, quantity
!
Itype, functions, operation modes, tools,i
1 set up requirements, auxiliary equip. 1
Itype, mode, tool, parts, accuracy, dia- 1
i meter, angles, force, feed rate, speed 1
Itype, amount, machining processes, angle!
{process status, production, error
I

STEP 4 Develop The Physical Data Base


Job descriptions (materials, shape, size, machining, quantity,
due date)
Process description (type, machine, tools, feed rate, angles,
cutting force, spindle speed, temperature, finishing
processes)
Machine description (type, functions, operation modes, set up
requirements, tools, auxiliary equipments)
Tools (type, processes, amount, angles)
STEP 5 Design The Logical Process
Job allocation > set computer in communication mode >
determine machining process > set up tools for machines >
put up materials for robot > turn on machines > load
programs into computer > robot load materials to machines

96

Type of Machines
Machining Processes
Machine
File

Operation Modes
Setup Requirements
Tools
Auxiliary Equipment
Setup Requirements
Edges

Tool File

Machining Processes
Type of Tools
Type or Processes

Production Information

Precision
Finishing Process
Spindle Speed
Machining
Process
File

Feed Rate
Angles and Diameters
Forces
Type of Tools
Machining Times
Type of Machines
Process Specifications

Job File
Material Specifications

FIGURE 3 .

Warnier-Orr Data S t r u c t u r e Diagram

97

> start machining processes > safety management > error


detection > error correction > emergency shut off or
change tool > continue processes > finish processes >
unload material from machines > print reports
The Warnier-Orr Process diagram is presented in Figure 4.
STEP 6 Design The Physical Process
At this step, the designer adds the control logic and file-handling
procedures to the design, which is dependent on the programming language
rather than the problem [224],
WOD has data structure chart and functional structure chart, but no
data flow analysis.
guidelines
It

In step 5 and step 6,

there is neither diagram nor

for designing the logical process and the physical

is good for small,

output-oriented

problems

with

process.

tree-structured

data, but not other types of database.

4.4. Top-Down Design (TDD)


Top-Down-Design
data.

(TDD) has structured charts for both function

At each level, there should be at most a single page of instruc-

tions

or

a single-page diagram to explain the

function.

At the

level, the overall design it should be possible to describe in


mately ten or fewer lines of instructions.
designed
data

and

are

designed before the

approxi-

Usually, data structures are

in parallel with the procedural structure,

structures

top

program

but sometimes
structure.

The

the
TDD

functional structure chart is shown in Figure 5.


TDD
similar

defines
to

functional

structures and

data

the Higher Order Software (HOS) diagram,

structures.
but without

It

is
data

98

I
Safety
MGT

Emergency Shut-Off

&ror Correction
Bror Detection
Set up Materials for Robot

-OperatorInterface

Set up Tools for CNC Mill


Set up Tools for CNC Lathe
Determine Process Type and Machines
Datastorage

Data
MGT"

Data Processing
I

Data Acquisition
Printer MGT

Process
Controh"
CISC
Mill

FMC
MGT

MGT
-Device
Control
ONC
Lathe
MGT

Robot
MGT

Maual Operation
Loading/Editing Prog
Changing Tools
Machining
Positioning
Enable/Disable
Maual Operation
Loading/Editing Prog
Changing Tools
Machining
Positioning
Enable/Disable
Movements
Load Material
Enable/Disable

Inventory Control

Planning-

Cost Budget
Job Allocation

FIGURE 4.

Warnier-Orr Process Structure Diagram

3122

3.1^.3

Machining
3.1.2.4

Changing
Toola

Is

Positioning

3.1.1J

o ?

3.1.3.1

Disable

3 112

o
31.2.6

Loading /
Ediing Programi

3.1.3.2

Poalboning

) Dial

31.26

Manual
Operalon

3.1.3 J

Irfachlning

5|l

3.1.1.1

5|
Movementa

3.23

ls|

Load/Unload
Malarial

3.2.i

Data
Storage

3.1 J 4

Changing
Toola

h'

Enbale/
OiaaUe

3.2.1

Data
Proceaaing

8 "
3.2

6.1

3.1.3.6

Loading
Ediling Programi

43

6.2

3.1.3.6

Oparatlon

Printer
Management

4.4

Setupmatariala
for robot

Error
Correclon

Setuptocfalor
CNC mi

Error
Detecbon

6.0

EOT
lU

DaU
Acqilaibon

3.1

Data
Management

4.0

1
Safely
Management

s ?

3.1.1

22

Device
Conkol

Operator
Interface

?l

Robot
Management

Inventory
control

3.0

2.1

20

Proceaa
Controt

u.

Job
Alocabon

Planning

99

CO

C
00

<u

d.

E-

LH

ri

o5

u<

100
flow. One

reason that TDD is

superior to HOS is that HOS uses binary

structure diagrams, which are not well-suited to show functional decompositions.

For example, the DEVICE CONTROL function can be decomposed

in the TDD diagram into as many devices as necessary in one level, more
than

two levels are needed for the HOS diagram since only two functions

are allowed in each level.

A combination of TDD and bottom-up approach

is often more practical.

4.5. Michael Jackson Structured Design (MJSD)


Michael

Jackson Structured Design (MJSD) consists of four sequen-

tial steps:
STEP

1 Data Step: describe each input and output data stream as a

hierarchical structure (see Figure 6).


STEP 2 Program Step: combines all the data structures produced
the first step into one hierarchical program

in

structure (see Figure 7).

STEP 3 Operation Step: Make a list of executable operations needed


to produce the program output from the input. Then allocate each operation on the list to a component in the program structure (see Figure 7).
Each box represents an operation.
1.
2.
3.
4.
5.

Open job file.


Open process file.
Open tool file.
Open machine file.
Read job specification record: process specification and
material specification.
6. Read process records: type of processes, type of machine,
machining time, type of tools, angles and diameter, forces,
feed rate, spindle speed, finishing process, precision.
7. Read tool records: type of tool, process, edges, set up
up requirements.
8. Read machine records: type of machine, process, operation mode,
set up requirements, auxiliary equipment.

101

&

Ui (T

to

Feed Rate
Tools*
^

CO

X . Y . Z Positions
Operation Codes

CO
(t5

Process*

Q
Q
CO
-3

Machining Processes

Setup Requirements

bO
H
0}

Tools

0)

Auxiliary Equipment

0)

tu
3
4J

O
3
L,

Setup Requirements

A
^ Edges

JJ

CO
C

Machining Processes

Precision

CQ

Finishing Process

5 S

a)

Spindle Speed

0 - 2 0 0 fpm

Feed Rate

0 - 1 0 0 0 fpm

CO

Angles & Diameters

C loclmise/Cou nterciocicw ise


0-360*

Forces

Cutting Force

Type Of Tools

8 Types

vO
OS

Machining Times

C3
I I Type Of Machines

CNC LatheCNC MiU

(
Process
Specification

Size, Shape, Quantity, Due Date,


Cutting, Type Of Process

Material
Specifications

Type Of Msterial, Strength,


Toughness, Red Hot, Brinleness

102

CM

produce
production
reports

Produce
reports

bO
(0

\.\
10

=5s

CO

O (0 OQ . U9

to

CO

-a

<0

o
c

3
U

c
o
^
o
3

o
k.

Produce feed rate


t
,

a>
^
c
o
^^
u
3

<M

Produce cutting speed

;
I

-i'o'j

Produce tool #

H
Of]

0)
O
T3
0)
3
4J

Q. Q.

nsum
duce

Produce X.Y,Z positions

'....

O
3
L.

CO

o U
o a.

00

Produce operation codes

c
o
CQ

Produce process #

c
(0
sz c
o (0 a
2 JJ u
3o R
jjT o o 9
o a a
^
^
J9 (0
o
c
i <l)*.

o
O

M
9

(A
c
<U
U o

0)

Produce header of
part program

k.

u>

(a
s:
o

4 <

Consume machine file

pro

<
n
f-

"^
M

pro

urn

1M

.i
O
OJ
-3

00
OS

Consume tool file

Consume machining
process file

_ i CO

C5

'.

-, >

in
m

103
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
STEP
logic

Write part program header.


Assign operation code.
Assign X, Y, Z positions.
Assign tool numbers.
Assign cutting speed.
Assign feed rate.
num_loop = 0.
num_loop = num_loop + 1.
Write process number.
Write operation code.
Write X, Y, Z position.
Write tool number.
Write cutting speed.
Write feed rate.
Write end of part program.
Monitor production processes.
Write status reports.
Write production reports.
Write error reports.
4

Text Step: Write the ordered

included,

in

operations,

the form of structured text,

pseudocode.
PART PROGRAM seq
write part program header
open job file
open machining file
open tool file
open machine file
read job specification records
read process records
read machine records
numjprocess = 0
loop
numjprocess = num_process + 1
if ((process_process = job__process) and
(machine_process = job_process))
then assign process number
assign operation codes
assign cutting speed
assign feed rate
read tool records
if (tool_j)rocess = process_process)
then assign tool number
end-of-loop
PART PROGRAM end
STATUS REPORT seq
monitor production processes

with

condition

a formal version

of

104

write status report


if error occurs
then goto err
STATUS REPORT end
PRODUCTION REPORT seq
monitor production processes
write production report
PRODUCTION REPORT end
err: ERROR REPORT seq
write error report
ERROR REPORT end
MJSD starts from input and output data description,
to
are

hierarchical program structure.


included,

but

neither

and then

goes

Both data structure and data

flow

the sequence of processes

nor

functional

hierarchy structure are included. It is good in data structure, but weak


in terms of control logic design and design verification.
verification in each basic design step is not sufficient.

The

informal

The

literal

description of operation and text steps is not as clear as with the data
flow

diagram or the functional hierarchical structure chart.

The text

step provided similar information but not as detailed as MSR, especially


for producing part programs.

4.6. Problem Statement Language/Analyzer (PSL/PSA)


The
PSA)

is

system flowchart of Problem Statement Language/Analyzer


in Figure 8.

description

Each of the objects defined

in

the

(PSL/

narrative

can be given a corresponding PSL name and object type

(see

Table 1). The description of the system using PSL is shown in Table 2.
PSL/PSA

is

inconsistency.
functional

computer aided design tool which

Four

structure,

types of information,
flow

of

data,

checks

the sequence of

and data

structures,

for

data

process,
are

all

105

Time Sheet
&Job
Requiremenl

Job Schedule
& Spec

Safety
Process

Correctior
Request

Alarm
Signal

Shut-Off

Scheduling<
System

Shut-Off
Notice

Error
j
Report-/

Error
Corection

[ Computer|__^ Computet
Control

C H
Operator

Operator
Interface

Determine
Process &
Machine

Part
Program

Shop Roor ]
Control Sys j ^ -

Preparation &
Requirements

Ii

Put-up
Material
for Robot

Robot
Ready
Signal

Mill Ready
Signal

Initial
Robot

Initial
Mill

I
[Robot Initiotec

I Signal

Set up tool
for Lathe

Set up tool
for Mill

Lathe
Ready
Signal

Errors

Initial
Lathe

Signal Robot
to Load

Signal Robot
to Load

T"

Robot
Load

Finish
Loading
Signal

JM
Continue
Signal

Change
Tool

Signal for
Changing

Jflfll

Lathe
Process

Mill
Process

Signal
Robot
to Unload

Signal
Robot
to Unload

Robot
Unload

Process
Repor

FIGURE 8.

PSL/PSA System Flowchart

Signal for
Changing
Tool

Change
Tool

Lathe
Continue
Signol

106

TABLE 1.

Narrative, PSL name, and PSL Object Type

NARRATIVE
Scheduling Department
Job schedule & specification
Job allocation
Job file
Time sheets & job requirement
Computer
Computer-control
Operators
Operator-interface
Determine process & machine
Part programs
Shop-floor-control-systn
Materials
Setup tools for Mill
Setup tools for Lathe
Put up materials for robot
Mill ready signal
Lathe ready signal
Robot ready signal
Initial Mill
Initial Lathe
Initial robot
Mill signal robot to load
Lathe signal robot to load
Robot load
Robot end of load signal
Mill process
Lathe process
Mill need to change tool
Lathe need to change tool
Mill change tool
Lathe change tool
Mill continue signal
Lathe continue signal
Mill signal robot to unload
Lathe signal robot to unload
Robot unload
Finished goods
Inventory control Dept
Process report
Status report
Correction Request
Safety process
Error correction
Alarm signal
Error report
Shut-off

PSL NAME
Schedule-Dept
Job-sched-spec
Job-allocation
Job-file
Time-sheet-req
Computer
Computer-contrl
Operators
Operator-interf
Deter-proc-mach
Part-progm
Shop-floor-Ctrl
Materials
Set-tool-Mill
Set-tool-Lathe
Put-matrl-robot
Mill-ready-sign
Lathe-ready-sign
Robot-ready-sign
Initial-Mill
Initial-Lathe
Initial-robot
Mill-wait-load
Lathe-wait-load
Robot-load
Robot-end-load
Mill-process
Lathe-process
Mill-need-tool
Lathe-need-tool
Mill-change-tool
Lathe-change-tool
Mill-cont-sign
Lathe-cont-sign
Mill-wait-unload
Lathe-wait-unload
Robot-unload
Finished-goods
Inventory-Dept
Process-report
Status-report
Correct-request
Safety-process
Error-correct
Alarm
Error-report
Shut-off

PSL OBJECT TYPE


INTERFACE
INPUT
PROCESS
SET
INPUT
INTERFACE
PROCESS
INTERFACE
INPUT
PROCESS
OUTPUT
INTERFACE
INTERFACE
PROCESS
PROCESS
PROCESS
INPUT
INPUT
INPUT
PROCESS
PROCESS
PROCESS
INPUT
INPUT
PROCESS
INPUT
PROCESS
PROCESS
INPUT
INPUT
PROCESS
PROCESS
INPUT
INPUT
INPUT
INPUT
PROCESS
OUTPUT
INTERFACE
OUTPUT
OUTPUT
INPUT
PROCESS
INPUT
INPUT
OUTPUT
PROCESS

107

TABLE 2.

Relationship Between Two Objects

OBJECT

RELATIONSHIP

GENERATES
RECEIVES
UPDATES
GENERATED BY
RECEIVED BY
RECEIVED BY
GENERATES
GENERATES
RECEIVED BY
UPDATED BY
UPDATED BY
UPDATED BY
RECEIVED BY
GENERATES
RECEIVED BY
RECEIVED BY
RECEIVED BY
RECEIVED BY
RECEIVED BY
RECEIVED BY
GENERATES
GENERATES
GENERATES
GENERATES
GENERATES
GENERATES
RECEIVED BY
RECEIVED BY
RECEIVED BY
GENERATES
GENERATES
RECEIVED BY
RECEIVED BY
GENERATES
RECEIVED BY
RECEIVED BY
GENERATES
Mill-process
GENERATES
Lathe-process
GENERATES
Mill-process
GENERATES
Lathe-process
RECEIVED BY
Mill-need-tool
RECEIVED BY
Lathe-need-tool
Mi11-change-tool GENERATES
La the-change-tool GENERATES
RECEIVED BY
Mill-cont-sign
RECEIVED BY
Lathe-cont-sign
Mill-wait-unload RECEIVED BY

Schedule-Dept
Job-allocation
Job-allocation
Time-sheet-req
Time-sheet-req
Ccxnputer
Computer-Control
Operator
Operator-interf
Machine-file
Process-file
Tool-file
Part-progm
Deter-proc-mach
Operator
Operator
Operator
Prep-req
Prep-req
Prep-req
Set-tool-mill
Set-tool-lathe
Put-matrl-robot
Set-tool-mill
Set-tool-lathe
Put-matrl-robot
Mi 11- ready- si gn
Lathe-ready-sign
Robot-ready-sign
Initial-mill
Initial-lathe
Mill-wait-load
Lathe-wait-load
Robot-load
Robot-end-load
Robot-end-load

OBJECT
Job-sched-spec
Job-sched-spec
Job-file
Job-allocation
Computer-control
Computer-Control
Operator-interf
Operator-interf
Deter-proc-mach
Deter-proc-mach
Deter-proc-mach
Deter-proc-mach
Shop-floor-Ctrl
Prep-req
Set-tool-mill
Set-tool-lathe
Put-matrl-robot
Set-tool-mill
Set-tool-lathe
Put-matrl-robot
Errors
Errors
Errors
Mill-ready-sign
Lathe-ready-sign
Robot-ready-sign
Initial-mill
Initial-lathe
Initial-robot
Mill-wait-load
Lathe-wait-load
Robot-load
Robot-load
Robot-end-load
Mill-process
Lathe-process
Mill-need-tool
Lathe-need-tool
Mill-wait-unload
Lathe-wait-unload
Mill-change-tool
Lathe-change-tool
Mill-cont-sign

Lathe-cont-sign
Mill-process
Lathe-process
Robot-unload

108

TABLE 2.

Relationship Between Two Objects (Continued)

Lathe-wait-unload
Robot-unload
Robot-unload
Finished-goods
Process-report
Robot-load
Robot-unload
Mill-process
Lathe-process
Errors

Ccxnputer-control
Correct-request
Safety-process
Safety-process
Safety-process
Error-report
Error-correct
Alarm
Shut-off
Shut-off-notice

RECEIVED BY
GENERATES
GENERATES
RECEIVED BY
RECEIVED BY
GENERATES
GENERATES
GENERATES
GENERATES
RECEIVED BY
GENERATES
RECEIVED BY
GENERATES
GENERATES
GENERATES
RECEIVED BY
RECEIVED BY
RECEIVED BY
GENERATES
RECEIVED BY

Robot-unload
Finished-goods
Process-report
Inventory-Dept
Shop-floor-Ctrl
Errors
Errors
Errors
Errors
Computer-control
Correct-request
Safety-process
Error-correct
Error-report
Alarm
Shop-floor-ctrl
Computer-control
Shut-off
Shut-off-notice
Shop-floor-ctrl

109
included.

The time factor is also considered in system dynamics aspect.

Regarding

the

amount of information PSL/PSA contains and

(consistency,

coherence, accuracy, and completeness),

rior

other methodology.

to

any

The system

the

quality

PSL/PSA is supe-

flowchart

requires

too

detailed a description, which is not necessary for high level design.

4.7. Structured Analysis and Design Technique


(SADT)
The

IDEF

systems are the application of Structured

Analysis

and

Design Technique (SADT). The IDEF diagrams provide more information than
any other design technique.
nce

of

processes

and data flows are all

provides

structured

attribute

domains,

seldom

The functional hierarchy structure, seque-

analysis
and

for

included

entities,

attribute assignment

in

IDEFO.

IDEF1

relations, attributes,
constraints, which

mentioned in other design methodologies.

IDEF2 shows

the

are
time

dependent characteristics of functions and information.


IDEF system development methodology establishes a formal definition
of the system.
maintain
systems.

Because it can be utilized to construct,

an integrated system,

implement

and

it is a suitable methodologies for

CIM

Only the IDEFO models are used in the study (Figure 9 to 16).

4.8. Higher Order Software (HOS)


The

most primitive form of Higher-Order Software (HOS) is

similar

in structure to TDD, but the binary tree structure causes the diagram to
be much larger.
their

It also gives input and output for each

mathematical

operations,

which provides more

function,

information

and
than

110

A AA

j ^

1
8

CO OC

^_,

<

2^
UJ o
c

c
c
c

5^
2 -

c
a

^
9-5
oc'-

Process

*rocss
lirem

-
c

a-

Li-

Safety
Manageme

: i

QC

3
Z

(0

-r
:
I
c
:

m -

8
oT
o ^ 1

UJ

Q. UJ 1

Z Q
E

CO

oc

"

_i
^^

^-

OJ

CO
CO

Proce
ontrol

FINi

(Q

men

c
_o

a>
oo

eciflcati

Operat
lnterfa<

1 Allowance

SYST

ik
0)

'-

H CO

C3>

h-

E
0)

Z
L

(0

aw Mat( rial

Oper
rormal ion S
quipmi

>.

<->

rormaii

achining

ob Order

OBJECT

Plannin

AUTHOR
ROJECT:
OTE:
Q.

CO

^o

-i

cr

>

C/3
^,..

Compute

r-

ca.

k.

Job

CO

^^

CJ

?? JR

Mat

CO

e & Budge Constra nts

HWU-YAN COGGINS D
M DESIGN

<

LU

ITLE:
HOP FLOW a

U I Q.

.^ o>
o

Par

20/86

11
ti-

UJ
J

saiB

UJ

ON
UJ
OC

UJ

d
0

*^
-^

-w

CNC Lathe

OPERATOR irfTERFACE

TITLE:

Computers

Setup
material
for robot 2.4

02

NODE NUMBER:

NC Mill

Information System
Operator
Equipment

Raw Material

Setup
tools for
CNC Mill 2.3

t
^

bquipmeni
Preparation

Set up
tools for
CNC Lathe 2.2

Material
Allowance

<

iJob Specification

... ^

on

Time& EJudge
t Constraints
Part
Progi'ams
Determine
process type
&machine 2.1

DRAFT
FINAL

10

Machining
Information

AUTHOR: SHWU-YAN SCOGGINS DATE:07/2Q^86


PROJECT: CIM DESIGN
NOTE:
12345678910

Ill

(0
S-

O
CO

o
u.
UJ
Q

OJ

>

<

CM

CO

UJ

i
CD

*" "

6 2

.o

- 0 CO

>

1)

DC

t
...
9

o^12
Cv1

ess Control

1-J2

4-

r 2

<A
C

i
"?

00

rri
Q.

US
u
iM

O
C3>

puters

-f-

o
0)

C 'J
0) CO

Uk

C ^^)
9

z o
OO

o
o

r~

i i

-3

CO

ci
c>
c)

UJ

k.

UJ

Proce

PartPr
btatus
Status

Printers

de Nu

a
fe o

Pr

T^

JC Mills &
)nnputers

Title:

o '
oS

:: Lathe &
nputers

Robot & Computers

1
9

Print*
Man

roduc
)ata
*

Context

ss
ation

i2 -C m
o CL t a F
o o
0)

cv

quipmen

Data
ManoQ

ystem

<o

ent

00
CM
o

CNC Mi
Manag(

Final

Oft

ormation

P c
>
lation

r
SS

Date: 07

ons

CNC Lath
Managem

i-s

rograr
i

3.1

i2 1

i Materials
parts rea
for proce

anagement

3001

Materials

o*

ation SI

.c

p Process Requirei

ent
tions

Auttxx: Shwu-Yan Sco


Project: CIM Design
Note:
1 2 3 4 5 6 7 8
<u c

DJOO

D
0

SDO

ECT:

112

2ioe5

1 8
O

z
E

o
O

L.
t^
CO

CD

UJ
Q

PO

uo
(U

6
(U

>

EQ
<
CO

CxJ

CJ
l-H

reject

<

Q- Z

CD

1 (A

<A

Title:

b o
UJ o
*rf

'

cc
(0

Ol

S ety Man gemen

ncy

<
w
m

9
O)
I
9

UJ Q

iber:

Alanms

CO

Tf

<

Equipmlent

t1

ystenr

rrecti

Error
o

Informa

o
CM

>ctii

2
o iZ
a
c

Information

equest
r Correc

^
1n

Machinii

rror
etec tio

Safety
Requi 1 ments
9

rocess E

Proce
Requi ment

5 6 7 8 9 1(

uop

-3

2 3

Date:

<Sn

JOJJ

O
UJ

CIM Design

Shwu-Yan Scoggins

lote:

uthor

113

z
-8

fc

c .

zo

0
) 01
^

11

UJ CO

E
(0
u

A
taO

(0

UJ

O
CJL,

,
liJ
Q

CM

(O
00

<u

c
o

>

k. sf

1
1
0)

C\J
CO

UJ

oc

U-,
I

Equip
Prepa

<

-5

CQ

O
(0

c
"

C3)

00

-S- 1 CM

Q. Z

s
CQ

(A

ac

t
k.

< c
c o

'O

E 2
Rob

P
1

>

Tit

(0

UJ CC

;ers

M
C

adeci
Part

inal

als

OL
M

(O
OO

"8

o
CD

ran

3.i;

Nod Num

ting

<

^2

A
emen

lad/Ui
aterial

E
9
o
O
*rf

3.1

<D

istriaints

ri
o

to .a
c o

ble/Disable
Ot

1
Transported
Material or
Goods

Materiai Ready For


ProceISS
1
1
Finished Goods

ntext:

Robot & C

^^

me&

raft

Processed <

CO

CIM Desii

Date:

1
D

Raw Materia

ct:

Shwu-Ya

Q
U.

3 4 5 6 71

3r:

o O
o

lb Specificaltion

ECT:

114

tn

n
o

0)

k.

1CO

00

2
CO
H

3d
UJ
Q

CM

CO
PO

o
^

(0

o
>

T3
3

y -

.2

-^

E
o

,-

<

CO

<

O)
CO

OQ

IS
(0

4.^

UJ

=)

l-H

u<

X
CO r

"

.A-^"^

no-

CO

"

(0

?!

o a

ii
^

CO

T3rtti-Hk.
LUCLQ.^"^

cn
^

1
S

i i

c
c ^
CO 0
-c 0
OK

ii

Q -c
(0
c
UJ

'^

ia

<D

CNC Latf

Node Number:

CNC Lai

1,
CO
CO

iagra

cess
rmation

-4

SAD

ci
1

CNC Lathe Management

CO
CO

CNC Lathe

335

CNC Lathe

Q. S

Machining

Pro cess
Into mnation

Title:

333

Q- CO

Computer

CO

Positioning

5
J

A32

r
...o

CNC Mill
Computer

Loading/
Editing
Programs 332

Draft
Final

Q.S

CNC Lathe &


Computer

3
9

Lathe
Enab

Date: 07/20/86

PartP

r-Process Requirements
n

lions

1 2 3 4 5 6 7 8 9 10

Note:

Project: CIM Design

Author: Shwu-Yan Scoggins

1O
5n

Equi pmen I
aratio

OBJEECT:

rocess
formation

115

0
CO
0

UI
Q

0
U.
1(

OJ

<
r-4

>

(L>

E-

^
'"

UJ
oc
ID
l-H
0

UH

t-

3
<

2
Q-

<b

CO

1
5

J
3
3
3
9

1r

- c
^

1 UJc

ca

CO

c
UJ

E 2

o,^g

Mill
puter

j
2

X
<a r

o >?

(A

TifflP":2j^

LUQ-CLI

8*
s.

0-

1
&

athe

CO

A CO ^ ^

*" 0 E
E

ining

<

ces!
Info rma

1
1
'

-A:;?*
|U.-

<A

k.

Manu al
Oper ations

.ath

336

8^1

z
"

^^

CO

^ 2

^ E

z
0

0
0

07

a. O 1

de Number:

CLa the

NC Lathe

.g

Chang
Tools

2-1
0. ^

CNC Mill Manageme

CM

333

"D

Title:

Positio

2 ik
A
<o -a

:)omputer

Loading/
Editing
Programs 332

artP

LL

lecifi
tions

nal

B/Dis
Mill

aft

1n
D
0

0/86

p-Process Requirements

Date:

5 6 7 8 9 10

iect: CIM Design

Shwu-Yan Scoggins

hor:
X

Equip
Prepa

BJEC

116

A^

^ "z
^

^
^

^
1

CO

0
O

z0
UJ

(D
L.
00
CD

>

-i

z 0

OO

<

CO
CO

in

UJ

oc
o

117

ata

D
O

1 D
<Sn

u
3

00

CL

<
p

CO
CO

<

<D
T3
O

Z
9
at

1 o

CO
L.

tf
Q(0 CO

00
00

AM

(0
o
o

4^

o
(A

o
u.

Draft

(A

8
2

75
c

UJ
Q

CL
CM

PO

CO

(O
CO

3
CM

>

C3)

_c
*M

h".

<A

Date:

E-i
k-

c
o

<0

Q Q.

0)

<

CO

E
9

'S
<A

C
9

6 7 8 9 10

*^

M Design

iwu-Yan Scioggins

CT)

<A

W O

A
(0

<n
il

CL CC

CO

c
o

#2

Q.

<

UJ
OC
ZD
CJ
l-H

CC .2

*'S

^
S

ffl

"

o"
" ZS5 <^
T-

<o o
Q <

"8*
"A
3

2
00

is

"

Jo

UJ
-9

CQ

<A

^ i i

rf

l-O

C
O

?
c

"c

=
<A
M

d.

E
2
CO

c
o
Si

i
o

h.

UJ

c
o
<A

?
^
%

Q.

(3L

CO

E
o^

CO

2
3
CL

E
o
o

<

118

TDD.

Mathematical

definitions,
computer.

operations are determined by

which

HOS

makes

the

precise and

diagram easier to be

is an automated technique,

objective

processed

by

and because of this

it

a
is

likely that HOS will become more popular than most of the other methodologies in the future.

The HOS control structure chart is in Figure 17.

4.9. HIPO (Hierarchy-Input-Process-Output)


HIPO

has

Warnier-Orr

content diagram which is

diagram.

In the overview and

same

as

detailed

TDD

and

function

however, it is neither a functional hierarchy chart, nor a

process control diagram.

box,
The

visible

process

description,
logic

It

the processes in another box,


data is not structured.

structure chart in TDD.

simply defines all the inputs in a


and all the outputs in a third box.

The HIPO hierarchy chart is the same as

The process charts are in Figures 18 to 20.

4.10. Conclusions
From

the

above analysis of the

nine

design

methodologies

and

their diagrams based on the Flexible Manufacturing Cell (FMC), it can be


concluded
that
are

that

a good design methodology and diagram should have.


seldom

divide

of

information

Because

enough rules or guidelines for designers to follow to


system,

measure

the

design

stage,

the

no methodology includes all four types

to stop subdividing,

quality of the design,

to check data

there
sub-

consistency to

or to detect errors in

the

early

the methodologies rely to a greater or lesser extent

experience and judgement of the designers,

who may need more

on
than

mad
into

119

Error
algna

8"
a

2
8

"s
rror
and!

o
c

UJ

o c
UJ 'S

is

33
U

o
w O
u o

120

INPUT
(a). Physical
lOperator
Raw materials
Printer
CNC Mill
CNC Lathe
Robot
Computer
(b). Logical
Part program
Job Schedule &
ISpecifications

PROCESS

OUTPUT

Job allocation
Set on operator mode
Determine processes and
machine
Set up tools for CNC Mill
Set up tools for CNC Lathe
Put up materials for robot
Set cell computer in
communication mode
Turn on CNC Mill
Turn on CNC Lathe
Turn on robot
Load materials to machine
Load part program from CNC
machines or host computer
Start machining processes
Change tools
Finish machining processes
Unload materials from
machines
Load part program to host
computer
Error detection
Safety management
Error correction
Emergent shut-off
Print reports

(a). Physical
Finished goods
(b). Logical
Part programs
Process reports
Error repx^rts
Completed process

FIGURE 18. Flexible Manufacturing Cell HIPO Diagram

121

1 INPUT

PROCESS

1(a). Physica
{Operator
IRaw materials
iComputer

X (X axis moves)
Y (Y axis moves)
Z (Z axis moves)
G (G function)
M (M function)
IFEED (Axes feeds)
ICLW (Clockwise circular
movements)
!CCLW (Counterclockwise
circular movements)
IT (Tool selection)
IS (System software version and EPROM test)
1 REPEAT (up to 99 times)
I MIRROR X
[MIRROR Y
lAUX/INPUT (4 external
output switches)
[OFFSET (machine/program
offset)
[SCALE (Scale movements)
RESET
ICOMP (Tool radius compensation)
I FLOAT DATUM (A selected
position as zero)
[ABS DATUM
[LOAD (Load a program)
[EDIT
[DATA LINK (To external
equipment)
lABS/INC (Absolute/incremental data)
[CASS (Cassette system)
[BLOCK SEARCH
ITPG (Tool path graphics
INCH/MM (Data units)
[SPINDLE +/-/FWD/REV
CYCLE
iPRINT

1(b). Logical
1 Manual data ir
iput

I OUTPUT

FIGURE 19. CNC Mill HIPO Diagram

(a). Physical
Finished goods
(b). Logical
Completed process

122

1 INPUT

PROCESS

[OUTPUT

i(a). Physical
{Operator
{Raw materials
{Computer

PTP (Point to point)


CIRC (Circular interpolation)
THRD (Thread Cutting)
DWELL (Dwell Period)
AUX I
AUX 0
SUB (Subroutine)
INS/MM (Data Units)
INS/ABS (Incremental/
absolute format)
X Traverse
Y Traverse
Feedrate Overide
Spindle Speed +/Reset
Emergency Stop

(a). Physical
Finished goods

{(b). Logical
{Manual data input

(b). Logical
Completed process

FIGURE 20. CNC Lathe HIPO Diagram

123
one methodology and one type of diagram to make the analysis and

design

more complete.
IDEF systems from SADT are
and

designs.

most suitable for CIM

system

They incorporate MJSD's data structure,

analysis

and can be

used

for most complex systems.


Many design methodologies cannot detect the
and output data.

inconsistency of input

Even some computerized tools have this

problem.

An

ideal computerized tool should automatically check data integrity.


Comparing

the amount of information derived from each

methodology

to the FMC (Flexible Manufacturing Cell) pseudocodes provides a


into

the

extent to which a methodologies produces what the

insight

programmer

needs.
Some methodologies provide information about sequence of processes,
but

concurrent processes are seldom included,

leaving design

processes dependent on the experience of the programmer,


designer.

The

of

such

instead of the

choice of real-time multitasking executive will make a

difference to program technique but not system design.


If
the

system

software package generates codes automatically according


design,

the

system

design has

to

be

implemented

to
with

compatible software, so that the design can be recognized and translated


into codes as are PSL/PSA and HOS which use interactive design
and

automatically

check

data consistency.

PSL/PSA has a

software
very

good

reputation for consistency, correctness, and completeness, but does take


a lot of cpu time and memory.
trouble to use the software.

For simple system designs, it is too much

CHAPTER 5
COMPARISON OF DESIGN METHODOLOGIES
VS APPLICATION SYSTEMS

In the past, research on system analysis and design focused only on


the

techniques

of the methodologies;

ignoring the characteristics

application systems and program develojMient problem.


application

system

characteristics.
type

Nevertheless, each

and each methodology can be shown to have


Certain

methodologies are suitable for a

of application system.

of

its

own

particular

A methodology should provide a full set of

system specifications and lead to a successful

programming

environment

and system implementation.


In

Chapter 4,

the nine methodologies were applied to a shop

control subsystem in the higher level of analysis and design.


techniques

can

be

applied to the other

subsystems

Manufacturing (CIM) system.

and

Canputer

Integrated

compared

and contrasted to determine the relationship of

and application systems.

The same

the

is

confirmed;

suitable for any application system.

any methodology can

methodolo-

be

the first
equally

The results of the study described

in this chapter confirm the former assertion.

124

be

methodologies

Should the characteristics of the

otherwise,

overall

The results can

gies match those of a particular type of application systems,


hypothesis

flow

125

5.1. The Application Systems


The
system

description of CIM application systems in Chapter 3 shows that


analysis

gradually

work

and

design can start either from

the

down to detail or from the bottom-level

top-level
and

and

gradually

aggregate submodules into higher level modules. Since nine methodologies


are

applied

to

the same level of each application

system,

and

some

methodologies use the bottom-up approach (such as Structured Design), no


detailed analysis and design will be provided in this Chapter.
subsystems

are:

the

shop

cinalyzed in Chapter 4,

floor control subsystem

product design subsystem,

which

for

is

already

production

scheduling subsystem, and inventory control subsystem.


designs

The four

planning/

The sinalyses and

the systems provide only the context diagrams and

conclu-

sions rather than the detailed information as in Chapter 4.


1. Overall CIM system:
in

Figure 21.

shop floor,
design,
control

A CIM system basically includes three levels:

and information systems.

production
are

The context diagram of a CIM system is shown

At the factory level, the product

planning/scheduling,

performed.

simulation

Due to the complexity of a

Aided Design/Manufacturing) function,

factory,

and

inventory

CAD/CAM

(Computer

it is treated as a separate func-

tion from product design.


Between each pair of functions,
two-way.
ment

For example,

the relationship may be one-way or

in the two-way relationship, the factory manage-

function supervises the product design function,

and the

product

design function gives feedback to the factory management function (it is


feedback,

because

the relationship is vertical instead of horizontal).

126

FIGURE 21.

Overall CIM System Context Diagram

127

In the two-way relationship,

the factory management function determines

how and when to use the CAD/CAM function.


not

give

function
to

the

directly

feedback to the
influences

factory management

function.

the product design function,

factory management function.


or

But the CAD/CAM function does

So,

The

CAD/CAM

which gives feedback

many of the

indirectly related to other functions,

functions

which

makes

are
the

overall CIM system very complex.


The vertical relationship means that one of the functions
or
the

supervises the other,

monitors

giving feedback to the original function.

horizontal relationship either one of the functions

can

In

influence

the other's processes or decision-making.


At
the

the information systems level,

software

Support

the system requires,

Systems

(DSS),

Planning (CAPP), etc.


functional modules.
supports

a data base system provides all

such as

part

simulation programs.

Each software package may

programs.

Computer

Aided

Decision
Process

support one or several

For example, the Decision Support System (DSS) only

the inventory control subsystem,

but the simulation

function

may support the product design subsystem, production planning/scheduling


subsystem, and simulation subsystem.
2. The
Flexible

shop floor

level of the overall CIM system is the group of

Manufacturing Cells (FMCs) which were described in Chapter

(Figure 1).
3. The Product Design subsystem
description
tem.

starts with receiving the

product

which comes from the production planning/scheduling subsys-

It then determines types of materials, shapes of products, machi-

ning processes,

types of machines,

precisions and tolerances.

It may

128

update existing drawings or start with


requires
are

new drawings.

the assistance of a CAD/CAM subsystem.

finished,

drawings

by

When product

some person other than the designer has to

running

a simulation or simply visual

designer will modify his drawings if necessary,


the

In either case it

CAD/CAM subsystem.

drawings

examine

examination.

and then store them

The whole process is under the control of

the
The
in
the

product design management function which is under the supervision of the


factory

management

function.

The context diagram of

product

design

subsystem is shown in Figure 22.


The consistency among all the context diagrams must be
For
there

example,

in

the overall CIM system context diagram

are four external systems to the product design

maintained.
(Figure 21),

subsystem.

The

same relationship is shown in the product design context diagram (Figure


22).
4. The

Production

Planning/Scheduling

occurrence of demand.
Due Date,

begins with the

Then it determines scheduling strategies

type

schedule

is

of

run

and

machine,
under

part-type

optimal solution.

The

and produces a production

simulation packages for


mix ratios to

schedule.

different

determine

the

feasible

and

production planning subsystem interacts with the

with the inventory control subsystem to

stock levels.

The

scheduling

product design subsystem to obtain all the product information.


interacts

(Early

or Short Process First, etc.), part-type mix ratio, machining

process,

strategies

subsystem

maintain

It also

reasonable

The context diagram of the production planning/scheduling

subsystem is shown in Figure 23.

129
From Factory Level
Production
Planning
(Scheduling)

From Factory Level

"f
i
Receiving
Product
Description

Determine
Type of
Materials

Examine
New
Drawing

Determine
Shape of
Products

roduct
Design
Management

Determine
Machining
Characteristics
Determine
Tolerance

^ CAD/CAM ; ^ . . - - ' '


From Factory Level

FIGURE 22.

Update
Old
Drawing

I Simulation

_ , _

From Factory Level

Product Design Context Diagram

130

From Outside

From Factory
Level

From Information
System Level
Computer
Aided
Process
Planning

Determine
Type of
Machines

Determine
Production
Schedule

From Factory Level

FIGURE 23.

From Factory Level

Production Planning Context Diagram

131

5. The
gies

Inventory

Control subsystem determines the control strate-

(exponential estimation,

safety

smooth estimation,

stock levels and order quantities.

etc.),

and

set

up

When stock drops to reorder

points, orders are placed. Shipping, receiving and dispatching goods are
also

carried

out by the inventory control

subsystem.

The

production

planning/scheduling subsystem should inform the inventory control subsystem about production plans so that the Inventory Control subsystem
place orders for raw materials.
Information
planning.
shown in

System
The

Level

can

Decision Support System (DSS) from the

helps

in

decision

making

context diagram of the inventory control

and

strategic

subsystem

is

Figure 24.

5.2. The Relationship between Design


Methodologies And Application Systems
Table

summarizes the representation

methodologies.

criteria

vs.

the

design

The criteria are system complexity, structure represen-

tations (data structures,

data flow, functional structures, and process

flow), decomposition (decoupling and

structure clash

recognition), and

process control (logical control and data flow control).


There
complexity,

is

no

objective way to determine

of

the

maximum

degree

of

in terms of McCabe's Cyclomatic Number, a particular design

methodology can handle.


small,

the

It can only refer to other studies to determine

medium, or complex problems that a methodology can handle.


methodologies,

Refinement (MSR),

such as Structured Design (SD), Meta

Warnier-Orr Design (WOD),

Most

Stepwise

Michael Jackson Structured

Design (MJSD), and Hierarchy-Input-Process-Output (HIPO),

are only good

132

From Fa[;tory Level


Scheduling
(Production
Planning)

From Factory Level


Factory
Management
"

" ' " i ' " "

"

From Information SystenJ Level


bbs (Decisioii
Support
System)

Determine
Strategies

Shipping

L_Z
Place
Order

LA

Inventory
Management

Record
Keeping

Receiving
Raw
Materials

Material
Dispatching

FIGURE 24.

Receiving
Finished
Goods

Recording
W.I.P.

Inventory Control Context Diagr am

CO <D X

>

Q
CO

Yes

z
z
o

Bottom-up

Small
problem

6 ,k w y
(0 .^ o X
^

o
Z
o
o

Mainly on
simple system
N:M

o
-

Reliable large
scale problem.

1:1, 1:N
N:M. N:1
Yes

Yes

Yes

Yes

o
o
o
o

z
z
z
z

o
o

z
z

Yes

Yes

Yes

Yes

Large.complex
problem

Yes

Yes

Yes

Data
flow

Logic

o
Z

Yes

Yes

Top-down

Verbal

Struct. Clash
Recognition

Control

Yes

Yes

Yes

Yes

Yes

Yes

Complex
business
problem

Yes

Large
complex
problem

Yes

^
o

HIPO

z
Yes

Yes

Decoupling

z
o

HOS

Ed

SADT
IDEF

o
^

PSUPSA

JC

MJSD

CQ
<

TDD

WOD

n)

Top-down

S4

Small
problem

O
(0

Top- down

<D
P

MSR

p
OO
H

Single module
problem

ro
o
H

Bottom
up

Small problem
Complex Data
flow problem

bO
H
00
0)

Process
Flow

Functional
Structure

<D

Data flow

o
s:

Data
Structure

Complexity

Decomposition

OQ
0)
H
bO
O
rH

Representation

133

134

for small problems.

In the representation of

MJSD

while MSR,

are bottom-up,

SADT/IDEF,
is

no

HOS,

WOD and TDD

data structures,
are

top-down.

SD and

PSL/PSA,

and HIPO have no data structure representation.

functional structure representation in SD and HIPO.

There

The

other

methodologies do have functional structures.


Data flow representation, similar to the entity relationship model,
can be either one (data item) to one (data item),
to many (1:N),
are

1:1.

or many to one (N:1), or many to many (N:M).

HIPO

relationship

noted as 1:1,

is

N:M.

PSL/PSA's

is either N:M or 1:1.

or one

SD and HOS

data metrics show that

the

SADT possesses all four

data

types

of

relationship.
SD,

MJSD,

PSL/PSA,

and SADT/IDEF have process flow charts.

only verbally describes process flow.


represent process flow.
structure clashes,
TDD

are

When

SADT,

the

treated

data

TDD,

HOS and HIPO do

not

MJSD, PSL/PSA, SADT/IDEF, and HOS can recognize

but only MJSD can decouple data structures.

strong in logical control,

PSL/PSA,

MSR,

WOD

SD in

data

flow

WOD and

control,

while

and HOS are good in both logical and data flow control.
or process flow mechanism is weak,

it

as not having this type of control mechanism.

weak in both logical and data flow controls,

can

simply

be

MSR and HIPO are

making them adequate

only

for single-module problems.


The

ease of design preparation and diagram clarity

are

important

aspects of a methcxiology; because they can only be evaluated subjectively, they are not included in the methodology characteristics.
Table

4 summarizes the characteristics of each application system,

in terms of system complexity (determined by McCabe's Cyclomatic

number

135

Mediu

Medium

Low

High

High

ition

Coup lin

o>

(A
O
Q.

empc
1-

^
>

sary
$
>

o
O)
-o
J

CO
CA

Yes

Yes

o
ZO m
C

CO
CO

B E

B E

6 E

^ E
o
>,
2 O .r

Overall
CIM
System

ication

ra **.

AppiNics

>s

^ CNJ
11 CNJ

^
V

-O O- >^^ C\J
.

: ^ > +

CL

>s

2 O .t:
i! ^ CM
II ^

r-

Z CL ^::. II
H- >- (D
O O ^ ^ CVJ

: ^ > +

CL

>s

2 O .t:

CL

CM

CO
^ CO
II CM r-

odes =12
ath =23
: 23-12 +
13

2 O .tr
.^

H_ ^
O
O O "^ CVJ

*t % >

Q.

lodes
ath =
= 24
14

. 0>
2 ^
O C'D"

s -s ^

O * - ' C\i

% : > +
^
ci

2
*

CL J!^ II

^5 >^

>s

Invento
Control

Not
neces

x: c *x

Produc
Design

Nodes
Path =
i)= 22
=13

"o "o

E ^

(Si

(0

Nodes = 1
Path = 50
)= 50-19
=33

(0

Eith
nee

Eith
neec
X

E J2

X O CL

0 *S

>. .

Shop
Floor
Contro

Node
Path

exity
Com

Q.

io>

Yes

one is
1

CQ

9 -S

Yes

(0

s:
o

Yes

s..

CO
CO

one is

Yes

Yes

(0

Functii
Struct

(d

CO
CA

CO

c
-3
O

CA
<0

(A

Flow

ata
truct

Represent atioi

00
O
H
4J
OQ
H

lot
eces

lot
eces

a>

Procesi

O (Q

Z
^

M
O

>

Nodes
Path =
)= 24=13

a
s

<i

CA
9

IS

$
>

Produc
ion
Plannin
(Sched
ling)

O.

IM

oced

smpo
h-

Not
necessary

ocedi
Q.

Not
necessary

H
*i
(0
O

= O
Li- O

(0
O

Yes

Comtrol

-1

Data
flow

43
OQ
>
CO

k.

nctio
mmu
led

00

a
0)

CO

CO

CO

ihesio

CO

. -

Yes

Dec(

CO

Yes

136

which is the number of


ture

representation

structures),

paths minus the number of nodes plus 2),


(functional structures,

process

process flow,

struc-

and

control (logical control and data flow

data

control),

and decomposition (cohesion and coupling).


Based on the context diagrams (Figures 1,

21,

22,

23,

and 24),

system complexity can de determined by McCabe Cyclomatic Number.


is

a total of 19 modules for the overall CIM system,

control subsystem,

12 for product design

planning/scheduling subsystem,

subsystem,

There

11 for shop floor


13 for production

and 12 for inventory control

subsystem.

Each external system/subsystem is treated as one module.


The edge
two-way.
one

which connects two functions together can be

or

If it is two-way, it is counted as two paths; otherwise it is

path.

The total number of paths is 50 for the overall CIM system,

22 for shop flow control subsystem,


for

one-way

production

24 for product design subsystem, 24

planning/scheduling subsystem,

control subsystem.

and

23

for

inventory

According to McCabe Cyclomatic Number v(G),

v(G) = e - n + p
where

of

modules

(vertices) and p is the number of connected components which is

usually

2 [142].

is

the number of paths (edges),

n is the number

Then v(G) is 50-19+2=33 for the overall CIM system, 22-11+2=13

for the shop flow control subsystem,


subsystem,

24-12+2=14 for the product

Design

24-13+2=13 for the production planning/scheduling subsystem,

and 23-12+2=13 for the inventory control subsystem.


The

McCabe

quantitative

Cyclomatic Number has been chosen from among the

measures

of system complexity because of its close

many
rela-

tionship between context diagrams and computation. McCabe suggested that

137

software

designers

complexity

restrict

their

software

below or equal to zero [142],

modules

to

Cyclomatic

When the complexity

exceeds

10, designers are forced to either recognize and modularize subfunctions


or

redo the software.

The purpose is to keep

the size of the

manageable and allow for testing the independent paths.


tion

in which this limit seems

independent cases follow


which was allowed.

The only situa-

unreasonable is when a large number

of

a selection function (a large case statement),

McCabe does not specify what range of the Cyclomatic

number represents what degree of complexity.


that

modules

However, the author states

complexity is low if the Cyclomatic number is below

10, high

if

above 21 (double the number that McCabe suggested to keep module complexity

below it),

and medium between these values.

Overall CIM system is very complex,


a

medium degree of complexity.

the

and each of the four subsystems has

The results strongly suggest that

Overall CIM system should be decomposed into


and design beginning from the subsystems.
for subsystems are finished,

Based on this,

subsystems,

the

with analysis

Once the analyses and designs

they can be formed together into the

full

CIM system.
The functional structure can be one of the following:
1. strong in

vertical connection and weak in horizontal connection

(there are more vertical


ions);

connections

in this case, the application

than
system

horizontal connectneeds

functional

2. strong in horizontal connection and weak in vertical

connection

structure representation.

(there

are

more horizontal connections than

vertical connect-

Ij8

ions); in this case, functional structure representation is

not

needed.
3. approximately equal
the

horizontal

strength in the vertical

connection and in

connection (the number of vertical

connections

is close to the number of horizontal connections); in this case,


functional structure is needed.
The

overall

subsystem

CIM system belongs to case 3.

belongs to case 1.

The shop flow

The product design production


Some

control
planning,

and

inventory control subsystems belong to case 2.

methodologies

are

excluded for a particular system because they lacks required

func-

tional structures.
The

process flow representation must be included in the overall CIM

system, shop flow control subsystem, and the inventory control subsystem
because

the

oriented.

processes

in these systems

involved in a system,

structures

and

procedure-

either functional

process flow representation is sufficient.

possibility

complex

For some application systems, such as the product design and

production planning/scheduling subsystems,


or

are

of

structure

If a volume of data

is

data structures must be represented to reduce the

inconsistency and redundancy.

However,

are missing from the resulting design,

even if

data

a methodology can be

used as long as structure clash can be recognized.


If a system is procedure-oriented, it needs logical control because
control of processes is important.
it

needs

control

data

flow control.

subsystem

If a system deals mainly with data,

The overall CIM system and

need both logical and data

controls.

shop
The

floor
product

design and production planning/scheduling subsystems need strong logical

139

control,

while

the inventory control subsystem needs strong data

flow

control.
Regarding
procedure

coupling,

little

data is

passed or shared or

dependency between modules for the product design

so the degree of coupling is low.

low

in

subsystem,

Few data items are passed or

shared

between modules for production planning/scheduling and inventory control


subsystems,
dependency

as

the

is

degree

of

coupling

is

medium.

Because

strong for the overall CIM system and shop flow

module
control

subsystem, and significant data is passed or shared between modules, the


degree

of coupling is high for both systems.

The coupling factor

the same effect as the data flow control factor:

the higher the

has

degree

of data flow control, the higher the coupling.


The overall CIM system is strong in cohesion in terms of functional
level and communication cohesion.

The shop floor control subsystem and

inventory control subsystems have procedural cohesion,


in

terms

of

degree of cohesion.

The product design

planning/scheduling subsystems have temporal cohesion,

which is
and

medium

production

which is also

medium degree of cohesion.


Combining
methodology

Table 3 and 4 produces Table 5.

(or

methodologies) is (or are) suitable for what

application system(s).
and its subsystems,
dered.

Table 5 suggests which

Due to the complexity of an overall CIM

only use of TDD,

PSL/PSA,

type

of

system

SADT and HOS are consi-

TDD is weak in data flow control, so it is not suitable for the

overall CIM system,

shop flow control and inventory control subsystems.

However, TDD is adequate for the product design subsystem and production

2 'at X
O x
5. "x

ifl
9

1
~

Inventory
Control

Scheduling
(Production
Planning)

Weak in
logical
control

Weak in
logical
control

Ed
J
QQ

Weak in
logical
control

Too
complex and
weak in
logical
control

Fit

a>

Fit

Product
Design

H
00

Too
complex and
weak in
logical
control

Weak in data
flow control

Fit

Fit

Weak in
data flow
control

Too
complex
and weak in
logical
control

O
JO

Shop
Floor
Control

Too
complex and
weak in
data flow
control

>

Too
complex and
weak in
logical
control

00
<D
H
bO
O
rH
O

Too
complex
and weak in
logical
control

Fit

Weak in data
flow control
and logical
control

Weak in
data flow
control

Fit

Fit

Fit

Weak in data
Weak in
flow control data flow
control

Too
Complex &
Weak in data weak in
flow control data flow
and k>gical
control &
control
logical
control

<
Fit

Fit

Fit

Fit

Fit

Fit

Fit

Fit

Fit

Fit

SADT
(Struc.
Analysis&
Desg Tech)

Fit

Fit

Fit

Fit

Fit

(Higher
Order
Software)

Overall
CIM System

a
a

PSL/PSA
(Prob.
Statment
Language)

MJSD
(Michael
Jackson
Struc. Dsg.]

H
(d

TDD
(Top
Down
Design)

c
o

WOD
( WarnierOrr Design)

>
CO

MSR
(Meta
Stepwise
Refinement)

CO

(Structured
Design)

(0
p

sn

Weak in data
flow control
and logical
control

Fit

Fit

Too
Complex and
weak in data
flow control
and logical
control

Too
Complex and
weak in data
flow control
and logical
control

HIPO
(Hierarchy
Input Process
Output)

140

Of)

in

141

planning/scheduling

subsystem because both systems need only functional

structure or process flow.


PSL/PSA, SADT and HOS do not have data structure, which is a necessity for complex systems like the overall CIM system,

shop flow control

and product design subsystems. Because clash recognition compensates for


this inadequacy,

PSL/PSA, SADT and HOS are suitable for all five appli-

cation systems.
For systems with medium complexity,
be applied.
tem.

can

For example, SD is suitable for the product design subsys-

WOD,

TDD, MJSD, and HIPO are suitable for the product design and

production planning/scheduling subsystems.


relies

some of the methodologies

The product design subsystem

less on formal methodology so any methodology can be used.

the rest of the application systems,

For

the reasons why some of the metho-

dologies are not suitable can be determined from the comparison of Table
3 and 4, and are indicated in Table 5.
One may assign a weight to each factor according to its
to analysis and design of the system.
would

be

weights,

zero;
one

otherwise,

For any 'No' factor,

an integer value.

By summing

importance
the weight
the

total

can determine which methodology or methodologies are most

suitable.
From the above studies, it can be concluded that there is no single
methodology
PSL/PSA,

SADT

structure
be

which

all the criteria of

and HOS can be applied to

representation is missing.

adapted

analysis

meets

and

the

can be more

application

systems,

If two or more

at the same time to complement each


design

an

complete.

however,

data

methodologies can

others'
For

system,

inadequacies,

example,

the

data

142

structures
top-down)

in

SD and MJSD (which are bottom-up),

can be effectively used with PSL/PSA,

or in TDD (which
SADT

and

HOS.

is
This

confirms to the second hypothesis proposed in Chapter 1.


Finally,

when two or more

methodologies are used, the possibility

of conflicting designs should be discussed.

If a methodology is applied

properly, it should not produce results incompatible with those of other


methodologies unless different concepts and data norms are
is

the

fault

of

the

designer

conflicting designs do occur,


and correct the inconsistency.

rather

than

the

used,

methodology.

which
If

the designer should reexamine the details

CHAPTER 6
CONCLUSIONS

Computer Integrated Manufacturing (CIM) is a direction,


tination;

it is a concept,

not a package;

it is a management process,

not a set of technologies, systems, products, or projects.


designed

as

planning

must be provided for each system.

of

CIM

common package and

sold

not a des-

to

customers.

It cannot be
Instead,

CIM

Planning and implementation

can be quite different even in the same

factory

in

different

shops.
CIM

designers

it into an
rized

cannot take traditional manual equipment

automated system.

The

rical Control (DNC), or Adaptive Control (AC) machines.


allow

Direct NumeThese types of

the computer to take control and integrate

system.

In

evaluate

all the specifications and requirements of

make a wise

the

planning stage,

turn

automated factory must have compute-

equiiaient such as Computer Numerical Control (CNC),

equipment

and

designers and users

the

must

the

whole

carefully

system,

and

choice of system hardware and software.

6.1. The Need for Industrial Information


System Standards
For
equipment

many
at

small
one

and medium size ccxnpanies,

time is not possible;

purchase of

one module at a time

installed, gradually expanding into a whole CIM system.

143

all
may

the
be

144

Even when equipment and software have been carefully chosen, interfaces between hardware and hardware, software and software, and hardware
and

software,

are

difficult to handle.

insufficient and ambiguous.

The documentation is

Even an experienced software engineer

have difficulty installing the system according to available


tion.

always

There are always bugs.

When two systems cannot

may

documenta-

communicate with

each other, neither of the vendors can really provide help.


To solve this problem, industrial standards must be
manufacturers,

vendors, and users with a view to the nature of manufac-

turing activities.
Automation
(Electronic

IGES (Initial Graphics Exchange Standard),

Design Interchange Format),


The

equipment

directly

other

The representative standards are: MAP (Manufacturing

Protocol),

change).

with

established by

proposed

MAP protocol

and BDI (Business Data


will make it

possible

into the MAP network and communicate

devices,

but

such capabilities are

EDIF

Interto

plug

transparently

several

years

Although IGES does not always succeed in passing graphics files

away.

between

systems and translating them into acceptable figures upon receipt, it is


expected
tional

that IGES 3.0 will soon be officially accepted as an


standard.

EDIF is a means of communicating design

interna-

information

between systems, testing and production equipment in the microelectronic


industry
machinery,
tate

whose needs are quite different from those of


and other mechanical producers.

automative

BDI is designed to facili-

order processing shipping and receiving,

between separate firms [96].

the

invoicing,

and payments

145

6.2. Problems with Information and Human Resources


One
into

of the difficulties in assembling individual data set

modules

a complete common database system is the inconsistency and

dancy

of data structures.

Taking subtree structures as a

data structures can eliminate data inconsistency and


ever,

for

system,

an

handle.

redun-

subsystem's

redundancy.

entire system with so many variables involved in

Howa

CIM

data structure for the whole system would be too complex

Also,

a common database costs more,

to

and has a higher risk in

the cases of failure of file medium, file device, data protection and/or
data

security

processing
taining

than separate databases.

system,

A CIM system is

real-time

and the degree of difficulty in designing and main-

a real-time database is much higher than nonreal-tirae database.

Some argue that there is no need to have a common database at all, since
only parts of data are shared by any two-subsystems or modules.
there

Whether

should be a common database would be determined according to each

system's requirements and capabilities.


Human resources are
engineers

Many

software

are

needed.

Technology (IT) becomes an important field in system

because

system

engineers

working in the

field

techniques from electrical and electronic engineering,


neering,

more

with knowledge of system integration techniques

Information
neering

another problem in CIM.

of

CIM

engiuse

mechanical engi-

industrial engineering, computer science, information systems,

business administration and other application areas.

146

6.3. Contributions of This Research


This

research

recognizes the wide-ranging and

complex

scope

of

issues involved in designing and implementing a CIM system, and provides


an approach for analysis and design of CIM information systems.
The

results

includes

of the case study shows that although

all four types of information:

data

no

structures,

methodology
data

flow,

functional structures, and process flow, good system analysis and design
methodology should provide as much information

as possible.

In Chapter 5, a comparison of the way in which each of the methodologies

represent

the

application systems indicates that there

is

no

single methodology which can describe all relevant aspects of the application systems.

Only PSL/PSA,

types of application systems,


structures are not represented.

SADT,

and HOS are suitable for all five

but the design is difficult because

data

This problem can be dealt with by using

another method to recognize structure clashes, which demonstrates that a


combination of methodologies generally can make analysis and design of a
system more complete.

6.4. Summary of Characteristics


In
design

Chapter

5,

Table 3 summarizes the characteristics

methodologies

in terms of complexity, structure mechanism (data

structures, data flow,


position

(decoupling

mechanism

(logical

characteristics

applied to

functional structures, and process flow), decomand

and

structure clash
data flow).

recognition),

Table 4

summarizes

applied to application systems in terms of

and

control

these

same

complexity.

147

structure mechanism
tures),

control

(cohesion

(functional structures,

process flow,

mechanism (logical and data flow),

and coupling).

and

These two tables show that each

data struc-

decomposition
application

system

and methodology has its own characteristics; combining these two

tables

indicates

which methodologies are likely to be suitable

for

specific application system.


Based
which

on

pseudocode written for the Flexible

is studied in Chapter 4,

available

Manufacturing

Cell

information

made

the relationship the

by the system design and the information used in the

of program development is evaluated.

The result shows that some analy-

sis and design methodologies with a closer fit in terms of


tics

provide

more pertinent information about the system,

easier development of program than other methodologies.


confirms
select

the
an

process

characterisleading

to

This conclusion

third hypothesis that the characteristics can be used

analysis and design methodology capable of providing

to

system

specifications for software development and implementation.


This
assumptions

research is the first to point out that,


a

methodology

found to be suitable

system may not necessarily be suitable for another.

contrary to
for

one

common

application

Other contributions

of this paper include:


. it

investigates

the most common methodologies and

reclassifies

them into nine methodologies (the classifications in the

litera-

ture are not unique).


. it

integrates the

technologies of

manufacturing and production

in terms of information system theories.

148

. it

provides

a set of criteria for evaluation of nine methodolo-

gies and applies them to current CIM application systems.


. it provides a method for choosing and combining methodologies for
an application system.
. it

provides

an approach leading from system design

to

program

development.
. it

provides a framework for implementing a FMC in a multitasking

environment.

6.5. Recommendations for Further Research


The

field of system analysis and design still lacks

cally-based methodology;
when

designing,

although

the

scientifi-

it is still possible to reduce trial and error

installing,

assumptions

testing,

and maintaining a

made by each methodology are

CIM

not

system,
provable.

Designing is problem solving, dependent on each individual's ability and


thinking behavior.

Designers produce designs, methods do not.

problem,

well suited to a particular technique,

although

A design

will

always

have some quirk which makes it unique.


Considerable

ambiguity remains in Information Technology (IT)

system analysis and design methodologies.

and

Further research is suggested

in the following areas:


. clearly

defining principles,

procedures,

and rules on how

and

when to decompose a system into subsystems.


. defining rules to

determine the relationship between two objects

(functions or data).
. determining the complexity that a methodology can handle.

149

. quantifying the criteria of methodologies as much as possible.


. automating

the

methodologies as much as possible,

allowing the

methodologies to check data consistency and completeness.


. determining the relationship between design and program

develop-

ment.
. providing

industrial standards for hardware and software

face to reduce incompatibility and complexity problems.

inter-

BIBLIOGRAPHY

1. Acree, Elaine S. Part And Tool Scheduling Rules For A Flexible


Manufacturing System. A dissertation in the Industrial Engineering
Department of Texas Tech University, December, 1983.
2. Adlard, Edward and Vogel, Steven. "The Autoplan Process Planning
System'*, Production And Inventory Management, third quarter, 1982.
3. Akella, R., Choong, Y. and Gershwin, S. B. Performance Of Hierarchical Production Scheduling Policy, Laboratory for Information and
Decision Systems, Massachusetts Institute Of Technology, February,
1984.
4. Albus, J. S., Simpson, J. A., and Hocken, R. J. "The Automated
Manufacturing Research Facility Of The National Bureau Of Standards", Journal Of Manufacturing Systems, Vol 1, No. 1, 1982.
5. Alford, Mack W. "A Requirements Engineering Methodology For RealTime Processing Requirements", IEEE Transactions On Software Engineering, January, 1977.
6. Alfred, Mack W. "Software Requirements Engineering Methodology
(SREM) At The Age of Four", Tutorial; Software Design Strategies,
IEEE Computer Society, 1980.
7. Ammar, M. and Gershwin, S. "Reliability In Flexible Manufacturing
Systems", IEEE Transactions On Software Engineering, 1979.
8. Anderson, Carol A.
nology, Fall 1984.

"AUTOFACT

Returns To

Anaheim",

9. Appleton, Daniel S. "Building A CIM Program", A


For CIM Implementation, CASA of SME, 1985.

CAD/CAM

Tech-

Programmer

Guide

10. Aral, Y., Hata, S., Imakubo, T., and Kikuchi, K. "Production Control System Of Microcomputers Hierarchical Structure For FMS", Proceedings Of 1st International Conference on FMS, October, 1982.
11. Asano, K., Oboshi, S., Takeyama, H., and Sawada, K. M. "Development
of Programmable Precision Manufacturing Systems (PPMS) For Small
Lot Production", Proceedings of Ist International Conference on
FMS, October, 1982.

150

151
12. Asirelli, P., Degano, P., Levi, G., Martelli, A., Montanari, U.,
Pacini, G., Sirovich, F., and Turini, F. "A Flexible Environment for
Program Development Based on A Symbolic Interpreter", IEEE Preceedings 4th International Conference on Software Engineering, IEEE
September, 1979.
13. Ayoub, Mahmoud A. and Babur M. Pulat. "A Computer-Aided Panel Layout Procedure for Process Control Jobs
LAYGEN", lEE Transactions, Vol. 17, No. 1, 1985.
14. Babb, Michael. "Factory Automation 1986: Riding On The Systems
Integration Skyrocket", Control Engineering, May, 1986.
15. Bakanau, Frank E. Implementation And Maintenance Of A Parts Coding
And Classification System. Coding And Classification Workshop,
Arlington, Texas, June, 1975.
16. Baker, James. A. "Winning Your Case for Automation", Manufacturing
Engineering, July, 1984.
17. Bamhart, Joseph. "Designing With the Help
Technology, Fall 1984.

of Solids", CAD/CAM

18', Barash, M. M. and Gupta, S. M. Computer-Aided Selection Of Machining Cycles And Cutting Conditions On Multistation Synchronous
Machines, School of Industrial Engineering, Purdue University,
August, 1977.
19. Barash, M. M., Nof, S. Y., and Solberg, J. J. "Operational Control
Of Item Flow In Versatile Manufacturing Systems", International
Journal of Production Research, 1970, Vol. 17, No. 5.
20. Barfield, W., Hwang, S. L., Chang, T. C , and Salvendy, G. "Integration of Humans and Computers In The Operation and Control of
Flexible Manufacturing Systems", International Journal of Production
Research, 1984, Vol. 22, No. 5.
21. Barnes, Bruce H. and Metzner, John R. Decision Table
Systems, Academic Press, 1977.

Languages and

22. Bassett, Paul. "Design Principles For Software Manufacturing


Tools", ACM 1984 Annual Conference Proceedings, ACM, October, 1984.
23. Bastani, F., Ramamoorthy, C , Mok, Y., Chin, G., and Suzuki, K.
"Application of A Methodology For The Development and Validation of
Reliable Process Control Software", IEEE Transactions On Software
Engineering, Vol. SE-7, No. 6, November 1981.
24. Bell, T. E., Bixler, D. C. and Dyer, M. E, "An Extendable Approach
to Canputer-Aided Software Requirements Engineering", Tutorial On
Software Design Techniques, IEEE Computer Society, 1984.

152

25. Bergland, G. D. "Structured Design Methodologies", Tutorial: Software Design Strategies. IEEE Computer Society, 1980.
26. Bergstrom, Robin P. "Computer-aided SQC Makes Impact
Manufacturing Engineering, May, 1985.
27. Bergstrom, Robin P. "FMS: The Drive
Engineering. August, 1985.

Toward

at

Pontiac",

Cells", Manufacturing

28. Berry, D. M., Leveson, N. G., and Wasserman, A. I. "BASIS: A Behavioral Approach To The Specification Of Information Systems",
Tutorial On Software Design Techniques. IEEE Computer Society, 1984.
29. Biermann, Alan W. and Guiho, Gerard. Computer Program
Methodologies. D. Reidel Publishing Company, 1983.
30. Birrell, N. D. and Ould, M. A. A Practical Handbook
Development, Cambridge University Press, 1985.

Synthesis

For

Software

31. Black, J. T. "Cellular Manufacturing Systems Reduce Setup Time,


Make Small Lot Production Economical", IE Transactions, November,
1983.
32. Booch, Grady. "ObjectOriented Design",
Design Techniques, Computer Society, 1984.

Tutorial

On

Software

33. Boothroyd, G. "Econonics Of Assembly Systems", Journal Of Manufacturing Systems, Vol 1, No. 1, 1982.
34. Booth, Grayce M. The Design of Complex Information
CCTMDon Sense Methods for Success, McGraw-Hill, I983.

Systems

35. Borowicz, Vincent F. Code Group Technology Classification System,


Coding And Classification Workshop, Arlington, Texas, June, 1975.
36. Boucher, Thomas 0. and Muckstadt, John A. "Cost Estimating Methods
For Evaluating The Conversion From A Functional Manufacturing Layout
Group Technology", lEE Transactions, Vol. 17, No. 3, 1985.
37. Brooks,
1975.

Frederick P., Jr.

The Mythical Man-Month,

Addison-Wesley,

38. Brown, E. "Modular Work Stations Provide Flexibility For Changing


Demands In Manufacturing Setups", IE Transactions, March, 1984.
39. Bruce, Phillip and Pederson, Sam
Project. John Wiley & Sons, 1982.
40. Bryce, A. L. and Roberts, P. A.
U. S. A.", Proceedings Of 1st
October, 1982.

M.

The

Software

Development

"Flexible Machining Systems In The


International Conference On FMS,

153

41. Bunnag, Panit and Smith, Spencer B. "A Multifactor Priority Rule
For Jobshop Scheduling Using Computer Search", lEE Transactions,
Vol. 17, No. 2, 1985.
42. Burgam, Patrick. "FMS Control:
Technology, Summer 1984.

Covering All The

Angles",

CAD/CAM

43. Burgam, Patrick. "Will CAPP Technology Replace The Planner?",


CAM Technolof^y. Winter 1984.

CAD/

44. Buzacott, J. A. "Flexible Manufacturing Systems: A Review Of Models


Models", TIMS/ORSA Detroit Meeting. April, 1982.
45. Buzacott, J. A. "The Fundamental Principles Of Flexibility In Manufacturing Systems", Proceedings Of 1st International Conference On
FMS, October, 1982.
46. Buzacott, J. A. and Shanthikumar, J. G. "Models For Understanding
Flexible Manufacturing Systems", AIIE Transactions, December 1980,
Vol. 12, No.4.
47. Buzacoot, J. A. "Optimal Operating Rules for Automated Manufacturing Systems", IEEE Transactions on Automatic Control, Vol AC-27,
~ No.1, Fabuary, 19^2^
48. Carlson, Robert C. and Rosenblatt, Meir J. "Designing a Production
Line To Maximize Profit", lEE Transactions, Vol. 17, No.2, 1985.
49. Case, P. W., Correia, M., Gianopulos, W., Heller, W. R., Ofek, H.,
Raymond, T. C , Simek, R. L., and Stieglitz, C. B. "Design Automation In IBM", IBM Journal Research Development, Vol. 25, No. 5,
September, 1981.
50. Cavagnaro, F., Manara, R., and Giuffre, 0. "A Generalized Approach
To The Problem Of FMS On-Line Management", Proceedings of 1st International Conference on FMS, October 1982.
51. Chan, H. M. and Milner, D. A. "Direct Clustering Algorithm For
Group Formation In Cellular Manufacture", Journal Of Manufacturing
Systems, Vol. 1, No. 1, 1982.
52. Chang, Tien-Chien and Wysk, Richard A. "CAD/Generative Process
Planning With TIPPS", Journal Of Manufacturing Systems, Vol. 2, No.
2, 1983.
53. Chen, P. H. and Talavage, J. "Production Decision Support System
For Computerized Manufacturing Systems", Journal Of Manufacturing^
Systems, Vol. 1, No. 2, 1982.

154
54. Chester, Daniel L. and Yeh, Raymond T. "Software Development By
Evaluation Of System Designs", Tutorial; Software Methodology,
Computer Society, 1984.
55. CIM Design Rules, Society of Manufacturing Systems, 1986.
56. CIM

Programmer Guides, Society of Manufacturing Systems, 1986.

57. "CIM; Unlocking The Benefits", Design News, July 7, 1986.


58. "CIM The Foundation For Factory Automation", Production Engineering, May, 1986.
59. Claybourn, B. H. and Hewit, J. R. "Simulation Of Activity Cycles
For Robot Served Manufacturing Cells", Proceedings of 1st International Conference on FMS, October, 1982.
60. C.N.R.S., Chercheur au and Dupont-Gatelmand, Catherine. "A Survey
Of Flexible Manufacturing Systems", Journal of Manufacturing Systems, Vol. 1, No. 1, 1982.
61. Colburn, Tim and Giddings, Nancy. "An Automated Software Design
Evalutor", ACM 1984 Annual Conference Proceedings, ACM, October,
1984.
62. Cole, John R. and Flowers, A. Dale. "An Application Of Computer
Simulation To Quality Control In Manufacturing", lEE Transactions,
Vol. 17, No. 3, 1985.
63. Colter, M., Couger, D., and Knapp, R. Advanced System Development/
Techniques, John Wiley & Sons, 1982.
64. Constantine, L. L., Stevens, W. P., and Myers, G. J. "Structured
Design", Tutorial; Software Methodology, IEEE Computer Society,
1984.
65. Cook, Nathan H. "Computer-Managed Parts Manufacture", AIIE Transactions, Vol. 12, No. 4, December, 1980.
66. Cook, S. D. and Harkrider, F. E. "Next Level of Control", Flexible
Manufacturing Systems '86 Conference Papers, CASA of SME, March,
1986.
67. Cutkosky, M. R., Fussell, P. S., Milligan, R., Jr. "The Design Of A
Flexible Machining Cell for Small Batch Production", Journal of
Manufacturing Systems, Vol 3/No.l.
68. Daniels, Alan and Yeates, Don. Design and Analysis of Software Systems, Petrocelli Books, 1983.

155
69. Darrow, William P. Group Scheduling In A Manufacturing Resource
Planning Environment. A dissertation in the Industrial Engineering
Department of Pennsylvania State University, August, 1980.
70. Dar-Ei, Ezey M. and Wysk, Richard A. "Job Shop Scheduling A Systematic Approach", Journal Of Manufacturing Systems, Vol. 1, No. 1.
1982.
71. Davis, Carl G. and Vick, Charles R. "The Software Development System", IEEE Transactions on Software Engineering, Vol. SE-3, No. 1,
January, 1977.
72. Deisenroth, M. P. and Galgocy, C. B. "FMS Simulation For Software
Development", Flexible Manufacturing Systems '86 Conference
Papers, CASA of SME, March, 1986.
73. Dickinson, Brian. Developing Structured Systems, Bank of American
National Trust and Saving Association, 1980.
74. Dickover, M. E., McGowan, C. L., and Ross, D. T. "Software Design
Using SADT", Tutorial: Software Design Strategies, IEEE Computer
Society, 1980.
75.^ Drexel, P. "Modular Flexible Assembly System 'FMS* From BOSCH".
Proceedings of Ist International Conference on FMS, October, 1982.
76. Drozda, Thomas. "Unattended Manufacturing More Than Just Talk".
Manufacturing Engineering, July, 1984.
77. EiMaraghy, H. A. "Simulation And Graphical Animation Of Advanced
Manufacturing Systems", Journal Of Manufacturing Systems, Vol. 1,
No. 1, 1982.
78. Eversheim, W. and Herrmann, P. "Recent Trends in Flexible Automated
Manufacturing", Journal of Manufacturing Systems, Vol. 1, No. 2,
1982.
79. Farber, David. Information Systems Engineering
versity of Delaware, Technical Report No. 86-04.
80. Farnum, Gregory T. "CIM The Tools Are At
Engineering, October, 1985.

Perspectives, Uni-

Hand", Manufacturing

81. Freeman, P. "Requirements Analysis And Specification: The First


Step", Tutorial On Software Design Techniques, IEEE Computer Society, 1984.
82. Gane, Chris and Sarson, Trish. Structured Systems AnaU-ysis: Tools
And Techniques, Improved System Technologies, Inc. 1979.

156
83. Gannon, J. D., Zelkowitz, M. V., and Shaw, A. C. Principles Of
Software Engineering and Design. Prentice-Hall, 1979.
84. Garcia, Gary. "Manufacturing Information Management", Manufacturing
Engineering. Februray, 1981.
85. Gershwin, Stanley B. and Kimemia, Joseph. "An Alogrithm for the
Computer Control of a Flexible Manufacturing System", H E Transactions , December, 1983.
86. Gerwin, Donald. "Control and Evaluation in the Innovation Process:
The Case of Flexible Manufacturing Systems", IEEE Transactions On
Engineering Management. Vol. EM28, No.3, August, 1981.
87. Ghezzi, Carlo and Jazayeri, Mehdi. Programming
John Wiley & Sons, Inc., 1982.

Language Concepts,

88. Glossop, R. and Morgan, C. "Flexible Manufacturing Systems, The DNC


Approach To Small Batch Robot PaintShop Working", Proceedings of Ist
International Conference on FMS, October, 1982.
89. Goldbar, Joel T. and Jelinek, Mariann. "Planning for Economies of
Scope", Harvard Business Review, November/December, 1983.
90. Golden, R. L., Latus, P. A., and Lowy, P. "Design Automation And
The Programmable Logic Array", IBM Journal of Research Development,
Vol. 24, No.1, January, 1980.
91. Ganam, Hassan. "Computer Integrated Manufacturing Archetecture of
FMS", Flexible Manufacturing Systems '86 Conference Papers, CASA
of SME, March, 1986.
92. Gondert, Stephen J. "Understanding The Impact Of Computer-integrated
Manufacturing", Manufacturing Engineering, September, 1984.
93. Greene, Timothy J. and Sadowski, Randall P. "Cellular Manufacturing
Control", Journal Of Manufacturing Systems, Vol 2, No. 2, 1983.
94. Griffiths, S. N. "Design Methodologies ~ A Comparison", Tutorial;
Software Design Strategies, IEEE Computer Society, 1980.
95. Gustavsson, Sten-Olof. "Flexibility and Productivity in Complex
Production Processes", International Journal of Production Research,
1984, Vol. 22, No. 5.
96. Hales, H. L. "The Importance Of Standards", A Programmer Guide For
CIM Implementation, CASA of SME, 1985.
97. Hankins, Steven L. Balancing Job Shops With Alternative Machine
Routings, Manufacturing Systems Division, Cincinnati Milacron, Inc.,
November, 1984.

157
98. Harp, Jim. "CAD/CAM:
October, 1985.

Back to Basics", Manufacturing Engineering,

99. Hegland, Donald E. "CAD/CAM Integration Key To The Automatic


Factory", Production Engineering. August, I98I.
100. Hegland, Donald E. "Flexible Manufacturing Productivity and Your
Balance Between Adaptability", Production Engineering, May, 198I.
101. Heninger, Kathryn L. "Specifying Software Requirements for Complex
Systems; New Techniques and Their Application", Tutorial On Software Design Techniques. IEEE Computer Society, 1984.
102. Henry, Sallie and Kafuar, Dennis. "Software Structure Metrics
Based Information Flow", IEEE Transactions on Software Engineering,
September 1981.
103. Hershey, Ernest A., Ill and Teichroew, Daniel. "PSL/PSA; A Computer-Aided Technique for Structured Documentation and Analysis as
Information Processing Systems", IEEE Transactions on Software
Engineering. January, 1977.
104. Hildbrant, R. R. and Suri, R. "Methodology and Multi-Level Algorithm Structure for Scheduling and Real-Time Control of Flexible
Manufacturing Systems", AIIE Transactions, Vol. 12, No.4, December,
1980.
105. Kitchens, Max W. "Simulation: The Key To Automation Without Risk",
CAD/CAM Technology, Fall 1984.
106. Ho, G. S. and Ramamoorthy C. V. "A Design Methodology For User
Oriented Computer Systems", Tutorial; Software Methodology, IEEE
Computer Society, 1984.
107. Holland, J. R., editor. "Flexible Manufacturing Systems", Transactions Of The Society Of Manufacturing Engineers, 1984.
108. Hopkins, Albert L., Jr. "Fault Tolerance in Flexible Manufacturing
System Control", Flexible Manufacturing Systems *86
Conference
Papers, CASA of SME, March, 1986.
109. Hutchinson, George K. "Advanced Batch Machining Systems", Transactions of the Numerical Society, March, 1979.
110. Hutchinson, George K. "The Economic Value of Flexible Automation",
Journal of Manufacturing Systems, Vol. 1, No. 2, 1982.
111. Hutchinson, George K. "Flexibility Is Key To Economic Feasibility
Of Automating Small Batch Manufacturing", IE Transactions. June,
1984.

158
112. Hutchinson, George K. and Wyner, Bayard F. "A Flexible Manufacturing System", IE Transactions, December, 73.
113. Hutchinson, George K.
"Production Capacity;
Line", IE Transactions. September 1976.

CAM

vs. Transfer

114. Hutchinson, G. K., Passler, E., Rudolph, K., and Stanek, W. "Production System Design; A Directed Graph Approach", Journal Of Manufactuirng Systems, Vol 2, No. 2, 1983.
115. IBM Corporation. "Structured Walk-Throughs: A Project Managment
Tool", Tutorial; Software Design Strategies, IEEE Computer Society,
1980.
116. Inaba, Hajimu and Sakakibara, Shinsuke. "Flexible Unmanned Assembly Cells With Robots", Proceedings Of 1st International Conference
On FMS, October, 1982.
117. Issak, James. "Designing
Byte, April, 1984.

Systems For

Real-Time Applications",

118. Jackson, M. A. "Constructive Methods Of Program Design", Tutorial


On Software Design Techniques, IEEE Computer Society, 1984.
119. Jensen, Howard and Vairavan, K. "A Comparative Study of Software
Metrics For Real Time Software", IEEE, 1982, CHI18101/82/0000/0096.
120. Johnson, R. Colin. "Special Report Automated Software Development
Eliminates Application Programming", Electronics, June, 1982.
121. Kay, J. M. and Walmsley, A. J. "Computer Aids For The Optimal
Design of Operationally Effective FMS", Proceedings of 1st International Conference on FMS, October, 1982.
122. Kirkham, J. A. and Thomas, R. J. "Structured System Analysis And
The Problem Statement Language (PSL) As A Combined Methodology In
The Teaching Of System Analysis And Design", ACM 1981 Annual Conference Proceedings, ACM, November 1981.
123. Krauskopf, Bruce. "Automation at Renault", Manufacturing Engineering, May, 1984.
124. Kumar, Vipin. "Integrating Knowledge In Problem Solving Search
Procedures", ACM 1984 Annual Conference Proceedings, ACM, October,
1984.
125. Kusiak, Andrew. "Design of Flexible Manufacturing Systems", Flexible Manufacturing Systems '86 Conference Papers, CASA of SME,
March, 1986.

159

126. Kuttner, B. C. and Lachance, M. A. "Solving The CAD Surface


, Transfer Problem", Manufacturing Engineering, October, 1985.
127. Langefors, Borje. Theoretical
Auerbach Publishers Inc. 1973.

Analysis

Of

Information

128. Lee, Barry. Introducing Systems Analysis and


National Computing Centre Limited, 1978.

Design,

Data

Systems,

Vol.1,

The

129. Leer, P. "Top-Down Development Using A Program Design Language",


Tutorial; Software Design Strategies, IEEE Computer Society, 1980.
130. Lenkins, Renneth M. and Raedels, Alan R. "The Robot Revolution;
Strategic Considerations For Managers", Production And Inventory
Management. third quarter, 1982.
131. Lenz, J. E. and Talavage, J. J. General Computerized Manufacturing
Systems Simulator, A dissertation of school of Industrial Engineering, Purdue University, August, 1977.
132. Lerro, Joseph P., Jr. "CAD/CAM System:
Revolution", Design News, 11-16-1981.

Start Of The

Productivity

'133. Leung, Lawrence C. and Tanchoco, Jose M. A. "Replacement Decision


Based On Productivity Analysis An Alternative To The MAPI
Method", Journal Of Manufacturing Systems, Vol 2, No. 2, 1983.
134. Lineback, J. Robert. "Logic Simulation Speeded With New
Hardware", Electronics, June, 1982.

Special

135. Lock, J. D. Sime, A. W., and Young, A. R. "A Pallet-Based Flexible Manufacturing System For Automated Small Batch Production",
Proceedings of Ist International Conference on FMS, October, 1982.
136. Lukas, Michael P. and Scheib, Thomas J. "How Microprocessors Control
Process Systems", Production Engineering, August, 1981.
137. Mandelbaum, M. Flexibility In Decision Making: An Exploration And
Unification, A dissertation. Department of Industrial Engineering,
University of Toronto, 1978.
138. Marcellus, Daniel H. Systems
Prentice-Hall, Inc., 1984.

Programming

For

Small

Computers.

139. Marshall, Peter. "The Prospects for FMS in UK Industry", Proceedings of 1st International Conference on FMS, October, 1982.
140. Martin, James. System
Prentice-Hall, 1985.

Design Fr<xa

Provably

Correct

Constructs,

160

141. Martin, James and McClure, Carma.


ting, Prentice-Hall, Inc. 1985.

Structured Techniques For Compu-

142. McCabe, Thomas. "A Complexity Measure", IEEE Transactions On Software Engineering. Vol. SE-2, No.4, December, 1976.
143. McRoberts, Keith L. and Vaithianathan, Raj. "On Scheduling in A GT
Environment", Journal of Manafacturing Systems, Vol.1, No.2, 1982.
144. Mc/lroy, Kenneth D. PRAGMA
PRAGMA Applications, 1982.

The Simplistic Computer Application,

145. Meister, Ann E. "Ironing Out The Rough Spots Between CAD and CAM",
CAD/CAM Technology, Fall 1984.
146. Mertins, K. and Spur, G. "Flexible Manufacturing Systems In Germany, Conditions And Development Trends", Proceedings of 1st International Conference on FMS, October, 1982.
147. Miller, C. P. "The Design Of Software For A ComputerControlled
Robot Paint Spraying Shop", Proceedings of 1st International Conference on FMS, October 1982.
'148. Miller, Richard K. "Artificial Intelligence: A New Tool for Manufacturing", Manufacturing Engineering, April, 1985.
149. Minton, Gene. "The Case for Continuing Education in CIM", Manufacturing Engineering, August, 1985.
150. Montag, Alfred C. "Flexible Automation for Highvolume
tion", Manufacturing Engineering, November, 1984.

Produc-

151. Morin, Thomas L. and Stecke, Kathryn. Optimality of Balanced Workloads in Flexible Manufacturing Systems, Graduate School of Business Administration, The University of Michigan, January, 1982.
152. Morley, Bradford C. "Mechanical Product Design With Computer-aided
Engineering", Manufacturing Engineering, September, 1984.
153. Musselman, Kenneth J. "Computer Simulation: A Design Tool For FMS",
Manufacturing Engineering, September, 1984.
154. Napierala, Elizbieta. An Investigation Of Parts Flow In The Flexible Manufacturing System, A dissertation in the Industrial Engineering Department of Texas Tech University, May, 1983.
155. Nestman, Chadwick H. and Windsor, John C. "Decision Support Systems: A Perspective for Industrial Engineers", H E Transactions.
Vol. 17, No. 1, 1985.

161

156. Nof, Shimon Y. and Seidmann, Abraham. "Unitary Manufacturing


Design With Rando Product Feedback Flow", lEE Transactions,
17, No. 2, 1985.
157. Ogorek, Michael. "CNC Standard
ring^. January, 1985.

Formats", Manufacturing

Cell
Vol.

Enginee-

158. Ogorek, Michael. "Interactive Graphics and Conversational Programming", Manufacturing Engineering, January, 1985.
159. Ogorek, Michael. "Workholding in the
turing Engineering. July, 1985.
160. ORAC CNC Teachers
Yorkshire.

Manual,

Denford

Flexible

Machine

System",

Tools

161. ORAC Programming Instruction And Maintenance


Machine Tools Limited, West Yorkshire.

Manufac-

Limited,

Manuad,

West

Denford

162. Orr, Kemmeth T. "Introducing Structured Systems Design", Tutorial:


Software Design Strategies, IEEE Ccanputer Society, 1980.
163. Owles, V. Arthur and Powers, Michael J. "Structured Systems Analy~ sis Tutorial", ACM 1981 Annual Conference Proceedings, ACM, November, 1981.
164. Parnas, D. L. "On the Criteria To Be Used In Decomposing Systems
Into Modules", Tutorial; Software Methodology, IEEE Computer Society, 1984.
165. Parnas, D. L. "A Technique for Module Specification
Examples", Communications of the ACM, No. 155, May, 1972.

with

166. Peklenik, Janez. "Report On CIRP International Seminars On Manufacturing Systems", Journal Of Manufacturing Systems, Vol 1, No.
1, 1982.
167. Peters, Lawrence J. and Tripp, Leonard L. "Comparing Software
Design Methodologies", Tutorial: Software Design Strategies, IEEE
Computer Society, 1980.
168. Peterson, Rein and Silver, Edward A. Decision System, For Inventory Mainagement And Production Planning, John Wiley & Son, 1985.
169. Purdom, Peter B. and Palazzo, Tony. "The Citroen (CCM) Flexibl
Manufacturing Cell", Proceedings of 1st International Conference
On FMS, October, 1982.
170. Rapps, Sandra euid Weyuker, Elaine. "Data Flow Analysis Techniques
For Test Data Selection", IEEE Transactions On Software Engineering, 1982.

162

171. Ross, Douglas T. "Structured Analysis (SA); A Language For Communicating Ideas", Tutorial On Software Design Techniques, IEEE
Computer Society, 1984.
172. Ross, Douglas T. and Schoman, Kenneth E., Jr. "Structured Analysis
For Requirements Definition", Tutorial On Software Design Techniques, IEEE Computer Society, 1984.
173. Schmitt, Lee E. "PC Versus CNC ~ Which Do You Choose ?". IEEE
Transactions On Industry Applications, September/October, 1984.
174. Schaefer, Thomas J. "Modular Approach To CIM; Integrate Your
Factory In Pieces", Production Engineering, April, 1986.
175. Schweitzer, Paul J. and Seidman, Abraham. Part Selection Policy
For A Flexible Manufacturing Cell Feeding Several Production Lines,
University of Rochester, Department of Industrial Engineering and
Graduate School of Management, October, 1982.
176. Seidmann, Abraham and Schweitzer, Paul
Control of a FMS Cell", H E 1983 Annual
Conference Proceedings.

J. "Real-Time On-Line
Industrial Engineering

177". Shrensker, Warren L. "A Brief History Of CIM", A Programmer Guide


For CIM Implementation, CASA of SME, 1985.
178. Slautterback, William H. "Manufacturing in the Year
facturing Engineering, August, 1985.

2000", Manu-

179. Smart, H. G. "Least Cost Estimating With Group Technology", Journal Of Manufacturing Systems, Vol 1, No. 1, 1982.
180. South, Robert C.
Fall 1984.

"A Look At CAD Instruction", CAD/CAM Technology,

181. Sowa, John E. Conceptuea Structures : Information Processing In


Mind And Machine, Addison-Wesley Publishing Company, 1984.
182. Stauffer, Robert N.
logy, Summer 1984.

"Conmientaries on FMS Control", CAD/CAM Techno-

183. Stauffer, Robert N. "General Electric's CIM System Automates


Entire Business Cycle", CAD/CAM Technology, Winter 1984.
184. Stauffer, Robert N. "Graphic Simulation Answers
Productions", CAD/CAM Technology, Fall 1984.
185. Stauffer, Robert N.
June, 1984.

"Robot System

Preproduction

Simulation", Robotics Today^

163

186. Stay, J. F. "HIPO And Integrated Program Design", Tutorial


Software Design Techniques, IEEE Computer Society, 1984.

On

187. Stecke, Kathryn E. Production Planning Problems For Flexible Manufacturing Systems. Purdue University, August, I98I.
188. Stecke, Kathry E. "Formulation And Solution of Nonlinear Integer
Production Planning Problems for Flexible Manufacturing Systans",
Management Science, Vol. 29, No.3, March, 1983.
189. Steche, Kathryn E. and Solberg, James J. "Loading And Control
Policies For A Flexible Manufacturing System", International
Journal of Production Research, 198I, Vol. 19, No. 5.
190. Stecke, K. E. and Solberg, J. J. The Optimality Of Unbalanced
Workloads and Machine Group Sizes For Flexible Manufacturing
Systems, Graduate School of Business Administration, The University
of Michigan, January, 1982.
191. Stecke, K. E. and Solberg, J. J. Scheduling Of Operations In A
Computerized Manufacturing System,
A dissertation of school Of
Industrial Engineering, Purdue University, December, 1977.
192. Steinhilper, R. and Warnecke, H. "Flexible Manufacturing Systems;
New Concepts; EDP - Supported Planning; Application Examples",
Proceedings of 1st International Conference on FMS, October, 1982.
193. Suri, Rajan and Whitney, Cynthia K. "Decision Support Requirements
In Flexible Manufacturing", Journal of Manufacturing Systems, Vol.
3, No.1.
194. Tausworthe, Robert C. Standardized Development of
ware Part I & II. Prentice-Hall, 1977.

Computer

Soft-

195. Teague, Lavette, Jr. and Christopher Pidgeon. Structured Analysis


Methods For Computer Information Systems. Science Research Associaties. Inc. 1985.
196. Thomas, Tom. "Flexible Automated Manufacturing With ComputerControlled Robots Under Hierarchical Control: Requirements And
Benefits", Proceedings Of 1st International Conference On FMS.
October, 19^2^
197. Torri, Signer L.
"Flexible Manufacturing System; A
Approach", Proceedings of 1st International Conference
October, 1982.

Modern
on FMS,

198. Treywin, E. T. "Automatic Inspection And Control Of Products As


Part Of A Flexible System", Proceedings Of 1st International Conference on FMS, October, 1982.

164
199. TRIAC Manual. Denford
Feburary, I985.

Machine

Tools Limited, West Yorkshire,

200. United States Air Force Wright Aeronautical Lab. Integrated Computer-Aided Manufacturing (ICAM), United States, Air Force, 1981.
201. Varthianathan, Raj. On Scheduling In An GT Environment, A dissertation of school of Industrial Engineering, Purdue University.
202. Wang, Helen. An Experimental Analysis Of Flexible Manufacturing
System (FMS). Department of M.C., Pace University, November, 1984.
203. Wang, T. L. "Distributed System Provides An Ideal Environment For
Full Integration Of CAD And CAM", IE Transactions, November I98I.
204. Warneck, H. and Vettin, G. "Technical Investment Planning Of Flexible Manufacturing Systems
The Application Of Practice-Oriented
Methods", Journal Of Manufacturing Systems, Vol. 1, No. 1, 1982.
205. Watt, Douglas G. "Networking Software Support for FMS", Manufacturing Engineering. September, 1985.
206. Wechsler, Donald B. "Process Planning In Transition", CAD/CAM
Technology, Winter 1984.
207. Week, M. "Machine Diagnostics In Automated Production", Journal
Of Manufacturing Systems, Vol 2, No. 2, 1983.
208. White, John A. A Preliminary Investigation of Group Technology
Cells Using Simulation, School of Industrial and Systems Engineering, March, I98O.
209. Willamson, Donald. "3-D Simulation Smooths Out Shop Floor Materials Flew", Manufacturing Engineering, September, 1985.
210. Williamson, Donald. "CAD/CAM; Plotting the Impact of Shakeout",
Manufacturing Engineering, Oct. 1985.
211. Young, R. E. "Software Control Strategies For Use In Implementing
Flexible Manufacturing Systems", IE Transactions, November, I98I.
212. Yourdon, Edward. Techniques
Prentice-Hall, 1975.

Of

Program

Structure

And Design,

213. Yourdon Inc. "Top-Down Design And Testing", Tutorial; Software


Design Strategies, IEEE Computer Society, 198O.
214. Zisk, Burton. "Flexibility Is Key To Automated Material Transport
System For Manufacturing Cells", IE Transactions, November, 1983.

APPENDIX A
CNC MILL, TRIAC
The TRIAC is a product of Denford. The TRIAC is an extermely versatile continuous path, computer based programmable numerical control unit
designed to control via stepper motors a 3 axis milling machine. It can
moniter

auxiliary

programmable

input signals and give up

outputs. Integral

to

4 programmable

control unit memory stored typically

750

blocks, the magnetic tape system 3000 blocks,


(a). TRIAC

has the data keys 0 to 9, and the following function keys:

1. X; For X axis moves.


2. Y; For Y axis moves.
3. Z: For Z axis moves.
4. ENTER; When

keying in

display. After

information it is

verification

echoed first on the

the data is

then acceptance

pressing "Enter".
5. G;

For machine code G function selection.

6. M;

For machine code M function selection.

7. FEED; Input key for axes feeds.


8. E.O.B.; End of block or end of line of instructions.
9. CLW; For clockwise circular movements.
10. CCLW; For anticlockwise circular movements.
11. T; Selects tool selection/setting menu.

165

by

166

12. S;

Selects system software version and EPROM test.

13. REPEAT;
14. DWELL:

Select repeat facility up to 99 times and to 4 levels.


Selects

programmable dwell in the range of .1 to 9999.9

seconds.
15. MIRROR X;

The X axis can be mirrored in the program.

16. MIRROR Y;

The Y axis can be mirrored in the program.

17. AUX/INPUT;
closure

The Auxiliary function allows system to have 4 relay

outputs.

The

Input functions allows system monitor 4

external switches.
18. OFFSET;

Selects machine offset or program offset.

19. SCALE:

Movements inside or outside the program can

be

scaled

in the range from 0.01 to 650^.


20. PROG STOP;
21. RESET;

Selects a program stop during programming.

The

reset key is

used to reset frcxn or end the current

mode, to cancel the most recent entry, or to reset from an error


condition.
22. COMP;

Select tool radius compensation.

23. FLOAT DATUM:

Enables a selected position to be used as zero in

the X and Y axes only.


24. ABS DATUM:
25. LOAD/END;
26. EDIT

END;

To move machine to datum position.


To start loading or complete loading a program.
Permits full

editing

facilities to be

used on the

programmed sequence of instructions in memory and completes

the

edit.
27. DATA

LINK;

Selects

a data link to external equipment, e.g. an

external c<xiputer or printer.

167
28. ABS/INC; Selects

input

of data

in absolute or

incremental

format.
29. CASS;

Permits use of the cassette system.

30. BLOCK

SEARCH; To

enable program execution to commence from a

specific point in the program.


31. TPG END; Selects Tool Path Graphics facility.
32. INCH/MM;

Selects input of data in imperial or metric units.

33. SPINDLE +;

To manually increase the spindle speed.

34. SPINDLE -; To manually decrease the spindle speed.


35. SPINDLE FWD: To select forward rotation of spindle.
36. SPINDLE REV; To select reverse rotation of spindle.
37. OFF; To select spindle off.
38. DRIVE ON; This
and

to

key

supplies power to the stepper motor drives

the main machine after the

red STOP

key has been

released.
(b). TRIAC has the following modes;
1. M.D.I. (Manual Data Input);

This mode enables the system to be

controlled from the keyboard.


2. S. STEP; Single Step.
3. CYCLE: This mode enables a user program to be executed from the
current block to its end.
4. CASS;

Cassette unit operating.

5. EDIT.
6. PRINT.
7. RS232C.
8. TPG; Controller is in Tool Path Graphics mode.

168

(c). MACHINE codes (M functions and G codes);


M functions for use outside the program:
1. M03 Spindle Forward.
2. M04 Spindle Reverse.
3. M05 Spindle Stop.
4. M06 Tool Change.
5. M20 Auxiliaries.
6. M21 Inputs.
M functions available inside the program;
1. MOO Program Stop.
2. M02 End of Program.
3. M03 Spindle Forward.
4. M04 Spindle Reverse.
5. M05 Spindle Stop.
6. MO6 Tool Change.
7. M20 Auxiliaries.
8. M21 Inputs.
G codes for use outside the program;
1. GOO Rapid Traverse.
2. G01 Linear
3. G02 Circular CLW.
4. G03 Circular CCLW.
5. G04 Dwell.
6. G21 Machine Scale.
7. G33 Thread.
8. G40 Cancel Tool Comp.

9. G41 Cutter Comp Left.


10. G42 Cutter Comp right.
11. G55 Machine Offset.
12. G70 Imperial Units.
13. G71 Metric Units.
14. G80 Deactivate Cycle.
15. G90 Absolute Input.
16. G91 Incremental Input.
17. G9d Absolute Datum.
G codes for use inside the program;
1. G01 Linear.
2. G02 Circular CLW.
3. G03 Circular CCLW.
4. G04 Dwell.
5. G10 Mirror X.
6. Gil Cancel Mirror X.
7. G12 Mirror Y.
8. G13 Cancel Mirror Y.
9. G20 Program Scale (replaces G21).
10. G33 Thread.
11. G40 Cancel Tool Comp.
12. G41 Cutter Comp Left.
13. G42 Cutter Comp Right.
14. G54 Program Offset (replaces G55).
15. G70 Imperial Units.
16. G71 Metric Units.

170

17. G79 Re-enable Cycle.


18. G80 Deactivate Cycle.
19. G8l Repeat Function.
20. G82 Circular Cycle.
21. G83 Drilling Cycle.
22. G84 Rect-Lar Cycle.
23. G90 Absolute Input.
24. G91 Incremental Input.
25. G98 Absolute Datum.
26. G99 Floating Datum,
(d). Standard Equipments;
1. RS232C link to computer or printer.
2. Audio cassette deck.
3. Headphone outlet.
4. Audio instruction tape.
5. Installation, maintenance and instruction manual.
6. Spare part list.
7. Co-axial T.B. socket for V.D.U.
8. Maintenance tools.
9. Mini cassette for program storage.
10. Automatic lubrication system.
11. Halogen Lo-Vo light.
Extra equipments;
1. Spray mist coolant.
2. Quick change tooling.
3. Printer.

171
4. CAD/CAM

and off

line computer progranming for Apple, BBC and

IBM.
5. Robot with F.M.S.
(e). Example;
NI GOO RAPID TRAVERSE X 75.000 Y 40.000
N2 G82 CIRCULAR CYCLE RADIUS 10.000
Z
3.00
N3 G80 DEACTIVATE CYCLE
N4 GOO RAPID TRAVERSE X 75.000 Y 70.000
N5 G82 CIRCULAR CYCLE RADIUS
3.00
Z
3.00
N6 G80 DEACTIVATE CYCLE
N7 GOO RAPID TRAVERSE X 110.000 Y 88.000
N8 G84 RECT-LAR CYCLE X 11.000 Y 42.000
Z
3.000
N9 GOO RAPID TRAVERSE X 145.000 Y 88.000
N10 G80 DEACTIVATE CYCLE
Nil GOO RAPID TRAVERSE X 180.000 Y 88.000
N12 G84 RECT-LAR CYCLE X 11.000 Y 28.000
Z
3.000
N13 G80 DEACTIVATE CYCLE
N14 GOO RAPID TRAVERSE X 180.000 Y 71.500
5.000
N15 G83 DRILLING CYCLE Z
N16 GOO RAPID TRAVERSE X 145.000 Y 64.500
N17 GOO RAPID TRAVERSE X 110.000 Y 64.500
N18 GOO RAPID TRAVERSE X 110.000 Y 111.500
N19 GOO RAPID TRAVERSE X 145.000 Y 111.500
N20 GOO RAPID TRAVERSE X 180.000 Y 104.500
N21 G80 DEACTIVATE CYCLE
N22 GOO RAPID TRAVERSE X 200.000 Y 150.000

Z
0.000
F 200.0
F 100.0 CYCLE 3
Z
0.000
F 200.0
F 100.0 CYCLE 3
0.000
Z
F 200.0
F 100.0 CYCLE 3
Z
0.000
Z
0.000
F 200.0
F 100.0 CYCLE 3
Z
0.000
F 100.0 CYCLE 3
Z
0.000
Z
0.000
z 0.000
z 0.000
z 0.000

50.000

APPENDIX B
CNC LATHE, ORAC

ORAC is also a product of Denford.


pairs

ORAC will accept a maximum of 9

of tool offsets in its memory with a o (zero) tool

offset.

The

manufacutrures repeatable accuracy on clamping is 0.01 mm.


(a). ORAC has the following function keys;
1. D:

The DELETE key.

Used to delete selected data.

2. E;

The

Used in

gramming

ENTER key.

and is used to

conjunction

with

almost all pro-

confirm and transfer information

into

the memory.
3. F;

To

set.

quit from the offset routine and to remove the last tool
Failur

to do so could result in the

axis moving to

program datum and colliding with the work.


4. S;

To delete a character with the cursor under it.

5. P;

To insert a new page.

6. yP^;

To delete a page.

7. <t| ;

The PAGE FORWARD key.

8. i l ; The PAGE REVERSE key.


9. A ;

To move flashing cursor upwards.

10. V

^*^ move flashing cursor downwards.

11. ^ ;

To move flashing cursor to left.

12. > ;

To move flashing cursor to right.

172

the

173
13. .; Decimal point key.
14. -; Minus sign key.
15. PTP; Point to point operation. This instruction moves the tool
in either the X

(facing) or Z (turning) direction individually,

or X and Z directions simultaneously.


16. CIRC: Circular interpolation. This instruction enables ORAC to
cut in a circular motion.
17. THRD; Thread

Cutting. This instruction

provides a

threading

cycle for external and internal threads.


18. DWELL; Dwell
period

priod. This

to be programmed

instruction

allows a

between machining

timed

dwell

operations and

the

machine will remain stationary at its present position.


19. AUX I; Auxilliary

inputs. This instruction allows the program

to be halted between machining operations. The executing program


will

only proceed beyond this point if any of the 4 auxilliary

inputs programmed to receive


20. AUX 0;
4

Auxiliary

an input signal are activated.

outputs. This

instruction allows any of the

auxilliary output relays to be operated to

control

external

functions.
21. CALL: Call subroutine. This instruction allows a subroutine to
be called for execution.
22. SUB; Subroutine start. This instruction allows a subroutine to
be constructed and allocated an identity number.
23. END

SUB; End

subroutine

program. This

instruction ends the

subroutine. All functions entered between SUB and END SUB.

174

24. DO;

Start

do loop.

This

instruction is

used for

starting a

repetitive sequence.
25. END

DO;

End do loop.

This

instruction defines the end of the

main program.
26. INS/MM:

Units selection: inch or millimetres.

selects

the

This instruction

units for subsequence program pages.

Alternative

depression of the key changes the units from inch to millimetres


to inch etc.

Ensure that the units for the program are selected

at either block 1 or 2.
27. INS/ABS:
the

Incremental/absolute format.

program

depression
INC etc.

format for

subsequent

This instruction selects

program

of the key changes the format

pages.

from INC.

Alternate
to ABS

to

Ensure that the format for the program is selected at

either block 1 or 2.
28. PROG/DATUM;
nates
always

of

Program Datum.

This instruction allows the coordi-

the program datum to be entered and these values

taken from the centre line of the spindle on X and

the end of the workpiece on Z.

are
from

Incremental may have been selec-

ted for the format the program datum should always be entered in
block 3 and entered in the units previously selected in block

or 2.
29. START;

Starts the operating sequence when executing a

program.

Ensure before starting a program that the spindle is running.


30. STOP;
To

To stops the operating sequence when executing a program.

restart

the program press the

square

green

start button.

Inputs positional information for Zo plane and X DIA.

When used

175

as instructed in the tool offset setting up


operating

mode.

Stop

sequence and returns to either the main menu

manual
or

the

tool offset menu.


31. MAIN;

Allows

execution

of

selection of

manual

axis control once automatic

a program has been stopped using the

square

red

stop key.
32. The 'Hand' Sign:
three options:

Once operating under manual operation you have


1) The first feed indicated under manual

tion is fast feed.

This is indicated in the

corner of the screen.


inches/min

The fast

or 1200 mm/min.

feedrate will change from fast to slow.


inches/min
will

or

150 mm/min.

bottom right hand

feedrate is a rapid
2) If you

opera-

depress

move at 47

this

key the

The slow feedrate is 6

3) A further depression of the

change the feedrate to step.

key

This is a JOG of 0.01 mm

or

0.0004 inches.
33. A and V
upwards

: X traverse,

in and out.

Press the

key

pointing

to move the tool towards the centre line of the spindle

and downwards to move the tool away from the centre line.
34.

and

ting to

>

Z traverse,

left and right.

Press the key poin-

the left to move the tool towards the chuck and to

the

right to move away from the chuck.


35. FEEDRATE OVERIDE
program,

MINUS;

reduces

When

operateed during

the axis feed in operation at that time

its programmed value to some lower value.


from

0% to 110%.

units of ten.

execution of a
from

The overide range is

The display only indicates the feedrate

in

176
36. FEEDRATE

OVERIDE

PLUS: When

operated

during execution of a

program, increases the axis feed in operation at that time from


its programmed value to one higher value.
37. SPINDLE SPEED MINUS:
program, reduces

When

operated during the execution of a

the spindle speed from the programmed

38. SPINDLE SPEED PLUS:

When

operated

during the

value.

execution of a

program, increases the spindle speed from the prograimned value.


39. GREEN BUTTON: Starts spindle.
40. RED BUTTON: Stops spindle.
41. EMERGENCY STOP; Stops both spindle and axis drives.
42. RESET

button

on

the RIGHT

HAND

situated below the cassette: To


stage

during

memory.

SIDE of

the

control

panel

return to the main menu at any

a program build up or execution without

loss of

If depressed during the execution of the program it is

advisable to reset tool 0 (zero) again.


43. RESET button below the MANUAL CONTROLS: For resetting the limit
switches on the axes of the machine.

Depress the RESET button

and hold, while at the same time depress the axis jog

button to

move the axis away from the limit switch.


(b). ORAC has the following modes:
1. M.D.I. (Manual Data Input):

This mode enables the system to be

controlled from the keyboard.


2. S. STEP: Single Step.
3. Cassette unit operating.
4. EDIT.
5. PRINT.

177
6. RS232C.
(c). ISO 646 codes and addresses:
The programm is composed of blocks, separated from one another by
an

asterisk or the letters CR (Carriage Return).

Each block

contains

words. A Word Address system is used. Words are begun with the address
letter. For example,
N;

Block number, 3 digits.

X;

Operative X axis co-ordinate point.

Z; Operative Z axis co-ordinate point.


F; Feedrate.
S; Rotational speed function.
T;

Tool number.

G:

Preparatory function, 2 digits.

1. GOO; Positioning of the axis slides or spindle

at rapid tra-

verse rate.
2. G01; Linear interpolation.
3. G02; Circular arc interpolation follows a CW (Clockwise) path.
4. G03; Circular

arc

interpolation

is in

the

counterclockwise

path.
5. G04; Holding
length

the

tool at a

given position for a programmed

of time and never for use as tool change time or swarf

clearance.
6. G05; End of subroutine.
7. G06; End of Do loop.
8. G26: Auxiliary Inputs.
9. G27; Auxiliary Outputs.

178
10. G28

Subroutine Start.

11. G50

Program datum.

12. G65

Call subroutine,

13. G70

Imperial units.

14. G71

Metric units.

15. G73

It is a Repeat Facility,

16. G90

Absolute format.

17. G91

Incremental format.

M = Miscellaneous or auxiliary functions.


1. M01

Selective stop.

2. M02

Program end.

3. M03

Spindle rotation clockwise.

4. M04

Spindle rotation counterclockwise.

5. M05

Spindle off; coolant off.

6. M06

Tool Chang.

7. M07

Coolant N;o 1 on (e.g. Mist coolant).

8. M08

Coolant N:o 2 on (e.g. Flood coolant).

9. M09

Coolant off.

10. M10

Clamping.

11. Mil; Clamping released.


12. M12-M18; Free.
13. Ml9; Spindle stop in specified angular orienation.
14. M20-M29; Continuous free.
15. M3O:

Program end. Stop and return to start character.

16. M31; Clamping override.


17. M32-M39: Free.

179
18. M40-M45; Change

of

gear

ratio if this required. Otherwise

free.
19. M46-M47; Free.
20. M48; Cancels M49.
21. M49; Deletion of manually a djusted feedrate or rotation speed.
22. M50-M57; Free.
23. M58; Cancels M59.
24. M59; Maintains

the

spindle speed constant even

though a G96

initiated.
25. M60; Workpiece change.
26. M61-M89; Free.
27. M90-M99; Continuously free.
Note: "Free" has the same meaning as for the preparatory functions,
that

is

they

are free for the use of control

unit

manufacturer to select as he feels appropriate,


(d). Standard Equipments;
1. RS232 link for computer or printer.
2. Quick change toolpost and holder.
3. Self centring 3 jaw chuck.
4. Set of outside jaws.
5. Safety Guards.
6. Instruction manual and parts list.
7. Map light.
8. Stereo cassette deck.
9. 2 hi-frequency speakers and headphone outlet.
10. Audio instruction tape.

or machine

tool

18C

11. Solar calculator.


12. Co-axial T.V. socket for V.D.U.
13. Lathe maintenance tolls.
14. Mini magnetic cassette for program storage.
15. 2 fuses.
16. Machine plug.
17. Test program with component.
18. Video instruction film.
(e). Example 1:
N01
N02
N03
N04
N05
N06
NO7
NOB
NO9
N10
Nil
N12
NI3
N14
N15
N16
N17
NI8

G71
G90
G50
GOO
G91
G73
GOO
G01
GOO
GOO
G06
G90
GOO
G01
G02
GOO
G01
G01

X15
XI3

Z5
Z0.2

13
X-1
XO
X0.5
XO
ZO

ZO
Z-30.2 F90
ZO
Z30.2

X10.1
X10
X12.5
X15
Z5
XO

Z-29.9
Z-30
Z-32.5
ZO
F50
ZO

(f). Example 2;

F1000 S8OO TI M03

F1000
12.5 F50
F1000
TO
MOO
M02

S900

Printout from ORAC

TITLE
I.D
PAGE 01 INCH-UNITS
PAGE 02 INCREMENTAL-FORMAT.G91
PAGE 03 THREADING..G33
IN/OUT-SIDE.DIAM 2
ROOT-DIAMTER 1.99
CUT.(INCR)..X 0.01
LENGTH..Z -1
PITCH 0.10
STARTS 1

181

TOOL-NO 1
SPINDLE-SPEED 100
PAGE 04 DWELL..G04
TIME.(SECS) 05
PAGE 05 THREADING..G33
IN/OUT-SIDE.DIAM 2
TOOT-DIAMETER 1.99
CUT.(INCR)..X 0.01
LENGTH..Z -1
PITCH 0.04
STARTS 1
TOOL-NO 1
SPINDLE-SPEED 100
PAGE 06 DWELL.G04
TIME.(SECS) 05
PAGE 07 POINT-TO-POINT.GOO,GO1
X 0.562
Z 0.562
FEEDRATE 10
TOOL-NO 1
SPINDLE-SPEED 1000
PAGE 08 CALL-SUBROUTINE

APPENDIX C
PSEUDOCODES FOR FMC IN A MULTITASKING
ENVIRONMENT
/

/*

C program starts from here

./

/* Header files
/*
/*
/*
/*
/*
/*

are used to declare variable attributes


stdio.h ~ for standard I/O
gf.h for Greenleaf Functions
amx.h ~ for AMX86 systems
c30.h for function routines declaration
struct.h data structure for C program
fcntl.h file functions for MS-DOS

*/
/
*/
*/
*/
*/
/
/

#include
^include
^include
^include
^include
#include

"c;stdio.h"
"c;gf.h"
"c:amx.h"
"c:c30.h"
"c:struct.h"
"c:fcntl.h"

/ Other global variables declaration

*/

static int timecd = 0;


/* current timer variable
unsigned delay, mainw;
int
cmain, cproc, cdum, cmsg;

*/

The following functions are in AMX86:


clkisp() real-time clock interrupt service
pint(int) print an integer
prompt(char *) print a character string with RETURN
pstr(char *) print a character string without RETURN
pch(char) print one character
crash(int) handle system error

*/
*/
*/
*/
*/
*/
*/
/
/

Main program starts from here

*/
/

182

183
void mainO
{
extern unsigned int _top;
int i,j;
clsO;
/ clsO is a function of Greenleaf */
prompt("AMX86 starts from here");
for (j = 30; j != 0; j) {
/ delay approx. 3 sec. /
for (i = 8000; i != 0; i ~ ) ;
}
amxgoO;
/ Start AMX86 /
}
/

/*

rrtimeO

Restart Procedure for timers

*/
/

void rrtimrO
{
static int clkintcd[l6];
int i;

/ Clock ISP installed here */

ajmodlO;
ajiptr(UCLKV,clkisp,clkintcd); /* install interrupt pointer
*/
/ clkispO is an AMX86 function for real time clodk interrupt */
for (i=1; i<100; i+-i-) ;
/* delay for installing interrupt */
kickaO;
/* start timers
*/
timecd = 0;
/* initialize timecode */
}
/

/* rrprocO Restart procedure for tasks


*/
/
V
void rrprocO
{
int i;
static int keyintcd[16];
/* Keyboard ISP installed here */
ajmodlO;
/* Set DS to DGROUP
*/
if (ajtask(TNOPMG) < 0) {
prompt("rrproc fails to call TNPRS"); exitO; }
/* schedule operator manager to occur, if failt, exit to MSDOS */
}
/

/
/

traO timer routine a; this timer is defined in a


special pace.

void traO
{
ajmodlO;
kickaO;

*/
*/
/

/* Set DS to DGROUP
*/
/* defined in amx.h to restart timer 0 */

184

timecd+-K;
}

/ increment timecode

*/

TASK 1: OPERATOR TASK (stopmg)

/
/

Operator Task reads in the job specification file,


machining process file, tool file, and machine file and
allows the operator to enter proper data or make menu
selections in order to produce part programs for Mill and
Lathe machines. After the part programs is produced, the
operator must insure all machines and materials are ready
to start the process.

*/
/
*/
/
*/
*/
/

void stopmgO
{
int i, fhl, fh2, fh3, fh4, fh5, fh, status, choice;
ajmodlO;
/*
read (job specification file) */
if ((fh1=open("b:job", 0_RDONLY, S_IREAD))==-1) {
pstr("Can't open file b:job !\n");
exitO;
}
/*
read (machining process file) */
if ((fh2=open("b:proc", 0_RDONLY, S_IREAD))==-1) {
pstr("Can't open file b:proc !\n");
exitO;
}
/ read (tool file) /
if ((fh3=open("b:tool", 0_RDONLY, S_IREAD))==-1) {
pstr("Can't open file b: tool !\n");
exitO;
}
/* write (part program) for CNC Mill /
if ((fh4=open("b:millpart",0_WR0NLY, S_IWRITE))==-1) {
pstr("Can't open file b:millpart !\n");
exitO;
}
/* write (part program) for CNC Lathe */
if ((fh5=open("b:lathepart",0_WR0NLY, S_IWRITE))==-1) (
pstr ("Can't open file b:lathepart !\n");
exitO;
}
clsO;
for (i=1, i<=2; i++) {
switch(i) {
/* first write part program for CNC Mill
case 1: fh=fh4; mtype="mill"; break;

185

/* then write part program for CNC Lathe


case 2: fh=fh5; mtype="lathe"; break;
ClsO;
/*
find (job material records)
status=read(fh1, job_mater, job_mater_byte);
/*
find (job process records)
status=read(fh1, job_proc, job_proc_byte);
/*
find (machining process records) */
status=read(fh2, proc_type, proc_type_byte);
/*
find (machine type records) */
status=read(fh3, mach_type, mach_type_byte);

*/

*/
*/

no_of__proc = 0,
while (no_ofjproc <= job_no_of_proc) {
no__of_proc -+;
if ((proc_type == job_proc) && (mach_type == mtype)) {
/* add (process number records) */
status=write(fh4, part_num, part_num_byte);
/* add (operation codes records) */
status=write(fh4, part_code, part_code_byte);
/* add (X, Y, Z positions) /
status=write(fh4, part_X, part_X_byte);
status=write(fh4, part_Y, part_Y_byte);
status=write(fh4, part_Z, part_Z_byte);
/* add (cutting speed records) */
status=write(fh4, part__speed, part_speed_byte);
/* add (feed rate records) */
status=write(fh4, part_feed, part_feed_byte);
}

/* find (machining process records) */


status=read(fh3, tool_proc, tool_proc_byte);
if (tool_j)roc = process_proc) {
/* write (part program) */
/* add (tool number records) */
status=write(fh, part_tooln, part_tooln_byte);
}
/ end of if */
} / end of while /
/ end of for loop */

/* close all data files and part programs


status=close(fhl);
status=close(fh2);
status=close(fh3);
status=close(fh4);
status=close(fh5);
/* Make sure machines are ready */
clsO;

*/

186
start:
atsayd,0,"Please check all machines and materials,");
atsay(2,0,"When it is ready, press RETURN key to start process.");
scanf("%d", Achoice);
if (choice==CR) {
/* schedul task 2 stmill /
flag_load =1;
if ((ajcall(TNMILL,mill_prior,&flag_load)) < 0) {
atsay(3,0,"Operator Manager fails to call Mill Manager");
exitO;
}
/* schedule task 3 stlath */
flag_load = 1;
if ((ajtask(TNLATH),lathe_prior,&flag_load) < 0) {
atsay(4,0,"Operator Manager fails to call Lathe Manager");
exitO;
}
else goto start;
} /* end of taski stopmg */
/*

/*

TASK 2: CNC MILL TASK (stmill)

/*
/*
/*
/*

/
/

Each Machine should be operated independently. The


CNC Mill Task should be able to send and receive signals
to and from the CNC Mill machine. Also, it performs the
bookkeeping for process status and machine status.

*/
*/
*/
*/
/

void stmill()
{
int idata;
ajmodlO;
/* if there is no material ready for process, call robot
*/
/* manager to load materials.
*/
if (flag_mill_mater==0) {
/* flag of load, 1 for loading, 0 for unloading
*/
flag_load =1;
/* call Robot Manager as soon as possible
*/
ajcalw(TNROBO,1,&flag_load);
/* put Lathe Manager to sleep until Robot Manager finishs */
ajwaitO;
}
/* otherwise, send signal to Mill machine for setting up
*/
/* communication line
*/
outp(PORTADD, BYTE);
/ receive feedback from Mill
*/
idata = inp(PORTADD);
/* varify the input signal
*/
/* if signal has error, call safety manager
*/
if (f__error==0) ajcall(TNSAFE,0,&error);

187
/*
/*
/*
/*
/*
if

else send Mill part program 'b:millpart'to CNC Mill


start execution
at the end of part program processing, CNC Mill
send signal back to computer and then call robot manager
to unload parts
(flag__mill_end= = 1) {
/* set flag of load =0 for unloading
flag_load = 2;
/* to call Robot Manager as soon as possible
ajcalw(TNR0B0,2,&flag_load);
/* put Lathe Manager to sleep until Robot Manager finishs
ajwaitO;
}
/* reschedule itself to another process
if ((ajtask(TNMILL)) < 0) {
atsay(3,0,"Mill Manager fails to reschedule itself");
exitO;
} / end of if /
}
/

*/
*/
*/

*/

TASK 3: CNC LATHE TASK (stlath)

/*
/*

/
/
/
/
/

/
/

This task performs functions similar to the CNC Mill


task. In addition, it monitors the CNC Lathe machine.

*/
*/
/

void stlathO
{
int idata;
ajmodlO;
/* if there is no material ready for process, call robot
/* manager to load materials.
if (flag_mill_mater==0) {
/* flag of load = 1 for loading, =0 for unloading
flag__load =3;
/* to call Robot Manager as soon as possible
ajcalw(TNROBO,1,&flag_load);
/* put Lathe Manager to sleep until Robot Manager finishs
ajwaitO;
}
/* otherwise, send signal to Lathe for setting up comm. line
outp(PORTADD, BYTE);
/ receive feedback from Lathe
idata = inp(PORTADD);
/* varify the input signal
/* if signal has error, call safety manager
if (f_error==0) ajcall(TNSAFE,0,&error);
/* else send Lathe part program 'b:lathepart'to CNC Mill
/* start execution
/ at the end of part program processing, CNC Lathe

*/
*/
*/
*/
*/

*/
*/
/
*/
*/
*/
/

188

/* send signal back to computer and then call robot manager


/* to unload parts
if (flag_mill_end==1) {
/* set flag of load =0 for unloading
flag_load = 4;
/* to call Robot Manager as soon as possible
ajcalw(TNR0B0,2,&flag__load);
/* put Lathe Manager to sleep until Robot Manager finishs
ajwaitO;
}
/* reschedule itself to another process
if ((ajtask(TNLATH)) < 0) {
atsay(3,0,"Lathe Manager fails to reschedule itself");
exitO;
} /* end of if /
} /* end of task 3 stlath /

/
/
/
/
/

*/
*/

*/

TASK 4: ROBOT TASK (strobo)

/
/

/-.
/

*/
/

This task should be able to send and receive signals


to and from the robot, and to monitor robot movement. It
also does the bookkeeping for robot status. When the Mill
task and Lathe task call for a robot, they send an argument to the Robot task, which determines the machine to
pick up materials or parts, and where to put them down.

/
/
/
*/

/
/

void strobo(&flag)
int *flag, idata;
{
ajmodlO;
/* wake up calling tasks
ajwakcO;
/* send signal to Robot to set up communication line
outp(PORTADD, BYTE);
/* receive feedback from robot
idata=inp(PORTADD);
/* varify received signal
/* depending on flag value to determine loading or unloading
/* and which machine to load/unload
switch(*flag) {
/* for loading materials to Mill
case 1:
/* move to the material storage area
/* pich up material
/* move to the Mill loading position
/ loading material to Mill
/ return to the original position
/* when finish loading, wake up Mill Manager
ajwake(TNMILL);

/
/
/

/
/
/
/
/
/

189
break;
/* for unloading parts from Mill
case 2:
/ move to the Mill
/ pich up part from Mill
/ move to part storage area
/ put down part
/
return to the original position
/
when finish unloading, wake up Mill Manager
ajwake(TNMILL);
break;
/* for loading materials to Lathe
case 3:
/
move to the material storage area
/
pich up material
/*
move to the Lathe loading position
/ loading material to Lathe
/ return to the original position
/ when finish loading, wake up Lathe Manager
ajwake(TNLATH);
break;
/* for unloading parts frrm Lathe
case 4:
/ move to the Lathe
/ pich up part from Lathe
/ move to part storage area
/ put down part
/ return to the original position
/ when finish unloading, wake up Lathe Manager
ajwake(TNLATH);
break;
}

/
/
/
/
/
/

/
/
/
*/
/
/

/
/
/
/
/
/

}
/.
/

./

TASK 5: SAFETY TASK (stsafe)

/
/
/
/
/*
/
/

/-

This task is responsible for error detection, error


correction and emergency shut down of the manufacturing
system. The Mill task or Lathe task verifies input data
from machines. If a fault occurs, the Safety task is
called and correction is performed, or the system is shut
down. The Safety task has priority over all other tasks

/
/
/
/
/
/
/

void stsafe(error)
int error;
{
ajmodlO;
/* depending on type of errors, different actions are taken */

190

switch(error) {
case 0: crash(O); break; /* shut down the system */
case 1: /* call operator for checking equipment */ break;
case 2: /* other process */ break; }
}

You might also like