Offline Synthesis Engine in Practice: Usage Instructions DIPARTIMENTO INGEGNERIA INFORMATICA, AUTOMATICA E GESTIONALE Ing. Mario Caruso Ing. Claudio Di Ciccio Prof. Massimo Mecella - (ettore.iacomussi@uniroma1.it) 29th May 2012
Installation of VMware Instructions for Linux Ubuntu 9.04 or later version 1. Install required packages build-essential and linux-headers sudo apt-get install build-essential linux-headers-$(uname -r) 2. Download the latest VMware player (e.g. VMware-Player-4.0.3-703057.x86_64.txt) from https://my.vmware.com/web/vmware/evalcenter? p=player 3. Change the file extension from.txt to.bundle e.g. VMware-Player-4.0.3-703057.x86_64.bundle 4. Run the installer gksudo bash./downloads/vmware-player-4.0.3-703057.x86_64.bundle 5. Start VMware Player and add the provided Virtual Machine P. 2 / 21
Installation of VMware Instructions for Microsoft Windows 1. Download the latest VMware player (e.g. VMware Player 4.0.3 for Windows) from https://my.vmware.com/web/vmware/evalcenter?p=player 2. Run the installer 3. Start VMware Player and add the provided Virtual Machine P. 3 / 21
Startup of the Virtual Machine Startup instructions 1. Start the the Virtual Machine with OffSEn 2. The machine is installed with a Linux Ubuntu 12.04 LTS 32bit OS 3. Use romance as password for the login of the RomanCE user and for the root user P. 4 / 21
OffSEn Server Startup Instructions 1. Open a terminal from Application->Accessories->Terminal 2. Startup Apache Tomcat: sudo /opt/apache-tomcat-6.0.26/bin/startup.sh use 'romance' as password for the 'root' user 3. Startup the OffSEn server: cd $SM4ALL_HOME./scripts/offsensvr 4. Open the browser Application->Internet->Firefox and browse the page http://localhost:8080/offsen-web/ P. 5 / 21
Web Interface Home Page P. 6 / 21
Web Interface Services P. 7 / 21
Web Interface Variables P. 8 / 21
Web Interface Targets P. 9 / 21
Web Interface Compositions P. 10 / 21
WakeUp Lite Example 1. Definition of the Community of Available Services; 2. Definition of the Databox; 3. Definition of the Target; 4. Synthesis. P. 11 / 21
WakeUp Lite Example Community of Available Services BedRoomAlarm BedRoomLight BedRoomBed P. 12 / 21
WakeUp Lite Example SAR and VAR files Service Instances are defined by SAR files; Service Archives are ZIP compressed packages that contain: services.sdd.xml with the definitions of the instances; SBL files with the definitions of Service models behaviour; Variable Instances are defined by VAR files; Variable Archives are ZIP compressed packages that contain: variables.vdd.xml with the definitions of the instances; VML files with the definitions of Variable models; P. 13 / 21
WakeUp Lite Example Target Service WakeUpLite P. 14 / 21
WakeUp Lite Example Target Service WakeUpLite definition <?xml version="1.0" encoding="utf 8"?> <service xmlns=" http://www.sm4all project.eu/composition/sbl" class="target"> <ts> <state name="start" type="initial"> <transition action="doringalarm"> <target state="alarmrung" /> </transition> </state> <state name="alarmrung" type="transient"> <transition action="doswitchonlight"> <target state="lightswitchedon" /> </transition> </state> <state name="lightswitchedon" type="transient"> <transition action="dobedup"> <target state="bedraisedup" /> </transition> </state> <state name="bedraisedup" type="final" /> </ts> </service> P. 15 / 21
WakeUp Lite Example Synthesis Start the Synthesis from the Target panel; Notes: the first composition of the system is charged by parser class loading time; The TLV input (SMV language) is stored in $SM4ALL_HOME/tmp/temporary.smv In each SMV file it appears a dummy service named no_op, used to fix automatically the problem of states without outgoing transitions. The TLV output is stored in $SM4ALL_HOME/tmp/temporary.out P. 16 / 21 OffSEn performs the composition in 782ms; TLV produces: 41 states 101 transitions
WakeUp Lite 2 Example Target Service WakeUpLite2 definition <?xml version="1.0" encoding="utf 8"?> <service xmlns=" http://www.sm4all project.eu/composition/sbl" class="target"> <ts> <state name="start" type="initial"> <transition action="doswitchonlight"> <target state="lightswitchedon" /> </transition> </state> <state name="lightswitchedon" type="transient"> <transition action="dobedup"> <target state="bedraisedup" /> </transition> </state> <state name="bedraisedup" type="final" /> </ts> </service> P. 17 / 21
WakeUp Lite 2 Example Synthesis Start the Synthesis from the Target panel; OffSEn performs the composition in 541ms; TLV produces: 25 states 85 transitions Notes: We removed one transition (doringalarm); OffSEn filters Available Services and does not take the BedRoomAlarm service for this run; TLV produced less states and transitions. P. 18 / 21
WakeUp Lite 3 Example Target Service WakeUpLite3 definition <?xml version="1.0" encoding="utf 8"?> <service xmlns=" http://www.sm4all project.eu/composition/sbl" class="target"> <ts> <state name="start" type="initial"> <transition action="doswitchonlight"> <target state="lightswitchedon" /> </transition> </state> <state name="lightswitchedon" type="transient"> <transition action="dobedup"> <target state="bedraisedup" /> </transition> </state> <state name="bedraisedup" type="transient"> <transition action="docallnurse"> <target state="nurse" /> </transition> </state> <state name="nurse" type="final" /> </ts> </service> P. 19 / 21
WakeUp Lite 3 Example Synthesis Start the Synthesis from the Target panel; OffSEn does not perform the composition; The desired Target is UNREALIZABLE; Notes: We added the transition docallnurse; It does not exist a Service of the Community that performs this action; P. 20 / 21
OffSEn Server Shutdown Instructions 1. Press Ctrl+C in the terminal window where the OffSEn server is running; 2. Shutdown Apache Tomcat sudo /opt/apache-tomcat-6.0.26/bin/shutdown.sh use 'romance' as password for the 'root' user if requested P. 21 / 21