A GLC actor it’s an entity which has some data and 5 possible behaviours. See section 3 from
for details and examples.
Data. Every actor has a name. The notation used is that the actor is the name of the actor . Every actor has also, as data, a GLC graph which has some of his half-arrows decorated with names of other actors.
You can use these decorations in order to assembly a big GLC graph from the pieces which reside in all actors data, by gluing the half arrows along the given decorations.
But mind you that the behaviours of actors are not a consequence of the existence of this global object, the big GLC graph.
Behaviours. The main idea is that the graph rewrites of the big GLC graph can be done asynchronously, by purely local interactions between the actors which have the small pieces of the big GLC graph.
There are two types of graph rewrites, which are treated differently.
- the graphic beta move (and the FAN-IN move if we use chemlambda instead of GLC) which is performed between two actors, as a form of interaction between those. This is behaviour 1.
- FAN-OUT and pruning moves, which are performed internally in one actor. This is behaviour 3.
Besides this, we have:
Behaviour 2: name change. An actor can pass one node to another actor. It has to be an actor which he knows, i.e. one which has an address which appears on one of the half-arrows of the mentioned node.
Behaviour 4: new actors. An actor can split into two, thus he can create a new actor, provided it’s piece of GLC graph has two disconnected parts.
Behaviour 5: interaction with cores. Suppose you use external IT constructs, like databases, counters or other. Call this “cores”. You make an actor from such a core by connecting it to a “mask” (which is GLC graph) and by defining moves which are performed between the mask and the core. Basically such a move means a translation from external format into GLC graphs. This can be always done, because GLC is Turing universal. In the paper is given the example of a counter as a core.
Some of the behaviours of a GLC actors resemble with those of a Hewitt Actor, like creation of new actors. Is not clear though if GLC actors are actors in the sense of Hewitt.
What is clear is that the distributed computing with GLC actors is kind of like a play.