Title: School of Computing
1School of Computing Mathematics Research
Conference 2004
- Environmental Scanning And Its Role In Adaptive
Software Systems - Henry Forsyth
- Supervisory Team
- Prof. Taleb Bendiab
- Mr. Andy Laws
- Dr. Carl Bamford
2Todays Presentation
- Introduction to Adaptive Software
- Basic Steps In Adaptation
- The Role Of The Environment In Adaptive Software
- Why Are Environments So Problematic?
- Some Issues For Consideration
- Problems Encountered So Far
- Environment Scanning An Organisational Approach
- Characteristics For Successful Environmental
Scanning - Closed Loop Adaptive Test System
- Next Research Steps
- Conclusions
3Introduction To Adaptive Software
- Self-adaptive software evaluates its own
behaviour and changes behaviour when the
evaluation indicates that it is not accomplishing
what the software is intended to do, or when
better functionality or performance is possible.
DARPA 1997 - Self-adaptive software modifies its own
behaviour in response to changes in its operating
environment. Oreizy 1999 - Therefore the benefits of adaptive software
should be- - Increased robustness and reliability
- Less requirement for human maintenance
- Increasingly agile software systems
4The Role Of The Environment In Adaptive Systems
- The environment is likely to play an
increasingly important role in software
development in the future - Ubiquitous Devices will increasingly utilise
sensors which will provide a view into the
physical world around us - The development of GRID computing
- Sensor Based Human Machine Interaction
(J.Allanson) - Environments are becoming increasingly complex,
populated and unknown - If we could define / model our environment
completely there would be no need for adaptive
software - Without effective environmental awareness we will
find it difficult to develop robust reliable
software systems
5Basic Steps In Adaptation and Why Are
Environments So Problematic ?
- Adaptation basically involves three tasks
- 1) An ability to recognise a change in the
environment - 2) An ability to determine the changes to be made
to the system in response to environmental
changes - 3) An ability to effect the change in order to
generate the new system - From an adaptive software viewpoint many research
groups are concentrating on other elements which
also need solving- - Learning
- Evaluating
- How can we successfully model an environment if
it - is so complex and subject to dynamic change?
6Some Issues For Consideration
- What kind of information needs to be collected
from the environment to make effective adaptation
decisions? - How Accurate ? (Precise, Approximate, Sampled
observations) - How current ?
- The most successful animals are those that can
adapt quickly to their environment as opposed to
always selecting the optimum solution - How do we represent the raw data so that the
system can perform reasoning on it - This will require modelling our environment in
order to be able to - Diagnose program failures and performance
problems - Provide a basis for choosing new strategies
- Can we develop filtering techniques to reduce
background noise from the environment which
will improve - the efficiency of our adaptive systems
- This is an overhead associated with monitoring
any - environment and therefore is it important to
achieve the - appropriate monitoring balance
7Problems Encountered So Far
- Difficulty in obtaining self-adaptive research
material - The self-adaptive material available whilst
mentioning the importance of the environment was
tending to concentrate on other areas - Too slow in finding an application in which to
ground the research - Instead of looking for killer applications I
should have been looking for something more
limited in scope but which I could get up and
going much sooner - Getting easily discouraged
- Not looking at other domains which could possible
provide guidance in successfully developing
Environmental - Scanning policies and techniques which could be
- applied to the field of adaptive software
8Environment Scanning A Strategic Management
Approach
- Environmental Scanning defined as A kind of
radar to scan the world systematically and signal
the new, the unexpected, the major and the minor
(Brown 1985) - Literature search extended into business
organisation in which research concluded that
companies with more effective scanning and
assessment measures are more successful (Newgren
1984, Dollinger 1984) - However guidelines on how to scan are few
- The scanning process should be structured to
minimise the chances of being blind-sided by an
environmental change you should have seen coming
9Characteristics For Successful Environmental
Scanning
- An ability to measure environmental uncertainty
and devise scanning measures to compensate - Therefore if we perceive the environment to be
uncertain / hostile we should increase scanning
resources - Environmental complexity could possibly be
calculated by - The number of environmental factors considered in
decision making - The degree to which these factors change over
time - An ability to alter scanning techniques depending
on the environment - This might mean scanning changing from
- Information Searching (Actively search the
environment) - Passive Information Monitoring
- An ability to perform sufficiently comprehensive
- scanning
- Data is often inherently scattered, vague, and
imprecise and - come from a host of sources (Morrison 1992)
-
10More Characteristics For Successful Environmental
Scanning
- An ability to adjust scanning frequency to reduce
overhead - Irregular Scanning (ad-hoc and tends to be crisis
initiated) - Periodic Scanning (an area which to have a low
environmental uncertainty) - Continuous Scanning (Key indicator of system
performance) - An ability to make a risk assessment in terms of
severity and probability of its occurrence - This will help to focus scanning using risk
analysis techniques - The ability to recognise time critical
environmental occurrences
11Next Research Steps (12 Months)
- Continue to widen the research search to other
areas which may be applicable to environmental
scanning and modelling - Build a closed adaptive test system
- Simple Application is all that is required at
this stage - Develop a environmental scanning framework which
may well itself include adaptive behaviour - Ability to alter scanning in relation to
environmental measures discussed earlier - Test the framework / systems with increasingly
complex / turbulent environments to measure
performance and further improve functionality
12Closed Adaptive Test System
- The difference between a open / closed adaptive
test system would be that - A system is open-adaptive if new application
behaviours and adaptation plans can be introduced
during run-time - A system is closed-adaptive if it is
self-contained (limited number of adaptive
behaviours) and is not able to support the
addition of new behaviours - Andy Laws has developed an early closed adaptive
test system which involves sort algorithms - His work is initially dealing with a well behaved
environment - As open adaptive systems are considerably more
difficult to build (how do we trust new
behaviours, learning, evaluation etc) I am going
to build a closed adaptive test system but with
an increasingly turbulent environment - This will allow me to develop environmental
- scanning strategies without getting dragged into
- wider adaptive issues
13Conclusions
- The environment will play an increasingly
important element in all software development
into the future - Its certainly not easy !!
- However there are lessons to be learned from
other disciplines which may be applicable in
helping us understand the factors behind
successful environmental scanning - Starting to ground some of my finding in terms of
developing some testing software will help
greatly in allowing progress to be made - The next 12 months is likely to be critical in
determining the success of this research
14