A model driven engineering process of platform neutral agents for ambient intelligence devices