1. A computer readable tangible non-transitory storage medium having a computer program stored thereon for managing quality of service, the program representing middleware and comprising executable instructions that cause a computer to: configure an application programming interface as a data model describing quality-of-service adaptation paths as specified by quality-of-service aware mobile multimedia applications using said application programming interface, in order to manage quality-of-service and mobility-aware network connections with other applications, a quality-of-service adaptation path defining an adaptation policy in terms of alternative quality-of-service contracts identifying alternative quality-of-service specifications and rules for switching between the alternative quality-of-service contracts based on a comparison of the contracted QoS specification with the actual quality-of-service, and wherein said middleware is adapted to repeatedly measure the actual quality-of service and to repeatedly select one of the alternative quality-of-service contracts according to the rules for switching between the alternative quality-of-service contracts based on a comparison of the contracted quality-of-service specifications with the actual quality-of-service, the quality-of-service specifications of the selected quality-of-service contract describing a currently to be achieved quality-of-service for one or more network connections, and wherein the adaptation paths are modeled as hierarchical finite state machines, each quality-of-service contract of an adaptation path corresponding to a different state of a hierarchical finite state machine, said rules for switching between the alternative quality-of-service contracts corresponding to transitions between the states of a hierarchical finite state machine and each hierarchical finite state machine comprising: a finite state machine associated with a User Context, a finite state machine associated with an Application Context nested in said finite state machine associated with said User Context and a finite state machine associated with a Session Context nested in said finite state machine associated with said Application Context, wherein said User Context, said Application Context and said Session Context each identify an arrangement of quality-of-service specifications enforceable through a set of streams belonging to a given user, multimedia application and telecommunication session, respectively, the given user partaking in the given telecommunication session by means of executing the given multimedia application, wherein said middleware derives quality-of-service specifications of an Application Context from the quality-of-service specifications of the nesting User Context and quality-of-service specifications of a Session Context from the quality-of-service specifications of the nesting Application and User Contexts, and wherein said arrangements of quality-of-service specifications identified in said User Context, said Application Context and said Session Context are specified by said multimedia applications using said application programming interface.