semi合集-English.pdf - 第3584页
SEMI E139-0705 © SEMI 2005 8 7 Overvie w of RaP 7.1 The RaP s pecification is focused on the defini tion, manage ment, and transfer of equi pment recipes. In RaP, the recipe components are called ProcessDefinit ionElemen…

SEMI E139-0705 © SEMI 2005 7
Error — The Error type is a structure that contains information about an error that has occurred. The form of
the structure is implementation dependent and shall be defined by each sub-specification of RaP that describes
messaging using a specific technology (for example SECS-II or XML/SOAP).
Integer — A numeric value. Integers are always whole numbers. The form and number of bytes is left to the
implementation definition.
Real — A numeric value that may represent any whole or fractional number. The form and number of bytes is
left to the implementation definition.
String — A text string. Limitations on length are left to the implementation technology unless otherwise
specified in this document. Strings are recommended to be implemented as UTF-8.
Checksum — A checksum value calculated on a specific stream of data using a specific method of calculation.
Time — Representation of the date and time of the occurrence of interest. The structure and form of items of
this type is left to the implementation.
UUID — Universally unique identifier created according to the ISO specification referenced in ¶4.2 and
represented as ASCII characters. Note that this type is represented by all-caps “UUID” to differentiate it from
the “uuid” ISO standard string definition that defines the content of an attribute of type “UUID”.
Any — The format may be any of the others listed in this section. Format is determined by the implementation.
list of xxx — An item that can hold multiple instances of a specified type (where xxx is the data type).
6.2.6 Association Documentation
6.2.6.1 Associations are documented using the form of Table 2. Only Navigable Associations for the class of
interest are included in the table. See ¶6.2.7 for explanation of Navigable Associations.
6.2.6.2 For each association, the table lists the Type, Description, Associated Class, Role, and Cardinality
Type — The type of association. The possible values include Composition, Aggregation, and Association. See
the UML standard in ¶4.3 for an explanation of these types of association.
Description — Text describing the association.
Associated Class — The name of the class connected by this association.
Role — The role name of the associated class in the association taken from the UML diagram. Composition
associations are not given roles in this document, since it usually implies containment of the aggregated objects.
Cardinality — How many of the associated class may be associated with this class – documented in UML form.
Table 2 Navigable Associations for Class xxx
Type Description Associated Class Role Cardinality
6.2.7 Association Navigability
6.2.7.1 UML associations include the concept of “Navigability”. When an association is navigable, the association
may be traversed to reach the class instance at the opposite end of the association (target object).
6.2.7.2 By default, an association is navigable in both directions. If an arrowhead is shown on one end of an
association, then navigability exists only in that direction.
6.2.7.3 From any object, it must be possible to obtain a reference to the target objects of any of its navigable
associations. For any navigable association defined in this document, this is required of the implementer. The
method of referencing the target objects is implementation dependent and is not specified in this document.

SEMI E139-0705 © SEMI 2005 8
7 Overview of RaP
7.1 The RaP specification is focused on the definition, management, and transfer of equipment recipes. In RaP, the
recipe components are called ProcessDefinitionElements
or PDEs. This section describes the high level view of the
concepts and the requirements that contribute to meet the purpose of this specification as described in §1.
7.2 This RaP overview makes reference to requirements defined later in the document. However, no statement in
this overview section defines a requirement. This overview is intended to provide a general understanding of the
RaP concepts so that the detailed requirements that follow can be more easily understood.
7.3 RaP Participants
7.4 RaP assumes that there are three participants in the management of recipes – the FICS, the Equipment, and the
PDEeditor. When these provide RaP services, they become “RaPnodes” – the FICS becomes an FICSnode, the
Equipment becomes an EquipmentNode, and the PDEeditor becomes an EditorNode.
7.5 These three participants must work together to achieve the goals of recipe management. They may exist as
independent entities using defined message services (RaPnodes) or may be combined in some cases (as the editor is
often integrated into the equipment). Since integrated modules need no standardized communications, RaP defines
the services and data needed for these participants to exist independently as shown in Figure 2.
Equipment
Node
Equipment
Node
Editor
Node
Editor
Node
Equipment
Node
Editor
Node
FICS
Node
Equipment
Node
Equipment
Node
Editor
Node
Editor
Node
Equipment
Node
Editor
Node
FICS
Node
Figure 2
RaPnodes
7.6 RaP Environment
7.6.1 In discussing recipe management, one can divide the topic into three logically separate activities:
Execution of recipes
Creation and editing of recipes
Tracking and storage of recipes
7.6.2 RaP does not specify exactly how to perform any of these three activities. However, these activities define the
context in which RaP defined services and concepts are to be applied. The recipes themselves must reflect certain
aspects of these activities.
7.7 Execution of Recipes
7.7.1 When an activity is performed on an equipment, that activity must be fully specified in order for execution to
occur. RaP describes the main specification (recipe) and also parameters that can be set to amend the recipe. It does
not define the process for execution of the recipe.
7.7.2 RaP assumes that the equipment or some component of the equipment represents the target for the execution
of a recipe. In this document, that target is referred to as a Process Module. RaP assumes that there is a way to
identify a Process Module and that certain characteristics of that Process Module are known to the factory (make,
model, supplier, etc.).
7.7.3 RaP is compatible with SEMI E120. In terms of SEMI E120, the Process Module corresponds to the
“AbstractModule” class. The AbstractModule class models parts of the equipment structure capable of processing
material. Its attributes include “recipeType” which specifies the type of recipes that the AbstractModule can

