Planet Acceleo

Planet Acceleo is an agregation of Acceleo and modules repository developers. You may syndicate it using this RSS feed

May 16, 2012

EEF 1.1.0 Release

Hi,

We are pleased to announce the 1.1.0 EEF release, that will be included into Juno.

you can grab the zipped update site from here : http://www.eclipse.org/modeling/emft/downloads/?project=eef

or use the p2 repository : http://download.eclipse.org/modeling/emft/eef/updates/releases/1.1

Please use the corresponding acceleo maintenance release ( 3.2.1 ) to obtain the latest improvements we've made.




by noreply@blogger.com (Stéphane Bouchet) at May 16, 2012 09:37 AM

May 14, 2012

Upcoming Events


With Juno's arriving to the end of the release cycle Eclipse Day's are popping up everywhere in the world.
If you are not too far from France, you should consider joining us next week for Eclipse Day Toulouse


Great content, very low price (20€) and Toulouse is so sunny it can only be nice !

I will be there presenting Eclipse Modeling. A 101 session leading you to the jungle of one of the most diverse top level project in Eclipse, describing some of the main components and how you can use them in your day to day work.

Register now, this event takes place next week!



It is said the west of France is less sunny but I'm pretty sure its a myth spread by the Bretons frighten tourists.   The 2012 breizhcamp will be the occasion to confirm my belief.

This is a Java/Webapps event during two days with more than 50 speakers ! I will be representing Eclipse there along with Stéphane. We will give an Acceleo tutorial.

And here is the Breizh Camp trailer :



The EclipseCon Europe call for paper is out ! You should consider to start preparing your submission.  The  conference tracks are :

  • Eclipse Technology
  • Building Industry Solutions.
  • Community and Collaboration.
  • OSGi.
  • Other Cool Stuff.

Lets make this the best EclipseCon ever!

by noreply@blogger.com (Cédric Brun) at May 14, 2012 04:08 PM

May 02, 2012

Talk about Wisss during the Acceleo Day at RMLL 2009

Long time not posting here. I've had a lot of work and nothing really interesting to post. I just inform you that I will make a speech about Wisss during the Acceleo Day in Nantes, at L'école des Mines, next friday at 2:30 pm. More information at : http://2009.rmll.info/Eclipse-Acceleo-Day-Presentation,938.html http://www.acceleo.org/wiki/index.php/EclipseAcceleoDay:Program

May 02, 2012 03:15 PM

Apache Virtualhost generator

Currently I've not much time to work on Wisss :-( However, I will make a tiny dsl and generator to have a virtualhost file generated (independent from Wisss, which already generate a vhost). I've already done this with a shell script but it will be more powerful and easy to ...

May 02, 2012 03:15 PM

April 19, 2012

RT-Simex R&D project presented to the FSE conference


