Pergunta

Quais ferramentas estão disponíveis para metamodelagem?

Especialmente para o desenvolvimento de editores de diagramas, no momento testando Eclipse GMF

Quer saber quais outras opções existem?Alguma comparação disponível?

Foi útil?

Solução

Sua pergunta é simplesmente ampla demais para uma única resposta - devido a muitos aspectos.

Primeiro, metamodelagem não é um termo definido, mas sim algo muito confuso, incluindo modelagem de modelos de modelos e chegando a termos como MDA.

Segundo, existem inúmeras opções para desenvolver editores de diagramas - seguir o caminho do Eclipse é certamente uma boa opção.

Para você pelo menos começar no departamento Eclipse:

  • dê uma olhada no MOF, que é arquitetura para "metamodelagem" da OMG (os caras que mantêm UML)
  • a partir daí, abordamos o EMOF, um subconjunto que é suportado pelo Eclipse Modeling Framework na encarnação do Ecore.
  • construir algo em cima do GMF pode ser de fato uma boa ideia, porque é assim que os editores de diagramas existentes para a plataforma Eclipse tomam (por exemplo,EclipseUML de Omondo)
  • existem muitas ferramentas no ambiente Eclipse que podem utilizar o Ecore - eu simplesmente espero que o GMF seja construído sobre o próprio Ecore.

Outras dicas

Diâmetro tem uma API para isso - consegui transformar seu editor UML de maneira bastante trivial em uma ferramenta básica de modelagem de ER, alterando os estilos de seta.Com uma ferramenta de engenharia reversa de banco de dados que encontrei no sourceforge (peguei o esquema e cuspi os arquivos dia), você poderia usar isso para documentar bancos de dados.Embora o que fiz tenha sido bastante trivial, a API foi bastante direta e não demorei muito para descobrir como fazer a alteração.

Se você deseja experimentar o Smalltalk Costumava haver uma estrutura de meta-casos do Smalltalk chamada CÚPULA que faz esse tipo de coisa.Se você baixar Trabalhos Visuais, DOME é um dos pacotes contribuídos.

O GMF é um bom exemplo.No centro disso está EMF/Ecore, como Computerkram sais.Ecore também é usado como base do Eclipse UML2 .O caso de uso de prestígio e a prova de conceito do GMF são certamente Ferramentas UML2.

Embora geralmente seja uma ferramenta UML, eu examinaria StarUML.Ele suporta módulos adicionais além do que já está integrado.Se não tiver o que você precisa integrado ou como módulo, suponho que você poderia fazer o seu próprio, mas não sei o quão difícil isso é.

A metamodelagem é feita principalmente em Smalltalk.

Você pode querer dar uma olhada em MOOSE (http://moose.unibe.ch).Existem muitas ferramentas sendo desenvolvidas para a compreensão do programa.A maioria é baseada em Smalltalk.Há também algum trabalho em java e c++.

Duas das ferramentas mais impressionantes são CodeCity e Mondrian.CodeCity pode visualizar o desenvolvimento do código ao longo do tempo, Mondrian fornece tecnologia de visualização programável.

E claro que existe o clássico HotDraw, que também está disponível em java.

Para desenvolvimento web existe também o Magritte, que fornece meta-descrições para o Seaside.

Eu recomendo fortemente que você analise o DSM (Modelagem Específica de Domínio) como um tópico geral; a metamodelagem está diretamente relacionada.Existem ferramentas baseadas em Eclipse, como GMF, que atualmente requerem codificação Java, mas se integram perfeitamente com outras ferramentas Eclipse e UML.No entanto, existem duas outras classes por aí.

  1. MetaCase, que chamarei de ferramenta DSM pura, pois se concentra em permitir que um desenvolvedor/modelador sem quase tanta codificação crie um modelo gráfico utilizável.Além disso, ele pode ser facilmente implantado para uso de outras pessoas.O GMF e a ferramenta DSM/fábrica de software Beta da Microsoft se enquadram nesta categoria.

  2. Ferramentas de metamodelagem pura que não se destinam a ferramentas DSM, geração de código e similares.Não sigo essas ferramentas tão de perto, pois estou interessado em aplicativos que geram ferramentas para PMEs, especialistas em domínio e outros usarem e contribuírem com valor para um projeto ativo, não modelando por causa de modelos, ou apenas documentação e teoria.

Se você quiser saber mais sobre o número 1, as aplicações de ferramentas para DSMs/Metamodelagem, então confira meu post "Excelentes recursos do DSMForum.org, vale a pena dar uma olhada." ou simplesmente navegue diretamente para DSMForum.org

Caso você esteja interessado em algo relacionado a modelagem e não geração de código, dê uma olhada em adoxx.org.Como plataforma de metamodelagem, ela fornece funcionalidades e mecanismos para desenvolver rapidamente sua própria DSL e permite que você se concentre nas necessidades do modelo (requisitos de negócios, design/especificação de nível conceitual).Há uma comunidade ativa da academia e da prática envolvida no desenvolvimento de aplicações prototípicas e também comerciais baseadas na plataforma.Poderia ser interessante ...

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