Emmanuel Fricain
email: emmanuel.fricain@univ-lille.fr

Sophie Grivaux
email: sophie.grivaux@univ-lille.fr

Paul Laboratoire

Universit É Painlev É

De

C Villeneuve D'ascq

Édex

CYCLICITY IN DE BRANGES-ROVNYAK SPACES

Keywords: Subject Classification. 30J05, 30H10, 46E22 Cyclicity, de Branges-Rovnyak spaces, forward shift operator

INTRODUCTION

In this paper, we study the cyclicity problem with respect to the forward shift operator S b acting on the de Branges-Rovnyak space H pbq, associated to a function b belonging to the closed unit ball of H 8 and satisfying logp1 ´|b|q P L 1 pTq. This problem of cyclicity has a long and outstanding history and many efforts have been dedicated to solving it in various reproducing kernel Hilbert spaces. It finds its roots in the pioneering work of Beurling who showed that cyclicity of a function f in the Hardy space H 2 is equivalent to f being outer. Brown and Shields studied the cyclicity problem in the Dirichlet spaces D α for polynomials that do not have zeros inside the disc, but that may have some zeros on its boundary. Such functions are cyclic in D α if and only if α 1. They also proved that the set of zeros on the unit circle (in the radial sense) of cyclic functions in the Dirichlet space D α has zero logarithmic capacity, and this led them to ask whether any outer function with this property is cyclic [START_REF] Brown | Cyclic vectors in the Dirichlet space[END_REF]. This problem is still open although there has been relevant contributions to the topic by a number of authors; e.g. see [START_REF] Brown | Invertible elements in the Dirichlet space[END_REF][START_REF] Brown | Some examples of cyclic vectors in the Dirichlet space[END_REF][START_REF] El-Fallah | Cyclicity in the Dirichlet space[END_REF][START_REF] El-Fallah | On the Brown-Shields conjecture for cyclicity in the Dirichlet space[END_REF][START_REF] Hedenmalm | Invariant subspaces in Banach spaces of analytic functions[END_REF][START_REF] Richter | Multipliers and invariant subspaces in the Dirichlet space[END_REF]. We also mention the paper [START_REF] El-Fallah | Cyclicity and invariant subspaces in Dirichlet spaces[END_REF] where the authors prove the Brown-Shields conjecture in the context of some particular Dirichlet type spaces Dpµq, which happen to be related to our context of de Branges-Rovnyak spaces [START_REF] Costara | Which de Branges-Rovnyak spaces are Dirichlet spaces (and vice versa)?[END_REF].

The de Branges-Rovnyak spaces H pbq (see the precise definition in Section 2) have been introduced by L. de Branges and J. Rovnyak in the context of model theory (see [START_REF] De | Square summable power series[END_REF]). A whole class of Hilbert space contractions is unitarily equivalent to S ˚|H pbq, for an appropriate function b belonging to the closed unit ball of H 8 . Here S is the forward shift operator on H 2 and S ˚, its adjoint, is the backward shift operator on H 2 . The space H pbq is invariant with respect to S ˚for every b in the closed unit ball of H 8 , and S ˚defines a bounded operator on H pbq, endowed with its own Hilbert space topology. On the contrary, H pbq is invariant with respect to S if and only if logp1 ´|b|q P L 1 pTq, i.e. if and only if b is a non-extreme point of the closed unit ball of H 8 . See [START_REF] Fricain | The theory of Hpbq spaces[END_REF]Corollary 25.2]. In [START_REF] Fricain | Cyclicity in non-extreme de Branges-Rovnyak spaces[END_REF], it is proved that if logp1 ´|b|q P L 1 pTq, the cyclic vectors of S ˚|H pbq are precisely the cyclic vectors of S ˚which live in H pbq. Note that cyclic vectors of S ˚have been characterised by Douglas-Shapiro-Shields [START_REF] Douglas | On cyclic vectors of the backward shift[END_REF]. The result of [START_REF] Fricain | Cyclicity in non-extreme de Branges-Rovnyak spaces[END_REF] is based on a nice description, due to Sarason, of closed invariant subspaces of S ˚|H pbq. See also [START_REF] Fricain | The theory of Hpbq spaces[END_REF]Corollary 24.32]. Unfortunately an analogous description of closed invariant subspaces of S b " S|H pbq remains an unsolved and difficult problem. In [START_REF] Luo | Higher order local Dirichlet integrals and de Branges-Rovnyak spaces[END_REF], Gu-Luo-Richter give an answer in the case where b is a rational function which is not inner, generalising a result of Sarason [START_REF] Sarason | Doubly shift-invariant spaces in H 2[END_REF].

The purpose of this paper is to study the cyclic vectors of S b when the function b is such that logp1 ´|b|q P L 1 pTq. In Section 2, we present a quick overview of some useful properties of de Branges-Rovnyak spaces. Then, in Section 3, we give some general facts on cyclic vectors and completely characterise holomorphic functions in a neighborhood of the closed unit disc which are cyclic for S b . In Section 4, we give a characterisation of cyclic vectors for S b when b is rational (and not inner). Of course, this characterisation can be derived from the description, given in [START_REF] Luo | Higher order local Dirichlet integrals and de Branges-Rovnyak spaces[END_REF], of invariant subspaces of S b when b is a non-inner rational function. Nevertheless, we will give a more direct and easier proof of this characterisation. Finally, Section 5 will be devoted to the situation where b " p1 `Iq{2, where I is a non-constant inner function such that the associated model space K I " H pIq has an orthonormal basis of reproducing kernels. ) be the closed unit ball of H 8 , the space of bounded analytic functions on the open unit disk D, endowed with the sup norm. For b P ballpH 8 q, the de Branges-Rovnyak space H pbq is the reproducing kernel Hilbert space on D associated with the positive definite kernel k b λ , λ P D, defined as

PRELIMINARIES ON H pbq

(2.1) k b λ pzq " 1 ´bpλqbpzq 1 ´λz , z P D.
It is known that H pbq is contractively contained in the well-studied Hardy space H 2 of analytic functions f on D for which

}f } H 2 :" ´sup 0ără1 ż T |f prξq| 2 dmpξq ¯1 2 ă 8,
where m is the normalised Lebesgue measure on the unit circle T " tξ P C : |ξ| " 1u [START_REF] Peter | Theory of H p spaces[END_REF][START_REF] Garnett | Bounded analytic functions[END_REF]. For every f P H 2 , the radial limit lim rÑ1 ´f prξq ": f pξq (even the non-tangential limit f pξq :" lim zÑξ f pzq) exists for m-a.e. ξ P T, and

(2.2) }f } H 2 " ´żT |f pξq| 2 dmpξq ¯1 2 .
Though H pbq is contractively contained in H 2 , it is generally not closed in the H 2 norm. It is known that H pbq is closed in H 2 if and only if b " I is an inner function, meaning that |Ipζq| " 1 for a.e. ζ P T. In this case, H pbq " K I " pIH 2 q K is the so-called model space associated to I. Note that K I " H 2 XIzH 2 (see [START_REF] Garcia | Introduction to model spaces and their operators[END_REF]Proposition 5.4]), and then K I " Ker TĪ , where TĪ is the Toeplitz operator with symbol Ī defined on H 2 as TĪ f " P `p Īf q, where P `denotes the orthogonal projection from L 2 onto H 2 .

We refer the reader to the book [START_REF] Sarason | Sub-Hardy Hilbert spaces in the unit disk[END_REF] by Sarason and to the monograph [START_REF] Fricain | The theory of Hpbq spaces[END_REF], [START_REF] Fricain | The theory of Hpbq spaces[END_REF] by Fricain and Mashreghi for an in-depth study of de Branges-Rovnyak spaces and their connections to numerous other topics in operator theory and complex analysis.

