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
Agenda

Introdução

Arquitetura de software

Estilos arquiteturais

Linguagens de descrição de arquitetura

Exemplo

Tendências
XII SBES
13-16 de Outubro de 1998
Maringá - Paraná - Brasil
2
Introdução

Contexto
Engenharia de Software
Arquitetura de Software
Engenharia de requisitos
Pontos básicos
Tópicos de pesquisa
Formalização
Histórico
Novas
ADLs
AS como
disciplina
ADLs
Estilos
XII SBES
...
Arquiteturas
convergentes
13-16 de Outubro de 1998
Ferramentas
Estilos
Desenvolvimento
baseado em
arquitetura
Maringá - Paraná - Brasil
3
Introdução

Motivação
O aumento do tamanho e da
complexidade dos softwares
A estrutura do software é importante, e
adotar a estrutura correta pode trazer
benefícios
XII SBES
13-16 de Outubro de 1998
Maringá - Paraná - Brasil
4
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
XII SBES
13-16 de Outubro de 1998
Maringá - Paraná - Brasil
5
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-inthe large
XII SBES
13-16 de Outubro de 1998
Maringá - Paraná - Brasil
6
Introdução

Histórico
– 1970-80
• Componentes de um compilador
– 1980
• Divisão em camadas das pilhas de protocolos
XII SBES
13-16 de Outubro de 1998
Maringá - Paraná - Brasil
7
Agenda

Introdução

Arquitetura de software

Estilos arquiteturais

Linguagens de descrição de arquitetura

Exemplo

Tendências
XII SBES
13-16 de Outubro de 1998
Maringá - Paraná - Brasil
8
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
XII SBES
13-16 de Outubro de 1998
Maringá - Paraná - Brasil
9
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]
XII SBES
13-16 de Outubro de 1998
Maringá - Paraná - Brasil
10
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]
XII SBES
13-16 de Outubro de 1998
Maringá - Paraná - Brasil
11
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]
XII SBES
13-16 de Outubro de 1998
Maringá - Paraná - Brasil
12
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]
XII SBES
13-16 de Outubro de 1998
Maringá - Paraná - Brasil
13
Arquitetura de software

Pontos comuns
 Componentes
 “elementos arquiteturais”
 “elementos de projeto”
 “componentes genéricos”
 Conectores
 “interações”
 “interagir”
 Configuração
 “estrutura”
XII SBES
13-16 de Outubro de 1998
Maringá - Paraná - Brasil
14
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
XII SBES
13-16 de Outubro de 1998
Maringá - Paraná - Brasil
15
Arquitetura de software

Modelos
– Shaw, 1996
• componentes
• conectores
• configuração
XII SBES
13-16 de Outubro de 1998
Maringá - Paraná - Brasil
16
Arquitetura de software

Componente
– modela a computação e o armazenamento de
informações
– desenvolvido independentemente
– exemplos de componentes
• cliente
• servidor
• aplicação inteira
XII SBES
13-16 de Outubro de 1998
Maringá - Paraná - Brasil
17
Arquitetura de software

Conector
– modela as interações entre os componentes
– desenvolvido independentemente
– exemplos de conectores
• protocolos de comunicação
XII SBES
13-16 de Outubro de 1998
Maringá - Paraná - Brasil
18
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
XII SBES
13-16 de Outubro de 1998
Maringá - Paraná - Brasil
19
Arquitetura de software

Visão de uma Arquitetura de Software
Componente
Conector
Configuração
XII SBES
13-16 de Outubro de 1998
Maringá - Paraná - Brasil
20
Arquitetura de software

Componentes e formas de interação
 Componentes
 Módulo
 Objeto
 Filtro
 Processo
 Arquivo de dados
 Base de dados
XII SBES
 Tipos de interação
Chamada de procedimento
Dados compartilhados
Invocação de método
Fluxo de dados ( pipe )
Passagem de mensagem, RPC
Leitura e escrita
Consulta
13-16 de Outubro de 1998
Maringá - Paraná - Brasil
21
Arquitetura de software

Software X Hardware
 Arquitetura de Hardware
 Arquitetura de Software
 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
 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
XII SBES
13-16 de Outubro de 1998
Maringá - Paraná - Brasil
22
Arquitetura de software

