(guest post by Thomas Legrand explaining the new features of GenMyModel and, more importantly, why he believes they represent the right evolution for a (UML) modeling platform in the cloud)
GenMyModel has come a long way since we last shared with you here on Jordi’s blog. GenMyModel is now coming out of beta and is becoming a modeling platform in the cloud. We’ve been focusing on the extension of the diagramming scope, introduced real-time collaboration, and bringing more interoperability to build a powerful modeling and MDE platform.
UML modeling in the cloud
Feedback from beta users has allowed us to continuously steer the roadmap and focus on usability and user experience. GenMyModel currently supports class, use case, activity, sequence, and object diagrams. The GUI takes advantage of HTML5 to make designing UML models as fast as drawing. Behind the scenes, there’s a clear distinction between the structured model and its diagrams. GenMyModel handles the synchronization of both in the browser, bringing the ability to generate pieces of code (Java, SQL, Sprint, etc). The design models can also be exported as images, PDF files, and standard XMI files compatible with Eclipse EMF.
More agility with real-time collaboration
GenMyModel brings Google Drive-style collaboration. Working together on the same design model has become important for agile teams. The rate of projects created and then shared in GenMyModel has passed from 5% to 10% in eight months. Developers and software architects are smoothly adapting their methodology to take advantage of collaborative work.
Collaboration still remains a high priority for our R&D team. One team member is currently studying user requirements for collaboration as part of his PhD dissertation. The focus is on awareness which provides information about others and their activities. His recent paper, Software Support Requirements for Awareness in Collaborative Modeling, has been accepted for CoopIS’14.
GenMyModel is now a modeling platform with three objectives: interoperability, volume, and a new web-based MDE approach.
Most cloud-based tools offer more possibilities than their core app by providing the basics of interoperability. Great initiatives like EMF made a leap towards more cooperation and code sharing. REST APIs are the next stage for the exposure of powerful resources. GenMyModel bets on more interoperability between modeling tools and released a hypermedia API for handling the models stored in the cloud. A Eclipse-based plugin exploiting the API is also under development.
Why don’t we have for software design what we have for coding? Worldwide centralized repositories allowing anyone to browse and reuse any part of models that are open source and public projects. Something to similar to what Github achieved for code. Model databases accessible through simple APIs and interfaces could lower the barrier to modeling, ease the sharing of modeling assets, and finally, improve the way we design software.
We put a lot of energy into starting one of these repositories, and there are now thousands of public UML models available at repository.genmymodel.com. We hope more and more people will make their projects open source and provide resources around modeling.
Simple web-based MDE
The debate on why MDA has failed to become a universal approach for software engineering has been explored hundreds of times. We think it has a lot to do with the tools we put in users’ hands, and we would like a new kind of web-based MDE editor addressing developers’ common needs and not only dedicated to some experts.
From our point of view, it’s more about how MDE can help people with their day-to-day work with the generation of small artifacts from simple models rather than a dogmatic process aiming at producing the whole system from its design specifications. Every day, many users ask for small changes in the code generators, because they would code it another way. Making the code generators (M2M + M2T) easier to handle will widen their adoption. We all enjoy getting pieces of code from simple diagrams in seconds .
Given that, we’ve made a step towards this in GenMyModel. We provide the ability to import your own custom generator based on Acceleo and use it with just a click in the browser. Basic templates for C#, C++ and PHP have been offered to be extended by anyone who wants to customize the artifacts generated from the UML diagrams.
The next steps? Learn from online IDEs and make editing the templates even simpler.
Successful beta ending
We launched GenMyModel to make software modeling better, and we are proud of how far we’ve come. We knew GenMyModel would come out of beta, but we didn’t think it would come so quickly. Going forward, we will be commercializing developer plans from September 27, 2014 for those who need professional private projects.
More than 150,000 designed projects and the continuous feedback contributed to the move to a professional modeling application.
ICREA Research Professor at Internet Interdisciplinary Institute (UOC). Leader of the SOM Research Lab focusing on the broad area of systems and software engineering