O sistema pode ser dividido (ver fig. 1) numa componente de geração semi-automática (o Módulo de Geração de Interfaces - MGI), responsável pela geração e manutenção da especificação da interface, e por uma componente de runtime (o Módulo de Interacção com o Utilizador - MIU) que animará a interface a partir da especificação produzida pela primeira, gerindo todos os aspectos do diálogo entre o Utilizador e a Componente Computacional do Sistema Interactivo.
Figure 1: Arquitectura do GAMA
Sendo importante o conceito de validade semântica (cf. Modo Assistido), a separação rígida inicialmente proposta pelo Modelo de Seeheim[7] entre componentes Léxica, Sintáctica e Semântica torna-lo-iam inadequado para ser utilizado como Abstracção Arquitectural de uma interface em Modo Assistido. Deste modo, na arquitectura proposta para o Módulo de Interacção com o Utilizador, embora existam um Modelo da Aplicação, um Controlador de Diálogo e um Modelo da Apresentação, eles terão tarefas ligeiramente diferentes do proposto no modelo, estando a semântica da aplicação presente nos três. A especificação dos três componentes é feita com recurso a formalismos desenvolvidos para o efeito. Em particular, o Controlador de Diálogo é especificado por Guiões de Interacção[3].
O funcionamento do MGI processa-se em duas fases. Numa primeira fase, são geradas automaticamente versões base das especificações de cada componente (gerador de DA's e gerador de GI's). De seguida, um conjunto de editores/compiladores permitem a edição dessas especificações e posterior compilação das versões definitivas.