Introdução à Arquitetura de Software Virgínia C. C. de Paula - DIMAp/UFRN - DI/UFPE Nelson Souto...

95
Introdução à Arquitetura de Software Virgínia C. C. de Paula - DIMAp/UFRN - DI/UFPE Nelson Souto Rosa - DI/UFPE Paulo R. F. Cunha - DI/UFPE

Transcript of Introdução à Arquitetura de Software Virgínia C. C. de Paula - DIMAp/UFRN - DI/UFPE Nelson Souto...

Page 1: Introdução à Arquitetura de Software Virgínia C. C. de Paula - DIMAp/UFRN - DI/UFPE Nelson Souto Rosa - DI/UFPE Paulo R. F. Cunha - DI/UFPE.

Introdução à Arquitetura de Software

Virgínia C. C. de Paula - DIMAp/UFRN - DI/UFPE

Nelson Souto Rosa - DI/UFPE

Paulo R. F. Cunha - DI/UFPE

Page 2: Introdução à Arquitetura de Software Virgínia C. C. de Paula - DIMAp/UFRN - DI/UFPE Nelson Souto Rosa - DI/UFPE Paulo R. F. Cunha - DI/UFPE.

2XII SBES 13-16 de Outubro de 1998 Maringá - Paraná - Brasil

Agenda

Introdução Arquitetura de software Estilos arquiteturais Linguagens de descrição de arquitetura Exemplo Tendências

Page 3: Introdução à Arquitetura de Software Virgínia C. C. de Paula - DIMAp/UFRN - DI/UFPE Nelson Souto Rosa - DI/UFPE Paulo R. F. Cunha - DI/UFPE.

3XII SBES 13-16 de Outubro de 1998 Maringá - Paraná - Brasil

Introdução

Contexto

Arquitetura de Software

Pontos básicos Tópicos de pesquisa

HistóricoAS como disciplina

ADLs

Estilos

Formalização Novas ADLs

Arquiteturas convergentes

Ferramentas

Engenharia de Software

Desenvolvimentobaseado em arquiteturaEstilos

Engenharia de requisitos ...

Page 4: Introdução à Arquitetura de Software Virgínia C. C. de Paula - DIMAp/UFRN - DI/UFPE Nelson Souto Rosa - DI/UFPE Paulo R. F. Cunha - DI/UFPE.

4XII SBES 13-16 de Outubro de 1998 Maringá - Paraná - Brasil

Introdução

Motivação

A estrutura do software é importante, e adotar a estrutura correta pode trazer

benefícios

O aumento do tamanho e da complexidade dos softwares

Page 5: Introdução à Arquitetura de Software Virgínia C. C. de Paula - DIMAp/UFRN - DI/UFPE Nelson Souto Rosa - DI/UFPE Paulo R. F. Cunha - DI/UFPE.

5XII SBES 13-16 de Outubro de 1998 Maringá - Paraná - Brasil

Introdução

Motivação

A importância da Arquitetura de Software para os projetistas de software nos anos 90 é comparável a importância das estruturas de dados para os programadores nos anos 60

Page 6: Introdução à Arquitetura de Software Virgínia C. C. de Paula - DIMAp/UFRN - DI/UFPE Nelson Souto Rosa - DI/UFPE Paulo R. F. Cunha - DI/UFPE.

6XII SBES 13-16 de Outubro de 1998 Maringá - Paraná - Brasil

Introdução

Histórico– Dijkstra, 1968

• particionamento • estruturação do software

– Parnas, 1970-2• família de programas• estrutura do software

– DeRemer, 1975• Programming-in-the-small X Programming-in-the

large

Page 7: Introdução à Arquitetura de Software Virgínia C. C. de Paula - DIMAp/UFRN - DI/UFPE Nelson Souto Rosa - DI/UFPE Paulo R. F. Cunha - DI/UFPE.

7XII SBES 13-16 de Outubro de 1998 Maringá - Paraná - Brasil

Introdução

Histórico– 1970-80

• Componentes de um compilador– 1980

• Divisão em camadas das pilhas de protocolos

Page 8: Introdução à Arquitetura de Software Virgínia C. C. de Paula - DIMAp/UFRN - DI/UFPE Nelson Souto Rosa - DI/UFPE Paulo R. F. Cunha - DI/UFPE.

8XII SBES 13-16 de Outubro de 1998 Maringá - Paraná - Brasil

Agenda

Introdução Arquitetura de software Estilos arquiteturais Linguagens de descrição de arquitetura Exemplo Tendências

Page 9: Introdução à Arquitetura de Software Virgínia C. C. de Paula - DIMAp/UFRN - DI/UFPE Nelson Souto Rosa - DI/UFPE Paulo R. F. Cunha - DI/UFPE.

9XII SBES 13-16 de Outubro de 1998 Maringá - Paraná - Brasil

Arquitetura de software

Sobre o termo Arquitetura de Software Disciplina

área emergente da ES aborda as questões ligadas à estrutura do software

Estrutura do software

várias definições nenhuma aceita como padrão semelhanças no núcleo das definições e diferenças nas características adicionais

Page 10: Introdução à Arquitetura de Software Virgínia C. C. de Paula - DIMAp/UFRN - DI/UFPE Nelson Souto Rosa - DI/UFPE Paulo R. F. Cunha - DI/UFPE.

10XII SBES 13-16 de Outubro de 1998 Maringá - Paraná - Brasil

Arquitetura de software

Definição 1

“Uma arquitetura de software deve conter: a definição dos elementos de projeto que

compõe o software; a descrição das interações entre estes elementos; os

padrões de composição dos elementos; e um conjunto de restrições sobre estes

padrões.” [Shaw 96]

Page 11: Introdução à Arquitetura de Software Virgínia C. C. de Paula - DIMAp/UFRN - DI/UFPE Nelson Souto Rosa - DI/UFPE Paulo R. F. Cunha - DI/UFPE.

11XII SBES 13-16 de Outubro de 1998 Maringá - Paraná - Brasil

Arquitetura de software

Definição 2

“A descrição da arquitetura de software é um passo intermediário entre a análise de

requisitos e o projeto. Esta descrição consiste de elementos arquiteturais, as interações entre estes elementos, e as

restrições sobre estes elementos e sobre as suas interações.” [Perry 92]

Page 12: Introdução à Arquitetura de Software Virgínia C. C. de Paula - DIMAp/UFRN - DI/UFPE Nelson Souto Rosa - DI/UFPE Paulo R. F. Cunha - DI/UFPE.

12XII SBES 13-16 de Outubro de 1998 Maringá - Paraná - Brasil

