semi合集-English.pdf - 第2425页
SEMI E86-0200 © SEMI 1999 , 2000 25 // ********** Abstract Interfaces ********** interface NamedEntity { void setName (in string name) raises (FrameworkErrorSignal); string getName ( ) raises (FrameworkErrorSignal); bool…

SEMI E86-0200 © SEMI 1999, 2000 24
struct Property
{
PropertyName property_name;
any property_value;
};
typedef sequence<Property> Properties;
// ---------- Exceptions ----------
exception FrameworkErrorSignal {
unsigned long errorCode ;
any errorInformation ;
};
exception InvalidStateTransitionSignal {
};
exception SetValueOutOfRangeSignal {
};
// ---------- Sequences ----------
typedef sequence<ProcessCapability> ProcessCapabilitySequence ;
typedef stringSequence CategorySequence ;
typedef sequence<HistoryEvent> HistoryEventSequence ;
typedef sequence<Job> JobSequence ;
typedef sequence<Machine> MachineSequence ;
typedef sequence<Person> PersonSequence ;
typedef sequence<QualificationData> QualificationDataSequence ;
typedef sequence<Resource> ResourceSequence ;
typedef sequence<SkillRequirement> RequirementSequence ;
typedef sequence<PersonResponsibility> ResponsibilitySequence ;
typedef sequence<Skill> SkillSequence ;
typedef sequence<string> stringSequence ;
// ********** Base Interfaces **********
interface Job {
};
// ********** Factory Services **********
interface HistoryCollection {
};
interface History {
};
// ********** Factory Management **********
interface MESFactory {
};

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 =