Wednesday, February 28, 2007

Today I spent some time looking at how OCL can augment interaction diagrams. I will be going back to the OO analysis "City of Plaistow" question and augmenting the sequence diagram with OCL. I know, making the answer to the question even longer. Meaning that I could not possibly use the answer when testing. Well I have some observations about OCL. I have looked at the example of augmenting interaction diagrams. It occurred to me that I continually have to think in an unnatural way to be able to say precisely what I want in a specification. OCL is a side effect free language. It is a declarative language. You say what you want and not how to do it. The side effect free part did not settle in until I saw the interaction diagrams for the thousandth time. The postcondition declaration is a way to express that an operation happened but that the statement associated with the post condition did not do it...have a side effect. For instance I saw that addition of an object to a set is defined in a post condition as the state of the set leaving the operation minus the state of the set upon entering the operation equaling the set containing the new instance object. Right, define addition as subtraction. Why not just use addition. Well it could be confused as being an imperative language. I guess say what you mean and mean what you say don`t really mean anything in computer science. We want to confuse the world. Right? Job security and all that. PhD`s really know what they are talking about right? It is unnatural to think of addition in terms of subtraction. I will look into re-specification with addition but, subtraction is, I think what was intended and has a purpose. Maybe I just don`t see it yet.

Tuesday, February 27, 2007

I have gone back to studying OCL. From looking at the "City of Plaistow" question I saw where I needed to review. OCL dynamic and optional multiplicities, Or constraints, cycles in class diagrams and derived classes are the areas I am going back over. I have noticed that the guys in the study group are using some of those bad tools that do not stick to the letter of the UML syntax in diagrams etc. OCL is not usually a component of these tools. I was an architect for one of the largest banks in the world doing design and using UML. I rarely saw OCL in this organization. When I did see it nobody understood it. I think that the test requires sticked syntax. It feels as if these guys think that if a tool fudges the syntax so can they on the test. I thought this way also on past exams and I failed. I tried to ask they guys about this. I mentioned how if you stick to the correct syntax and make your diagrams unambiguous with OCL the time it will take you may be longer than you have to do the test. Ha Ha...I sound like a statement about cryptography. I find this funny...OCL is kind of cryptic. Anyway, They point to the notion that the question only states the word analysis and not the word design. The guys were critical of my answers because they said that I went to far into design and did not stay in the analysis phase like the question asked. This analysis / design boundary is one that really puzzles me. I will have to look into this further. It would certainly make the test easier. At first glance I think that it would be very difficult to answer the question and get precise answers covering all the use cases without a detailed class diagram representing the OCL constraints. You would either not have OCL in your use cases and be imprecise or have OCL in your use cases and need a class diagram to explain all of the associations completely. A slipper slop completeness or ambiguity. Again, I was dinged last test for not being complete. But, complete means a long answer destroying your strategy for maximizing total test points across all 4 answered questions on the test. Here I go again into a thrash. It is funny how one stop condition like the previous statement can get your brain out of so many recursive calls with stack exhaustion, a thrash ending in a human deadlock condition. Woops, I used the deadlock version that does not fulfill the classic 4 preconditions of what a deadlock is. Remember this test wants the deadlock version that uses those preconditions: Mutual exclusion, no resource preemption, hold and wait, circular waiting. My human example is not exactly correct. No one has mutual exclusive access to the answer. There just isn`t an answer. We have virtually unlimited stack space so this problem proceeds without bound until you stop it. This mechanism is broken in people who have my type of learning disability. I continue and continue and continue. I only stop when I have something else to do and that thing cannot be completed until the first thing is done because I thrash back to the problem from the second repeatedly. I return only to get caught in the same loop. Therefore the answer here is I must be complete. A test with umlimited time to complete an answer so that it is complete makes it possible to go on to a second and third question. A test that is timed is unfair for people like me. To be precise OO analysis will drift into design for completeness of the analysis.

