• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 10
  • 1
  • Tagged with
  • 11
  • 11
  • 11
  • 11
  • 6
  • 4
  • 3
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 1
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.
1

Mécanisme de contrôle du flot d'information dans un programme : approche par typage trivalué

Kanyabwero, Erwanne Paméla January 2013 (has links)
Ce mémoire présente un mécanisme d’application de politiques de sécurité grâce à une analyse de types trivaluée sur un langage impératif. Notre analyse a pour but de réduire les faux positifs générés par l’analyse statique, tout en préparant les programmes analysés à être instrumentés. Les faux positifs se produisent dans l’analyse de systèmes informatiques à temps réel quand il manque de l’information au moment de la compilation, par exemple un nom de fichier, et par conséquent, son niveau de sécurité. Notre approche visant à répondre à la question « Y a-t’il violation de la propriété de non-interférence dans le programme ? », l’idée clé est de distinguer les réponses négatives des réponses incertaines. Au lieu de rejeter le programme systématiquement en cas d’incertitude, nous typons les instructions avec un type additionnel, unknown, indiquant l’incertitude. Notre travail est fait en préparation à un mécanisme d’application hybride, combinant l’analyse statique par l’analyse de types et l’analyse dynamique par l’instrumentation de code. Durant l’étape d’analyse statique, les réponses positives et négatives sont traitées de manière standard, tandis que les réponses incertaines sont clairement annotées du type incertain, préparant ainsi pour un éventuel passage à la deuxième étape : l’instrumentation. Une preuve que notre système de types est cohérent est donnée, ceci en montrant qu’il satisfait la non-interférence. Les programmes interagissent à travers les canaux de communication. Notre contribution réside dans la manipulation de trois types de sécurité, mais aussi dans le traitement des variables et canaux de communication de manière particulière. Les niveaux de sécurité sont associés aux canaux plutôt qu’aux variables dont les niveaux de sécurité varient selon l’information qu’elles contiennent.
2

Algorithmes de compression d'images hyperspectrales astrophysiques

Vohl, Dany 19 April 2018 (has links)
SpIOMM, le Spectromètre imageur à transformée de Fourier de l’Observatoire du Mont-Mégantic génère des fichiers de taille imposante, de l’ordre de 700 Mo et SITELLE, son successeur génèrera des fichiers de l’ordre du Go. Puisque plusieurs fichiers peuvent être générés durant une nuit d’observation et que les astronomes ne sont pas toujours sur place pour effectuer leurs observations, ces fichiers apportent à la fois des besoins de stockage et de transfert de données. Afin de minimiser l’espace nécessaire à son stockage et de minimiser la bande passante et le temps de transfert nécessaire pour obtenir le fichier à distance, trois techniques de compression sont abordées. Les deux premières sont des techniques de compression sans perte et la troisième en est une avec perte. Les deux premières permettent d’obtenir de meilleurs taux de compression que les algorithmes génériques que sont zip et gzip2, avec des taux de compression de l’ordre de 1; 19 : 1 à 1; 22 : 1. La troisième permet des taux de compression allant jusqu’à un ratio de 64 : 1. Les effets des perte sont étudiés pour évaluer l’effet de la compression sur les mesures de photométrie et les analyses basées sur les spectres. / SpIOMM, the Imaging Fourier Transform Spectrometer of the Observatoire du Mont-Mégantic generates huge files of about 700 MB per file on average, and SITELLE, its successor will generate files of a few GB. Since several files can be generated during an observation night and the astronomers are not always on-site, there is an increasing need for both storage and transmission. To minimize storage space, bandwidth use and transmission time, three data compression techniques are presented. The first two techniques are lossless data compression and the third one is lossy. The lossless techniques give better results than generic techniques that are zip and gzip2, with compression ratios varying from 1:19 : 1 to 1:22 : 1. The lossy technique compresses files up to a 64 : 1 ratio. The effect of the lossy process on the photometric measurements and the spectra analysis is also studied.
3

Forêts Aléatoires PAC-Bayésiennes

