Real-Time Monitoring of Ocaml programs

Dimension: px
Commencer à balayer dès la page:

Download "Real-Time Monitoring of Ocaml programs"

Transcription

1 Real-Time Monitoring of Ocaml programs S. Conchon 1,2,3 J.-C. Filliâtre 2,1,3 F. Le Fessant 3 J. Robert 1 G. Von Tokarski 1 1: Université Paris Sud F Orsay 2: CNRS / LRI UMR 8623 F Orsay 3: INRIA Saclay Île-de-France F Orsay Abstract. In order to tune or debug a program, it is useful to be able to observe its execution. For instance, one may observe how the memory is used, how much time is spent in some parts of the code, or even observe some values computed by the program. Several tools allow such observations (system monitors, specific or generic profilers or debuggers, users logs, etc.). However, these tools only provide limited observations which are typically obtained at the end of program execution. This paper presents Ocamlviz, a library to instrument OCaml code and tools for real-time observation of its execution. Keywords: Monitoring, Real Time, Ocaml Résumé long Il existe de nombreux moyens pour mettre au point un programme écrit en Objective Caml [3]. S il s agit de sa correction, la solution la plus simple consiste souvent à insérer quelques affichages sur la sortie standard, par exemple à l aide de la fonction printf. Si cette trace ne suffit pas, on peut se tourner vers le debugger d OCaml [4], qui permet notamment d inspecter toute valeur calculée et même de revenir en arrière dans l exécution du programme. Il est également possible d utiliser un debugger plus générique tel que gdb [1]. S il s agit d analyser les performances du programme, il existe des solutions simples et im- JFLA 2010

2 160 JFLA 2010 médiates, comme les outils Unix time et top pour mesurer respectivement le temps d exécution et la quantité de mémoire utilisée. Pour une analyse plus fine, on peut utiliser des profilers tels que celui fourni avec OCaml, ocamlprof [5], ou encore des outils génériques comme gprof [2] et OProfile [6]. Même s ils sont complémentaires, ces divers outils possèdent un grand nombre de limitations. La première concerne les possibilités d observation. Les profilers génériques gprof et OProfile sont ainsi limités à l observation du nombre d appels de chaque fonction et du temps passé dans celles-ci. Inversement, ocamlprof a une granularité plus fine, mais ne donne que des décomptes de points de passage sans indication de temps de calcul. Les debuggers non plus ne permettent pas de mesurer le temps de calcul. D autre part, aucun de ces outils ne permet de mesurer la quantité de mémoire occupée par une valeur OCaml. Concernant l aspect temps-réel, seul OProfile permet d observer un programme en cours d exécution. Des outils comme ocamlprof et gprof n offrent qu une analyse post-mortem. Enfin, aucun effort particulier n est fait dans ces outils pour présenter graphiquement les résultats des observations. Leur architecture ne permet généralement pas de leur ajouter facilement une telle fonctionnalité. Le projet Ocamlviz propose une alternative à ces différents outils, sous la forme d une bibliothèque pour instrumenter du code OCaml et des outils pour visualiser ensuite son exécution, en temps-réel et de manière distante. Les fonctions proposées dans cette bibliothèque permettent au programmeur d indiquer précisément les observations qu il souhaite faire. En particulier, la granularité de ces observations n est pas limitée aux fonctions. L utilisateur peut ainsi observer des points de passage et des temps d exécution pour des portions de code arbitraires. D autre part, il est possible de mesurer la quantité de mémoire utilisée par une ou plusieurs valeurs et même de déterminer si elles sont encore vivantes pour le ramasse-miettes. Une particularité d Ocamlviz est de dissocier le calcul des valeurs observées et leur exploitation. En effet, le programme instrumenté à l aide de la bibliothèque se comporte, pendant son exécution, comme un serveur, auquel des clients peuvent se connecter pour récupérer les résultats de l observation. Ocamlviz fournit un client particulier, sous la

3 Ocamlviz 161 forme d une interface graphique GTK-2. Le serveur et les clients communiquent à l aide d un protocole réseau indépendant d OCaml, ce qui permet d observer l exécution depuis des machines distantes et d écrire des clients dans d autres langages. Principe. Ocamlviz est à la fois une bibliothèque pour instrumenter du code OCaml à observer et des outils pour transmettre et visualiser les résultats. En premier lieu, l utilisateur instrumente son code en indiquant les observations qu il souhaite réaliser. Il utilise pour cela les briques de base fournies par la bibliothèque Ocamlviz. Il lie ensuite son programme avec cette bibliothèque. Le code ainsi obtenu peut être exécuté normalement mais il peut également être observé. En effet, en parallèle de l exécution normale, le programme se comporte maintenant comme un serveur qui attend des connections et transmet le résultat des observations à ses clients. En particulier, Ocamlviz fournit une interface graphique évoluée permettant une visualisation agréable et synthétique des résultats. Le caractère client/serveur de l architecture offre de nombreux avantages. Premièrement, il permet de décider d observer le programme à n importe quel moment de son exécution. En particulier, un client peut se connecter longtemps après le début de l exécution et se déconnecter à tout instant. Deuxièmement, un nombre arbitraire de clients peuvent se connecter à un même programme en cours d exécution. Troisièmement, les clients peuvent se connecter depuis des machines distantes, qu elles aient ou non la même architecture que celle sur laquelle s exécute le code instrumenté. Enfin, cette architecture dissocie l instrumentation de l observation des résultats. En particulier, le protocole de communication est indépendant du langage OCaml et permet par exemple l utilisation de clients écrits dans d autres langages. Observations. La bibliothèque Ocamlviz permet plusieurs types d observations, que l on présente rapidement dans cette section. Mesure du temps. Ocamlviz permet de mesurer le temps passé entre certains points du programme, cumulativement. Pour cela, l utilisateur crée un ou plusieurs chronomètres, puis les déclenche et les stoppe en divers endroits du programme, non nécessairement au sein de

4 162 JFLA 2010 la même fonction. Pour chaque chronomètre, le temps cumulé de son activation est alors rapporté. L interface graphique montre cette valeur, le pourcentage qu elle représente par rapport au temps total d exécution ainsi que le dernier instant où elle a été modifiée. Points de passage. Ocamlviz permet de mesurer le nombre de fois que l exécution passe par un ensemble de points de programme. Comme pour la mesure du temps, l utilisateur commence par créer un ou plusieurs marqueurs, qu il place aux endroits adéquats. Pour chaque marqueur, Ocamlviz décompte alors le nombre de fois que l exécution a emprunté un point de programme désigné par ce marqueur. Là encore, la notion de marqueur n est pas liée à celle de fonction, un même marqueur pouvant être placé n importe où dans le code, y compris plusieurs fois. L interface graphique montre la valeur de chaque marqueur, ainsi que sa date de dernière modification. Un marqueur peut être utilisé de manière immédiate pour compter le nombre d appels à une fonction, à la manière de gprof, ou encore pour compter le nombre de fois qu une branche else est empruntée, à la manière d ocamlprof, mais aussi pour mesurer cumulativement le nombre de fois que l on emprunte tel ou tel partie du code, ce que gprof et ocamlprof ne permettent pas de faire. Observation de valeurs. Ocamlviz permet d observer des valeurs arbitraires calculées par le programme. Pour les types de base (entiers, flottants, chaînes de caractères), il suffit d indiquer une fonction calculant la valeur à observer et la fréquence à laquelle cette fonction doit être évaluée. La valeur est alors transmise à tous les clients, à cette fréquence. Lorsque la valeur est numérique, l interface graphique permet même de tracer un graphe de l évolution de la valeur dans le temps. La bibliothèque Ocamlviz fournit des facilités pour observer directement le contenu d une référence ou celui d une table de hachage provenant de la bibliothèque standard d OCaml. Pour observer des valeurs de types plus complexes, une solution simple consiste à les transformer en chaînes de caractères. Néanmoins, Ocamlviz fournit également une solution élégante pour observer des structures s apparentant à des arbres ou à des graphes. Pour cela, l utilisateur commence par traduire la valeur à observer dans le type suivant type t = { node : string; mutable children : t list }

