Using Finite State Automata to Model Manufacturing Systems

45
Using Finite State Automata to Model Manufacturing Systems R. Wysk

description

Using Finite State Automata to Model Manufacturing Systems. R. Wysk. Agenda – Systems Theory according to Wysk. Typical manufacturing systems Modeling a manufacturing system as a state machine What is a finite state machine? Notation and variables Examples. Basic types of systems. - PowerPoint PPT Presentation

Transcript of Using Finite State Automata to Model Manufacturing Systems

Page 1: Using Finite State Automata to Model Manufacturing Systems

Using Finite State Automata to Model Manufacturing Systems

R. Wysk

Page 2: Using Finite State Automata to Model Manufacturing Systems

Agenda – Systems Theory according to Wysk

• Typical manufacturing systems• Modeling a manufacturing system as a

state machine• What is a finite state machine?• Notation and variables• Examples

Page 3: Using Finite State Automata to Model Manufacturing Systems

Basic types of systems• Continuous

– Normally modeled as differential state based entities

• Discrete (DES)– Not adequately modeled as differential or

difference entities– Checkers, chess, many manufacturing

systems

Page 4: Using Finite State Automata to Model Manufacturing Systems

How about Starbucks?

Page 5: Using Finite State Automata to Model Manufacturing Systems

The Concept of a Language

• Every DES has an underlying event set, E associated with it.

• The set E is thought of as the “alphabet” of a language.

• The event sequences for a DES are thought of as “words” in the language.

• Different modeling prospective can be taken for most DES

Page 6: Using Finite State Automata to Model Manufacturing Systems

Examples - chess• Model with respect to one piece• Model with respect to one color• Model with respect to all pieces

Page 7: Using Finite State Automata to Model Manufacturing Systems

Examples - manufacturing• Model with respect to a part• Model with respect to a machine• Model with respect to all resources

8

2

34 5

6

71Machine

1 M1Machine

2 M2R

L UL

Page 8: Using Finite State Automata to Model Manufacturing Systems

How about our machine?

Page 9: Using Finite State Automata to Model Manufacturing Systems

Examples – Highway systems• Model with respect to one car (like a GPS)• Model with respect to one highway• Model with respect to all highways and

cars

Page 10: Using Finite State Automata to Model Manufacturing Systems

How about driving to Crabtree Valley Mall?

Page 11: Using Finite State Automata to Model Manufacturing Systems

Intent

• Show what a finite state automata (FSA) is• Show how to formally model an FSA• Illustrate some uses for FSAs• Discuss “discrete event systems”

modeling

Page 12: Using Finite State Automata to Model Manufacturing Systems

Part Flow Through the Shop

E nterS hop

D elive r toW ks tn

P u t onEq uip P rocess

R efix tu reP ick fromE qu ip

R em ove fromW kstn

E xitS hop

P ut onEq uip

D e live r toW ks tn

Page 13: Using Finite State Automata to Model Manufacturing Systems

Finite state view to IllustrateControl Simulation Requirements

TaskNumber

TaskName

1 Pick L2 Put M13 Process 14 Pick M15 Put M26 Process 27 Pick M28 Put UL

8

2

34 5

6

71Machine 1

M1Machine 2

M2R

L UL

Page 14: Using Finite State Automata to Model Manufacturing Systems

Physical Model - Processing Workstation

S

po rt_ a rr ive

po rt_p ickport_depart

bs_pick bs_put

port_put

E

P o rt M H

B S

m p_ pickm p_put

M P

m p_ pick

m p_put

M P

Process

Process

Page 15: Using Finite State Automata to Model Manufacturing Systems

Some Observations about this Perspective

• Generic -- applies to any system• Other application specifics

– Parts• Number• Routing• Buffers (none in our system)

Page 16: Using Finite State Automata to Model Manufacturing Systems

Finite State Automata (FSA)

• Consist of– Nodes – X– Events – E– Transition maps – f(m,n,e)– Starting state – q0

