Changes for page Overview

From version 5.1
edited by Andrea Omicini
on 10/08/2021 16:43
Change comment: There is no comment for this version
To version 4.1
edited by Andrea Omicini
on 10/08/2021 16:42
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -14,29 +14,30 @@
14 14  Reading tuples can be
15 15  * //destructive// — #code("in"), #code("inp") remove the matching tuple — or //non-destructive// — #code("rd"), #code("rdp") simply read the matching tuple
16 16  * //suspensive// — #code("in"), #code("rd") wait until a matching tuple is found — or //non-suspensive// — #code("inp"), #code("rdp") immediately return either the matching tuple or a failure result
17 -
17 +<p/>
18 18  but is anyway always //non-deterministic//: when more than one tuple in a tuple centre are found that match a tuple template, one is non-deterministically chosen among them and returned.
19 -
19 +<p/>
20 20  Accordingly, a tuple centre enjoys all the many features of a tuple space, which can be classified along three different dimensions:
21 +
21 21  * generative communication
22 22  * associative access
23 23  * suspensive semantics
24 -
25 +<p/>
25 25  The main features of //generative communication// (where information generated has an independent life with respect to the generator) are the forms of uncoupling (space, time, name) based on mediated interaction: sender and receiver do not need to know each other, to coexist in the same space or at the same time in order to communicate (to exchange a tuple, in particular), and more generally, to interact.
26 26  ##
27 27  //Associative access// (access based on structure and content of information exchanged, rather than on location, or on name) based on tuple matching promotes synchronisation based on tuple structure and content: thus, coordination is data-driven, and allows for knowledge-based coordination patterns.
28 28  ##
29 29  Finally, //suspensive semantics// promotes coordination patterns based on knowledge availability, and couples well with incomplete, partial knowledge.
30 -
31 +<p/>
31 31  Even more, while the basic tuple centre model is independent of the type of tuple, #respect() tuple centres adopt logic tuples &mdash; both tuples and tuple templates are essentially Prolog //facts// &mdash; and logic //unification// is used as the tuple-matching mechanism.
32 32  ##
33 -So, for instance, an agent #code("ag1") performing operation #code("we ? in(activity(ag1,CaseID))") on tuple centre #code("we") containing tuples #code("activity(ag1,c16)") and #code("activity(ag2,c22)") will be returned tuple #code("activity(ag1,c16)")the one unifying with the template &mdash; removed from #code("we").
34 +So, for instance, an agent #code("ag1") performing operation #code("we ? in(activity(ag1,CaseID))") on tuple centre #code("we") containing tuples #code("activity(ag1,c16)") and #code("activity(ag2,c22)") will be returned tuple #code("activity(ag1,c16)") &mdash; the one unifying with the template &mdash; removed from #code("we").
34 34  ##
35 35  Since the overall content of a tuple centre is a multiset of logic facts, it has a twofold interpretation as either a collection of messages, or a (logic) //theory of communication// among agents &mdash; thus promoting in principle forms of //reasoning about communication//.
36 -
37 +<p/>
37 37  Finally, a tuple centre is a programmable tuple space, so as to add //programmability// of the coordination medium as a new dimension of coordination.
38 38  ##
39 -While the behaviour of a tuple space in response to interaction events is fixed so, the effects of coordination primitives is fixed , the behaviour of a tuple centre can be tailored to the system needs by defining a set of specification tuples, or reactions, which determine how a tuple centre should react to incoming / outgoing events.
40 +While the behaviour of a tuple space in response to interaction events is fixed &mdash; so, the effects of coordination primitives is fixed &mdash;, the behaviour of a tuple centre can be tailored to the system needs by defining a set of specification tuples, or reactions, which determine how a tuple centre should react to incoming / outgoing events.
40 40  ##
41 41  While the basic tuple centre model is not bound to any specific language to define reactions, #respect() tuple centres are obviously programmed through the #respect() logic-based specification language.
42 42  

2P |  TuCSoN