Life-like agent-based programming
Power& tradition holding back progress Contents Overcome reactionaries
Primary Navigation
The software development problem:

Software development has a problem - its applications are inflexible, of limited quality, have no inbuilt capacity to learn about and explore their environments, it provides limited support for emergence(p.24) and it is wasteful
  • Programmers still write software programs as instruction sequences
    • Goals of development are only indirectly represented in the implementation 
    • The programming methodology typically uses procedures with parameters  
      • Parameters undermine emergent reuse of software
    • Typing schemes aim to support correct deployment of the procedure hierarchy
      • Typing undermines emergence and exploration of the programs environment
    • Phenomena(p.24) are not represented in the programming methodology
  • Requirements, specification, design and operation activities are discrete processes
    • Frequently the source instructions become the only accurate specification and design reference
  • Any change to the software's requirements will need programmers to make equivalent changes to the source code
    • Software is not designed to respond adaptively to any situation
      • My source editor is task specific and reflects the structure of the whole tool chain
  • The runtime code is brittle
    • My Firefox browser fails to restart a previously aborted session
  • Software engineers must provide adaptations but typically have limited visibility of the users operations
    • My friend wonders why her Skype service is not running.  Eventually she reboots her PC is personal computer
      in frustration.  The responsible Microsoft engineers are unaware of her problems

<- previous page - print all - next page -> (3 of 15)