@startuml

skinparam backgroundColor #FEFEFE

box "Application" #0091BD
participant "main()" as main
end box

box "Driver library" #00C1DE
participant "Device" as ddev
participant "Buffer" as dbuf
participant "Network" as dnet
participant "Inference" as dinf
end box

box "Kernel driver" #7D868C
participant "Device" as kdev
participant "Buffer" as kbuf
participant "Network" as knet
participant "Inference" as kinf
end box

activate main

note over main
    Create device
    Provide user buffer with network model
end note

main -> dnet++: Network(device, user_buffer, size)
    dnet -> kdev++: ioctl(NETWORK_CREATE, user_buffer, size)
        note over knet
            Create network and return file descriptor
        end note

        kdev -> knet++: create(user_buffer, size)
        return file descriptor
    return file descriptor
return

@enduml