Arquitetura de software

Definição 3

“Uma arquitetura de software é um conjunto de componentes genéricos junto com uma descrição de propriedades, regras

de como estes componentes podem interagir, e estilo de interação destes

componentes.” [Jackson 95]

Page 13: Introdução à Arquitetura de Software Virgínia C. C. de Paula - DIMAp/UFRN - DI/UFPE Nelson Souto Rosa - DI/UFPE Paulo R. F. Cunha - DI/UFPE.

13XII SBES 13-16 de Outubro de 1998 Maringá - Paraná - Brasil

Arquitetura de software

Definição 4

“Arquitetura de software é a estrutura de um programa ou um sistema, seus

relacionamentos e os princípios que guiam o seu projeto e a sua evolução

no tempo.” [Garlan 95]

Page 14: Introdução à Arquitetura de Software Virgínia C. C. de Paula - DIMAp/UFRN - DI/UFPE Nelson Souto Rosa - DI/UFPE Paulo R. F. Cunha - DI/UFPE.

14XII SBES 13-16 de Outubro de 1998 Maringá - Paraná - Brasil

Arquitetura de software

Pontos comuns

“elementos arquiteturais” “elementos de projeto” “componentes genéricos”

“estrutura”

“interações” “interagir”

Componentes

Conectores

Configuração

Page 15: Introdução à Arquitetura de Software Virgínia C. C. de Paula - DIMAp/UFRN - DI/UFPE Nelson Souto Rosa - DI/UFPE Paulo R. F. Cunha - DI/UFPE.

15XII SBES 13-16 de Outubro de 1998 Maringá - Paraná - Brasil

Arquitetura de software

Modelos– Perry, 1992

• elementos – processamento, armazenamento, interação

• forms – conjunto de propriedades dos elementos e dos

relacionamentos

• rationale – “justificativa” para os elementos e forms

Page 16: Introdução à Arquitetura de Software Virgínia C. C. de Paula - DIMAp/UFRN - DI/UFPE Nelson Souto Rosa - DI/UFPE Paulo R. F. Cunha - DI/UFPE.

16XII SBES 13-16 de Outubro de 1998 Maringá - Paraná - Brasil

Arquitetura de software

Modelos– Shaw, 1996

• componentes• conectores• configuração

Page 17: Introdução à Arquitetura de Software Virgínia C. C. de Paula - DIMAp/UFRN - DI/UFPE Nelson Souto Rosa - DI/UFPE Paulo R. F. Cunha - DI/UFPE.

17XII SBES 13-16 de Outubro de 1998 Maringá - Paraná - Brasil

Arquitetura de software

Componente– modela a computação e o armazenamento de

informações

– desenvolvido independentemente

– exemplos de componentes• cliente• servidor• aplicação inteira

Page 18: Introdução à Arquitetura de Software Virgínia C. C. de Paula - DIMAp/UFRN - DI/UFPE Nelson Souto Rosa - DI/UFPE Paulo R. F. Cunha - DI/UFPE.

18XII SBES 13-16 de Outubro de 1998 Maringá - Paraná - Brasil

Arquitetura de software

Conector

– modela as interações entre os componentes

– desenvolvido independentemente

– exemplos de conectores

• protocolos de comunicação

Page 19: Introdução à Arquitetura de Software Virgínia C. C. de Paula - DIMAp/UFRN - DI/UFPE Nelson Souto Rosa - DI/UFPE Paulo R. F. Cunha - DI/UFPE.

19XII SBES 13-16 de Outubro de 1998 Maringá - Paraná - Brasil

Arquitetura de software

Configuração – topologia

– composição

– conjunto de componentes combinados usando-se os conectores

– grafo de componentes e conectores ligados, descrevendo uma estrutura arquitetural

Page 20: Introdução à Arquitetura de Software Virgínia C. C. de Paula - DIMAp/UFRN - DI/UFPE Nelson Souto Rosa - DI/UFPE Paulo R. F. Cunha - DI/UFPE.

20XII SBES 13-16 de Outubro de 1998 Maringá - Paraná - Brasil

Arquitetura de software

Visão de uma Arquitetura de Software

Componente

Conector

Configuração

Page 21: Introdução à Arquitetura de Software Virgínia C. C. de Paula - DIMAp/UFRN - DI/UFPE Nelson Souto Rosa - DI/UFPE Paulo R. F. Cunha - DI/UFPE.

21XII SBES 13-16 de Outubro de 1998 Maringá - Paraná - Brasil

Arquitetura de software

Componentes e formas de interação

Módulo Chamada de procedimento Dados compartilhados Objeto Invocação de método Filtro Fluxo de dados ( pipe ) Processo Passagem de mensagem, RPC Arquivo de dados Leitura e escrita Base de dados Consulta

Componentes Tipos de interação

Page 22: Introdução à Arquitetura de Software Virgínia C. C. de Paula - DIMAp/UFRN - DI/UFPE Nelson Souto Rosa - DI/UFPE Paulo R. F. Cunha - DI/UFPE.

22XII SBES 13-16 de Outubro de 1998 Maringá - Paraná - Brasil

Arquitetura de software

Software X Hardware

número pequeno de elementos de projeto mudança de escala com a replicação dos elementos de projeto ênfase na organização e configuração

Arquitetura de Hardware

grande número de elementos de projeto mudança de escala com a adição de novos elementos de projeto ênfase na organização e configuração

Arquitetura de Software

Page 23: Introdução à Arquitetura de Software Virgínia C. C. de Paula - DIMAp/UFRN - DI/UFPE Nelson Souto Rosa - DI/UFPE Paulo R. F. Cunha - DI/UFPE.

23XII SBES 13-16 de Outubro de 1998 Maringá - Paraná - Brasil

Arquitetura de software

Software X Rede

nós conexões poucas topologias

Arquitetura de Rede

componentes conectores muitas topologias

Arquitetura de Software

Page 24: Introdução à Arquitetura de Software Virgínia C. C. de Paula - DIMAp/UFRN - DI/UFPE Nelson Souto Rosa - DI/UFPE Paulo R. F. Cunha - DI/UFPE.

24XII SBES 13-16 de Outubro de 1998 Maringá - Paraná - Brasil

Arquitetura de software

Software X Construção

visões enfatizando diferentes aspectos da construção restrição sobre os elementos de projeto e a composição estreita relação entre o estilo arquitetural e os princípios de engenharia a relação entre o estilo e o material utilizado para a construção é fundamental

Arquitetura de Construção

visões para diferentes usos e usuários estilos arquiteturais

princípios de engenharia e estilo arquitetural