Zirakiza, Brice 19 April 2018 (has links)
Dans ce mémoire de maîtrise, nous présentons dans un premier temps un algorithme de l'état de l'art appelé Forêts aléatoires introduit par Léo Breiman. Cet algorithme effectue un vote de majorité uniforme d'arbres de décision construits en utilisant l'algorithme CART sans élagage. Par après, nous introduisons l'algorithme que nous avons nommé SORF. L'algorithme SORF s'inspire de l'approche PAC-Bayes, qui pour minimiser le risque du classificateur de Bayes, minimise le risque du classificateur de Gibbs avec un régularisateur. Le risque du classificateur de Gibbs constitue en effet, une fonction convexe bornant supérieurement le risque du classificateur de Bayes. Pour chercher la distribution qui pourrait être optimale, l'algorithme SORF se réduit à être un simple programme quadratique minimisant le risque quadratique de Gibbs pour chercher une distribution Q sur les classificateurs de base qui sont des arbres de la forêt. Les résultasts empiriques montrent que généralement SORF est presqu'aussi bien performant que les forêts aléatoires, et que dans certains cas, il peut même mieux performer que les forêts aléatoires. / In this master's thesis, we present at first an algorithm of the state of the art called Random Forests introduced by Léo Breiman. This algorithm construct a uniformly weighted majority vote of decision trees built using the CART algorithm without pruning. Thereafter, we introduce an algorithm that we called SORF. The SORF algorithm is based on the PAC-Bayes approach, which in order to minimize the risk of Bayes classifier, minimizes the risk of the Gibbs classifier with a regularizer. The risk of Gibbs classifier is indeed a convex function which is an upper bound of the risk of Bayes classifier. To find the distribution that would be optimal, the SORF algorithm is reduced to being a simple quadratic program minimizing the quadratic risk of Gibbs classifier to seek a distribution Q of base classifiers which are trees of the forest. Empirical results show that generally SORF is almost as efficient as Random forests, and in some cases, it can even outperform Random forests.
4

Approche logique pour l'analyse de traces d'exécutions

Zribi, Rimeh 19 April 2018 (has links)
Les techniques traditionnelles de détection d'intrusions s'appuient sur différentes approches permettant d'identifier une utilisation non prévue et non autorisée de différentes ressources d'un système informatique. Afinn de détecter ces comportements, nous décrivons dans ce mémoire une approche logique de détection d'intrusions basée sur l'identification, dans des traces d'exécutions, de violations de politiques de sécurité données. Le modèle développé spécifie l'état des ressources d'un système ainsi que les effets des différents appels système sur cet état. Le système obtenu, qui s'apparente à un système expert, s'appuie sur un ensemble de règles logiques décrivant les connaissances d'un expert en sécurité informatique. Tout comportement illégal, c'est-à-dire non conforme aux politiques de sécurité considérées, est signalé et est considéré comme une tentative d'intrusion. Le système implémenté est capable de détecter une large classe d'attaques puisque l'approche développée ne se base pas sur certaines séquences particulières d'actions déjà recensées, mais plutôt sur les effets des différentes actions effectuées. De plus, il est capable de détecter de nouveaux comportements malveillants non préalablement identifiés. / Traditional techniques for intrusion detection based on different approaches for identifying unintended and unauthorized use of dfferent resources of a computer system. To detect these behaviors, we describe in this paper a logical approach to intrusion detection based on the identification, in execution traces, of violations of given security policies. The developed model specifies the state of system resources as well as the effects of different system calls on this state. The resulting system, which is similar to an expert system, relies on a set of logical rules describing the knowledge of an expert in computer security. Any illegal behavior, that means not conform to the considered security policies, is reported and is considered as an intrusion attempt. The implemented system is able to detect a wide class of attacks since the approach is not based on some particular sequences of actions already identified, but rather on the effects of different actions performed. In addition, it is able to detect new malicious behavior not previously identified.
5

Un outil de spécification et d'évaluation efficace des expressions mathématiques des modèles épidémiologiques pour la simulation des zoonoses

