semi合集-English.pdf - 第2416页

SEMI E86-0200 © SEMI 1999 , 2000 16 State Definition Query for State via UNASSIGNED TO JOBS In this state a Person has not been assign ed to any jobs. A Person m a y or may n ot be assign ed to job(s). boolean is Assigne…

100%1 / 7923
SEMI E86-0200 © SEMI 1999, 200015
6.3.4.1 Object State Tables
Table 1 Person State Definitions and Query
State Definition Query for State via
NOT AVAILABLE In this state, a Person is not
clocked on to shift and cannot
perform work.
boolean isOnShift ( ) sent to instance of Person returns
FALSE. Person NOT included in set returned by
PersonManager services. PersonSequence
allOnShiftPersons (in Shift aShift) or
allAvailableForWorkPersons ( ).
AVAILABLE In this superstate, a Person is
clocked on to a shift and is ready
to perform work.
boolean isOnShift ( ) sent to instance of Person returns
TRUE. Person included in set returned by
PersonManager services PersonSequence
allOnShiftPersons (in Shift aShift) or PersonSequence
allAvailableForWorkPersons ( ).
AT WORK
STATION
A Person is available to perform
some manufacturing task; that is,
the Person is physically present
at his or her work site.
boolean isAtWorkStation ( ) sent to instance of Person
returns TRUE.
NOT AT WORK
STATION
A Person is not available to
perform any manufacturing task;
that is, the Person is physically
absent from his or her work site.
boolean isAtWorkStation ( ) sent to instance of Person
returns FALSE.
UNASSIGNED TO
MACHINES
In this state, a Person has not
been assigned to any machines.
A Person may or may not be
assigned to a job(s).
boolean isAssignedToMachines ( ) or boolean
isAssignedToMachine (in Machine aMachine) [for all
Machines] sent to instance of Person returns FALSE.
Person NOT included in set returned by PersonManager
services PersonSequence allPersonsAssignedToMachine
(in Machine aMachine) [for all Machines] or
PersonSequence allAssignedToMachinesPersons ( ).
Empty set returned by Person service MachineSequence
assignedMachines ( );
ASSIGNED TO
MACHINES
In this parent state, a Person has
been assigned to one or more
machines.
boolean isAssignedToMachines ( ) or boolean
isAssignedToMachine (in Machine aMachine) sent to
instance of Person returns TRUE. Person included in set
returned by PersonManager services PersonSequence
allPersonsAssignedToMachine (in Machine aMachine)
or PersonSequence allAssignedToMachinesPersons ( ).
Non-empty set returned by Person service
MachineSequence assignedMachines ( );
AVAILABLE FOR
MORE
ASSIGNMENTS
In this substate, a Person is
available for assignments to
more machines.
boolean isAvailableForMoreMachineAssignments ( )
sent to instance of Person returns TRUE.
ASSIGNMENT AT
CAPACITY
EXCEEDED
In this substate, a Person can no
longer be assigned to another
machine; that is, they are AT
CAPACITY with regard to
machine assignment.
boolean isAvailableForMoreMachineAssignments ( )
sent to instance of Person returns FALSE.
SEMI E86-0200 © SEMI 1999, 2000 16
State Definition Query for State via
UNASSIGNED TO
JOBS
In this state a Person has not
been assigned to any jobs. A
Person may or may not be
assigned to job(s).
boolean isAssignedToJobs ( ) or boolean
isAssignedToJob (in Job aJob) [for all Jobs] sent to
instance of Person returns FALSE. Person NOT
included in set returned by PersonManager services
PersonSequence allPersonsAssignedToJob (in Job aJob)
[for all Jobs] or PersonSequence
allAssignedToJobsPersons ( ). Empty set returned by
Person service JobSequence assignedJobs( );
ASSIGNED TO
JOBS
In this parent state, a Person has
been assigned to one or more
job(s).
boolean isAssignedToJobs ( ) or boolean
isAssignedToJob (in Job aJob) sent to instance of Person
returns TRUE. Person included in set returned by
PersonManager services PersonSequence
allPersonsAssignedToJob (in Job aJob) or
PersonSequence allAssignedToJobsPersons ( ). Non-
empty set returned by Person service JobSequence
assignedJobs ( );
AVAILABLE FOR
MORE
ASSIGNMENTS
In this substate, a Person is
available for assignments to
more jobs.
boolean isAvailableForMoreJobAssignments ( ) sent to
instance of Person returns TRUE. Person included in set
returned by PersonManager service PersonSequence
allPersonsAvailableForJob (in Job aJob).
ASSIGNMENT AT
CAPACITY
EXCEEDED
In this substate, a Person can no
longer be assigned to another
job; that is, they are AT
CAPACITY with regard to job
assignment.
boolean isAvailableForMoreJobAssignments ( ) sent to
instance of Person returns FALSE. Person not included
in set returned by PersonManager service
PersonSequence allPersonsAvailableForJob (in Job
aJob).
Table 2 Person State Transitions
#
Current State Trigger New State Action Comment
non-existent createPersonWithIdentifier (in
string identificationNumber);
sent to an instance of
PersonManager.
NOT
AVAILABLE
1 NOT
AVAILABLE
makeOnShift( ); sent to
instance of Person.
AVAILABLE PersonShiftChanged
event posted by instance
of Person.
PersonStateChanged
event posted by instance
of Person.
Person logged on to
shift. Person is
assumed to be
initially available for
work (at work station)
and not assigned to
machines or jobs.
2
AT WORK
STATION
makeNotAtWorkStation ( );
sent to instance of Person.
NOT AT WORK
STATION
PersonStateChanged
event posted by instance
of Person.
Typically used for
situation where
Person is not
physically present at
work site (e.g., on a
break). Person is still
assigned to
machine(s) and/or
job(s). Person may be
busy with a job.
SEMI E86-0200 © SEMI 1999, 200017
#
Current State Trigger New State Action Comment
3 NOT AT WORK
STATION
makeAtWorkStation ( ); sent
to instance of Person.
AT WORK
STATION
PersonStateChanged
event posted by instance
of Person.
Person is physically
present at work site.
4
UNASSIGNED
TO MACHINES
assignToMachine (...); sent to
instance of Person.
ASSIGNED TO
MACHINES
PersonCapacityChanged
event posted by instance
of Person.
Person assigned to a
machine. For
example, a
Scheduling
Component might
assign an operator to
a machine.
5AVAILABLE
FOR MORE
ASSIGNMENTS
Sending assignToMachine
(...); to instance of Person
increments number of
machine assignments to AT
CAPACITY level.
ASSIGNMENT
AT CAPACITY
EXCEEDED
PersonStateChanged
event posted by instance
of Person.
6
ASSIGNMENT
AT CAPACITY
EXCEEDED
Sending
deassignFromMachine (...); to
instance of Person decrements
number of machine
assignments below AT
CAPACITY level.
AVAILABLE
FOR MORE
ASSIGNMENTS
PersonStateChanged
event posted by instance
of Person.
7
ASSIGNED TO
MACHINES
Sending
deassignFromMachine (...);
decrements number of
machine assignments to nil.
UNASSIGNED
TO MACHINES
PersonCapacityChanged
event posted by instance
of Person.
Person not assigned
to any machines.
8 UNASSIGNED
TO JOBS
assignToJob (...); sent to
instance of Person.
ASSIGNED TO
JOBS
PersonCapacityChanged
event posted by instance
of Person.
Person assigned to
job. Allocates a
Person to a
manufacturing task.
A Person may be
allocated to more than
one task at a time.
9
AVAILABLE
FOR MORE
ASSIGNMENTS
Sending assignToJob (...); to
instance of Person increments
number of job assignments to
AT CAPACITY level.
ASSIGNMENT
AT CAPACITY
EXCEEDED
PersonStateChanged
event posted by instance
of Person.
10 ASSIGNMENT
AT CAPACITY
EXCEEDED
Sending deassignFromJob
(...); to instance of Person
decrements number of job
assignments below AT
CAPACITY level.
AVAILABLE
FOR MORE
ASSIGNMENTS
PersonStateChanged
event posted by instance
of Person.
11 ASSIGNED TO
JOBS
Sending deassignFromJob (...)
decrements number of job
assignments to nil.
UNASSIGNED
TO JOBS
PersonCapacityChanged
event posted by instance
of Person.
Person not assigned
to any jobs.
12 AVAILABLE makeOffShift ( ); sent to
instance of Person.
NOT
AVAILABLE
PersonShiftChanged
event posted by instance
of Person.
PersonStateChanged
event posted by instance
of Person.
Person logged off of
shift.