Este livro propõe uma metodologia bioinspirada que orienta o processo de modelagem de funcionalidades de software que a partir de um modelo de requisitos de software produz um modelo de design de software baseado em funcionalidades que suporta variabilidade e aspectos de evolução. Assim esta metodologia amplia os conceitos tradicionais do modelo de funcionalidades com conceitos de evolução. Ela constrói um modelo de funcionalidades ampliado a partir do modelo tradicional. Uma combinação de duas notações formais é utilizada na especificação do modelo de funcionalidades alargado. As notações EBNF foram utilizadas para definir a estrutura do modelo enquanto as notações algébricas foram utilizadas para definir as suas propriedades.