c7574fa4516e3be6bc4991e6a9494abc0aabc1bd
[Mograsim.git] / REQUIREMENTS.MD
1 # Rechnerarchitektur GP 2019
2 #### Modularer Grafischer Schaltkreis Simulator (für die MI-Maschine)
3
4 ## Anforderungen
5
6 ### Pflichtfeatures
7 1.  Emulation der MI-Maschine (siehe Am2900ME)
8 2.  Visualisierung der MI-Maschine sehr ähnlich dem Bild der VL
9 3.  sehr gute Website, Dokumentation, Hilfe aus dem Kontextmenü heraus
10 4.  Hilfreiche Fehlermeldungen, Warnungen bei gefährlichen Operationen  
11     für uns/Entwickler: gutes Loggen, Absturzberichte
12 5.  Immer hilfreiche Tooltips zu fast allem.
13     
14
15 ### Sollte möglich sein
16 1.  Export der Ansicht
17 2.  Sicht des Assemblerprogrammierers, spezifizieren einer ISA und Nutzung
18 3.  Farben, Schriftgröße & Co. einstellbar (für Präsentation, Hell/Dunkel, Farbenblind/…)
19 4.  Entwurf eines Schaltkreises mit einem Editor
20 5.  Sprache ändern (für nicht Muttersprachler, internat. Potenzial, Erweiterungsmögl.)
21 6.  Sehr einfache Installation (Eclipse Marketplace)
22 7.  Editor sollte tooltip Einstellung erlauben
23 8.  Rückgängig
24     
25
26 ### Wunschfeatures
27 1.  Debuggen im Sinne von Breakpoints & Co.
28 2.  interaktives Tutorial in der GUI
29 3.  Zurückspulen der Simulation / Zeitleiste
30 4.  Wiederherstellungspunkt (Status)
31
32 ### Weiterführende Ideen
33 1.  x86 Modell
34 2.  ARM Modell
35     
36 ## Technologie-Stack
37 *   Git (anscheinend über Gitlab)
38 *   Eclipse RCP
39         -  (noch zu testen)
40 *   Java
41         - Version 8?
42         -  Version 10?
43         -   Version 12?
44 *   Bibliotheken
45     -   Lombok? [https://projectlombok.org/features/all](https://projectlombok.org/features/all)
46                 Sauberer und sicherer Code; aber zusätzliche Dep.
47         -   JUnit 5.4.x ? AssertJ? [http://joel-costigliola.github.io/assertj/index.html](http://joel-costigliola.github.io/assertj/index.html)
48         - (Apache Commons?)
49     Sehr weit verbreitete und gut designte & getestete Lib;  
50     aber zusätzliche Dep.
51     - Sonstiges? Logging? Log4j
52 -   Automatischer Build mit Maven? Wohl eher nicht, wegen ERPC Build
53
54 ## Meilensteine
55
56 ## Außenwirkung
57 ### Name, Abkürzung
58 ### Signet, Logo
59 ### Beschreibung
60
61 ## Sonstiges
62 ### Nützliche Links
63 [https://wiki.eclipse.org/Rich_Client_Platform](https://wiki.eclipse.org/Rich_Client_Platform) -Links
64 [https://wiki.eclipse.org/User_Interface_Guidelines](https://wiki.eclipse.org/User_Interface_Guidelines) - etwas alt, aber nützlich
65 [https://download.eclipse.org/eclipse/downloads/](https://download.eclipse.org/eclipse/downloads/) - Eclipse Project
66 [https://www.vogella.com/tutorials/EclipseRCP/article.html](https://www.vogella.com/tutorials/EclipseRCP/article.html) - Eclipse RPC Tutorial
67 [https://github.com/eclipse/gef/wiki](https://github.com/eclipse/gef/wiki) - Wiki für das Grafikframework
68
69 ### Rechtliches
70 MIT Lizenz? - [https://choosealicense.com/licenses/mit/](https://choosealicense.com/licenses/mit/)
71
72   
73
74 >MIT License
75 >
76 >Copyright (c) 2019 Christian Femers, Daniel Kirschten, Fabian Stemmler
77 >
78
79 >
80 >Permission is hereby granted, free of charge, to any person obtaining a copy
81 >of this software and associated documentation files (the "Software"), to deal
82 >in the Software without restriction, including without limitation the rights
83 >to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
84 >copies of the Software, and to permit persons to whom the Software is
85 >furnished to do so, subject to the following conditions:
86 >
87 >The above copyright notice and this permission notice shall be included in all
88 >copies or substantial portions of the Software.
89 >
90 >THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
91 >IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
92 >FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
93 >AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
94 >LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
95 >OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
96 >SOFTWARE.
97
98 Muss ggf. Eclipse Public License verwendet werden wegen Copyleft?