Coordination Method and Software System Based on Multiparadigm Architectures
The invention provides a new asynchronous coordination method for software systems based on multiparadigm architectures. This way, usability is improved in applications with a graphical user interface, since the users do not observe interruptions during their interactions with the computer, contrary to the interruptions that commonly happen with synchronous coordination methods. The messages involved in the coordination method (events) are associated to semantic information that can be dynamically changed, which enables to support adaptability and flexibility in the systems to which the patented method is incorporated. For example, new applications, services, devices, and so on, can be incorporated to the system without requiring to re-implement previously existing entities. The method consists of the following steps:
a) An entity shows interest in receiving event notifications associated with concrete semantics by sending a specific event.
b) A coordination entity receives the event (and any other event that is notified in the system).
c) The coordination entity processes and infers event that are semantically related to the event that was received in previous step on the basis of a set of previously defined rules that semantically associate the different types of events.
d) Every entity is informed of the possible events that can be received by the coordination entity, on the basis of the information that was processed and inferred in previous step.
e) The coordination entity receives the notifications of the specific events that are produced by the different system entities, and, finally;
f) The coordination entity transfers to the entity referred in step a, the set of inferred events and the received notifications.
Previous steps enable coordination, since a destination entity may wait to receive a type of event that can only be generated by composing the events generated by one or more entities to which it needs to be coordinated.
The invented method also incorporates optional steps to support the dynamicity of the mobile systems, taking into consideration that: (1) The structure of some of the events that are generated in the system can be modified at run-time or some new events can be incorporated;(2) The entity that is referred in step a may change its interest in receiving a concrete event; (3) The event that is produced in step a may require to dynamically combine events notified by multiple entities; (4) There might be more than one entity interested in receiving certain events, which involves that the coordination entity can simultaneously transfer events to several recipients, promoting the efficiency of the transferences to several destinations. For example, this is relevant in mobile systems, where devices have to coordinate with several entities that can spontaneously appear to or disappear from the user environment.
It is important to note that the entities are interconnected through the coordination entity, thus making them totally decoupled, which facilitates their development and improves their maintainability. This advantage contributes to decrease development costs. Likewise, entities do not have to use additional resources to incorporate this coordination method, since the coordination entity does all the processing. Thereby, it is feasible to incorporate the method to device with low resources, like embedded devices.
- Asynchronous coordination: Improvements in the usability of the applications, since the interactions between the user and the graphical interface are not interrupted by synchronous coordination methods.
- Entity decouplement: System dynamicity, easier and lower cost of development, better maintainability and reusability.
- Only one coordination method for the whole software system is needed, which is shared between different types of entities (applications, services, software agents, hardware devices, and so on): Software systems are more uniform and are better integrated.
- Transferred information is stored and semantic information is associated with this information: Improvements in analysis, verification and maintainability of software systems.
- Event processing and transmission relays on a coordination entity, which is external to the rest of entities: The entities do not make use of additional resources (CPU, memory, power, etc.) to incorporate this coordination method.
- The coordination entity may simultaneously transfer information to multiple entities: Efficient and scalable transmissions to several recipients are promoted.