Saturday, March 10, 2007

Well Lucent lab went badly yesterday. We could not get the cell to work. Then for the brief moment we did have RF I botched the PPP password for the handset. After that we could not get service. It was a complete waisted day. I did not get a chance to call the PLuS program. I will have to call from Seattle next week. The BS about negotiating with the administration for special accommodations for the test is always painful. I guess if you want to succeed you have to do it. I think that I could succeed without such accommodations if the tests were better written. None of the information on the test is difficult to learn. There are no complex algorithms. There is a great deal of notation. I always hear in my head how if Archimedes had Gausses notation he would have been able to solve more problems. Archimedes was a greater mathematician than Gauss. Gauss just had better tools...notation to solve problems. I guess it is good that I learn this notation. I continue to work on the CAD system in UML and architecture question. I have got the notation down. Next week I am planning to work on this question more. I don`t know if I will have Internet access from my hotel. Most probably I will. The lab hours are from 9-5 which will force me to not work 15 hour days like I do when I go to Kyocera. I am taking my shoes so that I can run on a treadmill in the hotel. It is an uneasy uncertainty that I can squelch out if I just plan to run on a treadmill. A pool is almost always not an option. Hotel pools are not meant for swimming they are meant for wading. I will take 2 laptops next week so that I can study.

I got the splash page of my web space up and the way I want it today. This is a terrible time sink. I think that I won`t be going very much farther with it. This may let the administration know about what I am doing but it has too big an impact on my study time. Once they know me they will see why a web page is a worthless piece of communication that I am only doing for them. I hope that they see that it does not aid in any academic sense. I don`t do publications. A simple list on a website would do anyway. I have turned it in to a way for people to have visibility into the program and not visibility into any research. My work research is not something that can be shared. They need to realize that. This web page will fulfill a requirement and give them a sense of how hard this thing is and not for the reasons they think. They want this thing to be hard but the hardness comes from stuff that has nothing to do with academics. I am not talking about my learning problems. I am talking about other factors. Factors that should have nothing to do with a PhD but that impact this degree and the way people execute it. Things that all players have to deal with when doing a "DePaul" PhD and not necessarily a PhD itself. Now granted I have never done a PhD somewhere else. But, If these problems exist in other programs then the programs are wrong and should be fixed. Politics and hardness by obscurity are two such factors I can think of. These should never be part of a PhD. They are not part of research. I know, I do research. They are part of business but not part of research. I do deal with them but just not as part of the technology.

Friday, March 09, 2007

It was a little upsetting to learn this week that I will not be dealing with the director for the PLuS program at DePaul leading up to my test. I learned this fact from the director of graduate advisement and not from the PLuS program itself. The director of advisement informed me that the PLuS program director would be gone for a while and that I should get in touch with this new woman. I really had no introduction to her. For me I have learned to tolerate these kinds of changes but for others with my learning disability it would be devastating. I see change as reason to do some thrash thinking about something. It is a kind of problem that needs attention and I cannot take care of anything else until this is accomplished. What I mean by tolerate this kind of thing is I live with a feeling of uncertainty all the time. It is similar to paranoia except the problems are closing in on you and not the people. It was compounded by a last minute business trip to Seattle, Wa. I was ask to go into the Cingular/At&t labs and work on a new technology. It is really new. It was implied that there is no one else doing this. I will be the first. I have a hardware guy going with me. I leave on Monday and return on Friday. The problem is that I setup to talk with the PLuS program surrogate next week. It turns out from my own digging that she is the assistant director of the PLuS program. So a week of disrupted study, with a week of uncertainty about my accommodations for the test, mixed with a week of new excitement in my job. Gosh could you give me any more to thrash about. Concentration is difficult. It is more difficult with so many things to task switch over. Thrash, thrash, thrash,...Thrash, Thrash. Here we go. I have to give some of it over to God to worry about. One more thing doesn`t daylight savings time mean that my 5am on Monday will actually be 4am when the cab picks me up. I will have to take time out from Lucent lab today and call the PLuS program. Almost an impossible feat. Next I will take some of my books and 2 laptops next week to Cingular. One laptop for development and one laptop for study at the hotel. I have most of what I need on my personal laptop. I won`t be able to take very many of my books with me....bummer. We`ll just have to deal with the uncertainty associated with a week away from home. My wife is getting better at taking care of things here with my son and the house. We are expecting a baby in August and she does have a lot to do with appointments and such in addition to our busyness with my son. I wonder if I have left any of my concerns out. To stop and be able to write them down helps. Right now my brain is like a rapidly skipping DVD. I hear and see little bits of possible life scenarios over the next week. Good little daydreams and bad ones accompany points I know that I will have to deal with. Phone calls, cab rides, doctor appointments I will miss, packing, studying...It all comes out in little 1 second clips with sound as I rush over them trying to plan, solve, prepare what ever the case may be. I get really tired. It is amazing I have learned to sleep with so much happening. My blog may be interrupted next week. This may be my last post for several days.

