Wednesday, May 28, 2008

Blog Reorientation and new ATC example model

As you may know, this used to be the Executable UML Patterns blog. I've renamed it to establish a wider focus. I think it will be easier to manage posts if I just put everything into the one blog and that's my plan.

Don't worry, I still plan to get my patterns library on line, one at a time and hope to have something for you soon.

To kick things off though, I am putting together an Air Traffic Controller model example that has some nice features. The focus is on the class diagram, but the model consists of states, action language and even code - the whole shebang.

The main purpose of this model is for a new course I am developing. I plan to use this model at the very beginning of the course to show the power of executable models, precise declarative (static, non-procedural) constraints, action language and platform independent requirements. This is in contrast to the usual style of non-executable or elaborative UML modeling that is commonly used these days for Java projects.

The class diagram in the ATC example points out how logic rules normally packed into if-then logic laden action language or code can be expressed unambiguously in static class diagram structure. So the model nails down constraints at a delcarative level that prevent a lot of bugs from occurring in the harder to test and manage procedural level. You also get less action language and less code coming out the back end which is also nice.

If you follow my micro-blog - the Twitter posts, you can see my progress. Right now I am running the model through BridgePoint (an Executable UML tool built by Mentor Graphics) to make sure it executes fully. Once I am satisfied, I will post the complete model.

This may take a few days, though as there are new features in the tool that I need to learn (playing around with the logging capability this morning). So this is more than just a modeling project, it is a bit of a tool version re-acquaintance project as well. But stay tuned!