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?

Foi útil?

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/)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top