5 Ocamlviz 163 puis celle-ci est transmise via le protocole client/server jusqu à l interface graphique où elle est affichée sous forme d arbre ou de graphe, selon le cas. Le partage ou les cycles éventuels sont préservés, à condition qu ils l aient été par l utilisateur dans sa traduction vers le type t ci-dessus, ce que permet le caractère mutable du champ children. Marquage de valeurs. Ocamlviz permet d analyser l utilisation de la mémoire par le programme. Pour cela, l utilisateur peut marquer un ensemble de valeurs et connaître à intervalle régulier le nombre d entre elles qui sont encore vivantes pour le ramasse-miettes et, éventuellement, la taille qu elles occupent sur le tas. Là encore, l utilisateur peut créer plusieurs marqueurs. Un même marqueur peut être utilisé pour marquer une ou plusieurs valeurs, possiblement de types différents. Si plusieurs valeurs sont désignées par le même marqueur, le partage est pris en compte dans le calcul de l occupation mémoire. Journal. Une dernière technique d observation fournie par Ocamlviz consiste en une commande similaire à printf qui permet d envoyer des messages arbitraires par le protocole client/serveur. Ceux-ci apparaissent alors côté client sous la forme d un journal, où chaque message est accompagné de son temps d exécution. Lorsque l utilisateur souhaite faire certaines de ces observations de manière systématique sur l ensemble du programme, comme observer le contenu de toutes les références globales ou compter le temps passé dans chaque fonction, il peut utiliser pour cela un petit module camlp4 fourni avec Ocamlviz. Réalisation. L architecture d Ocamlviz repose sur trois éléments principaux : un protocole de communication, une bibliothèque serveur et une bibliothèque client. Le protocole client/serveur utilisé par Ocamlviz est indépendant du langage OCaml et de l architecture sur laquelle tourne le programme en cours d observation ou les différents clients. Cela permet entre autres d observer un programme depuis une autre machine ou encore d écrire un client dans un autre langage. La représentation des données reste compacte, pour une utilisation optimale de la bande passante, les données transmises pouvant être très volumineuses.

6 164 JFLA 2010 La bibliothèque serveur, liée avec le programme observé, calcule à intervalle régulier l ensemble des données d observation et les transmet aux différents clients. Les valeurs marquées sont stockées dans des tables de pointeurs faibles, afin de ne pas s opposer à leur récupération par le ramasse-miettes. Ocamlviz fournit deux réalisations différentes de cette bibliothèque serveur : l une utilisation des alarmes et l autre des processus légers (threads). Il est ainsi possible de s adapter aux contraintes du programme observé. Enfin, Ocamlviz fournit également une bibliothèque facilitant l écriture de clients. Cette bibliothèque permet notamment de conserver localement au client une partie des données envoyées par le serveur, dans une fenêtre de temps paramétrable. Il est alors relativement facile de fournir dans le client un mécanisme de pause ou même de retour en arrière dans le temps. L interface graphique fournie avec Ocamlviz utilise cette bibliothèque et fournit notamment ces deux fonctionnalités. Crédits. Ocamlviz est un logiciel libre, disponible à l adresse http: //ocamlviz.forge.ocamlcore.org/. Son développement a été financé par la société Jane Street Capital et réalisé par deux étudiants de l Université Paris Sud, Julien Robert et Guillaume Von Tokarski, au sein de l INRIA Saclay Île-de-France.

7 Ocamlviz Introduction There exist several ways to tune Objective Caml [3] programs. Concerning correctness, the simplest solution usually consists in inserting debugging messages, for instance using the printf function. When this trace is not enough, one can turn to the OCaml debugger [4]. It allows value inspection and even to rollback in program execution. It is also possible to use a generic debugger such as gdb [1]. Regarding performances, there exist simple and immediate solutions, such as Unix time and top commands, to measure time and space, respectively. For finer analyses, on can use either the OCaml specific tool ocamlprof [5] or generic purpose profilers such as gprof [2] or OProfile [6]. Even if useful when used in collaboration, these tools have severe limitations. The first one is related to observation capabilities. Generic profilers gprof and OProfile are limited to the number of calls and time spent for each function. Conversely, ocamlprof only reports on program point counts without any time measure. Debuggers do not measure any time either. Beside, none of these tools allows to measure space used by an OCaml value. Regarding real-time analysis, only OProfile allows to monitor a program under execution. Tools such as ocamlprof and gprof only offer post-mortem analysis. Finally, no effort is made is these tools to provide graphical display of observation results, and their architecture do not allow to easily add such a feature. The Ocamlviz project is an alternative to all these tools. It is both a library to instrument some OCaml code and tools to visualize its execution in real-time, possibly remotely. The library offers the programmer to precisely specify the observations to perform. In particular, the granularity is not limited to functions; program points can be inserted anywhere in the code and time spent between two such points can be measured. Moreover, space used by an OCaml value can monitored. It is even possible to observe whether a value is still alive for the garbagecollector. One of the main features of Ocamlviz is to dissociate the computation of observed values and their display. Indeed, the program instrumented using the library behaves as a server, to which clients can connect to collect observation results. In particular, Ocamlviz provides a

8 166 JFLA 2010 GTK-2 graphical client. The architecture of Ocamlviz can be depicted as follows: program instrumented library Ocamlviz network GUI Ocamlviz Figure 1: Ocamlviz s architecture. Server and clients communicate through a protocol independent of OCaml, which allows remote observation from distant machines and to write clients in other languages. This paper is organized as follows. Section 2 describes the general architecture of Ocamlviz and shows the main features for instrumenting programs. Section 3 gives specific implementation details about the library and the protocol. Finally, we sketch some perspectives in Section Principle Ocamlviz is both a library to instrument OCaml code and tools to communicate and visualize the results. The concept is illustrated Figure 1. First, the user instruments the code to indicate which observations to perform. To do so, the library provides different kinds of observation functions. Then, the code is linked to the library. When executed, the resulted program runs as if it was not instrumented, but can also be observed. Indeed, in parallel to normal execution, the program now behaves as a server ready to connect to new clients and to transmit them observation data. In particular, Ocamlviz provides an enhanced graphical interface which allows a nice and clear display of results (see Figure 2). The client/server architecture offers many advantages. First, it allows observation at any time during program execution. In particular, a client may connect late after the program startup and may disconnect whenever it likes. Second, several clients may connect to a single

9 Ocamlviz 167 Figure 2: Ocamlviz s graphical interface. program, even simultaneously. Third, clients can connect from remote machines, possibly with a different architecture from that of the running program. Finally, Ocamlviz s architecture dissociates the production of data from their observation. In particular, the communication protocol is independent of OCaml and thus allows clients to be written in other languages. The minimal instrumentation simply consists in linking a program to the Ocamlviz library. It has the immediate effect of sending to clients data related to the OCaml garbage-collector (total size of the heap and of its living part). The graphical interface then displays this information as a graph, as shown in Figure 2. Beyond this feature, the Ocamlviz library provides the following features: measuring the time spent between two program points; counting the number of times one or several program points are reached; observing values computed by the program; measuring number and total size of a set of values marked by the user;

10 168 JFLA 2010 displaying printf-like messages, which are also logged. The remaining of this section details both these different kinds of instrumentation and the graphical interface features Instrumentation The Ocamlviz library provides modules to observe computation times, program points, or values computed by the program Time Measure. Ocamlviz defines a notion of stopwatch, which can be started or stopped anywhere in the program. Such program points do not necessarily coincide with function entries or exits, as it is usually the case in profiling tools. Moreover, one can measure the cumulative time spent in several parts of the code. A new stopwatch is created as follows: let chrono = Ocamlviz.Time.create "t" The string "t" is only used for display in the graphical interface. The stopwatch is used as follows: let f x =... Ocamlviz.Time.start chrono; let z =... in Ocamlviz.Time.stop chrono... In this example, we only measure the time spent for computing z but not in the remaining of function f. It is worth noticing that a stopwatch can be started in some function and stopped in another one. Figure 3 shows how the graphical interface displays the value of stopwatch "t". Column Time displays the current value of the stopwatch (namely 40.9 seconds, representing 100% of total execution time) and the next column displays the execution time at which this value was received (namely 40.9 seconds as well, since both values coincide).

