[CSUSB]>> [CNS]>> [CSE]>> [R J Botting]>> bib
|| [News] || [Research]

Bibliography Retrieval Engine(Beta)

Items in bibliography identified by a string matching Witty

Holzmann06
.Open Holzmann06
 Gerard J Holzmann 
 The Power of 10: Rules for developing Safety-critical code
 IEEE Computer Magazine V39n6(Jun 2006)pp95-97 
 =THEORY QUALITIES RELIABILITY RISKS TECHNIQUES LANGUAGE SAFE C CODE NASA/JPL
 Given the aim is code that can be checked for risks... here are 10 rules.
 My summary (with the first place I saw it)  
.List
 Structured control flow. (Dijkstra 1960's)
 All loops have a fixed upper bound on number of repetitions (Witty 1970's)
 Don't allocate dynamic memory after initialization.
 All functions less than one page and one line per declaration (UK Criminal records 1970's)
 At least 2 assertions per function (IK Sturtevant in the 1970's)
 Declare data objects in the smallest scope -- no globals!  (1980's)
 Check all input parameters inside each function and all returned values after each call. 
 Only simple preprocessing -- no ellipses or recursive macros.
 Control pointers -- only one level of dereferencing, and never hidden in a macro/typedef.
No function pointers.
 Compile, from day 1, with all warnings on.  Daily static analysis.
.Close.List
 (dick)|- just use FORTRAN IV! The 9th rule means no object-oriented code, and rule 7 leads to an infinite regress of parameter checking.  The above does nothing to control pointers and subscripts from going out of bounds.
 See the venerable "Ten Commandments of C Programming"
.See ./doc/C.commandments.txt
.Close

WhiteKochGehrkeDemers09
.Open WhiteKochGehrkeDemers09
 Walker White & Christoph Koch & Johannes Gehrke & Alan Demers 
 Better Scripts, Better Games
 Commun ACM V52n3(Mar 2009)pp42-47
.See http://doi.acm.org/10.1145/1467247.1467262
$CR 0912-1198
 =ESSAY LANGUAGE DESIGN DOMAIN GAMES SCRIPTING USER DESIGNER ENGINEER PATTERNS
 Notes the need for less technical designers to write scripts for games.
 Proposes designing languages that fit the well-known patterns --
used by users and by game-play programmers not software engineers.
 State_Effect::pattern="Behavior of object depends on current state and is summarized into an effect that is then applied to change the state",
so, language separately declares state variables and effect variables and supports two phases: effect and update.
During the effect phase the state variables do not change and the effect is not read.  
In the effect phase the effects are read only and the states are write only.
simulation_loop::=following
.(
 for each timestep
.(
 for each object, compute object.effect' using object.state;
 for each object, update object.state' using object.effect;
.)
.)
 Restricted_iteration::pattern="to avoid infinite loops, all loops have finite limits",
.See [Witty77a]
 Concurrency patterns -- example of the need for an atomic transaction: putting things in a container, if room.
 Game-Aware Runtimes: Language should provide the runtime system with clues on how to execute code, and monitor it for statistics.
 Does not advocate a particular language!
.Close

Witty76
.Open Witty76
 Rob Witty
 Dimensional Flowcharting
 Report RL-76-132/A Rutherford Lab. Chilton England 1976
 =DEMO graphic sequential DDD
.Close

Witty77a
.Open Witty77a
 Rob Witty
 The Design and Construction of Hierarchically Structured Software
 Proc of Pragmatic and Sensible Software Online Ltd. Feb 1977pp361-388
 =IDEA TOOL graphic PURPOSE
.Close

Witty77b
.Open Witty77b
 Rob Witty
 Dimensional Flowcharting
 Software-Practice & Experience v7 pp553-584
 =IDEA TOOL graphic PURPOSE
.Close

Search for bibliographic items containing a matching string.


(Search uses POSIX regular expressions and ignores case)

To see the complete bibliography (1Mb+) select:[Bibliography]