– Event transitions – F(X1, e) = X2

Page 17: Using Finite State Automata to Model Manufacturing Systems

Modeling a state graph• States/nodes - X ( x , y, z )• Events/transistions - E ( a , b, g )• Graph construction

– F (x , a ) = x– F (y , a ) = x

– F (z , b ) = z

– F (x , b ) = F (x , g ) = z

– F (y , b ) = F (y , g ) = y

– F (z , a ) = F (z , g ) = y

Page 18: Using Finite State Automata to Model Manufacturing Systems

The Graph looks like

x y

z

Page 19: Using Finite State Automata to Model Manufacturing Systems

So FSAs• Formal way to model discrete systems• Can symbolically build complex systems • Capture lots of system detail• Provide the grain for modeling a system

• So what about a DC?

Page 20: Using Finite State Automata to Model Manufacturing Systems

Deterministic Automaton• A Deterministic Automaton, denoted by G, is a six-tuple

G = (X,E, f, Γ, x0,Xm)

where:X is the set of statesE is the finite set of events associated with Gf : X × E → X is the transition function: f(x, e) = y means that there is a transitionlabeled by event e from state x to state y; in general, f is a partial function on itsdomainΓ : X → 2E is the active event function (or feasible event function); Γ(x) is the set ofall events e for which f(x, e) is defined and it is called the active event set (or feasibleevent set) of G at xx0 is the initial state

Xm X ⊆ is the set of marked states.

Page 21: Using Finite State Automata to Model Manufacturing Systems

• The words state machine and generator (which explains the notation G) are also often used to describe the above object.

• If X is a finite set, we call G a deterministic finite-state automaton, often abbreviated as DFA.

• The functions f and Γ are completely described by the state transition diagram of the automaton.

• The automaton is said to be deterministic because f is a function from X × E to X, namely, there cannot be two transitions with the same event label out of a state.

• In contrast, the transition structure of a nondeterministic automaton is defined by means of a function from X × E to 2X; in this case, there can be multiple transitions with the same event label out of a state. Note that by default, the word automaton will refer to deterministic automaton.

• The fact that we allow the transition function f to be partially defined over its domain X × E is a variation over the usual definition of automaton in the computer science literature that is quite important in DES theory.

Page 22: Using Finite State Automata to Model Manufacturing Systems

Planning, Scheduling, and Execution

• PlanningDetermining what tasks thesystem needs to perform

• SchedulingSequencing planned tasks

• ExecutionPerforming the scheduledtasks at the appropriatetime

S ystem O p era tio n

P lann in g

S ch ed u lin g

E x ecu tio n

P h ysica lS ys tem

P la nn ed ta sk s

S ch ed u led ta sk s

T ask s

Page 23: Using Finite State Automata to Model Manufacturing Systems

Shop Floor Controller Structure

ProductionR equirem ents

C ontro lle r

PhysicalSystem

I/O C h a nn e ls

P lanner S che dule r Ex ecuto r

TaskL ist

I/O C h ann el

Syste m M o de l

PhysicalM odel

SystemSta tus

PhysicalConfiguration

Page 24: Using Finite State Automata to Model Manufacturing Systems

Gate House

1 2 3

Dock 3

Yard ExampleWe can treat

the Gate House as the

“material handler”

Queue of

trucks

Page 25: Using Finite State Automata to Model Manufacturing Systems

System Model for the Yard

Yard Gate House

Dock 1

Dock 2

Dock 3

Depart

Truck Arrival

Request

Go to 1

Go to 2

Go to 3

Page 26: Using Finite State Automata to Model Manufacturing Systems

Build a formal model of the state graph

• X (Yard, Gate, Docki)

• E(Depart/Balk, Gate_serve,Traveli, Leave to gate, Return to yard)

• You finish the FSA modeling

Page 27: Using Finite State Automata to Model Manufacturing Systems

Some things not considered