In this paper, we will always assume that b is a non-extreme point of ballpH 8 q, which is equivalent to requiring that logp1 ´|b|q P L 1 pTq. Under this assumption, there is a unique outer function a, called the pythagorean mate for b, such that ap0q ą 0 and |a| 2 `|b| 2 " 1 a.e. on T. There are two important subspaces of H pbq which can be defined via this function a. The first one is the space M paq " aH 2 , equipped with the range norm

}af } M paq " }f } 2 , f P H 2 .
The second one is M pāq " T āH 2 , equipped also with the range norm

}T āf } M pāq " }f } 2 , f P H 2 .
Note that since a is outer, the Toeplitz operator T ā is one-to-one and so the above norm is well defined. See [START_REF] Fricain | The theory of Hpbq spaces[END_REF]Theorem 28.7].

A crucial fact on de Branges-Rovnyak space is that the space H pbq is invariant with respect to the shift operator S : f Þ Ñ zf if and only if the function b is non-extreme. Since we will consider in this paper only the case where b is non-extreme, H pbq is indeed invariant by S, and S defines a bounded operator on H pbq, endowed with its own Hilbert space topology, which we will denote by S b . The functions z n belong to H pbq for every n ě 0. Actually, we have

(2.4) Spanpz n : n ě 0q " H pbq,
where SpanpAq denotes the closed linear span generated by vectors from a certain family A. In other words, the polynomials are dense in H pbq. See [START_REF] Fricain | The theory of Hpbq spaces[END_REF]Theorem 23.13]. Note that (2.4) exactly means that the constant function 1 is cyclic for S b .

Another tool which will turn out to be useful when studying the cyclicity for the shift operator is the notion of multiplier. Recall that the set MpH pbqq of multipliers of H pbq is defined as

MpH pbqq " tϕ P HolpDq : ϕf P H pbq, @f P H pbqu.

Using the closed graph theorem, it is easy to see that when ϕ P MpH pbqq, then M ϕ , the multiplication operator by ϕ, is bounded on H pbq. It is proved in [START_REF] Fricain | Boundary behavior of functions in the de Branges-Rovnyak spaces[END_REF] that for every point ζ P T, every function f P H pbq has a nontangential limit at ζ if and only if ζ P E 0 pbq. This is also equivalent to the property that b has an angular derivative (in the sense of Carathéodory) at ζ, meaning that b and b 1 both have a non-tangential limit at ζ and |bpζq| " 1. Moreover, in this case, the linear map The boundary evaluation points play a particular role in the description of certain orthogonal basis of reproducing kernels in model spaces K I , the so-called Clark basis. Given an inner function I and α P T, recall that by Herglotz theorem, there is a unique finite positive Borel measure σ α on T, singular with respect to the Lebesgue measure, such that (2.11)

1 ´|Ipzq| 2 |α ´Ipzq| 2 " ż T 1 ´|z| 2 |ξ ´z| 2 dσ α pξq, z P D.
The collection pσ α q αPT is the family of Clark measures of I. Let E α " tζ P E 0 pIq : Ipζq " αu. By [START_REF] Fricain | The theory of Hpbq spaces[END_REF]Theorem 21.5], the point ζ belongs to E α if and only if the measure σ α has an atom at ζ. In this case, (2.12)

σ α ptζuq " 1 |I 1 pζq| " 1 }k I ζ } 2 2
See [18, Theorems 21.1 and 21.5]. When σ α is a discrete measure, its support is exactly the set E α , which is necessarily countable, and we write it as (2.13) E α " tζ n : n ě 1u " tζ P E 0 pIq : Ipζq " αu.

Then, in this case, Clark proved in [START_REF] Clark | One dimensional perturbations of restricted shifts[END_REF] that the family tk I ζn : n ě 1u forms an orthogonal basis of K I (and the family tk I ζn {}k I ζn } 2 : n ě 1u forms an orthonormal basis of K I ). It is called the Clark basis of K I associated to point α P T.

2.4.

A description of H pbq when b is a rational function. Although the contents of the space H pbq may seem mysterious for a general non-extreme b P ballpH 8 q, it turns out that when b is a rational function (and not a finite Blaschke product -in which case b is an inner function, and thus extreme), the description of H pbq is quite explicit. Since our b is a non-extreme point of ballpH 8 q, it admits a pythagorean mate a, which is also a rational function. In fact, the function a can be obtained from the Fejér-Riesz theorem (see [START_REF] Fricain | Concrete examples of H pbq spaces. Comput[END_REF]). Let ζ 1 , . . . , ζ n denote the distinct roots of a on T, with corresponding multiplicities m 1 , . . . , m n , and define the polynomial a 1 by (2.14) a 1 pzq :"

n ź k"1 pz ´ζk q m k .
Results from [START_REF] Costara | Which de Branges-Rovnyak spaces are Dirichlet spaces (and vice versa)?[END_REF][START_REF] Fricain | Concrete examples of H pbq spaces. Comput[END_REF] show that H pbq has an explicit description as

(2.15) H pbq " a 1 H 2 ' P N ´1 " Mpa 1 q ' P N ´1,
where N " m 1 `¨¨¨`m n , and P N ´1 denotes the set of polynomials of degree at most N ´1. Since a{a 1 is invertible in H 8 " MpH 2 q, note that Mpaq " Mpa 1 q. The notation ' above denotes a topological direct sum in H pbq. But this sum may not be an orthogonal one. See [START_REF] Fricain | Concrete examples of H pbq spaces. Comput[END_REF]. In particular, Mpa 1 q X P N ´1 " t0u. Moreover, if f P H pbq is decomposed with respect to (2.15) as (2.16) f " a 1 r f `p, where r f P H 2 and p P P N ´1, an equivalent norm on H pbq (to the natural one induced by the positive definite kernel

k b λ , λ P D, above) is (2.17) ~a1 r f `p~2 b :" } r f } 2 H 2 `}p} 2 H 2 .
Note that the functions r f P H 2 and p P P N ´1 appearing in the decomposition (2.16) are unique. It is important to note that ~¨~b is only equivalent to the original norm } ¨}b associated to the kernel in (2.1), and its scalar product as well as the reproducing kernels and the adjoints of operators defined on H pbq will be different. However, the cyclicity problem for S b does not depend on the equivalent norm we consider. So, in the rational case, there is no problem to work with the norm given by (2.17).

Note also that when the zeros ζ 1 , . . . , ζ n of the polynomial a 1 are simple (i.e. when m k " 1, 1 k n), then the space H pbq coincides with a Dirichlet type space Dpµq, where µ is a finite sum of Dirac masses at the points ζ k , 1 k n. See [START_REF] Costara | Which de Branges-Rovnyak spaces are Dirichlet spaces (and vice versa)?[END_REF]. So our results are also connected to the works [START_REF] El-Fallah | Cyclicity in the Dirichlet space[END_REF] and [START_REF] El-Fallah | On the Brown-Shields conjecture for cyclicity in the Dirichlet space[END_REF] on the cyclicity problem for Dirichlet spaces.

Using (2.16)

f pζ k q " lim zÑζ k f pzq " ppζ k q,
where f " a 1 r f `p with r f P H 2 and p P P N ´1. In particular,

(2.20)

E 0 pbq " tζ k : 1 k nu.
Finally, let us mention that when b P ballpH 8 q is a rational function and not a finite Blaschke product, then MpH pbqq " H 8 X H pbq. See [START_REF] Fricain | Multipliers between range spaces of coanalytic Toeplitz operators[END_REF].

2.5.

A description of H pbq when b " p1 `Iq{2, with I an inner function. There is another situation where we have an explicit description of the space H pbq: this is when b " 1`I 2 and I is an inner function with I ı 1. In this case, b is a non-extreme point of ballpH 8 q, and its Pythagorean mate (up to a unimodular constant) is a " 1´I 2 . Moreover, pa, bq satisfies (HCR), since |a| 2 `|b| 2 ě 1 2 on D. In particular H pbq " Mpāq, with equivalent norms. Under the assumption that Ip0q " 0, it is proved in [START_REF] Fricain | Range spaces of co-analytic Toeplitz operators[END_REF] that

(2.21) H pbq " Mpaq K ' b K I ,
where the direct sum K ' b is orthogonal with respect to the H pbq norm. In particular, every f P H pbq can be written in a unique way as (2.22) f " p1 ´Iqg 1 `g2 , with g 1 P H 2 and g 2 P K I .

It turns out that the same proof holds without any assumption on the value of Ip0q. For completeness's sake, we present it in Lemma 2.2 below. We also give an equivalent norm on H pbq analogue to (2.17).

Lemma 2.2. Let I be an inner function with I ı 1, and let b " p1 `Iq{2. Then the following assertions hold:

(i) H pbq " p1 ´IqH 2 K ' b K I , where K ' b denotes an orthogonal direct sum in H pbq; (ii) if for f " p1 ´Iqg 1 `g2 P H pbq, g 1 P H 2 , g 2 P K I , we define |||f ||| 2 b " ||g 1 || 2 2 `||g 2 || 2 2 , then ||| . ||| b is a norm on H pbq which is equivalent to || . || b .
Proof. (i) We have H pbq " Mpāq with equivalent norms, where a " 1´I 2 is the Pythagorean mate of b. Also, ā a " 1´Ī 1´I " ´Ī a.e. on T, and thus T ā{a " ´TĪ . Hence Ker T ā{a " Ker TĪ " K I . Moreover, T a{ā " ´TI has closed range, and thus

H 2 " RanpT I q K ' KerpT I q " RanpT I q K ' KerpTĪ q " T a{ā H 2 K ' K I (2.23)
(the sign K ' denotes here an orthogonal direct sum in H 2 ). Using now the fact that T ā is an isometry from H 2 onto Mpāq " T āH 2 (equipped with the range norm), applying T ā to the equation (2.23), and using the identity T ā T a{ā " T a , we obtain

H pbq " Mpāq " Mpaq K ' ā T ā K I ,
where the notation K ' ā represents an orthogonal direct sum with respect to the range norm on Mpāq. Since TĪ K I " t0u and ā " p1 ´Īq{2, we have T ā K I " pId ´TĪ q K I " K I , and so

(2.24) H pbq " Mpāq " Mpaq K ' ā K I " p1 ´IqH 2 K ' ā K I .
It now remains to prove that the direct sum in this decomposition of H pbq is in fact orthogonal with respect to the H pbq norm.

Let f P H 2 and g P K I . Our aim is to show that xp1 ´Iqf , gy b " 0. Note that

Tb g " T p1`Īq{2 g " 1 2
g " T ā g from which it follows that (2.25) g `" g.

Moreover, since b a " ´ā b a.e. on T, we have Tb `p1 ´Iqf ˘" P `p2 b af q " ´P`p 2ā bf q " T ā p´2bf q, In the case where b " p1 `Iq{2 and I is an inner function with I ı 1, there is no complete characterisation of multipliers for H pbq. Nevertheless, we have at our disposal a sufficient condition which will be useful for our study of cyclicity. Before stating this result (Lemma 2.6) on multipliers, we recall a well-known property of model spaces, of which we provide a proof for completeness's sake. Lemma 2.4. Let I be an inner function and let f P K I and g P K I X H 8 . Then f g P K I 2 .

whence
Proof. Using that K I " H 2 X IzH 2 , write f " Iz r f and g " Izr g, with r f , r g P H 2 . Since g P H 8 , we indeed have |r g| " |g| P L 8 pTq, and thus r g P H 8 . Moreover, f g P H 2 , and

f g " I 2 z 2 r f r g, whence f g P H 2 X I 2 zH 2 " K I 2 .
In the case where b " p1`Iq{2, the de Branges-Rovnyak space Hpbq contains a sequence of model spaces. Proof. (a): Let f P H pbq. According to (2.22), we can decompose f as f " p1 ´Iqg 1 `g2 with g 1 P H 2 and g 2 P K I . Then

If " p1 ´IqpIg 1 q `Ig 2 " p1 ´IqpIg 1 ´g2 q `g2 and Ig 1 ´g2 P H 2 and g 2 P K I . Thus, using one more time (2.22), it follows that If P H pbq.

(b): We argue by induction. For n " 1, the property follows from Lemma 2.2. Assume that for some n ě 1, K I n Ď H pbq. It is known that K I n`1 " K I ' IK I n . See [START_REF] Garcia | Introduction to model spaces and their operators[END_REF]Lemma 5.10]. The conclusion now follows from the induction assumption and (a).

Here is now our sufficient condition for f P H pbq to be a multiplier of H pbq. Lemma 2.6. Let I be an inner function, I ı 1, and let b " p1 `Iq{2. Assume that f decomposes as f " p1 ´Iqg 1 `g2 , with g 1 P H 8 and g 2 P H 8 X K I . Then f P MpH pbqq.

Proof. We need to show that for every ϕ P H pbq, we have ϕf P H pbq. According to (2.22), write ϕ " p1 ´Iqϕ 1 `ϕ2 , with ϕ 1 P H 2 and ϕ 2 P K I . Then ϕf " p1 ´Iqϕ 1 f `ϕ2 f. Since f P H 8 , ϕ 1 f P H 2 , and so the first term p1 ´Iqϕ 1 f belongs to p1 ´IqH 2 which is contained in H pbq. Thus it remains to prove that ϕ 2 f P H pbq. In order to deal with this term, write ϕ 2 f " p1 ´Iqϕ 2 g 1 `g2 ϕ 2 , and as before, since g 1 P H 8 , the term p1 ´Iqϕ 2 g 1 belongs to p1 ´IqH 2 , and so to H pbq. It remains to prove that g 2 ϕ 2 P H pbq. Lemma 2.4 implies that g 2 ϕ 2 P K I 2 , and the conclusion follows now directly from Lemma 2.5.

SOME BASIC FACTS ON CYCLIC VECTORS FOR THE SHIFT OPERATOR

Recall that if T is a bounded operator on a Hilbert space H , then a vector f P H is said to be cyclic for T if the linear span of the orbit of f under the action of T is dense in

H , i.e. if
SpanpT n f : n ě 0q " tppT qf : p P CrXsu " H . When T " S b is the shift operator on H pbq, we have ppS b qf " pf for every f P H pbq and every polynomial p P CrXs. Thus a function f P H pbq is cyclic for S b if and only if tpf : p P CrXsu " H pbq.

In fact, it is sufficient to approximate the constant function 1 by elements of the form pf , p P CrXs, to get that f is cyclic for S b . Lemma 3.1. Let b a non-extreme point in ballpH 8 q and f P H pbq. Then the following assertions are equivalent:

(a) f is cyclic for S b .

(b) There exists a sequence of polynomials pp n q n such that

}p n f ´1} b Ñ 0, as n Ñ 8.
Proof. Follows immediately from the density of polynomials in H pbq and the boundedness of S b .

The general meaning of our next result is that the set of zeros of a cyclic vector f P H pbq for S b cannot be too large. Lemma 3.2. Let b a non-extreme point in ballpH 8 q and f P H pbq. Assume that f is cyclic for S b . Then we have the following properties:

(a) f is outer;

(b) for every ζ P E 0 pbq, f pζq ‰ 0.

Proof. (a) Since f is cyclic for S b , there exists a sequence of polynomials pp n q n such that

(3.1) }p n f ´1} b Ñ 0, as n Ñ 8.
Now, using the fact that H pbq is contractively contained into H 2 , we get that

}p n f ´1} 2 Ñ 0, as n Ñ 8.
That proves that f is cyclic for S in H 2 , and so f is outer by Beurling's theorem. (b) Since the functional f Þ ÝÑ f pζq is bounded on H pbq for every ζ P E 0 pbq, we deduce from (3.1) that |p n pζqf pζq ´1| Ñ 0, as n Ñ 8 for every ζ P E 0 pbq. This property implies directly that f pζq ‰ 0.

We will encounter in the sequel of the paper some situations where the converse of Lemma 3.2 is also true, i.e. where conditions (a) and (b) of Lemma 3.2 give a necessary and sufficient condition for a function f P H pbq to be cyclic.

We now provide some elementary results concerning cyclic functions for S b .

Lemma 3.3. Let b a non-extreme point in ballpH 8 q. Suppose that f P MpH pbqq and that 1{f P H pbq. Then f is cyclic for S b .

Proof. Using (2.4), we see that there exists a sequence of polynomials pp n q n such that

}p n ´f ´1} b Ñ 0, as n Ñ 8.
Now, since f P MpH pbqq, the multiplication operator by f is bounded on H pbq, and thus we get that }p n f ´1} b Ñ 0, as n Ñ 8, which by Lemma 3.1 implies that f is cyclic for S b .

In the following result, the set HolpDq denotes the space of analytic functions in a neighborhood of the closed unit disc D. Proof. When b is a non-extreme point in ballpH 8 q, we have HolpDq Ď MpH pbqq. See [START_REF] Fricain | The theory of Hpbq spaces[END_REF]Theorem 24.6]. Hence f P MpH pbqq. Moreover, the conditions on f also imply that 1{f P HolpDq. In particular, 1{f P H pbq. It remains to apply Lemma 3.3 in order to get that f is cyclic. Proof. paq ùñ pbq: Assume that f 1 f 2 is cyclic. By symmetry, it suffices to prove that f 1 is cyclic. Let ε ą 0. There exists a polynomial q such that }qf 1 f 2 ´1} b . Now since the polynomials are dense in H pbq, we can also find a polynomial p such that

}f 2 q ´p} b ε }f 1 } MpH pbqq Thus }pf 1 ´1} b }pf 1 ´f1 f 2 q} b `}f 1 f 2 q ´1} b }f 1 } MpH pbqq }p ´f2 q} b `ε 2ε, which proves that f 1 is cyclic.
pbq ùñ paq: Assume that f 1 and f 2 are cyclic for H pbq. Let ε ą 0. There exists a polynomial p such that }pf 1 ´1} b . On the other hand, there is also a polynomial q such that }qf 2 ´1} b ε }pf 1 } MpH pbqq Now we have

}pqf 1 f 2 ´1} b }pqf 1 f 2 ´pf 1 } b `}pf 1 ´1} b }pf 1 } MpH pbqq }qf 2 ´1} b `ε 2ε.
Hence the function f 1 f 2 is cyclic.

Our next result is motivated by the Brown-Shields conjecture and the work [START_REF] El-Fallah | Cyclicity and invariant subspaces in Dirichlet spaces[END_REF] for Dirichlet type spaces Dpµq. Indeed, let µ be a positive finite measure on T, and let Dpµq be the associated Dirichlet space (i.e. the space of holomorphic functions on D whose derivatives are square-integrable when weighted against the Poisson integral of the measure µ). It is shown in [START_REF] Costara | Which de Branges-Rovnyak spaces are Dirichlet spaces (and vice versa)?[END_REF], [START_REF] Kellay | Two-isometries and de Branges-Rovnyak spaces[END_REF] that in some cases, Dirichlet spaces and de Branges-Rovnyak spaces are connected. More precisely, let b P ballpH 8 q be a rational function (which is not a finite Blaschke product), and let a be its pythagorean mate. Let also µ be a positive finite measure on T. Then Dpµq " H pbq with equivalent norms if and only if the zeros of a on T are all simple, and the support of µ is exactly the set of these zeros [START_REF] Costara | Which de Branges-Rovnyak spaces are Dirichlet spaces (and vice versa)?[END_REF]. In the context of Dirichlet spaces, the authors of [START_REF] El-Fallah | Cyclicity and invariant subspaces in Dirichlet spaces[END_REF] prove the Brown-Shields conjecture when the measure µ has countable support, using two notions of capacity (which they denote c µ pF q and c a µ pF q respectively) and showing that they are comparable: c µ pF q c a µ pF q 4 c µ pF q for every F Ď T ([10, Lemma 3.1]). In the same spirit, we introduce the following notions of capacity in H pbq-spaces. For a set F Ď T, we define c 1 pF q and c 2 pF q as c 1 pF q " inft}f } b : f P H pbq, |f | ě 1 a.e. on a neighborhood of F u, and c 2 pF q " inft}f } b : f P H pbq, |f | " 1 a.e. on a neighborhood of F u.

Observe that c 1 pF q c 2 pF q. We do not know if c 1 pF q and c 2 pF q are comparable in general in our context of de Branges-Rovnyak spaces.

Our next result should be compared to [START_REF] El-Fallah | Cyclicity and invariant subspaces in Dirichlet spaces[END_REF]Lemma 3.2]. Denote by π the orthogonal projection from H pbq onto rz ´ζs K . First note that πp1q ‰ 0, otherwise we would have 1 P rz ´ζs and then the function z ´ζ would be cyclic for S b , which is a contradiction.

Let us now prove that rz ´ζs K " Cπp1q. For every g P rz ´ζs K and every n ě 0, we have 0 " xg, pz ´ζqz n y b " xg, z n`1 y b ´ζxg, z n y b . From this, we immediately get that

