Sortie de Acceleo 1.1

Posté par (page perso) . Modéré par Jaimé Ragnagna.
Tags :
0
11
sept.
2006
Technologie
Acceleo, le générateur de code source intégré sous Eclipse, sort en version 1.1.

Les principales améliorations apportées par cette version sont :
  • Compatibilité avec Eclipse 3.2
  • Compatibilité avec GNU/Linux
  • Amélioration des performances
  • Meilleure compatibilité avec les modeleurs UML et GMF
  • Nouveaux services
  • Corrections de bugs
L'équipe de développement d'Acceleo est fière d'annoncer la disponibilité d'Acceleo 1.1.0 à l'adresse : http://www.acceleo.org/pages/download-acceleo/.

Pour rappel, Acceleo est un générateur de code permettant d'automatiser la traduction de modèles vers différents langages et frameworks. Acceleo suit les normes MDA, est intégré sous Eclipse et se focalise sur la simplicité et sur son intégration dans des vrais projets industriels.

Les principales améliorations amenées par cette version sont :
  • Compatibilité avec Eclipse 3.2
  • Support des modeleurs GMF
  • Compatibilité avec GNU/Linux
  • Amélioration des performances
  • Amélioration de l'expérience utilisateur
  • Support des requêtes XPath
  • Compatibilité accrue avec les modeleurs UML1.3, UML1.4 et UML2
  • Nouveaux services de navigation et auto-adaptation des types
  • Corrections de bugs

Une description détaillée de ces améliorations est disponible ici.

Nous souhaitons tout particulièrement remercier les personnes ayant aidé à la correction des bugs d' Acceleo 1.1.0RC.

Actualité d' Acceleo
Acceleo a été présent au cours de différentes manifestations européennes et mondiales cet été (ECMDA, ECOOP et IDM) mais aussi aux Rencontres Mondiales du Logiciel Libres (RMLL) et à ObjectWeb.

