A funcionalidade desta classe pode ser modificada pela existência de módulos funcionais, quer pela inserção de código, quer pela inserção de novas variáveis de instância. As alterações podem ser feitas através de uma das formas descritas em 6.3.4.2, pelos programadores dos módulos. Cada adição de código causada por cada novo módulo funcional provoca a necessidade de compilação de todas as bibliotecas internas, uma vez que elas também dependem do código dos envelopes.
Considere-se o exemplo do módulo de distribuição. A inclusão deste módulo numa aplicação provoca a inclusão dos seguintes métodos e variáveis de instância na classe envelope:
Table: Código adicional para distribuição.
Além destes, existem outras, tais como métodos de acesso a variáveis de instância e alguns métodos relacionados com o facto de os envelopes poderem ser colocados em dicionários, e.g. função de dispersão.
Dos métodos introduzidos acima, apenas SPM_quot
_EI_CreateServer" tem que
ser redefinido para cada envelope. Este método destina-se a ser
utilizado pelo gestor de distribuição para criar um SIF do tipo
apropriado para o envelope em causa. A geração por cada classe de
envelope é feita automaticamente.
A figura 6.1 mostra as estruturas de dados envolvidas na interacção entre envelopes e cartas. Usa-se, como exemplo, a classe hipotética Line.
Figure 6.1: Estrutura do ``par'' envelope/carta.