implementação ( algoritmos e estrutura de dados que satisfazem a arquitetura )

Arquitetura de Software

Page 25: Introdução à Arquitetura de Software Virgínia C. C. de Paula - DIMAp/UFRN - DI/UFPE Nelson Souto Rosa - DI/UFPE Paulo R. F. Cunha - DI/UFPE.

25XII SBES 13-16 de Outubro de 1998 Maringá - Paraná - Brasil

Arquitetura de software

Sobre Arquitetura de Software– descrição mais abstrata no ciclo de vida do

software

– suprime detalhes da implementação

– Arquitetura de Software sempre existiu, mas era implícita

Page 26: Introdução à Arquitetura de Software Virgínia C. C. de Paula - DIMAp/UFRN - DI/UFPE Nelson Souto Rosa - DI/UFPE Paulo R. F. Cunha - DI/UFPE.

26XII SBES 13-16 de Outubro de 1998 Maringá - Paraná - Brasil

Arquitetura de software

Sobre Arquitetura de Software– separação de interesses

• funcionalidade• interação

Funcionalidadee

Interação

Funcionalidade Interação

Page 27: Introdução à Arquitetura de Software Virgínia C. C. de Paula - DIMAp/UFRN - DI/UFPE Nelson Souto Rosa - DI/UFPE Paulo R. F. Cunha - DI/UFPE.

27XII SBES 13-16 de Outubro de 1998 Maringá - Paraná - Brasil

Arquitetura de software

Sobre Arquitetura de Software– define aspectos estruturais importantes

– fornece uma base para as outras fases de desenvolvimento do software

– a arquitetura é normalmente descrita usando-se linhas e caixas de diagramas acompanhados por uma descrição textual

Page 28: Introdução à Arquitetura de Software Virgínia C. C. de Paula - DIMAp/UFRN - DI/UFPE Nelson Souto Rosa - DI/UFPE Paulo R. F. Cunha - DI/UFPE.

28XII SBES 13-16 de Outubro de 1998 Maringá - Paraná - Brasil

Arquitetura de software

Desenvolvimento de software

Análise de requisitos

Arquitetura

Projeto

Análise de requisitos

Implementação

Análise do domínio

Desenvolver / escolher a arquitetura

Representação da arquitetura

Projeto

Implementação

Desenvolvimento tradicional Desenvolvimento baseado em arquitetura

Análise e avaliação da arquitetura

Page 29: Introdução à Arquitetura de Software Virgínia C. C. de Paula - DIMAp/UFRN - DI/UFPE Nelson Souto Rosa - DI/UFPE Paulo R. F. Cunha - DI/UFPE.

29XII SBES 13-16 de Outubro de 1998 Maringá - Paraná - Brasil

Arquitetura de software

Arquitetura X Projeto

componentes e conectores restrições sobre componentes e conectores composição de componentes

Arquitetura

procedimentos e interfaces algoritmos e estruturas de dados composição procedural

Projeto

Page 30: Introdução à Arquitetura de Software Virgínia C. C. de Paula - DIMAp/UFRN - DI/UFPE Nelson Souto Rosa - DI/UFPE Paulo R. F. Cunha - DI/UFPE.

30XII SBES 13-16 de Outubro de 1998 Maringá - Paraná - Brasil

Arquitetura de software

Por que definir uma Arquitetura de Software?

– reuso de elementos de projeto permitindo

maior rapidez na construção do software

– definindo-se uma arquitetura é possível

predizer algumas características do software

Page 31: Introdução à Arquitetura de Software Virgínia C. C. de Paula - DIMAp/UFRN - DI/UFPE Nelson Souto Rosa - DI/UFPE Paulo R. F. Cunha - DI/UFPE.

31XII SBES 13-16 de Outubro de 1998 Maringá - Paraná - Brasil

Arquitetura de software

Por que definir uma Arquitetura de Software?

– facilita a comunicação entre os

desenvolvedores do software

– permite um entendimento maior da evolução

do software

Page 32: Introdução à Arquitetura de Software Virgínia C. C. de Paula - DIMAp/UFRN - DI/UFPE Nelson Souto Rosa - DI/UFPE Paulo R. F. Cunha - DI/UFPE.

32XII SBES 13-16 de Outubro de 1998 Maringá - Paraná - Brasil

Arquitetura de software

Por que definir uma Arquitetura de Software?– possibilidade de análise da descrição da

arquitetura nas fases iniciais do desenvolvimento• consistência da configuração, componentes e

conectores• completude• propriedades não funcionais• conformidade com um determinado estilo

Page 33: Introdução à Arquitetura de Software Virgínia C. C. de Paula - DIMAp/UFRN - DI/UFPE Nelson Souto Rosa - DI/UFPE Paulo R. F. Cunha - DI/UFPE.

33XII SBES 13-16 de Outubro de 1998 Maringá - Paraná - Brasil

Agenda

Introdução Arquitetura de software Estilos arquiteturais Linguagens de descrição de arquitetura Exemplo Tendências

Page 34: Introdução à Arquitetura de Software Virgínia C. C. de Paula - DIMAp/UFRN - DI/UFPE Nelson Souto Rosa - DI/UFPE Paulo R. F. Cunha - DI/UFPE.

34XII SBES 13-16 de Outubro de 1998 Maringá - Paraná - Brasil

Estilos arquiteturais

Sobre o termo Estilo arquitetural

– padrão organizacional

– padrão arquitetural

– padrão idiomático

– padrão de organização estrutural

– idioma arquitetural

Page 35: Introdução à Arquitetura de Software Virgínia C. C. de Paula - DIMAp/UFRN - DI/UFPE Nelson Souto Rosa - DI/UFPE Paulo R. F. Cunha - DI/UFPE.

35XII SBES 13-16 de Outubro de 1998 Maringá - Paraná - Brasil

Estilos arquiteturais Definição

“Um estilo arquitetural consiste de um vocabulário de elementos de projeto, um conjunto de regras de configuração, uma interpretação semântica da composição dos elementos, e um conjunto de análises

que podem ser executadas sobre um sistema construído em um determinado estilo.”

[Garlan 95]

Page 36: Introdução à Arquitetura de Software Virgínia C. C. de Paula - DIMAp/UFRN - DI/UFPE Nelson Souto Rosa - DI/UFPE Paulo R. F. Cunha - DI/UFPE.

36XII SBES 13-16 de Outubro de 1998 Maringá - Paraná - Brasil

Estilos arquiteturais Vocabulário

– idioma de projeto

– restringe os elementos arquiteturais que podem ser utilizados em uma descrição de arquitetura

– elementos arquiteturais• componentes • conectores