Sedrati, Saïd 20 April 2018 (has links)
La géosimulation est une approche qui permet la modélisation et la simulation de phénomènes dynamiques. Elle est appliquée dans un grand nombre de domaines tels que l’urbanisme, la gestion de l’environnement et la santé publique. La géosimulation se base sur des données géo-référencées qui fournissent le contexte spatial virtuel de la simulation. La dynamique du phénomène simulé est généralement fondée sur des modèles, des algorithmes et/ou des équations mathématiques. Dans le domaine de la santé publique qui nous concerne ici, plusieurs approches de simulation ont été proposées pour simuler la propagation des maladies vectorielles ou zoonoses. Une zoonose est une maladie propagée par un virus ou une bactérie transmise par des insectes (ex. moustiques, tiques) à des animaux (rongeurs, oiseaux, mammifères) qui peuvent être infectés, et à leur tour transmettre le virus ou la bactérie à des insectes sains qui les piquent. Éventuellement les insectes peuvent aussi piquer les humains et leur transmettre la maladie. Dans ces approches, on représente habituellement la dynamique de la zoonose par des modèles mathématiques (dits ‘à base de compartiments’) en faisant l’hypothèse que l’espace est homogène. Ainsi elles ne tiennent pas compte de l’influence du ‘paysage’ (en particulier de la couverture du sol). Pourtant prendre en compte les caractéristiques spatiales est important si on veut simuler de façon plausible la dynamique des zoonoses en tenant compte des zones favorables à la survie ou à la prolifération de certaines espèces (ex. moustiques, tiques) de leur dispersion par les espèces transportrices (ex. oiseaux, chevreuils) et de leurs comportements de mobilité. Dans le projet ZoonosisMAGS, dans lequel s’insère ce travail de maîtrise, on vise à développer une approche générique de simulation de la propagation des zoonoses en utilisant des données géo-référencées et en créant un environnement géographique virtuel efficace pour tenir compte de l’influence de la couverture du sol. Pour la dynamique du phénomène qui reflète l’évolution des espèces (des stades œuf, larve, nymphe à adulte), leurs interactions et leur statut épidémiologique (sain, susceptible, infecté) on utilise un modèle enrichi à base de compartiments qui représente les stades d’évolution biologiques et épidémiologiques des différentes espèces impliquées dans la zoonose. Les populations de chaque espèce en interaction et à divers stades de maturité sont associées aux cellules qui représentent les unités de l’environnement géographique virtuel. La transition des individus d’une espèce d’un compartiment à un autre, ainsi que l’interaction entre les espèces se fait à travers des calculs d’expressions mathématiques à chaque pas de simulation, et ceci pour chaque cellule. Par exemple, dans le cadre d’une simulation de la propagation de la maladie de Lyme sur 365 jours d’une année, sur une région d’environ 300km2, on doit évaluer environ 150 expressions mathématiques pour une trentaine de compartiments et environ 20000 cellules à chaque pas de temps. On comprend qu’un défi majeur est celui de l’efficacité de la spécification et de l’évaluation des expressions mathématiques. Aussi, nous traitons dans ce mémoire une première problématique qui concerne la spécification et l’évaluation efficace des expressions mathématiques et booléennes pour de telles simulations. C’est dans ce contexte que nous avons développé un système qui permet à l’usager de spécifier les expressions mathématiques requises par de telles simulations, ainsi qu’un système qui les évalue par la suite de manière très efficace. La spécification des modèles de compartiments des espèces, de leurs interactions et de l’infection peut être une tâche complexe pour certaines zoonoses comme la maladie de Lyme. À cet effet, nous avons traité une deuxième problématique visant à simplifier la tâche de spécification des modèles en créant un module graphique couplé au système d’expressions mathématiques. En nous basant sur la librairie de dessin Visio, nous avons développé un tel système qui est complètement intégré au simulateur ZoonosisMAGS (version C++). Dans ce mémoire nous présentons le contexte de la recherche, les étapes d’analyse et de conception des systèmes développés. Nous montrons à travers des cas d’utilisation comment ces systèmes sont pratiquement utilisés grâce aux interfaces utilisateurs pratiques que nous avons développées. Nous rendons compte de tests d’efficacité qui ont été conduits pour montrer la contribution de notre travail à travers les résultats d’exécution des expressions mathématiques dans une simulation utilisant un modèle à base de compartiments de la maladie de Lyme.
6

Géosimulation multi-niveau de phénomènes complexes basés sur les multiples interactions spatio-temporelles de nombreux acteurs : développement d'un outil générique d'aide à la décision pour la propagation des zoonoses

