[PDF][PDF] Building dynamic software product lines
Our world becomes increasingly complex and rapidly changing. This is not only a burden for
people, but for software, too. Systems increasingly need to be capable to run continuously
under adverse conditions (harsh environments, partial failures of subsystems, changing user
needs, etc.). Often, they need to run unattended without interruption. Telecommunication
systems and space systems are only rather extreme examples of this trend. More mundane
applications like your smartphone, which ideally adapts its overall system behavior to …
people, but for software, too. Systems increasingly need to be capable to run continuously
under adverse conditions (harsh environments, partial failures of subsystems, changing user
needs, etc.). Often, they need to run unattended without interruption. Telecommunication
systems and space systems are only rather extreme examples of this trend. More mundane
applications like your smartphone, which ideally adapts its overall system behavior to …
Our world becomes increasingly complex and rapidly changing. This is not only a burden for people, but for software, too. Systems increasingly need to be capable to run continuously under adverse conditions (harsh environments, partial failures of subsystems, changing user needs, etc.). Often, they need to run unattended without interruption. Telecommunication systems and space systems are only rather extreme examples of this trend. More mundane applications like your smartphone, which ideally adapts its overall system behavior to energy levels, quality of network connection, etc. are also current challenges.
As a result of this type of challenges, we saw the advent of many different approaches to develop systems that are capable of adapting to changing needs, like self-adapting systems, agent-based systems, autonomous computing, emergent systems, bio-inspired systems, etc. While all these approaches share a fundamental theme: flexible adaptation of software to the needs, they also exhibit significant differences in terms of the range of adaptations supported, as well as the guarantees that can be expected for the various adapted systems.
people.computing.clemson.edu