@Override
    public void start(ClassLoader currentClassLoader) throws ModuleStartException, OALCompileException {
        if (!IS_RT_TEMP_FOLDER_INIT_COMPLETED) {
            oalClassGenerator.prepareRTTempFolder();
            IS_RT_TEMP_FOLDER_INIT_COMPLETED = true;
        }

        Reader read;
        oalClassGenerator.setCurrentClassLoader(currentClassLoader);

        try {
            read = ResourceUtils.read(oalDefine.getConfigFile());
        } catch (FileNotFoundException e) {
            throw new ModuleStartException("Can't locate " + oalDefine.getConfigFile(), e);
        }

        OALScripts oalScripts;
        try {
            ScriptParser scriptParser = ScriptParser.createFromFile(read, oalDefine.getSourcePackage());
            oalScripts = scriptParser.parse();
        } catch (IOException e) {
            throw new ModuleStartException("OAL script parse analysis failure.", e);
        }

        oalClassGenerator.generateClassAtRuntime(oalScripts, metricsClasses, dispatcherClasses);
    }
OAL Runtime is the class generation engine, which load the generated classes from OAL scrip definitions. This runtime
is loaded dynamically.
oap-server/oal-rt/src/main/java/org/apache/skywalking/oal/rt/OALKernel.java