Problema de interação de recursos - Feature interaction problem

A interação de recursos é um conceito de engenharia de software . Ocorre quando a integração de dois recursos modificaria o comportamento de um ou ambos os recursos.

O termo recurso é usado para denotar uma unidade de funcionalidade de um aplicativo de software. Semelhante a muitos conceitos da ciência da computação, o termo pode ser usado em diferentes níveis de abstração. Por exemplo, o serviço de telefone comum (POTS) é um recurso de aplicativo de telefonia em um nível, mas ele próprio é composto de recursos de origem e recursos de terminação. Os recursos de origem podem, por sua vez, incluir o recurso de fornecer tom de discagem, recurso de coleta de dígitos e assim por diante.

Essa definição de interação de recursos permite que se foque em determinado comportamento dos recursos de interação, como por exemplo, como seu tempo de resposta pode ser alterado devido à integração. Muitos pesquisadores da área consideram os problemas que surgem devido à mudança no comportamento de execução dos recursos de interação. Nesse contexto, o comportamento de um recurso é definido por seu fluxo de execução e saída para uma determinada entrada. Em outras palavras, a interação altera o fluxo de execução e a saída dos recursos de interação para uma determinada entrada.

Exemplo

No contexto da telefonia , uma linha telefônica (o sistema) normalmente oferece um conjunto de recursos que incluem encaminhamento de chamadas e chamadas em espera . A chamada em espera permite que uma chamada seja suspensa enquanto uma segunda chamada é atendida, enquanto o encaminhamento de chamadas permite que um cliente especifique um número de telefone secundário para o qual chamadas adicionais serão encaminhadas caso o cliente já esteja usando o telefone.

Para ilustrar o exemplo, consideramos uma linha telefônica fornecida a um cliente e presumimos que o encaminhamento de chamadas e a chamada em espera estão habilitados na linha. Quando chega a primeira chamada na linha, o telefone toca e é atendido. Como nenhum dos recursos é ativado na primeira chamada, não há nenhum problema perceptível. Quando uma segunda chamada chega antes de a primeira terminar, o sistema telefônico tem uma decisão a tomar: se a chamada deve ser encaminhada para o número secundário (encaminhamento de chamada) ou a pessoa que atendeu a primeira chamada deve ser notificada de que outra chamada chegou (chamada em espera). Como essa decisão não tem uma resposta correta óbvia, a resposta ideal depende das necessidades do cliente. Essa interação de recursos é um exemplo específico de um problema geral e comum que se tornou predominante devido ao aumento da complexidade do sistema.

Nesta situação, é possível que a decisão do sistema seja tomada de forma não determinística devido às condições de corrida e outros fatores de design. As consequências das interações de recursos podem variar de irritações menores a falhas de software com risco de vida e, portanto, há pesquisas em andamento que buscam encontrar maneiras de detectar e resolver as interações de recursos.

Workshops e conferências

  • A série de Workshops de Interação de Recursos (FIW) e as Conferências Internacionais sobre Interação de Recursos (ICFI) são os principais locais dedicados a este problema:
Evento Localização Copresidentes
FIW'92 São Petersburgo, EUA N. Griffeth , Y.-J. Lin
FIW'94 Amsterdã, Holanda LG Bouma, H. Velthuijsen
FIW'95 Kyoto, Japão KE Cheng, T. Ohta
FIW'97 Montreal no Canadá P. Dini, R. Boutaba, L. Logrippo
FIW'98 Lund, Suécia K. Kimbler, LG Bouma
FIW'00 Glasgow, Escócia M. Calder, E. Magill
FIW'03 Ottawa, Canadá D. Amyot, L. Logrippo
ICFI'05 Leicester, Reino Unido S. Reiff-Marganiec, MD Ryan
ICFI'07 Grenoble, França F. Ouabdesselam, L. du Bousquet
ICFI'09 Lisboa, Portugal S. Reiff-Marganiec, M. Nakamura

Veja também

links externos

Grupos de pesquisa

Papéis