1. A method for criteria-based establishment and/or termination of a collaborative session among a group of dynamically varying users, comprising steps of: maintaining, for each of a plurality of users, a set of contextual attributes, said set including an availability attribute representing an availability of the user, a skill attribute representing a skill of the user, and a location attribute representing a geographic location of the associated user, said maintaining including repeatedly updating the values of the contextual attributes in accordance with updates in the contexts represented by the attributes; receiving a user-entered request to establish a collaborative session, said request specifying a set of predicates in terms of specific values of contextual attributes from among said contextual attributes required for users to participate in the requested collaborative session, and a termination predicate specifying a collaborative session termination event; querying said sets of contextual attributes to identify each set contextual attributes having current values that satisfy said set of predicates; establishing and maintaining a collaborative session among the users having sets of contextual attributes identified by said querying as satisfying said user-entered request a group of dynamically varying users identified according to said explicit set of individual or device contextual predicates; repeating said querying while maintaining said collaborative session and, in response to said querying identifying another of said sets of contextual attributes as satisfying said set of predicates, adding the user associated with said another set of contextual attributes to said collaborative session; detecting an occurrence of the event identified by said termination predicate; and in response to the detecting, terminating the collaborative event.