Faculté informatique et communications IC, Département de systèmes de communication, Institut de systèmes de communication ISC (Laboratoire pour les communications informatiques et leurs applications 1 LCA1)

Run-time monitoring and on-line testing of middleware based communication services

Logean, Xavier ; Hubaux, Jean-Pierre (Dir.)

Thèse sciences techniques Ecole polytechnique fédérale de Lausanne EPFL : 2000 ; no 2137.

Ajouter à la liste personnelle
    Summary
    With the present day's exponential growth of the (tele-)communications market, the explosion of the number of mobile communication customers, and the tremendous growth of the number of IP hosts, ensuring the reliability of communication services is one of the most challenging tasks in today's software engineering. This Thesis addresses this problem by providing a new method for increasing confidence in the implementation of communication services. We developed an approach for monitoring and testing communications services that are built on top of a middleware. Specifically, we show how to monitor a communication service and how to use the monitored information to test at runtime whether the behavior of the service conforms to constraints. The constraints are extracted from the requirements, expressed using a formal method. The approach advocated in this Thesis consists in combining the power of formal methods, which have reached a high degree of maturity in the academic domain, with a testing methodology, that fit the industrial needs, in order to test the implementation of a communication service. The developer can thus focus on the testing rather then on how the testing is performed. To solve this problem (1) we designed a monitoring mechanism that is able to observe at run-time, the events occuring in the system under scrutiny, (2) designed a testing mechanism that checks at runtime if properties expressed using Temporal Logic, are violated by the execution of the application, (3) implemented a prototype tool, MOTEL (MOnitoring and TEsting tooL). With our approach the tester need only to specify the properties. The other steps involved in the testing processes are performed automatically. According to the content of the properties the instrumentation is added in the system to be tested. This instrumentation reports a consistent order of the events occurring to a central Observer. Within this Observer, the properties, which are independent of the implementation language, are translated into deterministic automata. At run-time these automata are used, according to the events reported by the instrumentation to the Observer, to check if the properties are violated. Thus, our monitoring and testing mechanism fits well in the development process because it does not add noticeable new steps for the developer. In this thesis we put together many concepts and solutions from various domains (distributed systems, middleware, object-oriented development, CORBA, communication services, formal method, Temporal Logic, automata theory, monitoring, testing). By enhancing, developing and combining, and integrating them together, we reached a high level of integration that provides a new, powerful and useful functionality to test the implementation of communication services. We believe that there is not a more valuable argument for the application and practical relevance of our approach in the industry, than the introduction and use of our method and tool in and by the industry. Our partner, Alcatel, is currently integrating MOTEL in the distributed platform PERCO.
    Résumé
    Dû à l'évolution exponentielle du marché des télécommunications, à l'explosion du nombre de clients de la communication mobile et à l'incroyable évolution du nombre d'hôtes IP, garantir la fiabilité des services de communications est un des grands défis actuels du génie logiciel appliqué aux télécommunications. Cette Thèse propose une nouvelle approche pour améliorer la qualité de l'implantation des services de communications. Nous avons développé une méthode pour l'observation et le test des services de communications qui ont été développés à l'aide d'un "middleware". Plus spécifiquement, nous montrons comment observer un service de communications et comment utiliser cette information pour tester, durant l'exécution du service, si le comportement respecte ce qui est exprimé dans des propriétés. Les propriétés sont établies grâce au cahier des charges du service, indépendamment du langage d'implantation et à l'aide d'un langage formel. Dans notre approche, (1) nous avons développé un mécanisme d'observation qui intercepte les événements durant l'exécution du service, (2) nous avons mis au point un mécanisme pour le test, qui vérifie si des propriétés exprimées à l'aide de la logique temporelle et de notre modèle événementiel, sont violées durant l'exécution du service, (3) nous avons implanté un prototype, appelé MOTEL (MOnitoring and TEsting tooL). En appliquant notre méthode, le "testeur" se concentre sur le test plutôt que sur les moyens par lesquels le test est accompli: il exprime les propriétés à vérifier et les autres étapes impliquées dans la procédure de test sont accomplies automatiquement. Le code est instrumenté pour détecter et rapporter les événements, en respectant l'ordre d'occurrence, à un Observeur central. Au sein de l'Observeur, les propriétés sont traduites sous la forme d'automates déterministes. Durant l'exécution du service, les automates sont alimentés à l'aide des événements observés, pour vérifier si les propriétés sont violées. Notre approche s'intègre bien dans le processus de développement logiciel puisque les étapes normales restent identiques, uniquement l'expression des propriétés est ajoutée. Dans cette thèse, nous combinons l'efficacité des méthodes formelles, qui sont matures dans le domaine académique, avec une méthode de test qui correspond aux besoins industriels; nous avons intégré les concepts et solutions de différents domaines (systèmes répartis, CORBA, développement orienté-objet, services de communications, méthodes formelles, théorie des automates, observations et test de systèmes). En les améliorant, développant, combinant et intégrant ensemble, nous avons atteint un haut niveau d'intégration qui apporte une nouvelle et puissante méthode pour tester l'implémentation des services de communications. Nous pensons qu'il n'y a pas de meilleurs arguments pour l'application et l'intérêt pratique de notre travail dans l'industrie, que son introduction et utilisation, dans et par l'industrie. Notre partenaire, Alcatel, intègre actuellement MOTEL dans sa plate-forme répartie PERCO.