Thursday, March 08, 2007

Today I finally got up my web space. The site was a ding on my last test. They said that they knew nothing about me because I had no web space. I have prepared a space to put up that is interlinked with this blog. I am still remaining anonymous. I put a an explanation on the space. It was pretty difficult to find a free space but fateback.com seems to be a good place. So visit my space at thestudent.fateback.com. I plan on putting up some of the materials that I have talked about in previous blogs. I will put up UML diagrams etc on that blog. I have decided not to put up the questions on the sample tests because they are not offered by DePaul. I will try and provide context for my answers so that others who have access to the questions can be clued into the correct context. Be patient while I put things up. Currently my focus is the test and not the web space. I am sure that I will be dinged because I am yet unpublished but the time it takes for me to prepare for tests makes that point mute. Being published in this phase of the PhD really means that you had time on your hands to do it. I don`t. Maybe someone else that is brilliant could do more in less time than I. I am kind of like Kepler and the laws of planetary motion. I am slow and methodical and maybe not as smart as others. But, you should expect great things because of my hard work.

I continue work on the design patterns question that has the hidden architecture questions wound into it. I started the class diagrams for the design patters. I think that it will be easiest if you choose Iterator, Aggregator, and Strategy as the design patters. These can be found in about every design. If you can draw them you can apply them to about any question. I will be working these into a single class diagram as the question asks. I have it started. I expect it will take some time. I will add OCL to the diagram to make it complete. Lets see how long this takes. On the test you only have 3 hours....to short for a real diagram. Can it up.

Tuesday, March 06, 2007

I have been working on this question for about 3 days now. The question is the first one on the April 2005 exam. Part C goes like this: "One of the system requirements for the autocad system specifies that “The system must be able to render a typical model within 3 seconds.” “Typical” is defined according to the number of el- ements in an average sized model. As a designer of this system explain how could you evaluate the ability of your design to meet this response time requirement prior to its implementation?" It is a question that is really about architecture. Funny how that word is never used. These words are all so confusing. I need a better way to clue me into the information they want to know on the test. I know this information but to attach it to this question is very hard. Even when I have read this same question on multiple tests I still don`t get clued into the correct information each time. The data is committed to memory. In fact I use this kind of information every day. When I worked as an architect in the past this was just part of the way I did my work. So the problem here is the inability for the tester to clue me in to the right information to spit out on the test. I am working on getting a better clue.

At any rate the answer for this question comes from "Software Architecture in Practice Second Edition" by Len Bass Paul, Paul Clements, and Rick Kazman. They even talk about the problems in nomenclature on page 23. How architecture and design are kind of linked but in ways that are only understood by a software engineer in the community. They say that you should be able to talk about this stuff but I have the same problem with their definitions. I have this kind of information in my head but articulating it in a way that sound coherent to others is difficult.

Part C of this question starts in chapter 5 on page 265. Read the entire chapter. This chapter is about how the architect achieves software qualities in a design. The "tactics" for achieving software qualities is what we are interested. The example given in the book is: A business goal might be to create a product line. A means of achieving that goal is allow for variability in the particular classes of function. Prior to deciding on a set of patterns to achieve the desired variation, the architect should consider what combination of tactics for modifiability should be applied, as the tactics chosen will guide the architectural decisions. An architectural pattern or strategy implements a collection of tactics.

These answers to this question require performance tactics. The goal of performance tactics art to generate a response to an event arriving at the system within some time constraint. In this question it is request/response of a typical drawing in 3 seconds. The latency is the time between the arrival of an even and the generation of the response. We must minimize the latency to under 3 seconds for a typical drawing. Some tactics would be: Resource consumption must be managed efficiently, the blocking of requests must be minimized, Resource management - introduce concurrency.

After coming up with an architecture and scenarios of use the architecture must be evaluated. Generally there are 2 types of architecture analysis questioning techniques, like the ATAM and CBAM described in the book and measuring techniques which rely on quantitative measures of some sort.