• Queue discipline– FIFO, SPT, …

• Rules for assigning trucks to docks– Due date, SPT, …

Page 28: Using Finite State Automata to Model Manufacturing Systems

A – Inbound truck load (pallets) Ip – Pallet in buffer area p B – Inbound truck load (cases) Jk – Pallet at outbound dock k Ci – Cases in bulk dock i Ko – Pallet at case picking rack o (level 1) Di – Pallets at inbound dock i L – Re-work area Ej – Pallet in forklift j – TRM algorithm Mp – New pallet in buffer area p Fl – Complete pallets in drive-in rack l Np – Wrapped pallet in buffer area p Gm – Partial pallets in single-deep rack m Oq – Pallet in pallet jack q Hn – Pallet at case picking rack n (level 2) P – Cases in truck load

Page 29: Using Finite State Automata to Model Manufacturing Systems

A communicating automata

• An FSA that interacts with a decision maker– Decision maker can be a person, algorithm, …

• Messages create changes in the graph– Go_to_Dock #1 equivalent to the controller telling a

driver to proceed to dock #1• Input and Output messages

– Input messages update the status of the graph– Output messages signal the start of an event

Page 30: Using Finite State Automata to Model Manufacturing Systems

Deterministic and non-deterministic FSAs

Yard Gate House

Dock 1

Dock 2

Dock 3

Depart

Truck Arrival

Request

Go to 1

Go to 2

Go to 3

Page 31: Using Finite State Automata to Model Manufacturing Systems

A – Inbound truck load (pallets) Ip – Pallet in buffer area p B – Inbound truck load (cases) Jk – Pallet at outbound dock k Ci – Cases in bulk dock i Ko – Pallet at case picking rack o (level 1) Di – Pallets at inbound dock i L – Re-work area Ej – Pallet in forklift j – TRM algorithm Mp – New pallet in buffer area p Fl – Complete pallets in drive-in rack l Np – Wrapped pallet in buffer area p Gm – Partial pallets in single-deep rack m Oq – Pallet in pallet jack q Hn – Pallet at case picking rack n (level 2) P – Cases in truck load

Page 32: Using Finite State Automata to Model Manufacturing Systems
Page 33: Using Finite State Automata to Model Manufacturing Systems

• Generic -- applies to any discrete system• Other application specifics

– Parts• Number• Routing• Buffers (none in our system)

Some Observations about this Perspective

Page 34: Using Finite State Automata to Model Manufacturing Systems

RapidCIM Model

• Message-based part state graph (MPSG)– Execution formalism based on finite automata– Mimic controller behavior from part point of

view– Explicitly separate scheduling from execution– reference: Smith and Joshi, 1992– web site:

http://www.engr.psu.edu/cim/control.html

Page 35: Using Finite State Automata to Model Manufacturing Systems

Generated FSA Execution model -- based on the rules, but manual yet

1

1

1

R

M2

M3

AS

1

Due to limited space, these two arrows are

expanded in this figure

part_enter@1_sb rm_asrs@1_sb rm@1_bk at_loc@1_kb

pick_ns#1@1_sb.......return_ok@1_bs

I I O I

II

at_loc@1_bs

O

pick_ns#1@1_br

O

mv_to_asrs@1_sb arrive@1_bk arrive_ok@1_kb loc_ok@1_bs

put_ns#1@1_sbput_ns#1@1_brclear_ok#1@1_rbput_ok#1@1_bs.......

I O I O

IOIO

T

delete@1

Robots IndexR 1

Stations IndexAS 1M1 2M2 3M3 4

Blocking attributes are set

to 1: must be blocked

M1

Page 36: Using Finite State Automata to Model Manufacturing Systems

RapidCIM Project

• Built formal models for shop floor control (MPSG)

• Developed a compiler to automatically generate code for control

• Created Arena RT messaging • Used process plans to define part routes

Page 37: Using Finite State Automata to Model Manufacturing Systems

