[ Skip Navigation] [CSUSB] / [CNS] / [Comp Sci & Eng] / [RJBotting]. Search
[My image] [Text Version]
blog006 Wed Jun 16 15:13:28 PDT 2010
Opening the PDF files on this page may require you to download Adobe Reader or an equivalent viewer (GhostScript).

Opening Microsoft files (winzip, word, excel, powerpoint) on this page may require you to download a special viewer. Or you can download and save the files and use your preferred office applications to view and edit them.


    Archive of RJBottings Web Log 2006

      See [ blog.html ] for the latest exciting episode.

      2006-12-20 Wed Dec 20 10:12 Rapid Development via Modeling?

      Here is an odd thing from Dr. Dobbs -- just a straw in the wind of a possible trend:


      1. Jeff Cahoon
      2. Faster Development Through Modeling
      3. Dr. Dobb's Journal (Oct 05, 2006) Link: [ 193104822 ]
      5. "Jeff describes a modeling technique that uses free tools and Model-Driven Architecture processes to speed up development."
      6. Method
        1. Create a model of the application.
        2. Write a miniapplication that implements the first instance of the repeated set of steps.
        3. Pull apart the miniapplication into template files replacing the named parts in the repeated set of steps with recognizable strings for substitution.
        4. Write code that can rebuild the miniapplication from the templates and the model.
        5. Generate all the code for the whole application.

      7. (dick)|-model=horrible diagram.

      2006-12-20 Wed Dec 20 09:12 And he shall purify

      Decided last night to write some simple C programs to recognise characters with codes greater than DEL(number 127). Thinking about the performance of the Messiah I attended a week ago.... the name "purify: came to mind. So this morning I hacked up the following programs and script.
      NamePurpose and linkFormatUsage
      impure.cA filter that terminates successfully if it's input has at least one character that is impure (after DEL) [ tools/impure.c ] ANSI C using stdio. Compile with -o impure. if impure <file; then echo Purify; fi
      purify.cA filter that surriounds impure characters with "<<" and ">>" [ tools/purify.c ] ANSI C using stdio, compile with -o purify In vi/vim: !Gpurify g/<<.>>/s///g
      purea shell script that test all its arguments and outputs those that are impure. [ tools/pure.sh.txt ] Shell script. Download as "pure" and put in your PATH. pure *.txt

      (Close Table)

      2006-12-19 Tue Dec 19 12:12 Microsoft and Open Source

      This from my backlog of readings


      1. Dana Voth
      2. CodePlex: Microsoft's latest entry into code sharing
      3. IEEE Software Magazine V23n5(Sep/Oct 2006)pp96-98

        [ http://www.codeplex.com ]

      2006-12-19 Tue Dec 19 11:12 Fixed one problem: name2dictionary

      This turns out to be a bug I documented in October. The newer version of Linux sort have a misfeature: "sort -fd" hangs up if the characters being sorted (and folded) are not in the normal ASCII range 0-127.

      When I get time I'll see if it is a bug in the 'toupper' function of the 'ctype.h' library -- most would ignore case by code

      or something similar.

      2006-12-19 Tue Dec 19 08:12 Debugging scripts: name2dictionary, sed, and researching open source

      My agenda for the day: find out why a script works in most directories but not in [ cs320/ ] the "Programming languages" directory. This script generates the "data base" (a simple HTML file) for my search engines. It uses the insight that definitions and headlines are worth indexing more than the words in the body of a document. The task is to fix and document the problem.

      I also want to try and fix 'sed' on this new old Dell so I can generate new pages on it without using another machine on the same network to do the work. My offline jounal mentions this problem in May 2003 but this was in the early days of this blog and so I did not know that it would be worth recording the problem and how I fixed it. If I have time, go to the Source and get that fixed.

      Also to fix the material for cs320 next quarter: The schedule can be improved and the initial handout is now more than 8 pages....

      AND -- just discovered that a compiled C program (br -- break lines) aborts on this new Linux.

    1. 08:12 The program needed recompiling.... probably a new library broke the "exit(0);" at the end of the code.
      • OLD: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), stripped
      • NEW: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), for GNU/Linux 2.6.9, stripped
      Then tested the new version on an old Linux... Seems OK... But discovered that using jbh3-1 remotely fouls up the Backspace key so that I have to type CTRL/H...

      I don't like upgrades!

      Note: the 0ld 'sed' that works on jbh3-1 fails if copied and run on this jb341 machine:

      • OLD: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.2.5, dynamically linked (uses shared libs), for GNU/Linux 2.2.5, stripped
      • NEW: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), for GNU/Linux 2.6.9, stripped
      I'm suspicious of a problem with the GNU/Linux 2.6.9 library:-(

      2006-12-18 Mon Dec 18 09:12 Geek time considered harmful

      I do not like spending time fixing and maintaining computers. For example spending 3 hours last night backing up and optimizing the backups for our old iMac at home. Part of this was discovering a bug in Apple's copying process when copying "shortcuts" to nonexistent files. From now on, until we get replacement SOHO machine I'll have to clean out AppleWorks "Recent Files" window to remove these pointless files -- It knows that they are no longer their but still stores the shortcut file/alias.

      Meanwhile I've been given a new old Dell for my office. I've been hoping for a mirror of the student lab machines for it seems like years... I call it the "new old Dell" because it is one of the discarded old Dell towers plus a nice new flat screen and keyboard. Now I have to wrestle with the subtle "upgrades" in the Linux softwaware. For example

       		sort .... +2
      has to be written
       		sort .... -k2

      And "lynx" is now "elinks"...

      The big problem is the change in sed from 4.1.2 to 4.1.4. For no apparent reason some quite simple commands like

       		s/^\.  *\([: ]*\)\(.*\)$/<li><a href="'$htmlbase'#\2">\1\2<\/A>/p
      do not work when the input file is long. It is very tempting to spend the whole day in narrowing down the symptom. But I've solved this one before! I've been searching these blogs to see what I did last time I had this problem. And then searched my offline journals for a clue. But nothing so far.

      Perhaps I just copied an old version of sed from another system to my office machine...? Perhaps I should just go back to using the old machine when I need a reliable sed. Then I could do something useful like syllabusses.

      Memo: it is worth documenting the bug fixes etc... Trivialities can turn out to be very useful.

      Meanwhile the wind is up again and it is cold... But the new machine has an excellent set of speakers and so I can play music to cover up the noise of the wind and the CPU warms the room nicely.

      2006-12-12 Tue Dec 12 13:12 Literate Programmers

      A recent issue of the IEEE Software magazine has three things that refer directly or implicitly to "Literate Programming". First there was a review of
      1. "The best software writing" by Joel Spolsky ed Apress 2005

      which says that Joel Spolsky is not hiring programmers that can't write well. Then in the back of the issue:


      1. Andrew Raybould
      2. Explanation-oriented design
      3. IEEE Software Magazine V23n5(Sep/Oct 2006)pp104+103
      5. Ref to Donald Knuth's 1992 Literate Programming from Stanford U.
      6. Use graphics to illustrate written explanations.
      7. Compare with literate modeling [ArlowNeustadt04].

      Using writing to explain pictures fits very nicely with the use of the web to document designs:


      1. Tetsuro Motoyama
      2. Improving software development through three stages
      3. IEEE Software Magazine V23n5(Sep/Oct 2006)pp-
      5. Put artifacts on web sites HTML + GIFs so that information is 3.sec/3.clicks away.
      6. Read books.
      7. Develop standards. And revise standards.
      8. Separate designing from coding so that designs that are more than sketches.
      9. Early writing of tests.
      10. Public schedules and plans.
      11. Manage risks.
      12. First discuss an artifact then inspect for errors to stop problem solving.
      13. Automation: Translate designs into template code.
      14. All code available to all (online) is good.
      15. Project postmortems help improvement.
      16. Improvement happens only if you are willingn to identify errors and problems.

      2006-12-08 Fri Dec 8 12:12 Stuff Happens...

      Morning spent testing CSci Email. The new spam filters were bouncing my messages from a mac.com account. And also paying property taxes. And finally posting grades. But from the backlog of reading, here is a paper on aan extension to the Linda tuple space that handles mobile communicating systems. What makes it special is the detailed formal specification of the scheme using the classic UNITY model:


      1. Amy L Murphy & Gian Pietro Picco & Gruia-Catalin Roman
      2. LIME: a coordination model and middleware supporting mobility of hosts and agents
      3. ACM TOSEM Trans Software Eng & Methodology V15n3(Jul 2006)pp279-328
      5. Source [ http://lime.sourceforge.net ]
      6. See [MurphyRomanVarghese02] for more

      2006-12-07 Thu Dec 7 14:12 Grading and Reading -- two new software engineering texts

      Grading finals often reduces me to wonder why I could have taught some things as badly as I have apparently done.... or alternately why I made a class so easy. It is a no win situation. So I'm a bit down, and then the mail box fell off the wall... I do not trust those plastic things you put in plaster/stucco. Once upon a time we hade hard fibrous plurs that got a good grip. Nowdays we have plastic and so slippery plugs...

      Anyway, I found two new books in the library yesterday and noted down their details. One shows how to write programs that work correctly vs a given specification and the other is a classic software negineering text:


      1. John Cooke
      2. Constructing Correct software(2nd edn)
      3. Springer 2005 QA76.76 ISBN 1-85233-820-2
      5. Compare with Bo Sandin's stuff in the 1980's and Huth & Ryan (textbook).


      1. Lawrence Bernstein & C M Yuhas
      2. Trustworthy Systems Through Quantitative Software Engineering
      3. IEEE press & Wiley 2005 QA76.758 ISBN-13 978-0-471-69691-9

      2006-12-06 Wed Dec 6 10:12 Grading and Reading -- Maintenance tools

      About the only good thing about final exams is that they give the teacher a long quite period of time for catching up with reading an writing. Here are a set of papers all presnting tools that might help with maintaining software:


        1. Lionel C Briand & Yvan Labiche & Johanne Leduc
        2. Toward the Reverse Engineering of UML Sequence Diagrams for distributed Java Software
        3. IEEE Trans Software Engineering V32n9(Sep 2006)pp642-663
        5. Uses aspects to instrument distributed software and so log the calls between objects.
        6. Recognises conditions and so one sideof alt constructions (only).


        1. Steven P Reiss
        2. Incremental Maintenance of Software Artifacts
        3. IEEE Trans Software Engineering V32n9(Sep 2006)pp682-697
        5. ARtifacts are constrained so changing one means changing another -- change code to do something better then document the improved quality in the requirements and design artifacts.
        6. Constraint language and manager.
        7. But does it scale to larger projects.


        1. David Binkley & Mariano Ceccato & Mark Harman & Filippo Ricca & Paolo Tonella
        2. Tools-Supported refactoring of existing Object-Oriented code into aspects
        3. IEEE Trans Software Engineering V32n9(Sep 2006)pp698-717
        5. Has a useful list of refactorings which mayor may not be complete.
        6. The extract repeated code into an aspect: DRY.


        1. Thorsten Schafer & Michael Eichberg & Michael Haupt & Mira Mezini
        2. The Sextant Software Exploration Tool
        3. IEEE Trans Software Engineering V32n9(Sep 2006)pp763-768
        5. States four requirements: integrated comprehension, Cross-artifactsupport, Explicit representation, Extensibility.
        6. Tried some experiments comparing with CREOLE and JQuery.


        1. Giuliano Antoniol & Yann-Gael Gueheneuc
        2. Feature Identification: an epidemiological metaphor
        3. IEEE Trans Software Engineering V32n9(Sep 2006)pp625-641
        5. A way to find out, by executing software the parts used to implement a feature.

      2006-12-05 Tue Dec 5 15:12 Working on grant proposal and schedules for winter 2007

      See my [ plan.html ] for the rest of this quarter plus Winter 2007.

      Here is an odd thought: define the vigilance of a class as its ability to detect abuse and internal errors:


      1. Yves Le Traon & Benoit Baudry & Jean-marc Jezequel
      2. Design by contract to improve software vigilance
      3. IEEE Trans Software Engineering V32n8(Aug 2006)pp571-586
      5. Vigilance::=Probability( error is detected by a module).

      2006-12-04 Mon Dec 4 15:12 Bare Knuckle Burrowing in the Garden

      Spent 8 hours Sat, Sun, Monday fxing a leak in the front sprinkler system... including rextracting an amazing 4.ft root from inside the piping. Memo: Wear gloves next time. Memo: Roots are wood so carpentary tools and skills are helpful. Memo: most sprinkler work ends in the dark.... like most domestic work ends up drawing blood.

      Meanwhile here is an incredible mixture of credible facts and formulas about commercial software products


      1. Gio Wiederhold
      2. What is your software worth?
      3. Commun ACM V49n9(Sep 2006)pp65-75
      5. value_of_IP = sum[t:Time] (income(t)).
      6. income[t]=sales[t]*price[t].
      7. New version destroys value of old one.
      8. (Pareto): at optimum, each investment dollar generates the same benefit.
      9. In non-profits use productivity and cost-avoidance in place of income.
      10. Well maintained software has a long life, grows, and gains value!
      11. Maintenance costs usually >= initial cost.
      12. (IEEE)|-Maintenance = corrective | adaptive | perfective.
      13. corrective maintenance decreases during software's life.
      14. perfective maintenance increases during software's life.
      15. (phil bernstein)|-new version has < 30% new code.
      16. (david roux)|-growth of each version =size of first verson.
      17. (gio)|-without incentives, 5% of code is replaced per year.
      18. (gio)|-for given functionality, price is constant independent of quality.
      19. (above)|-value of IP in initial software version diminishes.

        Erlang distribution

      20. Sales = Const * λ^k * t^(k-1)*exp(-λ * t) /(k-1)!. [ Erlang_distribution ] fits sales vs time.
      21. But reality checks must be applied: sales vs size of market.
      22. Spreadsheets of discounted cash flows.
      23. maintenance costs overtakes sales limitting life.
      24. maintenance should be done by experienced programmers not newbies.
      25. Compare [Turski02] number modules proportional to cube root of time.

      2006-11-30 Thu Nov 30 12:11 Do I need more cafeine

      While in the UK I read about the following silly book...


      1. Garth Sundem
      2. Geek Logik: 50 Foolproof Equations for Everyday Life
      3. Workman, $12.95 128 pages ISBN 0761140212 [ geek_logik.html ]
      5. Here is one equation "How many cups of coffee do you need this morning in order to be functional":
      6. Cups:= (C*(K+1)/(N+1))*(Bt/Bu)*(Su/St), where
      7. C:=in shots of expresso, the amount of cafeine you consume in an average morning,
      8. St:=the hours of sleep you got last night - the number of times you woke up in a cold sweat thinking about the things you need to do today,
      9. Su:=The number of hours of sleep you need to remain civil with telemarketers,
      10. K:=how many kids do you have, Kids in nappies count as two, over 18 are half.
      11. Bt:1..15=How busy are you today, 1 is Sunday morning, 15 giving birth to triplets,
      12. Bu:=How many hours per day in non-recreational activities
      13. N:=Hours of nap time you can squeeze this afternoon
      14. Note that changing C to any other units of cafeine -- for example, cups of BSI tea gives a formula for other beverages.

      Now for something serious:


      1. Peter G Neumann
      2. The Foresight Saqa
      3. Commun ACM V49n9(Sep 2006)p112
      5. Half a dozen recent situations where even having a back up system was not enough...

      2006-11-27 Mon Nov 27 13:11 hard data on software development

      Here is one article summarizing many IT projects that I read while flying back accross the Atlantic:


      1. Phillip G Armour
      2. Software: hard data
      3. Commun ACM V49n9(Sep 2006)pp15-17
      4. =EXPERIENCES statistics Information technology projects
      5. Software enacts knowledge about many domains with no commonality.
      6. Quotes data from "QSM".
      7. Small teams succeed more than large ones.
      8. Typical projects have fewer than 7 people, last < 8 months, use COBOL, 9KLOC.
      9. More projects overlap phases these days.
      10. Best projects are good accros the board: effort, estimate, duration,...
      11. Big LOC projects are more productive but why?

      This summarizes just one facet of a single (improving) software process


      1. Daniela Damian & James Chesan
      2. An empirical study of the complex relationships between requirements engineering processes and other processes that lead to payoffs in productivity, quality, and risk management
      3. IEEE Trans Software Engineering V32n7(Jul 2006)pp433-453
      5. Evidence that collaborative and iterative analysis and negotiation of requirements into testable scenarios improves estimates and quality.
      6. Evidence that change management reduces requirments creep.
      7. Important contributions from forming cross-functional teams, group-analysis, traceability, and decomposition.

      So: we need to develop requirments in parallel with code, using a small team with good communications....

      2006-11-27 Mon Nov 27 06:11 Back in the USA

      Arrived back at LAX on Saturday nght. Good flight on Air New Zealand. But exhausted anyway. More later today, when I get into my office.

      2006-11-20 Mon Nov 20 09:11 Busy preparing to leave for England

      Pleasant weekend -- excellent concert at University of Redlands. Good, if different, James Bond at the movies.... and planning and packing to fly today to England to celebrate my mother's 90th birthday.

      I plan to fill time on the aircraft by catching up with my reading of papers:


      1. Kai A Olsen
      2. Computer intelligence and formalization
      3. IEEE Computer Magazine V39n8(Sep 2006)pp116+114-115
      4. =ESSAY AI RISKS Context REALITY
      5. Current intelligent features do the wrong thing because they don't have enough data on the context.
      6. Automation requires data on the situation.
      7. Need formal models of the context.

      I'll be back in the USA on Saturday and able to reply to EMail on Monday 27th of November.

      Have a good thanksgiving...

      2006-11-16 Thu Nov 16 19:11 Getting better all the time

      So yesterday they replaced the temporary crown from Monday with another tighter fitting temporary crown... and in the process taumatized the gum in that general area. Leads me to regret the 10 years of neglect of my teeth as a teenager. Planning for a trip to the UK, a grant proposal, the next but one lecture in two classes, and the CSCI Open House tomorrow.....

      But a couple of readings from the past:


      1. GENI Planning Group
      2. GENI Design Principles
      3. IEEE Computer Magazine V39n8(Sep 2006)pp-
      5. GENI::="Global Environment foir Network Innovations", [ http://www.geni.net ]
      6. Do not confuse with Sun's Geni network!


      1. George Chin Jr & Eric C Stephen & Debbie K Gracio & Olga A Kuchar & Paul D Whitney & Karen L Schuchardt
      2. Developing concept-based user interfaces for scientific computing
      3. IEEE Computer Magazine V39n8(Sep 2006)pp26-34
      5. Interesting and useful: visual front end to a data base.
      6. In the 1980's FileVision on the Mac let you associate graphics with data input as forms into a data base....
      7. Now add useful tools: libraries of processesb for aworkflow as an example.

      2006-11-14 Tue Nov 14 10:11 Best of times, worst of times

      In England we have a phrase "The Curate's Egg" that came from a cartoon in a funny periodical (Punch) in the 1800's. The young curate is eating breakfast at the bishop's table and is not looking very happy about his boiled egg. The bishop asks him: "Is your egg bad, Mr. Smith." The lowly Mr. Smith replies:
    2. "Not at all, my lord. Bits of it are quite excellent!"

      My weekend was like that.

      Friday was a holiday for me and my wife so we drove together to Kaiswer Permanented. She had a workshop to attend and I planned to do my grading. Then we would get our flu shots. I got the grading done and we got our shots. So progress but not the best way to pass the time. That night, on the other hand we went to an little concert with Jungwon Jin, piano + Todor Pelev (violin) and the young Miss Pelev (soprano). Excellent mixture of classics and songs from broadway. All this in a house up in the foothills overlooking the lights of San Bernardino. Most enjoyable.

      Then Saturday -- Bills, shopping, ... and bending a tooth out of place. It had been loose and I was planning work to be done on it this week but now it stuck out 1/8 inch from the rest. Phoned the dentist.... and went to the Second Concert of the San Bernardino Symphony [ symphony.html#C2 ] which was very excellent. Oddly the Beethoven Triple Concerto had been performed by the Redland's Symphony last month so we could directly compare the two performances. San Bernardino and Maestro Ponti made it a lot more exciting the Redlands people. To bed late.

      Woken at 4am by wind and a powercut!

      Sunday is a bit hazy but involved cleaning house, and other chores. And cooking up a rabbit stew.

      Monday -- a 3 hour session in the dentist's chair. They got out the old crown -- with a bent post and prepared the base and a temporary fitting. Very exhausting -- expecially if you have a blocked nose from sinus trouble and last year's prostate operation has left you with a weak bladder... But it was excellent eating dinner that night.

      And that is why the grades for CSCI 372 where posted 4 days after the class rather than the following day....

      Now to start trying to catch up on my reading:


      1. Suehe Pak & Eunha Rho & Juno Chang
      2. Industrial demand-driven curriculums for computer -software field in Korea
      3. ACM SIGCSE Bulletin V38n3(Sep 2006) & proc ITiCSE 2006 pp63-67
      5. Applies Boehm's spiral life cycle to curriculum design of and for demand driven courses.

      2006-11-07 Tue Nov 7 17:11 Looks like a MSWin2kPro problem

      Viewed the page thru Netscape, Firefox, and MSIE6 on a windows XP system.... and it was OK. So it looks like my Win2k is missing some HTML4 display entities:-(

      2006-11-07 Tue Nov 7 10:11 Bad Magic diagnosed

      It turns out that the curse on some HTML4.0 Entities that my MSIE6 came under was not a sudden Monday Morning phenomena. Symbols like α had appeared on the screen and been printed on Friday but ∃ (exists) had only been printed and looks like a box on the screen. I was working from the printout over the weekend when I added the non-Greek characters... and they woork acceptably on an old MSIE for the iMac OS9 but not on MSIE6 and MSIE7.

      Contact me [ mailme ] if I should stop generating these MS cursed entities.

      2006-11-06 Mon Nov 6 12:11 Bad Magic in Internet Explorer

      Paul Conrad tells me that the "forall" symbol (∀) is not rendered well in MS IE7... about which I hear bad things... And even on my IE6.0 it has become a box over the weekend!

      I went back to [ symbols.html ] a handy list of HTML symbols and found that today, with no known updates or changes, most of the symbols that were rendered OK last Friday are now appearing as boxes. This is High Powered Magic and I am not happy with it.

      Basically this evidence that the MATHS approach of strict ASCII may be better:

    3. For all epsilon, some delta ( if x <= epsilon then x^2 <= delta).

      2006-11-04 Sat Nov 4 11:11 New feature in mth2html

      For many years I have been evolving a formal language called MATHS [ maths/ ] designed for noting down mathematical and logical documents without the intent of publishing papers or books. The mth2html tool is a rough shell script that maps MATHS into HTML. I use it in nearly all my pages these days.

      For publishing mathematical stuff you can't beat Donald Knuth's ΤΕΧ language [ samples/comp.text.TeX.html ] [ samples/comp.text.TeX.Mathematical.html ] but one of the rules of my MATHS language is that you can use any of the commonest ΤΕΧ symbols if you wish... and a future iteration of the tools will render them correctly. I also have a long term (stalled) project for taking a MATHS document into a ΤΕΧ document ready to be published. Meanwhile I designed MATHS to support the cheap and simple statement and reuse of mathematical and logical thinking. On the web, reuse means linking documents. For example: a result on one page can be linked to in any other page on the web and used there.

      The new feature is based on the discovery that many HTML4.0 entities (codes for symbols) match up with ΤΕΧ symbols and that they are now rendered in most browsers. Now, there is no way that HTML can match ΤΕΧ' rendering of mathematics ( for eample the logo for TEX is rendered very roughly on this page) but there is a chance of producing readable and linkable pages of simple mathematics by using HTML entities.

      So I have written a script to map ΤΕΧ symbols (where possible) into HTML entities [ tools/tex2html.txt ] and integrated it with my MATHS to HTML tool mth2html.

      Now for a test:

       	1 \ne 2
    4. 1 ≠ 2
       	1 \le 2
    5. 1 ≤ 2
       	1 \leq 2
    6. 1 ≤ 2
       	\forall \epsilon \exists \delta ( x \le \epsilon \Rightarrow x^2 \le \delta)
    7. ∀ ε ∃ δ ( x ≤ ε ⇒ x^2 ≤ δ)

      Let me know how these look on your browser!

      2006-10-26 Thu Oct 26 15:10 Fun stuff in SIGSOFT Software Engineering News

      Windy today in the San Bernardino valley.

      The latest issue

    8. ACM SIGSOFT Software Engineering Notes V31n5(Sep 2006) has a very nice crossword on page 5 by Fernando Berzal -- don't try it without taking a course in Programming Languages (like [ cs320 ] ) first!

      Then Mike Wing has an excellent Systems Debugging Life Cycle


      1. Michael Wing
      2. Roller Coaster
      3. ACM SIGSOFT Software Engineering Notes V31n5(Sep 2006)p4
      5. life= #(bug_report Denial Anger Bargaining Depression Aceptance Stuggle Epiphany Resolve Elation Disillusion).

      And the issue has the usual pages of RISKS to the public and Marc Doernhoefer's excellent mining of the Net for software enginering -- in this case free stuff. I'll probably type in some of the links into one of my [ samples/ ] pages.

      2006-10-25 Wed Oct 25 14:10 Good music last night and retrospective look at participatory design

      We had the excellent Finnish vocal group of Lumen Voca singing in a free concert last night. Elegant and beuatiful 8 part harmony covering everything from the 13th century to the 1990's. Most therapeutic. Went home inspired and enlightened. However I'mm now 2hours of work short...

      A student asked me who invented JAD Joint Application Design and I was stumped for an answer. I did some digging and traced it back to IBM in the 1970's and as a rival to Participatory Design. I found this in the June 1993 issue of the Communications of the ACM. I've decided to add a couple of references from some other articles in the same special issue


      1. Andrew Clement & Peter Van den Besselaar
      2. A retrospective look at PD Projects
      3. Comm ACM V36n6(Jun 1993)pp29-37
      5. Took 25 published (at IFIP) projects and got 15 response to questionaire. Selected 10 most substantive.
      6. Claims there had been hundreds of PD projects.
      7. Results include temporary empowerment, technologists thinking outside of the box, mostly accurate requirements -- but not necessarily in the market.
      8. PD is a complex process with far reaching implications to an organization and so involves juggling many competing forces.
      9. Need to address immediate needs and have an insider.
      10. All goals, plans, and rationales have to be continuously discussed and revized.
      11. Politics!


      1. Erran Carmel & Randall D Whitaker & Joey F George
      2. PD and Joint Application Design: A transatlantic Comparison
      3. Comm ACM V36n6(Jun 1993)pp40-48
      5. Reports claimed benefits of JAD (Table 1).
      6. Typical drawing or typical JAD room of the time.
      7. JAD moved from documentation to using CASE tools.
      8. Many prescriptions and recipes for running meetings.

      2006-10-23 Mon Oct 23 07:10 San Bernardino Musical Home Tour

      Visitted 4 beautiful homes i San Bernardino. Three were in the hills and so it was quite exhausting! But well worth it -- to inspired by Frank Loyd Wright, one over 100 years old, and one cleverly designed to be comfortable...

      Meanwhile drafting notes on planning techniques for CSci372...

      2006-10-19 Thu Oct 19 08:10 Published URL for UML DFDs fails

      If you've read my letter [Botting06] to the IEEE Computer Magazine (Sep 2006, page 5) and wanted to see the diagrams mentioned in the last paragraph, don't use
      (whick was ok for many years) but [ http://csci.csusb.edu/dick/papers/rjb04bDFDs/ ] because the department server and web site have been reconfigured.

      Sorry for any inconvenience!

      Now for something less embarrassing. David Alan Gier has published another nice article on the history of computing and particular the early days of the software business:


      1. David Alan Grier
      2. The Empty Box
      3. IEEE Computer Magazine V39n8(Sep 2006)pp9-11
      5. What is the center of the universe -- Hardware or Software?
      6. Hardware became invisible under a layer of system software, is systems software also disapearing under a layer of applications?

      2006-10-12 Thu Oct 12 11:10 Readable article on History of computing


      1. David Alan Grier
      2. The Print of the Hand
      3. IEEE Computer Magazine V39n7(Aug 2006)pp8-10
      5. How to handle salesmen requesting incorrect performance figures.
      6. The obscene operating system.
      7. Business incubation.

      2006-10-11 Wed Oct 11 16:10 Update on the next Seminar Friday 13th etc

      I got the wrong time... festivities start at 11am. [ seminar/20061013SummerPod.txt ]

      Also a new thesis defence on Friday 27th [ seminar/20061027TomLee.txt ]

      2006-10-10 Tue Oct 10 07:10 Readings on security and standards

      Hee are three recent items: one proposes a way of combining security and safety standards, one describes MicroSofts plans for a safe way to download code into a smart client and the third argues that current security standards are toothless...


      1. Gary Stoneburner
      2. Toward a Unified Security/Safety Model
      3. IEEE Computer Magazine V39n7(Aug 2006)pp96-97
      5. A security flaw leads to a potentially harmful event....
      6. The event leads to the risk of a mishap.
      7. defect; flaw; vulnerability,
      8. threat+vulnerability ; security event ; hazard ; mishap ; risk,
      9. risk=impact*likelihood.


      1. Narayan Veeramani
      2. Smart Clients versus Web Forms
      3. IEEE Computer Magazine V39n7(Aug 2006)pp93-95
      5. signed downloadable assemblies. Assembly download cache.
      6. CAS::="Code Access Security".
      7. Richer user interfaces possible with part of the application deployed to the client.


      1. Mikko Siponen
      2. Information Security Standards Focus on the existence of process, not on its content
      3. Commun ACM V49n8(Aug 2006)pp97-100
      5. Fuzzy terminology and undefined procedures are not enough.

      2006-10-09 Mon Oct 9 14:10 Recent reading

      Another good concert in San Bernardino on Saturday night from [ http://www.SinfoniaMexicana.com/ ] entitled Mexico Canta. Lucky, that music is an international language.

      An ex-student read a letter in IEEE Computer Magazine that she thought I might be interested in... and then saw that I had written it: [Botting06]. All about DFDs and UML2.0 vs Use Cases.

      On a less egotistic note here is an interesting article on the data structures used to help search engines work effectively:


      1. Web search engines: part 2
      2. IEEE Computer Magazine V39n7(Aug 2006)pp88-90 [ MC.2006.286 ]

      2006-10-07 Sat Oct 7 08:10 Temporary Snoofness

      I've just been talking to my 89 year old mother and told her that I've lost my sense of smell since the prostate operation. My brother-in-law lost his after an operation after a nasty Jeep accident in Turkey. She lost her sense of smell some 40 or 50 years ago and then it came back a couple of years later. She did a short radio broadcast on BBC about this and decided to invent a new word. After all if you can not see you are blind and if you loose your hearing you are deaf. So, if you loose your sense of smell.... you are snoof.

      2006-10-06 Fri Oct 6 11:10 Excellent Online Resource on Campus -- Safari

      It is well worth visiting (on campus or thru the proxy) [ ebooks.cfm ] and selecting the "Safari Tech Books Online" link. I found several key, up to date, searchable versions of books on my topic of choice (UML). Looks like a incredibly useful resource.

      2006-10-05 Thu Oct 5 15:10 More on Successful Projects

      Paul Conrad [ http://www.pauljconrad.net/ ] EMailed me to say he agrees with [ ProcaccinoVernerLorenzer06 ]
      1. 1 - clear and well understood requirements are key to developing good software and having a positive and healthy working relationship with the customer is a definite plus. I know this from experience at my independent consulting.
      2. 2 - sense of achievement is good for the mental health and motivation of the team(s).
      3. 3 - Having the final system working, customers/users requirments met, on time, solid tested code.... brings back the customer(s) again in future projects.

      2006-10-04 Wed Oct 4 17:10 Seminars Rescheduled and more on Pair Programming

      We've moved a seminar scheduled for October 26th to November 3rd: [ seminar/ ]

      Now for something completely different from my recent reading


      1. Brian Hanks
      2. Student Attitudes toward Pair Programming
      3. ACM SIGCSE Bulletin V38n3(Sep 2006) & proc ITiCSE 2006 pp113-
      5. 1..7 point Lickert scale on 4 questions: "I like pair programming",... 7="strongly agree"
      6. Median students agree (score =5 or 6).
      7. Similar scores accross genders.
      8. But one instructor had students who gave (on average) a lower score, especially if they were female -- 3 female graduate students in particular. But could be an observer effect (cognitive dissonance).


      1. Emilia Mendes & Lubna Al-Fakhri & Andrew Luxton-Reilly (New Zealand)
      2. A Replicated Experiment of Pair-programming in a 2nd-year software development and design computer science class
      3. ACM SIGCSE Bulletin V38n3(Sep 2006) & proc ITiCSE 2006 pp108-112
      5. Repeats experiment reported in last ITiCSE 2005 by same authors.
      6. Pair programming in ungraded labs.
      7. Pair programming significantly linked to better examination scores, passing rate, and quality of independent (solo?) work.
      8. 10% students hated it, 50% liked it, 15% liked it a lot.
      9. Literature survey of 20 items.

      2006-10-04 Wed Oct 4 11:10 Computer Science Club

      Please check out the excellent web site [ http://club.csci.csusb.edu/ ] of the CSUSB Computer Science Club.

      2006-09-29 Fri Sep 29 16:09 What makes a successful software project


      1. J Drew Procaccino & June M Verner & Steven J Lorenzer
      2. Defining and contributing to software development success
      3. Commun ACM V49n8(Aug 2006)pp79-83
      5. Refers to K R Linberg 1999. Also see [Glass99c].
      6. Surveyed developers on line to see what made them feel their project was a success.
      7. Defines a hierarchy of components for success: technical vs nontechnical. Nontechnical: process vs outcome. Process: team vs project. Outcome: personal vs project.
      8. Most important items in each component
        • Clear and well understood requirements, skillful tesam, good relations with customers/users....
        • A sense of achievement and delivering a quality product....
        • Final system worked, customers/users requirments met, on time, solid tested code....

      2006-09-28 Thu Sep 28 15:09 Safari online at CSUSB

      From Stacey Magedanz
        Thanks to another system-wide CSU upgrade, we now have access to the full collection of Safari's online computer books; formerly, we had access to only select titles. The Safari collection offers about 1,500 well-known information technology handbooks from publishers such as O'Reilly, Sams, Cisco Press, and New Riders. (Find it on our Ebooks page: [ ebooks.cfm ] )

      2006-09-28 Thu Sep 28 11:09 Busy times and synthezizing code from use cases

      The start of quarter is always full of getting things settled... for example the seminar series: [ seminar/ ] has gained 4 seminars for October...

      But here is a paper showing how a formal use specification and message


      1. Jun Sun & Jin Song Dong
      2. Design Synthesis from Interaction and State-Based Specification
      3. IEEE Trans Software Engineering V32n6(Jun 2006)pp349-364
      5. Shows that it is possible to synthesize correct code from specifications using universal live sequence charts plus Z (Zed) state pre/postconditions.
      6. Introduces idea of a package of Z specifications.
      7. Design is a set of cooperating sequential processes to reduce state explosion.

      2006-09-27 Wed Sep 27 14:09 Job for student...

      This just came round the campus mailing list "BB":

      Student Assistant-Web Site Coordinator needed immediately to maintain and update the Foundation web site and other duties as required. Flexible scheduling options and up to 20 hours per week. $9-$10 per hour. Preferred skills include:

      1. Strong Programming skills in PHP, HTML,java_script, XML, CSS, and other web development technologies
      2. Website management (FTP, telnet, ssh, etc...)
      3. Apache web server
      4. Knowledge of Graphic Design software such as Photoshop, Flash, Illustrator, ImageReady, Fireworks, and Freehand
      5. Strong knowledge of Adobe Acrobat professional
      6. Strong knowledge of MS Office
      7. Strong knowledge of Dreamweaver, Adobe GoLive, or any other web development software
      8. Knowledge of .NET and SQL Server is desirable
      9. Installation, configuration, and maintenance of Win 2000 Server and Win 98/2000/XP User systems along with LAN components
      10. Strong knowledge of Active Directory
      11. Strong troubleshooting and problem solving skills
      12. Strong organizational skills

      Please apply at the Foundation Human Resources Department - Foundation Building, Room FB-104.

      2006-09-25 Mon Sep 25 18:09 Monday glitches after good weekend

      Today you may have had problems accessing my web site or following links on it. Apparently some confusion about the names given to our server:-)

      Visited a true oasis in the desert and bought 9 old books for a dollar etc. etc. at the St. Andrews Monastery Harvest Fair at Valyermo.

      2006-09-21 Thu Sep 21 15:09 Agile processes and the Spitzer Space Telescope

      Tina Kouri's presentation is about her work on the Spitzer Space Telescope! See previous(next below) entry for link to details.

      Meanwhile here is a handy survey of recent thinking on software processes


      1. Vaclav Rajlich
      2. Changing the paradigm of software engineering
      3. Commun ACM V49n8(Aug 2006)pp67-70
      5. Ideas are from practitioners. Need research on the new ideas.
      6. (dick)|-I think that some forms of software development are not a kind of engineering -- low risk, exploring unknown territory, small scale changes,...

      2006-09-20 Wed Sep 20 16:09 Internship Presentation

      We've scheduled an internship presentation [ seminar/20060926TinaKouri.txt ] for 10am Tuesday in the Maths Seminar Room.

      THe first faculty seminar [ seminar/20060922Kangasharju.txt ] is 2pm on Friday 22nd of September.

      Meanwhile working hard on preaprations for first classes tomorrow.

      2006-09-18 Mon Sep 18 15:09 Convocation and many other meeting

      2006-09-15 Fri Sep 15 16:09 Do the math -- server sizing

      Here is a paper that promotes the kind of calculations that are common in most branches of engineering, but not in "software engineering".


      1. Dick Brodine
      2. Mathematical Server Sizing
      3. IEEE Computer Magazine V39n7(Jul 2006)pp91-93
      5. Quotes a useful formulas modeling server performance.
      6. TRIVEDI::=following
        1. Kishor S Trivedi's model for M clients at rate λ to a server that handles them at rate μ -- both with exponential distributions.
        2. E[Response_time] = M/E[T] - 1/λ),
        3. E[T]=μ *(1-p0),
        4. p0:=P[0 requestss in system],
        5. p0=1/(+[n:0..M]((λ/μ)^n)*(fact(M)/fact(M-n)))

        (End of Net)

      7. Shows a screen short of a Java application that helps.

      Much editting of pages for the coming quarter.... and much thought about fences.

      2006-09-14 Thu Sep 14 15:09 First Seminar: Optimal Peer-to-Peer Distribution

      Just uploaded [ seminar/20060922Kangasharju.txt ] which describes the first seminar in the 2006-2007 Academic year.

      Meanwhile I'm editting syllabi (mostly online) and fixing holes in my FAR.

      An article and a paper on pair-programming in class


        1. Charlie McDowell & Linda Werner & Heather E Bullock & Julian Fernald
        2. Pair programming improves Student Retention, confidence, and program quality
        3. Commun ACM V49n8(Aug 2006)pp90-95
        5. Students who do pair programming do better in exams and in a later nonpairing class.


        1. Laurie Williams
        2. Debunking the Nerd Stereotype with pair programming
        3. IEEE Software V38n5(May 2006)pp83-85
        5. Surveys evidence in favor of pairing especially in terms of retaining competent non-nerd types.

      2006-09-08 Fri Sep 8 12:09 Working On 5 year Faculty Activity Report

      A big pain.... collating all the material and then writing up what i've been doing... The previous "FAR" is online [ FAR2001.html ]

      2006-09-06 Wed Sep 6 10:09 Vacation Photos -- steam and Grand Canyon

      Warning: Big Files ahead: [ slides/026_23.jpg ] [ slides/024_21.jpg ] [ slides/020_17.jpg ] [ slides/019_16.jpg ] [ slides/015_12.jpg ] [ slides/010_7.jpg ]

      2006-09-06 Wed Sep 6 07:09 Systemantics by John Gall

      I've updated my plan [ plan.html ] to show the next 2 or 3 weeks.

      I've now backtracked from Diamond thru another anthropologist back to a book that I thought was a joke when I first read it in the 1970's:


      1. John Gall
      2. Systemantics: How Systems work and especially how they fail
      3. Fontana/Collins England 1979, NY Times Book Co 1977
      5. Of the 32 intuitively true (or funny) Systems propositions (appendix I, pp85-92) here are some observatios that a relevant for computer people:
        • 5. The Generalized Uncertainty Principle -- (GUP) Systems Display Antics.
        • Proof -- corolary of Goedel's theorem.
        • ...

        • 16. A Complex System Designed From Scratch Never Works and Cannot be patched to make it work. You have to start over, beginning with a working simple system.
        • Programs never run the first time.
        • Complex Programs never run.
        • 15. A complex system that works is invariably found to have evolved from a simple system that works.
        • 13. A simple system, Designed from scratch, sometimes works.
        The Wikipedia entry [ Systemantics ] has a complete list and citation of a newer edition: General Systemantics Press/Liberty, 2003. ISBN 0-9618251-7-0.

      2006-08-30 Wed Aug 30 07:08 partly baked Ideas

      I had to stop the previous entry because of network glitches. Working offline uncovered some ideas that need a little "baking" before I publish them.... An unexpected application of the UML in modeling dynamic systems.... I'll have to put them in a paper and place a link here once I've got my thouhgts clarified, written and checked off line.

      Meanwhile -- Diamond's "Collapse" gets a little depressing...

      2006-08-29 Tue Aug 29 08:08 Allergies and more reading

      I've moved on to Jared Diamonds's "Collapse". I'll post its description and minireview later. I'm also continuing to think about mathematical models of causal and temporal systems. And on a mundane level ... fighting an explosion of a 40 year old allergy to "life, death, and the universe".

      Here is a brief note -- a Partly Baked Idea -- -- --(PBI)
      about causal dynamic models.

        Consider the statement
      1. if you go out in the rain without an umbrella then you will get wet.

        In my MATHS language you could formalize this as

      2. rain & ~ umbrella ==> wet'. where
      3. rain, umbrella, and wet are temporal predicates or sets of times

        UH UH --network lags and interuptions.

        ... I'll complete this when the network/system starts behaving reliably agin...

      (End of Net)

      2006-08-25 Fri Aug 25 06:08 Summer Reading -- Guns Germs and Steel

      In addition to Teryy Pratchet and LE Modesit (and logic etc...) I've been reading a book that argues that "Geography Rules" (to quote my wife) in determining the fate of societies:


      1. Jared Diamond
      2. Guns, Germs, and Steel: The Fates of Human Societies
      3. Norton NY NY(2003) ISBN 0-393-31755-2
      5. The differences between societies -- and who conquers who -- appear to depend on geography not genetics.
      6. Innovation happens most when there are large numbers of communicating and competing parts.
      7. The technologies of farming flow east-west more than North-South.
      8. Catalogs crops and domesticated animals by geography.
      9. The 2003 edition relates the theories to software development at Microsoft vs IBM etc.

      It has something to say about the kinds of networks that tend to be innovative -- useful for developing software. I wonder whether a small world network might be optimum?

      It also raises a collection of problems that I've been worrying at for decades:

      • Scientific theories are often summarized by pictures that show boxes and arrows. The arrows show causal connections.
        • east-west access -> ease of species spreading -> many domesticated species.
        • many wild species -> many domesticated species -> food surplus stored -> large dense sedentary socieities -> technology -> guns & steel.
        • many domesticated species -> epidemic diseases = germs
        • large dense sedentary socieities -> oragnization & writing & epidemic diseases
        • ...
        (Based on Figure 4.1, pp86-87)
      • How to express such digraphs in a non-graphic form?
      • How to give a meaning to the diagrams?
      • The whole question of theory vs observations -- the metatheory of science.

      2006-08-24 Thu Aug 24 09:08 Home, Coff, Home

      Monday night - Tuesday Night. Arrived back from incredible jazz concert after midnight. Lost an hour or so of sleep coughing. Exhausted.

      Tuesday. Replaced all pillows with hypoAllergenic pillows and washed all pillow cases in hot water...

      Wednsday. Some planning. Trip to Fontana in evening for Prostate Seminar. The next one (in September) will involve a Native American Healing ceremony. Back before 9pm.... coughing less in the night...

      Thursday: today: Started with a minor plumbing job...

      Meanwhile thinking about models of events that occur in places and at times.... Facinating possibilities.... I'll probably upload my notes when I get back to my office laptop+highspeed connection in 11 days time.

      2006-08-21 Mon Aug 21 08:08 Next to Cerritos

      Just back from San Luis Rey and planned a trip to see Dave Brubeck play in Cerrritos tonight.

      Meanwhile started to update materials for CSci372...

      2006-08-14 Mon Aug 14 08:08 Off to San Luis Rey

      Weekend spent recovering, cleaning, chasing black beetles in the pool, and planning the next trip -- to Mission San Luis Rey. Back on Friday.

      2006-08-11 Fri Aug 11 11:08 Back from the Grand Canyon

      On Monday we decided to do the "Rails to the Rim" package holiday with AAA, booked it in the morning, grabbed the driving data (400 miles one way to Williams AZ), and left at 2pm. Easy drive over the Cajon Pass and across the desert to Needles. Slept in Motel 6. Needles reminded me that San Bernardino is quite civilized. Next day drove accross more desert to Kingman (breakfast) and Williams. Stolled arrounded, checked in to Railway and the Grand Canyon Railway Hotel and collapsed. Nice people. Piece of a rainbow over the Parking lot (full).

      Then a rail trip to the Grand Canyon. Very comfortable in "Amber Rose's Party Car" with entertainment from "Amber Rose" and a skillful guitarist. Then a coach trip to lunch and a tour of three view points of the canyon: Pima, Hopi, and Trail View. The Canyon is hard to describe: big, chaotic, complex, geologically interesting, beautiful, dwarfing, etc. I now realise that just as some languages are to complex for a simple grammar to define them, and some functions can not be computed.... some places can not be described in a short sentence.... or really appreicated in a short trip.

      • The rim blooming
      • Geology visible below.

      • Too Grand for a Haiku.

      Then the return trip with steam engine 4960. Good sounds and sights. And a fiddler. And the traditional train robbery. Back to the hotel.

      Last day.... breakfast, buy two DVDs (one of conyon and the other of loco 4960) and try to find post office.... still closed. Drive to Kingman, and stop at Yucca -- to send post cards. What is the geodetic sphere by freeway#40 at Yucca? Then to Needles for lunch... Barstow, a traffic jam at Victorville(typical) and home.

      2006-08-07 Mon Aug 7 07:08 Checking Object-oriented code


      1. Danqing Hou & H James Hoover
      2. Using SCL to Specify and check Design Intent in Source Code
      3. IEEE Trans Software Engineering V32n6(Jun 2006)pp404-423
      5. SCL::="Logic based language and tool that expresses and checks constraints on object-oriented code"
      6. Typical constraint: In Java all classes derived from Object should define a public boolean equals(Object o) method, not one with another parameter type.
      7. Lint for the 21st century.

      2006-08-04 Fri Aug 4 06:08 a ton of tautologies

      I've input the 90+ tautologies listed in Reichenbach -- without proofs -- and invite every body to check them out and send me proofs ... as the proofs come in, the formulas will be labelled and become available to be used. Currently they should be taken with a pinch of salt.

      Here is the citation of Reichenbach's text


      1. Hans Reichenbach
      2. Elements of Symbolic Logic
      3. The Macmillan Co., NY NY. 1947 5th edition 1956 BC 135 R4
      5. This book is most famous for analyzing all the tenses found in most natural languages [ samples/tenses.html ] in terms of three times: S=time of Speech, R=a time Referred to, and E=time(s) when Event occurred(was occurring).
      6. For example "It was raining in Manchester in 1935" has S="August 2006", R is some time in 1935, and E is a range of times surrounding R when it was raining.
      7. If "I will see you tomorrow" is spoken on day S, then it's R is the day after S and E is a time in that day.
      8. Reichenbach argues that all three times: E,R and S are needed to explain all the tenses.
      9. He also shows that R tends to be the same inside a sentence except where it is explicitly shifted. This tends to be true across sentences as well.... except that later authors give many counter examples where the times interact with the link: narrative, explanation, elaboration, etc. holding between the sentences.

      10. The book is a thorough and persnickety philosophical analysis of natural language and thought in terms of symbolic logic.
      11. It harks back to Whitehead and Russell's magnum opus [WhiteheadRussell63].
      12. It has an excellent list [ samples/tautologies.html ] of true formulas.

      2006-08-03 Thu Aug 3 06:08 Two articles on Testing

      I'm still back-filling symbolic logic -- studying Reichenbach's class 1940's text on Symbolic Logic. I started out extracting his model of tenses [ samples/tenses.html ] and have backtracked to his treatment of propositions and predicates. More on this later. But in the meanwhile here are a couple of empirical papers on testing in software development.


      1. David Talby & Arie Keren & Orit Hazzan & Yael Dubinsky
      2. Agile Software Testing in a Large-Scale Project
      3. IEEE Software Magazine V23n4(Jul/Aug 2006)pp30-37
      5. Tests and specifications were developed.
      6. Acceptance testing done by testers not customers.
      7. Product size = number of tests passed.
      8. Untested work = no work.
      9. Integrated testing and coding: not separate phases.
      10. Anyone can open a defect, allocate it, fix it, and close it.
      11. Defects fixed as fast as possible: effort <2 person_hours, No defect survived more than 1.5 weeks.


      1. Per Runeson
      2. A survey of unit testing practices
      3. IEEE Software Magazine V23n4(Jul/Aug 2006)pp22-29
      4. =POLL 19 companies unit testing technical V&V SQA
      5. Internal developer driven.
      6. how to test GUIs?...

      Per Runeson has coauthored other articles on software quality assurance and testing.

      2006-08-02 Wed Aug 2 14:08 copy and paste considered harmful


      1. Zoltan Adam Mann
      2. Three Public Enemies: Cut, Copy, and Paste
      3. IEEE Computer Magazine V39n7(Jul 2006)pp31-39
      5. Standard editting operations don't distinguish the half-a-dozen different purposes of using cut, copy and/or paste.
      6. Paste does not record the possible link between old and new. Then a future change that should be done in several places is done once.
      7. Worse it does not distinguish between "copy (and keep identical)" from "copy (and then change)".
      8. Proposes introducing higher level operations (for complex dynamic artifacts). note

        1. (DRY)|-Repetitive edits indicate the need for refactoring.

    9. DRY::= "Don't Repeat Yourself" [AmblerS04a] [Fowler01] [HuntThomas04b] [MillerS01] [Shore04].

      2006-08-01 Tue Aug 1 06:08 UML APPROACH TO SOFTWARE ENGONEERING

      Some one searched part of my site looking for this subject about 3 hours ago.

      1. My current search engines are not good at phrases -- better to use a single word. Fixing them would make a nice MS Thesis/project for a CSUSB CSci Masters student.
      2. The best place to look for UML stuff is in [ samples/uml.html ] not [ maths/ ] (a different language).
      3. The best way to ask a question is to use the "Contact" buttons on my pages.
      4. It looks like the title of a bit of home work -- and I don't do other people's home work.
      5. UML is a language -- so the question is like asking if there is a Java approach to software engineering.
      6. Meanwhile look into MDA Model Driven Development and RUP%20 Rational Unified Process -- the nearest things to UML-enabled to software development.

      2006-07-31 Mon Jul 31 11:07 Continuing to improve notes on Logic and Proofs

      Added a note on an early user of Semantic Tableaux -- Lewis Carroll.

      Also added something to [ maths/tttt.html ] my experimental thouhgtd on using HTML Tables to express Proof by Cases and semantic Tableaux.

      2006-07-28 Fri Jul 28 09:07 Experimenting with a new way to abuse HTML to display formal proofs

      I'm looking at using tables to express natural deduction proof by cases and/or semantic tableaux. Have a look at [ maths/tttt.html ] and use the [Contact] button to let me know what you think -- can your browser handle the nested tables? Does it make any kind of sense? (For logicians) Are these schema Valid?

      By the way: thanks to Nam for fixing the server so that it has enough disk to send EMail again.

      2006-07-28 Fri Jul 28 06:07 Soriteses, Air Conditioning, and mobile requirements

      Thursday was interesting in many ways.

      (1) Discovered that when Robert Heinlein had a character play Sorites with Lewis Carrol in "The Number of the Beast" he actually quoted one of the Sorites that Carrol put into his book of Symbolic Logic. I always felt that he had put the write words into the Rev. Charles Dodgeson's mouth... now I know why -- he new the writings very well.

      (2) Our conditioning died Sunday night -- and it has been a week of improvising and fixing fly screens and sweat. But last night, "Jerry" vsitted and it started working again. May be I shouldn't be so pessimistic about things failing.

      Corollary to Murphy's Law: if you no something is broken then it will work perfectly when the expert arrives...

      (3) At long last some one else has noted the possibillity of using mobile devices in software development. My MATHS project is based on the constraint of using the cheapest and lightest hardware/software available: small screen, no funny fonts, simple editor, ASCII, ... specifically to enable people to describe and analyse current processes and systems. Here are some variations:


      1. Robert Seyff & Paul Grunbacher & Neil Madden
      2. Take your mobile device out from behind the requirements desk
      3. IEEE Software Magazine V23n4(Jul/Aug 2006)pp16-18
      5. Gather requirments in the field no you office.
      6. Take notes, structure interviews, display prototypes... all on your hand held device!

      2006-07-27 Thu Jul 27 05:07 New things on line

      I've uploaded the latest seminar/defense -- see [ seminar/ ] and also [ maths/logic_20_Proofs100.html ] my examples of constructions in the Euclidean and Algebraic modes.

      Yesterday I got a local TWiki account (RichardBotting) to work.

      Also finished my notes on the following paper:


      1. Joel C Adams
      2. OOP and the Janus Principle
      3. ITICSE ACM SIGCSE Bulletin V38n1(Mar 2006)pp359-363
      5. Janus::=following
          Design and write OO applications so that they support multiple, reusable user interfaces with minimal redundant code.

      6. The old Parnas rule:"Separate concerns". [Parnas72b]
      7. Presents a modified MVC with View+Controller in one class plus separate Model class.
      8. Nice example: Program to get and display current time from servers with multiple user interfaces: command line & menu-driven & GUI: [ http://www.calvin.edu/~adams/software/janus/ ]

      In 1972 Parnas contrasted two modularizations: the "flow chart" one with the input vs logic vs output. He noted that the second needed many more function calls between modules each calling a small function. I used a similar modularization in my PhD code. In the late 70's, in the UK we taught programmers to separate the logical from the physical.

      This 30 year history shows the soundness of at least one object-oriented dogma.

      2006-07-26 Wed Jul 26 12:07 Missed article -- Microsoft operating system development woes


      1. Michael A Cusumano
      2. What Road Ahead for Microsoft and Windows
      3. Commun ACM V49n7(Jul 2006)pp21- 23
      4. =ARTICLE MS-PROCESS LOnghorn Vista
      5. Longhorn: no architecture :. 50MLines of Fragile code. 40,000 people couldn't fix it. Attempted to modularize. Abandonned.
      6. Started developing Vista from Win2k/XP Server. Beta Aug2005. Ship date slipping to 2007.
      7. Pattern confirms Brookes's Law.
      8. Compare with 1990s [CusumanoSelby95] agile process for WinNT and Office.
      9. Code size doubling? Win95+>15MLoC,
      10. Test and stabilize time doubling?
      11. Possible consequence of Chairman's aim of integrating more and more features in the core OS.

      I hope to upload the information on Jacob Lee's defense into [ seminar ] real soon now.

      2006-07-26 Wed Jul 26 06:07 On campus today + How UML effects maintenance

      I expect to be on campus today. Jacob Lee will be defending his thesis at 10 in JBH359.

      Meanwhile a well done experiment on the effect of having and maintaining UML documentation on maintaining software.


      1. Erik Arisholm & Lionel C Briand & Siw Elisabeth Hove & Yvan Labiche
      2. The impact of UML Documentation on Software Maintenance: an Experimental Evaluation
      3. IEEE Trans Software Engineering V32n6(Jun 2006)pp365-381
      5. UML documentation helps students to correctly make complex changes in code.
      6. It helps students make complex changers faster but the total time (including updating the diagrams was longer.
      7. Some students who had no UML docs drew their own on difficult tasks.
      8. Some students given UML ignored it on some tasks.
      9. Students without the UML docs where more likely to say that they were out of practice with Java and had problems grasping the whole picture.
      10. Previous experiment [ ArisholmSjoberg04 ]

      2006-07-25 Tue Jul 25 06:07 Why large projects fail -- it's the sociology

      Here is a paper I found online claiming that there is a mismatch between systems development and the sociotechnical network into which a system fits:


      1. Robert Schaefer
      2. A Rational theory of System-making systems
      3. ACM SIGSOFT Software Engineering Notes V31n2(Mar 2006)p31 (online supplement pp1-20)
      5. Large projects/systems tend to fail for complex endemic sociological reasons.
      6. A key problem: separating the planner/designer/thinker from the doer. The plan/design can not handle all the contingency and the doer is forbidden to be creative when handling the unexpected.
      7. For more see [Dumay06] on BPR in conflict with people.

      2006-07-24 Mon Jul 24 06:07 Two articles on managing projects

      First how to track progress, second a test of some estimation techniques.


      1. Kai T Hansen
      2. Project Visualization for Software
      3. IEEE Software Magazine V23n4(Jul/Aug 2006)pp84-92
      5. Idea: publish project status data using colored architecture diagrams.
      6. Figure 8 is a good example of a bad use case diagram.


      1. Tim Menzies & Jairus Hihn
      2. Evidence-based cost-estimation for better-quality software
      3. IEEE Software Magazine V23n4(Jul/Aug 2006)pp64-66
      5. Evaluated two known practices (local calibration and stratification) for improving estimates on three published data bases of project data.
      6. They were as likely to improve the accuracy of the estimate as make it worse!

      Meanwhile -- in San Bernardino it is hot and A/C units are failing...

      2006-07-21 Fri Jul 21 06:07 Review of book on software process models published

      My review of [AcunaJuristo05] (written last August [ blog005.html#2005-08-26 Fri Aug 26 15:08 Review submitted ] ) has been printed in the July 2006 issue of Computer Reviews [CR 0607-0694]. It reviewes a book surveying various ways of modeling software processes. Here is a recent publication of another variation

      Donzelli 06

      1. Paulo Donzelli
      2. A Decision Support System for Software Project Management
      3. IEEE Software Magazine V23n4(Jul/Aug 2006)pp67-75
      5. Two level model: artifacts circulate around workstations, work station parameters determined by COCOMO.
      6. Predicts staffing requirements -- completely ignoring Brooke's Law.
      7. Changing requirements add more work later in the project and extend time to complete by about 30%
      8. Comparable with staffing profile from SEL project with high instability.

      2006-07-20 Thu Jul 20 10:07 How are Java Software Developers Using the Eclipse IDE


      1. Gail C Murphy & Mik Kersten & Leah Findlater
      2. How are Java Software Developers Using the Eclipse IDE?
      3. IEEE Software Magazine V23n4(Jul/Aug 2006)pp76-82
      4. =EXPERIMENT 99 Developers Eclipse JDT Mylar Monitor plugin Java TOOLS refactoring
      5. 1 month activity compresses 95% to 1Mb.
      6. Detailed stats on views, perspectives, commands, ...
      7. Mylar::Eclipse_plugin= See http://www.eclipse.org/mylar

      Also ... made a small change to my home page -- clicking [Bibliography] leads to a more streamline search page.

      2006-07-19 Wed Jul 19 06:07 Couple of papers on teaching

      I plan to use these in CS372 this fall...


      1. Fred Martin
      2. Toy projects considered Harmful
      3. Commun ACM V49n6(Jun 2006)pp113-116
      5. Make projects real, safe, designed, prototyped, performed


      1. Narasimha Bolloju & Felix S K Leung
      2. Assisting Novice Analysts in Developing Quality Conceptual models with UML
      3. Commun ACM V49n6(Jun 2006)pp108-112
      4. =EMPIRICAL 15 PROJECTS UML UseCase Domain ERD sequence diagram model V&V SQA REQUIREMENTS CSCI372 CSCI375
      5. Table 3 lists the commonest errors by artifact
        Use Case Diagrambad notationbad extendscases too small?
        Use Case Descriptionmismatch name with diagram MIssing and ambiguous steps, invalid extension steps too small and implementation dependent
        Class Diagrams not listing operations in sequence diagram or listing implicit operations wrong multiplicity, mislocated attributes and operations, unrealizable operation Subclasses not distinguished, showing inherited attributes
        Sequence Diagram missing "found" signal, return to wrong object, class not on class diagram missing parameters, parameters used before set, missing classes Responsibility misallocated to wrong object [Larman05]

        (Close Table)
      6. Ref to [LindlandSundreSolvberg94] for qualities of conceptual models.
      7. Also see [Bolloju04]

      2006-07-18 Tue Jul 18 08:07 Why systems fail

      Unpredicted psychological effectsBekkeringShim06
      Complex protocols not debuggedAndersonHansenLowrySummers06
      Not using a stable architectureHolmes06
      Writing unsafe codeHolzmann06
      Managers asleep at the wheelAvisonGregorWilson06
      Size and sociologySchaefer06
      More, many more...See RISK

      (Close Table)


      1. David Avison & Shirley Gregor & David Wilson
      2. Managerial IT Unconsciousness
      3. Commun ACM V49n7(Jul 2006)pp89-93
      5. All three we catastrophic (or near catastrophes) for stake holders. One bankruptcy.
      6. 3 different types of business: university, utility, .com telephones
      7. Risk factors
        1. Over-complex/ambitious or over-integrated systems.
        2. Clueless management -- Poor governance -- no checks on progress and quality.
        3. Inexperienced or powerless experts with no clout -- warnings ignored.
        4. Ignoring the critical importance of getting money in: billing systems!


      1. Ernst Bekkering & J P Shim
      2. i2i trust in videoconferencing
      3. Commun ACM V49n7(Jul 2006)pp103-107
      5. i2i::cummunication="individual to individual"
      6. Videophones and videoconferences discourage trust because the camera is not directly behind the screen. If you look at the screen then you don't make eye contact with the person at the other end, and vice versa.
      7. Result: people trust voicemail and E-mail more than video.
      8. Cell phones and PDAs may not have this problem.
      9. Solution: variation on the "Reagan sincerity machine" which lets you look directly at the camera while seeing an image on a screen (e.g. a script).


      1. Bonnie Brinton Anderson & James V Hansen & Paul Benjamin Lowry & Scott L Summers
      2. The application of model checking for secure E-commerce transactions
      3. Commun ACM V49n6(Jun 2006)pp97-101
      5. Given the complexity of ECommerce systems and protocols plus the risks of failure, the protocols should be checked prior to implementation.


      1. Neville Holmes
      2. The Data Doughnut and the Software Hole
      3. IEEE Computer Magazine V39n6(Jun 2006)pp100+98-99
      5. Claims that large systems fail because they are integrated rather than modular.
      6. Best architecture has a central data base plus information processing programs around it.
      7. (dick)|-These observations are still true even if they were first made 30 years ago.
      8. (dick)|-However... there is a family of components that are neither input, output, or database. These are interactive interfaces for editing data. See Model-view-controler(MVC), Ambler on architecture, and so on back to SSADM and JSP.


      1. Gerard J Holzmann
      2. The Power of 10: Rules for developing Safety-critical code
      3. IEEE Computer Magazine V39n6(Jun 2006)pp95-97
      5. Given the aim is code that can be checked for risks... here are 10 rules.
      6. My summary (with the first place I saw it)
        1. Structured control flow. (Dijkstra 1960's)
        2. All loops have a fixed upper bound on number of repetitions (Witty 1970's)
        3. Don't allocate dynamic memory after initialization.
        4. All functions less than one page and one line per declaration (UK Criminal records 1970's)
        5. At least 2 assertions per function (IK Sturtevant in the 1970's)
        6. Declare data objects in the smallest scope -- no globals! (1980's)
        7. Check all input parameters inside each function and all returned values after each call.
        8. Only simple preprocessing -- no ellipses or recursive macros.
        9. Control pointers -- only one level of dereferencing, and never hidden in a macro/typedef. No function pointers.
        10. Compile, from day 1, with all warnings on. Daily static analysis.

      7. (dick)|-just use FORTRAN IV! The 9th rule means no object-oriented code, and rule 7 leads to an infinite regress of parameter checking. The above does nothing to control pointers and subscripts from going out of bounds.
      8. See the venerable "Ten Commandments of C Programming" [ doc/C.commandments ]

      2006-07-18 Tue Jul 18 06:07 Problem solving

      Just up-loaded the citation to Polya's excellent little book "How to solve it": [Polya88] and [ samples/polya.html ] my one page summary. THis book can raise scores in Math classes a whole grade point. What I hadn't noted in among the sound strategy was Polya's understanding of what you feel when solving problems (and failing to solve them). Comforting.

      I happened to be reading about the emergence of empiricism in England in the 1600's at the same time as reading Wegner's advert for the same philosophy.


      1. Peter Wegner and Dina Goldin
      2. Principles of Problem Solving
      3. Commun ACM V49n7(Jul 2006)pp27-29
      4. =philosophy =history EMPIRICISM vs rationalism INTERACTION > TURING
      5. Problem solving is often defined as occurring in a closed theoretical system.
      6. Turing showed the incompleteness of this kind of problem solving.
      7. Empiricism is about attending to the real world and solving problem in this world -- the theory can come after the solution!
      8. Rationalism = ASSUMPTIONS<>-(Closed Logic Bubble)-> CONCLUSIONS
      9. Rhetoric tends to use rationalistic (axiomatic, dogmatic, closed) reasoning.
      10. Because a real machine can interact with the real world it is more powerful than the Turing Machine found in CSci theory classes. It can use the real world as an oracle to resolve unsolvable problems.
      11. Real computers are choice machines. Parts in a larger system. More like objects than TMs.
      12. (above, dick)|-Computerized solutions can use interaction to solve problems that are not computable functions.
      13. (above, dick)|-Designers need to interact with the world in which their software is deployed to be able to produce software that fits it well.
      14. Latest of several articles by Wegner on this interaction and empirisism.
      15. Also see
        1. D Goldin & S Smolka & P Wegner (Eds)
        2. Interactive Computing: a new paradigm
        3. Springer Verlag Heidelberg 2006

      In my bibliographu I gave a rating of "=EMPIRICAL" for results that are based on both experience and experiment. I have "=EXPERIENCE" and "=EXPERIMENT" as well. On the other end of Wegner's dimension is "=THEORY" and "=MATH". Some where in the middle is "=POLL" (survey of practitioners) and "=SURVEY" (of the literature). Also in the middle is "=DEMO" which is specific to software: a description of an existing piece of software that demonstrates the general approach. I tag "=ADVERT" and "=POLEMIC" publications that don't provide any evidence but argument and assumption -- or describes evidence found elsewhere (in a thesis for example). Finally the term "REALITIES" and "SYSTEMS" tag publications that describe software processes and methods and tools that use the worls surrounding the software and the current system as a source of data analysed to help create designs.

      2006-07-17 Mon Jul 17 07:07 Data flows considered helpful in UML


      1. Adenekan (Nick) Dedeke & Benjamin Liberman
      2. Qualifying Use Case Diagram Associations
      3. IEEE Computer Magazine V39n6(Jun 2006)pp23-29
      5. Analyzing data needed for a use case and linking it to a conceptual domain model leads to better use cases.
      6. Extension to UML2.0 use case diagrams.
      7. (dick)|-why not use a DFD? [ papers/rjb04bDFDs/ ]

      Meanwhile, we are into the fire season. One of my students was evacuated, but has returned OK. Skary photos of burning hills. Familiar from a couple of years ago with our house. Smoke hanging over the valley. Temperatures in the 100s+.

      Spare a thought for the firefighters!

      I'm starting to assemble a collection of readings on why software fails. Watch this place.

      2006-07-16 Sun Jul 16 08:07 closely watched sprinklers and maintenance

      I've spent a couple of hours watching the new automatic sprinkler system running. Looks good. One adjustment done and need to trim some bushes.

      As a rule when any automatic system is put in place you have to observe it and make adjustments. I have only had two programs that didn't need tweaking or twiddling with in 40 years of programming. Which leads me to


      1. David Kang & Roger Chiang
      2. A Systematic approach in managing post-deployment system changes
      3. Commun ACM V49n6(Jun 2006)pp91-95
      5. A system is rarely complete and without defects -- it will need changing.
      6. Using a system generates new suggestions.
      7. A bank went through 4 systems for handling changes.
      8. Final system included:
        1. A database of suggestions and issues
        2. A user team that prioritised issues.
        3. An Alpha development system.
        4. A Gamma testing system with duplicate data.
        5. A Production (Beta) system.

      The issue of controling the flow of changes always seems to arise in larger long lived projects. The space shuttle software was an example. See [ Billingsetal94.html ] and for more see [ bib.php?search=shuttle&from=blog060716 ] for a collection of papers on software for the space shuttle.

      2006-07-14 Fri Jul 14 06:07 Working on a letter about DFDs and reading about competing nonfunctional requirements

      I hope to Email a letter to the IEEE Computer magazine about expressing data flows in the UML2.

      Here is another paper pointing out the complexity and competition between the desirable qualities of a piece of software -- non-functional requirements:


      1. Brian Whitworth & Jerry Fjermestad & Edward Mahinda
      2. The Web of System Performance
      3. Commun ACM V49n5(May 2006)pp93-99
      5. WOSP::="Web of System Performance".
      6. System performance dimensions = Extendibility, Security, Flexibility, Reliability, Functionality, Usability, Connectivity, Privacy.
      7. Different products have different weights.
      8. The dimensions appear in all development activities and/or phases in some form or other.
      9. Increasing one quality potentially stress the product and can force others to change as well.
      10. Image: Irregular octagon with each vertex connected to every other vertex plus a central dot.
      11. Compare with Gilb's work(Attributes) [Gilb77] , the USA DoD metrics in 1980s, non-functional requirements (NFR) and architecture in the 1990s, and QUALITIES in this bibliography.

      2006-07-12 Wed Jul 12 10:07 The Z notation and Chopping motorbikes

      Two very different approaches to developing softwrae. First how one experienced progrmmer developers software using the minimum of tools and baggage:


      1. Stephen B Jenkins
      2. Musings of an "old-school" programmer
      3. Commun ACM V49n5(May 2006)pp124-126 + letters V49n6(Jun 2006)pp11-12
      4. =ESSAY TECHNICAL MINIMALISM agile multi-language TOOLS Vim/Emacs bash no debugger UML IDE
      5. Projects that are small enough to be tackled by an individual do not need complex tools or extensive documentation -- just a vision and iterating towards that vision.
      6. Like chopping a bike or crafting an essay,
      Jenkins writes programs the way I work on this web site and its software -- and we are not alone.

      However on some problems I'm happy to make use of some powerful methods I've learned over the years -- often involving discrete mathematics.

      And now for something completely different -- how students have used mathematics (using the Z notation) to find errors in the software requirments specifications:


      1. Patricia Hasson & Stephen Cooper
      2. A Case Study Involving the Use of Z to Aid Requirements Specification in the Software Engineering Course
      3. IEEE 17th conference on software engineering education and training CSEET'04 (2004)pp84-94 CR 0606-0664 (In the IEEE Digital library at [ CSEE.2004.1276515 ] )
      5. When students take previous projects, done by others, and express the specs in Z the discover errors.
      6. Graphics and user interface details are not part of Z, tell students to omit them.
      7. Need to add to the library of fundamental data types - decimals & text.
      8. Prerequisite: LPC.
      9. (dick)|-Online copy has a non-Z font. Many symbols changed from Z Reference Manual. [Spivey01]
      This paper lead me to the online reference manual and a pleasant morning reviewing it and comparing it with my [ maths/ ] MATHS notation.

      My goal in more complex situations, was to be able to express my vision of the problem, and how I might solve it in the simplest way that could possible work. My belief is that this involves seeing the problem as part of a situation and understanding that situation. Often the best thing to do is avoid or reroute around the obvious problem.

      What I'd like to have is more elegant ways to express complex situations.

      As an example of a minimal way to express a complex doamin, I often draw a simplified Entity-Relationship Diagram: No boxes, no attributes, no arrows -- just lines with the "1" end at the top and the "many" end at the bottom. This is done roughly in pencil, chalk, or erasable white board marker. Then I can map it into databases, code, or whatever is needed.

      2006-07-11 Tue Jul 11 09:07 Gamma Prototype full search of bibliography

      I've just hacked up a very rough first prototype of a bibliographic search [ bibfull.php?search=winograd ] (for example) that shows the complete entry (as raw MATHS) for the matching items. It will generate large pages...

      2006-07-11 Tue Jul 11 08:07 A couple of items from the IEEE Magazine on Web technology


      1. Hamid R Motahari Nezhad & Boualem Benatallah & Fabio Casati & Farouk Toumani
      2. Web Services Interoperability Specifications
      3. IEEE Computer Magazine V39n5(May 2006)pp24-32
      5. MetaSpecifications define a language that is used to specify a property of a system -- e.g. security or QoS.


      1. Keith Smith (microsoft)
      2. Simplifying Ajax-Style Web development
      3. IEEE Computer Magazine V39n5(May 2006)pp98-101
      4. =ADVERT Atlas MicroSoft Beta Ajax ASP.NET
      5. Ajax uses Javascript and XML to provide web applications that respond more like local desktop ones.
      6. Claim: Atlas does it better and simpler . [ http://atlas.asp.net ]
      7. Demo: a customizable web page where user can add gadgets.

      2006-07-11 Tue Jul 11 06:07 More on the language-action perspective

      I'd like to wrap my reading on the papers in the May edition of the Communications of the ACM. The perspective is a way of looking at the interactions and collaborations that occur between humans and a way of designing constructive patterns of interaction. Part of the perspective is the belief that expert (intelligent) cooperation requires a subtle awareness of context -- something that is more human than artificial. [ Language-Action_Perspective ]

      I like the fact that it is focussed on the world outside the computer.

      The papers include

      LAP Papers May 2006


        1. Hans Weigand
        2. Two decades of the Language-Action Perspective
        3. Commun ACM V49n5(May 2006)pp45-46
        5. Refers to [WinogradFlores86] as based on Goran Goldkull and Kalle Lyytinen's work on how information technology can improve human communication.
        6. Conversation for action = loop( request, agreement, fulfillment, ...).
        7. Communication is about changing the real/social world, developing a shared understanding, hence leading to trust.
        8. See [ DenningDunham06 ] [Winograd06] [Goldkuhl06] [Dietz06] etc..


        1. Terry Winograd
        2. Designing a new foundation for Design
        3. Commun ACM V49n5(May 2006)pp71-73
        5. Refers to [WinogradFlores86]
          1. Argued that AI misses the importance and subtlety of human communication.
          2. Information is more than data... it is communication -- which involves skillful handling.
          3. Language is action ... and closely tied to commitments and expectations.
          4. Problems of trust, commitment, bridging difference, etc..
          5. Four phase cycle between two participants leading to action and building trust.

        6. Implications for designing useful software... researched in 1986..2006.
        7. Software as transparently mediating usefully structured communication and collaboration.


        1. Goran Goldkuhl
        2. Action and Media in interorganizational Interactions
        3. Commun ACM V49n5(May 2006)pp53-57
        5. Stresses to two-way flow of values -- actual or future: e.g. payment and service.
        6. Restates 4 phase action workflow loop: preparation; negotiation; performance; acceptance.
        7. Focus on inter-business interactions/workflows.
        8. Information technology as a mediating.
        9. Who is in control of each phase?


        1. Jan L G Dietz
        2. The deep Structure of Business Processes
        3. Commun ACM V49n5(May 2006)pp59-64
        5. Used the language action perspective to analyze and design interactions.
        6. Sample diagrams and jargon not well defined.
        7. Distinguishes language acts from performing acts.
        8. Mentions communication facts and performance facts... but not defined.
        9. Goal to extract the essential map of a process as a basis for discovering opportunities and designs.

      . . . . . . . . . ( end of section LAP Papers May 2006) <<Contents | End>> The above reffer back to:


      1. Terry Winograd & F Flores
      2. Understanding Computers and Cognition
      3. Ablex, Norwood NJ 1986
      5. Reference in [Winograd06]

      2006-07-10 Mon Jul 10 06:07 Operating system Designs

      A couple of articles related to idea for operating systems. The first is about methods that increase the security and reliability of software by sacraficing performance, and the second is about replacing threads by higher level concepts that are more reliable.


      1. Andrew S Tanebaum & Jorrit N Herder & Herbert Bos
      2. Can we make operating systems reliable and secure
      3. IEEE Computer Magazine V39n5(May 2006)pp44-51
      5. Basic problem is protecting address spaces from intruders without causing too large an overhead


      1. Edward A Lee
      2. The Problem with Threads
      3. IEEE Computer Magazine V39n5(May 2006)pp33-41
      5. Replace threads by higher level abstractions.
      6. Example of problems with the Observer pattern when multithreaded fixed by a higher level language expression.

      2006-07-09 Sun Jul 9 11:07 Open Source Projects

      There was an interesting survey of how to assess the quality and value of open source communities in the IEEE Computer Magazine:


      1. Kevin Crowston & James Howison
      2. Assessing the Health of Open Source Communities
      3. IEEE Computer Magazine V39n5(May 2006)pp89-91
      5. Assess the stage in the life cycle, the size, and the shape of the community.
      6. 10 is about the mode for size.
      7. Mature groups are structured in shells like an onion.
      8. Growing community means more time spent synchronizing -- many projects don't make it past the "one developer=user" stage.
      9. Has the community survived the transition in the leadership -- e.g. founders becoming inactive?
      10. Who provides the infrastructure (a necessary but boring function)?

      2006-07-07 Fri Jul 7 08:07 EMail and a paper on Innovation from the Language-Action Perspective

      During JUly I'll be at home most days -- got to my office once a week unless something special comes up like a thesis deffence. This means I'm communicating over a slow line with an obsolete iMac. This means that normally my responses will be delayed unless something truly urgent comes up.

      As always you may see your message and my response appear as part of this blog.

      Now, this weeken promisses to be worse because the campus is again trying to move the EMail storage to a new disk drive. While this is going on I'll probably be locked out from even reading my EMail. So, until Monday (at least) I'll be pleasantly isolated from CSUSB Email.

      I've been reading the Communications of the Association of computing machinary which has some articles on the Language Action Perspctive that is a way of thinking about communication. As far as I can tell it implies that communication between humans always implies commitments and response to actions: action and language are deeply intertwingled. For example when most people EMail me they are hoping that I will not just reply ... but that I will do something for them --- buy a product I don't need, or turn up at a meeting. I'm probably misunderstanding the subtleties if this perspective. See [ Weigand06 ] above for more. Here is one of the results of this research.


      1. Peter J Denning & Robert Dunham
      2. Innovation as Language Action
      3. Commun ACM V49n5(May 2006)pp47-52
      5. Based on the Language-Action Perspective [Dennning03]
      6. Innovation is more than invention: innovation changes what people do.
      7. Most innovation is a normal process.
      8. Some innovations are bad and are|should be abandoned.
      9. Innovation size is measured by the number of people involved: 4..4M
      10. Innovation takes time.
      11. Most Innovations are incremental not radical.
      12. (dick)|-Viral innovation is effortless.
      13. Stresses the need to observe what is going on and listen to criticism during development.
      14. Claims there are seven skill areas or practices that can be learned that are needed: Sensing, Envisioning, Offering, Executing, Adopting, Sustaining + Leadership.
      15. Non-verbal communication ( body language, tone of voice, ...) are the most important part of these skills.
      16. Gives examples, tables, and references.
      17. (dick)|-the 7 practices fit perfectly into the classic SDLC(Software Development Life Cycle).
      18. Does not mention subversive innovations as in "The Inventors Dilemma".
      19. Can it handle sabotage?
      20. Used in my CS372 course 2006

      2006-07-06 Thu Jul 6 08:07 UML in Practice

      Visiting my office briefly this morning....


      1. Brian Dobing & Jeffrey Parsons
      2. How UML is Used
      3. Commun ACM V49n5(May 2006)pp109-113
      5. Frequency of diagrams/narratives use varies a lot between teams/projects.
      6. At least Half the projects are not use case driven --- more class diagram usage.
      7. Clients are involved in most diagram types.
      8. Use case narratives are used >70% by analysts and programmers.
      9. Use case naratives do not capture all requirements.
      10. UML is complex and could be understood better.

      2006-07-05 Wed Jul 5 07:07 Recent Readings: Metrics, Practices, UML. Etc.

      Here are some of the better things i read either in England or over the July 4th break.


      1. Steve Counsell & Stephen Swift & Jason Crampton
      2. The Interpretation and utitlity of three cohesion metrics for Object-Oriented Design
      3. ACM TOSEM Trans Software Eng & Methodology V15n2(Apr 2006)pp123-149
      5. Notes the lack of definition of OO cohesion comparedto Constantine and Myers definition for "structured" code in 1979.
      6. CAMC, NHD, and SNHD measure the extent that all methods in a class have similar signatures.
      7. (dick)|-does not refer to Larman's description and use of High Cohesion as a design pattern/principle using sequence diagrams [Larman04b].


      1. Diane Kelly
      2. A Study of Design Characteristics in Evolving Software using stability as a criterion
      3. IEEE Trans Software Engineering V32nt(May 2006)pp315-329
      5. Argues tha stable properties of source code indicate good design patterns.
      6. Studied software for aiding design of reactors started in 1975 and still successful and maintained in 200+.
      7. Typical scientific application -- developed by scientists who are not software engineers.
      8. Large piece of software: 15..61 kLOC. 116..295 modules. 55..119 common blocks. 5,000 variable names. 613..1625 variable names in common blocks.
      9. One base-line version and 3 later versions.
      10. Most measures of size increased.
      11. Two kinds of variation: base vs evolved, plus difference between evolved versions.
      12. Proposes formulae for estimating the variabilities of various measurements of code as it changes: distance and variation.
      13. Indicates that meaningful domain-based names are stable and so probably a good idea.
      14. Another pattern is the existence of blocks of dta that are essentially global -- accessed by most modules.
      15. Did not study any of the standard metrics.
      16. Did not apply Constantine and Myers scales of cohesion or coupling.


      1. Lee Pike
      2. A Note on the inconsistent axioms in Rushby's "Systematic Formal Verification for Fault-Tolerant Time-triggered Algorithms"
      3. IEEE Trans Software Engineering V32n5(May 2006)pp347-348
      5. Refers to J. Rushby's paper in IEEE Trans Software Engineering V25n5(May 1999)pp651-660
      6. Evidence that it is difficult to get axioms right, and that social processes correct and improve them... not tools and logic.
      7. The axioms model the behavior of clocks.
      8. The PVS tool was used to test for consistency by constructing a model that satisfies the new axioms.


      1. Mark Doernhoefer
      2. Surfing the net for software engineering notes: The semantic Web
      3. ACM SIGSOFT Software Engineering Notes V31n3(May 2006)pp8-16
      5. Links [ sw ] [ swintro ] (introductions), [ uri-schemes.html ] [ RDF ] [ owl-features ] [ http://www.daml.org ] [ rdf-sparql-query ] [ j-sparql ] [ index.html ] [ j-jena ] [ http://powl.sourceforge.net ] [ http://protege.stanford.edu ] [ SWOOP ] (editors) [ http://dublincore.org ] (DCMI) [ home ] [ URI ] (URIs must be static.... Tips)


      1. Lori A Clarke & David S Rosenblum
      2. A Historical perspective on runtime assertion checking in Software Development
      3. ACM SIGSOFT Software Engineering Notes V31n3(May 2006)pp25-37
      5. Excellent bibliography on pages 34-37


      1. Dianxiang Xu & Kendall E Nygard
      2. Threat-driven Modelling and verification of secure software using aspect-oriented Petri Nets
      3. IEEE Trans Software Engineering V32n4(Apr 2006)pp265-278
      5. Proposes common Petri net based models for both intended functions, security threats, and the mitigation of threats.
      6. Threat mitigation is woven into design for the intended functions.
      7. Shows how to apply aspect-oriented ideas to Petri nets rather than code.
      8. (dick)|-Should provide template for aspect-oriented activity diagrams?


      1. Colin Snook & Michael Butler
      2. UML-B: Formal modeling and design aided by UML
      3. ACM TOSEM Trans Software Eng & Methodology V15n1(Jan 2006)pp92-122
      5. Idea: To help practitioners understand B use UML.
      6. Tried Class diagrams and state machines.
      7. B Machines shown as package containing class diagram and a table of operations, guards, and actions in B.
      8. Associations appear as relations and maps like in Z.
      9. μ-B = micro-B for actions and constraints.
      10. UML-B profile. Includes create, delete, and subroutine stereotypes. Plus some tagged values.
      11. Specialization/generalization models refinement in B.
      12. State machines mappedto B machines with "SELECT..., THEN...".
      13. page 114: Proposes an alternative mathematical model of state machines. For each state in machine define a set of objects: the objects currently in that state.
      14. (dick)|-This was in [Weinberg75].


      1. David Basin & Jurgen Doser & Torsten Lodderstedt
      2. Model driven security: from UML models to access control infrastructures
      3. ACM TOSEM Trans Software Eng & Methodology V15n1(Jan 2006)pp39-91
      5. Extends RBAC using UML metamodeling.
      6. RBAC::= Net{Users, Roles, Permissions: Sets. POSET(Roles, <=). UA:@(Users, Roles). PA:@(Roles, Permissions). AC:=UA o <= o PA.}.
      7. A user u can only execute action a iff u AC a
      8. Extend RBAC by adding hierarchy of Actions.
      9. Shows how to generate complex & secure code by translating a UML model with SecureUML profile.


      1. Daniel Jackson
      2. Dependable software by design
      3. Sci american V294n6(Jun 2006)pp58-65


      1. Rik Eshuis
      2. Symbolic Model Checking of UML Activity Diagrams
      3. ACM TOSEM Trans Software Eng & Methodology V15n1(Jan 2006)pp1-38
      4. =DEMO V&V SQA Model checking UML1.5 activity diagrams NuSMV PLTL-X
      5. Page 8 describes the shift in semantics from UML1.5 to HML2.0 but not the state machine vs activity diagram ambiguity in UML2.0.
      6. Describes two translations into hypergraphs using WAIT states --activity machines.
      7. Hypergraph:=Net{Node:Set, Hyper_Edge:Set, source:Hyper_edge->@Node~{{}}, target:Hyper_edge->@Node~{{}} }.
      8. Defines two semantics: maximal parallel instantaneous unqueued actions vs queued single-event steps-take-time.
      9. Shows these equivalent in special cases.
      10. Claims to derive CRUD constraints from activity+class diagrams. Evidence is weak.
      11. Tool shows that the queued single-event semantics does not scale. 19 activities is too many.


      1. Catherine Courage & Kathy Baxter
      2. Understanding your user: a practical guide to user requirements
      3. Morgan Kaufman SF CA 2005 ISBN 1-55860-935-0 QA76.9H85C69
      5. comprehensive


      1. Johann Rost
      2. Are "Best Practices" Requirements a myth
      3. IEEE Software Magazine V23n3(May/Jun 2006)pp104+103
      5. IEEE Standards documentation raises many questions.
      6. A search for exemplary project documents according to the standards uncovered no examples of traceability.
      7. Mailing list question: how to identify and trace use case case. Result -- discussion of alternatives but no standard answer.
      8. Where is the evidence that best practices can be practiced?


      1. Per Runeson & Carina Andersson & Thomas Thelin & Anneliese Andrews & Tomas Berling
      2. What do we know about defect detection Methods?
      3. IEEE Software Magazine V23n3(May/Jun 2006)pp82-90
      5. Use inspections for requirements and designs. Use testing for code.

      2006-07-05 Wed Jul 5 05:07 Back in the USA

      Arrived back from visiting my 89 year-old mother in England last Friday. Next time: 90th birthday party!

      Last night we went up on a nearby levee and watch the firworks going off all round the valley from Redlands thru to Colton. Great... next year we take binoculars.

      I've been catching up on my professional readin and will post these later.... now to get an auto serviced for the summer.

      2006-06-21 Wed Jun 21 10:06 End of Spring...

      Submitted my grades yesterday and started tidying up the term -- filing materials for assessment and accreditations, filing finals and scoring during the quarter as evidence, moving notews in to remoter sheling, and putting materials for Fall quarter where it is easy to grab.

      Then to the Santos Manuel Casino for a buffet lunch given to honor Dr. Concepcion's service as Chair of Department.

      This morning I've been planning and packing for my anual trip to England. A fairly complicated process of trying to take everything but without having to carry too much or have anything dangerous in my carry on luggage -- like a pair of nail scissors or the smallest Swiss Army knife. Also deciding what books to take: to read on the flight and to study at home.

      2006-06-19 Mon Jun 19 08:06 Commencement June 2006

      Despite the the 90-100 degreee temperature a pretty good time was had by all. We had spread the word to meet under the trees by the fountains and here [ 20060619Commencement.JPG ] is a photograph of half a dozen graduates and faculty who met there.

      I've come in today to sort out any problems with scores and grades. But I forgot my computer glasses so I'll probably go home early.

      2006-06-14 Wed Jun 14 16:06 Found Polya

      George Polya's little book ( [Polya88]) was hiding behind the printer in my office. I found a edited summary of two pages from it on my Tungsten Palm and uploaded it to [ samples/polya.html ] and I'm now thinking about fitting this scheme into the documentation in the MATHS language. I've been to closely focused on the logic and not enough on the mathematics.

      For the reading of the day -- how project estimates differed from what happens:


      1. Todd Little
      2. Schedule Estimation and uncertainty surrounding the Cone of Uncertainty
      3. IEEE Software Magazine V23n3(May/Jun 2006)pp48-54
      5. The ratio actual/estimate of development time had a lognormal distribution with mean 2.0 and median 1.8 independent of weekly progress or project.
      6. (above)|-log(actual) distributed Normal(log(estimate), unknown).
      7. :. Quote estimate errors as ratios not "+/-".
      8. Expected is about twice the estimate. Tho' some multiply by π.
      9. 90%/10% is about 4.
      10. (dick)|-evidence for the Hartree constant.

      2006-06-13 Tue Jun 13 17:06 So, how hard is it to write a program

      Well the latest theoretical result shows that sometimes it is plain impossible to cope with the environment surrounding a program/agent:


      1. M Wooldridge & P Dunne
      2. The complexity of agent design problems: Determinism and history dependence
      3. Annals of Mathematics and Artificial Intelligence V45n3-4(2005)pp343-371
      5. Examines how hard it is to construct agents that achieve certain goals despite the activity of the environment in which they are embedded.
      6. Environments that can use their history to choose a response to the agent are the environments where there is no algorithm to test if an agent exists or not.
      7. When we require that the agent gains control in a given time the problem is computable but intractable.
      8. When the environment can only use a finite state memory and is bounded then the problem is in polynomial time bounded.
      I'm writing a proper review of the above for CR. The above is a chunk I deleted from it.

      Also thinking about the distinction between Poly's "Problem to Prove" and "Problems to Find". I'm now confinced that focussing too hard on symbolic/formal logic and the Predicate Calculi in particular makes it very hard to handle "Problems to Find". Which is sad that wffs like

    10. for all x, some y ( blah blah ) are often best tackled as a problem to find y for a given x.

      It seems possible that algebra fills in the blank some how here. More when these ideas get better cooked.

      2006-06-11 Sun Jun 11 10:06 Fantastic Concert last night

      The San Bernardino Syphony held the last concert of the season: the quirky but charming Suite Number 1 by Stravinsky, Beethoven's "Emperor" piano Concerto, and Berlioz's Symhonie Fantastique. Then a very pleasant "Afterglow" in the new "party" room at the California Theater. Excellent music. There was also an improvised performance by a Piano Technician trying to fix a broken key on the piano which made the concert as a whole run late. Still groggy this morning... but glad to have gone.

      As this was the last concert of the 2005-2006 season, I've updated [ symphony.html ] (my unofficial symphony page) to show the 2006-2007 season. This promises to be another series of uplifting and exciting performances of classical music -- including a homage to Disney's Fantasias.

      Meanwhile reading a paper that I'm reviewing for CR on the complexity of constructing to programs to fit their environments. It turns out that in general, i is not possible to decide whether or not a given specification can be net by any agent. On the other hand when the environment is simpler the decision is quite tractable.

      This fits with my experience: some problems are easily solved by a program, but others turn out to be surprisingly difficult.

      2006-06-09 Fri Jun 9 09:06 Software Engineering notes March 2006

      While waiting for the seminars to start [ seminar/ ] I'm looking at a useful resource:


      1. Mark Doernhoefer
      2. Surfing the Net for Software Engineering Notes: Requirements Management
      3. ACM SIGSOFT Software Engineering Notes V31n2(Mar 2006)pp17-25 [ 1118537.1118553 ]
      5. Excellent survey of resources on the web [ http://www.jiludwig.com ] [ requirements_management.htm ] [ index.php ] [ reqtracing.html ] [ AgileArticlesCatSearch?category=Requirements ] [ read.php ] (tools) [ p2_req.htm ] [ life_cycle_management.jsp ] [ Methodology ] [ reqanalysis.html ] [ http://www.telelogic.com ] [ reqfrm.htm ] plus lots more...

      2006-06-08 Thu Jun 8 10:06 Pegasus Sighting

      I'm please to announce that another classic computer that I worked on while an undergraduate is still running [ 1900747405.pdf ] at the London Science Museum. I spent many happy hours seated at the consul of a Feranti Pegasus the middle 1960's while working for the British Iron and Steel Research Association (BISRA) HQ.

      Meanwhile it is the 200th anniversary of the engineer for whom my alma mata was named: [ http://www.sciencemuseum.org.uk/exhibitions/brunel/ ]

      Meanwhile, back in the new milenium, Rebecca Wirfs-Brock has published an article arguing for flexibility in defining and applying patterns.


      1. Rebecca J Wirfs-Brock
      2. Refrfeshing Patterns
      3. IEEE Software Magazine V23n3(May/Jun 2006)pp45-47
      5. Since languages evolve, so do patterns.
      6. In particular, the GoF patterns should be taken with a grain of salt.
      7. First the book should be updated to use UML not OMT.
      8. Quotes from the authoprs make it clear that the diagrams are examples that need adapting to particular purposes.
      9. The Composite pattern, for example, had a diagram that was controversial with the abstract class "Component" definining operations that only make sense in the concrete "Composite" class.
      10. Interfaces would make many patterns cleaner and simpler.
      11. Three versions of the Composite pattern.
      12. (dick)|-The need for republishing the book with UML is demonstrated well. There is a UML vs OMT confusion in Figure 1 and 2. The role name "children" is at the OMT end of the aggregation. Also in figure 1 the constraint "{abstract}" is shown as stereotype "<<abstract>>".
      Here are links to my interpretations of the three figures: [ GoFComposite.gif ] (figure 1), [ W-BComposite.gif ] (figure 2 using an interface), [ KerievskyComposite.gif ] (figure 3 -- a leafless Composite).

      Quote Of The Day: "What we need is notions not notations" (Gausse).

      2006-06-06 Tue Jun 6 13:06 Two more articles on Requirements

      The first one presents a comprehensive plan for documenting the usage of a piece of software:


      1. Erik Simmons
      2. The Usage Model: Describing Product usage during design and development
      3. IEEE Software Magazine V23n3(May/Jun 2006)pp34-41
      5. Puts together many different kinds of usage modeling techniques into a 3 tier framework -- Figure 1.
      6. Describes three types of product drivers: Business, Technology, and Usage. Good products fit all of these. Usage defines the connection between technology and business.
      7. Distinguishes goals (I don't want to feel stupid) from features (intuitive HCI) and tasks(add an X to a Y).
      8. Three tiers: Supporting data + Overview + usage details.
      9. Supporting data: personas, demographics, use conditions, ethnographic data.
      10. Overview: Road-map, storyboards, concept and context diagrams, user experience landing zone.
      11. Details: use cases, scenarios, user task flows, operational profiles.
      12. Road-map: shows how usage is expected to evolve.
      13. User experience landing zone: Table -- each row shows, an area plus the "outstanding", "target", and "minimum" degrees of user experience.

      The second describes a project where video tape was use to study the existing system to clarify what was feasible.


      1. Marina Jirotka & Paul Luff
      2. Supporting Requirements with Video-Based Analysis
      3. IEEE Software Magazine V23n3(May/Jun 2006)pp42-44
      5. Video recording exposed the (tacit) complexity and value of the current system.
      6. Show video excerpts to designers!
      7. Page 44. Sidebar gives guidelines for using audiovisual equipment and analyzing video recording.
      8. Video recording raises ethical concerns: get consent, destroy sensitive segments, keep recording confidential, destroy when done.
      9. Compare [JirotkaGoguen94]

      2006-06-05 Mon Jun 5 17:06 First of three readings on Requirements Engineering

      All three articles stress the importance of studying the environment into which the software must be fitted.


      1. Jaap Gordijn & Eric Yu & Bas van der Raadt
      2. e-service Design Using i* and e^3 value modeling
      3. IEEE Software Magazine V23n3(May/Jun 2006)pp26-33
      5. Complex diagrams expressing important ideas.
      6. Values are always exchanged.
      7. Obligations are always paired.
      8. Map how tasks & goals are related.
      9. Look for chains of value exchanges.

      2006-06-02 Fri Jun 2 15:06 Finals coming... depressing

      The time when I have to develop, print, .... and grade finals is my least favorite time in academic life.

      But here is the result of studying some projects in Alcatel:


      1. Chistof Ebert
      2. Understanding the Product Life Cycle: Four Key Requirements engineering Techniques
      3. IEEE Software Magazine V23n3(May/Jun 2006)pp19-25
      5. 4 technique associated with finishing embedded or application software products with less overrun.
      6. portfolio::= "depicts all products in the organization together with their market and investment etc.".
      7. Techniques
        1. Install an empowered core team for each release at its start.
        2. Focus life cycle on the early gate-reviews using portfolio as guide.
        3. Evaluate requirements from various perspectives.
        4. Assure dependable portfolio visibility and release implementation.

      8. project size/length not associated with higher %overrun.

      2006-06-01 Thu Jun 1 13:06 Emergent Architectures by Grady Booch

      Just read an article in IEEE Software Magazine by Grady Booch (architecture@booch.com). It looks like the first of a series.


      1. Grady Booch
      2. The Accidental Architecture
      3. IEEE Software Magazine V23n3(May/Jun 2006)pp9-11
      5. Notes that we don't have a comprehensive list of architectures for software.
      6. ... unlike buildings: Babylonian, Greek, ...
      7. Refers to Henry Petroski.
      8. Describes a history of the WWW architectural styles: Plain HTML, Eye-Candy, simple scripting, middleware, simple frameworks, rich-client | service-oriented architecture.
      9. Argues that architectural patterns emerge from a experience.
      Note: a pattern is defined as a commonly observed solution to a complex problem. They are rarely optimal or unique. As a rule there needs to be 3 pre-existing examples of a way of resolving some forces before you have a pattern.

      2006-05-31 Wed May 31 12:05 No Noun left unverbed -- dogfooding

      Nice little discussion on the wisdom or folly of a software company using the software that it is developing:


      1. Warren Harrison
      2. Eating your own dog food
      3. IEEE Software Magazine V23n3(May/Jun 2006)pp5-7

      2006-05-30 Tue May 30 12:05 Memorial Day Weekend Reading

      In between shopping, cleaning, and weeding.... I read a couple of papers about modularization. The first demonstrated a tool Bunch that uses dependencies between pieces of source code to partition the pieces into modules:


      1. Brian S Mitchell & Spiros Mancoridis
      2. On the Automatic Modularization of Software Systems using the Bunch tool
      3. IEEE Trans Software Engineering V32n3(Mar 2006)pp193-208
      5. MQ:="module quality"
      6. Partitions dependency digraph (small errors in definition on p194). Dependency is acyclic, nontransitive, and irreflexive.
      7. Heuristic search for acceptable partition. Finding the Best is expensive.

      The second is concerned with educational modules and takes the unreferenced work on Educational Objectives a step further:


      1. Bertrand Meyer
      2. Testable, Reusable Units of Cognition
      3. IEEE Computer Magazine V39n4(Apr 2006)pp20-24
      5. Truc::= Net{name, alternative_names, dependencies, summary, role, applicability, benefits, examples, common_confusions, pitfalls, tests_of_understanding}.
      6. Dependency is acyclic, nontransitive, and irreflexive.
      7. Includes "educational objectives".
      Odd that both give the same axioms for dependency -- in different words.

      On Monday I documented


      1. Raoul Jetley & S Purushothaman Iyer & Paul L Jones
      2. A Formal Methods Approach to Medical Device Review
      3. IEEE Computer Magazine V39n4(Apr 2006)pp61-67

      This morning I reviewed the latest edition of Computer Reviews (CR May 2006). I collect half a dozen items that I will record in my bibliography in the hope that sometime I'll be able to get to read them. The most interesting were a set of four on workflow models and designs. The 2nd edition of the UML LRM was also reviewed. I flag items that I discover but haven't yet read by adding "=UNREAD" to their descriptor.

      2006-05-26 Fri May 26 15:05 JPL Mission to Mars etc

      Good presentation at lunchtime today: [ seminar/20060526LarryBergman.pdf ] (PDF) [ seminar/20060526LarryBergman.txt ] (TXT).

      In the morning I wrote a PHP index script [ seminar/ ] which should make my data base of seminars and other presentations more useful to people. If you have a local Computer science presentation send me text for the flyer and I'll post it.

      Spent the afternoon chasing admin files all over campus. I always forget that different kinds of faculty (eg: part time vs full time vs tenure track) have files in different buidings. However -- good exercise and soem new views while walking towards the new chemistry building.

      2006-05-25 Thu May 25 08:05 Exciting day

      Yesterday the CSUSB campus had its "Faculty Recognition Lunch" which turned out to by quite interesting... lots of friends and acquaintances were recognized for being long serving, new, retiring, or outstanding. This year's CSUSB outstanding professor, Paul Dickson, gave an unexpectedly stimulating speech: he argued for a change in the rules for promoting faculty from Associate Prof to Full Prof. He suggested that at that level, a professor should be allowed to focus on two of the three criteria: Teaching + Professional Development + Service. The assumption is that after retention, tenure, and promotion decisions based on across the board "Competent" behavior, in the 2nd promotion level specialization would be good.

      It was a good argument. But I wonder whether the rules can be written so that they are (1) readable, and (2) handle special cases like myself who entered CSUSB as an associate professor and went thru promotion and tenure at the same time with only a short track record of all round competence.

      Later, I and the Dean of CNS did a little improvisational comedy as I got a certificate for being Outstanding CNS faculty for Instructionally related activities.

      A good time was had by all.

      Ironically the luncheon made it impossible to carry out the online preparation for one of my classes: Students send me questions they want answered and I place these on the web page and have time to work out the best responses. This time I had 5 minutes to plan some of the responses. Exciting.

      During my evening lab I downloaded some documentation on TeX and LaTeX and placed them in [ doc/ ] and updated the index page. This lead me to discover a bug in the translator I use to generate these pages. I fixed this small bug a few minutes ago. Exciting.

      2006-05-23 Tue May 23 13:05 Memories

      This time last year I was unconscious, on the operating table. The operation took 4 or 5 hours according to my journal. However, reading it was some how depressing.

      Meanwhile an example of tools that generate tools and environments. It also shows several types of UML diagrams:


      1. Gennaro Coistagliola & Vincenzo Deufemia & Filomena Ferrucci & Carmine Gravino
      2. Constructing Meta-CASE workbenches by exploiting visual language generators
      3. IEEE Trans Software Engineering V32n3(Mar 2006)pp156-175
      5. GXL::XML="Graph eXchange Language".
      6. MEG::Tool="Modeling Environment Generator".
      7. WoG::Tool="WOrkbench Generator".
      8. VLDesk::="Visual Language Desk"
      9. Figure 1 shows Cannallen's UML icon's for web components.
      10. Uses analysis/robustness diagrams with entity+interface+control classes.
      11. Examples of UML models of tools: meta-CASE.
      12. In usecase diagram replaces include by INCLUDED and extends by EXTENDED.
      13. Adds artifacts to activity diagrams and adds a dashed arrow indicating a constraints between artifacts.

      2006-05-22 Mon May 22 17:05 Trip to the library -- two good reference books


      1. Jenifer Tidwell
      2. Designing Interfaces(2nd edn.)
      3. O'Reilly 2006 Sebastopol CA ISBN 0-596-00803-1
      5. First twelve patterns: Safe Exploration, Instant Gratification, satisficing ("Don't make me think"), changes in midstream, deferred choice, Incremental construction, habituation(why not here too?), spatial memory, prospective memory (remind me of this later), streamlined repetition, keyboard only, other people's advice( what did others say?).


      1. Michael Knee
      2. Computer science and computing: a guide to the literature
      3. Libraries Unlimited Westport CT 2006 ISBN 1-59158-160-5 Z5640.K56 QA78 Z6244
      4. =SURVEY
      5. A place for students to start a literature survey... where to look to find out what has been published on computing.

      2006-05-20 Sat May 20 08:05 Discovery is not proof

      As a result of twice getting to the right idea but not following thru in some problems I've been working on I'm still thinking about reasoning and thinking. Two different things!

      Logic and rigorous formal reasoning helps you to be sure that you've drawn the right conclusion. But the difficult part is often jumping to that conclusion in the first place. Unless of course you have done lots of examples already or you have a genius wispering in your ear (as the Greeks put it).

      Sometimes the hardest part of a proof is discovering or creating a new way to think about the problem to fill in a gap.

      It is just like the definition of NP problems: if you know the answer it is easy to check it... the tough bit is navigating thru an exponentially growing familiy of possibilities... or jumping over all the dead ends.

      Humanity tends to use massive parallelism to do this quicker: a large number of researchers put up hypotheses and these are checked by large numbers of other researchers.

      2006-05-19 Fri May 19 14:05 PSP Thesis Defence + MS Projects + ΤΕΧ

      PSP [ seminar/20060519PaulConrad.txt ] [ seminar/20060519PaulConrad.ppt ] (PowerPoint)

      ΤΕΧ [ seminar/20060519KeithSchubert.html ] [ seminar/20060519KeithSchubert.txt ]

      Restaurent Reccommendations System [ seminar/20060519TaiJingLin.txt ]

      Flight Ticket Ordering System [ seminar/20060519Ching-TingHuang.txt ]

      2006-05-18 Thu May 18 13:05 Thinking about Mathematics and Computer Science

      First an interesting essay in the IEEE Computer Society's main magazine:


      1. Janusz Kowalik
      2. The applied mathematics and computer science schism
      3. IEEE Computer Magazine V39n3(Mar 2006)pp104+102-103
      5. Computer scientists miss lots of good algorithms if they don't do applied mathematics.
      6. Applied mathematicians miss lots of tools and technology if they don't study computer science.
      7. Studying mathematics helps one to be a more rigorous thinker.
      8. (dick)|-what do you mean by "rigorous thinker"?

      As I drove back from the hospital yesterday morning (good news: cancer has stopped growing, no need to return for 6months) I thought about the difficulties I have with "literate" proofs in mathematics books.

      I was brought up on arithmetics, algebra, Euclid, and Principia Mathematica. It was only later I got to eta-delta style proofs. Then I discovered that they made more sense if written down using symbolic logic... and then that Kalish and Montague had published a text book that cheerfully and formally goes all the way up to integration....

      Recently I went back to this style to try and understand a proof of a theorem in computational complexity. If your interested in the kind of rigorous proof I mean see [ cs546/14.html#Ch 9, ch10 pp 422-423 -- Theorem 10.4 ] and you compare it with the original on pages 422 to 423 of Hopcroft, Ullman, Etal...

      So when I see people stating that mathematics helps you think rigorously, I wonder what they mean by mathematics.

      I'm also thinking that Computer Science needs a Euclid -- an axiomatic, bottom up treatment of the theory and practice of computing.

      2006-05-16 Tue May 16 13:05 Service Oriented Computing

      A hot new buzz phrase is "SOC" or "Service Oriented Computing" which seems to be about using large numbers of protocols to enable distributed processes to find each other and computer beautiful things together. The major problems semm to be the grand unsolved problems of software engineering:
      1. Semantics: how to communicate meaning.
      2. Quality: how to specify speed, reliability, ....

      The article that inspired the above was


      1. Martin Bichler & Kwei-Jay Lin
      2. Service Oriented Computing
      3. IEEE Computer Magazine V39n3(Mar 2006)pp99-101

      2006-05-15 Mon May 15 17:05 Graduate presentations this week

      1. May 15th - Catharine Hoaglund 2:00pm JB 360 [ seminar/20060515CathyHoagland.txt ]
      2. May 17th - Feng Hu 1-2pm JB 391, Hao Yu 2-3pm JB 359 [ seminar/20060517HauYu.txt ]
      3. May 18th - Li-Chuan Fang 10 - 11am, JB 391, Lu-Yi Wu 2-3pm JB 391, Yu-Luen Lin 3-4pm JB 391 [ seminar/20060518.txt ]
      4. May 19th - Paul Conrad 10-11am JB 391 [ seminar/20060519PaulConrad.txt ] , Chien-Yuan Huang 4-6pm JB 391 [ seminar/20060519Ching-TingHuang.txt ]

      2006-05-12 Fri May 12 10:05 Changed Syntax in MATHS

      Continuing to spring clean the notation I use for generating the web pages (MATHS). I'm sharpening the syntax. I'd hoped to develop a smart enough parser to spot a math formula and parse it. But I've been forced to use indentation to do it in the current prototype. Now, I've decided to distingush between formulas/expressions from ordinary bullet points, items in lists, elements in sets, etc. from formula.

      The rule is: indent formulas with a tab and items/elements/points by a space.

      The official change is in [ indentation in notn_13_Docn_Syntax ] and is now having a ripple on effect on the rest of my web site...

      2006-05-11 Thu May 11 16:05 Power outage leads to network glitches

      The campus and the surrounding parts of town lost power lunch time yesterday. There was a nashing of teath and screams in the computer science faculty... but the power was back an hour later.... but the various networks have been showing intermittent outages and at least one server has lost contact with incoming EMail... But we are surviving.

      The CSCI dept is boiling up for a week of Masters Thesis defences and Project presentations. A busy time for all.

      Meanwhile, here is a note on ways to make standards more attractive to people


      1. Erik Duval & Wayne Hodgins
      2. Standardized Uniqueness: Oxymoron or Vision of the Future
      3. IEEE Computer Magazine V39n3(Mar 2006)pp96-98
      5. The IEEE1484 standard specifies the information to be recorded about "Learning Objects": artifacts that help you learn.
      6. The standard is MODULAR separating logical structure from physical bindings.
      7. The standard defines many data elements in a hierarchical data model but every part is optional.
      8. How to make the metadata invisible?
      By the way I am consolidating all my notes (like the above) into my searchable bibliography, see [ bib.php?search=METADATA&from=blog20060511 ] to search for similar publications.

      2006-05-09 Tue May 9 16:05 A Little nostalgia

      Having seen such a very good image of an [ Elliott 803 ] I am reminded of the first time I met one. I had just started at university when we were taken to the computer room to input and run our first program (it read a number and output its square). I had know problem punching the tape -- I'd played with teleprinters while at secondary school, but then we had to input the right command (40 7) in binary on the buttons on the console. I missed a button. The computer wiped its memory. So I was told to reinput the translator: a very long paper tape. I did that and then was told to rewind the tape -- which I did in a hurry and tour it to shreds. So the teacher looks at me and says "Where do we get another compiler?"

      And after a dramatic pause....

      He turns round and opens a drawer that has 6 copies of the compiler ready to be ruined by students...

      So, with a start like that, why should I expect computers to get any easier?

      2006-05-09 Tue May 9 16:05 Mobile devices are special...

      A couple of observations about mobile computerized systems showing that they need special programming. First an article on the problem of network latency -- even given high bandwidth:


      1. Niraj Tolia & David G Andersen & M Satyanarayanan
      2. Quantifying Interactive User Experience on thin clients
      3. IEEE Computer Magazine V39n3(Mar 2006)pp46-52
      5. Users expect a crisp response on simple tasks, but a thin clients need to use the network to do them.
      6. Latency is important as well as bandwidth.
      7. Proposes stateless thick clients that download/upload a virtual machine that caches the user's PC.
      And next the thought that with small screens and distracted users you need special techniques to display data.


      1. Luca Chittaro
      2. Visualizing information on Mobile Devices
      3. IEEE Computer Magazine V39n3(Mar 2006)pp40-45
      5. Need to create new ways to display data on mobile device.

      2006-05-09 Tue May 9 12:05 Seminar last Friday and some good news

      My seminar last friday [ seminar/20060505.txt ] went quite well. Ken Han took a couple of snaps and here [ seminar/20060505.JPG ] is a 96K JPEG of one moment.

      Meanwhile -- good news about my cancer. The hormone injections seems to have stopped it growing.

      2006-05-08 Mon May 8 13:05 Upgrade to MATHS

      I've started a new iteration of my "mth2html" translator as I continue to experiment with simple ways to encode discrete mathematics and logic. I've also continued to improve the set of pages on proofs: [ maths/logic_2_Proofs.html ] by extracting my notes on semantic tableaux [ maths/logic_27_Tableaux.html ] into a new page.

      The translator now uses

       		<span class="Formula">....</span>
      rather than itelaics to delimit formula.

      I've also abandonned allowing formulae to spread over several lines. This should lead to a significantly easier to understand syntax.

      2006-05-05 Fri May 5 07:05 The Undead Computer -- An Elliott 803

      Once upon a time(1963..197?), in a country far, far away(UK) I worked on a computer numbered 803 by Elliott Bros. The Elliott 803 was not a fast machine. It used transistors and printed circuits. But it had a clean (and simple) architecture, no operating system, and some really good systems programmers. If you'd like to see what it looked like go to [ http://www.btinternet.com/~Peter.Onion/E803/ ] (Peter Onion's advert for his Linux Emulator).

      The images a realistic -- I reached out with my mouse and clicked the buttons needed to launch the Algol compiler without thinking.

      I am now slightly stunned.

      2006-05-04 Thu May 4 16:05 Seminar Tomorrow

      I've promised to bring Donuts and Cookies to my seminar [ seminar/20060505.txt ] on Friday at 10am. This is to celebrate being named the College of Natural Science's Outstanding Faculty member for Teaching.

      Meanwhile a tantalizing book about good management:


      1. Howard Eisner
      2. Managing Complex Systems: Thinking Ouside the Box
      3. Wiley Hoboken NJ 2005 TA168.E387 ISBN-13 978-0-471-69006-1 ISBN-10 0-471-69006-6
      5. Many interesting ideas and pointers to details but a little thin in places.

      2006-05-01 Mon May 1 16:05 Business Process Modelling

      On Friday I found the O"Reilly book on BPM in the library. Not withstanding a cold I was able to read through it quickly. It has some interesting patterns found in business processes plus an exhausiting study of some of the standards.


      1. Michael Havey
      2. Essential Business Process Modeling
      3. O'Reilly Media Sebastopol CA 2005 T 58.64 ISBN0-596-00843-0
      4. =HANDBOOK workflow Business Process Modeling theory pi-calculus petri patterns languages STANDARDS XML BPM UML? YAWL P4
      5. Standards include BPEL BPELJ BPMN BPML XPDL WAPI WfXML WS-CDL WSCI WSCL ... languages and diagrams for modeling business processes.
      6. Useful list of business process patterns including 20 from P4 (M Dumas + A H M ter Hofstede + B Kiepuszewski + A P Barrios " Workflow Patterns" TR Eindhoven U of Technology 2003, Distributed and Parallel Databases V14n1(2003)pp5-51)
        1. Basic: Sequence, Parallel split & join, Exclusive choice/XOR and simple merge
        2. Advanced branch and join: multi-choice/or and synchronized merge or multimerge. Discriminastor and N-out-of-M Join
        3. Structural: Arbitary cycles/goto, implicit termination(branches need no end marker).
        4. Multiple instances: unsynchronized, synchronized (know how many at design time or at run time, or unknown number).
        5. State-based: defered choice (nondeterminism), interleaved parallel routing (unordered execution of each element once), Milestone (bracketted repetition)
        6. Cancelation: cancel activity, cancel case

      7. More patterns:
        1. Communication: receive request, call parner, wait for response, unsolicited event, corelated response, dynamic partner
        2. Human workflow: Prioritisation and escalation {delayed tasks become more important and may be taken over by anotherr person(boss)}, Roles compete for task (AND....1 out of 3)

      8. (dick)|-buffered vs unbuffered communication

      2006-04-28 Fri Apr 28 14:04 Weekend EMail + Wikis in Software Development + More

      Don't expect any EMail over the week end. The CSUSB Email server is being upgraded to store more messages. They predict it will be down:
      • Saturday morning, April 29, 2006: 5:00 AM - 9:00 AM (4 hours)
      • Sunday morning, April 30, 2006: 5:00 AM - 9:00 AM (4 hours)
      Meanwhile.... I'm trying a new browser that runs on my old home iMac OS9 and renders the Web mail page correctly. But this morning the buttons did not work. Clearly, some more Geek Time is needed for me to make it let me send EMail from home:-(

      On the other hand I've read a very nice review of the use of Wiki Webs in Software development:


      1. Panagiotis Louridas
      2. Using Wikis in Software Development
      3. IEEE Software Magazine V23n2(Mar/Apr 2006)pp88-91
      4. =ADVERT TOOLS WIKIWIKIWEB COLLABORATION CASE HTML twiki confluence usemod moinmoin wikish mediawiki
      5. Wiki webs are a simple tool that encourage communication and collaboration in a project -- end can handle time shifting and distributed teams.
      If you've never done this I think a visit to [ wiki?RecentChanges ] the original Wiki Wiki Web will explain the WikiWikiWay.

      And now for something completely different -- a mathematician argues that formalism is bad ... or at least uninspiring:


      1. Gegory Chaitin
      2. Meta Math
      3. Pantheon Books NY NY 2005
      5. Argues that we need to stress creativity and imagination rather than formallity(Hilbert)

      2006-04-27 Thu Apr 27 16:04 Assigning people to projects

      It appears that using a psychological profile to match people to roles within a software process tends to give better results:


      1. Silvia T Acuna & Natalia Juristo & Ana M Moreno
      2. Emphasizing Human Capabilities in Software development
      3. IEEE Software Magazine V23n2(Mar/Apr 2006)pp94-101
      4. =EXPERIMENT PEOPLE Cattell 16PF ROLLS CF [AcunaJuristo04].
      5. matching personality to role seems associated with fewer defects and higher productivity.

      2006-04-26 Wed Apr 26 13:04 Two CSci Seminars Announced

      Working as a Computer Learning Specialist and Stereo Vision & Imaging [ seminar/20060428Independent.txt ] (April 28th)

      An Ambiguity in UML2.0 [ seminar/20060505.txt ] (May 5th)

      2006-04-25 Tue Apr 25 15:04 How UML is used in practice

      IEEE Software magazine has published an interesting paper that shows that the UML is not used well:


      1. Christian F J Lange & Michel R V Chaudron & Johan Muskens
      2. In Practice: UML Software Architecture & Design Description
      3. IEEE Software Magazine V23n2(Mar/Apr 2006)pp40-46
      5. 80% used usecase & logical, 50% component & scenarios, 17% deployment.
      6. Loose adherence to standard.
      7. Survey presumed a "waterfall" process.
      8. Problems mentioned in poll. scattered information, incompleteness, disproportion, inconsistency, diagram quality, informality, no conventions.
      9. 40%+ plan to use more UML metrics.
      10. Defects in case studies: classes do not fit sequence diagrams, classes with no methods.
      11. Experiment: most students & practitioners can't detect mismatches between class and sequence diagrams.
      12. See "Effects of defects in UML models" in ICSE06 by Lange & Chaudron.

      2006-04-23 Sun Apr 23 12:04 Updated Symphney page

      Friday afternoon I visited the Pacific-Asia Museum in Pasadena to view itesm related to the "Floating World" in Japan in the 1800's -- a long time interest.

      Yesterday I went to the special "children's" concert with the San Bernardino Symphony and enjoyed it. So, I've just updated the [ symphony.html ] page that I maintain so that the [ symphony.html#Next ] link goes to the right concert: June 10th with the incredible Symphony Fantastique of Berlioz...

      I also got a message from Thomas Perry (COBOL User Groups (COBUG)) [ http://www.cobug.com/ ] requesting a link on my cs320 web site.... I'm giving them 3 including this one.

      2006-04-21 Fri Apr 21 13:04 Templates for CS546/646 and reading IEEE Software Mar/Apr 2006

      I've just completed the "templates" for each of classes 07 .. 20 of [ cs546 ] and [ cs646 ] ready to receive the questions, hints, and advice that are added closer to the class time.

      Meanwhile I've been reading the 2nd issue of Volume 23 of the IEEE's Software magazine. It has several articles on Architecture. The first is a good survey of the field.


      1. Mary Shaw & Paul Clements
      2. The Golden Age of Software Architecture
      3. IEEE Software Magazine V23n2(Mar/Apr 2006)pp31-39
      5. Applies the Redwine-Riddle model of technology maturation starting with the basic ideas in the 1980's up to popularization in the 2000's.

      2006-04-20 Thu Apr 20 13:04 Why Good Software is not Reused

      An interesting insight into the process of institutionalized reuse of artifacts:


      1. Kevi C Desouza & Yukika Awazu & Amrit Tiwana
      2. Four Dynamics for bringing use back into software reuse
      3. Commun ACM V49n1(Jan 2006)pp97-100
      4. =POLL 100 REUSE
      5. Traditional reuse of published artifacts works better among novice and transient developers.
      6. Uncovered evidence of three "knowledge spaces": private, public, and quasi-private.
      7. A knowledge space is a collection of artifacts that may be more or less reusable. Examples repositories, code libraries, ..., and CASE tools.
      8. Developers prefer to reuse stuff in their private space rather than the public space,
      9. Expert: if it isn't in my private space, it probably doesn't exist.
      10. Experts understand the interconnections better than novices and so tend to work with them rather than refactor into modules.
      11. Novices and rookies are risk averse and don't have a wide knowledge space so they tend to reuse public artifacts.
      12. Modularity encourages reuse.
      13. Reuse tends to occur within groups rather than across team boundaries. The teams have tacit shared knowledge that makes reuse more valuable.
      14. Transient teams tend to reuse public artifacts more than permanent ones. Repeated interaction between members of teams over a long time develops shared searching strategies.
      15. Notes application of theories to open source projects.

      2006-04-18 Tue Apr 18 16:04 Estimating Projects and Mountains

      Interesting little article on the right and wrong way to estimate things -- mountians, software projects, and so on.


      1. Phillip G Armour
      2. Counting Boulders and Measuring Mountains
      3. Commun ACM V49n1(Jan 2006)pp17-20
      4. =ANALOGY ESTIMATION PLANNING Project Management WBS COCOMO SLIM-Estimate Everest
      5. Argues that you don't get a good estimate of the size of a mountain by estimating the rocks that make it up and adding up the numbers.
      6. WBS::="Work Breakdown Structure", count the rocks in the mountain.
      7. Executives then ask for a better estimate/plan.
      8. Scope-based implementation is more like using surveying tools and techniques to measure the mountain.
      9. Use the scope of the project to estimate final system size.
      10. Time depends on a power of system size.
      11. Since scope is uncertain and the estimates of size based on a given scope add uncertainty, one generates effort estimates that have a range of values.
      12. Quantify the uncertainties!
      13. No discussion of the agile approach (start climbing the mountain first, and change your estimates as you climb, etc.)

      2006-04-14 Fri Apr 14 13:04 Object-oriented Quarks

      Deborah Armstrong has published a nice literature survey that leads to a taxonomy of 8 key concepts found in 88 sources on object oriented development of software:


      1. Deborah J. Armstrong
      2. The Quarks of Object-Oriented Development
      3. Commun ACM V49n2(Feb 2006)pp123-128
      5. Two "constructs": Structure and Behavior.
      6. Under Structure: Abstraction, Class, Encapsulation, Inheritance, Object.
      7. Under Behavior: Message Passing, Method, Polymorphism.
      8. Table 3 includes definitions of the concepts.
      Makes an interesting introduction to some key ideas.

      Just realized that I skipped CACM V49n1 - January. I'll have to backtrack.

      2006-04-13 Thu Apr 13 16:04 Protocal Analysis used to study software development

      More reading... showing that what is good for normal software development is also good for analysing software processes and tools:


      1. Stephen Owen & David Budgen & Pearl Brereton
      2. Protocol Analysis: A Neglected Practice
      3. Commun ACM V49n2(Feb 2006)pp117-122
      5. Describes a technique for collecting data on how software developers work by recording their behavior: logs, videos, think-aloud.
      6. Includes helpful and statistics for beginning experimenters.

      2006-04-12 Wed Apr 12 13:04 How to judge the value of inspections

      Here is another interesting paper on software quality assurance:


      1. Bernrd Freimut & Lionel C Briand & Ferdinand Vollei
      2. Determining Inspection cost-effectiveness by combining project data and expert opinion
      3. IEEE Trans Software Engineering V31n12(Dec 2005)pp1074-1092
      5. Inspecting early artifacts had a clear positive value but code inspections may not be as valuable.
      6. Involving developers in the inspection tuning process was a good idea.
      7. Proposes a complex formula based on Kusumoto's (cost saved - cost consumed)/potential cost of defects.
      8. Describes an evaluation process using experts.
      9. Interviews: need to evaluate questions in a pilot study.

      2006-04-11 Tue Apr 11 17:04 Taxes

      Weeping and wailing and a gnashing of teeth for the last 5 days.

      Memo: it was no slower or easier to do it almost entirely by hand rather than use the spread sheet tax forms I used to maintain. Sometimes the best solution to a problem does not involve programming a computer.

      Memo: The USA tax system is an excellent example of good requirements gone bad.

      Memo: The tax forms and worksheets are an excllent example of bad program style.

      2006-04-07 Fri Apr 7 11:04 Refactored page on proofs

      As a result of attending an excellent and funny talk on mathematics by Lew Lefton of GIT.... I've split my [ maths/logic_2_Proofs.html ] page in two. There will be broken links!

      2006-04-06 Thu Apr 6 16:04 Exciting times

      Today the kitchen was invaded by ants, but my traps caught the gopher, and we started a spreadsheet to help itemize our expenses.... And got the first scores published for my classes: [ cs546/grading ] and [ cs320/grading ] (but no calculations yet).

      Here is an interesting bit of recent reading:


      1. Christophe Damas & Bernard Lambeau & Pierre Dupont & Axel van Lamsweerde
      2. Generating Annotate Behavior Models from End-User Scenarios
      3. IEEE Trans Software Engineering V31n12(Dec 2005)pp1056-1073
      5. Given positive and negtive scenarios (sequence charts) the system asks questions in the form of scenarios.
      6. It then generates a state-based model to fit all the scenarios. It uses fluents and grammar induction to create a Labeled Transition System (LTS) that fits the scenarios and annotates each state with fluents. The fluents provide a meaningful interpretation of the state.
      7. Fluents have a name, start and end events, and an initial value. Booleans. Example: doorOpen. [GiannakopoulouMagee03]
      Given [BontempsHeymansSchobbens05] , I wonder whether the tool will scale up?

      2006-04-03 Mon Apr 3 17:04 Gophers and Bugs

      Trying to trap the gopher in the front lawn... no luck so far.

      Meanwhile the upgraded campus webmail is causing problems on campus.... It means that I can reply only when on campus -- typically in the afternoons this quarter.

      2006-03-31 Fri Mar 31 07:03 Buffered data flows in business

      I've thought for a long time that the natural model for most enterprises is as a set of cooperative agents that are connected by buffered data flows. For example must university departments have a set of boxes and incoming mail is placed in these boxes as it arrives. The faculty and staff can remove it and work on it at their own speed. As another exampe: consider EMail. From this point of view object oriented calls to functions starts to look a little to low level to be useful in business models. Hence my championing the use of DFDs and digging out a suitable UML2.0 technique to represent them.

      Sometime I must write up and publish my notes on how to model buffered communications using objects -- whith out the UML2.0.

      So I was pleased to see a similar model proposed for analysing web services in [ newb2006/FuBultanSu05.html ] which continues the teams previous work on XML and XPath into tools for analysing BPEL protocols.

      And in my previous reading, a paper [ newb2006/newb0329.html#DesaiEtal05 ] argues that state transition and activity diagram type models are two restrictive for modeling business processes.

      2006-03-29 Wed Mar 29 14:03 Batch of reading uploaded

      Most of them are about using models in developing software. They are in [ newb2006/newb0329.html ] to see them all. I learned most from [BontempsHeymansSchobbens05] which demonstrates the intractability of automating the use of message sequence charts to automatically design or even verify software. Douglas Schmidt [SchmidtDC06] mentions the experienced dangers of traditional phased/serial development. [FranceEtal06] discuss the advantages of using the UML2.0 in place of programming languages.

      2006-03-29 Wed Mar 29 10:03 Best laid plans

      Yesterday it was raining. An unusual occurence in San Bernardino. But I went to the Morrow-McCombs Memorial Performance last night. This is an annual event and is usually a lecture on interfaith matters. This time it was a musical performance of middle eastern music: Armenian, Yemeni, Jewish, Arabic,... including some history of how the different cultures and have borrowed from each other over the millenia. Time flew by.

      Today I had hoped to avoid coming into my office but I've still got prep and writing to do.

      I'm also thinking about changing the way I grow my bibliography. Currently I upload a batch of items evry week or so. It might be better if I reported each item here and saved a permanent copy in the 1..2Mb archive -- 20 or more years of reading about software development -- trying to find out what technologies, techniques, methods, and processes work. Complete with minireviews, subject classifications, and [ bib.php ] a search engine.

      For example, I've just finished reading


      1. Nirmit Desai & Ashok U Mallya & Amit K Chopra & Munindar P Singh
      2. Interaction protocols as design abstractions for business processes
      3. IEEE Trans Software Engineering V31n12(Dec 2005)pp1015-1027
      5. Proposes a logic of commitments between agents.
      6. Uses sequence charts containing commitments to describe protocols.
      7. Implies that activity diagrams are a bad way to describe business processes. Entangles different agents with each other. So unstable.
      8. (dick)|-take home message: don't use control flows to model work flow.
      It will be uploaded when I get to do the whole batch.

      2006-03-28 Tue Mar 28 11:03 Grades done... preparation and research...

      My grades are now in. I've gathered more than enough material for the outcomes assessment in the classes I taught.

      But, the work doesn't stop. First I need to work out some examples for CSci546/646 coming up.

      And also to complete an article on the ambiguity I found in the UML 2.0. Plus finish and upload reviews of my recent reading.

      By the way: the faculty web server has (again) run out of disk space in one file system. It looks like it is doing a lot of authentication.... probably me sending copies of my pages:-( For two or three days my "Contact" links have been failing, as a resutl. The Systems Administrator is planning to rebuild the web server ... so my web site is likely to vanish.

      2006-03-21 Tue Mar 21 13:03 Getting ready for the Spring Quarter

      Uploaded my generic [ syllabus.html ] for spring: new class schedule but the rules haven't changed much.

      I've also got Beta versions of syllabi and schedules in my spring classes: [ cs320 ] (Programming Languages), [ cs546 ] (Theory of Computation), and [ cs646 ] (Advanced Theory of Computation).

      2006-03-16 Thu Mar 16 09:03 Struggling to get schedules and plans for Spring quarter right

      It is always a pain having to prepare finals while planning the next quarter. But no worse than preparing to take finals while working out how to survive the next quarters load. Roll on Spring Break!

      Meanwhile the schedules [ plan.html ] [ cs320/schedule.html ] [ cs546/schedule.html ] have been updated for spring... pleasse tell me if there is another typo like the last one.

      A note on my health: Two doctors agree that somewhere in my body there are live and active cancer cells that excaped from my prostate before it was removed. No symptoms. No sign of where. Just an increasing score on my PSA test. I've agreed to the "hormone" treatment which should stop the growth and spread for an unknown length of time.

      2006-03-14 Tue Mar 14 09:03 Bioinformatics Seminar Details Posted

      [ seminar/20060317Bioinformatics.txt ]

      2006-03-13 Mon Mar 13 15:03 More reading

      Finished some miscelaneous reading plus some articles on aspect oriented programming. See [ newb2006/newb0212.html ] for details.

      2006-03-10 Fri Mar 10 11:03 Seminar Demonstrating a Prototype Online CSci201 Course

      Ken Kwan Soo Han demonstrated [ http://cs201.csci.csusb.edu:8080/demo/ ] his prototype for an online "Introduction to Computer Science" course. From the demo you can see a student's eye view by logging in as 'guest' with password "00000". Watch out -- if you take a quiz your score will filed for all to see.

      2006-03-07 Tue Mar 7 15:03 PDF of last Seminar uploaded

      [ seminar/20060303GeorgeGeorgiou.txt ] (TXT) [ seminar/20060303non-euclidean.pdf ] (PDF)

      2006-03-06 Mon Mar 6 09:03 Back from CSU San Marcos and No Heat in JBH

      I spent Thursday and Friday last week visitting CSUSM -- also known as "CSU Stair Master" for the large number of staircases that you navigate to get from place to place. It is a new campus that grows out of a large hill (or small mountain) rather like "Helm's Deep" or "Minis Tirith" in the movie of "The Lord of the Rings". The people were all most hospitable. But the round of meetings and lectures was tiring. I can reccommend the "Vera Cruz" Fish restaurent if you are in the area.

      I missed Dr. Georgious talk on linear separation on Poincare spaces [ seminar/20060303GeorgeGeorgiou.txt ] but hope to post a PDF of it later today.

      This was in my mail box:

        Please be advised that due to a steam leak in the mechanical equipment room, there will be no heat in Jack Brown Hall until repairs are completed. Anticipated completion is by end of the work day today. We will keep you piosted of any changes.

        Thank you for your understanding.

        LeRoy Wilke, Chief Engineer, California State University, S.B.

      2006-03-01 Wed Mar 1 08:03 Agile or Fragile

      A colleague sent me a reference to a news story. It refers to an item of news on the Associated Press February 28th: "NASA: 16 chunks of foam fell off Discovery"

      It provides evidence that the results of analysis (even mathematical analysis) can not guarantee that a design works as planned: From Dr. Y. Karant

      1. An article that brings home a point (one useful to drive home to our students).

        Despite the best numerical simulations, "The large size of some of the foam losses caused concern because they were much larger than analysis had predicted was likely". One cannot replace mission critical tests in all cases with numerical models, despite the vastly lesser development costs using a computer simulation compared to building scale models and then a full scale test.

      Conclusion: Plan to do at least two full iterations from analysis to testing before you have a working system. And to decrease the risk of a show stopping problem plan to do a large number of incremental iterations: take a small part of the problem analyse it, design changes to handle it, code them, and test. Then refactor and reverse engineer as required. Repeat. And -- tackle the risky bits before they tackle you!

      2006-02-27 Mon Feb 27 11:02 Missed an MS Presentation...

      Working at home so didn't get to [ seminar/20060227HuanjinLiu.txt ]

      2006-02-26 Sun Feb 26 18:02 Recent events -- 5 presentations and a meeting

      WedFeb 222-4pm Sirisha Vadaparti's project presentation [ seminar/20060222SirishaVardaparty.txt ]
      WedFeb 224-4:30pm Museum Committee
      ThuFeb 2310-11:30Wen-Yi Shih Presents [ seminar/20060223WenYiShih.txt ]
      FriFeb 2410-11:30Ming-Tse Chen Presents [ seminar/20060224MingTseChen.txt ]
      FriFeb 2412-1pmAbdul Muqtadir Presents [ seminar/20060224AbdulMuqtadir.txt ]
      FriFeb 243:30-4:30Darrion DeMelo Presents [ seminar/20060224DarrionDeMelo.txt ]

      (Close Table)

      2006-02-23 Thu Feb 23 16:02 The New Hacker's dictionary and Experiment on XP vs RUP

      [ jargon_toc.html ]

      Not a very strong result but an interesting observation:


      1. Eric Germain & Pierre N. Robillard
      2. Engineering-based processes and agile methodologies for software development: a comparative case study
      3. J. Systems & Software V75n1-2(15 Feb 2005)pp17-27 CR 0602-0171 .See http://www.sciencedirect.com/science?_ob=JournalURL&_cdi=5651&_auth=y&_acct=C000059573&_version=1&_urlVersion=0&_userid=521812&md5=851cb8e7e96cf9a729dcab38f42f8044
      5. Total effort similar with a high ceremony and a low ceremony process.
      6. Teams drawing diagrams said they didn't help.
      7. Drawing diagrams does not resolve risks of an unknown technology.
      8. Teams forced to code early learned new technology and taught the other teams when they needed it (later).

      If there are any fifty year old pattern in software development, they include

      1. You don't understand a soft technology until you have programmed it.
      2. The first integrated test shows up hidden flaws in any technology.
      3. The first acceptance test creates a flood of changed requirements -- like observation collapses a quantum wave form into a dead cat, when a user observes a new system a lot of possibilities and probabilities vanish into a horrible certainty: this system is dead in the dry dock..
      4. Design improves the requirements and code improves the design -- rather like the expception improves the rule!
      5. No design and requirements leaves people vulnerable to the whims of the user and the programmer.

      2006-02-23 Thu Feb 23 14:02 Two down and 4 to go -- check my schedule

      [ plan.html#Special Events ]

      2006-02-21 Tue Feb 21 15:02 Busy times ahead

      Check out my [ plan.html#Special Events ] because I will be attending 5 MS presentations, the first meeting of the CNS Museum committee, going to my doctor, and going to CSU San Marcos as an External Reviwer of their C.Sci. programs. Back to normal by February 6th.

      2006-02-20 Mon Feb 20 16:02 More reading: processes, formal methods, and Gilb

      I've just finished reviewing A book be Stepaneck that argues the case for agile methods and tries to reconcile them with the quite rational desire for managers to control costs and have a plan. In addittion see the latest bibliographic [ newb2006/newb0219.html ] notes:
      Stepanek05 Manager discovers why project fail. [ newb2006/newb0219.html#Stepanek05 ]
      Charbonneau04 RUP fits with PMBOK (what???) [ newb2006/newb0219.html#Charbonneau04 ]
      BowenHinchey06 Formalism is alive and well... if done right. [ newb2006/newb0219.html#BowenHinchey06 ]
      Doernhoefer06 SOftware Process Improvement on the Web [ newb2006/newb0219.html#Doernhoefer06 ]
      Oquendo06 UML made formal [ newb2006/newb0219.html#Oquendo06 ]
      Gilb05The Grand Master of Evo-lutionary projects. [ newb2006/newb0219.html#Gilb05 ]

      (Close Table)

      2006-02-15 Wed Feb 15 06:02 New index page goes live

      Email problems to me!

      2006-02-13 Mon Feb 13 17:02 Beta Version of new index page

      I've just created ./frameset.html which is a version of my index/home page that uses HTML frames to separate the navigation from the body...

      Let me know if this is a bad idea!

      2006-02-13 Mon Feb 13 15:02 Semantic Tableax Project Presentation Feb 22nd

      [ 20060222SirishaVardaparty.txt ]

      2006-02-13 Mon Feb 13 08:02 Work on Old Project

      I was sick on last thursday and needed Friday, Saturday, and Sunday to recover. Still not quite normal.

      THis morning Keith Shankle asked me about lines 460 - 475 in [ samples/unix.commands.html ] where I refer to a UNIX comand called 'br'.

      I have to admit that it only exists on machines that I administer or locally where people download, compile and install it. It has been in use for 10 or more years now.

      Its claim to fame is that it will word wrap any ASCII/txt file for you -- no bugs or excuses. I use it every day when writing things on this UNIX system... The source code is in [ tools/br.c ] (K&R C) or [ tools/br.ansi.c ] (ANSI).

      I also have some OLD analysis and design documentation using the methods and notations that I promoted in the 1980's: [ samples/br.d.html ] which had the singular advantage of producing code that always worked -- even if it did have an odd goto or two. These Data Directed Design methods were taught me by the British Civil Service and Michael A Jackson(JSP). What I have done with them is my own fault, I guess. I feel that I haven't added enough to the original to promote the result strongly.

      2006-02-08 Wed Feb 8 07:02 Digging into the history of agile processes

      I'm writing a review of a book on managing software projects. It advocates agile processes. I've been going back into my archive of papers and article to look for early examples.

      2006-02-05 Sun Feb 5 20:02 CSUSB EMAIL Seems to work...

      I haven't tried the web page to access Email yet but I set a message and it was received on the server.

      2006-02-03 Fri Feb 3 12:02 WARNING: CSUSB Upgrading Servers this weekend

      From the local TeleComms & Network Honcho
        Software upgrades to the CSUSB e-mail system will occur between 6:00 PM Saturday, February 4, and 6:00 PM, Sunday, February 5. During that period, you may not be able to send or receive e-mail from the CSUSB system. You may also experience trouble authenticating to the wireless network or to the VPN client. During the scheduled upgrade period, the IRT Support Center (909-537-7677) will be kept up to date on the status of the e-mail system.

      2006-02-02 Thu Feb 2 13:02 GRAFCET defined

      Gordon Finlay of British Columbia, Canada, has just sent me a definition of GRAFCET for my Samples of MATHS documentation: [ samples/methods.html#GRAFCET ]

      2006-01-30 Mon Jan 30 08:01 The Red Violin

      Spent the weekend being domestic, reading a book ready to review it, watching a couple of classic thrillers on DVD, and added a note to the symphony page [ symphony.html#Next ] on the "red violin" that will be played in the next concert by the San Bernardino Symphony.

      2006-01-27 Fri Jan 27 12:01 Updated list of publications

      [ publications/ ]

      Also thought of a new MS Project in [ projects.html/ ]

      2006-01-25 Wed Jan 25 16:01 Recent reading etc

      Just posting some new items for by bibliography: [ newb2006/newb0124.html ] the first argues that simple statistical analysis of exsiting text documents helps in systems analysis, the next is an exhaustive survey of errors in estimating costs and what can be done about it, then a paper showing how to pick the best performing component architecture without analysing any source code, plus a local seminar claiming that ERP looks fifferently to people at the top and bottom of an organization, and finally an articlae claiming that scientists need to understand and use some fairly simple software development tools in the pursuit of their own science.

      2006-01-25 Wed Jan 25 08:01 Campus Open and Seminar details posted

      The wind has died down and the CSUSB campus will reopen today.

      On Friday the CSci Dept will be hosting a special seminar on the Moodle Course Management System: [ seminar/20060127AllanKnight.txt ] by Allan Knight.

      2006-01-18 Wed Jan 18 14:01 Busy Days

      Setting up seminars [ seminar/20060120.txt ] , teaching, and discovering a possible glitch in an EMail script...

      Meanwhile, answering a question from my web site

        Hi jahangir, Thank you for your interest. I regret that I haven't developed by own notes on integrals [ Integral_Calculus in math_94_Calculus ] very far.

        I can reccommend the Wikipedia pages [ Integral ] to get you started. This page [ Lists_of_integrals ] has more integrals than I've seen in some books on the topic.

        Integrals are, in general, harder to calculate than differentials:-( I hope these links help.... let me know!

        In reply to

      1. > I want to search integral
      2. > From: jahangir

      2006-01-17 Tue Jan 17 07:01 Eleven Movies in 3.5 Days

      Came back from the Palm Springs International Film Festival last night. Exhausted. I went to a grand total of eleven movies. 1 Friday night ("Palais Royal" from France), 4 on saturday (including "Five days in September" from Toronto showing a new conductor working up a new season with the Toronto Syphony), then 4 more on Sunday (Including the incredible "World's fastest Indian" from New Zealand). Finally, yesterday to "Best of Fest" movies: "My Bollywood Bride" and "Iberia".

      When I see this many movies in a row I start to see the real world as a movie -- for example the stories of the people having breakfast at MacDonalds.

      2006-01-10 Tue Jan 10 12:01 ICONIX and Robustness Diagrams

      At long last I've got my hands on the latest ICONIX book:


      1. Doug Rosenberg & Matt Stephens & Mark Collins-Cope
      2. Agile development with ICONIX process
      3. Apress 2005 ISBN 1-59059-464-9 QA76.76.D47R666
      It demonstrates using robustness models to disambiguate use cases and then design code. It includes demos of ICONIX used with Test-driven development(TDD) and Cooper's personas. And defines:
    11. Prefactor::= Use models to design code that needs less refactoring.

      To see more on this method try ICONIX in my bibliography.

      2006-01-07 Sat Jan 7 11:01 Change of plans...

      I've decided to move one office hour from Tuesday toThursday after noon: See [ plan.html ] [ syllabus.html ] or [ syllabus.htm ] but ignore my printd syllabi and the PDF until I get to fix it...

      2006-01-04 Wed Jan 4 12:01 Happy New Yeer 2006

      I've archived the last years entries into [ blog005.html ]

      Working in office on various admin tasks and tidying up data and directories ready for the new year.

      And just uploaded my december...January, having a cold, reading: [ newb2006/newb0102.html ] (15 items) and [ newb2006/newb0104.html ] (6 items).

      Previous Blogs

      (December 2005): [ blog005.html ]
      (December 2004): [ blog004.html ]
      (December 2003): [ blog003.html ]
      (July 2003): [ blog002.html ]
      (June 2003 and before): [ blog001.html ]


      [ blog.html ]

      Glossary and Links

    12. above::=using the above statements....

    13. bibliography::= See http://cse.csusb.edu/dick/newbib.html, (source [ newbib.mth ] ) a large collection of publications on software development. a place to search for data on my site. Now recovered from damage done in the latter half of 2003.

    14. dick::=indicates my own opinion in and of a bibliographic item.

    15. given::=the data and input into a proof, construction or other thinking.
    16. goal::=the current conclusion, target or unknown of the thinking, construction, or proof.

    17. Haiku::poem="A 19 syllable Japanese poem that captures one moment but implies the universal", All Haiku are supposed to indicate the season of the year and Japanese has many words and phrase that are used for these purposes. Most Haiku also have a caesura (pause) that is counted as a single syllable. Writing Haiku in English is like trying to clap with one hand.

    18. languages::= See http://cse.csusb.edu/dick/samples/languages.html, information on computer languages.
    19. latest::= See http://csci.csusb.edu/dick/blog.html,

    20. MATHS::= See http://csci.csusb.edu/dick/maths/, a language for semiformal documentation including ontologies, logics, conceptual models, specifications, and algorithms that I also use for weblogs, essays, lecture notes, etc. etc.

    21. methods::= See http://cse.csusb.edu/dick/samples/methods.html, links and definitions about software development methods and processes, plus some jokes. Also see [ methods.glossary.html ] instead.
    22. monograph::= See http://cse.csusb.edu/dick/monograph, a study of software development methods 1940-1990 attempting to show how simple mathematics can avoid common errors.

    23. papers::= See http://cse.csusb.edu/dick/papers, pre-publication drafts, local seminars, unpublished essays, etc..
    24. people::= See http://cse.csusb.edu/dick/samples/people.html,

    25. prostate::gland=`a walnut sized gland found in human males that has cells that have a tendency to turn cancerous as the male gets older`, see PSA.
    26. PSA::blood test=Prostate Specific Antigen, the cells in the prostate generate a particular chemical in the blood and this test measures how much. High values (40+) show rapidly growing cancer. From my experience -- values like 5, 6, and 7 are a cause for concern .. but it all depends on age and whether heart disease or some other problem will get you first. To get a score of zero (undetectable <0.01) the cells must be gone or not growing.

    27. samples::= See http://cse.csusb.edu/dick/samples/, samples of documents prepared using MATHS.
    28. se::= See http://cse.csusb.edu/dick/samples/se.html, links to things about software engineering and software development.
    29. source::= See http://cse.csusb.edu/dick/blog.mth, I use my own MATHS language to write these blogs.

    30. standards::= See http://cse.csusb.edu/dick/samples/standards.html,
    31. STANDARD::= See http://cse.csusb.edu/dick/maths/math_11_STANDARD.html, my personal standard definitions for MATHS.
    32. subjects::= See http://cse.csusb.edu/dick/samples/subjects.html,

    33. tools::= See http://cse.csusb.edu/dick/samples/tools.html,

    34. vita::= See http://cse.csusb.edu/dick/VITAble.html, [ short.vita ] (plain text).

    35. XBNF::=eXtreme Bachus Naur Form, a metalanguage based on EBNF that can handle some forms of context dependency in an intuitive way, as part of the MATHS language.

    36. Z::= See http://cse.csusb.edu/dick/samples/z.html, specification language.

    . . . . . . . . . ( end of section RJBottings Research Web Log) <<Contents | End>>

  1. CR::="Computer Reviews", [ http://www.reviews.com/ ] and [ browse_reviewers.cfm?reviewer_id=115728 ]