Skip to content
Snippets Groups Projects
Commit 081a9240 authored by marrobl's avatar marrobl
Browse files

Imagenes ordenadas y development view desarrollada

parent f4eacbda
Branches
No related tags found
1 merge request!1Develop
......@@ -8,47 +8,81 @@ The software architecture deals with abstraction, with decomposition and composi
## The Development view
The development view describes the static organization of the software in its development enviroment.
The development view describes the static organization of the software in its development environment.
<!-- Falta explicar todas las vistas... -->
<!-- Falta explicar todas las vistas... igual hago una lista mejor para explicarlas por encima y ya -->
## The "4+1" Model View of PySD
### The development view of PySD
To represent the architecture of the fragments which made up *PySD* is used a package diagram. In that diagram, it represented the hierarchical architecture of pysd packages excluding the relationship between its modules.
To represent the architecture of the fragments that make up *PySD* a package diagram is used, represented in [PySD development view]. In this diagram, the hierarchical architecture of pysd packages is represented, excluding the relationship between their modules. In [PySD relationships between modules] we can find the relationships between pysd modules.
![PySD development view](/images/development-view/packages.png)
![PySD development view]
![PySD relationships between modules](/images/development-view/relationship-modules.png)
**pysd** is the main package that includes all the others and all the system logic. It is necessary to differentiate between package called pysd and module called pysd. The latter allows the user to interact with the system and has adequate functions to be able to translate a Vensim or XMILE model, and, in addition, to execute the generated translation. However, the XMILE translation is not defined in this document.
**pysd** module interacts with modules in the **py_backend** package. This package has two sub-packages: **vensim** and **xmile**. Vensim package contains all the needed logic to translate Vensim models.
In [PySD relationships between modules] the relationships between the main modules are represented. For clarity, each module has been represented by with name package.
![PySD relationships between modules]
As previously discussed, users interact with **pysd** module. In turn, pysd takes care of translating the Vensim model to the Python model by interacting with vensim2py, which creates the correct Python translation. In this process, vensim2py interacts and uses the functions of the modules: external, utils and builder. To carry out the execution process, pysd uses the functions module.
## The logical view of PySD
![Main modules of PySD](/images/logical-view/main-modules.png)
![Simplified vensim2py module](/images/logical-view/vensim2py-simply.png)
![Classes of pysd grammars](/images/logical-view/grammar1.png)
![Classes of pysd grammars](/images/logical-view/grammar2.png)
![Simplified functions module](/images/logical-view/functions-simply.png)
![Functions module](/images/logical-view/functions1.png)
![Functions module](/images/logical-view/functions2.png)
![Builder module](/images/logical-view/builder-module.png)
![Utils module](/images/logical-view/utils-module.png)
![Simplified external module](/images/logical-view/external-simply.png)
![External module](/images/logical-view/external1.png)
![External module](/images/logical-view/external2.png)
![Decorators module](/images/logical-view/decorators-module.png)
![Main modules of PySD]
![Simplified vensim2py module]
![Classes of pysd grammars]
![Classes of pysd grammars2]
![Simplified functions module]
![Functions module]
![Functions module]
![Builder module]
![Utils module]
![Simplified external module]
![External module]
![External module2]
![Decorators module]
## The process view of PySD
![Process view 1](/images/process-view/main1.jpg)
![Process view 2](/images/process-view/divide-sentences2.png)
![Process view 3](/images/process-view/macro-list3.png)
![Process view 4](/images/process-view/translate-section4.png)
![Process view 5](/images/process-view/namespace5.png)
![Process view 6](/images/process-view/parse-components6.png)
![Process view 1]
![Process view 2]
![Process view 3]
![Process view 4]
![Process view 5]
![Process view 6]
## The pyshical view of PySD
## The physical view of PySD
## Scenarios
<!-- Images -->
<!-- Development view -->
[PySD development view]:/images/development-view/packages.png "PySD development view"
[PySD relationships between modules]:/images/development-view/relationship-modules.png "PySD relationships between modules"
<!-- Logical view -->
[Main modules of PySD]:/images/logical-view/main-modules.png "Main modules of PySD"
[Simplified vensim2py module]:/images/logical-view/vensim2py-simply.png "Simplified vensim2py module"
[Classes of pysd grammars]:/images/logical-view/grammar1.png "Classes of pysd grammars"
[Classes of pysd grammars2]:/images/logical-view/grammar2.png "Classes of pysd grammars"
[Simplified functions module]:/images/logical-view/functions-simply.png "Simplified functions module"
[Functions module]:/images/logical-view/functions1.png "Functions module"
[Functions module]:/images/logical-view/functions2.png "Functions module"
[Builder module]:/images/logical-view/builder-module.png "Builder module"
[Utils module]:/images/logical-view/utils-module.png "Utils module"
[Simplified external module]:/images/logical-view/external-simply.png "Simplified external module"
[External module]:/images/logical-view/external1.png "External module"
[External module2]:/images/logical-view/external2.png "External module"
[Decorators module]:/images/logical-view/decorators-module.png "Decorators module"
<!-- Process view -->
[Process view 1]:/images/process-view/main1.jpg "Process view 1"
[Process view 2]:images/process-view/divide-sentences2.png "Process view 2"
[Process view 3]:/images/process-view/macro-list3.png "Process view 3"
[Process view 4]:/images/process-view/translate-section4.png "Process view 4"
[Process view 5]:/images/process-view/namespace5.png "Process view 5"
[Process view 6]:/images/process-view/parse-components6.png "Process view 6"
<!-- References -->
[4+1 model view]: https://www.cs.ubc.ca/~gregor/teaching/papers/4+1view-architecture.pdf
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment