Yeni bir Julia tabanlı sistem tanımlama dili ve benzetim ortamı: JuSDL

Bu çalışmada, Julia programlama dili tabanlı bir tanımlayıcı sistem dili ve amaca yönelik hızlı ve etkili sistem benzetimlerine ve çevrimiçi ve çevrimdışı çözümlemelerine olanak sağlayan bir benzetim ortamı geliştirilmiştir. Geliştirilen benzetim ortamında ayrık zamanlı ya da sürekli zamanlı, statik ya da dinamik sistemlerin benzetimleri mümkündür. Özellikle, adi, rastgele adi, rassal, cebirsel, gecikmeli türev denklemleri ve ayrık fark denklemleri gibi çok farklı denklem türleri ile modellenen dinamik sistemlerin benzetimi yapılabilmektedir. Benzetim sırasında modelin bağlantıları üzerinden akan veri çevrimiçi ve çevrimdışı olarak işlenebilmekte ve özelleşmiş çözümlemeler yapılabilmektedir. Bu çözümlemelerin, standart Julia kütüphanesi ya da çeşitli Julia paketleri kullanılarak kolaylıkla tanımlanabilecek eklentiler ile de zenginleştirilmesi mümkündür. Benzetim model bileşenlerinin bireysel ve örnekleme zaman aralıklarında eşzamanlı ve paralel evrilmesi ile yapılır. Bileşenlerin birbirinden bağımsız evrilmesi farklı matematiksel denklemler ile ifade edilen bileşenlerden oluşan modellerin benzetimine olanak sağlarken; bileşenlerin eşzamanlı ve paralel evrilmesi ise benzetim hızını artırmaktadır.

A novel Julia based system description language and simulation environment: JuSDL

In this study, a Julia programming language based system description language and simulation environment that enables fast and effective system simulations together with online and offline data analysis is introduced. In the simulation environment developed, it is possible to simulate discrete time or continuous time, static or dynamical systems. In particular, it is possible to simulate dynamical systems modeled by different types of equations, such as the ordinary differential, random ordinary differential, stochastic differential, differential-algebraic, delayed differential equations, and discrete-time difference equations. During the simulation, the data flowing through the links of the model can be processed online and offline, and specialized analysis can be performed. These analyzes can also be enriched with plugins that can be easily defined using the standard Julia library or various Julia packages. The simulation is performed by evolving the model components individually and parallelly between sampling time intervals. The independent evolution of the components allows the simulation of the models consisting of the components represented by different mathematical equations, while the parallel evolution of components increases the simulation speed.

