Stéphane Conversy
email: stephane.conversy@enac.fr

Improving Usability of Interactive Graphics Specification and Implementation with Picking Views and Inverse Transformations

Keywords: Usability of programming, Graphical Interaction, Specification, Implementation, Picking views, Inverse Transforms I

Specifying and programming graphical interactions are difficult tasks, notably because designers have difficulties to express the dynamics of the interaction. This paper shows how the MDPC architecture improves the usability of the specification and the implementation of graphical interaction. The architecture is based on the use of picking views and inverse transforms from the graphics to the data. With three examples of graphical interaction, we show how to express them with the architecture, how to implement them, and how this improves programming usability. Moreover, we show that it enables implementing graphical interaction without a scene graph. This kind of code prevents from errors due to cache consistency management.

INTRODUCTION

Interactive system programming is difficult, notably because designers have difficulties to express the dynamics of the interaction [START_REF] Myers | How designers design and program interactive behaviors[END_REF]. Even if interaction is inherently graphical, specifying it and implementing it still relies mainly on textual languages that enlarge the gap between the phenomenon to describe and the description. Furthermore, writing interactive code with calculus-oriented languages are not suitable to describing reactive processes [2][3]. This results in so-called spaghetti [START_REF] Myers | Separating application code from toolkits: eliminating the spaghetti of callbacks[END_REF] code that prevents readability, and that favors the emergence of bugs, notably when the system grows after several increments. Finally, the need to make systems as fast as required by the interaction loop (short duration between user action/machine reaction/user perception) forces the designers to optimize their code, and to make it difficult to read or modify.

We think that these problems pertain to the usability of specification and implementation of interactive graphics. Specifying interaction consists in describing how graphical representations react to user input (referred as "designing" in [START_REF] Myers | How designers design and program interactive behaviors[END_REF]). This is a problem that has been approached before with various languages (including visual), but as noted in [START_REF] Myers | How designers design and program interactive behaviors[END_REF], further work needs to be done to facilitate this task. Implementation pertains to the process with which a programmer can turn a specification into executable code. Again, various approaches aimed at improving the transition, and the readability of interaction code. However, we think that a number of unimportant considerations hinder readability of code, and that a better architecture is necessary.

In this paper, we rely on a particular architecture to ease specifying interactive graphics, and to ease implementation of interactive graphics. The specification narrows the gap between the phenomenon and its description. The implementation paradigm enables to use a data-flow architecture, which is more readable and more manageable than imperative code. We first present the pattern on which this work relies. After discussing a number of dimensions of analysis, we then show three examples of interactive graphics, and discuss why we think their specification and their implementation is more readable and understandable.

II. MDPC

This section briefly introduces MDPC, the pattern we used (more details are available in [START_REF] Conversy | Improving modularity of interactive software with the MDPC architecture[END_REF]). MDPC (Model -Display view -Picking View -Controller) relies on two principles: "picking views", and "graphical transformations". Picking views are invisible graphical objects that reify spatial modes of interaction. A spatial mode is the spatial equivalent of a temporal mode: different behavior in function of space, versus different behavior in function of time. Figure 1. shows the "display view" of a hierarchical menu (top left), and the corresponding picking view when the user is navigating in the menu (top right). The (transient) triangle laid over the menu in the picking view enables to reach the sub-menu entries while avoiding submenu folding. Picking views have two benefits. First, they help managing the dynamic of the states of the interaction (here the transient triangle), as opposed to the graphical state of the display. Second, they enable to avoid analytical computation of spatial relationships (here a movement with a direction below 45°) by using Enter/Leave events generated by the underlying graphical toolkit.

Graphical transformations are functions that transform the conceptual model into graphics. MDPC uses two graphical transformations: one for the display view, and one for the picking view. Figure 1. shows the affine transforms applied to the model (two values between 0 and 1) to generate the display view and the picking view of a horizontal scrollbar. Computing the inverse transformations enable to translate a graphical interaction (say a drag of the thumb) into operations on the model (translation of both values). MVC was the result of the application of the separation of concerns principle on interactive code [START_REF] Reenskaug | Models -views -controllers[END_REF] that aims at improving modularity. MDPC [START_REF] Conversy | Improving modularity of interactive software with the MDPC architecture[END_REF] is a refinement of the MVC architecture (hence the name MDPC: the View in MVC is split in D and P, Display View and Picking view), and can be considered as the application of separation of concerns down to the MVC Controller itself (see Figure 2. ). By using a picking view and inverse transforms, MDPC offloads from the MVC Controller the management of interactive state, and the translation of events into operations on Model. This makes the Controller code much simpler, almost eliminates the apparent impossibility to decouple the Controller and the View, and makes Views and Controllers invariant from geometrical and layout transforms. This also improves modularity, since the Controller can be made more general and reusable. For example, the same Controller can be used for various species of scrollbar (arrows at both extremities, at each extremity, on the thumb; horizontal, vertical, and radial layout). MDPC has been shown to make possible entirely "model driven" implementation of scrollbars, sliders, range-sliders and hierarchical menus.

III. DIMENSIONS OF ANALYSIS

We think that MDPC is also beneficial to the specification of interactive graphics, and to their implementation. More precisely, using MDPC as a pattern helps at both designing the specification, and designing the code. As such, MDPC can be considered as a method that improves the usability of programming.

Usability of "programming" (taken in the large, i.e including specification and implementation) is the extent to which an environment (including language, pattern, IDEs etc) can be used to achieve programming tasks with effectiveness, efficiency, and satisfaction (see [START_REF] Roden | Class Libraries: A Challenge for Programming Usability Research[END_REF] for on application on classes). Usability is difficult to assess, because it requires longitudinal studies with a large number of designers (as defined in [START_REF] Myers | How designers design and program interactive behaviors[END_REF]). Since we have not done such studies in this work, we provide predictive evaluation of specification usability and implementation usability along three properties.

The first property that we assess is the descriptive power. i.e. the extent to which a designer using MDPC is able to specify and implement existing graphical interactions. This is a prerequisite for designers if we want them to be effective: they will not be able to design an intended interaction if the architecture does not allow for it. In the next section, we present three examples of specification and implementation of interactive graphics: Drag'n'Drop with hysteresis (direct manipulation technique [START_REF] Shneiderman | Direct Manipulation: A Step Beyond Programming Languages[END_REF]), Magnetic guides (instrumental interaction technique [START_REF] Beaudouin-Lafon | Instrumental interaction: an interaction model for designing post-WIMP user interfaces[END_REF]), and a Calendar (complex representation combined with direct manipulation). Together, those examples aimed at showing that MDPC expressive power is sufficient to specify a large range of graphical interactions. In addition, we describe two kinds of implementation, one based on a scene-graph (D'n'D, Magnetic guides), and the other one based on a data-flow (Calendar). We show code snippets to help explain the implementation, to convince the reader that the implementation actually exists and runs, and to help the reader replicate this work.

The second property that we assess is simplicity of description. Even if MDPC has a sufficient descriptive power, it would be useless if the description itself were cumbersome to specify and program. We provide an evaluation of simplicity of description by using concepts from the Cognitive Dimensions of Notation framework (CDN) [START_REF] Green | Cognitive dimensions of notations[END_REF], and from a list of desirable properties employed in the literature (see [START_REF] Letondal | Usability requirements for interaction-oriented development tools[END_REF] for a survey).

The third property that we assess is the performance (implementation only). However elegant an implementation is, its usefulness can be reduced if performances are too weak. Hence, we also discuss this aspect.

IV. DRAG'N'DROP WITH HYSTERESIS

The first example is the Drag'n'Drop with hysteresis, a direct manipulation technique. Drag'n'Drop with hysteresis forces the user to move passed a small minimum distance from the ButtonPress position, before effectively triggering the Drag operation. This prevents the system from misinterpreting a Selection for a Drag'n'Drop: when selecting a graphical object with a click (ButtonPress then ButtonRelease), one or a few « Move » events may occur between the button events, because the mouse slips due to the force applied by the pointing finger on the button. This makes the system misinterpret a Selection for a Drag'n'Drop, and moves the selected object by a slight but undesirable amount.

A. Interaction specification

A traditional analytical algorithm consists in computing at each Move event the distance between the ButtonPress position and the cursor position, testing if the distance is superior to the minimum distance, and moving the object if the test is successful. This necessitates the computation of a Euclidean distance (square root of sum of squares).

1) Description

The version with MDPC consists in drawing an invisible circle centered on the position of the ButtonPress, with a radius equal to the hysteresis distance. Figure 3. shows the display and picking views for explanation purpose: the circle is visible, but in the real system it is not. At the beginning, the cursor is at the centre of the circle. If the cursor does not leave the circle before a ButtonRelease, the interaction is interpreted as a simple Select. If the cursor leaves the circle, the minimum distance is reached, and the Drag can start. The invisible circle is removed, which allows the user to move the object within a distance from its initial position smaller than the hysteresis distance.

