All Downloads are FREE. Search and download functionalities are using the official Maven repository.

de.learnlib.algorithm.observationpack.vpa.OPLearnerVPABuilder Maven / Gradle / Ivy

Go to download

This artifact provides the implementation of the VPA adaption of the Observation-Pack learning algorithm as discussed in the PhD thesis "Foundations of Active Automata Learning: An Algorithmic Perspective" (https://dx.doi.org/10.17877/DE290R-16359) by Malte Isberner.

The newest version!
/*
 * Automatically generated by BuilderGen, https://github.com/misberner/buildergen.
 * DO NOT EDIT THIS FILE! Your changes will be overwritten.
 * Edit the @GenerateBuilder specification of class
 * de.learnlib.algorithm.observationpack.vpa.OPLearnerVPA
 */

package de.learnlib.algorithm.observationpack.vpa;

public final class OPLearnerVPABuilder<
		I extends java.lang.Object> {

	private static<
			I extends java.lang.Object> de.learnlib.algorithm.observationpack.vpa.OPLearnerVPA $createDispatch(
		net.automatalib.alphabet.VPAlphabet alphabet,
		de.learnlib.oracle.MembershipOracle.DFAMembershipOracle oracle,
		de.learnlib.acex.AcexAnalyzer analyzer
		) {
		return new de.learnlib.algorithm.observationpack.vpa.OPLearnerVPA(
			alphabet,
			oracle,
			analyzer
			);
	}

	private net.automatalib.alphabet.VPAlphabet alphabet;
	private de.learnlib.oracle.MembershipOracle.DFAMembershipOracle oracle;
	private de.learnlib.acex.AcexAnalyzer analyzer;

	public OPLearnerVPABuilder() {
	}

	public de.learnlib.algorithm.observationpack.vpa.OPLearnerVPA create() {
		return $createDispatch(
			this.alphabet,
			this.oracle,
			this.analyzer
			);
	}

	public net.automatalib.alphabet.VPAlphabet getAlphabet() {
		return this.alphabet;
	}
	public void setAlphabet(net.automatalib.alphabet.VPAlphabet alphabet) {
		this.alphabet = alphabet;
	}
	public OPLearnerVPABuilder withAlphabet(net.automatalib.alphabet.VPAlphabet alphabet) {
		this.alphabet = alphabet;
		return this;
	} 

	public de.learnlib.oracle.MembershipOracle.DFAMembershipOracle getOracle() {
		return this.oracle;
	}
	public void setOracle(de.learnlib.oracle.MembershipOracle.DFAMembershipOracle oracle) {
		this.oracle = oracle;
	}
	public OPLearnerVPABuilder withOracle(de.learnlib.oracle.MembershipOracle.DFAMembershipOracle oracle) {
		this.oracle = oracle;
		return this;
	} 

	public de.learnlib.acex.AcexAnalyzer getAnalyzer() {
		return this.analyzer;
	}
	public void setAnalyzer(de.learnlib.acex.AcexAnalyzer analyzer) {
		this.analyzer = analyzer;
	}
	public OPLearnerVPABuilder withAnalyzer(de.learnlib.acex.AcexAnalyzer analyzer) {
		this.analyzer = analyzer;
		return this;
	} 

}