In looking over the OCL stuff again I have found that the best way to understand a diagram is to copy it. You really don`t understand a diagram until you can explain in your head why you are making every mark on the page. I must have copied every diagram in this book so far. I have made notes and the notes are vast. I remember them by recording my own voice as I speak them when writing. The act of writing actually teaches me. I am reaching the end of the pertinent parts. I will go back and work the diagrams one more time for the example test questions to make sure that I have all of the correct components. We will worry about getting that information to the test later.

Sunday, February 25, 2007

I finished the first of the sequence diagrams for the first use case in the OO analysis question on the City of Plaistow. It was pretty straight forward I ended up adjusting my class diagram and my domain diagram a bit. I had made a mistake in the domain model. The mistake was in the ambulance class where I added some methods that really should have been in the hospital class. I also made changes to the class diagram to flesh out the victim. I added getters and setters for all of the vital information needed about the victim and fixed some consistency problems with the incident class that was to be a part of the victim. It took me the entire morning to get the sequence diagram done. These diagrams are essential in showing interaction diagrams in OO analysis. Pretty big question if you ask me. I have to figure out how to make this work on the exam in the time I have alloted. Well anyway, I intend to finish them because it is good practice in UML. I looked at what the other guys in the study group have done and they have drawn diagrams that are simpler like my answers on previous tests. I have thought about how I can approach the idea of telling them that what they have is not enough on the test but have failed in a strategy. It seems that this is a hard one to learn. I am not even sure that I know the answer to it. Will wait to see what they say today. Maybe I can get a better strategy after talking with them this morning.

In a few days it will be March. I will have to get my application in for the test. I have yet to cover all the topics. This is a bit scary for me. I have covered in depth but will have to go back for a refresher on most of them. I love the PhD and the Test.

How do I love thee? Let me count the ways. I love thee to the depth and breadth and height My soul can reach, when feeling out of sight For the ends of Being and ideal Grace. I love thee to the level of everyday`s Most quiet need, by sun and candle-light. I love thee freely, as men strive for Right; I love thee purely, as they turn from Praise. I love thee with a passion put to use In my old griefs, and with my childhood`s faith. I love thee with a love I seemed to lose With my lost saints, --- I love thee with the breath, Smiles, tears, of all my life! --- and, if God choose, I shall but love thee better after death. -- Elisabeth Barrett Browning

Saturday, February 24, 2007

So I have worked on the City of Plaistow question for the entire week getting ready for study group on Sunday. I just finished the class diagram this morning and am thinking to myself that this is a very small part of the question but takes a very large effort. Let see the test is given over a 3 hour period. I took 3 hours to draw the class diagram with tools outside of the test. Tools allow for more easy moving around of things on the screen and a less messy diagram. Readability is important on a test and in the real world drawing class diagrams. Tools should make it easier to draw a diagram not harder. I find it interesting that this is a sub part of a question with multiple parts to the answer for that sub part. The class diagram took me nearly 3 hours itself. What do I leave out on the test? I would still have 3 more questions of the same complexity to answer within the 3 hours that the test is given. In this derivation I have already taken up much of the 3 hours drawing a class diagram with tools that I would not have on the test. You get the idea. I find that this kind of question is terribly unfair because of the complexity of the answer and the amount of time to execute it. You will have to have memorized the answer and hope that the test question is close enough to the study question to use parts of it on the test. It is not like I had to look up how to do this. This is actual work doing the drawing. Maybe they expect you to run out of time. If you answered this question to the fullest you would have not answered any of the other 3 required questions. You pick 4 out of 5 questions on the exam. So if you did not have time to do the 3 other questions is this the question you should have skipped. What if this is your PhD area of expertise. Are you discriminated against for being good in that area? It makes me thrash just thinking about the strategy to pass the test. I find this so frustrating. On the last test I did a rudimentary class diagram to fulfill this part of the question. That rudimentary class diagram was not enough for my adviser when reviewing the exam with him. He saw no quality in my design. I find it hard to argue with what he said but given the time limit he should have been more lenient. I have completed this question except for a complex sequence diagram that I expect to finish in another 3 or 4 hours. You stink test designer.

I discovered something interesting this past week. My combination lock I use for swimming helped me understand something that I attribute to my learning disability. I have always been tested and shown to be able to remember large numbers and repeat them back to the tester. I always thought this was funny because I think that I can never remember large numbers. I thought that on the test I just recorded what I heard and replayed it back therefore being able to pass the test. I always thought that the test was not useful for understanding anything. The assessment showed nothing about my learning disability but always appeased the tester. Anyway, I know that there are some numbers that I remember well. When I learned my phone number in kindergarten my father taught it to me using rhythm and music. This is still one of my techniques for learning today. 523-0058...I can still hear it now. But, every time I would get a combination lock in gym or something I would never be able to remember the combination over time. At some point I would forget it the combination and be charged for getting it back from the instructor. I devised an encryption code and started putting a piece of tape with the letters of the coded combination written on it on the bottom of the lock. It never occurred to me to try and understand what was happening and why I could not remember the code. Until last week it finally dawned on me what was happening. I always wait until I forget the combination and then re-read it off of the bottom of the lock in code and then set to memorize it again using rhythm and music. Until I learn it again some days later I continually decode it from the bottom of the lock. I have finally learned what is going on. When I make the transition from rhythm and music to number in memory my memory adjusts the number to make them more memorable. Over time I either change them one at a time to all even or change them to all odd. That makes the combination be off by just a little bit. Over time the combination creeps more and more away from the actual numbers until it no longer works. At that time I have to go back and learn it again. Precision, precision, precision. I guess my brain figures that it is more important to remember a non-precise number for a long period of time or remember a precise number for a short period of time. Now I wonder what other kinds of information are automatically adjusted for longer term memory retention.

Thursday, February 22, 2007

So I completed the background information for the OO vs Structured Analysis and delivered it last night to the study group. We did a lot of talking about nothing. It wasn`t very focused after my initial presentation. I did come to the conclusion that they interpreted the City of Plaistow OO vs Structured question the same as I did. No mater what has been written by Ed Yourdon about how Structured Analysis can handle complex systems the question is geared towards answering part C as if it came from Grady Booch. The consensous is that the answer based on complexity is the correct one and choosing OO analysis is the defensible position. Subjective, subjective, subjective, tests of this caliber should not be subjective but this one is. I kind of think that it is unavoidable because of the way history is. This is really a history test. I am torn because I do so much better when things are not subjective. Computer science is may game because it is precise...except for maybe requirements by some MBA type. ha ha. At any rate I have completed the particulars for the question in relationship to Structured analysis notation. I did the flow diagram, data dictionary, and structured English needed to fulfill part A. I have started on part B, the OO part. I have completed the use cases and domain model. I am now moving on to the interaction diagrams and defining class diagrams. This will complete part B. Part C I am going to write a canned answer taken directly from Object-Oriented Analysis with Applications by Grady Booch. He talks about complexity for the whole first chapter in pertaining to OO analysis and design.

