The term “adaptation” in
computer science
Computer science is the study of computation, automation, and information. Computer science spans theoretical disciplines (such as algorithms, theory of computation, information theory, and automation) to practical disciplines (includin ...
refers to a
process
A process is a series or set of activities that interact to produce a result; it may occur once-only or be recurrent or periodic.
Things called a process include:
Business and management
*Business process, activities that produce a specific se ...
where an
interactive system
Systems engineering is an interdisciplinary field of engineering and engineering management that focuses on how to design, integrate, and manage complex systems over their life cycles. At its core, systems engineering utilizes systems thinking ...
(
adaptive system
An adaptive system is a set of interacting or interdependent entities, real or abstract, forming an integrated whole that together are able to respond to environmental changes or changes in the interacting parts, in a way analogous to either conti ...
) adapts its behaviour to individual users based on
information
Information is an abstract concept that refers to that which has the power to inform. At the most fundamental level information pertains to the interpretation of that which may be sensed. Any natural process that is not completely random, ...
acquired about its user(s) and its environment. Adaptation is one of the three pillars of
empiricism in
Scrum
Scrum may refer to:
Sport
* Scrum (rugby), a method of restarting play in rugby union and rugby league
** Scrum (rugby union), scrum in rugby union
* Scrum, an offensive melee formation in Japanese game Bo-taoshi
Media and popular culture
* ...
.
The need for adaptation
A
software system
A software system is a system of intercommunicating components based on software forming part of a computer system (a combination of hardware and software). It "consists of a number of separate programs, configuration files, which are used to s ...
passes through a potentially long
software engineering
Software engineering is a systematic engineering approach to software development.
A software engineer is a person who applies the principles of software engineering to design, develop, maintain, test, and evaluate computer software. The term ' ...
cycle and before delivery,
requirement engineers,
designers
A designer is a person who plans the form or structure of something before it is made, by preparing drawings or plans.
In practice, anyone who creates tangible or intangible objects, products, processes, laws, games, graphics, services, or exp ...
and
software developers realize the components of the system. However, it is impossible to anticipate the
requirements
In product development and process optimization, a requirement is a singular documented physical or functional need that a particular design, product or process aims to satisfy. It is commonly used in a formal sense in engineering design, inclu ...
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 may not be known at the start of the project, and would need to be identified according to future
scenarios of how the software system will be used. These groups need to be revised as the system design evolves because there may be various groups of potentially affected users.
* The design of the project may include substantial changes compared to the users’ current experience of a system; 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
The International Organization for Standardization (ISO ) is an international standard development organization composed of representatives from the national standards organizations of member countries. Membership requirements are given in Ar ...
gives guidance on
user-centered design
User-centered design (UCD) or user-driven development (UDD) is a framework of process (not restricted to interfaces or technologies) in which usability goals, user characteristics, environment, tasks and workflow of a product, service or proc ...
activities throughout the life cycle of computer-based interactive systems.
One of the core tasks of user-centred design is to negotiate and facilitate the
communication
Communication (from la, communicare, meaning "to share" or "to be in relation with") is usually defined as the transmission of information. The term may also refer to the message communicated through such transmissions or the field of inqu ...
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
Ancient Egyptian roles
* User (ancient Egyptian official), an ancient Egyptian nomarch (governor) of the Eighth Dynasty
* Useramen, an ancient Egyptian vizier also called "User"
Other uses
* User (computing), a person (or software) using an ...
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
Homogeneity and heterogeneity are concepts often used in the sciences and statistics relating to the uniformity of a substance or organism. A material or image that is homogeneous is uniform in composition or character (i.e. color, shape, siz ...
, 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
Adaptability ( la, adaptō "fit to, adjust") is a feature of a system or of a process. This word has been put to use as a specialised term in different disciplines and in business operations. Word definitions of adaptability as a specialised term d ...
. Adaptivity indicates a system that adapts automatically to its users according to changing conditions, i.e. an
adaptive system
An adaptive system is a set of interacting or interdependent entities, real or abstract, forming an integrated whole that together are able to respond to environmental changes or changes in the interacting parts, in a way analogous to either conti ...
. 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.
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
Catalysis () is the process of increasing the rate of a chemical reaction by adding a substance known as a catalyst (). Catalysts are not consumed in the reaction and remain unchanged after it. If the reaction is rapid and the catalyst recycl ...
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
In psychology, economics and philosophy, preference is a technical term usually used in relation to choosing between wikt:alternative, alternatives. For example, someone prefers A over B if they would rather choose A than B. Preferences are centra ...
like
language
Language is a structured system of communication. The structure of a language is its grammar and the free components are its vocabulary. Languages are the primary means by which humans communicate, and may be conveyed through a variety of ...
,
colour
Color (American English) or colour (British English) is the visual perceptual property deriving from the spectrum of light interacting with the photoreceptor cells of the eyes. Color categories and physical specifications of color are associ ...
schemes,
modality of interaction,
menu
In a restaurant, the menu is a list of food and beverages offered to customers and the prices. A menu may be à la carte – which presents a list of options from which customers choose – or table d'hôte, in which case a pre-established seque ...
options or
security" \n\n\nsecurity.txt is a proposed standard for websites' security information that is meant to allow security researchers to easily report security vulnerabilities. The standard prescribes a text file called \"security.txt\" in the well known locat ...
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
Psychology is the scientific study of mind and behavior. Psychology includes the study of conscious and unconscious phenomena, including feelings and thoughts. It is an academic discipline of immense scope, crossing the boundaries betw ...
personality characteristics like
emotions
Emotions are mental states brought on by neurophysiology, neurophysiological changes, variously associated with thoughts, feelings, behavioral responses, and a degree of pleasure or suffering, displeasure. There is currently no scientific ...
,
self-confidence
Confidence is a state of being clear-headed either that a hypothesis or prediction is correct or that a chosen course of action is the best or most effective. Confidence comes from a Latin word 'fidere' which means "to trust"; therefore, having ...
,
motivation
Motivation is the reason for which humans and other animals initiate, continue, or terminate a behavior at a given time. Motivational states are commonly understood as forces acting within the agent that create a disposition to engage in goal-dire ...
, or
beliefs
A belief is an attitude that something is the case, or that some proposition is true. In epistemology, philosophers use the term "belief" to refer to attitudes about the world which can be either true or false. To believe something is to take i ...
, 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
An expert is somebody who has a broad and deep understanding and competence in terms of knowledge, skill and experience through practice and education in a particular field. Informally, an expert is someone widely recognized as a reliable sou ...
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
Mobility may refer to:
Social sciences and humanities
* Economic mobility, ability of individuals or families to improve their economic status
* Geographic mobility, the measure of how populations and goods move over time
* Mobilities, a conte ...
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
Ubiquitous computing (or "ubicomp") is a concept in software engineering, hardware engineering and computer science where computing is made to appear anytime and everywhere. In contrast to desktop computing, ubiquitous computing can occur using ...
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
{{DEFAULTSORT:Adaptation (Computer Science)
Human–computer interaction
Agile software development