(3.2) xg, z n y b " ζ n xg, 1y b , n ě 0.
This implies that xπp1q, 1y b ‰ 0 (otherwise, by (3.2) we would have that πp1q is orthogonal to z n for every n ě 0, which implies that πp1q " 0). Secondly, if we define c :" xg,1y b xπp1q,1y b , then we have xg ´cπp1q, z n y b " 0 for every n ě 0. By the density of polynomials in H pbq, we deduce that g " cπp1q, which proves that rz ´ζs K is of dimension 1, generated by πp1q.

Now consider the continuous linear functional ρ : Cπp1q ÝÑ C defined by ρpαπp1qq " α for every α P C. Let us check that for every n ě 0,

(3.3) pρ ˝πqpz n q " ζ n .
For n " 0, this is true by definition. Assume that (3.3) is satisfied for some integer n ě 0.

Then, pρ ˝πqpz n`1 q " pρ ˝πqpz n pz ´ζqq `ζpρ ˝πqpz n q " ζ n`1 . By induction, we deduce (3.3) and by linearity, for any polynomial p, we have pρ˝πqppq " ppζq. Now, using the continuity of ρ and π, we obtain that there exists a constant }f } b . Indeed, f o " T fi f , where T fi is the Toeplitz operator with symbol fi and H pbq is invariant with respect to co-analytic Toeplitz operators. Furthermore,

}f o } b " }T fi f } b }f i } 8 }f } b " }f } b .
See [START_REF] Fricain | The theory of Hpbq spaces[END_REF]Theorem 18.13]. Since f o is outer and log |f o | " 0 a.e. on O, we have

f o pzq " λ exp ˜żTzO ξ `z ξ ´z log |f o pξq| dmpξq ¸,
for some constant λ P T. Hence f o is analytic in a neighborhood of ζ and in particular, we deduce that |f o pζq| " 1. Using now the fact that ζ P E 0 pbq, we know that there exists a constant C ą 0 such that |gpζq| C}g} b for every g P H pbq. Hence

1 " |f o pζq| C}f o } b C}f } b
for every function f P H pbq such that |f | " 1 a.e. on a neighborhood O of ζ. We deduce that c 2 ptζuq ě C ´1 ą 0. pcq ùñ paq: by contradiction, assume that z ´ζ is cyclic for S b . Then, for every ε ą 0, we can find a polynomial q such that }qpz ´ζq ´1} b ε. Note that the value of the polynomial qpz ´ζq ´1 at ζ is ´1. So by continuity, we can find a neighborhood O of ζ on T such that |qpz ´ζq ´1| ě 1{2 on O. Hence |2pqpz ´ζq ´1q| ě 1 on O and by definition of c 1 ptζuq, we obtain that

c 1 ptζuq 2}qpz ´ζq ´1} b 2ε.
Since this is true for every ε ą 0, we deduce that c 1 ptζuq " 0, which contradicts pcq.

If we knew that c 1 pF q and c 2 pF q were comparable, assertions (a) to (d) in Theorem 3.6 would be equivalent. This motivates the following question: Question 3.4. (i) Does there exist κ ą 0 such that c 2 pF q κ c 1 pF q for every F Ď T? (ii) Is it true that c 1 pF q ą 0 if and only if c 2 pF q ą 0? Remark 3.7. It can be easily seen from Theorem 3.6 that the condition inf D |f | ą 0 in Corollary 3.4 is not necessary for f to be cyclic in H pbq. Indeed, let bpzq " 1`z 2 S δ 1 pzq, where S δ 1 is the singular inner function associated to δ 1 , the Dirac measure at point 1.

See (2.7). It is clear that ż

T dδ 1 pξq |ζ 0 ´ξ| 2 " 1 |ζ 0 ´1| 2 " 8 when ζ 0 " 1. Hence 1 R E 0 pbq. Therefore, by Theorem 3.6, the function z ´1 is cyclic for S b while inf D |z ´1| " 0. Proof. paq ùñ pbq: follows immediately from Lemma 3.2. pbq ùñ paq: factorise the polynomial p as ppzq " c ś n j"1 pz ´ζj q, where by definition the roots ζ j belong to CzpD Y E 0 pbqq. On the one hand, if |ζ j | ą 1, then, according to Corollary 3.4, the function z ´ζj is cyclic for S b . On the other hand, if |ζ j | " 1, then ζ j R E 0 pbq and Theorem 3.6 implies that the function z ´ζj is also cyclic for S b . Thus, for every 1 j n, the function z ´ζj is cyclic and it follows from Lemma 3.5 that p itself is cyclic for S b . This result can be slightly generalised: Corollary 3.9. Let b a non-extreme point in ballpH 8 q. Let f P HolpDq. The following assertions are equivalent:

(a) f is cyclic for S b .

(b) f is outer and f pζq ‰ 0 for every ζ P E 0 pbq.

Proof. paq ùñ pbq: follows from Lemma 3.2. pbq ùñ paq: since f is outer and f P HolpDq, f does not vanish on the unit disc and has at most a finite number of zeros on T (otherwise by compactness and the uniqueness principle for holomorphic functions, f would vanish identically). Let ζ 1 , ζ 2 , . . . , ζ n be the (possible) zeros of f on T. Then there exists a function g P HolpDq with inf D |g| ą 0 such that

f pzq " n ź j"1 pz ´ζj qgpzq, z P D.
Our assumption implies that for every 1 j n, ζ j R E 0 pbq, and thus by Theorem 3.6, the function z ´ζj is cyclic for S b . Moreover, by Corollary 3.4, the function g is also cyclic. Now it follows from Lemma 3.5 that f itself is cyclic for S b .

Example 3.10. Let b a non-extreme point in ballpH 8 q. For every λ P D, k λ is a cyclic vector for S b . Indeed, it is clear that k λ pzq " p1 ´λzq ´1 satisfies the conditions of Corollary 3.9. Hence k λ is cyclic.

In particular, by (2.5), the set of cyclic vectors for S b spans a dense subspace in H pbq.

THE RATIONAL CASE

The main result of this section is a characterisation of cyclic functions for S b when b is a rational function which is not a finite Blaschke product. As mentioned already in the Introduction, this result can be derived from the work [START_REF] Luo | Higher order local Dirichlet integrals and de Branges-Rovnyak spaces[END_REF] by Luo -Gu -Richter, but we provide here an elementary proof, the ideas of which will turn out to be also relevant to the case where b " p1 `Iq{2 (see Section 5 below). Note that Theorem 4.1 extends a result proved in [START_REF] Fricain | Cyclicity in non-extreme de Branges-Rovnyak spaces[END_REF] in the particular case where bpzq " p1 `zq{2. Theorem 4.1. Let b P ballpH 8 q and assume that b is rational (but not a finite Blaschke product). Let a 1 be the associated polynomial given by (2.14), and let f P H pbq. Then the following assertions are equivalent:

(a) f is cyclic for S b . (b) f is an outer function and for every 1 k n, f pζ k q ‰ 0.

Proof. paq ùñ pbq: according to (2.20), we know that E 0 pbq " tζ k : 1 k nu. Hence this implication follows from Lemma 3.2.

pbq ùñ paq: according to (2.16), write f " a 1 r f `p, where r f P H 2 and p P P N ´1. By (2.19), ppζ k q ‰ 0, 1 k n. Let now r P P N ´1 be the unique polynomial satisfying the following interpolation properties: for every 1 k n,

r pjq pζ k q " # 1 ppζ k q if j " 0 ´1 ppζ k q ř j´1 "0
`j ˘rp q pζ k qp pj´ q pζ k q if 1 j m k ´1.

This polynomial r can be constructed using Hermite polynomial interpolation, see for instance [START_REF] Borwein | Polynomials and polynomial inequalities[END_REF]Chapter 1,E. 7]. By Leibniz's rule, we easily see that for every 1 k n and 0 j m k ´1, we have prp ´1q pjq pζ k q " 0. Hence a 1 divides the polynomial rp ´1. In other words, there exists a polynomial q such that rp ´1 " a 1 q. Using that f is outer, we can find a sequence of polynomials pq n q n such that }q n f `r r f `q} 2 Ñ 0 as n Ñ 8. Define now a sequence of polynomials pp n q by p n " a 1 q n `r, n ě 1. Observe that p n f ´1 "pa 1 q n `rqf ´1 " a 1 q n f `rpa 1 r f `pq ´1

"a 1 pq n f `r r f q `rp ´1 " a 1 pq n f `r r f `qq.

Then it follows from (2.17) that ~pn f ´1~b " ~a1 pq n f `r r f `qq~b " }q n f `r r f `q} 2 Ñ 0 as n Ñ 8.

Therefore f is cyclic for S b .

Example 4.2. Let bpzq " 1 2 p1 ´z2 q. Then it is proved in [START_REF] Fricain | Concrete examples of H pbq spaces. Comput[END_REF] that apzq " cpz ´iqpz `iq, for some constant c. Thus, according to Theorem 4.1, a function f P H pbq is cyclic for S b if and only if f is outer, f piq ‰ 0 and f p´iq ‰ 0.

THE CASE WHERE b " p1 `Iq{2

Our main result in this section is the following: Theorem 5.1. Let I be an inner function, I ı 1, and assume that its Clark measure σ 1 associated to point 1 (defined in (2.11)) is a discrete measure. Let tζ n : n ě 1u " tζ P E 0 pIq : Ipζq " 1u. Let b " p1 `Iq{2, and f P H pbq which we decompose according to (2.22) as f " p1 ´Iqg 1 `g2 , with g 1 P H 2 , g 2 P K I . Assume that:

(a)

g 1 , g 2 P H 8 ; (b) f is outer; (c) we have ÿ ně1 1 |f pζ n q| 2 |I 1 pζ n q| ă 8.
Then f is cyclic for S b .

Proof. The proof proceeds along the same lines as in the rational case. According to Lemma 2.6, f P MpH pbqq and by Lemma 2.3 we have f pζ n q " g 2 pζ n q, n ě 1.

First step: We claim that there exists a sequence of functions pψ n q n in H pbq such that }ψ n f ´1} b Ñ 0 as n Ñ 8.

In order to construct the sequence pψ n q n , let us first consider the function r given by r "

8 ÿ n"1 1 f pζ n q k I ζn }k I ζn } 2 2
Recall that by (2.12), }k I ζn } 2 2 " |I 1 pζ n q|. Combining this with condition (c) and the fact that the family pk I ζn {}k I ζn } 2 q n forms an orthonormal basis of K I (since σ 1 is discrete, Clark's theorem holds true), we see that the series defining the function r is convergent in K I . In others words, r P K I and rpζ n q " 1{f pζ n q " 1{g 2 pζ n q for every n ě 1.

Let us now prove that rg 2 ´1 P p1 ´IqH 2 . Observe that Lemma 2.4 implies that rg 2 P K I 2 " K I ' IK I . Hence there exist ϕ 1 , ϕ 2 P K I such that rg 2 ´1 " ϕ 1 `Iϕ 2 ´1. Since rpζ n qg 2 pζ n q ´1 " 0, we have ϕ 1 pζ n q `ϕ2 pζ n q ´1 " 0 for every n ě 1. Note that p1 ´Ip0qq ´1p1 ´Ip0qIq " pp1 ´Ip0qq ´1k I 0 P K I and p1 ´Ip0qq ´1p1 ´Ip0qIpζ n qq " 1 for every n ě 1.

Since the family `kI ζn ˘n is complete in K I , and since ϕ 1 pζ n q `ϕ2 pζ n q " 1 for every n ě 1, we deduce that ϕ 1 `ϕ2 " p1 ´Ip0qq ´1p1 ´Ip0qIq.

Hence rg 2 ´1 " ϕ 1 `Iϕ 2 ´1 " ´ϕ2 `p1 ´Ip0qq ´1p1 ´Ip0qIq `Iϕ 2 ´1 " p1 ´Iqp´ϕ 2 q `p1 ´Ip0qq ´1p1 ´Ip0qIq ´1.

Observe that p1 ´Ip0qq ´1p1 ´Ip0qIq ´1 " p1 ´Ip0qq ´1I p0qp1 ´Iq, from which it follows that rg 2 ´1 " p1 ´Iqp´ϕ 2 `Ip0qp1 ´Ip0qq ´1q.

This proves that rg 2 ´1 belongs to p1 ´IqH 2 . Write rg 2 ´1 as rg 2 ´1 " p1 ´Iqg 3 , with

g 3 P H 2 .
Using now that f is outer, and that rg 1 P H 2 (as g 1 P H 8 ) we can find a sequence of polynomials pq n q n such that }q n f `rg 1 `g3 } 2 Ñ 0, as n Ñ 8. We then define for each n ě 1 a function ψ n as ψ n :" p1 ´Iqq n `r, where q n and r are defined above. Note that ψ n P p1 ´IqH 2 `KI " H pbq and

ψ n f ´1 "p1 ´Iqq n f `rf ´1 "p1 ´Iqq n f `p1 ´Iqrg 1 `rg 2 ´1 "p1 ´Iqpq n f `rg 1 `g3 q.
It follows from Lemma 2.2 that there exists a positive constant C such that

}ψ n f ´1} b "}p1 ´Iqpq n f `rg 1 `g3 q} b C ~p1 ´Iqpq n f `rg 1 `g3 q~b "C }q n f `rg 1 `g3 } 2 ,
from which it follows that }ψ n f ´1} b Ñ 0 as n Ñ 8.

Second step:

Let us now prove that there exists a sequence of polynomials pp n q n such that }p n f ´1} b Ñ 0 as n Ñ 8.

By the density of polynomials in H pbq, we can find a sequence of polynomials pp n q n such that }p n ´ψn } b Ñ 0 as n Ñ 8. Now write

}p n f ´1} b }p n f ´ψn f } b `}ψ n f ´1} b }f } MpH pbq }p n ´ψn } b `}ψ n f ´1} b ,
and by the choice of the sequence pp n q n and the first step, we get the conclusion of the second step.

We finally conclude that f is cyclic for S b . Remark 5.2. If I is an inner function such that, for some α P T, its Clark measure σ α is a discrete measure and I ı α, then we may apply Theorem 5.1 replacing I by ᾱI and b " p1 `Iq{2 by b " p1 `ᾱIq{2.

Example 5.3. Let I " S δ 1 be the inner function associated to the measure δ 1 :

Ipzq " exp ´´1 `z 1 ´z ¯.
In this case we can compute explicitly the Clark basis of K I associated to point 1. We have E 1 " tζ P E 0 pIq : Ipζq " 1u " tζ n ; n P Zu with

