Skip to content

Getting Started

HansvdLaan edited this page Apr 24, 2018 · 29 revisions

Before we can start, we have to install HermieLab into our local Maven repository so we can use it in our projects.

Step 1: Clone the HermieLab repository

Step 2: Run the mvn clean install command

From this point on, we can use HermieLab in our projects. Just include the dependencies shown below in your projects, place the [JFLAP jar](some download like) in your resource folder, reimport and then you're ready to go!

HermieLab

<!-- For the annotations -->
<dependency>
    <groupId>hansvdlaan.hermielab</groupId>
    <artifactId>annotations</artifactId>
    <version>0.1-SNAPSHOT</version>
</dependency>

<!-- For the annotation proccessors generating the settings file and 
the learning setups -->
<dependency>
    <groupId>hansvdlaan.hermielab</groupId>
    <artifactId>processor</artifactId>
    <version>0.1-SNAPSHOT</version>
</dependency>

<!-- For the learning setups -->
<dependency>
    <groupId>hansvdlaan.hermielab</groupId>
    <artifactId>core</artifactId>
    <version>0.1-SNAPSHOT</version>
</dependency>

<!-- For the bytecode injections-->
<dependency>
    <groupId>org.javassist</groupId>
    <artifactId>javassist</artifactId>
    <version>3.20.0-GA</version>
</dependency>

<!-- For the NFA checking-->
<dependency>
    <groupId>Jflap</groupId>
    <artifactId>Jflap</artifactId>
    <version>1.7.0</version>
    <scope>system</scope>
    <systemPath>${project.basedir}/resources/jflaplib-cli-1.3-bundle.jar</systemPath>
</dependency>

LearnLib

    <dependencyManagement>
        <dependencies>
            <!--
                Import all dependencies declared by LearnLib. This also
                imports all automatalib dependencies in a matching
                version.
            -->
            <dependency>
                <groupId>de.learnlib</groupId>
                <artifactId>learnlib-parent</artifactId>
                <version>0.12.0</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <dependencies>
        <!-- Basic LearnLib functionalities -->
        <dependency>
            <groupId>de.learnlib</groupId>
            <artifactId>learnlib-core</artifactId>
        </dependency>

        <dependency>
            <groupId>de.learnlib</groupId>
            <artifactId>learnlib-counterexamples</artifactId>
        </dependency>

        <dependency>
            <groupId>de.learnlib</groupId>
            <artifactId>learnlib-basic-eqtests</artifactId>
        </dependency>

        <dependency>
            <groupId>de.learnlib</groupId>
            <artifactId>learnlib-simulator</artifactId>
        </dependency>

        <dependency>
            <groupId>de.learnlib</groupId>
            <artifactId>learnlib-drivers-basic</artifactId>
        </dependency>

        <!-- A cache filter eliminates duplicate queries -->
        <dependency>
            <groupId>de.learnlib</groupId>
            <artifactId>learnlib-cache</artifactId>
        </dependency>

        <!-- Dependencies for commonly used learning algorithms -->
        <dependency>
            <groupId>de.learnlib</groupId>
            <artifactId>learnlib-lstar-generic</artifactId>
        </dependency>

        <dependency>
            <groupId>de.learnlib</groupId>
            <artifactId>learnlib-ttt</artifactId>
        </dependency>

        <dependency>
            <groupId>de.learnlib</groupId>
            <artifactId>learnlib-dhc</artifactId>
        </dependency>

        <dependency>
            <groupId>de.learnlib</groupId>
            <artifactId>learnlib-discrimination-tree</artifactId>
        </dependency>

        <dependency>
            <groupId>de.learnlib</groupId>
            <artifactId>learnlib-kearns-vazirani</artifactId>
        </dependency>

        <!-- Example automata that ship with LearnLib -->
        <dependency>
            <groupId>de.learnlib.testsupport</groupId>
            <artifactId>learnlib-learning-examples</artifactId>
            <scope>compile</scope>
        </dependency>

        <!-- For visualization purposes -->
        <dependency>
            <groupId>net.automatalib</groupId>
            <artifactId>automata-commons-dotutil</artifactId>
        </dependency>
    </dependencies>
Clone this wiki locally