Tensing Norgay. Tensing's New World Fauna handbook, 1789
pages. Third Edition.
Tengboche, Népal 1987
Chameneos n. [ME. camenious < MFr. cameneon < L. Chameneus < Gr chamaineos < chamai on the ground + neos new]
1. any of
various Old World lizards (family Chamaeoneostidae) which eat honeysuckle
leaves, play pall mall, may have blue, yellow or red skin colour, with the
property while playing pall mall with a chameneos of a different colour to
change its skin colour as well as its partner¹s one into the third possible
colour.
2.
any of various superficially similar reptile that can similarly change colour
of their skin, as the Inouït Chameneos (glacialis chamaeneus reptilis).
3.
a changeable or
fickle person- chameneonic adj.
The
chameneos may present blue, yellow or red skin colour. When two chameneos of
different colour meet, they undergo a colour mutation and take the third
colour. If the meeting chameneos share the same colour , they keep it.
Consider a
population of N chameneos that have a cyclic behaviour:
·
A chameneos usually lives lonely eating honeysuckle
leaves in the forest and training.
·
After a while when feeling ready for competition, it
enters a mall where a nice spring babbles and where it occasionally plays pall
mall with another chameneos.
·
It mutates if its partner is of another colour.
The mutating chameneos is a
good paradigm for
concurrent processes
peer to peer
co-operation
and
symmetrical
rendez-vous synchronisation.
1. They have no
interactions before rendez-vous (act asynchronously).
2. They request a rendez-vous by
symmetrically calling a server.
3. They
wait for a peer which requests also the rendez-vous.
4. They are notified of the
rendez-vous by the server => name and colour of peer are known
5. They perform cooperative
actions
·
Both peers may take
their part of the work.
·
One partner may do
the whole job while the other waits for using the results.
However
the end of this cooperation is a significant event for both partners: it occurs
when
·
each partner has
finished
·
and knows that the
other has finished, and does not need any more its cooperation.
6.
End of synchronous cooperation => Both partners may proceed.
Each chameneos performs the
colour mutation and the registration of its new colour.
Server, or rendez-vous object, specification:
1. It must wait until it has received two requests
before giving notification to the peers
2. All the requests must be registered and
multiple requests shall not disturb the service
3. Notification must be sent as soon as possible
4. When it notifies A and B, A must
know that it mutes with B, and vice-versa.
Server data indicating:
1. whether the call is the first call of a pair,
2. the name and colour of the first chameneos
(which has to wait for its peer to come),
3. the name and colour of the second chameneos.