In Part III the section before chapter 11 page 265 the commentary on how to do architecture analysis is presented. While the answers that measuring techniques give are in some sense more concrete than the questioning techniques, they have the drawback that they can be applied only in the presence of a working artifact. That is measuring techniques have to have something that exists that can be measured. Questioning techniques, on the other hand, work just fine on hypothetical architectures, and can be applied much earlier in the life cycle. Both use scenarios as the vehicle for asking probing questions about how the architecture under review responds to various situations. Other questioning techniques include checklists or questionnaires. These are effective when an evaluation unit encounters the same kind of system again and again, and the same kind of probing is appropriate each time. All questioning techniques essentially rely on thought experiments to find out how well the architecture is suited to the task. A successful evaluation will have these properties: 1) Clearly articulated goals and requirements for the architecture, Controlled Scope, Cost Effectiveness, Key People availability, Competent evaluation team, managed expectations.

I think that this is the kind of answer wanted. The reason I think so is that I was clued in when going over my last test with my adviser. He said of my mathematical analysis: "So you would use a `Measuring Technique`." I think that he would have used different words if this was not the answer he was looking for. The fact is that I know this kind of stuff. My work requires it. I would not have articulated it this way. This is a "How to answer the question answer" not a "What to answer with answer" This is an unfair question in the way that it is worded.

I had a boss once that said, "I don`t want to hear about problems I just want to hear solutions to problems." I don`t have a good answer to how to make this question better. The answer is time based also. In a few years there may be ways of doing this that are better. What then? This stuff is from an SEI book. Do I really think that because it is formal it is better? Do I really think that CMM level 5 organizations develop better software than the open source community? Rant, rant,...rant...rant....rant. I have an answer for the test. I can recall it. I just need to work out when to recall it.

Monday, March 05, 2007

Had my study group meeting yesterday. We ended up going over OCL again and it took kind of longer than I expected. We reviewed the questions again. One of the other guys was sick. They believe that they are pretty much done and are ready to start a review. I think there are still things left to go over. Anyway I turned my attention to the architecture and design questions. I am still not comfortable about the formal specifications question on the April 2005 test but I expect to go back and review it again this week. But, in moving forward to new material and looking at the architecture questions I am troubled by the lack of indifference in the way the questions are worded in comparison of the works architecture and design. I have never seen them as the same. The questions seem to ask the questions in that manner. The question asks: "As a designer of this system explain how could you evaluate the ability of our design to meet the response time requirements prior to its implementation?" I think that you have to venture into architecture to answer this one but it seems as if that is not the words the test writer chose to use in the question. They chose the words design. The book on the reading list has quite a section on this. The authors talk about how architecture is not design but some parts are? I will elaborate later as I go through this section. Looks like they are looking for justification. I think that this is another question that I am going to have trouble with and have to "can" an answer.

Tried to get into getting some free web space to post my answers to the test exam questions. I have yet to get this setup.

Saturday, March 03, 2007

Today I spent 3 or 4 hours trying to get my scanner to work so that I could send in my candidacy exam application. It is actually due on March 16th but I thought that I should just get it out of the way. I have done this process in the past where I fill out the form and email it to my adviser. This time was no different. It just took longer to get an image of my signed form. I finally had my wife take a picture of it with her digital camera so that I could mail the image. I copied the director of the plus program and the director of academic advisement. The last time my adviser in inadvertently lost my application the director of graduate advisement had to remind him where it was. This time I put him on the copy-to list.

My latest rant about the test is that it seems as if they may be migrating away from zed, which is good. The problem is that OCL is on the sample test but there is no reference in the reading list or in any book on the reading list to OCL. I looked again to day to see if the reading list had been updated. It has not been updated since 2002. The formal methods section is all out of wack. I see that OCL could be associated to more than one question but how would you even learn it if you only had the books from the reading list. I looked at the lecture notes for one of the classes that touches on OCL. With the information given in the notes for that class you would not be able to complete any of the questions that require OCL to answer. It is even worse if you were to try and answer them with ZED. So, read the book: "The Object Constraint Language Second Edition". If you don`t you cannot possible answer these questions. Also, if you only do UML and OCL and not UML2 and OCL2 your answers could be wrong.

I am going to revisit the questions on patterns. These questions I will apply the reviewed information on OCL2. I think that it is important to draw accurate diagrams with proper syntax. Without good diagrams I will not be showing what I know. Damed the time limit. I think that the plus program plans on lobbying for an unlimited timed test for me and my learning disability. So maybe the point about a time limit is not so significant.

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.