semi合集-English.pdf - 第2717页
SEMI E97-0200A © SEMI 2000 37 The association between an Area an d its composite Areas may be hierarchical or there may simply be a collection of peer Areas without any explicit or implicit relatio nship. Area may or may…

SEMI E97-0200A © SEMI 2000 36
# Current State Trigger New State Action Comment
4 OPERATING void makeStandby
( ); sent to the
instance of
MESFactory.
GOING TO
STANDBY
MESFactory is requested to
go to STANDBY state.
5GOING TO
STANDBY
completion of
Standby transition by
MESFactory.
STANDBY MESFactory is in
STANDBY state event
published by the instance of
MESFactory.
All component managers,
machines and material are
idle and in a safe state.
6 STANDBY void makeOperating
( ); sent to
MESFactory
OPERATING void startup ( ); sent to an
instance of Component-
Manager.
Since standby means nearly
available for immediate
use, this startup transition
should be minimal.
7IN SERVICEvoid
makeShuttingDown
Immediately ( ); sent
to the instance of
MESFactory.
SHUTTING
DOWN
IMMEDI-
ATELY
void shutdownImmediate
( ); sent to all instances of
registered Component
Managers.
As an action, messages
delegated to component
managers. The Resource
inherited interface also
implements
shutdownImmediate
8 SHUTTING
DOWN
IMMEDI-
ATELY
void makeOff (); sent
to the instance of
MESFactory.
OFF void informComponent
ManagerIsStopped (in
ComponentManager
aComponentManager); sent
to the instance of
MESFactory by the
Component Managers.
MESFactory is off event
published by the instance of
MESFactory.
The MESFactory polls the
ComponentManagers and
Resources for completion
of shutdown before the
MESFactory state
transitions to OFF.
9IN SERVICEvoid
makeShuttingDown
Normally ( ); sent to
the instance of
MESFactory.
SHUTTING
DOWN
void shutdown Normal ( );
sent to all instances of
registered Component-
Managers.
As an action, messages
delegated to component
managers.
10 SHUTTING
DOWN
NORMALLY
void makeOff ( );
sent to the instance
of MESFactory.
OFF void informComponent
ManagerIsStopped (in
ComponentManager
aComponentManager); sent
to the instance of
MESFactory by the
Component Managers.
MESFactory is off event
published by the instance of
MESFactory.
The MESFactory polls the
ComponentManagers and
Resources for completion
of shutdown before the
MESFactory state
transitions to OFF.
6.7.4 Area Interface
Module: FactoryOperations
Interface: Area
Inherited Interface: OwnedEntity
Description: Area is the interface corresponding to a physical or logical grouping of factory resources
(the complement of machines and/or personnel assigned to it). Area may represent a
singular entity or it may represent a collection of other Areas. For example, an Area may
represent an entire facility for maintenance purposes, or an Area may represent a
processing area such as a “bay” which is comprised of “zones.”

SEMI E97-0200A © SEMI 200037
The association between an Area and its composite Areas may be hierarchical or there
may simply be a collection of peer Areas without any explicit or implicit relationship.
Area may or may not be an optional construct, depending on such issues as security.
interface Area {
Exceptions: None.
Published Events:
/* Area configuration changed event definition. */
const string AreaConfigurationChangedSubject =
“/Factory/Area/AreaConfigurationChanged”;
/* This enumerated type identifies the types of configuration changes for Areas. It is used in event notifications of
state changes. */
enum AreaChangeType {
MachinesChanged,
PersonsChanged,
SubAreaChanged };
struct AreaConfigurationChangedFilters {
Global::Property name;
Global::Property changeType;
};
AreaConfigurationChangedFilters Properties:
Name Value Type Description
“Name” string The name of the Area.
“ChangeType” AreaChangeType The type of change to the Area.
struct AreaConfigurationChangedEvent {
string eventSubject;
Global::TimeStamp eventTimeStamp;
AreaConfigurationChangedFilters eventFilterData;
Global::Properties eventNews;
Area anArea;
};
Provided Services:
/* Answer the Area to which this Area is associated. If no membership has been established, nil is returned. */
Area getSuperArea ()
raises (Global::FrameworkErrorSignal);
/* Get the unique identifier for the Area. */
string getAreaIdentifier ()
raises (Global::FrameworkErrorSignal);
/* Adds a machine to the receiver. Returns the machine added. */

SEMI E97-0200A © SEMI 2000 38
EquipmentTracking::Machine addMachine (in EquipmentTracking::Machine aMachine)
raises (Global::FrameworkErrorSignal,
EquipmentTracking::MachineDuplicateSignal);
/* Create an association between an Area and the Area to which it belongs. The service will add the Area indicated
by the argument to the receiver’s set of subareas. The service will also update the superarea for the argument. The
service returns the argument. */
Area addSubArea (in Area anArea)
raises (Global::FrameworkErrorSignal,
AreaDuplicateSignal);
/* Adds a person to the receiver. Returns the person added. */
Labor::Person addPerson (in Labor::Person aPerson)
raises (Global::FrameworkErrorSignal,
Labor::PersonDuplicateSignal);
/* Remove the association between an Area and the Area to which it belongs. The service will remove the Area
indicated by the argument from the receiver’s set of subareas. The service will also nullify membership (ownership)
for the argument. */
void removeSubArea (in Area anArea)
raises (Global::FrameworkErrorSignal,
AreaNotAssignedSignal,
AreaRemovalFailedSignal);
/* Removes a machine from the receiver. */
void removeMachine (in EquipmentTracking::Machine aMachine)
raises (Global::FrameworkErrorSignal,
EquipmentTracking::MachineNotAssignedSignal,
EquipmentTracking::MachineRemovalFailedSignal);
/* Removes a person from the receiver. */
void removePerson (in Labor::Person aPerson)
raises (Global::FrameworkErrorSignal,
Labor::PersonNotAssignedSignal,
Labor::PersonRemovalFailedSignal);
/* Set the unique identifier for the Area. */
void setAreaIdentifier (in string identifier)
raises (Global::FrameworkErrorSignal,
Global::DuplicateIdentifierSignal);
/* Returns the set of subareas associated with this Area, that is, the Areas “contained” within this higher-level Area.
If no membership has been established, an empty set is returned. */
AreaSequence allSubAreas ()
raises (Global::FrameworkErrorSignal);
/* Returns the receiver’s set of process machines. */
EquipmentTracking::MachineSequence allMachines ()
raises (Global::FrameworkErrorSignal);
/* Returns the receiver’s set of persons */
Labor::PersonSequence allPersons ()
raises (Global::FrameworkErrorSignal);