quantitative regular expressions for arrhythmia detection

12
Quantitative Regular Expressions for Arrhythmia Detection Houssam Abbas , Al ena Rodionova , Konstantinos Mamouras, Ezio Bartocci , Scott A. Smolka, and Radu Grosu Abstract—Implantable medical devices are safety-critical systems whose incorrect operation can jeopardize a patient’s health, and whose algorithms must meet tight platform constraints like memory consumption and runtime. In particular, we consider here the case of implantable cardioverter defibrillators, where peak detection algorithms and various others discrimination algorithms serve to distinguish fatal from non-fatal arrhythmias in a cardiac signal. Motivated by the need for powerful formal methods to reason about the performance of arrhythmia detection algorithms, we show how to specify all these algorithms using Quantitative Regular Expressions (QREs). QRE is a formal language to express complex numerical queries over data streams, with provable runtime and memory consumption guarantees. We show that QREs are more suitable than classical temporal logics to express in a concise and easy way a range of peak detectors (in both the time and wavelet domains) and various discriminators at the heart of today’s arrhythmia detection devices. The proposed formalization also opens the way to formal analysis and rigorous testing of these detectors’ correctness and performance, alleviating the regulatory burden on device developers when modifying their algorithms. We demonstrate the effectiveness of our approach by executing QRE-based monitors on real patient data on which they yield results on par with the results reported in the medical literature. Index Terms—Peak detection, electrocardiograms, arrythmia discrimination, ICDs, quantitative regular expressions Ç 1 INTRODUCTION I N modern medical devices, signal processing (SP) algo- rithms are tightly integrated with decision making algori- thms, so that the performance and correctness of the latter critically depends on that of the former. Thus, analyzing the device’s decision making in isolation of its SP would provide an incomplete picture of the device’s overall behavior. We consider here the specific case of Implantable Car- dioverter Defibrillators (ICDs) where a Peak Detection (PD) algorithm is first executed on the input voltage signal, known as an electrogram (see Fig. 1). The PD algorithm generates, as output, a timed boolean signal where a 1 rep- resents a peak (local extremum) caused by a heartbeat. This boolean output signal is then used by the downstream discrimination algorithms to differentiate between fatal and non-fatal rhythms. Around 10 percent of an ICD’s erroneous decisions are due to over-sensing (too many false peaks detected) and under-sensing (too many true peaks missed) [1]. This leads to an inaccurate estimate of both the heart rate and to an imprecise calculation of the timing relations between the contractions of the heart’s chambers. One of the main challenges is how to formally verify the properties of ICD algorithms for cardiac arrhythmia discrimi- nation. In particular there is a a need for a unified language to express and analyze both the PD and discrimination tasks that are currently at the heart of modern ICD technology. The desired lan- guage should be formal (not ambiguous, with a well-defined semantics), expressive enough to be easy to use, and it should guarantee runtime and memory consumption bounds for the resulting programs. One common approach from the computing literature would be to view the ICD tasks as specification-based monitoring problems [2], [3]. Namely, one can try to express the PD and discrimination tasks as require- ments in some temporal logics [4]: i.e., write a specification which is true exactly when the signal (in a given window) has a peak, and another one which is true exactly when the rhythm (in that window) displays an arrhythmia. Monitor synthesis then automatically translates these specifications into detection algorithms and code. However, as shown in [5], this approach is impractical for the peak detection and discrimination tasks we are concerned with. Despite the increasingly sophisticated variety of tempo- ral logics proposed in the literature [2], [6], [7], they turn out to be inadequate to express, in one concise formalism, both PD algorithms and arrhythmia discriminators. It is worth noting that PD is a very common signal processing primitive that is employed in many domains beyond medical applications (i.e., earthquake detection), and that arrhythmia discriminators are H. Abbas and A. Rodionova are with the Department of Electrical and Systems Engineering, University of Pennsylvania, Philadelphia, PA 19104. E-mail: [email protected], [email protected]. K. Mamouras is with the Department of Computer and Information Science, University of Pennsylvania, Philadelphia, PA 19104. E-mail: [email protected]. E. Bartocci and R. Grosu are with the Faculty of Informatics, Technical University of Vienna, Vienna 1040, Austria. E-mail: {ezio.bartocci, radu.grosu}@tuwien.ac.at. S.A. Smolka is with the Computer Science Department, Stony Brook University, Stony Brook, NY 11794. E-mail: [email protected]. Manuscript received 23 May 2018; revised 19 Oct. 2018; accepted 30 Nov. 2018. Date of publication 10 Dec. 2018; date of current version 7 Oct. 2019. (Corresponding author: Houssam Abbas.) For information on obtaining reprints of this article, please send e-mail to: [email protected], and reference the Digital Object Identifier below. Digital Object Identifier no. 10.1109/TCBB.2018.2885274 1586 IEEE/ACM TRANSACTIONS ON COMPUTATIONAL BIOLOGY AND BIOINFORMATICS, VOL. 16, NO. 5, SEPTEMBER/OCTOBER 2019 1545-5963 ß 2018 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See ht_tp://www.ieee.org/publications_standards/publications/rights/index.html for more information.

Upload: others

Post on 25-Jun-2022

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Quantitative Regular Expressions for Arrhythmia Detection

Quantitative Regular Expressionsfor Arrhythmia Detection

Houssam Abbas , Al€ena Rodionova , Konstantinos Mamouras, Ezio Bartocci ,

Scott A. Smolka, and Radu Grosu

Abstract—Implantable medical devices are safety-critical systems whose incorrect operation can jeopardize a patient’s health, and

whose algorithms must meet tight platform constraints like memory consumption and runtime. In particular, we consider here the case

of implantable cardioverter defibrillators, where peak detection algorithms and various others discrimination algorithms serve to

distinguish fatal from non-fatal arrhythmias in a cardiac signal. Motivated by the need for powerful formal methods to reason about the

performance of arrhythmia detection algorithms, we show how to specify all these algorithms using Quantitative Regular Expressions

(QREs). QRE is a formal language to express complex numerical queries over data streams, with provable runtime and memory

consumption guarantees. We show that QREs are more suitable than classical temporal logics to express in a concise and easy way

a range of peak detectors (in both the time and wavelet domains) and various discriminators at the heart of today’s arrhythmia detection

devices. The proposed formalization also opens the way to formal analysis and rigorous testing of these detectors’ correctness and

performance, alleviating the regulatory burden on device developers when modifying their algorithms. We demonstrate the

effectiveness of our approach by executing QRE-based monitors on real patient data on which they yield results on par with the results

reported in the medical literature.

Index Terms—Peak detection, electrocardiograms, arrythmia discrimination, ICDs, quantitative regular expressions

Ç

1 INTRODUCTION

IN modern medical devices, signal processing (SP) algo-rithms are tightly integrated with decision making algori-

thms, so that the performance and correctness of the lattercritically depends on that of the former. Thus, analyzing thedevice’s decision making in isolation of its SP would providean incomplete picture of the device’s overall behavior.

We consider here the specific case of Implantable Car-dioverter Defibrillators (ICDs) where a Peak Detection (PD)algorithm is first executed on the input voltage signal,known as an electrogram (see Fig. 1). The PD algorithmgenerates, as output, a timed boolean signal where a 1 rep-resents a peak (local extremum) caused by a heartbeat.This boolean output signal is then used by the downstreamdiscrimination algorithms to differentiate between fatal andnon-fatal rhythms. Around 10 percent of an ICD’s erroneousdecisions are due to over-sensing (too many false peaks

detected) andunder-sensing (toomany truepeaksmissed) [1].This leads to an inaccurate estimate of both the heart rateand to an imprecise calculation of the timing relationsbetween the contractions of the heart’s chambers.

One of the main challenges is how to formally verify theproperties of ICD algorithms for cardiac arrhythmia discrimi-nation. In particular there is a a need for a unified language toexpress and analyze both the PD and discrimination tasks that arecurrently at the heart of modern ICD technology. The desired lan-guage should be formal (not ambiguous, with a well-definedsemantics), expressive enough to be easy to use, and it shouldguarantee runtime and memory consumption bounds forthe resulting programs. One common approach from thecomputing literature would be to view the ICD tasks asspecification-based monitoring problems [2], [3]. Namely, onecan try to express the PD and discrimination tasks as require-ments in some temporal logics [4]: i.e., write a specificationwhich is true exactly when the signal (in a given window)has a peak, and another one which is true exactly when therhythm (in that window) displays an arrhythmia. Monitorsynthesis then automatically translates these specificationsinto detection algorithms and code.