ζ n " 2iπn ´1 2iπn
`1 and I 1 pζ n q " ´1 2 p2iπn `1q 2 , n P Z.

Therefore, if f P Hpbq is outer, with f " p1 ´Iqg 1 `g2 , g 1 P H 8 , g 2 P K I X H 8 , and if ´.

ÿ nPZ 1 |f pζ n q| 2 ¨1 4n 2 π 2 `1 ă `8, then f is cyclic for S b .
See [START_REF] Fricain | The theory of Hpbq spaces[END_REF]Corollary 3.4]. Moreover, the radial limit of mpHσq also exists and is finite for almost all ζ P T. See [17, page 113]. Thus, it follows from (5.1) that |Ipζq| " 1 for almost all ζ P T, meaning that I is an inner function. Of course, we have I ı 1. Now, we easily check that 1 ´|Ipzq| 2 |1 ´Ipzq| 2 " epHσpzqq " ż T 1 ´|z| 2 |ξ ´z| 2 dσpξq, which implies by unicity of the Clark measure that σ 1 " σ. Therefore I satisfies the assumptions of Theorem 5.1. It should be noted that in Corollary 5.5, the reproducing kernels f " k b λ , λ P D, which are cyclic for S b , are such that 1{f P H 8 . As we already observed in Lemma 3.3, certain invertibility conditions for f make cyclicity easier. Using Theorem 5.1, we now construct a family of functions f which are cyclic for S b but are such that 1{f R H 2 .

5.6.

Let I be a non-constant inner function, and assume that σ 1 is a discrete measure. Let b " p1 `Iq{2 and f " p1 `Iqk I λ for some λ P D. Then f is cyclic for S b and 1{f R L 2 .

Proof. First observe that f " p1 ´Iqp´k I λ q `2k I λ , so that f " pI ´Iqg 1 `g2 , with g 2 " ´2g 1 " 2k I λ P H 8 X K I . In particular, f satisfies condition paq of Theorem 5.1. Moreover, the function f is outer as the product of two outer functions (use the same arguments as in the proof of Corollary 5.5). Finally, since |f pζ n q| " 2|k I λ pζ n q| ě |1 ´Ipλq|, f satisfies condition pcq. Hence by Theorem 5.1, f is cyclic for S b .

Let us now check that 1{f R L 2 . First observe that there exist two positive constants C 1 and C 2 such that `I for a.e. ζ P T, we deduce that 1{p1 `Iq also belongs to H 2 . Thus 1{p1 `Iq is constant, which is a contradiction.

C 1 1 |1 `Ipζq|
In the context of Corollary 5.5, it is easy to see that pa, bq forms a corona pair, and we have seen that k b λ is cyclic for S b . In fact, this cyclicity result holds true under the (HCR) condition only. Proposition 5.7. Let b be a non-extreme point in ballpH 8 q, and let a be its pythagorean mate. Assume that pa, bq satisfies (HCR). Then the following. assertions hold:

(a) k b λ is cyclic for S b for every λ P D; Since k λ is cyclic for S b (see Example 3.10), in order to check that k b λ is also cyclic for S b it is sufficient to check that T has dense range. Let h P H pbq be such that h K RangepT q. Then h K T k µ " k µ ´bpλqbk µ for every µ P D. Lemma 2.1 now implies that h " 0, proving that T has dense range. It follows that k b λ is cyclic for S b . (b) The proof of (b) proceeds along the same lines of (a). We have ppS b qbk λ " V ppS b qk λ for every polynomial p P CrXs, where V " M b is the multiplication operator by b. As previously, in order to show that bk λ is cyclic for S b , it is sufficient to check that V has a dense range. Let h P H pbq be such that h K RangepV q. Then h K V k µ " bk µ for every µ P D. By (2.6), it then follows that h `pµq " 0 for every µ P D. Then h `" 0 and Tbh " T āh `" 0. But, since b is outer, Tb is one-to-one, which implies that h " 0. It then follows that bk λ is cyclic for S b .

SPACES 2 . 1 .

 21 Definition of de Branges-Rovnyak spaces. Let ballpH 8 q :" ! b P H 8 : }b} 8 " sup zPD |bpzq| 1

(2. 9 )defined by k b ζ pzq " 1 ´bpζqbpzq 1

 91 f Þ ÝÑ f pζq :" lim zÑζ f pzq is bounded on H pbq. The function k b ζ ´ζz , z P D, belongs to H pbq, and xf, k b ζ y b " f pζq for every f P H pbq. We call the function k b ζ the reproducing kernel of H pbq at the point ζ, and (2.9) means that the reproducing kernels k b z tend weakly to k b ζ as z P D tends non-tangentially to ζ. See [18, Theorem 25.1]. There is also a nice connection between the boundary evaluation points and the point spectrum of S b in the case where b is a non-extreme point in ballpH 8 q: for ζ P T, we have that (2.10) ζ is an eigenvalue for S b if and only if b has an angular derivative at ζ.

Lemma 2 . 5 .

 25 Let I be an inner function, I ı 1, and let b " p1 `Iq{2. Then the following assertions hold: (a) the function I is a multiplier of H pbq; (b) for every n ě 1, K I n Ď H pbq.

Corollary 3 . 4 .

 34 Let b a non-extreme point in ballpH 8 q. Let f P HolpDq and assume that inf D |f | ą 0. Then f is cyclic for S b .

Lemma 3 . 5 .

 35 Let f 1 , f 2 P MpH pbqq. Then the following assertions are equivalent: (a) the product function f 1 f 2 is cyclic for S b ; (b) each of the functions f 1 and f 2 is cyclic for S b .

Theorem 3 . 6 .

 36 Let b a non-extreme point in ballpH 8 q and ζ P T. Consider the following assertions: (a) z ´ζ is not cyclic for S b ; (b) ζ P E 0 pbq; (c) c 1 ptζuq ą 0; (d) c 2 ptζuq ą 0. Then paq ðñ pbq, pbq ùñ pdq and pcq ùñ paq.Proof. pbq ùñ paq: follows immediately from Lemma 3.2. paq ùñ pbq: our assumption (a) exactly means that rz ´ζs :" Spanppz ´ζqz n : n ě 0q H pbq.

C ą 0

 0 such that |ppζq| C}p} b , for any polynomial p P CrXs. Denote by L ζ the linear functional defined on CrXs by L ζ ppq " ppζq, p P CrXs. Then L ζ is continuous on CrXs endowed with the topology of H pbq. Hence it extends to a continuous linear map on H pbq. By the Riesz representation theorem, there exists a unique vector h ζ P H pbq, h ζ ‰ 0, such that ppζq " L ζ ppq " xp, h ζ y b , for any polynomial p P CrXs. Now, note that for any polynomial p, we have xp, S b h ζ y b " xzp, h ζ y b " ζppζq " xp, ζh ζ y b , whence, using (2.4), S b h ζ " ζh ζ . In particular, ζ belongs to the point spectrum of S b . But by (2.10), this implies that b has an angular derivative at ζ, which is equivalent to the property that ζ P E 0 pbq. Note that the function h ζ is in fact the reproducing kernel k b ζ of H pbq at the point ζ. pbq ùñ pdq: assume now that ζ P E 0 pbq. Let f P H pbq be such that |f | " 1 a.e. on a neighborhood O of ζ. Let us consider the inner-outer factorisation of f " f i f o , where f i is the inner part and f o the outer part of f . Since by definition |f i | " 1 a.e. on T, we have |f o | " 1 a.e. on O. Moreover, f o P H pbq and }f o } b

Corollary 3 . 8 .

 38 Let b a non-extreme point in ballpH 8 q. Let p be a polynomial. The following assertions are equivalent: (a) p is cyclic for S b . (b) ppzq ‰ 0 for every z P D Y E 0 pbq.

Remark 5 . 4 . 1

 541 There exists a recipe to construct an inner function satisfying the hypothesis of Theorem 5.1. Let σ be a positive discrete measure on T and let Hσ be its Herglotz transform, We easily see that Hσ defines an analytic function on D and satisfies epHσpzqq ě 0 for every z P D. Now define a function I on D as eHσ ě 0, it is easy to check that I P H 8 and |I| 1. Moreover, for every 0 ă r ă 1 and ζ P T, we have (5.1) |Iprζq| " p epHσprζqq ´1q 2 `p mpHσprζqq 2 p epHσprζqq `1q 2 `p mpHσprζqq 2 Since σ is a singular measure, it is well-known that for almost all ζ P T, we have epHσprζqq " ż T ´r2 |ξ ´rζ| 2 dσpξq Ñ 0 as r Ñ 1

