Résumé : Ce rapport de recherche présente un nouveau calcul de processus distribué d'ordre supérieur, Cell Computation. Le rapport illustre la puissance d'expression de l'informatique mobile en codant plusieurs processus informatiques avec des paramètres régionaux distincts tels que les environnements mobiles, l'informatique à couplage distribué et le M-computing.
Limitations of ambient calculi
This interpretation is remarkably similar to the interpretation of localities in the distributed join computing implementation: high-level localities are mapped to pages (machines) that communicate asynchronously. If one follows this interpretation, it becomes clear that mobile premises must be interpreted as higher-order messages that can be exchanged between site premises and, locally within a site, between other mobile premises.
Limitations of higher-order process calculi
The lack of a clear notion of location prevents these calculations from accounting for potential failures or providing a basis for access control. Such aspects can be considered at the semantic level, when we try to consider the operational semantics of a distributed implementation, as is the case e.g.
Limitations of the DJoin calculus
In the DJoin calculation, it is not possible to prevent a location from migrating to another location. Also, it could be argued that dynamic join appears to be more primitive than this encoding in the DJoin computation would imply.
Limitations of the M-calculus
Introducing the Kell calculus
Because the Kell calculus is higher order, receptive triggers, similar to Close to calculus definitions, can in fact be defined. Indeed, one way to understand the Kell account is as an asynchronous form of Boxed Ambients where mobility primitives have.
Organization of the paper
The Kell calculus context is a term constructed according to the same grammar as for the standard Kell calculus terms, plus a constant ·, hole. A context-dependent substitution is a function that maps pairs C, uiof Kell calculus contexts and identifiers into Kell calculus terms.
Reduction Semantics
The variety corresponds to a subset of patterns that can match terms in the contexts of the form (· |P). This is another assumption we make about pattern languages: patterns of type S can only match terms in contexts of the form E[· | M| Q], and patterns of type H, i.e.
Labelled transition system semantics
Free names (fn), free variables (fv), bound names (bn) and bound variables (bv) for simple patterns are defined in Figure 9. The structural congruence relation on simple patterns is easily defined by the following rules: the parallel operator ,.
Receptive triggers
However, it is possible to achieve the effect of a pattern language that distinguishes between the above three situations by using kels that act as wrappers. The two routers simply transmit messages on special channels high and low, which help to indicate to the actual receiver the origin of messages (from outside the cell or from a subcell). More precisely, let us note ξPthe construct A(P, ξ): we have just shown that the reduction rules R.REC.S and R.REC.H in Figure 10 are derivative rules of the Kell calculus.
Encoding the π-calculus and the λ-calculus
Defining objects
Process control
Thus a•P can model a mobile agent that can interact with its environment (ifP contains at least one trigger) while roaming a network of kels. This is another example of a mobile agent, but in this case the agent is prevented from interacting with its environment while moving. With simple patterns, binneνa b.b•(a•P), with a, b 6∈ fnP, processP is active but it is totally isolated from its environment: it can no longer communicate with it and can no longer be manipulated by it.
With simple models, within b.b•(a◦P), processP is inactive and can no longer be manipulated by its environment. Note that, with simple models, there are some forms of processes other than νa b.b•(a◦P) that can be intuitively equated to 0. Thus, there is no context of Kell's calculus with simple models which can distinguish betweenνa b.b•(ξ |a•x . P)and0.
Each kell in the Kell computation can be provided with its own control behavior (relative to the processes it contains) through the use of box operators. Indeed, if P → Q then we have a•P → a•Q, so the best that can be achieved is a reduction toa•0, which, as a message, can still be handled by the environment.
Encoding Mobile Ambients
The encoding of the ambient construction, a[P], is typical of the encoding of computations with explicit locations. Process A(a) in encoding can be understood as the implementation of an interaction protocol that is characteristic of mobile environments. Coding other forms of ambient calculations would involve defining different variants of this process.
Process T(a,t) implements the open primitive and terminates the execution of moves in and out that originated at a source environment within process S. Note that all the surrounding primitives lead to the destruction of the source environment, which is later recreated at the end of the execution of the inandout primitives.
Distributed interpretation
Fortunately, the potential cost of general mobility kell does not have to pay for each communication, as in Mobile Ambients, and we can have a truly distributed interpretation of the bill. We can formalize this restriction on the use of passive kells as only messages crossing kell boundaries as a subaccount of the Kell account, which we call dK. This interpretation, strikingly similar to the distributed implementation of the DJoin account and M-account, allows direct implementation in a distributed setting.
None of the conflicts described above exist between locations, and conflicts involving non-location kells can be resolved locally within a location. Advanced patterns are based on simple patterns that are expanded with direction and with the opportunity to do some introspection on the content of the current kell. Intuitively, a pattern of the form ρ0::π corresponds to kells that match the pattern ρ, provided they match the indicated direction in the current evaluation context and the predicate π is satisfied (note that the scope of variables appearing in pattern ρ extending to predicate π).
In a given contextC, a pattern of the formρ :: ¬π matches kell, which matches the pattern ρ if the predicateπ does not hold in the context. Similarly, a pattern of the form ρ:: π1∧π2 matches kell, which matches the pattern ρ, provided that both predicates π1 and π2 hold in the context.
Encoding the DJoin calculus and the M-calculus
The latter includes: routing of messages based on the target locality, implementation of locality migration, by means of the Go(a)andEnter(a) processes. Note that the encoding given above is true to the DJoin semantics, since migration is only allowed if the target locality does not appear as a sublocality of the current locality.5. We also consider a call-by-name evaluation strategy for the λ calculus constructs, instead of a call-by-value one.
As for Mobile Environments and the DJoin computation, we use the λ and Application abstraction constructs defined in Section 3.3. The encoding of the M calculus in the Kell calculus is defined by induction as follows, where we assume that the names m,mm,mmmm,mb,pm,pass,nil, make,collec,toGC do not occur for free inV,Vi,P,Q, and where we denote (x) for a variable that can be a name marker (Kell calculation) or a process marker, depending on the type (source variable or name, process variable) of the source variable in the translation. 5 This is not the case of encoding the DJoin calculus in the M calculus defined in [25], which does not test for the presence of the target locality as a sublocality of the locality to be migrated.
AnM-calculus programmable locality(P)[Q] takes the form of a cell of the same name, with a controller processM(a) that embodies the basic routing rules of the M-calculus and implements the behavior of the pass operator. Note also that in order to achieve encoding of the M account in the subaccount introduced in Section 3.7, it is sufficient to modify the handling of the passing construction as follows:
Encoding the distributed interpretation
For example, a target entity can be understood as an object, as illustrated in Section 3.4, or as an M-computing location, as defined above. In the previous section, we introduced a relatively sophisticated pattern language that allowed some introspection about the structure of a kel. One way to simplify this is to keep the possibility of matching only one message at a time, and to allow as messages the equivalent of messages in the higher-order polyadic asynchronousπ calculus, i.e.
We call the resulting sub-calculus the µdKcalculus because we believe it deserves further investigation. For future reference, we give here the syntax of the µdKcalculus as well as the reduction rules that result from the choices made. The reduction semantics of the µdKcalculus is given by the same structural congruence as the Kell calculus, without rule S.TRIG, which is not needed (it is covered by S.α).
This in turn means that this computation is already expressive enough to provide a faithful encoding of different ideas of locations, including environmental-like concepts. This means that the µdKcalculus can readily support a distributed interpretation and, together with an appropriate type of system to ensure the linearity of (certain) kellnames, will be amenable to an efficient distributed implementation.
Why two boxes ?
Why components ?
As another illustration of the possibility of using the Kell calculus as a basic compositional language, we can define a direct encoding of πL6, the calculus, which serves as the basis of the Piccola compositional language [19]. We have seen that this is a crucial point for the distributed interpretation of the calculation. In Proceedings of the International IFIP Conference TCS 2000, Sendai, Japan, Lecture Notes in Computer Science 1872.
In Proceedings of the 28th International Colloquium on Automata, Languages and Programming, Vol. 2076 Lect. 2 Proof of Theorem 1: The proof takes place by induction on the depth of inference P −−−−−→K:A P0 and by induction on the depth of derivation P≡Q with the help of structural congruence rules. Also, if P ≡Q was derived using the S.α rule, then by the definition of the transitive relation (which is defined up to the α-conversion) if P is K:A.
This could only be derived from rule S.NU.KELL (apart from the three rules that have been considered above). R00 could only be obtained through rule L.LOC (rule L.ACT does not apply due to action form A2). We can now proceed to the final steps of the proof by considering derivations of P ≡Q involving rule S.CONTEXT.
This transition could only be derived by one of the following lines: L.LOC, L.NU.NF, L.PAR, L.RED.S, L.RED.H.