semi合集-English.pdf - 第2696页
SEMI E97-0200A © SEMI 2000 16 Resource (from Resource AIG) OwnedEntity (from Resource AIG) Job Supervision Abstract Interface Group JobSupervisor Job 0..* 1..1 0..* 1..1 supervises JobRequestor 1..* 0..* 1..* 0..* contra…

SEMI E97-0200A © SEMI 200015
void removeMaterial (in Material aMaterial)
raises (Global::FrameworkErrorSignal,
MaterialRemovalFailedSignal,
Global::NotFoundSignal);
/* Remove and return all Material from the MaterialGroup. */
MaterialSequence removeAllMaterials ()
raises (Global::FrameworkErrorSignal);
/* Add the argument MaterialGroup to this MaterialGroup. */
void addMaterialGroup (in MaterialGroup aMaterialGroup)
raises (Global::FrameworkErrorSignal,
DuplicateMaterialGroupSignal);
/* Removes the argument MaterialGroup from this MaterialGroup. */
void removeMaterialGroup (in MaterialGroup aMaterialGroup)
raises (Global::FrameworkErrorSignal,
MaterialGroupRemovalFailedSignal,
Global::NotFoundSignal);
/* Remove and return all MaterialGroups from this MaterialGroup. */
MaterialGroupSequence removeAllMaterialGroups ()
raises (Global::FrameworkErrorSignal);
/* Returns the collection of material in this MaterialGroup. */
MaterialSequence allMaterials ()
raises (Global::FrameworkErrorSignal);
/* Returns all the MaterialGroups in this MaterialGroup. */
MaterialGroupSequence allMaterialGroups ()
raises (Global::FrameworkErrorSignal);
/* Returns the count of the items in the MaterialGroup. */
long count ()
raises (Global::FrameworkErrorSignal);
}; // MaterialGroup
Dynamic Model: None.
6.6 Job Supervision Abstract Interface Group
6.6.1 The Job Supervision Abstract Interface Group provides the abstractions common to creating, executing and
managing a “job,” where a job can be defined as some system level operation which may be requested from the
JobSupervisor. The job often spans a significant amount of time and multiple resources within the system. It is
intended for specialization to provide specific job supervisors and jobs to provide system solutions.

SEMI E97-0200A © SEMI 2000 16
Resource
(from Resource AIG)
OwnedEntity
(from Resource AIG)
Job Supervision Abstract Interface Group
JobSupervisor Job
0..*
1..1
0..*
1..1
supervises
JobRequestor
1..*
0..*
1..*
0..*
contracts
work
from
1..*
1
1..*
1
tracks
progress via
JobSpecification
<<typedef>>
Figure 4
Job Supervision Abstract Interface Group Information Model
6.6.1.1 The basic Job Supervision Abstract Interface Group does not interact with other components, except to the
extent that other components instantiate its interfaces. Figure 4 shows how the interfaces of Job Supervision relate to
one another.
6.6.1.2 A Job Specification is a sequence of properties containing the parameters required to sufficiently define the
work to be done. This sequence is passed by the JobRequestor to the JobSupervisor in the Job request message. See
the JobSupervisor interface for more details.
6.6.1.3 JobSupervision levels are hierarchical. One level may accept a Job and delegate portions of that Job to
lower levels. Jobs, however, are not purely hierarchical. A Job accepted by one JobSupervisor may be broken down,
along with other Jobs of that component and reconstituted as needed to optimize the activities of the factory.
6.6.1.4 For example, a ProductRequest may ask for 15 wafers of a particular product. The ProductRequestManager
may delegate a LotJob to Factory Operations with a Lot containing those 15 wafers and 10 more from a different
ProductRequest. In the factory, this Lot may be split up and processed in smaller groups at various stages or, as
scrap reduces the wafer count, combined with another small lot to create a more optimal process group. The Job
Supervision implementation is allowed great latitude to optimize performance. Its only requirement is to fulfill the
specification of the Job.
6.6.2 JobSupervisor Interface
Module: AbstractIF
Interface: JobSupervisor
Inherited Interface: Resource

SEMI E97-0200A © SEMI 200017
Description: The JobSupervisor manages all the Jobs being performed by the component which
implements it. It receives the requests for work, facilitates the creation of a Job for the
task and returns (a reference to) that Job.
A JobSupervisor will have a well defined domain which it can call on to perform work.
These may be CIM Framework Resources if it delegates the work, or internal resources if
it performs the work itself. Only activity requests which can be accomplished within the
domain of a JobSupervisor should be issued to/accepted by that JobSupervisor.
Jobs, as subtypes of NamedEntity, are named by the JobSupervisor in such a way that
their name attribute may be used to query for the Job. Jobs from different JobSupervisors
may have the same name.
The definition of the work to be performed is the JobSpecification, a sequence of
name/value pairs (see “Properties” definition). Specializations of Job Supervision may
require certain properties in the JobSpecification. Some commonly useful properties are
defined in the following table. When possible, specializations should reuse these
definitions. Specializations should also document the allowable and mandatory properties
that are supported. See Job definition for more information.
interface JobSupervisor : Resource {
Type Definitions:
/* Type for returning results of Job execution. */
typedef Global::NameValueSequence Results;
JobSpecification Properties:
Name Value Type Description
“JobType” string The kind of Job to run. This is useful when a JobSupervisor can initiate more than one
type of Job. String values reserved for this property are:
ProductRequestJobType,
LotJobType,
AreaJobType,
ProcessMachineJobType,
TransportJobType,
PMJobType,
ControlStrategyJobType,
AlgorithmJobType.
“Priority” long Integer value, ranges from 1 to 99, where 1 is the highest priority and 99 is the lowest.
“Deadline” TimeStamp The Job is expected to be completed no later than the specified value of the Deadline.
Exceptions:
/* Requested Job was rejected. */
exception JobRejectedSignal {
string errorMessage; };
/* Requested Job was not found */
exception JobNotFoundSignal {
string errorMessage;
string missingJobName; };
Published Events:
/* Provide lifecycle event for tracking */