spacer spacer spacer

Latest posts.

CG2012 Summary, day 2

CG2012 Summary (part II)

After reviewing LWC2012 and CG2012 day 1, let’s continue with day 2.

Day 2, Thursday 29th

The morning started with the first keynote. Markus Völter led the session with the title “Domain-Specific Language Design – A conceptual framework for building good DSLs”.  Here Markus deep down with an ontology approach, reviewing the dimensions of DSL Design: covering nine topics: expressivity, coverage, semantics, separation of concerns, completeness, paradigms, modularity, concrete syntax & process. In the session, he focused mainly on expressivity, semantics, modularity and concrete syntax. I found specially interesting the dissection of types of language extension and composition providing detailed samples in each case. In summary, good and quality stuff as Markus used to deliver. As commented by Markus, this material will be published as a book “DSL Engineering” at the early 2013.

After the coffee break, I entered the Peter Friese’s tutorial on “Traditional and Model-Driven Approaches for Cross-Platform Mobile Development”. Peter demonstrated a very good knowledge of the mobility space presenting nor one or two alternatives but six (6) ways of developing cross-platform mobile applications considering pros and cons. Great talk covering native development (showing iPhone, Android and WP7), HTML5 and JavaScript frameworks like Sencha or jQueryMobile reviewing cross tools like phoneGap. It was a pity that the Wifi connectivity were failing and interrupted in some moments the flow of the demo, but Peter was able to overcome it and show what’s going on.

User Interfaces are always interesting to me so: Achim Demelt session’s was a must see session or me. “Mission: Impossible — Purely declarative User Interface Modeling”.

Mission: Impossible — Purely declarative User Interface Modeling

View more presentations from ademelt

The session was very good. The slides are not enough, the accompanying demo shown the tool at work. Achim and his team created Silverlight based UIs using a Java back-end. The S4 environment presented is agile enough to model and generate UIs for the ERP domain Achim was targeting.

Next session for me was for the Jetbrains’s guys Maxim Mazin and Evgenii Schepotiev with the talk “Webr-DNQ — web application development with pleasure”.  They show the language extensions Jetbrains has designed over Java using MPS  to build in-house products like YouTrack. This is a very clear sample of the quote: eat your own dog food.

After a coffee, and back to action to a very different session: Steven Kelly lead the hands-on session titled “Have your language built while you wait”. Here some of us creating Language Workbenches where placed in a room with our laptops waiting for customers. During rounds of 25 minutes we were attending them showing the capabilities of each tool and solving a concrete and practical small problem proposed by the customer. 15 master craftsmen, representing 11 top language workbench tools, volunteered their time to build languages for participants’ domains. It was a very interesting format because it not only allows people to try new tools, but also to promote cross polinization between tool makers. From mi side I was there showing Essential and also have the chance to play a little with The Whole Platform with Riccardo Solmi and Enrico Persiani and take a closer look to Ensō with Alex Loh.

Steve prepared a good summary on this session (take a look for the details on each tools). I borrow here the video here spacer .

 

So far, so good! Another day full of code generation, but the dessert was still missing.

This year CG2012 changed the relaxing punting trip on the river Cam in favor of a conference called “How Apollo we flew to the moon” by David Woods. The result: totally amazing! This guy presented us all a brief but detailed introduction to the Apollo systems and navigation procedures and then deep down on the specific problems on the Apollo XI, the mission where Aldrin, Armstrong and Collins engraved theirs names in the history.

Given the audience, David make special emphasis on the computer devices on board in the Apollo missions. Totally amazing the rudimentary technology used was good enough to fly to the moon and come back! Q&A delivered may geek questions about the Apollo mission that David responded with flying colors to impress even more the audience.

So I couldn’t resist, and bought my copy of his book and got it autographed by David (I was not the only one BTW). A good reading for sure, if you like space and/or engineering.

