Skip to content

Commit

Permalink
Merge pull request #10 from bmwcarit/ISSUE_#5_MemoryManagerRedesign
Browse files Browse the repository at this point in the history
Issue #5 memory manager redesign
  • Loading branch information
KGergo88 authored Aug 7, 2019
2 parents d220266 + 4a790dc commit 4b4aaf6
Show file tree
Hide file tree
Showing 85 changed files with 43,415 additions and 34,039 deletions.
7 changes: 7 additions & 0 deletions .codacy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---

# For options see: https://support.codacy.com/hc/en-us/articles/115002130625-Codacy-Configuration-File

duplication:
exclude_paths:
- tests/*
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -16,3 +16,6 @@ genDoc/call_graph_uml/*
# Exclude PyCharm config files but include inspection profiles
.idea/*
!.idea/inspectionProfiles/

# Exclude the coverate reports
tests/other_files/coverage/reports/*
1 change: 1 addition & 0 deletions .idea/inspectionProfiles/profiles_settings.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

11 changes: 6 additions & 5 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,13 +42,14 @@ git:
submodules: false

script:
- tree --charset unicode ../../
- tree -a -I .git ../
- find . -type f -name "*.py" -exec pylint -j 0 --exit-zero {} \;
- python -m unittest test
- pushd ./tests
- coverage run --branch test__cmd-line.py
- cd tests/functional_tests
- python -m unittest -v
- cd ../unit_tests
- coverage run -m unittest -v
- tree -a -I .git ../
- coverage report
- coverage report --omit="/home/travis/virtualenv/*","/home/travis/build/bmwcarit/Emma/tests/*"
- coverage xml

after_success:
Expand Down
7 changes: 4 additions & 3 deletions CONTRIBUTORS
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ N: Full name
I: Initials (besides the name initials can be used (alternatively to someones name) to identify someones comments)
E: Email address
K: PGP key ID and fingerprint
F: Files and directories with globbing patterns patterns
F: Files and directories with globbing patterns
L: Link providing more information about this individual
D: Description
C: Country
Expand All @@ -21,7 +21,7 @@ An entry ends with two newlines.
````````````````````
N: Marcel Schmalzl
I: MSc
E: marcel.schmalzl@partner.bmw.de
E: marcel.schmalzl( .at)partner.bmw.de
F: *
D: Emma originator
L: https://github.com/holzkohlengrill/
Expand All @@ -38,7 +38,8 @@ C: Germany
````````````````````
N: András Gergő Kocsis
I: AGK
E: kocsisandrasgergo@gmail.com
E: kocsisandrasgergo<AT GMAIL>
F: *
D: Emma maintainer
L: https://github.com/KGergo88
C: Germany
24 changes: 11 additions & 13 deletions README.html
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,7 @@
</head>
<body>

<p><a href="https://www.codacy.com/app/holzkohlengrill/Emma?utm_source=github.com&amp;utm_medium=referral&amp;utm_content=bmwcarit/Emma&amp;utm_campaign=Badge_Grade"><img alt="Codacy Badge" src="https://api.codacy.com/project/badge/Grade/8c6208f6f0bf4d429b13e2fa701aa780" /></a> <a href="https://www.codacy.com/app/holzkohlengrill/Emma?utm_source=github.com&amp;utm_medium=referral&amp;utm_content=bmwcarit/Emma&amp;utm_campaign=Badge_Coverage"><img alt="Codacy Badge" src="https://api.codacy.com/project/badge/Coverage/8c6208f6f0bf4d429b13e2fa701aa780" /></a> <a href="https://travis-ci.org/bmwcarit/Emma"><img alt="Build Status" src="https://travis-ci.org/bmwcarit/Emma.svg?branch=master" /></a> <a href="https://www.gnu.org/licenses/gpl-3.0"><img alt="License: GPL v3" src="https://img.shields.io/badge/License-GPLv3-blue.svg" /></a></p>
<h1 id="emma">Emma</h1>
<p><strong>Emma Memory and Mapfile Analyser (Emma)</strong></p>
<blockquote>
Expand Down Expand Up @@ -5427,7 +5428,7 @@ <h1 id="contents">Contents</h1>
<li><a href="#contribute">Contribute</a></li>
<li><a href="#dependencies--licences">Dependencies &amp; Licences</a></li>
</ol>
<p>Install dependencies: <code>pip3 install Pygments Markdown matplotlib pandas pypiscout</code></p>
<p>Install dependencies: Python 3.6 or higher; <code>pip3 install Pygments Markdown matplotlib pandas pypiscout</code></p>
<h1 id="general-workflow">General Workflow</h1>
<p>The following figure shows a possible workflow using Emma:</p>
<div align="center"> <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABz4AAANNCAYAAADmpNg1AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz
Expand Down Expand Up @@ -7659,15 +7660,13 @@ <h2 id="project-files-are-already-present">Project files are already present</h2
<ol>
<li>Create intermediate <code>.csv</code> from mapfiles with Emma:</li>
</ol>
<div class="codehilite"><pre><span></span>python emma.py -p .<span class="se">\M</span>yProjectFolder --map .<span class="se">\M</span>yProjectFolder<span class="se">\m</span>apfiles --dir .<span class="se">\M</span>yProjectFolder<span class="se">\a</span>nalysis --subdir Analysis_1
</pre></div>
<pre class="codehilite"><code class="language-bash">python emma.py -p .\MyProjectFolder --map .\MyProjectFolder\mapfiles --dir .\MyProjectFolder\analysis --subdir Analysis_1</code></pre>


<ol>
<li>Generate reports and graphs with Emma Visualiser:</li>
</ol>
<div class="codehilite"><pre><span></span>python emma_vis.py -p .<span class="se">\M</span>yProjectFolder --dir .<span class="se">\M</span>yProjectFolder<span class="se">\a</span>nalysis --subdir Analysis_1 -q
</pre></div>
<pre class="codehilite"><code class="language-bash">python emma_vis.py -p .\MyProjectFolder --dir .\MyProjectFolder\analysis --subdir Analysis_1 -q </code></pre>


<h2 id="project-files-that-have-to-be-created">Project files that have to be created</h2>
Expand Down Expand Up @@ -8588,14 +8587,13 @@ <h2 id="project-files-that-have-to-be-created">Project files that have to be cre
" alt="./doc/images/globalConfigScheme.png" width="60%" /> </div>

<p>A <code>globalConfig.json</code> could look like this:</p>
<div class="codehilite"><pre><span></span><span class="p">{</span>
<span class="nt">&quot;configID1&quot;</span><span class="p">:</span> <span class="p">{</span>
<span class="nt">&quot;addressSpacesPath&quot;</span><span class="p">:</span> <span class="s2">&quot;addressSpaces.json&quot;</span><span class="p">,</span>
<span class="nt">&quot;sectionsPath&quot;</span><span class="p">:</span> <span class="s2">&quot;sections.json&quot;</span><span class="p">,</span>
<span class="nt">&quot;patternsPath&quot;</span><span class="p">:</span> <span class="s2">&quot;patterns.json&quot;</span>
<span class="p">}</span>
<span class="p">}</span>
</pre></div>
<pre class="codehilite"><code class="language-json">{
&quot;configID1&quot;: {
&quot;addressSpacesPath&quot;: &quot;addressSpaces.json&quot;,
&quot;sectionsPath&quot;: &quot;sections.json&quot;,
&quot;patternsPath&quot;: &quot;patterns.json&quot;
}
}</code></pre>


<h1 id="full-documentation">Full documentation</h1>
Expand Down
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,12 +23,12 @@ Holding the aforementioned **augmented data** makes it easy to **detect issues i

The Emma visualiser helps you to create nice plots and reports in a `.png` and `.html` and markdown file format.

The whole Emma tool suite contains command line options making it convenient to be **run on a build server** like `-Werror` (treat all warnings as errors) or `--no-prompt` (exit and fail on user prompts; user prompts can happen when ambiguous configurations appear such as multiple matches for one configured map files).
The whole Emma tool suite contains command line options making it convenient to be **run on a build server** like `--Werror` (treat all warnings as errors) or `--no-prompt` (exit and fail on user prompts; user prompts can happen when ambiguous configurations appear such as multiple matches for one configured map files).

------------------------
<br>

<div align="center"> <img src="./doc/images/architecture.png" width="100%" /> </div>
<div align="center"> <img src="./doc/images/architecture.png" width="100%"> </div>

------------------------
# Contents
Expand All @@ -46,7 +46,7 @@ Install dependencies: Python 3.6 or higher; `pip3 install Pygments Markdown matp
# General Workflow
The following figure shows a possible workflow using Emma:

<div align="center"> <img src="./doc/images/workflow.png" width="100%" /> </div>
<div align="center"> <img src="./doc/images/workflow.png" width="100%"> </div>

**Emma** - as the core component - produces an intermediate `.csv` file. Inputs are mapfiles and JSON files (for configuration (memory layout, sizes, ...)). From this point you are very flexible to choose your own pipeline. You could

Expand Down Expand Up @@ -96,7 +96,7 @@ A basic configuration can be short per file. For complex systems you can choose

One main concept includes the `globalConfig.json`. You can see this as meta-config. Each configuration ID (configID) is a separately conducted analysis. Per configID you state individually the configuration files you want to use for this exact analysis. Herewith you can mix and match any combination of subconfigs you prefer.

<div align="center"> <img src="./doc/images/globalConfigScheme.png" width="60%" /> </div>
<div align="center"> <img src="./doc/images/globalConfigScheme.png" width="60%"> </div>

A `globalConfig.json` could look like this:

Expand Down
Loading

0 comments on commit 4b4aaf6

Please sign in to comment.