semi合集-English.pdf - 第1791页
SEMI E42-0704 © SEMI 1995, 2004 60 Figure 9.1 Delete Recipe Scenario 9.4.3 Store Recipe — The store recipe operati o n is used to store a complete recipe, including its body, generic attri butes , and o ne or more agent-…

SEMI E42-0704 © SEMI 1995, 2004 59
of “Default” is prohibited. Once created, the
namespace shall be ready to accept recipes.
This is an optional capability that is not required if the
owner agent that provides the namespace capabilities
also provides an installed default namespace (see
Section 6) that cannot be deleted. In this case, a means
of recreating the namespace shall be provided in the
event the namespace becomes damaged.
The create namespace operation is invoked with the
message service RMNCreateNS.
9.2.2 Delete Namespace — The delete namespace
operation is the inverse of the create namespace
operation. A namespace that is not empty may not be
deleted. It is recommended that the default namespace
of a recipe executor should not be deleted. This is an
optional capability required only if the create
namespace operation is supported.
The delete namespace operation is invoked by the
message service RMNDeleteNS.
9.2.3 Rename Namespace — The rename namespace
operation allows an authorized user to change the
identifier of the namespace. It is recommended that the
default namespace of a recipe executor should not be
renamed. This is an optional capability required only if
the create namespace operation is supported.
The rename namespace is invoked by the message
service RMNRenameNS.
9.3 Namespace Informational Operations
9.3.1 Get Available Storage — The get available
storage operation is used to determine the size of the
remaining recipe storage capacity, in bytes. The value
returned shall exclude any overhead requirements for
storage of one generic recipe. That is, it shall be
assumed that sufficient storage exists for a single recipe
with a combined generic attribute length and body
length less than or equal to the returned value, and
ignoring possible space requirements for additional
agent-specific datasets. This is a required operation.
The get available storage operation is invoked by the
message service RMNSpaceInquire.
9.3.2 Check Recipe Status — The check recipe status
operation checks a recipe identifier and returns the
status for existence and read-only (PROTECTED or
UNPROTECTED state). It also returns the next
available numeric version. This is a required operation.
This operation may be used to determine if a given
recipe identifier will be accepted prior to sending it to
the namespace and to obtain an available version if the
original identifier is used for a read-only recipe.
The check recipe status operation is invoked by the
message service RMNRecStatInquire.
9.3.3 Get Best Version — The get best version
operation checks for the best default version of a recipe
with a specified class and name and for an optional
specific member agent. If a member agent is specified,
then in addition to the rules for selection of a default
version defined in Section 3.2.3.4.1, the version with
the highest certification level for that agent is selected.
This is a required operation.
The get best version operation is invoked by the
message service RMNVersionInquire.
9.4 Namespace Recipe Operations — This section
describes the recipe operations that affect the set of
recipe identifiers within the namespace and/or involve
moving an entire recipe.
9.4.1 Create Recipe — A recipe is created through the
create recipe operation when a namespace is sent a
recipe with an identifier, body, body descriptor, and the
attributes BodyFormat
and EditedBy only. This
operation sets the attributes AttrLength
and
AttrChgTime
and clears the remaining generic
attributes.
This capability allows a recipe body that has been
created off-line to be stored in a namespace. It is
required of any namespace intended for use other than
as a default namespace for hardware-specific recipes
only
10
.
The create recipe operation is invoked by the message
service RMNCreate.
9.4.2 Delete Recipe — The delete recipe operation has
the effect of deleting a recipe from the namespace.
Complete physical erasure of the recipe is not required,
but the recipe is no longer considered to be stored in the
namespace, is no longer accessible, and the storage
space that it used is freed.
A read-only recipe may not be deleted.
The delete recipe operation is invoked by the message
service RMNAction. More than one recipe may be
specified by the service user. Figure 9.1 illustrates the
flow of messages in this case. The namespace manager
responds to the initial request with an intent to comply
before performing any deletions. As each deletion is
completed, the manager notifies the service user of the
results using RMNComplete.
10 In the case of the default namespace dedicated to hardware-
specific recipes, the recipes may always be created initially by the
recipe executor and uploaded to namespace.

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.