• Nenhum resultado encontrado

Dividimos os trabalhos relacionados em duas grandes categorias: os trabalhos que abordam o uso de técnicas de MDD, em particular DSLs visuais, em diversas áreas, e os trabalhos que avaliam a aplicação e uso destas técnicas de forma geral, especialmente na indústria.

3.1. USO DE TÉCNICAS DE MDD

Em relação à primeira categoria, identificamos que DSLs do tipo visual ou gráfica não são as mais citadas na literatura. As DSLs textuais são muito utilizadas em artigos acadêmicos, enquanto que DSLs visuais tem um direcionamento maior na indústria do que na área de pesquisa. O trabalho mais citado sobre este assunto é o de Greenfield [8], Software

factories, cujo desdobramento industrial deu origem à tecnologia para a criação de DSLs

chamada Microsoft DSL Tools [54]. Kozar, Mernik e López publicaram um trabalho relatando sua experiência no uso desta tecnologia [12]. Dois outros trabalhos abordam a tecnologia desenvolvida pela empresa MetaCase, chamada MetaEdit+ [53]. Em 2004, Tolvanen apresenta uma discussão de como fazer funcionar bem a geração de código baseada em modelos [47] e apresenta como exemplo a tecnologia do MetaEdit+. Em 2009, Tolvanen retoma o assunto ao demonstrar de forma prática seu ambiente de modelagem e meta- modelagem de DSL [31]. Um outro artigo aborda a tecnologia EMF [55], criada pela IBM para o ambiente Eclipse. Este artigo foi publicado em 2009 por Biermann et al. e aborda a geração de visões de simulação para linguagens de modelagem específicas de domínio [26] usando EMF.

Percebe-se o grande interesse que as DSLs textuais ainda exercem sobre a área de pesquisa. Mesmo com as inovações tecnológicas e facilidades para desenvolvimento de DSLs visuais, surgidas principalmente nesta última década, a quantidade de trabalhos publicados ainda é inferior ao das textuais. Uma possível explicação é que as DSLs textuais são mais maduras, com mais tempo de pesquisa e mais publicações, e, portanto, uma parcela considerável de pesquisadores direcionam seus trabalhos para este tipo de linguagem. Já entre os praticantes é possível perceber o crescente interesse em DSLs visuais, principalmente

devido aos grandes investimentos de importantes empresas de tecnologia como Microsoft, IBM e Metacase.

Outros artigos relacionados a esta categoria são: o trabalho de White e Hill na melhoria no reuso de DSLs através de técnicas de LPS [29]; o trabalho de André Santos, que direciona a construção de DSLs visuais a frameworks de aplicação [7], técnica que inspirou fortemente nosso trabalho; uma DSL visual para modelagem no domínio de redes sem fio [23], apresentado por Claypool et. al. no Simpósio IEEE Mobile em 2009; uma automatização de casos de teste através do uso de MDD [22]; e uma fábrica de software para a área de sensores sem fio [33].

Destacamos dois artigos cujo domínio tem estreita ligação com o nosso trabalho. O primeiro é a DSL para segurança de sistemas distribuídos [76], apresentada por Mosbah e Bouhoula. Contudo, o foco do trabalho destes é a política de segurança ligada a infra- estrutura de rede, enquanto no nosso trabalho a segurança é voltada para os sistemas de informação. O segundo artigo apresenta a ADM-RBAC (Ariadne Development Method with RBAC ), publicado por Días et al. [78], que consiste em uma abordagem dirigida a modelos para a especificação visual de políticas RBAC [77] em sistemas web. Embora mais abrangente do que o nosso trabalho, pois a abordagem visa integrar além do domínio de segurança outros modelos ligados a sistemas web, tais como estrutura, navegação, apresentação, interação etc., este trabalho não deixa claro nenhuma forma de geração automática de código ou aumento de produtividade, itens importantes no nosso trabalho.

Ainda na primeira categoria, alguns trabalhos encontrados apresentam pequenos estudos de caso. Aqueles que consideramos mais relevantes são: o trabalho de Sprinkle et al. [39] no uso de DSLs para projetar robôs numa competição conhecida como DARPA Urban

