private RuntimeContext createScenario3Runtime() throws Exception {
RuntimeContext runtime = MockFactory.createCoreRuntime();
runtime.start();
SystemCompositeContext system = runtime.getSystemContext();
ModuleComponent system1Component = MockFactory.createSystemCompositeComponent("system1");
ModuleComponent system2Component = MockFactory.createSystemCompositeComponent("system2");
ModuleComponent system1aComponent = MockFactory.createSystemCompositeComponent("system1a");
system1Component.getImplementation().getComponents().add(system1aComponent);
Component target = MockFactory.createSystemComponent("target", Target.class, TargetImpl.class, Scope.MODULE);
system2Component.getImplementation().getComponents().add(target);
EntryPoint ep = MockFactory.createEPSystemBinding("target.ep", Target.class, "target", target);
system2Component.getImplementation().getEntryPoints().add(ep);
system.registerModelObject(system2Component);
Component source = MockFactory.createSystemComponent("source", Source.class, AutowireSourceImpl.class, Scope.MODULE);
system1aComponent.getImplementation().getComponents().add(source);
system.registerModelObject(system1Component);
system.publish(new ModuleStart(this));
return runtime;
}