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 55 Current »

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
      • Setze 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


02.08

Fortschritt

  • Connor & Jette
    • structs können auch als globale variablen deklariert werden

    • struct Definitionen nicht notwendig, um mit structs zu arbeiten
    • kleine Visualisierungsverbesserung bei arrays/structs
    • "allowNonFlowPortsToSwitchSides" property funktioniert

    • keine überflüssigen ports mehr beim multiplexer

    • return

      • return bekommt eine box genau wie continue und break. Variablen die reinkommen sind aber nur pointer die als parameter deklariert wurden

      • multiplexer auch für returns mit return values, da wird aber kein leerer multiplexer angezeigt

    • casts führen nicht mehr zu fehlern

      • werden aber nich visualisiert

    • letzte todos: robustness erhöhen und letzte struct feature
  • Mika, Bennet & Felix

    • Lupen sehen besser aus und skalieren wie der text

    • Overlay von titeln

      • titel überdeckt teils andere titel(childs)

      • solange text nicht lesbar ist wird der titel angezeigt

      • titel sollte am ende smoth von der größe übergehen

      • vieleicht die box transparent machen ?

        • schwarze blöcke sind problematisch

        • sehrleichte transparenz

    • makrostates node Titel sind extrem klein
      • titel unterscheidung ( Nodes zu Nodes )
      • titels größer machen bei Großen Nodes -> mit box ..
      • label merken und mergen wenn sie überlappen ?
    •  methoden:
      • Lupe kann nicht ausgeblendet werden
      • text wird größer als teoretisch möglich...
      • wird noch was angezeigt falls nicht dann ausblenden...
      • weil beim + der graph sich ändert
    •  bookmarks:
      • URL übergabe ist möglich und wird dann hinzugefügt
      • Load/Save to clipboard
      • bookmarks sind nur dann gut wenn das rendern identisch ist. (gleich großer bidlschirm etc.) linke seite, oben ist gleich aber breite/höhe kann sich verändern
      • besser wäre die range anzeigen lassen und zoom passend wählen.
      • falls man länger an einer stelle ist dann automatisch n bookmark erstellen
                  
      • Dokumentation & Presentation

16.8.

Fortschritt

  • Connor & Jette
    • unbekannte Typen werden unterstützt

    • Fehler in switch entdeckt
    • robustness hinzugefügt
      • equations werden nur hinzugefügt wenn sie korrekt sind
      • Objekte die null sind werden abgefangen
      • momentan wird per "println" darüber informiert, dass nicht alles übersetzt werden konnte. Könnte zukünftig eine Warnung im Diagramm sein.
    • unbekannte Funktionen haben pointer die als Argumente übergeben werden als output
    • "return *pointer" funktioniert richtig
    • Diskussion bezüglich der Visualisierung von pointern insbesondere die tilde
      • tilde könnte weg, da in der Visualisierung die Adresse, die eigentlich in der pointer Variable gespeichert ist, eh nicht interessiert
      • dann kann auch das "*" weg wenn auf Inhalte zugegriffen wird ("int x = *pointer")
  • Mika, Bennet & Felix
    • transparentz, smothe übergänge, title overlays
      • funktioniert jetzt, und ist als option verfügbar !
      • wird kleiner auf exakte größe und dann wirds größer...
      • problem kurz vor der standard ansicht wirds zu klein zum lesen ...
        • orientiert sich am overlay threshhold von den labeln (falls die eingeblendet werden wird das original groß)
      • titles overlay wird von später entstehenden regionen überdeckt!
        • reihenfolge ist relevant -> (kinder werden immer über den parent gelegt!)
        • z order ist problmatisch wenn es nur auf der selben ebene ist / z order wurde in svg subteil nicht unterstützt
        • später hinzufügen ist problematisch
        • merken und dann zeichnen.
        • stack approach aussnutzen und nach den kindern das zeichnen
      • eingeklapte states problem (title overlay) check obs kinder hat war gut -> ist jetzt gelöst
        • problem falls nicht sccharts genutzt werden vieleicht hat es da kinder für label oder so -> check ob es graph elemente gibt(graph strucktur prüfen)
        • jedes kind prüfen ist unschön
        • randfälle testen!
      • Threshhold unter 4 gehts kaputt
    • VSCode:
      • Alles in VSCode extension testen hatte alles geklappt
      • richtige jar etc.
      • Demo klappt ohne probleme ist relativ schnell
    • Bookmarks:
      • klappen sind "klug" nummeriert (aufsteigend)und falls 2 gelöscht wird wird nicht bookmark2 neu erstellt!
    • review soweit durch außer einen unterschiedlichen aufklapp für verschiedene regionen
    • Typescript update von 3.8 auf 4.2 macht probleme

    • zoomactions zusammen führen klappt (jedenfalls in sprotty)

    • Overall sieht es gut aus!
    • Aufbau Dokumentation richtung abschluss arbeit aber weniger

      • Motivation

      • Konzepte was umgesetzt wurde

        • nicht code zeile für zeile beschreiben sondern eher abstrakter

      • ältere berichte anschauen als eindruck

      • david wolf ~19 seiten

      • zeitplan: 27.sep späteste abgabe

    • Vortrag:

      • richtung 45min (inkl. fragerunde)


