semi合集-English.pdf - 第2700页
SEMI E97-0200A © SEMI 2000 20 JobSequence allActiveJobs () raises (Global::FrameworkErrorSignal); JobSequence allExecutingJobs () raises (Global::FrameworkErrorSignal); JobSequence allPausingJobs () raises (Global::Frame…

SEMI E97-0200A © SEMI 200019
void resumeAllJobs ()
raises (Global::FrameworkErrorSignal);
/* This command aborts all the Jobs under the control of the JobSupervisor immediately, without regard to the
impact of abruptly halting the Job. This service should be used with great caution. It may result in irrevocable
change to factory or material state. */
void abortAllJobs ()
raises (Global::FrameworkErrorSignal);
/* This command stops all Jobs under control of the JobSupervisor, as quickly as possible. Stopping Jobs should not
result in damage to the factory or material being processed. */
void stopAllJobs ()
raises (Global::FrameworkErrorSignal);
/* This service removes a Job which is in the terminated state. If required, persistent information about the Job may
be captured in a history entry. Jobs may also be removed based on other archiving rules. */
void removeFinishedJob (in Job aJob)
raises (Global::FrameworkErrorSignal);
/* Find a Job by name. A Job is a NamedEntity */
Job findJobNamed (in string jobName)
raises (Global::FrameworkErrorSignal,
JobNotFoundSignal);
/* Find a queued Job by name. */
Job findQueuedJobNamed (in string jobName)
raises (Global::FrameworkErrorSignal,
JobNotFoundSignal);
/* Find an active Job by name. */
Job findActiveJobNamed (in string jobName)
raises (Global::FrameworkErrorSignal,
JobNotFoundSignal);
/* Find a canceled Job by name. */
Job findCanceledJobNamed (in string jobName)
raises (Global::FrameworkErrorSignal,
JobNotFoundSignal);
/* Find a finished Job by name. */
Job findFinishedJobNamed (in string jobName)
raises (Global::FrameworkErrorSignal,
JobNotFoundSignal);
/* Return all the specified Jobs. The JobSequence may be empty. */
JobSequence allJobs ()
raises (Global::FrameworkErrorSignal);
JobSequence allQueuedJobs ()
raises (Global::FrameworkErrorSignal);
JobSequence allCanceledJobs ()
raises (Global::FrameworkErrorSignal);

SEMI E97-0200A © SEMI 2000 20
JobSequence allActiveJobs ()
raises (Global::FrameworkErrorSignal);
JobSequence allExecutingJobs ()
raises (Global::FrameworkErrorSignal);
JobSequence allPausingJobs ()
raises (Global::FrameworkErrorSignal);
JobSequence allPausedJobs ()
raises (Global::FrameworkErrorSignal);
JobSequence allStoppingJobs ()
raises (Global::FrameworkErrorSignal);
JobSequence allAbortingJobs ()
raises (Global::FrameworkErrorSignal);
JobSequence allFinishedJobs ()
raises (Global::FrameworkErrorSignal);
JobSequence allStoppedJobs ()
raises (Global::FrameworkErrorSignal);
JobSequence allAbortedJobs ()
raises (Global::FrameworkErrorSignal);
JobSequence allCompletedJobs ()
raises (Global::FrameworkErrorSignal);
}; // JobSupervisor
Contracted Services: None.
Dynamic Model: Inherited.
6.6.3 Job Interface
Module: AbstractIF
Interface: Job
Inherited Interface: OwnedEntity
Description: The Job interface represents a unit of work requested of an associated JobSupervisor and
performed (or facilitated) by a factory entity. A Job generally results in some change of
the overall factory state. How the entities that supply the Job and JobSupervisor
interfaces actually perform the work (or delegation of work) is an implementation
decision. A Job is expected (but not required) to take a non-zero time to perform and
have a non-zero chance of refusal or failure. A Job may encapsulate a decomposition into
a sequence of jobs/tasks/activities which are delegated to lower level job supervisors. The
Job exists during the execution timeframe. The more persistent record of the Job should
be maintained in a history entry.
interface Job : OwnedEntity {
Exceptions:
Published Events:
/* Any time the Job’s state changes. */

SEMI E97-0200A © SEMI 200021
const string JobStateChangedSubject =
“/JobSupervision/Job/StateChanged”;
/* This enumerated type identifies the states of Jobs. It is used in event notifications of state changes. */
enum JobState {
JobUndefined,
JobCreated,
JobQueued,
JobActive,
JobExecuting,
JobNotPaused,
JobPausing,
JobPaused,
JobNotStopping,
JobStopping,
JobNotAborting,
JobAborting,
JobFinished,
JobCanceled,
JobCompleted,
JobStopped,
JobAborted };
struct JobStateChangedFilters {
Global::Property name;
Global::Property previousState;
Global::Property newState;
};
JobStateChangedFilters Properties:
Name Value Type Description
“Name” string The name of the Job.
“PreviousState” string Previous state preceding the most recent change.
“NewState” RegistrationState New state following the most recent change.
struct JobStateChangedEvent {
string eventSubject;
Global::TimeStamp eventTimeStamp;
JobStateChangedFilters eventFilterData;
Global::Properties eventNews;
Job aJob;
};
/* If the Job cannot be completed by the specified deadline, a JobDeadlineCannotBeMetEvent should be sent as
early as possible, not necessarily after the deadline has passed. */
const string JobDeadlineCannotBeMetSubject =
“/JobSupervision/Job/DeadlineCannotBeMet”;
struct JobDeadlineCannotBeMetFilters {
Global::Property name;
Global::Property deadline;
};