Home - universAAL/middleware GitHub Wiki

Links of Interest
Pax Composite Bundle scan-composite:mvn:org.universAAL.middleware/mw.composite/x.y.0/composite
Karaf Feature uAAL-MW
Javadoc https://universaal.github.io/middleware/mw.pom/apidocs/index.html
Maven Site https://universaal.github.io/middleware/mw.pom/index.html
Repository Status https://github.com/universAAL/platform/wiki/Repository-Status
Maven Release Repository http://depot.universaal.org/maven-repo/releases/org/universAAL/middleware/
Maven Snapshot Repository http://depot.universaal.org/maven-repo/snapshots/org/universAAL/middleware/

Definition

This group identifies the tasks related to the middleware as described in the context of the "Abstract Physical Architecture Model" in the universAAL deliverable D1.3-B. It is also responsible for examining possible solutions for such tasks.

D1.3 summarizes the notion of middleware in the following way:

  • From reference model: Software that ranks among the core of platforms for distributed systems and is responsible for (1) the integration of software components distributed on different nodes and (2) facilitating the communication among them. For this purpose, it must hide both the distribution of the system and any possible heterogeneity of its nodes.
  • From the layer model: Mediating software with a footprint on those nodes that host "AAL-aware" software components, which acts as an extension to the native system layer (NSL) of those nodes so that both AAL platform and application software can communicate with the rest of the system following similar principles, across all such nodes with possibly different hardware configurations and operating systems. Hence, it is the only layer with an interface on all AAL-aware nodes that relieves all other components from thinking about the distribution of outsourced functionality, no matter residing on which logical layer or physical node. All communication needs are hence to be resolved with the help of the middleware, i.e. a service request is just delegated to the middleware, which must find out where the component providing the service is residing.
  • From the building blocks model: The middleware is acting as a broker between the communicating parties. This brokerage must handle the exchange of messages in a way that the heterogeneity of technologies used by the communicating parties is absorbed by the middleware. Container functionality for the integration of software artifacts. Its Discovery & Peering building block provides support for seamless connectivity and its Communication building block introduces a high-level protocol for interoperability over all of the more specific protocols used to realize D&P at the device level. The Communication building block extends the scope of seamless connectivity to the level of end-to-end communication between software components. It is supposed to do a thorough analysis of the communication patterns in open distributed systems with the goal to cover all of the specific communication cases. As a minimum, this building block must identify possible communication modes (e.g., eventing versus request / response), possible involved roles (e.g., publisher, subscriber, requester, and responder), and the structure of the messages exchanged between such roles. A Data Representation Model back the whole communication mechanisms. Finally the last building block in this expert group is the Reliability building block that uses the diagnosis to enhance the systems fault tolerance, this building block deals vertically with all layers in the Middleware.
Middleware in the above sense is providing the communication system in an ensemble of networking-enabled nodes. In such an ensemble, nodes can be plugged in and out dynamically without affecting the interplay between the other nodes, just like people are nowadays used to plug in and out cameras, microphones, headphones, external disks, etc. to their computers.

Relationship to the Concrete Architecture

This group covers several building blocks of the architecture. The following figure represents which building blocks are related to the middleware expert group (highlighted ones).

The following abstract building blocks from the System Decomposition Model in the universAAL deliverable D1.3 Part IV fall into the scope of the middleware expert group and are used to structure the following pages.

  1. Container functionality for the integration of software artifacts.
  2. Node Discovery & Peering
  3. brokerage mechanisms enabling technology-independent Communication
  4. Basic Data Representation Model underlying the communication
  5. Reliability uses the diagnosis to enhance the systems fault tolerance.
⚠️ **GitHub.com Fallback** ⚠️