O TextUML Toolkit é uma ferramenta gratuita para criação de modelos UML que usa uma notação textual. Modelos UML criados com o TextUML Toolkit podem ser consumidos por produtos compatíveis com a API Eclipse UML2, como ferramentas de geração de código ou outras ferramentas de modelagem. O produto também inclui suporte para visualização de modelos usando a notação gráfica tradicional para diagramas de classes. O TextUML Toolkit pode ser instalado em separado ou adicionado (via Update Manager) a uma instalação Eclipse 3.3 ou 3.4 existente.
não sou fã mesmo de ferramentas case que arrasta e solta. Isso torna este projeto um forte candidato para minha listinha de ferramentas que agregam valor. Somando isso com algum outro projeto de geração de código será de fato ‘show de bola’.
Infelizmente ainda não li as documentações, no entanto, vi que em um dos tutoriais você já demonstrou o uso do Acceleo para a geração de código. Rafael, como você avalia a integração do TextUML com ferramentas de geração de código em geral? Quais seriam as outras opções de geradores de código que poderiam ser utilizados além do Acceleo?
Legal, Thiago, compartilhamos da mesma opinião em relação a ferramentas gráficas. Embora sejam úteis para criar diagramas, são inadequadas, na minha opinião, no contexto de desenvolvimento baseado em modelos (MDD/MDA), que como o nome sugere, é sobre modelos, não diagramas.
Eu avaliei inicialmente três ferramentas: Acceleo, openArchitectureWare e JET. Os três são capazes de gerar código a partir de modelos UML2, e são todos de código-aberto (EPL). Achei o Acceleo o mais fácil de usar e o mais fácil de se encontrar templates prontos, por isso o escolhi para a aplicação exemplo.
Mas existem várias opções, de código-aberto ou não. Dá uma olhada nesta lista:
Muitos daqueles produtos suportam geração de código. Não tenho certeza se o RSA ou o MagicDraw consomem modelos UML2, ou apenas exportam. Mas quase todos os outros suportam o formato nativamente.
Espero que ajude, e obrigado pelo interesse. Abraço,
Obrigado pelas indicações. Principalmente quanto as ferramentas de geração de código que você já experimentou. Eu já havia experimentado outras opções de ferramentas de geração de código à partir dos POJO’S. As opções são poucas e limitadas. Mas confesso que ignorei até aqui geração de código à partir de modelos UML, que pelo que parece, está mais maduro e a comunidade continua ativa.
Agora o jeito é colocar a mão na massa, felizmente!
Grande Rafael! Cara, estou viajando mas quando voltar pra casa vou baixar o release!
Parabéns!!! E de pensar que tudo isso começou daquele nosso gerador de código EJB 2.1 tabajara do projeto Habibs 28 minutos. he he he…(cara, vc tem que ver o gerador que eu e o Teddy fizemos para o Bradesco Net Empresa, esse sim ficou show).
Já fui mais animado com MDA, como conversamos lá na lista UML-BR, mas ainda uso muito UML.
O TextUML Toolkit é realmente só para modelagem, a geração de código fica completamente a cargo de ferramentas de terceiros. O próximo produto no qual estou trabalhando, que é baseado no TextUML Toolkit, esse sim, é diretamente inspirado na experiência com o desenvolvimento do gerador de código dos tempos da saudosa Perfil. Pretendo estar falando mais sobre esse projeto em alguns meses, quando tiver algo para mostrar.
Quando você diz que a geração de código fica a cargo de ferramentas de terceiros, o TextUML não faz engenharia reversa para outros diagramas, exemplo eu tenho o Visual Paradigma onde tenho esse aspecto, o que exatamente ele traz a frente desses outros, concorrentes.
O TextUML Toolkit tem um escopo bem definido: através de uma notação textual, ele possibilita a criação de modelos UML que são próprios para geração de código. Uma função secundária é a visualização usando-se a notação gráfica de diagrama de classes. Não há suporte para geração de código ou engenharia reversa, que fica a cargo de outras ferramentas que sejam compatíveis com UML2. Para geração de código, eu mencionei algumas nesta thread. Para engenharia reversa, eu conheço o projeto MoDISCO (http://www.eclipse.org/gmt/modisco/), mas nunca o utilizei.
Em termos de diferencial: se o objetivo é criar modelos para geração de código, o TextUML Toolkit fornece uma notação mais apropriada para construção de modelos UML detalhados, pois uma notação textual é inerentemente mais adequada que uma gráfica para esse tipo de uso.
Você sabe me informar se eu consigo gerar código do modelo usando Acceleo em tempo de execução, porque preciso gerar código em C++ de determinado modelo que o usuário selecionar em tempo de execução, isto é possível ou terá que ser em código java puro mesmo?