Announcement

Collapse
No announcement yet.

Hilfe bei Modularem System benötigt

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Hilfe bei Modularem System benötigt

    Hallo Forum,

    ich arbeite gerade an meiner Bachelorarbeit, wo es um eine Lichtsteuersoftware geht. Im Rahmen dieser Arbeit geht es unter anderem darum, das ich ein Art modulares System implemntieren möchte. Konkret: Es gibt diverse Module, welche anhand von Eingangsparametern einen oder mehrere Ausgänge pro Modul berechnen. Jedes Modul hat natürlich eine andere Funktion. Das ganze soll nachher zur Laufzeit quasi mit virtuellen Kabeln auf einer Arbeitsfläche verkabelt werden. Meine Frage: Gibt es für so etwas schon ein Designpattern oder andere Ansätze? Bin beim recherchieren bereits über die FSM (Finite State Machine) gestolpert. Bin mir aber nicht sicher ob diese mein Problem in richtiger Weise beschreibt.
    Ich habe zwar schon eine erste Testimplementation gemacht, welche auch zu funktionieren scheint. Aber Definitiv hat diese ein Performance Problem, was sich mit steigender Anzahl an Modulen pro Arbeitsfläche vergrößert. Deswegen die Frage nach bekannten Design Pattern für so ein Problem.
    Über Hilfe und Anregungen bin ich sehr dankbar.

  • #2
    Das Factorypattern sollte das geeignet sein.
    Des Weiteren erscheint es nach der Beschreibung aus so, dass das mittels einfacher Vererbung gelöst (ggf. i.V.m. dem Factorypattern) werden kann.
    Das Performanceproblem wird sich wohl mit geeigneter Programmierung (Threads) lösen lassen....
    Zuletzt editiert von Christian Marquardt; 19.04.2016, 07:10.
    Christian

    Comment


    • #3
      ich glaube meine Frage war missverständlich gestellt. Ich meinte eigentlich nicht die Erzeugung der einzelnen Module sondern eher die Funktionalität der Verkabelung. Konkret, wie realisiere ich die Verbindungen zwischen den Modulen. Hab das aktuell über eine Hilfsklasse MutableDouble gelößt, wobei je ein Input und Output auf die selbe Instanz einer MutableDouble Klasse zeigen. Problem ist aber: die Berechnung kann ja erst erfolgen wenn alle Eingänge eines Moduls mit dem richtigen / aktuellen wert belegt sind. Aber die Reihenfolge wie die Ausgänge aktualisiert werden kann ich ja quasi nicht beeinflussen.

      Wobei der Hinweis richtung Factory Design gut ist, da fällt mir spontan ein, was ich verbessern kann.
      Zuletzt editiert von kyromoto; 19.04.2016, 16:05.

      Comment


      • #4
        Dazu sind das zuwenig Informationen.
        Nimm einen Timer in eine abgeleitete MutableDouble auf. Der prüft alle x mSec, ob die Klasse mit allen Werten versorgt ist. Wenn ja ruft er die Berechnungsmethode auf. Die Werte werden dabei über Setter in die Klasse gesetzt. Wenn drei Werte benötigt werden, erhöht jeder Setter eine Variable um 1. Der Timer prüft nun die Variable auf 3, startet die Berechnung, setzt die Variable zurück, o.a.
        Christian

        Comment


        • #5
          Also ich wuerde beim DesignPattern eigentlich eher auf Decorator tippen Im Prinzip ist es auch ein bischen Pipes and Filter. Fuer Musik gibt es die Software Reaktor von Native Instruments die so etwas kann, fuer Musikvisualisierung gibt es z.B. QuartzComposer oder https://vvvv.org/. Vielleicht kannst Du ja eine dieser Loesungen benutzen und nur neue Outputs bzw. Inputs darin bauen um Deine Hardware anzusteuern.

          Comment

          Working...
          X