Files
reactics/rssmt.py
Artur Meski 794d803c85 version
2018-01-06 20:39:46 +00:00

77 lines
1.6 KiB
Python
Executable File

#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
Reaction Systems SMT-Based Model Checking Module
"""
import argparse
from rs import *
from smt import *
import sys
import rs_examples
import rs_testing
from colour import *
profiling = False
if profiling:
import resource
##################################################################
version = "2018/01/06/00"
rsmc_banner = """
Reaction Systems SMT-Based Model Checking
Version: """ + version + """
Author: Artur Meski <artur.meski@gmail.com>
"""
##################################################################
def print_banner():
print()
for line in rsmc_banner.split("\n"):
print(colour_str(C_GREEN, " " + 3 * "-" + " "), line)
print()
##################################################################
def main():
"""Main function"""
parser = argparse.ArgumentParser()
parser.add_argument("-v", "--verbose",
help="turn verbosity on", action="store_true")
parser.add_argument("-o", "--optimise",
help="minimise the parametric computation result", action="store_true")
parser.add_argument("-n", "--scaling-parameter",
help="scaling parameter value (used in some benchmarks)")
args = parser.parse_args()
print_banner()
rs_testing.run_tests(args)
##################################################################
if __name__ == "__main__":
try:
if profiling:
import profile
profile.run('main()')
else:
main()
except KeyboardInterrupt:
print("\nQuitting...")
sys.exit(99)
# EOF