39 research outputs found

    Implantation des Grammaires de Propriétés en CHR

    No full text
    We propose a direct interpretation for constraint-based linguistic formalisms.Nous proposons dans cet article une interprétation directe des formalismes linguistiques basés sur les contraintes dans laquelle les notions de dérivation et de hiérarchie laissent la place à la notion plus flexible de statisfaisabilité. De telles approches définissent l'acceptabilité de phrases en termes de propriétés devant être satisfaites par un groupe de catégories : par exemple le SN peut être décrit dans les grammaires de propriétés proposées dans [Blache01a] par un ensemble de propriétés comme la précédence (un déterminant précède un nom), unicité (il ne peut y avoir qu'un déterminant), d'exclusion (un pronom ne peut apparaître avec un déterminant), etc. Le résultat est alors proposé en termes de listes de propriétés qu'une entrée satisfait ou ne satisfait pas, une même structure pouvant comporter des descriptions avec des granularités différentes. La possibilité de définir des conditions sur les propriétés permet d'analyser des inputs incomplets ou incorrects de façon adaptable et efficace

    Actes des 14e journées sur les Approches Formelles dans l'Assistance au Développement de Logiciels

    Get PDF
    National audienceCet ouvrage présente les actes des 14èmes journées sur les Approches Formelles dans l'Assistance au Développement de Logiciels (AFADL'2015) qui se sont tenues à Bordeaux les 9 et 10 juin 2015

    Test de modèles formels en B : cadre théorique et critères de couverture

    Get PDF
    Les travaux présentés dans ce mémoire définissent un cadre théorique pour le test de logiciels développés selon la méthode formelle B. Les tests visent à révéler les fautes dues à une mauvaise compréhension ou à une mauvaise modélisation d’un besoin fonctionnel, et complètent ainsi les preuves effectuées pendant le développement formel. Un développement B peut être vu comme une série d’étapes durant lesquelles des modèles de plus en plus concrets de l’application sont construits, le code final pouvant être considéré comme une version compilée du modèle le plus concret. Le cadre théorique de test que nous avons défini est un cadre unifié, indépendant du fait que les résultats de test soient obtenus de l’animation des modèles ou de l’exécution du code. Ce cadre est explicitement lié à la notion du raffinement des modèles B : pour une entrée de test, l’acceptation des résultats fournis par un modèle implique l’acceptation des résultats fournis par les raffinements corrects de celui-ci. Nous définissons ensuite une approche d’analyse structurelle des modèles B. En poursuivant le cadre unifié, notre objectif est de définir des stratégies de couverture qui soient applicables à la fois à un modèle abstrait et à un modèle concret. Ceci a nécessité d’unifier pour les modèles B deux catégories de critères : • critères de couverture des spécifications orientées modèle basés sur la couverture des prédicats avant/après ; • critères classiques de couverture structurelle des programmes basés sur la couverture du graphe de contrôle. A partir de cette unification, nous avons défini un ensemble de critères, ordonnés selon la relation d’inclusion, qui complètent les critères existants. ABSTRACT : The work presented in this dissertation concerns the definition of a theoretical framework for testing software developed within the B formal method. The test aims to reveal specification faults due to a misunderstanding or a misrepresentation of a functional requirement, and thus complement the proofs performed during the formal development process. The B development process can be seen as a series of steps during which successively more concrete models of the system are constructed, the final code being considered as a compiled version of the most concrete model. The theoretical framework that we have defined is a unified framework, independent of the fact that the results are obtained by animation of models or by execution of the final code. The framework is explicitly related to the notion of refinement of B models: for a given test input, the acceptance of the results of a given model implies the acceptance of the results of its correct refinements. We then define an approach to structural analysis of B models. Following the unified framework, our aim is to define coverage strategies applicable to abstract models as well as to concrete ones. This has required the unification of two categories of criteria for B models: • coverage criteria defined for model oriented specifications based on the coverage of before-after predicates; • classical structural coverage criteria of programs based on the coverage of control flow graphs. From this unification, we have defined a set of criteria, ordered according to the inclusion relation, that complete the existing hierarchy of criteria

    Génération automatique de cas de test pour les systèmes modélisés par des machines à états finis communicantes

    Full text link
    Thèse numérisée par la Direction des bibliothèques de l'Université de Montréal

    Des méta-modèles pour guider l’élicitation des connaissances en EIAH : contributions à l’enseignement de méthodes et à la personnalisation des activités

    Get PDF
    Les travaux présentés dans ce mémoire d'habilitation à diriger des recherches portent sur l’élicitation des connaissances dans le cadre de l’ingénierie des EIAH (Environnements Informatiques pour l’Apprentissage Humain). Deux thématiques de recherche ont été explorées : l’enseignement de méthodes de résolution de problèmes et la personnalisation des EIAH. Les contributions à l’élicitation des connaissances dans ces deux thématiques sont des modèles et outils permettant à un utilisateur humain de définir les connaissances nécessaires au système pour proposer à l’apprenant un contenu pédagogique personnalisé, que ce soit un exercice, une rétroaction ou une recommandation.L’approche choisie pour répondre à la problématique de l’élicitation des connaissances est de proposer, pour chacune des questions de recherche abordées, un méta-modèle des connaissances à acquérir, indépendant du domaine d’apprentissage. Ce méta-modèle permet de guider l’utilisateur humain (concepteur, expert, auteur, enseignant) dans la définition d’un modèle de connaissances, qui sera lui dépendant du domaine. Le méta-modèle proposé permet également de définir un moteur de raisonnement associé, capable d’exploiter tout modèle de connaissances conforme au méta-modèle. Ce moteur de raisonnement exploite le modèle de connaissances défini par l’utilisateur, afin d’accomplir les tâches nécessaires à l’accompagnement par l’EIAH d’une activité d’apprentissage.En ce qui concerne l’enseignement de méthodes, les architectures proposées, rassemblant méta-modèles et moteurs de raisonnement, permettent de définir, dans un domaine donné, une méthode de résolution de problèmes et les connaissances destinées à accompagner l’élève dans son apprentissage de la méthode. Dans un domaine donné, une méthode de résolution de problèmes est constituée par un ensemble de classes de problème et d’outils de résolution associés à ces classes. Nous avons proposé le cycle AMBRE, mis en œuvre dans plusieurs EIAH, et qui incite l’apprenant à résoudre des problèmes par analogie afin d’acquérir les classes de problèmes de la méthode.Pour ce qui est de la personnalisation des EIAH, l’objectif de ces recherches est d’adapter à chaque apprenant les activités qui lui sont proposées au sein d’un EIAH. Nous avons proposé des méta-modèles et des outils fondés sur ces méta-modèles, outils destinés à un utilisateur ne possédant pas forcément de compétences poussées en informatique, comme un enseignant ou un auteur de MOOC. Ces outils lui permettent de mettre en place un processus de personnalisation complet, en définissant d’une part comment élaborer des profils d’apprenant à partir des traces de l’activité des apprenants avec l’EIAH, dans le but d’identifier les besoins de chacun, en définissant d’autre part des modèles d’exercices permettant la génération d’activités répondant à des besoins spécifiques, et en précisant enfin selon quelle stratégie affecter des exercices adaptés au profil de chaque apprenant

    Contribution à la Spécification et à la Vérification des Exigences Temporelles (Proposition d'une extension des SRS d'ERTMS niveau 2)

    Get PDF
    Les travaux développés dans cette thèse visent à assister le processus d ingénierie des exigences temporelles pour les systèmes complexes à contraintes de temps. Nos contributions portent sur trois volets : la spécification des exigences, la modélisation du comportement et la vérification. Pour le volet spécification, une nouvelle classification des exigences temporelles les plus communément utilisées a été proposée. Ensuite, afin de cadrer l utilisateur durant l expression des exigences, une grammaire de spécification à base de motifs prédéfinis en langage naturel est développée. Les exigences générées sont syntaxiquement précises et correctes quand elles sont prises individuellement, néanmoins cela ne garantie pas la cohérence de l ensemble des exigences exprimées. Ainsi, nous avons développé des mécanismes capables de détecter certains types d incohérences entre les exigences temporelles. Pour le volet modélisation du comportement, nous avons proposé un algorithme de transformation des state-machine avec des annotations temporelles en des automates temporisés. L idée étant de manipuler une notation assez intuitive et de générer automatiquement des modèles formels qui se prêtent à la vérification. Finalement, pour le volet vérification, nous avons adopté une technique de vérification à base d observateurs et qui repose sur le model-checking. Concrètement, nous avons élaboré une base de patterns d observation (ou observateurs) ; chacun des patterns développés est relatif à un type d exigence temporelle dans la nouvelle classification. Ainsi, la vérification est réduite à une analyse d accessibilité des états correspondants à la violation de l exigence associéeThe work developed in this thesis aims to assist the engineering process of temporal requirements for time-constrained complex systems. Our contributions concern three phases: the specification, the behaviour modelling and the verification. For the specification of temporal requirements, a new temporal properties typology taking into account all the common requirements one may meet when dealing with requirements specification, is introduced. Then, to facilitate the expression, we have proposed a structured English grammar. Nevertheless, even if each requirement taken individually is correct, we have no guarantee that a set of temporal properties one may express is consistent. Here we have proposed an algorithm based on graph theory techniques to check the consistency of temporal requirements sets. For the behaviour modelling, we have proposed an algorithm for transforming UML State Machine with time annotations into Timed Automata (TA). The idea is to allow the user manipulating a quite intuitive notation (UML SM diagramsduring the modelling phase and thereby, automatically generate formal models (TA) that could be used directly by the verification process. Finally, for the verification phase, we have adopted an observer-based technique. Actually, we have developed a repository of observation patterns where each pattern is relative to a particular temporal requirement class in our classification. Thereby, the verification process is reduced to a reachability analysis of the observers KO states relatives to the requirements violationVILLENEUVE D'ASCQ-ECLI (590092307) / SudocSudocFranceF

    Une architecture de contrôle distribuée pour l'autonomie des robots

    Get PDF
    Pour des tâches simples ou dans un environnement contrôlé, la coordination des différents processus internes d un robot est un problème relativement trivial, souvent implémenté de manière ad-hoc. Toutefois, avec le développement de robots plus complexes travaillant dans des environnements non contrôlés et dynamiques, le robot doit en permanence se reconfigurer afin de s adapter aux conditions extérieures et à ses objectifs. La définition d une architecture de contrôle efficace permettant de gérer ces reconfigurations devient alors primordiale pour l autonomie de tels robots. Dans ces travaux, nous avons d abord étudié les différentes architectures proposées dans la littérature, dont l analyse a permis d identifier les grandes problématiques qu une architecture de contrôle doit résoudre. Cette analyse nous a mené à proposer une nouvelle architecture de contrôle décentralisée, générique et réutilisable, selon une démarche qui intègre une approche "intelligence artificielle" (utilisation de raisonneur logique, propagation dynamique de contraintes) et une approche "génie logiciel" (programmation par contrats, agents). Après une présentation des concepts qui sous-tendent cette architecture et une description approfondie de son fonctionnement, nous en décrivons une implémentation, qui est exploitée pour assurer le contrôle d un robot terrestre d extérieur dans le cadre de tâches de navigation, d exploration ou de suivi. Des résultats sont présentés et analysés. Dans une seconde partie, nous nous sommes penchés sur la modélisation et la vérifiabilité d une telle architecture de contrôle. Après avoir analysé différentes solutions, nous décrivons un modèle complet de l architecture qui utilise la logique linéaire. Nous discutons ensuite des différentes approches possibles pour montrer des propriétés d atteignabilité et de sûreté de fonctionnement en exploitant ce modèle. Enfin nous abordons différentes voies d enrichissement de ces travaux. En particulier, nous discutons des extensions possibles pour le contrôle d un ensemble de robots coopérants entre eux, mais aussi de la nécessité d avoir des liens plus forts entre cette couche de contrôle, et les approches de modélisation des fonctionnalités sous-jacentes.For simple tasks in a controlled environment, the coordination of the internal processes of a robot is a relatively trivial task, often implemented in an ad-hoc basis. However, with the development of more complex robots that must operate in uncontrolled and dynamic environments, the robot must constantly reconfigure itself to adapt to the external conditions and its own goals. The definition of a control architecture to manage these reconfigurations becomes of paramount importance for the autonomy of such robots. In this work, we first study the different architectures proposed in the literature, and analyse the major issues that a control architecture must address. This analysis led us to propose a new architecture, decentralized, generic and reusable, integrating an artificial intelligence approach (use of logical reasoning, dynamic propagation of constraints) and a software engineering approach (programming by contract, agents). After a presentation of the concepts underlying this architecture and an in-depth description of its operation, we describe an implementation which is used to control of a ground robot for navigation, exploration and monitoring tasks. Results are presented and analyzed. In a second part, we focus on the modeling and verifiability of such a control architecture. After analyzing different solutions, we present a comprehensive model of the proposed architecture that uses linear logic. We then discuss the different possible approaches to assess the properties of reachability and safety within this model. Finally we discuss different ways to enrich this work. In particular, we discuss possible extensions to the control of a multiple cooperating robots, but also the need for stronger links between the control layer and the modeling.TOULOUSE-INP (315552154) / SudocSudocFranceF

    Une architecture de contrôle distribuée pour l'autonomie des robots

    Get PDF
    Pour des tâches simples ou dans un environnement contrôlé, la coordination des différents processus internes d’un robot est un problème relativement trivial, souvent implémenté de manière ad-hoc. Toutefois, avec le développement de robots plus complexes travaillant dans des environnements non contrôlés et dynamiques, le robot doit en permanence se reconfigurer afin de s’adapter aux conditions extérieures et à ses objectifs. La définition d’une architecture de contrôle efficace permettant de gérer ces reconfigurations devient alors primordiale pour l’autonomie de tels robots. Dans ces travaux, nous avons d’abord étudié les différentes architectures proposées dans la littérature, dont l’analyse a permis d’identifier les grandes problématiques qu’une architecture de contrôle doit résoudre. Cette analyse nous a mené à proposer une nouvelle architecture de contrôle décentralisée, générique et réutilisable, selon une démarche qui intègre une approche "intelligence artificielle" (utilisation de raisonneur logique, propagation dynamique de contraintes) et une approche "génie logiciel" (programmation par contrats, agents). Après une présentation des concepts qui sous-tendent cette architecture et une description approfondie de son fonctionnement, nous en décrivons une implémentation, qui est exploitée pour assurer le contrôle d’un robot terrestre d’extérieur dans le cadre de tâches de navigation, d’exploration ou de suivi. Des résultats sont présentés et analysés. Dans une seconde partie, nous nous sommes penchés sur la modélisation et la vérifiabilité d’une telle architecture de contrôle. Après avoir analysé différentes solutions, nous décrivons un modèle complet de l’architecture qui utilise la logique linéaire. Nous discutons ensuite des différentes approches possibles pour montrer des propriétés d’atteignabilité et de sûreté de fonctionnement en exploitant ce modèle. Enfin nous abordons différentes voies d’enrichissement de ces travaux. En particulier, nous discutons des extensions possibles pour le contrôle d’un ensemble de robots coopérants entre eux, mais aussi de la nécessité d’avoir des liens plus forts entre cette couche de contrôle, et les approches de modélisation des fonctionnalités sous-jacentes. ABSTRACT : For simple tasks in a controlled environment, the coordination of the internal processes of a robot is a relatively trivial task, often implemented in an ad-hoc basis. However, with the development of more complex robots that must operate in uncontrolled and dynamic environments, the robot must constantly reconfigure itself to adapt to the external conditions and its own goals. The definition of a control architecture to manage these reconfigurations becomes of paramount importance for the autonomy of such robots. In this work, we first study the different architectures proposed in the literature, and analyse the major issues that a control architecture must address. This analysis led us to propose a new architecture, decentralized, generic and reusable, integrating an artificial intelligence approach (use of logical reasoning, dynamic propagation of constraints) and a software engineering approach (programming by contract, agents). After a presentation of the concepts underlying this architecture and an in-depth description of its operation, we describe an implementation which is used to control of a ground robot for navigation, exploration and monitoring tasks. Results are presented and analyzed. In a second part, we focus on the modeling and verifiability of such a control architecture. After analyzing different solutions, we present a comprehensive model of the proposed architecture that uses linear logic. We then discuss the different possible approaches to assess the properties of reachability and safety within this model. Finally we discuss different ways to enrich this work. In particular, we discuss possible extensions to the control of a multiple cooperating robots, but also the need for stronger links between the control layer and the modeling
    corecore