CoCoME2

Aus SDQ-Wiki

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

Keywords: CoCoME