Page 37: Introdução à Arquitetura de Software Virgínia C. C. de Paula - DIMAp/UFRN - DI/UFPE Nelson Souto Rosa - DI/UFPE Paulo R. F. Cunha - DI/UFPE.

37XII SBES 13-16 de Outubro de 1998 Maringá - Paraná - Brasil

Estilos arquiteturais Regras de configuração

– restrições topólogicas

– restrigem as composições dos elementos

arquiteturais

• proibição de ciclos no estilo Fipe-filter

• relacionamento n-para-1 no estilo Cliente-

servidor

Page 38: Introdução à Arquitetura de Software Virgínia C. C. de Paula - DIMAp/UFRN - DI/UFPE Nelson Souto Rosa - DI/UFPE Paulo R. F. Cunha - DI/UFPE.

38XII SBES 13-16 de Outubro de 1998 Maringá - Paraná - Brasil

Estilos arquiteturais

Análise– verificação de propriedades

• ausência de deadlock em um estilo Cliente-servidor

Interpretação semântica– a composição dos elementos de projeto

precisa de uma semântica bem definida

Page 39: Introdução à Arquitetura de Software Virgínia C. C. de Paula - DIMAp/UFRN - DI/UFPE Nelson Souto Rosa - DI/UFPE Paulo R. F. Cunha - DI/UFPE.

39XII SBES 13-16 de Outubro de 1998 Maringá - Paraná - Brasil

Estilos arquiteturais Sobre Estilo Arquitetural

– uso ad hoc• “Camelot é baseado no modelo Cliente-servidor e usa

RPC para comunicação remota e local dos clientes e servidore” [Spector 87]

– define uma família e não apenas um sistema– explora os pontos comuns entre famílias de sistemas

e ignora detalhes específicos– a construção de compiladores é o primeiro exemplo

do uso de estilos

Page 40: Introdução à Arquitetura de Software Virgínia C. C. de Paula - DIMAp/UFRN - DI/UFPE Nelson Souto Rosa - DI/UFPE Paulo R. F. Cunha - DI/UFPE.

40XII SBES 13-16 de Outubro de 1998 Maringá - Paraná - Brasil

Estilos arquiteturais Sobre Estilo Arquitetural

– a descrição da arquitetura é uma instância de um estilo

– exemplos• Cliente-servidor• Pipe-filter• Objetos• Invocação implícita• Camadas, repositórios

Page 41: Introdução à Arquitetura de Software Virgínia C. C. de Paula - DIMAp/UFRN - DI/UFPE Nelson Souto Rosa - DI/UFPE Paulo R. F. Cunha - DI/UFPE.

41XII SBES 13-16 de Outubro de 1998 Maringá - Paraná - Brasil

Estilos arquiteturais

Sobre Estilo Arquitetural

Arquitetura de software

Servidor

Cliente

Cliente

Cliente

Request-reply

Estilo Cliente-servidor

Page 42: Introdução à Arquitetura de Software Virgínia C. C. de Paula - DIMAp/UFRN - DI/UFPE Nelson Souto Rosa - DI/UFPE Paulo R. F. Cunha - DI/UFPE.

42XII SBES 13-16 de Outubro de 1998 Maringá - Paraná - Brasil

Estilos arquiteturais

Sobre Estilo Arquitetural

Arquitetura de software

Central

Fonte

Fonte

Fonte

Estilo Blackboard

Page 43: Introdução à Arquitetura de Software Virgínia C. C. de Paula - DIMAp/UFRN - DI/UFPE Nelson Souto Rosa - DI/UFPE Paulo R. F. Cunha - DI/UFPE.

43XII SBES 13-16 de Outubro de 1998 Maringá - Paraná - Brasil

Estilos arquiteturais

Sobre Estilo Arquitetural

Arquitetura de software

Filtro

Filtro

Filtro

Filtro

Pipe

Estilo Pipe-Filter

Page 44: Introdução à Arquitetura de Software Virgínia C. C. de Paula - DIMAp/UFRN - DI/UFPE Nelson Souto Rosa - DI/UFPE Paulo R. F. Cunha - DI/UFPE.

44XII SBES 13-16 de Outubro de 1998 Maringá - Paraná - Brasil

Estilos arquiteturais

Sobre Estilo Arquitetural

Arquitetura de software

Filtro

Filtro

Filtro

Filtro

Pipe

Estilo Pipe-Filter

Page 45: Introdução à Arquitetura de Software Virgínia C. C. de Paula - DIMAp/UFRN - DI/UFPE Nelson Souto Rosa - DI/UFPE Paulo R. F. Cunha - DI/UFPE.

45XII SBES 13-16 de Outubro de 1998 Maringá - Paraná - Brasil

Estilos arquiteturais Por que definir estilos arquiteturais?

– reuso de projetos

– reuso de código

– o uso de estruturas convencionais facilita o entendimento da arquitetura• “cliente-servidor”

– a restrição do espaço de projeto permite análises mais especializadas para os estilos

Page 46: Introdução à Arquitetura de Software Virgínia C. C. de Paula - DIMAp/UFRN - DI/UFPE Nelson Souto Rosa - DI/UFPE Paulo R. F. Cunha - DI/UFPE.

46XII SBES 13-16 de Outubro de 1998 Maringá - Paraná - Brasil

Agenda

Introdução Arquitetura de software Estilos arquiteturais Linguagens de descrição de arquitetura Exemplo Tendências

Page 47: Introdução à Arquitetura de Software Virgínia C. C. de Paula - DIMAp/UFRN - DI/UFPE Nelson Souto Rosa - DI/UFPE Paulo R. F. Cunha - DI/UFPE.

47XII SBES 13-16 de Outubro de 1998 Maringá - Paraná - Brasil

Linguagens de descrição de arquitetura

ADL - Architecture Description Language O que podemos esperar de uma linguagem

para descrição de arquitetura de software? – ênfase em estruturas de alto nível em oposição

a detalhes de implementação

Page 48: Introdução à Arquitetura de Software Virgínia C. C. de Paula - DIMAp/UFRN - DI/UFPE Nelson Souto Rosa - DI/UFPE Paulo R. F. Cunha - DI/UFPE.

48XII SBES 13-16 de Outubro de 1998 Maringá - Paraná - Brasil

Linguagens de descrição de arquitetura

Como uma ADL se relaciona com outras linguagens?

Linguagens deRequisitos

Linguagem deRequisitos

Linguagens deProgramação

Linguagens deModelagem

Page 49: Introdução à Arquitetura de Software Virgínia C. C. de Paula - DIMAp/UFRN - DI/UFPE Nelson Souto Rosa - DI/UFPE Paulo R. F. Cunha - DI/UFPE.

