Concepts inArchitecture-centric programming for adaptive systems
Adaptive system
The term adaptation arises mainly in the biological scope as a trial to study the relationship between the characteristics (anatomic structure, physiological processes or behavior) of living beings and their environments.
more from Wikipedia
Programming language
A programming language is an artificial language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs that control the behavior of a machine and/or to express algorithms precisely. The earliest programming languages predate the invention of the computer, and were used to direct the behavior of machines such as Jacquard looms and player pianos.
more from Wikipedia
Robustness (computer science)
In computer science, robustness is the ability of a computer system to cope with errors during execution or the ability of an algorithm to continue to operate despite abnormalities in input, calculations, etc. Formal techniques, such as fuzz testing, are essential showing robustness since this type of testing involves invalid or unexpected inputs. Various commercial products perform robustness testing of software systems. Robustness is a consideration in failure assessment analysis.
more from Wikipedia
Programmer
A programmer, computer programmer, or coder is a person who writes computer software. The term computer programmer can refer to a specialist in one area of computer programming or to a generalist who writes code for many kinds of software. One who practices or professes a formal approach to programming may also be known as a programmer analyst.
more from Wikipedia
Software architecture
The software architecture of a system is the set of structures needed to reason about the system, which comprise software elements, relations among them, and properties of both. The term also refers to documentation of a system's "software architecture. " Documenting software architecture facilitates communication between stakeholders, documents early decisions about high-level design, and allows reuse of design components and patterns between projects.
more from Wikipedia
Software development
Software development (also known as application development, software design, designing software, software application development, enterprise application development, or platform development) is the development of a software product.
more from Wikipedia
Ubiquitous computing
Ubiquitous computing (ubicomp) is a post-desktop model of human-computer interaction in which information processing has been thoroughly integrated into everyday objects and activities. In the course of ordinary activities, someone "using" ubiquitous computing engages many computational devices and systems simultaneously, and may not necessarily even be aware that they are doing so. This model is usually considered an advancement from the desktop paradigm.
more from Wikipedia