Peter Naur, em seu artigo seminal "Programming as theory building", define que grande parte do desenvolvimento de programas está ligada à criação de teorias, sustentadas pelo conhecimento necessário para resolver o problema que o programa se propõe a solucionar. Esta palestra discute como esse conceito se aplica à modelagem de domínio e à compreensão do domínio, mostrando como ele pode ser definido em função da construção de teorias.