49XII SBES 13-16 de Outubro de 1998 Maringá - Paraná - Brasil

Linguagens de descrição de arquitetura

ADLs e outras linguagens

vinculam abstrações arquiteturais à soluções específicas

Linguagens de Programação

representam trechos de comportamento para facilitar a apresentação dos requisitos, adequando-se a representação de componentes arquiteturais têm enfoque no problema

Linguagens de Requisitos

Page 50: Introdução à Arquitetura de Software Virgínia C. C. de Paula - DIMAp/UFRN - DI/UFPE Nelson Souto Rosa - DI/UFPE Paulo R. F. Cunha - DI/UFPE.

50XII SBES 13-16 de Outubro de 1998 Maringá - Paraná - Brasil

Linguagens de descrição de arquitetura

ADLs e outras linguagens

enfatizam o comportamento do todo ao invés do comportamento das partes podem representar componentes cooperativos e representam arquiteturas razoavelmente bem

Linguagens de Modelagem

intencionalmente, suprimem o vínculo de abstrações com soluções específicastêm enfoque na solução concentram-se na representação das partes

ADLs

Page 51: Introdução à Arquitetura de Software Virgínia C. C. de Paula - DIMAp/UFRN - DI/UFPE Nelson Souto Rosa - DI/UFPE Paulo R. F. Cunha - DI/UFPE.

51XII SBES 13-16 de Outubro de 1998 Maringá - Paraná - Brasil

Linguagens de descrição de arquitetura

Propriedades desejáveis de uma ADL– Composição

• divisão hierárquica de um sistema complexo em partes menores

– Abstração• explicitar a estrutura de mais alto nível

– Reusabilidade• componentes, conectores e padrões de

arquitetura

Page 52: Introdução à Arquitetura de Software Virgínia C. C. de Paula - DIMAp/UFRN - DI/UFPE Nelson Souto Rosa - DI/UFPE Paulo R. F. Cunha - DI/UFPE.

52XII SBES 13-16 de Outubro de 1998 Maringá - Paraná - Brasil

Linguagens de descrição de arquitetura

Propriedades desejáveis de uma ADL– Configuração

• separação da descrição de estruturas compostas da descrição dos elementos dessas composições

– Análise• permite verificar propriedades dos sistemas,

especialmente referentes a Arquiteturas Dinâmicas

Arquiteturas dinâmicas são aquelas que permitem evolução da estrutura

de um sistema durante sua execução.

Page 53: Introdução à Arquitetura de Software Virgínia C. C. de Paula - DIMAp/UFRN - DI/UFPE Nelson Souto Rosa - DI/UFPE Paulo R. F. Cunha - DI/UFPE.

53XII SBES 13-16 de Outubro de 1998 Maringá - Paraná - Brasil

Linguagens de descrição de arquitetura

Propriedades desejáveis de uma ADL

– Heterogeneidade

• habilidade para combinar diferentes padrões

arquiteturais em um mesmo sistema

• possibilidade de combinar componentes

escritos em linguagens diferentes

Page 54: Introdução à Arquitetura de Software Virgínia C. C. de Paula - DIMAp/UFRN - DI/UFPE Nelson Souto Rosa - DI/UFPE Paulo R. F. Cunha - DI/UFPE.

54XII SBES 13-16 de Outubro de 1998 Maringá - Paraná - Brasil

Linguagens de descrição de arquitetura

Propriedades desejáveis de uma ADL– habilidade para representar componentes

(primitivos ou compostos)

– habilidade para representar conectores

– abstração e encapsulamento

– tipos e checagem de tipos

– permitir a construção de ferramentas de análise

Page 55: Introdução à Arquitetura de Software Virgínia C. C. de Paula - DIMAp/UFRN - DI/UFPE Nelson Souto Rosa - DI/UFPE Paulo R. F. Cunha - DI/UFPE.

55XII SBES 13-16 de Outubro de 1998 Maringá - Paraná - Brasil

Linguagens de descrição de arquitetura

Propriedades desejáveis de uma ADL

– abstração de componentes

– abstração de comunicação

– integridade de comunicação

• a comunicação é limitada a componentes

conectados arquiteturalmente a outros

– habilidade de modelar arquiteturas dinâmicas

Page 56: Introdução à Arquitetura de Software Virgínia C. C. de Paula - DIMAp/UFRN - DI/UFPE Nelson Souto Rosa - DI/UFPE Paulo R. F. Cunha - DI/UFPE.

56XII SBES 13-16 de Outubro de 1998 Maringá - Paraná - Brasil

Linguagens de descrição de arquitetura

Propriedades desejáveis de uma ADL

– habilidade de ter intuição sobre causa e tempo

– suporte a refinamento hierárquico

– relatividade

• mapeamento de comportamentos para

arquiteturas diferentes (checagem de

conformidade)

Page 57: Introdução à Arquitetura de Software Virgínia C. C. de Paula - DIMAp/UFRN - DI/UFPE Nelson Souto Rosa - DI/UFPE Paulo R. F. Cunha - DI/UFPE.

57XII SBES 13-16 de Outubro de 1998 Maringá - Paraná - Brasil

Linguagens de descrição de arquitetura

Generalidade das ADLs – instâncias arquiteturais

• projetadas para descrever sistemas específicos– estilos arquiteturais

• projetadas para descrever padrões de estruturas de arquitetura

– arquiteturas em geral• procuram dar significado à questões de

arquitetura e as formas como abstrações arquiteturais permitem análise de projeto.

Page 58: Introdução à Arquitetura de Software Virgínia C. C. de Paula - DIMAp/UFRN - DI/UFPE Nelson Souto Rosa - DI/UFPE Paulo R. F. Cunha - DI/UFPE.

58XII SBES 13-16 de Outubro de 1998 Maringá - Paraná - Brasil

Linguagens de descrição de arquitetura

Modelagem de componentes– conceitos diferentes em cada ADL

• MetaH – um programa

• C2 – uma aplicação inteira (componentes hierárquicos)

– interfaces de componentes• pontos de interação com o ambiente externo• permitem a percepção da semântica dos

componentes– serviços oferecidos– portas de comunicação

Page 59: Introdução à Arquitetura de Software Virgínia C. C. de Paula - DIMAp/UFRN - DI/UFPE Nelson Souto Rosa - DI/UFPE Paulo R. F. Cunha - DI/UFPE.

59XII SBES 13-16 de Outubro de 1998 Maringá - Paraná - Brasil

Linguagens de descrição de arquitetura

