• Nenhum resultado encontrado

7 CONSIDERAÇÕES FINAIS E CONCLUSÕES

7.2. TRABALHOS FUTUROS

O projeto da DSL CALV3, e esta pesquisa em geral, podem ser estendidos de várias formas. Abaixo segue uma listagem da maioria delas, muitas das quais obtidas através da análise qualitativa do estudo de caso.

• Implementar um recurso de agrupamento das informações no diagrama, como áreas por assunto, visando organizar os conceitos modelados e facilitar a visualização de modelos com muitos elementos.

• Tornar a DSL independente do Visual Studio, através da geração de um aplicativo executável na máquina, que contemple a criação e edição de modelos e a execução da carga de dados.

• Opcionalmente ao item acima, teríamos a integração da DSL CALV3 ao ambiente Eclipse e a geração do código da carga de dados em linguagem Java, implicando na geração de novos componentes e templates, além de novos pontos de variação na DSL, como a tecnologia de geração.

• Criação de ferramenta para geração de diagramas com base nos dados existentes no CA. Esta ferramenta faria uma engenharia reversa do banco para o modelo, permitindo assim evoluções ou adaptação de modelos existentes para outros sistemas, através da modificação de suas propriedades.

• Criação de mecanismos para permitir a sincronização entre modelo CALV3 e banco do CA. Atualmente a DSL apenas cria os novos elementos do modelo no banco, mas não altera nem exclui elementos existentes.

Criação da DSL CALV4 para contemplar a próxima versão do framework de segurança. A criação de uma nova DSL pode ser necessária devido a mudanças no meta-modelo entre as duas versões, e às novas tecnologia de construção da versão 4. Contudo há uma possibilidade de usar a mesma DSL, com mais

pontos de variação e ativos reusáveis, para gerar cargas de dados para as duas versões do CA. Maiores estudos podem indicar o caminho mais consistente.

• Ampliação do estudo de caso para mais equipes. A proposta é realizar o estudo com uma comunidade de mais de 2000 participantes, entre analistas e desenvolvedores, em sete regiões geográficas distintas, visando aumentar um pouco a generalização dos resultados do estudo. Neste caso a pesquisa poderia ser classificada como um survey qualitativo [73], ao invés do atual estudo de caso.

7.3. CONCLUSÃO

A área de desenvolvimento dirigido a modelos tem recebido muita atenção tanto da academia quanto da indústria na última década. Muitos métodos, técnicas, abordagens e ferramentas têm surgido, tanto em trabalhos acadêmicos, quanto em pesquisas industriais. Neste trabalho pudemos avaliar uma destas abordagens, através da construção de uma DSL visual e de um estudo de caso, focado em avaliar seu uso em um ambiente industrial.

Apesar de não poder generalizar os resultados deste estudo, por tratar-se de uma técnica empírica, obtivemos evidências e lições que permitirão a outros praticantes da indústria, bem como a outros pesquisadores, avaliar dificuldades e benefícios de se implantar abordagens semelhantes em um ambiente de produção.

O estudo de caso realizado também trouxe muitas informações relevantes sobre a aplicação prática de MDD na indústria, assunto carente na literatura. Com este trabalho adicionamos uma importante, mesmo que pequena, contribuição à busca incessante da indústria por tecnologias que aumentem a produtividade e qualidade no desenvolvimento de produtos de software.

REFERÊNCIAS

[1] Parnas, D. On the design and development of program families. IEEE Transactions on software engineering, 1976.

[2] Clements, P., Northrop, L. Software Product Lines: Practices and Patterns. International Series in Computer Science. Addison-Wesley, 2001.

[3] Fowler, M.. A pedagogical framework for domain-specific languages. IEEE Software, 26(4):13–14, 2009.

[4] Balen, H., Lapalme, J., Frappier, M., & Tyson, K. P. 2007. Domain specific languages: another silver bullet?. Em: 22o. ACM SIGPLAN Conference on Object-Oriented Programming Systems & Applications Companion. OOPSLA '07. ACM, New York, NY, 1024-1025.

