Skip to content

Personas

Lina Urban edited this page Nov 14, 2022 · 6 revisions

Main Personas

Hier sind die hauptsächlichen Personas, die so auch in den Nutzer:innen von native image bekannt sind. Weitere, geringer priorisierte Personas sind weiter unten.

☕️ Java Jasper

Personal Background:

  • ist Java crack
  • Arbeitet im Enterprise / Corperate
  • hat keine Zeit, weil er deadlines hat zu denen er liefern muss
  • Will sich nicht tiefgehend mit einem auftretenden Problem auseinandersetzen
  • braucht schnelle, konkrete Antworten/Vorschläge zu auftretenden Problemen

GraalVM Background:

  • benutzt GraalVM einfach nur
  • weiß nicht wie GraalVM funktioniert und will es auch nicht verstehen müssen

Probleme

  • ist ein bisschen eine Veronika:
    • Will wissen was er tun muss, damit sein Build funktioniert
    • Will wissen was er tun muss, damit sein image ohne Probleme läuft
  • ist ein bisschen ein Otto:
    • will wissen was er tun muss um seine binary kleiner zu bekommen
      • package entfernen?
    • will wissen was er tun muss um die Ressourcen-Nutzung (zum build/zur runtime) (RAM, CPU, ...) auf ein bestimmtes Limit (oder Minimum) zu reduzieren

Konkrete Fragestellungen:

  • Warum mein image so groß?
  • Was müsste ich tun um die binary zu verkleinern?
    • könnte ein bestimmtes Package raus?
      • Wie hängen packages miteinander zusammen?
      • An wie vielen Stellen wird ein (externes) Package genutzt?
  • Was benutzt den meisten Speicher - zur runtime / build-time? (RAM, Disk)
  • Was ist der relevante Teil des Universums für mich? --> Problemebereich eingrenzen
  • In welchem Teil des Universums ist ein Fehler? (zur runtime / build-time)

😭 Verzweifelte Veronika / Desperate Denise

Personal Background

  • hat schon viel mit Java gearbeitet
  • baut gerade ein einem Projekt mit Graal

GraalVM-Background

  • hat keine Erfahrung mit Graal

Probleme

  • GraalVM build schlägt fehl, obwohl JIT klappt
  • GraalVM generiert fehlerhafte Binary, obwohl JIT klappt
  • GraalVM build war erfolgreich, aber zur Runtime gibt es Fehler, obwohl JIT klappt

Konkrete Fragestellungen

  • Ist die Methode foo() drin oder nicht?
  • Warum ist die Methode foo() drin?
  • Warum ist die Methode foo() nicht drin?
  • Warum ist der Type Foo drin?
  • Warum ist der Type Foo nicht drin?
  • Warum ist das Feld foo drin?
  • Warum ist das Feld foo nicht drin?
  • Welche Stellen sind senders von foo() auf?
  • Was ist der Call Stack hinter einem Aufruf von foo()?
  • Was von meiner Applikation ist im Universum drin?
  • Was ist der relevante Teil des Universums für mich? -> Problembereich eingrenzen

Sonstiges

  • Error -> Aktion: User/VM Error?

🛠 Optimierer Otto

Background

  • ist Java erfahren
  • baut gerade ein einem Projekt mit Graal

GraalVM-Background

  • ist Graal erfahren

Probleme

  • Das Projekt baut schon, ist aber sehr groß
  • Er will die Image size minimieren
  • Er will die Resource Consumption minimieren

Konkrete Fragestellungen

  • Warum ist das Image so groß?
  • Was müsste ich tun, um meine Binary zu verkleinern?
  • Was benutzt den meisten Festplattenspeicher im Image?
  • Was benutzt den meisten Festplattenspeicher zur Laufzeit?
  • Was bentuzt den meisten RAM zur Laufzeit?
  • Ist die Methode foo() drin oder nicht?
  • Warum ist die Methode foo() drin?
  • Warum ist die Methode foo() nicht drin?
  • Warum ist der Type Foo drin?
  • Warum ist der Type Foo nicht drin?
  • Warum ist das Feld foo drin?
  • Warum ist das Feld foo nicht drin?
  • Welche Stellen sind senders von foo()?
  • Was ist der Call Stack hinter einem Aufruf von foo()?
  • Was von meiner Applikation ist im Universum drin?
  • Was ist der relevante Teil des Universums für mich? -> Problembereich eingrenzen
  • An wie vielen Stellen wird ein externes Paket genutzt?
  • Welche externe Pakete werden genutzt?
  • Wie hängen einzelne Packages miteinander zusammen?

Weitere Personas

Hier haben wir noch ein paar weitere Personas dokumentiert, die wir aber wegen seltenerer Repräsentation in der Nutzer:innenbasis von native image hinten angestellt haben.

🗺 Explorer Emma

Background

  • Hat viel Zeit um sich einzufuchsen
  • Will lernen wie GraalVM funktioniert
  • Will das Binary erkunden können
  • Hat viel Ahnung von Java

GrallVM-Background

  • Keine Ahnung von Graal

Probleme

Sie hat keine Probleme, sondern ist einfach neugierig.

Konkrete Fragestellungen

  • Was benutzt den meisten Festplattenspeicher im Image?
  • Ist die Methode foo() drin oder nicht?
  • Warum ist die Methode foo() drin?
  • Warum ist die Methode foo() nicht drin?
  • Warum ist der Type Foo drin?
  • Warum ist der Type Foo nicht drin?
  • Warum ist das Feld foo drin?
  • Warum ist das Feld foo nicht drin?
  • Welche Stellen sind senders von foo()?
  • Wie oft wird foo() zur Runtime gecalled?
  • Was ist der Call Stack hinter einem Aufruf von foo()?
  • Was von meiner Applikation ist im Universum drin?
  • Was ist der relevante Teil des Universums für mich? -> Problembereich eingrenzen
  • An wie vielen Stellen wird ein externes Paket genutzt?
  • Welche externe Pakete werden genutzt?
  • Wie hängen einzelne Packages miteinander zusammen?

🔒 Security Sam (sehr optional)

Da sicherheitsrelevantes Zeug immer ein Security Review braucht, haben wir Sam erst einmal hinten an gestellt.

Background

GrallVM-Background

Probleme

  • Will verstehen, wie sicherheitsrelevanter Code zur Runtime aufgerufen werden kann
  • Will eine Garantie über Tests hinaus

Konkrete Fragestellungen