Canned answers are not always the best solution. I tend to thrash on a subject that is up for debate. I remove that risk in a test by doing canned answers. They have to be somewhat elaborate so that I don`t get accused of memorizing. This kind of accusation is like talking to a man with a full head of hair and accusing him of baldness somewhere along the continuum of plucking the hairs out one by one. At what point is your accusation true? As I add information to a canned answer when does it stop being memorization. Isn`t this a function of the time limit on the test and the knowledge you can tuck away...whoops isn`t that memorization. Slippery slop if they try to get you on the memorization thing. See what I mean. I hate that reason for failure...unfair.

Wednesday, February 21, 2007

We had our study group meeting on Sunday. It ran kind of long. During the first part of this week I felt like I didn`t accomplish much by being in the meeting this past week. We went over the 431 class notes on OCL. Yes, they are correct but it seems as if they would not help you answer the questions on the test. Granted I have not looked at all the slides but it seems as if they are too rudimentary to answer the PhD exam questions. You will have to go to the book and learn this stuff. I have taken a break from looking through the OCL material to concentrate on a fire drill to get my content ready for next weeks study group meeting. They wanted to have an intermediate meeting tonight at 7pm. I have gone through a quick look at the stuff required but it is very quick. I don`t know if they will have enough background to get into this stuff. The topic is on Structured Analysis v.s. OO Analysis. In past tests it was very difficult to get information on the topic of Structured Analysis. Every book I looked at on the reading list or not had only a few words on the subject. It was impossible to answer the question fully. I got a book from the late 70`s to answer the questions. I thought that it was very historical referring to the classical project lifecycle....otherwise known as the waterfall model. I found the information dated and it gave me a really bad taste in my mouth for the quality of the test. It was not that the test was asking about historical information but that the quality of the information to study for the test was not there. If I had ever been exposed to the topic it would have been easier. So the way I found to get around the problem of nothing on the net and no books to read was to get a used book off of Amazon. The book "Structured Analysis and System Specification" by Tom DeMarco helped. The book was published in 1978 by Yourdon press. Something prompted me to google for the "Yourdon Report". Say God told me or something. I think that I may have read it in the DeMarco book or something but it rattled around in my head for a long time before I went and looked for it. I got Yourdon`s blog page. The second entry on the page was about the Structured Design wiki he has and I found an online copy of a book "Just Enough Structure Analysis by Ed Yourdon". Funny how that happens. This is an update to Structured Analysis. He talks about the classical Structured Analysis and its problems. I am worried about the exam though. The question is written from the classical sense of the term Structured Analysis. I think I will mention the information about the "New" Structured Analysis and the "Old" structured analysis and then kind of give both views of part C of the question. Part C of the question on the study questions says, "Discuss the advantages and disadvantages of each approach, and suggest an approach that might be suitable for decomposing extremely large systems." The question implies I think that one has an advantage over the other. I think Yourdon would say that the "New" Strucutred analysis would work for very large systems. I think that Grady Booch would say the "Old" structured analysis could not compare to OO analysis because of the complexity of today`s systems. I find this study stuff so baffling. It really depends on the information that you read and how you read into the question. This is really an unfair question. It really depends on the graders expertise. If the grader has a script there may be no way to pass the question unless you guess what the intended answer is....the classical answer when taking the test in the 90`s or the today answer when taking the test in `07. It really depends on your individual history and the history of the grader. The only thing constant is change.

