Voici un rapide aperçu des nouveautés :
- Changement de licence, passage à la licence EPL
- Une génération peut désormais être lancée au sein d'une tâche ANT (expérimental)
- Nouveaux services d'indentation du code
- Chaînes de lancement (.chain) paramétrables et possibilité d'appels de sous-chaînes
- Compatibilité Mac OS X
- mailling lists :
- acceleo-announce-fr@objectweb.org : les nouvelles et les annonces du projet
- acceleo-users@objectweb.org : les discussions et problèmes rencontrés par les utilisateurs
- acceleo-dev@objectweb.org : les discussions concernant le développement d'Acceleo
- acceleo-announce-fr@objectweb.org : les nouvelles et les annonces du projet
- bug tracking
- hébergement du code source via Subversion
- téléchargement de bundles Eclipse complets
La mise en place de ces services facilite les contributions et nous avons ainsi vu arriver les premiers patchs.
À noter qu'Acceleo 1.2 marque un changement de licence, ainsi le projet passe de la licence GPL à la license EPL (Eclipse Public License). Cette dernière est très largement répandue au sein du monde Eclipse et l'intégration d'Acceleo avec d'autres projets est ainsi facilitée.
Les fonctionnalités apportées par cette version sont :
La possibilité de lancer une génération depuis une tâche Ant. Ainsi il est possible de générer le code correspondant à un modèle sans nécessiter d'interaction avec l'utilisateur via Eclipse en mode "headless".
Nouveaux services d'indentation. Acceleo fournit désormais un grand nombre de services (code Java spécifique) permettant à l'auteur d'un template de maîtriser l'indentation du code généré. Une documentation détaillant l'utilisation de ces services est disponible.
Acceleo 1.2 offre un certain nombre d'améliorations concernant le lancement des générations. Les fichiers de lancement (fichier .chain) sont désormais paramétrables et peuvent lancer d'autres fichiers de lancement.
Compatibilité Mac OS X. Une plateforme de plus ! Acceleo fonctionne désormais parfaitement sur Mac OS X.
Comme pour chaque livraison cette version corrige un certain nombre d'anomalies, à noter la réactivité exemplaire de l'équipe pour la correction du bug 306546, corrigé et livré le jour même de sa détection.
À noter également que l'équipe d'Acceleo sera représentée au salon Solution Linux 2007 et qu'une conférence détaillera la mise en oeuvre d'un démarche pragmatique d'industrialisation du développement à l'aide d'Acceleo.
Rappel : Acceleo permet de mettre en oeuvre une démarche dirigée par les modèles. Cette démarche positionne le modèle (UML par exemple) au centre du développement. Un modèle + un module et Acceleo est alors capable de générer une grande partie du code du projet.
Exemple : un modèle UML détaillant les objets métiers et les écrans permet la génération des classes métiers, d'une classe pour chaque écran, des contrôleurs, des classes d'accès à la base de donnée. À la charge ensuite au développeur de compléter le code, lors de la prochaine génération ce dernier ne sera pas perdu.
La mise au point d'un module de génération pour une technologie donnée (Zope, KDE, Gnome...) passe par la création de templates. Acceleo fournit tous les outils nécessaires à la mise au point d'un tel template (éditeur avec complétion syntaxique, pré-visualisation du code généré).
Aller plus loin
- Site du projet (2 clics)
- Acceleo sur ObjectWeb (3 clics)
- Nouveautés d'Acceleo 1.2 (3 clics)
- Démonstration (4 clics)
- Téléchargement des bundles (4 clics)
# A essayer absolument
Posté par Bertrand Florat (site web personnel) . Évalué à 5.
[^] # Re: A essayer absolument
Posté par golum . Évalué à 5.
[^] # Re: A essayer absolument
Posté par Batmat . Évalué à 1.
Je (re)précise ce qui m'intéressait :
MIA Generation => Acceleo
[^] # Re: A essayer absolument
Posté par golum . Évalué à 2.
Ensuite il faudrait voir ce que ca donne au niveua de réutilisation des script. Il se peut qu'il faille également reprendre toutes les chaînes d'exécutions si les paramètres diffèrent.
Enfin quelque soit le metamodèle utilisé, MIA Generation définit des objets génériques dont hérite tous les concepts du métamodèle chargé. Si tu utilises les opérations de ces objets (ce qui est plus que probable) , il faut vérifier que l'architecture d'Acceleo soit identique ou que des services équivalent existent.
Si tu approfondis le sujet, tiens nous au courant ca peut être utile à tous
[^] # Re: A essayer absolument
Posté par Cédric Brun (site web personnel) . Évalué à 2.
ATL est un langage de transformation développé par les chercheurs Français qui s'avère être le projet officiel d'Eclipse pour la transformation de modèles.
http://www.sciences.univ-nantes.fr/lina/atl/ ATL et l'équipe ATLAS
http://www.eclipse.org/m2m/atl/ ATL sur Eclipse
[^] # Re: A essayer absolument
Posté par golum . Évalué à 3.
Par contre la documentation sur ADT me parait plus que succinte (un guide d'install).
Mon inquiètude concerne plus l'intégration entre ces 2 plugin.
Y'a t'il des possibilités en utilisant la combinaison Acceleo+ADT
- de browser les métamodèles graphiquement
- d'élaborer simplement des chaines de production qui prennent en compte à la fois des transfo ATL et des genérations à partir d'Acceleo.
[^] # Re: A essayer absolument
Posté par Bertrand Florat (site web personnel) . Évalué à 2.
En outre, pour les utilisateurs professionels, je conseille vivement de regarder Acceleo Pro Tracability (commercial) qui complete Acceleo Open source en ajoutant des fonctions permettant de tracer les relations entre le code et les modeles (diff de modeles, preview avant génération, tracabilité asymétrique modele-> n artéfacts ou artéfact-> element du modele...) qui s'avere extrémement payante en environnement industriel pour assurer une vraie démarche MDE (et éviter ainsi que les developpeurs débanchent la generation au bout de trois semaines, excedés par le fait de ne plus maitriser leur code).
[^] # Re: A essayer absolument
Posté par golum . Évalué à 2.
Est-ce que c'est comparable aux liens de transformation de MIA ?
Si tel est le cas, c'est tellement indispensable que si ca n'est disponible que dans la version commerciale, ca relativise l'intêret d'avoir mis une partie de Acceleo en OpenSource.
Merci de nous eclairer un peu sur cet aspect.
Quel est votre Business Model à terme ?
Offrir des versions bridées de votre outil en Open-source
ou vous rémunérer sur les services autour de votre offre.
Attention ce n'est pas une attaque.
Oui enfin la génération from scratch depuis un PIM, j'ai un peu du mal à y croire.
Si on s'en tient à wikipédia, le DSM ( http://en.wikipedia.org/wiki/Domain-Specific_Modeling ) c'est la generation de code améliorée remise au goût du jour avec des standards et un peu plus de souplesse.
Dans la réalité , il est parfois inévitable se fixer des étapes intermédiaires qui permettent d'obtenir des modèles basé sur des DSL et de permettre d'élaborer les modèles manuellement. Ca permet aussi d'anticiper des évolutions d'architecture.
D'autre part, même si les transfo ne sont utiles que ponctuellement dasn une approche DSM, il est important qu'elle soient prises en compte dans le cadre d'un offre intégrée.
openarchitectuware répond à ce besoin, qu'en est il de Acceleo/ADT ?
Mais bon, je ne suis pas spécialiste de la question donc je dois sûrement dire une bétise.
[^] # Re: A essayer absolument
Posté par Bertrand Florat (site web personnel) . Évalué à 3.
En terme de transfos M2M avec Acceleo + ADT, j'avoue ne pas avoir encore tenté l'aventure et il est probable openarchitectureware que je ne connais pas est mieux intégré, d'autant que c'est un produit poussant à l'approche MDA academique (corrigez moi si je dis une bétise) et donc les transfos de modele.
Coté tracability, il est en effet dommage qu'il ne soit pas (encore) Open source mais il faut bien une source de revenu et un produit differentiant (en plus d'acceleo open source). Je trouve ce modele économique sain et assurant la perenité de la société.
Enfin (dans le desordre), il est tout à fait possible de generer directement des PIM avec GMF et sans passage par des etapes intermediaires (voir les exemples/tutos GMF pour des exemples certes théoriques)
[^] # Re: A essayer absolument
Posté par mouftard . Évalué à 3.
( http://www-gmm.insa-toulouse.fr/~gaudron/businessloto.jpg )
[^] # Re: A essayer absolument
Posté par Cédric Brun (site web personnel) . Évalué à 2.
Acceleo n'est pas une version bridée de la version pro. Concrètement Acceleo est un générateur de code qui fonctionne très bien tout seul, il comprend le runtime (qui permet d'exécuter des générations) et tout l'environnement de développement de modules qui permet de construire ses propres modules de génération.
Les fonctionnalités supplémentaires offertes par la version pro sont particulièrement pertinentes lors de la réalisation de projets volumineux utilisant donc des modèles conséquents (une centaine de classes par exemple..) et particulièrement sensibles lors d'une utilisation concurrente. En terme de génération de code la couverture fonctionnelle est similaire, c'est l'intégration et la gestion du travail en équipe qui est l'atout principal de la version pro. La version Pro s'adresse donc plutôt au professionnels qui passent à l'échelle avec l'approche MDA.
Notre business model est orienté plutôt service mais aussi édition. Notre rôle est d'abord d'apporter notre savoir faire autour des approches modèles pour aider les entreprises à gagner en productivité. Nous proposons donc des prestations de conseil, des formations autour du MDA et d'Acceleo ou de technologies Eclipse (EMF, GMF...) et des des adaptations sur mesure d'outils orientés modèles. Nous travaillons aussi beaucoup à la création d'une dynamique autour de l'outil Open-Source; ce dernier permet de mettre en oeuvre la démarche de manière efficace. Et nous proposons aussi des choses complémentaires à l'approche service : des modeleurs spécifiques, des modules de génération "clefs en main" et la traçabilité.
J'espère que cela réponds à la question !
[^] # Re: A essayer absolument
Posté par golum . Évalué à 2.
[^] # Re: A essayer absolument
Posté par Bertrand Florat (site web personnel) . Évalué à 0.
En outre, pour les utilisateurs professionels, je conseille vivement de regarder Acceleo Pro Tracability (propriétaire) qui complete Acceleo Open source en ajoutant des fonctions permettant de tracer les relations entre le code et les modeles (diff de modeles, preview avant generation, tracabilité asymétrique modele-> n artéfacts ou artéfact-> élément du modele...) qui s'avère extrement payante en environnement industriel pour assurer une vraie demarche MDE (et eviter ainsi que les developpeurs debanchent la génération au bout de trois semaines, excedés par le fait de ne plus maitriser leur code).
# Langage supporté ?
Posté par Sytoka Modon (site web personnel) . Évalué à 4.
[^] # Re: Langage supporté ?
Posté par Cédric Brun (site web personnel) . Évalué à 2.
Il est possible actuellement d'ajouter du code Java que l'on appelle directement du template lors de la génération. Grâces aux projets tels que Jython ou Jruby il doit être possible d'utiliser ces langages également, à tester donc :)
Pour ce qui est du code généré il n'y a aucune limite. Le système étant basé sur des templates on peut aussi bien générer du Java que du Python ou du C, il suffit de faire les templates et l'outil offrant tous les éditeurs nécessaires la difficulté de réalisation des templates est très faible.
Il est vrai que les modules (ensemble de template) fournis à titre d'exemple sont orientés Java mais d'autres projets existent ou démarrent pour d'autres langages/technologies.
[^] # Re: Langage supporté ?
Posté par Cédric Brun (site web personnel) . Évalué à 2.
concernent Java (Servlet + DAO) et Xhtml.
Mais l'équipe Acceleo est en train d'initier un ensemble de projets
complémentaires à Acceleo qui visent à proposer à la communauté un
ensemble de modules de génération par défaut. Pour l'instant, nous avons recueilli des proposition pour Php, .Net, JEE, et Python entre autre.
La mise en place de ces modules devrait intervenir fin janvier ou février.
Toute personne intéressée pour participer à la constitution de ces
modules est la bienvenue !
Par ailleurs la société Obeo commercialise quelques modules pour JEE, .Net, Php et eclipse RCP.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.