none
MDA, Model Driven Architecture RRS feed

  • Pergunta

  •  

    Bom Dia

     

    Gostaria de iniciar um tema sobre o desenvolvimento e arquitetura orientada a modelos. Atualmente as fabricas de software veem buscando diversas iniciativas para caracterizar o desenvolvimento ou contrucao de software como um processo industrial, definido e repetido. Gostaria de saber quem esta trabalhando neste sentido porém utilizando como base as normas da OMG e qual as vantagens que veem obtendo desse processo junto com ferramentas de geracao de codigo. E segundo, quem nao esta utilizando, qual o seu por que, e qual seu ponto de vista entao em relacao as DSLs?

     

    Abs, espero seus comentarios para a conversacao.

     

    -Fernando

    http://sushinetcode.blogdrive.com

     

    quarta-feira, 7 de maio de 2008 16:21

Respostas

  • Brandao,

     

    Vamos lá, acredito que voce saltou uma parte importante da leitura que pode mudar o sentido do tema ou interpretou incorretamente: "Atualmente as fabricas de software veem buscando diversas iniciativas para caracterizar... ".

     

    Sua prática ou o mercado diz o contrário?

     

    Me parece contraversia no fato das ferramentas de codigo funcionarem perfeitamente, quando o historico da industria diz o contrario, visto que é complicado e ineficaz a gerencia do codigo e artefatos criados manualmente e automaticamente.

     

    Se essas ferramentas funcionam bem, como elas fazem para separar o dominio de problema do dominio de solucao?

     

    Como lograr que os problemas de dominio possa ser resolvidos através de modelos de implementacao?

     

    Voce acredita que os geradores de codigo podem responder através dos processos de transformacoes difundidos por MDA, a geracao de codigos para resolver problemas de dominio especificos?

     

    Brandao, a ideia é colaborarmos para uma conversa rica onde todos possamos encontrar um objetivo comum.

     

    Obrigado por sua resposta e aguardo seus comentarios entao sobre essas ferramentas, exemplo e como vc ve a sugestao ou cambio de paradigmas impulsionado pelo MDA.

     

    Abs.

    -Fernando

     

     

    quarta-feira, 7 de maio de 2008 19:46
  •  FernandoCosta_Brasil wrote:

    Laercio,

     

    Pergunto o porque da utilizacao da DSL, pois o uso de UML para a cricao para a geracao de modelos é extremamente fraca e nao cobre diversas  necessidades que pessoalmente acredito que sejam cobertas pelas DSLs. Ou seja, vou nesse sentido: a UML é o melhor caminho para a criacao de seus modelos quando estes tendem a representar um conjunto de abstracoes complicadas? os modelos apoiam outras diretrizes de analises que seria complicado definir através de UML, como contornar essa dificuldade?

     

    Abs.

     

    -Fernando

     

    DSL != UML. UML é uma GPL. Ponto.

     

    Uma DSL é uma linguagem específica de um domínio; sugiro que leia esse post sobre DSLs.

     

    Em relação ao gap entre modelo e código, acabamos na discussão sobre se UML é ou não a melhor escolha para modelagem (e precisamos sempre de um modelo?). Em alguns casos o poder da UML se vira contra ela, aumentando assim a complexidade. Uma opção seria a SysML, uma DSL focada na modelagem de software e que simplifica o uso da UML.

     

    []s

    quarta-feira, 7 de maio de 2008 21:39
  •  Brandão wrote:
     FernandoCosta_Brasil wrote:

     

    Bom Dia

     

    Gostaria de iniciar um tema sobre o desenvolvimento e arquitetura orientada a modelos. Atualmente as fabricas de software veem buscando diversas iniciativas para caracterizar o desenvolvimento ou contrucao de software como um processo industrial, definido e repetido. Gostaria de saber quem esta trabalhando neste sentido porém utilizando como base as normas da OMG e qual as vantagens que veem obtendo desse processo junto com ferramentas de geracao de codigo. E segundo, quem nao esta utilizando, qual o seu por que, e qual seu ponto de vista entao em relacao as DSLs?

     

    Abs, espero seus comentarios para a conversacao.

     

    -Fernando

    http://sushinetcode.blogdrive.com

     

     

    Fernando,

     

    Nas listas que acompanho (uml-br, agile-brasil, scrum-brasil, etc...) é dito justamente o contrário sobre o que eu destaquei na sua frase. O desenvolvimento de software não é um processo "definido" e "repetitível". Faça uma pesquisa no histórico dessas listas!

    Quanto aos geradores de código eles funcionam ótimamente! Seguindo o script dos tutoriais dos fabricantes! Sempre ouço histórias de que em determinado momento foi necessário implementar alguma coisa no sistema desenvolvido e o gerador não permitia. E até histórias de que o fabricante do gerador de código recomendou reescrever o sistema usando outra coisa, pois o gerador não iria atender a necessidade.

     

     

    O maior erro da maioria destas ferramentas de geração de código é considerá-lo irrelevante. O slogan é sempre o mesmo: "Esqueça código!". O que importa é mostrar a cara do sistema para o cliente o mais rápido possível. Eles esquecem que código também é modelo, e deve representar o domínio de forma clara e coesa. Codificar também é design! Construção quem faz é o compilidor e o linker.

     

    []s

    quarta-feira, 7 de maio de 2008 21:54
  • Sim, sei disso e nem afirmamos o contrario do que voce. Na verdade ja trabalhamos bem com elas através da versao VS Team Edition 4 Software Architect.

    Quando disse a respeito da UML para a criacao de modelos estive apontando a definicao MDA defendida pela OMG, que a mantem como alicerce junto com IIOP, CWM e CORBA. Porém, como vc disse

    Voce cree que em que cenario a separacao dos modelos de implementacao, especifico e problema nem sempre é necessária?

     

    abs

     

    -Fernando

     

    quarta-feira, 7 de maio de 2008 21:56