Bouden, Mondher 19 April 2018 (has links)
Nous proposons dans cette thèse une nouvelle approche de géosimulation multi-niveau permettant de simuler la propagation d’une zoonose (maladie infectieuse qui se transmet des animaux aux humains) à différents niveaux de granularité. Cette approche est caractérisée entre autres par l’utilisation d’un modèle théorique original que nous avons nommé MASTIM (Multi-Actor Spatio-Temporal Interaction Model) permettant de simuler des populations contenant un nombre considérable d’individus en utilisant des modèles compartimentaux enrichis. MASTIM permet de spécifier non seulement l’évolution de ces populations, mais également les aspects relatifs aux interactions spatio-temporelles de ces populations incluant leurs déplacements dans l’environnement de simulation géoréférencé. Notre approche de géosimulation multi-niveau est caractérisée également par l’utilisation d’un environnement géographique virtuel informé (IVGE) qui est composé d’un ensemble de cellules élémentaires dans lesquelles les transitions des différents stades biologiques des populations concernées, ainsi que leurs interactions peuvent être plausiblement simulées. Par ailleurs, nous avons appliqué nos travaux de recherche au développement d’outils d’aide à la décision. Nous avons acquis une première expérience avec le développement d’un outil (WNV-MAGS) dont l’objectif principal est de simuler les comportements des populations de moustiques (Culex) et des oiseaux (corneilles) qui sont impliquées dans la propagation du Virus du Nil Occidental (VNO). Nous avons par la suite participé au développement d’un outil générique (Zoonosis-MAGS) qui peut être utilisé pour simuler la propagation d'une variété de zoonoses telles que la maladie de Lyme et le VNO. Ces outils pourraient fournir des informations utiles aux décideurs de la santé publique et les aider à prendre des décisions informées. En outre, nous pensons que nos travaux de recherche peuvent être appliqués non seulement au phénomène de la propagation des zoonoses, mais également à d’autres phénomènes faisant intervenir des interactions spatio-temporelles entre différents acteurs de plusieurs types. / We propose in this thesis a new multi-level geosimulation approach to simulate the spread of a zoonosis (infectious disease transmitted from animals to humans) at different levels of granularity. This approach is characterized by using an original theoretical model named MASTIM (Multi-Actor Spatio-Temporal Interaction Model) which can be applied to simulate populations containing a huge number of individuals using extended compartmental models. MASTIM may specify not only the evolution of these populations, but also the aspects related to their spatio-temporal interactions, including their movements in the simulated georeferenced environment. Our multi-level geosimulation approach take advantage of an informed virtual geographic environment (IVGE) composed of a set of elementary cells in which the transitions of the different biological stages of the involved populations, as well as their interactions can be simulated plausibly. Furthermore, this approach has been applied to develop decision support tools. We got a first experience with the development of WNV-MAGS, a tool whose main purpose is to simulate the populations’ behavior of mosquitoes (Culex) and birds (crows), which are involved in the spread of West Nile Virus (WNV). We subsequently participated in the development of a generic tool (Zoonosis-MAGS) that can be used to simulate the spread of a variety of zoonoses such as Lyme disease and WNV. These tools may provide useful information to help public health officers to make informed decisions. Besides, we believe that this research can be applied not only to the spread of zoonoses, but also to other phenomena involving spatio-temporal interactions between different actors of different types.
7

Analyse de la similarité du code source pour la réutilisation automatique de tests unitaires à l'aide du CBR

