We present an evolution of the Lithium parallel programming environment (the muskel Java package) that implements new features suitable for handling problems arising in typical dynamic environments such as the grid ones. In particular, our environment provides a prototype application manager that takes completely care of maintaining a given quality of service. The first version of muskel we discuss here is able to ensure a constant number of active processing elements assigned to computations in presence of failures of different types. The application manager embedded in muskel represents a prototype experience. It demonstrates the feasibility of a run time support controlled quality of service approach. In particular, it shows that a user supplied "performance contract" can be automatically ensured.