[5] Arie van Deursen, Paul Klint, and Joost Visser, Domain-Specific Languages: An Annotated

Bibliography. ACM SIGPLAN Notices, Junho 2000, pp. 26-36

[6] Hen-Tov, A., Lorenz, D. H., and Schachter, L. 2009. An interpretive domain specific language

workbench. Em: Proceeding of the 24th ACM SIGPLAN Conference Companion on Object Oriented Programming Systems Languages and Applications OOPSLA '09. ACM, New York, NY, 751-752

[7] Santos, A. L., Koskimies, K., and Lopes, A. 2008. Automated Domain-Specific Modeling Languages for Generating Framework-Based Applications. Em: Proceedings of the 2008 12th international Software Product Line. IEEE Computer Society, Washington, DC, 149-158.

[8] Greenfield, J. and Short, K. 2003. Software factories: assembling applications with patterns, models,

frameworks and tools. Em: Companion of the 18th Annual ACM SIGPLAN Conference on Object- Oriented Programming, Systems, Languages, and Applications OOPSLA '03. ACM, New York, NY, 16-27.

[9] Heering, J. and Mernik, M. 2008. Domain-specific languages as key tools for ulssis engineering. Em: Proceedings of the 2nd international Workshop on Ultra-Large-Scale Software-intensive Systems ULSSIS '08. ACM, New York, NY, 1-2.

[10] Antkiewicz, M., Czarnecki, K., and Stephan, M. 2009. Engineering of Framework-Specific Modeling

Languages. IEEE Trans. Softw. Eng. 35, 6 (Nov. 2009), 795-824.

[11] Kulkarni, V., Reddy, S.. Enterprise Business Application Product Line As a Model Driven Software

Factory. Em: International Workshop on Software Factories (2005).

[12] Kosar T., Mernik M. & Lopez P. (2007) Experiences on DSL Tools for Visual Studio. Em: 29th

International Conference on Information Technology Interfaces, Junho, 2007. Cavtat, Dubrovnik, Croatia. Pp. 753–758

[13] K. Czarnecki. Overview of Generative Software Development. Em: Proceedings of the European Commission and US National Science Foundation Strategic Research Workshop on Unconventional Programming Paradigms. Mont Saint-Michel, France, 2004.

[14] Shani, U. and Sela, A. 2008. Software design using UML for empowering end-users with an external

domain specific language. Em: Proceedings of the 4th international Workshop on End-User Software Engineering. WEUSE '08. ACM, New York, NY, 52-55

[15] Avila-García, O., García, A. E., & Rebull, E. V. 2007. Using software product lines to manage model families in model-driven engineering. Em: Proceedings of the 2007 ACM Symposium on Applied Computing SAC '07. ACM, New York, NY, 1006-1011.

[16] Sprinkle, J., Mernik, M., Tolvanen, J., & Spinellis, D. 2009. Guest Editors' Introduction: What Kinds of

Nails Need a Domain-Specific Hammer?. IEEE Softw. 26, 4 (Jul. 2009), 15-18.

[17] Mohagheghi, P., Dehlen, V. 2008. Where is the Proof? – A Review of Experiences from Applying MDE

in Industry. Proc. 4th European Conference on Model Driven Architecture Foundations and Applications (ECMDA’08), LNCS 5095, p. 432-443.

[18] Robert, S., Gérard, S., Terrier, F., & Lagarde, F. 2009. A Lightweight Approach for Domain-Specific

Modeling Languages Design. Em: Proceedings of the 2009 35th Euromicro Conference on Software Engineering & Advanced Applications SEAA. IEEE Computer Society, Washington, DC, 155-161.

[19] Wright, J. M. 2009. A Modelling Language for Interactive Web Applications. Em: Proceedings of the 2009 IEEE/ACM international Conference on Automated Software Engineering. Automated Software Engineering. IEEE Computer Society, Washington, DC, 689-692.