challenge, o trabalho de Peter Bell [20], da SystemsForge, com sua linha de produto de

software baseada em DSLs, a linguagem de modelagem para sistemas web interativos apresentada por Wright [19] e uma comparação empírica entre DSL Tools [54] e plug-ins da ferramenta Eclipse (emf, gmf) [55,56] conduzida por Pelechano et al. [48]. Em comum a quase todos estes trabalhos, temos a ausência de experiência industrial e empírica, detalhando as ferramentas em uso na prática. France e Rumpe citam a necessidade da prática industrial para fornecer feedback para adoção e melhoria nas abordagens de MDE. Em [10], eles

apresentam uma visão geral da pesquisa em MDE, apontando para alguns problemas perniciosos (“wicked problems”) envolvidos.

Continuando nesta linha, outros artigos focam em apresentar ferramentas MDD. No período entre 2005 a 2009, encontramos uma série de artigos, dentre os quais destacamos: o trabalho de Kulkarni e Reddy [11], da empresa indiana Tata, que foi muito citado entre os pesquisados desta subcategoria. A ferramenta apresentada foi o chamado MDD Toolset , uma Fábrica de Software para a construção de aplicações corporativas em vários domínios como o financeiro, o bancário e o de seguros. No trabalho de Kurtev e Bézivin [32], foi apresentada a ferramenta AMMA para criação de DSLs em ambiente Eclipse. Um ponto de destaque foi o interesse em ferramentas baseadas em DSLs para a área de testes de software, como pode ser observado em [24] para casos de teste para linhas de produto e [22] para testes automatizados para as próprias DSLs.

3.2. AVALIAÇÃO DA APLICAÇÃO E USO DE MDD

Partindo para a segunda categoria, artigos que avaliam aplicação e uso de MDD, de acordo com Whittle [68], ainda não existe nenhum programa sistemático e multidisciplinar para estudar efetividade de MDD em termos mais amplos. Atualmente não existem pesquisas (surveys) abrangentes e sistemáticas do uso industrial da MDD. Forward e Lethbridge [69] conduziram um survey online sobre opiniões e atitudes de praticantes de software em relação à MDD. Afonso et al. [70] documentaram um estudo de caso de migração de práticas centradas em código para práticas centradas em modelo [71]. Algumas empresas de ferramentas de desenvolvimento orientado a modelos comissionam estudos para apresentar resultados sobre o uso de seus produtos. Este é o caso da Metacase, que em [31] apresenta vários estudos de caso sobre sua ferramenta MetaEdit+, e também da Compuware, da ferramenta OptimalJ, que mediu os tempos de desenvolvimento e manutenção de uma

petstore online usando MDA e uma IDE adaptada para MDE.

Outro trabalho importante é a meta-análise da literatura de MDE feita por Mohagheghi e Dehlen em [17], que delineia como as técnicas de MDE têm sido aplicadas a uma faixa de empresas de diferentes domínios. Contudo, poucos artigos desta meta-análise fornecem forte evidência empírica do impacto em produtividade. Assim, estes autores sugerem que há uma

necessidade de mais estudos empíricos avaliando MDD e MDE, antes que dados suficientes estejam disponíveis para provar os benefícios de sua adoção.

Para resumir, existe uma quantidade bastante limitada de pesquisa empírica para avaliar os benefícios de MDE. Em particular, parece haver três grandes gaps no estado de entendimento atual da área: a necessidade de conhecimento em como MDE é usada na indústria; a necessidade de entendimento de como fatores sociais afetam o uso de MDE; e a falha em avaliar MDE além da UML, tais como benefícios de geração de código, abstrações específicas de domínio e transformações de modelos. As informações coletadas no presente trabalho podem servir de subsídio para aumentar o entendimento sobre estes três assuntos.

4 O MODELO DE SEGURANÇA DOS SISTEMAS DE INFORMAÇÃO:

Documentos relacionados