2) Simplicity

We think that the MDPC description is closer to the conceptual model of the interaction. In fact, computing at each Move event the distance between the cursor and its initial position is not necessary to specify the interaction. The only needed information is the minimum distance to reach. Since the minimum distance to reach is reified into a circle, the concept of distance crossing is more directly represented. Hence, MDPC improves the Closeness of Mapping cognitive dimension. Finally, the designer can make visible picking view for debugging purpose. By directly seeing the circle on the screen, one can understand how the graphical interactive state behaves, and debugs more easily than with code only. Here, MDPC improves the Visibility cognitive dimension.

B. Implementation

This particular implementation uses the SwingStates toolkit [START_REF] Appert | SwingStates: adding state machines to Java and the Swing toolkit[END_REF]. SwingStates enables programming interaction with state machines directly in java files. The transition between states can be guarded (i.e. a predicate prevents the transition to fire), and be associated with an action when fired. SwingStates relies on a scene graph, i.e. a data structure that retains graphical objects. With SwingStates scene graph, graphical objects may be "tagged": any operation on an object can also be applied on a "tag", which means that any objects with this tag will be modified accordingly. We heavily used this feature in the following code.

1) Description

The state machine of Drag'n'Drop with Hysteresis is shown in Figure 4. When the user presses on an object, the current state becomes "waitHyst", and waits for the hysteresis distance to be crossed. The code of the action associated to the "Press" transition is shown in Figure 5. The picking shape is created (CEllipse, the circle), made invisible, then added to the scene graph. Graphical objects of the picking view are invisible to the user, but react to the mouse events. As said before, one can comment the line that make objects invisible for debugging purpose.

The circle is centered at the location of the cursor: hence, the cursor is inside the circle. The "leave" transition pertains to this circle (code not shown in the figure): when the cursor leaves the circle, the "leave" transition to the "Dragging" state is fired, an action removes the invisible circle from the scene graph, and the user is free to drag the object around.

2) Simplicity

Even if simple, the MDPC-based description of the interaction illustrates how Enter and Leave events are used in place of analytical computation of the Euclidean distance. Hence, the designer is not required to write this code. Of course, one can use abstraction in the code, and call a 'distance' function instead of the computation code, but the MDPC version gets rid of this necessity. This example also illustrates how picking views help manage the dynamics of the interaction state. Finite State Machines are well adapted to MDPC descriptions of the interaction. At each state can correspond a particular picking view, which is active when the state is active. This is similar to the architecture described in [START_REF] Chatty | Revisiting visual interface programming: creating GUI tools for designers and programmers[END_REF]. Again, MDPC improves Closeness of Mapping with interactive state implementation.

3) Performance

Adding a single circle to a scene graph is inexpensive. The generation of Leave/Enter events may actually use a Euclidean distance, hence the computation is the same than the traditional algorithm. V. MAGNETIC GUIDES Magnetic guides are instruments for aligning graphical objects [START_REF] Beaudouin-Lafon | Instrumental interaction: an interaction model for designing post-WIMP user interfaces[END_REF]. During the Drag'n'Drop of an object, if the object is close enough to the magnetic guide, the guide attracts the object: hence, dropping multiple objects on a linear guide makes them aligned. More complex alignments allow for alignment of objects center, but also of their boundaries. More complex guides include Bezier curves.

Alignment with magnetic guides is an example of instrumental interaction [START_REF] Beaudouin-Lafon | Instrumental interaction: an interaction model for designing post-WIMP user interfaces[END_REF]: a Magnetic Guide is an instance of an instrument i.e. action (alignment) reified into an interactive object that control other interactive objects. Magnetic guides are different from a "grid", since they are explicitly defined and manipulated by the user. A. Interaction specification Similarly to the previous example, a traditional analytical algorithm computes the distance between the guides and the dragged object, tests if the distance is inferior to the attraction distance, and sticks the object on the guide if so.

1) Description

Figure 6. shows both the display view (dashed line and green rectangle), and the picking view (gray rectangles, red square) for illustration purpose. With the MDPC pattern, the algorithm consists in drawing an invisible thick line over the guide (thin dashed line on the figure), which thickness is equal to the double of the attraction distance (Figure 6. , gray rectangles), and in registering a callback when the cursor enters or leaves the invisible thick line (events "Enter" and "Leave"). Thus, when the cursor enters the invisible thick line, the object sticks to the guide; when the cursor leaves the thick line, the object sticks to (and thus follows) the cursor.

As said earlier, more complex guides allow for alignment of objects center, but also of their boundaries. With MDPC, this is described with multiple picking zones, placed around the magnetic guides with respect to the geometry of the object, and the position of the cursor relative to the object (Figure 6. , gray rectangles).

Guides may intersect, which allows an object to stick to their intersection, and to preserve alignment with two sets of objects. Drawing two thick lines results in a partial occlusion of one line by the other at the intersection point. With a toolkit that can synthesize Enter and Leave events for occluded objects, no adaptation of the previous algorithm is necessary. However, with SwingStates' event synthesis model, the previous method does not work: the topmost guide would prevent the attraction from the occluded line since no Enter or Leave event would be emitted for the occluded thick line. To solve this problem, it is necessary to define the area of intersection between thick lines, and makes the object stick at the intersection when the cursor is in the intersection area (Figure 6. , red squares).

2) Simplicity

The interaction is complex, and the distances to compute are numerous: there are 6 distances per guide (3 vertical, 3 horizontal), and the reference point from which to compute the distance is not easy to grasp and understand. MDPC encourages the identification of spatial modes of interaction and their corresponding area. We think that thinking in terms of area of attraction is easier. As noted in [START_REF] Myers | How designers design and program interactive behaviors[END_REF], designers often use drawings to explore a solution, and explain them to colleagues. MDPC allows to directly using this drawings to express the interaction. In addition, when the guide themselves are complex (e.g. curves), no additional cost in terms of reasoning is necessary compared to the distance model. Similarly to the Drag'n'Drop example, MDPC thus improves Closeness of Mapping and Visibility.

The intersection area problem induces more coding for the designer than the distance computation model. The MDPC solution seems more complex than computing distances from guide: the burden of describing intersection shapes may no make MDPC as advantageous than claimed. This hinders the Terseness cognitive dimension. However, this problem only occurs with scene graphs that do not generate Enter/Leave events for occluded objects.

B. Implementation 1) Description

This implementation also uses the SwingStates toolkit. The state machine is shown in Figure 7. The interaction begins with the hysteresis interaction described earlier. When crossing the hysteresis distance, the "leave" transition is fired, and the machine enters the "dragging" state.

Picking views are managed in the code of the action associated to the "leave" transition (shown in bold in Figure 7. The code itself is shown in Figure 8. First the previous picking views (hysteresis circle) is removed (a), and replaced by three picking objects per guide (b), to align according to the center and the boundaries of the dragged object. All picking objects are put on the position on the guide at first. The guides for the boundaries are then "spread around" the guide by a distance equal to half the height or width of the dragged object. Then, all guides are moved by a distance equal to the shift between the position of the cursor inside the dragged object, and its boundaries. Each time the cursor enters the picking shape of a guide (a thick line), the machine enters the corresponding state. In the "dragInXXGuide" state, the move transition triggers an action that moves the object along the guide. There is no "move" transition for the "inStickGuide", since no action is necessary.

2) Simplicity

For simple guides, such as horizontal or vertical guides, the computation of the position of the dragged object stuck to the guide is straightforward: one of the Cartesian dimensions is the one from the cursor, and the other is the one from the guide. In the case of a more complex guide, it is necessary to code the computation of the orthogonal projection of position of the dragged object on the guide, and sets its coordinates to the coordinates of the projection.

Since SwingStates does not synthesize Enter and Leave event for occluded objects, the code has to create the picking objects for the intersections. In the simple case of horizontal and vertical guides, the shape of the intersection is a square centered at the intersection of the guides. However, more complex guides may require more complex computation. In this case, MDPC extends nicely to the use of the AND operation of the constructive area geometry, and the computation the shape resulting from an AND between the two thick lines. Some toolkits provide such algorithms (i.e. Java2D Shape API, or OpenGL GLU tesselator [START_REF] Woo | Opengl Programming Guide: The Official Guide to Learning Opengl[END_REF]).

3) Performance

Again, in order to make reasoning easier, the code avoids analytical computation by relying on the algorithms provided by the scene graph. The test for shape belonging does not require a rasterization. Instead, the algorithm in the scene graph may use the distance algorithm that one would have used in the interaction code. Hence performances are similar.

With SwingStates model of events, additional computations of area are necessary. However, those computations happen only once during the interaction (in the transition between "waitHyst" and "Dragging").

VI. CALENDAR

