Abstract

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.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call