semi合集-English.pdf - 第2405页

SEMI E86-0200 © SEMI 1999 , 2000 5 typedef IntervalT TimeWindow ; typedef struct Shift_Structure { string name ; // ... } Shift ; typedef struct PersonResponsibilitystruct { string responsibilityCategory ; any responsibi…

100%1 / 7923
SEMI E86-0200 © SEMI 1999, 2000 4
interface Resource : OwnedEntity {
};
interface ComponentManager : Resource {
};
interface Job {
};
6.2.3 Other CIM Framework Interfaces
6.2.3.1 This section identifies interfaces within other CIM Framework components that are needed to satisfy
relationships with the Factory Labor component.
interface HistoryCollection { // from Factory Services
};
interface History { // from Factory Services
};
interface MESFactory { // from Factory Management
};
6.2.4 Global Type Definitions
6.2.4.1 The CIM Framework uses IT-ODP-IDL typedefs in two ways:
To define aliases for compound object types (structs), which can then be used in IDL specifications and
To define aliases for basic object types, but with additional implied semantics. (e.g., the units typedef defines a
string, whose contents conform to definitions found in SEMI E5).
6.2.4.2 This section identifies the global type definitions required by the Factory Labor component specification.
typedef sequence<string> stringSequence ;
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 ;
};
SEMI E86-0200 © SEMI 1999, 20005
typedef IntervalT TimeWindow ;
typedef struct Shift_Structure {
string name ;
// ...
} Shift ;
typedef struct PersonResponsibilitystruct {
string responsibilityCategory ;
any responsibility ;
} PersonResponsibility;
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 string PropertyName;
struct Property
{
PropertyName property_name;
any property_value;
};
typedef sequence<Property> Properties;
6.2.5 Global Exception Declarations
6.2.5.1 An exception is an infrastructure mechanism used to notify a calling client of an operation that an unusual
condition occurred in carrying out the operation. This section identifies the global exception declarations required by
the Factory Labor component specification.
exception FrameworkErrorSignal {
unsigned long errorCode ;
any errorInformation ;
};
exception InvalidStateTransitionSignal {
};
exception SetValueOutOfRangeSignal {
};
6.2.6 Events
6.2.6.1 An event is an asynchronous message denoting the occurrence of some incident of importance. For
example, state change or new object created. This section identifies the events defined by the Factory Labor
component specification. Note that “//” or “/* ....*/” infers a comment.
SEMI E86-0200 © SEMI 1999, 2000 6
/* Person lifecycle event definition. */
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;
/* Person capacity changed event definition. */
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;
/* Person state changed event definition. */
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;
/* Person shift worked changed event definition. */
const string PersonShiftChangedSubject = "/PersonManagement/Person/ShiftChanged";
typedef struct PersonShiftChangedFilters_Structure {
Property name; // “Name”, aPerson’s name
Property fromShift; // “FromShift”, former shift