semi合集-English.pdf - 第2685页

SEMI E97-0200A © SEMI 2000 5 struct ResourceSchedule { TimeStamp plannedStartTime; TimeStamp plannedEndTime; TimeStamp actualStartTime; TimeStamp actualEndTime; }; /* The defin i tion of a se quence of ResourceSchedules.…

100%1 / 7923
SEMI E97-0200A © SEMI 2000 4
enum LifecycleState {
Undefined,
Created,
Deleted,
Moved,
Copied };
/* This enumerated type identifies the states of objects that can be reserved (Lot, Durable and Machine). It is used in
event notifications of state changes. */
enum ReservationState {
UndefinedReservationState,
Reserved,
UnReserved };
/* This enumerated type represents the SEMI E10 states for Machines and Support Resources. It is used in event
notifications of state changes. */
enum E10State {
E10Productive,
E10Standby,
E10Engineering,
E10ScheduledDowntime,
E10UnscheduledDowntime,
E10NonscheduledTime };
/* TimeT is a ulonglong value (64 bits) that represents the number of 100 nanosecond increments that have passed
since a base time (October 15, 1582 at 00:00, the Universal Time Representation which refers to time in Greenwich
Mean Time). The specification for TimeT is: */
struct ulonglong {
unsigned long low;
unsigned long high;
};
typedef ulonglong TimeT;
/* TimeStamp is mapped to the data type of TimeT. */
typedef TimeT TimeStamp;
typedef sequence <TimeStamp> TimeStampSequence;
/* The notion of a specific interval of time denoting a start time and an end time is represented as a struct called
IntervalT. */
struct IntervalT {
TimeT lower_bound ;
TimeT upper_bound ;
};
/* TimeWindow is mapped to the data type IntervalT. */
typedef IntervalT TimeWindow;
/* Duration is mapped to the datatype TimeT. */
typedef TimeT Duration;
/* This structure is for the representation of a single schedule instance. It should be noted that “EndTime” should
never proceed “StartTime.” */
SEMI E97-0200A © SEMI 20005
struct ResourceSchedule {
TimeStamp plannedStartTime;
TimeStamp plannedEndTime;
TimeStamp actualStartTime;
TimeStamp actualEndTime;
};
/* The definition of a sequence of ResourceSchedules. This sequence is ordered in increasing time order and that
order must be maintained in any manipulation of the sequence. */
typedef sequence <ResourceSchedule> ResourceScheduleSequence;
6.2 Global Exception Declarations
6.2.1 This section describes the standard CIM Framework exceptions that may be thrown by operations in any
component.
Module: Global
/* This signal is raised when a lookup or find fails. */
exception NotFoundSignal { string errorMessage; };
/* This signal is raised when an add fails because an object already exists with the given identifier. Interfaces may
also define and raise a <ObjectType>DuplicateSignal. */
exception DuplicateIdentifierSignal {
string errorMessage;
string duplicateIdentifier; };
/*This signal is raised when an invalid state transition request is made of an object. */
exception InvalidStateTransitionSignal {
string errorMessage; };
/*This signal is raised when a “set” attribute contains a value out of range. */
exception SetValueOutOfRangeSignal {
string errorMessage; };
/* This signal is raised when an incorrect TimePeriod is used. */
exception TimePeriodInvalidSignal {
string errorMessage; };
/* This signal is raised when a Property name is not valid. */
exception InvalidPropertyNameSignal {};
/* This signal is raised when a a Property with this name is not defined. */
exception PropertyNotFoundSignal {};
/* This signal is raised when a Property is not supported. */
exception UnsupportedPropertySignal {};
/* This signal is raised when a Property is read-only and cannot be set. */
exception ReadOnlyPropertySignal {};
/* This signal is raised when no other defined signal matches the error condition. */
SEMI E97-0200A © SEMI 2000 6
exception FrameworkErrorSignal {
string errorMessage;
unsigned long errorCode;
any errorInformation; };
/* Definition of fields for FrameworkErrorSignal:
errorMessage is a text field representing a description of the circumstances of the exception for use by
developers in debugging the exception.
errorCode is a numeric field representing the code for the given exception.
errorInformation is any further debugging information related to the circumstances of the exception.
The errorCode has certain reserved values that are defined and standardized in the CIM Framework.
0000–0999 reserved for the CIM Framework.
1000–1999 reserved for extensions to the CIM Framework.
2000–2999 reserved for specializations of CIM Framework interfaces.
3000–maximum reserved for implementers. /*
/* This errorCode should be used for any operation where the supplier has chosen to not provide implementation,
but needs to communicate to the user that nothing has happened as a result of this operation invocation. */
const unsigned long NOT_IMPLEMENTED =0;
/* This errorCode should be used for any operation where the supplier assumes a specialization will implement this
operation. If this exception is received, the user will realize that an interface has not been properly specialized. */
const unsigned long IMPLEMENTED_BY_SUBCLASS =1;
/* This errorCode should be used for any operation where an unknown exception has been caught by the
implementation and, rather than crashing, the implementation can map the “unknown” exception into this known
exception. This probably does not aid in program debugging but does prevent program crashing. */
const unsigned long UNKNOWN_EXCEPTION =2;
/* This errorCode should be used for any invocation where some unknown error has occurred that left the server
object in an ambiguous state. */
const unsigned long COMPLETION_UNKNOWN =3;
6.3 Abstract Interface Type Definitions
6.3.1 Referenced Declarations
6.3.1.1 The following declarations are not part of this specification, but are required for reference by Abstract
Interface elements. These referenced declarations are defined in separate documents but are noted here as
dependencies that appear in IDL compilations.
Module: EquipmentTracking
Interface: Machine
module EquipmentTracking {
interface Machine {}; // Stub
typedef sequence <Machine> MachineSequence;
exception MachineDuplicateSignal {};