For the last four years I have been working with Rational’s MDA tool for the realtime world, Rose RealTime, now called IBM Rational Rose Technical Developer.
It has been an overall positive experience, but I have a lot of horror stories to tell. In these four years a lot of tools have been developed to compensate for various tool deficiencies. More small tools have been developed to automate project related tasks.
One of the earliest project decisions was to keep as much of our data as possible in the model or accessible through the model (a decision that has proven correct if cumbersome). This means that if you have access to the model you can reconstruct the whole system, documentation, code, configuration specifications, the works.
The Summit Basic derivative that RoseRT uses as a scripting language has all the drawbacks of VBA, but the OLE Automation API (called RRTEI) is pretty thorough in it’s coverage of RoseRT’s features. We have written scripts in RoseRT Summit BasicScript, DOS-Batch, Perl and C#, but the whole script collection does not work well together.
Enter win32ole for Ruby. It has allowed us to start/stop RoseRT and access the complete RRTEI without human intervention from a language that makes writing continuous integration scripts a joy. I can now leverage Rake and have a completely automated build, test and deployment cycle. This fits together nicely with Clearcase hooks written in Ruby (the same hooks, or with small alterations can be used with subversion and perforce) that provide reporting (RSS is a very nice option here). But I digress.
The Ruby-win32ole-RRTEI combination has proved so useful that it evolved in a library we now call rrt_ruby. Since it has proven so useful, I might as well release it for public consumption. Nevermind that the RoseRealTime public would not be confused with a crowd. There might be someone out there who would use this stuff and maybe even consider providing constructive criticism.
So, rrt-ruby is now available under a Ruby License from RubyForge and I am very very happy having my very own open source project!