Page tree
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 40 Next »

26.4

Teameinteilung:

Connor & Jette: Smart KGraphs

Mika & Bennet:  Future Work vom letzten Projekt


3.5

Fortschritt

  • Connor & Jette
    • Installation erfolgreich
    • Anpassung der KGraph Grammatik um eine Knotenreferenz
    • Gespräch mit Alex um besser zu verstehen wie die SCCharts Synthese funktioniert
  • Mika & Bennet
    • Installation erfolgreich
    • Angefangen sich einzuarbeiten und zu gucken was im letzten Projekt gemacht wurde.

sonstiges

  • Felix nimmt auch am Projekt teil
  • es wird diese Woche entschieden welchem Team er sich anschließen wird oder ob er ggf. an etwas eigenem arbeitet


17.5

Felix hat sich Bennet & Mika angeschlossen

Fortschritt

  • Connor & Jette
    • neues Thema: Übersetzung von imperativen Sprachen zu Datenflussdiagrammen an Beispiel von C
    • Überblick verschafft welche Konstrukte noch fehlen
      • loops
      • pointer
      • structs
    • Niklas klärt, ob ein erneutes Proposal stattfinden soll
  • Felix, Mika & Bennet
    • Depthmap weiter angeguckt
    • konzentrieren sich auf SMap
      • wo wird diese überhaupt genutzt/geupdatet
    • wollen debugging nutzen, um mehr darüber herauszufinden


25.5

Fortschritt

  • Connor & Jette
    • condition der while-loop als dataflow mit eigenem Kasten dargestellt
    • versucht eine Option einzufügen, um auszuwählen, ob condition als Text oder dataflow angezeigt werden soll
  • Felix, Mika & Bennet
    • beim Auswerten welche Regionen collapsed werden müssen, werden nicht mehr alle Knoten aufgerufen. Dadurch ist die Performance besser geworden
    • deprecated Code aufgeräumt
    • nächstes Ziel: Struktur von depthmap nochmal angucken und die Eltern-Kind Beziehung schon beim Initialisieren erzeugen

am 2.6.: Zwischenvorstellung von Connor & Jette beim K-Meeting


31.5

Fortschritt

  • Connor & Jette
    • bisheriges While-Beispiel als sctx nachgebaut

    • serialisierung eingebaut

    • multiplexer

      • skin als kgt Datei gebaut

      • toPort annotation hinzugefügt

      • sctx beispiel gebaut

  • Felix, Mika & Bennet
    • Depthmap rewrite mehr oder weniger vorbei
    • depth map sucht erst später nach parents und initialiesiert sie dann!(Mika Felix)
      •  parents werden jetzt sofort initialisiert
      • neu bau ist schneller
    • expand collaps wird nun pro graph nur einmal aufgerufen (Bennet) anstelle von 1 mal pro knoten
      • rewrite expand collaps (da nun nur noch einmal aufgerufen)
    • als nächstes:
      • hinzufügen von nodes nur dann wenns nötig wird / sichtbar?
        • im pullrequest hatte nre was geschrieben (nodes einfach nicht hinzufügen).
        • nicht 100% notwendig fraglich obs unbedingt geändert werden muss
      • rendering info nicht aus daten vom rendern sondern von dem smodel 


7.6

Fortschritt

  • Connor & Jette
    • statt mehrere Multiplexer beim while wird nur noch ein multiplexer benutzt (durch figure annotation)
    • skin wird im Code erstellt (WIP)
  • Felix, Mika & Bennet
    • Code Together with live share
    • Depthmap weiter aufgeräumt (Enums besser benutzt)
    • ziel weniger html elemente generieren wenn elemente nicht angezeigt werden
    • Probleme: rect region absolute bounds berechnung macht probleme
      • corrolation zwischen kgraph und der angezeigten view im browser ist unklar
        • niklas konnte aber einsicht über das layouting geben (automatischen verschieben, Position ist nicht 0,0 sondern eher zentriert)
      • bsp. root 12,12 dann ein child mit 12,12 dann wird daschild bei 24,24 dargestellt...
    • am anfang des renderns liegt der graph mit zoom 1 oben links dann wird nachträglich alles verschoben.
    • schritte beim rendern
      • rendern mit scalierung von 1
      • danach screen fitt
    • findboundsintransformationsdata (views-common.ts zeile 308) macht das was wir eigentlich wissen wollen (nur abhängig vom parrent!)
    • Gespräch mit max lieferte erkäntnisse über actions in sprotty und dass wir mit einer action die depthmap aufbauen könnte!


14.6