Sunday, February 18, 2007

Studying again early this morning. Awaiting my study group meeting. You know that I think because of the ways that I have to study to learn things that precision is something that always bothers me and makes me unsure of my answers. Take for instance my current work in studying OCL. The questions at hand needed to be answered for the test are kind of like requirements for a system. I am reviewing what it means for a UML diagram to be complete. I am studying how to make it complete OCL expressions are added to round out the diagrams completeness. It may be apparent to you but it was not to me that the answers on the test can only be as complete as the questions are complete. I read that in OCL attributes and associations are the values of the derived element must always be determined from other (BASE) values in the model i.e. diagrams. Omitting the way to derive the element value results in an incomplete model. So using OCL, the derivation can be expressed in a derivation rule. The question states clearly, "Express the following requirements formally." The question is restricted to what requirements are expressed. It goes on to say, "Define suitable predicates and functions to represent the basic element or concepts in the requirements when necessary." The "when necessary" part I missed until typing it just this moment. The skill comes in here in how you can read the question. A learning disability disadvantage that I possess. I immediately feel uneasy by this question because I intuitively see it as unspecifiable because there are not enough requirements to be complete. For instance, the last question says, "Each file is owned by and authorized user of the system." The word authorized is in italics. Does this mean that I should specify what authorized means or does it mean that authorized is understood and it is a restriction on an entity called owner. Can owner be specified or is it understood and is a relationship between a file and a user and user is the entity. Now I chose authorized to be the unspecified attribute of user. What does the script say for the graders of this test. Did I choose it the same way that they did? My uneasiness makes this question unbearably hard in my mind and makes for a testing session of punishment. So I often come up with a canned answer that I think is good enough. What I think is good enough is often not complete enough for the tester. So given more time I will give more answer. I have answers to this question but the study group has yet to respond with whether they think that they are good answers. Also my answer without a UML class diagram makes it, in my mind and maybe not in the mind of the tester, more complete ...but maybe they don`t want a diagram. If they answered the question with ZED could they be able to have a diagram? It seems as if when this question was just ZED it would have been impossible for me to tell what was pertinent to a respectable answer and what was not. At least with UML and OCL it feels more complete to me. A boolean in the diagram that represents "authorized" seems to be well specified to me. But today....I learn that Attributes or operations may be defined in the class diagram by adding them to a type, but they may also be defined in an OCL expression. In that case, the new attribute or operation need not be shown in the diagram. This brings me back to the question is not well specified. If they don`t want diagrams in the answer then you would have to specify all attributes and association role names but some are not specifiable because the question does not go into any depth as I have said above. This kind of thing just sucks the study time right out of any productivity I may have had.

Saturday, February 17, 2007

Still working on OCL. I came up with some more answers to the April 2005 exam sample question 4biii. I emailed it out to the others in our study group. I still have not gotten answers back from the others about my first submission. This second submission finishes the question. I was hoping to get some feedback before tomorrow and our study group session on formal methods. It seems that tomorrow will be another session that may not be as productive as I would like. Next week is my tern on Stuctured and OO analysis. I think that I will get to it on Tuesday. I may not be totally done but I bet I have some good stuff by next weekend.