Zhang, Xu January 2013 (has links)
Réutiliser les tests unitaires automatiquement est une solution pour faciliter le travail de certains développeurs. Dans notre recherche, nous proposons une ébauche de solution en utilisant le raisonnement à base de cas (Case Based reasoning - CBR) issu du domaine de l’intelligence artificielle. Cette technique tente de trouver le cas le plus similaire dans une base de cas pour ensuite, après modifications, le réutiliser pour résoudre un nouveau problème. Nos travaux de recherche se concentrent sur l’analyse de la similarité du code dans l’optique de réutiliser des tests unitaires. Nous porterons donc une attention particulière à l’élaboration d’une technique de comparaison des classes adaptées au contexte des tests. Plus précisément, dans ce mémoire, nous aborderons les questions suivantes: 1. Trouver la classe la plus similaire dans le but de réutiliser ses tests unitaires (travaux principaux); 2. Trouver les méthodes similaires entre les deux classes similaires; 3. Chercher les tests réutilisables en fonction de la similarité des méthodes de ces deux classes. Pour ce faire, nous mènerons des expérimentations afin de trouver les meilleures attributs (caractéristiques) permettant de comparer deux classes. Ces attributs doivent être choisis en considérant le contexte particulier des tests qui ne sont pas les mêmes que pour, par exemple, détecter du code dupliqué. Cette recherche nous permet de proposer un premier algorithme d’analyse de la similarité des classes qui fonctionne assez bien dans le contexte de notre expérimentation. Nous avons également étendu le processus à la sélection et la réutilisation de tests à l’aide d’une technique simple permettant de vérifier que l’algorithme d’analyse de similarité des classes peut potentiellement fonctionner et s’intégrer à un processus complet. Nos travaux montrent qu’il est possible de réutiliser des tests unitaires, bien que l’algorithme reste à être améliorer. Nous proposons d’ailleurs plusieurs pistes à ce sujet. / Automatically reusing unit tests is a possible solution to help developers with their daily work. Our research proposes preliminary solutions using case base reasoning (CBR), an approach coming from artificial intelligence. This technique try to find the most similar case in a case base to reuse it after some modifications against some new problems to solve. Our works focus on the similarity analysis of a program code with the goal of reusing unit tests. Our main focus will be on the elaboration of a technique to compare classes in the test context. To be more precise, in the thesis, we will discuss: 1. How to find the most similar class for which it will be possible to reuse its tests (main focus); 2. How to find similar methods between the new class and the most similar one; 3. Find which test could be reused considering the similarity of the methods. To achieve this, we will run some experiments to find the bests attributes (characteristics) to compare two classes. Those attributes must be chosen considering the specific context of testing. For example, those characteristics are not the same as for finding duplicated code. This research propose an algorithm to analyze the similarity of classes. Our experiment shows that this algorithm works quite well in the context of the experiment. We also extended the experiment to see if it could possibly work within the whole process of selection and reuse of unit tests. We did this by using some simple techniques that could certainly be refined. In fact, our works demonstrate that it is possible to reuse unit tests despite the fact that our algorithm could be perfected and we suggest some improvements about it.
8

Calage robuste et accéléré de nuages de points en environnements naturels via l'apprentissage automatique

Latulippe, Maxime 19 April 2018 (has links)
En robotique mobile, un élément crucial dans la réalisation de la navigation autonome est la localisation du robot. En utilisant des scanners laser, ceci peut être réalisé en calant les nuages de points consécutifs. Pour ce faire, l’utilisation de points de repères appelés descripteurs sont généralement efficaces, car ils permettent d’établir des correspondances entre les nuages de points. Cependant, nous démontrons que dans certains environnements naturels, une proportion importante d’entre eux peut ne pas être fiable, dégradant ainsi les performances de l’alignement. Par conséquent, nous proposons de filtrer les descripteurs au préalable afin d’éliminer les nuisibles. Notre approche consiste à utiliser un algorithme d’apprentissage rapide, entraîné à la volée sous le paradigme positive and unlabeled learning sans aucune intervention humaine nécessaire. Les résultats obtenus montrent que notre approche permet de réduire significativement le nombre de descripteurs utilisés tout en augmentant la proportion de descripteurs fiables, accélérant et augmentant ainsi la robustesse de l’alignement. / Localization of a mobile robot is crucial for autonomous navigation. Using laser scanners, this can be facilitated by the pairwise alignment of consecutive scans. For this purpose, landmarks called descriptors are generally effective as they facilitate point matching. However, we show that in some natural environments, many of them are likely to be unreliable. The presence of these unreliable descriptors adversely affects the performances of the alignment process. Therefore, we propose to filter unreliable descriptors as a prior step to alignment. Our approach uses a fast machine learning algorithm, trained on-the-fly under the positive and unlabeled learning paradigm without the need for human intervention. Our results show that the number of descriptors can be significantly reduced, while increasing the proportion of reliable ones, thus speeding up and improving the robustness of the scan alignment process.
9

Migration d'interfaces utilisateurs textuelles de systèmes patrimoniaux vers le Web

