semi合集-English.pdf - 第1792页

SEMI E42-0704 © SEMI 1995, 2004 61 Figure 9.2 Verify Scenario The verify recipe operation is invoke d by the message service RMNAction. Figure 9.2 shows a typical sequence of the message flow when the verify operatio n i…

100%1 / 7923
SEMI E42-0704 © SEMI 1995, 2004 60
Figure 9.1
Delete Recipe Scenario
9.4.3 Store Recipe — The store recipe operation is
used to store a complete recipe, including its body,
generic attributes, and one or more agent-specific
datasets, in a namespace. Note: methods of storing
recipes are not specified by RMS.
Storage shall be denied if the specified recipe identifier
is already used by an existing read-only recipe or if
there is insufficient storage available for the recipe.
Otherwise, the recipe shall be accepted into the
namespace.
The store recipe operation is invoked by the message
service RMNStore.
9.4.4 Retrieve Recipe — The retrieve recipe request
specifies the identifier of a recipe. If the recipe exists
within the namespace, the namespace manager returns
the requested recipe. Otherwise, it shall deny the
request. This is a required operation.
It is also possible to retrieve a recipe's generic
attributes set to a non-default value and/or one or more
of its agent-specific datasets without retrieving its
body.
The retrieve recipe operation is invoked by the message
service RMNRetrieve.
9.4.5 Copy Recipe — The copy recipe operation causes
a new copy of a recipe, with a different identifier from
the original recipe, to be created within the namespace.
If the identifier for the new copy is already in use by a
pre-existing read-only recipe, the namespace shall deny
the request.
The copy recipe operation is invoked by the message
service RMNCopy.
9.4.6 Rename Recipe — The rename recipe operation
causes a recipe to be assigned a new identifier within
the namespace. If the new identifier is already in use by
a pre-existing read-only recipe, the namespace shall
deny the request. In this case, it may suggest a new
version according to the rules in Section 3.2.3.3.
The rename recipe operation is invoked by the message
service RMNRename.
9.4.7 Verify Recipe — A manager is not required to
understand the syntax or semantics of the recipe
language of a source recipe or to understand the
internal format of an object form recipe. To verify a
recipe, the manager may require the services of a recipe
executor, described in Section 6. In this case, the
manager shall request verification from the recipe
executor of one of the agents listed in its Members
attribute and shall return the resulting status and error
information to the initial requestor. (See Section 11 for
more detail.) This is a required operation.
SEMI E42-0704 © SEMI 1995, 2004 61
Figure 9.2
Verify Scenario
The verify recipe operation is invoked by the message
service RMNAction. Figure 9.2 shows a typical
sequence of the message flow when the verify operation
is requested for multiple recipes. The namespace
manager responds to the service request RMNAction
(Verify) with an intent to perform the requested
operations. Each recipe specified in the request is
downloaded to a recipe executor of an agent listed in
the namespace attribute Members
. (Note: where the
namespace manager and recipe executor are provided
by the same agent, formal RMS services are not
required for communications between the two.) In this
example, the recipe executor responds to the
namespace manager with an intent to comply, verifies
the recipe, and returns the information required for the
completion of the verify operation as described in
Section 8.2.3.1. The namespace manager, in turn,
returns the final status of the operation for that recipe in
the notification message RMNComplete.
The recipe executor provides two operations for
performing verifications, “download and verify” and
“verify”. The former operation does not typically re-
verify already verified recipes. See Sections 11.2.1 and
11.2.2 for detail.
The verify recipe operation is invoked by the message
service RMNAction.
9.4.8 Download Recipe — The download recipe
operation causes the namespace manager to download
a recipe to the recipe executor of a specified agent (see
Section 11.2.1). This operation differs from the verify
operation, which results in a download to an
unspecified recipe executor if the namespace manager
is not able to perform the verification without help.
The namespace manager is responsible for converting
the form of a managed recipe to that of an execution
recipe for downloading. This is accomplished through
the following steps:
1. If the recipe is not verified, then no conversion is
performed. The attributes ExecAttrLength
and
ExecAttrChgTime
are set and maintained only by the
recipe executor. These attributes are not sent with the
downloaded recipe.
2. The generic attributes ExtRef and Parameters of the
verified recipe are not sent with the downloaded recipe.
3. If an agent-specific dataset exists that corresponds to
the destination recipe executor, and if the agent-specific
attributes AgentSpec Comments
and Certified are non-
empty, they are included in the attributes of the
downloaded recipe.
4. The execution recipe attribute ExecLinkParam
combines the contents of the generic attribute
LinkParam
and the agent-specific attribute AgentSpec
LinkParam. If an agent-specific dataset exists that
corresponds to the destination recipe executor, and if
there are variable parameter initial values and
restrictions in the agent-specific attribute AgentSpec
LinkParam, then they replace their corresponding
elements in the generic attribute LinkParam
, and the
results are placed in the ExecLinkParam
attribute of the
downloaded recipe.
SEMI E42-0704 © SEMI 1995, 2004 62
The download recipe operation is invoked by the
message service RMNAction.
9.4.9 Upload Recipe — The upload recipe operation
causes the manager to upload a recipe from the recipe
executor of a specified agent (see Section 11.2.3). This
operation is the equivalent of a namespace-initiated
recipe create (if the specified recipe identifier does not
already exist in the namespace) or a recipe update.
The upload operation allows recipes that have been
created or modified by the recipe executor to be placed
under management in a namespace. Such recipes are
always unlinked.
In addition, it is possible to upload previously
downloaded recipes. However, due to the differences in
the attributes, certain intermediate information available
in a managed recipe, such as ExtRef
and Parameters,
must be re-created for the uploaded recipe by
requesting the recipe executor to verify the recipe and
send the results.
In the case of the derived object form recipe, where the
original source recipe identified in the SrcRcpID
attribute (common to both recipe types) exists within
the namespace, most of the attributes of the derived
object form recipe are identified to those of the original.
The exceptions are the attributes AttrLength
,
AttrChgTime
, BodyLength, BodyFormat, and
EditTime
, which are all set by the recipe executor at the
time the derived object form recipe is derived.
The namespace manager is responsible for converting
the uploaded execution recipe to a managed recipe for
storage in the namespace. This is accomplished through
the following steps:
1. If the recipe is not verified, then no conversion is
performed. The attributes ExecAttrLength
and
ExecAttrChgTime, if uploaded, are discarded.
2. The generic attributes ExtRef
and Parameters of the
verified recipe are not sent with the uploaded recipe.
They must be obtained separately through the verify.
3. If an agent-specific dataset exists that corresponds to
the destination recipe executor, then if the execution
recipe attributes AgentSpec Comments
and Certified
are non-empty, they are placed in the corresponding
attributes of an agent-specific dataset for that recipe
executor. If necessary, an agent-specific dataset is
created.
4. Any variable parameter initial values and
restrictions in the execution recipe attribute AgentSpec-
LinkParam
replace their corresponding elements in the
corresponding agent-specific attribute (if the dataset for
that agent exists) in the uploaded recipe. If it can be
determined that the contents of AgentSpec LinkParam
are not different from those of the generic attribute
LinkParam
(as in the case of a derived object form
recipe), then AgentSpec LinkParam
should be
discarded. If necessary, an agent-specific dataset is
created for the appropriate agent.
The upload recipe operation is invoked by the message
service RMNAction.
9.5 Synchronization — In addition to the explicit
operations that are invoked through specific message
services, the recipe namespace manager may provide
the optional capability of sychronization of the
managed recipes with execution recipes stored by the
recipe executors of its member agents. This section
describes the synchronization capability.
The ExecChgCtrl
attribute of a recipe is used to specify
types of permitted changes in execution recipes. The
recipe executor is permitted to change the recipe body
or to save the last settings used for variable parameters
in the ExecLinkParam
attribute of the execution recipe
only when expressly granted permission in
ExecChgCtrl
.
ExecChgCtrl
may also require the recipe executor to
send a change notification message to the recipe’s
originating namespace. The originating namespace is
either the namespace from which the recipe was
downloaded or to which a new recipe will be uploaded.
Change notification applies to both the explicitly
permitted changes (modification and saving the last
value) and to a derived object form recipe built from a
source form recipe. Change notification informs the
namespace that a change of interest to the namespace
has occurred.
Namespaces with synchronization capability provide
two additional attributes, SynchOn
and SynchFail. The
first allows the user to disable synchronization or to
select the types of synchronization desired, and the
second records execution recipe specifiers of recipes for
which synchronization failed.
Synchronization for a new or changed recipe, or a new
recipe form, consists of uploading the execution recipe
for which a change notification has been received and,
when necessary to protect a read-only recipe, assigning
it a new version number and requesting the recipe
executor to rename the corresponding execution recipe.
Note that the recipe executor is required to deny
attempts to rename a currently selected execution
recipe.
The recipe executor saves the last value of a variable
parameter in the execution recipe attribute Exec-
LinkParam. Synchronization for a new last value
consists of getting the value of this attribute from the
recipe executor and updating the AgentSpec LinkParam