I have another gripe about UML tools. I still think that they all suck. My current gripe is the number of connection points that you get on a class. If you have more than one association you should get more than one connection point and you don`t with most tools....Visual Paradigm, Rose, TogetherJ, Umbrello, Argo-UML, Dia to name a few. As far as I am concerned Dia is the best even though it still has this problem. Visual Paradigm is very busy, Umbrello not precise, Argo-UML slow and not precise, but Dia is just right except for the drawbacks that the others experience also.

UML tool support is severely lacking. Which brings me to the point of last post about OCL/UML/MDA. If the tools development stalls because of lack of revenue generated from sales a tools company will die. Tools are only valid if they get used. If they don`t get used then upward feature mobility is slow. Case tools etc. have been around for a long time. How is MDA going to make it if it is only used by a small number of people and no competitive advantage has been shown that generates enough interest to make this stuff mainstream. Another tree falls in the forest type reference.

Wednesday, February 14, 2007

Bad weather. Took an hour to get home from work last night. My son didn`t want to go to bed. He didn`t have enough face time with his daddy. By the time I got home there was about 7 inches blown/drifted snow onto the driveway. I drove in as far as I could. Got up this morning early to study and decided I needed to shovel. I got the shoveling done but it was past time to leave for my workout. I swim MWF. I then decided that it would be better to study than risk an injury to my back from shoveling by going to swim. Studying is more important anyway. I got more than an hour in this morning..far short from my normal study time. I did get to look at one more study exam question part on OCL. This was the last one 4biii from 2005. I am on the right track for the answer but it will take a bit longer to get this one on paper. Life just gets in the way. Why did it have to snow? If all these kind of thoughts were prayers then there would be no reason why we have a situation with global worming. :)

Sometimes I just don`t understand how a person can possibly organize the PhD study in such a way that a test could not be engineered to fail students. All the current ins and outs of OCL make it possible for me even to give impossibly unverifiable answers to the members of the study group. How could you possible be able to do this stuff by reading some other persons notes? I am coming to the conclusion that the way a study group helps is that you get a point of view. What you do with that point of view and if it helps you or not, depends on if you do the work. You still have to do all the work yourself. You just see other angles in how people organize the study and maybe better ways to obtain the information. But, unless you do the work anyone that has knowledge of some little part that you didn`t look at could create a question that you would`t be able to do.

Tuesday, February 13, 2007

I just completed looking at 2 more questions in the exam examples. The questions asks about formal specifications and asks you to define suitable predicates and functions to represent basic elements of concepts in some requirements. I made an attempt today and mailed the results to the study group. I wanted to see if they could refute my answers. It will be good to see what they say. Since I feel that there are multiple possible right answers I feel that seeing what they come up with may aid in my understanding. There may be a better way to do some of these.

My son is sick again. I hope that this flu season goes quickly. This cold spell of single digit temps does not help him get well. It was difficult to get him to go to bed last night. My wife was a big help. It seems that I go to bed as stranger and stranger times these days so that I can continue to study when others are asleep. My wife has been a big help. I am diligent at spending time with my son so that I am not completely absent from his life during this study period. I end up sleeping less when he is asleep and studying more at that time. He still sleeps for 10-12 hours a night. Although he is getting up more now to go to the bathroom. I have to be quiet at that time so he does not know I am awake otherwise he would be in here.

I was reading today also that OCL has special business modeling syntax. This syntax comes as a result that OCL is said by some to be too difficult. So an alternate syntax has been proposed that is more like SQL. I find this an interesting notion. OCL is to difficult to use some say. It seems like the usefulness of OCL is in question here. Business modelers are not able to use OCL to there advantage. Being precise has never been an attribute of business people..Ha..Ha. All this stuff is for better communications. If we cannot communicate to accomplish a task then the language is a waist of time. "If I speak in the tongues of men and of angels, but have not love, I am only a resounding gong, or a clanging cymbal. If I have the gift of prophecy and can fathom all mysteries and all knowledge , and I have a faith that can move mountains, but have not love, I am nothing." An OCL syntax that is more like SQL seems less like it would be more of a help. I have heard the same things about SQL. Why is easy always a criteria. Shouldn`t it be..."recognizable by the any man." I still have trouble with this one. If OCL could be compared to Assembly language then I could understand that this is something that moves us along to a different level of abstraction i.e MDA. But, to say that this is an end user tool for communication...this stuff will never get used. It is a gyration that is only understandable by the programmer level and the programmer level will only give a business modeler what they ask for not usually what they want. We are learning the internals of compiler writing here. If we ever achieve ubiquitous MDA this exercise will be worthwhile. But, if it turns out that OCL and MDA is to be just another CORBA it is all a waist. I once heard a speaker say if you don`t know what CORBA is you don`t need it. This is a 2 faced answer, think about it. I think OCL and MDA are the same type of idea.