spacer

  • Share this:
  • Share
  • Facebook
  • Reddit
  • StumbleUpon
  • Digg
  • Email
  • Print
  • Posted by Pedro J. Molina at 9:47 am on April 19th, 2012. One comment... »
    Categories: Code Generation, DSL, Essential, Language Workbench. Tags: Code Generation, DSL, MDD, mde, mdsd.

    CG2012 Summary, Day 1

    spacer

    A personal CG2012 summary (part I)

    Better later than never, here it is, finally, my summary on CG2012. In this serie of three post I will summarize my days at CG2012 in
    Cambridge held on 28-30 of March. The full programme can be reviewed here www.codegeneration.net/cg2012/program.php.

    Disclaimer: as usual CG2012 runs three sessions in parallel, so you are always losing ⅔ of the good stuff. In any way, this year we were able to alleviate this: attending with two more Icinetic colleagues (Rubén Jimenez  and Jonathan Cáceres) help in dividing the sessions and giving a full event coverage.

    Day 1, Wednesday 28th

    Ruben and I led one of the opening sessions for CG2012. In our talk Ruben presented in a practical way how the .NET platform has matured during these years and provided opportunities and enough base tools to use MDSD. Not been on the top of Eclipse/EMF is not an excuse anymore. In the demo time, Ruben shown also Radarc, our product at Icinetic to build and generate applications for different architectures. Slides of the session follows:

    Modelling and code generation in .NET at Icinetic

    View more presentations from Icinetic

    After the coffee break, I moved into the session “User Interaction Modeling: current status of the standardization process, from the requirements to the language” given by Marco Brambilla and Emanuele Molteni (from WebModels). Marco and Emanuele are pushing an standardization effort called IFML inside OMG to propose a UI standard based in their UI modeling experience. In the mid-term UML tools vendors could finally start adding support for UI Modeling and this is a good thing, per se. Other standardization efforts are on-going such us UIML in OASIS and Jean Vanderdonckt’s UsiXML in the W3C.

    Experiences and requirements for a User Interaction Modeling Language

    View more PowerPoint from Marco Brambilla

    Time for lunch, and back to action. Enrico Persiani and Riccardo Solmi presented “Integrating model driven technologies in
    the publishing industry”. This was a very refreshing session, presenting a novel domain for MDSD: interactive books. Riccardo and Enrico presented the base XML used before for composing the books and how this approach become a maintenance nightmare also for each book. Using The Whole Platform they provided a projectional editor integrating images and colorization preview in a kind of WYSIWYG approach making the edition a more pleasant experience.

    After that, I move on Markus Völter & Bernhard Merkle’s session on “mbeddr C: an MPS and model based, extensible version of the C programming language”.  Using MPS Markus and Bernard has extended the base C language to include safety and productivity features like unit tests support, type safe units, state machines, etc. Impressive bottom-up work inserting new features in a well-known language. mbeddr C have for sure real applications in the embedded software industry.

    To end the day, Eric Jan Malotaux presented a very original case study. Under the title “Transforming a 15 year old model-driven application from C++ to Java” he presented the costs and migration efforts performed to migrate a legacy application modeled over a DB and generating C++ to a most modern EMF models and Java source code as output. Eric pointed out that many of the problems came from the different architecture (implicit) assumptions done in the source model. Not until understand it, they were able to solve the problems. Eric concluded that although it was not cheap and easy, it probably would be more expensive and painfuller if the source was only source code and not a model based with a unique semantic over it. Eric gave a great talk and was very prudent about giving only numbers he could backup with data.

    Transforming a 15 year old model-driven application from C++ to Java

    View more presentations from Eric Malotaux

    This case, presented by Eric made me think twice about how MDD provides advantages years after it was build. At the end is always a problem of dealing with complexity: a model has lower complexity (more constraint) that pure source code.

    We ended the evening in a more relaxed way in the nearby Castle Inn sharing good moments.

    • Share this:
    • Share
  • Facebook
  • Reddit
  • StumbleUpon
  • Digg
  • Email
  • Print
  • Posted by Pedro J. Molina at 10:52 am on April 17th, 2012. No comments... »
    Categories: Code Generation, MDD, Uncategorized. Tags: cg2012, MDD, mde, mdsd.

    Summary: Language Workbenches Challenge 2012

    spacer

    Two weeks ago, I honored the yearly tradition of traveling to Cambridge and join with my colleagues at the Code Generation Conference.

    As commented before in this blog, this conference is something unique. It is not an academic oriented event: it has no papers and publications in the traditional way of an academic meeting. On the other hand, it shows live tools and samples of real technology in use in the industry and the latest research tools in the academia in the field of Software Modeling, Domain Specific Languages and Code Generation. If you want to meet and talk with the toolmakers this is definitely the place to come.

    The event was intensively reported via twitter under the hashtags #cg2012 and #lwc2012.

    In this first post I will review the LWC and write about CG2012 in the next one.

    LWC2012

    On Tuesday 27th, the 2nd edition of the Language Workbenches Challenge  took place. 32 of us meet there to see how 10 tools solved the Piping and Instrumentation problem. This year I was only an observer, no time from my side to prepare a solution, I hope to submit next year again.

    Rui Curado presented his solution with AtomWeaver. He has added a graphical notation on the top of AtomWeaver in the late year. Great work.

    Juha-Pekka Tolvanen shown a solution based in MetaEdit+. Based on the maturity of MetaEdit, the graphical nature of the problem and the experience of Juha-Pekka he excels his solution showing a use case of the system and later on going meta and showing us how it was done.

    An UML solution was represented by Paul Zenden. Using Enterprise Architect as the base tool and complemented with Xtend/Xpand he was able to metamodel all the elements needed to describe the problem. He took advantage of the capabilities of the EA tool to add custom graphic symbols to the new symbols defined.

    Tijs van der Storm presented a textual approach based on Rascal. Graphics were generated using an additional graphical library.

    Alex Loh from Texas introduced us Ensō. Ensō is a new LW built on top of Ruby. Although a bit slow in its first version, it opens the doors a new way of LW taking advantage of the dynamic and interpretation capabilities of the Ruby language.

    The Web is ubiquitous, and this issue is also reaching modeling concerns. Meinte Boersma in cooperation with Martin Thiede presented Más (Modeling As Service, más = means more in Spanish). Martin created and presented Concrete as a projectional editor based in Ruby and HTML5 in CG2011. Now Meinte has extended it to create a full web modeling environment targeting enterprise modeling.

    Finally Marko Boger presented an implementation of the graphical language build using Spray. Spray is a project to provide textual DSLs to create graphical DSL on the top of Eclipse Graphitti.

    Spray was conceived in the Castle Inn (our local CG reference pub) one year ago after a CG2011 session after people have the shared complaint about how painful and slow was to maintain GMF editors or to build them from scratch using Graphitti. Now one year later, Spray is a reality. Good job, very well done!

    This edition was very diverse with respect a tools, approaches and solutions taken. Great workshop!

    We ended the day with the traditional family photo. Special thanks to Angelo Hulshout for organizing it and Paul Zenden for proposing the challenge and the reference implementation (thanks Angelo for remember me it as it was).
    See you next year!

    spacer

     

    • Share this:
    • Share
  • Facebook
  • Reddit
  • StumbleUpon
  • Digg
  • Email
  • Print
  • Posted by Pedro J. Molina at 11:15 am on April 9th, 2012. 4 comments... »
    Categories: DSL, Language Workbench, MDD. Tags: cg2012, language workbench, lwc2012.

    Radarc 3.0 Released!

    spacer

    The arrival to my new job in Sevilla has coincided with the preparations and launch of a new product. We at Icinetic, are releasing Radarc 3.0. Radarc is a very easy to use code generator highly integrated with Visual Studio and targeting .NET technologies.

    Radarc has the ability produce multiple architectures using the same base models and keeping in-sync generated artifacts when model element changes. Architectures and DSLs for defining the models are packaged in so called “Formulas”.

    Currently, the following formulas are available for download and it is free for non-commercial usage:

    Radarc creates a complete prototyping application in seconds following the cycle: change the model, touch no line of code, build and run. Prototyping an application is a question of minutes, and obtain a first scaffolding of your application. Moreover, custom code can be inserted in specially designed locations that will be preserved in every regeneration lap.

    Radarc 3.0 is available with three licensing models and its free for non-commercial usage.

    Other technologies are available on demand, such as:

    Some cases of usage:
    • If you work in a .NET development shop, feel free to give it a try and give us some feedback.
    • On the other hand, if you want to start learning one of the previous technologies or architectures, you can use also Radarc to generate a reference sample application and start exploring the code.
    • If you are a experienced software architect and needs to evaluate SW architectures to benchmark them before choosing a winner arch for your project, think about the cheap possibility of generate the same application in two technologies and test how well performs for your specfic problem.
    These days, I am learning a lot about the state of art here at Icinetic and I hope to start contributing to the bits very, very soon.
    Bonus extra: a 20 minutes demo video (in Spanish) generating three architectures is available.
    Next week we will be attending Code Generation 2012. If you are interested, join us and see a live demo or download it and give it a try!
    • Share this:
    • Share
  • Facebook
  • Reddit
  • StumbleUpon
  • Digg
  • Email
  • Print
  • Posted by Pedro J. Molina at 8:45 pm on March 21st, 2012. No comments... »
    Categories: .NET, Architecture, Code Generation, MDD. Tags: .NET, Code Generation, MDD, mde, mdsd, Radarc.

    Code Generation 2012

    spacer

    Times fly! Code Generation 2012 is only two weeks ahead.

    During the latest’s weeks we have been very busy combining day to day work with the preparation of material for the conf

    gipoco.com is neither affiliated with the authors of this page nor responsible for its contents. This is a safe-cache copy of the original web site.