An algorithm for block diagram processing and the DiaBloS tool for systems simulation
Loading...
Date
2024
Journal Title
Journal ISSN
Volume Title
Publisher
Abstract
Visual diagrammatic programming and block diagrams have been a valuable tool for systems modeling and simulation for several decades in research, development, and educational purposes. Despite the existing mature commercial and free software tools, there is no such kind of tool for the Python programming environment. Little information concerning algorithms to process block diagrams that represent dynamical systems and simulate the corresponding models can be found in the public domain. This is likely because 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. Therefore, the main contributions of this work can be summarized in: i) the development of an algorithm and its detailed description for processing block diagrams (multigraphs), ii) the development of DiaBloS, an open source software tool for Python that implements a diagrammatic visual programming interface and the associated block diagram processing algorithms. The latter contribution aims at code design simplicity, modularity, portability, extensibility of its functionality, and providing an open source tool for Python that could satisfy educational purposes while contributing to the understanding of algorithms for processing block diagrams. Other goals like performance, interface responsiveness aesthetics and code optimization were intentionally treated as secondary goals. We expect this contribution will not only serve as a basis for new developments in visual programming systems, but also provide a free open tool accessible to educators in many areas involving systems modeling and simulation. The numerical accuracy of DiaBloS has been validated to be the same as that achieved by commercial and open code-based existing integration routines implementing the fixed-step RK45 method. Application examples are also provided to demonstrate its capabilities and simplicity. This work also provides an overview of the evolution of existing graph-based modeling paradigms. This overview could also have a reference value, as it brings together many ideas that are connected, but spread in such a way that it becomes difficult to have a general articulated picture of the developments in the field of graphical programming tools and algorithms for processing multigraphs.
Description
Tesis (Master of Science in Engineering)--Pontificia Universidad Católica de Chile, 2024.
Keywords
Paquete, Librería, Programación visual, Multígrafo, Esquema de integración, Python, Diagrama de bloques, Simulación