semi合集-English.pdf - 第2687页
SEMI E97-0200A © SEMI 2000 7 exception MachineNotAssignedSignal {} ; exception MachineRemovalFailedSignal {} ; }; // module EquipmentTracking Module: Labor Interface: Person module Labor { interface Person {} ; // Stub t…

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.

SEMI E97-0200A © SEMI 2000 8
Resource
Resource Abstract Interface Group
NamedEntity
OwnedEntity
0 ..1
0..*
0 ..1
0..*
owned by
Figure 1
Resource Abstract Interface Group Information Model
6.4.1.1 All CIM Framework interfaces will inherit from one of the interfaces shown in Figure 1. NamedEntity
provides the most basic naming functions. An OwnedEntity is a NamedEntity with functions supporting the concept
of ownership. A Resource is an OwnedEntity which also takes an active role in product manufacturing.
6.4.2 Named Entity Interface
Module: AbstractIF
Interface: NamedEntity
Inherited Interface: Implementation-dependent.
Description: The abstract interface NamedEntity provides the concept of a named item. This allows
for comparison and conversion of names via a standard object.
Exceptions: None.
Published Events: None.
Provided Services:
interface NamedEntity {