semi合集-English.pdf - 第1670页

SEMI E39-0703 © SEMI 1995, 2003 12 10.3.4 Attach Set Attributes — A supervisor may n eed the ability to set certain read-only attribu tes of one of its attached objects subseque nt to the attach operation. The set attach…

100%1 / 7923
SEMI E39-0703 © SEMI 1995, 2003 11
is just the equipment rather than a component of the
equipment; the owner may be defined as“Equipment”
even if no such object is defined.
10.2.2 Delete — The delete operation is the inverse of
the create operation. Individual object types may
restrict deletion based on well-defined set of criteria.
For example, the definition of a type of container may
specify that a container may only be deleted when it is
empty.
10.2.2.1 If an object to be deleted requires the authority
of the service user that invoked the original create
operation, then the Delete Token
attribute of the target
object shall be provided by the user of the delete
service.
10.2.2.2 A request to delete an object is invalid if it
does not provide all required attribute settings or if it
provides values invalid for a given attribute.
10.2.2.3 The delete operation is invoked by the service
Delete sent to the object to be deleted.
10.3 Attachment — When an object receives a remote
request for an operation, it may be unable to identify
the requestor. At the same time, it may be necessary for
an object to determine if certain messages were sent by
its supervisor. This conflict is resolved by formalizing
the relationship between a supervised object and its
supervisor.
10.3.1 Attachment is a dynamic behavioral binding
between two objects in a hierarchical relationship
where it is important that the attached (supervised)
object be able to differentiate certain service requests
made by its supervisor from other requests. An attached
object has exactly one supervisor, as illustrated in
Figure 6.
10.3.2 An attached object may be detached from its
current supervisor, or it may be reattached to a different
supervisor. The latter operation is used when the
previous supervisor has become damaged and is not
intended as a general method for moving the object’s
attachment, as the former supervisor is not notified of
the change.
10.3.3 Attach — When sent to an unattached object,
the attach operation creates a logical connection
between the object and a supervisor. The object that is
being attached creates a unique, private, non-zero
numeric value, called an attach token. The attach token
is treated as an attribute named AttachToken
. It is a
private attribute of the attached object, not visible
through basic OSS services (see Section 11).
10.3.3.1 When an object is first created, it is
unattached, and the value of its attach token is set to a
default value of zero. An object is attached to another
object as a formal relationship. The operation of attach
generates the attach token, which is returned to the
service user. The supervisor uses this token in
subsequent critical service requests to identify itself to
the attached object.
10.3.3.2 The attach operation also may accept settings
for one or more attributes of the attached object, as
defined for the attached object type. This allows the
supervisor to provide values for attributes that are
otherwise regarded as read-only values and cannot be
set through the SetAttr service defined in Section 11.
An example of an attribute value that it is often
desirable to access in this way is the object specifier of
the supervisor.
10.3.3.3 Requests to attach an object that attempt to set
attributes shall be denied unless the attributes are
among those accessible to the supervisor and all
specified settings represent valid values of those
attributes. The object type and identifier shall not be
changed by the supervisor.
10.3.3.4 An attached object is owned by its supervisor.
10.3.3.5 The attach operation is invoked by the mes-
sage service Attach by an intended supervisor. Requests
to attach an already attached object shall be denied.
Figure 6
The Attachment Relationship
SEMI E39-0703 © SEMI 1995, 2003 12
10.3.4 Attach Set Attributes A supervisor may need
the ability to set certain read-only attributes of one of its
attached objects subsequent to the attach operation. The
set attached attributes operation provides this capability
to a supervisor of attached objects. The supervisor
identifies itself by using the attach token for that object.
10.3.4.1 The definition of the attached object type may
restrict the attributes that may be set by this operation.
The attach set attributes operation shall be denied if the
attributes or settings are invalid for this operation.
10.3.4.2 The attach set attributes operation is invoked
by the message service AttachSetAttr sent by the
object’s supervisor and is otherwise invalid.
10.3.5 Detach The detach operation breaks the
logical connection between an attached object and its
supervisor. The attach token is reset to zero, and the
object becomes unattached.
10.3.5.1 The detach operation is invoked by the
message service Detach sent by the object’s supervisor
and is otherwise invalid.
10.3.6 Reattach The reattach operation is similar to
the attach operation, except that it is sent only to an
attached object to change the logical connection from
the attached object to a new supervisor. This operation
is used to replace a damaged supervisor. Any existing
connections to the old supervisor shall be closed. Note
the reattach operation is vulnerable to misuse.
Applications supporting the reattach operation may
have additional requirements, such as notification sent
to the previous supervisor, to provide a trace of misuse.
10.3.6.1 The reattach operation provides a unique
attach token that has not been previously used by the
attached object. This effectively disables its previous
supervisor.
10.3.6.2 An attempt to reattach an object shall be
denied unless the attributes and settings are valid for the
operation.
10.3.6.3 The reattach operation is invoked with the
message service Reattach sent to an attached object by
the object’s new supervisor and is otherwise invalid.
10.3.7 Attach Supervised Object The attach
supervised object operation is invoked by a service user
to request a supervisor to attach to itself a valid target
object. If the supervised object does not already exist or
is not a valid target type for the supervisor, then the
attached supervised object operation shall fail. The
results of the operation are returned to the service user.
10.3.7.1 The attach supervised object operation is
invoked with the service AttachSupervisedObject.
10.3.8 Detach Supervised Object The detach
supervised object operation is invoked by a service user
to request a supervisor to detach from itself an attached
object. The supervisor sends a detach request to the
specified attached object. Regardless of any response
from the specified supervised object, the supervisor
shall consider it thereafter as unattached. This is
required to allow a damaged attached object to be
removed. This operation is successful except when the
target object is not already attached to the supervisor.
10.3.8.1 The detach supervised object operation is
invoked with the service DetachSupervisedObject.
11 Services and Scenarios
11.1 The services defined by OSS are contained in
Table 2.
Table 2 Object Services
Message
Service Name
Type Description
GetAttr R Get values of specified attributes
based on attribute filters.
SetAttr R Set values of specified attributes
based on attribute filters.
GetAttrName R Get names of attributes of objects
owned by the service provider.
GetType R Get types for objects owned by the
service provider.
11.2 Scope — Scope is supported through the object
specifier parameter. The object specifier provides a
method for pointing to objects owned by the service
provider that are otherwise not accessible to the service
user. That is, the service provider may not provide
direct services for, or to, that object. This can occur
when an object for which the service provider offers
services is an owner object, such as an aggregate or file
directory, as described in Section 9. In some cases, the
owned object may itself be remote from the service
provider. For example, the owned object may be
provided by a separate system.
11.2.1 The service provider may be an owner object
with managerial responsibilities, and therefore it may
prohibit direct access to one of its component or
contained objects. In this case, requests concerning an
owned object from a service consumer shall be directed
to the owner object instead.
11.2.2 Object services use the object specifier for the
owner of the target object(s). The construction of the
object specifier is defined in Section 9.
SEMI E39-0703 © SEMI 1995, 2003 13
11.2.3 Object type may be omitted from the object
specifier where it may be otherwise determined without
ambiguity. However, inclusion of type is always valid.
11.3 Filtering — An attribute filter is an optional set of
one or more attribute qualifications. An attribute
qualification is a boolean expression that makes a
statement about the presence or values of attributes in a
target object. It identifies an attribute, a qualifying value
of that attribute, and a qualifying relationship that the
value has to the target attribute. The attribute filter is a
boolean that consists of the expression formed by an
AND of the set of qualifications.
11.3.1 If the attribute is of text form, the qualifying
value may be used as a mask with the embedded wild
characters “? ” (question mark) and “*” (asterisk). The
character “? ” may be used within the mask to represent
“any single character” and may be repeated. The string
“? ? ? ? ? ” represents any text string with a length of five
characters.
11.3.2 The character “*” may be used in the mask to
represent a variable-length string, including a null
string. The string “*x” represents a string of any length
that ends in “x”; the string “x*” represents any string
that begins with “x”.
11.3.3 When the character “*” is used by itself as the
string “*”, however, it represents any string of any non-
zero length. It may also be repeated within a string, as
in “*x*y*”, which represents any string with embedded
characters “x” and “y”, such as “abxaby”, “x_y”, and
“xy”.
11.3.4 The comparison for text characters shall be case
insensitive.
11.3.5 The qualifying value specifies a qualifying
relationship, “R”, between the value specified in the
attribute qualification and the matching attribute of
object instances. The qualifying value for the attribute
is compared with the attribute of an instance of the
target object to test the relationship.
11.3.6 If the qualifying value has the relationship “R”
to the attribute of the target object, then the instance
qualifies for the relationship and is included in the set
of objects for which requested attributes are returned.
For example, if the attribute name is “Length,”
qualifying value is the number 5, and the qualifying
relationship is “is less than,” then the Length attributes
of all instances of the target object are tested. All
instances with a “Length” attribute greater than 5 or
equal to 5 qualify.
11.4 Object Services Parameter Dictionary — Table 3
defines all of the parameters, including the elements of
complex parameters, used in object services.
Table 3 Object Services Parameter Dictionary
Parameter Definition Form
AttrData The value of an attribute. Varies with attribute. The form of an attribute' s value is specified as
part of the definition of an object type.
AttrFilter Attribute filter. Structure composed of AttrName, AttrData, AttrReln.
AttrName The attribute' s name. Text. Varies with object type.
AttrReln Qualifying relationship
between the qualifying value
and the matching attribute of
object instances.
Enumerated:
Equal To
Not Equal To
Less Than
Less Than or Equal To
Greater Than
Greater Than or Equal To
Present (specified attribute is present)
Absent (specified attribute is absent)
Contained (The qualifying value is in (i.e., equal to a member of)
the set of the attribute’s values.)
Not Contained (If omitted, the relationship " Equal to" is assumed.)
AttrSetting The name and value of an
attribute.
Structure composed of AttrName and AttrData.