Sunday, February 11, 2007

I got up today early so that I could study before study group. I was kind of annoyed this morning because I had one of those extended family days yesterday that seemed like it would never end. Study yesterday was a wash. I had a couple of hours in the morning but had to get ready, leave and drive a distance after that. So it didn`t feel like I had done much. Today I worked on OCL again. I find it hard because I find no concrete answers to questions in the study guide. It seems like I could do the answer multiple ways of which I have validation for none of them. Is this something that they expect people to just know by intuition. Anyway I am thrashing doing the question over and over in different ways waisting time trying to find the best answer. The other guys in study group today canceled so we will be pushing out stuff by a week. That means that the formal method stuff will be pushed off by a week. My turn will be pushed out by a week also. So, I guess that I will continue to do these kinds of questions over and over again until I can no longer find something wrong with an iteration. Do these guys ever expect to get anything accomplished before the test?

I read an essay today The Ecstasy of Influence. A Plagiarism . This is a reprint in Harper`s Magazine. I found it kind of interesting at first but it dragged on for pages and I ended up skimming it for sound bytes. It is a formal look at life and how we re-use material around us as our original material. It is even recognized that way sometimes. It kind of relates to the ideals of an open source model. I found it interesting in that the PhD is kind of like that except you have to reference everything. The author of this piece I mention says that it is kind of impossible not to do this. I believe him. But, in academia your whole life is an index card or virtual facsimile there of. I am reminded that the PhD is an original organization of stuff not original stuff...but, including references. You add a very small incremental difference and they call you a PhD in most cases. This complication makes for interesting banter. It is all to help others recognize your originality. But the author of this piece says that your originality will be recognized regardless if you are "good" enough...No need for references because you may not be able to produce them...it may even be impossible. I find that the PhD has a bit of incongruence to real life.

Saturday, February 10, 2007

I am still working on OCL. I have one more section to go before looking at how diagrams are augmented by OCL. That section is about taking into account inheritance. My notes are very thick. Review of this data will be imperative. It was good that I did this. I feel as if it is still a bit trivial. As the author of "UML for dummies" said, "There is not much money in OCL." He was referring to doing a book on the subject. Which brings me to my PhD research point of the day.