[20] Bell, P. 2007. A practical high volume software product line. In Companion To the 22nd ACM

SIGPLAN Conference on Object-Oriented Programming Systems & Applications Companion OOPSLA '07. ACM, New York, NY, 994-1003.

[21] Dinkelaker, T., Eichberg, M., & Mezini, M. 2010. An architecture for composing embedded domain- specific languages. Em: Proceedings of the 9th international Conference on Aspect-Oriented Software Development AOSD '10. ACM, New York, NY, 49-60.

[22] Wu, H. & Gray, J. 2005. Automated generation of testing tools for domain-specific languages. Em:

Proceedings of the 20th IEEE/ACM international Conference on Automated Software Engineering ASE '05. ACM, New York, NY, 436-439.

[23] DJ Claypool, TJ McNevin, W Liu, KM McNeill. Automated software defined radio deployment using domain specific modeling languages. 2009 IEEE Mobile WiMAX Symposium

[24] Im, K., Im, T., & McGregor, J. D. 2008. Automating test case definition using a domain specific language. Em: Proceedings of the 46th Annual Southeast Regional Conference on XX ACM-SE 46. ACM, New York, NY, 180-185.

[25] Balen, H., Lapalme, J., Frappier, M., & Tyson, K. P. 2007. Domain specific languages: another silver

bullet?. Em: 22o. ACM SIGPLAN Conference on Object-Oriented Programming Systems & Applications Companion. OOPSLA '07. ACM, New York, NY, 1024-1025.

[26] Freudenthal, M. 2010. Domain-Specific Languages in a Customs Information System. IEEE Softw. 27, 2 (Mar. 2010), 65-71.

[27] Gray, J., Fisher, K., Consel, C., Karsai, G., Mernik, M., & Tolvanen, J. 2008. DSLs: the good, the bad, & the ugly. Em: Companion To the 23rd ACM SIGPLAN Conference on Object-Oriented Programming Systems Languages & Applications. OOPSLA Companion '08. ACM, New York, NY, 791-794.

[28] Biermann, E., Ehrig, K., Ermel, C., & Hurrelmann, J. 2009. Generation of Simulation Views for Domain

Specific Modeling Languages Based on the Eclipse Modeling Framework. Em: Proceedings of the 2009 IEEE/ACM international Conference on Automated Software Engineering. Automated Software Engineering. IEEE Computer Society, Washington, DC, 625-629.

[29] White, J., Hill, J. H., Gray, J., Tambe, S., Gokhale, A. S., & Schmidt, D. C. 2009. Improving Domain-

Specific Language Reuse with Software Product Line Techniques. IEEE Softw. 26, 4 (Jul. 2009), 47-53.

[30] Clark, T. & Tratt, L. 2009. Language factories. Em: Proceeding of the 24th ACM SIGPLAN Conference

Companion on Object Oriented Programming Systems Languages & Applications OOPSLA '09. ACM, New York, NY, 949-955.

[31] Tolvanen, J. 2006. MetaEdit+: integrated modeling & metamodeling environment for domain-specific languages. Em: Companion To the 21st ACM SIGPLAN Symposium on Object-Oriented Programming Systems, Languages, & Applications OOPSLA '06. ACM, New York, NY, 690-691.

[32] Kurtev, I., Bézivin, J., Jouault, F., & Valduriez, P. 2006. Model-based DSL frameworks. Em: Companion

To the 21st ACM SIGPLAN Symposium on Object-Oriented Programming Systems, Languages, & Applications OOPSLA '06. ACM, New York, NY, 602-616.

[33] Hen-Tov, A., Lorenz, D. H., & Schachter, L. 2009. ModelTalk: a DSL workbench in action. Em: Proceeding of the 24th ACM SIGPLAN Conference Companion on Object Oriented Programming Systems Languages & Applications OOPSLA '09. ACM, New York, NY, 799-800.

