https://github.com/chrispyl/thesis_systems_dynamic_modeling_with_clojure
Code for my diploma thesis 'Systems Dynamics Modeling with Clojure'
https://github.com/chrispyl/thesis_systems_dynamic_modeling_with_clojure
clojure javascript parallel-programming
Last synced: 4 months ago
JSON representation
Code for my diploma thesis 'Systems Dynamics Modeling with Clojure'
- Host: GitHub
- URL: https://github.com/chrispyl/thesis_systems_dynamic_modeling_with_clojure
- Owner: chrispyl
- Created: 2018-08-12T17:19:40.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2018-08-16T09:31:19.000Z (over 7 years ago)
- Last Synced: 2025-03-10T02:03:40.666Z (10 months ago)
- Topics: clojure, javascript, parallel-programming
- Language: Clojure
- Homepage:
- Size: 1.39 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
#### This project contains the methods presented in my [thesis](https://github.com/chrispyl/Thesis_Systems_Dynamic_Modeling_with_Clojure/blob/master/Thesis.pdf): Systems Dynamic Modeling with Clojure, as well as the web application developed. The thesis supervisor was [Ioannis Athanasiadis](http://www.athanasiadis.info/).
## In summary
It was examined how Clojure can be used to achieve parallelism across the method and parallelism across the system for dynamic system simulation. For each type of parallelism, several methods were created using different kinds of Clojure references and data structures in order to determine which method provided the fastest execution times. In addition, an [application](/infixapp/) was created, where the user could simulate dynamic systems and inspect the results in plots.
##### Parallel methods, serial methods, test systems:
* *Parallelism across the method*
* [method 1](https://github.com/chrispyl/Thesis_Systems_Dynamic_Modeling_with_Clojure/blob/master/Parallelism%20across%20the%20method/method_1.clj)
* [method 2](https://github.com/chrispyl/Thesis_Systems_Dynamic_Modeling_with_Clojure/blob/master/Parallelism%20across%20the%20method/method_2.clj)
* [method 3](https://github.com/chrispyl/Thesis_Systems_Dynamic_Modeling_with_Clojure/blob/master/Parallelism%20across%20the%20method/method_3.clj)
* [method 3 variation 1](https://github.com/chrispyl/Thesis_Systems_Dynamic_Modeling_with_Clojure/blob/master/Parallelism%20across%20the%20method/method_3_variation_1.clj)
* [method 4](https://github.com/chrispyl/Thesis_Systems_Dynamic_Modeling_with_Clojure/blob/master/Parallelism%20across%20the%20method/method_4.clj)
* [method 4 variation 1](https://github.com/chrispyl/Thesis_Systems_Dynamic_Modeling_with_Clojure/blob/master/Parallelism%20across%20the%20method/method_4_variation_1.clj)
* [method 4 variation 2](https://github.com/chrispyl/Thesis_Systems_Dynamic_Modeling_with_Clojure/blob/master/Parallelism%20across%20the%20method/method_4_variation_2.clj)
* [method 4 variation 3](https://github.com/chrispyl/Thesis_Systems_Dynamic_Modeling_with_Clojure/blob/master/Parallelism%20across%20the%20method/method_4_variation_3.clj)
* *Parallelism across the system*
* [method 1](https://github.com/chrispyl/Thesis_Systems_Dynamic_Modeling_with_Clojure/blob/master/Parallelism%20across%20the%20system/method_1.clj)
* [method 2](https://github.com/chrispyl/Thesis_Systems_Dynamic_Modeling_with_Clojure/blob/master/Parallelism%20across%20the%20system/method_2.clj)
* [method 2 variation 1](https://github.com/chrispyl/Thesis_Systems_Dynamic_Modeling_with_Clojure/blob/master/Parallelism%20across%20the%20system/method_2_variation_1.clj)
* [method 3](https://github.com/chrispyl/Thesis_Systems_Dynamic_Modeling_with_Clojure/blob/master/Parallelism%20across%20the%20system/method_3.clj)
* [method 3 variation 1](https://github.com/chrispyl/Thesis_Systems_Dynamic_Modeling_with_Clojure/blob/master/Parallelism%20across%20the%20system/method_3_variation_1.clj)
* *Serial methods*
* [for parallelism across the method](https://github.com/chrispyl/Thesis_Systems_Dynamic_Modeling_with_Clojure/blob/master/Serial%20methods/serial_method_for_parallelism_across_the_method.clj)
* [for parallelism across the system](https://github.com/chrispyl/Thesis_Systems_Dynamic_Modeling_with_Clojure/blob/master/Serial%20methods/serial_method_for_parallelism_across_the_system.clj)
* *Test systems*
* [for parallelism across the method](https://github.com/chrispyl/Thesis_Systems_Dynamic_Modeling_with_Clojure/blob/master/Test%20systems/for_parallelism_across_the_method.clj)
* [for parallelism across the system](https://github.com/chrispyl/Thesis_Systems_Dynamic_Modeling_with_Clojure/blob/master/Test%20systems/for_parallelism_across_the_system.clj)
##### Web application:
To run the [web application](/infixapp/), head to the 'infixapp' folder in the command line and type 'lein uberjar'. Two executables will be created inside the 'target' folder.