Software X Rede
 Arquitetura de Rede
 Arquitetura de Software
 nós
 conexões
 poucas topologias
 componentes
 conectores
 muitas topologias
XII SBES
13-16 de Outubro de 1998
Maringá - Paraná - Brasil
23
Arquitetura de software

Software X Construção
 Arquitetura de Construção
 Arquitetura de Software
 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
 visões para diferentes usos
e usuários
 estilos arquiteturais
XII SBES
13-16 de Outubro de 1998
 princípios de engenharia
e estilo arquitetural
 implementação ( algoritmos
e estrutura de dados que
satisfazem a arquitetura )
Maringá - Paraná - Brasil
24
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
XII SBES
13-16 de Outubro de 1998
Maringá - Paraná - Brasil
25
Arquitetura de software

Sobre Arquitetura de Software
– separação de interesses
• funcionalidade
• interação
Interação
Funcionalidade
XII SBES
Funcionalidade
e
Interação
13-16 de Outubro de 1998
Maringá - Paraná - Brasil
26
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
XII SBES
13-16 de Outubro de 1998
Maringá - Paraná - Brasil
27
Arquitetura de software

Desenvolvimento de software
 Desenvolvimento tradicional
 Desenvolvimento baseado em arquitetura
Análise de requisitos
Análise de requisitos
Análise do domínio
Desenvolver / escolher a arquitetura
Arquitetura
Representação da arquitetura
Análise e avaliação da arquitetura
XII SBES
Projeto
Projeto
Implementação
Implementação
13-16 de Outubro de 1998
Maringá - Paraná - Brasil
28
Arquitetura de software

Arquitetura X Projeto
 Arquitetura
 Projeto
 componentes e conectores
 restrições sobre componentes
e conectores
 composição de componentes
 procedimentos e interfaces
 algoritmos e estruturas de
dados
 composição procedural
XII SBES
13-16 de Outubro de 1998
Maringá - Paraná - Brasil
29
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
XII SBES
13-16 de Outubro de 1998
Maringá - Paraná - Brasil
30
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
XII SBES
13-16 de Outubro de 1998
Maringá - Paraná - Brasil
31
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
XII SBES
13-16 de Outubro de 1998
Maringá - Paraná - Brasil
32
Agenda

Introdução

Arquitetura de software

Estilos arquiteturais

Linguagens de descrição de arquitetura

Exemplo

Tendências
XII SBES
13-16 de Outubro de 1998
Maringá - Paraná - Brasil
33
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
XII SBES
13-16 de Outubro de 1998
Maringá - Paraná - Brasil
34
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]
XII SBES
13-16 de Outubro de 1998
Maringá - Paraná - Brasil
35
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
XII SBES
13-16 de Outubro de 1998
Maringá - Paraná - Brasil
36
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 Clienteservidor
XII SBES
13-16 de Outubro de 1998
Maringá - Paraná - Brasil
37
Estilos arquiteturais

Análise
– verificação de propriedades
• ausência de deadlock em um estilo Clienteservidor

Interpretação semântica
– a composição dos elementos de projeto
precisa de uma semântica bem definida
XII SBES
13-16 de Outubro de 1998
Maringá - Paraná - Brasil
38
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
XII SBES
13-16 de Outubro de 1998
Maringá - Paraná - Brasil
39
Estilos arquiteturais

Sobre Estilo Arquitetural
– a descrição da arquitetura é uma instância de
um estilo
– exemplos
•
•
•
•
•
XII SBES
Cliente-servidor
Pipe-filter
Objetos
Invocação implícita
Camadas, repositórios
13-16 de Outubro de 1998
Maringá - Paraná - Brasil
40
Estilos arquiteturais

Sobre Estilo Arquitetural
Arquitetura de software
Request-reply
Cliente
Servidor
Cliente
Estilo Cliente-servidor
Cliente
XII SBES
13-16 de Outubro de 1998
Maringá - Paraná - Brasil
41
Estilos arquiteturais

Sobre Estilo Arquitetural
Arquitetura de software
Fonte
Central
Fonte
Estilo Blackboard
Fonte
XII SBES
13-16 de Outubro de 1998
Maringá - Paraná - Brasil
42
Estilos arquiteturais