Loghmani, Shadi 20 April 2018 (has links)
Les interfaces utilisateurs détiennent une importance non négligeable dans tout logiciel applicatif, car elles constituent le premier contact entre les utilisateurs et le logiciel. La migration d'interfaces utilisateurs textuelles de systèmes patrimoniaux vers le Web vise à remédier les problèmes liés à l'accès limité de tels systèmes tout en améliorant l'aspect et la convivialité de ces interfaces. Fréquemment, cela implique à la fois le changement de la plate-forme d'exécution - d'une plate-forme textuelle vers une architecture Web - et la refonte complète des interfaces vers une technologie de présentation Web. Ce mémoire est une synthèse des méthodes et des techniques de migration d'interfaces utilisateurs textuelles vers le Web. Nous y abordons, dans un premier temps, les notions reliées aux systèmes patrimoniaux et au Web. Cela permet d'établir le contexte de notre étude à savoir l'environnement de départ et l'environnement cible dans une migration d'interfaces utilisateurs vers le Web. Dans un deuxième temps, nous exposons différentes techniques et approches de migration d'interfaces utilisateurs. Finalement, nous terminons notre présentation avec trois exemples de plates-formes de migration d'interfaces utilisateurs.
10

Impacts de l'AOP sur les tests dans un environnement Agile : utilisation de Mocks pour les tests unitaires d'aspects

Bourbonnais-Bigras, Félix-Antoine 19 April 2018 (has links)
Bien que l’AOP soit présent dans le paysage informatique depuis quelques années, son adoption industrielle reste relativement timide malgré les bénéfices architecturaux promis et espérés. L’objectif principal de nos travaux est de favoriser l’adoption de l’AOP auprès des développeurs oeuvrant dans l’industrie. Nous voulons proposer des solutions adaptées qui permettent à ces professionnels d’embrasser l’AOP sans avoir à sacrifier leur processus, méthodologie et outils actuels qui leur permettent d’atteindre des objectifs de performance, de qualité, de déploiement et de maintenabilité. Afin de nous permettre d’identifier des besoins réels, nous avons centré nos travaux sur des équipes employant un processus Agile. En effet, les processus Agiles préconisent généralement diverses pratiques et principes qui risquent d’être affectés par un changement de paradigme de programmation. C’est notamment le cas des tests qui tiennent une place très importante au sein des méthodes agiles, car ils permettent l’acceptation du changement sur le long terme. Dans un premier temps, nous avons mené une étude exploratoire dont l’objectif était de mieux définir quels seraient les irritants pour des développeurs débutants avec l’AOP et qui travaillent dans un environnement Agile. À la lumière des résultats de cette étude, nous avons amorcé la partie maîtresse de nos travaux qui consistent à élaborer une solution pour faciliter les tests unitaires d’aspects. Pour ce faire, nous avons conçu et rendu disponible un cadre d’applications (framework) permettant la création et le tissage de Mocks avec des aspects, facilitant ainsi l’isolation des aspects. Ce cadre a été développé de manière à s’arrimer avec les pratiques et outils répandus en industrie pour des équipes Agiles. / Although the fact that AOP has been proposed since quite a few years, the industrial adoption of this paradigm is not widespread in spite of the benefits hoped and promised for software architectures. The main goal of our work is to promote the adoption of AOP by industrial developers. We want to provide adapted solutions allowing those professionals to embrace AOP without having to sacrifice their processes, practices and tools. We seek practical solutions to allow them to reach their performance, quality, deployment and maintainability goals. To better identify and understand the real needs of teams using Agile processes, our work is focus on Agile environments. In fact, Agile processes encourage numerous practices and principles that could be affected by the usage of AOP in such projects. For instance, this is the case for software testing who is largely embraced the Agile community as a way of sustaining the acceptation of change over time. Our first step was to conduct an exploratory study to identify what could be the irritants for Agile teams who want to use AOP for the first time. Considering those results, we undertook our main contribution consisting to produce a solution to help unit testing of aspects. To do so, we developed and made available a framework to create and weave Mocks with aspects to help isolate aspects for testing purposes. The framework was designed to integrate easily with practices and tools commonly used in the industry by Agile teams.

Page generated in 0.0229 seconds