semi合集-English.pdf - 第2424页
SEMI E86-0200 © SEMI 1999 , 2000 24 struct Property { PropertyName property_name; any property_value; }; typedef sequence<Property> Properties; // ---------- Exceptions ---------- exception FrameworkErrorSignal { u…

SEMI E86-0200 © SEMI 1999, 200023
APPENDIX 1
COMPLETE IDL FOR FACTORY LABOR
NOTE: The material in this appendix is an official part of SEMI E86 and was approved by full letter ballot
procedures on April 15, 1999.
// CIM Framework References
// ********** Forward references **********
interface Job ;
interface Machine ;
interface Person ;
interface ProcessCapability ;
interface QualificationData ;
interface Resource ;
interface SkillRequirement ;
interface Skill ;
// ********** Global Type Definitions **********
typedef struct HistoryEvent_body {
string subject ;
} HistoryEvent ;
struct ulonglong {
unsigned long low ;
unsigned long high ;
};
typedef ulonglong TimeT ;
typedef TimeT TimeStamp ;
struct IntervalT {
TimeT lower_bound ;
TimeT upper_bound ;
};
typedef IntervalT TimeWindow ;
typedef struct Shift_Structure {
string name ;
// ...
} Shift ;
typedef struct PersonResponsibilitystruct {
string responsibilityCategory ;
any responsibility ;
} PersonResponsibility;
typedef string PropertyName;

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 {