Programming with Models — Modeling with Code The Role of Models in Software Development
By: Dave Thomas
Abstract
Models provide a representation of partial truths about the software system, but only the actual code contains the whole truth. The art of programming is about managing the half-truths at higher levels of abstraction in a way such that they are just sufficiently correct to make progress, and sufficiently vague that they can be refined at the next level. Good software evolves like a book outline starting with an initial set of key ideas which are ruthlessly refactored into the final form. Model refinements and compositions can at best be captured as a set of annotated hyperlinks which describe the evolution of the software as a literate program.
Cite as:
Dave Thomas, “Programming with Models — Modeling with Code The Role of Models in Software Development”, Journal of Object Technology, Volume 5, no. 8 (November 2006), pp. 15-19, doi:10.5381/jot.2006.5.8.c2.
PDF | HTML | DOI | BiBTeX | Tweet this | Post to CiteULike | Share on LinkedIn