semi合集-English.pdf - 第2724页

SEMI E97-0200A © SEMI 2000 44 struct ulonglong {unsigned long low ; unsigned long high ; }; typedef ulonglong TimeT ; typedef TimeT TimeStamp; typedef sequence <TimeStamp> TimeStampSequence; struct IntervalT { Time…

100%1 / 7923
SEMI E97-0200A © SEMI 200043
APPENDIX 1
FULL IDL SPECIFICATION
NOTE: The material in this appendix is an official part of SEMI E97 and was approved by full letter ballot procedures on
October 21 and December 15, 1999 by the North American Regional Standards Committee.
module CIMFW {
#ifndef _CIMFW_GLOBAL_
#define _CIMFW_GLOBAL_
module Global {
typedef string Identifier;
typedef unsigned long Flags;
struct NamedValue{
Identifier name;
any argument;
long len;
Flags arg_modes;
};
typedef NamedValue NameValue;
typedef sequence <NamedValue> NameValueSequence;
typedef string PropertyName;
struct Property{
PropertyName Property_name;
any Property_value;
};
typedef sequence <Property> Properties;
typedef sequence <string> StringSequence;
typedef string Unit;
typedef string Units;
typedef sequence <any> anySequence;
typedef sequence <long> longSequence;
enum PriorityOfEvent { Low,
Medium,
High,
Alarm };
enum LifecycleState { Undefined,
Created,
Deleted,
Moved,
Copied };
enum ReservationState { UndefinedReservationState,
Reserved,
UnReserved };
enum E10State { E10Productive,
E10Standby,
E10Engineering,
E10ScheduledDowntime,
E10UnscheduledDowntime,
E10NonscheduledTime };
SEMI E97-0200A © SEMI 2000 44
struct ulonglong
{unsigned long low ;
unsigned long high ;
};
typedef ulonglong TimeT ;
typedef TimeT TimeStamp;
typedef sequence <TimeStamp> TimeStampSequence;
struct IntervalT {
TimeT lower_bound;
TimeT upper_bound;
};
typedef IntervalT TimeWindow;
typedef TimeT Duration;
struct ResourceSchedule {
TimeStamp plannedStartTime;
TimeStamp plannedEndTime;
TimeStamp actualStartTime;
TimeStamp actualEndTime;
};
typedef sequence <ResourceSchedule> ResourceScheduleSequence;
exception NotFoundSignal { string errorMessage; };
exception DuplicateIdentifierSignal {
string errorMessage;
string duplicateIdentifier; };
exception InvalidStateTransitionSignal {
string errorMessage; };
exception SetValueOutOfRangeSignal {
string errorMessage; };
exception TimePeriodInvalidSignal {
string errorMessage; };
exception InvalidPropertyNameSignal {};
exception PropertyNotFoundSignal {};
exception UnsupportedPropertySignal {};
exception ReadOnlyPropertySignal {};
exception FrameworkErrorSignal {
string errorMessage;
unsigned long errorCode;
any errorInformation;};
const unsigned long NOT_IMPLEMENTED = 0;
const unsigned long IMPLEMENTED_BY_SUBCLASS = 1;
const unsigned long UNKNOWN_EXCEPTION = 2;
const unsigned long COMPLETION_UNKNOWN = 3;
}; // module Global
#endif // _CIMFW_GLOBAL_
module EquipmentTracking {
interface Machine {}; // Stub
SEMI E97-0200A © SEMI 200045
typedef sequence <Machine> MachineSequence;
exception MachineDuplicateSignal { };
exception MachineNotAssignedSignal { };
exception MachineRemovalFailedSignal { };
}; // module EquipmentTracking
module Labor {
interface Person {}; // Stub
typedef sequence <Person> PersonSequence;
exception PersonDuplicateSignal { };
exception PersonNotAssignedSignal { };
exception PersonRemovalFailedSignal { };
}; // module Labor
#ifndef _CIMFW_ABSTRACT_IF_
#define _CIMFW_ABSTRACT_IF_
module AbstractIF {
interface Resource;
interface Material;
interface MaterialGroup;
interface JobSupervisor;
interface Job;
interface JobRequestor;
typedef sequence <Resource> ResourceSequence;
typedef sequence <Material> MaterialSequence;
typedef sequence <MaterialGroup> MaterialGroupSequence;
typedef sequence <Job> JobSequence;
typedef sequence <JobSupervisor> JobSupervisorSequence;
interface NamedEntity {
void setName (in string name)
raises (Global::FrameworkErrorSignal);
string getName ( )
raises (Global::FrameworkErrorSignal);
boolean isNamed (in string testName)
raises (Global::FrameworkErrorSignal);
}; // NamedEntity
interface OwnedEntity : NamedEntity {
void setOwner (in NamedEntity owner)
raises (Global::FrameworkErrorSignal);
NamedEntity getOwner ( )