Oct 18, 2009 ... ... Daejeon 305-806, Korea; Department of Computer Science and Engineering, ... Genomic changes underlie evolutionary adaptation, but ...
Adaptation (computer science)
From Wikipedia, the free encyclopedia
The term “
adaptation” in
computer science refers to a
process, in which an
interactive system (
adaptive system) adapts its behaviour to individual users based on
information acquired about its user(s) and its environment.
The need for adaptation
A
software system passes through a potentially long
software engineering cycle and before delivery,
requirement engineers,
designers and
software developers realize the components of the system. However, it is impossible to anticipate the
requirements
of all users, and a single best or optimal system configuration is
impossible. The active involvement of users and clear understanding of
user and
task requirements is a challenge in the
development of computer-based interactive systems for two reasons:
- the potential user groups are not known a prior, but need to be identified according to future scenarios; these groups need to be revised as the visions evolve because there may be various groups of potentially affected users.
- the visions of the aspired project are far-sighted and not close to
users’ current experiences; therefore, users may not be confident and
precise about their needs concerning this future system.
With their norm for "
Human-centred design processes for interactive systems" the
International Organization for Standardization gives guidance on
user-centered design activities throughout the life cycle of computer-based interactive systems.
[1] One of the core tasks of user-centred design is to negotiate and facilitate the
communication across the well-known
user-developer gap
while acknowledging the different forms of expression and different
requirements on each side. However, despite the implementation of a
human-centred design process, some types of modern applications require
instant adaptation due to their exposure to increasing situational
dynamics.
Adaptivity and adaptability
Even if the user-centred design process implemented in a project guarantees a certain degree of
user acceptance
and yields a richer understanding of the context of use, the completed
product’s ability to adapt to changing conditions still plays a central
role for a broad acceptance. The operational environment will change,
the tasks will be distinct, the end-users will be
heterogeneous,
and their competences and expectations will evolve. Here again it is
impossible for developers to anticipate all possible requirements
modifications. Thus, the dynamics of changing conditions shifts the
customisation process of the system’s characteristics from the
development phase to its usage and operation phase because the time
needed for a professional development is too short or the new features
are too costly.
For this reason, developers implement techniques of adaptation into
the system in order to react to changing conditions as fast as possible.
The example application scenario clearly shows an important distinction
concerning such adaptation techniques: the differentiation between
manually and automatically performed adaptation processes. Accordingly,
the term adaptation decomposes into the two terms adaptivity and
adaptability. Adaptivity indicates a system that adapts automatically to its users according to changing conditions, i.e. an
adaptive system.
Adaptability refers to users that can substantially customise the
system through tailoring activities by themselves, i.e. an adaptable
system. Adaptive and adaptable systems are complementary to each other.
[2]
Both methods increase the match between user needs and system behaviour
once the development of the system has been finished. Thus, the system
is kept flexible during usage.
Catalysts for adaptation
Changing conditions trigger the execution of an adaptation. Many characteristics might be taken into account as
catalysts
for such an adaptation process. They can be clustered into three main
categories: inter-individual, intra-individual and environmental
differences.
Inter-individual differences
Inter-Individual
Differences address varieties among several users along manifold
dimensions. Physiological characteristics like disabilities are of major
concern for application designers if they want to have their system
accepted by a large community. The consideration of user
preferences like
language,
colour schemes,
modality of interaction,
menu options or
security
properties, and numberless other personal preferences are popular
sources of adaptation and can be reused in different applications. Other
sources are the user’s interests and disinterests,
psychological personality characteristics like
emotions,
self-confidence,
motivation, or
beliefs, which are difficult to assess automatically.
Intra-individual differences
Intra-individual differences consider the
evolution
and further development of a single user, as well as the task over
time. A static system falls short of changing user requirements as the
user’s activities and goals evolve. In an extreme case users are
over-strained by the system in the beginning and perceive the same
system as cumbersome and restricted as the user’s
expertise increases. In the same manner, the need for a higher
flexibility of computer systems is pushed by the changing of the tasks to be accomplished with such a system.
Environmental differences
Environmental Differences basically result from the
mobility of computing devices, applications and people, which leads to highly dynamic computing environments. Unlike
desktop applications, which rely on a carefully configured and largely static set of resources,
ubiquitous computing
applications are subject to changes in available resources such as
network connectivity and input/output devices. Moreover, they are
frequently required to cooperate spontaneously and opportunistically
with previously unknown software services in order to accomplish tasks
on behalf of users. Thus, the environment surrounding an application and
its user is a major source to justify adaptation operations.
See also
References
No comments:
Post a Comment