Interview on perspectives on MDD and UML

I had the honor of being interviewed by Todd Humphries, Software Engineer at Objektum Solutions, on my views on UML and model-driven development. Here is an excerpt of the interview:

Todd Humphries: Did you have a ‘Eureka!’ moment when modelling made sense for the first time and just became obvious or was there one particular time you can think of where your opinion changed?

Rafael Chaves: When I was first exposed to UML back in school it did feel cool to be able to think about systems at a higher level of abstraction, and be able to communicate your ideas before getting down to the code (we often would just model systems but never actually build them). The value of UML modeling for the purpose of communication was evident, but that was about it. I remember feeling a bit like I was cheating, as drawing diagrams gave me no confidence the plans I was making actually made a lot of sense.

After that, still early in my career, I had the opportunity of working in a team where we were using an in-house code generation tool (first, as many have done, using XML and XSLT, and later, using UML XMI and Velocity templates, also common choices). We would get reams of Java code, EJB configuration files and SQL DDL generated from the designer models, and it did feel a very productive strategy for writing all that code. But the interesting bits (business logic) were still left to be written in Java (using the generation gap pattern). It was much better than writing all that EJB boilerplate code by hand, but it was still cumbersome and there was no true gain in the level of abstraction, as we would model thinking of the code that would be generated – no surprise, as there was no escaping the facts that we would rely on the Java compiler and JUnit tests to figure out whether the model had problems, and in order to write the actual business logic in Java, we had to be very familiar with the code that was generated. So even though I could see the practical utility of modeling by witnessing the productivity gains we obtained, there was a hackish undertone to it, and while it worked, it didn’t feel like solid engineering.

It was only later, when…

Visit The Technical Diaries, Objektum team’s blog, for the full interview. Do you agree with my views? Have your say (here or there).

Email this to someoneShare on FacebookShare on LinkedInShare on Google+Tweet about this on Twitter

2 thoughts on “Interview on perspectives on MDD and UML

  1. Eric Peterson

    March 8, 2012 at 7:57pm

    I was sort of convinced when I started discovering requirement problems while attempting to model for an embedded project using the Shlaer-Mellor methodology. We were able to draw UML like class diagrams and associate bits of pseudo code with the state actions. I really became convinced when we bought I-OOA later iUML with a real modeling language(ASL) that allowed relationship navigation. That brought a whole new level of understanding for me. When we created a code generator for the action language using iUML that incorporated all the architectural details in the generated code without writing it by hand we started saving on all sorts of rework costs. Not to mention that the architecture code was about half the total code base and we didn’t have to write it!

  2. rafael.chaves

    March 9, 2012 at 12:30am

    That is an awesome testament to the benefits of executable modeling, Eric! My goal with AlphaSimple is to extend those same benefits to the mainstream.

Comments are closed.