BlueM.Opt Code

From BlueM
Revision as of 05:12, 11 March 2008 by Froehlich (talk | contribs)
Jump to navigation Jump to search

EVO.png BlueM.Opt | Usage | Development

Ablaufdiagramm (EVO-BlauesModell)

Projektstruktur

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

  • EVO: Zentrale Verwaltungseinheit.
    • 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_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
  • 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