11 Ocamlviz Program Points. Figure 3: Stopwatches and program points. Ocamlviz provides a way to mark one or several program points and then to count the number of times execution reaches these marks. A new mark is created as follows: let point = Ocamlviz.Point.create "p" Then program points to be observed are marked as follows:... Ocamlviz.Point.observe point;... A given mark can be used at several places inside the code and the count is global for each mark. For instance, Figure 3 shows that execution reached 803,800,206 times program points marked using point Observing Values. Ocamlviz allows to observe arbitrary values computed by the program. For simple types (integers, floating-points or strings), it suffices to provide a function computing the value to observe. Then this function is called repeatedly, at a frequency specified by the user. The following code let () = Ocamlviz.Value.observe_float_fct "my value" ~period:200 (fun () sin!v) declares an observation function computing the floating-point value sin!v every 200 milliseconds. Figure 4 shows the visualization of this value in the graphical interface.

12 170 JFLA 2010 Figure 4: value. Observing a scalar Figure 5: Observing a structured value. For more complex types, a simple solution is to turn values to observe into strings. However, Ocamlviz provides a more elegant way to observe values such as trees or graphs. To do so, the user first turns his data structure into the following type: type t = { node : string; mutable children : t list } Generally speaking, it is a datatype for graphs where nodes are labeled with strings. The mutable nature of field children allows to build cyclic values. If the user data contains sharing, it will be preserved by the communication protocol and displayed in the graphical interface. Figure 5 shows the visualization of a structured data where the node named "shared" is shared Marking Values. Ocamlviz provides a way to precisely analyze how the memory is used. Indeed, one can mark values and then to monitor, at any time, the number of such values still alive and the amount of space they use. As for program points, one first create a new marker, called a tag in this context: let t = Ocamlviz.Tag.create ~size:true ~period:300 "foo"

13 Ocamlviz 171 Here we create a tag with name "foo". We indicate that memory size must be computed (option size), everywhere 300 milliseconds (option period). Using such a tag, one can mark values when they are created, for instance, as follows: let cons x = let l = Random.float 10. :: x in Ocamlviz.Tag.mark t l; l The graphical interface displays the number of values and total size for this tag: On this screenshot, one reads that 6,032 values still alive are marked with tag "foo" and use slightly more than 289 kb. A given tag can be used to mark one or several values, possibly of different types. If several values are marked with the same tag and share sub-values, then sharing is taken into account in the computation of memory use. Thus in the following code let l2 = [Random.int 3; Random.int 4] in Ocamlviz.Tag.mark t l2; let l3 = Random.int 5 :: l2 in Ocamlviz.Tag.mark t l3;... the number of values tagged with t is 2 (the lists l2 and l3) and the memory used for this tag is 36 bytes (3 cons blocks, of 3 words each including the header word) Hash Tables. Observing a value from an abstract type from the standard library is not easy: one has to know the type definition and to resort to module

14 172 JFLA 2010 Obj. For instance, the user cannot easily monitor the contents of a hash table of type Hashtbl.t, in particular to determine if the distribution among buckets is uniform. To help in this process, Ocamlviz provides a module to observe a hash table from the standard library. The following line declares a global hash table to be observed under the name "h": let h = Ocamlviz.Hashtable.observe "h" (Hashtbl.create 17) Then the hraphical interface displays several elements regarding this table: It includes the number of empty buckets, the filling rate (that is the proportion of non-empty buckets), and the length of the longest bucket Journal. Finally, Ocamlviz provides a printf-like facility to transmit text messages up to the clients. These messages are sent together with the program execution time. For instance, one can write... Ocamlviz.log ">>> test %d >>>" i; and observe the sequence of such messages in the graphical interface:

15 Ocamlviz Automatic Instrumentation using Camlp4. It can be rather tedious to instrument the code in a systematic way, for instance to observe the time spent in each function in a way similar to a traditional profiler. Ocamlviz provides a small camlp4 module to do that, which automatically inserts the following observations: values for global references of type int, float, bool or string (initialized with a constant); contents of all global hash tables ; number of calls and time spent in each global function. The main purpose of this camlp4 module is to show that such an automatic instrumentation is possible; it is likely that each user will modify it as needed Advanced Features Graphical Interface The graphical interface provided with Ocamlviz proposes other features beyond the ones already presented so far. In particular, the user may stop the display update at any time, to have a detailed look at the values transmitted by the server. The program under execution is not interrupted and keeps sending new data. These data are not lost but stored in a database local to the client (to be described later in Section 3.4). At any time, the user may resume the real-time observation of the program. It resumes where it was stopped, thus with a time shifting. More generally, the user may navigate in time arbitrarily using a cursor, within the limits of a predefined and customizable time window. This feature appears in the upper part of the graphical interface, as follows: Another feature of the interface is the ability to display one or several numerical values within a new graph, as done for garbage-collector data for instance. To do so, the user selects the values to display (checking

16 174 JFLA 2010 them) and then asks for the creation of a new graph or the addition to an existing graph. Such graphs appear in new tabs, but can also be detached from the main window to be observed in parallel Dump Profiling To profile a program using Ocamlviz, the user needs to start the graphical interface after starting the program. This can be particularly disappointing for short life programs, where the graphical interface does not have time to connect to the program to extract interesting information. We found that a good solution to that problem is to ask Ocamlviz to dump all the observations in a file during the execution of such a program, and then to ask the graphical interface to display the content of that dump file. For that, the user just needs to execute the instrumented program with an additional environment variable, called OCAMLVIZ_DUMP, that must contain the name of the file that should be created during the execution, and filled with the observations. Then, we implemented two new options for the graphical interface: Option -i filename tells the graphical interface that it should read observations from the specified filename. Option -tscale factor tells the graphical interface that it should scale the time using the specified factor. The second option is particularly useful for very short life programs, where it is interesting to slow down the execution speed of the program, to be able to observe the program behavior in the graphical interface. The user can also use the OCAMLVIZ_PERIOD environment variable while running the instrumented program to decrease the period between observations, to get a very fine grain monitoring of the program. Using the navigation panel described in the previous section, the user can then inspect the observed values during the execution of the program, with the possibility to go forward and backward in the execution as needed.

17 Ocamlviz 175 serveur clients protocole binaire programme Ocamlviz Net Db affichage... Net Db affichage Figure 6: Client and server parts of Ocamlviz library. 3. Implementation As shown in Figure 6, the Ocamlviz library can be split into two parts. First, a server part, linked to the instrumented program, which communicates with one or several clients via the network. Second, a client part which provides tools to ease the programming of clients. In this section, we show how these two parts are implemented in the current version of Ocamlviz. More precisely, we first describe the communication protocol and its implementation, then we give several details underlying the computation of observations and finally we present the storage module on the client side Communication Protocol An important feature of Ocamlviz is the possibility to remotely observe the execution of a program. In order to be independent of the architectures of the machines used to observe and to run the program, we designed a portable binary protocol and implemented it in the client and server parts of the library. The benefit of such an approach is to allow the communication between different machines (32 and 64-bits for instance, little-endian and big-endian) but also to write clients and servers in any programming language. Thus, it is possible to write a new library to instrument programs written in a language other than OCaml and to observe programs using the current graphical interface of Ocamlviz. Conversely, it is possible to write new clients in any programming language.

18 176 JFLA Messages The current protocol only contains messages from server to clients. It is defined with 3 kinds of messages: type msg = Declare of uid kind string Send of uid value Bind of uid list Messages refer to observed values which are identified by unique integers of type uid. The message Declare (uid, kind, name) declares a new observed value, giving its unique id, its nature of type kind and the name under which is must be displayed. At connection time, the client receives from the server a bunch a Declare messages corresponding to all values observed in the instrumented program so far. The message Send (uid, v) gives an update v for the value identified by uid. Such a message is repeatedly sent for each observed value, even when there is no change. Last, the message Bind uid_list tells the client that several unique identifiers are linked together; it is used in particular to bind the number and the size values for a single tag of type Ocamlviz.Tag.t Binary Protocol Each message is a string of characters. It contains a first 4-byte header indicating its length and a second header indicating its type. Then other values follow, whose type and number differ according to the message type. This representation allows an efficient processing of each message. In particular, a message is not analyzed as long as it is not entirely received. Messages are stored within a global buffer, which is only extended when necessary. This avoids allocating many small strings for messages, which would fragment the heap and slower the garbagecollector. To simplify the implementation and possible extension of the protocol, functions are provided to transmit values of each OCaml base type