___

  • [1] Elmqvist H. A Structured Model Language for Large Continuous Systems. PhD Thesis, Lund Institute of Technology, Lund, Sweden, 1978.
  • [2] Nytsch-Geusen C, Ernst T, Nordwig A., Schwarz P, Schneider P, Vetter M, Wittwer C, Holm A, Nouidui T, Leopold J, Schmidt G, Mattes. A. “Advanced Modeling and Simulation Techniques in MOSILAB: A System Development Case Study”. Proceedings of the 5th International Modelica Conference, Vienna, Austria, 4-5 September 2006.
  • [3] Zimmer D. “Introducing sol: a general methodology for equation-based modeling of variable-structure systems”. Proceedings of the 6th International Modelica Conference, Bielefeld, Germany, 3-4 May 2008.
  • [4] Mosterman PJ. “HYBRSIM-A modeling and simulation environment for hybrid bond graphs”. Proceedings of the Institution of Mechanical Engineers, Part I: Journal of Systems and Control Engineering, 216(1), 35-46, 2002.
  • [5] Barton PI. The Modelling and Simulation of Combined Discrete/Continuous Processes. PhD. Thesis, Imperial College of Science, Technology and Medicine, London, United Kingdom, 1992.
  • [6] Van Beek DA. “Variables and Equations in Hybrid Systems with Structural Changes”. Proc. 13th European Simulation Symposium, Marseille, France, 18-20 October 2001.
  • [7] Giorgidze G, Nilsson H. “Higher-Order Non-Causal modelling and simulation of structurally dynamic systems”. Proceedings of the 7th International Modelica Conference, Como, Italy, 20-22 September 2009.
  • [8] Pfeiffer, A, Hellerer, M, Hartweg, S, Otter, M, Reiner, M. “PySimulator-A simulation and analysis environment in Python with plugin infrastructure”. 9th International Modelica Conference, Munich, Germany, 3-5 September 2012.
  • [9] Mathworks. “Simulink-Simulation and Model-Based Design”. https://www.mathworks.com/products/simulink.html (18.03.2020).
  • [10] Coetzee, E. “Dynamical Systems Toolbox”. https://www.mathworks.com/matlabcentral/fileexchange/32210-dynamical-systems-toolbox (18.03.2020).
  • [11] Stewart, H, Breakspear, Michael. Handbook for the Brain Dynamics Toolbox. Brisbane, QLD: QIMR Berghofer Medical Research Institute, 2017.
  • [12] Neirynck N. Advances in Numerical Bifurcation Software: MatCont. PhD Thesis, Ghent University, Ghent, Belgium, 2019.
  • [13] Datseris G. “DynamicalSystems. jl: A julia software library for chaos and nonlinear dynamics.”. Journal of Open Source Software, 3(23), 598-602 2018.
  • [14] Rackauckas C, Nie Q. “Differential equations.jl-a performant and feature-rich ecosystem for solving differential equations in julia”. Journal of Open Research Software, 2017. https://doi.org/10.5334/jors.15.
  • [15] Dokuz Eylül Üniversitesi. “Julia Tabanlı Sistem Tanımlama Dili ve Benzetim Ortamı: JuSDL”. https://imel.eee.deu.edu.tr/git/JuSDL.jl.git (18.03.2020).
  • [16] Julia Computing. “The Julia Programming Language”. https://julialang.org (18.03.2020).
  • [17] Bezanson J, Edelman A, Karpinski S, Shah VB. “Julia: a fresh approach to numerical computing”. SIAM Review, 59, 65-98, 2017.
  • [18] Bezanson J, Karpinski S, Shah VB, Edelman A. “Julia: A Fast Dynamic Language for Technical Computing”. https://arxiv.org/abs/1209.5145 (18.03.2020)
  • [19] Matei I, Bock C. “Modeling Methodologies and Simulation for Dynamical Systems”. National Institute of Standards and Technology, US Department of Commerce, 7875, 2012.
  • [20] Lamego MM. “Adaptive structures with algebraic loops”. IEEE Transactions on Neural Networks, 12, 33-42, 2001.
  • [21] Van Der Schaft AJ, Schumacher JM. An Introduction to Hybrid Dynamical Systems. London, United Kingdom, Springer, 2000.
  • [22] Johnson JB. “Thermal agitation of electricity in conductors”. Physical Review, 1928. https://doi.org/10.1103/PhysRev.32.97.
  • [23] Matsumoto T, Chua L, Komuro M. “The Double Scroll”. IEEE Transactions on Circuits and Systems, 32, 797-818, 1985.
  • [24] Kloeden PE, Platen E. Numerical Solution of Stochastic Differential Equations. Berlin, Germany, Springer, 2013.
  • [25] Rosenstein MT, Collins JJ, De Luca CJ. “A Practical Method for Calculating Largest Lyapunov Exponents from Small Data Sets”. Physica D: Nonlinear Phenomena, 65, 117-134, 1993.
  • [26] Erdös P, Renyi A. “On random graphs I”. Publicationes Mathematicae, 6, 290-297, 1959.
  • [27] Mathworks. “MATLAB”. https://www.mathworks.com/products/matlab.html (18.03.202)
  • [28] Open Source Modelica Consortium. “OpenModelica”. https://www.openmodelica.org/ (18.03.2020).
Pamukkale Üniversitesi Mühendislik Bilimleri Dergisi-Cover
  • ISSN: 1300-7009
  • Başlangıç: 1995
  • Yayıncı: PAMUKKALE ÜNİVERSİTESİ