Information Technology Reference
In-Depth Information
- The expression e is non-separate, i.e., p
.
- The expression e appears in a routine f that has an attached formal argument w
with the same handler as e , i.e., p
=
=
w
.
handler .
The second condition is satisfied if and only if at least one of the following conditions
is true:
- The expression e appears as an attached formal argument of f .
- The expression e has a qualified explicit processor specification w
.
handler and w is
an attached formal argument of f .
- The expression e has an unqualified explicit processor specification p ,andsomeat-
tached
formal
argument
of
f
has
p
as
its
unqualified
explicit
processor
specification.
The notation
Γ
controlled
(
t
)
denotes that an expression e of type t is controlled. To
establish the derivation
one has to find an attached formal argument
w in the enclosing routine such that the types suggest that w and e are handled by the
same processor or one has the establish that the type t is non-separate. One can therefore
be sure that whenever an expression e is controlled, either a matching formal argument
exists or its type is non-separate. For the first case, the formal argument is the controlling
entity for e . For the second case, the current entity is the controlling entity. Although
not present in Nienaltowski's formalization of the type system, this work introduces
a new derivation
Γ
controlled
(
t
)
that returns the controlling entity y for
an expression e as an instance of ENTITY . This notion is essential to determine the
handler of any controlled expression without evaluating the expression. One can simply
determine the controlling entity and then determine the handler of the controlling entity.
Γ
y
=
controlling entity
(
e
)
4.2
Components of the State
The state is divided into three parts: the regions, the heap, and the store. The main pur-
pose of the heap is to keep track of objects and to maintain the mapping of references to
objects. It also maintains the once status of once routines, i.e., whether a once routine
is fresh on a processor. The regions manage the association between objects and pro-
cessors. Objects that are handled by the same processor form a region. The regions are
also concerned with locking. The store is a map of names to references. It maps names
of formal argument, names of local variables, the name of the current object entity, and
the name of the result entity to references. A state ADT models the state with one query
for each of the three parts.
regions : STATE REG
heap : STATE HEAP
store : STATE STORE
The next few sections introduce ADTs for each of the parts. A later section presents the
state ADT.
Search WWH ::




Custom Search