19 Ocamlviz 177 and then combined to transmit more complex data. For each base type ttype (8, 16, 32 or 64-bits integers, floating-points, etc.) we introduce a pair of functions as follows: val get_ttype : string int ttype int val buf_ttype : Buffer.t ttype unit Function get_ttype s pos extracts of value of type ttype from string s starting at position posand returns a pair containing this values together with the next position in the string. Function buf_ttype buf v appends value v of type ttype to the buffer buf. To insert the message length, four null bytes are placed in front of the buffer before encoding the message. The string corresponding to the message is then extracted and, its length being now known, its four first bytes are modified accordingly. Last, in order to allow compatibility between 32 and 64-bits architectures, integer values come together with a tag indicating their size (31 or 63-bits int, int32, or int64) The Server Library The server library computes every 100 milliseconds all the currently monitored values, and sends them to all connected clients. The delay between these computations can be adjusted using the OCAMLVIZ_PERIOD environment variable. Two different mechanisms have been implemented to deal with these operations, depending on the constraints on the monitored program: alarms (signals) and threads Using Alarms Alarms can be used to trigger the execution of a function periodically. This technique works well in most cases, because it stops the execution of the program while the function is executing, and thus, it does not suffer from synchronization problems. There are still cases where alarms could raise issues:

20 178 JFLA 2010 In OCaml, alarms are not allowed to interrupt a program at any instant. Instead, OCaml only allows the execution of the alarm code at particular points, to avoid bad interactions with the garbage collector. These points are mostly allocations and input-output operations. Thus, a program in a computation loop, without allocations nor input-output, will never trigger the execution of the alarm code, and the Ocamlviz server will never send any data. To solve this issue, it is possible to add in the code of the loop a call to the Ocamlviz.yield () function to allow OCaml to deal with alarm code. When a program already makes use of alarms, it becomes impossible for Ocamlviz to use them, because there can be only one handler for alarms. It is then required to use threads to avoid modifying the semantics of the original program Using Threads In this second solution, a thread is started when the program is launched. The only task of this thread is to periodically compute the new values of monitored variables, and send them to the connected clients. This solution also suffers from some drawbacks : The use of threads is somewhat limited in OCaml, in particular because the garbage collector is not concurrent. As a consequence, the runtime does not allow the execution of OCaml code in more than one thread concurrently. As for alarms, rescheduling of threads cannot happen at any time, but only within allocations or input-output operations. Here again, an explicit call to Ocamlviz.yield () should be added within computation loops to allow Ocamlviz thread to be scheduled and executed Monitoring Techniques in the Server Monitoring techniques implemented in Ocamlviz try to modify the behavior of the monitored program as little as possible. In particular, to avoid delaying garbage collection of dead values, data that have been marked by the user with Ocamlviz.Tag.mark are stored in a table of weak pointers.

Smile Mobile Dashboard

Smile Mobile Dashboard Smile Mobile Dashboard 1. Magento Extension The iphone and Android applications require access to data from your Magento store. This data is provided through an extension, available on Magento Connect

Plus en détail

MAT 2377 Solutions to the Mi-term

MAT 2377 Solutions to the Mi-term MAT 2377 Solutions to the Mi-term Tuesday June 16 15 Time: 70 minutes Student Number: Name: Professor M. Alvo This is an open book exam. Standard calculators are permitted. Answer all questions. Place

Plus en détail

Instructions Mozilla Thunderbird Page 1

Instructions Mozilla Thunderbird Page 1 Instructions Mozilla Thunderbird Page 1 Instructions Mozilla Thunderbird Ce manuel est écrit pour les utilisateurs qui font déjà configurer un compte de courrier électronique dans Mozilla Thunderbird et

Plus en détail

Editing and managing Systems engineering processes at Snecma

Editing and managing Systems engineering processes at Snecma Editing and managing Systems engineering processes at Snecma Atego workshop 2014-04-03 Ce document et les informations qu il contient sont la propriété de Ils ne doivent pas être copiés ni communiqués

Plus en détail

2 players Ages 8+ Note: Please keep these instructions for future reference. WARNING. CHOKING HAZARD. Small parts. Not for children under 3 years.

2 players Ages 8+ Note: Please keep these instructions for future reference. WARNING. CHOKING HAZARD. Small parts. Not for children under 3 years. Linja Game Rules 2 players Ages 8+ Published under license from FoxMind Games NV, by: FoxMind Games BV Stadhouderskade 125hs Amsterdam, The Netherlands Distribution in North America: FoxMind USA 2710 Thomes

Plus en détail

Les licences Creative Commons expliquées aux élèves

Les licences Creative Commons expliquées aux élèves Les licences Creative Commons expliquées aux élèves Source du document : http://framablog.org/index.php/post/2008/03/11/education-b2i-creative-commons Diapo 1 Creative Commons presents : Sharing Creative

Plus en détail

AMESD-Puma2010-EFTS- Configuration-update-TEN (en-fr)

AMESD-Puma2010-EFTS- Configuration-update-TEN (en-fr) AMESD-Puma2010-EFTS- Configuration-update-TEN (en-fr) Doc.No. : EUM/OPS/TEN/13/706466 Issue : v2 Date : 23 July 2013 WBS : EUMETSAT Eumetsat-Allee 1, D-64295 Darmstadt, Germany Tel: +49 6151 807-7 Fax:

Plus en détail

Software Design Description

Software Design Description Software Design Description ABSTRACT: KEYWORDS: APPROVED: AUTHOR PROJECT MANAGER PRODUCT OWNER General information/recommendations A SDD provides a representation of a software system created to facilitate

Plus en détail

RAPID 3.34 - Prenez le contrôle sur vos données

RAPID 3.34 - Prenez le contrôle sur vos données RAPID 3.34 - Prenez le contrôle sur vos données Parmi les fonctions les plus demandées par nos utilisateurs, la navigation au clavier et la possibilité de disposer de champs supplémentaires arrivent aux

Plus en détail

AMESD-Puma2010-EFTS- Configuration-update-TEN (en-fr)

AMESD-Puma2010-EFTS- Configuration-update-TEN (en-fr) AMESD-Puma2010-EFTS- Configuration-update-TEN (en-fr) Doc.No. : EUM/OPS/TEN/13/706466 Issue : v3 Date : 7 May 2014 WBS : EUMETSAT Eumetsat-Allee 1, D-64295 Darmstadt, Germany Tel: +49 6151 807-7 Fax: +49

Plus en détail

WEB page builder and server for SCADA applications usable from a WEB navigator

WEB page builder and server for SCADA applications usable from a WEB navigator Générateur de pages WEB et serveur pour supervision accessible à partir d un navigateur WEB WEB page builder and server for SCADA applications usable from a WEB navigator opyright 2007 IRAI Manual Manuel

Plus en détail

COMPILING SCALA FOR THE JAVA VIRTUAL MACHINE

COMPILING SCALA FOR THE JAVA VIRTUAL MACHINE COMPILING SCALA FOR THE JAVA VIRTUAL MACHINE THÈSE N O 3302 (2005) PRÉSENTÉE À LA FACULTÉ INFORMATIQUE ET COMMUNICATIONS Institut d'informatique fondamentale SECTION D'INFORMATIQUE ÉCOLE POLYTECHNIQUE

Plus en détail

openoffice 40 manual

openoffice 40 manual openoffice 40 manual Print and Online Should you be particular with knowing everything concerning this openoffice 40 manual, you have to look for these details. OPENOFFICE 40 MANUAL Here are one of the

Plus en détail

Instructions pour mettre à jour un HFFv2 v1.x.yy v2.0.00

Instructions pour mettre à jour un HFFv2 v1.x.yy v2.0.00 Instructions pour mettre à jour un HFFv2 v1.x.yy v2.0.00 HFFv2 1. OBJET L accroissement de la taille de code sur la version 2.0.00 a nécessité une évolution du mapping de la flash. La conséquence de ce

Plus en détail

Installation et compilation de gnurbs sous Windows

