Jadex 0.96

jadex.examples.blocksworld
Agent Blocksworld


agent Blocksworld

The blocksword agent.

Creates a blocks-world and moves blocks based on goals. Its objective is to establish a given stack model.

Blocksword benchmark (use "benchmark" configuration).

Uses the blocksworld scenario to measure Jadex performance.

Benchmarks (grouped by system, newest benchmark first):

P4 3 GHz (HyperThreading), JADE 3.2, Java 1.4.2_01

	Jadex 0.94beta (jibx+janino)
	Benchmark: 10 runs with 10 goals each.
		Avg. time per run (millis): 100
		Standard deviation of runs (millis): 8
	Benchmark: 10 runs with 50 goals each.
		Avg. time per run (millis): 460
		Standard deviation of runs (millis): 47

	Jadex 0.94beta (jibx+javacc)
	Benchmark: 10 runs with 10 goals each.
	Avg. time per run (millis): 132
	Standard deviation of runs (millis): 8

	Jadex 0.94beta (enter jibx)
	Benchmark: 10 runs with 10 goals each.
	Avg. time per run (millis): 143
	Standard deviation of runs (millis): 15

	Jadex 0.93 (release):
	Benchmark: 10 runs with 10 goals each.
	Avg. time per run (millis): 156
	Standard deviation of runs (millis): 0

	Jadex 0.93beta (deliberation):
	Benchmark: 10 runs with 10 goals each.
	Avg. time per run (millis): 204
	Standard deviation of runs (millis): 5

	Jadex 0.93beta (pre_deliberation):
	Benchmark: 10 runs with 10 goals each.
	Avg. time per run (millis): 290
	Standard deviation of runs (millis): 8

	Jadex 0.93beta (clean_membrane):
	Benchmark: 10 runs with 10 goals each.
	Avg. time per run (millis): 196
	Standard deviation of runs (millis): 8

	Jadex-0.93beta (JBind patch):
	Benchmark: 10 runs with 10 goals each.
	Avg. time per run (millis): 331
	Standard deviation of runs (millis): 5

	Jadex-0.93beta (JBind):
	Benchmark: 10 runs with 10 goals each.
	Avg. time per run (millis): 342
	Standard deviation of runs (millis): 5

	Jadex-0.921:
	Benchmark: 10 runs with 10 goals each.
	Avg. time per run (millis): 267
	Standard deviation of runs (millis): 5


P4M 1,5 GHz (Centrino), JADE 3.2/3.3, Java 1.4.2_01

	Jadex 0.94beta (jibx+janino)
	Benchmark: 10 runs with 10 goals each.
		Avg. time per run (millis): 70
		Standard deviation of runs (millis): 18
	Benchmark: 10 runs with 50 goals each.
		Avg. time per run (millis): 338
		Standard deviation of runs (millis): 24

	Jadex 0.94beta (enter jibx)
	Benchmark: 10 runs with 10 goals each.
	Avg. time per run (millis): 110
	Standard deviation of runs (millis): 19

	Jadex 0.93beta (deliberation_jan)
	Benchmark: 10 runs with 10 goals each.
	Avg. time per run (millis): 143
	Standard deviation of runs (millis): 5

	Jadex 0.93beta (JBind)
	Benchmark: 10 runs with 10 goals each.
	Avg. time per run (millis): 287
	Standard deviation of runs (millis): 5


Belief Summary
beliefset Block blocks
           The currently existing blocks.
belief Table bucket
           The bucket for currently unused blocks.
belief BlocksworldGui gui
           The gui (if any).
belief String mode
           The stack mode, can be normal, step or slow.
belief boolean quiet
           The flag for turning on/off output.
belief Table table
           The table for the blocks.
 
Goal Summary
achievegoal clear(Block block)
           Clear one block.
achievegoal configure(Table configuration)
           Achieve a certain configuration of blocks.
achievegoal stack(Block block, Block target)
           Achieve that one block is on a some target block or the table.
 
Plan Summary
standard plan benchmark(int goals, int runs)
           Plan for running test benchmarks.
standard plan clear(Block block, Block target)
           plan to clear a block, by moving to the table whats on top of it.
standard plan configure(Table configuration)
           Plan for stacking towards a certain configuration.
standard plan stack(Block block, Block target)
           Stack one block on another one.
 
Event Summary
internalevent step()
           Event that indicates an execution step can be done.
 
Configuration Summary
configuration  benchmark(runs=10, goals=10)
           Benchmark configuration.
configuration  benchmark(runs=10, goals=50)
           Benchmark configuration.
configuration  benchmark(runs=10, goals=500)
           Benchmark configuration.
default configuration  gui
           GUI configuration.
 

