11 research outputs found

    Vers l'utilisation de DSL et de langages dynamiques en entreprise : une Ă©tude de cas avec Groovy

    Get PDF
    Tout comme l'indique Whorf, nous analysons le monde à l'intérieur du cadre sémantique de notre langue maternelle. Il en va de même pour la résolution de problèmes à l'aide de langages de programmation. Les possibilités offertes par un langage et sa syntaxe façonnent notre conception du domaine du problème. Ainsi, si la langue forme notre pensée, les mots qui la composent ne sont parfois pas suffisants pour exprimer toute la richesse de nos idées. Par exemple, les spécialistes de domaines particuliers utilisent souvent un jargon. Pour s'en convaincre, il suffit d'écouter la conversation de deux professionnels d'un domaine qui nous est inconnu. Nous constatons qu'ils ne parlent pas tout à fait la même langue que nous. Ils s'échangent des idées et discutent de concepts en utilisant des mots et des expressions qui semblent étranges. Ainsi, les experts d'un même domaine développent leur propre jargon i.e. un langage spécifique à leur domaine d'affaire. Cette nouvelle langue leur permet de communiquer leur pensée de façon rapide et précise sans s'encombrer des détails et des lacunes de la langue « hôte ». Dans le présent travail, nous posons un regard sur les constructions linguistiques permettant la remise en valeur de la construction de langages spécifiques à un domaine d'affaire (DSL) : système de types dynamiques, métaprogrammation et éléments syntaxiques divers. Nous réalisons un survol des DSLs. Que sont-ils? Quand, comment et pourquoi les construisons-nous? Nous voyons aussi quelques patrons de conception de DSLs. Finalement, nous appliquons la théorie exposée à un problème réel. Nous montrons les avantages apportés par l'élaboration et l'utilisation de DSLs dans le cadre du développement de logiciels. ______________________________________________________________________________ MOTS-CLÉS DE L’AUTEUR : Langages dynamiques, DSL, Métaprogrammation, Groovy

    Interprétation linguistique et computationnelle des valeurs par défaut dans le domaine syntaxique

    Full text link
    Thèse diffusée initialement dans le cadre d'un projet pilote des Presses de l'Université de Montréal/Centre d'édition numérique UdeM (1997-2008) avec l'autorisation de l'auteur

    Analyse/conception par points de vue : le profil VUML

    Get PDF
    L'objectif de la thèse est de proposer une extension du langage de modélisation unifié (UML) orientée points de vue. Cette extension, appelée VUML (View based Unified Modeling Language) offre un formalisme (extension d’UML) pour modéliser un système logiciel par une approche combinant objets et points de vue. Le principal ajout à UML est celui du concept de classe multivues. Une classe multivues est une unité d’abstraction et d’encapsulation qui permet de stocker et restituer l'information en fonction du profil de l'utilisateur. Elle offre des mécanismes de gestion des droits d’accès aux informations, de changement dynamique de points de vue et de gestion de la cohérence entre les vues dépendantes. De plus, VUML propose un modèle de composant multivues qui permet de représenter une classe multivues au niveau du diagramme de composants. Sur le plan sémantique, VUML étend le métamodèle d’UML et introduit un certain nombre de stéréotypes regroupés sous forme d’un profil UML. A l’instar d’UML, la sémantique VUML comprend un aspect statique et un aspect dynamique. La sémantique statique de VUML est définie par le métamodèle, des règles de bonne modélisation (well-formedness rules) exprimées en langage formel OCL (Object Constraint Language) et des descriptions textuelles informelles. La sémantique dynamique quant à elle est décrite d’une manière informelle. Sur le plan méthodologique, VUML propose un noyau d’une démarche qui permet d’intégrer de façon logique et consistante la notion de point de vue dans le processus de développement dans le contexte de l’approche MDA (Model Driven Architecture). L’outil support à VUML a été conçu et réalisé en adaptant l’atelier Objecteering/UML par la technique des profils. Cet outil permet de mener une modélisation à base de vues, de vérifier la cohérence des modèles élaborés et de générer du code objet (Java,...) en appliquant un patron d’implémentation générique sur un diagramme de classes VUML. ABSTRACT : This thesis proposes a viewpoint oriented extension of the Unified Modelling Language. This extension, called VUML (View based Unified Modelling Language) provides a formalism for modelling software systems through objects and viewpoints. The main UML extension is the concept of multiviews class whose goal is to encapsulate and deliver information according to the user profile (viewpoint). VUML allows the dynamic change of viewpoint and offers mechanisms to manage consistency among dependent views. Moreover, VUML proposes a multiviews component model. Such a component allows to represent a multiviews class in a component diagram. On the semantic level, VUML extends the metamodel of UML and introduces a set of stereotypes grouped in a UML profile. As in UML, the VUML semantics includes static and dynamic aspects. The VUML static semantics is defined by the metamodel, the well-formedness rules expressed in the formal language OCL (Object Constraint Language), and informal textual descriptions. The VUML dynamic semantics is described so far in an informal manner. On the methodological level, VUML proposes a process that makes possible a logical and consistent integration of the viewpoint concept in the development process according to the MDA approach. A VUML tool has been designed and implemented by adapting the Objecteering/UML tool through the profile technique. This tool allows to carry out a view based modelling, to check the consistency of the elaborated models and to generate object code (Java...) by applying a generic implementation pattern to a VUML class diagram

    Un cadre formel pour le développement orienté aspect : modélisation et vérification des interactions dues aux aspects

    Full text link
    Thèse numérisée par la Division de la gestion de documents et des archives de l'Université de Montréal

    Ontologies, web sémantique et elearning : vers la composition automatique des objets d'apprentissage fondée sur les ontologies et les théories pédagogiques

    Get PDF
    Un des grands défis de l'apprentissage en ligne est la difficulté de composition des scénarios de formation à partir des objets d'apprentissages sémantiquement référencés pour répondre aux besoins spécifiques de formation. Un tel travail demande l'acquisition des connaissances du domaine qui repose généralement sur des experts humains du domaine et sur un processus d'explicitation de leurs connaissances. Il en est de même pour les principes devant guider la composition des scénarios afin de garantir leur qualité (valeurs pédagogiques). Répondre rapidement à ces besoins d'apprentissage par la proposition d'un contenu approprié ainsi qu'un cheminement d'apprentissage efficace et pédagogiquement valide est une nécessité, tant dans la formation classique en ligne que dans la formation en milieu industriel. L'offre d'une solution permettant d'atteindre un tel objectif contribuerait à une économie de coûts liés à la formation. Ce mémoire rend compte d'un travail visant à proposer une solution novatrice pour générer un contenu sur mesure (selon un besoin précis) et ainsi qu'un parcours pédagogiquement valide de celui-ci. La méthode s'appuie essentiellement sur une ontologie du domaine pour sélectionner les éléments de contenus appropriés (ou objets d'apprentissage) et sur un ensemble de principes pédagogiques explicites pour les structurer. Après un état de l'art conséquent qui met en perspectives l'ensemble des domaines en jeu (elearning, web sémantique et ingénierie ontologique), les standards disponibles dans le domaine du elearning pour la gestion des contenus d'apprentissage, et les problèmes de composition automatique (fondée ou non sur les ontologies) des objets d'apprentissage, une architecture générale de l'approche proposée est présentée, illustrant clairement les éléments qui soutiennent le processus de composition. Ce dernier comporte essentiellement trois (3) étapes : la sélection des ressources pertinentes, leur organisation (par la prise en compte des contraintes de référencement sémantique réalisé à partir de l'ontologie du domaine) et la scénarisation pédagogique qui prend en compte les principes de la théorie pédagogique sélectionnée. Un modèle définissant les opérateurs essentiels est proposé ainsi que des algorithmes qui implémentent les différents services. Un outil a été réalisé et testé avec des contenus d'un cours de programmation en Java.\ud ______________________________________________________________________________ \ud MOTS-CLÉS DE L’AUTEUR : elearning, web sémantique, ontologies, objets d'apprentissage, théories pédagogiques, composition automatique des objets d'apprentissage

    Approche pour la définition d'applications web riches multiplateforme

    Get PDF
    Les termes client Web riche ou interface riche sont utilisés pour désigner l'interface utilisateur d'une application Web qui comprend des fonctionnalités et des méthodes d'interactions similaires à celles des interfaces utilisateurs conventionnelles. Un client Web riche assure une part du traitement de l'application. Cela peut aller de la validation de saisies jusqu'à la prise en charge complète des interactions avec l'utilisateur. Il doit donc être doté d'une certaine intelligence, c'est-à-dire que du code, décrivant son comportement ainsi qu'une part de la logique d'affaire de l'application, doit pouvoir y être exécuté. L'utilisation de méthodes d'interactions avancées (comme le glisser-déplacer, la saisie semi-automatique ou l'utilisation de contrôles « widgets ») implique aussi des capacités de traitement plus poussées que pour les clients Web standards. Il existe une multitude de technologies pouvant êtres utilisées pour le développement d'un client Web riche. Le principal problème relié à cette situation est que les projets basés sur une technologie de présentation deviennent dépendants de cette dernière. Un changement de technologie implique alors la perte des investissements relatifs au développement de la partie client. Le fait d'avoir à supporter plusieurs plateformes de présentation implique aussi généralement d'avoir à maintenir plusieurs versions distinctes du client de l'application. Ces travaux couvrent les approches existantes et la conceptualisation d'une nouvelle approche permettant de définir, indépendamment d'une technologie de présentation, le volet client d'une application. Celle-ci a été expérimentée à l'intérieur de trois projets concrets présentés sous forme d'étude de cas. Une revue des plateformes d'exécution contemporaines pour les clients Web riches y est effectuée, suivi d'un état de l'art couvrant les méthodes existantes pour la définition d'interfaces utilisateur. Les travaux s'intéressant à la définition d'interfaces utilisateurs à l'aide de dialectes XML sont également couverts, de même que les architectures couramment utilisées pour la définition d'un client Web riche. Les résultats obtenus à l'intérieur des études de cas auront permis de montrer la faisabilité de l'approche ainsi que de mesurer certains avantages de celle-ci selon différents critères de qualité

    Un système data mining en ligne pour la maintenance ontologique d'une mémoire corporative DM

    Get PDF
    L'intégration de la connaissance dans la mémoire corporative (Ribière et Matta, 1998), (Dieng et al., 1998) fait face à l'hétérogénéité des données (Visser, Jones et al., 1997). L'utilisation de l'ontologie est une approche possible pour surmonter ce problème. Cependant, l'ontologie est une structure de donnée comme n'importe quelle structure informatique, elle est donc dynamique et évolue dans le temps à cause des conditions dynamiques résultant des changements du domaine conceptuel, les changements de conceptualisation, les changements de spécification, les changements descendants, etc. (Yildiz, 2006). Ces dernières années, plusieurs approches ont été proposées pour résoudre le problème de la maintenance des ontologies. Cependant, la précision et le rappel ne permettent pas de satisfaire les besoins des utilisateurs. De plus, ces approches ne prennent pas en compte toute l'information disponible pour prendre une décision réaliste. Pour résoudre le problème de l'évolution de la connaissance dans les ontologies, nous proposons une approche hybride qui utilise l'apprentissage machine et un processus d'alignement qui contrôle les relations syntaxiques entre les entrées dans l'ontologie. De plus, des règles structurelles et des heuristiques sont appliquées pour améliorer le degré de similitude entre les entités ontologiques. Ce processus hybride crée des règles de correspondance qui définissent comment transformer les entrées dans l'ontologie en définissant tous les types d'associations possibles entre les entités ontologiques. L'approche d'enrichissement de l'ontologie exploite les techniques de la fouille de données, les techniques du traitement automatique du langage naturel et la recherche d'information pour améliorer la performance d'apprentissage durant la tâche d'enrichissement du domaine conceptuel. L'évaluation des ontologies demeure un problème important et le choix d'une approche appropriée dépend des critères utilisés. Dans notre approche, nous adoptons la vérification de la cohérence décrite dans (Maziar Amirhosseini et al., 2011) et (Abderrazak et al., 2011).\ud ______________________________________________________________________________ \ud MOTS-CLÉS DE L’AUTEUR : Data Mining, Traitement automatique du langage naturel, Apprentissage machine, Recherche d'information, Intégration, Ontologie, Mémoire corporative, Web sémantique
    corecore