Strategies to Evolve ExM Notations Extracted from a Survey with Software Engineering Professionals Perspective
Keywords:executable models, complex systems, simulation, survey research
Large-scale, 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 model their behaviors and interactions. However, a decrease in the use of models and consequently ExM by software engineering professionals in the academy and industry is currently noticed and we claim that those professionals have not exhibited abilities to use ExM even in simpler scenarios. In this article, we present the results of an exploratory study on the perceptions of those professionals regarding the use of ExM to solve problems in their current practice. 58 professionals were exposed to situations to solve problems using a specific type of ExM (DEVS simulation models), based on a survey research. Responses were quantitatively and qualitatively analyzed. From the results, we analysed and compiled 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 in order 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 larger adoption in the future. The proposed strategies focus on improvements on the robustness of the ExM notations, visual representation of the models, 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 modeldriven 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. AddisonWesley Professional, 3rd edition.
Bertalanffy, L. (2015).General system theory : foundations,development, applications. George Braziller, Inc, NewYork.
Boehm, B.(2006). Aviewof20thand21stcenturysoftwareengineering. In28th ICSE, page 12–29. ACM.
Bogado,V.,Gonnet,S.,andLeone,H.(2014). Modeling and simulation of software architecture in discrete event system specification for quality evaluation.SIMULATION,90(3):290–319.
Bowmaker, J. K. (1998). Evolution of colour vision in vertebrates. Eye, 12(3):541–547.
Chreyh,R.andWainer,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 : techniquesand 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. In19th Brazilian Symposium on Software Quality. ACM.
Dahmann, J., MarkinaKhusid, 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., MarkinaKhusid, A., Doren, A., Wheeler, T.,Cotter, M., and Kelley, M. (2017b). Sysml executable systems of system architecture definition: A working example.
Favre, J.M. (2005). Megamodelling and etymology. InTransformation 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 theuse of software design models in software developmentpractice: An empirical investigation. Journal of Systemsand Software, 95:176–193.
Gray, J. and Rumpe, B. (2016). Models in simulation. Software & Systems Modeling, 15(3):605–607.
Guessi, M., GracianoNeto, V. V., and Nakagawa,E. Y. (2019). Architectural description of systemsofinformation. 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., HamouLhadj, 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 architectureof 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/SEI2005HB004, Carnegie MellonSoftware 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.
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 engineeng. Technical report, Lund University, Sweden.
Mahmood, S., Ahmed, M., and Alshayeb, M. (2013). Reuse environments for software artifacts: Analysis framework.In12th ICIS, pages 35–40.
Mangen, A., Olivier, G., and Velay, J.L. (2019). Comparing comprehension of a long text read in print book and onkindle: Where in the text and when in the story?Frontiersin Psychology, 10.
Manzano, W., Neto, V. V. G., and Nakagawa, E. Y. (2020). Dynamic-sos: An approach for the simulation of systemsofsystemsdynamicarchitectures.Comput. J.,63(5):709–731.
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.
Molléri, J. S., Petersen, K., and Mendes, E. (2016). Surveyguidelines 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.
MüllerZhang, Z., Antonino, P. O., and Kuhn, T. (2020). Dynamic process planning using digital twins and reinforcement learning. In 25th IEEE ETFA, volume1,pages1757–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. In51st 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.
OMGExecutableUML(2018). Semantics of fuml. Standard,Object Management Group, Massachusetts, USA.
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.,andKvamsdal,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. In2019 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 ebook readers.Journal of UsabilityStudies archive, 6:25–38.
Singh, M. and Hoffman, D. D. (2013). Natural selectionand shape perception. In Shape Perception in Human and Computer Vision, pages 171–185. Springer London.
Smith, E., Loftin, R., MurphyHill, E., and Zimmermann, T. (2013). Improvingdeveloperparticipationratesinsurveys.pages 1–4.
Steinmacher, I., Conte, T. U., Treude, C., and Gerosa, M. A.(2016). Overcoming open source project entry barrierswith a portal for newcomers. In2016 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 on boarding 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 thepractice. In5th ESEM, pages 372–375, Banff, Canada.
Vlahovic, N. and Ceric, V. (2008). Multiagent simulation in organizations. In Encyclopedia of Information Scienceand Technology, Second Edition, pages 2728–2733. IGIGlobal.
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.,dosSantos,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. In2018 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, 1stedition.
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.