I read about how the PEAR program at Princeton University is closing. This was a program to study ESP. One of the points that the head there said was how can you have a peer review if you have no peers. I have heard PhD`s say that your work is worthwhile and "good" if your peers think that it is so. Even if the work by PEAR showed beyond a shadow of a doubt that ESP was real and a factor in the world but, nobody reviewed it that way would it be "good" or worthwhile. The whole tree falls in a forest thing... I think that I really want to quantify it differently. If my work helps even one person I believe that it is worthwhile. Peer review will never get you acceptance. I find this aspect of a PhD very difficult being at odds with my own values. I still believe in the other criteria of new, never before done, incrementally above the rest. These are good criteria. The criteria of peer review I find unjustifiable. There should be qualities of your work that "are" detectable and that are outside of the realm of peer. It really should be, "Is your work recognizable as beyond the rest by the common man." Questions do arise like, "Does the common man have the intelligence to understand all that would be a PhD." I think that he does. I think that is why in the end I do not feel that the PhD will set me apart from the rest of the population in intelligence or otherwise. Sounds pretty much like a Christian ideal. So "It is" between you and God and people are his hands and feet. A PhD is patent, a PhD is kind, he does not envy, he does not boast, he is not proud. A PhD is not self-seeking, he is not easily angered. He keeps no records of wrongs. A PhD does not delight in evil but rejoices in the truth. A PhD always protects, always trusts, always hopes, always preservers. A PhD never fails. But where there are false predictions, they will cease; where there are tongues, they will be stilled; where there is knowledge, it will pass away. For we know in part and we predict in part, but when perfection comes, the imperfect disappears. When I was a child, I talked like a child. I thought like a child, I reasoned like a child. When I become a PhD, I will have put childish ways behind me. Now we see but a poor reflection as in a mirror; then we shall see face to face. Now I know in part; then I shall know fully, even as I am fully known. And now these three remain, faith, hope and the PhD. The PhD is love....but you need to be able to demonstrate that you helped someone. But, the greatest of these is love.

Thursday, February 08, 2007

Sometimes I read news clips before I start studying. I read today more about Astronaut Lisa Nowak. She is accused of kidnapping and attempted murder. I was curious about her and skimmed here bio at NASA. We are of similar age and I wondered how she could throw here success away even for a love interest. I don`t want to debate her guilt. I tend to thrash about something and my study isn`t as deep as it should be when I have something like this on my mind. It is just that a PhD is an incredible amount of work. Lisa went through great odds to become an astronaut. Why would she even think of dumping all of that. The investment in here is very great also. I cannot imagine how much work I have done over the years to get to this point and dump it. If I were not able to work with the skills I have built where would I be. I feel that outsourcing etc are kind of the same threat. But, Lisa`s threat allegedly was to a love interest. I struggle with this weighted scale that I find myself thinking about. Should the PhD consume you at the expense of your family. Can you find another way so that your family is not at expense. I was building my skills to succeed on this PhD long before I was married. I have had trouble with my learning disability all my life. So the weight I have built up is it greater than the family I have built. I think when in rage your weighting system goes out the window....all things equal. If you get in a situation...choose not to choose...that is often a choice that is often overlooked. Let time be on you side. Wait..Wait..Wait... In other words, "sleep on it". You may not get a second chance. A man is accused by the sultan and sentenced to death. The man says to the sultan, "In one year I will teach your horse to sing." The sultan says, "That is impossible." The man thinks to himself: "In one year a great deal may happen, the sultan may die, he may be attacked and captured, or have a change of heart. I have a greater chance of living even if I take on these impossible odds of teaching a horse to sing." The man says to the sultan, "I will take those impossible odds and you may kill me in one year if I fail to do as I say." I have exercised this principle many times. It must be done in humility. My learning disability and the passing of tests on the second or third time are hallmarks of my success.

I have been studying OCL more. Today and yesterday I did query operations, attribute operations, and started adding invariants. I am getting the syntax down before moving on to how they work into UML diagrams. The book, "The Object Constraint Language, Second Edition" recommended by the "UML for dummies" author has been a great asset. It should be on the reading list and is not. I find it irresponsible that the tests and reading lists are not kept up to date. It does teach me to go and look elsewhere and maybe that is the point. Having to look at books that are very old like, "Structured Analysis and System Specification" and new ones like the one above show how the PhD is all about history. History is anything not in the present or future, it is even one second ago. We have to know all of it whether it is cruft or not.

Tuesday, February 06, 2007

I decided to look at the task queue question again. I have gone back and redone this question again. I organized it into pre-conditions, post-conditions, invariants and scenario description. After looking at the question again my intuition was correct about choosing to cancel new requests but I have a more concrete answer. I think that it will be easier to do something like this on the test. I was clued into this kind of question because my adviser has been working on a language that has constructs of this type. I thought I would try to make an argument based on these principals. It looks like it worked well.

