digraph AktivitaetsDiagramm {
    rankdir=TB;

    start [shape=point];
    stop [shape=doublecircle, label="Ende"];

    subgraph cluster_0 {
        label="Redux Prozess";
        style=dashed;

        Start [shape=ellipse, label="Modul auswählen"];
        DatenAbrufen [shape=box, label="Daten abrufen"];
        ThunkDispatch [shape=box, label="Thunk dispatchen"];
        ServiceAnfrage [shape=box, label="Service anfragen"];
        AntwortRedux [shape=box, label="Antwort von Redux"];
        ReduxSpeichern [shape=box, label="Redux speichert Daten"];
        StateUpdate [shape=box, label="Redux State aktualisieren"];
        UIRender [shape=box, label="UI rendert neue Daten"];
    }
    
    start -> Start;
    Start -> DatenAbrufen;
    DatenAbrufen -> ThunkDispatch;
    ThunkDispatch -> ServiceAnfrage;
    ServiceAnfrage -> AntwortRedux;
    AntwortRedux -> ReduxSpeichern;
    ReduxSpeichern -> StateUpdate;
    StateUpdate -> UIRender;
    UIRender -> stop;
}
