Yasmina Abdeddaïm
email: y.abdeddaim@esiee.fr

Damien Masson
email: d.masson@esiee.fr

Real-Time Scheduling of Energy Harvesting Embedded Systems with Timed Automata

In this paper, we propose feasibility and schedulability tests for a realtime scheduling problem under energy constraints. We first introduce the problem and show how to model it using timed automata. We then propose a feasibility test based on CTL model checking and schedulability tests for EDF and Preemptive Fixed Priority algorithms (PFP). Our approach also permits to generate a feasible schedule if one exists or otherwise to find how to correct battery characteristics to make the problem feasible. It is finally possible to generate schedules that optimize some criteria, such as the number of context switches between the battery recharging and discharging modes, the minimal and the maximal energy levels reached during the execution, or the number of preemptions. The approach is illustrated by some experiments using the model checking tool Uppaal [1].

Introduction

In this work, we investigate a real-time system model for embedded systems that collect and store energy from their environment. Such systems are composed, in addition to traditional embedded system components, by an energy collector unit (e.g. a solar panel) and by an energy storage unit (a battery or a capacitor).

One common hypothesis in real-time system theory is to consider that the CPU is always available to execute real-time tasks, whereas in the studied systems, known as energy harvesting systems, the CPU has to be switched off at some points in order to permit to recharge the energy storage unit. These harvesting embedded systems are more and more present in our lives: sensor networks in structures such as bridges that collect vibration energy, medical implants that collect energy from the human body, mobile or fix devices with solar panel or windmill etc. Despite their energy supply particularity, some of these systems need to satisfy strict timing constraints. Their particularity is that the energy resource is not limited, but the energy available at a given instant is. The energy harvesting and storage process takes time. Therefore it is important to consider both the time and energy needs of a task in other to schedule it, since both the energy and CPU time resources of the system have to be shared among the tasks.

From a scheduling point of view, the time intervals needed for the energy scavenging will result in inserting gaps in the schedule. So, an energy-aware scheduler will not be a work-conserving one. Assuming this, traditional feasibility analysis algorithms are no longer relevant. Moreover, we can easily show that commonly known optimal scheduling policies1 , such as Earliest Deadline First (EDF), Rate Monotonic (RM) or Deadline Monotonic (DM) are no more optimal for these systems.

Another particularity of the studied embedded systems is that they often need to be as cheap as possible (e.g. for networked sensors widely dispersed in an area, some of them will stay unused), as tiny as possible, and as light as possible. The size of the energy storage unit must so be minimized. So, the goals of a real-time scheduler for energy harvesting systems will not be only to warranty timing constraints, but also to take account of these systems specificities to minimize the energy management overheads. For example, it is known that energy storage processes have not linear rates. For certain devices, the less the level of energy is, the faster the charging process will be. Hence, it can be important to try not to let the energy level be too high if there is no need to respect timing constraints. On the contrary, a too low energy level can damage some devices. Trying not to let the energy level get too low when it is not needed can also be important. Another example is that depending on the battery technology, it can be of importance to let the battery have complete cycles as long as it is possible regarding the timing constraints.

This work investigates several open problems related to the scheduling of such harvesting systems:

• providing a feasibility test,

• providing a schedulability test under Preemptive Fixed Priority (PFP) and Earliest Deadline First (EDF),

• find the minimal energy collector size that permits the system to be feasible,

• find a schedule that optimize the energy consumption profile on several criteria, such as the minimal and maximal authorized energy levels, or the number of context switches between the battery recharging mode and discharging one.

Doing so, three hypotheses are made. First, the tasks' energy consumption is not related to their execution time [START_REF] Jayaseelan | Estimating the worst-case energy consumption of embedded software[END_REF]. Second, the energy consumption profile of the tasks are not known and the worst case is so assumed: all the energy budget of a task is considered used as soon as the task has begun its execution. Third, it is assumed that the energy is collected and stored linearly. Moreover, the set of solutions for the feasibility problem is restricted to fixed priority at job level schedules where no idle times are allowed when a task is under preemption, except if these idle times correspond to a battery recharge. Even in this case, the recharge is only possible at the beginning of a preempting task. In a fixed priority at job level schedule, when the relative priority assignment between two jobs has been decided, it cannot change. EDF is an example of fixed priority at job level scheduling algorithm. Least Laxity First (LLF) is a well known counter example.

We review the related works in Section 2. Then Section 3 formalizes the problem. Section 4 introduces the timed automaton model. Section 5 exposes how to check the feasibility and the schedulability with both PFP and EDF and how to generate a scheduler. Section 6 presents experiments and finally we conclude in Section 7.

Related work

Even if energy issues are more and more popular in real-time systems theory, most of the research to date has concentrated on reducing the power consumption. Mainly previous efforts have focused on predictive shutdown techniques [START_REF] Srivastava | Predictive system shutdown and other architectural techniques for energy efficient programmable computation[END_REF] and varying speeds of processors [START_REF] Yao | A scheduling model for reduced cpu energy[END_REF][START_REF] Hong | Synthesis techniques for low-power hard real-time systems on variable voltage processors[END_REF][START_REF] Shin | Power conscious fixed priority scheduling for hard real-time systems[END_REF][START_REF] Krishna | Voltage clock scaling adaptive scheduling techniques for low power in hard real-time systems[END_REF].

To our knowledge, the first paper to address the problem of harvesting systems, is [START_REF] Allavena | Scheduling of frame-based embedded systems with rechargeable[END_REF]. However, the task model considered in this paper is the frame-based model: all tasks have the same release and the same period and deadlines.

In [START_REF] Moser | Real-time scheduling for energy harvesting sensor nodes[END_REF], the LSA algorithm is proposed. The context of this algorithm is a little bit different then the one we address. The authors consider tasks for which the execution time will depend on the energy given to them. Then they propose algorithms that optimally assign power to arriving tasks in order to minimize the battery size while guaranteeing temporal constraints. In that work, a task energy consumption is related to its execution time, that is not a realistic hypothesis. Indeed, in practice, the total energy which can be consumed by a task is not related to its worst case execution time, as stated in [START_REF] Jayaseelan | Estimating the worst-case energy consumption of embedded software[END_REF].

The first work considering task models where energy consumptions are not linked to CPU demand are the ones of Chetto [START_REF] Chetto | Real-time Scheduling of periodic tasks in a monoprocessor system with a rechargeable battery[END_REF][START_REF] El Ghor | A real-time scheduling framework for embedded systems with environmental energy harvesting[END_REF], for dynamic priority systems. Some heuristics for fixed priority systems are also considered in [START_REF] Chetto | Fixed priority scheduling strategies for ambient energy-harvesting embedded systems[END_REF]. To our knowledge, the existence of feasibility or schedulability tests, and the existence of an optimal scheduling algorithm for these systems are open problems. We address in this paper this problem using a timed automata approach.

The timed automata approach has been already used in the literature to model and solve some scheduling problems. In [START_REF] Abdeddaïm | Scheduling with timed automata[END_REF][START_REF] Fehnker | Scheduling a steel plant with timed automata[END_REF], the approach has been used to solve the job shop scheduling problem. The goal was to find optimal schedules in the sense of minimal execution time. Then in [START_REF] Fersman | Task automata: Schedulability, decidability and undecidability[END_REF], the authors present a model based on timed automata to solve real-time scheduling problems. However, this model does not consider the tasks' energy consumption. The principal benefits of the timed automata approach is first that it proposes a model for both the scheduling and the formal verification of the system, and second that it manages to handle open problems, where no results are currently known. For example we used this approach to address the scheduling problem of self-suspending tasks in [START_REF] Abdeddaïm | Self-suspending periodic real-time tasks using model checking[END_REF].

The problem statement

We define our real-time problem as a pair P = (Σ, B) where Σ = {τ 1 , . . . , τ n } is a set of real-time tasks and B a battery.

A real-time task is a tuple τ i = (r i , C i , T i , D i , e i ) where r i is the release time of the task, C i the execution time, T i the period, D i the relative deadline (D i ≤ T i ) and e i ≥ 0 the energy consumption rate of the task per time unit. An active task can be started iff there is enough energy in the battery to execute it completely. We suppose that the energy consumption profile of the task is unknown. We so assume the most unfavorable case and consider that the whole energy budget of a task is consumed as soon as the task has begun its execution.

