Aplicação do padrão Mediator em uma abordagem de otimização de projeto de Arquitetura de Linha de Produto de Software Giovani Guizzo 1 , Thelma Elita Colanzi 2 , Silvia Regina Vergilio 1 1 DInf - Universidade Federal do Paraná (UFPR) – Curitiba, PR – Brasil 2 DIN - Universidade Estadual de Maringá (UEM) – Maringá, PR – Brasil {gguizzo,silvia}@inf.ufpr.br, thelma@din.uem.br Resumo. A aplicação de padrões de projeto, tais como o Strategy e Bridge, por meio de operadores de mutação no projeto baseado em busca de Arquite- tura de Linha de Produto de Software (ALP) contribui para a obtenção de ALPs mais coesas e flexíveis e facilita a manutenção e evolução. Além disso, um es- tudo anterior mostra a viabilidade de aplicação destes padrões neste contexto. Considerando este fato, este trabalho introduz métodos automatizados para a aplicação do padrão Mediator em uma abordagem evolutiva multiobjetivo para a otimização de projeto de ALP. Estes métodos são utilizados por um operador de mutação para a obtenção de ALPs mais coesas, extensíveis e desacopladas durante o processo evolutivo. A aplicação do Mediator é exemplificada em uma ALP e as suas consequências mostram resultados promissores. Abstract. The application of design patterns, such as Strategy and Bridge, th- rough mutation operators in the search-based design of Software Product Line Architecture (PLA) contributes to obtain more cohesive and flexible PLAs, ea- sing maintenance and evolution. In addition, a previous study shows the appli- cation viability of these patterns in this context. Considering this fact, this paper introduces automatic methods for the application of the Mediator design pattern in a multi-objective optimization approach for PLA design. These methods are used by a mutation operator to obtain PLAs which are more cohesive, extensible and decoupled during the evolutionary process. The application of Mediator is illustrated and its consequences show promising results. 1. Introdução Uma Linha de Produto de Software (LPS) pode ser definida como um conjunto de produ- tos que compartilham características comuns. Características são atributos de um sistema de software que afetam diretamente os usuários finais, satisfazem necessidades específi- cas de um segmento de mercado em particular e são desenvolvidas a partir de um conjunto comum de artefatos [van der Linden et al. 2007]. A Arquitetura de Linha de Produto de Software (ALP) é um artefato fundamental. Ela contém o projeto que é comum a todos os produtos derivados da LPS, ou seja, componentes para realizar todas as características Os autores agradecem à CAPES e ao CNPq pelo apoio financeiro.