Documentation d' Acceleo
Avec la sortie d'Acceleo 1.1 deux nouveaux tutoriaux sont disponibles , le premier facilite l'installation et la mise en place d'Acceleo tandis que le second explique comment réaliser son premier module de génération.
  • # moi pas comprendre

    Posté par . Évalué à 3.

    son intégration dans des vrais projets industriels.

    C'est quoi un vrai projet industriel ?
    • [^] # Re: moi pas comprendre

      Posté par (page perso) . Évalué à 4.

      chut, c'est pour les décideurs pressés qui passent par ici... ;-)
      • [^] # générateur de code source?

        Posté par . Évalué à 2.

        On va enfin pouvoir reprogrammer tous les logiciels qui font défaut sous Linux en trois cliques de souris à partir des screenshots windows?

        J'ai bon?
    • [^] # Re: moi pas comprendre

      Posté par . Évalué à 1.

      faut plutôt demander des exemples concrets.
    • [^] # Re: moi pas comprendre

      Posté par (page perso) . Évalué à 4.

      Un vrai projet industriel, c'est un projet autre que le "helloworld" classique.
      En gros, c'est un projet qui dure plusieurs mois / années, avec plusieurs développeurs en parallèle.

      C'est souvent le problème de la génération de code qui marche bien au début, mais qui, une fois une grosse équipe mis au quotidien dessus, peut poser des problèmes.
      Avec Acceleo, on est parti de ces problèmes et on a tenté de les résoudre en y réfléchissant dès le début de son développement. Ca donne par exemple la génération incrémentale (génération, regénération, reregénération), l'intégration dans Eclipse, les chains, ...
      • [^] # Re: moi pas comprendre

        Posté par . Évalué à 4.

        Un vrai projet industriel
        Cela dit tous les livres que j'ai lu sur le sujet était très typiques (académique) et sur des thèmes bien maîtrisés: DAB, commerce, gestion de stock ... Qu'est ce qui prouve que ces méthodes sont applicables en générale, sur un projet jamais exploré ou mal maîtrisé? Je voudrai voir des comptes rendus d'utilisation sur de vrai projet industriel divers et variés.
        • [^] # Re: moi pas comprendre

          Posté par . Évalué à 3.

          A première vue : le thème est moins bien maîtrisé que dans les exemples académiques, donc il y a peut être besoin de souplesse pour faire des changements en cas de modélisation foireuse (les cours de GL que j'ai suivi insistaient tous sur une bonne modélisation à la base sous peine de devoir jeter du code, voire de tout redémarrer, en cas de mauvaise direction). Peut être que ce genre d'outil apporte un peu plus de souplesse en cas de foirage? Le risque que j'y vois : on met moins de soin à la modélisation et à la définition des besoins et on se plante quand même ...

          note sur les sujets de tes cours de GL : ca doit recouvrir une partie non négligeable des développements en entreprise, donc si les méthodes marchent pour ça, c'est déja pas mal ;)
          • [^] # Re: moi pas comprendre

            Posté par (page perso) . Évalué à 4.

            En effet, les cours font souvent l'impasse sur la partie évolution.
            Entre le début d'un projet et sa fin, la facon de modéliser et surtout l'architecture technique changent.
            Les changements sont souvent dû à des imprécisions, des lourdeurs (le syndrômes des "fameux" modèles trop techniques qui ne servent quasiment à rien), des changements de versions de frameworks, ou à des retours des tests de performances / qualité.

            Acceleo permet justement plus de souplesse pour prendre en compte ces changements et pour ré-impacter ce qui a déjà été fait. Notamment, la possibilité de modifier facilement la manière de modifier ce qu'il génère rend la mise à jour des générateurs relativement simple.

            Pour revenir aux cours, c'est notamment pendant des conférences d'externes que tu peux avoir ce genre de retours. Normal, les profs maîtrise le côté théorique, mais ils n'ont pas forcément le retour d'expérience d'une utilisation sur le terrain.
  • # Utilisation d'Acceleo pour les logiciels open-source

    Posté par (page perso) . Évalué à 2.

    A noter qu'Acceleo est en passe d'être utilisé pour générer des jeux vidéos (en python+soya) :)

    http://gamedsl.tuxfamily.org/

    et le premier prototype:

    http://svnweb.tuxfamily.org/listing.php?repname=gamedsl+%28g(...)

    ça permet de mettre en place rapidement le principal du jeu après avoir décrit son fonctionnement. Il reste alors à spécifier les modèles 3D correspondants à chaque objet actif du jeu.
  • # Un projet d'avenir...

    Posté par (page perso) . Évalué à 6.

    Pour avoir essayé la 1.1 RC, je peux temoigner de la tres bonne finition de ce projet et de son excellente integration au sein d'Eclipse (3.2 maintenant). Ce projet se concentre sur une partie primordiale de la chaine de developpement MDA: la génération de code (à partir d'un modele et d'un template) et contrairement à d'autres projets (proprio en gal) qui cherchent à couvrir la couverture globale du MDA, ce projet fait la generation uniquement et le fait bien: le wysiwyg du code généré en live est excellent, bref un outil productif qui me donnerait envie de l'utiliser sur mon projet OSS si j'avais des centaines de classes à générer. A tester d'urgence pour les developpements répetitifs pouvant être industrialisés.
    • [^] # Re: Un projet d'avenir...

      Posté par . Évalué à 2.

      Une question qui va paraitre idiote. Je n'ai regardé que très rapidement la présentation (donc je ne veux pas être insultant). Mais peut on voir ça en gros comme l'association d'un moteur de template et d'un modélisateur UML ?
      • [^] # Re: Un projet d'avenir...

        Posté par (page perso) . Évalué à 4.

        Acceleo n'integre pas de modeleur UML mais fournit uniquement un moteur de generation de code orienté template (et des fonctionnalités de transfo de modeles FYI) mais très bien intégré, simple et puissant (bien plus que EMF.Codegen JET, Acceleo peut se comparer en couverture fonctionelle à l'outil proprio MIA.Generation de sodifrance). Comme modeleur UML OSS, il est possible d'utiliser en complément Topcased (Airbus, voir topcased.org) qui peut serializer les modeles en XMI. Ensuite on donne à manger à acceleo ce XMI + le XMI du meta-modèle (celui d'UML2 si tu n'utilise pas de meta-modèle perso) + le template Acceleo pour recuperer le code (ou tout autre artéfact comme un fichier XML).
        • [^] # Re: Un projet d'avenir...

          Posté par . Évalué à 2.

          Par rapport à du OpenMDX, ça se compare comment ?

          OpenMDX permet aussi de générer du code à partir de fichiers XMI issus de divers logiciels (rational, poseidon, etc), mais je crois qu'il va plus loin : binding SQL, interface web graphique générique, etc.
          • [^] # Re: Un projet d'avenir...

            Posté par (page perso) . Évalué à 4.

            De manière assez basique les approches sont similaires, Acceleo est cependant différents sur certains points :

            - OpenMDX génère effectivement vers différents frameworks (pour la persistance, la présentation) via ce qu'ils appellent des "plugins". À ce jours Acceleo ne dispose pas d'une base de module de génération open-source en dehors des modules d'exemples mais c'est clairement dans ce sens que l'on compte évoluer.

            - OpenMDX ne supporte pas la génération incrémentale. Autrement dit avec cet outil on génère le code, si on le modifie il devient impossible de fusionner les modifications après une éventuelle re-génération. Acceleo permet de re-générer sans perdre les modifications apportées au code.

            - Acceleo facilite la création de templates de générations (ce qu'OpenMDX appelle "plugins"). Ainsi on peut réaliser son propre template ou encore étendre un template existant en profitant d'un outillage complet (prévisualisation de la génération, complétion syntaxique, synchronisation entre le texte généré et l'élément du modèle correspondant)

            - OpenMDX ne gère qu'UML. Il n'est pas possible de définir ses propres concepts et de s'en servir pour générer du texte. Acceleo est compatible avec plus de modeleurs (en particulier des modeleurs libres tels que Umbrello) et permet l'utilisation de méta-modèles personnalisés

            - son intégration à un IDE (Eclipse) qui permet d'intégrer l'approche générale avec le développement du logiciel.
            • [^] # Re: Un projet d'avenir...

              Posté par (page perso) . Évalué à 2.

              Juste un point: si acceleo (le projet open source) ne propose en effet pas de modules de generation, OBEO vend "Acceleo Pro Modules" qui integre la plupart des modules imaginables vers les architectures J2EE, PHP et .NET (sur J2EE: Struts, JSF, EJB, ...)

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.