Skip to content

Commit e26605c

Browse files
mtf90fhowar
andauthored
Add OML (#81)
* initial OML version * fix corner case (child not defined in dtree) * initial refactorings to pass code analysis * make OptimalTTT support growing alphabets + cleanups * add upstream fixes/improvements * ci: build develop branch of AutomataLib by default Co-authored-by: Falk Howar <falk.howar@gmail.com>
1 parent 2517cb4 commit e26605c

38 files changed

+2414
-4
lines changed

.github/workflows/ci.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ jobs:
4343
# Defaults are "LearnLib" and the current/targeted LearnLib branch ($GITHUB_REF, relies on the same naming
4444
# conventions between AutomataLib and LearnLib branches).
4545
run: |
46-
git clone -b ${AUTOMATALIB_BRANCH:-${GITHUB_REF#refs/*/}} --single-branch https://github.com/${AUTOMATALIB_FORK:-LearnLib}/automatalib.git ${HOME}/automatalib-git
46+
git clone -b ${AUTOMATALIB_BRANCH:-develop} --single-branch https://github.com/${AUTOMATALIB_FORK:-LearnLib}/automatalib.git ${HOME}/automatalib-git
4747
cd ${HOME}/automatalib-git
4848
mvn -B install -DskipTests
4949
cd $GITHUB_WORKSPACE
@@ -79,7 +79,7 @@ jobs:
7979
# Defaults are "LearnLib" and the current/targeted LearnLib branch ($GITHUB_REF, relies on the same naming
8080
# conventions between AutomataLib and LearnLib branches).
8181
run: |
82-
git clone -b ${AUTOMATALIB_BRANCH:-${GITHUB_REF#refs/*/}} --single-branch https://github.com/${AUTOMATALIB_FORK:-LearnLib}/automatalib.git ${HOME}/automatalib-git
82+
git clone -b ${AUTOMATALIB_BRANCH:-develop} --single-branch https://github.com/${AUTOMATALIB_FORK:-LearnLib}/automatalib.git ${HOME}/automatalib-git
8383
cd ${HOME}/automatalib-git
8484
mvn -B install -DskipTests
8585
cd $GITHUB_WORKSPACE
@@ -119,7 +119,7 @@ jobs:
119119
# Defaults are "LearnLib" and the current/targeted LearnLib branch ($GITHUB_REF, relies on the same naming
120120
# conventions between AutomataLib and LearnLib branches).
121121
run: |
122-
git clone -b ${AUTOMATALIB_BRANCH:-${GITHUB_REF#refs/*/}} --single-branch https://github.com/${AUTOMATALIB_FORK:-LearnLib}/automatalib.git ${HOME}/automatalib-git
122+
git clone -b ${AUTOMATALIB_BRANCH:-develop} --single-branch https://github.com/${AUTOMATALIB_FORK:-LearnLib}/automatalib.git ${HOME}/automatalib-git
123123
cd ${HOME}/automatalib-git
124124
mvn -B install -DskipTests
125125
cd $GITHUB_WORKSPACE
@@ -161,7 +161,7 @@ jobs:
161161
# Defaults are "LearnLib" and the current/targeted LearnLib branch ($GITHUB_REF, relies on the same naming
162162
# conventions between AutomataLib and LearnLib branches).
163163
run: |
164-
git clone -b ${AUTOMATALIB_BRANCH:-${GITHUB_REF#refs/*/}} --single-branch https://github.com/${AUTOMATALIB_FORK:-LearnLib}/automatalib.git ${HOME}/automatalib-git
164+
git clone -b ${AUTOMATALIB_BRANCH:-develop} --single-branch https://github.com/${AUTOMATALIB_FORK:-LearnLib}/automatalib.git ${HOME}/automatalib-git
165165
cd ${HOME}/automatalib-git
166166
mvn -B install -DskipTests
167167
cd $GITHUB_WORKSPACE

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
99
### Added
1010

1111
* Added the OSTIA passive learning algorithm, thanks to [Aleksander Mendoza-Drosik](https://github.com/aleksander-mendoza).
12+
* Added the OML (optimal-MAT-learner) active learning algorithm, thanks to [Falk Howar](https://github.com/fhowar).
1213
* Added a new learning algorithm for systems of procedural automata (SPAs).
1314

1415
### Changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ Discrimination Tree | `DFA` `Mealy` `VPDA` || RPNI (EDSM) | `DFA`
2525
Kearns & Vazirani | `DFA` `Mealy` || RPNI (MDL) | `DFA`
2626
L* (incl. variants) | `DFA` `Mealy`
2727
NL* | `NFA`
28+
OML | `DFA` `Mealy`
2829
SPA | `SPA`
2930
TTT | `DFA` `Mealy` `VPDA`
3031

algorithms/active/oml/pom.xml

Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
<?xml version="1.0"?>
2+
<!--
3+
Copyright (C) 2013-2022 TU Dortmund
4+
This file is part of LearnLib, http://www.learnlib.de/.
5+
6+
Licensed under the Apache License, Version 2.0 (the "License");
7+
you may not use this file except in compliance with the License.
8+
You may obtain a copy of the License at
9+
10+
http://www.apache.org/licenses/LICENSE-2.0
11+
12+
Unless required by applicable law or agreed to in writing, software
13+
distributed under the License is distributed on an "AS IS" BASIS,
14+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15+
See the License for the specific language governing permissions and
16+
limitations under the License.
17+
-->
18+
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
19+
<modelVersion>4.0.0</modelVersion>
20+
21+
<parent>
22+
<groupId>de.learnlib</groupId>
23+
<artifactId>learnlib-algorithms-active-parent</artifactId>
24+
<version>0.17.0-SNAPSHOT</version>
25+
<relativePath>../pom.xml</relativePath>
26+
</parent>
27+
28+
<artifactId>learnlib-oml</artifactId>
29+
30+
<name>LearnLib :: Algorithms :: OML</name>
31+
<description>The Optimal MAT Learner</description>
32+
33+
<dependencies>
34+
<!-- internal -->
35+
<dependency>
36+
<groupId>de.learnlib</groupId>
37+
<artifactId>learnlib-api</artifactId>
38+
</dependency>
39+
40+
<!-- external -->
41+
<dependency>
42+
<groupId>net.automatalib</groupId>
43+
<artifactId>automata-api</artifactId>
44+
</dependency>
45+
<dependency>
46+
<groupId>net.automatalib</groupId>
47+
<artifactId>automata-commons-util</artifactId>
48+
</dependency>
49+
<dependency>
50+
<groupId>net.automatalib</groupId>
51+
<artifactId>automata-core</artifactId>
52+
</dependency>
53+
54+
<dependency>
55+
<groupId>org.checkerframework</groupId>
56+
<artifactId>checker-qual</artifactId>
57+
</dependency>
58+
59+
<!-- build -->
60+
<dependency>
61+
<groupId>com.github.misberner.buildergen</groupId>
62+
<artifactId>buildergen</artifactId>
63+
</dependency>
64+
65+
<!-- test -->
66+
<dependency>
67+
<groupId>de.learnlib.testsupport</groupId>
68+
<artifactId>learnlib-learner-it-support</artifactId>
69+
</dependency>
70+
<dependency>
71+
<groupId>de.learnlib.testsupport</groupId>
72+
<artifactId>learnlib-learning-examples</artifactId>
73+
</dependency>
74+
75+
<dependency>
76+
<groupId>net.automatalib</groupId>
77+
<artifactId>automata-serialization-dot</artifactId>
78+
<scope>test</scope>
79+
</dependency>
80+
81+
<dependency>
82+
<groupId>org.testng</groupId>
83+
<artifactId>testng</artifactId>
84+
</dependency>
85+
86+
</dependencies>
87+
</project>

0 commit comments

Comments
 (0)