Spelling suggestions: "subject:"architecture logiciel"" "subject:"architecture logiciels""
11 |
Description Sémantique de Services et d'Usines à Services pour l'Intelligence AmbianteEmonet, Rémi 23 September 2009 (has links) (PDF)
L'intelligence ambiante est un domaine hautement interdisciplinaire et implique de nombreux domaines de recherche. C'est pourquoi les avancées dans ce domaine sont conditionnées par l'interaction et l'intégration entre ces nombreuses disciplines. Ce manuscrit s'intéresse à la problématique de capitalisation des travaux existants, ainsi qu'à l'intégration dynamique de logiciels et d'appareils développés indépendamment les uns des autres. Nous proposons une intergiciel à services et une interface graphique utilisables et extensibles par les différents spécialistes. En étendant les approches à services et les principes du web sémantique, nous proposons une méthode de conception facilitant l'intégration dynamique et la composition de services. Cette méthode se base sur le concept nouveau d'usines à services : un service capable d'en instancier d'autres sur demande. Nous proposons aussi un langage de description pour ce langage.
|
12 |
Gestion Contextuelle de Tâches pour le contrôle d'un véhicule sous-marin autonomeEl Jalaoui, Abdellah 19 December 2007 (has links) (PDF)
Les travaux présentés s'inscrivent dans le cadre des architectures logicielles de contrôle des AUV (Autonomous Underwater Vehicle). La commande d'un AUV est basée sur un ensemble de ressources informatiques embarquées et un ensemble de capteurs/actionneurs qui peut changer selon le type de mission confiée au robot (modification de la charge utile). Le robot est comparable à un "porte charge" adaptable à différentes tâches et par conséquent évoluant au grés des progrès technologiques et de l'apparition de nouvelles applications scientifiques.<br /><br />De plus, le besoin d'autonomie dans un environnement (milieu sous-marin) en constante évolution et souvent inconnu requiert de la part du véhicule d'être capable, à chaque moment, d'évaluer son état et l'état de son environnement afin de prendre les décisions cohérentes pour exécuter sa mission. La réalisation d'un tel véhicule autonome requiert une méthodologie de conception de son architecture logicielle/matérielle.<br /><br />Ici, nous présentons l'architecture développée au LIRMM pour l'AUV Taipan. Cette architecture est construite en respectant certains critères tels que la modularité, l'évolutivité et la réutilisabilité.<br /><br />L'architecture est construite à partir de composants indépendants appelés "modules". Ces modules possèdent un ensemble de ports entrée/sortie qui vont permettre l'établissement dynamique de flux de données/contrôle. Il est alors possible de programmer les modules séparément, de les modifier et de les tester avant de les assembler.<br /><br />L'architecture mixte proposée repose sur deux niveaux hiérarchiques: un niveau décisionnel comprenant un Superviseur Global et des Superviseurs Locaux (un pour chaque mode: autonome, téléopération, coopération) et un niveau exécutif basé sur un ordonnanceur et des modules.<br /><br />Un vocabulaire basé sur trois types de termes: les objectifs, les sous-objectifs et les modules est utilisé au sein de l'architecture pour exprimer l'intention (objectifs), les capacités du système (modules) et la manière dont les intentions vont être réalisées grâce aux capacités du robot (sous-objectifs).<br /><br />Le plus haut niveau, le superviseur global, est en charge de la gestion de la mission à un niveau stratégique. Les décisions relatives aux tâches robotiques à lancer à des dates précises, la planification de ces tâches sont prises à ce niveau. Il décompose la mission reçue de l'opérateur en une séquence d'objectifs envoyés au superviseur local. Le superviseur local vérifie la disponibilité des ressources, réagit aux événements immédiats (e.g. évitement d'obstacle). Il subdivise chaque objectif en sous-objectifs avant de les envoyer au niveau exécutif. Le niveau exécutif fonctionne de manière périodique. Plusieurs modules dans ce niveau sont coordonnés pour configurer les capteurs, calculer les lois de commandes et gérer les conflits liés à l'instrumentation. Pour assurer le respect des contraintes bas niveau (e.g. capteurs acoustiques interférents) un ordonnanceur est en charge de gérer en ligne l'activité des modules bas niveau.<br /><br />Pour illustrer les principaux aspects de notre approche, un exemple d'application a été développé et testé sur l'AUV Taipan.
|
13 |
Contribution à une démarche de vérification formelle d'architectures logiciellesGraiet, Mohamed 25 October 2007 (has links) (PDF)
Cette thèse propose une Démarche de Vérification Formelle d'Architectures Logicielles : DVFAL. La démarche DVFAL supporte divers formalismes de description d'architectures logicielles tels que : les ADL (langages de description d'architectures), UML2.0, Symphony et des profils UML2.0 dédiés au domaine des architectures logicielles. La démarche DVFAL préconise l'ADL Wright en tant que langage formel pivot permettant de représenter des architectures logicielles décrites dans les divers formalismes. En outre, elle propose des transformations de modèles sous forme des traducteurs (Wright vers CSP de Hoare et Wright vers Ada) pour bénéficier des outils de vérification des propriétés supportant CSP et Ada tels que FDR et FLAVERS. Enfin, la démarche DVFAL propose un profil UML2.0-Wright jouant le rôle d'un langage intermédiaire entre les formalismes à base d'UML et Wright.
|
14 |
Composition flexible et efficace de transformations de programmesLenglet, Romain 25 November 2004 (has links) (PDF)
Cette thèse propose de généraliser l'utilisation de la transformation de programmes, pour la construction d'un lien efficace entre les parties fonctionnelle et non-fonctionnelle (ou technique) d'un système logiciel. Dans ce cadre, nous avons développé un système de transformation (Jabyce), avec pour objectifs la possibilité d'implanter tous les transformateurs de programmes possibles, leur encapsulation pour systématiser leur réutilisation, et la possibilité de les composer arbitrairement et efficacement. Pour cela, Jabyce a deux caractéristiques : les transformateurs sont conçus sous la forme de composants logiciels dans un modèle de composant général (Fractal), et les programmes transformés sont représentés par des séquences d'interactions au lieu de graphes d'objets (représentation classique). Une extension de la catégorisation classique des systèmes de transformation de programme nous permet une comparaison exhaustive de Jabyce aux autres systèmes existants, qui montre que, grâce à ses caractéristiques, Jabyce facilite significativement la conception de transformateurs complexes, et offre les mécanismes de composition de transformateurs les plus efficaces et les plus flexibles. Jabyce a été validé expérimentalement dans le cadre de la construction d'un environnement de persistance transparente d'objets Java, et celle d'une Machine Virtuelle Java modulaire basée sur la compilation statique. Un autre apport original de ce travail est l'introduction de la problématique du traitement des erreurs dans les systèmes de transformation de programmes, et la conception d'un système de traitement d'erreur adapté à Jabyce.
|
15 |
Modalité d'interaction et multimodalitéNigay, Laurence 20 December 2001 (has links) (PDF)
Mes travaux sont résolument ancrés dans l'ingénierie de l'Interaction Homme-Machine. Ce faisant, les deux facettes, conception ergonomique et conception logicielle, sont apparentes dans mes contributions. Mon étude s'articule autour des termes de modalité d'interaction et de multimodalité. Je me suis appuyée sur des résultats généraux incluant la définition d'une modalité et d'un espace de composition de modalités et je les ai infléchis à deux axes de recherche, l'exploration visuelle d'espaces informationnels et la réalité augmentée. Pour chacun de ces axes, des propriétés ergonomiques, des règles et patrons de conception, des solutions architecturales et logicielles, ainsi que des techniques d'interaction comme la réalité cliquable et la ballade augmentée ont été conçus.
|
16 |
Développement logiciel orienté paradigme de conception : la programmation dirigée par la spécificationCassou, Damien 17 March 2011 (has links) (PDF)
Nombre d'applications ont pour comportement principal l'attente d'un événement venant d'un environnement extérieur, la préparation d'un résultat et l'exécution d'actions sur cet environnement. Les interfaces graphiques et les systèmes avioniques en sont des exemples. Le paradigme SCC, pour Sense--Compute--Control, est particulièrement adapté à la description de ces applications. Le développement d'applications suivant ce paradigme est cependant rendu difficile par le manque de cadre conceptuel et d'outils de support. Cette thèse propose un cadre conceptuel dédié au paradigme SCC et se concrétise par un langage de description d'architectures nommé DiaSpec. Ce langage fournit un cadre de travail pour guider le développement d'une application SCC en assignant des rôles aux membres du projet et en proposant une séparation des préoccupations. En plus de fournir un cadre de conception, cette thèse fournit un support de programmation. En effet, à partir de descriptions écrites en DiaSpec, un framework de programmation dédié est généré dans un langage cible. Ce framework de programmation guide l'implémentation d'une application SCC en exposant les mêmes abstractions que le langage DiaSpec. Ce framework de programmation est conçu de façon à assurer que l'implémentation d'une application est conforme à l'architecture décrite en DiaSpec, en s'appuyant sur le système de types du langage cible. Les contributions de cette thèse sont évaluées suivant des critères d'expressivité, d'utilisabilité et de productivité.
|
17 |
KALIMUCHO : Adaptation au Contexte pour la Gestion de la Qualité de ServiceLouberry, Christine 10 September 2010 (has links) (PDF)
Dans cette thèse, nous avons choisi d'aborder l'adaptation dynamique au contexte comme un outil de gestion de la qualité de service. Nous présentons une plate-forme pour la reconfiguration et le déploiement contextuel d'applications en environnement contraint appelée Kalimucho. Kalimucho est une plate-forme distribuée qui dispose d'une représentation globale de l'application. Elle permet d'effectuer des reconfigurations dynamiques des applications basées composants grâce à cinq actions de base : ajouter, supprimer, migrer, connecter et déconnecter. L'originalité de cette plate-forme est qu'elle exploite le plus possible les ressources de l'application en permettant d'utiliser tous les périphériques disponibles comme supports des composants logiciels de l'application, qu'ils soient ou non en relation avec les fonctionnalités du périphérique. Pour cela elle repose sur un modèle de QdS à deux dimensions : l'Utilité qui permet de garantir une application conforme aux souhaits de l'utilisateur et aux conditions d'utilisation et la Pérennité qui garantit une durée de vie suffisante. Ce modèle est implémenté par une heuristique de choix d'une configuration à déployer qui permet de trouver une configuration et le déploiement associé qui respectent ces critères de QdS. Enfin nous proposons une méthode de conception qui guide le concepteur dans la modélisation du contexte et des applications. Elle permet d'identifier tous les évènements pouvant engendrer des reconfigurations et de les associer à une action. Elle permet également de décomposer l'application en différentes configurations qui servent de base au choix de reconfiguration. Enfin elle permet de définir toutes les règles de modification du modèle de QdS en fonction des changements du contexte afin de pouvoir proposer différentes politiques d'adaptation : utilisation normale, situation d'urgence, etc.
|
18 |
Approche dirigée par les modèles pour le développement de systèmes multi-agentsAzaiez, Selma 11 December 2007 (has links) (PDF)
Les systèmes multi-agents s'attaquent aux nombreuses problématiques posées actuellement dans le monde informatique telles que la distribution, l'évolution, l'adaptabilité et l'interopérabilité des systèmes. Les solutions proposées par ces systèmes sont prometteuses et permettent d'obtenir des systèmes flexibles et évolutifs. Cependant, leur mise en oeuvre reste difficile. Ceci est dû au manque de techniques d'ingénierie adaptées à ce genre de système et qui permettent un développement fiable et cohérent. Bien qu'il existe plusieurs propositions intéressantes au niveau des méthodologies, des langages de spécification et des plates-formes d'implémentation orientés agent, celles-ci manquent de cohésion et font ressortir plusieurs différences aussi bien au niveau de la sémantique des concepts utilisés mais aussi au niveau des démarches de développement. Notre but durant cette thèse a été de proposer une approche flexible et cohérente supportant le développement des systèmes multiagents. Cette approche que nous baptisons ArchMDE se base sur une combinaison de l'approche centrée architecture et de l'approche dirigée par les modèles. L'approche centrée architecture nous permet de raisonner sur les éléments qui structurent le système multi-agents ainsi que leurs interactions. Elle permet d'identifier les patrons architecturaux nécessaires au développement des systèmes multi-agents en prenant en compte les différentes vues du système (vue organisationnelle, vue environnementale, etc.). L'approche orientée modèles nous permet d'exprimer de façon explicite la manière de combiner ces patrons architecturaux afin d'avoir une représentation globale du système multi-agents. D'autre part, IDM permet de couvrir les différentes phases du cycle de développement en adoptant une démarche basée sur la transformation de modèles. Cette démarche permet de garantir la cohérence du système durant les différentes phases du cycle de vie. Par ailleurs, celle-ci offre l'avantage de préserver le savoir-faire des développeurs en exprimant explicitement les opérations d'intégration (entre les patrons architecturaux) et de mapping (entre les modèles de conception et les modèles d'implémentation). Pour implanter ArchMDE, nous utilisons le cadre de développement ArchWare qui est basé sur le pi-calcul typé, polyadique et d'ordre supérieur, ce qui permet de supporter les aspects communicatifs et évolutifs des systèmes multi-agents. Le choix d'un cadre formel vise à réduire l'ambiguïté liée aux concepts multi-agents mais aussi à garantir une conception sûre. En effet, l'utilisation d'un langage formel donne la possibilité d'exprimer explicitement différentes propriétés structurelles et comportementales. Le cadre de développement ArchWare offre divers langages accompagnés de différents outils qui nous seront utiles pour mettre en oeuvre notre approche.
|
19 |
Méthodes et outils informatiques pour la commande locale ou distante de systèmes réactifsLe Parc, Philippe 08 July 2004 (has links) (PDF)
Ce document résume mon activité de recherche depuis 1991. Elle a porté sur deux thématiques connexes : la modélisation et la validation de langages métier de l'automatisme et le contrôle à distance de systèmes mécaniques sur des réseaux de communication non fiables. Le premier axe de recherche portait plus précisément sur la définition formelle des langages classiques de l'automatisme (langage à relais et Grafcet) à l'aide des formalismes synchrones tels que Signal ou Lustre. L'intérêt d'un tel travail était de pouvoir exprimer les différentes interprétations possibles d'un même programme afin de pouvoir les comparer ; les environnements développés autour des formalismes synchrones permettant alors la réalisation directe de simulateurs ainsi que l'ouverture vers des outils autorisant la validation des programmes. Dans ce dernier domaine, différentes pistes ont été étudiées avant de retenir une modélisation à l'aide d'automates temporisés permettant alors l'expression de propriétés temporelles sur les programmes modélisés. Le deuxième axe de travail avait et a pour objectif d'étudier la faisabilité de l'introduction des nouvelles technologies, et en particulier des technologies réseau, dans le contrôle supervisé de systèmes mécaniques. Le réseau est ici vu comme un réseau sans qualité de service, de type Internet, alors que l'une des préoccupations majeures des automaticiens est d'assurer une sécurité maximale. Dans un premier temps, nous avons proposé une architecture logicielle permettant la communication entre l'opérateur et le système à contrôler. Basée sur un noyau de services complété par des pilotes spécifiques aux applications cibles, elle est facilement extensible. Pour prendre en compte les aléas réseau, la méthodologie Gemma, utilisée en ingéniérie des automatismes, a été étendue afin d'intégrer des informations en provenance d'un capteur réseau. Ce dernier permet d'estimer la qualité de la connexion d'un bout à l'autre du système de communication et doit être pris en compte automatiquement, et en permanence, par le système afin d'assurer la sécurité du contrôle supervisé. Bien que différentes, ces deux thématiques se rejoignent sur de nombreux points : --- Le domaine d'application, c'est à dire le contrôle de systèmes en environnement de production industriel. D'un côté, on a cherché à assurer une meilleure qualité, de la spécification à l'implantation en passant par la vérification des applications. De l'autre en proposant l'utilisation des nouvelles technologies de communication pour améliorer la productivité globale de l'entreprise. --- L'utilisation et l'introduction des méthodes et des outils de l'informaticien auprès de la communauté des automaticiens. Dans mon premier domaine de recherche, par l'intermédiaire du monde dit "synchrone" et dans le deuxième par la mise en oeuvre des technologies autour de l'Internet. Dans les deux cas, les technologies informatiques se sont placées au service d'autres disciplines tout en essayant de faire ressortir les points difficiles et de proposer des solutions innovantes. --- Le souci permanent de construire des applications sûres et de valider, si possible de manière formelle, les résultats obtenus. Cet aspect est surtout visible dans le cadre de la première activité de recherche, mais des travaux, non encore achevés, ont également porté sur la validation de l'architecture logicielle proposée pour le contrôle à distance. Ils sont directement issus des connaissances et de l'expérience acquises dans le premier thème.
|
20 |
Construction de collecticiels : étude d'architectures logicielles et de fonctions de contrôleKanawati, Rushed 24 November 1997 (has links) (PDF)
Nous nous intéressons dans ce travail à la problématique du développement des applications pour le travail coopératif, dites aussi collecticiels. Un collecticiel est à la fois une application multi-utilisateurs, répartie et interactive. La somme des trois propriétés précédentes rend le développement de ce type d'applications particulièrement difficile. Une approche souvent empruntée pour la construction des collecticiels consiste à développer une plate-forme qui fournit les services requis pour la coopération. Dans ce rapport nous identifions les principaux services demandés à une telle plate-forme et nous décrivons et nous comparons les différentes approches possibles pour réaliser ces services. Nous proposons ensuite un nouvel environnement de coopération appelé Colt (pour Collaboration Terrain). Une première qualité de Colt est l'intégration des deux modes de travail : individuel et en groupe. Les utilisateurs partagent un espace d'information où chacun a le droit de voir et de se mouvoir selon des \em rôles qui lui sont attribués. Une deuxième qualité importante est l'adaptabilité fonctionnelle et structurelle. Selon l'axe structurel Colt permet de définir et de réajuster dynamiquement les rôles des utilisateurs, de définir autant d'activités coopératives que l'on souhaite et d'utiliser dans ces différentes activités les outils dont on a besoin. Sur l'axe fonctionnel, les utilisateurs peuvent définir et changer dynamiquement la configuration des activités. Une attention particulière est faite en vue de doter l'environnement de stratégies variées pour contrôler les accès concurrents des utilisateurs aux données partagées. L'environnement Colt propose une famille de protocoles de tour de rôles et intègre un protocole original, appelé LICRA. L'algorithme LICRA est un algorithme optimiste fondé sur la détection de dépendances et la résolution automatique des conflits en utilisant un mécanisme de transformation d'opérations. Un premier prototype de l'environnement Colt est aujourd'hui disponible pour une plate-forme UNIX. Le prototype est implanté en utilisant l'environnement de développement TCL-TK.
|
Page generated in 0.0832 seconds