Modelagem de componentes– componentes como tipos para serem reusados– uso explícito de parametrização

• ACME, Darwin e Rapide

– semântica dos componentes permite análise do comportamento, estabelecimento de restrições e mapeamento consistente de um nível para outro da arquitetura

Page 60: Introdução à Arquitetura de Software Virgínia C. C. de Paula - DIMAp/UFRN - DI/UFPE Nelson Souto Rosa - DI/UFPE Paulo R. F. Cunha - DI/UFPE.

60XII SBES 13-16 de Outubro de 1998 Maringá - Paraná - Brasil

Linguagens de descrição de arquitetura

Modelagem de componentes– restrições podem ser definidas por uma

linguagens específica– componentes podem evoluir

• subtipagem de componentes• refinamento

A maioria das ADLs não oferece suporte à evolução.

Page 61: Introdução à Arquitetura de Software Virgínia C. C. de Paula - DIMAp/UFRN - DI/UFPE Nelson Souto Rosa - DI/UFPE Paulo R. F. Cunha - DI/UFPE.

61XII SBES 13-16 de Outubro de 1998 Maringá - Paraná - Brasil

Linguagens de descrição de arquitetura

Modelagem de componentes– especificação de propriedades não-funcionais

• permite simulação do comportamento em tempo de execução

• análise dos componentes• verificação de restrições• auxilia no gerenciamento do projeto

A maioria das ADLs não oferece suporte à especificação de propriedades não-funcionais.

Page 62: Introdução à Arquitetura de Software Virgínia C. C. de Paula - DIMAp/UFRN - DI/UFPE Nelson Souto Rosa - DI/UFPE Paulo R. F. Cunha - DI/UFPE.

62XII SBES 13-16 de Outubro de 1998 Maringá - Paraná - Brasil

Linguagens de descrição de arquitetura

Modelagem de conectores– não necessariamente corresponde a uma

unidade de compilação em uma implementação

– podem ser modelados explicitamente• possuem interface própria

Page 63: Introdução à Arquitetura de Software Virgínia C. C. de Paula - DIMAp/UFRN - DI/UFPE Nelson Souto Rosa - DI/UFPE Paulo R. F. Cunha - DI/UFPE.

63XII SBES 13-16 de Outubro de 1998 Maringá - Paraná - Brasil

Linguagens de descrição de arquitetura

Modelagem de conectores

– podem ser modelados como entidades de

primeira classe

• tipos ou instâncias

• estabelecer restrições de uso via interface

• suportar evolução

Page 64: Introdução à Arquitetura de Software Virgínia C. C. de Paula - DIMAp/UFRN - DI/UFPE Nelson Souto Rosa - DI/UFPE Paulo R. F. Cunha - DI/UFPE.

64XII SBES 13-16 de Outubro de 1998 Maringá - Paraná - Brasil

Linguagens de descrição de arquitetura

Modelagem de conectores– ADLs podem fornecer protocolos de

conectores e semântica de transações.• análise sobre as interações• verificação de restrições

A maioria das ADLs não oferece suporte à evolução e à especificação de propriedades não-funcionais.

Page 65: Introdução à Arquitetura de Software Virgínia C. C. de Paula - DIMAp/UFRN - DI/UFPE Nelson Souto Rosa - DI/UFPE Paulo R. F. Cunha - DI/UFPE.

65XII SBES 13-16 de Outubro de 1998 Maringá - Paraná - Brasil

Linguagens de descrição de arquitetura

Modelagem de configurações– a estrutura de um sistema deve, idealmente,

permitir que a especificação da configuração seja compreendida sem se conhecer os componentes e os conectores

– descrição de configurações permite estimar aspectos concorrentes e distribuídos de uma arquitetura

Page 66: Introdução à Arquitetura de Software Virgínia C. C. de Paula - DIMAp/UFRN - DI/UFPE Nelson Souto Rosa - DI/UFPE Paulo R. F. Cunha - DI/UFPE.

66XII SBES 13-16 de Outubro de 1998 Maringá - Paraná - Brasil

Linguagens de descrição de arquitetura

Modelagem de configurações– ADLs podem modelar evolução e dinamismo das

configurações– suporte à composição hierárquica é fundamental

em uma ADL– em algumas ADLs uma configuração é modelada

simplesmente como um componente composto• Darwin• UniCon• CL

Page 67: Introdução à Arquitetura de Software Virgínia C. C. de Paula - DIMAp/UFRN - DI/UFPE Nelson Souto Rosa - DI/UFPE Paulo R. F. Cunha - DI/UFPE.

67XII SBES 13-16 de Outubro de 1998 Maringá - Paraná - Brasil

Linguagens de descrição de arquitetura

Modelagem de configurações– heterogeneidade

• uma configuração deve idealmente lidar com componentes e conectores programados em diversas linguagens

– a especificação de restrições é fundamental para descrever dependências entre componentes e conectores

– Uma ADL deve permitir refinamento da arquitetura

Page 68: Introdução à Arquitetura de Software Virgínia C. C. de Paula - DIMAp/UFRN - DI/UFPE Nelson Souto Rosa - DI/UFPE Paulo R. F. Cunha - DI/UFPE.

68XII SBES 13-16 de Outubro de 1998 Maringá - Paraná - Brasil

Linguagens de descrição de arquitetura

Modelagem de configurações– devem suportar especificação e

desenvolvimento de sistemas que possam sofrer alterações durante sua execução.

• C2• Darwin• Rapide• ZCL

Page 69: Introdução à Arquitetura de Software Virgínia C. C. de Paula - DIMAp/UFRN - DI/UFPE Nelson Souto Rosa - DI/UFPE Paulo R. F. Cunha - DI/UFPE.

69XII SBES 13-16 de Outubro de 1998 Maringá - Paraná - Brasil

Linguagens de descrição de arquitetura

ACME– tentativa de definir um denominador comum

através de uma linguagem de intercâmbio para arquitetura de software

– modela• componentes• conectores• sistemas (configurações)

Page 70: Introdução à Arquitetura de Software Virgínia C. C. de Paula - DIMAp/UFRN - DI/UFPE Nelson Souto Rosa - DI/UFPE Paulo R. F. Cunha - DI/UFPE.

70XII SBES 13-16 de Outubro de 1998 Maringá - Paraná - Brasil

Linguagens de descrição de arquitetura

ACME– propriedades

• Portas– pontos de interação

• Roles– especifica o papel desempenhado por cada

participante de uma interação

Page 71: Introdução à Arquitetura de Software Virgínia C. C. de Paula - DIMAp/UFRN - DI/UFPE Nelson Souto Rosa - DI/UFPE Paulo R. F. Cunha - DI/UFPE.

