CoCoME2
This page is an updated and cleaned up version of sdqinternal:CoCoME.
Prerequisites for Windows Installations
- fuser (Unix) must be present
- Linux: present by default
- Windows: handle.exe (by Sysinternals)
- Cygwin: psmisc package
Cygwin support; replace in common.sh:
local TIMEOUT=60 while [ $TIMEOUT -gt 0 ]; do PORT="`fuser -n tcp "$3" 2> /dev/null`" # LINUX PORT="`/cygdrive/c/WINDOWS/system32/netstat -a -p tcp | grep -w "$3"`" # CYGWIN if [ -n "$PORT" ] ; then echo " OK ($[60 - TIMEOUT])" return 0 fi ..
Attention: CoCoME2 has some OS-specific paths and can hence not run on Windows without code changes for now.
Prerequisites for Linux 64 Bit Installations
Access to the ampl solver may not work, as the shipped ampl executable has been compiled for 32 bit platforms.
Solution: install glibc.i686
e.g. in Fedora Linux:
yum install glibc.i686
Directories
- cocome-vanilla: non-instrumented
- cocome: instrumented
Running
Test CoCoME
Anyways, to get the simulator running, you first need to prepare the project like you would for running tests -- just compile everything. You can test that the system is working by going into the cocome-impl directory and try executing (in multiple terminals)
ant deleteDB; ant startInfrastructure ant fillDB; ant startInventory ant startCashDeskLines ant startInventoryConsoles
Load test execution
If it works, shut everything down, change to the "simulator" directory, and from that directory try running the following:
./generate.sh 2 2 localhost localhost ant startInfrastructure ant startInventory ant startCashDeskLines ./client.sh
If even this works, you will probably get it running :-) To perform multiple runs for experiments, just stop everything and start the driver script:
./driver.sh
If you look into the script, it cycles through given number of stores with given number of cashdesks per store -- you can tweak it to your liking.
JpmfStat
Usage: JpmfStat is developed under Eclipse (project files are included). It is also possible invoke it from command line (root project directory) via: java -classpath "lib/*:bin" org.ow2.dsrg.jpmf.JpmfStat or using simple wrapper script genstat.sh Sample data is included with the project. Following parameter examples can be used directly so you can see effects of the selected options. parameters: -d "data files" name of the data files without extension (default: "data/eventdata") ex: -d "data/eventdata" -e "event name" selects only particular event (default: include all) (supports multiple occurrences) ex: -e "jpmf.event:package=org.cocome.tradingsystem.inventory.application.store.impl,class=StoreImpl,id=0,event=getProductWithStockItem/5" -f "field name" selects only particular field (default: include all) (supports multiple occurrences) ex: -f "time" -o "output file" (default: console) ex: -o "out.txt" -s "skip count" skip first x results (default: 100) ex: -s "10" -t "table output mod" (separate/headers) (default: none) ex: -d separate This mode prints unprocessed data in a textual form. separate - prints every event into a separate file headers - events with the same header are printed into the same file
Download
Alt: http://sourceforge.net/apps/trac/cocome/ (CoCoMe SourceForge website)
Related Articles
- Current CoCoME Github Project
- CoCoME official page
- CoCoME2 at SourceForge
- CoCoME-PCM
- sdqinternal:CoCoME