The ksession is shared among all the processes and sub-processes no matter the sub-process type. So what you get in your main process when you invoke kcontext.getKnowledgeRuntime() is the same object that you get in a (reusable or embedded) sub-process when you invoke kcontext.getKnowledgeRuntime(). If you still want to see a simple example using embedded sub-process you can take a look at the same example project I have provided.