Message-based Part State Graph (MPSG)

• An MPSG is a deterministic finite automaton representing the processing protocol for a part.

• An MPSG state provides information about the current processing state of the part that is needed to determine the behavior on subsequent events.

• State transitions are caused by receiving messages about the part and by performing functions specified by the scheduler.

Page 38: Using Finite State Automata to Model Manufacturing Systems

• A Mealy machine is essentially a finite automaton with output. Formally, a Mealy machine M defined as follows:

So, a Mealy machine is a finite automaton in which an output (defined by and ) is generated during state transitions.

Mealy Machine

M Q q

Q q

Q

, , , , , ,

, , , ,,

:

0

0

where

and are as is in a finite automaton,is an output alphabet and

is an output transition function.

Page 39: Using Finite State Automata to Model Manufacturing Systems

MPSG Definition

function.nsition action tra controller a is )(:functionn transitiostate a is )(:

false.or truereturns which predicate a is each e,Furthermor . ingcorrespond a is there,each for that so

dpartitione is actions. controllerfor onspreconditi physical ofset finite a is

action controller some performswhich function executablean is whereactions controller ofset finite a is

taskscontroller ofset a is messagesoutput ofset a is

messagesinput ofset a is and events, ofset finite a is )(

states acceptingor final ofset a is statestart or initial theis

states ofset finite a is :Where

),,,,,,,(=MPSG

0

0

TO

TOI

T

O

I

TOI

QQQ

QFQq

Q

FqQ

Page 40: Using Finite State Automata to Model Manufacturing Systems

MPSG for Generic MP Equipment

assign _w e t_ass ign @ loc_ew

@ loc_ns_ew

grasp_ we t_grasp grasp_ok_ew clear_ok_we

m p_ pu t

1 2 3 4 5 6 70

proc esst_sta rt

t_s top

t_dnld

fin ish_de done_ew

t_sta rt

t_dn ld

d one_ew

7 8 9 10

re lea se_ok_ew@ loc_ew

@ loc_ns_ew

clear_ok_w erem ove_w e t_rem ove re lease_w e t_re lease

m p_ p ick

10 11 12 13 14 15 16 17

Page 41: Using Finite State Automata to Model Manufacturing Systems

MPSG Characteristics

• Explicitly separate scheduling from execution.• Extensible at multiple levels to facilitate software

development– Generic MPSG can be used unmodified.– Extraneous transitions can be removed.– Specified messages and tasks can be rearranged.– New messages and tasks can be specified.

• Execution portion of the control software is automatically generated from the MPSG description.

Page 42: Using Finite State Automata to Model Manufacturing Systems

Simulation-based SFCS

ARENA: real-time(Shop floor controller)

Big Executor (Shop Level)

Equipment Controllers

SL-20Hass VF 0E

M1 ABB 240

AGVSKardex

TaskOutput Queue

Database Scheduler

TaskInput Queue

ABB140

Page 43: Using Finite State Automata to Model Manufacturing Systems

Equipment-level Device Interaction

robot clear

execute programto close fixture

fixture closed

execute partprogram

clear to load part ?

execute programto load partclose fixture

execute program to release part and

move away

clear

mp_put

Page 44: Using Finite State Automata to Model Manufacturing Systems

Uses of FSAs• Can generate controllers automatically

– Software can be created directly from this formal model

• Can be used to define resources and events in a discrete system – Bernie Zeigler won the IEEE Gold Metal for his work

on DEVS (2002)• Can be used to automatically generate

simulation model – Son created both software controllers as well as

simulation for messaging

Page 45: Using Finite State Automata to Model Manufacturing Systems

Summary - Process a part

part_enter_sb remove_kardex_sb pick_ns_sb return_sb

put_sb

move_to_mach_sb

move_to_kardex_sb

put_

ns_s

b

move_to_mach_sb

0 1 2 3

456

process_sbpick_sb

7

8 9return_sb