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.




Chameneos behaviour


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


symmetrical rendez-vous synchronisation.



Chameneos Paradigm Behaviour specification


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.



The Mall




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.