Interaction cases: generalized use cases in ambient systems