Fortschritt

  • Connor & Jette
    • skin für multiplexer wird im code erstellt
    • input ports beim multiplexer werden durch annotationen in 2 Gruppen aufgeteilt, allerdings gibt es noch keinen größeren Abstand zwischen diesen
    • großer multiplexer wird jetzt auch im if-stmt benutzt
    • als nächstes kommt break/continue
  • Felix, Mika & Bennet
    • In KLighD: Offset der Childareas direkt in die Koordinaten der Kinder einbeziehen
      • Alle auf den selben KLighD-Branch bringen, d.h. eclipse neu aufsetzen
    • Absolute Positionen können jetzt aus den relativen Positionen korrekt und direkt beim init der Depthmap berechnet werden
    • Expand/collapse funktioniert jetzt auch mit diesen Positionen direkt aus dem SModel
    • Jetzt: Visibility-Buffer entfernen, childareas auch für KEdges, KLabel etc. anpassen, Code aufräumen, depthmap in der updateModel action bereits initialisieren/updaten


21.6

Fortschritt

  • Connor & Jette
    • label vom multiplexer entfernt
    • breite vom multiplexer angepasst basierend auf den labeln der ports (WIP)
    • ein Kasten für break hinzugefügt zu dem die Variablen vor dem break stmt führen
    • der output davon wird momentan noch für die nachfolgenden stmts benutzt, eig sollte das break quasi ignoriert werden für diese (WIP)
    • multiplexer für break hinzugefügt (WIP)
      • die eingänge die vom break kommen sitmmen schon, der Rest allerdings noch nicht
      • das conditional das vom if-stmt kommt wird noch nicht inlined
    • todo: Kontrolle dass es auch für verschachtelte if-stmts funktioniert
    • Niklas Vorschlag: multiplexer und break box zusammenführen
  • Felix, Mika & Bennet
    • depthmap wird jetzt nur bei setModelAction und updateModelAction neugeneriert/geupdated
    • Visibility Buffer ist entfernt
    • KEdges und KLabels erhalten nun auch die korrekten Postionen der childareas, d.h. die Edges und Labels im Diagramm sind nicht mehr verschoben
    • Mit den Bookmarks angefangen:
      • Erste Version zum Hin-/und Herspringen zwischen Positionen per Knopfdruck steht
      • Bookmarks werden zurzeit aber nicht längerfristig gespeichert, sondern nur bis zum nächsten Knopfdruck
        • TODO: Bookmarks (auch mehrere) wirklich abspeichern


28.6

Fortschritt

  • Connor & Jette
    • break box und den dazugehörigen multiplexer vereint
    • break state bekommt richtigen input
    • Variablen die sich nicht verändern gehen nicht in den break state sondern direkt zum output des while states
    • conditional vom break state ist inlined
    • Serialisierung repariert
    • todo: verschachtelte if-stmts und mehrere break-stmt in einem while
  • Felix, Mika & Bennet
    • wir bleiben bei vscode da thea später als plugin in vscode genutzt wird!

    • migration almost complete

    • Vortrag am Mittwoch gesamt veranstalltung 9:30 tee 9:45 kmeeting

    • Folien überarbeiten!

    • Zukunft:
      • reinrauszoomen immernoch bei großen diagrammen so langsam das gebufferte sachen unschön sind
      • smothere animation!

      • gespeichertes model aufteilen!


30.6. KMeeting Bennet Mika Felix

  • Neue Ideen:
    • zoom actions zusammenführen Buffern nerft
    • Gespeichertes Diagram für regions abhängig machen
    • Update Model umschreiben sodass nur einzelne nodes angepasst werden (engere Zusammenarbeit mit Max)


05.07

Fortschritt

  • Connor & Jette
    • verschachtelte ifs:
      • conditional wird inlined
      • inputs werden fast richtig gesetzt (WIP)
      • if-conditions werden verundet
    • mehrere breaks:
      • für jedes break wird ein state erstellt
      • output von einem break wird ggf als input für das vorherige break benutzt
    • break ohne input wird dennoch dargestellt, um zu visualisieren dass ein break nichts tut
    • multiplexer von if-stmts ohne inputs werden nciht mehr dargestellt
    • continue stmt wird genauso wie break umgesetzt
    • 9.7 beim Tee vorstellen
  • Felix, Mika & Bennet
    • Pull Request Anmerkungen behandelt
    • Childarea integration in Kinder position vom KGraph zum SModel verschoben
      • Dabei Bug bei Positionierung der Decorations behoben
    • Jetzt:
      • Placeholder unter potenziellem Text platzieren
      • Depthmap lazy Änderungen statt einmal Initialisierung am Anfang (Kompatibilität mit Max)
      • isNodeTitle wird nicht korrekt gesetzt → fixen


13.07

Fortschritt

  • Connor & Jette
    • breaks
      • inputs von break sind jetzt immer richtig
      • conditions und break input wird nicht mehr dubliziert, wenn es für mehrere breaks gebraucht wird
    • label entfernt

    • pointer

      • pointeradresse einen neuen wert zuweisen funktioniert (*pointer = 20)

        • visualsierung dazu: variable die diesen speicherort hat wird der wert zugewiesen

      • methoden mit pointer als argument aufrufen funktioniert

        • allerdings wird noch nicht unterschieden ob auf den pointer geschrieben wird oder nicht
    • array zuweisung geht jz auch wenn rechts nur auf eine anderes array zugegriffen wird