[34] Knöll, R. & Mezini, M. 2009. π: a pattern language. Em: Proceeding of the 24th ACM SIGPLAN

Conference on Object Oriented Programming Systems Languages & Applications OOPSLA '09. ACM, New York, NY, 503-522.

[35] Naumowicz, T., Schröter, B., & Schiller, J. 2009. Prototyping a software factory for wireless sensor

networks. Em: Proceedings of the 7th ACM Conference on Embedded Networked Sensor Systems (Berkeley, California, November 04 - 06, 2009). SenSys '09. ACM, New York, NY, 369-370.

[36] Sadilek, D. A. 2008. Prototyping domain-specific language semantics. Em: Companion To the 23rd ACM SIGPLAN Conference on Object-Oriented Programming Systems Languages & Applications OOPSLA Companion '08. ACM, New York, NY, 895-896.

[37] Demirezen, Z. 2009. Semantic framework for DSLs. Em: Proceeding of the 24th ACM SIGPLAN

Conference Companion on Object Oriented Programming Systems Languages & Applications OOPSLA '09. ACM, New York, NY, 833-834.

[38] Bradford, P. G. & Ray, D. A. 2008. Semantics for a domain-specific language for the digital forensics domain. Em: Proceedings of the 4th Annual Workshop on Cyber Security & information intelligence Research: Developing Strategies To Meet the Cyber Security & information intelligence Challenges Ahead. CSIIRW '08, vol. 288. ACM, New York, NY, 1-3.

[39] Sprinkle, J, Eklund, JM, Gonzalez, H, Grotli, EI, Upcroft, B, Makarenko, A, Uther, W, Moser, M, Fitch, R, Durrant-Whyte, H & Sastry, SS (2009) Model-based design: a report from the trenches of the DARPA Urban Challenge. SOFTWARE & SYSTEMS MODELING, 8 4: 551-566.

[40] Marcondes, F. S., Fernandes, D. D., Motini, D. A., Tasinaffo, P. M., Vega, I. S., & Dias, L. A. 2009.

Systematic & Formal Approach to get a Domain Specific Language. Em: Proceedings of the 2009 Sixth international Conference on information Technology: New Generations ITNG. IEEE Computer Society, Washington, DC, 1447-1450.

[41] Jouault, F., Bézivin, J., & Kurtev, I. 2006. TCS:: a DSL for the specification of textual concrete syntaxes

in model engineering. Em: Proceedings of the 5th international Conference on Generative Programming & Component Engineering GPCE '06. ACM, New York, NY, 249-254.

[42] A. Abou Dib, L. Féraud, I. Ober, C. Percebois. Towards a rigorous framework for dealing with domain specific language families, ICTTA, IEEE Computer Society, 2008

[43] Laird, P. & Barrett, S. 2009. Towards context sensitive domain specific languages. Em: Proceedings of the 1st international Workshop on Context-Aware Middleware & Services CAMS '09, vol. 385. ACM, New York, NY, 31-36.

[44] Nussbaumer, M., Freudenstein, P., & Gaedke, M. 2006. Towards DSL-based web engineering. Em:

Proceedings of the 15th international Conference on World Wide. WWW '06. ACM, New York, NY, 893- 894.

[45] Groenewegen, D. M., Hemel, Z., Kats, L. C., & Visser, E. 2008. WebDSL: a domain-specific language for dynamic web applications. Em: Companion To the 23rd ACM SIGPLAN Conference on Object- Oriented Programming Systems Languages & Applications OOPSLA Companion '08. ACM, New York, NY, 779-780.

[46] Mernik, M., Heering, J., & Sloane, A. M. 2005. When & how to develop domain-specific languages. ACM Comput. Surv. 37, 4 (Dec. 2005), 316-344.

[47] J.P. Tolvanen. Making Model-Based Code GenerationWork. Embedded Systems Europe, pp. 36–38 (Ago./Set. 2004).

