Variability in operating environment of software applications may violate requirements. Context-awareness is the problem of detecting such changes and restoring requirements satisfaction by adapting the application’s behaviour. These two activities require monitoring and switching respectively.
Monitoring requirements define what CAA must do to detect changes in their operating environment that violate requirements while switching requirements define what they must do to adapt their behaviour to restore the satisfaction of such requirements.
Top|Specifying monitoring and switching behaviours in context-aware applications is often complex due to dependency on requirements and varying contextual properties of the operating environment. Monitoring all contextual domains and their associated properties and non-essential switching may lead to run-time inefficiency. Trade-off analysis provides a means of identifying and removing non-essential switching by allowing representations of requirements in different perspectives to be compared.
Top|Under Construction...
Variants problems share a common concern (i.e. requirement). In addition to that however, each problem has an additional unique concern induced by variation in operating environment. Variant problems in tern result in variant solutions. Therefore, identifying and relating problem and solution variants are fundamental part of solution seeking in problem analysis.
Top|Under Construction...
Under Construction...
Problem representation and analysis usually require heavy human involvement. Therefore techniques such as satisfiability solvers, constraints solvers, etc could be used to support some form of automation. This is an area we are currently exploring.
Top|Under Construction...
The product-family paradigm is predicated on the definition of a general product architecture from which a number of different architectures can be derived, each addressing the needs of a separate market segment, with a high level of component reuse. The way this is achieved is through the identification of variability points within a generic product architecture, from which variant product architectures are generated, each product with a specific range of functionality. The production of many consumer devices in the hand-held battery-powered wireless domain, such as mobile phones or digital cameras is based on this paradigm. Increasingly, such devices are required to be context-aware, that is, they are expected to change their behaviour in response to changes in their operating environment. Current product-family technology, however, deals primarily with architectures whose variants assume a fixed context of operation. This is because, in general, the variability points of these architectures are bound statically to specific products before they are released. This is at odds with the increasing pressure for context awareness. Therefore, we are interested in deriving monitoring and swithching specifications that are adaptive to different product-family members and operating enviornments.
Top|