However, as shown in [5], this approach is impractical forthe peak detection and discrimination tasks we are concernedwith. Despite the increasingly sophisticated variety of tempo-ral logics proposed in the literature [2], [6], [7], they turn out tobe inadequate to express, in one concise formalism, both PDalgorithms and arrhythmia discriminators. It is worth notingthat PD is a very common signal processing primitive that isemployed inmany domains beyondmedical applications (i.e.,earthquake detection), and that arrhythmia discriminators are

� H. Abbas and A. Rodionova are with the Department of Electrical andSystems Engineering, University of Pennsylvania, Philadelphia, PA 19104.E-mail: [email protected], [email protected].

� K. Mamouras is with the Department of Computer and Information Science,University of Pennsylvania, Philadelphia, PA 19104.E-mail: [email protected].

� E. Bartocci and R. Grosu are with the Faculty of Informatics, TechnicalUniversity of Vienna, Vienna 1040, Austria.E-mail: {ezio.bartocci, radu.grosu}@tuwien.ac.at.

� S.A. Smolka is with the Computer Science Department, Stony BrookUniversity, Stony Brook, NY 11794. E-mail: [email protected].

Manuscript received 23 May 2018; revised 19 Oct. 2018; accepted 30 Nov.2018. Date of publication 10 Dec. 2018; date of current version 7 Oct. 2019.(Corresponding author: Houssam Abbas.)For information on obtaining reprints of this article, please send e-mail to:[email protected], and reference the Digital Object Identifier below.Digital Object Identifier no. 10.1109/TCBB.2018.2885274

1586 IEEE/ACM TRANSACTIONS ON COMPUTATIONAL BIOLOGY AND BIOINFORMATICS, VOL. 16, NO. 5, SEPTEMBER/OCTOBER 2019

1545-5963� 2018 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission.See ht _tp://www.ieee.org/publications_standards/publications/rights/index.html for more information.

Page 2: Quantitative Regular Expressions for Arrhythmia Detection

present in cardiac devices other than ICDs, such as Implant-able Loop Recorders and pacemakers. Thus, the observedlimitations of temporal logics extend beyond ICD algorithms.

PD and discrimination require performing a wide range ofnumerical operations over data streams, where the datastream is the incoming cardiac voltage signal (electrogram)observed in real-time. For example, a commercial PD (shownin Section 5) defines a peak as a value that exceeds a certaintime-varying threshold, and the threshold is periodicallyre-initialized as a percentage of the previous peak’s value.As another example, the Onset discriminator comparesthe average heart rate in two successive windows. Thus, thedesired formalism must enable value storage, time freezing,various arithmetic operations, and nested computations,whileremaining legible and succinct, and enabling compilation intoefficient implementations.

For this purpose, we propose here the use of QuantitativeRegular Expression (QREs) to program ICD tasks for arrhyth-mia detection. QREs, described in Section 3, are a declarativeformal language based on classical regular expressions forspecifying numerical queries on data streams [8]. QREs’ ability tointerleave user-defined computation at any nesting level ofthe underlying regular expression gives them significantexpressiveness. QREs can also be evaluated in a runtime- andmemory-efficient way, which is an important considerationfor resource-constrained implantedmedical devices.

In [5] we showed the versatility of QREs by encodingpeak detection as QRE programs. In particular, we consid-ered three different peak detectors:

1) A Wavelet Peak with Maxima (WPM) detector, whichoperates in thewavelet domain (Section 2),

2) A Wavelet Peaks with Blanking (WPB) detector [5],our ownmodification ofWPM that sacrifices accuracyfor efficiency, and

3) A Medtronic Peak (MDT) detector [5], which oper-ates in the time domain, and is implemented in anImplantable Cardioverter Defibrillator (ICD) on themarket today.

In this paper, we extend our preliminary work presentedin [5] with the following results:

� We update the QRE programs of peak detectors usingthe StreamQRE framework recently introduced in [9]and implemented as a Java library in [10]

� We show how to program, within the same language,the discriminators used in single-chamber ICDs ofSt. Jude Medical as described in [11], thus demon-strating that QRE is suitable for both peak detectionand discrimination

� We demonstrate the QREs programs for discrimina-tion on real patient data.

We have also expanded the paper to contain a formal intro-duction to the QRE language.

Paper Organization. Section 2 provides the necessary math-ematical background to understand the peak characterizationin thewavelet domain. Section 3 introduces theQRE languageand basic constructs. The QRE encoding of the WPM peakdetector is provided in Section 4. The operation of three detec-tors is illustrated by running them on real patient electro-grams in Section 5. In Section 6 we present the St. JudeMedical arrhythmia discrimination algorithm, with its QREimplementation discussed in Section 7.We illustrate its opera-tion in Section 8. In Section 9 we review the related literature,while in Section 10 we draw our conclusions and discussfuturework.

2 PEAKS IN THE WAVELET DOMAIN

Rather than confine ourselves to one particular peak detec-tor, we first summarize a general definition of singularitiesdue to Mallat and Huang [12], which naturally gives riseto a peak detection algorithm. This definition operates inthe wavelet domain, so a brief overview of the wavelettransform is first provided.

2.1 The Wavelet Transform

Let fCsgs> 0 be a family of functions, called wavelets, whichare obtained by scaling and dilating a so-called mother wave-

let cðtÞ: CsðtÞ ¼ 1ffiffis

p c ts

� �. The wavelet transform Wx of signal

x : Rþ ! R is the two-parameter function

Wxðs; tÞ ¼Z þ1

�1xðtÞCsðt � tÞ dt: (1)

A common choice of c for peak detection is the nth deriva-tive of a Gaussian, that is: cðtÞ ¼ dn

dtn Gm;sðtÞ. Eq. (1) is knownas a Continuous Wavelet Transform (CWT), and Wxðs; tÞ isknown as the wavelet coefficient.

Parameter s in the wavelet cs is known as the scaleof the analysis. A smaller value of s (in particular s < 1)

Fig. 1. Rectified EGM during normal rhythm (left) and its CWT spectrogram (right).

ABBAS ET AL.: QUANTITATIVE REGULAR EXPRESSIONS FOR ARRHYTHMIA DETECTION 1587

Page 3: Quantitative Regular Expressions for Arrhythmia Detection

compresses the mother wavelet, so that only values close toxðtÞ influence the value of Wxðs; tÞ (see Eq. (1)). Thus, atsmaller scales, the wavelet coefficient Wxðs; tÞ captures localvariations of x around t, and these can be thought of as beingthe higher-frequency variations, i.e., variations that occurover a small amount of time. At larger scales (in particulars > 1), the mother wavelet is dilated, so that Wxðs; tÞ isaffected by values of x far from t aswell. Thus, at larger scales,thewavelet coefficient captures variations of x over large peri-ods of time.

Fig. 1 shows a Normal Sinus Rhythm EGM and its CWTjWxðs; tÞj. The latter plot is known as a spectrogram. Brightercolors indicate larger values of coefficient magnitudesjWxðs; tÞj. It is possible to see that early in the signal, mid- tolow-frequency content is present (bright colors mid- to topof spectrogram), followed by higher-frequency variation(brighter colors at smaller scales), and near the end of thesignal, two frequencies are present: mid-range frequencies(the bright colors near the middle of the spectrogram), andvery fast, low amplitude oscillations (the light blue near thebottom-right of the spectrogram).

2.2 Wavelet Characterization of Peaks

Consider the CWT jWxðs; tÞj shown in Fig. 1. The coefficientmagnitude jWxðs; tÞj is a measure of signal power at ðs; tÞ. Atlarger scales, one obtains an analysis of the low-frequencyvariations of the signal, which are unlikely to be peaks, asthe latter are characterized by a rapid change in signal value.At smaller scales, one obtains an analysis of high-frequencycomponents of the signal, which will include both peaksand noise. These remarks can be put on solid mathematicalfooting [13, Ch. 6]. Therefore, for peak detection one must startby querying CWT coefficients that occur at an appropriatelychosen scale �s.

At a fixed scale �s, jWxð�s; �Þj is a function of time. The nexttask is to find the local maxima of jWxð�s; tÞj as t varies, becausethese are precisely the times when energy variations at scale �sare locally concentrated. Thus peak characterization furtherrequires querying the local maxima at �s.

Not all maxima are equally relevant: only those with valueabove a threshold, since these are indicative of signal varia-tions with large energy concentrated at �s. Therefore, we shouldonly consider local maximawith a value above some threshold �p.

Maxima in the wavelet spectrogram are not isolated: asshown in [13, Thm. 6.6], when the wavelet c is the nthderivative of a Gaussian, the maxima belong to connectedcurves s 7! gðsÞ that are never interrupted as the scaledecreases to 0. These maxima lines can be clearly seen inFig. 1: they are the vertical lines of brighter color extendingall the way to the bottom. Multiple maxima lines may con-verge to the same point ð0; tcÞ in the spectrogram as s ! 0.As shown in [12], singularities in the signal always occur atthe convergence times tc. For our purposes, a singularity isa time when the signal undergoes an abrupt change (specifi-cally, the signal is poorly approximated by an ðnþ 1Þth-degree polynomial at that change-point). These convergencetimes are then the peak times that we seek.

