A few years ago, it seemed inconceivable to think about cars able to detect open doors automatically, with a device for speech recognition; besides, it was almost unbelievable to imagine houses that close their windows in case of rain, or heating systems that turn themselves on at a specific time, reaching certain temperatures; among other characteristics. However, nowadays it is almost natural to have these benefits at our disposal; even it is possible to abstract oneself about the hardware used for their implementation.
This fact is due to the technical advance, as well as to the raise of a new paradigm: Context Aware Programming In other words, the development of applications aimed to react automatically towards environment changes. This type of application requires a representation scheme over the contextual information used.
This paper defines some guidelines connected to Requirement Engineering for these systems to operate. First, a context taxonomy is conceptualized, used as a guide for eliciting processes; then, definitions for “element”, “context attribute”, and “representation scheme” are presented. Finally, a procedure for eliciting and specifying context is proposed.