semi合集-English.pdf - 第2701页

SEMI E97-0200A © SEMI 2000 21 const string JobStateChangedSubject = “/JobSupervision/Job/StateChanged”; /* This enumerated ty pe identifies the states of Jobs. It is used in event notifications of state changes. */ enum …

100%1 / 7923
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;
};
SEMI E97-0200A © SEMI 2000 22
JobDeadlineCannotBeMetFilters Properties:
Name Value Type Description
“Name” string The name of the Job.
“Deadline” Global::TimeStamp Value of the Deadline that cannot be met.
struct JobDeadlineCannotBeMetEvent {
string eventSubject;
Global::TimeStamp eventTimeStamp;
JobDeadlineCannotBeMetFilters eventFilterData;
Global::Properties eventNews;
Job aJob;
};
/* This event is posted when a Job’s deadline date has changed. */
const string JobDeadlineChangedSubject =
“/JobSupervision/Job/DeadlineChanged”;
struct JobDeadlineChangedFilters {
Global::Property name;
Global::Property previousDeadline;
Global::Property newDeadline;
};
JobDeadlineChangedFilters Properties:
Name Value Type Description
“Name” string The name of the Job.
“PreviousDeadline” Global::TimeStamp Previous Deadline.
“NewDeadline” Global::TimeStamp New Deadline.
struct JobDeadlineChangedEvent {
string eventSubject;
Global::TimeStamp eventTimeStamp;
JobDeadlineChangedFilters eventFilterData;
Global::Properties eventNews;
Job aJob;
};
Exceptions: None.
Provided Services:
/* Ask the Job for its JobRequestor. */
JobRequestor getJobRequestor ()
raises (Global::FrameworkErrorSignal);
/* Get a named Job property from its Job Specification. */
Global::Property getJobProperty (
in Global::PropertyName aPropertyName)
raises (Global::FrameworkErrorSignal,
Global::InvalidPropertyNameSignal,
Global::PropertyNotFoundSignal);
/* Set a named Job property in its Job Specification. */