Although theoretically, the maxima lines are connected, inpractice, signal discretization and numerical errors will causesome interruptions. Therefore, rather than look for truly con-nected maxima lines, we only look for ð�; dÞ-connected lines:

given �; d > 0, an ð�; dÞ-connected curve gðsÞ is one such thatfor any s; s0 in its domain, js� s0j < � ) jgðsÞ � gðs0Þj < d.

A succinct description of this Wavelet Peaks with Maximais then:

- (Characterization WPM) Given positive reals �s; �p; �;d > 0, a peak is said to occur at time t0 if there exists að�; dÞ-connected curve s 7! gðsÞ in the ðs; tÞ-plane suchthat gð0Þ ¼ t0, jWxðs; gðsÞÞj is a local maximum alongthe t-axis for every s in ½0; �s�, and jWxð�s; gð�sÞÞj � �p.

The choice of values �s, �, d and �p depends on prior knowl-edge of the class of signals we are interested in. Such choicesare pervasive in signal processing, as they reflect applica-tion domain knowledge.

3 A QRE PRIMER

The specification of discrimination and PD (Section 2)requires a language that: 1) has a rich set of numerical opera-tions, 2) supports matching of complex patterns in the signal,and 3) enables the synthesis of time- and memory-efficientimplementations. This led to the consideration of the Stream-QRE language and execution engine [9], [14].

The basic semantic objects of the QRE language are calledstreaming functions, and they describe the transformation of aninput stream to an output stream.More specifically, a stream-ing function is a partial function f : D� * C fromfinite sequen-ces of input data items (of typeD) to output values (of typeC).A crucial notion is the rate of a streaming function that cap-tures its domain. In other words, as the function reads theinput data stream, a prefix of the input triggers the productionof an output value exactlywhen the prefixmatches the rate. Inthe StreamQRE language, the rates are required to be regular,and therefore can be captured by symbolic regular expres-sions. This leads to efficient decision procedures for construct-ingwell-typed expressions.

3.1 Quantitative Regular Expressions

We will introduce now the language of Quantitative RegularExpressions for representing stream transformations. Forbrevity, we also call these expressions queries. A queryrepresents a streaming transformation whose domain is aregular set over the input data type.

To define queries, we first choose a typed signature whichdescribes the basic data types and operations for manipulat-ing them. We fix a collection of basic types, and we writeA;B; . . . to range over them. This collection contains the typeBool of boolean values, and the unit type U whose uniqueinhabitant is denoted by def. It is also closed under the carte-sian product operation � for forming pairs of values. Typicalexamples of basic types are the natural numbers N, the inte-gersZ, the rationalsQ, and the real numbersR. Wewrite a : Atomean that a is of typeA. For example,we have def : U.

We also fix a collection of basic operations on the basic types,for example the k-ary operation op : A1 � � � � �Ak ! B. Theidentity function on D is written as idD : D ! D, and theoperations p1 : A�B ! A and p2 : A�B ! B are the leftand right projection respectively. We assume that the collec-tion of operations contains all identities and projections, andis closed under pairing and function composition. To describederived operationswe use a variant of lambda notation that is

1588 IEEE/ACM TRANSACTIONS ON COMPUTATIONAL BIOLOGY AND BIOINFORMATICS, VOL. 16, NO. 5, SEPTEMBER/OCTOBER 2019

Page 4: Quantitative Regular Expressions for Arrhythmia Detection

similar to Java’s lambda expressions [15]. That is, we writeðA xÞ �> tðxÞ to mean �x:A:tðxÞ, which is an (anonymous)function that takes an argument x of type A and returns thevalue tðxÞ. We write ðA x; B y; C zÞ �> tðx; y; zÞ to mean�x:A;y:B; z:C:tðx; y; zÞ. For example, the identity function onD is ðD xÞ �> x, the left projection onA�B is ðA x; B yÞ�>x, the right projection on A�B is ðA x; B yÞ �> y, andðD xÞ �> def is the unique function from D to U. We willtypically use lambda expressions in the context of queriesfromwhich the types of the input variables can be inferred, sowewill omit the types as in ðx; yÞ �> x.

For every basic type D, assume that we have fixed acollection of atomic predicates, so that the satisfiability of theirBoolean combinations (built up using the Boolean operations:and, or, not) is decidable. We write ’ : D ! Bool to indicatethat ’ is a predicate on D, and we denote by trueD : D !Bool the predicate that is always true. The predicate ððZ xÞ�>x > 0Þ : Z ! Bool is true of the strictly positive integers.

Example 3.1. We consider a Boolean ventricular heartsignal, where the data items are values of type B ¼ f0; 1g.A value 1 indicates a ventricular contraction of the heart,and a value 0 indicates the absence of a contraction.The signal is sampled uniformly with a sampling rate off Hz. The predicates :isV and isV test if a Boolean valueis zero or one respectively.

For a type D, we define the set of symbolic regular expres-sions overD [16], denoted REhDi, with the grammar:

r ::¼ ’ j [predicate on D]

" j [empty sequence]

r t r j [nondeterministic choice]

r � r j [concatenation]

r� [iteration]:

The concatenation symbol � is sometimes omitted, that is, wewrite rs instead of r � s. The expression rþ (iteration at leastonce) abbreviates r � r�. We write r : REhDi to indicate the r isa regular expression over D. Every expression r : REhDi isinterpreted as a set ½½r�� D� of finite sequences overD

½½’�� , fd 2 D j’ðdÞis trueg;and the rest of the regular construct have their usual inter-pretations. Two expressions are said to be equivalent if theydenote the same language.

Example 3.2. The symbolic regular expression ð:isVÞ� � isVdenotes sequences of samples that contain a single ven-tricular beat (contraction) at the end.

The notion of unambiguity for regular expressions [17] is away of formalizing the requirement of uniqueness of parsing.The languagesL1,L2 are said to be unambiguously concatenableif for every word w 2 L1 � L2 there are unique w1 2 L1 andw2 2 L2 withw ¼ w1w2. The languageL is said to be unambig-uously iterable if for every word w 2 L� there is a unique inte-ger n � 0 and unique wi 2 L with w ¼ w1 � � �wn. Thedefinitions of unambiguous concatenability and unambigu-ous iterability extend to regular expressions in the obviousway. Now, a regular expression is said to be unambiguous if itsatisfies the following:

1) For every subexpression e1 t e2, e1 and e2 are disjoint.2) For every subexpression e1 � e2, e1 and e2 are unam-

biguously concatenable.3) For every subexpression e�, e is unambiguously iterable.

Checking whether a regular expression is unambiguous canbe done in polynomial time. For the case of symbolic regularexpressions this results still holds, under the assumptionthat satisfiability of the predicates can be decided in unittime [8].

The rate RðfÞ of a query f is a symbolic regular expres-sion that denotes the domain of the transformation that frepresents. The definition of the query language has to begiven simultaneously with the definition of rates (by mutualinduction), since the query constructs have typing restric-tions that involve the rates. We annotate a query f with atype QREhD;Ci to denote that the input stream has elementsof typeD and the outputs are values of type C.

Atomic Queries. The basic building blocks of queries areexpressions that describe the processing of a single data item.Suppose ’ : D ! Bool is a predicate over the data item typeD and op : D ! C is an operation from D to the output typeC. Then, the atomic query atomð’; opÞ : QREhD;Ci, with rate ’,is defined on single-item streams that satisfy the predicate ’.The output is the value of op on the input element.

Notation. It is very common for op to be the identityfunction, and ’ to be the always-true predicate. So, weabbreviate the query atomð’; idDÞ by atomð’Þ, and thequery atom ðtrueDÞ by atomðÞ.Example 3.3. For the Boolean ventricular heart signal, the

query that matches a single item that is a heartbeat andreturns nothing is f ¼ atomðisV; x�> defÞ. The type of fis QREhB;Ui and its rate is isV.

Empty Sequence. The query epsðcÞ : QREhD;Ci, where c isa value of type C, is only defined on the empty sequence "and it returns the output c.

Iteration. Suppose that we want to iterate a computationf : QREhD;Ai over consecutive subsequences of the inputstream and aggregate all these output values sequentiallyusing an initial value c : B and an aggregation operationop : B�A ! B. The iteration query

