Thursday, March 01, 2007

Bad weather again. I heard thunder, hail, hard rain, wind and there is still snow and ice on the ground outside. Weird weather. I got up really early this morning and started studying. I went through section building models with OCL this morning. I am starting to realize that if you use OCL2 and UML2 there are diagrams that you just cannot build with most tools. I have been using dia drawing tool and can make a good deal of headway because it works very similar to MSVisio. So my diagrams are accurate but I don`t actually gain anything from the tool except very pretty pictures. The tool doesn`t help very much with the semantics of UML, especially if you are using some deep constructs. An example would be generalization of an association. Just like an association where the association is a class the generalization or sub classing of an association is not in most tools. It is stated in the UML Modeling Language Reference Manual that this kind of usage should be avoided because it is not well specified in the UML2 specification. But, the fact is that real world drawings have a high probability of having such an association. You could use OCL to represent the associations and leave the out of the diagram but this is stylistic in nature. Having said that you probably would not be able to add the OCL constraints to your diagram anyway. At least you would not have syntax help from any tool out there. At least tools that are readily available to people doing real work. MDA-MDD is far away these days. So I wonder. I wrote UML diagrams at several jobs in the past and used UML in real world situations. Can I expect to see questions on the test that deliberately push you toward a solution that cannot be diagrammed by most tools. I would say that people today depend on tools. These tools have way less than perfect syntax. If the syntax is so bad and you use it as a crutch to communicate ideas I think your designs can only be as good as that crutch. This means that UML and OCL are not hitting the mark in real world settings. Well, it could also mean that UML and OCL are overkill and we are getting by with far less. Am I a victim of my own environment here. Is it different in other parts of the world. I cannot believe with outsourcing etc that my country is keeping pace with the rest of the world. Maybe I have limited knowledge of how things are used. I would expect having worked in environments that are global entities I would have experienced the best that CS has to offer. At least I would have come in contact with the very best people. I did talk with vendors from all over the world and had contractor`s working for me or my group from all over the world. The test seems to be focused on UML2 and OCL2. I have noticed that a number of questions can be helped by doing diagrams in your answer. I have also noticed that a few questions are deliberately designed to avoid parts of OCL2 pertaining to diagramming and go for answers that are OCL expressions without diagrams. It states in the books I am learning from that the choice of going with expressions or augmented diagrams with OCL is strictly a style issue. It seems that the test designer expects you to be able to do all styles. Hmmmm, I get it depth and breadth. You will have to read lots of books to get enough information to cover the depth parts. Only one paragraph in the whole book talked about this. How would anyone know except through experience that this is how things are done? I think it is funny that we can be tested over material for being an expert but some material you can only gain proficiency through experience. That is my complaint with zed being on the test. Zed is dead. You will not find anyone in this country doing Zed except in academia. Also, you could learn OCL from a book but you would not have proficiency in it because of the nature of the penetration of OCL2 and UML2 into tools and the companies in this country. Isn`t there something in the requirements about equivalent work experience, maybe not. I am frustrated of the state things. I have learned OCL2 and UML2. I will be able to do the test. After all I have been doing UML and OCL for 7+ years just not the UML and OCL that these guys want me to know.