In the past, applications were designed and implemented to execute in a well defined execution environment with fixed and well−known characteristics. This is no longer the case today. The same application may be executed in a myriad of distinct devices under a wide range of operational conditions. Furthermore, when applications are distributed, each of the application´s components may be executed in different environments.
In this setting, it is essential that systems be aware of, and adapt to, changes in the execution context of their components. This adaptation should be automatic and dynamic, in other words, without human intervention nor service interruption and should be considered at all levels of system design and implementation.
MiCAS aims at defining a set of design abstractions and middleware components to support the development of future context−aware adaptive applications.