A battery is defined as a tuple B(E max , e bat ) where E max is its maximal capacity and e bat its charge rate, i.e. the number of energy units it collects per time unit. For the sake of clarity, we consider in the examples the scenario where the battery is full before the first task release. However our model works whatever the energy initial state level is. If a task is executing, the battery is in a consuming mode, i.e. a mode where the battery is not charged. A task τ i can be executed completely if the battery energy level is greater than e i × C i , the total consumption of the task. If the processor is idle, the battery can move to the charging mode s.t.: if the level of energy is less than its maximal capacity E max for a duration t, the energy is augmented by e bat × t otherwise the level of energy does not increase.

A schedule for P = (Σ, B) is a sequence of tasks produced by an algorithm that at each time:

1. assigns the processor to an instance of a pending task, or 2. lets the processor idle and does not charge the battery, or 3. lets the processor idle and charges the battery.

The real-time problem P = (Σ, B) is schedulable iff there exits a feasible schedule: a schedule where no task misses its deadline and where the battery energy level is always included in [0, E max ].

Illustrative example

Let P 1 be a real-time problem defined by a battery B 1 (10, 2) and a set Σ 1 = {τ 1 , τ 2 , τ 3 } of real-time tasks where, τ 1 = (0, 4, 10, 10, 1), τ 2 = (0, 4, 20, 20, 1) and τ 3 = (0, [START_REF] Shin | Power conscious fixed priority scheduling for hard real-time systems[END_REF]40,40,[START_REF] Larsen | Uppaal in a nutshell[END_REF]. Note that if we relax the constraints on energy consumption of the tasks (∀i, e i = 0), this problem is schedulable using both EDF and RM priority driven scheduling algorithms.

We first apply a naive non work conserving algorithm to this problem. In this algorithm, if no more energy is available to execute new instances of tasks, the battery is charged until there is enough energy to execute the next highest priority task according to EDF. Thus, the tasks are executed as soon as possible according to the EDF policy. We call this algorithm "as soon as possible EDF" and note it EDF asap .

The EDF asap schedule of the illustrative example is represented in Figure 1 for the interval [0, 80]. At the beginning of the execution, the battery is completely charged and the tasks τ 1 and τ 2 can be executed. At t = 8, the battery energy level is equal to 2, then the task τ 3 which consumes 6 units of energy cannot be executed. Thus, the processor is idle and the battery is in the charging mode until t = 10. Then at t = 10 there is enough energy to execute a new instance of task τ 1 and so on. Note that at t = 36 and t = 38, the tasks τ 2 and τ 3 are executed even if the battery is empty. Indeed, they have already consumed the necessary energy at the beginning of their execution. At t = 40, all the tasks are active and none of them has missed any deadline. However, at t = 80, the task τ 3 misses its deadline. Thus, this problem is not schedulable using EDF asap .

The Modeling step 4.1 Timed Automata

A Timed automaton [START_REF] Alur | Automata for modeling real-time systems[END_REF] is a model extending the classical automaton model with a set of variables, called clocks. Clocks are real variables evolving continuously and synchronously with time. Thanks to these variables, it is possible to express constraints over delays between transitions. Indeed, each transition of a timed automaton can be labeled by a clock constraint called guard which controls the firing of a transition. Clocks can be reset to zero in a transition and each location is constrained by a staying condition called invariant.

Formally, let X be a set of real variables called clocks and C(X ) the set of clock constraints φ over X generated by φ ::

= x c | x -y c | φ ∧ φ where c ∈ IN , x, y ∈ X , and ∈ {<, ≤, ≥, >}. A clock valuation is a function v : X → R + ∪{0}
which associates to every clock x its value v(x).

Definition 1 (Timed Automaton) A timed automaton (TA) is a tuple

A = (Q, q 0 , X , I, ∆, Σ) where Q is a finite set of states, q 0 is the initial state, X is a finite set of clocks, I : Q → C(X ) is the invariant function, ∆ ⊆ Q × C(X ) × Σ × 2 X × Q is a

finite set of transitions and Σ is an alphabet of actions augmented with the action ⊥ that represents the empty action.

A configuration of a timed automaton is a pair (q, v) where q is a state and v a vector of clock valuations. The semantic of a timed automaton is given as a timed transition system with two kinds of transition: timed transitions representing the elapse of time in a state, and discrete transitions representing the ones between states. A timed transition is enabled if clocks valuations satisfy the invariant of the state and a discrete one is enabled if clocks valuations respect the guard on the transition. Then, we define a run in a timed automaton as a sequence of timed and discrete transitions. Given a network of timed automata, synchronous communication between timed automata can be done using input actions denoted a? and output actions denoted a!.

Modeling the Task

For the sake of clarity, we start by showing how to model a real-time task without taking into account the energy consumption.

Let τ i (r i , C i , T i , D i ) be a real-time task. We model this task using a timed automaton T ask i with a set Q = {ini i , act i , exe i , pre i , stop i } of states and two clocks c i and d i . This automaton is synchronized with an automaton P eriod i using the action release i . This action is launched by the automaton P eriod i every period T i . These automata are presented in Figure 2. The automaton T ask i starts its execution at state ini i , where no instance of task τ i is active. When an action release i is captured, the automaton moves to state act i and act i exe i stop i release i ? exec? start i ? pre i prs i := new, prt prs i := i w i := w i + w prs i prs i := 0, proc := 1 proc := 0 In state act i , the task is active but not yet executed. If the task starts its execution, the automaton moves to state exe i and a global variable proc is reset to one indicating that the processor is not idle. When a task τ i starts, the clock c i is reset to zero, this clock is used to measure w i the response time of task τ i . The response time w i of a task is set initially to C i , the execution time of the task. The automaton stays in state exe i exactly w i time units, which is modeled using an invariant c i ≤ w i on state exe i and a guard c i = w i from state exe i to state ini i .

start prt i ! ini i c i = w i w i := C i , d i := 0 d i = D i d i = D i d i = D i d i ≤ D i d i ≤ D i c i ≤ w i d i ≤ D i p i ≤ r i p i := 0 p i = T i p i := 0 proc = 0 proc = 0 exec? exec? release i ! c i := 0 new := i proc := 1 exec! p i = r i release i ! p i ≤ T i Figure 2: Timed Automaton Model for a Task τ i exe i start i ? start i ! start j ? prs j := k prt k := j new := k start j ! prs i := j prt j := i new := j w k t 1 t 2 t 3 t 4 exe i pre j exe k τ i τ j τ k pre i exe j exe j w j w i
To handle preemptions using timed automata, we restrict ourselves to a class of schedules that meet the two restrictions cited bellow. Indeed, modeling a task where preemptions can occur at every instant is not possible using timed automata. Preemption could however be modeled using stopwatch automata, a model where clocks can be stopped. Unfortunately, model checking is known to be undecidable on this model in the general case [START_REF] Cerans | Algorithmic problems in analysis of real time system specifications[END_REF][START_REF] Kesten | Decidable integration graphs[END_REF]. That is why we have the following restrictions:

1. Restriction 1: we restrict ourselves to fixed priority at job level schedules.

As a consequence, if a task τ i is preempted by a task τ j , τ i cannot be resumed until τ j has finished. As mentioned before, note that EDF is part of this class of scheduling algorithms.

2. Restriction 2: the processor can be idle only if no task is under preemption.

Under these restrictions, it is possible to handle preemptions, using the following property: Proposition 1 Let τ i and τ j be two real-time tasks of a schedule respecting Restriction 1 and Restriction 2. If τ i is preempted by τ j then, the preemption duration of task τ i is equal to w j the response time of τ j .

An illustration of Proposition 1 is given in Figure 3. This figure shows an example of three tasks τ i , τ j , τ k that respect the two restrictions. Task τ j preempts task τ i , and task τ k preempts task τ j . We can see in the figure that the time of preemption of each task is equal to the response time of its preempting task. This example is easily transposable to the case where a task job is preempted several times.

Using this proposition, it is possible to model preemptions with a timed automaton as follow. When a task is preempted, the automaton moves to state pre i . To respect Restrictions 1 and 2, a task can be preempted only if a new task is executed. Indeed, a global action exec? synchronizes every preemption with the beginning of a new task. The variable prs i records the identifier of the preempting task and prt i the identifier of the task preempted by τ i . In Figure 3, at t = t 1 the task τ i is preempted by τ j . Consequently, in our automaton model, the global variable new, recording the identifier of the new task, is equal to j, the variable prs i is equal to j and prt j is equal to i.

When the preempting task τ prsi resumes, the automaton of the preempted task τ i moves to state exe i synchronizing with an action start i . Then, the response time w i of the task τ i is augmented by the response time of the preempting task τ prsi . The first restriction does not limit the generality of our work so much. Indeed, mostly all the commonly known scheduling algorithms respect Restriction 1. Restriction 2 seems stronger in a first glance. However, this is not true in the general context, without considering energy related issues, because most commonly studied schedulers are work-conserving, and are so de facto respecting the restriction.

However, when idle times must be inserted in order to recharge the battery, Restriction 2 appears as a strong restriction. Therefore, we explain in Section 4.3 how to overcome it by letting the model checker insert idle times at the beginning of a preempting task.

Task and Energy

Let B(E max , e bat ) be a battery as defined in Section 3. The battery is modeled using a timed automaton A B with one clock b and three states. The variable E is used to store the level of energy in the battery.

The states init and charge represent the consuming mode and the charging mode respectively. The third state is an urgent state (no timed transition in this state) and is used only to separate the two modes. When the battery moves from consuming to charging mode, the clock b is reset to zero and a variable ch is set to 1, indicating that the battery is in the charging mode. The charging of the battery is discretized. Indeed, the automaton stays in the charging mode exactly one time unit using the invariant b ≤ 1 in state charge and the guard b = 1 from charge state to the urgent state. Then, after each time unit in the charging mode, the battery level increases by e bat . When the battery reaches its maximal capacity E max , the battery level does not increase even if the battery is in the charging mode. The variable tcharge represents the total time spent in the charging mode. Figure 4 represents the corresponding automaton.

To take into account the energy consumption of a task, we need to add some modifications to the task automaton. Figure 5 represents the timed automaton modeling a task τ i where we omit some information already given by Figure 2. Since we consider that a task consumes all the energy required for its execution at its beginning, when a task starts its execution, the energy available E is reduced by e i × C i .

According to Restriction 2, the processor can not be idle if a task is preempted. This restriction does not allow us to model a behavior where the battery is in a charging mode if a task is preempted. To overcome this restriction in the particular case where the inserted idle time is a battery recharge, we add a new state nact i s.t.: if the automaton is in state nact i , the processor is considered to be busy and is dedicated to the task τ i . When the automaton moves to state nact i , the battery automaton moves, synchronizing with the action charge!, to the charging mode. When the automaton moves from state nact i to the execution state, the battery moves to the idle mode and tcharge, the total time spent in the charging mode, is added to w i , the response time of the task τ i , as shown in Figure 6.

Scheduling using CTL Model Checking

Model checking is a method for automatic verification where the system is modeled using a formal model M and the correctness property is stated with a formal specification language φ. Given a model M and a property φ, model checkers are used to automatically decide whether M satisfied φ or not.

In this section, we present how we use CTL [START_REF] Kozen | Logics of Programs[END_REF] model checking to test the feasibility of a task set and its schedulability with PFP and EDF.

CTL properties are generated using the following grammar:

φ ::= p|(¬φ)|(φ ∧ φ)|(φ ∨ φ)|

AXφ|EXφ|AGφ|EGφ|A[φU φ]|E[φU φ]

where p is a set of atomic formulas. CTL formulas are interpreted on a transition system s.t. the initial state s 0 satisfies: AGφ iff in all the paths starting at s 0 all the states satisfy φ, EGφ iff there exists a path starting at s 0 where all the states satisfy φ, AXφ iff in all the paths starting at s 0 in the next state φ is satisfied, EXφ iff there exits a path starting at s 0 where in the next state φ is satisfied, E[φ 1 U φ 2 ] iff there exists a path starting at s 0 where φ 1 is satisfied until φ 2 is satisfied and A[φ 1 U φ 2 ] iff for all the paths starting at s 0 φ 1 is satisfied until φ 2 is satisfied.

Feasibility

Let P = (Σ, B) be a real-time problem where Σ = {τ 1 , . . . , τ n } and B = (E max , e bat ). We model each task τ i using a timed automaton T ask i and model the battery B using a timed automaton A B as defined in Section 4.3. We note A P the parallel composition of the automata T ask 1 , T ask 2 , . . . T ask n and A B . A configuration of A P is a tuple (q, v, E) where q = (s 1 , . . . s n , s b ) and 3. E is the global variable storing the level of energy in the system.

v = (v(c 1 ), v(d 1 ), . . . v(c n ), v(d n ), v(b)) s.t.: 1. ∀i ∈ [1, n], s i is
The configurations of the timed transition system of A P represent the possible configurations of a task (active, executing, preempted, . . .) plus the possible battery configurations (mode and level).

The following proposition provides a feasibility test for the scheduling problem P = (Σ, B).

Proposition 2 (feasibility) Let P = (Σ, B) be a real-time problem where Σ = {τ 1 . . . τ n }. P is feasible iff the network A P modeling P satisfies the CTL Formula 1

φ Sched1 : EG¬ i∈[1,n] stop i ∨ E < 0 (1)
Proposition 2 states that the problem is feasible iff there exists an infinite run ξ in A P where all the configurations (q, v, E) satisfy the property ϕ : ¬( i∈ [1,n] stop i ∨ E < 0). We call this run a feasible run. In other words, a run ξ is feasible iff none of its configurations contains a state stop i or a negative battery level. If such a run exits, it corresponds to a schedule where there is enough energy to execute all the active tasks and none of the tasks misses its deadline. Indeed, an automaton T ask i reaches the state stop i iff the clock d i reaches the deadline D i of the task τ i (see Figure 2). Since the clock d i is reset to zero at each activation of a task τ i , a clock greater than the deadlines implies that a deadline miss has occurred.

Given a real-time problem P = (Σ, B), one can check the optimal characteristics of a battery to make the problem feasible. For example, find the minimal value for E max to make the problem feasible. But also find a maximal value for a lower bound E min under which it is not permitted for the battery to go bellow. Given a minimal value E min and a maximal value E max , Formula 2 checks if the problem is feasible.

φ Sched2 : EG¬ i∈[1,n] stop i ∨ E > E max ∨ E < E min ( 2
)
Another application is to find a schedule that minimizes the number of state changes between the battery charging mode and the task execution mode. We add to the model a global variable N bC counting the number of battery mode changes. The variable is initially set to zero, and is incremented when the battery moves from consuming to idle mode. Then, when all the tasks are in their initial state, the variable is reset to zero.

Using Formula 3, we can find the feasible schedule minimizing the number of mode changes. Indeed, by changing the value of N bC min , we can find the minimal value of mode changes for which the problem remains feasible.

φ Sched3 : EG¬ i∈[1,n] stop i ∨ E < 0 ∨ N bC >N bC min (3)
The same idea can be used to minimize the number of preemptions.

Schedulability

To test schedulability according to a given scheduling policy2 , one can model the scheduling policy in the CTL checked formula.

To test PFP schedulability, we have to test if there exists a feasible run where some configurations are forbidden: the ones where a task is executing while a greater priority task is not.

Proposition 3 (PFP Schedulability) Let P = (Σ, B) be a real-time problem where Σ = {τ 1 . . . τ n } is sorted according to the priorities of the tasks. P is schedulable according to PFP iff the network A P modeling P satisfies the CTL Formula 4.

φ f p : EG¬ i∈[1,n-1] (act i ∧ d i > 0 j∈[i+1,n] exe j ) i∈[1,n-1] (pre i j∈[i+1,n] exe j ) i∈[1,n] stop i ∨ E < 0 (4)
Formula 4 states that the problem is schedulable according to PFP iff there exists a feasible run where, in all the configurations, a task τ j cannot be in its execution state exe j if a highest priority task τ i is in state act i or pre i .

Using this approach, we can also test the EDF schedulability.

Proposition 4 (EDF Schedulability) Let P = (Σ, B) be a real-time problem where Σ = {τ 1 . . . τ n }. P is schedulable according to EDF iff the network A P modeling P satisfies the CTL Formula 5.

φ edf :EG¬ i∈[1,n] j =i∈[1,n] (act i ∧ d i > 0 ∧ exe j ∧ p ij ) i∈[1,n] j =i∈[1,n] (pre i ∧ exe j ∧ p ij ) i∈[1,n] stop i ∨ E < 0 ( 5
)
p ij is a state of an observer automaton reachable when d i -d j > D i -D j with d i and d j the deadline clocks of tasks τ i and τ j respectively.

Under the EDF scheduling policy, the processor is assigned to a task if it is the closest to its deadline. Formula 5 states that the problem is schedulable according to EDF iff there exists a feasible run where, in all the configurations, a task cannot be in its execution state if a task with a closer deadline is active or preempted.

To solve the real-time problem P = (Σ, B), a scheduling algorithm has to be non-work-conserving in the sense that the processor can be idle if a task is not executing. Idle times are times where the battery is in a charging mode. A classical scheduling policy (PFP, EDF . . . ) is not sufficient to solve our real-time problem, because it does not provide the idle times where the battery has to be charged. If the schedulability tests given in Formulas 4 and 5 are satisfied, we only know that there exists a feasible schedule where the order of execution of tasks respects the priority assignment of PFP or EDF algorithms. For example, if a real-time problem is not EDF asap schedulable, Formula 5 is not sufficient to prove it.

We qualify an algorithm to be as soon as possible if the processor is idle only if the highest active priority task can not be executed.

According to the restriction of our model, idle times can be inserted in a schedule only at the beginning of the execution of a task. Thus, to compute an as soon as possible schedule, we forbid in our model configurations staying more than necessary in a state act i or a state nact i .

Proposition 5 provides a schedulability test for PFP as soon as possible.

Proposition 5 (PFP As Soon As Possible Schedulability) Let P = (Σ, B) be a real-time problem where Σ = {τ 1 . . . τ n } is sorted according to the priorities of the tasks. P is schedulable according to P F P asap iff the network A P modeling P satisfies the CTL Formula 6

φ f p S : φ f p ∧ EG¬ i∈[1,n] ((act i ∧ d i > 0)∨ (nact i ∧ c i > 0)) j∈[1,i-1] ini j ∧ (e i × C i ) ≥ E (6)
Formula 6 sates that the problem is schedulable according to an as soon as possible PFP scheduling algorithm iff there exists a feasible run where:

1. all the configurations satisfy formula 4, and 2. there is no configuration where the highest priority active task has enough energy to be executed (C i × e i ≥ E) and is not scheduled.

An active task τ i has the highest priority in a configuration ((s 0 , . . . s n , s b ), v, E) if all the tasks τ j with j < i are not active.

The same principle can be used for EDF asap schedulability. In this case, a task has the highest priority in a configuration if it has the closest deadline among all the active tasks. Proposition 6 (EDF As Soon As Schedulability) Let P = (Σ, B) be a realtime problem where Σ = {τ 1 . . . τ n }. P is schedulable according to EDF asap iff the network A P modeling P satisfies the CTL Formula 7.

φ edf S : φ edf ∧ EG¬ i∈[1,n] A⊆[1,n]-{i} ((act i ∧ d i > 0) ∨(nact i ∧ c i > 0)) j∈A ¬ini j k / ∈A,k =i ini k j∈A p ij ∧(C i × e i ) ≥ E (7)
p ij is a state of an observer automaton reachable when d i -d j > D i -D j with d i and d j the deadline clocks of tasks τ i and τ j respectively. Formula 7 states that if an active task τ i has the highest priority among the subset A of all other active tasks, then the task has to be executed if there is enough energy for it's completion.

Scheduling Algorithm

To compute a scheduling algorithm for a feasible real-time problem P = (Σ, B), we first check the appropriate formula to generate a feasible infinite run if one exists. Model checking for timed automata is decidable but PSPACE-complete [START_REF] Alur | A theory of timed automata[END_REF], however, in our approach, the feasible run is computed off line.

Given a run of the network A P , a schedule can be derived. This schedule defines the rules controlling when and how transitions between different configurations occur.

Let ξ be a feasible infinite run satisfying one of the formulas of the previous subsections. This run can be written as: ξ = (q 0 , v 0 , E 0 ) → (q 1 , v 1 , E 1 ) → . . . (q k , v k , E k ) . . . where (q 0 , v 0 , E 0 ) is the initial configuration with q 0 = (ini 0 ,-..., ini n , ini), v 0 is an n + 1 dim valuation vector where all the valuations are equal to 0 and E 0 = E max . Since the run ξ is infinite, it contains at least one cycle. We note (q * , v * , E * ) . . . (q * , v * , E * ) the first cycle of ξ and we call the run ξ sched = (q 0 , v 0 , E 0 ) → . . . (q * , v * , E * ) . . . → . . . (q * , v * , E * ) a scheduling run.

An on-line scheduling algorithm can be obtained by simply reading sequentially the configurations of the pre-computed scheduling run. Indeed, using this trace, we can compute a scheduling function F Sched : {0 . . . t * } → {1 . . . n} ∪ { 1 , 2 } where t * is the total length of the run ξ sched s.t. if:

1. F Sched (t) = i ∈ {0 . . . n} task τ i is executing at time t, 2. F Sched (t) = 1 the processor is idle at time t and the battery is not charging, 3. F Sched (t) = 2 the processor is idle at time t and the battery is charging.

Note that if a scheduling problem is proven to be EDF asap or P F P asap schedulable, there is no use to compute a scheduling function.

The computed scheduling algorithms are sustainable according to the duration of a task. In other words, if a task terminates before its worst case execution time, the schedule remains feasible. Indeed, in our model, a task consumes all its necessary energy at the beginning of its execution. So, if it terminates before its WCET, it simply consumes less than supposed during the verification process, and the new idle times are times where the battery can charge more than proven sufficient for the system to be feasible.

Experiments

To validate our approach, we use the timed model checker Uppaal [START_REF] Larsen | Uppaal in a nutshell[END_REF] to implement and test our model on some examples presented in this section. Materials are available on line at [START_REF] Abdeddaïm | Uppaal implementations[END_REF].

We consider for all the examples the same set of tasks Σ = {τ 1 , τ 2 , τ 3 } where, τ 1 = (0, 4, 10, 10, e 1 ), τ 2 = (0, 4, 20, 20, e 2 ) and τ 3 = (0, 6, 40, 40, e 3 ). We first test our approach on the illustrative example P 1 with B 1 (10, 2), τ 1 = (0, 4, 10, 10, 1), τ 2 = (0, 4, 20, 20, 1) and τ 3 = (0, 6, 40, 40, 1). The model checker Uppaal states that Formula 1 is not satisfied, we conclude that the problem P 1 is not feasible. We augment the battery charge rate to e bat = 3 and prove using Formula 1 that the problem is feasible for a battery B 1 [START_REF] Chetto | Real-time Scheduling of periodic tasks in a monoprocessor system with a rechargeable battery[END_REF][START_REF] Srivastava | Predictive system shutdown and other architectural techniques for energy efficient programmable computation[END_REF]. We also prove, using Formulas 6 and 7, that the problem is schedulable for RM asap , P F P 2,1,3 (a fixed priority as soon as possible algorithm where τ 2 has the highest priority, and τ 3 the lowest one) and EDF asap .

We show that the minimal value of the maximal capacity for which the problem remains schedulable for EDF asap and RM asap is E max = 6. And for P F P 2,1,3 the minimal capacity for schedulability is E max = 8. Then, we increase the rate of consumption of τ 1 to 3 and use a battery B 3 [START_REF] Fehnker | Scheduling a steel plant with timed automata[END_REF][START_REF] Krishna | Voltage clock scaling adaptive scheduling techniques for low power in hard real-time systems[END_REF].

We prove that this problem is schedulable for EDF asap , RM asap and P F P 2,1,3 .

6.4 P 4 = (Σ, B 4 (13, 7)) with: e 1 = 3, e 2 = e 3 = 1

We decrease the maximal capacity of the battery to E max = 13 and prove that the problem is no more schedulable using any EDF or RM algorithm, but is schedulable for P F P 2,1,3 . Figure 7 represents the schedule using P F P 2,1,3 in the interval [0, 40]. We can see that in [0, 40] no task misses its deadline and the energy of the system E is always greater than 0. At t = 40, all the tasks are active and the level of the battery is E = E max = 13 as in the initial configuration. That confirms the result obtained with the model checking tool. We then decrease again the maximal capacity of the battery to E max = 12. Using our approach, we prove that the problem is no more schedulable using any fixed priority algorithm and of course is still not schedulable using any EDF algorithm. In Figure 8, an EDF asap schedule for the problem P 5 with B 5 [START_REF] Chetto | Fixed priority scheduling strategies for ambient energy-harvesting embedded systems[END_REF][START_REF] Krishna | Voltage clock scaling adaptive scheduling techniques for low power in hard real-time systems[END_REF] is represented in the interval [0, 80]. We can see that at t = 40 all the tasks are active but the available energy is equal to 7, then at t = 80 there is no more energy in the battery. Thus, at t = 80 we have to charge the battery to continue the execution, and task τ 3 will miss its deadline at t = 120.

However, using Formula 1, we prove that the problem is feasible. Thus there exits a feasible schedule for this problem. Using the feasible trace generated by the tool Uppaal, we compute the schedule represented in Figure 9. In this schedule, at t = 6, the first instance of task τ 2 has a lower priority than task τ 2 , while it is the contrary at t = 11. At t = 40, all the tasks are active and the battery level is equal to E max = 12, thus this schedule can be repeated infinitely with no deadline miss and an energy level always positive.

Minimize the Number of Battery Mode Change

Using Formula 3, we built the schedule that minimizes the number of battery change modes for the problem P 5 . Figure 10 Finally, we prove that neither EDF nor P F P algorithms can schedule the problem P 6 where E max = 14 and the minimal tolerated battery level is e min = 2. However, using Formula 2, we prove that the problem is feasible and a scheduling algorithm can be computed. The schedule computed using the feasible trace produced by Uppaal is similar to the schedule of Figure 9.

Conclusion

In this paper, we have presented how to use model checking to solve a scheduling problem under energy constraints. We first formalized the problem and then provided a feasibility test and schedulability tests for PFP and EDF. We then showed how to compute a feasible schedule if one exits. Our approach also permits to derive the optimal characteristics of a battery to make a given realtime problem feasible. The studied characteristics are the minimal and maximal reached energy levels, the number of battery mode switches between charging and discharging, and finally the number of preemptions. One can extend this study to other criteria by proposing an appropriate CTL formula. Using the tool Uppaal, we experimented our model on some examples to validate the approach.

To be able to model preemptions using timed automata, we had to restrict the authorized schedules to fixed priority at job level ones and to allow recharging of the battery only at the beginning of a task if this task is preempting another one.

As future work, we have to formalize the memory complexity of generated

10 Figure 1 :

 101 Figure 1: EDF asap : Battery B(10, 2) and e 1 = e 2 = e 3 = 1

Figure 3 :

 3 Figure 3: Restrictions on Preemption

1 bFigure 4 :Figure 5 :Figure 6 :

 1456 Figure 4: The Automaton for a Battery B(E max , e bat )

  a state of the automaton T ask i and v(c i ), v(d i ) are the clocks valuations of c i and d i respectively, 2. s b is a state of the automaton A B and v(b) is a clock valuation of clock b,

6. 1

 1 P 1 = (Σ, B 1 (10, 2)) with: e 1 = e 2 = e 3 = 1

3 EFigure 7 :

 37 Figure 7:P F P 2,1,3 Schedule: Battery B(13, 7) and e 1 = 3, e 2 = e 3 = 1

6. 3

 3 P 3 = (Σ, B 3 (14, 7)) with: e 1 = 3, e 2 = e 3 = 1

6. 5

 5 P 5 = (Σ, B 5 (12, 7)) with: e 1 = 3, e 2 = e 3 = 1

3 Figure 8 : 3 EFigure 9 :

 3839 Figure 8:Not Schedulable for EDF asap : Battery B(12, 7) and e 1 = 3, e 2 = e 3 = 1

3 Figure 10 :

 310 Figure 10:Uppaal Feasible Schedule With Minimal Change Mode of the Battery: Battery B(12, 7) and e 1 = 3, e 2 = e 3 = 1

in the sense that they produce a non feasible schedule iff it does not exist any algorithm in the same class that can correctly schedule the system.

note that the scheduling policy has to be a fixed priority at job level one, according to Restriction 1.

on-line schedulers. For that, we first have to characterize the worst execution case of this scheduling problem.

Modeling more realistic recharging behaviors must also be studied. Both in terms of energy availability from the environment (e.g. sunshine previsions), and in terms of the physical capabilities of the storage unit used. For example, at equivalent power supply, a chemical battery will not store energy at the same rate and following the same process as a capacitor.


Sofia Benyahya
email: sofia.benyahya@enscm.fr

Bernard Boutevin
email: bernard.boutevin@enscm.fr

Sylvain Caillol
email: sylvain.caillol@enscm.fr

Vincent Lapinte
email: vincent.lapinte@univ-montp2.fr

Jean-Pierre Habas
email: jean-pierre.habas@univ-montp2.fr

Optimization of the synthesis of polyhydroxyurethanes using dynamic rheometry

Keywords: poly(hydroxyurethane), rheology, glass transition temperature, renewable resources, entanglement, molecular weight poly(hydroxyurethane), rheology, glass transition temperature, renewable resources, molecular weight

come

-Introduction

Polyurethanes are very interesting polymeric materials that allow a huge variety of industrial applications from paints, adhesives and binders to materials for aeronautic industry (propellants).

They are synthesized from diol and diisocyanate reactants that produce a carbamate (urethane) bond. According to the nature and length of diol chains, a large range of polyurethanes can be developed with specific physico-chemical properties. This versatility explains the spreading of polyurethanes over the world. Polyurethanes remain at the 6 th position (tons) of most used polymers in the world. The major problem of polyurethanes is related to the toxicity of diisocyanate precursors. [1] A non-hazardous for human and environment isocyanate-free route to generate carbamate groups is based on a reaction between a cyclocarbonate and an amine. [2][3][4] Various methods of preparation of cyclocarbonates have already been described. [5] A first chemical route is based on the use of carbon dioxide with either epoxy resins or 1,2-diols. [6][7][8][9] A second approach consists in preparing five-membered ring cyclocarbonates from phosgene and 1,2-diols. [10][11][12] A third method lies in a trans-carbonatation reaction by an exchange between organic carbonate and hydroxyl compound. [START_REF] Yeo | US Patent[END_REF] An alternative route consisting in the reaction between urea and 1,2-or 1,3-diols is another carbonatation method. [START_REF] Bhanage | [END_REF][15] Finally, a last methodology uses the direct esterification of glycerin cyclocarbonate with carboxylic acid or acyl chloride to yield corresponding ester bearing cyclocarbonate. Reaction with acyl chloride is rapid and quantitative, whereas carboxylic acid lead to slow and reversible reactions (transesterification). [16] As mentioned hereabove, cyclocarbonates are valuable for the synthesis of isocyanate-free poly(urethane)s also designed as poly(hydroxyurethane)s or PHUs. This class of polymers arises a great interest in the academic and industrial communities. [17][18][19] important fundamental work with the synthesis and description of different kinds of linear poly(hydroxyurethane)s. [10][11][12][20][21][22] The approach based on cyclic dicarbonates and diamines was also retained by Burgel and Fedtke to prepare other thermoplastic PHUs. [23] In fact, a large range of poly(hydroxyurethane)s could be prepared and their characteristics were interpreted as being influenced by the nature of the diamine and cyclocarbonate comonomers. [4,16,21,24,25] For instance, Ubaghs prepared PHU series from the reaction of phenoxycarbonyloxymethyl ethylene carbonate with five linear aliphatic diamines H 2 N-(CH 2 ) n -NH 2 , n ranging from 2 (i.e. 1,2-diaminoethane) to 6 (i.e. 1,6-diaminohexane). [16] Its research showed in particular that the glass transition temperature (Tg) of the PHU decreased with increasing number of methylene groups in the diamine structure, i.e. with growing flexibility of the chain between the hydroxyurethane groups (Table 1).

Insert Table 1.

Steblyanko conducted an analogous investigation with thermoplastic PHUs produced by the reaction between an aromatic dicyclocarbonate and various diamines. [4] But, in this latter case, the author did not observe a continuous decrease of the polymer Tg with the size of the diamine chain (Table 2). The highest value was obtained with the material based on a sequence of three methylene units. The reported evolution could remind the even-odd effect due to the number of methylene units and that was already described with some polyamides [26][27][28] and polyurethane ureas. [29] But, in these particular cases, the critical temperatures of the polymer (Tg and/or melting point) are always lower when there is an odd number of methylene groups in the diamine. Indeed, for an even number of methylene units the packing of the crystals is operated in planar zig-zag conformation while an odd number of CH 2 groups does not allow the same regular packing. It is important to note that in ref [4], the evolution of the Tg is purely contrary. So, the even-odd effect seems not to be relevant for PHUs.

Insert Table 2.

A new apparent contradiction as regards PHUs properties could be reported by the comparison of two researches dealing with the properties of a same poly(hydroxyurethane) formed by the stepgrowth polyaddition of another aromatic dicyclocarbonate with hexamethylene diamine. In the first study [21] , the Tg of the polymer was measured close to 34°C while it was about 47°C in the second one. [25] These important discrepancies seem to show that the conditions used for the synthesis of these PHUs were not optimal. In each case, the conditions of time and temperature were fixed without any form of justification. To our knowledge, no work examined the influence of these synthesis parameters on the final characteristics of PHUs. In other words, PHUs properties described up to now do not probably reflect the real potential of this class of polymers. Given this situation, we wished to report here an efficient methodology, based on the use of rheometry, to synthetize PHUs under optimal conditions. To illustrate our approach, a new poly(hydroxyurethane) was prepared by reaction between an aromatic dicyclocarbonate named terephthaloyl dicyclocarbonate (DCter) and an aliphatic diamine, 1,10-diaminodecane (DA10) (Scheme 1). As rheological measurements can usually be carried out on polymers of very different nature ranging from the solid to the liquid state, we proposed two routes to evaluate the best temperature and time conditions that lead to a DCter-DA10 PHU with optimal properties. The first method consisted in conducting thermomechanical experiments directly on the reactive mixture to determine the temperature range where the polymerization occurred. In addition, rheological The second method was based on the description and understanding of the thermomechanical behavior of samples made of the same poly(hydroxyurethane) but prepared according to variable synthesis conditions. The glass transition temperature and the molecular weight between entanglements were chosen as evaluation criteria. The consecutive confrontation of these results was undertaken with the information obtained by SEC and DSC techniques to examine the real merits of the rheological methodology.

Insert Scheme 1

-Experimental Section

-Materials

The aromatic dicyclocarbonate named terephthaloyl dicyclocarbonate (DCter) was prepared by esterification of terephthalic acid using glycerin cyclocarbonate according to a methodology already reported. [30] 1,10-Diaminodecane (DA10) was purchased from Aldrich (Aldrich, France). Dimethylformamide (DMF) from SDS Carlo Erba (Val de Reuil, France) was dried according to current methods, distilled and stored under argon atmosphere before final use. DMSO-d 6 was purchased from Eurisotop (Saint-Aubin, France). refractive index detector. Two PLgel 5 µm MIXED-C 600 mm were used at 70 °C with a 0.8 mL min -1 flow rate of DMF, calibrated using PMMA standards.

-Physicochemical characterization

-Analytical techniques

-Physical characterization

Differential scanning calorimetry (DSC) analyses were performed with a calorimeter DSC1 from Mettler Toledo. The polymer was set in an aluminium pan that was consecutively placed in the measurement heating cell and an empty pan was used as reference. These calorimetric experiments were realised under inert atmosphere with a heating rate fixed at 10 °C min -1 . The thermo-oxidative stability of the polymer was examined using a TGA Q50 apparatus from TA Instruments ® under air flow (25 mL min -1 ). The analysis consisted in registering the weight loss of the sample as a function of temperature from the ambient up to 550 °C. The temperature ramp was set at 10 °C min -1 . Rheological experiments were performed using a stress-controlled dynamic rheometer (AR2000Ex from TA). This apparatus was equipped with an environmental testing chamber to allow the registering of the complex shear modulus G* = G' + j G" under precise control of the temperature. The component G', called "storage modulus", represents the mechanical rigidity of the sample (i.e. its elastic contribution) whereas the loss modulus G" relates to the dissipated mechanical energy. The behaviour of the reactive mixture was investigated using a cup-plate geometry that was suitable to characterize an evolutive system from the liquid to the solid state (Scheme 1). The inner diameter of the cup was 25 mm while the upper plate was much smaller (10 mm) to prevent undesirable side effects. The spectromechanical behavior of the polymer was characterized with the same rheometer but equipped with parallel plates geometry (diameter 25 mm) under fixed temperature and with an angular frequency ranging from 10 -2 to 100 rad s -1 in decreasing mode. Rectangular torsion geometry was judged more adapted for characterizing the thermomechanical response of the polymer from the solid state. In this latter case, typical dimensions of the specimens were 40 mm x 8 mm x 1 mm. The thermomechanical tests were carried out at a heating rate of 3° °C min -1 from -150 °C up to the molten state and at a constant oscillating angular frequency (ω=1 rad s -1 ).

The reproducibility of our rheological results was checked repeating twice our analyses. As regards the polymer Tg, the uncertainty of measurement was found to be ± 1 °C

-Synthesis of poly(hydroxyurethane)s from DCter and DA10

2 g of DCter (5.46 mmol) and 0.45 mL of DA10 (5.46 mmol) were introduced in a schlenk under nitrogen flux and solubilized in 4 mL of freshly distilled DMF. The mixture was stirred during 48 h at a fixed temperature but ranging from 70 °C to 120 °C. After completion of the reaction, DMF was removed by evaporation and the residue was dissolved in methanol (5 mL) and precipitated with diethyl ether (5 mL). The product was obtained as a white solid. In the case of a reaction temperature of 75 °C, the yield was about 95 %.

-Thermomechanical analysis

It is well established by now that the polymerization of a reactive mixture can be studied using a large range of experimental methods including differential scanning calorimetry. We used this technique to investigate the reaction between the dicyclocarbonate DCter and diamine DA10 units in DMF. Unfortunately, no exothermic phenomenon was detected in the thermogram from ambient temperature up to 150 °C. Nevertheless, chemical analyses of the sample at the end of the calorimetric experiment made undeniable the transformation from the monomer to the polymer. Consequently, the enthalpy associated to the polymerization was judged too reduced to permit the detection by DSC of the step-growth polyaddition of the comonomers.

Then, a new approach based on the conduction of rheological measurements was explored. A first experiment carried out in dynamic mode consisted in registering the evolution of the rheological behavior of the comonomers in DMF solution as a function of the temperature.

Figure 1 presents the results of the analysis conducted from 30 °C up to 185 °C. In this temperature range, the thermomechanical behavior of the reactive formulation could be divided into five characteristic zones. In the first one ranging from 30 °C to 75 °C, the viscous character of the solution was predominant (G" > G') and the values of both moduli decreased with temperature as observed with classical viscoelastic fluids (zone ). In the following domain that goes from 75 °C to 100 °C, one could observe that the reduction of G' and G" was much less marked. In a second step, both moduli even increased with temperature. Due to this evolution, the zone could be interpreted as being characteristic of the step-growth polyaddition between A new reduction of both rheological curves was observed between 100 °C and 115 °C (zone ).

This evolution was likely provoked by a combination of two effects: i) a reduction of the polymerization rate because of the progressive consumption of the monomers and ii) the resume of the thermo-thinning effect. This latter evolution seemed to show that the polymer formed was a thermoplastic. But, in the zone ranging from 115 °C up to 175 °C, both moduli restarted to continuously rise due to the solvent evaporation. The resulting increase of the polymer concentration also induced a predominancy of the elastic character. For temperatures higher than 175 °C, a rapid increase of both moduli with temperature could be observed once more. At the same time, the color of the molten polymer passed from yellowish to brown and many bubbles appeared. Further TGA analyses performed on poly(hydroxyurethane)s produced at much lower temperature showed that above 170 °C, these phenomena were likely provoked by the polymer degradation.