The next example is a Calendar application, with a "week" view on events, such as Apple's iCal or Google Agenda. We have replicated two interactions: "Drag'n'Drop" of calendar events, which allows to move an event in the day, or to move it into another day of the displayed week; and the "Resize" of the duration of calendar events. A. Interaction specification Again, a traditional algorithm uses the positions and analytical distance computation to decide the reaction to user events.

1) Description

With MDPC, the "Display" view of each calendar event is a rectangle (Figure 9. , top). The top side reflects the date and time of the start of the event, while the bottom side reflects the date and time of the end of the event. The width of the event is not tied to the data: it is equal to the width of a column, here a seventh of the window (since a week contains seven day). When multiple calendar events overlap, the corresponding rectangles share the column width.

The picking view of each event is composed of three juxtaposed rectangles (Figure 9. , bottom). The middle rectangle is similar to the rectangle of the display view, and its height depends on the event duration. A Drag'n'Drop of this rectangle allows modifying both the start and end time without The modification of the data is done thanks to an inverse transformation, as explained in the next section.

2) Simplicity

The gain in simplicity is the same as the previous examples: this improves Closeness of Mapping and Visibility.

B. Implementation

The previous examples use Java and a scene-graph. They illustrate the use of picking views for managing interaction state, and for avoiding analytical computation. We implemented the calendar example with Tcl [START_REF] Ousterhout | Scripting: higher level programming for the 21st Century[END_REF] and OpenGL [START_REF] Woo | Opengl Programming Guide: The Official Guide to Learning Opengl[END_REF], and by relying on a data-flow. This demonstrates not only the use of picking views, but also the use of inverse transformations, the second principle of MDPC. It also shows that MDPC is independent from the language, and that MDPC does not require a scene-graph.

1) Description

The architecture is illustrated in (Figure 10. ). Calendar events are stored in a relational database table. The table includes a "start", an "end" and a "title" column. A SQL select allows selecting visible events and computing the value needed for the visualization.

Each frame rendering triggers two OpenGL-based redisplay functions, one for the display view (proc view, display view, Figure 12. ), and one for the picking view (proc view, picking view, Figure 12. ). The display transformation fills pixels in the frame buffer, while the picking transformation fills pixels in an offscreen buffer. Both transformations share a transf function (Figure 12. , middle-left). transf first wraps the data multiple times on X and Y (Figure 11. ). The wrap function (shown in Figure 12. , bottom-left) is more complex than necessary (since we only use the week view), but serves as a demonstration that even a complex function can be reversed. Once wrapping is done, the position in the day is computed, and displayed on the screen's Y dimension quantitatively (yInDay). This leads to a 2-D position expressed in terms of cells (e.g. (3; 4.5)), which is then multiplied by the actual display size of a cell (CellWidth x CellHeight). Finally, the transf function applies a usercontrolled pan and zoom. A final computation shifts the x position of events inside a cell to take into account parallel events (Figure 9. , right). The code that manages user input is shown in Figure 12. right. When the user presses on and moves one of the small rectangles in the picking view of a calendar event, an inverse transformation is applied on the X and Y dimensions of the Move event. Since the position of the rectangles is the result of the application of a continuous and monotonous function on a scalar (a time), it is sufficient to apply the inverse function to the position of the cursor to get the corresponding value in the referential of the data model. The inverse transf is shown in (Figure 12. , middle-right), and the inverse wrap is shown in (Figure 12. , bottom-right). Finally, a SQL query update modifies the data in the data table. After each modification (hence after each movement), the system triggers a redisplay, and the modification is visible immediately.

2) Simplicity

The display is the result of the application of a function on the data. The first advantage is that the understanding of how the model is transformed on the screen is easier to grasp, because it only depends on an identified flow, and is not spread around the entire program (Figure 12. ): in other words, spaghettis untangle [START_REF] Myers | Separating application code from toolkits: eliminating the spaghetti of callbacks[END_REF]. This improves Locality [START_REF] Letondal | Usability requirements for interaction-oriented development tools[END_REF] and thus Visibility. The second advantage is that if the function is a reversible transformation (which is the case here), the design of the function that transforms user manipulations into results on the model is straightforward: it consists in applying inverse sub-functions in reverse order. Moreover, the visualization of the text helps to design such an inverse function, because of the Symmetry [START_REF] Letondal | Usability requirements for interaction-oriented development tools[END_REF] between transformation and their inverse (Figure 12. )When designing the display and the interaction, a good way for a designer to get confidence in the code is to target and reach this symmetry, and verify that at each sub-function corresponds an inverse sub-function.

Using functional code enables the implementation to use a data-flow. When applying modifications to the model, all depending variables (in particular all graphical positioning properties) are recomputed and displayed immediately. There is no need to manage consistency, which reduces the Viscosity cognitive dimension. Variables external to the model also benefit from data-flow. For example, the width and height of a cell depends on the the containing window. When the user resizes the window, the size of cells adapts "automatically".

3) Performance

If it is simpler to manage than analytical computation, this architecture is more costly in terms of computation. For example, it is necessary to recompute at each modification the tessellation and the rasterization of each graphical object. This behavior is similar to 3D applications and games: with 3D scenes, since the point of view may differ for each frame, coders do not bother implementing algorithms that manage damaged zones, and usually redisplay all objects. We have considered that given the computing power at disposal since the advent of 3D games, it is more beneficial to trade performances for ease of coding. Besides, the description with a data flow can help optimizing performances: it is possible to consider the chain of transformation from data to pixels as a compiler, and use automatic optimization provided by a graphical compiler [START_REF] Tissoires | Graphic rendering considered as a compilation chain[END_REF] (partial evaluation, automatic cache, dead-code elimination, etc). Finally, if a data-flow may be more costly in terms of computation, it is less costly in terms of memory since it does not retain graphics. VII. DISCUSSION This section synthesizes the benefits of using MDPC for specification and implementation.

A. Software Engineering

As explained in [START_REF] Conversy | Improving modularity of interactive software with the MDPC architecture[END_REF], MDPC improves modularity of software. The role of the Controller of MDPC is limited to the management of the dynamics of the interaction state. In the Drag'n'Drop and Magnetic guide, the controller is reduced to the state-machine. In the Calendar example, the Controller is the interaction code. Since the Controller is independent from geometrical or layout transforms, it can be reused across multiple interactions. For example, if a pan is applied to the D'n'D or Magnetic guide scenes, there is no need to change the interaction code. This is particularly visible in the Calendar example: the same code can be used regardless of the fact that pan and zoom is handled by the application. One can add a rotation at the end of the transf function, and its inverse at the beginning of the invtransf function (for example to implement interactions from [START_REF] Chapuis | Metisse is not a 3D desktop![END_REF]), with no need to modify further the existing code. The interaction of the user will still be perfectly transformed into operations on the model.

It is important to note that it is the combination of picking view and inverse transformation that enables this feature. Using picking views radically simplifies the code, and avoids the need for complex adaptation of analytical code when one adds a new transformation. And transformations are an abstraction that is both independent from the notion of interactive state, and that can still be applied easily to the reification of interactive state into picking views.

B. Implementation: scene graph considered harmful

The implementation of the calendar system uses a paradigm that contrasts with the paradigm relying on a scene graph. Often, implementers use a scene-graph to retain the properties of the graphical objects, and to optimize the rendering. In fact, a scene graph is a "cache" of the rendering pass. As a cache of graphical properties, it relieves the apparent obligation to retain the graphical objects for subsequent redisplay. As a cache of transforms, it optimizes the redisplay: often, the modification between two frames is minor, and one can expect better performance if previous computation is reused. However, as with any "cache", consistency must be dealt with. Consistency management is known to be error-prone, and even if it seems compulsory to users of scene-graph, it requires care to be taken, hence time and resources, at the expense of other concerns. We think that graphics management, user input management, and data update are hindered by consistency management. The data-flow architecture inherently eliminates cache management problems, since there is no cache anymore.

As for performance of data-flow, we have already noticed that highly demanding 3D applications behave this way, and are efficient. Furthermore, some interaction requires drawing the entire scene. For example, resizing the window of the calendar application leads to a complete computation of all graphical elements in the scene. In this case, the advantage of the scene graph is null, since it does not act as a cache anymore (the cache is invalidated at each rendering pass). Besides, the use of a graphical compiler offloads optimization concerns from the programmer to a tool [START_REF] Tissoires | Graphic rendering considered as a compilation chain[END_REF].

Finally, a number of services provided by a scene graph (ready-to-use graphical shape rendering, picking management) do not require a data structure that retains graphics. For example, the graphical properties need not be retained, since the transformations that lead to those graphical properties are retained in the code: graphical properties can be generated at each redisplay. In the same way, picking does not require a complex scene-graph. In the calendar example, picking is realized with a "pick by color" algorithm [START_REF] Hanrahan | Direct WYSIWYG painting and texturing on 3D shapes[END_REF].

VIII. RELATED WORK

