Archive for the ‘Outil’ Category

Développeur de demain

lundi, février 11th, 2013

TronUn logiciel constitué d’un corpus de plusieurs millions de lignes de code s’apparente à un système complexe (grand nombre de paramètres) : il devient difficile en particulier, de le faire évoluer de manière importante (refactoring massif, évolution de l’architecture) en garantissant sa stabilité. Les méthodes comme l’outillage à mettre en oeuvre pour ce genre de manipulation sont encore à découvrir.

Directement concernés par le sujet, nous travaillons, chez mon nouvel employeur (Kyriba) à l’élaboration d’un “outil de développement du futur” à travers le projet “Tron” (le nom étant déposé, il s’agit juste d’un nom de code interne).
Les travaux s’articulent autour de plusieurs axes :

  • représentations du code (mots clés : modélisation, rétro-modélisation, projection, invariants, métriques, code mining) ;
  • navigation dans le code (mots clés : interface homme-machine, réalité virtuelle, immersion, expérience utilisateur) ;
  • manipulations du code (mots clés : interface homme-machine, refactoring, automatisation, model driven engineering, synchronisation, transformation de code).

Il y a plein de questions extrêmement ouvertes à l’heure actuelle. La première est celle de la représentation “alternative” du code : comment dépasser la vision hiérarchique du code via le couple arborescence de fichiers/code source ?
Comment “voir” le code d’une application complexe ? Quelles sont les projections pertinentes ? Comment extraire l’information du code (i.e. quelles parties du code peuvent être abandonnées, ou mutualisées sans altérer ou en altérant faiblement sa sémantique) ? En d’autres termes comment obtenir une représentation visuelle “compressée sans perte” du code (ou en maîtrisant précisément le niveau de perte) ? Comment peut-on décorer le code avec de l’information calculée (métriques) et utiliser cette information comme support de la représentation ? Peut-on adapter la représentation à l’utilisateur, à son « modèle mental du code » ?
Un exemple intéressant de ce qui se fait dans certains labos ne peut dissimuler le fait que ce sont des sujets relativement balbutiants (pas de grosse bibliographie sur le sujet).

Je vous parlerai des questions liées à la navigation et à la manipulation dans le prochain post.

A suivre : Google Wave

jeudi, octobre 15th, 2009

google_wave_logo Pas de rapport direct avec le MD (sauf à l’utiliser comme “modeleur collaboratif”, ce que certains ont déjà réalisé) mais je publie sur le blog d’Objet Direct une série de posts sur le buzz du moment, Google Wave.

DSL aux QCon

vendredi, mars 21st, 2008

image J’ai eu la chance de participer, pour Objet Direct, la semaine dernière, aux QCon à Londres. Malgré de nombreuses interventions de haut niveau, il y avait, malheureusement, peu de speach en rapport avec l’approche MD. Le thème sur les DSL était probablement le plus proche de mes préoccupations du moment. Le speach le plus intéressant était celui de Markus Völter, External Textual DSLs made simple, qui présentait XText. Il s’agit d’un outillage eclipse qui permet très simplement de produire un environnement de développement pour un DSL.

En effet, un des prérequis à l’adoption de DSL est la disponibilité d’outils de « développement » associé. Personne n’acceptera d’utiliser un DSL avec Word comme IDE…

imageLe principe de XText est simple : en entrée, on fournit une grammaire BNF du DSL (plus quelques infos facultatives supplémentaires : contraintes exprimées en OCL, contenu et structure des vues sur le code), l’outil génère, sous forme d’un plugin eclipse, un parseur, un modèle cible (EMF), un compilateur vers ce modèle et un éditeur qui fournit tout ce qu’on attend : coloration syntaxique, complétion du code, vue « outline » personnalisable, validation temps réel de contraintes.

Le « DSL-IDE » produisant de l’EMF, il est possible d’exploiter sa sortie avec tout l’outillage diponible : visualisation graphique, transformateurs de modèle, générateurs de code. En particulier, il est possible d’intégrer la compilation de ce DSL dans une chaîne de transformation OpenArchitectureWare (oAW Workflow).

Je pense essayer rapidement l’outil avec un petit langage orienté vers la saisie d’exigences métier. Je vous tiendrai au courant.

Boîte à outils de Noël

jeudi, janvier 24th, 2008

imageLa période autour des fêtes a été l’occasion d’annoncer une avalanche de nouveautés (presque toutes mineures !) chez les éditeurs et les fournisseurs d’outils : (suite…)

Objecteering et les architectes

jeudi, janvier 3rd, 2008

Une nouvelle version d’Objecteering, la 6.1, est sortie en décembre.

image Je vous en parle car parmi les nouveautés annoncées, une m’a particulièrement attiré l’oeil : jusqu’ici, tout le « scripting » lié à la transformation de modèle et à la génération de code s’écrivait à l’aide d’un langage propriétaire, « J ». Depuis cette version, on a la possibilité de développer directement en Java.

(suite…)

Texte et modèle

dimanche, décembre 23rd, 2007

Même si quand on pense modèle, on voit le plus souvent un diagramme avec des boites et des flèches, il est souvent plus intéressant de produire un modèle sous forme de texte compréhensible par un humain.

C’est en particulier souvent bien plus efficace pour exprimer la composante dynamique du modèle. Ceux qui me connaissent savent que je suis à la recherche d’un Graal : une syntaxe concrète correspondant à la sémantique des actions d’UML (ASL en est la syntaxe abstraite).

Pour parler clairement : un langage permettant d’écrire le corps des méthodes en UML sans être lié à une technologie ou un langage cible.

eclipse

Il y a peut-être de l’outillage en vue : TMF (Textual Modeling Framework) serait le pendant textuel de GMF pour la partie graphique. GMF est un framework générique pour instancier le (méta-)modèle EMF via des éditeurs graphiques. TMF permettrait la même chose via des éditeurs textuels.

C’est encore à l’état de « proposal » mais ça mérite d’être suivi.

QVT et Together 2007

jeudi, décembre 6th, 2007

Borland met fortement en avant, comme une nouveauté décisive de Together 2007 (même si, je crois c’était déjà disponible dans la version 2006), la possibilité d’écrire des transformations de modèle avec leur implémentation de QVT.

Pour les besoins d’un client, j’ai commencé à me familiariser avec l’outil. Je vous livre, presque en direct mes impressions.

(suite…)

buy sale viagra
buy viagra online price
buy discount levitra
buy sale viagra
viagra 100 mg
buy cheap cialis
buy viagra
cheapest levitra
buy viagra online
buy viagra usa
buy viagra online
buy now viagra
buy price viagra
buy now levitra
buy discount viagra
cheap viagra online
buy viagra fedex
buy viagra overnight
buy viagra las vegas
generic viagra
cheap price viagra
Pfizer viagra free samples
generic cialis
cialis black reviews
buy cheap cialis
free madonna ringtones
cheapest cialis
buy now viagra online