Strategies to Evolve ExM Notations Extracted from a Survey with Software Engineering Professionals Perspective
Keywords:executable models, software-intensive systems, simulation, survey research
Contemporary complex systems often exhibit dynamic structures and behaviors, several components/systems involved, and multiple interoperability links. Those systems have been exposed to fragilities of traditional software specification languages (e.g. UML and SySML), since such languages were designed to document single (not multiple interoperating) systems. Those limitations can potentially further compromise the quality of the final software product. In this context, Executable Models (ExM) technology, such as simulation models, models@runtime and executable UML, satisfy the aforementioned requirements by supporting engineers with visualization of the system structures (still at design-time) and the ability to exercise their behaviors and interactions. In our prior study, we presented the results of an exploratory study on the perceptions of those professionals (from both industry and academia) regarding the use of ExM to solve problems in their current practice. We exposed 58 professionals (researchers and practitioners) to situations to solve problems using a specific type of ExM (DEVS simulation models), based on survey research. Responses were quantitatively and qualitatively analyzed. In this article, we extended the obtained results by analyzing and compiling a list of strategies to improve ExM notations to better address the needs of software engineering professionals. Later, we assessed those strategies with software engineering researchers to confirm the importance of the proposed strategies. Results revealed that executable languages still require advances to bring them even closer to the current software engineering practice and towards a more significant adoption in the future. The proposed strategies focus on improvements on the robustness of the ExM notations, visual representation of the models, the usability of the models, and user support.
Agner, L. T. W., Soares, I. W., Stadzisz, P. C., and Simão, J. M. (2013). A brazilian survey on UML and model-driven practices for embedded software development. Journal of Systems and Software, 86(4):997–1005.
Bass, L., Clements, P., and Kazman, R. (2012). Software Architecture in Practice. Addison-Wesley Professional, 3rd edition.
Bertalanffy, L. (2015). General system theory : foundations, development, applications. George Braziller, Inc, New York.
Boehm, B. (2006). A view of 20th and 21st century software engineering. In 28th ICSE, page 12–29. ACM.
Bogado, V., Gonnet, S., and Leone, H. (2014). Modeling and simulation of software architecture in discrete event system specification for quality evaluation. SIMULATION, 90(3):290–319.
Bork, D., Karagiannis, D., and Pittl, B. (2018). Systematic analysis and evaluation of visual conceptual modeling language notations. In 2018 12th International Conference on Research Challenges in Information Science (RCIS), pages 1–11.
Bowmaker, J. K. (1998). Evolution of colour vision in vertebrates. Eye, 12(3):541–547.
Chreyh, R. and Wainer, G. (2009). Cd++ repository: An internet based searchable database of devs models and their experimental frames. In Proceedings of the 2009 Spring Simulation Multiconference, SpringSim ’09, San Diego, CA, USA. Society for Computer Simulation International.
Corbin, J. (2015). Basics of qualitative research : techniques and procedures for developing grounded theory. SAGE.
da Costa Carvalho, E., Malcher, P. R. C., and dos Santos, R. P. (2020). A survey research on the use of mobile applications in software project management. In 19th Brazilian Symposium on Software Quality. ACM.
Dahmann, J., Markina-Khusid, A., Doren, A., Wheeler, T., Cotter, M., and Kelley, M. (2017a). Sysml executable systems of system architecture definition: A working example. pages 1–6.
Dahmann, J., Markina-Khusid, A., Doren, A., Wheeler, T., Cotter, M., and Kelley, M. (2017b). Sysml executable systems of system architecture definition: A working example.
de França, B. B. N. and Ali, N. B. (2020). The role of simulation-based studies in software engineering research. In Contemporary Empirical Methods in Software Engineering, pages 263–287. Springer.
Favre, J.-M. (2005). Megamodelling and etymology. In Transformation Techniques in Software Engineering.
Fernandes, J., Graciano Neto, V. V., and Santos, R. P. d. (2018). Interoperability in systems-of-information systems: A systematic mapping study. In 17th SBQS, page 131–140. ACM.
Ferreira, T., Viana, D., Fernandes, J., and Santos, R. (2018). Identifying emerging topics and difficulties in software engineering education in brazil. In 32nd SBES. ACM.
Gorschek, T., Tempero, E., and Angelis, L. (2014). On the use of software design models in software development practice: An empirical investigation. Journal of Systems and Software, 95:176–193.
Gray, J. and Rumpe, B. (2016). Models in simulation. Software & Systems Modeling, 15(3):605–607.
Guessi, M., Cavalcante, E., and Oliveira, L. B. (2015). Characterizing architecture description languages for software-intensive systems-of-systems. In 2015 IEEE/ACM 3rd International Workshop on Software Engineering for Systems-of-Systems, pages 12–18. IEEE.
Guessi, M., Graciano-Neto, V. V., and Nakagawa, E. Y. (2019). Architectural description of systems-of-information. In Tópicos em Sistemas de Informação: Minicursos SBSI 2019, pages 29–52. SBC.
Hlupic, V. (2002). Simulation software: An operational research society survey of academic and industrial users. pages 1676–1683.
Hojaji, F., Mayerhofer, T., Zamani, B., Hamou-Lhadj, A., and Bousse, E. (2019). Model execution tracing: a systematic mapping study. Software and Systems Modeling, 18(6):3461–3485.
Hu, J., Huang, L., Cao, B., and Chang, X. (2014). Spdml: Graphical modeling language for executable architecture of systems. pages 248–255.
Judd, D. (1975). Color in business, science, and industry. Wiley, New York.
Kasunic, M. (2005). Designing an effective survey. Technical Report CMU/SEI-2005-HB-004, Carnegie Mellon Software Engineering Institute, Pittsburg, USA.
Keller, N., Zeigler, B., Kim, D., Anderson, C., and Ceney, J. (2020). Supporting the reuse of algorithmic simulation models. In Proceedings of the 2020 Summer Simulation Conference, SummerSim ’20, San Diego, CA, USA. Society for Computer Simulation International.
Kim, T. G. and Zeigler, B. P. (1987). The DEVS formalism: hierarchical, modular systems specification in an object oriented framework. In Thesen, A., Grant, H., and Kelton, W. D., editors, Proceedings of the 19th conference on Winter simulation, WSC 1987, Atlanta, GA, USA, December 14-16, 1987, pages 559–566. ACM.
Lebtag, B., Teixeira, P., Santos, R., Viana, D., and Graciano Neto, V. (2020). Evaluating the understandability and expressiveness of simulation executable models with professionals – obtaining perceptions from researchers and practitioners for improving quality of models. In Proceedings of the 19th Brazilian Symposium on Software Quality, SBQS’20, New York, NY, USA. Association for Computing Machinery.
Levis, A. H. and Wagenhals, L. W. (2000). C4isr architectures: I. developing a process for c4isr architecture design. Systems Engineering, 3(4):225–247.
Linåker, J., Sulaman, S., Host, M., and de Mello, R. (2015). Guidelines for conducting surveys in software engineering. Technical report, Lund University, Sweden.
Mahmood, S., Ahmed, M., and Alshayeb, M. (2013). Reuse environments for software artifacts: Analysis framework. In 12th ICIS, pages 35–40.
Mangen, A., Olivier, G., and Velay, J.-L. (2019). Comparing comprehension of a long text read in print book and on kindle: Where in the text and when in the story? Frontiers in Psychology, 10.
Manzano, W., Neto, V. V. G., and Nakagawa, E. Y. (2020). Dynamic-sos: An approach for the simulation of systemsof-systems dynamic architectures. Comput. J., 63(5):709–731.
Mendling, J., Reijers, H., and Recker, J. (2010). Activity labeling in process modeling: Empirical insights and recommendations. Information Systems, 35(4):467–482.
Michael, J. B., Drusinsky, D., Otani, T. W., and Shing, M. (2011). Verification and validation for trustworthy software systems. IEEE Software, 28(6):86–92.
Mincarone, P., Leo, C. G., Trujillo-Martín, M. D. M., Manson, J., Guarino, R., Ponzini, G., and Sabina, S. (2018). Standardized languages and notations for graphical modelling of patient care processes: a systematic review. Int J Qual Health Care, 30(3):169–177.
Molléri, J. S., Petersen, K., and Mendes, E. (2016). Survey guidelines in software engineering: An annotated review. In Proceedings of the 10th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement, ESEM ’16, pages 58:1–58:6.
Mussbacher, G., Amyot, D., Breu, R., Bruel, J.-M., Cheng, B., Collet, P., Combemale, B., France, R., Heldal, R., Hill, J., Kienzle, J., Schöttle, M., Steimann, F., Stikkolorum, D., and Whittle, J. (2015). The relevance of model-driven engineering thirty years from now. In Proceedings of the International Conference on Model Driven Engineering Languages and Systems, pages 1–12. Springer.
Müller-Zhang, Z., Antonino, P. O., and Kuhn, T. (2020). Dynamic process planning using digital twins and reinforcement learning. In 25th IEEE ETFA, volume 1, pages 1757–1764.
Neis, P., Wehrmeister, M. A., and Mendes, M. F. (2019). Model driven software engineering of power systems applications: Literature review and trends. IEEE Access, 7:177761–177773.
Neto, V. V. G., Rodriguez, L. M. G., Guessi, M., de Barros Paes, C. E., Manzano, W., Oquendo, F., and Nakagawa, E. Y. (2018). ASAS: an approach to support simulation of smart systems. In 51st HICSS, pages 1–10.
Nystrom, R. (2014). Game programming patterns. Genever Benning, United States.
OMG Executable UML (2017). Action language for alf. Standard, Object Management Group, Massachusetts, USA.
OMG Executable UML (2018). Semantics of fuml. Standard, Object Management Group, Massachusetts, USA.
Prinz, N., Rentrop, C., and Huber, M. (2021). Low-code development platforms–a literature review.
Purchase, H. C., Cohen, R. F., and James, M. (1996). Validating graph drawing aesthetics. In Graph Drawing, pages 435–446. Springer Berlin Heidelberg.
Rasheed, A., San, O., and Kvamsdal, T. (2020). Digital twin: Values, challenges and enablers from a modeling perspective. IEEE Access, PP:1–1.
Sedano, T., Ralph, P., and Péraire, C. (2019). The product backlog. In 2019 IEEE/ACM 41st International Conference on Software Engineering (ICSE), pages 200–211.
Selic, B. (2008). Personal reflections on automation, programming culture, and model-based software engineering. Automated Software Engineering, 15(3):379–391.
Siegenthaler, E., Wurtz, P., and Groner, R. (2010). Improving the usability of e-book readers. Journal of Usability Studies archive, 6:25–38.
Singh, M. and Hoffman, D. D. (2013). Natural selection and shape perception. In Shape Perception in Human and Computer Vision, pages 171–185. Springer London.
Smith, E., Loftin, R., Murphy-Hill, E., and Zimmermann, T. (2013). Improving developer participation rates in surveys. pages 1–4.
Steinmacher, I., Conte, T. U., Treude, C., and Gerosa, M. A. (2016). Overcoming open source project entry barriers with a portal for newcomers. In 2016 IEEE/ACM 38th International Conference on Software Engineering (ICSE), pages 273–284.
Steinmacher, I., Treude, C., and Gerosa, M. A. (2019). Let me in: Guidelines for the successful onboarding of newcomers to open source projects. IEEE Software, 36(4):41–49.
Teixeira, P., Lebtag, B., dos Santos, R., Costa Fernandes, J., Mohsin, A., Kassab, M., and Graciano Neto, V. (2020). Constituent system design: A software architecture approach. pages 218–225.
Tidwell, J. (2020). Designing interfaces : patterns for effective interaction design. O’Reilly Media, Sebastopol, CA.
Torchiano, M., Ricca, F., Tiso, A., and Reggio, G. (2011). Preliminary findings from a survey on the md state of the practice. In 5th ESEM, pages 372–375, Banff, Canada.
Vlahovic, N. and Ceric, V. (2008). Multi-agent simulation in organizations. In Encyclopedia of Information Science and Technology, Second Edition, pages 2728–2733. IGI Global.
Wang, R. and Dagli, C. (2011). Executable system architecting using systems modeling language in conjunction with colored petri nets in a model-driven systems development process. Systems Engineering, 14(4):383–409.
Whittle, J., Hutchinson, J. E., Rouncefield, M., Burden, H., and Heldal, R. (2017). A taxonomy of tool-related issues affecting the adoption of model-driven engineering. Software and Systems Modeling, 16(2):313–331.
Wohlin, C., Runeson, P., Hst, M., Ohlsson, M. C., Regnell, B., and Wessln, A. (2012). Experimentation in Software Engineering. Springer Publishing Company, Incorporated.
Xavier, B. L., dos Santos, R. P., and dos Santos, D. V. (2020). Software ecosystems and digital games: Understanding the financial sustainability aspect. In Proceedings of the 22nd International Conference on Enterprise Information Systems. SCITEPRESS - Science and Technology Publications.
Zaitsev, D. A., Shmeleva, T. R., and Sleptsov, A. I. (2018). Reenterable colored petri net models of networks, grids, and clouds: Case study for provider backbone bridge. In 2018 26th Telecommunications Forum (TELFOR). IEEE.
Zeigler, B., Sarjoughian, H. S., Duboz, R., and Soulie, J.-C. (2016). Guide to Modeling and Simulation of Systems of Systems. Springer Publishing Company, Incorporated, 1st edition.
Zeigler, B. P., Muzy, A., and Kofman, E. (2018). Theory of Modeling and Simulation: Discrete Event & Iterative System Computational Foundations. Academic Press, Inc., USA, 3rd edition
How to Cite
Copyright (c) 2022 Bruno Gabriel Lebtag, Paulo Gabriel Teixeira, Dr. Rodrigo Pereira dos Santos, Dr. Davi Viana, Dr. Valdemar Vicente Graciano Neto
This work is licensed under a Creative Commons Attribution 4.0 International License.