NuSMV GUI 2.0 - Developer's Guide Alessio Ferrari – 29/04/2011 [email protected]

This is a small introductory guide to set-up the Eclipse environment and start to modify, extend or improve the NuSMV GUI application. The application is distributed under the LGPL license, while the libraries that come with it (Simulink Library and Jambi) are distributed together with their own licenses. The screenshots of this guide have been produced while performing a trial with: • version 1.6.0_21 • Java(TM) SE Runtime Environment (build 1.6.0_21-b07) • Eclipse Helios Service Release 1 • Windows Vista Home Premium, SP1 If anything goes wrong with your set-up, it might be due to the fact that you are using different environment settings.

Required libraries • Simulink Library 2.7 - http://conqat.cs.tum.edu/index.php/Simulink_Library ◦ simulink.jar ◦ junit.jar ◦ cup-runtime.jar ◦ ccsm-commons.jar • QT Jambi 2.5 (Windows) - http://qt-jambi.org/ ◦ qtjambi-win32-msvc2005-4.5.2_01 ◦ qtjambi-4.5.2_01 • QT Jambi 2.4 () - http://qt-jambi.org/ ◦ qtjambi-linux32-gcc-4.4.3_01 ◦ qtjambi-4.4.3_01 The libraries, together with their license files, are distributed with the source of NuSMV GUI, so your Eclipse project will be equipped with the proper libraries.

Optional tools • NuSMV 2.4.3 (or above) - http://nusmv.fbk.eu/ NuSMV shall be downloaded from the site above and installed according to the guide provided by the developers. The version 2.4.3 has been used during the NuSMV GUI development, but any version should be ok. NuSMV GUI does not need NuSMV to run or to be built. However, some features of NuSMV GUI, such as the model checking capability, send input commands to NuSMV and retrieve results from the tool output, so it might be useful to have NuSMV installed. Eclipse set-up 1. Download the source code of NuSMV GUI and unpack the compressed file: you should now have a directory named NuSmvGUI and one named NuSMVGUI_lib 2. Go to File>Import... and select 'Existing Project into Workspace', then click Next 3. Select the root directory NuSmvGUI that you unpacked at step 1: the project should appear in teh Projects window

4. Click Finish 5. Go to Project>Properties 6. Select Java Build Path>Libraries

7. Click Add External JARs... 8. Select all the JARs contained in the NuSMVGUI_lib directory

9. Go to Run>Java Application and select MainApp: the NuSMV GUI window should appear