O Modelo da Aplicação é composto por uma parte fixa, que será aqui apresentada, e pelas funções de tradução de valores que devem ser fornecidas pela equipa de desenvolvimento da camada computacional, que, por serem dependentes da aplicação em causa, não serão abordadas. Deste modo, quando referirmos o Modelo da Aplicação, estaremos apenas a falar da componente referida em primeiro lugar.
Esta componente da interface é a mais simples das três, limitando-se a ser um servidor de pedidos feitos pelas outras duas. A informação que armazena reflecte o tipo de pedidos a que responde:
Deste modo, o Modelo da Aplicação necessita saber, como vimos, as definições dos tipos (em termos de modelos) e respectivos invariantes e a que operações da aplicação estão as variáveis da aplicação e as operações do Controlador de Diálogo associadas (cf. secção 7.4). Naturalmente, necessita também de canais para efectuar as comunicações.
ModApl :: TYPS: TypeId -> TypeInfo VARS: VarId -> PTR LINKS: STR -> PTR IN: CHAN OUTST: CHAN OUTLX: CHAN; TypeInfo :: DEF: TypeDef INV: OpcPTR;
Figure 26: Composição do Modelo da Aplicação
Como a fig. 26 mostra, a estrutura de ficheiros reflecte esta simplicidade. São apenas necessários, para além dos ficheiros comuns a todas as componentes do MIU, o corpo principal do servidor (modapl.n) e as rotinas de comunicação (maplcom.n).