- lc.addSourceSubscriber(su,subscriber);
Saturday, June 6, 2015
It all cometh together right here?
With the following line in LimitingConstraintMessage::addAfterReceive...
Tuesday, May 12, 2015
An in-principle solution for robust device agnostic engagement.
I think I have been pondering this for several years since I dreamt up the "subscriber" mechanism as being a solution that will facilitate the establishment of "synapse" channels between Clique Space aware devices.
Today, I formalised what I think is a robust mechanism that uses structures developed over this time. The mechanism was seen through murky waters until I had finally developed the necessary data structures to carry it.
It is summed up by the diagram below.
The diagram shows two Clique Space aware devices (Client Devices - I'm beginning to saunter up to an earlier nomenclature that seems to have recently become more appealing, but possibly more on that in a later post).
The initiator, labelled as the upper rectangle and the respondent, labelled as the lower rectangle. The initiator can be any Agent Device. The respondent can be any Client Device (a Clique Space aware device that can participate in viscera, including Agent Devices and administrator clients).
Furthermore, the diagram shows how these Client Devices engage; how they establish their synapses; how they establish and communicate the Participants within each synapse.
The diagram can be further summed up by this slightly more formalised list, indicating which Participant is created at each stage of the process. The numbers coincide with each of the circled numbers in the diagram above.
The Inbound/Outbound distinction signifies the perspective each device has to the two channels. If, for example, a Client Device A is engaged with Client Device B, then the Inbound channel on A is the Outbound channel on device B. In this way, the synapse Cliques model directionality of both synapses between the two devices.
In all instances where the two engaging devices are both Agent Devices, Participants which are created by a device are possessed by the device. In instances where an Agent Device is engaging an administrator client (I'm thinking about calling this an administrator device), all Participants are possessed by the Agent Device.
So, the device initiating the engagement (possibly, but not exclusively through the engager server's "engage" method), firstly creates the Owner of its inbound channel. The process that completes an engagement as a respondent is then called by the initiating device on the responding device where the respondent first reconstitutes the owner of its outbound channel using the signal given to it by the initiator, and then creates the owner of its outbound channel. Next, the respondent asks the initiator to complete its engagement. The initiator first reconstitutes the owner of the outbound channel from the signal given to it by the respondent, and then creates the non-owner of the same channel. When the engager finishes, the respondent reconstitutes the non-owner of its inbound channel using the signal that is returned, and creates a non-owner for its outbound channel before the respondent process completes whereby control is returned back to the initiator. Finally, the initiator reconstitutes the inbound channel's non-owner using the signal that is returned.
Now, to implement...
Today, I formalised what I think is a robust mechanism that uses structures developed over this time. The mechanism was seen through murky waters until I had finally developed the necessary data structures to carry it.
It is summed up by the diagram below.
The initiator, labelled as the upper rectangle and the respondent, labelled as the lower rectangle. The initiator can be any Agent Device. The respondent can be any Client Device (a Clique Space aware device that can participate in viscera, including Agent Devices and administrator clients).
Furthermore, the diagram shows how these Client Devices engage; how they establish their synapses; how they establish and communicate the Participants within each synapse.
The diagram can be further summed up by this slightly more formalised list, indicating which Participant is created at each stage of the process. The numbers coincide with each of the circled numbers in the diagram above.
- Initiator : Owner : Inbound : Create.
- Respondent : Owner : Outbound : Reconstituted from 1 as parameter.
- Respondent : Owner : Inbound : Create.
- Initiator : Owner : Outbound : Reconstituted from 3 as parameter.
- Initiator : Non-Owner : Outbound : Create.
- Respondent : Non-Owner : Inbound : Reconstituted from 5 as return.
- Respondent : Non-Owner : Outbound : Create.
- Initiator : Non-Owner : Inbound : Reconstituted from 7 as return.
The Inbound/Outbound distinction signifies the perspective each device has to the two channels. If, for example, a Client Device A is engaged with Client Device B, then the Inbound channel on A is the Outbound channel on device B. In this way, the synapse Cliques model directionality of both synapses between the two devices.
In all instances where the two engaging devices are both Agent Devices, Participants which are created by a device are possessed by the device. In instances where an Agent Device is engaging an administrator client (I'm thinking about calling this an administrator device), all Participants are possessed by the Agent Device.
So, the device initiating the engagement (possibly, but not exclusively through the engager server's "engage" method), firstly creates the Owner of its inbound channel. The process that completes an engagement as a respondent is then called by the initiating device on the responding device where the respondent first reconstitutes the owner of its outbound channel using the signal given to it by the initiator, and then creates the owner of its outbound channel. Next, the respondent asks the initiator to complete its engagement. The initiator first reconstitutes the owner of the outbound channel from the signal given to it by the respondent, and then creates the non-owner of the same channel. When the engager finishes, the respondent reconstitutes the non-owner of its inbound channel using the signal that is returned, and creates a non-owner for its outbound channel before the respondent process completes whereby control is returned back to the initiator. Finally, the initiator reconstitutes the inbound channel's non-owner using the signal that is returned.
Now, to implement...
Friday, April 24, 2015
Robust disengagemt? Hmmm...
As of about one and a half hours ago, I've been able to disengage one administrator client from one Agent Device. The question now is: is this operation sufficiently generic to disengage more than one administrator client from one Agent Device, and furthermore, is this operation sufficiently generic to disengage two Agent Devices.
The first answer is: yes! It appears that an Agent Device can engage and disengage multiple administrator clients. It does not appear to matter whether these engagements are simultaneous. Additionally, one administrator client is able to simultaneously engage and disengage with more than one Agent Device. All of this is an intention designed from conception in mid-2004 to make Clique Space(TM) useful.
The larger question of engaging two Agent Devices should be answered in the next revision. It is hoped that once two Agent Devices can robustly engage and disengage, then the proposition of constructing neural clusters of Agent Devices might be seriously considered.
The first answer is: yes! It appears that an Agent Device can engage and disengage multiple administrator clients. It does not appear to matter whether these engagements are simultaneous. Additionally, one administrator client is able to simultaneously engage and disengage with more than one Agent Device. All of this is an intention designed from conception in mid-2004 to make Clique Space(TM) useful.
The larger question of engaging two Agent Devices should be answered in the next revision. It is hoped that once two Agent Devices can robustly engage and disengage, then the proposition of constructing neural clusters of Agent Devices might be seriously considered.
Wednesday, April 22, 2015
It works?
A Clique Space(TM) device appears almost to function as a quasi-autonomous agent. There is, however, one obstacle: the disengagement operation.
I've discussed this subject before in past blog entries. Any two devices that engage must necessarily disengage, but disengagement is not engagement in reverse. Instead, the process by which two devices engage each other is a process whereby structures that synchronise both (two synapses, two corresponding postsynaptic subscribers) are created; disengagement is a process where these structures are destroyed. There is no symmetry beyond this obvious necessity.
In the creation of a synapse, the two devices must synchronise the state of each other's postsynaptic subscribers created for this engagment, and this synchronisation must continue until both devices have disengaged whereupon these postsynaptic subscribers are destroyed.
I believe I have a fairly robust solution for engagement. Although the same cannot be said of the disengagement, maybe I am almost there...
I've discussed this subject before in past blog entries. Any two devices that engage must necessarily disengage, but disengagement is not engagement in reverse. Instead, the process by which two devices engage each other is a process whereby structures that synchronise both (two synapses, two corresponding postsynaptic subscribers) are created; disengagement is a process where these structures are destroyed. There is no symmetry beyond this obvious necessity.
In the creation of a synapse, the two devices must synchronise the state of each other's postsynaptic subscribers created for this engagment, and this synchronisation must continue until both devices have disengaged whereupon these postsynaptic subscribers are destroyed.
I believe I have a fairly robust solution for engagement. Although the same cannot be said of the disengagement, maybe I am almost there...
Monday, February 16, 2015
Generic beauty.
I think I did something today that I might just label the "end of the beginning" for development activity on the CliqueSpace(TM) core implementation.
Something appeared finally to vault the generic structure: I discarded the notion of a "root" profile. Instead, I made the Participant implement the Media and Mode Profile's interfaces.
Many problems appeared to dissolve... perhaps.
Something appeared finally to vault the generic structure: I discarded the notion of a "root" profile. Instead, I made the Participant implement the Media and Mode Profile's interfaces.
Many problems appeared to dissolve... perhaps.
Sunday, January 25, 2015
It Works! Part 1.
Finally, after 6.5 years of coding, Clique Space(TM) works... kind of.
But that's right... it does indeed do something non-trivial. An Agent Device will now engage and disengage one or more administrator clients. I just got it working... not more than 20 minutes ago.
The synapse: works.
The service: works.
The subscriber: works.
The subscription: works.
The context: works.
The payload: works.
The transmitter: works.
The device: works.
The signal: works.
The Element: works.
The principle: works.
The root profile: works.
The Participant: works.
These components comprise most of the implementation of Clique Space's real-time manifestation mechanism. This mechanism (for Agent Device - administrator client engagements only): works.
Now, I've gotta get two or more Agent Devices to engage themselves over a Sovereign's Clique Space. That is, I've got to get Agent Devices to form neural clusters based on a secret that is never shared between devices called "That Which is Sacred"(TM... perhaps?) - the Clique Spaces that manifest Sovereigns, modelled in a Clique(TM) called the Viscera(TM).
After that, I'll:
I think that the real-time reconfiguration under adversity is really going to take some time to nut out.
To the viscera and beyond...
.. gotta love all this TM'ing. Well, it is mine, so mits off!
But that's right... it does indeed do something non-trivial. An Agent Device will now engage and disengage one or more administrator clients. I just got it working... not more than 20 minutes ago.
The synapse: works.
The service: works.
The subscriber: works.
The subscription: works.
The context: works.
The payload: works.
The transmitter: works.
The device: works.
The signal: works.
The Element: works.
The principle: works.
The root profile: works.
The Participant: works.
These components comprise most of the implementation of Clique Space's real-time manifestation mechanism. This mechanism (for Agent Device - administrator client engagements only): works.
Now, I've gotta get two or more Agent Devices to engage themselves over a Sovereign's Clique Space. That is, I've got to get Agent Devices to form neural clusters based on a secret that is never shared between devices called "That Which is Sacred"(TM... perhaps?) - the Clique Spaces that manifest Sovereigns, modelled in a Clique(TM) called the Viscera(TM).
After that, I'll:
- try and get two or more Agent Devices from different Sovereigns to engage each other in a "Congressional(TM) (formerly known as an Agent Collaboration) Clique Space.
- try to make devices more robust and able to reconfigure engagements in adverse environmental conditions.
I think that the real-time reconfiguration under adversity is really going to take some time to nut out.
To the viscera and beyond...
.. gotta love all this TM'ing. Well, it is mine, so mits off!
Tuesday, December 9, 2014
CL,I,P,O,N
A nightmare of confusion.
Recent time with Clique Space(TM) has dragged me into the dependency nightmare that is Java generics; a nightmare from which I might be awakening.
Clique Space code comes in two halves. The chassis is the basic Clique Space data structure definitions and implementation of functionality in relation to the sending and receiving of transmitters while the top half is the body of the specific implementation of a Clique Space aware device.
The halves are separated by a set of parameterised types that make the cute acronym disclosed in the title of this blog entry. The specific device implementation's body "clips on" to the generic chassis. Hence, the chassis defines these generic parameters, and the body completes their implementation. The terms used in the acronym are as follows:
Hence, these extra two types (O and N) are used to ensure that an Owner Participant is returned where an Owner Particpant is expected and a non-Owner Participant is likewise returned when expected. This type of discrimination is important in cases where structures derived from the basic Clique (the synapse, the service, and the viscera) are being manipulated. These specific Clique structures have extra functionality because this extra functionality helps a Clique space do the things I intend it to do.
A thing of beauty.
Recent time with Clique Space(TM) has dragged me into the dependency nightmare that is Java generics; a nightmare from which I might be awakening.
Clique Space code comes in two halves. The chassis is the basic Clique Space data structure definitions and implementation of functionality in relation to the sending and receiving of transmitters while the top half is the body of the specific implementation of a Clique Space aware device.
The halves are separated by a set of parameterised types that make the cute acronym disclosed in the title of this blog entry. The specific device implementation's body "clips on" to the generic chassis. Hence, the chassis defines these generic parameters, and the body completes their implementation. The terms used in the acronym are as follows:
- CL - The basic Clique structure and mechanisms contained therein.
- I - The Identity structure and mechanisms contained therein.
- P - The basic Participant structure and mechanisms contained therein.
- O - A more specific Participant structure relating to Owner Participants of synapses and involvements.
- N - A more specific Participant structure relating to non-Owner Participants of synapses and involvements.
Hence, these extra two types (O and N) are used to ensure that an Owner Participant is returned where an Owner Particpant is expected and a non-Owner Participant is likewise returned when expected. This type of discrimination is important in cases where structures derived from the basic Clique (the synapse, the service, and the viscera) are being manipulated. These specific Clique structures have extra functionality because this extra functionality helps a Clique space do the things I intend it to do.
A thing of beauty.
Subscribe to:
Posts (Atom)