BlueM.Opt Code: Difference between revisions

From BlueM
Jump to navigation Jump to search
(→‎Code Formatierung: XML-Kommentare)
(aktualisiert r962)
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 Projekten, welche in einer Projektmappe zusammengeführt werden:
* '''EVO:''' Zentrale Verwaltungseinheit.
* '''<u>EVO:</u>''' Zentrale Verwaltungseinheit.
** [[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:
** [[Form1.vb]]: zentrales Formular
** Form1.vb: zentrales Formular
** '''Diagramm:''' Unterordner für Diagrammfunktionalität
** '''Diagramm:''' Unterordner für Diagrammfunktionalität
*** [[DiagrammForm.vb]]: Steuerelement, das ein Diagramm und andere Diagramm-Steuerelemente beinhaltet.
*** DiagrammForm.vb: Steuerelement, das ein Diagramm und andere Diagramm-Steuerelemente beinhaltet.
*** [[Diagramm.vb]]: Klasse, die alle TeeChart-Funktionalitäten zur Verfügung stellt.
*** Diagramm.vb: Klasse, die von TeeChart.TChart erbt und diese Klasse erweitert
*** [[Scatterplot.vb]]: Anzeige einer Scatterplot-Matrix
*** Scatterplot.vb: Form für die Anzeige einer Scatterplot-Matrix
** '''Apps:''' Unterordner für Anwendungen
** '''Apps:''' Unterordner für Anwendungen
*** [[Sim.vb]]: Basisklasse für Simulationsanwendungen
*** Sim.vb: Basisklasse für Simulationsanwendungen
*** '''BlueM:'''
*** '''BlueM:'''
**** [[BlueM.vb]]: Anbindung an [[BlueM]]
**** BlueM.vb: Anbindung an [[BlueM]]
**** BlueM.dll: BlueM Rechenkern
**** BlueM.dll: BlueM Rechenkern
**** [[BlueM.DLLAdapter|IHWB.BlueM.DLLAdapter.dll]]: .NET Wrapper zum Ansprechen des BlueM Rechenkerns
**** IHWB.BlueM.DLLAdapter.dll: .NET Wrapper zum Ansprechen des BlueM Rechenkerns (siehe [[BlueM.DLLAdapter]])
**** [[SKos.vb]]
**** SKos.vb:
*** '''S_CAN:''' Anwendung S:CAN (Sonde Graz)
*** '''S_CAN:''' Anwendung S:CAN (Sonde Graz)
**** [[Scan.vb]]
**** Scan.vb
*** '''SMUSI:''' Anbindung an [[SMUSI]]
*** '''SMUSI:''' Anbindung an [[SMUSI]]
**** Smusi.vb
**** Smusi.vb
Line 29: Line 29:
*** '''Testprobleme:''' [[Testprobleme]] (Sinusfunktion, Deb, etc.)
*** '''Testprobleme:''' [[Testprobleme]] (Sinusfunktion, Deb, etc.)
**** Testprobleme.vb
**** Testprobleme.vb
*** [[SensiPlot.vb]]: Sensitivitätsanalyse
*** SensiPlot.vb: Sensitivitätsanalyse
*** [[TSP.vb]]: Traveling Salesman Problem
*** TSP.vb: Traveling Salesman Problem


* '''EVO.Kern:''' Der Optimierungsalgorithmus selbst.
* '''<u>EVO.Common:</u>''' Gemeinsame Objekte
** [[PES.vb]]: Parametric Evolution Strategy (PES)
** Constants.vb: Modul enthält Konstanten und Enums
** [[CES.vb]]: Combinatorial Evolution Strategy (CES)
** EVO_Settings.vb: Klasse, die die EVO_Einstellungen abbildet (XML-Serialisierbar)
** [[Module_dll.vb]]:
** Individuum.vb: Klasse für Individuen
** Manager.vb: Modul verwaltet die Zielfunktionen
** OptParameter.vb: Klasse für OptParameter
** Provider.vb: Modul stellt Provider zur Verfügung (z.B. FortranProvider)
** Ziel.vb: Klasse für Zielfunktion
 
* '''<u>EVO.Kern:</u>''' Der Optimierungsalgorithmus selbst.
** PES.vb: Parametric Evolution Strategy ([[PES]])
** CES.vb: Combinatorial Evolution Strategy ([[CES]])


* '''Wave:''' Zeitreihendarstellung (siehe [[Wave]])
* '''Wave:''' Zeitreihendarstellung (siehe [[Wave]])

Revision as of 02:25, 7 March 2008

Ablaufdiagramm (EVO-BlauesModell)

Projektstruktur

Der Code besteht aus den folgenden Projekten, welche in einer Projektmappe zusammengeführt werden:

  • EVO: Zentrale Verwaltungseinheit.
    • EVO_Einstellungen.vb: Steuerelement für das Setzen der Optimierungseinstellungen
    • EVO_Opt_Verlauf: Steuerelement, dass den Verlauf der Optimierung anzeigt
    • EVOMOD.vb:
    • Form1.vb: zentrales Formular
    • Diagramm: Unterordner für Diagrammfunktionalität
      • DiagrammForm.vb: Steuerelement, das ein Diagramm und andere Diagramm-Steuerelemente beinhaltet.
      • Diagramm.vb: Klasse, die von TeeChart.TChart erbt und diese Klasse erweitert
      • Scatterplot.vb: Form für die Anzeige einer Scatterplot-Matrix
    • Apps: Unterordner für Anwendungen
      • 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: Anbindung an SMUSI
        • Smusi.vb
      • SWMM: Anbindung an SWMM
        • SWMM.vb
        • 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: Gemeinsame Objekte
    • Constants.vb: Modul enthält Konstanten und Enums
    • EVO_Settings.vb: Klasse, die die EVO_Einstellungen abbildet (XML-Serialisierbar)
    • Individuum.vb: Klasse für Individuen
    • Manager.vb: Modul verwaltet die Zielfunktionen
    • OptParameter.vb: Klasse für OptParameter
    • Provider.vb: Modul stellt Provider zur Verfügung (z.B. FortranProvider)
    • Ziel.vb: Klasse für Zielfunktion
  • EVO.Kern: Der Optimierungsalgorithmus selbst.
    • PES.vb: Parametric Evolution Strategy (PES)
    • CES.vb: Combinatorial Evolution Strategy (CES)
  • Wave: Zeitreihendarstellung (siehe Wave)

Code Formatierung

Es sollte die im VS integrierte Code-Dokumentationsfunktion genutzt werden ("XML-Kommentare"). Anleitung dazu bietet folgender Screencast.

Formatierung von Überschriften: <vbnet>

  1. 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
  1. 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