[48] V. Pelechano, M. Albert, M. Javier, & C. Carlos, Building Tools for Model Driven Development comparing Microsoft DSL Tools & Eclipse Modeling Plug-ins. Em: proceedings of the Desarrollo de Software Dirigido por Modelos - DSDM'06 Sitges Espanha, 2006

[49] Cuadrado J.S., Molina J.G., Building Domain-Specific Languages for Model-Driven Development. IEEE Software, vol. 24, no. 5, pp. 48-55, Set./Out. 2007.

[50] Jack Greenfield. Bare-Naked Languages or What Not to Model. The Architecture Journal, Outubro,

2006.

[51] Intentional Software, http://www.intentsoftware.com/. Acesso em outubro/2011. [52] Jetbrains, http://www.jetbrains.com/mps/. Acesso em outubro/2011.

[53] Metacase, http://www.metacase.com/ Acesso em outubro/2011.

[54] Visual Studio Visualization and Modeling SDK (antigo DSL Tools),

http://archive.msdn.microsoft.com/vsvmsdk/ . Acesso em outubro/2011.

[55] Eclipse Modeling Framework, http://www.eclipse.org/modeling/emf/. Acesso em outubro/2011.

[56] Eclipse Graphical Editing Framework , http://www.eclipse.org/gef/ . Acesso em outubro/2011. [57] Model-Driven Architecture. OMG. http://www.omg.org/mda/index.htm . Acesso em outubro/2011

[58] OMG Adopted Specification ptc /03-10-04. The Meta Object Facility (MOF) Core Specification. Version 2.0, OMG, http://www.omg.org

[59] The Object Management Group. UML 2.0: Superstructure Specification. Version 2.0, OMG, formal/05-07-

04, 2005.

[60] QVT-Merge Group 1.8. Revised submission for MOF 2.0 Query/Views/Transformations RFP (ad/2002-04-

10). Technical report, OMG, http://www.omg.org

[61] France, R.; Rumpe, B.; , Model-driven Development of Complex Software: A Research Roadmap. Future of Software Engineering, 2007. FOSE '07 , vol., no., pp.37-54, 23-25 Maio, 2007.

[62] Selic, B.; , The pragmatics of model-driven development. Software, IEEE , vol.20, no.5, pp. 19- 25,

Set/Out. 2003.

[63] Schmidt, D.C.; , Guest Editor's Introduction: Model-Driven Engineering. Computer , vol.39, no.2, pp.

25- 31, Fev. 2006.

[64] Fowler, M. . Language Workbenches: The Killer-App for Domain Specific Languages? Disponível em:

http://www.martinfowler.com/articles/languageWorkbench.html . Acesso em outubro/2011.

[65] R.B.; Ghosh, S.; Dinh-Trong, T.; Solberg, A. Model-Driven Development Using UML 2.0: Promises and

Pitfalls . Computer , vol.39, no.2, pp. 59- 66, Fev. 2006.

[66] ] Dalgarno, M.; Fowler M. UML vs. Domain-Specific Languages. Revista Methods and Tools, 2008.

Disponível em: http://www.methodsandtools.com/archive/archive.php?id=71 Acesso em outubro/2011.

[67] Jacobson, I.; Cook s. Road ahead for UML. Disponível em: http://drdobbs.com/architecture-and-

design/224701702 . Acesso em outubro/2011.

[68] Hutchinson, J., Rouncefield, M., Whittle, J.. Model-driven engineering practices in industry. Em:

