[My image] [Text Version] blog007 Fri Feb 17 13:47:27 PST 2012
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.

Contents


    RJBottings Web Log

      2007-12-21 Fri Dec 21 16:12 More from Computer Reviews December 2007

      The latest CR has a second and pretty positive review of [Tate05] (0712-1163) as the fruits of experience with agile methods. The previous review is of a collection of papers on Software Improvement [ConradiDybaEtAl06] (0712-1162), and the next (0712-1164) [AnderssonGreenspunGrumet06] is a text for an MIT course on software engineering Internet applications.

      Meanwhile I'm studying a paper in IEEE Transactions on SOftware Engineering that demonstrates the startling consistent way that the properties of modules in object-orented systems follow log-normal and Pareto distributions. More on this later.

      2007-12-21 Fri Dec 21 09:12 Review published in Computer Reviews

      Computer Reviews (CR) has published my review of Gibbs06 (RUP and Outsorcing) as Review number 0712-1204, pages 743-744. I've been told, be EMail that my review of [ SchneiderSEtAl06 ] has been published in the CR website.

      I've found CR an excellent review of the computer science and software engineering literatur -- I've been reading since the 1970's and writing reviews for it since the 1990's. You can look at their web site [ http://www.reviews.com/ ] and subscribe to read the reviews if you think it worth keeping up with a very wide range of expert opinions and experiences.

      For example, earlier in the blog I put my notes on [ TaylorH06 ] which describes the risks found in outsourced projects, and in the December issue of CR there are two reviews of the same paper (0712-1254 and 0712-1255, pages 767-768). So you can have my terse telegraphic review in the blog and bibliography.... or two well written (and short) reviews, prior to drilling down into the ACM Digital Library if it looks like you might be interested.

      CR also points me to books I just won't have time to read. I place these in my bibliography with the tag "=UNREAD" plus tags based on the review. THen I can put links to them here. For example, Alan Davis has a book [Davis05] out on Requirements Management that looks very interesting and relevant -- like most of Davis's work. However the CR review doesn't mention an ealier edition and a short adveert/article [DavisA03] that covers similar material.

      More about newly reviews books, later.....

      2007-12-12 Wed Dec 12 12:12 End of Quarter .. Start of Next Quarter

      With the grades posted .... time to start work on the next quarter. But there is time to note the following things worth reading in the September issue of IEEE Software Magazine.

      Hirschi07

      1. Ashwin Hirschi
      2. Traveling Light, the Lua way
      3. IEEE Software Magazine V24n5(Sep/Oct 2007)pp-
      4. =EXPERIENCE LUA C/C++ DYNAMIC TYPED SCRIPTING RAD
      5. Adds a dynamically typed stack to C++.
      6. Lua::= See http://lua.org/.

      Spinellis07b

      1. Diomidis Spinellis
      2. Abstraction and Variation
      3. IEEE Software Magazine V24n5(Sep/Oct 2007)pp24-25
      4. =DIALOGUE COPY/PASTE HARMFUL DRY FUNCTIONS DATA

      Shum07

      1. Simon Buckingham Shum
      2. There's nothing like a good argument
      3. IEEE Software Magazine V24n5(Sep/Oct 2007)pp21-23
      4. =ADVERT TOOLS DOCUMENT MEETINGS REASONING IBIS COMPENDIUM XML SQL VIDEO POWERPOINT DIGRAPH

      Wirfs-Brock07a

      1. Rebecca J Wirfs-Brock
      2. Designing extensible classes
      3. IEEE Software Magazine V24n5(Sep/Oct 2007)pp15-17
      4. =ESSAY DIFFICULTY DESIGNING Object-Oriented FRAMEWORKS

      Yourdon07

      1. Ed Yourdon
      2. Celebrating Peopleware's 20th Anniversary
      3. IEEE Software Magazine V24n5(Sep/Oct 2007)pp96-100
      4. =HISTORY PEOPLE =REPORT PANEL Boehm Brooks Rising Lister DeMarco
      5. The major problems with softare development are sociological not technical.

      2007-12-06 Thu Dec 6 13:12 Pointers to Ajax Frameworks

      IEEE Software has just published a very good paper on Frameworks for Web-based systems that use Ajax --

      SerranoAroztegi07

      1. Nicolas Serrano & Juan Pablo Aroztegi
      2. Ajax Frameworks for Interactive web apps
      3. IEEE Software Magazine V24n5(Sep/Oct 2007)pp12-14 [ s5012.htm ]
      4. =REFERENCE Ajax FRAMEWORKS WWW/Net Client-Server JavaScript XML DWR Rico Dojo Prototype script.aculo.us Google Eclipse
      5. Excellent set of URLs/Links on Asynchronous JavaScript and XML.

      2007-11-19 Mon Nov 19 15:11 Sudoku Revisitted and other books

      We had a dept seminar, a couple of years ago, on solving Sudoku puzzles. See [ ] for this. Now I've read a review in CR of

      LeeWei06

      1. Wei Lee
      2. Programming Sudoku
      3. Apress Berkeley CA 2006 ISBN 1590596625 CR 0711-1092
      4. =UNREAD EXAMPLE AI CONSTRAINT SUDOKU VISUAL BASIC

      I've also seen reviews of books (in CR 0710) on Agile Development (Tate05 below), Mathematics and SOftware Quality (ORegan06), and Term Functor Logic (StrawsonOderberg05). Here are my notes on these. I'll probably return to ORegan06 later:

      Tate05

      1. Kevin Tate
      2. Sustainable Sofwtre Development: An Agile Perspective
      3. Addison-Wesley Boston MA ISBN 0321286081 CR 0710-0961
      4. =UNREAD ADVERT AGILE MANAGEMENT COLLABORATION XP CMM

      ORegan06

      1. Gerard O'Regan
      2. Mathematical Approaches to Software Quality
      3. Springer-Verlag Secaucus NJ 2006 ISBN 184628242X CR 0710-0962
      4. =UNREAD MATHEMATICS Z Vienna Hoare Dijkstra Parnas UML

      StrawsonOderberg05

      1. P Strawson & David S Oderberg Eds.
      2. The old new logic: Essays on the philosophy of Fred Sommers
      3. MIT Press Cambridge MA ISBN 0262151138 CR 0710-0977
      4. =UNREAD Aristotle Syllogism TERMS TLP vs MPL PREDICATE
      5. TLP::="Term Functor Logic".
      6. Instead of predicates, facts are expressed in terms like [-S+C]+[W+S]-[W+C].
      7. Simplifies many arguments that are complex in LPC.

      2007-11-19 Mon Nov 19 13:11 Probabalistic Formal Models

      I'm just about to submit a review to CR of the following paper

      SchneiderSEtAl06

      1. Steve Scheidner & Thai Son Hoang & Ken Robinson & Helen Treharne
      2. Tank Monitoring: a pAMN case study
      3. Formal Aspects of Computing V18n3(2006)pp308-328
      4. =ADVERT FORMAL METHOD PROBABILTIY pGSL B pAMN
      5. Demonstrates a formal language that incorporates simple probabilities.
      6. Proposes a generalization of assertions.
      7. Uses them to derive error bounds (suspicious).
      8. States a probabalistic version of refinement.

      2007-11-09 Fri Nov 9 14:11 Silliness

      Sometimes you need to take time to step back and change your screen saver. The STN screensaver from [ http://www.mewho.com/system47/ ] is the result and cause of some serious time wasting. Reccommended.

      2007-11-02 Fri Nov 2 13:11 Testing

      I don't often pay attention to the research on testing -- with the exception of Test Driven Development (TDD). But here is something that caught my eye:

      TseEtAl07

      1. T H Tse & Francis C M Lau & W k Chan & Peter C K Liu & Colin K F Luk
      2. Testing Object-Oriented Industrial Software without precise Oracles or Results
      3. Commun ACM V50n8(Aug 2007)pp78-85
      4. =EXPERIENCE AUTOMATIC TESTING =ADVERT THEORY TACCLE
      5. Refers to ACM TOSEM V10n1(Jan 2001)pp56-109 by Chen, Tse Etal on TACCLE that proves the existence of a simpler way to test for observational equivalence.
      6. The theory (equational ADTs) is hidden from the engineers using the system. They use Timing charts.

    1. Later that day... Just discovered
    2. history_of_programming_Languages::chart= See http://www.oreilly.com/news/graphics/prog_lang_poster.pdf, at O'Reilly.

      2007-11-01 Thu Nov 1 09:11 Usability Patterns

      This is such a useful resource that it has jumped the queue of readings straight into my CSCI372 class:

      JuristoMorenoSanchez-Segura07

      1. Natalia Juristo & Ana Maria Moreno & Maria-Isabel Sanchez-Segura
      2. Guidelines for Eliciting Usability Functionalities
      3. IEEE Trans Software Engineering V33n11(Nov 2007)pp744-758
      4. =SURVEY =EXPERIMENT USER PATTERNS FEATURES ISSUES
      5. Lists 9 techniques to improve usabillity:
      6. Feedback, Undo/Cancel, Prevent/Correct errors, Wizards, User Profiles, Help, Command aggregation(record-replay), shortcuts, Reuse information
      7. For each provides a description and a set of issues that need to be raised with the stakeholders.
      8. See [ usability-elicitation-patterns ]

      And the latest ACM SIGSOFT Software Engineering Notes (V32n5(Sep 2007)) has Mark Doernhoeffer's collection of websites on Human Computer Interfaces [ surfing.html ] and it is as complete and well done as ever.

      2007-10-27 Sat Oct 27 10:10 Experiments with Software

      I've just read a couple of good articles. One lays down a set of excellent ground rules, based on experience and theory for designing experiments to evaluate featrues on web-based systems.

      KohaviLongbotham07

      1. Ron Kohavi & Roger Longbotham
      2. Online Experiments: Lessons Learned
      3. IEEE Computer Magazine V40n9(Sep 2007)pp103-105
      4. =EXPERIENCE HOWTO WWW/NET EXPERIMENTAL FEATURE SELECTION
      5. Good introduction to classic experimental design when used to evaluate featuires on web-based systems.
      6. Details at [ hippo.aspx ]
      7. Topics: control vs treatment, metric, randomisation, power, duration of test, analysis (EARLY)

      The other awakes my lust. This shows how you can draw a very rough diagram and software that can read it and interpret it -- for example a rough UML class diagram generates the code for the classes automatically. Just what I have always wanted.

      DavisR07

      1. Randall Davis
      2. Magic Paper: Sketch-understanding Research
      3. IEEE Computer Magazine V40n9(Sep 2007)pp34-41
      4. =DEMO TABLET SKETCH GRAPHICS CASE Rose USER
      5. Tantalysing glimpse of a tool that front-ends Rational Rose to turn a rough sketch of a class diagram into Java Code.
      6. Discusses issues in recognizing and parsing roughly hand drawn graphics.

      2007-10-25 Thu Oct 25 16:10 Smoke Clearing from San Bernardino

      I spent that last todays removing the debries from the yard and pool. Lots of leaves and dust from the winds that started Sunday night. And then three days of ashes and charcoal. I don't like to think what it used to be. But I saw no flames .. even the small "Little Mountain" fire wasn't visible from our house.

      So a distraction! Here are some readings connecting non-technical people to computerized solutions:

      BrownChervanyReinicke07

      1. Susan A Brown & Norman L Chervany & Bryan A Reinicke
      2. What matters when introducing new information technology
      3. Commun ACM V50n9(Sep 2007)pp91-96
      4. =SURVEY IMPLEMENTATION ISSUES =EXPERIENCE
      5. Surveyed the literature and made list of 5 areas: Commitment, Knowledge, Communication, Planning, Infrastructure.
      6. Took 5 projects and looked for occurences of "disconnects": Commitment(59), Knowledge(18), Communication(53), Planning(25), Infrastructure(30).
      7. Figure 2 show relative frequency accross 4 phases: Initiation(Knowledge), Adoption(Communications), Adaption(Infrastructure), Acceptance(Infrastructure+Commitment).
      8. Table 3 lists 6 problems, identifies a area and suggests solutions. For example: If you can't identify the best new technology you have a Knowledge problem -- invest in employee education and create a central repository for sharing tech information.

      LepourasEtAl07

      1. George Lepouras & Costas Vassilakis & Constantin Halatsis & Panagiotis Georgiadis
      2. Domain Expert User Development: The SmartGov Approach
      3. Commun ACM V50n9(Sep 2007)pp79-83
      4. =EXPERIENCE DOMAIN USER ANALYSIS DESIGN e-forms TOOLS
      5. Attempting to create electronic forms for Government.
      6. Government systems have these types of stakeholders: end users (external), IT personnel, Managers, internal experts.
      7. Issues tackled: Domain experts can have a limited view, Lost information, complexity of creating e-forms, providing helpful access(documentation, help,...) to end users.
      8. Supsorting materials: /implicit knowledge, regulations, organizational practiceprinted forms, tacit.
      9. Responsibilities split between domain experts, IT personel, and the Integrator Component.
      10. IT experts: look and feel + connections to other/legacy systems.
      11. Doamin experts: specify and design data, specify requirements, authoring knowledge units (documentation) about data, identify, retrieve, copy, edit existing data.
      12. Software inhouse or open source LAMP, Based on JSP Java XML RDBMS JDBC

      ValacichEtAl07

      1. Joseph S Valacich & D Veena Parboteach & John D Wells
      2. The Online Consumer's Hierarchy of Needs
      3. Commun ACM V50n9(Sep 2007)pp-
      4. =POLL USERS NEEDS WEB/NET PURPOSES QUALITIES ONESIZE OCHN
      5. OCHN::="Online Consumers Hierarchy of Needs".
      6. All users want "Functional Convenience" -- being able to get things done.
      7. "Utilitarian" websits like Banking and Bill Paying what matters is reliability, correct operation, explicit security, response time, ... and other evidence of "Structural Firmness".
      8. Another extreme are "Hedonic" websites (Music, Movies, Games, Gambling, ...) where the users want "Representational Delight" most -- consistent look and feel, visual appeal, creative design, Good colors, rich media, ...
      9. "Hibrid" sites (news, shopping, auctioning, Travel, ...) wher the users want a dregree of "Delight" mixed with some "Structural Firmness".

      SangwanNeil07

      1. Raghvinder S Sangwan & Colin J Neil
      2. How Business Goals Drive Architectual Design
      3. IEEE Computer Magazine V40n8(Aug 2007)pp85-87
      4. =ADVERT GOALS SCENARIOS QUALITIES TACTICS ARCHITECTURE ACS XML QAW ADD
      5. ADD::=business_value >< technical_difficulty.

      And a small warning: I just had fix a dozen or so issue numbers on the IEEE Software Magazine articles since March...

      2007-10-24 Wed Oct 24 07:10 Campus Closed until Friday Night

      Checkout [ http://news.csusb.edu/ ] for details and the latest.

      I'll be replanning the schedules for [ cs201 ] and [ cs372 ] during the morning.

      This site [ http://www.npr.org/ ] has an interactive map of California with the latest data on the fires.

      2007-10-23 Tue Oct 23 06:10 Campus closed today

      The CSUSB campus will be closed again today. They hope to reopen on Wednsday. I am working on rescheduling my classes -- damage control. Also I'll be working on rescheduling the Friday seminar because the Sun MicroSystems team were coming from San Diego. It will be sometime in November.

      See other blogs for details later.

      2007-10-22 Mon Oct 22 11:10 Campus Closed -- Wind and Fire

      The campus has closed for the day due to high winds. It should be open tomorrow if the wnds follow the weather forecast. I'll be going to lunch and home soon.

      There are fires in the San Bernardino mountains.... gigantic plume of smoke over the valley. I'm hoping that they won't spread any further.

      2007-10-19 Fri Oct 19 15:10 Standards

      Life does not get any less busy.... but the seminar this morning on developing an educational game was very interesting...

      Meanwhile, IEEE Computer Magazine has published a couple of articles and a letter on standards:

      VoasLaplante07

      1. Jeffrey M Voas & Phillip A Laplante
      2. Standard Confusion and Harmonization
      3. IEEE Computer Magazine V40n7(Jul 2007)pp94-96 + V40n9(Sep 2007)pp6-7
      4. =ESSAY COMBINING STANDARDS BLENDING MIX_AND_MATCH

      Ross07

      1. Ron Ross
      2. Managing Enterprise Security Risk with NIST standards
      3. IEEE Computer Magazine V40n8(Aug 2007)pp88-91 + V40n9(Sep 2007)pp6-7
      4. =ADVERT NIST STANDARDS SE URITY RISKS SP800-...

      2007-10-11 Thu Oct 11 14:10 HowTos and History

      Hre is an interesting set of resource reported in the IEEE Computer Magazine:

      TorreyMcDonald07

      1. Chistine Torrey & David W McDonald
      2. How-to web Pages
      3. IEEE Computer Magazine V40n8(Aug 2007)pp96-97
      4. =REPORT WWW PAGES HOWTO
      5. Refers to [ http://www.makezine.com/ ] [ http://www.instructables.com/ ] [ http://www.dorkbot.com/ ] [ http://makerfaire.com/ ] [ http://toolmonger.com/ ] [ http://www.howtopedia.org/ ] [ http://www.wikihow.com/ ] [ http://www.howtoforge.com/ ]

      Meanwhile there have been some interesting articles of a historical nature:

      Glass07

      1. Robert L Glass
      2. A Deja-Vu Look at Software EngineeringResearchers who care about Practice
      3. Commun ACM V50n8(Aug 2007)pp21-23
      4. =HISTORY RESEARCH MCC SEI SPC Fraunhofer NICTA Simula
      5. 3 labs used to do "practice-based research". MCC closed. SEI moved to advocacy for CMM etc.. SPC is now "Software and Systems Consortium".
      6. Fraunhofer has two centers: IESE and FC-MD focused on SE.
      7. NICTA (Australia) and Simula(Norway) have a group for empirical SE research.
      8. Glass compares missions, staffing, and techniques.
      9. All are looking at proceses, and 2/3 studying Risk, architecture, and measurement.
      10. NICTA includes measurement under process and risk under requirements. [ http://nicta.com.au/ ]
      11. Simula focusses on Object-Oriented AD and use cases in requirements, ... Estimating costs, ... [ http://simula.no/ ]
      12. Fraunhoffer: product lines under architecture, ... Clearing house [ http://iese.fraunhofer.de/ ]

      Hatton07b

      1. Les Hatton
      2. The Chimera of Software Quality
      3. IEEE Computer Magazine V40n8(Aug 2007)pp104+102-103
      4. =POLEMIC QUALITY LOW OPEN SOURCE BETTER
      5. Bewails lack of experimental data in methods.
      6. Argues that the biggest contributor to quality code is the developer.
      7. Notes bad quality of: scientific programs, off the shelf software, etc etc.
      8. States the value of inspecting code.
      9. Notes that open source code is better than closed source code.

      SoukupSoukup07

      1. Jiri Soukup & Martin Soukup
      2. The inevitable Cycle: Graphical Tools and Programming Paradigms
      3. IEEE Computer Magazine V40n8(Aug 2007)pp24-30
      4. =HISTORY PARADIGMS LANGUAGES METHODS GRAPHICS UML Spagheti Flowcharts SP ADTs Object-Oriented
      5. Claims that a graphic notation indicates deficiency in the paradigm at the time... That is fixed by changing the paradigm and abandoning the diagram.

      Grier07b

      1. David Alan Grier
      2. Annie and the boys
      3. IEEE Computer Magazine V40n8(Aug 2007)pp6-9
      4. =HISTORY SPREADSHEETS MASSMARKET VISICALC MICROSOFT MULTIPLAN LOTUS 1-2-3 QUATRO IBM COPYRIGHT INTELECTUAL PROPERTY
      5. Notes

      2007-10-05 Fri Oct 5 14:10 Cloning papers or code

      Oddly the experiemtn is reported in two different papers from two different points of view in the recent IEEE Transactions. Both are about testing tools that spot duplicated (copy/pasted) code.

      BakerB07

      1. Brenda S Baker
      2. Finding clones with Dup: Analysis ofan experiment
      3. IEEE Trans Software Engineering V33n9(Sep 2007)pp608-621
      4. =EXPERIMENT TOOLS COPYPASTE DRY SOURCE Dup
      5. Also see [BellonEtAl07]

      BellonEtAl07

      1. Stefan Bellon & Rainer Koschke & Giuliano Antoniol & Jens Krinke & Ettore Merlo
      2. Comparison and Evaluation of clone detection tools
      3. IEEE Trans Software Engineering V33n9(Sep 2007)pp577-591
      4. =EXPERIMENT TOOLS COPYPASTE DRY SOURCE Dup CloneDR CCFinder Duplix CLAN Duploc
      5. Also see [BakerB07]

      2007-10-04 Thu Oct 4 12:10 Still too busy

      2007-09-28 Fri Sep 28 12:09 The first week was busy and then...

      The first week of classes is already busy... and then the brakes went bad on one our cars... and it took a day of running around to get it fixed.

      End of excuses.

      Meanwhile David Lorge Parnas has (again) got some interesting things to say on the reliability of systems:

      Parnas07

      1. David L Parnas
      2. Which is riskier: OS diversity or OS monopoly
      3. Commun ACM V50n8(Aug 2007)p112
      4. =ESSAY RISKS MIXING OPERATING SYSTEMS
      5. Need independence and interoperability for diversity + redundancy to lower risks.

      2007-09-20 Thu Sep 20 12:09 First day of classes Fall 2007

      Just finished teaching my first class of the Fall quarter. You can get the details at [ cs201/ ] website. This afternoon's class [ cs372/ ] is ready to run... and my schedule for the quarter [ plan.html ] is also ready.

      Part of the preparation for the quarter was to implement some simple security steps... and here is a sample

      Berghel07

      1. Hal Berghel
      2. Better-Than-Nothing Security Practices
      3. Commun ACM V50n8(Aug 2007)pp15-18
      4. =ADVERT BTNSP SECURITY XP Browsers WiFi
      5. BTNSP::= See http://www.berghel.net/btnsp/ Simple things that users can do to improve the security of their systems... Better than doing nothing.

      2007-09-18 Tue Sep 18 13:09 Criticism

      I posted a telegraphic review [ Wirfs-Brock07 ] below on handling technical reviews -- and I have trained myself to accept criticism, or so I thought.

      First I got


        maths/Subject crap website

        hi this website gives me nothing on the lowest temperature or palindromic numbers you are a waste of times!!!


      Now first I had to resist several urges to be negative.

      Then I realized the desperation of someone with a home work deadline -- and I don't do homework!

      Now I feel defensive: this web site does not cover Physics and "Absolute Zero" is Physics. The Wikipedia [ Absolute_Zero ] seems accurate and complete.

      The web site doesn't cover palindromic numbers because I don't know anything about them... and don't know what has been written about them. I've never had to do anything with them. There desn't seem to be much value in this topic, but I could be wrong.

      Then I got Email that said


        I am glad to see that you are eager to use the new logo on your b site. http://csci.csusb.edu/dick/

        Unfortunately, the logo is not being used correctly. The Office of Public Affairs, along with ACM staff, Duplicating staff and design professors, have prepared logo usage standards to ensure the integrity of the design and effectiveness of the new logo.

      1. ...

      So I am now redoing every page on this web site to remove the logo.

      2007-09-15 Sat Sep 15 12:09 New Diagram Publicised for management Involvement

      I had thought that [ periodic_table.html ] was a pretty complete display of visual tools that might be useful in a project but here is one that is not on that list:

      Simonsen07

      1. Jesper Simonsen
      2. Involving Top Management in IT Projects
      3. Commun ACM V50n8(Aug 2007)pp53-58
      4. =EXAMPLE MANAGEMENT STAKEHOLDERS ANALYSIS TABULAR CSCI372 problem-mapping
      5. Claims that involving stakeholders (and top managment) in projects is important.
      6. Problem mapping forced the software vendor to focus on the stakeholders needs and to distinguish observation from supposition.
      7. It also helped the stakeholders revise the vendors mode of the situation.
      8. problem_mapping::=for each problem, present following,
        Table
        Need or ProblemCausesConsequencesSolutions

        (Close Table)
      9. Write on sticky notes because ideas move from one place to another,
      10. Proposals can be done on paper... But management reviews on a flipchart or board.

      2007-09-13 Thu Sep 13 14:09 Services can handle changes better than components but...

      Elfatatry07

      1. Achmed Elfatatry
      2. Dealing with change: components versus services
      3. Commun ACM V50n8(Aug 2007)pp35-39
      4. =ESSAY components services EVOLUTION RISKS EFFICIENCY
      5. Components selected before run but services during the run. So services are easier to change but less efficient and less trustworthy.
      6. (dick)|-Sounds like a hacker can offer an evil service and get it accepted

      2007-09-11 Tue Sep 11 15:09 Advice to those about to make a Presentation

      Wired has put up one of their excellent "How To" pages: [ index.cgi?page_name=rock_the_podium;action=display;category=Work ]

      2007-09-10 Mon Sep 10 13:09 Security

      Today I got the "Coding Horror" article explaining Rainbow Hash Attacks on password files and why, if you are wise you (1) never store passwords without hashing them, and (2) you add some salt to the password before you hash it.

      The following explains how secrets can be exchanged with out eves droppers understand them:

      ChakrabartiSinghal07

      1. Saikat Chakrabarti & Mukesh Singhal
      2. Password-based Authentication: Preventing Dictionary Attacks
      3. IEEE Computer Magazine V40n6(Jun 2007)pp68-74
      4. =SURVEY PASSWORD PROTOCOLS SECURITY RISKS EKE SRP Captchas RTT
      5. Simple Protocols for sending passwords -- even if encrypted -- can be recorded or replayed to find the passwords.

      Meanwhile the campus has got theit Web interface upgraded so that it works again.... and we've got more space on the CSCI servers, so that they are operational.

      2007-09-07 Fri Sep 7 14:09 It should have been easy but...

      The EMail systems on campus have been a bit flakey for thast 3 or 4 days, as we try to get ready for the new quarter.

      The following is a tale of something that should not have been as difficult as it turned out to be.

      So I am trying to convert an Excel spreadsheet og names, addresses, zipcodes, and so on into a set of printed mailing labels. The first step: sort by zip-code, was not too difficult once I realized that the first row of the data you were sorting was assumed to be the header of that row... The second step: creating the format for the lables was not difficult once I learned to look for the magic number Avery 5160 -- Nice of MS Office to know about these. The third step: linking the data in the spreadsheet to the mailing label, was easy when I realised that you had to right-click the inserted <<address>> tag to link it to the right fields -- it made some good guesses.

      So far so good.

      Then the problem: a rectangular box character appears where I want an end-of-line at least once in each label. In WordPerfect or any application that I've written, if you select soemthing and start the "Find/Replace" dialogue the selection is put into the form as the string to find. But MS has not had this thought. Of course there is no way to type an unknown character into the form.... but I can copy it and paste it! But here again MS doesn't let you paste into the Find/replace box.

      The System Admin -- a fellow wizard -- suggests using sed on UNIX to fix the characters... but I had my doubts... and so I starte to manually correct about 700..800 lables.

      A Colleague said that OpenOffice 2.0 could fix it with a global replace... out comes the flash drive and I copy the file I've been editting to the Linux Box... and OpenOffice just deletes the offending character. Once deleted you can not find and replace it...

      So now I try the system admin's idea.... I use 'od' to find out the the bad character is '\n' and should be '\r'. In decimal I need to translate char 10 (decimal) into char 13:

       	tr `char 10` `char 13` <lables >fixed_lables
      (I have a handy C program I called 'char' for these purpose some time ago... but tr still ahd a problem parsing the arguments....

      So I lloked at the other screwdrivers in my old toolkit and found an old K&R example that maps '\r' into '\n' -- the reverse of what I need. A quick copy, edit, and compile and I can turn 'lf' into 'cr'... and do this.

      The back to the Flash....[I won't go into the process needed to do this -- but it involved a couple of reboots on the Linux box].

      When I try to reopen the fixed file... MS Office doesn't like it. I guess they have a check sum that stops you tweaking the bytes. ARRRRGH.

      It took another 60 minute to complete fixing the file.

      Thank you for listening. I feel a lot better now. There are times when I wonder why we ever try to use computers...

      Anyway, now for some history: how time has been miscomputed:

      Grier07a

      1. David Alan Grier
      2. The Boundaries of Time
      3. IEEE Computer Magazine V40n7(Jul 2007)pp5-7
      4. =History Clocks Y2K ENIAC SAGE 360

      2007-09-05 Wed Sep 5 15:09 Fun day and Computing as a Natural Science

      We started with a power outage this morning from 6am-7am at home.

      But this morning we had a presentation on using Java on Cell Phones to implement games: [ seminar/20070905NabeelAlzahrani.txt ] [ seminar/20070905NabeelAlzahrani.ppt ]

      Followed, after lunch, with the presentation of a team of students who have implemented a rather nice "top-down shooter" called CyberShot.

      Then to work on revising my generic [ syllabus.html ] ready for the new quarter.

      I'd like to note the following paper for it's contrarian argument:

      Denning07a

      1. Peter J Denning
      2. Computing is a natural science
      3. Commun ACM V50n7(Jul 2007)pp13-18
      4. =ESSAY SCIENCE ARTIFICIAL
      5. Refutes Herbert Simon [Simon69] claim the that we study the "Science of the Artificial".
      6. Claims that computation is found inside all other natural sciences -- not just as a tool but as a model of processes in their topic area.

      2007-09-04 Tue Sep 4 14:09 On seeing and testing obvious cases and other good things in SIGSOFT

    3. I'm typing this as I read the latest ACM SIGSOFT "Software Engineering Notes" -- July 2007. For years I've been following Mark Doernhoefer's column... and now it is on the web:

      Doernhoefer07

      1. Mark Doernhoefer
      2. Surfing the Net for Software Engineering Notes: Database Technology
      3. ACM SIGSOFT Software Engineering notes V32n4(Jul 2007)pp10-19 [ surfing.html ]
      4. =REVIEW WEB/NET DATA

      I also read ther RISKS column in every issue -- describing "Risks to the Public" and summarising a newsgroup. Always scary and thought provoking.

      In May 2007, the RISKS column reported on a well publicized failure that has also appeared in this weblog.


        Once upon a time a squadron of fighter jets crossed the international date line and their navigation systems crashed. [ 2007-04-23 Mon Apr 23 10:04 International Dateline shutsdown aeroplane software ]

      Here is one explanation.

      Chapelle07

      1. Gregory Chapelle
      2. Comment on Risks to the Public May 1007, F-22
      3. ACM SIGSOFT Software Engineering notes V32n4(Jul 2007)pp6-7
      4. =LETTER RISKS FAILURE REQUIREMNTS TESTS DATELINE Jighter Jet
      5. Postmortem explanation of how an obvious test case (crossing the international date lien) was not noticed and so not tested for.
      6. How scheduling pressure contributes to this kind of blindness.
    4. Perhaps Michael Jackson's approach to requirements -- documenting the situation in which the software finds itself -- might have helped.

      But the above failure fits Scheafer's tGToE in the same issue.

      Schaefer07

      1. Robert Schaefer
      2. The Grand Theory of Everything: What Man-Made Systems are, and Why They Fail
      3. ACM SIGSOFT Software Engineering notes V32n4(Jul 2007)p31 [ 1281421.1281430 ] (links to a 26 page PDF)
      4. =JOKE? THEORY FAILURE tGToE
      5. tGToE::="the Grand Theory of Everything".
      6. Written in an 18th century Style -- with Many definitions and Random Capitalizations but Getting Close to Heart of the Reason for Complex Systems Failing.
      7. Here is a Cogent Quotation from the Verbose and Jocular Paper:
          In the practice of Systems Development, Rules are enumerated to comprise a Finite sized Set of Constraints. This Set in Systems Development is called the Requirements (in Systems Use these are called Policies). The number of Freedoms that a System has is the Inverse of that Finite Set of Constraints which by Rules of Logic are Infinite in number. This relationship of Finite Rules and Infinite Freedoms is more than a Curiosity, as in the mapping of a Solution into a Model of Behavior, the Rules become Contractual Shalls (A "Shall" being a Statement that Indicates a Contractual Obligation of Legal Consequence) while the Inverse, Freedoms, become the Infinite Set of "Shall Nots. That Infinite Set of Shall Not Behaviors represents a Set which can never be Fully Imagined, and thus can never Fully Defined, Implemented, or Tested. Because this Set can never be Fully Defined it is customarily Replaced with a Time and Money based Stopping Criteria, i.e. to Proceed along the set of Requirements (that One hopes is at least a "well-defined" Subset of Infinity) until the Requirements are Implemented and Tested, or the Customer's Will as measured by Time and Money, Runs Out. Note that at this Stopping Point there may be a Gap between "What Is", and "What Is Desired". In terms of Systems Reliability, this Gap is called a Hazard.

      8. To summarize: requirements are always incomplete and some conditions will always be untested.
      9. Also see [Schaefer06] and [Gall79].
      Note: My Linux Adobe Reader crashed when asked to copy the above bit of text.

      This issue also has [ http://ase.csc.ncsu.edu/semap/ ] the incredible map of software engineering conferences: where they are and whether they are still accepting papers.

      2007-08-31 Fri Aug 31 14:08 UML2.0 LRM

      A little late, I guess, but here it is.

      RumbaughJacobsonBooch05

      1. James Rumbaugh & Ivar Jacobson & Grady Booch
      2. The Unified Modeling Language Reference Manual (2nd edn.)
      3. Addison-Wesley Upper Saddle River NJ ISBN 0321245628 CR 0605-0455 QA76.76D47 R86 Dewey 005.3--dc22 2005 Pearson Education 2004
      4. =MANUAL UML2.0 OBJECT-ORIENTED MODELING LRM
      5. Includes a CD with PDF edition.
      6. p12. "UML is messy, imprecise, complex, and sprawling."
      7. Excellent and thorough description of UML2.0.

      2007-08-30 Thu Aug 30 14:08 Something Old

      Rich McGee sent me the following -- he is so right, this sight is worth a visit by people with experience of computing in the 1970s and 1980s
        Trust me, you *have to* visit this site! [ online.htm ]

        Classic operating systems, all running under OpenVMS, RSTS, RT11, CP/M, OpenVMS and *dungeo* plus *adventure*!

        [...]

        I am so stuck in 1985! Ie got RSTS booted, and I renewing my love with TECO, the best editor on the planet.


      For me the shock was photo of the kind of mainframe (ICL1900) that I used in the later half of the 1980's including a reference to it's "GEORGE 3" operating system.

      Meanwhile I'm trying to sort out my notes on dual optimization problems in [ maths/math_21_Order.html ] and my notes on Bayesian Belief Networks and abduction [ maths/math_81_Probabillity.html ] based on

      Pearl86

      1. Judea Pearl
      2. Fusion, Propagation, and Structuring in Belief Networks
      3. Artificial Intelligence V29n3(Sep 1986)pp241-288 [ citation.cfm?doid=9075.9076 ]
      4. =THEORY ABDUCTION DEDUCTION BAYESIAN BELIEF NETWORKS NON-SEQUENTIAL
      5. TBA

      2007-08-29 Wed Aug 29 10:08 Handling Criticism

      Nice article on how to handle negative comments about your designs.

      Wirfs-Brock07

      1. Rebecca J Wirfs-Brock
      2. Handling design criticism
      3. IEEE Software Magazine V24n3(May/Jun 2007)pp12-14
      4. =HOWTO DESIGN REVIEWS
      5. Criticism=valid | judgmental | personal | aesthetic | complexity.
      I used to teach a standard response to comments: "Thank you very much. We have noted that <rephrase comment> and will fix this after the meeting".

      In other words, any criticism (including " I don't understand" or something that indicates a big misunderstanding) indicates that there is something worth fixing. Confusing designs should be improved -- even if they will work.

      2007-08-27 Mon Aug 27 18:08 Software pricing and stocks

      Here are a couple of studies of how software is being bought and the effect of a announcement of a security vulnerability has on the price of a companies stocks.

      Cusumano07b

      1. Michael A Cusumano
      2. The Changing Labyrinth of software pricing
      3. Commun ACM V50n7(Jul 2007)pp19-22
      4. =NEWS ECONOMICS PRICES
      5. Notes a shakeout in software producers in last 10 years.
      6. Reports his students MS work (S Nayak, Pricing and licensing of software products and services: A study of industry trends", MIT MS Thesis Sys Des & Man Program MIT, May 2006)
        1. software_pricing::=Net{ licence:Licence_options, time:Licence_term, type:Installation_types, payment:Payment_methods, term:Terms_and_compliance, flex:Flexibility}.
        2. Licence_options::=individual | group | concurrent | enterprse | site.
        3. Licence_term::= 0..1.year | annual | 3 years | perpetual.
        4. Installation_types::= designated computer | standalon named user | network named user | concurrent user.
        5. Payment_methods::= up_front | pay_as_you_go | financed.
        6. Terms_and_compliance::=shrink_wrap | contract | dongled | activation.
        7. Flexibility::= product specific | product agnostic | remix.

      7. Also variations on free software: free razor + paid_for_blades, free software + paid_for_services, free software + advertizing.

      TelangWattal07

      1. Rahul Telang & Sunil Wattal
      2. An Empirical analysis of the impact of software vulnerability announcements on firm stock price
      3. IEEE Trans Software Engineering V33n8(Aug 2007)pp544-557
      4. =STATISTICS STOCKMARKET ECONOMICS RISKS FLAWS PATCHES SECURITY
      5. if vulnerabillity_is_announced then stock_price' = stock_price * 0.994.

      2007-08-26 Sun Aug 26 14:08 Why Software sucks

      I've just finished reading a book with the above title.

      Platt06

      1. David S Platt
      2. Why software sucks... And what you can do about it
      3. Rolling Thunder -- Pearson Education 2006 ISBN 0-321-46675-6 QA76.76 D47 P52
      4. =EXPERIENCE BAD USER DESIGN Web/Net SECURITY PRIVACY TRUST GEEKS microsoft
      5. Programmers are not like users.
      6. Based on Experience and [Cooper98].
      7. Instead of making the simple things simple, programmers are obsessed with making complex things possible.
      8. Proposes using ridicule. Blog [ http://www.suckbusters.com/ ]
      9. Compare [KanerPels98] who hoped "money back" would provide economic reasons to improve software. A change in the law got the vendors off the hook.
      10. Points out that a common trusted identification service is technically possible and would simplify many things, but has failed in the marketplace.

      The book talks a lot of sense about how developers and marketing people tend to make bad software. It is written for the general reader -- hence the entertaining description of an annual meeting of thousands of Geeks.

      My interest in the book was heightened by examples of software "that just works" and "software that sucks".

      First, I decided to move my old, redundant office laptop home so that I could telecommute a bit better (the old iMac OS9.* can not handle many of the pages that are popular these days -- including my CSUSB's web-mail page). So with a tremor I removed the Ethernet card and inserted the modem card. When I booted the correct drivers picked up the modem and recognized it. I had got the TCP/IP + ISP data from the old machine, So I used this to fill in the data in the MS Wizard to create a new network connection. The system dialed in correctly, first time. It is handling just about everything I can throw at it (but not the .Mac page or the Earthlink "Perhaps you mean one of these pages" page).

      The above is a classic: "It just works". I'm now writing this entry through the new modem etc... Not bad.


        I shouldn't have written this.... two paragraphs later I discovered that the auto-disconnect feature was on and typing through SSH is not counted as being active!

      Now compare this with what happened at work recently.

      Here is the ideal story:


        When a student asks me for a reference I can remember all the classes she has taken with me, the grades she got, the projects she attempted, etc. and can use this information to fill out the reference she needs.

      Problem:After 25 years = 75 quarters =~= 200 courses =~= 6,000 enrollments I can not recall much but the name that goes with the face (50% of the time).

      So up to this summer I did this

      1. Start the IBM 3276 emulator up and login to IBM CICS on the mainframe.
      2. Select the Student Information System SIS+.
      3. Login in to SIS+
      4. Input the student name to get the student Id (screen number 10?)
      5. Select the correct student and go to screen 136 (unofficial transcript).
      6. Search the screens looking for classes I have taught... jot down quarters and course numbers
      7. Open the encrypted rosters on the office PC for these classes to get the details.
      8. Think
      9. Write the reference.

      Notice that I can not just search for the students name or Id on the office machine because it is in encrypted files that can not be read without supplying a password.

      Now watch what happened on Thursday with the brand spanking new Common Management System (CMS) supplied by PeopleSoft -- a system that colleagues of mine have worked on for years to make it useful to this campus.

      1. Login to the CMS system.
      2. Select the "Faculty Center"
      3. Search for access to Student Records.
      4. Final... try the advising system... it does not keep record of graduates.
      5. Return to the Employee Page... no sign of "Records".
      6. Phone dept office and talk to Alice... she say "Look for Records on the Menu".
      7. What menu?
      8. Go to Department office -- she gets a menu that includes "Records" that is missing on my login.
      9. She volunteers to printout the transcript.
      10. Printing out a transcript is not a simple process.
      11. First you have to select a set of records to print.
      12. Then you have to to pick the documents that you really want.
      13. Then you have to use another page to show the PDF file that has been generated.
      14. Then back to the Print manager... and ask for the thing to print.
      15. ...

      Precisely the kind of complex procedure implementing a simple need that "Why Software sucks" talks about.

      I'll let you, gentle reader, work out how to improve the interaction design.

      Also an example how some user needs vanish from sight in many projects -- CMS promises to do a better job of giving me rosters than SIS+. I'm hoping that they'll make filling in a grade roster easier by the end of next quarter. After all it used to take 10 minutes to use a #2 pencil and a Scantron... But somehow faculty a not seen as needing to write references.

      Next time, I plan to walk to the dept office and ask to look in the filing cabinet. It will be faster.

      2007-08-23 Thu Aug 23 13:08 Question from reader


        > I want to make ASCII code of our fonts. > This is Azeri Latin font. > Hope of your help.

        Thank you for a fascinating question. I wish I had an answer. The only listing I can find is of the numbers used on Microsoft windows: Windows-1254 [ Character-Code.asp?s=1254 ]


      Intersting to notice that the acronym "ASCII" that used to stand for "American Standard Code for Information Interchange" has now become to mean some like: The numbers used to encode the characters in any given alphabet.

      2007-08-23 Thu Aug 23 09:08 Comment from a Reader


        Should your latest blog entry have UML instead of ULM?

        2007-08-22 Wed Aug 22 15:08 Showing design patterns in ULM diagrams

        Paul


      Yes... I've fixed it below.

      2007-08-22 Wed Aug 22 15:08 Showing design patterns in UML diagrams

      How do you show that one class is a Composite Observer -- or some other complex mixture of roles in a collection of design patterns?

      DongYangZhang07

      1. Jing Dong & Sheng Yang & Kang Zhang
      2. Visualizing Design Patterns in Their Applications and Compositions
      3. IEEE Trans Software Engineering V33n7(Jul 2007)pp433-453
      4. =DEMO TOOL VisDP UML PROFILE PATTERNS GRAPHICS WEB SERVICE XMI J2EE java.awt
      5. Need to show how one object/class plays many roles depending on the patterns.
      6. Defines an UML profile to show how classes/attributes/operations take part in design patterns.
      7. Demonstartes the clutter that appears with different ways of displaying this information.
      8. Demonstrates a tool that will make design paterns visible as requested by the user.

      2007-08-21 Tue Aug 21 14:08 Thirteen Blog Cliche's from Coding Horror

      Again an excellent posting from the "Coding Horror" blog [ 000834.html ]
      1. The useless Calendar Widget. -- not on my pages.
      2. Random images Inserted in Text. -- small blocks of text are good but this is no reason to include an irrelevant image. Not on my pages!
      3. No Information on the Author -- [ about.html ]
      4. Excess Flair -- clever little icons infesting the page. But not on my pages.
      5. The Giant Blogroll -- all the blogs and sites that you read. But not on my pages. Just citations (and some links) to publications: practical theory and sound practice.
      6. The Nebulous Tag Cloud. But not on my pages.
      7. Excessive Advertisements. But not on my pages.
      8. This Ain't your Diary. -- Hmmm --- guilty, I do include some daily events, but only when they remind me of stuff I have learned about developing software.
      9. Sorry I haven't Written in A While. -- Not here, much.
      10. Blogging about Blogging -- Just this one entry. Promise!
      11. Mindless Link Propagation -- I think about every link on these pages...
      12. Top (n) Lists -- Nope. Not many.
      13. No Comments Allowed. -- You can find a Contact/Comments button on most of my pages ( or even [ mailme.php ] ) and if it is not advertizing and I think it is relevant I'll edit it and put it into a future entry.....

      So to the heart of what this blog is about. Here is a paper claiming that writing stories is an excellent way to introduce the ideas of programming.

      KelleherPausch07

      1. Caitlin Kelleher & Randy Pausch
      2. Using storytelling to motivate prgramming
      3. Commun ACM V50n7(Jul 2007)pp59-64
      4. =ADVERT Alice EDUCATION GENDER SCENARIOS GRAPHICS Stencils XP GAMES
      But no reference to the use of stories and scenarios to express requirements!

      2007-08-17 Fri Aug 17 06:08 Early evidence for agile values

      I've just been rereading another paper published in 1995 [ notes/KrautStreeter95.html ] and was struck that it has evidence for the preferences in the Agile Manifesto [FowlerHighsmith01] (2001).

      I'm going to go and add the "AGILE" tag to the biblographic item [KrautStreeter95]

      The above where in the same issue as the articles on Bayesian Belief Networks (BBN). These look like a very nice mathematical model of the kind of causal thinking (boxes and arrows: If this then that can change) that is useful and common. Examples: fixing a printer, fixing a car, the safety and security of systems, ... It turns out I noted the reference some years ago [ maths/math_22_graphs.html#Bayesian Networks ] and then forgot about it.

      2007-08-15 Wed Aug 15 17:08 Trying to reorganize

      Well.... I now have functioning computers on my desk top (thank you Ken and Ernesto). I've also got the books and journals sorted -- turns out a version of selection sort was the best manual algorithm to move journals to the right place on a new shelf.

      Also working on making MS files accessible on my web pages [ readers_and_viewers.htm ] -- Thank you Rosa!

      Finally while sorting the journals I spotted a special issue [HeckermanEtAl95] on Bayesian Networks that started to get interested in (see LittlewoodWright07 below), as a form of plausible reasoning and/or causal modeling. I'll try to read the articles tonight and put a summary up on my web site when I can.

      All in all the move demonstrated the value of random stimulation and keeping paper copies of journals on hand.

      2007-08-14 Tue Aug 14 09:08 Message found as I moved office

      Good weekend that started with a dead battery which took us to a public library -- we came out with 3 books and a DVD...

      Went to the memorial Party for the husband of one of our graduate students on Saturday.

      On Sunday -- the funniest movie I've seen for months: "The Simpsons".

      Yesterday finished packing JBH341 and moved it all into JBH339. Next step to reorganize the work surfaces so that the function: reminders visible, computers usable, reference materials to hand, taching stuff ready to go, and the journals and research books sorted on the shelves.

      In the process I rediscovered a quotation that I fist saw nearly 40 years ago, and which has influenced my research into software development for most of that period:

      Laver65

      1. F J M Laver
      2. Introducing Computers
      3. HMSO London England 1965
      4. =HISTORY ADP SCIENTIFIC vs BUSINESS SYSTEMS ENGLISH-ELECTRIC ELLIOTT MARCONI LEO
      5. ADP::acronym="Automatic Data Procesaing".
      6. Quotation from Page 45
          A striking difference between the scientific and the business uses of computers is in the degree to which generalized processes and programs are used. Scientific program make considerable use of standard segments of program -- written and polished by experts -- for calculating values of the standard functions and for handling standard solutions to mathematical problems. Most business programs are written specially for each particular application, which adds greatly to their cost. It is true that optimization and efficiency are more important in business than in scientific programs, since the former are use repetitively over long periods, but it is hard to resisted the conclusions that much more could be done to define and standardise business procedures, and that until this is done the fullest use of A.D.P. will not be made. To tackle this requires a depth of dis-interested abstract though less common in the business than in the scientific world, and a theory of business systems is badly needed.

      IN many ways my work has focussed on understanding the user's/client's/stakeholder's realities in a rigorous form. But it it is still difficult to get computer people to look outside their box and think about what goes on whener the problems happen.

      2007-08-09 Thu Aug 9 09:08 Trip to LA

      Spent Tuesday and Wednsday in Los Angeles.... Hollywood Bowl and Griffith Park Observatory. Tiring but Excellent.

      Today: start to pack office and a meeting....

      Next week: der tag -- moving from JBH341 to JBH339.

    5. 16:08 Packed bookcases into 8 largish boxes. They take up about 50% of the office. Time to go home, I guess.

      2007-08-07 Tue Aug 7 11:08 Documentation... has value ... again

      Back in 2003 [ Fri Sep 5 11:04:21 PDT 2003 Documentation has value... in blog003 ] I noted the value of documenting the purpose of the various cans of paint that one accumulates living in a house. I returned to the cans over the weekend to paint some patches. I found the can labelled kitchen but had failed to label the can for the rest of the house -- a reverse of the mistake in 2003, almost.

      However, I could see the date when the unlabelled can was mixed and I keep a manual journal (a prototype for thisblog, in a way) and back in 1998 I was painting the wall in the house, not the kitchen. SO I used the 1998 can with a perfect match and labelled it correctly... then to the kitchen and had the right paint again.

      Moral: document the reasons for your choices as well as the technical solutions chosen. Also: keep a project log of what was done when... and make it a blog anyway.

      Thinking about how artifacts seem to decay -- Tom Gilb's observation that software rusts can be generalized. And concluding that it is not so much rust and radioactive decay as an increasing mismatch with changing environment: upstream and downstream... The specification ceases to fit the users requirments, and fails to describe the actual source code of the software (for example).

      Now getting ready for a trip to LA for a concert of English music from the 1700s. See [ plan.html ] for more plans.

      2007-08-06 Mon Aug 6 08:08 Fixing a hole where the rain got in....

      Plastering, spackling, painting....

      A key diagnostic technique is to search for a common explanation of all the symptoms. Logic doesn't support the validity of the argument, but I guess that the Bayesian theory of probability would let you calculate how much faith you should have in a common cause for a set of symptoms...

      On the other hand -- do two argumnets increase your faith in a proposition? Some have been arguing that if you text a system and prove it correct then you can have more faith in its reliability. Here is a paper that tackles this kind of reasoning using modern Bayesian Belife Networks

      LittlewoodWright07

      1. Bev Littlewood & David Wright
      2. The Use of Multilegged Arguments to increase confidence in safety claims for software-Based Systems: A Study based on a BBN Analysis of an idealized example
      3. IEEE Trans Software Engineering V33n5(May 2007)pp347-365
      4. =EXAMPLE THEORY RELIABILITY RISKS Arguments BAYES PROBABILITY BBN CAUSALITY SPECIFICATION CORRECTNESS TESTING
      5. When should two different arguments for the safety of a system increase our belief that a system is safe?
      6. Answer: when the arguments do not depend (too much) on a common source of defects.
      7. Compare with the simpler [Littlewood00] example.
      8. Example BBN:=following,
        Net
        1. Z: random_variable(Bit)= specification is correct
        2. O: random_variable(Bit)= test oracle is correct
        3. S: random_variable(Beta_distribution(0,1,...)) = probability of failure on demand.
        4. T: random_variable(Bit)= probability of failure during testing.
        5. V: random_variable(Bit)= formal verification proves correctness.
        6. C: random_variable(Bit) = Claim that system is fit for use should be accepted.

          Dependencies:= (Z+>O | Z+>S | Z+>V | O+>T | S+> T | S+>V | T+>C | V+>C ).

          Example dependency: the correctness of the oracle O depends on the correctness of the specification (Z).

          Example dependency: the parameters of the distribution of S depend on whether the specification is correct(Z).

          In general, for each dependency XY+>W tabulate for each X&Y value the probability of each W value given the XY values. If W is a continuous random variable then tabulate the probability density functions. The table is called a conditional probability table. See paper for a large example.

        7. A BBN implicitly defines a set of Conditional_independencies.

          Example Conditional_independencies:= following,
          Table
          Independent0fGiven
          OS VZ
          TZ VO S
          CO S ZV T

          (Close Table)
          So: if Z is given then O is independent of S and V.

        8. CI::BBN=conditionally_independent, two events are independent under certain conditions.
        9. conditionally_independent(A,B,C)::BBN= ( Pr(A B C) = Pr(A|C) Pr(B|C) Pr(C) ).
        10. ...

        11. Bayes's formula allows us to calculate the distribution of S and C given that T and V are true.

        (End of Net)

      2007-08-04 Sat Aug 4 05:08 Standards and documentation

      We got a new Heating and Air/Conditioning unit yesterday. The old was removed and the new put in place with no problems. The thermostat was wired in but when tested it performed backwards: on heat it did nothng and on "Cool" it turned up the heat. Very efficient new unit--- produced 110F hot air into a house that was 90F (with 100F) outside! An expert troubleshooter came out and found that the wires were the wrong colors and so the standard Red=common, While=Heat, (whatever) couldn't be used. The face-to-face communication in the team was good but with one end of the wires being on the roof and the the other insidethe house.... perhaps a bit of paper with the meanings of the wire colors might have saved some time? Anyway "Ronnie" fixed it, and did a long careful test. It worked last night.

      Ambler07

      1. Scott Ambler
      2. Calculating Documentation Cruft
      3. Dr. Dobb's Agile Newsletter (27 Jul 2007)
      4. =IDEA DOCUMENTATION METRIC CRUFT
      5. CRUFT::percent= 100 - C * R * U * F * T where
        • C:=The percentage of the document that is correct,
        • R:=The chance that the document will read by the intended audience,
        • U:=The percentage of the document that will be understood,
        • F:=The chance that the material contained in the document will be followed,
        • T:=The chance that the document will be trusted.

      6. (dick)|-perhaps we could use Shannon Communication Theory to measure the capacity, equivocation, etc of a document in bits?

      2007-08-02 Thu Aug 2 07:08 Connecting technical specifications to real requirements

      The following description of a tool includes some advice on being sure that software meets the real needs of the stakeholder:

      Cleland-HuangEtAl07

      1. Jane Cleland-Huang & Raffaella Settimi & Eli Romanova & Brian Berenbach & Stephen Clark
      2. Best Practices for automated traceability
      3. IEEE Computer Magazine V40n6(Jun 2007)pp27-35
      4. =ADVERT POIROT REQUIREMENTS TRACEABILITY TOOL =HOWTO IMPROVE DOCUMENTATION
      5. Detailed technical description of a tool that extracts links between documents in a software project.
      6. Describes a model of requirements and other artifacts: from Business Goals to Feature, Business use case, system use case, component, concrete ability, release, and product.
      7. Advice: create traceable artifacts
        • Use a project glossary
        • Write good requirements: correct, unambiguous, complete, prioritized, verifiable, understandable, identifiable, etc.
        • Structure the documents: headlines and sections.
        • Uncover/create synonyms across domains.
        • Create rich content: document the domain properties that link system requirements to user requirements.
        • (dick)|-this is a special case of M A Jackson's recent thinking. -- [Jackson0] [Vickers07]
      8. Plan and introduce automatic tools/processes to maintain and/or expose traces.

      2007-08-01 Wed Aug 1 08:08 Patents

      Something very strange is happening outside. Water is falling from the sky. I live in a town which has 360 days of sunshine, and this year has been dryer than normal.

      Back to business! The Coding Horror blog is proving to be very interesting. A resent entry was on patenting software. The Communications of the ACM also had an article on the topic:

      Atwood07

      1. Jeff Atwood
      2. The coming Software Patent Apocalpse
      3. Coding Horror (Jul ?? 2007) [ 000902.html ]
      4. =ESSAY LEGAL PATENT ARMS RACE Microsoft Knuth
      5. Over the top but basically sound.

      Samuelson07a

      1. Pamela Samuelson
      2. Software Patents and the metaphysics of Section 271(f)
      3. Commun ACM V50n6(Jun 2007)pp15-19
      4. =NEWS LEGAL PATENTS IP Microsoft vs AT&T EXPORT COMPONENTS

      2007-07-31 Tue Jul 31 11:07 Why Invalid arguments are plausible

      Some yeasrs ago I noted the existence of plausible arguments that are invalid: [ maths/logic_20_Proofs100.html#Three Kinds of Inference ] but, now, it looks like you can account for them, not using lgic, but Bayes's theory of probability as a measure of belief... [ maths/math_81_Probabillity.html#Bayes ]

      Writing this up as a break in taking some things out of my office, prior to moving next door.

      2007-07-31 Tue Jul 31 06:07 Naming documents

      Here is an idea from IEEE Computer Magazine -- how to name documents when many people are using a simple web-based collaboration site.

      Price07

      1. Sean M Price
      2. Supporting Resource-Constrained Collaboration Environments
      3. IEEE Computer Magazine V40n6(Jun 2007)pp108+106-107
      4. =IDEA WWW/NET DOCUMENTATION NAMES DIRECTORY STRUCTURE
      5. Proposes: that when collaborating, first create a simple hierarchy of topics and subtopics to organize documents. In each topic have a "Draft" subdirectory.
      6. A typical document undergoes a series of drafts and reviews before being finished. Drafted by an owner and then reviewed by others, then revised... .
      7. Proposes a naming convention for files that hold these documents:
      8. name_of_draft::="D_" short_name "_" date_stamp "_" owner "." extension.
         		D_Example_070730_RJB.txt
         		D_Example_070730a_RJB.txt
      9. name_of_finished_version::=long_name "_" date_stamp "." extension.
         		An example of this idea_070730.txt
      10. name_of_review::="D_" short_name "_" date_stamp "_" owner "_" reviewer "." extension.
         		D_Example_070730_RJB_ANO.txt
      11. version_stamp::= date_stamp O(version).
         		070730a
      12. date_stamp::= year month day.
         		070730
      13. year:=digit digit.
      14. month:=digit digit.
      15. day:=digit digit.
      16. version:=letter.

      2007-07-28 Sat Jul 28 07:07 Something new and something old

      First a system for writing and sharing WWW scripts -- can the success of Wikis with information also work with procedures?

      Second a short reference on Binary.

      Lau07

      1. Tessa Lau
      2. Social Scripting for the web
      3. IEEE Computer Magazine V40n6(Jun 2007)pp96-98
      4. =TOOL OPEN SOURCE SCRIPTS PROCEDURES WWW/NET WIKI-like KOALA
      5. Koala::= See http://www.research.ibm.com/koala
      6. Koala records in peudo-natural language actions taken as user browses the web to generate scripts easily.
      7. Scripts can pause for user interaction and fill in some values.
      8. System will store and replay scripts.
      9. Scripts can be published and so shared in Koalaescence.
      10. Scripts can be edited.
      11. Unclear if there is any form of conditional/selection/exception/extension/looping.
      12. Scripts have a title but no other aparent documentation: e.g. no pre/post-conditions or safeness/liveness guarantees.

      Holmes07

      1. Neville Holmes
      2. Binary ARithmetic
      3. IEEE Computer Magazine V40n6(Jun 2007)pp90-93
      4. =REFERENCE BINARY ARITHMETIC NUMBERS BYTES BITS ADDRESS INTEGER SCALED FLOATING POINT
      5. My own poor attempt [ Number Representations in math_42_Numbers ] at documenting the various notations.

      2007-07-27 Fri Jul 27 08:07 What makes a good debugger

      Working at home -- including planning a move to a new office... meanwhile

      CunhaGreathead07

      1. Alessandra Devito Da Cunha & David Greathead
      2. Does Personality Matter? An Analysis of code-review ability
      3. Commun ACM V50n5(May 2007)pp109-112
      4. =EXPERIMENT 64 PEOPLE INSPECTION CODE TECHNICAL MBTI
      5. Used the Myers-Briggs Type Indicator (MBTI) to classify students vs their skill at finding bugs in code.
      6. iNtuitive+Thinking people do significantly better at finding bugs in code than iNtuitive+Feeling, Sensing+Thinking, and Sensing+Thinking types.

      2007-07-26 Thu Jul 26 15:07 The Principle of Least Power

      This came in via the Coding Horror [ http://www.codinghorror.com/blog/ ] mailing list
      1. The Principle of Least Power
      2. Posted: 18 Jul 2007 02:59 AM CDT
      3. Tim Berners-Lee on the Principle of Least Power:
        • Computer Science spent the last forty years making languages which were as powerful as possible. Nowadays we have to appreciate the reasons for picking not the most powerful solution but the least powerful. The less powerful the language, the more you can do with the data stored in that language. If you write it in a simple declarative from, anyone can write a program to analyze it. If, for example, a web page with weather data has RDF describing that data, a user can retrieve it as a table, perhaps average it, plot it, deduce things from it in combination with other information. At the other end of the scale is the weather information portrayed by the cunning Java applet. While this might allow a very cool user interface, it cannot be analyzed at all. The search engine finding the page will have no idea of what the data is or what it is about. The only way to find out what a Java applet means is to set it running in front of a person.
      4. This was later codified in a more formal W3C document, The Rule of Least Power. I propose a corollary to this rule, which in the spirit of recent memes, I'll call Atwood's Law: any application that can be written in java_script, will eventually be written in java_script.

      Compare with [Gancarz95] tenets.

      2007-07-25 Wed Jul 25 06:07 CK Metrics work

      I've always been suspicious of metrics -- values calculated from the code for pieces of code that claim to reflect the quality of the code. The Chidamber-Kemerer metrics have been a leading example. hre is a paper that tested tp see if high scores on several metrics were associated with modules need more work...

      OlaguEtAl07

      1. Hector M Olague & Letha H Etzkorn & Sampson Gholston & Stephen Quattlebaum
      2. Empirical validation of three software metrics suites to predict fault-proneness of Object-Oriented Classes developed using highly iterative or Agile Software Development Processes
      3. IEEE Trans Software Engineering V33n6(Jun 2007)pp402-419
      4. =EMPIRICAL OPEN-SOURCE AGILE BUGS METRICS CK Chidamber-Kemerer QMOOD MOOD Rhino Javascript
      5. Showed that bad CK scores are associated with modules that need fixing.
      6. Showed a slight tendency for metrics to be less useful in older projects.

      2007-07-23 Mon Jul 23 06:07 Risks to the public and risks of project failure

      Freeman07

      1. Peter A Freeman
      2. Risks are your Responsibility
      3. Commun ACM V50n6(Jun 2007)p104
      4. =SERMON RISKS MODELS INCOMPLETE Limited Calculation SIMULATION MODULES ARCHITECTURE
      5. When working on a part need to be able to understand the whole -- and we don't have good tools for doing that with software.

      AvisonYoung07

      1. David Avison & Terry Young
      2. Time to rethink health care and ICT
      3. Commun ACM V50n6(Jun 2007)pp69-74
      4. =SURVEY UK HEALTH RISKS PEOPLE CULTURE FACE-TO-FACE VS ERP NPfIT RISP CSCI372
      5. Describes and analyses the history of health systems not meeting their goals and/or failing to serve the stake holders
      6. NPfIT::UK.NHS="The National Program for Information Technology".
      7. Notes that best practices include understanding and supporting the culture of the organization.
      8. Notes that health systems rely on complex face-to-face communication.
      9. Claims this is being ignored in NPfIT.

      Armour07b

      1. Philip G Armour
      2. Twenty Percent
      3. Commun ACM V50n6(Jun 2007)pp21-23
      4. =IDEA ESTIMATION OPTIMISTIC RISKS DEATHMARCH
      5. A good 50% estimate -- allowing for reasonable problems -- is negotiated down to one that has a 20% of being met, by ignoring the risks.
      6. Optimism reduces the resources requested at the price of increasing the probability of running out of resources.
      7. See [Spinellis07a] and [DEATHMARCH]

      2007-07-20 Fri Jul 20 06:07 Need to research web/net enabled applications

      HeckVervest07

      1. Eric Van Heck & Peter Vervest
      2. Smart Business Networks: How the network wins
      3. Commun ACM V50n6(Jun 2007)pp29-37
      4. =CASESTUDIES WEB/NET BUSINESS NETWORK EFFECTS ECONOMICS SERVICES COORDINATION ORCHESTRATION BOS Amazon eBay Multiasistecia Kenny's TheBigWord
      5. BOS::="Business Operating System".
      6. Businesses are starting to need the ability to create and operate flexible and ad hoc networks with partners.
      7. Also see news item on page 14: Amazon's "Mechanical Turk" and ChaCha that farm out problems that require powerful AI to real intelligences.

      FramlingEtAl07

      1. Kary Framling & Timo Ala-Risku & Mikko Karkainen & Ian Holmstrom
      2. Design Patterns for managing Product life cycle Information
      3. Commun ACM V50n6(Jun 2007)pp75-79
      4. =DEMO OBJECT-ORIENTED GoF PATTERNS OBSERVER COMPOSITE WEB/NET AGENTS SOAP JAVA HTML
      5. Gof.Observer and GoF.Composite were useful for organizing networks of agents.

      Shneiderman07

      1. Ben Shneiderman
      2. Web Science: A Provocative Invitation to Computer Science
      3. Commun ACM V50n6(Jun 2007)pp25-27
      4. =ESSAY SCIENCE ENGINEERING WEB/NET PEOPLE NONTECHNICAL EDUCATION
      5. Reports on the launching of a science of web applications [ http:://www.nowpublishers.com/web/ ] that stress the non-technical issues of computerized/networked systems.
      6. An alternative to or an introduction to or the future of computer science?

      2007-07-19 Thu Jul 19 08:07 In today.... dept 25th anniversary

      I'll be on campus real soon this morning.

      I'm planning to do some prep for the Fall Quarter in my office.

      From 11-12 the 25th Anniversary Comm will meet in JBH307.

      After that I'll probably head home.

      2007-07-19 Thu Jul 19 06:07 DFDs vs Use Cases Diagrams

      Interesting experiment....

      JeyarajSauter07

      1. Anand Jeyaraj & Vicki L Sauter
      2. An Empirical Investigation of the Effectiveness of Systems Modeling and Verification Tools
      3. Commun ACM V50n6(Jun 2007)pp63-67
      4. =EXPERIMENT DFD vs UCD USE CASE DATA FLOW GRAPHICS REQUIREMENTS MODEL
      5. Compared the ability of people (novice and experienced) to extract a correct and complete narrative from either a DFD or a use case diagram.
      6. DFDs better at exposing information about the system.
      7. Before asking non-experts (clients, users, stake holders) to review requirements diagrams provide training.
      8. Replicates [FreemanL03]

      2007-07-18 Wed Jul 18 13:07 STL and Languages considered too soft

      Spent some time this morning adding a section of sources to my notes [ samples/stl.html ] on the C++ Standard Template Library. This library provides too many obscure ways to solve problems! But then most of the C++ languages are like that, for example Java:

      JonesPE07

      1. Peter Edward Jones
      2. Do Programming Languages make Software too Soft
      3. IEEE Software Magazine V24n3(May/Jun 2007)pp120+118-119
      4. =EXAMPLE TECHNICAL leap year Java
      5. Gives half-a-dozen variations of Java code for determining if a year is a leap year -- including 4 tests of divisibility.
      6. Claims that languages should be harder so that only one or two solutions are possible!

      2007-07-17 Tue Jul 17 09:07 Poster for conference

      I spent part of the weekend printing and sending a 4'><4' poster to Puerto Rico on behalf of Jane Curnutt, Keith Schubert, and Ernesto Gomez. It was a 1Mb PDFthat I had to delete to save disk space on the server.

      2007-07-17 Tue Jul 17 07:07 Performance

      Here are a couple of papers on predicting or optimizing the performance of systems.

      ArdagnaPernici07

      1. Danilo Ardagna & Barbara Pernici
      2. Adaptive Service Composition in Flexible Processes
      3. IEEE Trans Software Engineering V33n6(Jun 2007)pp369-384
      4. =EXPERIMENT ANNOTATED MODEL SERVICE QUALITIES PERFORMANCE OPTIMIZATION QoS MAIS BPEL UML XML MILP
      5. Given a process that has many steps and includes loops and branches, and each elementary step can be carried out by several rival "concrete" services.... what is the optimum selection of services to complete task?
      6. Given the same process that is partly complete.... what is the optimum way to complete the process.
      7. If the optimal solution is not good enough... how to negotiate a better one.
      8. MAIS::="MultiChannel Information Systems" project, [ http://www.mais-project.it ]
      9. MILP::model="Mixed Integer Linear Programming".
      10. Qualities = { Price, Reputation, Execution_time, availability, data_quality}.
      11. Experiments suggest the algorithms work fast enough to be used in practice.
      12. Requires an extensive collection of data on both the service requirments and the properties of the services provided.

      CortellessaPieriniRossi07

      1. Vittorio Cortellessa & Pierluigi Pierini & Daniele Rossi
      2. Integrating software models and platform models for performance Analysis
      3. IEEE Trans Software Engineering V33n6(Jun 2007)pp385-401
      4. =DEMOs MODEL PERFORMANCE QUALITY UTILIZATION UML-RT ANNOTATIONS RRT REAL TIME
      5. Shows how to model design + platform so that the system can be simulated.
      6. RRT::= "IBM-Rational Rose RealTime tool set", includes simulation.
      7. Simulations appear to fit actual system loads well.
      8. Note. Diagrams may be UML-RT but they are not UML1.* or UML 2.0. They use a non-standard conditional node.

      Note: you can search my bibliography for publications about software development very easily: [ bibsearch.html ] (I sample the searches to see what topics are hot and what robots are visiting but I don't collect personal data).

      2007-07-16 Mon Jul 16 08:07 How to model agents

      Ambiguous: "Modelling Agents" -- are these people who find jobs for models, or a program for predicting the behavior of spies? No! Just extensions to the unified modeling language that handle the more complex things that happen with agents: being in environments, having rights and duties, etc.

      SilvaLucena07

      1. Viviane Torres da Silva & Carlos J P de Lucena
      2. Modeling multi-agent systems
      3. Commun ACM V50n5(May 2007)pp103-108
      4. =PROPOSAL METAMODEL MAS-ML TAO AGENTS UML
      5. TAO::="Taming Agents and Objects", conceptual framework.
      6. MAS-ML::="multi-agent systems modeling language".
      7. Adds to the UML the following
        1. 5 new stereotypes (belief, goal, axiom, right, duty),
        2. 10 new classifiers (AgentClass, OrganizationClass, EnvironmentClass, ....),
        3. 1 new Element: AgentMessage,
        4. 4 new direct relationships (ownership, inhabit, control, play).

      2007-07-13 Fri Jul 13 06:07 The White Water Process and fixing a bad definition in my Java pages

      First a thankyou to "Andrew" ( emulord101) for helping me improve my description of [ samples/java.glossary.html#protected ] (I'd abused th term deprecated).

      Here is a study of software development in small software companies. It demonstrates One size does not fit all.

      HarrisAebischerKlaus07

      1. Michael Harris & Kris Aebischer & Tim Klaus
      2. The Whitewater Process: Software product development in Small IT Businesses
      3. Commun ACM V50n5(May 2007)pp89-93
      4. =STUDY 3 SMALL Florida Information Technology BUSINESSES PEOPLE PROCESS CUSTOMERS FEATURES TECHNOLOGY ITERATION INCREMENTAL MICRO-RELEASES EVOLUTION SMITB ONE SIZE
      5. Development is feature driven -- even the development platform and technology is changed when their is a market reason to change.
      6. Small companies do not support multiple versions, multiple platforms, large marketing teams, trade shows, ...
      7. Small companies tend to support a small number (=~= 100) non-IT customers using internet delivery.
      8. Small teams. Modular architecture. Comparatively simple product.
      9. Increment starts with inspiration and evaluation. Then iterative development: many micro-release shown to customers. Delivery is followed by high-touch support. Though out customers (current and potential) are shown the new features for feedback.
      10. There are some cycles that involve major redesign and refactoring to add clashing features and/or resolve structural issues.
      Cusumano and colleagues have done similar (but longer) studies of large companies like MicroSoft and Netscape. For a bibliographic listing of publications on the diversity of processes try this ONE.SIZE search.

      2007-07-12 Thu Jul 12 08:07 Software Architect Defined

      Working at home this morning, I find it very hard to evaluate articles that talk sense, have some anecdotal (unverifiable or replicatable), and very few references. The following article seems sound but is not science-based.

      McBride07

      1. Matthew R McBride
      2. The software architect
      3. Commun ACM V50n5(May 2007)pp75-81
      4. =EXPERIENCE+SURVEY ARCHITECT PEOPLE ANALYSIS DESIGN MODULES QUALITIES ECONOMICS MANAGEMENT
      5. Based on some classic readings and some experiences(positive and negative) as acting as chief architect.
      6. Software Architects are responsible for the organization of the software -- the parts and how they work together.
      7. Tasks
        • Mitigate unbounded Complexity
          • Strategies: management, risk analysis, communication, educate stake holders in technology options and values
          • Tactics: requirements, layers, defined interfaces, iteration, increments
        • Manage Functional Requirements
        • Communicate Effectively. Developers, Senior management, project management, customers are different.
        • Embrace leadership.
        • Pay attention to nonfunctional requirements
        • Bring a well stocked toolkit
          • Patterns and idioms
          • Frameworks
          • Best Practices
        • Report results.

      2007-07-11 Wed Jul 11 10:07 Some reading on Business and enterprise needs vs techie stuff

      If there is one constant in computing it is the need to justify computer technology in terms of the existing enterprise/business needs. The readings all explore some varieties of this.

      Akera07

      1. Atsushi Akera
      2. Edmund Berkeley and the Origins of ACM
      3. Commun ACM V50n5(May 2007)pp31-35
      4. =HISTORY 1940s ANALYSIS Study Contract
      5. Need to sell managment on the use of computers to do paper-work. "Methods Analysis".

      Vickers07

      1. Andy Vickers
      2. Satisfying business problems
      3. IEEE Software Magazine V24n3(May/Jun 2007)pp18-20
      4. =ADVERT REQUIREMENTS REALITY DESIGN TRACEABILITY PRAXIS REVEAL JACKSON
      5. Michael A Jackson's ideas for working with requirements and systems canbe used for solving business/enterprise problem that do not involve programming.
      6. R=Requirements statements: desired state. "Candidates should leave the interveiw process with a positive view of the business".
      7. S=Specification statements: how the system responds to external stimuli. "Interview dates are booked in managers diaries at the time when the vacancies are advertised". "Interview dates are published"....
      8. D=Domain facts. Properties that are already true. "Managers are busy people". "Only Managers can interview candidates"...
      9. SA=Satisfaction Arguments. Shows that if Si and Dj... then Rk will follow. "By scheduling interview dates....the candidates will have had a positive experience".
      10. The SAs provide rich traceability, They also provide a stopping rule.
      11. The Ds help expose facts that may change and invalidate the specification: stop it meeting the stakeholders needs,
        dick|-can this metadata be recorded efficiently.

      CarvalloFranchQuer07

      1. Juan Pablo Carvallo & Xavier Franch & Carme Quer
      2. Determining Criteria for selecting Software Components: Lessons Learned
      3. IEEE Software Magazine V24n3(May/Jun 2007)pp84-94
      4. =EXPERIENCE STANDRADS COTS COMPONENTS SELECTION QUALITIES PURPOSES Criteria Catalog ISO/IEC9126-1 METRICS EVOLUTION REALITIES DOMAIN TAXONOMY
      5. "Adopt a balanced Criteria Catalog"
      6. Three level hierachy extending one in the standard.
      7. Built for a particular "scope": domain or category of similar domains.
      8. "Recognize the importance of nontechnical criteria"
      9. "Precisely Define your selection framework" UML model. KitchenhamHughesLinkman01. Criteria can be linked: synergy, conflict, ... Tool [ http://www.lsi.upc.edu/~gessi/DesCOTS/ ]
      10. "Consider the Criteria Catelogs final pupose". Catalogs can be reused between similar scopes.
      11. "Organize software scopes herarchically". Build a taxonomyof scopes (Figure 5).... Based a known hierarchy of business Applications.
      12. Describes 4 or 5 ways the experience can be used.
      13. The specific evolved catalogs and taxonomies are less important than the idea of evolving, iteratively, incrementally precise catalogs and taxonomies suited to your projects.

      McLaughlin07

      1. Laurianne McLaughlin
      2. Universal Business Language: Checkup time for an XML Vision
      3. IEEE Software Magazine V24n3(May/Jun 2007)pp113-116
      4. =NEWS EDI BUSINESS DATA STANDARD UBL-1 UBL-2 ebXML xCBL XML OASIS vs SOA
      5. UBL-1 defined the 8forms most often used between ordering and invoicing.
      6. UBL-2 has 1,000 data elemnts and 23 trade documents for government procurement.
      7. In use in Denmark and Sweden, not in USA.
      8. Forum [ http://www.ebexmlforum.net/ ]
      9. ebXML used for antiterroism, healthcare payments, B2B, ...
      10. Developing an international set of data dictionaries.
      11. Rivals: HL7, SOA, web services,
      12. United Nations Centre for Trade Facilitation and Elkectronic Business [ cefact ]

      2007-07-11 Wed Jul 11 09:07 Trying to improve description of Algol60

      My transaltion of the Algol60 Report into my meta-language MATHS has proved (over the years) problematic because
      1. MATHS is based on ASCII.
      2. Algol 60 has a completely alien character set, that has never been implemented.

      My latest attempt is [ samples/algol60.syntax.html ]

      Meanwhile, I'd like to acknowlege the help from an alert reader:


        Subject: samples/copy past after to mutch coffee

        Reply_To: gisli_tru@hotmail.com

      1. tolower(c)::char=converts lower case letters into upper case letters and copies all others.

      2. toupper(c)::char=converts upper case letters into lower case letters and copies all others.

        "THis was copyed from [ c++.libraries.html ] "

        Is it not supposed to be the other way around?

        ps. Great site.

        From: Acidiferous


      Seeing I don't drink coffee any more.... I blame the lack of coffee for the mistake.... which has been corrected. By the way, anybody like to fill in the holes in "c++.libraries.html"?

      Now to correct an typo in [ plan.html ] and I'll be ready to do some real work.

      2007-07-10 Tue Jul 10 09:07 Holiday reading on Evolution iteration TDD and agility

      Pleasant trip to San Diego. Toured the Midway Aircraft Carrier. Fascinating study in cybernetics and engineering -- how to create a floating town that is capable of supporting aircraft... One part went over the evolution of wireless messages from Morse Code and human transcription to the Baudot code and teleprinters. I date back to teleprinters...

      Meanwhile still catching up with my reading. The following have a common thread about changing software processes and methods

      Erdogmus07

      1. Hakan Erdogmus
      2. Novelty in sameness
      3. IEEE Software Magazine V24n3(May/Jun 2007)pp5-7
      4. =EDITORIAL IID ITERATIVE INCREMENTAL EVOLUTION Royce70
      5. Notes the difficulty of understanding and using new ideas.
      6. Good definition & discussion of iteration and increments.
      7. Compare with [Meyer97] (Quality First), [JacobsonBoochRumbaugh98] (RUP), [Larman04] (Evo, ...).

      Spinellis07a

      1. Diomedis Spinellis
      2. Silver Bullets and other Mysteries
      3. IEEE Software Magazine V24n3(May/Jun 2007)pp22-23
      4. =ESSAY SUBOPTIMAL PROCESSES DEATHMARCH FADS LEGACY GAMES
      5. Notes Alan Davies's explanation (NASSCOM 2006) of why developers and marketers agree on adding functions with impossible delivery dates.
      6. Reason: Machiavellian win-win after failure
        • Developers blame the impossible schedule.
        • Marketers blame the delay for missing the market window.

      7. Similarly rather than developers admitting the low quality of a legacy system, they prefer to promote its replacement with one using the lates silver bullet method/technology/process. Managers earn points for vision and proactivity. Vendors make money by selling the new ideas. And if it fails, then both developers and managers can blame the immaturity of the new silver bullet.

      FaegriHanssen07

      1. Tor Erlend Faegri & Geir Kjetil Hanssen
      2. Collaboration, Process Control, and Fragility in Evolutionary Product Development
      3. IEEE Software Magazine V24n3(May/Jun 2007)pp96-104
      4. =EXPERIENCE Evo GILB EVOLUTION METRICS IMPROVEMENT
      5. Reports on a two-year process of introducing and adapting Tom Gilb's Evo (1981) Process.
      6. Evo has a strict weekly schedule, defines increments in terms of measurable stakeholder needs.
      7. It needs efficient tools to support the rapid weekly cycle of adding requirements and testing solutions.
      8. May need to add "Green weeks" where system is tested without new functions being added. May need to have some 2 week iterations.
      9. Evo depends on the presence of the stakeholders.
      10. Evo improves customer satisfaction.


      11. (dick)|-for a good comparison of Evo with other agile methods see [Larman04]

      JeffriesMelnik07

      1. Ron Jeffries & Grigori Melnik (eds)
      2. TDD: The Art of Fearless Programming
      3. IEEE Software Magazine V24n3(May/Jun 2007)pp24-83
      4. =SURVEY =ISSUE TEST DRIVEN DEVELOPMENT
      5. Pages 24-29 defines TDD, surveys the research literature(TDD does work), introduces the following papers.
      6. In TDD the system is in one of three states: Fail (Red), Pass(Green), and Refactor in the following cycle:
        1. Design a test for one new capability.
        2. state=Fail.
        3. Implement just enough code to make all tests succeed.
        4. state=Pass.
        5. Improve design using tests to verify continued sucess.
        6. state=Refactor.

      7. Papers in special section
        Table
        AuthorTitleNote/link
        Robert C MartinProfessionalism and test-driven development
        Scott W AmblerTest-driven Development of Relational Databases refactoring may temporally lead to duplicated fields and special synchronisation methods.
        Thomas Dohmke & Henrik Golleetest_driven Devlopment of a PID Controller
        Alex Ruiz & Yvonnee Wang PriceTest-Driven GUI development with testNG and Abbot
        Jennitta AndreaEnvisioning the NExt Generation of Functional Testing tools
        Johnson & Maximillien & Ho & Williams Incorporating Performance testing in a Test-Driven Development
        Bas Vodde & Lasse Koskela Learning Test-Driven Development by Counting Lines See [VoddeKoskela07]

        (Close Table)

      VoddeKoskela07

      1. Bas Vodde & Lasse Koskela
      2. Learning Test-Driven Development by Counting Lines
      3. IEEE Software Magazine V24n3(May/Jun 2007)pp74-79
      4. =ANECDOTE EDUCATION TECHNICAL =EXAMPLE TDD REFACTORING LoC
      5. Describes experiences with teachers and students writng a program to count the number of lines of code (LoC) in Java Source code.
      6. The cycle of write test + write code without merciless refactoring always lead to ugly code while uncovering the real problems to be solved.
      7. It takes a big refactoring to come up with an elegant solution.
      8. Claim: it would be hard to produce the elegant and correct solution without the learning using TDD.
      9. Note: the samples of solutions demonstrates the ugliness and elegance of the solutions well.

      2007-07-03 Tue Jul 3 12:07 Hot weather and reading

      KitchenhamMendesTravassos07

      1. Barbara A Kitchenham & Emilia Mendes & Guilherme H Travassos
      2. Cross versus Within-Company Cost Estimation Studies: A Systematic Review
      3. IEEE Trans Software Engineering V33n5(May 2007)pp316-329
      4. =SURVEY ESTIMATE COSTS COCOMO
      5. Can a company rely on data frm other companies to guide its cost-estimation methods?
      6. Found the 10 empirical papers published on this topic. Evaluated and compared them. Drew conclusions:
      7. A large company, similar applications, similar sizes, some large projects all indicat that estimtes can be made better using data from another company.
      8. Small companies, specialized or small projects, or homogeneous internal data sets indicate that a company should only use its own data to calibrat its estimates.

      AnderssonRuneson07

      1. Carina Andersson & Per Runeson
      2. A replicated quantitative analysis of Fault distributions is complex software systems
      3. IEEE Trans Software Engineering V33n5(May 2007)pp273-286
      4. =EXPERIENCES ANALYSIS SIZE MODULES RELIABILITY
      5. Repeats [FentonOhlsson00].
      6. Few modules contain most faults - pre & post release.
      7. Fault densities are similar in similar environments.

      Joannou07

      1. Paul Joannou
      2. Enterprise, Systems, and Software Engineering -- the need for Integration
      3. IEEE Computer Magazine V40n5(May 2007)pp103-105
      4. =IDEA ENTERPRISE ENGINEERING SYSTEMS SOFTWARE
      5. Need to match software to system and systemto enterprise,

      Guerra-FilhoAloimonos07

      1. Gutenberg Guerra-Filho & Yannis Aloimonos
      2. A Language for Human Action
      3. IEEE Computer Magazine V40n5(May 2007)pp-
      4. =IDEA PARALLEL GRAMMAR MODELS HUMAN MOTION
      5. Use a parallel synchronous grammar system to describe the motions of linked limbs/joints.

      Hatton07a

      1. Les Hatton
      2. Emprirical Test Observations in Client-Server Systems
      3. IEEE Computer Magazine V40n5(May 2007)pp24-29
      4. =STATISTICS ERRORS TWO CLIENT-SERVER SYSTEMS
      5. Worth continuing to monitor correctness of client and server system after delivery. Even for errors in the serverthat the user can not observe.
      6. No evidence that a good GUI covers up errors.
      7. Claims <= 1 defect per KSLOC.

      Gries07

      1. David Alan Gries
      2. Working Class Hero
      3. IEEE Computer Magazine V40n5(May 2007)pp8-10
      4. =HISTORY OPEN SOURCE 1955 SHARE CUBE LINUX
      5. Argues that the Open/Free Source Code movement dates back to the free sharing of software in "user groups" in the 1950's.
      6. Anecdote arguing that it takes a degree of oppression of the workers to keep a software product alive in competition.

      Sakthivel07

      1. S Sakthivel
      2. Managing RISK in offshore systems development
      3. Commun ACM V50n4(Apr 2007)pp69-75
      4. =SURVEY OUTSOURCE OFFSHORE RISKS
      5. Risks are higher and need managing when developers are far from the problem.

      NevoWade07

      1. Dorit Nevo & Michael R Wade
      2. How toavood disapointment by design
      3. Commun ACM V50n4(Apr 2007)pp43-48
      4. =FOCUS EXPECTATIONS VoIP Project SATISFACTION EXPECTATIONS
      5. Stakeholer satisfactiondepends on the system performing a little better than expected.

      Denning07

      1. Peter J Denning
      2. Mastering the Mess
      3. Commun ACM V50n4(Apr 2007)pp31-25
      4. =ESSAY PROBLEMS INNOVATION THINKING
      5. mess: disorder, no problem statement, controversy, doubtful causality, fixes don't work, ... "Normal"...
      6. 4 levels of mess and actions.
      7. 6 stratagems: declare, learn, question, many views, lead, disguise

      2007-06-28 Thu Jun 28 15:06 New convention in proofs

      I've just introduced a useful new convention for typing up proofs. In a step like this
    6. (evidence)|- (label): result.

      The evidencee can be "-1" to indicate the previous result, and "-2" the previous two. I don't think that "-3" is stable enough.

      [ maths/logic_25_proofs.html ]

      2007-06-28 Thu Jun 28 14:06 Miscelaneous -- open source economics + Virtual communities + Data maturity

      AikenAllenParkerMattia07

      1. Peter Aiken & M David Allen & Burt Parker & Angela Mattia
      2. Measuring Data Managment Practice Maturity: A Community's Self-Assessment
      3. IEEE Computer Magazine V40n4(Apr 2007)pp42-50
      4. =MODEL +POLL DATA PROCESS MATURITY IMPROVEMENT CMMI
      5. Proposes a CMMI-like measure of the maturity of data managment.
      6. 6 process areas: data program coordination, organizational data integration, data stewardship, data development, data support operations, and data asset use.
      7. The usual 5 levels: 1=initial, 2=repeatable, 3=defined, 4=managed, 5=optimizing.
      8. Questionaire with 20+ questions used intelephone interviews 2000-2005 with 107 companies.
      9. Results: most process areas are at the repeatable level.

      Riehle07

      1. Dirk Riehle
      2. The Economic motivation of open source software: stakeholder perspectives
      3. IEEE Computer Magazine V40n4(Apr 2007)pp25-32
      4. =ESSAY ECONOMICS OPEN SOURCE
      5. Explains why it pays to develop open source solutions.

      KohEtAl07

      1. Joon Koh & Young-Gul Kim & Brian Butler & Gee-Woo Bock
      2. Encouraging Participation in Virtual Communities
      3. Commun ACM V50n2(Feb 2007)pp69-73
      4. =POLL USERS WEB/NET COMMUNITIES
      5. Activity = Posting | Viewing.
      6. Perceived usefulness improves viewing.
      7. Offline interaction & quality of technology drives posting.
      8. Larger communities have more posting and viewing.

      2007-06-28 Thu Jun 28 14:06 Research from IEEE Transactions on Software Engineering

      Papers on testing optimization models UML:

      PerkinEtAl07

      1. Simon Perkin & Claude Jard & Thierry Jeron & Jean-Marc Jezequel & Yves Le Traon
      2. Test Synthesis from UML Models of Distributed Software
      3. IEEE Trans Software Engineering V33n4(Apr 2007)pp252-268
      4. =DEMO UML sequence diagrams MSC SCENARIOs State machines FSM TESTS ATC XMI IOLTS Objecteering Umlaut TGV
      5. SUT::="System Under Test".
      6. IOLTS::="Input Output Labeled Transition System", Actions are classified as hidden, inout, and output.

      LiHarmanHierons07

      1. Zheng Li & Mark Harman & Robert M Hierons
      2. Search Algorithms for Regression Test Case Prioritization
      3. IEEE Trans Software Engineering V33n4(Apr 2007)pp225-237
      4. =EXPERIMENTS OPTIMIZATION GREEDY GENETIC HILL-CLIMBING
      5. Test Case Prioritization:=following
        Net
        1. Tests::given.
        2. PT:= 1..|Tests| --- Tests, permutations.
        3. award : PT >-> Real = given.
        4. T:PT = goal.
        5. |-(optimal) : for all T':PT~{T}( award(T)>=award(T') ).

        (End of Net)

      6. Greedy worked quiet well in both small and large test sets.
      7. Hill Climbing produced a wide range of local optima -- multimodality. Note: the hill climbing step was a single interchange of the first test in the order with another test.

      BaierEtAl07

      1. Christel Baier & Lucia Cloth & Boudewijn R Haverkort & Mathias Kuntz & Markus Siegle
      2. Model Checking Markov Chains with Actions and State Labels
      3. IEEE Trans Software Engineering V33n4(Apr 2007)pp209-224
      4. =THEORY MODEL CHECKING REAL TIME MARKOV CHAINS PROBABILITY LOGIC asCSL
      5. Logic + model design for verifying requirements that a given pattern of actions and states (and time limits) has a given range of probabilities.
      6. Example requirement: the probabillity of entering a full state via a number of arrive actions within 5 time units must be greater than or equal to 99%.
      7. Defines products of chains.
      8. Cellular phone hand over model.
      9. experiment with tool.

      Milicev07

      1. Dragan Milicev
      2. On the Semantics of Associations and Association Ends in UML
      3. IEEE Trans Software Engineering V33n4(Apr 2007)pp238-251
      4. =THEORY SEMANTICS UML ASSOCIATION {unique} {nonunique} Z
      5. Notes an ambiguity in the UML 2.0 standard metamodel of associations ("the restrictive") and proposes a fix("the intensional").
      6. Very bdetailed and Precise using Z.

      2007-06-28 Thu Jun 28 12:06 GIS Job with Washington State Dept of Transportation

      1. Position: Information Technology Specialist 4
      2. Division: Strategic Planning & Programming, Geographic Services
      3. Recruitment Number: 06-HQ-201
      4. Location: Tumwater, WA
      5. Opening Date: September 25, 2006
      6. Closing Date: October 13, 2006

        This position is responsible for design, acquisition, maintenance, troubleshooting, problem resolution and consulting for GIS systems. As a member of the Cartography and Geographic Information Systems (CGIS) section, this position will work closely with staff/contractors on the development and support of GIS applications that have significant Department-wide impact using ArcObjects, ArcGIS Engine, and ArcGIS Server. Specific applications include the Roadside Features Inventory Program Field application, the GIS Workbench, the Enterprise Location Class (ELC), multiple ArcIMS applications, and ArcGIS Web Services. This position is considered to be a technical expert in developing GIS desktop, server and field applications. This position will work with multiple business areas to identify which system-related needs are most applicable for inclusion into the department’s GIS environment.

      2007-06-28 Thu Jun 28 08:06 Quality First vs Best Foot First

      Poured a mug full of really hot water on to my foot on Tuesday.... a line of small blisters on Wednsday, but able to wear shoes again today.

      Into my office and rediscovered a brilliant early description of what we might call test driven development or feature driven development

      Meyer97

      1. Bertrand Meyer
      2. Practice to Perfect: The Quality First Model
      3. IEEE Computer magazine V30n5(May 1997)pp102-103+105-106
      4. =ADVERT QUALITY EVOLUTION INCREMENTS PURPOSE
      5. First get highest QUALITY and then add PURPOSEs
      6. always have a reliable robust maintainable product
      7. not RAD but closer to MS smoke-test( [CusumanoSelby97)] plus using compiler to validate code
      8. cf eXtreme Programming XP

      I'll be posting some more recent reading later today.

      By the way.... if you couldn't find our web site... the server room air conditioning failed last night and we had to shut down a lot of systems until we could get the room down to a sensible temperature.

      2007-06-26 Tue Jun 26 07:06 Revized Generic Syllabus

      See [ syllabus.html ] , it just needs proof reading and a couple of page numbers inserted for pages in the CSUSB catalog.

      2007-06-25 Mon Jun 25 19:06 Tidying up at home and online...

      Flying visit to scan and upload half-a-dozen historic photos to prepare for the 25th anniversary of the dept: [ 25th ]

      2007-06-20 Wed Jun 20 15:06 Attempting to Tidy up

      Threw out and/or shredded stuff from Fall 1997. And filed stuff from this quarter. Got out materials from previous [ cs201 ] and [ cs372 ] course, ready for fall.

      Added another example to [ andor ] research.

      Worked on the CSCI dept's [ 25th ] anniversary....

      And here is a paper advertizing a way to use software services to collect and integrate healthcare systems:

      BudgenRigby07

      1. David Budgen & Michael Rigby & Pearl Brereton & Mark Turner
      2. A Data Integration Broker for Healthcar Systems
      3. IEEE Computer Magazine V40n4(Apr 2007)pp34-41
      4. =ADVERT SERVICE DATA HEALTHCARE IBHIS ONTOLOGY SEMANTICS UK

      2007-06-19 Tue Jun 19 10:06 Grading and tidying up

      Got the grades in by the deadline: [ cs202/grading/ ] and [ cs320/grading/ ]

      2007-06-18 Mon Jun 18 15:06 Concerns in Source Code

      RobillardMurphy07

      1. Martin P Robillard & Gail C Murphy
      2. Representing concerns in Source Code
      3. ACM TOSEM Trans Software Eng & Methodology V16n1(Jan 2007)pp1-38
      4. =EXPERIMENTS TECHNICAL TOOL ASPECT-like ECLIPSE PLUGIN FEAT JAVA
      5. =THEORY SOURCE CODE cross-cutting concerns
      6. FEAT tool tested on several small experiments -- seems to make maintentance easier.
      7. Makes concerns visible in source code and allows browsing by the scattered concerns.
      8. Detects inconsistent patterns and so points to ways to fix bugs.
      9. FEAT::= See http://www.cs.ubc.ca/labs/spl/projects/feat

      10. Also publishes a difficult formal mathematical model of concerns and their relation to source code: concern graphs.

      2007-06-17 Sun Jun 17 16:06 Commencement

      Hot, sunny, fun, robes, fountains, photos [ 20070617Commencement.jpg ] , ...

      2007-06-12 Tue Jun 12 10:06 MetaFarcical Performances?

      Went to the CSUSB theater for the last performance of "Noises Off" a farce about a theatrical company trying to present a farce while their personal and professional relations are collapsing everywhere. I haven't laughed as much for 40 years. To say nothing of the sardines.

      I've also just read a couple of articles on Service Oriented Architectures and the idea of Enterprise Service Busses.

      Ortiz07

      1. Sixto Ortiz Jr
      2. Getting on ZBoard the Enterprise Service Bus
      3. IEEE Computer Magazine V40n4(Apr 2007)pp15-17
      4. =ADVERT ESB SERVICES ARCHITECTURE GLUE SOA INTEGRATION LEGACY EAI
      5. EAI::="Enterprise Application Integration", hub and spoke. Adaptors. Brokers. Pipelines. Point-to-Point
      6. SOA:="Service Oriented Architectures",XML defined WEB communication, SOAP HTTP UDDI ...
      7. Hub and spoke can have performance problems.
      8. ESB::="Enterprise Service Bus", analogy hardware bus, handles locating servers, adapting data, routing messages. JCA | SAP IDoc. Many protocols...
      9. Does more work .... So larger servers.
      10. Many rival products.

      Bussler07

      1. Chistoph Bussler
      2. The Fractal Nature of Web Services
      3. IEEE Computer Magazine V40n3(Mar 2007)pp93-95
      4. =HARMFUL NAIVE SERVICE SOA PERFORMANCE QUEUES
      5. A new silver bullet: Service-oriented Architecture.
      6. If everything is a service and can be called by any other service then performance will be unstable.
      7. Example: Simple request and reply leads 14 messages, 24 remote invocations, and 4 distributed transactions.
      8. Need to think about what should be offered as a service....

      2007-06-08 Fri Jun 8 08:06 Patents and Agile Methods

      A couple of items.... some old news about patent law for software and some thinking about Agile Methods:

      Samuelson07

      1. Pamela Samuelson
      2. Patent Reform Through the Courts
      3. Commun ACM V50n2(Feb 2007)pp19-23
      4. =NEWS USA Supreme Court IP PATENTS PTO CAFC FTC infringement obvious
      5. Teleflex vs KSR International on the obviousness of combined technologies -- does one need a suggestion to demonstrate that a combination is non-obvious.

      NerurBalijepally07

      1. Sridar Nerur & VenuGopal Balijepally
      2. Theoretical Reflections on Agile Development Methodologies
      3. Commun ACM V50n3(Mar 2007)pp79-83
      4. =SURVEY Philosophies AGILE
      5. Makes the case that agile mthods fit well with recent developments in architectural, cybernetic, and management thinking.

      2007-06-07 Thu Jun 7 13:06 Bad Math

      Here are a couple examples of reports of the bad use of mathematics in the practice of developing software:

      Armour07a

      1. Phillip G Armour
      2. Mortallity Play
      3. Commun ACM V50n3(Map 2007)pp-
      4. =ANECDOTE INSURANCE SOFTWARE ESTIMATION
      5. Insurance depends on estimating precisely the chances of bad things happening...
      6. But this (anon) company had failed to figure out the chance of four projects failing.
      7. Armour figured each had a 1/5 chance, so all four at about 1/200 for the complete set.
      8. They used classic project planning with task breakdown etc...
      9. Conclusion: don't just ask how long a project will take, ask what is the chanace that it will be complete by the deadline.

      KitchenhamJefferyConnaughton 07

      1. Barbara Kitchenham & David Ross Jeffery & Colin Connaughton
      2. Misleading Metrics and Unsound Analysis
      3. IEEE Software Magazine V24n2(Mar/Apr 2007)pp73-78
      4. =STATISTICS EXPERIENCES PROCESS STANDARD ISO/IEC 15393 METRICS PRODUCTIVITY Function points AMS
      5. AMS of IBM Australia is CMM level 4 softare group and has statistical databases for all their projects.
      6. Standard defines productivity = Lines_of_code / hours_of_effort.
      7. This ratio was not normally distributed and had a large standard deviation accross all projects.
      8. Classic statistical control charts don't make sense.
      9. Aggregated values do not apply to particular projects
      10. Scatter plots of Effort vs size in function points shows that a correlation model does not apply: nonhomoskedadistic for a start.

      11. Should use similar projects, graphical displays of data, transform data before correlating effort vs size, avoid means and standard deviations, beware metrics that are ratios!

      2007-06-05 Tue Jun 5 14:06 Requirements

      A couple of papers on sorting out requirements for software projects. First: reprogram your PDA, second: expose how the stakeholders think:

      MaidenEtAl07

      1. Neil Maiden & Omo Otojare & Norbert Seyff & Paul GrunBacher & Karl Mitteregger
      2. Determining Stakeholder needs in the workplace: How Mobile Technologies can help
      3. IEEE Software Magazine V24n2(Mar/Apr 2007)pp46-52
      4. =EXPERIENCE MSP Mobile Scenario Presenter PDA MSWord Requirements Arena-M ART-Scene Web/Net
      5. MSP::tool, presents and records scenarios + notes about them.
      6. Mobile device should be used to collect requirements where they occur -- in the workplace. Can combine mobile technology with various methods of requirments elicitation.
      7. Bespoke mobile requirements tools work better than generic tools.
      8. Tools should work with different people: analysis have more complex needs than future users.
      9. Usiability is important.
      10. Plan carefully to develop an infrastructure that supports mobile RE tools.
      11. Capture just enough information to enable completion of specifications later.
      12. 13 references.

      NiuEasterbrook07

      1. Nan Niu & Steve Easterbrook
      2. So, You think you know others' goals? A Repertory Grid Study
      3. IEEE Software Magazine V24n2(Mar/Apr 2007)pp-61
      4. =EXPERIENCE KHP REQUIREMENTS GOALS RGT =SURVEY REPERTORY GRID PCT Kelly
      5. RGT::="Repertory Grid Technique".
      6. Grids discover the dimensions of the personal space for handling a set of objects.
      7. PCT::="Personal Construct Theory", by George Kelly, all people construct their own models of the world using their own dimensions.
      8. Grids are good for provoking discusion and eliciting hidden requirments/properties.
      9. Need tools to support RGT.
      10. Sidebars survey work and introduce RGT

      2007-06-05 Tue Jun 5 09:06 Credit for Next 2 seminars

      The next two seminars [ seminar/20070608.txt ] [ seminar/20070615.txt ] have several presentations and last from 11am to 3pm! I plan to hand round a sign up sheet at the start of each 60 minutes... and will give 5 points credit for that hour if you sign up.

      There will be no points for attending the informal brown bag lunch.

      2007-06-04 Mon Jun 4 14:06 Picnic, Effectve Technology leadership

      Fun CSci Picnic out by the soccer field: sushi, icecreadm, chicken, beans, etc etc. ... Pictures will be posted on the dept web site.

      Read an article on what makes technology leaders promotable. Other than the jargon, this has not changed for 40 years.

      Andriole07

      1. Stephuen J Andriole
      2. The 7 habits of highly effective technology leaders
      3. Commun ACM V50n3(Map 2007)pp67-72
      4. =POLL CIOs
        1. Think and communicate in terms of business rather than technology.
        2. Track technology in terms of how developed it is and if it is operational or strategic.
        3. Seek cures for business pain
        4. Optimize values of shared services and govern operational and strategic levels together.
        5. Negotiate service-level agreements and manage aquisition and ousourcing SWOT analysis.
        6. Communicate. Communicate. Communicate.
        7. Market IT to the enterprise.

      2007-05-31 Thu May 31 16:05 GIS Internship (paid)

      IEGIS Job: GIS Intern, City of San Bernardino

      The City of San Bernardino has a new paid GIS intern position for about 20 hours a week. I am looking for someone who is getting a Bachelors in GIS or a GIS related field such as Environmental Studies, Planning or Geography. The person should have successfully taken classes where the ArcGIS software (version 9 or greater) was used for the coursework.

      • Ruth Parish
      • GIS System Administrator
      • IS Department
      • 300 North D Street
      • San Bernardino, CA 92418
      • 909-384-5947 (main)
      • 909-384-7236 (fax)

      2007-05-31 Thu May 31 14:05 Lost weekend...

      I had a cold over Memorial Day Weekend... and so missed 2 of the 3 Shakespear plays int he Redlands festival. And fell behind in my proffessional reading... but caught up on 40 year old mysteries....

      But I've just collefcted the following advocate the use of Eclipse as a IDE:

      YangJiang07

      1. Zhihui Yang & Michael Jiang
      2. Using Eclipse as a tool-integration platform for software development
      3. IEEE Software Magazine V24n2(Mar/Apr 2007)pp87-89
      4. =ADVERT TOOL Eclipse GMF EFM JDT WTP TPTP JUnit OPEN SOURCE
      5. Claims Eclipse supports Soup to Nuts development (requirments to testing).
      6. Claims Eclipse has 23 languages, 1,385 plugins, and support for Java, C/C++, etc.
      7. Lists resources on page 89.
      8. Problems discovering, understanding and managing plugins and updates.
      9. Before developing a plugin: choose the level of integration (page 89) and review the resources

      2007-05-26 Sat May 26 07:05 Visit to Barstow High School

      Yesterday, Friday, I drove out of the San Bernardino valley into the High Desert to talk to the GATE Club at Barstow High School. Thanks to Bill for inviting me (and supplying tea), and to John, Raven, Jodie, Ali (Spelling?), and Sam for some interesting discussions as to what computer science is.

      Then drive back down into the smog for the Redland's Shakespear Festival -- "A Midsummer's Night Dream". An really good performance with all the words ringing clear for once -- "And the nine men's morris is filled up with mud."

      Just added a note on a recent letter on [GrottkeTrivedi07] that critiques the use of "rejuvenation" as a way of handling some bugs.

      2007-05-24 Thu May 24 15:05 Pete Naur

      Not sure what to say about the following reading. I greatly admire the author and have used several of his ideas.... and yet I'm not sure that his model of the mind is that different to what I've already used...

      Naur07

      1. Peter Naur
      2. Computing versus Human thinking
      3. Commun ACM V50n1(Jan 2007)pp85-94
      4. =HISTORY REJECTING MODERN PSYCHOLOGY LOGIC TURING vs plastic neural nets
      5. William James
      6. Science as description not theorizing.

      2007-05-23 Wed May 23 13:05 Quantitive methods

      Here are three papers the describe various quantitive methods associated with software development: estimation, modularization, and quality improvement.

      Hatton07

      1. Les Hatton
      2. How Accurately do Engineers predict Software Maintenance Tasks
      3. IEEE Computer Magazine V40n2(Feb 2007)pp64-69
      4. =EXPERIENCE STATISTICS MAINTENANCE CHANGE REQUESTS CR
      5. Ratios of Corrective:Adaptive:Perfective vary with project. In these projects roughly 10:45:45.
      6. 75% of changes took less than 5 hours.
      7. Typically estimate was roughly 35% over the actual.
      8. But overestimation was significantly less in the second half of the data vs the first half.
      9. The variance of the overestimate drops as project progresses.

      SarkarRamaKak07

      1. Santonu Sarkar & Girish Masken Rama & Avanish C Kak
      2. API-Based and Information-Theoretic Metrics for Measuring the Quality of Software Modularization
      3. IEEE Trans Software Engineering V33n1(Jan 2007)pp14-32
      4. =EXPERIMENTS MODULARITY METRICS API COHESION COUPLING httpd mozilla apache CDM CCM APIU ...
      5. Inspired by the attempt to modularize a large monolythic program into good modules without using Object-Oriented techniques.

      Schneidewind07

      1. Norman Schneidewind
      2. A Quantitative Approach to Software Development using IEEE 982.1
      3. IEEE Software Magazine V24n1(Jan/Feb 2007)pp65-72
      4. =EXPERIENCE MATHEMATICS STANDARD RELIABILITY QUALITIES TOOLS Space Shuttle IEEE 982.1
      5. Methods used plus two formulas.
      6. Lessons learned in 20 years include
        • No one method is a silver bullet: integrate many quality improvement methods
        • Continually improve and upgrade processes and methods.
        • Include feedback loops so that defect information helps improve requirements analysis (for example).
        • The reliability models do not make accurate predictions -- the provide better bounds on how long to the next failure etc.
      7. Mix standards with other technique like fault injection and detection.

      2007-05-22 Tue May 22 14:05 Watch for seminar changes and bugs...

      More changes in the [ seminar/ ] schedule.

      And some reading on debugging

      Grier07

      1. David Alan Grier
      2. Dirty Electricity
      3. IEEE Computer Magazine V40n2(Feb 2007)pp6-8
      4. =HISTORY DEBUGGING
      5. Edison commented on bugs in 1878.

      GrottkeTrivedi07

      1. Michael Grottke & Kishor S Trivedi
      2. Fighting Bugs: Remove, Retry, Replicate, and Rejuvenate
      3. IEEE Computer Magazine V40n2(Feb 2007)pp107-109
      4. =SURVEY DEBUGGING
      5. Different types of bugs need different strategies.
      6. Bohrbugs: use testing to find and remove faults that consistently manifest bugs in well defined conditions.
      7. Mandelbugs: No replication.fault->internal error-> error propagation-> platform interactions -> chaotic behavior. So can often avoid bug by retrying the software. Can try replicated software in different platforms.
      8. Age-Related Bugs: Rejuvenate = restart. Same two type: Bohr and Mandel.

      2007-05-21 Mon May 21 06:05 JPL and Seminars

      Fun but exhausting visit to the Jet Propulsion Lab "Open House" in Pasadena last weekend. Reminded me strongly of going to the Farnborough Air Show and Open Days as a young person.

      Meanwhile there have been some new seminars planned.... the best thing to do is to keep an eye on [ ../seminar ] to what is likely to be next.

      Perhaps I should set up an RSS feed? ...

      2007-05-15 Tue May 15 13:05 Seminar on web site design Tomorrow

      [ seminar/20070516PallaviPillutla.txt ]

      2007-05-14 Mon May 14 13:05 Don't ask about the weekend... Risks

      The weekend involved hardware failures and other things...

      This morning -- ants in the kitchen.... but I was able to make it to the [ seminar/20070514.txt ] on multicore processors. I was interested to observe how the same solution (more parallelism) has the same Risks now, as it did in the 1970's.

      The next [ seminar/20070517.txt ] is a project report on Multi-User Game Development on Thursday.

      And now for something entirely different:

      Cusumano07

      1. Michael A Cusmano
      2. What Road Ahead for Microsoft the Company
      3. Commun ACM V50n2(Feb 2007)pp15-18
      4. =ARTICLE ECONOMICS Microsoft vs OPEN SOURCE WEB/NET
      5. Rivals use new business model: use fee but pay for support and enhancements. Rather than pay for licence and upgrades.
      6. Challenge of breaking up monolythic code.
      7. Challenges of changing top management.

      Now some recent publications on the risks of new technology:

      Neumann07

      1. Pete J Neumann
      2. Widespread Network Failures
      3. Commun ACM V50n2(Feb 2007)p112
      4. =HISTORY RISKS WEB/NET LOCAL event GLOBAL consequence
      5. Gives examples 1980-2006 of nationwide networks collapsing due to a small local failure.
      6. Not just cascades/propagation but feedback loops have to be calculated for.
      7. quirks, hidden flaws, race hazards, deadlocks, ....
      8. Need better architecture, analytical tools, planning, oversite, coordination...

      ParameswaranEtAl07

      1. Manoj Parameswaran & Xia Zhao & Andrew B Whinston & Fang Fang
      2. Reengineering the Internet for better security
      3. IEEE Computer Magazine V40n1(Jan 2007)pp40-44
      4. =IDEA CERTIFIED PROVIDERS pay for sending SPAM MALWARE ...

      Kaplan07

      1. Dan Kaplan
      2. Web2.0
      3. CS Magazine for Security Professionals, (Feb 2007)pp25-26+28-29
      4. =ARTICLE WEB2.0 RISKS Javascript AJAX MySpace RSS Outlook
      5. Downloading and executing code is a bad idea that keeps on being reinvented, and then being abused.
      6. Computer Proffessionals and Users need to work together.

      Stephenson07

      1. Peter Stephenson
      2. AMenaza SecuriTree has a different view of Risk Analysis
      3. CS Magazine for Security Professionals, (Feb 2007)p67
      4. =REVIEW TOOL Fault trees LOGIC SECURITY REQUIREMENTS RISK ANALYSIS Amenaza SecuriTree
      5. See [ http://www.amenaza.com ]

      2007-05-10 Thu May 10 13:05 More changes

      The Thesis Defence is about multi-core processors and is now going to be on Monday: [ seminar/20070514.txt ]

      2007-05-09 Wed May 9 14:05 The Events are changing

      Bhrigu Celly's presentation will be in the Math Seminar Room JBH391/389.

      There will be a MS Thesis defence by Ryan Youngman in JBH359 at 1pm on Friday 11th. More TBA.

      2007-05-08 Tue May 8 10:05 Seminar changes

      The MS Thesis presentation on Friday has been cancelled.

      On Thursday at 11am we have our former master's degree student Bhrigu Celly who will give a talk on employment opportunities in the electronic arts industry, including game development and animation. Bhrigu Celly currently works for Sony in the LA area, and has been involved in creation of the PS 3 and other Sony technologies.

      11:05 -- this [ cphumor.htm ] just in from David Cumbow: "You can't make a program without broken egos."

      So true. So funny. So sad.

      2007-05-03 Thu May 3 15:05 Paid Internship Available

      FYI
        Reply_To: ddusick@pacbell.net

        Dear Dr. Botting: My software company, BOLD Educational Software is looking for interns with programming experience in Mac and PC. He/she will need to understand Microsoft DOT.net code. The internship starts off at $15 per hour, but can easily lead to paid work ata $50 per hour, depending on skills and availability. Students should send their resumes to boldsoftware@pacbell.net, attention: Diane Thank you,

        From: Diane Dusick BOLD Educational Software


      2007-05-02 Wed May 2 09:05 Thoughts while walking on Rules and Objects

      I think I'd like to put together a list of "Do's and Don'ts" for programmers:
      1. (The Golden Rule): Write programs as if you will be using and maintaining them for ever.
      2. (DRY): Don't repeat Yourself.
      3. (YAGNI): You Ain't Gonna Need It.
      4. (KISS): Keep It Simple, Stupid.
      5. (DTL): Don't tell Lies. Code should describe itself accurately and reflect the truth about the world in which the program runs. Output to the user should be honest as well. A Triangle class should have 3 Points.
      6. (Silence is Golden): don't comment on code, refactor it. Don't output useless messages to your user.
      7. Don't reinvent the wheel. Reuse open code.
      8. Moderation in all things. Avoid fads and religious wars.
      9. Know yourself and your clients.
      10. A poor craftsman blames his tools, a good one makes his/her own.
      11. Don't go out alone. Good programs come from teamwork.
      12. Attack risks before they attack you.
      13. A drawing is worth 1k lexemes but costs 100 times as much to do.
      14. ... [click here [socket symbol] if you can fill this hole]

      I also decided to look into an extension to my MATHS language.

      When designed I was mentally competing with a language called Z (zed!) which describes a dynamic system using two different types of description. The first describes the static properties of an object, and the second, separately, describes the change or Delta in the object.

      I decided to try out including the operations that change an object inside the description of the object... Not a new idea, but one I've avoided formalizing in MATHS for a decade or so. The syntax is simple.... see [ Behavior in intro_objects ] as my first step.

      I'll have to come back to this in the coming months to work out all the formalism needed to support the idea. That is if the formalization exercise demonstrates that it is a stupid idea...

      Meanwhile working on stuff for class -- algorithms and fileIO for CS202 and data abstraction for CS320 -- AND reading a paper on Petri nets ready to write a review for CR.

      Finally revisitting my idea for Extended And/Or tables. A possible Summer Project would be to implement some tools to handle these ... I had a neat algorithm for working out the implications of combining these that ran in Hypercard on a Mac.... but the technology is dead. Next stop, Java, Eclipse, and PHP, perhaps...

      2007-04-27 Fri Apr 27 17:04 interesting seminar and much prep and Email

      [ seminar/20070427.txt ]

      But no time for reading... But I was able to do something useful with the new lap top.

      2007-04-26 Thu Apr 26 15:04 Dr Dobbs Requirments Development Online Magazine

      Just arrived in my Inbox with some interesting stuff

      KingT07

      1. Tom King
      2. Dr. Dobbs Requirements Development n4(Apr 2007)p17 [ index.php ]
      3. =POLL REQUIREMENTS USE CASES ACTIVITY DIAGRAMS
      4. 50% adopted use cases, 25% activity diagrams, ... large companies adopt more than small ones.
      5. Adoption patchy.

      And here is a report on the use of theory in software engineering research:

      HannaySjobergDyba07

      1. Jo E Hannay & Dag I K Sjoberg & Tore Dyba
      2. A Systematic Review of Theory use in software Engineering Experiments
      3. IEEE Trans Software Engineering V33n2(Jan 2007)pp87-107
      4. =SURVEY SCIENCE
      5. 103 papers. 25 use some theory. 40 theories.

      2007-04-25 Wed Apr 25 12:04 Logical Spreadsheets

      How about having a spreadsheet that calculates logical formulas?

      Young07

      1. Chelsea Anne Young
      2. Spreadsheets using logic instead of math may revolutionize data management
      3. =ADVERT LOGIC TOOL
      4. Standford Logic Group [ logic-042507.html ]
      5. Quote "There are many cases where traditional spreadsheets are just not sufficient," says Associate Professor Michael Genesereth , whose group in the Computer Science Department is developing this new method of data management. "Why not have a spreadsheet that looks just like a regular spreadsheet except it has the ability to encode and use logical formulas? That's what you can't do with Excel in any way today."

      2007-04-25 Wed Apr 25 10:04 I revisit UML and find...

      Every time I grade the first phase of the CS320 project I get massive doubts about my notes on the UML, followed by doubts about my understanding of the UML...

      This is slightly compounded be preping for a CS202 class session on the UML where I thought it might good to do a proper "Larman" ( [ cs375/ ] ) style first iteration on a program.... and discovered the numbers were all wrong in my sample of a communications diagram.

      This morning I went back to the Rational Rose edition (Free to students, once upon a time, in Far Away). I used it to draw the diagram with the wrong numbers. I discovered it inserted them and refuses to change them....

      Soo I've experiemented with using Dia to explore the relation between communication diagrams, class diagrams and code: [ samples/communicn.png ] (large graphic) and [ samples/communicn.dia ] (downloadable Dia diagram).

      Next step.... experiments with Vision... and perhaps some "real" UML based CASE tools.

      2007-04-24 Tue Apr 24 13:04 Complex systems may have a few critical parameters

      The first paper below quotes a number of AI and Data Mining sources to argue that only a few variables/parameters are really important to predict the behavior of a complex system -- and as an example only a few values have to be tested to find the bugs in a piece of software.

      The second paper, has no such grand theory -- but shows that the performance of real systems only a few parameters need be tested to find a loss of performance.

      The third paper finds evidence that certain "Bayesian learners" can calculate if a module is error prone from just a few measurements. But this is from the same team (+ or - a few members) as the first article.

      MenziesOwenRichardson07

      1. Tim Menzies & David Owen & Julian Richardson
      2. The strangest Thing about Software
      3. IEEE Computer Magazine V40n1(Jan 2007)pp54-60
      4. =SURVEY COLLARS MASTER VARIABLES CLUMPS TESTING TAR3 LURCH SPIN
      5. Page 54: "The strangest thing about software is that it works" [MenziesRichardson06]
      6. Therefore proposes data mining to find the important variables ( they make the software work better/worse) and then random search on these "collars" to test the software.
      7. Claims that in complex systems (like software) on a small number of variables are important to the outcome, and only a small partt of the possible state space is ever visitted.
      8. Therefore proposes data mining to find the important variables ( they make the software work better/worse) and then random search on these "collars" to test the software.
      9. (dick)|-"The ideas in this paper may account for why testing works better than it should". [MenziesCukic00]

      YilmazPorterEtAl07

      1. Cemal Yilmaz & Adam Porter & Arvind S Krishna & Atif M Menon & Douglas C Schmidt & Aniruddha S Gokhale & Balachandran Natarajan
      2. Reliable Effects Screening: A distributed Continuous Quality Assurance Process for Minitoring Performance Degradation in Evolving Software Systems
      3. IEEE Trans Software Engineering V33n2(Jan 2007)pp124-141
      4. =DEMO TOOL STATISTICS DESIGN EXPERIMENT QUALITIES PERFORMANCE QoS Net/Web/Grid DCQA Skoll MDE OCML BGML on ACE TAO CIAO
      5. All about finding what options effect the performance of networked software most in a given application without having to test every possible combination of options.
      6. Design_of_Experiments : Sacrafices the recognition of more complex interactions by aliasing them with other effects.
      7. Experiments show that the method spots important factors as well as or better than more expensive alternatives.
      8. Uses classic additive models of how tow valued factor combinations effect performance.
      9. Derived from [YilmazEtal04]

      MenziesGreenwaldFrank07

      1. Tim Menzies & Jeremy Greenwald & Art Frank
      2. Data Mining Static Code Attributes to Learn Defect Predictors
      3. IEEE Trans Software Engineering V33n1(Jan 2007)pp2-12
      4. =EXPERIMENT DATA MINING NASA MODULES DEFECTS METRICS Halsted McCabe Lines of Code
      5. Don't measure predictive power on the sample used to train the data mining formula. Instead train on a largesub sample and test on the rest -- the holdout subsample.
      6. Brittleness: The best formula for some popular forms of data mining depends on the training subsample chosen.
      7. A Bayesian learner is less brittle and can predict defective modules correcly 70% of the time and falsely predict defects in ok modules 25% of the time.

      2007-04-23 Mon Apr 23 10:04 International Dateline shutsdown aeroplane software

      This just in from David Cumbow [ article.aspx?newsid=6225 ]

      One wonders how one can be sure that one has a complete model of simple things like time -- especially the edges -- time zones, day-light-savings-time, etc. And then, given the model or theory -- how to map it correctly into software? Is there a standard theory/model of time.

      Now I go to [ http://www.time.gov/ ] to set my computers, PD, watch etc. with the correct time. The ISO 8601 standard specifies the notations for expressing dates and times, see [ iso-time.html ] (which has a lot of time related links on it). What I'm thinking about is a standard set of assumptions that software should (and should not) make about dates and times... [ArlowNeustadt04] may have archetypal patterns for Second, Quantity, Money, Rule, etc. but not one for Date and Time. [click here [socket symbol] if you can fill this hole]

      2007-04-20 Fri Apr 20 08:04 Requirements -- it depends on the user

      The first paper points out that the detailed needs of a cell phone user wearing gloves in a snow storm can not fit with an executive at a desk. The second paper finds out how interface developers actually work.

      Maiden07

      1. Neil Maiden
      2. My Requirements? Well, That depends
      3. IEEE Software Magazine V24n1(Jan/Feb 2007)pp86-87
      4. =ADVOCATES SCENARIOS for REQUIREMENTS in CONTEXT QUANITIFICATION USE CASES
      5. Describe requirements by first writing scenarios describing specific ways a requirement may happen. Example: sending text message wearing gloves vs on a desk.

      CamposNunes07

      1. Pedro Campos & Nuno Jardin Nunes
      2. Practitioner Tools and Workstyles for User-Interface Design
      3. IEEE Software Magazine V24n1(Jan/Feb 2007)pp73-80
      4. =POLL 300 USER INTERFACE DESIGNERS =DEMO CanonSketch MXML macromedia
      5. Email surveys + interviews to establish how user interface designers work.
      6. Most use manual tools: paper, pencil, whiteboards, Post-It notes.
      7. Common transitions: problem->solution, refinement, ...
      8. Problem->solution was perceived as the most costly one.
      9. Examples of tools to support transitions -- drag and drop between synchronized views.
      10. TaskSketch::= See http://dme.uma.pt/tasksketch (Mac OSX)
      11. CannonSketch::= See http://dme.uma.pt/canonsketch

      2007-04-19 Thu Apr 19 14:04 Offshore agility

      Here is an intriguing report that agile methods can work without colocating the team and the clients:

      Armour07

      1. Phillip G Armour
      2. Agile . . . And Offshore
      3. Commun ACM V50n1(Jan 2007)pp13-14
      4. =INTERVIEW AGILE DISTRIBUTED PEOPLE ECONOMICS TOOLS WEB/NET GeneerAginity Ukraine Mantis Subversion Cruise control Ncover simian
      5. Agile Geneer misjudged .com crash 2000-2002 & bank foreclosed.
      6. Aginity offshore development (Evanston+Kiev) based on personal contact, shared achitecture, patterns, frameworks, language, & vocabulary.
      7. Stories, iterations, risk provocation.
      8. Open source groupware tools generate management data via web spaces.

      Only time will tell if this is a long term viable process.

      2007-04-18 Wed Apr 18 13:04 Pair Programming Evaluated

      Nice bit oif research reported in the IEEE Transactions on Software ENgineering

      ArisholmEtAl07

      1. Erik Arisholm & Hans Gallis & Tore Dyba & Dag I K Sjoberg
      2. Evaluating Pair Programming with respect to System Complexity and Progrmmer Expertise
      3. IEEE Trans Software Engineering V33n2(Jan 2007)pp65-86
      4. =EXPERIMENT TECHNICAL MAINTENANCE PAIR PROGRAMMING EXPERTISE STYLE Java
      5. Well designed experiment testes whether pairs are more productive than programmers working alone.
      6. On average there is a slight bdecrease in the time and an increase in the likelihood of a correct fix -- but the effort(2 people vs 1person) is 80% higher.
      7. With less experienced programmers pairs are 70%more likely to produce correct code it takes them a little longer.
      8. Intermediate programmers get the best reduction in time 30%.
      9. Experience programmers produce less correct code but do bit a little faster.
      10. All these effects are moderated as the code switches style from a centralized control design to a distributed control Object-Oriented design.

      2007-04-17 Tue Apr 17 14:04 Meet Linux Video Clip

      Thanks to Christopher Dufault for this [ http://www.novell.com/linux/meetlinux/ ] video clip.

      2007-04-16 Mon Apr 16 07:04 Nothing so practical as a good theory

      It seems that my favorite quotation "Nothing so practical as a good theory" *is* from Kurt Lewin (not Ricahrd Dirac the phycisist). I foun the reference in a paper in the IEEE Transactions on Software Engineering that I plan to post notes on "real soon now"(HannaySjobergDyba07). Here is the source:

      Lewin45

      1. Kurt Lewin
      2. The Research Center for Group Dynamics at Massachusetts Institute of Technology
      3. Sociometry V8 (1945) pp126-135
      4. =UNREAD =ARTICLE
      I'll enter the above citation into my consolidated bibliography when (and if) I get the chance to confirm it.

      HannaySjobergDyba07

      1. Jo E Hannay & Dag I K Sjoberg & Tore Dyba
      2. A Systematic Review of Theory use in software Engineering Experiments
      3. IEEE Trans Software Engineering V33n2(Jan 2007)pp87-107
      4. =SURVEY SCIENCE
      5. 103 papers. 25 use some theory. 40 theories.

      2007-04-15 Sun Apr 15 09:04 Contact Buttons Fixed

      Sorry if you had problems sending me EMail via the contact buttons. Roughly once a quarter ths happens and the Systems Administrator has to do things to the webserver's file system. He says
        Problem fixed. Thanks for letting me know.

      2007-04-12 Thu Apr 12 14:04 Open Source Information and Sun Java

      Here is some new information on Open Source projects

      Paulson07

      1. Linda Dailey Paulson
      2. Sun makes Java Open Source
      3. IEEE Computer Magazine V40n1(Jan 2007)pp24
      4. =NEWS OPEN SOURCE JAVA Sun GPL
      5. A classpath exception lets you include open source java classes in a close source program.
      6. JavaPLatdorm Mcro edition [ https://phoneme.dev.java.net ]
      7. JaveSE HotSpot virtual Machine( JVMp
      8. and javac compiler [ https://openjdk.dev.java.net ]
      9. Java Platform, Embedded Edition, application server, GlassFish [ https://glassfish.dev.java.net ]

      Aberdour07

      1. Mark Aberdour
      2. Achieving Quality in Open Source Software
      3. IEEE Software Magazine V24n1(Jan/Feb 2007)pp58-64
      4. =SURVEY OSS RESEARCH OPEN SOURCE TECHNICAL QUALITY PEOPLE ONION
      5. Table 1 compares open and closed source.
      6. Page 62: 3 open source maturity models.
      7. Good software engineering complements good people structure.

      2007-04-05 Thu Apr 5 17:04 Getting Relevant citations is Difficult

      The following paper did a thorough literature survey that proves that search engines do not find all the relevant information.... and that many papers don't site relevant work:

      JorgensenShepperd07

      1. Magne Jorgensen & Martin Shepperd
      2. A Systematic Review of Software Development Cost Estimation Studies
      3. IEEE Trans Software Engineering V33n1(Jan 2007)pp33-53
      4. =SURVEY 304 PAPERS ESTIMATION COST EFFORT PREDICTION
      5. Refs [ BESTweb ]
      6. Search engines only find 60%of the relevant papers! Or else find 278,000 false drops.
      7. lack of a standard terminology!
      8. 76 Journals have papers that are relevant.
      9. Papers tend to be too focussed.
      10. Data Sets may be out of date and not chosen well.
      11. Lists the 10 journals having 66% of the references.

      2007-04-03 Tue Apr 3 15:04 Slanty design and sneaky patenting

      I've got a massive back log of reading. Here are a couple paradoxical items. One is on the way the patent system opposes its own purpose and the other how a deliberately worse design may be better:

      AbrilPlant07

      1. Patricia S Abril & Robert Plant
      2. The patent holder's dilemma: buy, sell, or troll?
      3. Commun ACM V50n1(Jan 2007)pp37-44
      4. =SURVEY PATENTS LEGAL INTELECTUAL PROPERTY
      5. Complex business models involving trading, holding, and combining software patents -- and they don't all work.

      Beale07

      1. Russell Beale
      2. Slanty design
      3. Commun ACM V50n1(Jan 2007)pp21-24
      4. =IDEA USER FUNCTION DESIGN
      5. Slanty_design::= reduce functionality or usability to make unwanted behavior difficult or impossible.

      2007-04-03 Tue Apr 3 10:04 Seminar on Friday -- Multimedia Personalization and Delivery for Mobile Clients...

      [ seminar/20070406.txt ]

      2007-04-01 Sun Apr 1 10:04 Back in the USA and ready for Spring Quarter...

      See [ plan.html ] for my spring schedule.

      2007-03-22 Thu Mar 22 11:03 My Mum RIP

      [ Meg90.JPG ]

      2007-03-15 Thu Mar 15 15:03 Update on needed programmer skills

      Here is a piece of work that confirms some previous research on what programmers need to know:

      Surakka07

      1. Sami Surakka
      2. What subjects and skills are important for software developers
      3. Commun ACM V50n1(Jan 2007)pp73-78
      4. =POLL DEVELOPERS STUDENTS FACULTY EDUCATION vs PRACTICE
      5. Replicates [Lethbridge00]

      2007-03-14 Wed Mar 14 16:03 Personal Planning

      Just read a very nice article by a programmer on ways to organize the work:

      Rainsberger07

      1. J B Rainsberger
      2. Personal Planning
      3. IEEE Software Magazine V24n1(Jan/Feb 2007)pp16-17
      4. =IDEA PLANNING WORK BREAKDOWN CSCI372
      5. It pays for a programmer to organize their day as a series of tasks.
      6. Publish the task list each day and check off items as they are completed.
      7. Define tasks in terms of completion -- what conditions determine that the task is complete -- tests, reviews, .....
      8. Keep tasks small enough to be done in 90 minutes.
      9. Small tasks help you spot more things that have to be done.
      10. Consequence: less work done but more working software delivered.
      I use a Palm Pilot (Tungsten) to organize my tasks and other events. It works pretty well except for the "Grafiti" input of characters using a stylus. This does not work well for me, which may be related to the unreadability of my handwriting!

      2007-03-12 Mon Mar 12 11:03 Almost back to normal...

      Except I'm having to prepare for the finals early, so I can get ready for next quarter before I fly back to England for some tidying up of chattels as the executor put it.

      Mean while trying to catch up on some reading -- two papers with different dynamic models of security:

      Trcek06

      1. Denis Trcek
      2. Security models: Refocusing on the Human factor
      3. IEEE Computer Magazine V39n11(Nov 2006)pp103-104
      4. =ADVERT CAUSAL MODEL SYSTEM DYNAMICS AGENT SIMULATION
      5. System dynamics: [ threatdynamics.html ]
      6. Agents [ http://www.swarm.org ] [ http://repast.sourceforge.net/ ] [ zeusagent ]

      HoepmanJacobs07

      1. Jaap-Henk Hoepman & Bart Jacobs
      2. Increased security through open source
      3. Commun ACM V50n1(Jan 2007)pp79-83
      4. =ESSAY OPEN SOURCE SECURITY
      5. Argues that open source software may initially be more vulnerable but it ultimately will be more secure than closed source.

      And here is an interesting comment on the state of reuse in software development:

      Spinellis07

      1. Diomidis Spinellis
      2. Cracking Software reuse
      3. IEEE Software Magazine V24n1(Jan/Feb 2007)pp12-13
      4. =HISTORY REUSE UNIX .NET Java WIKI PHP MySQL ARCHIVE NETWORKS WWW/NET
      5. Modern tools and languages plus the Web makes massive reuse happen.
      6. Chess example.

      2007-03-05 Mon Mar 5 11:03 Back in the USA

      "Well, I'm back"... and catching up on a 3 week abscence... lots of grading and form filling to do.

      My mother slipped quietly away on Friday the 16th at 1 am in the morning...

      2007-02-13 Tue Feb 13 07:02 Going home - family emergency

      My 90-year-old mother is sick and in hospital. The doctors don't expect her to get better. So I must go back for a week or so.

      Check with the department of CSci...

      2007-02-08 Thu Feb 8 15:02 Blossom on Campus and Booch on Architectural Styles

      Today I noticed that there is white blossom on many of the trees on campus and the leaves have just started to appear -- turning the trees light green. Spring must be coming...

      Meanwhile Grady Booch has an note on software architecture

      Booch06a

      1. Grady Booch
      2. Goodness of fit
      3. IEEE Computer Magazine V39n10(Oct 2006)pp14-15
      4. =ESSAY ARCHITECTURE STYLE PATTERNS FORTRAN COMPILER
      5. Bachus's original pipe-and-filter architecture for FORTRAN compilation remains good for recent languages....with some small tweaks.
      6. Does not mention [Jackson75]'s use of pipe+filter to Data Processing and McIlory's pipes in UNIX.
      7. For a given set of forces there is a better architecture. The forces in a given domain are pretty constant.

      2007-02-06 Tue Feb 6 06:02 Campus Power cuts this week end

      From David DeMauro
        It will be necessary to interrupt the electrical supply to the entire campus on two occasions this coming weekend. The interruptions are needed to facilitate a critical repair that is needed on the 12,000 volt electric switchgear that serves the entire campus. The shutdowns will allow the installation and later removal of large electric generators that will be placed into service while repairs are made to campus electric equipment.

        The first interruption will begin approx. 11 p.m. on Friday, Feb 9, until approx. 12 midnight. The time is needed to connect temporary generators which will be used to supply the campus with electricity until repairs to the switchgear are made.

        The second interruption will occur approx. 4 a.m. on Monday morning until approx. 5 a.m. This interruption will allow our staff to remove the temporary generators and restore the main electricity supply to the campus.


      2007-02-05 Mon Feb 5 15:02 To Dream the impossible dream -- Changing software development for the better

      Went to "Man of La Mancha" with the new Redlands Civic Light Opera and meditated on how a dedication to a quest can be seen as madness and so funny, or heroic and so tragic. Nothing to do with my own long search for simple ways to improve the development of software.

      Meanwhile two studies of how programmers behave -- one as is, and one with an extra tool:

      KoMyersCoblenzAung06

      1. Andrew J Ko & Brad Myers & Micheal J Coblenz & Htet Htet Aung
      2. An Exploratory Study of How Developers Seek, Relate, and Collect Relevant Information during Software Maintenance Tasks
      3. ICSE'05 & IEEE Computer Magazine V39n12(Dec 2006)pp971-987
      4. =EXPERIMENT SIMULATED MAINTENANCE INTERUPTIONS TECHNICAL Eclipse Java Swing Paint
      5. Information_Foraging::=the BIBLIOGRAPHY(authors=>"P Pirolli &S K Card", title=>"Information Foraging", citation=>"Psychological Review V106n4 (1999)pp643-675").
      6. Took video records of developers modifying and correcting bugs in apaint program.
      7. Coded the actions into 9 types: Handling information(15%), reading code(12%), editing code, navigating dependencies, searching for names, testing, reading Java API, switching applications,reading task description(2%).
      8. Early perceptions of bugs can lead to wasted time exploring irrelevant code.
      9. Enhancements: developers had to search for a place to extend the existing framework and for examples to copy and modify.
      10. Developers used "Find" dialog, Eclipse's multiple windows, What is relevant? When interupted developers always complete there current editting task before acknowledging the interuption, but sometimes forgot to save the edited file!
      11. Three states: Search; Relate; Collect.
      12. Need better ways to search for relevant code. Good names are vital! Perhaps use hovering to show header info on methods fro example.
      13. Need less overhead in navigating and viewing code. EG highlight code to show dependencies of nearby code rather than menus.
      14. Show many fragments of code in separate subwindows?

      HolmesWalkerMurphy06

      1. Reif Holmes & Robert J Walker & Gail C Murphy
      2. Approximate Structural Context Matching: An Approach to Recommend Relevant Examples
      3. ICSE'05 & IEEE Computer Magazine V39n12(Dec 2006)pp952-970
      4. =DEMO TOOL TECHNICAL Eclipse HTTP JHotdraw Java FRAMEWORK USAGE REPOSITORY DATABASE Strathcona HEURISTIC SEARCH
      5. Tools take an attempt at using a framework and look in existing libraries to find similar calls in a similar context: function, class, package.
      6. Database contains 3M "structural facts": Database stores data on types, fields, methods, methods calling methods, accessing fields, and using types. Plus the type hierarchy.
      7. Plausible claim: beats using grep!

      2007-02-02 Fri Feb 2 09:02 Technology of Fraud

      The following is not directly about software development but it does show that changes in technology can lead to unexpected effects:

      Berghel06

      1. Hal Berghel
      2. Fungible Credentials and Next-Generation Fraud
      3. Commun ACM V49n12(Dec 2006)pp15-19
      4. =EXAMPLES FRAUD CREDENTIALS
      5. Fungible: interchangeable and universal.
      6. Better computers and printers allow the creation of a hard to doubt credential that can be used to get legitimate (but false) credentials.
      7. Figure 2 lists some anti-counterfeiting technology.

      2007-01-31 Wed Jan 31 15:01 Tech Jobs Bouncing Back

      This came in from the ACM news mailing list. Reinhardt Krause writing in the Investors Business Daily [ IBDArticles.asp?artsec=17&artnum=1&issue=20070129 ] writes
        U.S. tech jobs are finally bouncing back, as venture capital flows to a new wave of Silicon Valley startups, Texas telecom firms go wireless and a tech hub emerges in North Carolina.

        Silicon Valley leads the way. The tech center added more than 33,000 jobs in the 12 months ended June 30, according to a report released Sunday by Joint Venture: Silicon Valley Network, a regional public policy group.

        It's the first time Silicon Valley has added a substantial number of jobs since 2001. It lost about 220,000 tech jobs in the years after the dot-com bubble burst and chip and other companies retrenched.

        Observers are upbeat about Silicon Valley's new hiring because it is spread over many sectors — Web 2.0 companies, software, new media, biotech, medical devices, nanotech and clean energy.


      2007-01-31 Wed Jan 31 10:01 Interuptions

      Hard to concentrate? Just had a long fight with my own ignorance of my own code -- I had set up a rule that looked for
       		name::lexeme="string"...
      (where name and string stand for something else) and forgot that I had written a program to convert quotation marks into the URL encoding, so the pattern to search for was
       		name::lexeme=&quot;string&quot;...

      Fixed that, next step is to document the "Abuse of Notation" as Bourbaki put it as part of my XBNF [ maths/intro_ebnf.html ] meta-language.

      Meanwhile

      Jenkins06b

      1. Stephen Jenkins
      2. Concerning interuptions
      3. IEEE Computer Magazine V39n11(Nov 2006)pp116+114-115
      4. =EXPERIENCE TECHNICAL FLOW vs INTERUPTIONS

      2007-01-29 Mon Jan 29 10:01 Busy Weekend

      It was Lewis Carroll's birthday on Saturday but I didn't have time to do anything on my graphic version of his method for working with syllogisms. But instead went to a most enjoyable concert based on the music from Disney's Fantasia.

      On Sunday I wanted to go to the Redland's Light opera production of "Man of La Mancha". I've wanted to see this ever since I saw it in Mexico and found several parts confusing due to my non-existent Spanish. There was a long line for tickets and the curtain time came ... so we went an bought food, books, and DVDs.

      I also read a pair of papers in IEEE Transactions of Software Engineering exploiting the same idea:
      Net

      1. The detailed workings of a data structure (all bytes, bits, and pointers) can be hidden behind an interface defined using sets and relations.

      (End of Net)

      One paper uses the set/relation abstraction to repair broken data and the other to prove that a program is not broken.

      DemskyRinard06

      1. Brian Demsky & Martin C Rinard
      2. Goal-Directed Reasoning for specification-based Data Structure Repair
      3. ICSE'05 & IEEE Computer Magazine V39n12(Dec 2006)pp931-951
      4. =DEMO DATA SPECIFICATION SETS RELATIONS ABSTRACTION INVARIANTS CONSTRAINTS REPAIR FAULT AbiWorld CTAS Freeciv File System
      5. In some cases it is better to repair a broken data structure incorrectly and continue running rather than crash and stop running.
      6. Data structures can be repaired by using formal abstract specification in terms of Sets and Relationships.
      7. Comparison with bespoke/domain specific fsck and chkdsk.
      8. Fix each broken constraint in turn and use a Repair Dependence Graph to avoid infinite loops of repairs.
      9. Lists actions to repair data structure.
      10. Focuses on internal consistency rather than "REALITY" and as a consequence the whole application may work incorrectly.
      11. Compare [KuncakLamZeeRinard06] that uses a similar abstraction/specification but includes domain constraints to model bot internal data structure consistency and external domain constraints.

      KuncakLamZeeRinard06

      1. Victor Kuncak & Patrick Lam & Karen Zee & Martin C Rinard
      2. Modular Pluggable Analysis for Data Structure Consistency
      3. IEEE Computer Magazine V39n12(Dec 2006)pp988-1005
      4. =DEMO TOOL Hob MODULAR PROVING REALITY SETS RELATIONS ABSTRACTION PALE Bohn Isabelle flag ADTs Minesweeper httpd etc
      5. Shows that the theories of ADTs from the 80s are the basis for a set of tools.
      6. Modules have three parts: implementation, specification, and abstraction.
      7. The code inside modules is proved to support certain assertions expressed in the language of set theory. The abstraction section defines higher level formulas using sets and the calculus of relations -- like Alloy.
      8. Programs are proved using the higher-level properties.
      9. Page 989. "One somewhat unusual feature of these abstract properties is that are outward looking: the capture important features of the system that are directly meaning ful to the users.

      2007-01-26 Fri Jan 26 11:01 Figured out a CSS peculiarity

      It turns out that
       A{ font-weight: bolder; }
      will make all anchors in a web page bold, but
       A{ font-style: bold; }
      is invalid and has no effect.

      THis should make my glossaries and syntax descriptions more readable... the test page is this one and [ sample/URL.syntax.html ] in my samples of MATHS/XBNF. Other pages will shift to this style as they are updated.

      2007-01-25 Thu Jan 25 14:01 Explanations...

      If you want to know why we were waving plaquards and shouting all over the campus -- collect a copy of the CFA's flyer from outside my office.

      So what should you explain about your code?

      Wirfs-Brock06b

      1. Rebecca J Wirfs-Brock
      2. Explaining your design
      3. IEEE Computer Magazine V39n10(Oct 2006)pp96-98
      4. =ESSAY DESIGN PRESENTATIONS UML CRC BNF SKITS
      5. Answer the question: why did you do it that way?
        1. Properties that can't change -- eg laws.
        2. Problem Descriptions and requirements.
        3. Explain things before relations, and use before behavior.
        4. Architecture and organization.
        5. The typical case (before the special ones).
        6. Concrete examples before abstractions.
        7. Design principles (and patterns)

      6. Know your purpose and audience.
      7. Multiple explanations of one collaboration.
      8. Skits can be more effective than diagrams or they can fall flat.
      9. UML may not be good for algorithms.
      10. Bad example of explaining bubblesort. -- bug in figure 1.

      2007-01-24 Wed Jan 24 17:01 My Cancer and Software Quality

      Bad segue.... but this morning I talked with the Urologist and it appears that the remaining prostate cancer cells in my body have stopped growing because of the hormone treatment. A great relief.

      I've also collected three papers on the quality and/or value of software:

      GalinAvrahami06

      1. Daniel Galin & Motti Avrahami
      2. Are CMM Program investements Beneficial? Analyzing past studies
      3. IEEE Computer Magazine V39n10(Oct 2006)pp81-87
      4. =SURVEY CMM EXPERIENCES ROI
      5. Significant benefits -- example a 300% median ROI -- for each increase in CMM level.
      6. Fewer errors, more predictable processes, less rework, and higher productivity.

      Crispin06

      1. Lisa Crispin
      2. Driving software quality: how test-driven development impacts software quality
      3. IEEE Computer Magazine V39n10(Oct 2006)pp70-71
      4. =ADVERT TDD
      5. Quotes experience & pubs showing that writing tests first have many good effects on a project.

      JuristoMorenoVegasSolari06

      1. Natalia Juristo & Ana M Moreno & Sira Vegas & Martin Solari
      2. In search of What we Experimentally know about unit testing
      3. IEEE Computer Magazine V39n10(Oct 2006)pp72-80
      4. =SURVEY UNIT TESTING EXPERIMENTS SWEBOK

      2007-01-23 Tue Jan 23 17:01 Quantifying Requirements and Goals

      A couple of recent readings on requirements and software goals. The first argues that any web site has to be judged both from the user's perspective and the owner's point of view.

      BelagerEtal06

      1. France Belanger & Weiguo Fan & L Christian Schaupp & Anjala Krishen & Jeanine Everhart & David Poteet & Kent Nakamoto
      2. Web site successMetrics: Addressing the duality of Goals
      3. Commun ACM V49n12(Dec 2006)pp114-116
      4. =ESSAY REQUIREMENTS TAXONOMY METRICS WEB/NET PURPOSES OWNERS vs USERS
      5. Success defined by owner goals + target audience.
      6. Table p115 has 11 distinct types of goal.
      7. Choose 2 sets of metrics: Owner vs user perspectives.

      The second argues that requirements should be quantified

      Maiden06a

      1. Neil Maiden
      2. Improve your requirements: Quantify them
      3. IEEE Computer Magazine V39n10(Oct 2006)pp68-69
      4. =ADVOCACY QUANTIFY QUALITIES NONFUNCTIONAL REQUIREMENTS Volere Planguage Gilb
      5. Volere::= See http://www.volere.co.uk/
      6. Gilb::= See http://www.gilb.com/

      2007-01-22 Mon Jan 22 09:01 Wind and Software Product Lines

      More wind over the weekend.... and a concert in redlands on American composers including Bernstein, Copland, and Ives...

      Just took note of a series of articles on Software Product Lines -- were money and time is hopefully saved on a collection of similar pieces of software:

      SugumaranParkKang06

      1. Vijayan Sugumaran & Sooyong Park & Kyo C Kang (eds)
      2. Software Product Line Engineering (Special Topic)
      3. Commun ACM V49n12(Dec 2006)pp28-88
      4. =COLLECTION REUSE PRODUCT LINES
      5. Introduction + 13 short papers on developing multiple versions of software at once.
      6. Includes [InKimYangBoehm06] (ROI and COCOMO), [KishiNoda06] (model checking), [EriksonBorstlerBorg06] (modeling), etc..

      InKimYangBoehm06

      1. Hoh Peter In & Sansoo Kim & Ye Yang & Barry Boehm
      2. A Quality-based cost estimation model fro the product line life cycle
      3. Commun ACM V49n12(Dec 2006)pp85-88
      4. =THEORY COCOMO II COQUALMO COPLIMO qCOPLIMO -> QUALITY ROI

      KishiNoda06

      1. Tomoji Kishi & Natsuko Noda
      2. Formal verification and software product lines
      3. Commun ACM V49n12(Dec 2006)pp73-77
      4. =ADVERT MODEL CHECKING ENVIRONMENT + PRODUCT VARIATIONS UML PROMELA SPIN TOOL ECLIPSE
      5. Features map to variations in environment & product models.
      6. Models include classes and state machines in UML, mapped into Promela.
      7. Tools check scenarios...

      EriksonBorstlerBorg06

      1. Magnus Erikson & Jurgen Borstler & Kjell Borg
      2. Software Product Line modelling made practical
      3. Commun ACM V49n12(Dec 2006)pp49-53
      4. =CASESTUDY SWEDISH PRODUCT LINE MODEL FEATURE USECASE PLUSS
      5. PLUSS::="Product Line Use case modelling for Systems and Software engineering".
      6. Hierarchy of features. Features map to use cases and steps in use case.
      7. Need moreformalism to model a complete product line.
      8. Threat of losing of ownership of individual existing products can lead to resistance.
      9. Notes

      2007-01-18 Thu Jan 18 12:01 Wind and a model of hidden dependencies

      Windy on campus today, and cold. Collected a rather "windy" paper that takes a lot of explication to state a property of artifacts and show that it can be used to predict problems with software.

      ContedeLeonAlves-Foss06

      1. Daniel Conte de Leon & Jim Alves-Foss
      2. Hidden implementation dependencies in high assurance and critical computing systems
      3. IEEE Trans Software Engineering V32n10(Oct 2006)pp790-811
      4. =CASE STUDY FORMAL HA&CCS ARTIFACTS RELATIONS LOGIC PROLOG GRAPHIC IMPLEMENTATION ABSTRACTION GUAM DO-178B
      5. Pedantic theory leads to tool that found problems in software from traceability relations on "work product sections" (artifacts).
      6. Translation into MATHS
        Net
        1. artifact:Sets.
        2. implements: @(artifact,artifact) =given, indicates traceability between artifacts.
        3. |-STRICT_ORDER(strict_relation=>implements, artifact).
        4. l: artifact>->level =given, assigns a level to each artifact.
        5. <: @(level, level) =given.
        6. |-STRICT_ORDER(strict_relation=>(<), level).
        7. dependency: @(artifact, artifact) =goal.
        8. d := dependency.
        9. |- (conceptual_completeness): for x, y, z: artifact((if (x implements y and z) and l(x)<l(y)<l(z) then y d z) and (if (x and y implements z) and l(x)<l(y)<l(z) then x d y))

        10. STRICT_ORDER::= See http://csci.csusb.edu/dick/maths/math_21_Order.html#STRICT_ORDER


        (End of Net)

      2007-01-17 Wed Jan 17 16:01 Risks driving to work and in Distributed development

      Black ice on the read leading to campus.... but the EMail warned me before I started to drive:-)

      Here is some research on what seems to by risky for outsourced projects

      TaylorH06

      1. Hazel Taylor
      2. Critical risks in outsourced projects: the intractable and the unforeseen
      3. Commun ACM V49n11(Nov 2006)pp75-79 CR 0712-1254 0712-1254
      4. =SURVEY MANAGERS DISTRIBUTED
      5. Intractable risks are hard to handle and unforeseen come from nowhere.
      6. Intractable risks: schedule & budget**, vendors*, novelty, client, many sites/countries.
      7. Unforeseen risks: client trust & expectations*, vendor morale*, change management*, understanding requirements*, client project management & unwillingness to share bad news.
      8. *=problems in troubled projects.
      9. Proposes pre-partnering to develop requirements, schedule, budget, expectations...
      10. cf [LeeDeloneEspinosa06] [RameshCaoMohanXu06]

      Add

      Gibbs06

      1. R Dennis Gibbs
      2. Project Managemant with the IBM Rational Unified Process: Lessons from the Trenches
      3. IBM Press 2006 CR 0712-1204
      4. =ADVERT RUP GLOBAL DISTRIBUTED OUTSOURCE
      5. Need for extra work on requirements and prototypes before committing to project.
      6. Good diescription of RUP in a difficult special case.

      2007-01-16 Tue Jan 16 14:01 The Wind is back again and proofs

      Spent the long weekend mortaring a brick back into a wall and rehanging curtains whose anchors had pulled out of walls. I do not like plastic anchors but I used up my supply of good old non-slippery fiber ones...

      Meanwhile read a nice article on proofs:

      Hayes06

      1. Brian Hayes
      2. Foolproof
      3. American Scientist V95n1(Jan-Feb 2007)pp10-15
      4. =HISTORY PROOFS UNDERSTANDING MATHEMATICS trisection Euclid Hobbes Wantzel DIALECTICS POSTMODERN
      5. "[...]if proof is a magic wand that works only in the hands of wizards, what is it's utlity to the rest of us?"
      6. Experimental mathematics using programs.
      7. Compare [Lakatos76] and mathematics as a social process.

      It made me revise my introduction [ maths/logic_20_Proofs100.html ] to proving things a bit, and inserting a ref to Lakatos's book/thesis into my bibliography.

      2007-01-12 Fri Jan 12 11:01 Snow and more psychology

      When we looked out of the window this morning, snow was falling in the San Bernardino valley. Haven't seen this for nearly 20 years... so took photos and waited for the weather to improve. To work in some sun shine and a few falling flakes of snow. The mountains behind the campus look their best with snow on them.

      Spent 45 minutes organizing the work station to play cheery music... the browser froze once, and one stream reported that it was not available,... why is so much computer work difficult. As Allen Copper put it -- its a dancing bear: you are not impressed by the quality of the dancing but by the fact that it is a bear.

      This morning read an interesting report on why software is particularly off putting to women:

      BeckwithEtal06

      1. Laura Beckwith & Marget Burnet & Valenline Grigoreanu & Susan Wiedenbeck
      2. Gender HCI: What about software?
      3. IEEE Computer Magazine V39n11(Nov 2006)pp97-101
      4. =EXPERIMENT USER GENDER HCI MALE FEMALE self-efficacy tinkering
      5. Men & women use spreadsheet tools differently. Men like exploring features for fun but women with low self-efficacy want to use them to solve problems.
      6. Do software development tools put girls off?

      2007-01-11 Thu Jan 11 15:01 Two views on the Psychology of Programmers

      The first paper is a demonstration of a technique that the second paper rejects!

      CegielskiHall06

      1. Casey G Cegielski & Dianne J Hall
      2. What makes a Good Programmer?
      3. Commun ACM V49n10(Oct 2006)pp-
      4. =EXPERIMENT 139 undergraduates PSYCHOLOGY Object-Oriented PROGRAMMER Allport-Lindzey-Vernon ETS etc
      5. theoretical_value_belief::@People= desire structure and proof, highly objective, highly focused, look for reason and validation, loners, no interest or consideration of the untested and unproven.
      6. Cognitive ability and personality type both associated with programming skill.
      7. theoretical_value_belief associated with cognitive ability and personality.

      McDonaldEdwards07

      1. Sharron McDonald & Helen M Edwards
      2. Who should test whom
      3. Commun ACM V50n1(Jan 2007)pp67-71
      4. =HARMFUL PROGRAMMER EXPERIMENTS PSYCHOLOGY TESTS

      2007-01-10 Wed Jan 10 09:01 Updated notes on XML and SOAP + technology transfer

      I've add some links on SOAP, WSDL [ samples/xml.html ] , and Ontologies [ samples/index.html#Ontologies ] to my [ samples/ ] from recent readings.

      Here are a couple of articles on how (not) to instal a new technology or tool in a company:

      Gorschek06?

      1. Tony Gorschek & Claes Wohlin & Per Garre & Stig Larsson
      2. A Model for technology transfer in practice
      3. IEEE Computer Magazine V39n10(Oct 2006)pp88-95
      4. =EXPERIENCE PROCESS ACADEME vs INDUSTRY
      5. Proposes a process that might be a model for all software development:
        1. Identify potetial improvement areas based on industry needs.
        2. Formulate research agenda.
        3. Formulate candidate solutions.
        4. Evoultionand transfer preparation via validation.
        5. Lab validation.
        6. Static Validation -- presentation and feedback.
        7. Dynamic validation -- pilot programs
        8. Release -- including tailoring the general model to particular companies, documentation, training, support, champion, measurements.

      6. Has "Lessons Learned" for each step in process.

      Farmer06

      1. Eugene Farmer
      2. The Gatekeeper's Guide,or How to Kill a Tool
      3. IEEE Computer Magazine V39n10(Oct 2006)pp12-13
      4. =JOKE TOOLS FAILURE
      5. proposes 10 ways to stop a tool being adopted
        1. Make it Optional.
        2. Economize on Training -- a lecture with 50 Powerpoiont slides and no workshops, handson experience, or real examplesof use.
        3. Don't use a real project.
        4. Never integrate the tool into the workflow or with other tools.
        5. Use it sporadically.
        6. Call it a "quality initiative"
        7. Marginalize the champion.
        8. Capitalize on early misteps.
        9. Make only a small investment
        10. Exploit fear, uncertainty, doubt, laziness, and inertia.

      2007-01-09 Tue Jan 9 09:01 Campus reopened

      Well, the wind has dropped and it is rather pleasant, but my planned start to the quarter was rudely interupted... Any way here are a couple of readings for reference purposes:

      Louridas06a

      1. Pangiotis Louridas
      2. SOAP and web services
      3. IEEE Computer Magazine V39n10(Oct 2006)pp62-67
      4. =DEMO SOAP WSDL XML Schema Stirling performance
      5. Resources on page 63

      LutzBagert06

      1. Michael J Lutz & Donald Bagert (eds)
      2. Software Engineering Curriculum Development (Focus of Issue)
      3. IEEE Computer Magazine V39n10(Oct 2006)pp16-61
      4. =COLLECTION CURRICULM SOFTWARE ENGINEERING SE2004 SEEK ACCREDITATION SWEBOK DISTANCE OU OPEN SOURCE ASPECT-ORIENTED

      2007-01-08 Mon Jan 8 12:01 Campus Closed -- high wind

      C'Ya tomorrow.

      2007-01-08 Mon Jan 8 11:01 High winds and formal methods

      Classes start with yet another high wind exeperience. I've been working on a proposal to make the language I use for this blog to become the basis for a new kind of formal methods site.

      So here are three readings on the use of logic and mathematics in software development:

      Jackson06

      1. Michael Jackson
      2. What can we expect from program verification
      3. IEEE Computer Magazine V39n10(Oct 2006)pp65-71
      4. =ESSAY REALITY vs SYSTEM MODELS
      5. Notes on how (and why) to extend formal methods from models of the new system to models of the real world.
      6. Example. Traffic light controler is separated from its requirements(on pedistrians, vehicles, drivers) by other parts: lights, buttons, sensors,road layout.
      7. Three ways to model environment+software: NAT+REQ+IN+OUT, rely and guarantee, reality/ghost variables.
      8. Ideas for splitting problems up into solvable parts and recombining solutions.

      Woodcock06

      1. Jim Woodcock
      2. First steps in the verified software grand challenge
      3. IEEE Computer Magazine V39n10(Oct 2006)pp57-64
      4. =DEMO PROVING SOFTWARE REPOSITORY TOOLS EXAMPLE SPECIFICATION PROOFS Mondex SECURITY MICROSOFT SDV Z Z/Eves Alloy Event-B OCL Raise KIV ASMs Perfect developer PVS VERIFICATION
      5. 15 year worldwide project.
      6. See [ http://qpq.csl.sri.com ] [ http://vstte.ethz.ch ]

      MenziesRichardson06

      1. Tim Menzies & Julian Richardson
      2. Making Sense of Requiremnts, Sooner
      3. IEEE Computer Magazine V39n10(Oct 2006)pp112-114
      4. =DEMO SPECIFICATION SEARCH OPTIMAL REQUIREMENTS clumps collares TAR3
      5. Can express the space of possible requirements/specifications using a Prolog like language:
      6. solution(Parameters), score(Parameters, Score).
      7. And search this space for the highest scores within the space of solutions.
      8. Search is speeded up by using clumps, collars, and the TAR3 tool.
      9. Clumps: Given indpendent parts the distribution of the whole tends to be lognormal -- clumped in just a few starts. From Druzdel's 1994 paper: [ uai94.pdf ]
      10. Collars: Certain choices are critical vs the rest that make little difference. From Amarel's 1968 paper.
      11. TAR3 does a stochastic search to spot collars and clumps and feed them into a better search.... From Hu's Master's thesis UBC 2003.

      2007-01-04 Thu Jan 4 15:01 Upgrades and Languages

      At the end of the last year I had discovered that a number of my tools had started to fail -- 'sort' no longer had the "+" option but needs "-k" in its place, "br" (break lines/word wrap) aborted and "mth2html" produced empty files... I fixed "br" but misdiagnosed the problem with "mth2html" as a problem with 'sed'.

      In fact it was the same upgrade gotcha in "ascii2htm" as in "br". I fixed these by lunch today -- and will upload the code into my [ tools/ ] directory "Real Soon Now".

      Meanwhile another nice piece of history form David Grier:

      Grier06b

      1. David Alan Grier
      2. The Language of Bad Love
      3. IEEE Computer Magazine V39n10(Oct 2006)pp7-9
      4. =HISTORY LANGUAGES COBOL FORTRAN ALGOL JAVA OPEN SOURCE LOVE
      5. Evidence of code (and language specs) being open in the days of mainframes.

      2007-01-03 Wed Jan 3 10:01 HAPPY NEW YEAR

      Happy new year and welcome to my new (but similar Weblog) -- you can find links to the [ Previous Blogs ] below.

      The holiday season was full of domestic things -- slippers, curtains, high winds, etc.. The wind was high enough last week to blow out the pilot light on on the water heater and it developed a water drip as the water cooled. A definite misfeature. When the gas man came her found a gas leak -- much more scary. So I guess we were lucky. As the water heated up the drip slowed down and is now indetectable.

      This blog (and my prep for the new quarter) stopped because a campus wide planned power outage left the CSCI sever network in an evil state. I'm sorry of missed these errant ramblings.

      New Year's Resolution: to curse less.

      But I did get some reading done. And a review sent of to Computer Reviews [CR]. And there was a trend -- the study of distributed software development.

      1. Neat hack: people editting same file should communicate [WagstromHerbsleb06]
      2. Pair programming when far apart [Flor06]
      3. Coping with global development [RameshCaoMohanXu06] [LeeDeloneEspinosa06] [BhatGuptaMurthy06]
      4. Open Source -- successful global development [DamianiEtal06] [Spinellis06]

      Now I've uploaded half a dozen other descriptions of papers on topics like what makes a good tool [Pescio06] (when it is quietly chatty) , when to restart an request [MoorselWolter06] , using existing web services to improve requirements [Maiden06] , and how much is software worth [Tockey05] [HuangBoehm06] , etc.

      Previous Blogs


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

      Latest

      [ blog.html ]

      Glossary and Links

    7. above::=using the above statements....

    8. 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.

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

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

    12. 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.

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

    15. 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.

    16. 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.
    17. 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.

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

    20. 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. [ http://www.healthopedia.com/prostate-cancer/ ] (not checked for accuracy, includes adverts).

    21. 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.

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

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

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

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

    30. 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.

    31. 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 ]

End