semi合集-English.pdf - 第1669页

SEMI E39-0703 © SEMI 1995, 2003 11 is just the equip ment rather than a component of the equipment ; the owner m ay be defined as“Eq u ipme nt” even if no such object is defined. 10.2.2 Delete — The delete operation is t…

100%1 / 7923
SEMI E39-0703 © SEMI 1995, 2003 10
supervises, and is able to determine their identifiers
(see GetType, Section 11.6),
an owner object is able to determine the types and
identifiers of its owned objects.
Figure 5
Hierarchical Relationships in the Factory
9.4 Multiple Inheritance Hierarchy — Multiple
hierarchical inheritance may be required as an optional
capability for pointing to a specific object that provides
the same services from the inherited objects. Usually,
inherited services are implemented by the domain
object such that specifying “overrides” of attributes or
services from inherited objects is not required.
Sometimes the capability to override specified
attributes and services from inherited object is
necessary to resolve duplicated attribute names or
services or to allow duplicated names in user extended
objects.
9.4.1 If Andy an object TypeA inherits from object
TypeB and TypeC and a service requestor is focusing
services or attributes of the object TypeB rather than
those with the same name in the object TypeC, the
following text string form could specify the focused
part of the object Andy:
TypeA@TypeB:Andy
9.4.2 If any names of service and/or attribute that
TypeB provides are the same as those provided by
TypeA or TypeC, then, the object Andy will have to be
specified with the complete explanation from the
supplier as how the object handles the exception and
the differences from the original attribute or services.
So, the above expression is the same as “TypeA:Andy”
without notes to describe difference.
10 Additional Operations
10.1 This section defines operations that are common
to many types of public objects but are not required for
all types of public objects. These operations are not
required for OSS compliance. However, they may be
required for support of specific object types defined by
other standards that use OSS services.
10.2 Create and Delete — Creation and deletion are
optional services for object lifecycle management.
Object definitions may specify conditions under which
the services are supported. Objects may be created
and/or deleted in other ways. For example, the creation
and deletion of certain types of persistent objects may
be outside of the scope of OSS services, while transient
objects may be created and/or deleted automatically by
their owners as the result of other activities.
10.2.1 Create — The create operation creates an
instance of an object type.
10.2.1.1 Initial settings for one or more attributes may
be specified by the service user. Initial settings may be
required, prohibited, or optional, depending upon the
specific object type. The ability to set attribute values
through the create operation shall be clearly identified
as part of the object definition for those objects
supporting the create operation. For example, the ability
to set the value of the object identifier ObjID
may be
required, optional, or prohibited, depending upon the
type of object.
10.2.1.2 The object definition may also specify
attributes of the new object instantiation that are
returned to the service user by the service provider.
10.2.1.3 A request to create an object is invalid if it
does not provide all required attribute settings, if it
attempts to set prohibited attributes, or if it provides
values invalid for a given attribute.
10.2.1.4 The definitions of certain objects may specify
that the delete service only be provided to, or under the
authority of, the service user that requested the original
create operation. In this case, a private attribute (that is,
an attribute not accessible through services defined in
Section 11) named Delete Token
shall return a unique
integer as an attribute of the new object. This attribute
is then used in a subsequent request to delete the object.
The service user may delegate this token at its own
discretion.
10.2.1.5 The create operation is invoked by the service
Create sent to the owner that is to instantiate the
specified object. In order for the Create service to be
accepted if no owner for the object to be created is
defined in the target entity or if it is physically outside
of the domain of the entity; the object specifier shall
define the owner as “ ” (an empty string). If the entity
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.