An algorithm for processing block diagram models of dynamical systems and an open-source visual-programming simulation tool

IF 3.5 2区 计算机科学 Q2 COMPUTER SCIENCE, INTERDISCIPLINARY APPLICATIONS
Miguel Torres-Torriti, Matias Rojas-Sepulveda
{"title":"An algorithm for processing block diagram models of dynamical systems and an open-source visual-programming simulation tool","authors":"Miguel Torres-Torriti,&nbsp;Matias Rojas-Sepulveda","doi":"10.1016/j.simpat.2024.103030","DOIUrl":null,"url":null,"abstract":"<div><div>Visual diagrammatic programming and block diagrams have been indispensable tools for systems modeling and simulation across research, development, and educational fields for several decades. Despite the availability of mature commercial and free software tools, there is a lack of information publicly accessible on algorithms for processing block diagrams that represent dynamical systems and simulate the corresponding models. A gap in the existing literature is the absence of mathematically formal and complete proposals of algorithms for processing block diagrams that are multigraphs containing directed cyclic graphs, and not just simpler directed graphs. The lack of a detailed exposition concerning the practical implementation of such algorithms is also a gap. This gap is likely because the simulation systems based on block diagram descriptions that have become <em>de facto</em> industry standards use proprietary solutions, even if their origins can be traced back to work done in research centers and universities more than seven decades ago. In response to these challenges, this paper summarizes the historical evolution of related paradigms, such as data flow diagrams, signal flow graphs, bond graphs, and block diagrams. We propose a general algorithm for block diagram processing and present an open-source software tool for Python that implements a diagrammatic visual programming interface and the proposed block diagram processing algorithm. The key contributions to the field of systems modeling and simulation can be summarized as follows. Firstly, the exposition of the algorithm formally proving its correctness, offers transparency which facilitates further research and development in the field, enabling academics and professionals to adapt, enhance, or expand upon the existing capabilities of the tool. Secondly, the implementation of a Python library and tool released as an open-source solution for simulating signal processing and dynamical systems through block diagrams by integrating the proposed algorithm capable of efficiently handling multigraph representations, including those with directed cyclic graphs. Ensuring accessibility of the tool to researchers, developers, and educators fosters innovation, research and empowers educators by providing them with a versatile tool that can be used to teach complex systems modeling and simulation concepts in a practical, hands-on manner across various domains, such as control systems, electrical engineering, and computer science.</div></div>","PeriodicalId":49518,"journal":{"name":"Simulation Modelling Practice and Theory","volume":"138 ","pages":"Article 103030"},"PeriodicalIF":3.5000,"publicationDate":"2024-11-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Simulation Modelling Practice and Theory","FirstCategoryId":"94","ListUrlMain":"https://www.sciencedirect.com/science/article/pii/S1569190X24001448","RegionNum":2,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q2","JCRName":"COMPUTER SCIENCE, INTERDISCIPLINARY APPLICATIONS","Score":null,"Total":0}
引用次数: 0

Abstract

Visual diagrammatic programming and block diagrams have been indispensable tools for systems modeling and simulation across research, development, and educational fields for several decades. Despite the availability of mature commercial and free software tools, there is a lack of information publicly accessible on algorithms for processing block diagrams that represent dynamical systems and simulate the corresponding models. A gap in the existing literature is the absence of mathematically formal and complete proposals of algorithms for processing block diagrams that are multigraphs containing directed cyclic graphs, and not just simpler directed graphs. The lack of a detailed exposition concerning the practical implementation of such algorithms is also a gap. This gap is likely because the simulation systems based on block diagram descriptions that have become de facto industry standards use proprietary solutions, even if their origins can be traced back to work done in research centers and universities more than seven decades ago. In response to these challenges, this paper summarizes the historical evolution of related paradigms, such as data flow diagrams, signal flow graphs, bond graphs, and block diagrams. We propose a general algorithm for block diagram processing and present an open-source software tool for Python that implements a diagrammatic visual programming interface and the proposed block diagram processing algorithm. The key contributions to the field of systems modeling and simulation can be summarized as follows. Firstly, the exposition of the algorithm formally proving its correctness, offers transparency which facilitates further research and development in the field, enabling academics and professionals to adapt, enhance, or expand upon the existing capabilities of the tool. Secondly, the implementation of a Python library and tool released as an open-source solution for simulating signal processing and dynamical systems through block diagrams by integrating the proposed algorithm capable of efficiently handling multigraph representations, including those with directed cyclic graphs. Ensuring accessibility of the tool to researchers, developers, and educators fosters innovation, research and empowers educators by providing them with a versatile tool that can be used to teach complex systems modeling and simulation concepts in a practical, hands-on manner across various domains, such as control systems, electrical engineering, and computer science.
处理动态系统框图模型的算法和开源可视化编程模拟工具
几十年来,可视化图表编程和方框图一直是研究、开发和教育领域系统建模和仿真不可或缺的工具。尽管有成熟的商业和免费软件工具,但在处理表示动态系统的框图和仿真相应模型的算法方面,却缺乏可公开获取的信息。现有文献中的一个空白是缺乏处理包含有向循环图(而不仅仅是较简单的有向图)的多图的算法的数学形式化和完整建议。缺乏对此类算法实际应用的详细阐述也是一个空白。造成这一空白的原因可能是,基于框图描述的仿真系统已成为事实上的行业标准,这些系统使用的是专有解决方案,即使它们的起源可以追溯到七十多年前研究中心和大学所做的工作。为了应对这些挑战,本文总结了数据流图、信号流图、结合图和框图等相关范式的历史演变。我们提出了一种处理框图的通用算法,并介绍了一种开源 Python 软件工具,该工具实现了图解式可视化编程界面和所提出的框图处理算法。我们对系统建模与仿真领域的主要贡献可归纳如下。首先,该算法的阐述正式证明了其正确性,提供了透明度,这有利于该领域的进一步研究和开发,使学术界和专业人士能够调整、增强或扩展该工具的现有功能。其次,通过集成所提出的算法,实现了一个 Python 库和工具,作为开源解决方案发布,用于通过框图模拟信号处理和动力系统,该算法能够有效处理多图表示,包括有向循环图。确保研究人员、开发人员和教育工作者都能使用该工具,可为教育工作者提供一个多功能工具,用于在控制系统、电气工程和计算机科学等不同领域以实用、动手的方式教授复杂系统建模和仿真概念,从而促进创新和研究,并增强教育工作者的能力。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
Simulation Modelling Practice and Theory
Simulation Modelling Practice and Theory 工程技术-计算机:跨学科应用
CiteScore
9.80
自引率
4.80%
发文量
142
审稿时长
21 days
期刊介绍: The journal Simulation Modelling Practice and Theory provides a forum for original, high-quality papers dealing with any aspect of systems simulation and modelling. The journal aims at being a reference and a powerful tool to all those professionally active and/or interested in the methods and applications of simulation. Submitted papers will be peer reviewed and must significantly contribute to modelling and simulation in general or use modelling and simulation in application areas. Paper submission is solicited on: • theoretical aspects of modelling and simulation including formal modelling, model-checking, random number generators, sensitivity analysis, variance reduction techniques, experimental design, meta-modelling, methods and algorithms for validation and verification, selection and comparison procedures etc.; • methodology and application of modelling and simulation in any area, including computer systems, networks, real-time and embedded systems, mobile and intelligent agents, manufacturing and transportation systems, management, engineering, biomedical engineering, economics, ecology and environment, education, transaction handling, etc.; • simulation languages and environments including those, specific to distributed computing, grid computing, high performance computers or computer networks, etc.; • distributed and real-time simulation, simulation interoperability; • tools for high performance computing simulation, including dedicated architectures and parallel computing.
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信