Mapa mental
Resumo aula 07
Conteúdo do mapa
Resumo aula 07
7.1 Algumas ADLs Atuais
- As linguagens de definição de arquitetura (ADLs) são linguagens formais que podem ser usadas para representar a arquitetura de um sistema com uso intensivo de software. Como a arquitetura se torna um tema dominante no desenvolvimento de sistemas grandes, os métodos para especificar a arquitetura de forma não ambígua se tornarão indispensáveis.
- Exemplos de ADLs mais comuns:
- Aesop – Suporta o uso de estilos arquiteturais.
- Darwin – Oferece suporte para análise na troca de mensagens em sistemas distribuídos.
- MetaH – Possui heurísticas para projetistas de controles de software de tempo real para aviação e controle de vôos.
- Wright – Modelagem e análise (especificamente análise de deadlocks) do comportamento dinâmico de sistemas concorrentes.
- Rapide – Permite simular e analisar projetos de arquiteturas.
- Exemplos de ADLs mais comuns:
- As linguagens de definição de arquitetura (ADLs) são linguagens formais que podem ser usadas para representar a arquitetura de um sistema com uso intensivo de software. Como a arquitetura se torna um tema dominante no desenvolvimento de sistemas grandes, os métodos para especificar a arquitetura de forma não ambígua se tornarão indispensáveis.
7.2 ADL x Outras Linguagens
- ADLs X linguagens para descrição de requisitos – Estas descrevem espaço de problemas, enquanto aquelas buscam o espaço de solução.
- ADLs X linguagens de programação – Estas fazem amarração das abstrações arquiteturais para pontos de solução específicos, enquanto as ADLs omitem ou variam tais amarrações.
- ADLs X linguagens de modelagem – Estas se preocupam mais com o comportamento do todo do que das partes, mas as ADLs concentram-se na representação de componentes e suas interconexões. No entanto, pode haver ADLs de domínio específico.
7.3 Requisitos Mínimos de uma ADL
- As ADLs são especiais e apresentem requisitos extraordinários para torná-las capazes de descrever com precisão um certo modelo arquitetural.
- Comunicação – A ADL deve descrever adequadamente as estruturas estáticas e dinâmicas da arquitetura, permitindo a comunicação entre os participantes.
- Formalidade e precisão – Uma notação formal que permite a descrição precisa e a análise das propriedades externamente visíveis de uma arquitetura de sistema de software
- Granularidade – Uma linguagem voltada para especificar a estrutura de alto nível de uma aplicação (ou seja, a arquitetura conceitual), ao invés de se preocupar com detalhes de implementação de um módulo de código específico.
- Processo – A ADL deve suportar as atividades de criação, refinamento e validação da arquitetura.
- Estilo – A ADL deve ser capaz de representar a maioria dos estilos de arquitetura em diferentes níveis de abstração
- Abstração – A ADL deve ser capaz de representar estruturas do sistema que expressem informação arquitetural, omitindo informações de implementação ou que não se referiram à arquitetura.
- Continuidade – A ADL deve ser a base para promover a implementação.
- Verificação – A ADL deve ser capaz de gerar rapidamente um protótipo de implementação para análise das informações no nível arquitetural (capacidade analítica), por exemplo: consistência, ambigüidade, performance.
- Universalidade – Deve ser uma linguagem de leitura acessível a humanos e computadores.
- Automação – Deve possibilitar a geração automática do código a partir do esqueleto arquitetural.
- As ADLs são especiais e apresentem requisitos extraordinários para torná-las capazes de descrever com precisão um certo modelo arquitetural.
7.4 Elementos da ADL
- Com o uso de ADLs, podemos construir abstrações para a descrição da arquitetura de nossos sistemas e promover a separação de conceitos (SoC) por meio da dissociação entre elementos arquiteturais que representam uma computação (componentes) e elementos que representam a conexão entre componentes (conectores)
- Componentes: São unidades de computação ou armazenamento de dados, geralmente com um estado associado. Dependendo do nível de abstração, componentes podem ser uma simples procedure ou uma aplicação inteira
- Conectores: São elementos usados para modelar interações entre componentes e as regras que as governam. Eles não realizam computação específica na aplicação, mas sua interface exporta os serviços que esperam dos componentes que se ligam a eles. A interface de um conector é um conjunto de pontos de interação (papéis ou roles), que se dão entre ele e componentes ou entre ele e outros conectores.
- Configurações: arquiteturais ou topologias São grafos conexos de componentes e conectores que descrevem a estrutura arquitetural. Essa informação é ponto de apoio para verificar se os componentes apropriados estão conectados, se suas interfaces são compatíveis, se os conectores permitem a comunicação e se a semântica desses elementos em conjunto resulta no comportamento esperado.
- Com o uso de ADLs, podemos construir abstrações para a descrição da arquitetura de nossos sistemas e promover a separação de conceitos (SoC) por meio da dissociação entre elementos arquiteturais que representam uma computação (componentes) e elementos que representam a conexão entre componentes (conectores)
Informações
- Descrição
- Mapa Mental sobre Resumo aula 07, criado por Matheus Rodrigues de Oliveira em 07-06-2019.
- Criado por
- Matheus Rodrigues de Oliveira
- Visualizações
- 1
- Avaliação