semi合集-English.pdf - 第2686页

SEMI E97-0200A © SEMI 2000 6 exception FrameworkErrorSignal { string errorMessage; unsigned long errorCode; any errorInformation; }; /* Definition of fields for FrameworkErrorSignal: errorMessage is a tex t field represe…

100%1 / 7923
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 {};
SEMI E97-0200A © SEMI 20007
exception MachineNotAssignedSignal {};
exception MachineRemovalFailedSignal {};
}; // module EquipmentTracking
Module: Labor
Interface: Person
module Labor {
interface Person {}; // Stub
typedef sequence <Person> PersonSequence;
exception PersonDuplicateSignal {};
exception PersonNotAssignedSignal {};
exception PersonRemovalFailedSignal {};
}; // module Labor
6.3.2 Abstract Interface Declarations
Module: AbstractIF
/* The following IDL interfaces will be fully defined in the sections below. They are declared here as forward
references to support the sequence typedefs. */
interface Resource;
interface Material;
interface MaterialGroup;
interface JobSupervisor;
interface Job;
interface JobRequestor;
/* Type definitions for sequences of interfaces instances. */
typedef sequence <Resource> ResourceSequence;
typedef sequence <Material> MaterialSequence;
typedef sequence <MaterialGroup> MaterialGroupSequence;
typedef sequence <Job> JobSequence;
typedef sequence <JobSupervisor> JobSupervisorSequence;
6.4 Resource Abstract Interface Group
6.4.1 The Resource Abstract Interface Group provides a set of abstractions that are globally useful. Figure 1 is the
Information Model for the Resource Abstract Interface Group.