Creating a model template in Rational’s modelling tools

March 26th, 2008

When starting a new model I seldom want to start from a blank canvas; instead I’d like to use a template to get us going. Within RSA/RSM there are already some templates provided, and whilst useful, they are (necessarily) very generic.

A simple way to enable this is to create a model from an existing model from the New UML Model wizard page.

New UML Model from an existing model (page 1) New UML Model from an existing model (page 2)

Whilst this approach is workable for an ad-hoc approach to copying models, it’s far from ideal, especially in an environment where you would like your modelling team(s) to be using a consistent set of templates. A better approach would be to hook into the “Create model from standard template” mechanism. Whilst this isn’t particularly difficult to do, it doesn’t appear to be that well documented, with the only reference I found being a support page relating to RSA v6 (which is using an export wizard that doesn’t appear to be available in v7).

The way it’s done is by creating an Eclipse plug-in with an extension of the “com.ibm.xtools.modeler.ui.wizards.template” extension point. Under this extension you specify a directory which contains the model to be used as a template, an image to be used in the wizard page and a template definition file that pulls the whole thing together and provides some descriptive text.

Since I think that it’s likely that it’s likely there are people out wanting to do this who are not Eclipse plug-in developers, and in fact may not even be a developer (in the case of business analysts, for example). I’ve decided to write an article that goes through it in a lot more detail. Trust me, it’s simple, and you won’t need to write a single line of code. ;-)

Article: Create an RSA model template

XSD Export from EMF

February 14th, 2008

When using an EMF implementation, I quite like persisting a model using XML rather than XMI. I also like to know what format the XML will be. If I generated the initial ecore from a schema then it’s clear that I’ll know, but what if I’ve changed the model since the initial generation, or what if I didn’t use an XSD as the source. Wouldn’t it be nice to be able to export the current XSD?

Of course, I was being blind; EMF already has this. Right click the genmodel, and select “Export Model…”, you’ll be presented with this dialog :
EMF XSD Export Dialog

Nice :-)

Do you want to RAP?

October 15th, 2007

Some may argue that the development and release of the Eclipse Rich AJAX Platform is a pointless waste of energy; why on earth should we need to learn yet another way of building AJAX apps - don’t we have enough already?

The point here is that, if you already know how to write Eclipse applications there’s very little you need to learn :

The RAP project enables developers to build rich, Ajax-enabled Web applications by using the Eclipse development model, plug-ins with the well known Eclipse workbench extention points and a widget toolkit with SWT API (plus JFace).

So, if you already know SWT and JFace, if you understand how to write Eclipse plugins and how to package them together to create an application, then you’ve got a very small amount to learn to be able to package your application as a rich web app.

To get an idea of what it can do, have a look at the web versions of (reasonably) well known RCP mail demo and the example SWT (or rather RWT) controls demo.

Pretty neat, eh?

Eclipse 3.3 memory problem on Linux

October 9th, 2007

I hit an out of memory problem today on an Eclipse 3.3 installation on Ubuntu. Thanks to this article by Alex, the problem has gone away.

Coincidentally, the rain has stopped and the sun has just started to shine too. :-)

Green Software?

October 9th, 2007

I have to admit that I cringe at every new person I see using climate change to justify some change or decision. Sure there are some things that may have a real and direct impact on the environment, but it’s a very complex and emotive issue. The thing is, you just know deep down that many ideas and announcements are just people and corporations jumping on the ‘climate change’ bandwagon.

So, here we have it - green software.

I just can’t help myself… I’m off to bang my head against a brick wall.

Riena

October 2nd, 2007

I spotted the announcement of Riena on Wayne’s blog.

The Riena platform will be the foundation for building multi-tier enterprise client/server applications. As such Riena will broaden the usage of the service oriented architecture of OSGi/Equinox by providing access to local and remote services in a transparent way. Using this uniform programming model the components of Riena and the business components of the enterprise application can be developed regardless of their target location. Components are later easily placed on client or server depending on the business requirements.

It will be very interesting to see what’s produced by this project that adds real value on top of RCP, Equinox/OSGi and a mediocre programmer’s brain. ;-)

I’m hopeful that it’s something that will make this really quite easy to achieve; unfortunately the realities of this rarely turnout to be quite so simple. Even ‘obvious’ optimisations, such as allowing ‘pass by reference’ semantics across the component boundary in the name of ‘performance’ tend to erode away at benefits such uniform programming models. Only time will tell… It’s pleasing to see a team having a go though.

[The riena project’s homepage can be found here. They also have a newsgroup at news://news.eclipse.org/eclipse.technology.riena.]

Reply to a spam message and you become a spammer

October 2nd, 2007

Today I received an utterly abusive email from someone I don’t know. I’m not going to put the content here because it’s just too abusive.

The person is easily traceable; it’s from their own domain, it’s clear who it’s hosted by, and the mail headers are consistent with that information. Essentially, it seems that they have received a spam email where it would appear to be “from” me. I’m not going to report them though because it’s clear that this person hasn’t got the faintest idea how easy it is for spammers to fake the “from” email address in a message.

My rant really is to vent my feeling that, if you reply to a spam email where the “from” email address has been harvested off the internet and is being used fraudulently, you have become the lowest of the low - you are now a spammer yourself.

Just take a deep breath and delete any spam email without replying to it (and preferably without even bothering to read it).

Extending RSA 7’s UI to support profiles

September 28th, 2007

Hopefully these days, most developers are aware of UML profiles and the value that they can add to a development team. As with other UML 2.x compliant modelling tools, IBM’s RSA tooling has direct support for the creation and deployment of profiles (including into an RSM install).

Although I’ve produced profiles before, I’d always lived with having to create a generic UML element and then apply the stereotype afterwards. If your profile is something that relates to domain in which you’re working, it’s likely that you will want to create these elements reasonably frequently. In this case, this long hand approach can become a little tiresome.

So, given that RSA is based on Eclipse, the platform that promotes extensibility, I wondered whether there would be a way to extend RSA’s modelling user interface. Not holding out much hope I had a quick look in the help - only to find that indeed it does.
Read the rest of this entry »

Poor Eclipse Update?

August 1st, 2007

Martin Fowler’s recently blogged about a poor experience with eclipse update; specifically about poor dependency management. Now, Eclipse certainly is capable of handling and resolving dependencies, it’s just a shame that Martin used OpenArchitectureWare as his first experience of the tool.

It’s not that I’m against oAW per-se, not at all; it’s just that even with my experience of using and developing for Eclipse (about 6 years), I had problems myself.

So come on chaps; get it sorted - you’re giving the tool a bad name!

Dynamic Eclipse plug-in extension

July 31st, 2007

Wayne Beaton’s just written up a blog entry about Making Eclipse Plug-ins using JRuby or Groovy. I certainly agree with his opening statement :

Warning! if you have no experience building plug-ins, this post will probably mean very little to you.

… but if you do have an awareness it’s a good read.

It’s set me thinking about how I could use it but so far have failed to find a single example that would have helped me out. That said, it definitely falls into my cool category and is something I may well be looking to shoe-horn into a solution in the future.