71XII SBES 13-16 de Outubro de 1998 Maringá - Paraná - Brasil

Linguagens de descrição de arquitetura

ACME– propriedades

• Representações– cada detalhamento de uma estrutura hierárquica

• Rep-maps (represention maps)– indica a correspondência entre a representação

interna de um sistema e a interface externa do componente ou conector

Page 72: Introdução à Arquitetura de Software Virgínia C. C. de Paula - DIMAp/UFRN - DI/UFPE Nelson Souto Rosa - DI/UFPE Paulo R. F. Cunha - DI/UFPE.

72XII SBES 13-16 de Outubro de 1998 Maringá - Paraná - Brasil

Linguagens de descrição de arquitetura

Exemplo CL - descrição textual

O sistema de monitoramento de pacientes consiste de medições periódicas ou por solicitação de

pulso, temperatura e pressão através de sensores colocados no paciente. Tais sensores disparam um alarme sempre que qualquer das medições

atingirem valores não adequados.

Sistema de Monitoramento de Pacientes

Page 73: Introdução à Arquitetura de Software Virgínia C. C. de Paula - DIMAp/UFRN - DI/UFPE Nelson Souto Rosa - DI/UFPE Paulo R. F. Cunha - DI/UFPE.

73XII SBES 13-16 de Outubro de 1998 Maringá - Paraná - Brasil

Linguagens de descrição de arquitetura

Exemplo CL - representação gráfica

Paciente

estado

alarmealarme

estado

Enfermeira

Hospital

Page 74: Introdução à Arquitetura de Software Virgínia C. C. de Paula - DIMAp/UFRN - DI/UFPE Nelson Souto Rosa - DI/UFPE Paulo R. F. Cunha - DI/UFPE.

74XII SBES 13-16 de Outubro de 1998 Maringá - Paraná - Brasil

Linguagens de descrição de arquitetura

Exemplo CL - descrição CLsystem hospital begin

use task enfermeira, paciente; create cama from paciente; create cuidado from enfermeira ; link cama.alarme to

cuidado.alarme; link cuidado.estado to cama.estado; activate cuidado, cama; end.

Page 75: Introdução à Arquitetura de Software Virgínia C. C. de Paula - DIMAp/UFRN - DI/UFPE Nelson Souto Rosa - DI/UFPE Paulo R. F. Cunha - DI/UFPE.

75XII SBES 13-16 de Outubro de 1998 Maringá - Paraná - Brasil

Agenda

Introdução Arquitetura de software Estilos arquiteturais Linguagens de descrição de arquitetura Exemplo Tendências

Page 76: Introdução à Arquitetura de Software Virgínia C. C. de Paula - DIMAp/UFRN - DI/UFPE Nelson Souto Rosa - DI/UFPE Paulo R. F. Cunha - DI/UFPE.

76XII SBES 13-16 de Outubro de 1998 Maringá - Paraná - Brasil

Exemplo

Sistema de Informação da Internet ( SII )– sistemas usados para busca de informações na

Internet

– exemplos• Gopher• WAIS• Archie / Prospero• WWW

Page 77: Introdução à Arquitetura de Software Virgínia C. C. de Paula - DIMAp/UFRN - DI/UFPE Nelson Souto Rosa - DI/UFPE Paulo R. F. Cunha - DI/UFPE.

77XII SBES 13-16 de Outubro de 1998 Maringá - Paraná - Brasil

Exemplo

World-Wide Web“WWW é um sistema hipermídia distribuído organizado como um conjunto de clientes e

servidores que compartilham um conjunto comum de protocolos de comunicação. Os servidores

disponibilizam recursos para uma comunidade de clientes que usam o HTTP (HyperText Transfer

Protocol)”

Page 78: Introdução à Arquitetura de Software Virgínia C. C. de Paula - DIMAp/UFRN - DI/UFPE Nelson Souto Rosa - DI/UFPE Paulo R. F. Cunha - DI/UFPE.

78XII SBES 13-16 de Outubro de 1998 Maringá - Paraná - Brasil

Exemplo

Componentes do servidor– servidor HTTP– resolvedor de caminho

• permite determinar o arquivo que está sendo requisitado

– gerenciador de streams• gerencia a comunicação com a rede

– gerenciador de interface• interface para mostrar os resultados das solicitações

dos usuário

Page 79: Introdução à Arquitetura de Software Virgínia C. C. de Paula - DIMAp/UFRN - DI/UFPE Nelson Souto Rosa - DI/UFPE Paulo R. F. Cunha - DI/UFPE.

79XII SBES 13-16 de Outubro de 1998 Maringá - Paraná - Brasil

Exemplo

Componentes do cliente– gerenciador de acesso

• formula as solicitações de acordo com o protocolo utilizado

– gerenciador de protocolo• faz o mapeamento entre os vários protocolos

( HTTP, NNTP, FTP, Gopher ) e o gerenciador de acesso

Page 80: Introdução à Arquitetura de Software Virgínia C. C. de Paula - DIMAp/UFRN - DI/UFPE Nelson Souto Rosa - DI/UFPE Paulo R. F. Cunha - DI/UFPE.

80XII SBES 13-16 de Outubro de 1998 Maringá - Paraná - Brasil

Exemplo

Componentes do cliente

– gerenciador de streams

• trata as comunicações de rede

– gerenciador de cache

• mantém uma cópia local das informações

solicitadas

Page 81: Introdução à Arquitetura de Software Virgínia C. C. de Paula - DIMAp/UFRN - DI/UFPE Nelson Souto Rosa - DI/UFPE Paulo R. F. Cunha - DI/UFPE.

81XII SBES 13-16 de Outubro de 1998 Maringá - Paraná - Brasil

Exemplo

Arquitetura

CGI

Sistema de Arquivos

Ger. InterfaceUsuário

Ger. Acesso

Ger. Protocolos

Ger.Cache

Ger. Streams

Protocolos

Cliente Servidor

Resolvedor decaminho

Ger. Streams

Servidor HTTP

Page 82: Introdução à Arquitetura de Software Virgínia C. C. de Paula - DIMAp/UFRN - DI/UFPE Nelson Souto Rosa - DI/UFPE Paulo R. F. Cunha - DI/UFPE.

82XII SBES 13-16 de Outubro de 1998 Maringá - Paraná - Brasil

Exemplo

Estilo arquitetural– vocabulário

• processo• componente computacional• repositório de dados passivo• repositório de dados ativo

– conector• fluxo de dados bi e uni direcional• fluxo de controle bi e uni direcional