Sobre Estilo Arquitetural
Arquitetura de software
Pipe
Filtro
Filtro
Filtro
Estilo Pipe-Filter
Filtro
XII SBES
13-16 de Outubro de 1998
Maringá - Paraná - Brasil
43
Estilos arquiteturais

Sobre Estilo Arquitetural
Arquitetura de software
Pipe
Filtro
Filtro
Filtro
Estilo Pipe-Filter
Filtro
XII SBES
13-16 de Outubro de 1998
Maringá - Paraná - Brasil
44
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
XII SBES
13-16 de Outubro de 1998
Maringá - Paraná - Brasil
45
Agenda

Introdução

Arquitetura de software

Estilos arquiteturais

Linguagens de descrição de arquitetura

Exemplo

Tendências
XII SBES
13-16 de Outubro de 1998
Maringá - Paraná - Brasil
46
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
XII SBES
13-16 de Outubro de 1998
Maringá - Paraná - Brasil
47
Linguagens de descrição de
arquitetura

Como uma ADL se relaciona com outras
linguagens?
Linguagem de
Requisitos
Linguagens de
Programação
Linguagens Linguagens
de
de
Modelagem Requisitos
XII SBES
13-16 de Outubro de 1998
Maringá - Paraná - Brasil
48
Linguagens de descrição de
arquitetura

ADLs e outras linguagens
 Linguagens de Programação
 vinculam abstrações arquiteturais à soluções
específicas
 Linguagens de Requisitos
 representam trechos de comportamento para facilitar
a apresentação dos requisitos, adequando-se a
representação de componentes arquiteturais
 têm
XII SBES
enfoque no problema
13-16 de Outubro de 1998
Maringá - Paraná - Brasil
49
Linguagens de descrição de
arquitetura

ADLs e outras linguagens
 Linguagens de Modelagem
 enfatizam o
comportamento do todo ao invés do
comportamento das partes
 podem representar componentes cooperativos e
representam arquiteturas razoavelmente bem
 ADLs
 intencionalmente, suprimem o
vínculo de abstrações com
soluções específicas
têm enfoque na solução
 concentram-se na representação das partes
XII SBES
13-16 de Outubro de 1998
Maringá - Paraná - Brasil
50
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
XII SBES
13-16 de Outubro de 1998
Maringá - Paraná - Brasil
51
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.
XII SBES
13-16 de Outubro de 1998
Maringá - Paraná - Brasil
52
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
XII SBES
13-16 de Outubro de 1998
Maringá - Paraná - Brasil
53
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
XII SBES
13-16 de Outubro de 1998
Maringá - Paraná - Brasil
54
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
XII SBES
13-16 de Outubro de 1998
Maringá - Paraná - Brasil
55
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)
XII SBES
13-16 de Outubro de 1998
Maringá - Paraná - Brasil
56
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.
XII SBES
13-16 de Outubro de 1998
Maringá - Paraná - Brasil
57
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
XII SBES
13-16 de Outubro de 1998
Maringá - Paraná - Brasil
58
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
XII SBES
13-16 de Outubro de 1998
Maringá - Paraná - Brasil
59
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.
XII SBES
13-16 de Outubro de 1998
Maringá - Paraná - Brasil
60
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.
XII SBES
13-16 de Outubro de 1998
Maringá - Paraná - Brasil
61
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
XII SBES
13-16 de Outubro de 1998
Maringá - Paraná - Brasil
62
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
XII SBES
13-16 de Outubro de 1998
Maringá - Paraná - Brasil
63
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.
XII SBES
13-16 de Outubro de 1998
Maringá - Paraná - Brasil
64
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
XII SBES
13-16 de Outubro de 1998
Maringá - Paraná - Brasil
65
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
XII SBES
13-16 de Outubro de 1998
Maringá - Paraná - Brasil
66
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
XII SBES
13-16 de Outubro de 1998
Maringá - Paraná - Brasil
67
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
XII SBES
13-16 de Outubro de 1998
Maringá - Paraná - Brasil
68
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)
XII SBES
13-16 de Outubro de 1998
Maringá - Paraná - Brasil
69
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
XII SBES
13-16 de Outubro de 1998
Maringá - Paraná - Brasil
70
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
XII SBES
13-16 de Outubro de 1998
Maringá - Paraná - Brasil
71
Linguagens de descrição de
arquitetura

