semi合集-English.pdf - 第2414页
SEMI E86-0200 © SEMI 1999 , 2000 14 /* Retu rn a boolean den oting whether or not a Person is assigned to th e specified job. * / boolean isAssignedToJob (in Job aJob) raises (FrameworkErrorSignal); /* Re turn a boolean …

SEMI E86-0200 © SEMI 1999, 200013
/* Return a boolean denoting whether or not a Person is available for work. */
boolean isAvailableForWork ( ) raises (FrameworkErrorSignal);
/* Return a boolean denoting whether or not a Person is at their work station. */
boolean isAtWorkStation ( ) raises (FrameworkErrorSignal);
/* Determine if a Person is qualified to perform a process or material handling job for a specific machine (has a
specific skill.) The Person is qualified to operate the machine if the machine is noted in the Person's skill list, or if a
comparison of the Person’s course and medical exam histories satisfy the requirements defined within the Skill
Management Component for the noted machine. This service does not check the availability of the Person to
actually perform a task. */
boolean hasSkill (in Skill aSkill) raises (FrameworkErrorSignal);
/* Return a boolean denoting whether or not a Person is qualified for any machine. */
boolean hasSkills ( ) raises (FrameworkErrorSignal);
/* Return a boolean denoting whether or not a Person is available for the specified machine. */
boolean isAvailableForMachine (in Machine aMachine) raises (FrameworkErrorSignal);
/* Assign Person to a machine. A Person may be assigned to more than one machine at a time.*/
void assignToMachine (in Machine aMachine) raises (FrameworkErrorSignal);
/* Terminates personnel assignment to a machine. */
void deassignFromMachine (in Machine aMachine) raises (FrameworkErrorSignal);
/* Return a boolean denoting whether or not a Person is assigned to the specified machine. */
boolean isAssignedToMachine (in Machine aMachine) raises (FrameworkErrorSignal);
/* Return a boolean denoting whether or not a Person is assigned to any machine. */
boolean isAssignedToMachines ( ) raises (FrameworkErrorSignal);
/* Retrieve the set of machines to which a Person is assigned. */
MachineSequence assignedMachines ( ) raises (FrameworkErrorSignal);
/* Return a boolean denoting whether or not a Person is available to be assigned to more machines. */
boolean isAvailableForMoreMachineAssignments ( ) raises (FrameworkErrorSignal);
/***** The following services support job assignment. *****/
/* Return a boolean denoting whether or not a Person is qualified for the specified job. */
boolean isQualifiedForJob (in Job aJob) raises (FrameworkErrorSignal);
/* Return a boolean denoting whether or not a Person is qualified for any job. */
boolean isQualifiedForJobs ( ) raises (FrameworkErrorSignal);
/* Return a boolean denoting whether or not a Person is available for the specified job. */
boolean isAvailableForJob (in Job aJob) raises (FrameworkErrorSignal);
/* Assigns a Person to a job. A Person may be allocated to more than one job at a time. */
void assignToJob (in Job aJob) raises (FrameworkErrorSignal);
/* Terminates personnel assignment to a job. */
void deassignFromJob (in Job aJob) raises (FrameworkErrorSignal);

SEMI E86-0200 © SEMI 1999, 2000 14
/* Return a boolean denoting whether or not a Person is assigned to the specified job. */
boolean isAssignedToJob (in Job aJob) raises (FrameworkErrorSignal);
/* Return a boolean denoting whether or not a Person is assigned to any jobs. */
boolean isAssignedToJobs ( ) raises (FrameworkErrorSignal);
/* Retrieve the set of jobs to which a Person is assigned. */
JobSequence assignedJobs ( ) raises (FrameworkErrorSignal);
/* Return a boolean denoting whether or not a Person is available for more jobs. */
boolean isAvailableForMoreJobAssignments ( ) raises (FrameworkErrorSignal);
Contracted Services: None.
Dynamic Model:
NOT AVAILABLE
AVAILABLE
AT WORK STATION
NOT AT WORK STATION
UNASSIGNED TO JOBS
ASSIGNED TO JOBS
AVAILABLE FOR MORE ASSIGNMENTS
ASSIGNMENT AT CAPACITY EXCEEDED
UNASSIGNED TO MACHINES
ASSIGNED TO MACHINES
AVAILABLE FOR MORE ASSIGNMENTS
ASSIGNMENT AT CAPACITY EXCEEDED
AT WORK STATION
NOT AT WORK STATION
AT WORK STATION
NOT AT WORK STATION
UNASSIGNED TO JOBS
ASSIGNED TO JOBS
AVAILABLE FOR MORE ASSIGNMENTS
ASSIGNMENT AT CAPACITY EXCEEDED
UNASSIGNED TO MACHINES
ASSIGNED TO MACHINES
AVAILABLE FOR MORE ASSIGNMENTS
ASSIGNMENT AT CAPACITY EXCEEDED
UNASSIGNED TO MACHINES
UNASSIGNED TO JOBS
ASSIGNED TO JOBS
AVAILABLE FOR MORE ASSIGNMENTS
ASSIGNMENT AT CAPACITY EXCEEDED
AVAILABLE FOR MORE ASSIGNMENTS
ASSIGNMENT AT CAPACITY EXCEEDED
112
2
3
ASSIGNED TO MACHINES
AVAILABLE FOR MORE ASSIGNMENTS
ASSIGNMENT AT CAPACITY EXCEEDED
AVAILABLE FOR MORE ASSIGNMENTS
ASSIGNMENT AT CAPACITY EXCEEDED
4
56
7
811
10
9
Figure 3
Person Dynamic Model

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.