Study group was on Sunday. I attended a joint session with these guys who are studying software management also. The topic was software testing. I thought it interesting that these areas overlap and the questions, terms, etc are so different. Some terms that are important in one are not important in the other. Some terms that are called one thing in one are not called the same in the other. The consistency seems not to be there. Different people that don`t talk making different questions. The age of the data and sometimes the relevance were still in question. I did get one thing. They seem to know who is on there PhD committees. The also are able to ask there adviser for help on questions. I don`t get such a luxury. It seems that the lack of help by the SE advisers is intentional. I also learned that the SM guys are expect to quote papers on their exams. I have never been given such direction. I am going to add this to my study angles so that I lend more credibility to my answers. It will add a layer of complexity to my study with my learning disability and all but it may be worth it. I don`t remember that kind of stuff well. I will have to do word association etc. I think that it is kind of unfair to ask for that kind of information. It is not like that information lives long enough anyway. It changes who is on top and important all the time. Also, the fact that my adviser has not told me information about who is on my committee and what to expect on the test and where to look for answers tends to make me think that they may be looking for references on the test also and are not telling me.

Frustration and how to deal with it is a component of the PhD. Learn to deal with it. It is manufactured stress that is handed to you in the dark by people who are supposed to be your guide. With friends like this who needs enemies. But, remember Sun Tzu said that you should keep your friends close but your enemies closer. To be successful in the research phase I believe you will have to outrun others in the department to do something original and beyond what others have done. They will become your enemy even though you work with them closely every day. Your guarded secrets need for publishing may be stolen out from under you and claimed my someone. It may even be your adviser.

Saturday, February 03, 2007

Looks like I am in with teaching for spring quarter. I did the lecture and they liked it. Curt the professor I am working through to get this job ask if I would be interested in teaching multiple sections. I really need the money and it would be good to get the experience. So I said yes. We will have to see if I get multiple sessions.

I have had trouble getting studying done this week. With my wife and son being sick I have had to take care of them. I have still found some time to study.

I have been looking at OCL and UML. It appears as if all the tools out there do not implement all parts of these specifications. For instance you cannot mark a derived attribute with a forward slash similar to how you would otherwise mark and attribute with its visibility...-private, +public, #protected, ~package. It seems to be in the OCL book and in my latest UML books but not in any drawing tool that I know. It has also been hard to draw a class association between two classes. The association would be a solid line between two classes and a dotted line from the association line to the class that represents the association. It does not appear as if you can do this in the tools that I have tried. I have looked at UML an OCL deeper than I have in the past. I expect that this is what is needed for the test.

Tomorrow is my study group meeting. It is a review for most of them. It is over software testing. Some of these guys are testers in large organizations and they think that they know a thing or two about testing. The questions I had in the past about "Equivalence Term Testing" I ask them and they had to go elsewhere to get the answers. We will see how comprehensive tomorrow will be.

Thursday, February 01, 2007

Wow, this week has gone by quickly. I thought that I would be studying every day for 8 hours. Life just happens. My wife and son have been sick all week. My son went to the hospital on Wednesday. He has had trouble with his lungs since birth. At one point his hands had turned blue. He doesn`t get enough O^2 sometimes and he gets that way. We have him on steroids with a nebulizer and liquid by mouth. This is so that his bronchus will relax and he can breath. He has thrown up several times along with my wife and her sickness. At night I don`t get much sleep due to the up and down helping him with medication. My wife also had a list of things for me to do this week. I have gotten them done but it seems as if one thing after another has gone wrong. I lost a credit card on Sunday and called every where I had been on Monday and found it. I installed a new medicine cabinet in the bathroom only to find one of the corners of the mirror was cracked after I got it up. I fixed two drains with new hardware but had to make repeated trips to home depot. Lost my lock before Wednesday swim. Found it last night in the closet after worrying during my swim someone would steal my wallet. It just seems that I was put in this place to tell me again that it is not how smart you are, or how well you prepare, the PhD has nothing to do with academics and everything to do with politics, chance, determination, and God being on your side.

I started OCL today. It is like being in the fourth grade and learning about pi again. You know the relational value of the circumference of a circle to its diameter...Not the sixteenth star in a constellation, or an electron or orbital with one unit of angular momentum about an internuclear axis. You get the picture. I have all the feelings of why am I learning this and the confusion of is this the right thing to learn among many meanings. This is exactly my point.

As I sit here in the dark I am thinking about the sample lecture I will give tomorrow to teach ISP 121. I really need the money. I will have another life changing experience in August. We have several bills that are mounting. I am heading into my 3rd year without a raise. The thought of a 10k bill this year when we are stretched so thin paycheck to paycheck really kind of scares me. I like my work but need to figure out how to pay for my PhD among all these other pressures. If I pass the test in April, how will I even pay for a single class without becoming a part-time professor. This has to happen tomorrow. Boy I can feel my mind thrashing. How will I get any more studying done tonight?

I have been asked out to Qualcomm`s lab with our new rev. `A` phones. My research into fast voice-over-IP push-to-talk is heating up. I wonder if I will have to travel during teaching, testing, etc. Should I quit just so that I can study and PhD? This kind of research is something I always wanted to do. It is exactly what I would be doing the PhD for. PhD or not I am already doing the work of a PhD. I am teaching and doing research. Why do I put myself through this? I will continue. Let`s hope the money does not become an issue.