Experiência com arquitetura Descrição Languages [fechado
-
21-09-2019 - |
Pergunta
Estando familiarizado com as ferramentas de modelagem gráfica, recentemente pensei no conceito de arquitetura descrição de idiomas (ADL), onde descreve arquiteturas em uma forma textual para documentá -lo de maneira abrangente.
Eu vejo vantagens nessa abordagem, pois é uma definição formal de uma arquitetura armazenada em um único local sem a necessidade de alternar entre editores gráficos e de texto o tempo todo. Tipo da maneira Tex de descrever arquiteturas.
Eu tenho procurado um pouco, mas só encontrei material de pesquisa bastante datado.
Você tem experiência com o uso produtivo de um ADL? O que funciona, o que não funciona?
Existe um conjunto de ferramentas disponível que suporta a geração de documentos de um ADL? Incluindo a renderização de imagens da arquitetura, descrevendo componentes e interfaces e hieraches de componentes? E provavelmente mesmo usando isso para descrever o comportamento dinâmico?
Solução
Aqui estão alguns ADLs (idiomas de descrição da arquitetura). Talvez seja um bom começo ter uma visão geral do que é feito.
- Archjava
- xadl
- Wright Permite que os arquitetos especifiquem protocolos de comunicação temporal e verifiquem propriedades, como a liberdade de impasse.
- Unicon é uma linguagem de descrição arquitetônica cujo foco é apoiar a variedade de peças e estilos arquitetônicos encontrados no mundo real e na construção de sistemas a partir de suas descrições de arquitetura.
- Acme é uma linguagem de descrição (ADL) da Arquitetura de Software Simples e Genérico que pode ser usada como um formato comum de intercâmbio para ferramentas de design de arquitetura e/ou como base para o desenvolvimento de novas ferramentas de design e análise arquitetônicas.
- Esopo Fornece um kit de ferramentas genérico e infraestrutura de comunicação que os usuários podem personalizar com descrições de estilo arquitetônico e um conjunto de ferramentas que gostariam de usar para análise arquitetônica.
- C2 é um estilo arquitetônico baseado em componentes e mensagens geral que é adequado para aplicativos de larga escala, heterogêneo e distribuído. O C2 SADL é um ADL para expressar arquiteturas no estilo C2.
- Darwin é especificar arquiteturas do sistema em termos de componentes e suas interconexões
- Metah Especifica como os módulos de software desenvolvidos em uma variedade de estilos são compostos juntamente com objetos de hardware para formar uma arquitetura completa do sistema
Esta lista é baseada em esta página, Substituí e às vezes removi alguns links mortos. Eu também adicionei xadl.
Outras dicas
O melhor que conheço é da UC-Irvine chamado xadl. Eles têm um editor gráfico no Eclipse que sincroniza a visualização com o texto. Eu estaria interessado em ouvir sua experiência com uma ADL na prática ... Deixe -me uma linha com seus resultados :)
Acredito que, atualmente, o melhor uso do ADLS é para expressar a estrutura do tempo de execução. No entanto, isso provavelmente está mudando. Para explorar o uso real da ADL, pode valer a pena explorar como a indústria automotiva está padronizando componentes de software. Para pesquisas de ponta nessa área, confira Archjava (http://archjava.fluid.cs.cmu.edu/)