Belief Detail

mode

belief String mode
The stack mode, can be normal, step or slow.

Default fact:
StackBlocksPlan.MODE_NORMAL

quiet

belief boolean quiet
The flag for turning on/off output.

Default fact:
false

table

belief Table table
The table for the blocks.

Default fact:
new Table()

bucket

belief Table bucket
The bucket for currently unused blocks.

Default fact:
new Table("Bucket", Color.lightGray)

gui

belief BlocksworldGui gui
The gui (if any).


blocks

beliefset Block blocks
The currently existing blocks.

Default facts:
new Block(new Color(240, 16, 16), (Table)$beliefbase.table)
new Block(new Color(16, 16, 240), (Table)$beliefbase.table)
new Block(new Color(240, 240, 16), ((Table)$beliefbase.table).getAllBlocks()[0])
new Block(new Color(16, 240, 16), ((Table)$beliefbase.table).getAllBlocks()[2])
new Block(new Color(240, 16, 240), (Table)$beliefbase.bucket)
new Block(new Color(16, 240, 240), (Table)$beliefbase.bucket)
new Block(new Color(240, 240, 240), (Table)$beliefbase.bucket)
Goal Detail

clear

achievegoal clear(Block block)
Clear one block.

Parameters:
in parameter block
BDI flags:
retry: true
retry delay: 0
exclude: when_tried
random selection: false
post to all: false
Target Condition:
$goal.block.isClear()

stack

achievegoal stack(Block block, 
                  Block target)
Achieve that one block is on a some target block or the table.

Parameters:
in parameter block
in parameter target
BDI flags:
retry: true
retry delay: 0
exclude: when_tried
random selection: false
post to all: false
Target Condition:
$goal.block.getLower()==$goal.target

configure

achievegoal configure(Table configuration)
Achieve a certain configuration of blocks.

Parameters:
in parameter configuration
BDI flags:
retry: true
retry delay: 0
exclude: when_tried
random selection: false
post to all: false
Target Condition:
$beliefbase.table.configurationEquals($goal.configuration)
Plan Detail

clear

standard plan clear(Block block, 
                   Block target)
plan to clear a block, by moving to the table whats on top of it.

Parameters:
in parameter block Binding options:   select Block $block from $beliefbase.blocks where $block.getLower()==$goal.block
in parameter target Default value:  $beliefbase.table
Plan body:
new StackBlocksPlan($beliefbase.mode, $beliefbase.quiet)
Plan trigger:
Goals:
clear

stack

standard plan stack(Block block, 
                   Block target)
Stack one block on another one.

Parameters:
in parameter block (goal mappings: stack.block)
in parameter target (goal mappings: stack.target)
Plan body:
new StackBlocksPlan($beliefbase.mode, $beliefbase.quiet)
Plan trigger:
Goals:
stack

configure

standard plan configure(Table configuration)
Plan for stacking towards a certain configuration.

Parameters:
in parameter configuration (goal mappings: configure.configuration)
Plan body:
Plan trigger:
Goals:
configure

benchmark

standard plan benchmark(int goals, 
                       int runs)
Plan for running test benchmarks.

Parameters:
in parameter goals Default value:  10
in parameter runs Default value:  10
Plan body:
Event Detail

step

internalevent step()
Event that indicates an execution step can be done.

Event flags:
random selection: false
post to all: true
Configuration Detail

gui

default configuration gui
GUI configuration. Uses gui plan to show frame, and verbose stack plans.

Initial Beliefs:
quiet Initial value:  false
gui Initial value:  new BlocksworldGui($agent.getExternalAccess())

benchmark(runs=10, goals=10)

configuration benchmark(runs=10, goals=10)
Benchmark configuration. Uses benchmark plan to perform runs, and quiet stack plans.

Initial Beliefs:
quiet Initial value:  true
Initial Plans:
benchmark

benchmark(runs=10, goals=50)

configuration benchmark(runs=10, goals=50)
Benchmark configuration. Uses benchmark plan to perform runs, and quiet stack plans.

Initial Beliefs:
quiet Initial value:  true
Initial Plans:
benchmark (goals=50
)

benchmark(runs=10, goals=500)

configuration benchmark(runs=10, goals=500)
Benchmark configuration. Uses benchmark plan to perform runs, and quiet stack plans.

Initial Beliefs:
quiet Initial value:  true
Initial Plans:
benchmark (goals=500
)

Jadex 0.96

Submit a bug or feature
For further API reference and developer documentation, see the Jadex User Guide and the Jadex Tutorial. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, and working code examples.

Copyright (C) 2002-2007 Lars Braubach, Alexander Pokahr - University of Hamburg. Use is subject to license terms.