Corollary 5 . 5 . 1 |I 1 pζ n q| " ÿ ně1 σ 1 ptζ n uq σ 1 pTq ă ` 8 .

 5518 Let I be an inner function, I ı 1, and assume that σ 1 is a discrete measure. Let b " p1 `Iq{2. Then k b λ is a cyclic vector for S b for every λ P D. Proof. Let us prove that k b λ satisfies the assumptions paq, pbq and pcq of Theorem 5.1. First, using that b " p1 `Iq{2, straightforward computations show that other words, k b λ can be written as k b λ " p1 ´Iqg 1 `g2 , with g 1 " 1 4 p1 ´Ipλqqk λ and g 2 "1 2 k I λ . In particular, g 1 , g 2 P H 8 and k b λ satisfies the assumption paq. Observe now that ep1 ´bpλqbpzqq ě 0 and ep1 ´λzq ě 0 for every z P D, which implies that the functions 1´bpλqbpzq and 1´λz are outer. See[25, page 67]. So k b λ is outer as the quotient of two outer functions. It remains to check that k b λ satisfies assumption pcq. But |k b λ pζ n q| " ˇˇˇ1 ´bpλq 1 ´λζ n ˇˇˇě |1 ´bpλq| 1 `|λ| , and the property pcq follows from the fact that ÿ ně1 Thus k b λ satisfies the assumptions paq, pbq, pcq of Theorem 5.1, and k b λ is cyclic for S b .

  assume that 1{f belongs to L 2 . Then 1{p1 `Iq P L 2 . But since 1 `I is outer, we get that 1{p1 `Iq P H 2 . See[25, page 43]. As

( b )

 b If b is furthermore assumed to be outer, then bk λ is also cyclic for S b for every λ P D. In particular, b is a cyclic vector for S b . Proof. (a) We have ppS b qk b λ " p1 ´bpλqbqppS b qk λ for every polynomial p P CrXs. Since pa, bq satisfies (HCR), we have H pbq " M pāq, and b is a multiplier of H pbq. See [18, Theorems 28.7 and 28.3]. In particular, the multiplication operator T " M 1´bpλqb is bounded on H pbq and we have ppS b qk b λ " T ppS b qk λ for every polynomial p P CrXs.

Some properties of the reproducing kernels of H 2 in de Branges-Rovnyak spaces.

  The algebra of multipliers is a Banach algebra when equipped with the norm }ϕ} MpH pbq " }M ϕ } LpH pbqq . Using standard arguments, we see that MpH pbqq Ď H 8 X H pbq. In general, this inclusion is strict. See[START_REF] Fricain | The theory of Hpbq spaces[END_REF] Example 28.24]. However, we will encounter below a situation (when b is a rational function which is not a finite Blaschke product) where we have the equality MpH pbqq " H 8 X H pbq. Recall that we are supposing that b is non-extreme. If we denote by k λ pzq " p1 ´λzq

	2.2. ´1
	the reproducing kernel of H 2 at the point λ P D, then k λ belongs to H pbq and
	(2.5)	Spanpk λ : λ P Dq " H pbq.
	See [18, Corollary 23.26] or [23, Lemma 7]. We also know (see [18, Theorem 23.23]) that
	bk λ P H pbq for every λ P D, and that for every f P H pbq we have
	(2.6)	xf, k λ y b " f pλq	`bpλq apλq	f `pλq and xf, bk λ y b "	f `pλq apλq	Üsing
		these two equations, we can produce an interesting complete family in H pbq which
	will be of use to us.

Lemma 2.1. Let

  b be a non-extreme point of the closed unit ball of H 8 , and let c be a complex number with |c| ă 1.

Then Spanpk µ ´cbk µ : µ P Dq " H pbq. Proof. Let h P H pbq, and assume that for every µ P D, h is orthogonal in H pbq to k µ ´cbk µ .

	2.3.
	According to (2.6), we have
	0 " hpµq	`bpµq apµq	h `pµq	´c h `pµq apµq	This
	can be rewritten as ah " ´bh ``ch `. Multiplying this equality by b and using the
	fact that |a| 2 `|b| 2 " 1 a.e. on T, we obtain
	ap bh ´āh `q " ´p1 ´cb qh `.
	Note that |1 ´cb | ě 1 ´|c| ą 0, and so the last identity can be written as
	1 bh ´āh ´cb " ´hà Ön
	the one hand, this equality says that h à belongs to L 2 and since a is outer, we have
	h à P H 2 . See [25, page 43]. On the other hand, by definition of h `, the function bh ´āh belongs
	to H 2 0 and since p1 ´cb q ´1 is in H 8 , we also have h à P H 2 0 . Then h à belongs to
	H 2 X H 2 0 " t0u. Finally we get that h `" 0 and thus that h " 0.

Boundary evaluation points on

  H pbq. An important tool in the cyclicity problem will be the boundary evaluation points for H pbq. It is known that the description of these points depends on the inner-outer factorisation of b. Recall that any b in ballpH 8 q can be

	decomposed as
	(2.7)				bpzq " BpzqS σ pzqOpzq,	z P D,
	where	Bpzq " γ	ź ně1	ˆ|a n | a n	a n 1 ´an z ´z	˙is a Blaschke product,
	with |γ| " 1, a n P D for every n ě 1, and	ř	ně1 p1 ´|a n |q ă `8,
	S σ pzq " exp	ˆ´ż T	ξ ξ	`z ´z dσpξq ˙is a singular inner function,
	with σ a positive finite Borel measure on T which is singular with respect to the Lebesgue
	measure, and
			Opzq " exp	ˆżT	ξ ξ	´z log |bpξq| dmpξq `z	is
	the outer part of b. Now, let E 0 pbq be the set of points ζ P T satisfying the following
	condition:
	(2.8)	ÿ n	1 ´|a n | 2 |ζ ´an | 2	`żT	dσpξq |ζ ´ξ| 2	`żT	ˇ|ζ ´ξ| 2 dmpξq ă 8. ˇˇlog |bpξq|

  and the standard estimate that any g P H 2 satisfies

	(2.18)	|gpzq|	}g} 2 1 ´|z| 2 a	for all z P D,

we see that for fixed 1 k n and for each f P H pbq we have

(2.19)

  , and from this the norm ||| . ||| b is easily seen to be equivalent to || . || b .The next result is an analogue of (2.19) for the case where b " p1 `Iq{2 with respect to decomposition(2.22). Let I be an inner function, I ı 1, and let b " p1 `Iq{2. Let ζ P E 0 pIq be such that Ipζq " 1. Then ζ P E 0 pbq. Moreover, if f " p1 ´Iqg 1 `g2 , g 1 P H 2 and g 2 P K I , then f pζq " g 2 pζq.Proof. As mentioned above, since ζ P E 0 pIq the function g 2 has a non-tangential limit at the point ζ. Thus it remains to prove that p1 ´Iqg 1 has a zero non-tangential limit at ζ. I z y 2 ζ pζ ´zqg 1 pzq. Now, since ζ P E 0 pIq, k I z tends weakly to k I ζ as z tends to ζ non-tangentially. Hence lim

	(ii) Since H pbq " p1 ´IqH 2 K ' b K I , we have ||p1 ´Iqg 1 `g2 || 2 b " ||p1 ´Iqg 1 || 2 b `||g 2 || 2 b , But observe that by (2.3) and (2.26) we have ||p1 ´Iqg 1 || 2 b " ||p1 ´Iqg 1 || 2 2 `||p1 `Iqg 1 || 2 g 1 P H 2 , g 2 P K I . 2 " 4||g 1 || 2 2 , while we get from (2.3) and (2.25) that ||g 2 || 2 b " 2||g 2 || 2 2 . Thus ||p1 ´Iqg 1 `g2 || 2 b " 4||g 1 || 2 2 `2||g 2 || 2 p1 ´Ipzqqg 1 pzq " 1 ´IpζqIpzq 1 ´ζz p1 ´ζzqg 1 pzq "k I ζ pzq ζ pζ ´zqg 1 pzq "xk I ζ , k zÑζ xk I ζ , k I z y 2 " }k I ζ } 2 2 ă 8. Moreover, using the estimate (2.18), we obtain that 2 Lemma 2.3. To this purpose, write for z P D lim

we get (2.26) `p1 ´Iqf ˘`" ´2bf " ´p1 `Iqf. By (2.3), (2.25) and (2.26), it follows that xp1 ´Iqf , gy b " xp1 ´Iqf , gy 2 ´x2bf , gy 2 " xp1 ´I ´2bqf , gy 2 " ´2 xIf , gy b " 0 because g belongs to K I . zÑζ pζ ´zqg 1 pzq " 0, from which it follows that lim zÑζ p1 ´Ipzqqg 1 pzq " 0.

We finish the paper with the following question: Question 5.2. Does Proposition 5.7 hold true without the assumption that pa, bq satisfies (HCR)?

The authors were supported by Labex CEMPI (ANR-11-LABX-0007-01) and the project FRONT (ANR-17-CE40 -0021).


Frédéric Mallet
email: fmallet@sophia.inria.fr

Charles André
email: candre@sophia.inria.fr

On the semantics of UML/MARTE Clock Constraints

The UML goal of being a general-purpose modeling language discards the possibility to adopt too precise and strict a semantics. Users are to refine or define the semantics in their domain specific profiles. In the UML Profile for MARTE, we devised a broadly expressive Time Model to provide a generic timed interpretation for UML models. Our clock constraint specification language supports the specification of systems with multiple clock domains. Starting with a priori independent clocks, we progressively constrain them to get a family of possible executions. Our language supports both synchronous and asynchronous constraints, just like the synchronous language Signal, but also allows explicit non determinism. In this paper, we give a formal semantics to a core subset of MARTE clock constraint language and we give an equivalent interpretation of this kernel in two other very different formal languages, Signal and Time Petri nets.

Introduction

The Unified Modeling Language (UML) [START_REF]Unified Modeling Language[END_REF] aims at being a unified general-purpose modeling language. Its semantics is purposely loose to cover a large domain. So-called semantic variation points provide for extensions to refine (or even define) a semantics when required for a specific domain. These extensions are to be defined in the context of a UML Profile. In the domain of real-time and embedded (RTE) systems, the Object Management Group (OMG) has recently adopted the UML Profile for Modeling and Analysis of Real-Time and Embedded systems (MARTE) [START_REF]UML Profile for MARTE, beta 2[END_REF], which is currently in the finalization phase. In its foundations, MARTE defines a broadly expressive Time Model that should provide a generic timed interpretation for UML models. The idea is to define a precise semantics within the Profile rather than allowing tools for giving their own, possibly incompatible with other tools of the same domain.

MARTE Time Structure is heavily inspired by the Tagged Signal Model [START_REF] Lee | A framework for comparing models of computation[END_REF], which sets up a common framework for comparing Models of Computation and Communication in the RTE domain. Its origins also lay in works around synchronous languages [START_REF] Benveniste | The synchronous languages twelve years later[END_REF] and more generally polychronous/multiclock languages well-suited to specify Globally Asynchronous and Locally Synchronous (GALS) systems. MARTE comes with a specification language, called Clock Constraint Specification Language (CCSL), which is not based on any existing language to let tool vendors choose their own technology. Our goal has been to define a formal language whose keywords denote usual concepts of the domain (periodic, sporadic, sampling. . . ).

CCSL is to be a pivot language to define various but compatible models of computations for timed UML models. In our view, UML tools would be used for the graphical editing, while formal languages would provide the execution semantics of separate sub-models. Different languages may be used for different aspects. CCSL would bring interoperability amongst the different models and languages.

A comprehensive informal description of CCSL has been presented in [START_REF] André | Modeling time(s)[END_REF] and a partial formal declarative languageindependent description is available in [START_REF] Mallet | CCSL: specifying clock constraints with UML/Marte[END_REF]. However, to implement CCSL and build a real-time UML simulator, an operational semantics is more suitable. Instead of redefining an operational semantics for yet another language we rather give equivalent notations for CCSL operators in other executable languages that already have their own analysis tools.

This paper selects a subset of CCSL constraints and studies the suitability of two very different languages (Petri nets [START_REF] Petri | Concurrency theory[END_REF] and Signal [START_REF] Benveniste | Synchronous programming with events and relations: the signal language and its semantics[END_REF]) to model the same concepts. These two languages being general enough, such a description should help a broad community understand (and use) UML/MARTE clock constraints.

Section 2 starts with a general introduction to CCSL and describes general assumptions made on Petri nets and Signal to allow for a comparison. The following sections give for each of the selected constraints, its rationale, a mathematical definition and equivalent Petri net and Signal implementations, when possible.

©IEEE 2009

2 Formalisms under consideration

MARTE Time Structure

A Clock is a 5-tuple I, ≺, D, λ, u where I is a set of instants (possibly infinite). ≺ is a total, irreflexive, and transitive binary relation (a quasi-order) on I, named strict precedence, D is a set of labels, λ : I → D is a labeling function, u is a symbol, standing for a unit. Here, we only consider pure clock, i.e., the ordered set I, ≺ and not the labels.

A discrete-time clock is a clock with a discrete set of instants I. Since I is discrete, it can be indexed by natural numbers in a way that respects the ordering on I: let N = N \ {0}, idx : I → N , ∀i ∈ I, idx(i) = k if and only if i is the k th instant in I. We restrict the discussion to discrete-time clocks and do not consider dense time at all. A restricted semantics of operators is introduced, assuming that clocks are discrete, whereas these operators may have a more general semantics. For any discrete time clock

c = I c , ≺ c , c[k] denotes the k th instant in I c (i.e., k = idx c (c[k])). To simplify computations, we assume a virtual instant c[0], so that c[0] ≺ c[1]. A Time Structure is a pair C, where C is a set of clocks, is a binary relation on c∈C I c , named prece- dence.
is reflexive and transitive. From we derive two new instant relations: Coincidence (≡ ∩ ), Strict precedence (≺ \ ≡). Clock relations are pre-defined patterns to apply (infinitely) many instant relations to infinite clocks. Clock relations relying on the coincidence instant relation are similar to synchronous operators. Those relying on the precedence relation are close to asynchronous operators. Some mixed relations allows for building asynchronous compositions of multiple synchronous sub-systems. These subsystems may refer to different clocks. In the following, we give examples from all the three categories to give a good overview of CCSL expressiveness.

Signal

In the Signal language, a signal is a sequence of values of the same type, which are present at some instants. The set of instants where a signal is present is the clock of the signal (not to be mistaken with CCSL clocks). As in

Time Petri net

MARTE Time model conceptually differs from Petri's work on concurrency theory [START_REF] Petri | Concurrency theory[END_REF]. Petri's theory restricts coincidence to single points in space-time. In our model, the foundational relationship coincidence gathers a priori independent points (instants) to reflect design choices.

Petri nets have well-established mathematical foundations and offer rich analysis capabilities. Petri nets support true concurrency and can be used to specify some of our clock relations. However it is not possible to force two separate transitions to fire "at the same time", i.e., to express coincidence. Thus, we use Merlin's extension of Petri nets [START_REF] Merlin | A Study of the Recoverability of Computer Systems[END_REF] that associates a time interval (two times a and b, with 0 ≤ a ≤ b and b possibly unbounded) with each transition: Time Petri nets. Times a and b, for transition t, are relative to the moment θ at which the transition was last enabled. t must not fire before time θ + a and must fire before or at time θ + b unless it is disabled before then by the firing of another transition. Even with this extension, the specification of CCSL constraints is far from straightforward, as this paper should show.

In our representation, each MARTE discrete-time pure clock c = I c , ≺ c is represented as a single transition c t (called clock transition) of a Time Petri net. Instants of a clock are firings of the related transition. We also associate a place c p (called clock place) with each clock, this place accumulates one token at each occurrence of the clock and thus represents the actual local time of the clock, its index. For a given initial marking and for a given firing sequence, there is an injective function f iring : CT × N → N, where CT is the set of clock transitions. f iring(c t , i) is the time at which, the clock transition c t fires for the i th time in the firing sequence. We consider a Time Petri net as equivalent to a CCSL clock constraint, iif for all possible firing sequences and all clock transitions (other transitions do not matter), f iring preserves the ordering (Eq. 1).

(∀c1, c2 ∈ C)(∀k1, k2 ∈ N ) ((c1[k1] c2[k2]) (1) ⇔ (f iring(c1 t , k1) ≤ f iring(c2 t , k2))
where c1 t (resp. c2 t ) is the clock transition associated with clock c1 (resp. c2). Note that, even though Time Petri nets can handle continuous time, we restrict our comparison to discrete-time clocks and therefore we consider the transition firing time as a natural number (∈ N).

Instant relation precedence (≺) can be extended to clocks to build precedence-based relations. The simplest extensions appears when a clock is faster than (or precedes) another one. A is (strictly) faster than B if the i th occurrence of A (strictly) precedes the i th occurrence of B, for all i ∈ N . Clock relation precedes ( ≺ ) has been defined in CCSL even though its use in this pure form is not very frequent. A more frequently used relation is alternatesWith, which is a kind of mutual precedence. It composes two precedes relations and represents an alternation between two clocks. A ∼ B means that A precedes B and A cannot be more than one tick ahead of B, i.e., the advance is bounded by 1. Each occurrence of A is followed by one occurrence of B before any other occurrence of A. The weak form of this relation allows the i th occurrence of B to be simultaneous (coincident) with the i th occurrence of A (not stricly future), whereas the strict form requires A and B to be disjoint.

Typically, an asynchronous communication implies an alternation between sending and receiving. The data is received after having been sent. No other communication can start before the previous one completes. The weak form allows the sender to receive the data synchronously with the emission, but does not force the synchronization. The strict form is used to forbid a synchronous communication.

Figure 1 illustrates the relation strictly alternatesWith and its only possible behavior when ignoring instants where neither A nor B are present (such instants are called empty instants, or empty events in Signal). In practice, there can be (infinitely) many empty instants between any occurrences of A and B and not necessarily as many between two successive occurrences of A or B.

Figure 1. A strictly alternatesWith B

Figure 2 shows the equivalent UML StateMachine for both forms of the relation alternatesWith. This is very similar to the covering step graph of the Time Petri net. Simultaneous events must appear on the same transition. Two different transitions denote independent events. The state machine only shows authorized events. There is no outgoing transition from state super with a label B. This does not mean that an event B occurring in this state would be lost but rather that the clock constraint makes it impossible for the event B to occur in this state. If, because of other clock constraints, this condition cannot be enforced, then the specification is rejected. In Signal, the program is re-jected at compilation time. In Time Petri net, a violation of constraints results in clock transitions being dead. A liveness analysis indicates constraint inconsistencies.

Mathematical definition

Let A and B be two discrete-time clocks. Eq. 2 denotes the semantics of the strict form, whereas Eq. 3 denotes the semantics of the (left) weak form. A variant authorizes the relation to be weak on the right side. However, if it is weak on the right side, it is so for all instants. It is fordidden to be alternatively weak on right and left sides because this would lead to causality problems (e.g.,

A[k] ≡ A[k + 1]). A strictly alternatesWith B ⇐⇒ (2) (∀k ∈ N )(A[k] ≺ B[k] ≺ A[k + 1]) A alternatesWith B ⇐⇒ (3) (∀k ∈ N )(A[k] B[k] ≺ A[k + 1])
The weak form of this clock relation can cause infinitely many different executions even if we ignore empty instants.

B[k] precedes A[k + 1] but can either be synchronous with

A[k] (A[k] ≡ B[k]) or strictly follow it (A[k] ≺ B[k]).
Those are the only two possible situations that matters. When they are disjoint and when no other clocks are involved, the distance between two instants is not relevant.

Signal equivalent

When two clocks strictly alternate, there is a super clock, more frequent than both A and B (the relation is endochronous). To implement such a relation in Signal, one just need to build the common super clock explicitly.

In the following Signal implementation, line 1 declares a concurrent process and line 2 declares its two pure input signals. Line 3 builds a two-state automaton (see Fig. 2, left part) that alternates between the two states. The boolean signal super is local (see line 6) and alternatively takes the value true and f alse, starting with true. Signal A is present when and only when super is true (line 4). Signal B is present when and only when super is f alse (line 5). | A ^= when super 5.

| B ^= when not super 6.

|) where boolean super end;

The weak form is more complex because either A and B simultaneously occurs, or A occurs alone and B should occur alone in the future. Note that B cannot occur alone when super is true. The implementation below directly implements the state machine shown on the righthand side of Figure 2. There are still two states encoded with the local boolean signal super. The state can also change when either A or B occurs. The signal union is denoted by the operator ˆ+ in Signal (line 3). When B occurs, then the next state (nextsuper) is necessarily true (line 5), whatever the current state and whether or not A occurs. When B does not occur the next state is f alse (line 4). Conversely, A must and can only occur when super is true (line 7). When super is f alse, B must occur but B can also occur when super is true. Line 8 reads that B is more frequent than when super is f alse. The only other possible case is when super is true because of the signal union in line 3. | nextsuper := false when not B 5.

default true 6.

| super := nextsuper $1 init true 7.

| A ^= when super 8.

| B ^> when not super 9.

|) where boolean super,nextsuper end; In the initial state (time=0) no transitions are enabled, only time can evolve. Then, transition A is enabled but there is no upper bound for its firing. Transition B will not become enabled before A fires. When A eventually fires, B becomes immediately enabled for the weak form and can fire "synchronously" with A. In the strict form, because of the time interval [1, ∞[, B must wait one instant before being enabled. Still, there is no upperbound. When B fires in turn, the initial state is reached (apart from the counting places) and everything starts again.

Time Petri Net equivalent

Periodicity

Instant relation coincidence (≡) can be extended to clocks to build coincidence-based relations. The simplest extension consists in making synchronous clocks (≡ AB), i.e., the i th occurrence of A is coincident with the i th occurrence of B, for all i ∈ N .

Another extension consists in making subclocks or super clocks, i.e., each and every instant of the sub clock A is coincident with one instant of the super clock B (A isSubclockOf B).

Relation isPeriodicOn is a refinement of relation isSubclockOf that builds a periodic clock with respect to a super clock for a given period. Note, that the clocks need not be chronometric. Optionally, an offset may be specified when the periodic behavior only starts after a given number of occurrences of the parent clock. More general than the periodic relation is the k-periodic pattern, which can be modeled in CCSL with the clock relation filteredBy (symbolically represented by ). This relation uses an infinite periodic binary word to define the coincident instant. Each one in the binary one represents a coincidence. A isPeriodicOn B period =P offset =δ is equivalent to a synchronous filtering starting from the δ th occurrence of B where A occurs every P th occurrence of B. This can also be written

A = B (O δ • (1 • O P -1
) ω ), where • stands for the binary word concatenation. When δ = 0 and P = 1, A and B are synchronous. The use of infinite binary words for filtering clocks has been inspired by some work on n-synchronous kahn networks [START_REF] Cohen | N-synchronous kahn networks: a relaxed model of synchrony for real-time systems[END_REF].

Figure 4 gives one possible execution where A isPeriodicOn B period =3 offset =5.

Signals A and B are counting their own occurrences. A always first occurs simultaneously with the 6 th occurrence of B, whenever it is.

Mathematical definition

Let A and B be two discrete-time clocks. Eq 4 gives the semantics of clock relation isPeriodicOn.

A isPeriodicOn B period =P offset =δ ⇐⇒ (4) (∀k ∈ N )(A[i] ≡ B[(i -1) * P + δ + 1])
It is easy to show that if period = 1 and of f set = 0 then A and B are synchronous.

By definition, AisSubclockOf B. Note that the definition does assume any direction. If B is already defined, then A will be uniquely defined. However, the relation also works in the other direction. If A is already defined, then B will be partially defined by applying such a constraint.

Signal equivalent

The implementation in Signal is straightforward since CCSL filteredBy relation is very close to the Signal operator when. And the periodic case is one simple application. Not surprisingly, all coincident-based operators have almost direct equivalent in synchronous languages in general and in Signal. It is not always the case for precedencebased operators for which it may be tedious. Even when the languages can be twisted to model such constraints, the compiler is not always able to find a solution. Consequently, it is really useful to have a specification language that simply supports various concepts even if several implementation languages must be combined to find possible solutions. is very handy to represent instantaneous reactions. Indeed, with classical Petri nets, it is not possible at all to express coincidence. In Time Petri net, we use such a trick to do it but it becomes difficult to use the same trick when more than two transitions are to be synchronized. In such cases, applying priorities may become necessary (see Section 5).

Time Petri Net equivalent

Sampling

Upto here, we have described pure synchronous (filteredBy, isSubclockOf, isPeriodicOn) or pure asynchronous (isFasterThan, alternatesWith) operators. To asynchronously combine synchronous domains another kind of operators is required: mixed operators.

The relation sampledOn is used to synchronize on a given clock external events, a priori asynchronous. This sampling operator is often used for synchronizing asynchronous inputs, but also to model time-triggered communications.

A = B C defines a subclock of C (less frequent than C in Signal terminology) that occurs only after an occurrence of B. Obviously, B is not assumed to be a subclock of C. The strict form of sampledOn does not sample an occurrence of B when it is synchronous with an occurrence of C, this instant will only be sampled on the next occurrence of C.

Figure 6 shows one possible scenario involving the clock relation sampledOn with both forms weak and strict. Signal B counts its occurrences and signal A contains the value actually sampled from B. With both forms the first sample has the value 1. However, with the weak form the first sample occurs on the first occurrence of C whereas it occurs on the second occurrence of C with the strict form. The second sample has the value 3 and the input 2 has been lost in both cases. The third sample occurs at the same time, whatever the form, but does not carry the same value in both cases.

Mathematical definition

Let A,B and C be three discrete-time clocks. Eq. 5 gives the semantics of the strict form, whereas Eq. 6 gives the semantics of the weak form.

A = B strictly sampledOn C ⇐⇒ (5) (∀a ∈ N )(∃b, c ∈ N ) ((A[a] ≡ C[c]) ∧ (C[c -1] B[b] ≺ C[c])) A = B sampledOn C (A = B C) ⇐⇒ (6) (∀a ∈ N )(∃b, c ∈ N ) ((A[a] ≡ C[c]) ∧ (C[c -1] ≺ B[b] C[c]))

Signal equivalent

The weak form of clock relations is more difficult to implement since it implies instantaneous reactions. Synchronous languages are well-suited to describe such behaviors, even though sampling is not a primitive operator. The following Signal implementations count the number of occurrences of inp between two successive occurrences of clk. A sampling occurs where there is at least one occurrence of inp (zc/=0). The weak form is similar but if the input event (inp) occurs simultaneously with the sampling clock (clk), i.e., it is not strictly future, then it must be sampled. This requires to be one more step ahead (zzc).

Time Petri Net equivalent

Figure 7 shows the Time Petri net implementation of the strict form. This implementation requires priority transitions (dashed/blue arcs between transitions). The arc source has an higher priority than the target. When two transitions are enabled, the transition with the highest priority must fire first possibly preventing another transition from firing (if the system is not conflict-free). When the order does not matter, the transition are said to be independent. Transition pC must have a higher priority than transition A, an old clock concurrence is always purged when possible and not used to sample any input.

Figure 8 shows the Time Petri net implementation of the weak form. It is mainly a matter of changing the priority between transitions. Nevertheless, one big difference appears on the time interval of transition tB. Since there can be an instantaneous sampling of input B (if C is coincident) the path from transition B to transition A via tB cannot be longer than 0. With these two implementations, there can still be inconsistent firing sequences unless a mechanism is added to force all inputs that must must in a given instant to fire before any other transition is fired. Such a mechanism mimics the synchronous languages where all inputs are captured (present or absent) in a first step and outputs are processed in a second step. Due to the lack of room, this simple mechanism is not detailed any further here.

Clock relation delayedFor

The relation delayedFor models a watchdog and is also a mixed operator. A clock start triggers a timer that counts according to a reference clock. A timeout elapsed after delay occurrences of the reference clock. It the clock start occurs again before the time out, then the timer is reinitialized. This is a polychronous operator as the clocks start and timeout are not necessarily xsynchronous. Note that even though the clock timeout is a subclock of the reference clock, it is not required for the clock start to be a subclock as well. Figure 9 illustrates a possible execution of the clock constraint delayedFor.

(7) (∀a ∈ N )(∃c, b ∈ N , c > δ) ((A[a] ≡ C[c]) ∧ (C[c -δ -1] ≺ B[b] C[c -δ]))

Signal equivalent

The clock relation delayedFor is very different from the Signal operator delay ($) since in Signal the operator delay is monochronous. In the implementation below, signal c counts for the occurrences of clk and is reset when start occurs. timeout occurs when c = delay.

Time Petri net equivalent

Signal operator delay ($) has a very simple equivalent in Time Petri net (Figure 10). However, the MARTE operator delayedFor is much more complex and requires the use of inhibitors. In Petri nets, inhibitors are arcs from a place to a transition with a circle as an arrowhead. Contrary to the normal semantics of arcs, the inhibited transition becomes fireable only when no token are available in the place.

Figure 11 shows the MARTE clock relation delayedFor in Time Petri net. As for the relation sampledOn, the transitions pS and tS purge tokens produced by start when more than one token are available. Remember that start and clk are not necessarily synchronous, so start needs to be synchronized.

Transition pC purges the tokens produced by clk when start occurs. The counting should only start on start. The transition inC stops the purge when no tokens from clk are

Conclusion

This paper presents several possible equivalent specifications for MARTE clock constraints. Having only a pure mathematical definition as in [START_REF] André | Clock constraints in UML/MARTE[END_REF] is not pragmatic since one objective of MARTE Time Model is to provide the support for building executable models for real-time and embedded systems. Instead of building a MARTE-specific analysis tools, we show here how we can rely on existing languages that come with analysis and simulation tools. We also exhibit some typical examples where Petri nets are well-adapted to express CCSL constraints and others where synchronous languages are more suitable. Fortunately, both Time Petri nets and synchronous languages propose facilities to run model-checking tools. Therefore, we can express temporal logic properties and prove that these properties hold with the two proposed implementations. Proving that the properties are also compatible with our denotational semantics is less easy and remains to be done.

An OMG Specification is not the right framework to select tools and textual languages. This paper intent is to show that MARTE contains powerful time primitives, which can be used to exploit UML semantics variation points so as to make the UML models semantically closer to formalisms amenable to formal analysis.

Figure 2 .

 2 Figure 2. Behavior of alternatesWith in UML

1 .

 1 process strictlyAlternatesWith = 2. ( ? event A,B ) 3. (| super := not (super$ init false) 4.

1 .

 1 process alternatesWith = 2. ( ? event A,B ) 3. (| nextsuper ^= super ^= A^+ B 4.

Figure 3 gives

 3 Figure 3 gives Time Petri nets equivalent to both the strict (left side) and the weak (righthand side) forms of clock relation alternatesWith. They only differ by the time interval on transition B. The weak form allows the transition B to fire either simultaneously or stricly after the firing of transition A.In the initial state (time=0) no transitions are enabled, only time can evolve. Then, transition A is enabled but there is no upper bound for its firing. Transition B will not become enabled before A fires. When A eventually fires, B becomes immediately enabled for the weak form and can fire "synchronously" with A. In the strict form, because of

Figure 3 .

 3 Figure 3. alternatesWith in Time Petri net

Figure 4 .

 4 Figure 4. A isPeriodicOn B period=3 offset=5

  process isPeriodicOn = { integer offset,period } ( ? event A, B ) (| nb ^= B | zi := nb $1 | nb := ((zi + 1) when zi/=(period-1)) default 0 | ^A ^= when zi=0 |) where integer zi init -offset, nb end;

Figure 5

 5 Figure 5 gives a Time Petri net equivalent to clock relation isPeriodicOn. Transition B must fire δ + 1 times before anything can happen to transition A. Then every P th firing of transition B, A must fire synchronously because the time interval is [0,0]. Using a time interval [0,0]is very handy to represent instantaneous reactions. Indeed, with classical Petri nets, it is not possible at all to express coincidence. In Time Petri net, we use such a trick to do it but it becomes difficult to use the same trick when more than two transitions are to be synchronized. In such cases, applying priorities may become necessary (see Section 5).

Figure 5 .

 5 Figure 5. A isPeriodicOn B period=P offset=δ (Time Petri net version)

Figure 6 .

 6 Figure 6. A=B (strictly) sampledOn C

  process strictlySampledOn = (? event inp, clk ! event outp ) (| c ^= zc ^= inp ^+ clk | zc := c$ init 0 | c := 1 when clk when inp default 0 when clk default zc+1 when inp | outp := when zc/=0 when clk |) where integer c, zc end;

  process sampledOn = ( ? event inp, clk ! event outp ) (| c ^= inp ^+ clk | zzc := 1 when ^inp default zc | zc := c$ init 0 | c := 0 when clk default zc+1 | outp := when zzc/=0 when clk |) where integer c,zc,zzc end;

Figure 7 .

 7 Figure 7. A=B strictly sampledOn C (Time Petri net version)

Figure 8 .

 8 Figure 8. A=B sampledOn C (Time Petri net version)

Figure 9 .

 9 Figure 9. timeout=start delayedFor 4 on clk

  start,clk ! event timeout ) (| c ^= start ^+ clk | zc := c$ init 0 | c := 0 when start default zc+1 when clk | timeout := when c=delay |) where integer c, zc end;

Figure 10 .Figure 11 .

 1011 Figure 10. Signal delay: C$n

  MARTE, the physical amount of time between two values is not relevant. The Signal language has two kinds of operators. Monochronous operators act only on synchronous signals, i.e., signals that are always present at the same instants, signals that have the same clock. Polychronous operators act on signals with any clock and their result may have another clock. In this paper, we only consider the time structure of MARTE and relations on instants, we do not use the labeling functions. So CCSL clocks are very similar to signals and pure clocks compare to Signal clocks (or pure signals, type event). CCSL clock relations compare to Signal polychronous operators. In this paper, we never discuss equivalent for Signal monochronous operators that would work on labels associated with instants rather than the time structure itself.

Acknowledgments

The Aoste project is a joint project between I3S Laboratory (UMR 6070 CNRS) and INRIA Sophia Antipolis Méditerranée.

This work has also been partially supported by the project OpenEmBeDD (http://openembedd.org).

Many thanks to Dumitru Potop-Butucaru and to the Espresso team for the fruitful discussions on the internals of the Signal compiler.