iterðf; c; opÞ : QREhD;Bi;describes this computation. More specifically, we split theinput stream w into subsequences w ¼ w1 w2 . . . wn, whereeach wi matches f. The output values a1 a2 � � � an with ai ¼fðwiÞ are combined using the list iterator left fold with startvalue c : B and aggregation operation op : B�A ! B. Thiscan be formalizedwith the combinator

fold : B� ðB�A ! BÞ �A� ! B;

which takes an initial value b : B and a stepping map op :B�A ! B, and iterates through a sequence of values ofA

foldðb; op; "Þ ¼ b foldðb; op; gaÞ ¼ opðfoldðb; op; gÞ; aÞ;for all sequences g 2 A� and all values a 2 A. For example,foldðb; op; a1a2Þ ¼ opðopðb; a1Þ; a2Þ.

In order for iterðf; c; opÞ to be well-defined as a function,every input stream w that matches iterðf; c; opÞ must be

ABBAS ET AL.: QUANTITATIVE REGULAR EXPRESSIONS FOR ARRHYTHMIA DETECTION 1589

Page 5: Quantitative Regular Expressions for Arrhythmia Detection

uniquely decomposable into w ¼ w1w2 . . .wn with each wi

matching f. This requirement can be expressed equivalentlyas: the rate Rf is unambiguously iterable.

Combination and Application. Assume the queries f and g

describe stream transformations with outputs of type A andB respectively, and process the same set of input sequences ofelements of type D, and op is a function of type A�B ! C.Then,

combineðf; g; opÞ : QREhD;Ci;

describes the computation where the input is processedaccording to both f and g in parallel and their results arecombined using op. This computation is meaningful onlywhen both f and g are defined on the input sequence. So,we demand w.l.o.g. that the rates of f and g are equivalent.

This binary combination construct generalizes to an arbi-trary number of queries. For example, we write

combineðf; g; h; ðx; y; zÞ �> opðx; y; zÞÞ;

for the ternary variant. In particular, we write applyðf; opÞfor the case of one argument.

Quantitative Concatenation. Suppose that we want to per-form two streaming computations in sequence: first executethe query f : QREhD;Ai, then the query g : QREhD;Bi, andfinally combine the two results using the operation op : A�B ! C. The query

splitðf; g; opÞ : QREhD;Ci;

describes this computation. That is, we split the input into twoparts w ¼ w1w2, process the first part w1 according to f withoutput fðw1Þ, process the second part w2 according to g withoutput gðw2Þ, and produce the final result opðfðw1Þ; gðw2ÞÞ byapplying op to the intermediate results.

In order for this construction to be well-defined as a func-tion, every input w that matches splitðf; g; opÞ must beuniquely decomposable into w ¼ w1w2 with w1 matching f

and w2 matching g. In other words, the rates of f and gmustbe unambiguously concatenable.

The binary split construct extends naturally to morethan two arguments. For example, the ternary versionwould be splitðf; g; h; ðx; y; zÞ �> opðx; y; zÞÞ.

Streaming Composition. A natural operation for query lan-guages over streaming data is streaming composition: giventwo streaming queries f and g, f g represents the compu-tation in which the stream of outputs produced by f is sup-plied as the input stream to g. Such a composition is usefulin setting up the query as a pipeline of several stages. Weallow the operation to appear only at the top-level of aquery. So, a general query is a pipeline of -free queries.At the top level, no type checking needs to be done for therates, so we do not define the function R for queries f g.

Global Choice.Given queries f and g of the same type withdisjoint rates r and s, the query orðf; gÞ applies either f or gto the input stream depending on which one is defined.The rate of orðf; gÞ is the union r t s. This choice cons-truction allows a case analysis based on a global regularproperty of the input stream.

3.2 Derived Constructs

The core language of Section 3.1 is expressive enough todescribe many common stream transformations. We presentbelow several derived constructs.

Matching Without Output. Suppose r is an unambiguoussymbolic regular expression over the data item type D. Thequery matchðrÞ, whose rate is equal to r, does not produceany output when it matches. This is essentially the same asproducing def as output for a match. The match constructcan be encoded as follows:

matchð’Þ , atomð’; x�> defÞmatchðr1 t r2Þ , orðmatchðr1Þ; matchðr2ÞÞmatchðr1 � r2Þ , splitðmatchðr1Þ; matchðr2Þ; ðx; yÞ �> defÞ

matchðr�Þ , iterðmatchðrÞ; def; ðx; yÞ �> defÞ:

An easy induction establishes that RðmatchðrÞÞ ¼ r.“Until” Iteration. Suppose that f and c are disjoint predi-

cates on the input data type D, the function op : C �D ! Cis an aggregation operation, and c : C is the initial aggre-gate. The query iterUntilðf;c; c; opÞ aggregates a sequenceof data items that satisfy f and stops when an item that sat-isfies c is found. It is encoded as

iterUntilðf;c; c; opÞ , splitðiterðatomðfÞ; c; opÞ;atomðcÞ; ðx; yÞ �> xÞ:

The query has type QREhD;Ci and rate f� � c.Stream Annotation. Suppose that the input stream has

items of type D, f is a query of type QREhD;Ci, and we wantto produce an output stream with items of type E in the fol-lowing way: when the query f produces an output (uponconsumption of the input stream) apply op2 : D� C ! E tothe last input element and its output to get the final result,and when the query f is undefined apply op1 : D ! E to thelast input element. This computation is described by thequery anntðf; op1; op2Þ : QREhD;Ei with rate Dþ. This anno-tation query can be encoded using the regular constructs ofSection 3.1, but the encoding is complex and inefficient, sowe provide a custom efficient implemenation.

TumblingWindows. The term tumbling windows is used todescribe the splitting of the stream into contiguous non-over-lapping subsequences [18]. Suppose we want to describe thestreaming function that iterates f at least once and reportsthe result given by f at every match. The following queryexpresses this behavior:

iterLastðfÞ , splitðmatchðRðfÞ�Þ; f; ðx; yÞ �> yÞ:The rate of iterLastðfÞ is equal to RðfÞþ.

Efficient Sliding Windows. Suppose we want to apply thequery f : QREhD;Ai to consecutive nonoverlapping parts ofthe input, and efficiently aggregate the intermediate resultsover a sliding window of size W . That is, the W most recentoutput values of f are aggregated to produce the final out-put. The aggregation is described by an initial aggregatec : B and three functions: an insertion operation ins : B �A ! B describes how to add a new value of type A to theaggregate (of type B), the removal operation rmv : B�A !B describes how to remove a value from the aggregate, andthe finalization operation op : B ! C computes the final

1590 IEEE/ACM TRANSACTIONS ON COMPUTATIONAL BIOLOGY AND BIOINFORMATICS, VOL. 16, NO. 5, SEPTEMBER/OCTOBER 2019

Page 6: Quantitative Regular Expressions for Arrhythmia Detection

result from the aggregate. This computation is described bythe query

wndðf;W; c; ins; rmv; opÞ : QREhD;Ci;whose rate is equal toRðfÞþ. This query can be encoded usingthe regular constructs of Section 3.1 and an additional datatype for FIFO queues (in order tomaintain the buffer of valuesof typeA that are currently in the activewindow).

3.3 A Java Library of QREs

StreamQRE has been implemented as a Java library [10] inorder to facilitate its integration with user-defined typesand operations. The implementation covers all the core con-structs of Section 3.1, and also provides optimizations forthe derived constructs of Section 3.2 (matching without out-put, “until” iteration, stream annotation, etc.).

QREs can be compiled into efficient evaluators that pro-cess each data item in time (or memory) polynomial in thesize of the QRE and proportional to the maximum time (ormemory) needed to perform an operation on a set of costterms, such as addition, least-squares, etc. The operationsare selected from a set of operations defined by the user. It isimportant to be aware that the choice of operations constitutes atrade-off between expressiveness (what can be computed) and com-plexity (more complicated operations cost more). See [8] forrestrictions placed on the predicates and the symbolic regu-lar expressions.

The declarative nature of QREs will be important whenwriting complex algorithms, without having to explicitlymaintain state and low-level data flows. But as with anynew language, QREs require some care in their usage.

4 QRE IMPLEMENTATION OF A PEAK DETECTOR

We now describe the QRE program that implements theWavelet Peak Maxima peak detector of Section 2.2. Theemphasis is on the fact that this algorithm can be describedin a declarative fashion using QREs, without resorting toexplicitly storing state, etc.

A numerical implementation of a Continuous WaveletTransform returns a discrete set of coefficients. Let s1 <s2 < . . . < sn be the analysis scales and let t1; t2; . . . be thesignal sampling times. Recall that a QRE views its input as astream of incoming data items. A data item for WPM isd ¼ ðsi; tj; jWxðsi; tjÞjÞ 2 D :¼ ðRþÞ3. We use d:s to refer tothe first component of d, and d:jWxðs; tÞj to refers to its lastcomponent. The input stream w 2 D� is defined by the