Exemplo CL - descrição textual
 Sistema de Monitoramento de Pacientes
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.
XII SBES
13-16 de Outubro de 1998
Maringá - Paraná - Brasil
72
Linguagens de descrição de
arquitetura

Exemplo CL - representação gráfica
Hospital
alarme
Enfermeira
estado
XII SBES
13-16 de Outubro de 1998
alarme
Paciente
estado
Maringá - Paraná - Brasil
73
Linguagens de descrição de
arquitetura

Exemplo CL - descrição CL
system 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.
XII SBES
13-16 de Outubro de 1998
Maringá - Paraná - Brasil
74
Agenda

Introdução

Arquitetura de software

Estilos arquiteturais

Linguagens de descrição de arquitetura

Exemplo

Tendências
XII SBES
13-16 de Outubro de 1998
Maringá - Paraná - Brasil
75
Exemplo

Sistema de Informação da Internet ( SII )
– sistemas usados para busca de informações na
Internet
– exemplos
• Gopher
• WAIS
• Archie / Prospero
• WWW
XII SBES
13-16 de Outubro de 1998
Maringá - Paraná - Brasil
76
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)”
XII SBES
13-16 de Outubro de 1998
Maringá - Paraná - Brasil
77
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
XII SBES
13-16 de Outubro de 1998
Maringá - Paraná - Brasil
78
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
XII SBES
13-16 de Outubro de 1998
Maringá - Paraná - Brasil
79
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
XII SBES
13-16 de Outubro de 1998
Maringá - Paraná - Brasil
80
Exemplo

Arquitetura
Cliente
Ger. Interface
Usuário
Resolvedor de
caminho
Ger. Acesso
Ger. Streams
Ger. Protocolos
Ger.Cache
Protocolos
Ger. Streams
XII SBES
Servidor
13-16 de Outubro de 1998
Servidor HTTP
CGI
Sistema de Arquivos
Maringá - Paraná - Brasil
81
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
XII SBES
13-16 de Outubro de 1998
Maringá - Paraná - Brasil
82
Agenda

Introdução

Arquitetura de software

Estilos arquiteturais

Linguagens de descrição de arquitetura

Exemplo

Tendências
XII SBES
13-16 de Outubro de 1998
Maringá - Paraná - Brasil
83
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
XII SBES
13-16 de Outubro de 1998
Maringá - Paraná - Brasil
84
Tendências

ADLs e arquiteturas dinâmicas
– adição de novos componentes
XII SBES
13-16 de Outubro de 1998
Maringá - Paraná - Brasil
85
Tendências

ADLs e arquiteturas dinâmicas
– substituição de um componente existente por
um outro de mesma assinatura.
XII SBES
13-16 de Outubro de 1998
Maringá - Paraná - Brasil
86
Tendências

ADLs e arquiteturas dinâmicas
– remoção de componentes desnecessários.
XII SBES
13-16 de Outubro de 1998
Maringá - Paraná - Brasil
87
Tendências

ADLs e arquiteturas dinâmicas
– reconfiguração da arquitetura
XII SBES
13-16 de Outubro de 1998
Maringá - Paraná - Brasil
88
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.
XII SBES
13-16 de Outubro de 1998
Maringá - Paraná - Brasil
89
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
XII SBES
13-16 de Outubro de 1998
Maringá - Paraná - Brasil
90
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
XII SBES
13-16 de Outubro de 1998
Maringá - Paraná - Brasil
91
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
XII SBES
13-16 de Outubro de 1998
Maringá - Paraná - Brasil
92
Tendências

Formalização de arquitetura de software
– Modelos formais que suportam dinamismo
• Darwin
• Allen, Douence e Garlan
• ZCL
XII SBES
13-16 de Outubro de 1998
Maringá - Paraná - Brasil
93
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
XII SBES
13-16 de Outubro de 1998
Maringá - Paraná - Brasil
94
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
XII SBES
13-16 de Outubro de 1998
Maringá - Paraná - Brasil
95
Download

Tutorial_nelson