mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-05 16:54:27 +00:00

The dot2k tool has some code that can be reused for linear temporal logic monitor. Prepare its frontend for LTL inclusion: 1. Rename to be generic: rvgen 2. Replace the parameter --dot with 2 parameters: --class: to specific the monitor class, can be 'da' or 'ltl' --spec: the monitor specification file, .dot file for DA, and .ltl file for LTL The old command: python3 dot2/dot2k monitor -d wip.dot -t per_cpu is equivalent to the new commands: python3 rvgen monitor -c da -s wip.dot -t per_cpu Cc: Masami Hiramatsu <mhiramat@kernel.org> Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> Link: https://lore.kernel.org/dea18f7a44374e4db8df5c7e785604bc3062ffc9.1751634289.git.namcao@linutronix.de Reviewed-by: Gabriele Monaco <gmonaco@redhat.com> Signed-off-by: Nam Cao <namcao@linutronix.de> Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
26 lines
943 B
Python
26 lines
943 B
Python
#!/usr/bin/env python3
|
|
# SPDX-License-Identifier: GPL-2.0-only
|
|
#
|
|
# Copyright (C) 2019-2022 Red Hat, Inc. Daniel Bristot de Oliveira <bristot@kernel.org>
|
|
#
|
|
# dot2c: parse an automata in dot file digraph format into a C
|
|
#
|
|
# This program was written in the development of this paper:
|
|
# de Oliveira, D. B. and Cucinotta, T. and de Oliveira, R. S.
|
|
# "Efficient Formal Verification for the Linux Kernel." International
|
|
# Conference on Software Engineering and Formal Methods. Springer, Cham, 2019.
|
|
#
|
|
# For further information, see:
|
|
# Documentation/trace/rv/deterministic_automata.rst
|
|
|
|
if __name__ == '__main__':
|
|
from rvgen import dot2c
|
|
import argparse
|
|
import sys
|
|
|
|
parser = argparse.ArgumentParser(description='dot2c: converts a .dot file into a C structure')
|
|
parser.add_argument('dot_file', help='The dot file to be converted')
|
|
|
|
args = parser.parse_args()
|
|
d = dot2c.Dot2c(args.dot_file)
|
|
d.print_model_classic()
|