Skip to content

Commit 97ffa4c

Browse files
covanamrostedt
authored andcommitted
verification/rvgen: Add support for linear temporal logic
Add support for generating RV monitors from linear temporal logic, similar to the generation of deterministic automaton monitors. Cc: Masami Hiramatsu <mhiramat@kernel.org> Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> Cc: Gabriele Monaco <gmonaco@redhat.com> Link: https://lore.kernel.org/f3c63b363ff9c5af3302ba2b5d92a26a98700eaf.1751634289.git.namcao@linutronix.de Signed-off-by: Nam Cao <namcao@linutronix.de> Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
1 parent cce86e0 commit 97ffa4c

7 files changed

Lines changed: 915 additions & 1 deletion

File tree

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
__pycache__/
2+
parser.out
3+
parsetab.py

tools/verification/rvgen/Makefile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,5 +21,7 @@ install:
2121
$(INSTALL) rvgen/dot2k.py -D -m 644 $(DESTDIR)$(PYLIB)/rvgen/dot2k.py
2222
$(INSTALL) rvgen/container.py -D -m 644 $(DESTDIR)$(PYLIB)/rvgen/container.py
2323
$(INSTALL) rvgen/generator.py -D -m 644 $(DESTDIR)$(PYLIB)/rvgen/generator.py
24+
$(INSTALL) rvgen/ltl2ba.py -D -m 644 $(DESTDIR)$(PYLIB)/rvgen/ltl2ba.py
25+
$(INSTALL) rvgen/ltl2k.py -D -m 644 $(DESTDIR)$(PYLIB)/rvgen/ltl2k.py
2426
$(INSTALL) __main__.py -D -m 755 $(DESTDIR)$(bindir)/rvgen
2527
cp -rp rvgen/templates $(DESTDIR)$(PYLIB)/rvgen/

tools/verification/rvgen/__main__.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
from rvgen.dot2k import dot2k
1313
from rvgen.generator import Monitor
1414
from rvgen.container import Container
15+
from rvgen.ltl2k import ltl2k
1516
import argparse
1617
import sys
1718

@@ -44,7 +45,7 @@
4445
if params.monitor_class == "da":
4546
monitor = dot2k(params.spec, params.monitor_type, vars(params))
4647
elif params.monitor_class == "ltl":
47-
raise NotImplementedError
48+
monitor = ltl2k(params.spec, params.monitor_type, vars(params))
4849
else:
4950
print("Unknown monitor class:", params.monitor_class)
5051
sys.exit(1)

0 commit comments

Comments
 (0)