Avaliando a Especificação das Ocorrências das Características Transversais em Software Embarcado
Resumo
A engenharia de software embarcado vem evoluindo rapidamente ao longo dos últimos anos, em especial para lidar com o aumento da complexidade associada a grande quantidade de requisitos funcionais e características transversais associadas aos requisitos não-funcionais. O processo de identificar e especificar a seleção de pontos onde as características transversais devem ser tratadas vem sendo amplamente discutido desde meados dos anos 90, especialmente no contexto da Aspect-Oriented Software Development (AOSD) e modelagem. No entanto, a compreensão de tais especificações é muitas vezes difícil, pois a sintaxe e a semântica das linguagens utilizadas, principalmente as linguagens visuais, não permitem intuir facilmente o significado dos símbolos usados. Tal situação produz artefatos difíceis de compreender e manter. Portanto, o processo de localizar, identificar, e especificar os pontos onde as características transversais devem ser tratadas e chave no projeto de software embarcado, pois pode levar à problemas no desenvolvimento e, principalmente, na integração dos componentes do software do sistema. Este trabalho apresenta uma avaliação empírica com o objetivo de avaliar a compreensão da especificação de seleção de POCT em sistemas embarcados de forma indireta através da avaliação ao dos efeitos cognitivos e das propriedades de percepção das notações. Foram avaliadas três notaçõees, duas gráficas (JPDD e Theme/UML) e uma textual (AspectJ), que foram usadas para especificar implícita e explicitamente a seleção de POCT (para 15 pontos distintos) em três projetos de software embarcados diferentes que representam aplicações reais no contexto de sistemas de automação. Para tal, propõe-se um modelo de qualidade baseado no framework conceitual “Physics of Notation” (PON). Foram usadas nove métricas para quantificar as propriedades perceptuais na especificação da seleção de POCT, sendo que algumas métricas foram criadas e outras representam conceitos dentro dos princípios do PON. Os resultados dos experimentos mostram como cada uma das notações impacta na compreensão das especificações criadas. Foram encontradas evidencias empíricas de que a especificação gráfica das seleções dos POCT tem pouca discriminação sobre a eficácia cognitiva das representações visuais (conforme o framework PON) e, portanto, os indícios apontam para a conclusão de que o uso de notações visuais para especificar a seleção de POCT é um processo inconsciente e sujeito a ambiguidades tanto na especificação dos artefatos quanto na compreensão e interpretação deles.
Referências
D. Stein et al., “Join point designation diagrams: a graphical representation of join point selections,” Int. Journal of Software Engineering and Knowledge Engineering, vol. 16, no. 03, pp. 317–346, 2006.
T. Elrad et al., “Aspect-oriented modeling: Bridging the gap between implementation and design,” in Generative Programming and Component Engineering, D. Batory et al., Eds. Springer, 2002, pp. 189–201.
J. Kienzle, W. Al Abed, and J. Klein, “Aspect-oriented multi-view modeling,” in Proc. of AOSD’09. ACM, 2009, pp. 87–98.
S. Yang and Z. Wei-Dong, “Aspect-oriented modeling in concurrent system,” in IEEE Information Technology, Networking, Electronic and Automation Control Conference (ITNEC). IEEE, 2019, pp. 836–840.
E. P. Freitas et al., “DERAF: A high-level aspects framework for distributed embedded real-time systems design,” in Early Aspects: Current Challenges and Future Directions. Berlin, Heidelberg: Springer, 2007, pp. 55–74, doi: 10.1007/978-3-540-76811-1 4.
M. Mongioví et al., “Specifying and identifying widely used crosscutting concerns,” Knowledge-Based Systems, vol. 126, pp. 20 – 32, 2017.
V. Acret¸oaie, H. Storrle, and D. Strüber, “VMTL: a language for end-user model transformation,” Software & Systems Modeling, vol. 17, no. 4, pp. 1139–1167, 2018.
M. U. Khan et al., “AspectOCL: using aspects to ease maintenance of evolving constraint specification,” Empirical Software Engineering, vol. 24, no. 4, pp. 2674–2724, 2019.
Object Management Group (OMG), “Unified Modeling Language version 2.5.1,” 2017, https://www.omg.org/spec/UML/2.5.1/.
S. Clarke, “Extending standard uml with model composition semantics,” Science of Computer Programming, vol. 44, no. 1, pp. 71–100, 2002.
M. A. Wehrmeister, E. P. de Freitas, A. P. D. Binotto, and C. E. Pereira, “Combining aspects and object-orientation in model-driven engineering for distributed industrial mechatronics systems,” Mechatronics, vol. 24, no. 7, pp. 844 – 865, 2014, doi: 10.1016/j.mechatronics.2013.12.008.
M. A. Wehrmeister, C. E. Pereira, and F. J. Rammig, “Aspect-oriented model-driven engineering for embedded systems applied to automation systems,” IEEE Transactions on Industrial Informatics, vol. 9, no. 4, pp.2373–2386, 2013, doi: 10.1109/TII.2013.2240308.
D. Moody, “The “physics” of notations: Toward a scientific basis for constructing visual notations in software engineering,” IEEE Transactions on Software Engineering, vol. 35, no. 6, pp. 756–779, 2009.
D. Jones and S. Gregor, “The anatomy of a design theory,” Journal of the Association for Information Systems, vol. 8, no. 5, p. 1, 2007.
G. Kiczales et al., “An overview of aspectj,” in European Conference on Object-Oriented Programming. Springer, 2001, pp. 327–354.
E. Baniassad and S. Clarke, “Theme: An approach for aspect-oriented analysis and design,” in 26th Int. Conf. on Software Engineering. IEEE, 2004, pp. 158–167.
R. R. McFadden and F. J. Mitropoulos, “Survey of aspect mining case study software and benchmarks,” in 2013 Proceedings of IEEE Southeastcon, April 2013, pp. 1–5.
D. Stein and S. Hanenberg, “Comparison of a visual and a textual notation to express data constraints in aspect-oriented join point selections: A controlled experiment,” in Int. Conf. on Program Comprehension. IEEE, 2011, pp. 141–150.
C. Allan et al., “Adding trace matching with free variables to aspectj,” Sigplan Notices - SIGPLAN, vol. 40, pp. 345–364, 10 2005.
Object Management Group (OMG), “UML profile for Modeling and Analysis of Real-Time Embedded systems (MARTE), version 1.2,” 2018, https://www.omg.org/spec/MARTE/.