BlueM.Opt Code: Difference between revisions
Jump to navigation
Jump to search
(aktualisiert r1008) |
(→Projektstruktur: angepasst an v1.2) |
||
Line 3: | Line 3: | ||
==Projektstruktur== | ==Projektstruktur== | ||
Der Code besteht aus den folgenden Projekten, welche in einer Projektmappe zusammengeführt werden: | Der Code besteht aus den folgenden Assemblies (Projekten), welche in einer Projektmappe zusammengeführt werden: | ||
* '''<u>EVO | * '''<u>EVO</u>''': Startprojekt | ||
** Form1.vb: Startformular | |||
** | |||
** EVO_Einstellungen.vb: Steuerelement für das Setzen der Optimierungseinstellungen | ** EVO_Einstellungen.vb: Steuerelement für das Setzen der Optimierungseinstellungen | ||
** EVO_Opt_Verlauf: Steuerelement, dass den Verlauf der Optimierung anzeigt | ** EVO_Opt_Verlauf: Steuerelement, dass den Verlauf der Optimierung anzeigt | ||
** EVOMOD.vb: | ** EVOMOD.vb: | ||
** | ** ... | ||
* '''<u>EVO.Common | * '''<u>EVO.Apps</u>''': Assembly enthält Klassen für Evaluierungsanwendungen | ||
** Sim.vb: Basisklasse für Simulationsanwendungen | |||
** '''BlueM''': | |||
*** BlueM.vb: Anbindung an [[BlueM]] | |||
*** BlueM.dll: BlueM Rechenkern | |||
*** IHWB.BlueM.DLLAdapter.dll: .NET Wrapper zum Ansprechen des BlueM Rechenkerns (siehe [[BlueM.DLLAdapter]]) | |||
*** SKos.vb: | |||
** '''S_CAN:''' Anwendung S:CAN (Sonde Graz) | |||
*** Scan.vb | |||
** '''SMUSI''': | |||
*** Smusi.vb: Anbindung an [[SMUSI]] | |||
*** IHWB.SMUSI.DLLAdapter.dll: .NET Wrapper zum Ansprechen des SMUSI Rechenkerns | |||
** '''SWMM''' | |||
*** SWMM.vb: Anbindung an [[SWMM]] | |||
*** Swmm_Iface.vb | |||
*** SWMM5.dll: SWMM Rechenkern | |||
** '''Testprobleme:''' [[Testprobleme]] (Sinusfunktion, Deb, etc.) | |||
*** Testprobleme.vb | |||
** SensiPlot.vb: Sensitivitätsanalyse | |||
** TSP.vb: Traveling Salesman Problem | |||
* '''<u>EVO.Common</u>''': Gemeinsam genutzte Objekte | |||
** Constants.vb: Modul enthält Konstanten und Enums | ** Constants.vb: Modul enthält Konstanten und Enums | ||
** Constraint.vb: Klasse für Constraint | ** Constraint.vb: Klasse für Constraint | ||
** EVO_Settings.vb: Klasse, die die EVO_Einstellungen abbildet (XML-Serialisierbar) | ** EVO_Settings.vb: Klasse, die die EVO_Einstellungen abbildet (XML-Serialisierbar) | ||
** Individuum.vb: | ** Individuum.vb: Basisklasse für Individuen | ||
** Manager.vb: Modul verwaltet die Zielfunktionen und Constraints | ** Manager.vb: Modul verwaltet die Zielfunktionen und Constraints | ||
** OptParameter.vb: Klasse für OptParameter | ** OptParameter.vb: Klasse für OptParameter | ||
** Provider.vb: Modul stellt Provider zur Verfügung (z.B. FortranProvider) | ** Provider.vb: Modul stellt Provider zur Verfügung (z.B. FortranProvider) | ||
** Ziel.vb: Klasse für Zielfunktion | ** Ziel.vb: Klasse für Zielfunktion | ||
* '''<u>EVO.Diagramm</u>''': Diagramm- und Zeichenfunktionalitäten | |||
** Diagramm.vb: Klasse, die von Steema.TeeChart.TChart erbt und diese Klasse erweitert | |||
** Hauptdiagramm.vb: Abkömmling von Diagramm | |||
** Indicatordiagramm.vb: Abkömmling von Diagramm, zeigt das Hypervolumen an | |||
** Scatterplot.vb: Form für die Anzeige einer Scatterplot-Matrix | |||
* '''<u>EVO.MO_Indicators</u>''': Assembly zur Berechnung von Multi-Objective Indicators wie Hypervolumen, etc. | |||
* '''<u>EVO.Kern:</u>''' Der Optimierungsalgorithmus selbst. | * '''<u>EVO.Kern:</u>''' Der Optimierungsalgorithmus selbst. | ||
Line 47: | Line 54: | ||
** CES.vb: Combinatorial Evolution Strategy ([[CES]]) | ** CES.vb: Combinatorial Evolution Strategy ([[CES]]) | ||
* '''Wave | * '''<u>EVO.OptResult</u>''': Assembly verwaltet das Optimierungsergebnis mit zugehöriger Datenbank | ||
* '''<u>Wave</u>''': Zeitreihenverwaltung und -darstellung (siehe [[Wave]]) | |||
* '''IHA.Win | * '''<u>IHA.Win</u>''': Berechnung von IHA-Parametern (siehe [[Zielfunktion IHA]]) | ||
==Code Formatierung== | ==Code Formatierung== |
Revision as of 02:29, 22 August 2008
Projektstruktur
Der Code besteht aus den folgenden Assemblies (Projekten), welche in einer Projektmappe zusammengeführt werden:
- EVO: Startprojekt
- Form1.vb: Startformular
- EVO_Einstellungen.vb: Steuerelement für das Setzen der Optimierungseinstellungen
- EVO_Opt_Verlauf: Steuerelement, dass den Verlauf der Optimierung anzeigt
- EVOMOD.vb:
- ...
- EVO.Apps: Assembly enthält Klassen für Evaluierungsanwendungen
- Sim.vb: Basisklasse für Simulationsanwendungen
- BlueM:
- BlueM.vb: Anbindung an BlueM
- BlueM.dll: BlueM Rechenkern
- IHWB.BlueM.DLLAdapter.dll: .NET Wrapper zum Ansprechen des BlueM Rechenkerns (siehe BlueM.DLLAdapter)
- SKos.vb:
- S_CAN: Anwendung S:CAN (Sonde Graz)
- Scan.vb
- SMUSI:
- Smusi.vb: Anbindung an SMUSI
- IHWB.SMUSI.DLLAdapter.dll: .NET Wrapper zum Ansprechen des SMUSI Rechenkerns
- SWMM
- SWMM.vb: Anbindung an SWMM
- Swmm_Iface.vb
- SWMM5.dll: SWMM Rechenkern
- Testprobleme: Testprobleme (Sinusfunktion, Deb, etc.)
- Testprobleme.vb
- SensiPlot.vb: Sensitivitätsanalyse
- TSP.vb: Traveling Salesman Problem
- EVO.Common: Gemeinsam genutzte Objekte
- Constants.vb: Modul enthält Konstanten und Enums
- Constraint.vb: Klasse für Constraint
- EVO_Settings.vb: Klasse, die die EVO_Einstellungen abbildet (XML-Serialisierbar)
- Individuum.vb: Basisklasse für Individuen
- Manager.vb: Modul verwaltet die Zielfunktionen und Constraints
- OptParameter.vb: Klasse für OptParameter
- Provider.vb: Modul stellt Provider zur Verfügung (z.B. FortranProvider)
- Ziel.vb: Klasse für Zielfunktion
- EVO.Diagramm: Diagramm- und Zeichenfunktionalitäten
- Diagramm.vb: Klasse, die von Steema.TeeChart.TChart erbt und diese Klasse erweitert
- Hauptdiagramm.vb: Abkömmling von Diagramm
- Indicatordiagramm.vb: Abkömmling von Diagramm, zeigt das Hypervolumen an
- Scatterplot.vb: Form für die Anzeige einer Scatterplot-Matrix
- EVO.MO_Indicators: Assembly zur Berechnung von Multi-Objective Indicators wie Hypervolumen, etc.
- EVO.Kern: Der Optimierungsalgorithmus selbst.
- EVO.OptResult: Assembly verwaltet das Optimierungsergebnis mit zugehöriger Datenbank
- Wave: Zeitreihenverwaltung und -darstellung (siehe Wave)
- IHA.Win: Berechnung von IHA-Parametern (siehe Zielfunktion IHA)
Code Formatierung
Es sollte die im VS integrierte Code-Dokumentationsfunktion genutzt werden ("XML-Kommentare"). Anleitung dazu bietet folgender Screencast.
Formatierung von Überschriften: <vbnet>
- Region "Überschrift1"
'Überschrift 1 (z.B. Unterteilung zwischen Eigenschaften und Methoden '####################################################################
'Überschrift 2 (z.B. Größere Gruppen von Funktionen/Subs) 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
<summary> XML-Kommentare für Methoden, Eigenschaften, Felder etc. </summary> Sub Beispiel()
'Untertitel 1 'xxxxxxxxxxxx
'Untertitel 2 '============
'Untertitel 3 '------------
'Normale Kommentare
End Sub
- End Region 'Überschrift1
</vbnet>
Tokens
Folgende Tokens werden im Code benutzt:
Token | Bedeutung |
---|---|
ACHTUNG | Wichtiger Kommentar |
BUG | Betrifft einen Bug in Bugzilla |
TODO | Noch zu tun |
HACK | Temporäre Lösung |
UNDONE | ??? |
CHECK | ??? |
UPGRADE | Kleine mögliche Erweiterungen innerhalb von Funktionen |
UPGRADE_NOTE | Beim Update von VB6 auf VB generierte Kommentare |
UPGRADE_WARNING | Beim Update von VB6 auf VB generierte Kommentare |
UPGRADE_ISSUE | Beim Update von VB6 auf VB generierte Kommentare |