Golden roof “genesis” sprint

Tags: plone

We started yesterday (saturday) with the golden roof sprint to get the code generator Genesis off the ground. (Genesis is the successor to archgenxml ). The work was started in September at the castle sprint, with some work by me afterwards.

The number one thing we did yesterday was to look at existing UML programs. Is there something we can reuse that would read UML files for us? It has to be

  • maintained
  • active
  • python-based or at least with a python interface
  • installable on linux/windows/mac
  • oh, and it should read a number of UML formats.

We looked at a number of candidates, and at the end we had gaphor and coral left.

Coral has the extra hassle of being partly c++ and of having one of the worst makefiles that I've seen. It reads a number of UML formats (including poseidon's *.zuml), so that's good. The big bonus is that you can also change the model and write it out again. There's also some model merging capability, so when two people change the model at the same time, there's now a chance of resolving it instead of forcing one of them to re-do their work.

Reinout, Sasha and Jens

Gaphor is pure python, which is good. The input format at the moment is their own xml format, so it is no real help in reading poseidon's files for instance. The core model is pure UML, so that's good.

In the end we were most impressed py coral. Reading multiple kinds of files, writing it back again, model merging. It seems to cover our needs for reading UML files and also for the "internal model" part. So it was a day well spend!

This morning we had a city tour, btw. Check out Sasha's photos , from which I also nicked the image.

 
vanrees.org logo

About me

My name is Reinout van Rees and I work a lot with Python (programming language) and Django (website framework). I live in The Netherlands and I'm happily married to Annie van Rees-Kooiman.

Weblog feeds

Most of my website content is in my weblog. You can keep up to date by subscribing to the automatic feeds (for instance with Google reader):