Adaptation (computer Science)
   HOME

TheInfoList



OR:

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 Applied science, practical discipli ...
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 philosophy, empiricism is an epistemological theory that holds that knowledge or justification comes only or primarily from sensory experience. It is one of several views within epistemology, along with rationalism and skepticism. Empir ...
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 * M ...
.


The need for adaptation

A software system 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 A computer programmer, sometimes referred to as a software developer, a software engineer, a programmer or a coder, is a person who creates computer programs — often for larger computer software. A programmer is someone who writes/creates ...
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 Development or developing may refer to: Arts *Development hell, when a project is stuck in development *Filmmaking, development phase, including finance and budgeting *Development (music), the process thematic material is reshaped * Photograph ...
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 inquir ...
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, 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 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 recyc ...
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 alternatives. For example, someone prefers A over B if they would rather choose A than B. Preferences are central to decision the ...
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 met ...
,
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 Modality may refer to: Humanities * Modality (theology), the organization and structure of the church, as distinct from sodality or parachurch organizations * Modality (music), in music, the subject concerning certain diatonic scales * Modaliti ...
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 Security is protection from, or resilience against, potential harm (or other unwanted coercive change) caused by others, by restraining the freedom of others to act. Beneficiaries (technically referents) of security may be of persons and social ...
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 Emotions are mental states brought on by neurophysiological changes, variously associated with thoughts, feelings, behavioral responses, and a degree of pleasure or displeasure. There is currently no scientific consensus on a definition. ...
,
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 s ...
increases. In the same manner, the need for a higher
flexibility Stiffness is the extent to which an object resists deformation in response to an applied force. The complementary concept is flexibility or pliability: the more flexible an object is, the less stiff it is. Calculations The stiffness, k, of a bo ...
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 A desktop traditionally refers to: * The surface of a desk (often to distinguish office appliances that fit on a desk, such as photocopiers and printers, from larger equipment covering its own area on the floor) Desktop may refer to various compu ...
, 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