SEMI E139-0705 © SEMI 2005 9
execute. These are the recipes that RaP proposes to manage. RaP does not require use of or compliance with SEMI
E120. However, if SEMI E120 compliance exists, then the source EquipmentElement of much of the RaP related
data (both input and output) would be more explicitly identified.
7.7.4 From the FICS point of view, enough must be known about the recipe so that it can select the correct one for
each situation (combination of machine, substrate, process step, etc.).
7.8 Creation and Editing of Recipes
7.8.1 RaP considers creation and editing of recipes to be an independent concept. This means that the editing
capability can reside on the equipment, within the factory system, as a separate entity independent of both, or in
combinations of all of these. There are advantages and disadvantages to each and these will change over time.
Therefore, RaP makes no requirement on where the PDEeditor must reside.
7.9 Tracking and Storage of Recipes
7.9.1 Storage of at least some recipes on the equipment is necessary to support processing. Storage of recipes at the
PDEeditor is also necessary, for example, to support creation of multi-part recipes. Most factories would also be
expected to store a copy of most recipes for safekeeping. So all participants in recipe management might reasonably
be expected to store at least some recipes.
7.9.2 RaP also makes available characteristics of the recipes that support tracking and validation (id, checksum,
creation date, etc.).
7.10 Communication Overview
7.10.1 RaP is focused on the communications among the three “RaPnodes” defined above: FICSnode,
EquipmentNode, and EditorNode. There are three types of functions that can be performed via a RaP interface:
Transfer PDEs — request PDEs from or send PDEs to a node.
Manage PDEs — obtain information about the PDEs on a node and delete them when desired.
Verify — determine which PDEs are needed for a job and check that all are present and well-formed.
7.10.2 These three categories represent the eight services defined by RaP. Detailed definition of the communication
services is provided in ¶8.4. That section also defines which RaPnodes must support which of these functions. ¶8.5
defines additional requirements on the RaPnodes.
7.11 Key Recipe Concepts
7.11.1 In order to fulfill its purpose, RaP must provide more than simple recipe transfer services. This section
describes key concepts used in this specification to enhance the basic functions above to yield a robust “Recipe and
Parameter Management” capability.
7.12 ProcessDefinitionElement
7.12.1 A recipe can be a single component or it can be made up of multiple components. The components of a
recipe are called ProcessDefinitionElements or PDEs. The PDE is the central artifact of RaP. This section
describes the PDE.
7.12.1.1 PDE –Two Parts
7.12.1.1.1 One barrier to automation of recipe handling is the opaque nature of the contents. For several reasons,
suppliers have been reluctant to allow the user (and thus the automation system) visibility to the recipe contents.
RaP addresses that problem by dividing the recipe component (or now, PDE) into two parts: documentation and
executable. This is illustrated in Figure 3.
7.12.1.1.2 The documentation part of the PDE includes the PDEheader. This part is always public and available to
the user. The PDEheader contains such information as the name, description, and author of the PDE as well as its
antecedents (PDEs upon which this one was based) and the Process Module(s) for which it is intended. More detail
about the PDEheader content can be found in ¶8.3.2.