Reliable Medical Monitoring and Analysis

Reliable Medical Monitoring and Analysis
Jens Palsberg Majid Sarrafzadeh
UCLA Computer Science Department
Position paper for the workshop on
High-Confidence Medical Device Software and Systems
Our vision for high-confidence medical device software and systems (MDSS) is shaped
by our current work on customizable sensor nodes for medical monitoring [1] and on
event driven software quality [2]. We forecast the emergence of low-power, plug-andplay components that enable physicians to quickly customize personal sensor networks
for medical monitoring. Programmers will use new tools to verify and validate that the
components meet resource constraints and function correctly.
Embedded, Real-Time, Networked System Infrastructures for MDSS
Challenges. Customization. Reconfiguration. Mobility. Robustness. Low-power.
IT Research Needs. Our sensor nodes for medical monitoring are called mednodes. A
mednodes consists of a controller (such as the dotmote) and a sensor (capable, for
example, of measuring angles or acceleration). The main attribute of our CustoMed
architecture is its fast and easy customizability capability based on patients' needs. The
first level of customization is at the device level. The choice of the device, the placement
of the device on the body, and the interaction level of the device with the environment
will be tailored to the individual and his/her needs. Second level of customization is the
software downloaded onto the device. Depending on the gender, age, medical condition,
and other variables, the software downloaded onto the devices differs. The idea of
customization has not been emphasized before, but is an important concern, if the system
is made to be robust enough to handle many different needs, as well as unexpected needs
that may arise. It is required that the spatially distributed components on its surface be
able to communicate and coordinate to achieve the desired sensing and actuation
functions. Sensing will take advantage of the spatial dispersion over the human body
surface to improve detection efficiency, effectiveness and robustness. Such collaboration
requires flexible communication among the elements. While the resource constraints
imply that the communication must be done in a highly efficient manner, the distributed
control nature of the applications requires that the communication be highly predictable
(latency) and reliable. The ultimate goal is to develop the communication, coordination
and control primitives with which a wide variety of applications will be enabled, and to
demonstrate their effectiveness compared to other approaches. The propagation of radio
signals takes place through a multiple scattering process that changes randomly. The
received signal at the antennas has properties that depend on both the antenna pattern and
scattered field. For this reason, antenna pattern are tailored to the statistical nature of the
environment. In mobile radio communication systems, the presence of the operator very
near the radiating antenna of the portable handset, modifies the antenna pattern, and,
consequently, radio channel characteristics change. We explore the radio communication
channel characteristics in a mobile wireless system in close proximity to the human body.
One of the main goals of CustoMed is to make the software aspects easily customizable.
The physician (or a technician) will pick from a wide range of code to download onto the
devices. Furthermore, the nodes can easily communicate with the environment. For
example, in case of an emergency, the sensors can alert the security system in the house.
In less urgent cases, an email can be sent across the Internet or a home appliance can be
turned off or on.
Roadmap for the next 5-10 years. New algorithms for power optimization. New ideas
on how automatically adjusting powersettings and even shutting down mednodes can
reduce energy usage. New low-power architectures. Emergence of plug-and-play
components that enable fast customization.
High-Confidence MDSS Development and Assurance
Challenges. A software engineering methodology for programming heterogeneous
networks of low-power, small-space sensor nodes. Tools for verifying and validating that
software meets resource constraints.
IT Research Needs. Sensor networks are an enabling technology for our vision of
MDSS. Building high confidence sensor networks for MDSS is currently exceedingly
difficult. We need a sound software engineering methodology, encompassing techniques,
tools, and best practices, which can guide developers. Such a methodology must support
the common event-driven style that is pervasively used to program sensor networks
today. Early in the software life cycle, we need design patterns for low power and small
space, as well as better interface and architecture description languages that can talk
about resources, security, and safety. At the implementation level, simulation is an
essential part of validation. We have developed Avrora, an efficient, cycle-accurate, and
energy-accurate simulator for sensor networks of AVR/Mica2 motes. Avrora allows
precision instrumentation of sensor-network software which enables nonintrusive
monitoring of individual nodes, wireless radio communication, and other events in a
sensor network. Such monitoring goes far beyond staring at the LEDs of the sensor
nodes, as many developers must resort to today. As we move towards heterogeneous
sensor networks with multiple kinds of sensor nodes, the simulator technology needs to
be expanded and enhanced. In particular, with new kinds of sensor nodes coming out
almost every month, we need ways of generating simulators, rather than writing them by
hand. Today, most sensor network software is programmed in C or nesC. We envision
better language and compiler support for programming sensor networks, particularly
support for a component-based, event-based programming style in which systems are: (1)
programmed using language features, such as expressive interface types and declarative
event dispatch, that make the event structure of the program transparent and statically
checked as a normal part of compilation; (2) verified with automated analyses such as
type checking and model checking that ensure component compatibility and programmerdeclared safety properties, such as maximum stack depths and path latencies; and (3)
compiled with resource-aware optimization and transformation, integrated with our
systems' event dispatch loops, that squeeze code size, optimize system structures like the
event scheduler based on properties of the program and platform, and meet global
resource constraints. Later in the life cycle, we need regression testing for sensor
networks, a major problem today because of the uncertainties of wireless radio
communication.
Roadmap for the next 5-10 years. Posting of early challenge problems, such as our
wearable jacket with devices and sensors, with application to heart monitoring. Opensource implementations of challenge problems. Improved tool support. Better language
and compiler support.
References
[1] Majid Sarrafzadeh, Deborah Estrin, Yang Yang, Mani Srivastava, Glenn Reinman,
“ITR: Reconfigurable Fabric”, NSF award number 0205682, 2002-2005.
[2] Jens Palsberg, Eddie Kohler, Todd Millstein, Rupak Majumdar, “ITR: Event Driven
Software Quality”, NSF award number 0427202, 2004-2007.
Jens Palsberg
UCLA Computer Science Department, [email protected], 310-825-6320. Palsberg is a
Professor of Computer Science at UCLA. He received a Ph.D. in Computer Science from
University of Aarhus, Denmark in 1992. In 1992-1996 he was a visiting scientist at
various institutions, including MIT. In 1996-2002 he was an Associate Professor and, in
2002-2003, Professor and Associate Head of Computer Science at Purdue University. His
research interests span the areas of compilers, embedded systems, programming
languages, software engineering, and information security. He has authored over 70
technical papers, co-authored the book Object-Oriented Type Systems, and co-authored
the 2002 revision of Appel's textbook on Modern Compiler Implementation in Java. He is
the recipient of National Science Foundation CAREER and ITR awards, a Purdue
University Faculty Scholar award, and an Okawa Foundation research award. Professor
Palsberg's research has also been supported by DARPA, IBM, Intel, and British Telecom.
He is an associate editor of ACM Transactions of Programming Languages and Systems,
a member of the editorial board of Information and Computation, and a former member
of the editorial board of IEEE Transactions on Software Engineering. He is serving as the
general chair of the ACM Symposium on Principles of Programming Languages in 2005,
he has served as a program chair for the Static Analysis Symposium, the Symposium on
Requirements Engineering for Information Security, and the ACM Workshop on
Program Analysis for Software Tools and Engineering, and he has been a member of
more than 50 other program committees.
Majid Sarrafzadeh
UCLA Computer Science Department, [email protected], 310-794-4303. Sarrafzadeh is
a Professor of Computer Science at UCLA. He received his B.S., M.S. and Ph.D. in 1982,
1984, and 1987 respectively from the University of Illinois at Urbana-Champaign in
Electrical and Computer Engineering. He joined Northwestern University as an Assistant
Professor in 1987, and in 2000, he joined UCLA. His recent research interests lie in the
area of Embedded and Reconfigurable Computing, VLSI CAD, and design and analysis
of algorithms. Sarrafzadeh is a Fellow of IEEE for his contribution to "Theory and
Practice of VLSI Design". He received an NSF Engineering Initiation award, two
distinguished paper awards in ICCAD, and the best paper award in DAC. He has served
on the technical program committee of numerous conferences in the area of VLSI Design
and CAD, including ICCAD, DAC, EDAC, ISPD, FPGA, and DesignCon. He has served
as committee chairs of a number of these conferences. He is on the executive
committee/steering committee of several conferences such as ICCAD, ISPD, and ISQED.
Professor Sarrafzadeh has published more than 250 papers, is a co-editor of the book
"Algorithmic Aspects of VLSI Layout" (1994), and co-author of the books "An
Introduction to VLSI Physical Design" (1996) and "Modern Placement Techniques"
(2003). He is on the editorial board of the VLSI Design Journal, an Associate Editor of
ACM Transaction on Design Automation and an Associate Editor of IEEE Transactions
on Computer-Aided Design. He has collaborated with IBM, Motorola, and many CAD
industries and was the architect of the physical design subsystem of Monterey Design
Systems main product. He is a co-founder of Hier Design, Inc.