Objectif Programme Ressources Installation

IDM2015: Modélisation et ingénierie!

De la modélisation scientifique à la modélisation de votre code:

Créez votre propre langage

Créez votre langage spécifique de domaine (DSL) et/ou votre langage métier

Inscription

  • Date : 11 décembre 2015 - 9h00-17h00
  • Lieu : ENSEEIHT salle F218, Toulouse
  • Public attendu : 20 personnes - scientifiques souhaitant simuler leur modèle conceptuel, ingénieurs souhaitant créer un nouveau langage pour diverses raisons
  • Pré-requis : se former à la problématique (cf. Ressources), connaître un langage de programmation, connaître un minimum un environnement de développement intégré, avoir envie de modéliser, de conceptualiser

Faites vous connaître si vous voulez contribuer, proposer votre cas d'étude, vous inscrire contact

Mots clés

langages spécifiques de domaine (DSL, DSML), créer son langage, IDM, modèle du domaine, modélisation conceptuelle, grammaire, modèle ecore, EMF, arbre syntaxique, transformation, éditeur, ingénierie, modélisation participative, simulation scientifique, génie logiciel, outils, méthode pour la recherche, programmation par langage, prototypage rapide

Comité de programme

  • Pascal Dayre, IRIT, Toulouse
  • Jean-Michel Bruel, IRIT, Toulouse
  • Benoît Combemale, IRISA, Rennes
  • Olivier Le Goaer, université de Pau
  • Jean-Pierre Muller, CIRAD, Montpellier
  • Sébastien Mosser, université de Nice

Avec le soutien:

Objectif

Les langages généralistes comme le C, java, python ne facilitent pas la programmation à des non-informaticiens.

Une alternative est de créer son propre langage de domaine ou d'étendre un langage existant avec de nouveaux concepts.

Nous discuterons de l'apport des langages spécifiques de domaine (DSL) pour décrire son domaine d'étude (exemple: une plante) et décrire le comportement de ce domaine (exemple: les interactions d'une plante avec son milieu).

Nous étudierons la création des DSLs au travers d'ateliers pour créer la syntaxe de son langage et définir la sémantique et l'exécution de son langage.

Les participants sont appelés à apporter leur cas d'étude. Une pédagogie active en interactions et échanges sera privilégiée.

Outre la facilité pour un expert de programmer son domaine d'étude directement à partir des concepts même de son domaine, les DSLs permettent de re-conceptualiser son domaine en redéfinissant les concepts, leurs relations et leurs comportements itérativement en fonction des observations et des simulations précédentes. Nous discuterons de ces aspects et de l'opportunité que représente le prototypage rapide de simulateurs ad hoc comme méthode pour la recherche.

Discussions sur les verrous méthodologiques, la modélisation collaborative et multi-domaines, l'intégration de l'existant.

Présentation de la programmation par langage.

Un appel à la collaboration sera fait pour discuter des suites à donner. Une école plus complète sera à l'étude.

Programme

Ceci est un pré-programme. N'hésitez pas à faire vos retours: contact


  • 08h40-09h00: Accueil (café)
  • 09h00-09h10: Objectifs de la journée et Introduction (présentation/discussion): pourquoi créer son propre langage (DSL)? Description du modèle du domaine? Description du comportement du domaine? Quels intérêts comme méthode pour la recherche? Quels verrous (qui fait quoi? Comment faire le lien avec l'existant? …) Pascal Dayre, IRIT, Toulouse
  • 09h10-09h30: Démarche générale et 3 cas d’application des DSLs au CIRAD Jean-Pierre Muller, CIRAD, Montpellier
  • 09h30-11h00: Atelier “Comment créer la syntaxe de son langage” Olivier Le Goaer, université de Pau

Présentation: théorie et concepts présentation

L'objectif de l'atelier est de décrire son domaine par un langage métier qui facilitera à un scientifique de programmer son domaine. Il s'agit ici de (re-)conceptualiser son domaine sous forme d'un ensemble de concepts, de leurs relations. Les participants pourront venir avec leur cas d'étude et une première conceptualisation de leur domaine sous forme d'une ontologie, d'une diagramme de classe UML, d'un modèle ecore…

Outil: Xtext

  • 11h00-11h15: Pause
  • 11h15-12h15: Atelier “Comment créer la syntaxe de son langage” (suite) Olivier Le Goaer, université de Pau

La pratique! Tuto

  1. Mobiliser/formaliser mon expertise métier (ontologie, existant, modèle ecore, …) ⇒ création de la syntaxe de son langage par un programme “exemple”
  2. Créer le méta-modèle et la syntaxe de son langage
  3. Générer la grammaire de son langage
  4. Comment outiller mon nouveau langage? Générer et adapter l'éditeur de mon langage. Corriger la grammaire.
  • 12h15-13h00: Pause déjeuné
  • 13h00-14h00: Atelier “Comment créer la syntaxe de son langage” (suite) Olivier Le Goaer, université de Pau

La pratique! (suite)

  • 14h00-15h00: Atelier Comment exécuter son langage ou encore comment définir une sémantique au langage créé? Olivier Le Goaer, université de Pau

Comment transformer son langage vers un langage cible (java, C, pyton, script propriétaire, …)?

L'objectif de cet atelier est de se faire une idée de l'utilisation possible du langage à savoir lui donner une sémantique en programmation les actions du langage vers un langage cible. Pour exemple, un langage de script d'une plate-forme de simulation pourra être choisi pour intégrer l'existant.

Génération de code (cas d'une sémantique d'exécution translationnelle).

Comment construire un compilateur ou un interpréteur pour exécuter mon langage à partir de son arbre syntaxique abstrait: a. en écrivant directement le code b. en définissant les transformations entre les 2 langages

  • 15h00-15h15: Pause café
  • 15h15-16h00: Programmation projectionnelle ou programmation par langage (MPS).

Intérêt pour la conservation de l'existant? La construction de langage coeur inter-domaine. Le portage sur de nouvelles plate-formes. Sébastien Mosser, université de Nice

  • 16h00-16h30: Discussion sur votre cas d'étude: présentation de votre cas d'étude, objectifs, démarches, pratiques, verrous.
  • 16h30-17h00: Discussion - Montage de projets, école - Jean-Michel Bruel, IRIT, Toulouse, Jean-Pierre Muller, CIRAD, Montpellier, Pascal Dayre, IRIT, Toulouse

Ressources

Editions précédentes

Nous avons vu lors des éditions précédentes l'apport de l'IDM et des langages spécifiques de domaine (DSL) pour la modélisation collaborative et la simulation multi-domaine.

En effet l'édition IDM2013 posent la problématique de la modélisation collaborative multi-domaine et l'édition IDM2014 illustre par un cas d'étude les solutions d'ingénierie offertent par l'IDM.

JDEV2015

XTEXT

Installation

Merci de faire l'installation des outils logiciels suivants sur votre ordinateur portable avant votre venue à l'atelier :

  • Installer Eclipse édition “spéciale modélisation” - Eclipse Modeling Tools (dernière version téléchargeable ici)
  • Installer les deux plugins suivants via le menu Help>Install Modelling Components d'Eclipse:
    1. Xtext
    2. OCL Tools
 
idm2015.txt · Dernière modification: 2015/12/11 14:56 par pascal.dayre@enseeiht.fr
 
Recent changes RSS feed Powered by PHP Powered by Pxxo Driven by DokuWiki