Genesis sprint updateΒΆ

Good news and bad news since my previous post . The bad news is that compiling Coral is as easy as opening a Leopard II main battle tank with a can opener. I've delved into autoconf and automake, which helps, but not enough yet. Sasha tried getting it to work on the mac, too. Sune struggled on windows. Linux works, so Jens was OK and Phil dragged out an older linux laptop somewhere. We're partly working on Jens' laptop through an ssh tunnel :-)

The good news is that Coral is great. It's all model-based. Almost literally all.

  • The file formats it reads are defined by models. So the various UML formats. But you could think about other file formats. BPEL was mentioned, for instance. New poseidon versions are relatively easy to support!
  • The output is defined in a model! This generation plan can be edited in the Coral editor, for instance. Not sure how handy the interface is as I didn't use it myself yet. You can define foldergenerators and filegenerators and give them a query that tells which objects they should match. "Use this for every package", "Use this for every class with a stereotype testcase".
  • The queries also have a model for their format.

Conclusion: extensible, adaptable. A relatively small core. Flexible. A clear structure. It gives is most of what we want.

The worst part of the code is the output generation, the coral guys even don't like it. Horrible template language and so. But that's exactly the part that's pretty good in the current archgenxml. The DTML templates are pretty OK. So we're ripping out the old part and plugging our new approach in.

Oh, and for those who don't work on Genesis and who from time to time want to change the name of our project; I have a recipe for them (evil grin):

  Take one proposer of Yet Another Genesis Name.
  Flay the hide of his skin.
  Boil him in good hot OilNG2-1.3.
  Add salt and pepper.
  Stir gently.
  Serve with Austrian beer.

And for good measure, here's Phil's reply:

  Take it as a papal edict, that the beast will be called Genesis
  which reflects the generation of code.

  I for my part want to concentrate on developing it and drinking good beer
  so I wont discuss the name any more, feel free to continue discussing, but
  it wont change anything....

So there's that!

 
vanrees.org logo

Reinout van Rees

My name is Reinout van Rees and I program in Python, I live in the Netherlands, I cycle recumbent bikes and I have a model railway.

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):