Software engineering perspectives on physiological computing
Beschreibung
vor 12 Jahren
Physiological computing is an interesting and promising concept to
widen the communication channel between the (human) users and
computers, thus allowing an increase of software systems'
contextual awareness and rendering software systems smarter than
they are today. Using physiological inputs in pervasive computing
systems allows re-balancing the information asymmetry between the
human user and the computer system: while pervasive computing
systems are well able to flood the user with information and
sensory input (such as sounds, lights, and visual animations),
users only have a very narrow input channel to computing systems;
most of the time, restricted to keyboards, mouse, touchscreens,
accelerometers and GPS receivers (through smartphone usage, e.g.).
Interestingly, this information asymmetry often forces the user to
subdue to the quirks of the computing system to achieve his goals
-- for example, users may have to provide information the software
system demands through a narrow, time-consuming input mode that the
system could sense implicitly from the human body. Physiological
computing is a way to circumvent these limitations; however,
systematic means for developing and moulding physiological
computing applications into software are still unknown. This thesis
proposes a methodological approach to the creation of physiological
computing applications that makes use of component-based software
engineering. Components help imposing a clear structure on software
systems in general, and can thus be used for physiological
computing systems as well. As an additional bonus, using components
allow physiological computing systems to leverage reconfigurations
as a means to control and adapt their own behaviours. This
adaptation can be used to adjust the behaviour both to the human
and to the available computing environment in terms of resources
and available devices - an activity that is crucial for complex
physiological computing systems. With the help of components and
reconfigurations, it is possible to structure the functionality of
physiological computing applications in a way that makes them
manageable and extensible, thus allowing a stepwise and systematic
extension of a system's intelligence. Using reconfigurations
entails a larger issue, however. Understanding and fully capturing
the behaviour of a system under reconfiguration is challenging, as
the system may change its structure in ways that are difficult to
fully predict. Therefore, this thesis also introduces a means for
formal verification of reconfigurations based on assume-guarantee
contracts. With the proposed assume-guarantee contract framework,
it is possible to prove that a given system design (including
component behaviours and reconfiguration specifications) is
satisfying real-time properties expressed as assume-guarantee
contracts using a variant of real-time linear temporal logic
introduced in this thesis - metric interval temporal logic for
reconfigurable systems. Finally, this thesis embeds both the
practical approach to the realisation of physiological computing
systems and formal verification of reconfigurations into Scrum, a
modern and agile software development methodology. The surrounding
methodological approach is intended to provide a frame for the
systematic development of physiological computing systems from
first psychological findings to a working software system with both
satisfactory functionality and software quality aspects. By
integrating practical and theoretical aspects of software
engineering into a self-contained development methodology, this
thesis proposes a roadmap and guidelines for the creation of new
physiological computing applications.
widen the communication channel between the (human) users and
computers, thus allowing an increase of software systems'
contextual awareness and rendering software systems smarter than
they are today. Using physiological inputs in pervasive computing
systems allows re-balancing the information asymmetry between the
human user and the computer system: while pervasive computing
systems are well able to flood the user with information and
sensory input (such as sounds, lights, and visual animations),
users only have a very narrow input channel to computing systems;
most of the time, restricted to keyboards, mouse, touchscreens,
accelerometers and GPS receivers (through smartphone usage, e.g.).
Interestingly, this information asymmetry often forces the user to
subdue to the quirks of the computing system to achieve his goals
-- for example, users may have to provide information the software
system demands through a narrow, time-consuming input mode that the
system could sense implicitly from the human body. Physiological
computing is a way to circumvent these limitations; however,
systematic means for developing and moulding physiological
computing applications into software are still unknown. This thesis
proposes a methodological approach to the creation of physiological
computing applications that makes use of component-based software
engineering. Components help imposing a clear structure on software
systems in general, and can thus be used for physiological
computing systems as well. As an additional bonus, using components
allow physiological computing systems to leverage reconfigurations
as a means to control and adapt their own behaviours. This
adaptation can be used to adjust the behaviour both to the human
and to the available computing environment in terms of resources
and available devices - an activity that is crucial for complex
physiological computing systems. With the help of components and
reconfigurations, it is possible to structure the functionality of
physiological computing applications in a way that makes them
manageable and extensible, thus allowing a stepwise and systematic
extension of a system's intelligence. Using reconfigurations
entails a larger issue, however. Understanding and fully capturing
the behaviour of a system under reconfiguration is challenging, as
the system may change its structure in ways that are difficult to
fully predict. Therefore, this thesis also introduces a means for
formal verification of reconfigurations based on assume-guarantee
contracts. With the proposed assume-guarantee contract framework,
it is possible to prove that a given system design (including
component behaviours and reconfiguration specifications) is
satisfying real-time properties expressed as assume-guarantee
contracts using a variant of real-time linear temporal logic
introduced in this thesis - metric interval temporal logic for
reconfigurable systems. Finally, this thesis embeds both the
practical approach to the realisation of physiological computing
systems and formal verification of reconfigurations into Scrum, a
modern and agile software development methodology. The surrounding
methodological approach is intended to provide a frame for the
systematic development of physiological computing systems from
first psychological findings to a working software system with both
satisfactory functionality and software quality aspects. By
integrating practical and theoretical aspects of software
engineering into a self-contained development methodology, this
thesis proposes a roadmap and guidelines for the creation of new
physiological computing applications.
Weitere Episoden
vor 11 Jahren
vor 11 Jahren
vor 11 Jahren
In Podcasts werben
Kommentare (0)