Installation et compilation de gnurbs sous Windows Installation et compilation de gnurbs sous Windows Installation de l environnement de développement Code::Blocks (Environnement de développement) 1. Télécharger l installateur de Code::Blocks (version

Plus en détail

Please find attached a revised amendment letter, extending the contract until 31 st December 2011.

Please find attached a revised amendment letter, extending the contract until 31 st December 2011. Sent: 11 May 2011 10:53 Subject: Please find attached a revised amendment letter, extending the contract until 31 st December 2011. I look forward to receiving two signed copies of this letter. Sent: 10

Plus en détail

Assoumta Djimrangaye Coordonnatrice de soutien au développement des affaires Business development support coordinator

Assoumta Djimrangaye Coordonnatrice de soutien au développement des affaires Business development support coordinator 2008-01-28 From: [] Sent: Monday, January 21, 2008 6:58 AM To: Web Administrator BCUC:EX Cc: 'Jean Paquin' Subject: RE: Request for Late Intervenorship - BCHydro Standing Offer C22-1 Dear Bonnie, Please

Plus en détail

(Programme de formation pour les parents ~ Training program for parents)

(Programme de formation pour les parents ~ Training program for parents) PODUM-INFO-ACTION (PIA) La «carte routière» pour les parents, sur l éducation en langue française en Ontario A «road map» for parents, on French-language education in Ontario (Programme de formation pour

Plus en détail

Exercices sur SQL server 2000

Exercices sur SQL server 2000 Exercices sur SQL server 2000 La diagramme de classe : Exercices sur SQL server 2000 Le modèle relationnel correspondant : 1 Créer les tables Clic-droit on Tables et choisir «New Table» Créer la table

Plus en détail

Générateur de pages WEB et serveur pour supervision accessible à partir d un navigateur WEB

Générateur de pages WEB et serveur pour supervision accessible à partir d un navigateur WEB AUTOMGEN 8.009 Générateur de pages WEB et serveur pour supervision accessible à partir d un navigateur WEB version 2 : support de sources vidéo, support 3D, support de l ensemble des objets IRIS 2D WEB

Plus en détail

Exemple PLS avec SAS

Exemple PLS avec SAS Exemple PLS avec SAS This example, from Umetrics (1995), demonstrates different ways to examine a PLS model. The data come from the field of drug discovery. New drugs are developed from chemicals that

Plus en détail

Application Form/ Formulaire de demande

Application Form/ Formulaire de demande Application Form/ Formulaire de demande Ecosystem Approaches to Health: Summer Workshop and Field school Approches écosystémiques de la santé: Atelier intensif et stage d été Please submit your application

Plus en détail

eid Trends in french egovernment Liberty Alliance Workshop April, 20th 2007 French Ministry of Finance, DGME

eid Trends in french egovernment Liberty Alliance Workshop April, 20th 2007 French Ministry of Finance, DGME eid Trends in french egovernment Liberty Alliance Workshop April, 20th 2007 French Ministry of Finance, DGME Agenda What do we have today? What are our plans? What needs to be solved! What do we have today?

Plus en détail

Utiliser une WebCam. Micro-ordinateurs, informations, idées, trucs et astuces

Utiliser une WebCam. Micro-ordinateurs, informations, idées, trucs et astuces Micro-ordinateurs, informations, idées, trucs et astuces Utiliser une WebCam Auteur : François CHAUSSON Date : 8 février 2008 Référence : utiliser une WebCam.doc Préambule Voici quelques informations utiles

Plus en détail

2002 Maritime Mathematics Competition Concours de Mathématiques des Maritimes 2002

2002 Maritime Mathematics Competition Concours de Mathématiques des Maritimes 2002 2002 Maritime Mathematics Competition Concours de Mathématiques des Maritimes 2002 Instructions: Directives : 1 Provide the information requested below Veuillez fournir les renseignements demandés ci-dessous

Plus en détail

Remote Control Library Librairie Remote Control

Remote Control Library Librairie Remote Control Remote Control Library Librairie Remote Control Installation File, Fichier : REMOTEVPU.EXE After installation Après installation In the toolbox : Dans la boite à outils : Files Added, Files Ajoutés : C:\API32\Modules\

Plus en détail

Florida International University. Department of Modern Languages. FRENCH I Summer A Term 2014 FRE 1130 - U01A

Florida International University. Department of Modern Languages. FRENCH I Summer A Term 2014 FRE 1130 - U01A Florida International University Department of Modern Languages FRENCH I Summer A Term 2014 FRE 1130 - U01A Class time: Monday, Tuesday, Wednesday, Thursday; 6:20 P.M. - 9:00 P.M. Instructors: Prof. Jean-Robert

Plus en détail

APPENDIX 6 BONUS RING FORMAT

APPENDIX 6 BONUS RING FORMAT #4 EN FRANÇAIS CI-DESSOUS Preamble and Justification This motion is being presented to the membership as an alternative format for clubs to use to encourage increased entries, both in areas where the exhibitor

Plus en détail

Surveillance de Scripts LUA et de réception d EVENT. avec LoriotPro Extended & Broadcast Edition

Surveillance de Scripts LUA et de réception d EVENT. avec LoriotPro Extended & Broadcast Edition Surveillance de Scripts LUA et de réception d EVENT avec LoriotPro Extended & Broadcast Edition L objectif de ce document est de présenter une solution de surveillance de processus LUA au sein de la solution

Plus en détail

Once the installation is complete, you can delete the temporary Zip files..

Once the installation is complete, you can delete the temporary Zip files.. Sommaire Installation... 2 After the download... 2 From a CD... 2 Access codes... 2 DirectX Compatibility... 2 Using the program... 2 Structure... 4 Lier une structure à une autre... 4 Personnaliser une

Plus en détail

Lesson Plan Physical Descriptions. belle vieille grande petite grosse laide mignonne jolie. beau vieux grand petit gros laid mignon

Lesson Plan Physical Descriptions. belle vieille grande petite grosse laide mignonne jolie. beau vieux grand petit gros laid mignon Lesson Plan Physical Descriptions Objective: Students will comprehend and describe the physical appearance of others. Vocabulary: Elle est Il est Elle/Il est Elle/Il a les cheveux belle vieille grande

Plus en détail

Experiences TCM QUALITY MARK. Project management Management systems ISO 9001 ISO 14001 ISO 22000

Experiences TCM QUALITY MARK. Project management Management systems ISO 9001 ISO 14001 ISO 22000 TCM QUALITY MARK Jean-Marc Bachelet Tocema Europe workshop 4 Project management Management systems ISO 9001 ISO 14001 ISO 22000 + lead auditors for certification bodies Experiences Private and state companies,

Plus en détail

AINoE. Rapport sur l audition d AINoE Paris, 18 juin 2003

AINoE. Rapport sur l audition d AINoE Paris, 18 juin 2003 AINoE Abstract Interpretation Network of Excellence Patrick COUSOT (ENS, Coordinator) Rapport sur l audition d AINoE Paris, 18 juin 2003 Thématique Rapport sur l audition d AINoE Paris, 18 juin 2003 1

Plus en détail

How to? / Flash the ATMEGA32

How to? / Flash the ATMEGA32 How to? / Flash the ATMEGA32 Français La programmation du microcontrôleur n est pas très compliquée mais elle nécessite un minimum d attention. Elle peut se faire directement sur la platine du Monome grâce

Plus en détail

6. Les désastres environnementaux sont plus fréquents. 7. On ne recycle pas ses déchets ménagers. 8. Il faut prendre une douche au lieu d un bain.

6. Les désastres environnementaux sont plus fréquents. 7. On ne recycle pas ses déchets ménagers. 8. Il faut prendre une douche au lieu d un bain. 1. Notre planète est menacée! 2. Il faut faire quelque chose! 3. On devrait faire quelque chose. 4. Il y a trop de circulation en ville. 5. L air est pollué. 6. Les désastres environnementaux sont plus

Plus en détail

DynDNS. Qu est-ce que le DynDNS?

DynDNS. Qu est-ce que le DynDNS? DynDNS. Qu est-ce que le DynDNS? Le DynDNS (Dynamic Domain Name Server) sert à attribuer un nom de domaine à une adresse ip dynamique. Chaque ordinateur utilise une adresse ip pour communiquer sur le réseau.

Plus en détail

Monday, December 2 nd 2013. Formation Galaxy

Monday, December 2 nd 2013. Formation Galaxy Formation Galaxy Lundi, 10 Février 2014 This training has not for objectives to introduce every Galaxy tool individually or to build a workflow to process your own data. Objectives: To provide a first

Plus en détail

Sujet de TPE PROPOSITION

Sujet de TPE PROPOSITION Single photon source made of single nanodiamonds This project will consist in studying nanodiamonds as single photon sources. The student will study the emission properties of such systems and will show

Plus en détail

C est quoi, Facebook?

C est quoi, Facebook? C est quoi, Facebook? Si tu as plus de 13 ans, tu fais peut-être partie des 750 millions de personnes dans le monde qui ont un compte Facebook? Et si tu es plus jeune, tu as dû entendre parler autour de

Plus en détail

Audio and Web Conferencing services. Orange Business Services. Web Conferencing

Audio and Web Conferencing services. Orange Business Services. Web Conferencing Audio and Web Conferencing services Orange Business Services Web Conferencing web conferencing completely integrated audio and web services conference availability 24hrs/7days up to 100 participants complete

Plus en détail

Forthcoming Database

Forthcoming Database DISS.ETH NO. 15802 Forthcoming Database A Framework Approach for Data Visualization Applications A dissertation submitted to the SWISS FEDERAL INSTITUTE OF TECHNOLOGY ZURICH for the degree of Doctor of

Plus en détail

LA NETWORK MANAGER remote control software CUSTOM PRESET CREATION PROCEDURE

LA NETWORK MANAGER remote control software CUSTOM PRESET CREATION PROCEDURE LA NETWORK MANAGER remote control software CUSTOM PRESET CREATION PROCEDURE TECHNICAL BULLETIN - VERSION 1.0 Document reference: NWM-CUSTOM-PRS_TB_ML_1-0 Distribution date: July 21 st, 2010 2010 L-ACOUSTICS.

Plus en détail

Embedded Domain-Specific Languages using Libraries and Dynamic Metaprogramming

Embedded Domain-Specific Languages using Libraries and Dynamic Metaprogramming Embedded Domain-Specific Languages using Libraries and Dynamic Metaprogramming THÈSE N O 5007 (2011) PRÉSENTÉE le 20 mai 2011 À LA FACULTÉ INFORMATIQUE ET COMMUNICATIONS LABORATOIRE DE MÉTHODES DE PROGRAMMATION

Plus en détail

ENGLISH WEDNESDAY SCHOOL ENTRY TEST ENROLMENT FORM 2015-2016

ENGLISH WEDNESDAY SCHOOL ENTRY TEST ENROLMENT FORM 2015-2016 CHECKLIST FOR APPLICATIONS Please read the following instructions carefully as we will not be able to deal with incomplete applications. Please check that you have included all items. You need to send

Plus en détail

Guide à l usage des conférenciers (-ières) et des président(e)s de séance de TCPM2013 1

Guide à l usage des conférenciers (-ières) et des président(e)s de séance de TCPM2013 1 [AN ENGLISH VERSION FOLLOWS] Guide à l usage des conférenciers (-ières) et des président(e)s de séance de TCPM2013 1 Conférenciers (- ières) 1) Les communications en séances régulières ont une durée de

Plus en détail

Initiative d excellence de l université de Bordeaux. Réunion du Comité stratégique 17-19 décembre 2014. Recommandations

Initiative d excellence de l université de Bordeaux. Réunion du Comité stratégique 17-19 décembre 2014. Recommandations Initiative d excellence de l université de Bordeaux Réunion du Comité stratégique 17-19 décembre 2014 Recommandations 2/1 RECOMMANDATIONS DU COMITE STRATEGIQUE Une feuille de route pour le conseil de gestion

Plus en détail

Registry. Pierre Le Sidaner Observatoire de Paris. Hackathon ASOV septembre 2015 1

Registry. Pierre Le Sidaner Observatoire de Paris. Hackathon ASOV septembre 2015 1 Registry Pierre Le Sidaner Observatoire de Paris Hackathon ASOV septembre 2015 1 Demain Le panorama change car l'interface des registries change. Dans le futur un nouveau service au STSCI et à l'esac mais

Plus en détail

Haslingden High School French Y8 Block C Set 1 HOMEWORK BOOKLET

Haslingden High School French Y8 Block C Set 1 HOMEWORK BOOKLET Haslingden High School French Y8 Block C Set 1 HOMEWORK BOOKLET Name: Form: Subject Teacher: Date Given: Date to Hand in: Level: Effort: House Points: Comment: Target: Parent / Guardian Comment: Complete

Plus en détail

A propos de ce livre Ceci est une copie numérique d un ouvrage conservé depuis des générations dans les rayonnages d une bibliothèque avant d être numérisé avec précaution par Google dans le cadre d un

Plus en détail

Product Platform Development: A Functional Approach Considering Customer Preferences

Product Platform Development: A Functional Approach Considering Customer Preferences Product Platform Development: A Functional Approach Considering Customer Preferences THÈSE N O 4536 (2009) PRÉSENTÉE le 4 décembre 2009 À LA FACULTé SCIENCES ET TECHNIQUES DE L'INGÉNIEUR LABORATOIRE DES

Plus en détail

How To connect to TonVPN Max / Comment se connecter à TonVPN Max

How To connect to TonVPN Max / Comment se connecter à TonVPN Max How To connect to TonVPN Max / Comment se connecter à TonVPN Max Note : you need to run all those steps as an administrator or somebody having admin rights on the system. (most of the time root, or using

Plus en détail

http://www.bysoft.fr

http://www.bysoft.fr http://www.bysoft.fr Flash Slideshow Module for MagentoCommerce Demo on http://magento.bysoft.fr/ - Module Slideshow Flash pour MagentoCommerce Démonstration sur http://magento.bysoft.fr/ V3.0 ENGLISH

Plus en détail

C est quoi, Facebook?

C est quoi, Facebook? C est quoi, Facebook? aujourd hui l un des sites Internet les plus visités au monde. Si tu as plus de 13 ans, tu fais peut-être partie des 750 millions de personnes dans le monde qui ont une page Facebook?

Plus en détail

Konstantin Avrachenkov, Urtzi Ayesta, Patrick Brown and Eeva Nyberg

Konstantin Avrachenkov, Urtzi Ayesta, Patrick Brown and Eeva Nyberg Konstantin Avrachenkov, Urtzi Ayesta, Patrick Brown and Eeva Nyberg Le présent document contient des informations qui sont la propriété de France Télécom. L'acceptation de ce document par son destinataire

Plus en détail

IPv6. Internet Control Message Protocol ICMPv6. Objectif: Comparer ICMPv4 avec ICMPv6

IPv6. Internet Control Message Protocol ICMPv6. Objectif: Comparer ICMPv4 avec ICMPv6 IPv6 Internet Control Message Protocol ICMPv6 Objectif: Comparer ICMPv4 avec ICMPv6 v.1b IPv6 Théorie et Pratique & Microsoft Introduction to IPv6 1 ICMPv6 (RFC 2463) Trois fonctions déjà présentes en

Plus en détail

PC industriels et disques associés

PC industriels et disques associés Technical Service Bulletin PRODUIT DATE CREATION DATE MODIFICATION FICHIER PC INDUSTRIEL 23/03/2010 201005 REV A PC industriels et disques associés English version follows. SF01 (du 4 au 8 janvier 2010)

Plus en détail

Photo Manipulations in the 2011 CES

Photo Manipulations in the 2011 CES Canadian Election Study Methodological Briefs Methodological Brief #2013-A Photo Manipulations in the 2011 CES Patrick Fournier, Université de Montréal Stuart Soroka, McGill University Fred Cutler, University

Plus en détail

CUMULUS BASIC INSTALLATION GUIDE FOR AERCUS INSTRUMENTS MODELS WS3083, WS2083 AND WS1093

CUMULUS BASIC INSTALLATION GUIDE FOR AERCUS INSTRUMENTS MODELS WS3083, WS2083 AND WS1093 CUMULUS BASIC INSTALLATION GUIDE FOR AERCUS INSTRUMENTS MODELS WS3083, WS2083 AND WS1093 System Requirements Cumulus is a Windows application and runs on XP to Windows 10 inclusive (and the server versions).

Plus en détail

Institut français des sciences et technologies des transports, de l aménagement

Institut français des sciences et technologies des transports, de l aménagement Institut français des sciences et technologies des transports, de l aménagement et des réseaux Session 3 Big Data and IT in Transport: Applications, Implications, Limitations Jacques Ehrlich/IFSTTAR h/ifsttar

Plus en détail

Natixis Asset Management Response to the European Commission Green Paper on shadow banking

Natixis Asset Management Response to the European Commission Green Paper on shadow banking European Commission DG MARKT Unit 02 Rue de Spa, 2 1049 Brussels Belgium markt-consultation-shadow-banking@ec.europa.eu 14 th June 2012 Natixis Asset Management Response to the European Commission Green

Plus en détail

French 2208A. French for Healthcare Le français de la santé

French 2208A. French for Healthcare Le français de la santé French 2208A French for Healthcare Le français de la santé Professeur : Heures de bureau : Iryna Punko disponible tous les jours par courriel, sauf le week-end. Préalable - Fr 1900 E ou Fr 1910, ou permission

Plus en détail

CONTRAT D ETUDES - LEARNING AGREEMENT

CONTRAT D ETUDES - LEARNING AGREEMENT CONTRAT D ETUDES - LEARNING AGREEMENT Règles générales La présence aux séances d enseignement des modules choisis est obligatoire. Chaque module comporte des séances de travail encadrées et non encadrées

Plus en détail

Contents Windows 8.1... 2

Contents Windows 8.1... 2 Workaround: Installation of IRIS Devices on Windows 8 Contents Windows 8.1... 2 English Français Windows 8... 13 English Français Windows 8.1 1. English Before installing an I.R.I.S. Device, we need to

Plus en détail

ShortestPath PlugIn for JUMP V 0.1

ShortestPath PlugIn for JUMP V 0.1 V 0.1 Abstract Michaël MICHAUD Copyright 2006 en. This article is about ShortestPath PlugIn for JUMP. It makes it possible to compute the shortest path between two nodes of a graph created from a linear

Plus en détail

that the child(ren) was/were in need of protection under Part III of the Child and Family Services Act, and the court made an order on

that the child(ren) was/were in need of protection under Part III of the Child and Family Services Act, and the court made an order on ONTARIO Court File Number at (Name of court) Court office address Applicant(s) (In most cases, the applicant will be a children s aid society.) Full legal name & address for service street & number, municipality,

Plus en détail

Control your dog with your Smartphone. USER MANUAL www.pet-remote.com

Control your dog with your Smartphone. USER MANUAL www.pet-remote.com Control your dog with your Smartphone USER MANUAL www.pet-remote.com Pet-Remote Pet Training Pet-Remote offers a new and easy way to communicate with your dog! With the push of a single button on your

Plus en détail

Technical Service Bulletin

Technical Service Bulletin Technical Service Bulletin FILE CONTROL CREATED DATE MODIFIED DATE FOLDER VP200 VP400 05/07/2006 662-02-26011 Rev. : A Amélioration Outil de Sauvegarde Opendrive English version follows. Afin d améliorer

Plus en détail

Hydro-Québec Distribution

Hydro-Québec Distribution Hydro-Québec Distribution 2004 Distribution Tariff Application Demande R-3541-2004 Request No. 1 Reference: HQD-5, Document 3, Page 6 Information Requests HQD says that it will be required to buy energy

Plus en détail

Installing the SNMP Agent (continued) 2. Click Next to continue with the installation.

Installing the SNMP Agent (continued) 2. Click Next to continue with the installation. DGE-530T 32-bit Gigabit Network Adapter SNMP Agent Manual Use this guide to install and use the SNMP Agent on a PC equipped with the DGE-530T adapter. Installing the SNMP Agent Follow these steps to install

Plus en détail

How to Login to Career Page

How to Login to Career Page How to Login to Career Page BASF Canada July 2013 To view this instruction manual in French, please scroll down to page 16 1 Job Postings How to Login/Create your Profile/Sign Up for Job Posting Notifications

Plus en détail

Electronic Documents (Cooperative Credit Associations) Regulations. Règlement sur les documents électroniques (associations coopératives de crédit)

Electronic Documents (Cooperative Credit Associations) Regulations. Règlement sur les documents électroniques (associations coopératives de crédit) CANADA CONSOLIDATION CODIFICATION Electronic Documents (Cooperative Credit Associations) Regulations Règlement sur les documents électroniques (associations coopératives de crédit) SOR/2010-242 DORS/2010-242

Plus en détail

Date: 09/11/15 www.crmconsult.com Version: 2.0

Date: 09/11/15 www.crmconsult.com Version: 2.0 Date: 9/11/2015 contact@crmconsult.fr Page 1 / 10 Table des matières 1 SUGARPSHOP : SCHEMA... 3 2 PRESENTATION... 4 3 SHOPFORCE WITH SCREENSHOTS... 5 3.1 CLIENTS... 5 3.2 ORDERS... 6 4 INSTALLATION...

Plus en détail

ONLINE TIAMA CATALOGS USER GUIDE

ONLINE TIAMA CATALOGS USER GUIDE ONLINE TIAMA CATALOGS USER GUIDE Home page / Accueil 3 4 5 Ref. Description Description Home page Accueil Catalog access Accès catalogue Advanced search Recherche avancée Shopping basket Panier Log off

Plus en détail

deux tâches dans le tableau et à cliquer sur l icône représentant une chaîne dans la barre d outils. 14- Délier les tâches : double cliquer sur la

deux tâches dans le tableau et à cliquer sur l icône représentant une chaîne dans la barre d outils. 14- Délier les tâches : double cliquer sur la MS Project 1- Créer un nouveau projet définir la date du déclenchement (début) ou de la fin : File New 2- Définir les détails du projet : File Properties (permet aussi de voir les détails : coûts, suivi,

Plus en détail

HARMONY 950. Setup Guide Guide d installation

HARMONY 950. Setup Guide Guide d installation HARMONY 950 Setup Guide Guide d installation Languages English.................... 3 Français................... 9 3 Package contents 1 3 2 4 1. Remote 2. Charging cradle 3. USB cable 4. AC Adapter 4

Plus en détail

Plan. Department of Informatics

Plan. Department of Informatics Plan 1. Application Servers 2. Servlets, JSP, JDBC 3. J2EE: Vue d ensemble 4. Distributed Programming 5. Enterprise JavaBeans 6. Enterprise JavaBeans: Special Topics 7. Prise de recul critique Enterprise

Plus en détail

Configuration Guide for realize the Qosmos log analysis with Click&DECiDE NSI

Configuration Guide for realize the Qosmos log analysis with Click&DECiDE NSI ig Configuration Guide for realize the Qosmos log analysis with Click&DECiDE NSI Or how quickly configure Qosmos log analysis With this document help, we will present the quick configuration of Qosmos

Plus en détail

Annonce de voyage Concerne les voyages en Suisse par les transports publics Utilisation d un véhicule privé La demande d utilisation d un véhicule

Annonce de voyage Concerne les voyages en Suisse par les transports publics Utilisation d un véhicule privé La demande d utilisation d un véhicule Annonce de voyage Concerne les voyages en Suisse par les transports publics Utilisation d un véhicule privé La demande d utilisation d un véhicule privée ne doit plus être utilisée. Elle est remplacée

Plus en détail

RULE 5 - SERVICE OF DOCUMENTS RÈGLE 5 SIGNIFICATION DE DOCUMENTS. Rule 5 / Règle 5

RULE 5 - SERVICE OF DOCUMENTS RÈGLE 5 SIGNIFICATION DE DOCUMENTS. Rule 5 / Règle 5 RULE 5 - SERVICE OF DOCUMENTS General Rules for Manner of Service Notices of Application and Other Documents 5.01 (1) A notice of application or other document may be served personally, or by an alternative

Plus en détail

ASSEMBLÉE LÉGISLATIVE DU YUKON LEGISLATIVE ASSEMBLY OF YUKON. First Session of the Thirty-third Legislative Assembly

ASSEMBLÉE LÉGISLATIVE DU YUKON LEGISLATIVE ASSEMBLY OF YUKON. First Session of the Thirty-third Legislative Assembly LEGISLATIVE ASSEMBLY OF YUKON First Session of the Thirty-third Legislative Assembly ASSEMBLÉE LÉGISLATIVE DU YUKON Première session de la trente-troisième Assemblée législative BILL NO. 46 ACT TO AMEND

Plus en détail

CHAPITRE 1 NOM DATE 1 UNE AMIE ET UN AMI. 1 - Mélanie Boucher Here is a picture of Mélanie Boucher. Write a story about her.

CHAPITRE 1 NOM DATE 1 UNE AMIE ET UN AMI. 1 - Mélanie Boucher Here is a picture of Mélanie Boucher. Write a story about her. CHAPITRE 1 NOM DATE 1 UNE AMIE ET UN AMI VOCABULAIRE Mots 1 1 - Mélanie Boucher Here is a picture of Mélanie Boucher. Write a story about her. You may want to use some of the following words Paris petite

Plus en détail

L intégration socioscolaire des jeunes Québécois d origine chinoise : le rôle des écoles ethniques complémentaires

L intégration socioscolaire des jeunes Québécois d origine chinoise : le rôle des écoles ethniques complémentaires L intégration socioscolaire des jeunes Québécois d origine chinoise : le rôle des écoles ethniques complémentaires Ming Sun Université de Montréal Haï Thach École Chinoise (Mandarin) de Montréal Introduction

Plus en détail

Tâches et Buts. Date D échéance. Tâche Buts Remarques. www.financiallywiseonheels.com

Tâches et Buts. Date D échéance. Tâche Buts Remarques. www.financiallywiseonheels.com Tâches et Buts Date D échéance Tâche Buts Remarques Objectifs Annuels Trafic Web Inscriptions Email Produits à vendre Services à vendre Suiveurs Pinterest Suiveurs Facebook Suiveurs Twitter Suiveurs YouTube

Plus en détail

Publication IEC 61000-4-3 (Edition 3.0 2008) I-SH 01

Publication IEC 61000-4-3 (Edition 3.0 2008) I-SH 01 Publication IEC 61000-4-3 (Edition 3.0 2008) I-SH 01 Electromagnetic compatibility (EMC) Part 4-3: Testing and measurement techniques Radiated, radio-frequency, electromagnetic field immunity test INTERPRETATION

Plus en détail

Usage guidelines. About Google Book Search

Usage guidelines. About Google Book Search This is a digital copy of a book that was preserved for generations on library shelves before it was carefully scanned by Google as part of a project to make the world s books discoverable online. It has

Plus en détail

A propos de ce livre. Consignes d utilisation

A propos de ce livre. Consignes d utilisation A propos de ce livre Ceci est une copie numérique d un ouvrage conservé depuis des générations dans les rayonnages d une bibliothèque avant d être numérisé avec précaution par Google dans le cadre d un

Plus en détail

RESULTING FROM THE ANTI-SEMITIC LEGISLATION IN FORCE DURING THE OCCUPATION. (Decree 99-778 of September 10, 1999) QUESTIONNAIRE. Family Name...

RESULTING FROM THE ANTI-SEMITIC LEGISLATION IN FORCE DURING THE OCCUPATION. (Decree 99-778 of September 10, 1999) QUESTIONNAIRE. Family Name... COMMISSION FOR THE COMPENSATION OF VICTIMS OF SPOLIATION RESULTING FROM THE ANTI-SEMITIC LEGISLATION IN FORCE DURING THE OCCUPATION (Decree 99-778 of September 10, 1999) Case Number : (to remind in all

Plus en détail

Guide d'installation rapide TFM-560X YO.13

Guide d'installation rapide TFM-560X YO.13 Guide d'installation rapide TFM-560X YO.13 Table of Contents Français 1 1. Avant de commencer 1 2. Procéder à l'installation 2 Troubleshooting 6 Version 06.08.2011 16. Select Install the software automatically

Plus en détail

THURSDAY, 24 MAY 9.00 AM 10.40 AM. 45 marks are allocated to this paper. The value attached to each question is shown after each question.

THURSDAY, 24 MAY 9.00 AM 10.40 AM. 45 marks are allocated to this paper. The value attached to each question is shown after each question. X059//0 NATIONAL QUALIFICATIONS 0 THURSDAY, 4 MAY 9.00 AM 0.40 AM FRENCH HIGHER Reading and Directed Writing 45 marks are allocated to this paper. The value attached to each question is shown after each

Plus en détail

Food for thought paper by the Coordinator on Reporting 1 PrepCom 3rd Review Conference 6 décembre 2013

Food for thought paper by the Coordinator on Reporting 1 PrepCom 3rd Review Conference 6 décembre 2013 Food for thought paper by the Coordinator on Reporting 1 PrepCom 3rd Review Conference 6 décembre 2013 (slide 1) Mr President, Reporting and exchange of information have always been a cornerstone of the

Plus en détail

Mesure Measurement Réf 322 033 Etiquettes Terre, Jupiter, Mars, Français p 1 Lune pour dynamomètre 10 N English p 4 Earth, Jupiter, Mars, Moon,

Mesure Measurement Réf 322 033 Etiquettes Terre, Jupiter, Mars, Français p 1 Lune pour dynamomètre 10 N English p 4 Earth, Jupiter, Mars, Moon, Mesure Measurement Français p 1 English p 4 Version : 8006 Etiquettes Terre, Jupiter, Mars, Lune pour dynamomètre 10 N Earth, Jupiter, Mars, Moon, labels for 10 N dynamometer Mesure Etiquettes Terre, Jupiter,

Plus en détail

Société de Banque et d Expansion

Société de Banque et d Expansion Société de Banque et d Expansion INTERNET BANKING DEMO AND USER GUIDE FOR YOUR ACCOUNTS AT NETSBE.FR FINDING YOUR WAY AROUND WWW.NETSBE.FR www.netsbe.fr INTERNET BANKING DEMO AND USER GUIDE FOR YOUR ACCOUNTS

Plus en détail

Zelio S2020 va SR2COM01

Zelio S2020 va SR2COM01 A. Introduction : A. Introduction : Zelio S2020 va SR2COM01 Communication modem via l interface de communication SR2COM01 Modem communication through the modem communication interface SR2COM01 L objectif

Plus en détail

Electronic Documents (Insurance and Insurance Holding Companies) Regulations

Electronic Documents (Insurance and Insurance Holding Companies) Regulations CANADA CONSOLIDATION CODIFICATION Electronic Documents (Insurance and Insurance Holding Companies) Regulations Règlement sur les documents électroniques (sociétés d assurances et sociétés de portefeuille

Plus en détail

Promotion of bio-methane and its market development through local and regional partnerships. A project under the Intelligent Energy Europe programme

Promotion of bio-methane and its market development through local and regional partnerships. A project under the Intelligent Energy Europe programme Promotion of bio-methane and its market development through local and regional partnerships A project under the Intelligent Energy Europe programme Contract Number: IEE/10/130 Deliverable Reference: W.P.2.1.3

Plus en détail

Autres termes clés (Other key terms)

Autres termes clés (Other key terms) Carve-out method Autres termes clés (Other key terms) Norme Rapports d assurance sur les contrôles d une société de services extérieurs (, Assurance Reports on Controls at a Third Party Service Organization)

Plus en détail

DOCUMENTATION MODULE FOOTERCUSTOM Module crée par Prestacrea

DOCUMENTATION MODULE FOOTERCUSTOM Module crée par Prestacrea DOCUMENTATION MODULE FOOTERCUSTOM Module crée par Prestacrea INDEX : DOCUMENTATION - FRANCAIS... 2 1. INSTALLATION... 2 2. CONFIGURATION... 2 3. LICENCE ET COPYRIGHT... 4 4. MISES A JOUR ET SUPPORT...

Plus en détail

Solution d hébergement de "SWIFTAlliance ENTRY R7" Politique de Sauvegarde et de Restauration

Solution d hébergement de SWIFTAlliance ENTRY R7 Politique de Sauvegarde et de Restauration Solution d hébergement de "SWIFTAlliance ENTRY R7" Politique de Sauvegarde et de Restauration Avril 2012 I- Introduction Le présent document présente la politique de sauvegarde et de restauration à adopter

Plus en détail

Cours de Programmation Orientée Objet

Cours de Programmation Orientée Objet Contrat et application à la librairie standard JAVA mailto:marc.champesme@lipn.univ-paris13.fr 6 février 2011 1 Qu est ce qu une classe? Un exemple en JAVA Résumé Expression du contrat Par des commentaires

Plus en détail

Rational Team Concert

Rational Team Concert Une gestion de projet agile avec Rational Team Concert Samira Bataouche Consultante, IBM Rational France 1 SCRUM en Bref Events Artifacts Development Team Source: Scrum Handbook 06 Décembre 2012 Agilité?

Plus en détail