KMeeting 14.7.

(Vorstellung für kommende änderungen)

    1. zoom actions zusammenführen Buffern nerft
        -wäre schöner mit debounce bzw wenn man auf die queue zugreifen kann !!!
        -sonst so gut und mit dem sprotty leuten kommunizieren
    
    2. Gespeichertes Diagram für regions abhängig machen
        -Problem da die linien sich scalieren
        -wie weit rendering ein bootleneck ist ?
            -ohne smartzoom vs mit -> wenn viel ausgeblendet ists gut sonst so lala
            -stark rein zoomen parents werden gerändert -> aber nix was außerhalb ist
            
        kann weggelassen werden wenn die queues passen!
    
    3. Update Model umschreiben sodass nur einzelne nodes angepasst werden (engere Zusammenarbeit mit Max)
        -regions sollten nach und nach hinzugefügt werden ? -> Nachladen von einzelenen Graph elementen
    
    
    
    - Share Feature für Bookmarks
    - Größe Der Lupen (Gesamt größeund & Viewport Zoom) -> werden teilweise sehr groß
        -Lupen haben Keine Klick funktionalität wäre aber schön ?
        -Mehrwert von Lupen ist fraglich -> was ist eine andere option? bisher keine bessere idee
        -vieleicht bei linguafranka orientieren
        
    - Laden braucht Lange!
    - Große Regionen und der Titel sollte dann größer sein
    - (Original Layout -> topdown würde helfen! -> Viele Deklarationen sind auch problematisch!)
        - TOP Down Ansatz wie wird damit umgegangen ?
    - Transparenter Region Titel im hintergrund aber Größer
        - Ist die RegionÜberschrift gleich Groß (Regions abhängig)? Warum haben größere Blocks nicht größere Texte haben ?
        - Optische text größe mit upper bound wird kleiner wenn kein platz da ist.
        - Unterschiedlich große Regionen sind eher unschön ! Top Down Layout würde das lösen !
        - Gleichmäßiges aufteilen von zeilen und spalten PT21 sehr klein weil wenig drinne ist -> TOP DOWN wie groß macht man die 
        
        
        
    - Sachen vor dem zoom lesbar solten auch nach dem zoom lesbar sein !
        -nicht zu früh ausblenden !
        -anomalie sollte man lösen !
        -morphin/overlay als Lösung ?


26.07

Fortschritt

  • Connor & Jette
    • pointer
      • Funktionen haben Pointer nur als Output, wenn diese auf den Pointer geschrieben haben
      • Compound-Stmts haben Pointer als Output, wenn eine Funktion mit dem Pointer aufgerufen wird, der den Pointer verändert
      • pointer in compound stmts funktionieren allgemein, auch wenn pointer erst in diesen deklariert wird
    • globale Variablen werden unterstützt
      • bisher nur primitive Datentypen erlaubt
      • jede Funktion die eine globale Var benutzt bekommt diese als Input
      • jede Funktion die auf globale Variable schreibt, bekommt diese als Output
      • Funktionen die solche Funktionen aufrufen, bekommen entsprechend die globalen Variablen auch als Input/Output
      • Reihenfolge der Funktionsdefinitionen im C-Code ist irrelevant
    • structs
      • struct Definitionen funktionieren
      • man kann mit "struct.field" auf die einzelnen Felder zugreifen und schreiben
      • Array als struct field → hierbei werden Arrays als struct fields wie multidimensionale Arrays visualisiert
      • Schreibweise "pointer → struct field" funktioniert
      • structpointer können als Parameter von Funktionen benutzt werden
      • compound stmts haben richtigen Output, auch wenn das struct field ein Array ist
      • todo: struct Visualisierung ist noch nicht ganz fertig
    • n-dimensionale Arrays
      • Schreiben auf multidimensionale Arrays funktioniert jetzt
      • Lesen aus multidimensionalen Arrays wurde verbessert, so dass es nicht mehr auf dem Fall für Unsupported AST-Nodes beruht
    • Label der Condition-Box des whiles angepasst
    • Klammern auf der linken Seite eines Assignments werden berücksichtigt
  • Felix, Bennet & Mika:
    • Bookmark URL implementiert
    • Bookmark copy to clipboard angefangen
    • Options Veränderungen triggern jetzt kleinen redraw ohne neues Layouting
    • Transparenter Text erst verworfen und jetzt wieder aufgenommen:
      • Titel sollte bis zu einem gewissen Punkt größer und überlappend dargestellt werden
      • Titel braucht dafür ein Hintergrundfeld für die Lesbarkeit
    • Placeholder sind immer noch nicht vernünftig scaliert
      • Setzte für die Lupe eine feste Größe fest und mache sie nicht direkt abhängig von der Größe der Region
    • Das initialisieren der Regionen der Dephtmap funktionert jetzt lazy
    • zusätzliche Idee: Bei Änderungen im Editor sollte nur der tatsächliche Unterschied (DIff) neu gerendered werden
  • No labels