Hacker News new | ask | show | jobs
by stevan 2242 days ago
One part that interests me is the discussion about simulation testing in "4.3.3. FEEDBACK THROUGH MONITORING AND SIMULATION" (p. 31 in the PDF).

Alan Perlis says:

  "I'd like to read three sentences to close this issue.
  
    1. A software system can best be designed if the testing is interlaced with
       the designing instead of being used after the design.
  
    2. A simulation which matches the requirements contains the control which
       organizes the design of the system.
  
    3. Through successive repetitions of this process of interlaced testing and
       design the model ultimately becomes the software system itself. I think
       that it is the key of the approach that has been suggested, that there is
       no such question as testing things after the fact with simulation models,
       but that in effect the testing and the replacement of simulations with
       modules that are deeper and more detailed goes on with the simulation
       model controlling, as it were, the place and order in which these things
       are done."
What happened to that technique? I tried to look at the papers that cite Brian Randell's "Towards a methodology of computer systems design" paper, which is the basis for the discussion (and which you can find later in the same PDF), but couldn't really find more than a couple of papers and they didn't go so deep into the details.

It seems that simulation testing only recently resurfaced with Will Wilson's 2014 Strange Loop talk about how FoundationDB is tested. In fact they seems to have done exactly what Alan Perlis said in 1968, but they never mention any source of inspiration/prior work. Was the technique independently rediscovered, or had they in fact read the (in)famous 1968 NATO software engineering report?

1 comments

Isn’t this just “agile” and TDD; 40-odd years ahead of its time?
TDD- Test Driven Design, yes