semi合集-English.pdf - 第2411页

SEMI E86-0200 © SEMI 1999 , 2000 11 Provided Services: /* Set a nd get the Person' s departme nt. */ void setDepartment (in string department) raises (SetValueOutOfRange, FrameworkErrorSignal); string getDepartment …

100%1 / 7923
SEMI E86-0200 © SEMI 1999, 2000 10
/* This signal is raised when an addition operation fails because the Qualification specified by the argument already
exists. */
exception QualificationDuplicateSignal {
QualificationData qualificationInformation;};
/* This signal is raised when a removal operation fails because the Qualification specified by the argument could not
be located. */
exception QualificationNotAssignedSignal {string identificationNumber;};
/* This signal is raised when a retrieval operation fails because the Qualification specified by the argument could not
be located. */
exception QualificationNotFoundSignal {string identificationNumber;};
/* This signal is raised when an addition operation fails because the Responsibility specified by the argument
already exists. */
exception ResponsibilityDuplicateSignal {any responsibility ;
string responsibilityCategory;};
/* This signal is raised when an operation fails because the Responsibility category specified by the argument could
not be located. */
exception ResponsibilityCategoryNotFoundSignal {
string responsibilityCategory;};
exception ResponsibilityCategoryRemovalFailedSignal { };
/* This signal is raised when a removal operation fails because the Responsibility specified by the argument could
not be located. */
exception ResponsibilityRemovalFailedSignal {
any responsibility;
string responsibilityCategory;};
/* This signal is raised when an addition operation fails because the skill specified by the argument already exists. */
exception SkillDuplicateSignal {Skill aSkill;};
/* This signal is raised when a removal operation fails because the skill specified by the argument could not be
located. */
exception SkillRemovalFailedSignal {Skill aSkill;};
exception SkillNotAssignedSignal {Skill aSkill;};
Published Events:
/* This event is posted when a Person's capacity to do work has changed. This includes assignment to/deassignment
from machines and jobs. It also includes changing the number of jobs and/or machines to which a Person may be
assigned. */
PersonCapacityChangedEvent
/* This event is posted when a Person's availability has changed. This includes logging on/off a shift,
leaving/returning to a work station, or capacity exceeded. */
PersonStateChangedEvent
/* This event is posted when a Person has been reassigned to a different shift. */
PersonShiftChangedEvent
SEMI E86-0200 © SEMI 1999, 200011
Provided Services:
/* Set and get the Person's department. */
void setDepartment (in string department)
raises (SetValueOutOfRange, FrameworkErrorSignal);
string getDepartment ( ) raises (FrameworkErrorSignal);
/* Set and get the Person's name. */
void setFullname (in string fullname)
raises (SetValueOutOfRange, FrameworkErrorSignal);
string getFullname ( ) raises (FrameworkErrorSignal);
/* Set and get the Person's identification number. */
void setIdentificationNumber (in string idNumber)
raises (SetValueOutOfRange, FrameworkErrorSignal);
string getIdentificationNumber ( ) raises (FrameworkErrorSignal);
/* Set and get the maximum number of jobs to which a Person can be assigned simultaneously. */
void setMaximumAssignedJobs (in long maximumJobs)
raises (SetValueOutOfRange, FrameworkErrorSignal);
long getMaximumAssignedJobs ( ) raises (FrameworkErrorSignal);
/* Set and get the maximum number of machines to which a Person can be assigned simultaneously. */
void setMaximumAssignedMachines (in long maximumMachine)
raises (SetValueOutOfRange, FrameworkErrorSignal);
long getMaximumAssignedMachines ( ) raises (FrameworkErrorSignal);
/* Set and get the Person's shift assignment. */
void setShift (in shift aShift) raises (SetValueOutOfRange, FrameworkErrorSignal);
shift getShift ( ) raises (FrameworkErrorSignal);
/* Add an object within the factory to a Person’s responsibility category. The concept of “responsibility” implies
that a Person is authorized to perform, operate or access the factory object. It does not imply ownership. The first
argument represents the responsibility (object within the factory) which is associated with a responsibility category,
while the second argument is the category. If the specified category does not exist, it is created. The service returns
the added factory object. For example, add a machine to the Person’s “maintenance responsibilities” category.
Another example: add a change notice to a Person’s “signoff responsibility” category. */
any addResponsibility_toCategory (in any responsibility,
in string responsibilityCategory)
raises (FrameworkErrorSignal, ResponsibilityDuplicateSignal,
ResponsibilityCategoryNotFoundSignal );
/* Remove an object within the factory from a Person’s responsibility category. If the specified category, or
responsibility does not exist, then an exception is raised. */
void removeResponsibility_fromCategory (in any responsibility,
in string responsibilityCategory)
raises (FrameworkErrorSignal, ResponsibilityRemovalFailedSignal,
ResponsibilityCategoryRemovalFailedSignal);
/* Return the responsibilities (objects within a factory) which are assigned to a Person’s responsibility category. For
example, return all of the specifications in the category “specification management.” A dictionary of key/value pairs
is returned that represents these responsibility associations. The key is the “responsibility category name” while the
value is the set of factory objects associated with that category. */
ResponsibilitySequence responsibilities ( ) raises (FrameworkErrorSignal);
SEMI E86-0200 © SEMI 1999, 2000 12
/* Add the skill (qualification to operate a specific machine) to the Person’s list of skills. Skills may be assigned or
obtained through the completion of specified course (s) and medical examination (s). This service does not detail
specific course and medical examination requirements. */
void addSkill (in Skill aSkill)
raises (FrameworkErrorSignal, SkillDuplicateSignal);
/* Remove the skill from the Person’s list of skills. */
void removeSkill (in Skill aSkill)
raises (FrameworkErrorSignal, SkillRemovalFailedSignal,
SkillNotFoundSignal);
/* Retrieve the set of skills for which this Person is qualified. */
SkillSequence skills ( ) raises (FrameworkErrorSignal);
/* Add the specified qualification (training course or medical examination) data to the training or medical history of
a Person. */
void addQualification (in QualificationData qualificationInformation)
raises (FrameworkErrorSignal, QualificationDuplicateSignal);
/* Remove the specified qualification data from the training or medical history of a Person. */
void removeQualification (in QualificationData qualificationInformation)
raises (FrameworkErrorSignal, QualificationNotAssignedSignal);
/* Retrieve all information relative to a Person’s particular qualification by performing a search using its unique
identifier. */
QualificationData findQualificationByIdentifier (in string identifier)
raises (FrameworkErrorSignal, QualificationNotFoundSignal);
/* Retrieve the set of qualifications attained by this Person. */
QualificationDataSequence qualifications ( ) raises (FrameworkErrorSignal);
/* Return the sequence of process capabilities that this Person is qualified to perform. */
ProcessCapabilitySequence processCapabilities ( ) raises (FrameworkErrorSignal);
/***** The following services provide basic state control and query. *****/
/* Denote that this person has logged on to the current shift and is AVAILABLE. */
void makeOnShift ( )
/* Denote that this person has logged off of the current shift and is NOT AVAILABLE. */
void makeOffShift ( )
/* Denote that this Person is at a workstation and available for work. It is required that the Person has logged on to
the current shift. Assignment to machine (s) and/or job (s) may or may not have occurred. */
void makeAtWorkStation ( )
raises (FrameworkErrorSignal, InvalidStateTransitionSignal );
/* Denote that this Person is not immediately available at a work station and cannot perform work. An example of
this condition is an operator taking a personal break during a shift. */
void makeNotAtWorkStation ( )
raises (FrameworkErrorSignal, InvalidStateTransitionSignal );
/* Return a boolean denoting whether or not a Person is logged on to the current shift. */
boolean isOnShift ( ) raises (FrameworkErrorSignal);