semi合集-English.pdf - 第2854页
SEMI E105-0701 © SEMI 2000, 2001 5 6.1.6 Sched ulingManager Inter face Module: Sch eduling Interface: SchedulingManag er Inherited In terface: ComponentManager interface SchedulingManager : FactoryOperations::ComponentMa…

SEMI E105-0701 © SEMI 2000, 2001 4
6.1.4 Scheduling Component Declarations
/* The ActivityType enumerated value will determine which kind of activity is represented and the appropriate
properties present in the activitySpec. */
enum ActivityType {
ProductionActivity,
TransportActivity,
MaintenanceActivity,
DoNothing };
/* ActivityOption represents a single activity that is eligible to be dispatched for execution. The
prioritySequenceNumber represents the priority ordering of a list of ActivityOptions in the case where a manual
process includes selection of one ActivityOption from the list. The deadline is a timestamp that is used to convey
start time constraints for activities. It may also be used in a DoNothing activity to specify the timeout for a retry of
the dispatch request. */
struct ActivityOption {
ActivityType activityType;
short prioritySequenceNumber;
Global::TimeStamp deadline;
AbstractIF::ResourceSequence resources;
AbstractIF::MaterialGroupSequence materialGroups;
DurablesManagement::DurableSequence durables;
Global::Properties activitySpec;
}; // ActivityOption
/* ActivityForecast represents a single Activity that may be dispatched and executed in the future. An
ActivityForecast includes information that is equivalent to an ActivityOption, but with added start and finish time
projections. The timeSequenceNumber represents the time ordering of activities consistent with the projectedStart
and projectedFinish. */
struct ActivityForecast {
ActivityType activityType;
short timeSequenceNumber;
AbstractIF::ResourceSequence resources;
AbstractIF::MaterialGroupSequence materialGroups;
DurablesManagement::DurableSequence durables;
Global::TimeStamp projectedStart;
Global::TimeStamp projectedFinish;
Global::Properties activitySpec;
}; // ActivityForecast
/* An ActivityList contains one or more ActivityOptions for a Resource, MaterialGroup or Durable which are all
eligible for immediate execution. A list of one ActivityOption represents a decision from the SchedulingComponent.
A list of more than one ActivityOption represents recommendations from the SchedulingComponent which require
some external interaction for a decision to be reached. */
typedef sequence <ActivityOption> ActivityList;
/* A ForecastList contains one or more ActivityForecasts for a Resource or MaterialGroup which are not yet
dispatched for execution. */
typedef sequence <ActivityForecast> ForecastList;
6.1.5 Use of ActivitySpec Properties— The ActivitySpec part of the ActivityOption and ActivityForecast are
provided to allow implementations to extend the specifications of activities for specific implementations. The names
and value types of properties included in these ActivitySpec structure are not part of the standard.

SEMI E105-0701 © SEMI 2000, 20015
6.1.6 SchedulingManager Interface
Module: Scheduling
Interface: SchedulingManager
Inherited Interface: ComponentManager
interface SchedulingManager : FactoryOperations::ComponentManager {
Description: The SchedulingManager provides the concrete interfaces that support the registration and
control of the Scheduling Component and enable access to the Dispatcher and Scheduler
interfaces.
Exceptions:
/* An attempt was made to request an activity for a resource that is not found within the factory data available to this
SchedulingManager. */
exception ResourceNotFound {
AbstractIF::Resource requestedObject;};
/* An attempt was made to request an activity for a material group that is not found within the factory data available
to this SchedulingManager. */
exception MaterialGroupNotFound {
AbstractIF::MaterialGroup requestedObject;};
/* An attempt was made to request an activity for a durable that is not found within the factory data available to this
SchedulingManager. */
exception DurableNotFound {
DurablesManagement::Durable requestedObject;};
Published Events:.
/* The ActivityListAvailable event is published by the Scheduling Component to notify event subscribers that a new
ActivityList containing changes is available. The generation of ActivityListAvailable events is controlled as an
implementation specific configuration choice. */
ActivityListAvailable
/* The ForecastListAvailable event is published by the Scheduling Component to notify event subscribers that a new
Forecast is available. ForecastList generation is potentially a compute-intensive operation which may benefit from
event notification when an updated forecast is available. The generation of ForecastListAvailable events is
controlled as an implementation specific configuration choice. */
ForecastListAvailable
Provided Services:
/* Return an activity list for this resource. The activity list will contain the number of existing activities requested in
listCount in maximum. If “listCount” is blank, the activity list shall contain all existing activities. A decision will
be represented by an activity list with only one activity option. The ActivityOptions returned by this operation may
be ProductionActivity, MaintenanceActivity or DoNothing ActivityTypes. Although Resources are typically
immobile (such a Equipment), some Resources may also be subject to TransportActivities. */
ActivityList whatNextForResourceByCount (
in AbstractIF::Resource aResource)
in short listCount)
raises (Global::FrameworkErrorSignal,
ResourceNotFound);