Last month, Julien, from the INRIA Aoste team, has presented the RT-Simex project to the FSE conference (http://fse18.cse.wustl.edu/). The slides are available here : http://www.slideshare.net/fthomasfr/fsertsimex.

by Fred (noreply@blogger.com) at April 19, 2012 01:01 AM

Performing Safety Analyses and System Designs : a viewpoint matter !


During the last CSDM 2011 conference, I have presented our work made in the IMOFIS project.

IMOFIS was an R&D project with Renault, Alstom Transport, Systerel, UTC, CEA-List and Obeo to develop an environment that assists safety engineers to analyse and verify their systems. This project ended on October 25 2011.

In this project, we have developed a metamodel and a tool, named Alea ToolKit, to capture both parts of the system designs and parts of the safety analyses needed to build a critical systems.

For example, one system studied in this project is the Communication Based Train Control  (CBTC). To build such systems, typical process is dual : on one side the system engineering and in other side the safety engineering. The first one leads to build a safe system. The second leads to verify that the system is build in safety. Between this two engineerings, the exchanges are models, documents and mainly requirements. System have to manage requirements (refine, satisfy, derive it). Safety has to tag requirements as safety ones.
Typical system engineering process
One key problematic in such process is to be able to synchronize system and safety world. One subset of needs is :
  • the adaptability, i.e to provide a tool and methodology usable for several projects and even several domains such as railway and automotive ones. 
  • the interoperability, i.e. to be able to reference system modeling elements to describe the safety analyses,
  • the consistency, i.e. to provide facilities in order to manage several safety modeling levels (Preliminary Hazard Analysis, Fault Tree, FMEA). We want to help user to manage the consistency among thus abstraction levels,
  • the traceability, i.e. to be able to compute links among engineerings and to use those links for navigation.
A set of needs explored in IMOFIS

Hence,to fulfill those needs, we have explored the use of a viewpoint based approach with Obeo Designer. The key idea is to capitalize concepts in a generic/general safety metamodel and to provide different views to specialize the use of this generic metamodel for a specific concerns : a specific abstraction level or a specific domain. This metamodel is build on the the Eclipse Modeling Framework in order to achieve the interoperability with other system metamodels (SysML in our case). The views are implemented in a viewpoint based-engine : Obeo Designer. The resulting modeling framework is the Applied metamodeL for safEty Analyses ToolKit.

    To illustrate such a tool, let's illustrate on the CBTC  example. Firstly, we check the correct viewpoints.

    In a viewpoint based-approach, user choose the viewpoint to load.
    Then, let's take a look to the system design from the SysML viewpoint.



    From SysML, user can navigate to the safety analyses. For example, the F2 function is used in two safety analyses : a cause analysis (Fault tree analysis) and an accident case analysis (Preliminary Hazard Analysis).


    In fact, the safety engineer described the accident case from the SysML model : i.e. he references the SysML CTBC Block and the F2 function from the SysML model. Hence, the safety engineer interoperate with the system design in order to build his analysis.

    From the Alea ToolKit point of view, this scenario is "just" a graphical view on a global enhanced fault tree. The viewpoint tool manage the consistency between this event sequence view and the cause analysis view represented as a fault tree. The following picture is the projection of the previous scenario from a fault tree point of view.
     

    The viewpoint manage also the traceability links between the views. For example, the traceability companion allow to navigate among the safety views. From a second accident case for the excessive speed hazard, user can navigate to the previous scenario.

    Hence, viewpoint based approach allow to provide an integrated modeling framework gathering Safety and System concerns. It improves information search, communication (before many documents were parsed) and coherency among safety/system analyses. This approach is not a new set of methods for safety analyses. It doesn't take into account all the safety activities but PHA, SHA and FMEA modeling at the system level. 

    Next steps are bridges : a safety viewpoint is not only graphical representations, but this is also a set of filters and information synchronizations for specific concerns. Hence my next work is to enhance those graphical viewpoints in order to connect business tools such as my AltaRica editor. This is another R&D story !

    If you want more information, a complete presentation of this work is available here

    by Fred (noreply@blogger.com) at April 19, 2012 01:00 AM

    March 24, 2012

    See Graphical DSL at EclipseCon hot new product Showcase

    If you are in Washington for EclipseCon 2012, don't miss the "hot new product showcase".
    It will start Wednesday, at 17:50.

    You will see plenty of demos of new exciting technologies created with Eclipse projects.
    Last year, I really enjoy it because:
    • it's very easy to speak with the guys who created these products, 
    • you are not stress because of the beginning of a talk
    • you can see products, while talks are main focus on technologies
    • the vibes is good, as there is a reception at the same place

    This year, I'm proud to present there our DSL workbench: Obeo Designer.
    One of our challenge we would like to do with our visitors: create in live, with only several minutes, a nice looking graphical designer customized with the visitor's choices.


    To explain its features in a funny way, I made this original presentation:

    .prezi-player { width: 550px; } .prezi-player-links { text-align: center; }

    by Etienne Juliot (noreply@blogger.com) at March 24, 2012 05:01 PM

    March 23, 2012

    Moving to Git

    Hi,

    EEF is preparing to move to Git !

    We have already set up the repository, and we will mark the CVS read only right after the 1.1 Release.

    EEF should be available soon in GitHub.

    http://git.eclipse.org/c/eef/org.eclipse.eef.git/

    by noreply@blogger.com (Stéphane Bouchet) at March 23, 2012 02:47 PM

    March 22, 2012

    Preparing EclipseCon US 2012


    We are pretty active in Eclipse:


    I'd love to show all these things during EclipseCon, especially considering things are happening for  every single project listed here(*). There is just not enough time and many other interesting things to cover in such a short event but feel free to come and talk to us during the conference. On the other hand we are giving several talks worth mentionning :


    You did not knew Acceleo was an implementation of an OMG standard ?  Stéphane will present it during the Eclipse/OMG Workshop on Sunday.
    Meet Stéphane on Sunday, 15:55 – 16:20


    Eclipse is a best platform to build tools. Eclipse Modeling makes things even easier, but why would you need tools ? Aren't they available already  ? Well, generic tools suitable for any use case are hard to make,  you might want to use a given technology and not having any tool.  Good news is Eclipse Modeling enables you to build a dedicated tool in no time. We'll start the EclipseCon conference with a tutorial so that you learn how, leading you through an example tool to build a web app powered by  localstorage, Backbone.js and, JQuery.
    We're preparing the tutorial content in a way that you should be able to replay or present it when you'r back home. All the steps are  documented through eclipse cheatsheets and you'll get an all-in-one update-site.


    Meet Stéphane and me on Monday, 13:00 – 16:00 in Lake Anne B 

    If you're interested in industrial collaboration to provide long term and very long term support for Eclipse technologies, the Polarsys talk on Tuesday is for you.



    Meet Gael on Tuesday, 17:00 – 17:50 in Reston Suites B



    If you're more interested in technologies, modularity and dynamicity, Mikael is sharing an experiment on bringing EMF in a multi-tenant and dynamic world while trying to reduce API breakages to a minimum.
    3MF : EMF To the infinity ... and beyond !




    Meet Mikael on Tuesday, 17:00 – 17:50 in Lake Thoreau



    If you're into Agile and ALM and don't want to give-up on design documentation, Alex will present the Mylyn Intent project :


    Meet Alex on Wednesday, 10:30 – 11:15 in Regency Ballroom A


    In a nutshell, it's gonna be legendary :)

    (*) I guess I'll should also blog more to share what's happening.

    by noreply@blogger.com (Cédric Brun) at March 22, 2012 02:36 PM

    March 15, 2012

    p2 repositories ... we can do better : EEF Make it better !

    Hi,

    Following David's request [1], I modified the promotion script used by EEF and other obeo's tycho builds in order to be more friendly with the Eclipse's servers infrastructure :)

    I modified the pom.xml file for the update site project, adding a post-step phase generating a properties file and copying 2 files :
    - a promote.xml ant script,
    - a p2.xsl xslt file.

    Then when I connect to eclipse servers, i am able to run the ant script that do these steps :
    - copy the zipped update site to correct drops location, and renaming it using the properties given at the launch of the build ( Type, Alias )
    - unzip the same update site to updates location,
    - apply the xslt transformation to the p2 metadatas in order to activate updates stats and p2.mirrorsURL indication,
    - copy the p2.index files in correct location.


    if you are interested in this script for your tycho build, take a look at :
    http://dev.eclipse.org/viewcvs/viewvc.cgi/org.eclipse.emf/org.eclipse.emf.eef/releng/org.eclipse.emf.eef.update/?root=Modeling_Project

     [1] http://dev.eclipse.org/mhonarc/lists/cross-project-issues-dev/msg07400.html

    by noreply@blogger.com (Stéphane Bouchet) at March 15, 2012 04:44 PM

    January 20, 2012

    Traceability test case : UML to Java generation

    The next version of Acceleo will introduce a number of improvements of its existing features, one of its most important, the automatic builder, being entirely re-written in order to get rid of legacy code and improve the user experience. This also comes with a much better experience for users that need to build their Acceleo generators in standalone, through maven or tycho. More news on this are available on the bugzilla and Stephane's latest post.

    One of the least visible features, yet one I find among the most interesting aspects of the Acceleo code generator, is the traceability between the generated code, the model used as input of the generation, and the generator itself. Basically, you always know where that esoteric line of code came from : which part of the generation template generated it, and which model element triggered its generation.

    This feature has known a series of improvements as we used it intensively with the UML to java generator. We are now confident that we can record and display accurate information even for some of the most complex use cases. This generator isn't the most complex generator we could write with Acceleo, but it is quite complete nonetheless. Here are some examples of what the Traceability can provide to architects developping their code generators :

    Determine which model element triggered the generation of a line of code


    On the left-hand side, a file that has been generated. On the right-hand side, an editor opened as result of using the action "open input" : the model is opened and the exact element that was used to generate the part of code is selected.

    Find the part of a generator that created a given part of the code

    On the left-hand side, the same generated file as above. On the right-hand side, the result of using the "open generator" action : the Acceleo generator which generated that selected part of the code is opened, with the exact source expression selected.

    Real-time Synchronization



    These are but a few of the features that can be derived from the synchronization between code, model, and generators. Some more examples include : previewing the result of a re-generation, incremental generation, round-trip (updating the input model according to manual changes in the output generated code)...

    Most of these features are better seen in video to get an idea. If you want to see some of them in action, some more flash videos of what traceability can do for you are available on the Obeo network (though a free registration is required).

    by noreply@blogger.com (Laurent Goubet) at January 20, 2012 02:04 PM

    January 18, 2012

    Maven integration in Acceleo

    With the release of the new Acceleo stand alone front end for the compilation of Acceleo modules, I’ve started to work on a brand new maven integration in Acceleo.

    Currently in Acceleo, if you need to build Acceleo modules with maven you have to use a Tycho based build with a java class generated by Acceleo to tweak the build (for example to register the metamodel(s) used in the modules). This Tycho based build will always produce an Eclipse plugin as a result.

    The next major release of Acceleo will have a maven plugin dedicated to the compilation and it will bring several key improvements. Firstly, the new compilation front end brings a completely stand alone compilation. Those who want to build their Acceleo modules without having to build an Eclipse plugin will be able to do so. Secondly, this new front end support more complex project structures (with for example, multiple output folders in a same project). Thirdly, you will have the ability to contribute a class to influence the uris of the dependencies in the saved files (for example, change all the uris of the dependencies to other module to “platform:/plugins” uris that are more “eclipse plugin” friendly). Finally, it also features an improved resolution of the dependencies of a project with several options.

    Your project will be able to have a dependency to Acceleo modules in another project (that should have been previously compiled). A valid Acceleo project is just a directory on the file system with at least one “source” sub-directory and one “output” sub-directory (no need of an Eclipse nature or anything like that).

    This first solution is fine as long as you have the source code of the other modules but sometime you need to build something with the dependencies in jars. The maven plugin for Acceleo will let you declare a dependency to a jar containing already compiled Acceleo modules by using:

    • The absolute path of the jar. Ex: C:\…\myJar.jar
    • The path of the jar relative to the project built. Ex: ${project.basedir}\lib\myJar.jar
    • The groupId and the artifactId of the jar resolved by maven  (the version of the jar is optional since some version number includes the date of the build and therefore change often). Ex: myGroupId:myJar:myVersion
    • The name of an Eclipse bundle resolved by Tycho preceding by “p2.eclipse-plugin” only in a Tycho based build (“p2.eclipse-plugin” is the groupId of all the dependencies resolved by Tycho). Just like the previous use case, the version of the jar is optional too. Ex: p2.eclipse-plugin:myJar:myVersion

    For those who want to have a look at this new maven based build for Acceleo, you can find its source code on github.com and you can test it with a simple pom.xml like this one.

    January 18, 2012 01:08 PM

    December 27, 2011

    MDE in action for safety analysis modelling

    Since two years, I am working for the IMOFIS R&D project. The last year, we have developed a graphical modeler for safety concerns. This modeler is based on the EN 50126 and ISO 26262 norms.

    The key idea of this work is to provide a graphical safety viewpoint for system engineering. The system is design with the SysML language. Safety engineers describe their analysis with the safety viewpoint. p { margin-bottom: 0.21cm; }
    The result is pretty cool ! In the next figure I described that the SysML “F2” operation of the SysML Block “CBTC” (Communication Based Train Control) is referenced by a barrier to prevent a derailment (the accident) in case of an excessive speed (the hazard).


    In this work, we use several model-driven technologies to build our software :
    1. The Eclipse Modeling Framework to describe the safety metamodel
    2. The Extended Editing Framework to generate both property views and wizards
    3. The Obeo Designer viewpoint-based studio to create graphical views  without any manual code
    4. The GenDoc2 Topcased technology to generate documentations. This technology is based on the Acceleo model-driven code generation.
    I will present this work on the Topcased Day conference in february !  In the meantime, you can look for screenshots, videos and publications on the Obeo network !



    by Fred (noreply@blogger.com) at December 27, 2011 10:19 PM

    November 09, 2011

    Slides from EclipseCon Europe 2011

    For those of you looking for the Acceleo presentation that I’ve realized last week during EclipseCon Europe 2011, you can now find it online.

    I have also put online the presentation that I’ve done during the Eclipse Modeling symposium on the new Interpreter view available in Acceleo 3.2. A video of this presentation during the symposium is available on Dailymotion.

    And now, after Twitter, the Acceleo community will also be available on Google+.

    November 09, 2011 01:59 PM

    November 08, 2011

    Modeling Symposium @ EclipseCon Europe 2011

    The modeling symposium at EclipseCon Europe 2011 was really nice with several talks on various topics related to modeling. I would like to thank all presenters and particularly István who filmed all presentations with his smartphone.
     

    by noreply@blogger.com (Mariot Chauvin) at November 08, 2011 02:23 PM

    November 07, 2011

    Follow the White Rabbit ...

    at Eclipse Day Paris !

    If you're always wondering why we are so excited about Eclipse Modeling Technologies, if you'd like to understand how technologies relates to each others and how they can be used, stop by at Eclipse Day Paris tomorrow :

    "Modeling" . Behind this simple word lies strong opinions, misconceptions, obscure acronyms, meta-things and marketing campains far from the reality of developping an application. But if you look more closely, this forest hides a fairly small set of simple, powerful yet flexible concepts. If you zoom in again, you'll see awesome technologies. While some "dreamers" are giving more and more abstract discourses about modeling, on the field these technologies are pervading, even close to the bare metal in the Eclipse platform itself. In 2011, you might already know you can generate rich applications, but what about web technologies, PHP, C ? 

    This talk will start by taking a step back about what is all this modeling stuff, what it isn't and what technologies the Eclipse Modeling project brings in this regard. The focus will be placed on tools and components useful to build any kind of application and not just Eclipse based ones : EMF, Acceleo. You'll come back with examples of how you could leverage those technologies for your own project.

    by noreply@blogger.com (Cédric Brun) at November 07, 2011 03:56 PM

    November 03, 2011

    Why not generating EMF code with Acceleo ?

    Obeo has developed the Rolls Royce of the code generation. It's time to use this for the EMF generation tooling.

    Since one year we are developping an alternative EMF generation with EEF. Now we have covered most of the EMF generation (even the model part!) and you can try it with the last EEF nighlty!


    Here is the demonstration Stéphane made of the new wonderful feature:




    For the ESE attenders, I will made a demo @ the modeling symposium this evening !

    by noreply@blogger.com (Goulwen Le Fur) at November 03, 2011 10:18 AM

    October 27, 2011

    EMF Compare scalability

    During the sponsored work on EMF Compare, we have taken some time to measure the performance of EMF Compare and think about possible improvement axis. We meant to profile both the time needed to compare two models and the overall memory footprint of a comparison, this has been achieved through the use of the Yourkit Java profiler.

    The first measures we took highlighted such a huge kludge that we took the time to better the comparison algorithms before taking any further action. Through the use of google's Guava and some rethinking, we improved the comparison time on big model comparison a great deal, dividing the total comparison time in half!

    Here is a sample of the time it takes now to compare your models with the latest builds of EMF Compare :

    Structure of the sample models used in these tests ("fragments" are the number of fragmented files, the rest are UML model elements contained by the samples) :







    Small Nominal Large

    Fragments 99 399 947

    Packages 97 389 880

    Classes 140 578 2169

    Primitive Types 581 5370 17152

    Data Types 599 5781 18637

    State Machines 55 209 1311

    States 202 765 10156

    Dependencies 235 2522 8681

    Transitions 798 3106 49805

    Operations 1183 5903 46029

    Time and memory used required to compare each of the model sizes (the model is copied, randomly modified, then the copy is compared with its original) :







    Small Nominal Large

    Time (seconds) 6 22 125

    maximum Heap (Mo) 555 1019 2100

    We initially thought that the time was mostly spent matching the elements together. It turns out that the real bottleneck of a comparison is the differencing phase (we know the two elements "match", now we need to know if, and how they differ). Just goes to show you that a profiler is mandatory in order to really know why your product might be slow ;).

    Future development

    These profiling sessions made clear the problems of EMF Compare on large models. We can properly handle "medium" models : EMF Compare is fast and its GUI can react at reasonable speed. However we cannot scale this behavior to large models : memory management is somewhat inefficient (more than 2Go of heap space to compare two models that both "weigh" 50Mo on disk...), the GUI is sluggish... We did isolate a number of potential improvements though. Stay tuned!

    Note : the report is online and can be retrieved from here for those interested.

    by noreply@blogger.com (Laurent Goubet) at October 27, 2011 04:40 PM

    October 10, 2011

    Acceleo 3.2


     To celebrate the historic victory of the french rugby team in the world cup quarter final, the Acceleo team is proud to announce its 3.2 release very soon.

    Photo from NikRugby23
     


    • We tackled performance problems in compilation. Acceleo is now as fast as Vincent Clerc, and even if you totally don't know who he is, you will appreciate the better reactivity of the tool.  


    • We provide a new useful view to test Acceleo and OCL expressions on the fly, the Acceleo interpreter. You will find more details and example of usage of the interpreter in the Laurent's blog entry.

    Screenshot of Acceleo Interpreter


    Want to join the scrum  ? You could install a release candidate and give us feedback before the final release planned for October 24th.

    by noreply@blogger.com (Mariot Chauvin) at October 10, 2011 03:09 PM

    August 22, 2011

    EEF submissions for EclipseCon Europe



    This year, I will try to present two talks to EclipseCon Europe about the Extended Editing Framework (EEF) and more generally Eclipse Modeling : Scientific application redesign in oil industry with Eclipse Modeling and 25 min to take care of your end users with EEF!.

    Scientific application redesign in oil industry with Eclipse Modeling

    This first talk deals with a work we made with IFP energies nouvelles (IFPEN) for redesign a part of its platform OpenFlow. IFPEN develops and provides a platform aiming at creating scientific softwares for oil production industry. This platform offers several services like tools helping creation of graphical user interfaces or a communication framework to send data to supercomputers.


    The communication part of the suite is fully operational but can be really improved, mainly in the way the communications are described. The work with IFPEN was to create a communication designer with EcoreTools and to generate all the communication layer of the IFPEN platform with Acceleo 3.


    For this talk, I will be assisted by two persons of IFPEN and we will show you :
    • The different elements of Eclipse Modeling we used to made this redesign
    • A demonstration of the final Communication Designer
    • And a demonstration of a second tool we made to create automatically GUI with EEF

    25 min to take care of your end users with EEF!

    The second talk I proposed is more EEF-centric. EEF has reached its version 1.0 and is no longer in incubation. The two years in incubation allowed the framework to be more and more robust and to be a real candidate to become the EMF.edit framework version 2.0!

    I will try to focus this talk on a tutorial aspect to enable people attending the presentation to use EEF immediatly on their own use cases.
    The talk will start with a short introduction of the project and will be followed by a first tutorial to get good looking properties view for a given metamodel defined with Ecore.
    After a short presentation of the different kinds of generable GUI with EEF, a second tutorial will show how to create very usable form editors with the extension part of EEF.

    I hope this description of the talks I've submitted around EEF convinced you and make you want to come to this wonderful event that is Europe EclipseCon !


    by noreply@blogger.com (Goulwen Le Fur) at August 22, 2011 09:22 AM

    June 27, 2011

    An AltaRica textual editor in Eclipse


    Since more than one year, I have heard about the AltaRica language provided by the LaBRI. AltaRica is a language designed to model both functional and dysfunctional behaviors of critical systems. AltaRica provides a syntax and a set of model-checkers like ARC that allows to analyze the set of reachable configurations of a concurrent system from an initial state for example. This language has a formal semantic and seems quite easy to learn and to use !

    However, I haven't found a free plug and play editor for a beginner (as me) with auto-completion and error detection. I have thus implemented, during my spare time, a textual AltaRica Eclipse-based editor in a first version.

    My motivation are :
    • to learn the langage 
    • to be able to use this langage with the Eclipse Modeling Framework. In fact, if I succeed, the AltaRica model and all other models used during my critical systems developments (SysML, UML, EventB, Requirements, traceability) will be managed by the same common modelling framework. It will thus facilitate the interroperability ! 
    • to learn the Eclipse-Based xText technology for which you can describe the AltaRica grammar and generate the Eclipse-integrated textual editor.
    An extract from the xText AltaRica grammar






    After several hours, I succeed in providing my first AltaRica editor with auto completion and error detection. For sample, I can edit the counter example delivered with ARC and compile this sample.
    A simple counter from 0 to 10. The counter can be incremented by
         one unit using inc event or by two units using inc2 event.
    Syntax error detection
    Completion proposals
    The ARC compilation results when asking all the path to get count >=3














    The ARC console is not yet integrated in Eclipse because I don't know if someone else could be interested either in using or in contributing to this editor. Please, feel free to contact me if you are interesting !

    by Fred (noreply@blogger.com) at June 27, 2011 10:28 AM

    June 22, 2011

    Eclipse DemoCamp in Nantes

    Next week the second edition on the Eclipse DemoCamp will take place at the Ecole des Mines de Nantes.

    Even if Nantes is specialized in Eclipse modeling technologies, we have this year an existing program with a good mix of modeling and non-modeling talks.

    6:15PM - 6:35PM: MoDisco & ATL (AtlanMod)

    6:35PM - 6:55PM: EMF Facet (Mia-Software)

    6:55PM - 7:15PM: EEF (Goulwen Le Fur, Obeo)

    7:45PM - 8:05PM: Memory Analyzer (Zenika)

    8:05PM - 8:25PM: Tycho (Pod Programming)

    8:25PM - 8:45PM: EGit (Obeo)

    8:45PM - 9:00PM: General Questions & Wrap-up

    If you want to attend, please update the wiki page or contact me:
    http://wiki.eclipse.org/Eclipse_DemoCamps_Indigo_2011/Nantes

    by Freddy Allilaire (noreply@blogger.com) at June 22, 2011 12:06 AM

    June 01, 2011

    Webinar Retour EclipseCon 2011 : ce qui nous attend dans Eclipse 3.7

    Tomorrow (2011/05/31, at 3 pm Paris timezone), there will a webinar about EclipseCon 2011 and Eclipse Indigo focused on news and northworthy of the Eclipse ecosystem. For the first time, this webinar will be in French since it will target the large and active community of French Eclipse users and some of them are more comfortable with their native language ;)

    Speakers are: Etienne Juliot, Cédric Brun, Mariot Chauvin, Mikaël Barbero, Frédéric Madiot.
    You can register at: http://live.eclipse.org/node/1030



    English abstract
    EclipseCon 2011 was a great success with lots of announcements and exciting new projects.
    If you could not got there or you didn't success to fork yourself to see every talks, this webinar will help you to have an overview of the event and the upcoming technologies for Eclipse Indigo.
    As lots of materials on EclipseCon are already available in English and in a view to increase their visibility to the french community, this webinar will be in French.


    Résumé en français
    EclipseCon 2011 a été un grand succès avec beaucoup d'annonces et de nouveaux projets passionnants.
    Si vous n'étiez pas sur place ou vous n'avez pas réussi à vous dédoubler vous pour voir toutes les conférences, ce webinar vous aidera à avoir un aperçu de l'événement et des technologies à venir pour Eclipse Indigo.
    Comme beaucoup de documents sur EclipseCon sont déjà disponibles en anglais et en vue d'accroître leur visibilité à la communauté française, ce webinar sera en français.

    Ce webinar durera une heure et sera présentée de manière chronologique, comme si vous étiez à Santa Clara du lundi au jeudi. Les orateurs sont exclusivement des commiteurs des projets de la fondation ou des orateurs à la conférence. En prévision de la sortie d'Eclipse 3.7 qui sortira en juin prochain, nous vous montrerons pourquoi cette version est la plus importante depuis plusieurs années en expliquant ses nouveautés : Orion, Eclipse 4, Virgo, Acceleo, WindowBuilder, Tycho, EEF, eGit, ...


    UPDATE :

    The webinar has been recorded and is available at  / La vidéo a été enregistrée à l'adresse :
    http://live.eclipse.org/node/1030

    Here are the slides / Voici les supports de présentation :

    by Etienne Juliot (noreply@blogger.com) at June 01, 2011 03:22 PM

    May 04, 2011

    True story of a successful business model based on Eclipse

    At EclipseCon 2010, I do an original talk about business model. I was very happy to see so many persons to listen a non-technical talk.
    My goal wasn't to explain generalities about FOSS business models (a very good talk was done by Neelan Choksi, the president and COO of Tasktop, and is available at http://www.eclipsecon.org/2011/sessions/?page=sessions&id=2299).

    My goal was to explain our own story, why we continually adapt our commercial offer (service or product), and how we succeed to find a nice way to make money with free software.
    Eg: provide for free our code generation tooling, and selling legacy migration solutions!

    I also explained how Eclipse Foundation help us to find a way to increase the visibility of our work (and so, to increase the number of leads).


    by Etienne Juliot (noreply@blogger.com) at May 04, 2011 03:46 PM

    February 18, 2011

    My new blog about filmmaking and open source

    In parallel with my computing activity, I decided to open a new blog about filmmaking, to share my experiences in this domain...

    I will talk about independent filmmaking, DSLR cinema, new amazing DSLR techniques, film production processes, directing, cinematography... and how the openness and the innovation of free software spirit can also improve all that stuff...

    Here is the link... See you later on this blog or on the other one...

    by noreply@blogger.com (Jonathan Musset) at February 18, 2011 04:32 PM

    November 16, 2010

    Eclipse Modeling for WTP

    If I want to describe cinematic between my webapp, which representation is the easiest to understand :


    this one:

    or this one :

    At Eclipse Summit Europe 2010, I do a talk to explain how Modeling can be useful to design JavaEE based applications:
    • how to create some textual and graphical DSL for each layers of my webapp,
    • how to create Acceleo based code generators for Hibernate, Struts, Spring and others frameworks,
    • how to integrate everything in an Entreprise Architecture with a Togaf based designer.
    Some flash demos are available to see the resulted workbench.

    And here are my slides:

    by Etienne Juliot (noreply@blogger.com) at November 16, 2010 07:22 PM

    November 03, 2010

    Vidéo de la présentation "MDA en 2010 au JUG Summer Camp"

    Juste un mot pour vous dire que les vidéos du JUG Summer Camp 2010 sont disponibles sur Parleys ici : http://www.parleys.com/#id=31362&st=4

    La mienne intitulée "Le MDA en 2010, une visiion pragmatique!" est ici :

    by Jérôme at November 03, 2010 03:46 PM

    October 31, 2010

    My slides about Acceleo / MTL at the Eclipse & OMG symposium

    Here are my slides I presented at the 2nd Biannual Symposium on Eclipse Open Source
    Software & OMG Open Specifications in Minneapolis
    .

    I spoke about our experiences with Acceleo to implement the MOF-to-Text Language specification. At the end of my talk, I explain problems we had about sharing our feedback about specs with the OMG organisation. OMG guys was very interested about this and I hope it will simplify some collaboration beetween Eclipse community and OMG spec writers.

    Here is the abstract:
    "When OMG tackled the standardization of an M2T syntax with the MOF Model to Text Language specification, commiters decided to rewrite Acceleo from scratch as an official Eclipse Foundation project, changing the syntax to the OMG standard while keeping the exemplary tooling and pragmatism of Acceleo.org.
    With Acceleo 3.0 included in Eclipse 3.6, our new goal is to provide the de facto or reference implementation of the standard; however, some parts of the specification are still quite vague and ambiguous and collaboration with OMG isn't smooth. We discuss both the specification and the implementation, and gather overall thoughts on how to provide a long-term and successful communication channel between the Acceleo project and OMG representatives."

    Here are the slides:

    by Etienne Juliot (noreply@blogger.com) at October 31, 2010 05:58 PM

    October 28, 2010

    How to create working Android applications using Eclipse modeling techniques

    Several months ago, at Eclipse Con 2010, I presented a talk titled "Acceleo Code Generation : Let's start with an Android example". This is the demo.

    At Eclipse Summit Europe, we will do the talk again. This time, I won't participate... But, Mikael Barbero and Stephane Begaudeau will show an advanced version of this tutorial : "Creating a Language for Android Apps with Eclipse Modeling". Both are software engineers at Obeo. They have worked on this 4 hours tutorial with Jan Koehnlein and Holger Schill from Itemis.

    In this tutorial, attendees will create working Android applications using Eclipse modeling techniques. This talk will start with a short presentation of Android and its development tools. Then the attendees will learn how to define abstractions using EMF Ecore and how to create a language and an editor for these with Xtext. Finally, they will implement a generator that creates the Java and XML source code of the Android application with the help of Acceleo. The team will demonstrate how these ingredients are integrated into the Eclipse workbench just like Java and XML do.

    Thank you guys for the good job you have done to prepare this tutorial. That kicks ass! The result seems to be very impressive...

    This tutorial will also be interesting for beginners... Being an expert at code generation or Acceleo is not necessary to get started on your first code generator : using the Acceleo editor and the powerful features it exposes (completion, syntax highlighting, on-the-fly compilation, quick outline, ...), it is very easy to get started once you understand the most basic principles.

    Flickr/androids eat apples!/laihiu 
    Goulwen Le Fur will also be at Eclipse Summit Europe 2010 and he will talk about EEF, this very usefull component I have talked about several times this year.



    by noreply@blogger.com (Jonathan Musset) at October 28, 2010 01:15 PM

    July 06, 2010

    Eclipse DemoCamp in Nantes this week

    Don't forget this Thursday if you're closed to Nantes to attend to our Eclipse DemoCamp.

    Here we have the program:
    18:00 - 18:10: Welcome
    18:10 - 18:35: Modisco, by Gabriel Barbier, Mia-Software
    18:35 - 19:00: WTP with Glassfish, by Laurent Ruaud and Evariste Konkolé, Serli
    19:00 - 19:25: Acceleo, by Stéphane Bégaudeau, Obeo
    19:25 - 19:50: Eclipse SOA, by INRIA
    19:50 - 20:15: ATL in the AtlanMod Model Management Architecture, by Hugo Bruneliere, EMN/INRIA
    20:15 - 20h45: GMF Showcases, by Etienne Juliot, Obeo
    20:45 - 21h00: Open discussion

    Our goal: few slides, lots of demos!

    If you want to attend, please use the wiki page: http://wiki.eclipse.org/Eclipse_DemoCamps_Helios_2010/Nantes

    See you on Thursday!

    by Freddy Allilaire (noreply@blogger.com) at July 06, 2010 06:28 PM

    July 02, 2010

    Acceleo 3 and properties

    Since I'm often brought to develop acceleo generators, I often had to design my templates so that they can be easily parameterized by users.
    This is important since by doing so, acceleo modules are flexible enough to fit my users needs and (hopefully) I don't have to update modules too often.
    Of course, you need to carefully design your templates to achieve this modularity. But for simple needs, simple solutions are the best.
    Acceleo natively supports the use of properties files which is an efficient and simple way to parameterize generation module: Properties are generally simple to understand and users can use them easily.
    Well, Acceleo 3 is out, and of course properties are still supported. I just wanted to point out something I stumble upon just recently: Properties files are now accessed via the java ResourceBundle mechanism. And consequently, they need to be in the classpath in order to be accessed at runtime.
    So, as a module developer, you'll place your default properties files (those you provide with your modules in order to have a sensible default behavior) in a package of your module project.
    Well, don't forget to check that this package is exported at runtime, otherwise your properties won't be accessible when you run your generations!


    You probably already know how to do it but just in case: open the META-INF/MANIFEST.MF file, and in the Runtime tab just add the package(s) that contain your properties files.
    And since you need to do this also for your entry point templates, it may be a good idea to place default properties files in the same package as the entry point template files?

    by noreply@blogger.com (Laurent Delaigue) at July 02, 2010 01:43 PM

    June 29, 2010

    Acceleo 3.0.0 is released!

    Acceleo 3.0 has just been released and it comes with compatibility with Eclipse 3.4, 3.5 and the latest 3.6 versions. Acceleo 3.0 is a pragmatic implementation of the OMG Model-to-text specification. It supports the developer with most of the features that can be expected from a top quality code generator IDE: simple syntax, efficient code generation, advanced tooling, features on par with the JDT... Acceleo also has a unique tooling around example-based design of code generators with all the pragmatism we had with the 2.x stream.

    Acceleo can be downloaded and installed in a number of ways. If you have an existing Eclipse installation and simply wish to install Acceleo in it, installing through the update site is the easiest way. If you'd rather install a new Eclipse with Acceleo, you may want to take a look at the facilities provided by the amalgamation project. Amalgamation is the project that leads the creation of the modeling bundle, it has an easy one click discover and install wizard. Thanks to it you could also easily install also ATL 3.1 (the model-to-model transformation language in Eclipse), EEF (a way to improve the EMF model creation), EMF Compare 1.1 and many other modeling components.

    Acceleo 3.1 will be released in June 2011 with the Eclipse Indigo release train. We also planned several corrective versions for the 2.x maintenance stream: a 2.7.1 version will be released this year and a 2.8 version in 2011. Meanwhile, the Acceleo team is investigating towards Eclipse 4 (e4) compatibility. All the links and information to download and install Acceleo are available from here: http://www.eclipse.org/acceleo/download/

    Note that examples are available from the menu right-click => New => Examples => Acceleo Plug-ins.

    Do not hesitate to give feedback through the mailing-lists, the bug-tracker or the web forum, a Wiki is available to ease the collaboration and the gathering of tips and tricks.
    Support information: http://www.eclipse.org/acceleo/support/
    Developers information: http://www.eclipse.org/acceleo/developers/

    Thanks to all the developers and contributors involved in this release!

    by Freddy Allilaire (noreply@blogger.com) at June 29, 2010 05:08 PM

    June 25, 2010

    How to create an Acceleo 2.x generator for composed metamodels

    Imagine you have a metamodel that reference other metamodels and you want to create a generator for this metamodel. Let's take an example :

    The first metamodel contains an EClass named Object that have a reference package of type EPackage. That create a reference to the ECore metamodel.

    First we have to create a template for the first metamodel :

    %
    metamodel http://www.obeo.fr/first

    import manymetamodels.ecore
    %>

    %script type="first.Object" name="default" file="test.txt"%>
    Object %name%> :

    %package.default%>

    Then we need to create the template manymetamodels.ecore.mt :

    %
    metamodel http://www.eclipse.org/emf/2002/Ecore
    %>

    %script type="ecore.EPackage" name="default"%>
    EPackage %name%>.


    And that's all. So you just need to create at least one template per metamodel and then inport them according to the way you navigate your metamodels.

    by yvan (noreply@blogger.com) at June 25, 2010 01:56 AM

    June 10, 2010

    Eclipse DemoCamp in Nantes

    Obeo and INRIA organize an Eclipse DemoCamp at Nantes on the 8th of July: http://wiki.eclipse.org/Eclipse_DemoCamps_Helios_2010/Nantes

    Don't be afraid, we looked at the world cup agenda and there will be no game on this day! So you could attend quietly and maybe take a break about soccer for few hours.

    However don't miss the first Eclipse World cup experience where I hope lot of people will join us (Go! Go! Go France!). If you're interested, take a look to the post made by Goulwen.

    For the DemoCamp, we have started to work on the agenda and already several interesting demos will be presented: Acceleo by Obeo, MoDisco by Mia-software, WTP by Serli and more to come.

    If you want to propose a demo or simply attend, please sign up on the wiki.

    See you in Nantes!

    by Freddy Allilaire (noreply@blogger.com) at June 10, 2010 07:31 PM

    May 20, 2010

    Agility 1.4 is out

    Agility is a product based on Eclipse that help migrating code. You can find more details here. This new release comes with several improvements :

    - Custom link resolution
    - OStore reflective editor
    - Export to product parser

    There are also bug fixes of course :)

    Lien

    by yvan (noreply@blogger.com) at May 20, 2010 06:36 AM

    April 12, 2010

    Acceleo 2.7 is out

    There are several improvements and bug fix :

    - Profiling now profile compilation of templates. EObjects profiling can
    be also disabled. It's very useful when generating from big models.
    - EA models import has been improved
    - Some improvements have been done on resource caching
    - A template extender have been added. It allows to explicitly extends
    template from a module. It relay on extension point.
    - It's now possible to add custom services as system services. For those
    services the import statement is not required.
    - The import order error has been changed into a warning.

    For a more complete list you can visite the official Acceleo web site.
    To download this new version you can use this update site http://www.acceleo.org/update.

    by yvan (noreply@blogger.com) at April 12, 2010 02:17 AM

    April 07, 2010

    The new acceleo release before the 3.0 version

    Acceleo 2.7 has just been released. The Acceleo profiler has been improved in particular when generating from big models. A template extender was added; it allows to explicitly extend a template from an Acceleo module. Custom services can now be added as a system services. Several fixes were done on the models import from the Enterprise Architect modeler. Concerning the Acceleo modules, the C and Java modules have been improved. A new build is available on the update site.

    Furthermore some bugs have been fixed; you may want to have a look on the new and noteworthy page for the 2.7.0 release: http://www.acceleo.org/pages/new-and-noteworthy-acceleo-2-7-0/

    The "Acceleo modeling bundles" providing the Eclipse platform, Acceleo, its prerequisites have been updated. These bundles are the way to go if you want to test the power of modeling within Eclipse: http://www.acceleo.org/pages/download-bundle/ They provide as usual the ATL workbench for model to model transformations, EMF Compare for model comparison and others components composing the official Eclipse Modeling Package.

    We planned several corrective versions for the 2.x branch: a 2.7.1 version will be released this year and a 2.8 version in 2011. But as you may know, the next major release of Acceleo is currently implemented and this new version is an official Eclipse foundation project (http://www.eclipse.org/acceleo). The most obvious change of this new version is the overhaul of the syntax as we now follow the OMG standard "MOF Model To Text Language" (MTL) based on OCL. In incubation since a little more than two years within Eclipse, Acceleo 3.0 is coming soon with the Eclipse Helios train (June 2010). Acceleo 3.0 already supports a level of functionality close to its 2.x stream. “Pre-release candidate” milestone could already be tested: http://www.eclipse.org/modeling/m2t/downloads/?project=acceleo

    Do not hesitate to give feedback through the mailing-lists, the bug-tracker or the web forum, a Wiki is available to ease the collaboration and the gathering of tips and tricks. http://www.acceleo.org/pages/take-part-in-acceleo/

    Thanks to all the developpers and contributors involved in this release!

    by Freddy Allilaire (noreply@blogger.com) at April 07, 2010 06:59 PM

    February 11, 2010

    2nd Birthday of ParisJUG

    juggyannif02.jpg I just back in my Home Office from a two days trip to Paris.I went to the second birthday of ParisJUG. Thanks and bravo to Antonio and all the ParisJUG team for the organization! It was a special event about the Open-Source revolution.
    All French JUG leaders are came specially for this event. Orianne and Jerome Petit, the Poitou-Charentes JUG leaders, announced that we would organize an event in September: The Beach JUG (aka Le JUG de la Plage!) ;-) The event will take place in La Rochelle on the French west coast. This will be an opportunity for me to talk about Model Driven. If you are interested to come and talk, ping me, I will redirect.


    The evening starting by an excellent Keynote presented by Sacha Labourey. He shares with us his experience as Open-Source committer on JBoss, then CTO and co-GM of the RedHat / JBoss company. And he detailed some best practices for creating an Open-Source and succeed in life (in Open-Source world ;)) I liked this phrase: "We are free and we don't suck ! "
    Then there is a surprise, a mystery guest, the buzz turned the whole day on Twitter, tracks from Clara Morgane to Nicolas Sarkozy:

    And finally, it's Marc Fleury, the JBoss Founder who became!
    I had the honor to discuss with Marc around a glass of French wine! Marc has a really cool life, since it sold JBoss. He came back to Europe, in Madrid and spend full time with his children and used his free time to study Economy... a huge topic to me...
    400people.jpg eclipse_built on_neg_logo_fc_xsm.aiJust after the Keynote, Etienne Juliot presented a quickie before almost 400 people. It explain how Obeo joined the Eclipse Foundation as a Strategic Member and how to build a viable Business Model based on the Eclipse ecosystem.

    bisounours.jpg

    I remember two messages: "Do it!" and "Professional Open-Source is not a Bisounours World", which reaches the Sacha opinion. Indeed, Etienne told us that it is very difficult to monetize open source technologies in order to build a solid software company. He explained how Obeo has managed to build a clear strategy and build a solid business model.


    The evening then continued with a third half-time with almost 120 people, the moment to talk with many good Open-Source Guys!

    by Jérôme at February 11, 2010 07:45 PM

    January 13, 2010

    New succes for Agility

    Obeo Agility is a proprietary product edited by Obeo. It's used for code migration. It parses legacy code into a model used for generating code for the targeted technology. We already parse and migrate millions of code lines from many languages (Cobol, Ada, PL1, ...). We finished a project for parsing 5 millions of code lines written in Natural. The goal for this project was not migrating the code, but automating code review. Reports are generated using... Acceleo.

    by yvan (noreply@blogger.com) at January 13, 2010 05:55 AM

    November 30, 2009

    Profiling your code generation

    I am now developing on the Eclipse Acceleo project. To get started I bring a feature form the old Acceleo project. I write a profiler for the new Acceleo. It's very similar to the old profiler.

    As you can see the screen shot show many statistics about the module execution. By double clicking on an element you can open its definition.

    by yvan (noreply@blogger.com) at November 30, 2009 09:59 AM

    November 12, 2009

    Eclipse Demo Camp 2009 in Paris with Acceleo and OD

    Next week, November 17th, come in Paris to see Eclipse Community and news of Eclipse projects.
    I co-organise this event with Cedric Vidal , a very nice guy with lots of cool ideas on model driven and EMF, and we want to promote talks with live demos and few slides (I hate "slideware talks").
    We success

    Some very nice talks will be propose on Birt, XText, UI (with XWT and Wazaabi) and a "guess star" with an introduction of Mike Milinkovich (Executive Director of the Eclipse Fondation).


    Jonathan Musset will talk about the new features of Eclipse Acceleo project. This demo has been shown at Eclipse Summit Europe and was very impressive by the quality of the template editor which is perhaps the best editor of Eclipse platform, just after JDT.




    We will also make some demo of Obeo Designer, our Eclipse Modeling distribution with a new exciting tooling to create GMF designers without any Java code (during our demo, we will create from scratch a new nice designer).




    Info on the Eclipse wiki page:
    http://wiki.eclipse.org/Eclipse_DemoCamps_November_2009/Paris

    Register on http://eclipsedemocampparis09.eventbrite.com/
    or directly with this form:

    Events

    by Etienne Juliot (noreply@blogger.com) at November 12, 2009 12:06 PM

    June 30, 2009

    Eclipse Acceleo Day program is available!

    The first Eclipse Acceleo workshop will take place on July 10, 2009 in Nantes. More information available here: http://www.acceleo.org/wiki/index.php/EclipseAcceleoDay
    The complete program is now available with a lot of interesting talks dealing with Eclipse, MDE, DSM and of course Acceleo ;-)

    Hour Title Presenter Affiliation Language
    09:00 Introduction Etienne Juliot OBEO English
    09:30 Presentation of a DSM-oriented design and generation environment Erlé Le Gac Capgemini French
    10:00 MDA & Acceleo deployment feedbacks Vincent Fady Atos Origin French
    10:30 Coffee break


    11:00 Acceleo, contribution to the industrialization of developments: Feedback from Bull-Centre de Services Paris Olivier Leal Bull French
    11:45 An Open-source Model Driven software development toolset - Lesson learned from Orange Labs Samuel Liard Orange Labs French
    12:15 Lunch


    14:00 MDSD Scaffolding and Acceleo Cédric Vidal Proxiad English
    14:30 Presentation of WISSS (Webapp Is Simple, Stupid and Secure) François Gaudin Makina Corpus English
    15:00 Acceleo MTL: a standard alternative for code generation
    Cédric Brun OBEO English
    15:45 Coffee break


    16:15 EEF powered by Acceleo MTL - Acceleo MTL ... and punishment! Goulwen Le Fur OBEO English
    17:00 Panel



    This workshop is free but with mandatory registration (for organisation purposes). Registration details are available here: http://www.acceleo.org/wiki/index.php/EclipseAcceleoDay

    Hope to see you there :-)

    by Freddy Allilaire (noreply@blogger.com) at June 30, 2009 05:44 PM

    June 15, 2009

    Eclipse Acceleo Day

    Eclipse Acceleo Day will take place on July 10, 2009 in Nantes. This workshop is dedicated to Acceleo and associated technologies. All information for attending and participating are available here: Eclipse Acceleo Day.

    The workshop fees have been lowed to their minimum: this is a free workshop ;), but mandatory registration (for organisation purposes). This workshop is co-located with the 10th Libre Software Meeting (http://2009.rmll.info/?lang=en).

    The workshop will be an occasion for some members of Acceleo community to meet and to exchange ideas. This meeting will also be an opportunity to present some of the planned extensions to this tool and discuss MDE related subjects.

    If you want to participate and/or attend, don't hesitate to contact me by email.

    Scope

    Acceleo (http://www.acceleo.org) is an Eclipse-based toolkit for code generation, with a model based approach. Code generation is the technique of using or writing programs that write source code. Code generators are tools built to serve engineers in the automatic creation of applications. Acceleo is a free software, its development is totally open.

    Topics of Interest

    • New Eclipse Acceleo project (http://www.eclipse.org/modeling/m2t/?project=acceleo)
    • MOF-to-Text Language
    • Validation with Acceleo
    • Documentation generation
    • Scripting generation (PHP, Python, Ruby, ...)
    • Link with M2M transformations (ATL and others)
    • Comparison with other generative engines
    • Integration of Acceleo in a industrial tool chain
    • Presentation of existing modules ("ready-to-use" generators)

    Talks

    Most of the talks will be 20-30 minutes long. Participants are welcome to propose a short talk presenting their project of their experience with Acceleo. Working languages are english and french. All slides and documents will be in english. Demos would be greatly appreciated :-)

    Important Dates
    • Registration: July 3rd, 2009 (Even if attendance is free, registration is mandatory for organisation purposes)
    • Workshop Date : July 10th, 2009

    by Freddy Allilaire (noreply@blogger.com) at June 15, 2009 07:03 PM

    May 26, 2009

    Thread safe services

    Last month I explained how to tune Acceleo standalone engine threading. But services were still running in mutual exclusion because historically services didn't need to be thread safe. The result was a performance loss.
    Services of a given service class couldn't run in parallel by default. It means threads will have to wait for other threads to run services. I noticed that a lot of service classes are thread safe, they don't use field or static references.

    But as I can't decide if a service class is thread safe or not for you, I added an interface that bypass the mutual exclusion zone for a given service class. It allows multi threads to run services of a service class. This interface is IThreadSafeService. It declares nothing, so you just have to add the implements clause as following:

    public MyServices implements IThreadSafeService {
    ...
    }

    But be aware, if you use this interface and your service class is not thread safe it can lead to random boggus behavior. And it can be difficult to find out what is the root cause of your troubles.

    by yvan (noreply@blogger.com) at May 26, 2009 06:54 AM

    April 10, 2009

    Acceleo standalone and multi-threading

    One of the main features of the standalone Acceleo engine is to provide multi-thread support. This allows us to divide the code generation time according to the count of available processors, effectively cutting the generation in half on some machines. To share the work between threads, the input model is divided into groups of objects; each group is then queued till a thread can process it.

    There are two parameters to tweak the multi-threaded generation. The first one is the number of threads to run simultaneously, the default value being the number of available processors plus one. This allows us to use all available processors, the one supplementary thread used to cover synchronization waiting time. While some threads are waiting for another one, one processor is free to run the thread which was waiting for an idle processor.

    The second parameter is the number of objects per group, the default being 20 objects per group. This parameter is very important since its allows you to find the optimum between load sharing and thread management overhead. Your objects groups will not be processed using the same amount of time. So Imaging you divided your model into two groups by setting number of objects in the model divided by 2. The group which runs faster will have to wait for the slower group at the end of the generation. In this case you are losing time. On the oposite you can put a single object per group. This way you minimize the loss of time at the genretation end. But threads will spend more time peeking groups in the queue since there are much more groups.

    To set thoses parameters have a look at :
    - Extension.setThreadsNumber(int)
    - Extension.setEObjectsPerThread(int)

    by yvan (noreply@blogger.com) at April 10, 2009 09:36 AM

    February 17, 2009

    Acceleo profiler

    There is a new feature in Acceleo 2.5. This feature allows users to profile the generation process of Acceleo. To activate the profiling you should check the profiling checkbox in the launch configuration of the chain.

    The result of the profiling session is saved as a model, it's very useful for performance comparison (using EMF Compare) or report creation in batch environment (using Acceleo :) ).

    Basicaly the model is the execution tree of Acceleo, each node being a step of the generation process. Those nodes give statistics like the time spent in the node and its subtree, the percentage of time it represents, and the number of times the element have been run by Acceleo. You can also find the list of EObjects for each node in the outline.


    The model can be sorted by chronogical order or by the time spent as shown on the screenshot. It can help in the understanding of the generation process and finding the hotspot(s). Once this hotspot is found you can open the template editor on this element by double clicking it.

    I am sure this will help to optimize your Acceleo templates.

    by yvan (noreply@blogger.com) at February 17, 2009 04:12 AM

    February 10, 2009

    Welcome

    This blog will be dedicated to my development works at Obeo. My aim is to provide useful information on products and features I am working on. This information can be technical tricks for developers or general purpose information.

    Coming soon, the ability of profiling the text generation process of Acceleo...

    by yvan (noreply@blogger.com) at February 10, 2009 07:57 AM

    February 04, 2009

    Acceleo nominated at Eclipse Technology Awards

    Acceleo project has been nominated for the Eclipse Award in the category "Best Open Source Eclipse-Based Developer Tool".
    I really think Acceleo can win because it proposes some nice Eclipse tooling, but also because it proves a real community of users and contributors with an open development process.

    Last year, it was EclEmma which won.

    by Etienne Juliot (noreply@blogger.com) at February 04, 2009 02:42 PM

    December 10, 2008

    Papyrus 1.6 is released with Acceleo !

    Papyrus, one of the best OpenSource UML modeleur on the Eclipse platform has been released.

    http://www.papyrusuml.org/

    Papyrus includes a new killer feature : Java code generation from UML models.

    And which generative engine does they choose ? Yeah ! Acceleo.

    Obeo has joigned Papyrus community to help them to create this Java generator.
    Of course, this generator is under EPL license.

    Acceleo 2.0RC2 has been used, with some specific integration plugins like this one (for the Run... menu) :

    by Etienne Juliot (noreply@blogger.com) at December 10, 2008 06:09 AM

    MDE / MDA / MDSD / etc.

    OMG has defined the MDA term.

    But now, what a jungle !
    Let's see some very simple definitions.

    MDE
    - Model Driven Engineering
    - definition : all the process of creating softwares with a model driven approach.
    - examples : it includes some metamodel based analysis, how to manage teams with MDA,
    which steps are required to create a real model based software factory, ...

    MDA
    - Model Driven Architecture
    - definition : the technical choice of tool and metamodel for all the creation of a new software
    - examples : transformation models engines, separation and links between PIM/CIM/and others

    MDSD
    - Model Driven Software Development (also call MDD : Model Driven Development)
    - definition : metamodel based tools and process for development step
    - examples : source code generation (like Acceleo), PSM model based editor

    DSM
    - Domain Specific Modeling (and DSL : Domain Specific Language)
    - definition : metamodel based modelers to design specific and semantical models
    - examples : GMF based modelers, Workflow modelers, Wysiwig model based modelers

    ADM
    - Architecture Driven Modernization
    - definition : modernize existing software with a metamodel approach
    - examples : reverse engineering systems, recasting engine (like Agility)

    Of course, let's do a metamodel of theses model driven definitions :

    by Etienne Juliot (noreply@blogger.com) at December 10, 2008 06:09 AM

    ATL 2

    ATL v2 will be release very soon.
    ATL is a model transformation engine based on MDA standard and Eclipse platform.
    It can used for:
    - interoperability between tools
    - translate a model from a notation to another (for example: relational to uml)
    - propose "different zooms" on a model (for example: global specification -> detailled specification -> global design -> ...)
    - create any kind of bridge (for example: BPMN -> BPEL or BPMN -> SCA)

    ATL 2 is provide some new exciting features:
    - better completion on model elements
    - virtual machin based on EMF
    - better performance
    - lots of bug fixes
    - a clean updatesite
    - integration inside Ganymede (Eclipse 3.4)
    - and a new commercial support on http://www.atl-pro.com


    See News and Noteworthy for more detail on ATL 2.

    by Etienne Juliot (noreply@blogger.com) at December 10, 2008 06:09 AM

    Acceleo 2.0 : free module for UML2 to Hibernate


    For Acceleo v2.0 and launching of Acceleo Modules Farm, Obeo will release with an OpenSource license one of its commercial modules : UML2Hibernate.

    I have create this module. It uses UML 2.1 models (class diagram with stereotype > >) and generates :

    - DAO layer
    - Entity objects
    - HBM mapping
    - SQL tables (3NF)
    - JUnit tests
    - Hibernate v3 compatible Design Patterns

    It manages lots of associations :
    - inheritance
    - 1-1
    - 1-*
    - *-*
    - recursive associations
    - unidirectionnal and bidirectionnal associations
    - ...

    It will be available before the end of may. I hope you will enjoy it, and you will contribue to improve its features.
    Here is the link where this module will be available : http://www.acceleo.org/pages/modules-repository/

    by Etienne Juliot (noreply@blogger.com) at December 10, 2008 06:09 AM

    Icon set for post-ganymede version of Eclipse SCA

    Hi,

    I just work on some new icons for Eclipse SCA project.
    I need some comments to choose which one need to be removed or changed.

    On my point of view, it will be nicer than the v1.0 version because it will better fit Eclipse UI and icons style.

    New global palette:

    SCA Bindings:

    SCA Implementations:

    SCA Interfaces:


    The new tree Editor:
    The graphical Designer isn't ready because it uses old style for embedded icons.
    For comment, you can use this bug report.

    by Etienne Juliot (noreply@blogger.com) at December 10, 2008 06:09 AM

    June 28, 2008

    Eclipse 3.4 Ganymede: News and Noteworthy by projects

    Eclipse Ganymede has just been released.

    Here are list of new features of modeling projects:



    There are other projects (like Jet, QVT-O, ...) but there haven't a News and Noteworthy page.

    by Etienne Juliot (noreply@blogger.com) at June 28, 2008 03:57 PM

    June 12, 2008

    Eclipse SCA 1.0

    After one year of work, Eclipse SCA 1.0 is ready.

    This is a new project of Eclipse STP (Soa Tool Platform) for assembly of SOA applications.
    To understand the goal of SCA standard (Service Component Architecture, available here), the easiest way is to use an example:
    you have one GUI component (for exemple, C# based) named "A" and it need to communicate with one business component "B" write EJB and Java and with another external component "C" written in PHP and only accessible with WebService. With SCA, you just need to declare each component, a reference (required interface) on A (declare with C# interface), and two services on B and C.
    The SCA server will automaticly translate protocols and API language to ensure everybody can communicate with everybody.
    In a nutshell, SCA isn't a new middleware (it rely on existing middlewares or libraries). It's like Spring, but as a specification and for any protocols and languages.


    The main feature of Eclipse SCA project is a nice designer. It's used color and shape very similar of official specification and it's based on GMF. I'm one of the commiters team of this project and the leader is Stephane Drapeau.

    It will be bundle inside Ganymede (Eclipse 3.4).
    You can test it and read this nice tutorial.

    by Etienne Juliot (noreply@blogger.com) at June 12, 2008 04:20 PM

    May 28, 2008

    Plone3 & Acceleo, the first step

    I have work some hours on a simple plone2.5 code generator with Acceleo. It is available on the acceleo svn: svn checkout svn://svn.forge.objectweb.org/svnroot/acceleo/trunk/modules/community/uml21/zope/plone/25/org.acceleo.module.pim.uml21.plone25/trunk This code generator is not finished, but the way of doing is good enought to start the plone3 one. I would like here to explain the purpose of the Acceleo Generator for [...]

    by toutpt at May 28, 2008 07:14 AM

    February 18, 2008

    MDA for alfresco, Meta-Model for ECM

    Today i attended to a conference about Alfresco and MDA by BlueXML. What i have discovered is a set of softwares done with Eclipse and Acceleo to generate an Alfresco project (configure the portal, make content types, …). I have been really interested in the fact they have done a new meta model derivated from [...]

    by toutpt at February 18, 2008 06:49 PM

    September 07, 2007

    Statechart diagram generation

    As a proof of concept, we create an Acceleo generator for UML2 Statechart diagram.
    This generator has been made as a TopCased work (to be include, I hope, as a built-in TopCased generator).

    Here is a nice flash demo: http://www.obeo.fr/download/transfert/capture1.htm

    The source code generated uses Smuc framework, but it will be easy to target any standard technology (like C, Java, ...).
    Thanks to Cedric Notot for all his work on this generator and who experiment new strategies for models validation with Acceleo.

    by Etienne Juliot (noreply@blogger.com) at September 07, 2007 11:26 AM

    May 16, 2007

    MDA vs MDSD

    I will start this blog by debating on differences between MDA (Model Driven Architecture) en MDSD (Model Driven Software Development) approaches. One could see MDSD as a deprecated version of the standard MDA. But another will see that MDSD has a wider scope than MDA. So I will try to explain what MDSD embraces and what's it is useful for.


    First, let's compare what we've got on both sides. For MDA :

    • Standardized by the OMG since 1999

    • Based on XMI, MOC, OCL, UML...

    • Aims at automating all transformations between models to code, suppressing the coding part

    • Driven by the Y cycle and CIMs, PIMs, PSMs and PDMs

    • Tries to define standard meta-models shared across industry domains

    For MDSD :

    • Based on the ideas brought by MDA

    • Not bound to its standards : can be any meta-model like DSLs, not only UML and profiles

    • Try to promote customized DSLs answering to each need, not assuming that every body will have the same needs on a given domain

    • Use models as abstraction and still leave a place for development tasks

    • Defines its own ideas of PIMs and PDMs depending on projects or needs contexts

    From the use I can see in my job,the MDA standard is more something made for the big players in the industry, whereas MDSD is a more flexible approach that can be used by a larger group of users, less attached to standards and with smaller scale needs.


    To conclude, I will just say that MDSD is a pragmatic way of using MDA concepts. With the new wave of tools such as Eclipse, EMF, GMF, Acceleo..., you can use these kind of approaches on large scale projects and I would recommend anyone to have a deep look into it as it really helps to cut down software development costs !

    And the quickest way to do that is to try it using Acceleo I think !


    by noreply@blogger.com (Stephane LACRAMPE) at May 16, 2007 09:10 AM

    May 14, 2007

    EMF on Rhapsody

    Have you ever see EMF with Rhapsody ?

    Let's see : http://www.rhapsody.com/emf

    Is that you, Ed, with the black tee shirt ?
    Very good :)

    by Etienne Juliot (noreply@blogger.com) at May 14, 2007 04:34 PM

    Last updated:
    May 17, 2012 04:15 PM
    All times are UTC.