Hello,
On Jan 8, 2011, at 14:12 , Emanoil Kotsev wrote:
In accordance to the message below I have a feeling that a lot in the
concept of the opensync engine is similar to what I have researched in my studies in AI
called autonomous agents or agent based architecture, though it's not exactly the
same... opensync is somehow like a prototype for a coordinator (the hub). So if we were to
borrow some wisdom from OAA (open agent architecture) we were to make the handling of the
object types more autonomous or take the sync and merge functionality outside the engine
(like default plugins filters or similar). My idea is that an obj can ask who can merge
and get answer from the merger that will take over the job ...
Note that this is much closer to how libsynthesis actually works than it might seem. Of
course it is now all integrated into one "engine", but the actual sync and merge
is NOT done on vformat, but on abstracted data items. With some refactoring, sync and
merge could be separated from formatting and talking to a peer.
Tight integration is needed between the vformat converters and the information a
"engine" might have about the current peer. Because vformats (especially the
old, but widespread ones) are too weak in specification and often too sloppily implemented
to be handled without quite a bit of context about the sender/recipient. There's no
such thing as a converter that can be fed only a vformat and produces sensible, normalized
output (or vice versa).
Best Regards,
Lukas