values from the spectrogram organized in a column-by-column fashion starting from the highest scale

w ¼ðsn; t1; jWxðsn; t1ÞjÞ; . . . ; ðs1; t1; jWxðs1; t1ÞjÞ|fflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflffl{zfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflffl}wt1

. . .

. . . ðsn; tm; jWxðsn; tmÞjÞ; . . . ; ðs1; tm; jWxðs1; tmÞjÞ|fflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflffl{zfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflfflffl}wtm

:

Let ss , 1 � s � n, the the scale that equals �s. Since the scalessi > ss are not relevant for peak detection (their frequency istoo low), they should be discarded from w. Now, for eachscale si, i � s, we would like to find those local maxima ofjWxðsi; �Þj that are larger than threshold pi.

1 We build the QREpeakWPM bottom-up as follows. In what follows, i ¼ 1; . . . ; s.See Fig. 2.

- QRE selectCoefi selects the wavelet coefficient mag-nitude at scale si from the incoming spectrogram col-umnwt. It must first wait for the entire colum to arrivein a streaming fashion, so it matches n data items(recall there are n items in a column—see Fig. 2) andreturns as cost d:jWxðsi; tÞj.

selectCoefi :¼ ðdndn�1 . . . d1? di:jWxðsi; tÞjÞselectCoefi :¼ splitðmatchðdn�iÞ; d; matchðdi�1Þ;

ðx; y; zÞ �> y:jWxðsi; tÞjÞ:

- QRE repeatSelectCoefi applies selectCoefi to thelatest column wt. To do so, it executes selectCoefion the last column, and ignores all columns that pre-ceded it. It returns the selected coefficient jWxðsi; tÞjfrom the last column.

repeatSelectCoefi :¼ iter1ðselectCoefi; 0; ðx; yÞ �> yÞ:

- QRE localMaxi matches a string of real numbers oflength at least 3: r1 . . . rk�2rk�1rk. It returns 1 if thevalue of rk�1 is larger than rk and rk�2, and is abovesome pre-defined threshold pi; otherwise, it returns0. This will be used to detect local maxima in thespectrogram in a moving-window fashion. In detail

localMaxi :¼ wndðatomðÞ; 3; 0; ins; rmv; LM3Þ:

Fig. 2. QRE peakWPM.

1. ps ¼ �p, pi< s ¼ 0, since we threshold only the spectrogram valuesat scale �s. After this initial thresholding, tracing of maxima lines returnsthe peaks.

ABBAS ET AL.: QUANTITATIVE REGULAR EXPRESSIONS FOR ARRHYTHMIA DETECTION 1591

Page 7: Quantitative Regular Expressions for Arrhythmia Detection

The query localMaxi executes atomðÞ over a slidingwindow of size 3, and performs the operation LM3 overthese three values. Operation LM3 simply returns 1 ifthe middle value is a local maximum that is above pi,and returns zero, otherwise.

- The query oneMaxi feeds outputs of QRE repeat

SelectCoefi to the QRE localMaxi.

oneMaxi :¼ repeatSelectCoefi localMaxi:

Thus, oneMaxi “sees” a string of coefficientmagnitudesjWxðsi; t1Þj; jWxðsi; t2Þj; . . . generated by (streaming)repeatSelectCoefi, and produces a 1 at the times oflocal maxima in this string.

- QRE peakTimesi collects the times of local maxima atscale si into one set.

peakTimesi :¼ oneMaxi unionTimes:

It does so by passing the string of 1s and 0s producedby oneMaxi to unionTimes. The latter counts the num-ber of 0s separating the 1s and puts that in a set Mi.Therefore, after k columns wt have been seen, set Mi

contains all local maxima at scale si which are abovepi in those k columns.

- QRE peakWPM is the final QRE. It combines resultsobtained from scales ss down to s1

peakWPM :¼ combineðpeakTimess; . . . ; peakTimes1; conndÞ:

Operator connd2 checks if the local maxima times for

each scale (produced by peakTimesi) are within a d

of the maxima at the previous scale.In summary, the complete QRE peakWPM is given top-

down by

peakWPM :¼ combineðpeakTimess ; . . . ;peakTimes1; conndÞ

peakTimesi :¼ oneMaxi unionTimes

oneMaxi :¼ repeatSelectCoefi localMaxi

localMaxi :¼ wndðatomðÞ; 3; 0; ins; rmv; LM3ÞrepeatSelectCoefi :¼ iter1ðselectCoefi; 0; ðx; yÞ �> yÞ

selectCoefi :¼ splitðmatchðdn�iÞ; d; matchðdi�1Þ;ðx; y; zÞ �> y:jWxðsi; tÞjÞ:

5 EXPERIMENTAL RESULTS OF PEAK DETECTOR

We show the results of running peak detector peakWPM,described in Section 4, on a dataset of real patient electro-grams. For comparison purposes, we also programmed twopeak detectors in QRE: peakMDT, which is available in a com-mercial ICD [19], and peakWPB (Wavelet Peaks with Blanking),which is a simplified variant of peakWPM. For details, see [5].

The implementation uses an early version of the Stream-QRE Java library [14]. Comparing the runtime and memoryconsumption of different algorithms (including algorithmsprogrammed in QRE) in a consistent and reliable mannerrequires running a compiled version of the program on a par-ticular hardware platform. No such compiler is available atthemoment, sowe don’t report such performance numbers.

The results in this section should not be interpreted as estab-lishing the superiority of one peak detector over another, as thisis not this paper’s objective. Rather, the objective is to moti-vate the use of a formal language for programming peakdetectors, and other tasks in ICDs. Namely, by highlight-ing the challenges involved in peak detection for cardiacsignals, this section establishes the need for a formalunderstanding of their operation on classes of arrhyth-mias, and thus the need for a formal description of peakdetectors.

Fig. 3 presents one rectified EGM signal of a VentricularTachycardia (VT). Circles (indicating detected time of peak)show the result of running peakWPM (red circles) and peakWPB

(black circles). These results were obtained for �s ¼ 80, BL ¼150, and different values of �p. The first setting of �p (Fig. 3a) forboth detectors was chosen to yield the best performance. Thisis akin to the way cardiologists set the parameters of commer-cial ICDs: they observe the signal, then set the parameters.Werefer to this as the nominal setting. Ground-truth is obtained byhaving a cardiologist examine the signal and annotate thetrue peaks.

We first observe that the peaks detected by peakWPMmatchthe ground-truth; i.e., the nominal performance of peakWPMyields perfect detection. This is not the case with peakWPB.Next, one can notice that the time precision of detected peakswith peakWPM is higher than with peakWPB. Note also that theresults of peakWPM are stable for various parameters settings.Improper thresholds �p or scales �s degrade the results onlyslightly (compare locations of red circles on Fig. 3a withFig. 3b). By contrast, peakWPB detects additional false peaks(compare black circles in Figs. 3a and 3b).

Fig. 4 (left) showsWPM (red circles) running on a Ventric-ular Fibrillation (VF) rhythm, which is a potentially fatal dis-organized rhythm.Again, we note thatWPMfinds the peaks.

Fig. 3. peakWPM-detected peaks (red circles) and peakWPB-detected peaks (black circles) on a VT rhythm.

2. Operator connd can be defined recursively as follows: conndðX;Y Þ ¼ fy 2 Y : 9x 2 X : jx� yj � dg; conndðXk; ::;X1Þ ¼ conndðconnd

ðXk; ::;X2Þ; X1Þ.

1592 IEEE/ACM TRANSACTIONS ON COMPUTATIONAL BIOLOGY AND BIOINFORMATICS, VOL. 16, NO. 5, SEPTEMBER/OCTOBER 2019

Page 8: Quantitative Regular Expressions for Arrhythmia Detection

Detector peakMDT works almost perfectly with nominalparameters settings on any Normal Sinus Rhythm (NSR) sig-nal (see Fig. 4 right). NSR is the “normal” heart rhythm.Usingthe samenominal parameters onmore disorganizedEGMsig-nalswith higher variability in amplitude, such as VF, does notproduce good results; see the black circles in Fig. 4 left.

6 ARRHYTHMIA DETECTION IN QRE

The outcome of peak detection is a discrete-time, uniformly-sampled, time-stamped Boolean signal, where a 1 indicatesan electrical event (a depolarization), and a 0 indicates theabsence thereof. This signal is input to the next stage of theICD, which is the detection algorithm. This is an algorithmthat tries to detect whether the current rhythm is a ventricu-lar tachycardia (which can be fatal), or not. In this sectionwe describe a detection algorithm used in the single-chamber ICDs of St. Jude Medical as described in [11]3 It isrepresentative of detection algorithms of other manu-facturers which all have similar components and functions.

