Já foi descrita a forma de uma aplicação, tanto do ponto de vista estrutural, como do ponto de vista funcional. O primeiro é um modelo estático, enquanto o segundo é dinâmico, no sentido de que se pode adicionar funcionalidade ao modelo.
A forma de adicionar funcionalidade a uma aplicação, correspondendo à definição de novos módulos funcionais, segue uma regra muito simples. Um novo mecanismo é constituído pela sua parte no nível de ligação e possível código adicional, parte das classes dos envelopes, e pelo código do nível de suporte. Assim, para fornecer um novo serviço há apenas que fornecer as partes da lista anterior. Note-se que, para obedecer ao modelo geral da estrutura da aplicação, o módulo tem que ser autogerido, ou obter informação de controlo de forma transparente (o que vem a ser o mesmo).
A forma de gerar o novo código será analisada na secção 4.2 e o próprio código na secção 4.1, embora de uma forma puramente conceptual.