A layered view of the architecture
The UbiMedic specific layers of the middleware stack offer both low and high level services to grant dynamism and context-awareness features to the system.
UbiMedic is implemented on top of JADE agent platform and exploits the facilities provided by the platform. The latter is composed of several Peripheral Containers, representing different nodes with their own JVM, and a centralized Main Container, providing the basic facilities for the platform management.
UbiMedic-RED (Role Enabled Devices) is a prototypical application exploiting the concept of agent role to carry out an easy and seamless integration of heterogeneous medical devices, resulting in a sort of plug-and-play device installation. The proposal, based on the UbiMedic architecture, consists in encapsulating specific medical device handling within software agents. This is reached through an interaction model based on the role concept. Among other advantages, roles can be exploited to achieve separation of concerns between the business logic (embodied in the agent) and the interaction logic (embodied in the role). An appropriate infrastructure is in charge of providing role capabilities to the agent; in UbiMedic-RED we adopt the RoleSystem infrastructure associated with the Jade agent platform.
The following picture shows the sequence of steps designed in UbiMedic-RED according to the role-based approach.
A new medical device joining the platform must be equipped with a vendor-specific role, the implementation of which is provided by the device’s manufacturer, enclosing the know-how required to interact with the specific medical device (step 1). First of all, the new device must connect to the platform through a registration request, addressed to a centralized UbiMedic service (2). The system creates a generic PRIA in a centralized node with a code repository (3); then, the new PRIA moves back to the node of the requesting device (4), where it assumes the role of the specific device manufacturer, resulting in a complete personalized PRIA (5). The assumed role enables the device to interact with the other agents in the platform, though using its own procedures and proprietary protocols. In fact, the PRIA can acquire data from the medical device via its proprietary protocol managed by the embodied role (6), and, at the same time, can deliver the collected data to the target UIAs or PAs, interacting via standard ACL (7).