Wednesday, July 28, 2010

Clique Space(TM) progress report

I'm putting my prototype together in Java. I thought I'd quote a comment I put in the code here. I like to put preparatory comments in code wherever I feel the need to clarify to myself what it is that I need to do. I usually do this because I want to get my intentions down, and then leave them for a while to see if I'm sure that I want to do something in the way I describe in my comments.

I like these comments because they appear to be fairly accurate, and they disclose my intentions in a fairly central piece of the concept just prior implementation. However much I like to show how good I think I am at my craft, I think this is about as close to code as I'll get in this blog.

Here it is:

We have to remove the Clique if we find that the Element we are removing references for is the only member of the Clique in this Client Device. As we need the Owner for any Clique in order to get information on that Clique, the Owner will have either been previously removed in an Agent Collaboration's message that caused this method to be called, or this Element being here removed is the Owner. I.e., the Clique will have been disbanded; an Agent Collaboration message sent to the collaborating Agent Devices from (what was previously) the Clique's Owner will advise the same.

The Client Device shouldn't have to check that the Clique has disbanded; it just removes Elements as instructed by the serving Agent Device, removing its Clique if there are no more Elements in it. The Client Device will be able to cross reference the instructions it receives through it's Participant delegate server to its serving Agent Device with activity it receives through its Agent Collaboration member server (Agent Collaboration messages), and this information can be cross referenced to help diagnose a Clique Space's stability.

It appears that the only restriction that must be put on the order of Element removal is that the delegate Element (a Participant) must be the last Element asked to be removed when the Clique between the serving Agent Device and this Client Device disbands. In this case, the Client Device must get the opportunity to remove any Elements that are managed by the delegate Element, because the serving Agent Device will not advise the Client Device to remove these Elements; removal of the delegate Element implies removal of access to the managed elements.

There you go. I'm fairly sure this looks okay, but I'll have to let the comments in my code sit there for a while. Clique Space is a little like an art installation in progress.


  1. Like any such comments I write, they are usually full of inconsistencies, both logical and in fact.