Proceedings of the 33rd International Conference on Software Engineering (ICSE '11). ACM, New York, NY, USA, 2011.

[69] Forward, A. ,Lethbridge, T., Problems and opportunities for model-centric versus code-centric software development, Workshop on Models in Software Engineering (at ICSE), 2008, pp. 27-32.

[70] Afonso, M., Vogel, R., Teixeira, J., From code-centric to model-centric software engineering: practical case study of MDD infusion in a systems integration company, Workshop on MBD/MOMPES, 2006.

[71] Pollet D., Ducasse S. et al. Towards A Process-Oriented Software Architecture Reconstruction Taxonomy. Em: Proceedings of the 11th European Conference on Software Maintenance and Reengineering (CSMR '07). IEEE Computer Society, Washington, DC, USA, 137-148. 2007.

[72] Sjoberg, D; Dyba, T ; Jorgensen, M. The Future of Empirical Methods in Software Engineering

Research. Future of Software Engineering, 2007. FOSE '07. Maio, 2007.

[73] Kitchenham, B.A. Evaluating Software Engineering Methods and Tool. Software Engineering Notes,

vol. 21, n. 1. ACM SIGSOFT, 1996.

[74] Kitchenham, B.A; Pickard, L. . Case Studies for Method and Tool Evaluation. IEEE, Julho, 1995. [75] Runeson P. , Höst, M. Guidelines for conducting and reporting case study research in software

[76] Hamdi, H., Mosbah, M., Bouhoula, A.. A domain specific language for securing distributed systems.

Em: Proceedings of the International Conference on Systems and Networks Communication. 2007.

[77] Sandhu, R.S., Coyne, E.J., Feinstein, H.L., Youman, C.E.; , Role-based access control models. Computer ,

vol.29, no.2, pp.38-47, Fev, 1996.

[78] Diaz, P.; Aedo, I.; Sanz, D.; Malizia, A.. A model-driven approach for the visual specification of Role-

Based Access Control policies in web systems. Visual Languages and Human-Centric Computing, 2008. VL/HCC 2008. IEEE Symposium on. pp.203-210, 2008.

[79] C# Developer Center, http://msdn.microsoft.com/vcsharp/. Acesso em junho/2012.

[80] Code Generation and T4 Text Templates. Em: http://msdn.microsoft.com/en-us/library/bb126445.aspx .

Acesso em Junho/2012.

ANEXOS

Questionário de avaliação da DSL CALV3 Colaborador:

Para avaliar a DSL Visual CALV3 como solução para modelagem de segurança dos nossos sistemas, peço responder o questionário abaixo:

Caso prefira, pode imprimir e responder por escrito. Responda as questões abaixo marcando um X nas opções ao lado.

Con co rd o to ta lm en te C o n co rd o n a m ai o r p ar te N ão co n co rd o n em d is co rd o D is co rd o n a m ai o r p ar te D is co rd o to ta lm en te Comentários

Q1 -É mais fácil compreender, visualizar e discutir a segurança de um sistema com um modelo feito com a DSL CALV3.

X

Q2 - É possível reusar o modelo de segurança de um sistema feito

na DSL CALV3 em outro sistema de informação.

X

Q3 - A carga de dados feita com o script gerado pela CALV3 é mais

rápida do que o processo de cadastrar os dados no console do CA.

X

Q4 -Confio que a carga de dados do script gerado pela CALV3

gerará menos erros do que o processo de cadastrar os dados no console do CA.

X

Q5 - O fato da DSL CALV3 estar integrada à IDE Visual Studio facilita

o uso e entendimento da mesma.

X

A não ser que o usuário deseje alterar manualmente o script gerado, o uso é independente da IDE. Q6 - Pretendo usar a DSL CALV3 para modelar a segurança dos

sistemas em que trabalho atualmente.

X

O fato de não poder importar os dados atuais do CAv3, impossibilita o bom uso em projetos em andamento. Q7 - Pretendo usar a DSL CALV3 para modelar a segurança em

futuros projetos de sistemas.

X

Para os sistemas futuros, o CAv4 será utilizado. Q8 - O uso de modelos CALV3 e a carga com o script gerado

constituem uma solução mais eficiente e produtiva de que o processo manual utilizado atualmente.

X

Utilize o espaço ao lado para comentários, críticas e sugestões

Seria muito interessante a possibilidade de realizar engenharia reversa, bem como ter a atualização para o CAv4.

Anexo 1 – Exemplo do formulário aplicado com preenchimento da parte

Documentos relacionados