SEMI E105-0701 © SEMI 2000, 2001 6
/* Return an activity list for this material group. The activity list will contain the number of existing activities
requested in listCount in maximum. If “listCount” is blank, the activity list shall contain all existing activities. A
decision will be represented by an activity list with only one activity option. The ActivityOptions returned by this
operation may be ProductionActivity, TransportActivity or DoNothing ActivityTypes. */
ActivityList whatNextForMaterialGroupByCount (
in AbstractIF::MaterialGroup aMaterialGroup,
in short listCount)
raises (Global::FrameworkErrorSignal,
MaterialGroupNotFound);
/* Return an activity list for this durable. The activity list will contain the number of existing activities requested in
listCount in maximum. If “listCount” is blank, the activity list shall contain all existing activities. A decision will
be represented by an activity list with only one activity option. The ActivityOptions returned by this operation may
be ProductionActivity, MaintenanceActivity, TransportActivity or DoNothing ActivityTypes. */
ActivityList whatNextForDurableByCount (
in DurablesManagement::Durable aDurable)
in short listCount)
raises (Global::FrameworkErrorSignal,
DurableNotFound);
/* Return an activity list containing the next TransportActivity for this material group. A decision will be
represented by an activity list with only one activity option. The ActivityOptions returned by this operation may be
TransportActivity or DoNothing ActivityTypes. This operation is defined to support a factory operating with a
“push” model that pushes material to the next storage or production machine. */
ActivityList whereNextForMaterialGroup (in AbstractIF::MaterialGroup aMaterialGroup)
raises (Global::FrameworkErrorSignal,
MaterialGroupNotFound);
/* Return an activity list containing the next TransportActivity for this durable. A decision will be represented by an
activity list with only one activity option. The ActivityOptions returned by this operation may be TransportActivity
or DoNothing ActivityTypes. This operation is defined to support a factory operating with a “push” model that
pushes material to the next storage or production machine. */
ActivityList whereNextForDurable (in DurablesManagement::Durable aDurable)
raises (Global::FrameworkErrorSignal,
DurableNotFound);
/* Return a forecast list containing future activities for this resource. The forecast list will contain all activities
projected to start before the lookAheadTime, but which have not yet been started. The forecast list may include a
mix of different activity types. */
ForecastList forecastForResourceByTime (
in AbstractIF::Resource aResource,
in Global::TimeStamp lookAheadTime)
raises (Global::FrameworkErrorSignal,
ResourceNotFound);
/* Return a forecast list containing future activities for this material group. The forecast list will contain all activities
projected to start before the lookAheadTime, but which have not yet been started. The forecast list may include a
mix of different activity types. */
ForecastList forecastForMaterialGroupByTime (
in AbstractIF::MaterialGroup aMaterialGroup,
in Global::TimeStamp lookAheadTime)
raises (Global::FrameworkErrorSignal,
MaterialGroupNotFound);