spot/iface/nips/nips_vm
Alexandre Duret-Lutz 0785d729d5 [iface/nips/nips_vm]
Fix compilation with Clang.

* state.c: Do not include state_inline.h twice with different
value of STATE_INLINE.  It was included once via state.h with
STATE_INLINE = "extern inline", and another time directly with
STATE_INLINE = "extern". Now...
* state.h: ... only include it once here with STATE_INLINE =
"static inline".
2010-11-27 14:31:04 +01:00
..
.gitignore more files to ignore 2008-06-02 14:35:31 +02:00
added_instructions.txt NIPS VM added to the SPOT distribution. 2008-05-30 13:22:00 +02:00
assembler_format.txt NIPS VM added to the SPOT distribution. 2008-05-30 13:22:00 +02:00
BUGS NIPS VM added to the SPOT distribution. 2008-05-30 13:22:00 +02:00
bytecode.c NIPS VM added to the SPOT distribution. 2008-05-30 13:22:00 +02:00
bytecode.h NIPS VM added to the SPOT distribution. 2008-05-30 13:22:00 +02:00
bytecode_format.txt NIPS VM added to the SPOT distribution. 2008-05-30 13:22:00 +02:00
ChangeLog [iface/nips/nips_vm] 2010-11-27 14:31:04 +01:00
COPYING NIPS VM added to the SPOT distribution. 2008-05-30 13:22:00 +02:00
hashtab.c NIPS VM added to the SPOT distribution. 2008-05-30 13:22:00 +02:00
hashtab.h NIPS VM added to the SPOT distribution. 2008-05-30 13:22:00 +02:00
INSTALL NIPS VM added to the SPOT distribution. 2008-05-30 13:22:00 +02:00
instr.c NIPS VM added to the SPOT distribution. 2008-05-30 13:22:00 +02:00
instr.h NIPS VM added to the SPOT distribution. 2008-05-30 13:22:00 +02:00
instr_step.c NIPS VM added to the SPOT distribution. 2008-05-30 13:22:00 +02:00
instr_step.h NIPS VM added to the SPOT distribution. 2008-05-30 13:22:00 +02:00
instr_tools.c NIPS VM added to the SPOT distribution. 2008-05-30 13:22:00 +02:00
instr_tools.h NIPS VM added to the SPOT distribution. 2008-05-30 13:22:00 +02:00
instr_wrap.c NIPS VM added to the SPOT distribution. 2008-05-30 13:22:00 +02:00
instr_wrap.h NIPS VM added to the SPOT distribution. 2008-05-30 13:22:00 +02:00
interactive.c [iface/nips/nips_vm] 2010-01-21 16:00:10 +01:00
interactive.h NIPS VM added to the SPOT distribution. 2008-05-30 13:22:00 +02:00
main.c NIPS VM added to the SPOT distribution. 2008-05-30 13:22:00 +02:00
Makefile.am do not install nips VM 2008-06-02 15:32:12 +02:00
nips_asm.pl NIPS VM added to the SPOT distribution. 2008-05-30 13:22:00 +02:00
nips_asm_help.pl NIPS VM added to the SPOT distribution. 2008-05-30 13:22:00 +02:00
nips_asm_instr.pl NIPS VM added to the SPOT distribution. 2008-05-30 13:22:00 +02:00
nips_disasm.pl NIPS VM added to the SPOT distribution. 2008-05-30 13:22:00 +02:00
nipsvm.c NIPS VM added to the SPOT distribution. 2008-05-30 13:22:00 +02:00
nipsvm.h NIPS VM added to the SPOT distribution. 2008-05-30 13:22:00 +02:00
README NIPS VM added to the SPOT distribution. 2008-05-30 13:22:00 +02:00
rt_err.c NIPS VM added to the SPOT distribution. 2008-05-30 13:22:00 +02:00
rt_err.h NIPS VM added to the SPOT distribution. 2008-05-30 13:22:00 +02:00
search.c NIPS VM added to the SPOT distribution. 2008-05-30 13:22:00 +02:00
search.h NIPS VM added to the SPOT distribution. 2008-05-30 13:22:00 +02:00
split.c NIPS VM added to the SPOT distribution. 2008-05-30 13:22:00 +02:00
split.h NIPS VM added to the SPOT distribution. 2008-05-30 13:22:00 +02:00
state.c [iface/nips/nips_vm] 2010-11-27 14:31:04 +01:00
state.h [iface/nips/nips_vm] 2010-11-27 14:31:04 +01:00
state_inline.h NIPS VM added to the SPOT distribution. 2008-05-30 13:22:00 +02:00
state_parts.c NIPS VM added to the SPOT distribution. 2008-05-30 13:22:00 +02:00
state_parts.h NIPS VM added to the SPOT distribution. 2008-05-30 13:22:00 +02:00
timeval.h NIPS VM added to the SPOT distribution. 2008-05-30 13:22:00 +02:00
tools.h NIPS VM added to the SPOT distribution. 2008-05-30 13:22:00 +02:00

NIPS VM - New Implementation of Promela Semantics Virtual Machine
Copyright (C) 2005: Stefan Schuermans <stefan@schuermans.info>
                    Michael Weber <michaelw@i2.informatik.rwth-aachen.de>
                    Lehrstuhl fuer Informatik II, RWTH Aachen
Copyleft: GNU public license - http://www.gnu.org/copyleft/gpl.html


very short description
======================

NIPS VM is a non-deterministic virtual machine
to be used for state space generation in model checkers.

For more information, see:
  Stefan Schuermans, Ein Compiler und eine Virtuelle Maschine
  zur Zustandsraumgenerierung, Dimplomarbeit, Lehrstuhl II fuer
  Informatik RWTH Aachen, Oktober 2005
  (available only in German)

For a description of the assembler and bytecode format, see:
  assembler_format.txt
  bytecode_format.txt


dependencies
============

GNU make 3.80
GNU C Compiler: gcc 3.3
C runtime library: libc 2.3 (at least libc 2.1)
perl 5.8.4
(NIPS C 1.2+)

versions given are known to work - other may work, too

getting started
===============

compilation
-----------
make

running an example
------------------
cd tests
make
make example

running some tests
------------------
make benchmark
cd ..

assembling own files
--------------------
./nips_asm.pl mycode.s

running interactive / random simulations
----------------------------------------
./nips_vm [-R] mycode.b

generating full state space with breadth first / depth first search
-------------------------------------------------------------------
./nips_vm {-B|-D 30} mycode.b

other features
--------------
./nips_vm --help

benchmarking against SPIN
-------------------------
# ensure that NIPS C is installed in ../nips_c/
cd tests/spin
./Benchmark