Skip to content
Fábio Nogueira edited this page Dec 1, 2016 · 5 revisions

[Related Work](https://github.com/dsoa-team/dsoa-platform/wiki/Related Work)

MADAM: Mobility and ADaptation-enAbling Middleware

As its name implies, MADAM is a middleware platform that supports application adaptation through the use of architectural models describing variability to guide the adaptation proccess. Besides the variation encoded in the application model, the middleware needs a selection criteria to automate the derivation of a variant at runtime. In this context, MADAM uses utility functions to choose the variants that shall be used.

In more details, the MADAM architectural model includes the specification of the application structure, the application's variability, the properties of each variant, and the utility function for comparing variants. As the authors metion, in MADAM, a component framework describes a composition of component types. The variability is achieved by plugging in different component implementations whose externally observable behavior conforms to the type. The components that are to be plugged in are selected in accordance with their properties, which qualify the services that are provided or required. The interaction between components occur through their ports.

At runtime, MADAM works with two kinds of architectural models, the framework architectural model and the instance architectural model. The framework architectural model is build around component types, which represent the variation points. This architectural model and the represented variants (component implementations) are analyzed in order to build the actual running architecture, which is represented by the instance architectural model.

References

Clone this wiki locally