23.08

Fortschritt

  • Connor & Jette
    • unbekannte Casts werden als unbekannte Funktionen übersetzt, da diese beiden Anwendungen nicht unterschieden werden können

    • "~" und "*" werden nicht mehr angezeigt, da wir nur an den wirklichen Werten interssiert sind und nicht an den Adressen dieser Werte
    • doku
      • können "future work" Kapitel machen, wenn genug Inhalt vorhanden ist
      • bezüglich Evaluation: erörtern wie die Visualisierung bei großen Code aussieht und was da noch verbessert werden könnte
    • Vortrag: 20.9
  • Bennet, Mika & Felix
    • Macrotitles (Statetitles größer anzeigen(überlappen)) zurückstellen weil es schwierig ist das abzuspeichern usw.

    • Ausarbeitung anfangen

      • Beispiele vor und nachher

        • version von david aufbauen ...(Klighd muss man neu bauen problematisch da alles neu ist)

        • standallone ist ausreichen

        • nicht ganz einfach da setup vom master geholt wird

        • davids änderungen waren in keinem release ... sondern nur im nightly

        • zurückbauen unserer änderungen (child regions, node titels in semantic) im letzten realease kein neuestes klighd semantics zurücksetzten sollte fast reichen ?

        • Keith branch von david nehmen..

        • setup lacal runterladen und dann ne ältere version nutzten könnte aber kaputt gegangen sein !

      • performance vergleich mit aktueller version

    • PR reviews durchschauen und kümmern

      • StartConfig von config nach semantic verschieben ist schwierig weil es kein kleid in semantic ist usw.

      • sprotty pull request noch in eclipse anmelden und zustimmen

    • plugins mit ui dependency rausnehmen

      • finden welche (.ui, picolo bartic ist für das zeichnen in eclipse -> also alles was picolo hat [schauen die am ende aber was genau die wollen])


30.08

Fortschritt

  • Connor & Jette
    • unions werden unterstützt
    • genutzte Bilder über KIELER exportieren

    • ob wir eine Selbstständigkeitserklärung brauchen wird noch geklärt
    • gibt nur eine digitale Abgabe der Dokumentation
    • bamboo Fehlermeldungen beheben durch pullen des Semantik masters
    • label von structs entfernen, damit in der Visualisierung die Indizezugriffe richtig angezeigt werden
  • Mika, Bennet & Felix

    • Weiter am schreiben(Relativ gut dabei)

    • zurückbauen auf alte version auf david klappt

    • SVG's exportieren macht mehr Sinn (nicht verpixelt)

      • UI sachen müssen per Screenshot gemacht werden

    • Bei Performance ists eher schwierig

    • Titel Overlay noch versuchen

      • Idee: richtige position (Offsets und so von anderen regions mit einbezihen) 
        daher auf den ebenen bleiben und dann im zwei dimensionalen array einbauen.

    • Viewer Cache von (sprotty) spönemann zum mergen von set viewport actions

      • Das ausblenden (DOM Elemente nicht rendern) mit dem vergleichen was wir machen

    • Bei offenen PRs ping wenn alles fertig

    • Vortrag vor dem 28.9. am besten beim tee absprechen!


13.09

Fortschritt

  • Connor & Jette
    • dokumentation
      • first-draft für conclusion & evaluation fertig
      • angefangen Feedback von Niklas einzuarbeiten
    • Fragen geklärt
    • über Evaluation gesprochen
    • über Folien gesprochen
  • Bennet, Mika, Felix

    • Maxes arbeit mit einbinden ?

      • kann gerne als reference mit rein (unpublished masterthesis)

      • Max Kasperowski

    • muss es extra rein was eine child area ist (Bild mit html code) -> eher nicht

    • morgen übermorgen rückmeldungen zum text

    • Folien Fortrag anfangen ...


20.09

Fortschritt

  • Connor & Jette
    • Vortragsfolien besprochen
    • Fragen geklärt
  • No labels