A number of works have tackled usability of programming, including psychology of programming, cognitive dimensions of notation [START_REF] Green | Cognitive dimensions of notations[END_REF], or API usability [START_REF] Myers | Usability issues in programming languages[END_REF]. For example, [START_REF] Appert | SwingStates: adding state machines to Java and the Swing toolkit[END_REF] and [START_REF] Chatty | Revisiting visual interface programming: creating GUI tools for designers and programmers[END_REF] enable the programmer to describe interactive state with state machines [START_REF] Jacob | A Visual Language for Non-WIMP User Interfaces[END_REF]. Most usability studies target generalpurpose languages or APIs rather than tools for building interactive systems [START_REF] Letondal | Usability requirements for interaction-oriented development tools[END_REF]. Exceptions include Myers' study of the programming practices of graphical designers [START_REF] Myers | How designers design and program interactive behaviors[END_REF]. Our work builds up on these concerns, and proposes a practical method that aims at improving usability of specification and implementation of graphical interaction. Artistic resizing is a technique that enables to specify how graphical components resize when users resize the container window [START_REF] Dragicevic | Artistic resizing: a technique for rich scale-sensitive vector graphics[END_REF]. It is an example of how a specification can be turned from a program to graphical description. Our work is in the same vein, in that it improves the Closeness of Mapping between the phenomenon and its description.

Describing graphics with Data Flow has been extensively studied in the past. For example, Fabrik is a direct manipulation -based user interface builder that enables a designer to specify transforms between widget with a visual flow language [START_REF] Ingalls | Fabrik: a visual programming environment[END_REF]. Events flow in the same flow graph that describes the geometrical transforms, so that they are automatically transformed to a position relative to the graphically transformed widget. Garnet uses one-way constraints, which can be considered as data flow, to propagate changes [START_REF] Vander Zanden | Lessons learned about one-way, dataflow constraints in the Garnet and Amulet graphical toolkits[END_REF]. In order to improve interactive graphics programming, [START_REF] Appert | FlowStates: prototypage d'applications interactives avec des flots de données et des machines à états[END_REF] proposes solutions to facilitate mixing of data flow of input and scene graph for output.

The inverse of model-view matrix is often used to retrieve an object that has undergone multiple 3D transforms (due to change of point of view, or due to modeling) [START_REF] Woo | Opengl Programming Guide: The Official Guide to Learning Opengl[END_REF]. [START_REF] Baudel | From information visualization to direct manipulation: extending a generic visualization framework for the interactive editing of large datasets[END_REF] discusses how to enable users to change data through visualization and a data-flow. Metisse [START_REF] Chapuis | Metisse is not a 3D desktop![END_REF] and Façade [START_REF] Stuerzlinger | User interface façades: towards fully adaptable user interfaces[END_REF] rely on inverse transforms to handle user manipulation in rotated views. However, none discusses how to design inverse transformations to reflect users' manipulation into the models.

IX. CONCLUSION

We have presented how the MDPC architectural pattern, based on picking views and inverse transformations, can help at specifying and implementing graphical interaction. We have evaluated positively its ability at describing a large range of graphical interaction. We have also assessed the simplicity of description, by identifying the benefits (modularity, closeness of mapping, visibility, locality and symmetry of code). Of course, there are some drawbacks (terseness and performances in certain cases), and the claims, even if supported analytically, must be experimentally tested. Furthermore, we do not claim that MDPC is adapted to all graphical interaction. For example, one would better apply a modulo operation to cursor position to align objects on a grid, instead of relying on one picking shape per row or column on the grid. However, we think that thinking in terms of reified spatial mode of interaction and transforms helps at designing an interaction. In the future, we plan to separate even further the implementation of graphics and the implementation of transformation by using specialized languages (e.g. SVG as in [START_REF] Tissoires | Graphic rendering considered as a compilation chain[END_REF]), and to explore optimization and especially cache management.

Figure 1 .

 1 Figure 1. The display view of a menu (top left) and its picking view (top right). The display and picking view (shifted for clarity) of a scrollbar, and the transforms from the model to the views (bottom).

Figure 2 .

 2 Figure 2. MDPC architecture

Figure 3 .

 3 Figure 3. hysteresis with MDPC. (a) hover (b) press:an invisible circle is inserted into the scene (visible here for explanation) (c) no drag while the cursor stays in the circle (d) leaving circle: removal of the circle, drag starts.

Figure 4 .

 4 Figure 4. hysteresis state machine. Circles denote states, arrows transition. The text on a transition denotes the interaction event that triggers a transition.

Figure 5 .

 5 Figure 5. action on "press" transition from "start" to "waitHyst".

