semi合集-English.pdf - 第1793页
SEMI E42-0704 © SEMI 1995, 2004 62 The download recipe operation is invoked by the message service RMNAction. 9.4.9 Upload Recipe — Th e upload recipe operation causes the manager to upload a recipe fro m the recipe exec…

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

SEMI E42-0704 © SEMI 1995, 2004 63
attribute of the agent-specific dataset for the recipe
executor’s agent. Note that attributes of a recipe may
change without affecting the version number.
Synchronization may fail either through failure to
properly upload an execution recipe, through failure to
properly retrieve the value of the execution recipe’s
ExecLinkParam
attribute, or through failure to
successfully rename the recipe stored by the recipe
executor. The attribute SynchFail
contains a list of
recipe specifiers of the execution recipes for which
synchronization was attempted but failed to be
successfully completed. A recipe specifier shall be
deleted from SynchFail
if a later attempt at the failed
operation for that recipe is successful. The authorized
user may also remove one or all recipe specifiers from
this attribute.
The attribute SynchOn
is set by the user to indicate the
types of changes for which synchronization shall be
performed. SynchOn
may be set to specify synchroniz-
ation for changes to the body, changes to the last value,
creation of a new recipe, building a new derived object
form recipe from a source form, or any combination of
these settings. A value of zero disables synchronization.
SynchOn
is an unsigned integer. Possible values are
either 0 (disabled) or any combination (sum) of one or
more of the following decimal values:
0 = synchronization disabled
1 = changes in body
2 = new execution recipes
8 = changes in the last value of one or more
variable parameters (i.e., to the ExecParam
attribute of the execution recipe)
16 = new derived object form execution recipes
NOTE: Where possible, the values of SynchOn
and
ExecChgCtrl
address the same change issues. For this
reason, a value of 4 is not used, and a new value of 16
is added.
9.6 Table of Operations — Table 9.1 lists all the
operations defined for namespace management.
The column labeled “Rqmt” is used to indicate those
operations that are required for fundamental compliance
to RMS as a recipe namespace resource.
Table 9.1 Namespace Operations
Operation Description Rqmt
create namespace A new namespace is created and assigned an identifier. N
delete namespace A namespace is deleted. N
rename namespace The namespace identifier is re-assigned. N
get available storage Determine the amount of recipe storage available. Y
check recipe status Determine the existence and read-only status of a recipe, and obtain the next numeric version. Y
get best version Determine the default version for a given recipe class and name and for an optional agent. Y
create recipe A new recipe body is entered into the namespace. Y
delete recipe A recipe's identifier is removed from the namespace. Y
store recipe A recipe is stored in a namespace. Y
retrieve recipe A recipe is sent from the namespace. Y
copy recipe A new recipe is originated as a copy of an existing recipe. N
rename recipe A recipe is assigned a new identifier. N
verify recipe Check the syntax or format of a recipe body for correctness. Y
download recipe A recipe is downloaded to a specified agent's recipe executor. Y
upload recipe A recipe is created or updated by uploading a recipe body from a specified agent's recipe
executor.
N
9.7 Namespace Events — A user of recipe namespace services is potentially interested in any change that occurs to
or within a namespace that was not initiated by the user itself. Two such events are defined: Recipe Namespace
Change and Recipe Change. A Recipe Namespace Change event occurs when a namespace is created, deleted, or
renamed, or when a recipe is created, deleted, copied, or renamed. A Recipe Change event occurs whenever the
body or any of the attributes, including agent-specific attributes, of an existing recipe is changed.