Real-time Decision Policies with Predictable Performance
Penn collection
Degree type
Discipline
Subject
CPS Formal Methods
CPS Real-Time
Quantitative Regular Expressions
Streaming languages
Arrhythmia monitoring
Tachycardia
Real-time
Analytical, Diagnostic and Therapeutic Techniques and Equipment
Electrical and Computer Engineering
Programming Languages and Compilers
Theory and Algorithms
Funder
Grant number
License
Copyright date
Distributor
Related resources
Author
Contributor
Abstract
As methods and tools for Cyber-Physical Systems grow in capabilities and use, one-size-fits-all solutions start to show their limitations. In particular, tools and languages for programming an algorithm or modeling a CPS that are specific to the application domain are typically more usable, and yield better performance, than general-purpose languages and tools. In the domain of cardiac arrhythmia monitoring, a small, implantable medical device continuously monitors the patient's cardiac rhythm and delivers electrical therapy when needed. The algorithms executed by these devices are streaming algorithms, so they are best programmed in a streaming language that allows the programmer to reason about the incoming data stream as the basic object, rather than force her to think about lower-level details like state maintenance and minimization. Because these devices are resource-constrained, it is useful if the programming language allowed predictable performance in terms of processing runtime and energy consumption, or more general costs. StreamQRE is a declarative streaming programming language, with an efficient and portable implementation and strong theoretical guarantees. In particular, its evaluation algorithm guarantees constant cost (runtime, memory, energy) per data item, and also calculates upper bounds on the per-item cost. Such an estimate of the cost allows early exploration of the algorithmic possibilities, while maintaining a handle on worst-case performance, on the basis of which hardware can be designed and algorithms can be tuned.