semi合集-English.pdf - 第2426页
SEMI E86-0200 © SEMI 1999 , 2000 26 exception PersonDuplicateSignal {string identificationNumber;}; exception PersonNotFoundSignal {string identificationNumber;}; exception PersonNotAssignedSignal {Person unknownPerson;}…

SEMI E86-0200 © SEMI 1999, 200025
// ********** Abstract Interfaces **********
interface NamedEntity {
void setName (in string name) raises (FrameworkErrorSignal);
string getName ( ) raises (FrameworkErrorSignal);
boolean isNamed (in string testName) raises (FrameworkErrorSignal);
HistoryEventSequence getHistoryEvents ( ) raises (FrameworkErrorSignal);
HistoryCollection getHistoryCollection ( ) raises (FrameworkErrorSignal);
};
interface OwnedEntity : NamedEntity {
void setOwner (in any owner) raises (FrameworkErrorSignal);
any getOwner ( ) raises (FrameworkErrorSignal);
};
interface Resource : OwnedEntity {
void startUp ( ) raises (FrameworkErrorSignal);
void shutdownNormal ( ) raises (FrameworkErrorSignal);
void shutdownImmediate ( ) raises (FrameworkErrorSignal);
string resourceLevel ( ) raises (FrameworkErrorSignal);
string nameQualifiedTo (in string resourceLevel)
raises (FrameworkErrorSignal);
ResourceSequence subresources ( ) raises (FrameworkErrorSignal);
boolean isAvailable ( );
boolean isNotAvailable ( );
};
interface ComponentManager : Resource {
void makeRegistered (in MESFactory aFactory)
raises (FrameworkErrorSignal,InvalidStateTransitionSignal);
void makeNotRegistered (in MESFactory aFactory)
raises (FrameworkErrorSignal,InvalidStateTransitionSignal);
void makeStartingUp ( )
raises (FrameworkErrorSignal,InvalidStateTransitionSignal);
void makeShuttingDown ( )
raises (FrameworkErrorSignal,InvalidStateTransitionSignal);
void makeStopped ( )
raises (FrameworkErrorSignal,InvalidStateTransitionSignal);
boolean isStopped ( ) raises (FrameworkErrorSignal);
boolean isStartingUp ( ) raises (FrameworkErrorSignal);
boolean isShuttingDown ( ) raises (FrameworkErrorSignal);
boolean isNotRegistered ( ) raises (FrameworkErrorSignal);
boolean isRegistered ( ) raises (FrameworkErrorSignal);
};
// Person Management Component
module PersonManagement {
// -------------------------- PersonManager --------------------------
interface PersonManager : ComponentManager {

SEMI E86-0200 © SEMI 1999, 2000 26
exception PersonDuplicateSignal {string identificationNumber;};
exception PersonNotFoundSignal {string identificationNumber;};
exception PersonNotAssignedSignal {Person unknownPerson;};
exception PersonRemovalFailedSignal { };
const string PersonLifecycleSubject =
"/PersonManagement/PersonManager/PersonLifecycle" ;
typedef struct PersonLifecycleFilters_Structure {
Property name; // "Name", aPerson’s name
Property lifecycleEvent; // "LifecycleEvent", LifecycleState
} PersonLifecycleFilters;
typedef struct PersonLifecycleEvent_Structure {
string eventSubject;
TimeStamp eventTimeStamp;
PersonLifecycleFilters eventFilterData;
Properties eventNews;
Person aPerson;
// Except when "Delete" where value will be nil
} PersonLifecycleEvent;
const string PersonCapacityChangedSubject =
"/PersonManagement/Person/CapabilityChanged" ;
typedef struct PersonCapacityChangedFilters_Structure {
Property name; // "Name", aPerson’s name
} PersonCapacityChangedFilters;
typedef struct PersonCapacityChangedEvent_Structure {
string eventSubject;
TimeStamp eventTimeStamp;
PersonCapacityChangedFilters eventFilterData;
Properties eventNews;
Person aPerson;
} PersonCapacityChangedEvent;
const string PersonStateChangedSubject =
"/PersonManagement/Person/StateChanged";
enum PersonState {PersonDefined, PersonOffShift, PersonOnShift,
PersonAvailableForWork, PersonNotAvailableForWork, PersonUnassignedToMachines,
PersonAssignedToJobs, PersonAssignedToMachines,
PersonAvailableForMoreAssignments, PersonAssignmentAtCapacityExceeded,
PersonIdleWithJob, PersonBusyWithJob };
typedef struct PersonStateChangedFilters_Structure {
Property name; // "Name", aPerson’s name
Property formerState; // "FormerState", PersonState
Property newState; // "NewState", PersonState
} PersonStateChangedFilters;
typedef struct PersonStateChangedEvent_Structure {
string eventSubject;
TimeStamp eventTimeStamp;
PersonStateChangedFilters eventFilterData;
Properties eventNews;
Person aPerson;
} PersonStateChangedEvent;
const string PersonShiftChangedSubject =

SEMI E86-0200 © SEMI 1999, 200027
"/PersonManagement/Person/ShiftChanged";
typedef struct PersonShiftChangedFilters_Structure {
Property name; // "Name", aPerson’s name
Property fromShift; // "FromShift", former shift
Property toShift; // "ToShift", new shift
} PersonShiftChangedFilters;
typedef struct PersonShiftChangedEvent_Structure {
string eventSubject;
TimeStamp eventTimeStamp;
PersonShiftChangedFilters eventFilterData;
Properties eventNews;
Person aPerson;
} PersonShiftChangedEvent;
Person createPersonWithIdentifier (in string identificationNumber)
raises (FrameworkErrorSignal, PersonDuplicateSignal);
void removePerson (in Person aPerson)
raises (FrameworkErrorSignal,PersonRemovalFailedSignal,
PersonNotAssignedSignal);
PersonSequence allPersons ( ) raises (FrameworkErrorSignal);
Person findByIdentifier (in string identificationNumber)
raises (FrameworkErrorSignal, PersonNotFoundSignal);
PersonSequence allOnShiftPersons (in Shift aShift)
raises (FrameworkErrorSignal);
PersonSequence allAvailableForWorkPersons ( )
raises (FrameworkErrorSignal);
PersonSequence allNotAvailableForWorkPersons ( )
raises (FrameworkErrorSignal);
PersonSequence allPersonsWithSkill (in Skill aSkill)
raises (FrameworkErrorSignal);
PersonSequence allPersonsAvailableForMachine (in Machine aMachine)
raises (FrameworkErrorSignal);
PersonSequence allPersonsAssignedToMachine (in Machine aMachine)
raises (FrameworkErrorSignal);
PersonSequence allAssignedToMachinesPersons ( )
raises (FrameworkErrorSignal);
PersonSequence allPersonsQualifiedForJob (in Job aJob)
raises (FrameworkErrorSignal);
PersonSequence allPersonsAvailableForJob (in Job aJob)
raises (FrameworkErrorSignal);
PersonSequence allPersonsAssignedToJob (in Job aJob)
raises (FrameworkErrorSignal);
PersonSequence allAssignedToJobsPersons ( )
raises (FrameworkErrorSignal);
}; // end PersonManager
// -------------------------- Person --------------------------
interface Person : Resource {
exception QualificationDuplicateSignal {
QualificationData qualificationInformation;};