Todas as Respostas

  • Fernando,

     

    Acredito que as ferramentas de geração de código baseadas em modelos ainda têm alguns pontos para amadurecer. O gap entre modelo > código ainda é grande quando falamos de regras de negócio. Em relação à DSLs, não entendi sua colocação. A maioria dos modelos são construídos (visual ou textualmente) usando a notação UML, que é de propósito geral, e não numa linguagem específica de domínio; UML não é uma DSL - porém extensões desta podem ser consideradas.

     

    []s

    quarta-feira, 7 de maio de 2008 17:57
  •  FernandoCosta_Brasil wrote:

     

    Bom Dia

     

    Gostaria de iniciar um tema sobre o desenvolvimento e arquitetura orientada a modelos. Atualmente as fabricas de software veem buscando diversas iniciativas para caracterizar o desenvolvimento ou contrucao de software como um processo industrial, definido e repetido. Gostaria de saber quem esta trabalhando neste sentido porém utilizando como base as normas da OMG e qual as vantagens que veem obtendo desse processo junto com ferramentas de geracao de codigo. E segundo, quem nao esta utilizando, qual o seu por que, e qual seu ponto de vista entao em relacao as DSLs?

     

    Abs, espero seus comentarios para a conversacao.

     

    -Fernando

    http://sushinetcode.blogdrive.com

     

     

    Fernando,

     

    Nas listas que acompanho (uml-br, agile-brasil, scrum-brasil, etc...) é dito justamente o contrário sobre o que eu destaquei na sua frase. O desenvolvimento de software não é um processo "definido" e "repetitível". Faça uma pesquisa no histórico dessas listas!

    Quanto aos geradores de código eles funcionam ótimamente! Seguindo o script dos tutoriais dos fabricantes! Sempre ouço histórias de que em determinado momento foi necessário implementar alguma coisa no sistema desenvolvido e o gerador não permitia. E até histórias de que o fabricante do gerador de código recomendou reescrever o sistema usando outra coisa, pois o gerador não iria atender a necessidade.

     

    quarta-feira, 7 de maio de 2008 18:39
  • Laercio,

     

    Pergunto o porque da utilizacao da DSL, pois o uso de UML para a cricao para a geracao de modelos é extremamente fraca e nao cobre diversas  necessidades que pessoalmente acredito que sejam cobertas pelas DSLs. Ou seja, vou nesse sentido: a UML é o melhor caminho para a criacao de seus modelos quando estes tendem a representar um conjunto de abstracoes complicadas? os modelos apoiam outras diretrizes de analises que seria complicado definir através de UML, como contornar essa dificuldade?

     

    Abs.

     

    -Fernando

     

     

     

    quarta-feira, 7 de maio de 2008 18:59
  • Brandao,

     

    Vamos lá, acredito que voce saltou uma parte importante da leitura que pode mudar o sentido do tema ou interpretou incorretamente: "Atualmente as fabricas de software veem buscando diversas iniciativas para caracterizar... ".

     

    Sua prática ou o mercado diz o contrário?

     

    Me parece contraversia no fato das ferramentas de codigo funcionarem perfeitamente, quando o historico da industria diz o contrario, visto que é complicado e ineficaz a gerencia do codigo e artefatos criados manualmente e automaticamente.

     

    Se essas ferramentas funcionam bem, como elas fazem para separar o dominio de problema do dominio de solucao?

     

    Como lograr que os problemas de dominio possa ser resolvidos através de modelos de implementacao?

     

    Voce acredita que os geradores de codigo podem responder através dos processos de transformacoes difundidos por MDA, a geracao de codigos para resolver problemas de dominio especificos?

     

    Brandao, a ideia é colaborarmos para uma conversa rica onde todos possamos encontrar um objetivo comum.

     

    Obrigado por sua resposta e aguardo seus comentarios entao sobre essas ferramentas, exemplo e como vc ve a sugestao ou cambio de paradigmas impulsionado pelo MDA.

     

    Abs.

    -Fernando

     

     

    quarta-feira, 7 de maio de 2008 19:46
  •  FernandoCosta_Brasil wrote:

    Laercio,

     

    Pergunto o porque da utilizacao da DSL, pois o uso de UML para a cricao para a geracao de modelos é extremamente fraca e nao cobre diversas  necessidades que pessoalmente acredito que sejam cobertas pelas DSLs. Ou seja, vou nesse sentido: a UML é o melhor caminho para a criacao de seus modelos quando estes tendem a representar um conjunto de abstracoes complicadas? os modelos apoiam outras diretrizes de analises que seria complicado definir através de UML, como contornar essa dificuldade?

     

    Abs.

     

    -Fernando

     

    DSL != UML. UML é uma GPL. Ponto.

     

    Uma DSL é uma linguagem específica de um domínio; sugiro que leia esse post sobre DSLs.

     

    Em relação ao gap entre modelo e código, acabamos na discussão sobre se UML é ou não a melhor escolha para modelagem (e precisamos sempre de um modelo?). Em alguns casos o poder da UML se vira contra ela, aumentando assim a complexidade. Uma opção seria a SysML, uma DSL focada na modelagem de software e que simplifica o uso da UML.

     

    []s

    quarta-feira, 7 de maio de 2008 21:39
  •  Brandão wrote:
     FernandoCosta_Brasil wrote:

     

    Bom Dia

     

    Gostaria de iniciar um tema sobre o desenvolvimento e arquitetura orientada a modelos. Atualmente as fabricas de software veem buscando diversas iniciativas para caracterizar o desenvolvimento ou contrucao de software como um processo industrial, definido e repetido. Gostaria de saber quem esta trabalhando neste sentido porém utilizando como base as normas da OMG e qual as vantagens que veem obtendo desse processo junto com ferramentas de geracao de codigo. E segundo, quem nao esta utilizando, qual o seu por que, e qual seu ponto de vista entao em relacao as DSLs?

     

    Abs, espero seus comentarios para a conversacao.

     

    -Fernando

    http://sushinetcode.blogdrive.com

     

     

    Fernando,

     

    Nas listas que acompanho (uml-br, agile-brasil, scrum-brasil, etc...) é dito justamente o contrário sobre o que eu destaquei na sua frase. O desenvolvimento de software não é um processo "definido" e "repetitível". Faça uma pesquisa no histórico dessas listas!

    Quanto aos geradores de código eles funcionam ótimamente! Seguindo o script dos tutoriais dos fabricantes! Sempre ouço histórias de que em determinado momento foi necessário implementar alguma coisa no sistema desenvolvido e o gerador não permitia. E até histórias de que o fabricante do gerador de código recomendou reescrever o sistema usando outra coisa, pois o gerador não iria atender a necessidade.

     

     

    O maior erro da maioria destas ferramentas de geração de código é considerá-lo irrelevante. O slogan é sempre o mesmo: "Esqueça código!". O que importa é mostrar a cara do sistema para o cliente o mais rápido possível. Eles esquecem que código também é modelo, e deve representar o domínio de forma clara e coesa. Codificar também é design! Construção quem faz é o compilidor e o linker.

     

    []s

    quarta-feira, 7 de maio de 2008 21:54
  • Sim, sei disso e nem afirmamos o contrario do que voce. Na verdade ja trabalhamos bem com elas através da versao VS Team Edition 4 Software Architect.

    Quando disse a respeito da UML para a criacao de modelos estive apontando a definicao MDA defendida pela OMG, que a mantem como alicerce junto com IIOP, CWM e CORBA. Porém, como vc disse

    Voce cree que em que cenario a separacao dos modelos de implementacao, especifico e problema nem sempre é necessária?

     

    abs

     

    -Fernando

     

    quarta-feira, 7 de maio de 2008 21:56
  • Laercio,

     

    Concordo com voce, por isso nao acredito, atualmente, que as ferramentas de codigo sao 100% eficazes para os diversos dominios de problema e para a manutencao do codigo criado.

     

    Gostaria de outros comentarios, da comunidade, sobre a utilizacao de arquiteturas definidas sobre modelo e suas experiencias...

     

    abs

    -Fernando

    quarta-feira, 7 de maio de 2008 21:57