Page 83: Introdução à Arquitetura de Software Virgínia C. C. de Paula - DIMAp/UFRN - DI/UFPE Nelson Souto Rosa - DI/UFPE Paulo R. F. Cunha - DI/UFPE.

83XII SBES 13-16 de Outubro de 1998 Maringá - Paraná - Brasil

Agenda

Introdução Arquitetura de software Estilos arquiteturais Linguagens de descrição de arquitetura Exemplo Tendências

Page 84: Introdução à Arquitetura de Software Virgínia C. C. de Paula - DIMAp/UFRN - DI/UFPE Nelson Souto Rosa - DI/UFPE Paulo R. F. Cunha - DI/UFPE.

84XII SBES 13-16 de Outubro de 1998 Maringá - Paraná - Brasil

Tendências

ADLs e arquiteturas dinâmicas– arquiteturas dinâmicas são aquelas que

permitem evolução da estrutura de um sistema durante sua execução

– geralmente descrevem sistemas críticos e de longa vida

– as mudanças devido à evolução do sistema normalmente são descritas no nível de configuração

Page 85: Introdução à Arquitetura de Software Virgínia C. C. de Paula - DIMAp/UFRN - DI/UFPE Nelson Souto Rosa - DI/UFPE Paulo R. F. Cunha - DI/UFPE.

85XII SBES 13-16 de Outubro de 1998 Maringá - Paraná - Brasil

Tendências

ADLs e arquiteturas dinâmicas– adição de novos componentes

Page 86: Introdução à Arquitetura de Software Virgínia C. C. de Paula - DIMAp/UFRN - DI/UFPE Nelson Souto Rosa - DI/UFPE Paulo R. F. Cunha - DI/UFPE.

86XII SBES 13-16 de Outubro de 1998 Maringá - Paraná - Brasil

Tendências

ADLs e arquiteturas dinâmicas– substituição de um componente existente por

um outro de mesma assinatura.

Page 87: Introdução à Arquitetura de Software Virgínia C. C. de Paula - DIMAp/UFRN - DI/UFPE Nelson Souto Rosa - DI/UFPE Paulo R. F. Cunha - DI/UFPE.

87XII SBES 13-16 de Outubro de 1998 Maringá - Paraná - Brasil

Tendências

ADLs e arquiteturas dinâmicas– remoção de componentes desnecessários.

Page 88: Introdução à Arquitetura de Software Virgínia C. C. de Paula - DIMAp/UFRN - DI/UFPE Nelson Souto Rosa - DI/UFPE Paulo R. F. Cunha - DI/UFPE.

88XII SBES 13-16 de Outubro de 1998 Maringá - Paraná - Brasil

Tendências

ADLs e arquiteturas dinâmicas– reconfiguração da arquitetura

Page 89: Introdução à Arquitetura de Software Virgínia C. C. de Paula - DIMAp/UFRN - DI/UFPE Nelson Souto Rosa - DI/UFPE Paulo R. F. Cunha - DI/UFPE.

89XII SBES 13-16 de Outubro de 1998 Maringá - Paraná - Brasil

Tendências

ADLs e arquiteturas dinâmicas

– pode ser necessário mover um componente de

uma máquina para outra. A arquitetura deve dar

suporte a modificações no mapeamento dos

componentes para os processadores.

– ADLs que suportam dinamismo: C2, Darwin,

Rapide e ZCL.

Page 90: Introdução à Arquitetura de Software Virgínia C. C. de Paula - DIMAp/UFRN - DI/UFPE Nelson Souto Rosa - DI/UFPE Paulo R. F. Cunha - DI/UFPE.

90XII SBES 13-16 de Outubro de 1998 Maringá - Paraná - Brasil

Tendências

Formalização de arquitetura de software– modelo de Abowd, Allen e Garlan

– definição de estilos• domínio sintático

– componentes, conectores e configurações

• mapeamento do domínio sintático para o modelo semântico do estilo

Page 91: Introdução à Arquitetura de Software Virgínia C. C. de Paula - DIMAp/UFRN - DI/UFPE Nelson Souto Rosa - DI/UFPE Paulo R. F. Cunha - DI/UFPE.

91XII SBES 13-16 de Outubro de 1998 Maringá - Paraná - Brasil

Tendências

Formalização de arquitetura de software– inicialmente foi proposto um modelo para

MILs, incorporando elementos essenciais e operações como esquemas genéricos em Z• o modelo inicial foi estendido formando o

Architectural Style Description Language (ASDL)– Semântica de componentes e interacões– Estruturas hierárquicas– Arquiteturas estáticas

Page 92: Introdução à Arquitetura de Software Virgínia C. C. de Paula - DIMAp/UFRN - DI/UFPE Nelson Souto Rosa - DI/UFPE Paulo R. F. Cunha - DI/UFPE.

92XII SBES 13-16 de Outubro de 1998 Maringá - Paraná - Brasil

Tendências

Formalização de arquitetura de software– Modelo Wright

• descrição da arquitetura com base na descrição formal do comportamento abstrato de componentes e conectores

• comportamento dos componentes especificado em CSP

• é possível descrever aplicações e estilos

Page 93: Introdução à Arquitetura de Software Virgínia C. C. de Paula - DIMAp/UFRN - DI/UFPE Nelson Souto Rosa - DI/UFPE Paulo R. F. Cunha - DI/UFPE.

93XII SBES 13-16 de Outubro de 1998 Maringá - Paraná - Brasil

Tendências

Formalização de arquitetura de software

– Modelos formais que suportam dinamismo

• Darwin

• Allen, Douence e Garlan

• ZCL

Page 94: Introdução à Arquitetura de Software Virgínia C. C. de Paula - DIMAp/UFRN - DI/UFPE Nelson Souto Rosa - DI/UFPE Paulo R. F. Cunha - DI/UFPE.

94XII SBES 13-16 de Outubro de 1998 Maringá - Paraná - Brasil

Tendências

Formalização de estilos– comparar estilos– relacionar sistemas desenvolvidos em

diferentes estilos– desenvolver ferramentas para explorar estilos– combinar estilos para formar um novo

Desenvolvimento de software baseado em arquitetura

Page 95: Introdução à Arquitetura de Software Virgínia C. C. de Paula - DIMAp/UFRN - DI/UFPE Nelson Souto Rosa - DI/UFPE Paulo R. F. Cunha - DI/UFPE.

95XII SBES 13-16 de Outubro de 1998 Maringá - Paraná - Brasil

Tendências

ADLs de alto nível Desenvolvimento de arquiteturas para

domínios específicos Integração de ADLs com metodologias de

projeto padrões