Theory
Rolonic Software Engineering
Rolonics is a new programming paradigm which facilitates the composition of systems and systems of systems and minimizes coupling. It is somewhat similar to Object Oriented Programing. But where an object can be defined as DATA + LOGIC, rolons are defined as XML + LOGIC. And just as objects have methods, rolons have operations. When programming rolonically, everything is implemented as either a rolon or a part of a rolon. Rolons differ from objects in that they are a higher-level of granularity. Rolons are components, subsystems and user objects.
Rolons have a fluid structure. A rolon is implemented as an XML DOM-ish structure which can by changed on-the-fly by the rolon itself or by other rolons. A rolon can be completely expressed as an XML document. Logic is aggregated in the elements, as determined by the element type. Application logic then is completely decoupled from persistence.
A rolon can employ any number of roles, where a role is an element which implements one or more operations. A role can be an element within the rolon which uses it, or can be located in another rolon entirely. Operations then are decoupled from the location of the implementing element.
Rolons are organized in a bush structure. Bush structures, like trees, have a single root node but the nodes are not limited to a single parent node. Bush structures, like trees, are non-cyclic graphs, so a node can never be its own ancestor. The root node of the bush structure of rolons is called the Ark.
Now just as an object inherits methods from a super class, rolons also inherit operations, only the inheritance is base on the organizational structure rather than on type. Operations implemented by the Ark rolon then are inherited by all rolons. And since a rolon can have more than one parent rolon, multiple inheritance is supported.