International audienceService platforms emphasize dynamism and flexibility, at the cost of very little control over applications execution. Indeed, service platforms like OSGi do not provide an application concept or any structuring concept; they only support a flat space of services and a low-level run-time protocol. This was acceptable because, so far, a single application made of well-known services was running inside a platform. This was convenient because, in ubiquitous and dynamic environments, the available services and their dynamic behavior are not known in advance, eliminating the possibility to define an application by the list of its components. In the near future, service platform will support many shared services from independent providers and many applications managing critical services, like home security applications. Although, in this context, the lack of control cannot be tolerated, but on the other side, the large range of possible contexts in which these applications will execute still require dynamism, flexibility and still defeats the possibility to define an application by the list of its components. The challenge we face is to find a new way to define applications such that they can fit in a large range of unknown contexts, capable to adapt themselves to multitude of environments and to unknown competing applications, but still with execution strictly controlled and strong properties enforced. The paper describes the Apam platform, its way to describe applications, and the way they are executed. We show how Apam reconciles the two, apparently conflicting, requirements: flexibility and strong control; both at compile and execution time