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

The JOT Journal   |   ISSN 1660-1769   |   DOI 10.5381/jot   |   AITO   |   Open Access   |    Contact