All ICD detection algorithm take the form of a decisiontree, where the nodes are independent discriminators. Eachdiscriminator computes one particular feature of the inputboolean signal, based on which it decides how to branch inthe tree. The decision tree of the St. Jude Medical algorithmis presented in a Fig. 5; we will refer to it henceforth as SJM.SJM is made of the following discriminators [20].

6.1 Initial Rhythm Classification

SJM first compares the current interval (time in millisecondsbetween two consecutive 1(s) and the running average ofthe most recent four intervals to a predefined threshold of350 ms. See Fig. 6.

If both these quantities are less than the threshold, thecurrent interval is marked as ‘Tach’. If both are slower thanthe threshold, the interval is marked as ‘Sinus’. Otherwise,it is marked as ‘Undefined’.

6.2 Sudden Onset

Sudden onset leverages the clinical observation that VT occur-rence is usually sudden, in contrast to the gradual onset ofSVT (duringwhich the rhythmusually accelerates gradually).The Onset discriminator quantifies the suddenness of tachy-cardia onset as follows. First, it computes the 9 most recentrunning average A1; . . . ; A9, where each running average isthe average of 4 intervals.A9 is the most recent (current) aver-age. Then it evaluates the following absolute differences: d1 ¼jA9 �A1j; . . . ; d4 ¼ jA9 �A7j. See Fig. 7. If any of these

differences is greater than a physician-set threshold, the onsetis considered to be sudden. Otherwise, the onset is gradual.

6.3 Rhythm Stability

Intervals during VT usually display low variability, a prop-erty called ‘stability’ in themedical literature. The rhythm sta-bility discriminator quantifies rhythm stability by computingthe difference between the second longest and the secondshortest intervals in the last 10 intervals. If the difference islarger than a pre-programmed threshold, this indicates anunstable rate. Otherwise, the rhythm is considered stable.

Fig. 4. WPM and peakMDT running on a VF rhythm (left) and peakMDT running on an NSR rhythm (right).

Fig. 5. St. Jude Medical discrimination algorithm.

Fig. 6. Evaluation of the running average and the initial rhythm classifica-tion discriminator. Running average is evaluated over the current intervaland three preceding intervals. The threshold for the initial classificationdiscriminator is 350 ms.

3. Single-chamber ICDs only measure the signal in the rightventricle.

ABBAS ET AL.: QUANTITATIVE REGULAR EXPRESSIONS FOR ARRHYTHMIA DETECTION 1593

Page 9: Quantitative Regular Expressions for Arrhythmia Detection

6.4 Sinus Interval History (SIH)

Sinus interval history prevents an inappropriate therapyin case of stable and sudden SVT with dropped beats.SIH records the number of ‘Sinus’-labeled intervals withina detection window of 10 intervals. If this counter is greaterthan or equal to a threshold, no therapy is delivered.

7 QRE IMPLEMENTATION OF DETECTION

ALGORITHM

The QRE implementation of SJM (Section 6) is divided intofour main stages. The first three stages annotate the inputstream with interval lengths, running interval averages andrhythm labels (See Section 6.1). Stage 4 computes all discrimi-nators needed for a final decision: Therapy orNo Therapy.

The input to the detection algorithm is a discrete-timeboolean signal. Formally, let B ¼ f0; 1g be the set of booleanvalues. At every time t 2 N, the detection algorithm receivesa data item s of the following form s ¼ ðV; tÞ 2 D :¼ B�N,where V ¼ 1 indicates there is a beat at time t, and V ¼ 0indicates that there is not.

We will explain now each stage in detail, and present theprecise implementation in the StreamQRE language.

Stage 1: Annotate with Interval Length. An interval is theamount of time that elapses between two consecutive beats.Thus, it is the number of 0s between consecutive 1s in theinput stream. The corresponding QRE is given by

lincr :¼ ðx; yÞ �> xþ 1; of type N�N ! N

intV :¼ iterUntilð:isV; isV; 0; lincrÞallIntV :¼ iterLastðintVÞ //rateðð:isVÞ� � isVÞþstage1 :¼ anntðallIntV; x�> x; ðx; cÞ �> x:I :¼ cÞ:

The query intV iterates over 0s (predicate:isV) until it finds 1(predicate isV). Each matched 0 increments the counter(lincr), starting from initial value 0. QRE allIntV process allconsecutive intervals in the input stream by iterating intV.The query stage1 annotates the input items with the intervallength values I calculated by the query allIntV. The outputstream s1 from this stage consists of data items of the follow-ing form ðV; t; IÞ 2 D1 :¼ B�N�N.

Stage 2: Annotate with Average Interval Length. This stageannotates its input stream with running average intervalvalues over a window of 4 intervals (see Fig. 7)

blockV :¼ splitðmatchðð:isVÞ�Þ; isV; ðx; yÞ �> yÞwndAvg :¼ wndðblockV; 4; 0; avgÞstage2 :¼ anntðwndAvg; x�> x; ðx; cÞ �> x:avg :¼ cÞ:

The query blockVmatches 0�1 and returns the last data itemthat matches V ¼ 1. Thq QRE wndAvg executes blockV in a

sliding window of length 4 and computes the average value.The query stage2 annotates the stream with all these slid-ing-window averages. The output stream s2 from this stageconsists of data items of the following form: ðV; t; I; avgÞ2 D2 :¼ B�N�N� Q.

Stage 3: Annotate with Label. This stage annotates the streams2 with the rhythm classification label from S ¼ fTach;Sinus; Undefg. For details, see Section 6.1. The query for com-puting the label is given by

fLabel :¼ x�>ifðx:avg � thr ^ x:I � thrÞ; return Tach

elseifðx:avg > thr ^ x:I > thrÞ; return Sinus

else; return Undef

label :¼ applyðiterLastðblockVÞ; fLabelÞstage3 :¼ anntðlabel; x�> x; ðx; cÞ �> x:L :¼ cÞ:fLabel is a basic operation to compute the label for eachdata item. The query label applies fLabel to every outputof blockV (defined earlier). The query stage3 annotates theinput stream for this stage with obtained labels. The outputstream s3 from this stage consists of data items of the follow-ing form: ðV; t; I; avg; LÞ 2 D3 :¼ B�N2 � Q� S.

Stage 4: Discriminators. This stage computes the discrimi-nators Initial Rhythm Classification, Sudden Onset, RhythmStability and SIH, and combines them together according tothe discrimination algorithm from Fig. 5

initClasf :¼ iter1ðblockV; 0; ðx; yÞ �> y:L ¼¼ TachÞonset :¼ wndðblockV; 9; 0; ins; rmv; fOnsetÞ

stability :¼ wndðblockV; 10; 0; ins; rmv; fStabilityÞsih :¼ wndðblockV; 10; 0; ins; rmv; fSihÞ

stage4 :¼ combineðinitClasf; onset; stability;sih; ðx; y; z; uÞ �> x ^ y ^ z ^ uÞ;

where the construct wnd describes a sliding-window compu-tation that maintains a buffer with items defined by QREblockV. The function ins adds a new item to the buffer, andthe function rmv removes an expiring item from the buffer.Functions fOnset, fStability, fSih compute the corre-sponding discriminators described in Section 6 using onlythe items contained in the buffer. The QRE stage4 combinesthe defined above queries by logical operator ^.

Overall St Jude Discrimination Algorithm. The top-levelquery for St. Jude Medical discrimination algorithm is thestreaming composition of all stages

discrStJude :¼ stage1 stage2 stage3 stage4:

8 EXPERIMENTAL RESULTS OF DISCRIMINATION

ALGORITHM

We validated that our QRE implementation of SJM indeedfollows the description in [11] in two ways:4 by comparingits output to that of a second, Matlab, implementation onthe same set of signals, and by checking that its accuracy(defined below) is within the expected range.

Fig. 7. Evaluation of the sudden onset discriminator. Threshold defaultvalue is 100 ms.

4. Note we are not validating that the algorithm itself is ‘correct’ insome sense. That is a separate question for future research. Our concernhere is to validate that we implemented the algorithm described in [11]correctly.

1594 IEEE/ACM TRANSACTIONS ON COMPUTATIONAL BIOLOGY AND BIOINFORMATICS, VOL. 16, NO. 5, SEPTEMBER/OCTOBER 2019

Page 10: Quantitative Regular Expressions for Arrhythmia Detection

First, we implemented SJM in Matlab and compared theoutput of the Matlab implementation with that ofdiscrStJude by running them both on a database of 1920EGM signals, described in greater details below. The twoimplementations returned exactly the same decisions on allsignals. To illustrate the details of the query execution, con-sider the example in Fig. 8. It shows an EGM signal fromthe database with the corresponding boolean stream gener-ated by the peak detector. The results of running stage1,stage2 and stage3 on this signal are shown as INT[ms],AVG[ms] and LABEL labels streams, respectively. All dis-criminators of stage4 are depicted as a red box. At time12,390 ms all four discriminators returned true, and the dis-crimination algorithm therefore outputs Therapy.

The database of signals we used in this evaluation con-sists of 1920 EGMs, equally divided between 960 VTs and960 SVTs. The input stream was generated by the heartmodel of [21],[22], whose outputs had been validated forrealism by cardiologists [22]. Using a heart model allows usto generate different types of VTs and SVTs, thus exposingthe QRE implementation to a wider range of rhythms thanis possible by using a database of natural signals. It also ena-bles us to generate more signals for free, whereas collectingEGM signals from patients is very laborious. Finally, andspecifically for the purpose of measuring the accuracy ofour implementation of SJM, the model-generated signals weuse come with the true timing of events (i.e., the booleanstream of events is also given by the model), which allowsan accurate measure of the arrhythmia detector’s accuracy.

The secondwaywe validated our implementation of SJM isby running discrStJude on the database of signals and mea-suring its Specificity and Sensitivity, defined respectively as

Specificity ¼ # correctly detected SVTs

# true SVTs� 100%

Sensitivity ¼ # correctly detected VTs

# true VTs� 100%:

Table 1 shows the results. The numbers fall within theexpected range, namely above 90 percent for both.

9 RELATED WORK

Signal Temporal Logic (STL) [23] is a popular specificationlanguage employed to express real-time properties overreal-valued signals. The use of STL has been proposed inseveral application domains [2] including the monitoring ofmedical signals [24], [25]. In [7], STL was extended with asignal value freeze operator enabling the specification in thetime-domain of complex oscillatory patterns (i.e., dampingoscillations). However, this extension does not allow thedetection of oscillations within a specified frequency range.

If we consider the spectrogram of a signal as a 2D map(from time and scale to amplitude), one may think to apply aspatial-temporal logic such as SpaTeL [26], Signal Spatio-Temporal Logic (SSTL) [27] or STREL [28] on spectrograms.However, their underlying spatial models, graph structuresfor SSTL and STREL and quadtrees for SpaTeL, are not suit-able for this purpose.

There has been also an effort to propose logics for describ-ing both frequency and temporal properties, including Time-Frequency Logic (TFL) in [6] and the approach describedin [29]. However, TFL is not expressive enough for peakdetection, because it lacks the necessary mechanisms to quan-tify over variables or to freeze their values.

Timed regular expressions [30], [31], [32] extend regularexpressions by clocks and are expressively equivalent totimed automata, but they are insufficient to specify the tasksdescribed in this paper. The work proposed in [33] on mea-suring signals with timed patterns does not improve the sit-uation for our case study, since it does not provide, neitherin the specification nor in the measurement, the notion oflocal minima/maxima that is fundamental for peak detec-tion. Furthermore, the operator of measure is separated bythe specification of the pattern to match.

Stream runtime verification languages (SRVs) [34], [35], suchas LOLA [34], require explicit encoding of all the relationsbetween input and output streams. This would result in avery cumbersome activity while encoding the complex tasksof this paper. Moreover, unlike Boolean SRVs [35], QREsallow multiple unrestricted data types in the intermediarycomputations.

10 CONCLUSIONS AND FUTURE WORK

The tasks of discrimination and peak detection, funda-mental to arrhythmia-discrimination algorithms, are easilyand succinctly expressible in QREs. One obvious limitationof QREs is that they only allow regular matching, though

Fig. 8. Boolean signal obtained from the EGM signal and the streaming output of QRE implementation of St Jude Discrimination algorithm presentedin Sections 6 and 7.

TABLE 1Database-Averaged Detection Accuracy

Sensitivity Specificity

92% 96%ð884=960Þ ð921=960Þ

ABBAS ET AL.: QUANTITATIVE REGULAR EXPRESSIONS FOR ARRHYTHMIA DETECTION 1595

Page 11: Quantitative Regular Expressions for Arrhythmia Detection

this is somewhat mitigated by the ability to chain QREs(though the streaming combinator ) to achieve more com-plex tasks. One advantage of programming in QREs is thatit automatically provides us with a base implementation,whose time and memory complexity is independent of thestream length.

As future work, it will be interesting to compile a QREinto C or assembly code to measure and compare actual per-formance on a given hardware platform. Also, just like anRE has an equivalent machine model (DFA), a QRE has anequivalent machine model in terms of a deterministic finite-state transducer [8]. This points to an analysis of a QRE’scorrectness and efficiency beyond testing.

ACKNOWLEDGMENTS

This work is supported in part by AFOSRGrant FA9550-14-1-0261 and NSF Grants IIS-1447549, CNS-1446832, CNS-1446664, CNS-1445770, and CNS-1445770. E.B. and R.G.acknowledge the partial support of the Austrian NationalResearch Network S 11405-N23 and S 11412-N23 (RiSE/SHiNE) of the Austrian Science Fund (FWF) and the ICTCOST Action IC1402 Runtime Verification beyond Monitor-ing (ARVI). H. Abbas andA. Rodionova contributed equally.

REFERENCES

[1] C. D. Swerdlow, S. J. Asirvatham, K. A. Ellenbogen, andP. A. Friedman, “Troubleshooting implanted cardioverter defibril-lator sensing problems I,” Circulation: Arrhythmia Electrophysiology,vol. 7, no. 6, pp. 1237–1261, 2014. [Online]. Available: http://circep.ahajournals.org/content/7/6/1237.short

[2] E. Bartocci, J. V. Deshmukh, A. Donz�e, G. E. Fainekos, O. Maler,D. Nickovic, and S. Sankaranarayanan, “Specification-based moni-toring of cyber-physical systems: A survey on theory, tools andapplications,” in Lectures on Runtime Verification-Introductoryand Advanced Topics, vol. 10457. Berlin, Germany: Springer, 2018,pp. 135–175.

[3] E. Bartocci and Y. Falcone, Eds., Lectures on Runtime Verification-Introductory and Advanced Topics, vol. 10457. Berlin, Germany:Springer, 2018.

[4] E. Bartocci, Y. Falcone, A. Francalanza, and G. Reger, “Introductionto runtime verification,” in Lectures on Runtime Verification-Introduc-tory and Advanced Topics, vol. 10457. Berlin, Germany: Springer,2018, pp. 1–33.

[5] H. Abbas, A. Rodionova, E. Bartocci, S. A. Smolka, and R. Grosu,“Quantitative regular expressions for arrhythmia detectionalgorithms,” in Proc. 15th Int. Conf. Comput. Methods Syst. Biol., 2017,pp. 23–39.

[6] A. Donz�e, O. Maler, E. Bartocci, D. Nickovic, R. Grosu, andS. A. Smolka, “On temporal logic and signal processing,” in Proc.Int. Symp. Autom. Technol. Verification Anal., 2012, pp. 92–106.

[7] L. Brim, P. Dluhos, D. Safr�anek, and T. Vejpustek, “STL-*: Extendingsignal temporal logic with signal-value freezing operator,” Inf.Comput., vol. 236, pp. 52–67, 2014.

[8] R. Alur, D. Fisman, and M. Raghothaman, “Regular programmingfor quantitative properties of data streams,” in Proc. 25th Eur.Symp. Program. Lang. Syst., 2016, pp. 15–40.

[9] R. Alur and K. Mamouras, “An introduction to the StreamQRElanguage,”Depend. Softw. Syst. Eng., vol. 50, 2017, Art. no. 1.

[10] StreamQRE library, (2018). [Online]. Available: http://www.seas.upenn.edu/~mamouras/StreamQRE/StreamQRE.jar

[11] St. Jude Medical, “Bradycardia and tachycardia devices, merlinpatient care system, help manual,” St. Jude Med. Product Manuals,2017. [Online]. Available: https://manuals.sjm.com/

[12] S. Mallat and W. L. Hwang, “Singularity detection and processingwith wavelets,” IEEE Trans. Inf. Theory, vol. 38, no. 2, pp. 617–643,Mar. 1992.

[13] S. G. Mallat, A Wavelet Tour of Signal Processing, Third Edition: TheSparse Way. Cambridge, MA, USA: Academic Press, 2008.

[14] K. Mamouras, M. Raghothaman, R. Alur, Z. Ives, and S. Khanna,“StreamQRE: Modular specification and efficient evaluation ofquantitative queries over streaming data,” in Proc. 38th ACM SIG-PLAN Conf. Program. Lang. Des. Implementation, 2017, pp. 693–708.

[15] Java’s lambda expressions, (2018). [Online]. Available: https://docs.oracle.com/javase/tutorial/java/javaOO/lambdaexpressions.html

[16] M. Veanes, P. de Halleux, and N. Tillmann, “Rex: Symbolic regularexpression explorer,” in Proc. 3rd Int. Conf. Softw. Testing VerificationValidation, 2010, pp. 498–507.

[17] R. Book, S. Even, S. Greibach, and G. Ott, “Ambiguity in graphs andexpressions,” IEEE Trans. Comput., vol. C-20, no. 2, pp. 149–153,Feb. 1971.

[18] J. Li, D. Maier, K. Tufte, V. Papadimos, and P. A. Tucker,“Semantics and evaluation techniques for window aggregates indata streams,” in Proc. ACM SIGMOD Int. Conf. Manage. Data,2005, pp. 311–322.

[19] R. X. Stroobandt, S. S. Barold, and A. F. Sinnaeve, Implantable Car-dioverter-Defibrillators Step by Step. Hoboken, NJ, USA: Wiley, 2009.

[20] J. Zdarek and C. W. Israel, “Detection and discrimination oftachycardia in ICDs manufactured by St. Jude Medical,”Herzschrittmachertherapie + Elektrophysiologie, vol. 27, no. 3,pp. 226–239, Sep. 2016. [Online]. Available: https://doi.org/10.1007/s00399-016-0455-1

[21] H. Abbas, Z. Jiang, K. J. Jang, M. Beccani, J. Liangy, andR. Mangharam, “High-level modeling for computer-aided clinicaltrials of medical devices,” in Proc. IEEE Int. High Level Des.Validation Test Workshop, Oct. 2016, pp. 85–92.

[22] Z. Jiang, H. Abbas, K. J. Jang, M. Beccani, J. Liang, S. Dixit, andR. Mangharam, “In-silico pre-clinical trials for implantablecardioverter defibrillators,” in Proc. 38th Annu. Int. Conf. IEEEEng. Med. Biol. Soc., Aug. 2016, pp. 169–172.

[23] O. Maler and D. Nickovic, “Monitoring temporal properties ofcontinuous signals,” in Proc. Int. Symp. Formal Techn. Real-TimeFault-Tolerant Syst. FormalModel. Anal. Timed Syst., 2004, pp. 152–166.

[24] S. Bufo, E. Bartocci, G. Sanguinetti, M. Borelli, U. Lucangelo, andL. Bortolussi, “Temporal logic based monitoring of assistedventilation in intensive care patients,” in Proc. Int. Symp. LeveragingAppl. FormalMethods Verification Validation, 2014, pp. 391–403.

[25] E. Bartocci, L. Bortolussi, andG. Sanguinetti, “Data-driven statisticallearning of temporal logic properties,” in Proc. Int. Conf. FormalModel. Anal. Timed Syst., 2014, pp. 23–37.

[26] I. Haghighi, A. Jones, Z. Kong, E. Bartocci, R. Grosu, and C. Belta,“SpaTel: A novel spatial-temporal logic and its applications tonetworked systems,” in Proc. 18th Int. Conf. Hybrid Syst.: Comput.Control, 2015, pp. 189–198.

[27] L. Nenzi, L. Bortolussi, V. Ciancia, M. Loreti, and M. Mieke,“Qualitative and quantitative monitoring of spatio-temporalproperties,” in Proc. 6th Int. Conf. Runtime Verification, 2015,pp. 21–37.

[28] E. Bartocci, L. Bortolussi, M. Loreti, and L. Nenzi, “Monitoringmobile and spatially distributed cyber-physical systems,” in Proc.15th ACM-IEEE Int. Conf. Formal Methods Models Syst. Des., 2017,pp. 146–155.

[29] A. Chakarov, S. Sankaranarayanan, and G. Fainekos, “Combiningtime and frequency domain specifications for periodic signals,” inProc. 2nd Int. Conf. Runtime Verification, 2012, pp. 294–309. [Online].Available: http://dx.doi.org/10.1007/978-3-642-29860-8_22

[30] E. Asarin, P. Caspi, and O. Maler, “Timed regular expressions,”J. ACM, vol. 49, no. 2, pp. 172–206, Mar. 2002. [Online]. Available:http://doi.acm.org/10.1145/506147.506151

[31] D. Ulus, “Montre: A tool for monitoring timed regularexpressions,” in Proc. 29th Int. Conf. Comput. Aided Verification,2017, pp. 329–335.

[32] D. Ulus, T. Ferr�ere, E. Asarin, and O. Maler, “Timed patternmatching,” in Proc. 12th Int. Conf. Formal Model. Anal. Timed Syst.,2014, pp. 222–236.

[33] T. Ferr�ere, O. Maler, D. Nickovic, and D. Ulus, “Measuring withtimed patterns,” in Proc. 27th Int. Conf. Comput. Aided Verification,2015, pp. 322–337. [Online]. Available: http://dx.doi.org/10.1007/978-3-319-21668-3

[34] B. D’Angelo, S. Sankaranarayanan, C. S�anchez, W. Robinson,B. Finkbeiner, H. B. Sipma, S. Mehrotra, and Z. Manna, “LOLA:Runtime monitoring of synchronous systems,” in Proc. 12th Int.Symp. Temporal Representation Reasoning, 2005, pp. 166–174.

[35] L. Bozzelli and C. S�anchez, “Foundations of boolean stream runtimeverification,” in Proc. 5th Int. Conf. Runtime Verification, 2014,pp. 64–79.

1596 IEEE/ACM TRANSACTIONS ON COMPUTATIONAL BIOLOGY AND BIOINFORMATICS, VOL. 16, NO. 5, SEPTEMBER/OCTOBER 2019

Page 12: Quantitative Regular Expressions for Arrhythmia Detection

Houssam Abbas (M’01) received the BE degreein computer engineering from the AmericanUniversity of Beirut (Lebanon), and the MS andPhD degrees in electrical engineering from Ari-zona State University. He was a design automa-tion engineer in the SoC Verification Group, Intel,from 2006 to 2014. He is currently a postdoctoralfellow with the Department of Electrical and Sys-tems Engineering, University of Pennsylvania. Hisresearch interests are in the verification, controland conformance testing of cyber-physical sys-

tems. Current research includes the verification and performance analysisof life-supporting medical devices, the verification and control of autono-mous vehicles with a view towards certifying such systems, and anytimecomputation and control. He is a member of the IEEE.

Al€ena Rodionova received the BS and MSdegrees in mathematics from Siberian FederalUniversity (Russia), in 2012 and 2014, respec-tively. She is currently working toward the doctoraldegree in the Department of Electrical and Sys-tems Engineering, University of Pennsylvania.Before joining the University of Pennsylvania in2017, she was with the Cyber-Physical SystemsGroup at TU Wien. Her research is focused onformal analysis and verification of safety-criticalsystems such as medical devices, and risk

assessment, verification and control of cyber-physical systems such asautonomous vehicles. She is a student member of the IEEE.

Konstantinos Mamouras received the graduatedegree in electrical and computer engineeringfrom the National Technical University of Athens,the MSc degree in computer science from ImperialCollege London, and the PhD degree in computerscience from Cornell University. He is currently apostdoctoral researcher with the Department ofComputer and Information Science, University ofPennsylvania. His research interests lie in thearea of programming languages for data streamprocessing, and logical approaches for programverification. He is a member of the IEEE.

Ezio Bartocci is a tenure-track assistant professorwith the Department of Computer Engineering, TUWien. The primary focus of his research is todevelop formal methods, computational tools, andtechniques that support the modeling and theautomated analysis of complex computational sys-tems, including software systems, cyber-physicalsystems, and biological systems.

Scott A. Smolka is SUNY distinguished professorof computer science at Stony Brook Universityand a fellow of the European Association of Theo-retical Computer Science. His research interestsinclude the formal modeling and analysis of com-plex systems. He is the lead PI and director ofCyberCardia, the NSF CPS Frontier project on theformal analysis of cardiac medical devices. He is amember of the IEEE.

Radu Grosu is a full professor, and the head ofthe Cyber-Physical Systems Division of the Fac-ulty of Informatics at the Technische Universit€atWien. He is also a research professor with theDepartment of Computer Science at the StateUniversity of New York at Stony Brook. Hisresearch interests include the modeling, analysis,and control of cyber-physical systems and of bio-logical systems. The applications focus includessmart mobility, Industry 4.0, smart buildings,smart agriculture, smart health care, smart cities,

IoT, cardiac and neural networks, and genetic regulatory networks. He isa member of the IEEE.

" For more information on this or any other computing topic,please visit our Digital Library at www.computer.org/publications/dlib.

ABBAS ET AL.: QUANTITATIVE REGULAR EXPRESSIONS FOR ARRHYTHMIA DETECTION 1597