BlueM.Opt Code

From BlueM
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

EVO.png BlueM.Opt | Usage | Development

Projektstruktur

Layout der working copy nach checkout von der Meta-Repository mit Beschriftung der Repository-Zugehörigkeiten

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

  • Main: Startprojekt
    • Form1.vb: Hauptformular
    • EVO_Einstellungen.vb: Steuerelement für das Setzen der Optimierungseinstellungen
    • EVO_Opt_Verlauf: Steuerelement, dass den Verlauf der Optimierung anzeigt
    • EVOMOD.vb:
    • ...
  • Bluem.Opt.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
  • Bluem.Opt.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
    • Problem.vb: Definiert das zu lösende Optimierungsproblem
    • Progress.vb: Speichert den Optimierungsverlauf
    • OptParameter.vb: Klasse für OptParameter
    • Modellparameter.vb: Structure für Modellparameter
    • Provider.vb: Modul stellt Provider zur Verfügung (z.B. FortranProvider)
    • Objectivefunction.vb: Klasse für Zielfunktion
  • Bluem.Opt.Diagramm: Diagramm- und Zeichenfunktionalitäten
    • Diagramm.vb: Klasse, die von Steema.TeeChart.TChart erbt und diese Klasse erweitert
    • Hauptdiagramm.vb: Abkömmling von Diagramm
    • Monitor.vb: Formular enthält ein Monitor-Diagramm und einen Log
    • Scatterplot.vb: Form für die Anzeige einer Scatterplot-Matrix
  • Bluem.Opt.OptResult: Assembly verwaltet das Optimierungsergebnis mit zugehöriger Datenbank
  • Wave: Zeitreihenverwaltung und -darstellung (siehe Wave)

Code Formatting

Tab settings

VB tab settings

Comments

Es sollte die im VS integrierte Code-Dokumentationsfunktion genutzt werden ("XML-Kommentare"). Anleitung dazu bietet folgender Screencast. Further information on using XML comments in Visual Studio can be found here.

Formatierung von Überschriften:

#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

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