public

  State start = new State() { Transition press = new PressOnShape(BUTTON1, ">> waitHyst") { public void action() { toMove = getShape(); // get the object to drag lastPoint = getPoint(); // store last clic position hystShape = new CEllipse(lastPoint.getX()-5,lastPoint.getY()-5, 10, 10); // picking shape hystShape.setDrawable(false); // set invisible canvas.addShape(hystShape); // add to scene graph }};};

Figure 6 .

 6 Figure 6. dashed lines: magnetic guides; gray rectangles : picking view of magnetic zones ; red squares: picking view of magnetic zones shared by two guides (a) free drag (b) right horizontal alignment (c) just before entering in the magnetic zone to align vertically, at the bottom (d)

Figure 7 .Figure 8 .

 78 Figure 7. magnetic guide state machine

Figure 9 .

 9 Figure 9. The "display" view (top) and the corresponding "picking" view (bottom) of a calendar. The picking algorithm uses unique colors for each picking object, which explains the colorful picking view.

public

  State waitHyst = new State() { Transition drag = new LeaveOnShape(">> dragging") { public void action() { […] // (a) remove previous picking view canvas.removeShape(hystShape); // (b) create horizontal pick shapes for (int i=0; i<3; ++i) { CShape s = new CShape(new BasicStroke(20).createStrokedShape(new Line2D.Double(0, 0, 500, 0))); canvas.addShape(s); s.addTag(hMagnetTag); // (c) spread the pick shapes around the guideline if (i==0) s.translateBy(0,toMove.getHeight()/2); if (i==2) s.translateBy(0,-toMove.getHeight()/2); } // translate around guideline hMagnetTag.translateBy(0,ymg); // (d) translate the pick shapes according to the relative position of the cursor from the reference point of the shape (middle) hMagnetTag.translateBy(0,pickRelPos.getY()); // create vertical pick shapes and sticky pick shapes at h and v intersections // hidden: similar to horizontal guides }}} modifying its duration. The two other rectangles allow the user to pick the top (resp. bottom side) of a calendar event, and change by direct manipulation the start (resp. end) of the event.

Figure 10 .

 10 Figure 10. Display and Picking view of a calendar event. The position of the cursor is transformed back to the conceptual model by using the inverse picking transform.

Figure 11 .

 11 Figure 11. A calendar is a wrapped view of time over X and Y

Figure 12 .

 12 Figure 12. Actual code for calendar -Left: view (display & picking), transformation (transf), and wrapping (wrap) -Right: their inverse (pick, invtransf, invwrap). Note the symmetry or anti-symmetry of functions and their inverse.


Genevieve Courtois
email: genevieve.courtois@parisdescartes.fr

Anne-Sophie Sophie Gabet

Severine Coulon

Julie Vandekerckhove

Aurelie Fricot

Jean-Antoine Ribeil

Zakia Belaid

Vahid Asnafi

Yunhua Chang

Larissa Lordier

Genevieve Courtois

Séverine Coulon

Aurélie Fricot

Yael Zermati

Najet Debili

William Vainchenker

Bruno Varet

Olivier Hermine
email: ohermine@gmail.com

Geneviève Courtois

Geneviève Courtois

CASPASE-ACTIVATED ROCK-1 ALLOWS ERYTHROBLAST TERMINAL MATURATION INDEPENDENTLY OF CYTOKINE-INDUCED RHO SIGNALING

Keywords: Erythropoiesis, ROCK-1, caspases

niveau recherche, publiés ou non, émanant des établissements d'enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.

Introduction

Erythropoiesis is a multistep process that occurs in the bone marrow and involves the sequential formation of proerythroblasts -basophilic, polychromatic and orthochromaticerythroblasts and enucleated reticulocytes. Terminal erythroid differentiation is characterized by hemoglobin synthesis and major morphological changes, including chromatin condensation, cell size reduction and finally, nucleus extrusion to generate reticulocytes that enter in the blood circulation [START_REF] Koury | Morphological changes in erythroblasts during erythropoietin-induced terminal differentiation in vitro[END_REF] . This differentiation process involves the transcription factor GATA-1 2 3 , which positively regulates promoters of erythroid genes such as glycophorin A, the erythropoietin receptor (EPO-R) and hemoglobin chains. Some features of terminal differentiation of erythroid cells are similar to features associated with apoptosis, such as chromatin condensation, organelle loss and membrane remodeling.

We and others have previously demonstrated that transient activation of effector caspases at the basophilic stage is required for terminal erythroid maturation 4 5 6 . Caspases induce cleavage of several proteins involved in the nuclear structural changes observed during terminal erythroid differentiation, such as lamin B, acinus or PARP [START_REF] Lui | Erythropoietin activates caspase-3 and downregulates CAD during erythroid differentiation in TF-1 cells -a protection mechanism against DNA fragmentation[END_REF] . In contrast, GATA-1, a target of caspases during apoptosis, is not cleaved during differentiation, allowing expression of erythroid genes and survival. This protection of GATA-1 from cleavage by caspases is explained by the translocation into the nucleus at the onset of caspase activation of the chaperone protein HSP70. At this stage, HSP70 interacts physically with GATA-1 resulting in protection against caspase cleavage [START_REF] Ribeil | Hsp70 regulates erythropoiesis by preventing caspase-3-mediated cleavage of GATA-1[END_REF] .

Identification of each caspase substrate might be helpful for understanding the mechanisms that determine the fate (differentiation versus apoptosis) of erythroid cells in different physiological or pathological conditions.

Erythropoiesis is regulated by a number of growth factors. Two of these growth factors are critical and have distinct and non-redundant functions, namely the c-KIT ligand or stem cell factor (SCF) [START_REF] Broudy | Stem cell factor and hematopoiesis[END_REF] and erythropoietin (EPO) [START_REF] Richmond | Turning cells red: signal transduction mediated by erythropoietin[END_REF] . SCF induces an increase in cell survival and expansion of BFU-E and CFU-E, and slows down the differentiation of these cells towards the basophilic stage 11 10 . Thereafter, cell-surface c-KIT expression is down-modulated [START_REF] Uoshima | Changes in c-Kit expression and effects of SCF during differentiation of human erythroid progenitor cells[END_REF] .

EPO, which acts synergistically with SCF from late BFU-E until the basophilic stage is strictly required for preventing apoptosis and stimulating proliferation, allowing differentiation of erythroid progenitors and precursors, from CFU-E until the polychromatophilic stage [START_REF] Muta | Distinct roles of erythropoietin, insulin-like growth factor I, and stem cell factor in the development of erythroid progenitor cells[END_REF] . In contrast, terminal maturation from polychromatophilic erythroblasts to reticulocytes occurs independently of signaling by these two cytokines. This cytokine independence of terminal maturation of erythroid precursors is a peculiar phenomenon that may depend in vivo on integrins signaling for erythroid progenitors proliferation. However, it remains to be understood by which mechanisms orthochromatic erythroblasts undergo cytoskeleton reorganization, specifically contractile actin ring formation for extrusion of pycnotic nucleus, a process highly dependent on kinases signaling.

Small GTPases of the Rho family (RhoA, Rac, Cdc42) transduce signals from receptors at the plasma membrane to the actin and microtubule cytoskeleton as well as to kinase cascades that regulate cell morphology and many different processes such as motility and cell cycle progression. Upon activation, Rho proteins exchange GDP for GTP, transduce signals to downstream effector proteins and finally return to the inactive GDP-bound form by hydrolyzing the bound GTP 14 15 16 . Whereas RhoA, Rac1 or Cdc42 are ubiquitously expressed, Rac2 expression is confined to the hematopoietic compartment [START_REF] Mulloy | Rho GTPases in hematopoiesis and hemopathies[END_REF] . Rac GTPases are dynamic regulators of erythrocyte cytoskeleton organization [START_REF] Kalfa | Rac GTPases regulate the morphology and deformability of the erythrocyte cytoskeleton[END_REF] and are required in mice for early erythropoietic expansion in the bone marrow but not in the spleen. Rac1 and Rac2 deficiency may disrupt signaling downstream of SCF and IL3 to affect bone marrow erythropoiesis. By contrast, the splenic microenvironment can circumvent this deficiency [START_REF] Kalfa | Rac1 and Rac2 GTPases are necessary for early erythropoietic expansion in the bone marrow but not in the spleen[END_REF] .

Rac GTPases are required for the formation of the contractile actin ring and enucleation of mouse fetal erythroblasts [START_REF] Ji | Enucleation of cultured mouse fetal erythroblasts requires Rac GTPases and mDia2[END_REF] . In contrast, the role of RhoA has not been investigated in erythroblasts.

Two isoforms of a serine/threonine kinase (Rho-associated kinases ROCK-1 and ROCK-2) have been identified as effectors of Rho. In non-muscle cells, ROCK proteins regulate several cellular functions downstream of Rho and control actin cytoskeleton assembly and cell contractility [START_REF] Riento | Rocks: multifunctional kinases in cell behaviour[END_REF] . Thereby, they contribute to several physiological processes by phosphorylation of various substrates such as MLC2 (myosin light chain 2) phosphatase, LIM kinase, and ERM (ezrin-radixin-moesin) proteins. Phosphorylation of the regulatory MLC of myosin II induces its interaction with actin, which thereby activates myosin ATPase and results in enhanced cell contractility [START_REF] Kureishi | Rho-associated kinase directly induces smooth muscle contraction through myosin light chain phosphorylation[END_REF] . Both ROCK-1 and ROCK-2 regulate MLC2 phosphorylation either directly by phosphorylating MLC2 on Ser19 or indirectly by inhibiting MLC phosphatase [START_REF] Amano | Phosphorylation and activation of myosin by Rho-associated kinase (Rho-kinase)[END_REF] . Cleavage of the C-terminal domain of ROCK proteins results in the generation of a constitutively active kinase. This occurs in vivo during the execution phase of apoptosis, when ROCK-1 but not ROCK-2 is cleaved by caspase-3, inducing membrane blebbing 24 25 .

Because terminal erythroid differentiation is associated with actin filaments contractility and caspase activation, we wondered (i) whether the Rho/ROCK signaling pathway could be involved in differentiation of erythroid progenitors (ii) whether ROCK-1 could be a caspase target. In the present study, we show that inhibition of ROCK-1 but not Rho activity impairs erythroblasts terminal maturation. In addition, our data reveal that the Rho pathway is primarily activated by SCF/c-KIT during the early stage of erythroid precursors maturation.

Caspase-3-mediated cleavage of ROCK-1 allows constitutive activation from the basophilic stage to mature cells, at the time of extinction of the c-KIT/Rho pathway. Therefore, we identified an additional role of caspase activation during erythroid differentiation, allowing cytokine independency.

Materials and methods

Reagents and antibodies

Y-27632 and blebbistatin were from Calbiochem. Z-VAD-fmk was from Alexis Biochemicals. The cell permeable Rho inhibitor C3 transferase was from Cytoskeleton. The following antibodies were used for western blots: anti-MLC2 (FL-172) from Santa Cruz, antiphospho-MLC2 monoclonal antibody from Cell signaling, anti-ROCK-1 monoclonal antibody from BD Biosciences, anti-Rho monoclonal antibody from Cytoskeleton, anti-HSC70 from Stressgen, anti-caspase 3 from Neomarker, c-KIT and phospho-c-KIT from Cell Signaling.

In vitro generation of erythroid cells

Umbilical cord blood units from normal full-term deliveries were obtained after informed consent of the mothers from the Obstetrics Unit of Hôpital Necker-Enfants Malades.

Erythroid cells were generated with a two-step amplification culture system as previously described [START_REF] Zermati | Caspase activation is required for terminal erythroid differentiation[END_REF] with the following modification: Because 20 to 35% of the cells were GPA+ after the first step of CD34+ expansion, to better synchronize the culture, we isolated CD36+GPA - progenitors at the end of the first step. For this purpose, cells were stained with anti-CD36-APC monoclonal antibody (mAb) (BD Pharmingen) and anti-glycophorin A-PE mAb (BD Pharmingen) and the CD36+ GPA-fraction was purified by cell sorting (Facs ARIA Becton Dickinson) (day 0). These cells were subsequently cultured for 10 to 12 additional days in the presence of IL-3, SCF and EPO. To investigate the role of ROCK during terminal differentiation, the ROCK inhibitor Y-27632 was added at a concentration of 10 μM in the second step of the culture and the cells were diluted every day with fresh medium without or with Y-27632.

Cell proliferation, differentiation and apoptosis assay

Cell proliferation was assessed by counting cells every day after trypan blue dye exclusion staining. Apoptosis was assessed by annexin V binding and propidium iodide (PI) or 7AAD staining.

Differentiation was assessed by morphological analysis after May-Grünwald-Giemsa coloration. Cells were examined under a Leica DMRB microscope with a PLFluotar 40X oil objective. The number of mature cells (polychromatic and orthochromatic erythroblasts) was assessed in each experiment by counting 300 cells in consecutive oil immersion fields and is expressed as a percentage of total cells. Differentiation was also evaluated after dead cell and debris exclusion by flow cytometric analysis, which allowed quantitative assessment of the maturation stage of differentiating erythroblasts. Terminal maturation is characterized by morphological changes including progressive cell size reduction, chromatin condensation and nucleus extrusion. Forward light scatter and side scatter FACS analysis indirectly measures changes in cell volume and structure. After dead cells exclusion, we could define three populations A, B and C in differentiating CD36 cells (see results Figure 3A). The relative number of cells in each population varied between the onset of caspases activation at day 8 and day 12. Cells from each population were sorted and analyzed morphologically. Proerythroblasts were identified in gate C, polychromatic and orthochromatic erythroblasts in gate B and a mix of orthochromatic erythroblasts, reticulocytes and nuclei were present in gate A. Erythroid differentiation was also evaluated by flow cytometry after double labeling with phycoerythrin (PE)-conjugate anti-GPA (BD Pharmingen) antibody and APC-conjugate anti-c-KIT (BD Pharmingen) antibody.

Western blot analysis

For detection of ROCK, cells were lysed buffer in Triton buffer (50mM Tris pH7.5, 1% Triton X-100, 100mM NaCl, 10mM tetrasodium pyrophosphate) and 10mM NaF, 1mM EDTA, 1mM NaV, 1mM EGTA, 1mM phenylmethylsulphonyl fluoride (PMSF) and 1µg/ml each of aprotinin, leupeptin and pepstatin. For detection of Rho, cells were lysed according to the protocol of the Rho activation assay kit. For detection of caspases, MLC2 and c-KIT, cells were lysed in Laëmmli buffer (60mM Tris pH6.8, 2% SDS). Protein concentration was assessed using the BCA kit (Pierce). Proteins were loaded at 50µg per well and were separated by SDS-PAGE. After transfer to a polyvinylidene difluoride (PVDF) membrane (GE Healthcare) and blocking for at least 1h in PBS, 5% non-fat milk and 0.1% Tween 20, blots were hybridized and proteins were visualized by enhanced chemiluminescence (ECL, Pierce).

To investigate the role of ROCK or Rho in MLC2 phosphorylation, Y-27632 (10 μM) or C3

(5 and 10 μg/ml) respectively, was added to the culture for 24 hours. At the end of the culture (day10), cells were stained with annexin V-APC and PI, and dead cells were excluded by cell sorting before lysis.

Rho pull-down assay

Pull-down assays were performed with a Rho activation assay kit (Cytoskeleton). To analyze Rho activity, CD36+ GPA-cells isolated by cell sorting were grown in serum-free medium with IL3, SCF and EPO. At day 4 and 10 of the culture (before and after the onset of caspases activation), cells were washed with serum-free medium and cytokine-deprived for eight hours. Cells were then stimulated with EPO (10 U/ml), SCF (100 ng/ml) or SCF+EPO for 5 to 30 minutes. Cells were collected, washed in PBS at 4°C and manipulated according to the protocol of the Rho activation assay kit. Pull-down assays were performed with 300 μg of protein.

shRNA ROCK-1 lentiviral production

Four shRNAmir constructs targeting the human ROCK-1 sequence, cloned in the pGIPZ lentiviral vector (Open Biosystems) were tested and the two that knockdown ROCK-1 protein in western blot, (nucleotides 2428 -2450 Open Biosystems V2LHS_70607 and nucleotides 2358-2380 Open Biosystems V2LHS_70609) were used in this study. pGIPZ lentiviruses were produced by 293T cells cotransfected by pCMV-Gag-Pol and pCMV-VSV-G plasmids (Open Biosystems). Supernatants were collected 48 hours and 72 hours after transfection, and were pooled and concentrated by ultracentrifugation. Virus stocked were kept frozen at -70°C.

Retroviral production

Retrovirus MIGR-GFP and the retrovirus expressing the dominant negative form of Rho MIGR RhoA-N19, were produced as described [START_REF] Chang | Proplatelet formation is regulated by the Rho/ROCK pathway[END_REF] .

Erythroid cell infection.

CD34+ cells isolated from cord blood were cultured for five days as described then infected by shRNA GIPZ lentiviruses or MIGR-GFP retroviruses. A second round of infection was performed 24 hours later upon changing to fresh medium with cytokines. After an additional 24 hours, cells were extensively washed in PBS and stained with the anti-CD36-APC mAb and anti-GPA-PE mAb. The CD36+ GPA-GFP+ cell population was purified by cell sorting and cultured in serum-free medium in the presence of IL3+SCF+EPO.

Erythoid cells transient transfection

Transient transfections were performed with 3x10 6 CD36 cells cultured for five days in the presence of IL3, SCF and EPO by nucleoporation in 100 μl of nucleofector solution (Amaxa biosystems) with 2.5 μg of pcDNA-GFP or with 2.5 μg of a mix of pcDNA-GFP and constitutively truncated ROCK-1 [START_REF] Coleman | Membrane blebbing during apoptosis results from caspase-mediated activation of ROCK I[END_REF] (pCAG-Myc-ROCK1 G1114opa kindly provided by Dr Michael Olson) at a 1:4 ratio. After transfection, CD36 cells were cultured without SCF to reduce proliferation. To determine the percentage of GFP positive cells exhibiting Mycassociated fluorescence, cells were fixed, permeabilized, and labeled for Myc expression using the 9E10-PE mAb (Santa Cruz sc-40). Differentiation was assessed 24 and 48 hours after nucleoporation by analyzing FSC-SSC cell distribution of GFP positive cells.

Differentiation was also analyzed by cell-surface GPA expression of cells exhibiting Mycassociated fluorescence. For this purpose, day 5 CD36 cells were transfected as described with 2 μg of the pCAG-Myc-ROCK1 G1114opa plasmid or 2 μg of the empty vector.

Twenty four and forty eight hours after nucleoporation, the transfected cells were cell-surface labeled with APC-conjugate anti-GPA (BD Pharmingen), then fixed, permeabilized, and labeled for Myc expression with the 9E10-PE mAb and analyzed with flow cytometry.

Statistical analyses

Analysis was performed using Prism software and paired t-tests were used for the statistical analyses. Asterisks indicate significant differences : * p value <0.05), ** p value <0.01, *** p value <0.00,

Results

Rho is primarily activated through the SCF/c-KIT pathway

Erythroid cells were generated with a two-step amplification culture system as described in the Methods. In this culture system, differentiation was asynchronous and most of the cells remained immature until day 8, after which polychromatic and orthochromatic erythroblasts were gradually generated. In these conditions, the onset of caspase-3 activation occurred at day 7-8.

Because ROCK proteins are classically activated by GTP-bound Rho, we analyzed Rho expression during erythroid differentiation. As compared to HSC70, used as a control for loading, the level of Rho protein decreased at the onset of caspase-3 activation (Figure 1A).

Pull-down analyses were performed at day 4 to determine Rho activity before the onset of caspase-3 activation. GST-RBD (Rhotekin Rho-binding domain) was used to pull down the active Rho-GTP form. For this purpose, CD36 cells were cytokine-deprived for eight hours then stimulated by SCF, EPO or SCF+EPO for 5 to 30 minutes. Rho activity peaked at five minutes (data not shown) and was strongly activated by SCF and to a lesser extent by EPO (Figure 1B). EPO and SCF had an additive effect indicating that SCF/EPO signaling is involved in Rho activation at this stage of erythroid differentiation. In contrast, when pulldown analyses were performed at day 10 (after the onset of caspase-3 activation), Rho activity was equivalent to residual activity after EPO and SCF starvation for eight hours. Therefore, we could conclude that Rho is primarily activated through SCF stimulation as long as c-KIT is expressed. Thus, after the onset of caspase activation, Rho can no longer be activated because c-KIT is down modulated (Figure 1C) [START_REF] Uoshima | Changes in c-Kit expression and effects of SCF during differentiation of human erythroid progenitor cells[END_REF] .

Effect of ROCK-1 inhibition on cell proliferation

The requirement for ROCK function for proliferation in numerous cell types has previously been demonstrated [START_REF] Croft | The Rho GTPase effector ROCK regulates cyclin A, cyclin D1, and p27Kip1 levels by distinct mechanisms[END_REF] . We therefore monitored the proliferation of erythroid progenitors in which ROCK-1 activity was inhibited using RNA interference. For this purpose, CD34 + cells isolated from cord blood were infected as described with lentiviruses encoding short hairpin RNA (shRNA) targeting ROCK-1 mRNA. A scrambled shRNA sequence was used as a control. Western blots performed at day 6 of the CD36 lysates from selected GFP + cells showed a 47% reduction in ROCK-1 protein level (Figure 2A) demonstrating the efficacy of the shRNA.

The culture condition that we used allowed massive proliferation of the erythroid progenitors with a 300-to 400-fold amplification at day 10. Analyses using annexin V labeling along with PI staining showed that ROCK-1 inhibition did not significantly increase apoptosis in the culture except at the onset of caspase activation (supplementary information 1). ROCK-1 shRNA infected cells had a similar proliferation rate to cells in the control culture (Figure 2B). Therefore, we could conclude that ROCK-1 is not involved in erythroblast proliferation.

ROCK-1 inhibition impairs terminal maturation of erythroblasts

To investigate the role of ROCK-1 in differentiation of erythroid progenitors, we first used Y-27632, a cell-permeable compound that is specific and efficient for inhibition of the activity of both ROCK-1 and ROCK-2. ROCK inhibitor Y-27632 was added at a concentration of 10 μM from day 0 to day 12 of the CD36 culture. Terminal differentiation was analyzed by examining the morphologic features of the erythroid cells using May-Grünwald-Giemsa staining at serial time intervals in the presence or absence of Y-27632. Erythroid maturation was also evaluated by flow cytometric analysis of FSC-SSC cell distribution as described in the Methods (Figure 3A) and by cell-surface c-KIT/GPA expression that allowed quantitative assessment of the maturation stage of differentiating erythroblasts. By day 6, the majority of erythroid cells are KIT pos GPA int . At the onset of caspases activation, c-KIT is downmodulated and the ratio of KIT neg GPA high is progressively increased (Figure 3B and3C).

At day 12 of the control culture, a mean of 25.8% ± 1.3 of the cells exhibited a mature phenotype (polychromatic and orthochromatic erythroblasts) as identified by morphological analyses. In the Y-27632 treated culture, multinucleate cells appeared at day 3 (0.5 to 2%).

However, the proportion of these cells was low compared to 25-30% observed with blebbistatin, a selective inhibitor of myosin II ATPase activity (data not shown), suggesting that ROCK does not play a critical role in cytokinesis of early erythroblasts. At day 12, the proportion of mature cells was dramatically decreased in the presence of the ROCK inhibitor with a mean of 12.5% ± 0.9 (Figure 4Ai). FSC-SSC cell distribution in flow cytometric analysis, as described Figure 3, also indicated that the Y-27632 treatment significantly increased the proportion of immature cells (39.9% ± 1.6 versus 20.3% ± 4.2 in controls within gate C) and decreased the proportion of mature cells (11.9% ± 1.1 versus 22.8% ± 3.6 in controls within gate A and 4.3% ± 1 versus 6.3% ± 0.8 in controls within gate B) (Figure 4Aii). Similar results were observed when the ROCK inhibitor was added at the onset of caspase activation from day 7 to day 12 as assessed by morphological analyses (22.5% ± 0.8 of mature cells, versus 29.7% ± 1.1 in controls) (Figure 4Bi), and FSC-SSC analyses (36.3% ± 3.6 versus 24.9% ± 2.9 in controls within gate C, 4.2% ± 1.5 versus 6.2% ± 1.2 in controls within gate B, and 10.9% ± 1.4 versus 17.2% ± 1.9 in controls within gate A) (Figure 4Bii).

Erythroid maturation was also evaluated by GPA and c-KIT cell-surface expression. Two populations with specific staining characteristics were defined using flow cytometry. The populations c-KIT neg GPA high and c-KIT pos GPA int corresponded respectively to mature and immature cells (Figure 3C). The ROCK inhibitor added from day 0 to day 10 or from day 7 to day 10 of the CD36 culture significantly decreased the proportion of c-KIT neg GPA high cells (44.65 ± 1.52 in controls, versus 25.50 ± 3.03 in the Y-27632 treated culture, versus 32.20 ± 3.03 when the ROCK inhibitor was added from day 7) and increased the proportion of c-KIT pos GPA int cells (26.35 ± 0.45 in controls, versus 37.40 ± 1.44 in the Y-27632 treated culture, versus 31.50 ± 3.46 when the ROCK inhibitor was added from day 7) (Figure 4Biii).

Then, to discriminate between ROCK-1 and ROCK-2 function, we examined the effect of ROCK-1 knock down by RNA interference. Although shRNA partially inhibited ROCK-1 expression at day 6 (Figure 2A), a significant decrease of cell maturation was observed in ROCK-1shRNA infected culture. At day 12, a mean of 9.5% ± 2.1 of the cells exhibited a mature phenotype versus 22.4% ± 2.5 in controls (Figure 4Ci). FSC-SSC cell distribution analysis indicated that ROCK-1 knock-down significantly increased the proportion of immature cells (44.2% ± 3.4 versus 38.9% ± 2.9 in controls within gate C) and decreased the proportion of mature cells (8.8% ± 1.5 versus 14.4% ± 0.2 in controls within gate A, and 2.2% ± 0.5 versus 7.9% ± 2.4 in controls within gate B) (Figure 4Cii). The ratio of GPA high cells was also decreased in ROCK-1 shRNA infected cells (27.45 ± 2.39 versus 38.30 ± 2.20 in scrambled) (Figure 4Ciii). Taken together, these results suggest that ROCK-1 is involved in terminal maturation, which occurs after the onset of caspase activation.

ROCK-1 is activated independently of Rho

We next investigated the mechanism of ROCK-1 activation. To determine whether ROCK-1 is dependent on Rho activity during the late stage of maturation, we over-expressed a dominant-negative form of RhoA by infecting CD36 cells with the MIGR-Rho-N19 retrovirus. To evaluate the functionality of the construct, pull down analyses were performed with EPO-stimulated CD36 cells overexpressing the MIGR-Rho-N19 construct, which inhibited Rho activity (Figure 5A). Terminal differentiation was not significantly impaired when the CD36 cells were infected with the MIGR-Rho-N19 retrovirus compared with the MIGR-GFP control retrovirus as shown by morphological (Figure 5B) and FACS analyses (Figure 5C). This is consistent with our results showing that Rho was not activated at this stage of maturation (Figure 1B).

ROCK-1 is activated by caspase-3 cleavage

Because caspase-3 was shown to constitutively activate ROCK-1 during apoptosis in many cells, whereas ROCK-2 cannot be cleaved by caspase-3, western blotting of whole cell lysates was performed at several time intervals to evaluate the possible activation of ROCK-1 through caspase-3 cleavage during erythroid differentiation. In this in vitro culture system, the percentage of cells undergoing apoptosis could reach 15% to 20% at the end of differentiation. To discriminate differentiation from apoptotic ROCK-1 cleavage, day 10 annexin V-and propidium iodide (PI)-positive cells were excluded by cell sorting before cell lysis. By probing with a ROCK-1 specific antibody, in addition to the full-length 160-kDa protein, a 130-kDa fragment was detected in non apoptotic cells from the onset of caspase-3 activation until the end of differentiation (Figure 6A). Likewise, treatment of the culture during the second step of differentiation with z-VAD-fmk at a dose of 150 μM, which inhibited terminal erythroid differentiation [START_REF] Zermati | Caspase activation is required for terminal erythroid differentiation[END_REF] , abolished the ROCK-1 cleavage. As a control, the same 130-kDa-cleavage product was present after overnight EPO starvation, strongly suggesting that this truncated ROCK-1 corresponds to the fragment generated by caspase-3 cleavage. Treatment of the CD36 culture by QVD-OPH, another broad-spectrum inhibitor of caspases, at a dose of 50 or 200 μM also abolished the Rock-1 cleavage and induced a dosedependent decrease of terminal erythroid differentiation (supplementary information 2). This finding demonstrated that ROCK-1 is caspase-3 cleaved during the late step of erythropoiesis in non-apoptotic cells.

To determine whether a constitutively truncated form of ROCK-1 expressed before the onset of caspase activation could affect terminal differentiation, we transiently transfected CD36 cells at day five of the culture with a constitutively active mutant of ROCK-1: pCAG-Myc-ROCK1 G1114opa (ROCK-1DC) [START_REF] Coleman | Membrane blebbing during apoptosis results from caspase-mediated activation of ROCK I[END_REF] that contains a truncated auto-inhibitory domain. This experiment was performed without SCF to rule out any activation of ROCK-1 through Rho induced phosphorylation.

For this purpose, cells were co-transfected with a mix of ROCK-1ΔC and a plasmid encoding GFP protein at a 4:1 ratio.

The percentage of cells expressing the ROCK-1 mutant was determined after permeabilization by measuring Myc-associated fluorescence using flow cytometry. For this purpose, a gate was established above the level of autofluorescence seen in mock-transfected cells. The cells exhibiting Myc-associated fluorescence also exhibited GFP fluorescence (Figure 6Bi).

Therefore, differentiation was assessed 24 and 48 hours post-transfection by SSC-FSC FACS analyses on live GFP-positive cells. Cell distribution analysis indicated that the truncated ROCK-1ΔC construct significantly decreased cell size distribution (7.4% ± 0.8 gating with mature cells versus 4.7% ± 0.9 in controls) (Figure 6Bii). Differentiation was also assessed by cell-surface GPA expression. For this purpose, day 5 CD36 cells were transfected with the pCAG-Myc-ROCK-1ΔC plasmid or with the empty vector. Twenty four and forty eight hours post-transfect ion, cells were labeled for GPA then MYC after permeabilization and analyzed by flow cytometry. By 24 hours post-transfection, the ratio of GPA high erythroblasts was 2.2-fold increased in Myc-labeled ROCK-1ΔC transfected cells (8.35 ± 2.17 versus 3.79 ± 1.60 in controls) and 2.7-fold increased by 48 hours (33.35 ± 2.83 versus 12.33 ± 0.62 in controls) (Figure 6C). These results indicated that the truncated ROCK-1ΔC construct accelerated maturation. Taken together, our data demonstrate that ROCK-1 is activated through an SCF-independent mechanism, through caspase-induced cleavage, to allow erythroblast terminal maturation.

ROCK-1 is the main MLC2-regulating kinase

One major role of the Rho/ROCK pathway is to regulate actomyosin-based contractility by modifying the MLC2 phosphorylation status. We analyzed the expression of total MLC2 and p-MLC2 (Ser 19) on CD36+ cells at serial time intervals. The level of MLC2 decreased at the end of the CD36 culture (Figure 6A). To investigate whether or not ROCK was involved in MLC2 phosphorylation, western blot analyses were performed on whole cell lysates of the Y-27632-treated and control cultures at various times. At day 10, to discriminate differentiationinduced from apoptotic MLC2 phosphorylation, annexin V-and PI-positive cells were excluded by cell sorting before cell lysis. MLC2 phosphorylation was strongly inhibited by the Y-27632 inhibitor throughout the differentiation process (Figure 7B). Similar results were obtained after selective inhibition of ROCK-1 (Figure 7C) showing that ROCK-1 is the main MLC2-regulating kinase in erythroid cells. To determine whether MLC2 activation is Rhoindependent in the late stage of differentiation, MLC2 phosphorylation was assessed at day 10 of the CD36 culture in which Rho activity was inhibited. For this purpose, the level of MLC2 phosphorylation was determined after annexin V-and PI-positive cell exclusion by cell sorting following a 24 hours treatment with 5 μg/ml and 10 μg/ml of a cell penetrating form of the Clostridium Botulinum toxin C3, which induced a dose-dependent inhibition of Rho GTPase activity (data not shown). As expected in our culture system in which some immature cells, which are Rho dependent, are still present at the end of the culture, a weak inhibition of MLC2 phosphorylation was observed with C3 transferase treatment, but this inhibition was weak compared to Y-27632 treatment as shown by analysis of the p-MLC2:HSC70 ratio (Figure 7D). Therefore, we could conclude that MLC2 phosphorylation occurrs independently of Rho via caspase-activated ROCK-1.

Discussion

Terminal erythroid differentiation is characterized by a sequence of morphological changes that require transient caspase activation. These events are followed by nuclei extrusion, which involves a profound reorganization of the cytoskeleton. We demonstrate here that the Rho effector protein ROCK-1 is required for terminal maturation occurring after the onset of caspase activation. At this stage, we show that Rho is not required, which is in agreement with reduced Rho expression at the end of differentiation. Late erythropoiesis can be characterized in successive stages with respect of cytokine dependency. First, early colonyforming units (CFU-E) express both c-KIT and EPO-R, the ligands of which are required for survival and proliferation. Then, basophilic erythroblasts down-regulate c-KIT, after which caspases are transiently activated, inducing cleavage of selected substrates. c-KIT expression, which is critical for activation of the Rho/ROCK pathway, is lost at the end of erythroid differentiation, but this could be overcome by caspase-3-induced ROCK-1 cleavage. This phenomenon allows terminal maturation of erythroblasts independently of SCF signaling. This is confirmed by our results showing that a constitutively truncated construct of ROCK-1 expressed before the onset of caspase activation accelerated terminal maturation. This truncated form exhibits a higher intrinsic kinase activity 24 25 that could be required for terminal maturation. However, terminal differentiation, which is inhibited in the presence of a caspase inhibitor [START_REF] Zermati | Caspase activation is required for terminal erythroid differentiation[END_REF] , could not be rescued by expressing the constitutively cleaved form of ROCK-1 (data not shown) suggesting that other caspase targets are involved in terminal maturation.

Rock-1-/-newborn mice exhibit developmental defects in the eyelid and the ventral body wall closure [START_REF] Olson | Applications for ROCK kinase inhibition[END_REF] . No obvious anemia was described; nevertheless, erythroblast development has not been investigated in these mice [START_REF] Wang | Deficiency of ROCK1 in bone marrow-derived cells protects against atherosclerosis in LDLR-/-mice[END_REF] and compensatory changes in other kinases including MLCK, a caspase-3 target during apoptosis [START_REF] Petrache | Caspase-dependent cleavage of myosin light chain kinase (MLCK) is involved in TNF-alpha-mediated bovine pulmonary endothelial cell apoptosis[END_REF] , cannot be excluded.

ROCK-1 could be involved in erythroid terminal maturation at least in part through contractility control by regulating MLC2 phosphorylation. In the erythroblast, myosin II could function in an actomyosin contractile apparatus responsible for maintaining a normal cell shape during cell condensation. Rho/ROCK-1 pathway has been shown to be involved in other differentiation systems, including proplatelet formation through MLC2 phosphorylation [START_REF] Chang | Proplatelet formation is regulated by the Rho/ROCK pathway[END_REF] , and keratinocyte differentiation through stratification and enlargement of cell size [START_REF] Liebig | RhoE Is required for keratinocyte differentiation and stratification[END_REF] .

Recent findings also define a cytoskeleton-independent function for ROCK in regulating morphogenesis and cell size through insulin/IGF signaling [START_REF] Sordella | Modulation of CREB activity by the Rho GTPase regulates cell and organism size during mouse embryonic development[END_REF] . Interestingly, ROCK activity was also shown to be a component of the switch in the adipogenesis/myogenesis fate 33 34 . Thus, we cannot exclude that in addition to its role in mediating MLC2 phosphorylation, ROCK-1 may have another function required for terminal erythroid differentiation. Our data provide another evidence that ROCK is a critical mediator of cell differentiation.

Recent analyses have provided substantial evidence that apoptotic caspases have important functions in the differentiation of various cell types. Keratinocyte cornification involves caspase-14-mediated cleavage of profilaggrin 35 36 , and lens fiber epithelial cells are characterized by complete removal of the nucleus [START_REF] Zandy | Role of the executioner caspases during lens development[END_REF] . Another type of anucleate cell, platelets, is produced by megakaryocytes in which selected substrates are cleaved by compartmentalized activation of caspase-3 [START_REF] De Botton | Platelet formation is the consequence of caspase activation within megakaryocytes[END_REF] . Moreover, myoblast to myotube differentiation, which involves caspase-3-mediated cleavage of the kinase MST1, shares other features with apoptosis such as disassembly and reorganization of the actin fiber [START_REF] Fernando | Caspase 3 activity is required for skeletal muscle differentiation[END_REF] . Nevertheless, little is known concerning the identity of caspases substrates involved in differentiation and the exact requirement for caspase activity in these systems. We show here that caspase-3 activation in basophilic erythroblasts, cells in which c-KIT receptor expression is lost, allows constitutive activation of ROCK-1, one of their substrates. We could therefore propose a model in which ROCK is Rho-dependent until the basophilic stage, whereas in the later steps of differentiation, when Rho is no longer activated by SCF signaling, caspase-3-activated ROCK-1 allows terminal maturation. Further exploration of caspase targets in the future will shed light on the mechanism of erythroid differentiation as well as on other systems in which caspases are activated for cell differentiation

Titles and legends to figures

Figure 1 .

 1 Figure 1. Rho is primarily activated through SCF stimulation

Figure 2 .

 2 Figure 2. ROCK-1 inhibition is not involved in erythroblasts proliferation

Figure 3 .

 3 Figure 3. Flow cytometric analysis of differentiating erythroblasts

Figure 4 .

 4 Figure 4. ROCK-1 inhibition impairs terminal differentiation

Figure 5 .

 5 Figure 5. Rho is not involved in terminal differentiation

Figure 6 .

 6 Figure 6. ROCK-1 is activated by caspase-3 cleavage

Figure 7 .

 7 Figure 7. ROCK-1 is the main MLC2-regulating kinase

Acknowledgments

We wish to thank Pr Y. Dumez, Pr Y. Ville and nurses of the Obstetric Unit (Hospital Necker-Enfants Malades) for providing us with cord blood samples. We thank Dr M.Olson (Beatson Institute for Cancer Research) for providing us with the constitutive ROCK-1 construct. We also thank C. Cordier and J. Megret (Institut Necker) for cell sorting and J.B.

Arlet for critical reading of the manuscript. This work was supported by grant from ANR Blanc (W. V and O. H), Cancéropole Ile de France, Ligue Nationale contre le Cancer (équipe labellisée LNCC). We also thank Cyril Mongin's family and friends association.

Disclosure of conflicts of interest

The authors declare no conflict of interest.