Faire un don ! | | style | statistiques | contactez-nous | plan | lettre d'information

Liens connexes

Dépêche modérée par

Dépêche éditée par

Logiciel : Acceleo sort en version 1.0

Posté par Etienne Juliot (page perso, ). Modéré le 03 mai 2006.
Technologie
Acceleo est un générateur OpenSource de code de dernière génération permettant de mettre en oeuvre facilement et efficacement l'approche MDA (Model Driven Architecture), pour réaliser des applications à partir de modèles.

Acceleo est nativement intégré à Eclipse et EMF (Eclipse Modeling Framework) ; il comprend toute une panoplie d'outils et d'éditeurs permettant de simplifier sa prise en main et son adaptation à tous types de projets ou de technologies.

Acceleo vient de sortir en version 1.0 et propose déjà de nombreuses innovations : génération incrémentale, interopérabilité des méta-modèles d'entrée, syntaxe arborescente, personnalisation par templates...

> Lire la dépêche (30 commentaires, moyenne: 2,3).  

Acceleo est un générateur de code de dernière génération. Il est basé sur l'approche MDA permettant notamment une réelle séparation entre le fonctionnel des applications et l'architecture technique cible, grâce à l'utilisation de modèles de haut niveau.

Acceleo permet ainsi de gagner en productivité et en fiabilité tout au long du cycle de développement notamment grâce à ses fonctionnalités avancées :
- génération incrémentale,
- support de tous types de technologies en sortie,
- support d'UML 1 / UML 2 et tout type de méta-modèle compatible EMF ou MOF,
- capacité élevée de personnalisation,
- syntaxe intuitive et dédiée à la manipulation de modèles.

Acceleo est sous licence GPL. Il a été créé et diffusé en OpenSource par une société française : Obeo.

Sa mise en oeuvre est rapide grâce à son intégration native dans Eclipse :
Acceleo étant indépendant de la techno de sortie, on peut facilement envisager à terme la réalisation de modules de génération vers nos frameworks chéris : Gnome, Qt, SWT, XUL, Zope...

Quelques définitions :

Cette discussion est archivée, il n'est plus possible de laisser des commentaires.

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

Générateur de code OpenSource ?

Posté par Elfeclair () le 03/05/2006 à 11:23. (lien). Évalué à 6.

Il génère du code OpenSource ? C'est trop fort :=)

Au début j'ai été surpris de cette caractéristique, puis j'ai compris : c'est un générateur OpenSource de code ... Dommage, c'était sympa comme fonction.

Ca a l'air chouette

Posté par LeMagicien Garcimore () le 03/05/2006 à 14:47. (lien). Évalué à 3.

Et ils font pas les choses a moitie:

- support de tous types de technologies en sortie,

Ca c'est de l'exhaustivite :)

Compatibilité Linux

Posté par Etienne Juliot (page perso, ) le 04/05/2006 à 07:56. (lien). Évalué à 2.

Pour info, la version 1.0 n'est pas compatible Linux.
On peut dire "qu'elle marchote", mais elle n'est pas utilisable concrètement.

C'est principalement dû au framework EMF qui gèrait mal l'encoding et les chemins dans les fichiers XMI. Il y avait aussi plusieurs problèmes dans Acceleo.
Tout ça sera corrigé dans la prochaine version compatible avec Eclipse 3.2 et la nouvelle version EMF (la fondation Eclipse prévoit de la sortir en juin).

Premières impressions

Posté par Altani Xavier () le 04/05/2006 à 08:53. (lien). Évalué à 3.

Je viens d'essayer Acceleo et ca déchire.

J'avais essayé il y a quelques temps d'autres générateurs comme AndroMDA ou ModFact, et je n'ai pas été du tout convaincu. Là, le projet est pas mal du tout, surtout pour une V1.

Déjà, un premier truc bienvenue est la facilité d'installation. Pas de fichier de conf, de scripts à 2 balles, de paramétrage : ca larche directe et c'est directement utilisable dans Eclipse.

Et perso, j'aime bien les softs Eclipse qui sont peu intrusifs. Genre, les applis qui ont des centaines de menus / wizards / boite de dialogue, ca me gave un peu. Là, c'est dans la mentalité de l'environnement standard d'être 100% intégré.

J'ai fait un peu mumuse avec la syntaxe et le générateur d'exemple livré, et ca marche bien.

Intérêt dans le monde du libre

Posté par Cédric Brun (page perso, ) le 04/05/2006 à 10:53. (lien). Évalué à 2.

Ce genre de technologies est clairement pertinent dans le monde du libre où les modules permettant de générer du code (sous licence libre) peuvent être ré-utilisés d'un projet à un autre.

En effet on peut tout à fait générer un squelette complet d'application QT ou GTK, avec classes d'accès au données, prototype d'IHM, Makefiles et autres à partir du modèle de conception.

On obtient alors un prototype fonctionnel de l'application, de plus il sera forcément très cohérent en terme de syntaxe.

La création de modules de génération est simple, il s'agit d'un système utilisant des templates. On retrouve bien la structure du code généré dans les templates de génération.

À quand un premier module de génération vers PyQT avec une petite persistance ZODB ? :)

Quelques questions

Posté par Scles () le 04/05/2006 à 12:23. (lien). Évalué à 4.

Tout d'abord, bravo pour le travail fournis et pour le choix de la licence; bravo pour l'ambition du projet, il donne envie :-) !

Maintenant, quelques questions et remarques :
- La doc sur le systeme de template ne permet pas de se faire une idée du produit, et encore moins de l'exploiter. C'est normal car le projet est jeune, mais dommage, on reste un peu sur sa faim.
- Les sources du plugin fournis ne sont pas très intéressants (= exploitables). Ce qui le serait, ce serait de fournir un zip du projet eclipse de ce plugin, ce qui permettrait de le modifier, voir de vous faire des retours. C'est un des buts de la mise en GPL, non ?
- Pourquoi avoir fait le choix d'un langage spécifique pour le template ? Pourquoi pas un langage existant ? Pourrait-on imaginer avoir des templates sur un langage standard ou l'on manipulerait le modèle au travers d'une API générée à la volée à partir du méta-modèle choisi ou créé ?
- Je n'ai pas trouvé trace de GMF sur le site du projet. Ca me semble pourtant être LE projet intéressant du moment dans ce domaine, mais j'ai du mal à voir comment les deux s'interfacent/se completent/se concurrencent. Quelle est votre vision des choses ?

Merci pour les réponses et bon courage et bonne chance à Obeo :-)

Cédric

Revenir en haut de page