On propose la définition d'une Représentation Interne simple et extensible pour la manipulation des objets d'un environnement de programmation – les documents de spécification, les programmes sources, les jeux de test, ... Ce que l'on souhaite offrir à l'utilisateur c'est un outil qui lui permette d'exprimer, à chaque étape de développement du logiciel, les décisions de conception qu'il est amené à faire :
Cet outil est un éditeur de texte ; il réalise l'interaction de l'utilisateur avec ces objets.
Le Représentation Interne se veut simple : elle se définit par un très petit nombre de concepts, ce qui en facilite et la compréhension et l'emploi. Mais de cette simplicité il résulte qu'on ne garantit ni la cohérence entre les objets construits ni la génération automatique de certains d'entre eux – par exemple celle des programmes sources.
Elle se veut aussi extensible : considérant qu'il serait très délicat d'établir une liste exhaustive des types d'intentions de l'utilisateur, on a cherché à développer une expression de cette Représentation Interne aussi indépendante que possible de l'état dans lequel on l'a arrêtée.