Insert Figure 1. To complete the rheological characterization of the polymerization process, the kinetic of the reaction was analyzed by the conduction of measurements operated under constant shearing frequency and at different fixed temperatures. According to the thermomechanical data previously reported, the polymerization seemed to produce itself at a temperature comprised between 75 °C and 115 °C. A first kinetic rheological analysis was logically led in this temperature range at T = 80 °C (Figure 2). At the beginning of the analysis, the reactive mixture was a viscoelastic liquid (G" > G'). Afterwards, the values of both moduli quickly increased with time and even tend towards an asymptotic limit. This evolution could be attributed as being a consequence of the polymer formation: the macromolecular chains were much less mobile than the initial monomers what provoked the increase of the complex shear modulus. At this temperature, the viscous character remained predominant because the polymer was still solubilized in DMF.

-Rheological kinetics

Insert Figure 2.

A new kinetic experiment was performed at higher temperature (T = 100 °C). To make easier the comparison of the corresponding data, we plotted in Figure 3 the evolution of the magnitude of the complex shear modulus

"² G '² G G + = *
as a function of the time. For sake of clarity, the only experimental data that are proposed are those which are representative of the first moments of the rheological analysis (t < 4 h). Compared to the kinetic measurements carried out at 80 °C, the increase of the moduli at T = 100 °C occurred at a higher rate. This was attributed to the temperature activation of the reaction between DCter and DA10. Then, a last rheological kinetic was undertaken at T = 120 °C. Even if this temperature was located above the polymerization range determined previously in dynamic mode, the step-growth was judged likely to occur. Apparently, the temperature of 120 °C did not provide any acceleration of the polymerization process. Indeed, the evolution of the shear modulus in the first times was almost confounded with that registered at T = 100 °C. This result indicated that a temperature of 120 °C was likely excessive to guaranty a polymerization process of quality. The higher final value of the modulus was attributed to the solvent evaporation. This phenomenon was considered as an undesirable phenomenon responsible of reduction of the monomers dissolution and consequently their lower reactivity. In other words, better polymerization conditions seemed to be encountered for T close to 100 °C.

Insert Figure 3.

-Study of the poly(hydroxyurethane)

The influence of the synthesis parameters was also evaluated by the study of the final properties of the polymer. For this purpose, different poly(hydroxyurethane) samples, A to D, were synthesized at specific temperatures T p comprised between 75 °C and 120 °C but by keeping constant the reaction time (Table 3). This latter parameter was fixed at 48 h because this duration was found sufficient to observe the stabilization of the moduli in the different rheological kinetics.

Insert Table 3. Taken down at the midpoint, the Tg was measured at 48 °C. In the temperature domain explored, no endothermic phenomenon, related to the melting of a crystalline phase, was detected. Then, the poly(hydroxyurethane) sample was considered as being fully amorphous. This seemed logical since the material aspect was yellowish and transparent. Similar conclusions were obtained with the other samples A, C and D whatever the conditions used for the synthesis. Nevertheless, little differences could be noted in the values of the glass transition temperature.

-Calorimetric and SEC characterizations

Insert Figure 4.

The higher values of Tg were obtained for the polymerizations conducted in the range 90-100 °C (Table 3). A temperature T p = 120 °C seemed excessive since it provoked the formation of a polymer (sample D) with a reduced value of glass transition temperature. These results were consistent with the first conclusions proposed after the rheological kinetic studies. To go further in the scientific discussion, SEC analyses were conducted on the different samples A, B, C and D. The corresponding data, also presented in Table 3, showed that the average number molecular weight of the poly(hydroxyurethane) was closely dependent on the temperature used during the synthesis step. The higher value (M n = 20000 g mol -1 ) was obtained with the temperature of 90 °C (sample B). But, this synthesis temperature also produced at the same time a maximal polydispersity index I p . At T p = 120 °C, the value of the molecular weight was much lower (8000 g mol -1 ) bearing out that this temperature was less convenient for the polymer synthesis due to the parasitic evaporation of the solvent. In fact, all these data agreed with the hierarchy proposed previously from the rheological and calorimetric experiments.

-Rheological properties of the poly(hydroxyurethane) samples

Further characterization of the different samples of poly(hydroxyurethane) focused on the evolution of their viscoelastic properties as a function of temperature. Figure 5 shows as example the thermomechanical profile registered with the polymer synthesized at 90 °C (sample B). This rheological analysis indubitably showed that the poly(hydroxyurethane) was an amorphous thermoplastic polymer. Indeed, different characteristic zones were successively observed. In the low temperature region (T < 40 °C), the material was in the glassy state (G' ∼ 10 9 Pa). Afterward, the curve of the elastic modulus G' showed a deflection while the G" curve presented a relaxation peak. Both phenomena were attributed to the mechanical relaxation of the amorphous chains during the glass transition of the polymer. The polymer Tg could be evaluated by taking the temperature at the maximum of the peak on the G".

Insert Figure 5.

Above this critical temperature, the decrease of the shear modulus with temperature was important but the elastic response became again predominant in the temperature ranging from T = 58 °C up to T = 81 °C. This domain, characteristic of the rubbery zone of the polymer, revealed that the polymer chains constituting the sample B presented an average molecular weight that was high enough to permit the formation of entanglements. [START_REF] Ferry | Viscoelastic properties of polymers[END_REF][START_REF] Treloar | The physics of rubber elasticity[END_REF] The molecular weight between entanglements M e in this temporary network could be evaluated according to the classical theory of rubber elasticity and using the following equation: [START_REF] Everaers | [END_REF][START_REF] Addad | Polymères, la matière plastique[END_REF] where ρ is the polymer density (taken close to 1000 kg.m -3 ), R the gas constant (8.31 J mol -1 K -1 ), ' r G the value of the elasticity taken down at the middle of the rubbery zone and T the corresponding temperature. Finally, the flow zone of the polymer, characterized by G" > G', was observed for T > 81°C. No crystalline plateau was detected during the thermomechanical analysis. Then, considering that this polymer should verify the equivalency time-temperature, spectromechanical analyses were carried out at various fixed temperatures. Taking as a reference that registered at the lowest temperature (T = 55°C), a master curve could be easily built by translation of the other analyses along the ω-axis (Figure 6). This analysis made it possible the plain description of the different domains previously detected by the thermomechanical experiment. Actually, the rheological behavior initially detected at high temperature was observed at low frequency and vice-versa. [START_REF] Ferry | Viscoelastic properties of polymers[END_REF] At ω < 3 10 -3 rad s -1 , the flow zone of the polymer was clearly shown. The rubbery zone was identified for ω ranging from 3 10 -3 to 1.5 10 -1 rad s -1 .

For higher ω values, the increase of both moduli was characteristic of the transition zone. The thermoplastic and amorphous characters of DCter-DA10 PHU were considered as indisputable.

In that sense, this PHU was considered as quite different from the poly(hydroxyurethane)s developped by Javni [START_REF] Javni | [END_REF] , Diakoumakos [36] , or Webster. [37] It resembled more to the class of PHUs proposed by Kihara [21] or Rokicki. [38] Insert Figure 6.

The characterization of the thermomechanical response of the other poly(hydroxyurethane) samples (A, C and D) led to the same conclusions about the polymer morphology (Figure 7). 3). A direct confrontation of our results with that reported in the literature was considered as really interesting. In particular, we chose to use the data summarized in Table 2 because they were registered with PHUs made with the same dicyclocarbonate DCter. The only difference was brought by the diamine length. Our material was based on 1-10-diaminodecane that was expected to be logically more flexible than 1-3-diaminopropane and 1-6 diaminohexane used by Steblyanko. [4] In other words, our polymer would have to present the lowest Tg but the reverse case was observed. This result confirmed the necessity to investigate for each kind of PHU, the best conditions of time and temperature used during the synthesis step. As evidence, these latter factors should not be considered as universal parameters.

Insert Figure 7.

Going further in the description of the samples A to D, one could note that the trend established from the Tg values agreed with the classification that can be built from the SEC data (Table 3).

More precisely, the evolution of the PHUs' Tg as a function of the average molecular weight M was satisfactorily described using the equation ( 2) initially proposed by Fox and Flory but modified by Bicerano:

[39] M / ) ( Tg 715 . 2 ) ( Tg Tg 3 ∞ × - ∞ = (2)
where Tg(∞), expressed in Kelvin, is the value of Tg for very high molecular weight and M the average molecular weight (kg mol -1 ). The best adjustment of the experimental data in Figure 8 with eq.2 was obtained with Tg(∞) = 325 K = 52 °C. This latter value was evaluated quite close to the Tg of the sample B (Tg = 48 °C) assessing once more that this PHU was synthesized with excellent conditions of temperature and time.

Insert Figure 8.

Besides the glass transition temperature, the value of molecular weight also influenced the existence and the size of the rubbery zone. As defined before, this domain was encountered for the polymer B from 58 °C to 79 °C and at a lower extent for the sample C from 56 °C up to 70 °C (Figure 7). In other words, the rubbery zone was more extended of 7 °C in the case of sample B in comparison with polymer C. This seemed logical since the former was characterized by a higher molecular weight. Anyway, this experimental temperature difference T = 7 °C agreed with the value calculated using the Equation 3: [START_REF] Ferry | Viscoelastic properties of polymers[END_REF] ( )

C B M / M log 100 T × = ∆ (3)
with M B and M C are the respective average weights of the poly(hydroxyurethane)s B and C.

Inversely, the rubbery state was not observed for the polymers of lowest molecular weights entanglements were possible could be evaluated according to Graessley theory: M c = 2.5 M e = 12500 g mol -1 . [40][41][42] This result is worthy of note because it seemed to be able to justify why the samples B and C, characterized by an average number molecular weight M n > M c , were the only ones to present a rubbery plate. Once more, the synthesis temperature T p conducting to a polymer with enhanced mechanical properties was found to be close to 90 °C with a synthesis period of 48h.

-Conclusion

This paper proposed an original methodology based on dynamic rheometry in order to determine the best synthesis conditions attached to a PHU produced from the reaction between DCter and DA10 polymer. A first way consisted in using the rheometer as an instrumented reactor to investigate with dedicated experiments, the temperature domain and the kinetic characteristic of the step-growth polyaddition. It quickly showed that the polymerization required a minimal temperature close to 80 °C. At the same time, the reaction should not be carried beyond 120°C due to the beginning of the solvent evaporation. The second approach investigated the thermomechanical characterization of different poly(hydroxyurethane)s prepared with the same co-monomers but according to arbitrary conditions. It presented the great advantage to furnish useful information to evaluate the quality of the final PHU. If the glass transition temperature could be used as a reliable criterion, our research showed that the characteristics of the rubbery zone earned to be exploited in terms of molecular weight. These results allowed the accurate definition of the time and temperature conditions that had to be retained during the synthesis step in order to produce a PHU with optimal properties. Both rheological methods agreed to designate the synthesis temperature of 90°C as ideal for the production of polymer chains with high molecular weight. If the viscoelastic data agreed with the results obtained separately by SEC analyses and DSC techniques, it is important to remind that rheometry offered a more complete description of the poly(hydroxyurethane). Ultimately, the good correspondence between experience and several theoretical concepts was considered as another evidence of the effectiveness of the method. The possible application of this rheological methodology to other dicyclocarbonate-diamine couples will be examined in a future work.

F

  to define the time to complete the reaction at several fixed temperatures.

1 H and 13 C

 13 spectra were recorded on a Bruker DRX 400 MHz spectrometer operating at a frequency of 400 MHz. IR spectra were obtained with a Nicolet 210 FTIR. Size exclusion chromatography (SEC) was performed on a Varian ProStar Model 210 equipped with an RI

1 H

 1 NMR (DMSO d 6 ) δ (ppm): 8.11-8.05 (4H, CH aro ), 7.18-7.16 (2H, NH), 5.37-4.00 (5H x + 5H y , CH-O and CH 2 -O), 3.57 (OH), 2.92-2.90 (4H, CH 2 NH), 1.33-1.18 (16H, CH 2 of diamine).

13 C

 13 NMR (DMSO d 6 ) δ (ppm): 164.63 (C=O ester ), 155.62 (C=O urethane ), 133.31 (C aro ), 129.26 (CH aro ), 66.10-66.31 (CH 2 -O), 64.42 (CH-O), 39.68 (CH 2 -N), 28.77 (CH 2 of diamine), 26.02 (CH 2 -CH 2 -NH). FTIR (KBr) ν (cm -1 ): 3338 (OH), 1701 (C=O, urethane), 1542 (NH, urethane).

1 -

 1 Rheological characterization of the reactive mixture in DMF solution

10 DCter

 10 and DA10. Indeed, the formation of macromolecular chains was expected to produce an increase of the viscoelastic moduli. The effect was much more significant with the storage modulus because of the progressive increase of the relaxation time of the material. Nevertheless, the polymer in solution presented a rheological response characteristic of a viscoelastic liquid due to the presence of DMF solvent. NMR analyses conducted on samples issued from the reactive mixture submitted to a regular heating were performed to verify the reaction temperature onset.The formation of characteristic bands of the poly(hydroxyurethane) were detected for T ~ 75 °C what appeared consistent with the interpretation of zone .

13 Calorimetric

 13 experiments were undertaken from -50 °C to 150 °C to determine the glass transition temperature of each polymer and investigate the possible presence of a melting zone.An example of thermogram is proposed in Figure4and concerns the sample B. A discontinuity in the calorimetric signal was interpreted as being characteristic of the polymer glass transition.

  glass transition temperature taken down at the maximum of G" curve differed from one sample to the other. The different values remained close to that obtained previously by calorimetry (Table

(G = 5 .7 10 5

 55 samples A and D). If it is well-known that entanglements can only be formed if the polymer size exceeds a critical size, the exploitation of the specific data of the sample B was considered as useful to estimate the threshold value. The elastic modulus taken at the middle of the rubbery zone presented a value ' r Pa at T = 63 °C = 336 K. Considering that the polymer density was unity, the molecular weight between entanglements M e calculated according to equation (1) is close to 5000 g mol -1 . Then, the critical number-molecular weight M c above which

23 CAPTIONSFigure 1 .

 231 Figure 1. Effect of the temperature on the rheological properties of the reactive mixture (G' :

Figure 2 .

 2 Figure 2. Evolution of the viscoelastic properties of the reactive mixture versus time at T = 80°C and ω = 10 rad s -1 with G' : ( ) and G" : (-).

Figure 3 .

 3 Figure 3. Superposition of the evolution of the magnitude of the complex shear modulus of the

Figure 4 .Figure 5 .

 45 Figure 4. Calorimetric analysis of the poly(hydroxyurethane) B as a function of temperature

Figure 6 .

 6 Figure 6. Master curve of the poly(hydroxyurethane) B built from three spectromechanical

Figure 7 .Figure 8 . 2 Scheme 1 .

 7821 Figure 7. Influence on the synthesis parameters on the final thermomechanical properties of the

Figure 1 .

 1 Figure 1. Effect of the temperature on the rheological properties of the reactive mixture (G':

Figure 2 .

 2 Figure 2. Evolution of the viscoelastic properties of the reactive mixture versus time at T = 80°C and ω = 10 rad s -1 with G' : ( ) and G" : (-).

Figure 3 .Figure 4 .Figure 5 .ModuliFigure 6 .

 3456 Figure 3. Superposition of the evolution of the magnitude of the complex shear modulus of

Figure 7 .

 7 Figure 7. Influence on the synthesis parameters on the final thermomechanical properties of

Figure 8 . 2 PageScheme 1 .Table 1 .Table 2 .Table 3 .

 821123 Figure 8. Evolution of the Tg of the DCter-DA10 PHU as a function of the average molecular

  Endo et al. undertook an

	F o
	r
	P
	e e r
	R e v i e w
	4

Page 10 of 37 http

	Polymer International
	F o
	r
	P
	e e r
	R e v i e w
	11

://mc.manuscriptcentral.com/pi-wiley

Page 18 of 37 http

	Polymer International
	F o
	r
	P
	e e r
	R e v i e w
	19

://mc.manuscriptcentral.com/pi-wiley

  Prediction of Polymer Properties, Marcel Dekker, New York, , Ch. 6, 3 rd Ed.

	38. Rokicki G and Piotrowska A, Polymer, 43: 2927-2935 (2002).
	39. Bicerano J, in (2002)
	40. Graessley WW, in Physical properties of polymers, Cambridge University Press, 3 rd Ed. Ch.
	3, 153-208 (2003).
	41. Fetters LJ, Lohse DJ, Milner ST and Graessley WW, Macromolecules, 32: 6847-6851
	o F o F o 42. Kausch HH, Heymans N, Plummer CJ and Decroly P, in Matériaux polymères: propriétés (1999).
	r r r mécaniques et physiques, Presses polytechniques et universitaires romandes, Ch. 8, 243-254
	(2001).	P P P
		e e r e e r e e r
		R e v i e w R e v i e w R e v i e w
		20 22

Table 1 .

 1 Influence of the diamine length on the Tg of PHU based on a same aliphatic

	cyclocarbonate

Table 2 .

 2 Tg values characteristic of PHUs obtained by the reaction of a same aromatic dicyclocarbonate with different aliphatic diamines

Table 3 .

 3 Synthesis conditions and properties of the different samples of DCter-DA10

	Polymer International	Page 24 of 37
	poly(hydroxyurethane)

http://mc.manuscriptcentral.com/pi-wiley

1 For Table of Contents Use Only Optimization of the synthesis of poly(hydroxyurethane)s using dynamic rheometry.

Sofia Benyahya, Bernard Boutevin, Sylvain Caillol, Vincent Lapinte, Jean-Pierre Habas*

The temperature and time of polymerization reactions that lead to poly(hydroxyurethane)s with optimal properties have been determined according to rheological studies.

Table 3 . Page 32 of 37 http

 3

	Polymer International

://mc.manuscriptcentral.com/pi-wiley

http://mc.manuscriptcentral.com/pi-wiley Polymer International