|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
# X4 s4 I( k# B2 R& h: R( P! O, g/ E6 g/ h4 v
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
" v' M: m* ]% I& O4 h* j0 s以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
9 {0 [- c3 o4 w/ I6 g: `swarm.SignatureNotFoundException( p( w6 S5 ^* c9 V* ^
at swarm.Selector.<init>(Selector.java:76)% o" J3 ~; }/ `. z T% y
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)2 {# z9 b1 D7 K3 u7 s8 h
at ActionGroupDemo.main(ActionGroupDemo.java:67): I# k8 ^1 A0 i% x$ ?; @: \& O4 y/ t
$ @ p8 y- }- c0 c% x
: b4 y1 P, ~6 ]import swarm.objectbase.SwarmImpl;
# P- i/ e0 P' e Y k& P/ _import swarm.objectbase.Swarm;
7 `* P8 h- _$ mimport swarm.activity.ScheduleImpl;
2 K: S( R: U7 r; v" Aimport swarm.activity.Activity;, G& \; s; c3 y+ @' M
import swarm.activity.ActionGroupImpl;
0 U2 a, _+ l& Q% Eimport swarm.collections.ListImpl;. _! ]7 V( O) ~4 [! q( B6 S3 N
import swarm.defobj.Zone; ! b, G! F# i3 z* j* s9 x0 X
import swarm.Globals;( J( @' L* g+ |: E
import swarm.Selector;
+ D' J" m: }5 [ w7 Wimport swarm.activity.ActionGroup; " G) k# Y, b3 t+ V) S
class Agent {2 p6 C/ i* m- W- z$ a
char id;
/ D/ H$ v: F) d1 W+ E
) p) @; ?* T7 j5 g$ [ Agent(char id) {6 J8 p6 J1 |$ v; m- k _
this.id = id;. d: s2 } ^3 a7 q) c0 r8 n
}9 l: i; `( z" U
: E3 ^, b8 n+ o) {- ~/ J. t; O
public void agentStep() {
; g6 Y' y) W8 d" A9 x# { System.out.println(id + ":" + Globals.env.getCurrentTime());
5 |, y4 {. X0 {9 w2 g }
3 w0 o* ]9 `( s( b/ ~0 b" O; h}. ~. N' F# ~9 ~' z! G
4 y' d7 g; Y3 J- _0 ]8 @& t4 W, w
public class ActionGroupDemo extends SwarmImpl {
# H) {# Q- z+ Y' u. x ScheduleImpl schedule;$ o, h+ Y' H5 D3 O8 @& p3 l
ActionGroupImpl actionGroup;' ]5 n/ s: u9 u
ListImpl list;% C: o( @ C# [" @# ~
char Id = 'a';4 Z, f- G, B. f w G9 @; ]+ T
N' {, {' V* y( L6 S4 n ActionGroupDemo(Zone aZone) {4 V( l' W2 f+ w* T1 q; r
super(aZone);7 ~4 i( |0 ^8 \7 M6 F- ]" U- _6 J
list = new ListImpl(aZone);
1 T( T# Y% }' [! z+ I- Z/ P3 C swarmSetp();* H" {! S7 N/ L
actionGroup = new ActionGroupImpl(aZone);
6 p" `. {5 N( j. _; U* \7 ] x# r& U schedule = new ScheduleImpl(aZone);
" f4 K6 k+ }/ c4 ?: } try {5 q0 G1 s8 j7 c4 y. r9 T# P7 G
Selector agentSel = new Selector(Agent.class, "agentStep", false);9 Y2 E( H! Q- d( i# a
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
, }8 ]* ^& o1 X% j
, P* P8 G+ C6 e1 d) X# d' w3 ^ actionGroup.createActionForEach$message(list, agentSel);% S1 J; l; _/ N J7 R* l) E; Z
actionGroup.createActionTo$message(this, swarmSel);
6 X3 \/ G4 I" k3 Q schedule.at$createAction(0, actionGroup);
( t: l0 R2 H4 V9 S, [0 f schedule.at$createAction(1, actionGroup);
' r$ K7 s% v3 v; l$ Q, u schedule.at$createAction(2, actionGroup);
6 X- j: G% {* o3 i Z6 F- I; e& S E
} catch (Exception e) {, z5 X9 _- s3 M
e.printStackTrace(System.err);9 ?3 V% W" s7 l2 A
//System.out.println(e);% U3 z; @+ e: }0 L$ B. I+ M
System.exit(1);" E$ q7 v3 Q/ t4 K8 K8 M% @
}. }6 z) x* U1 b' a F; o2 S# a
9 y' Z5 ]9 I$ s9 V v
* C( U, p3 w$ T9 Z9 Z* C9 R- _+ R, U
}8 s4 K2 L2 p0 z) h. w+ W9 R
& Z+ Z: B0 R" X2 l( h; t8 W. J
private void swarmSetp() {
& Y! ]3 J- C Y! H0 r8 A list.addLast(new Agent(Id));+ U( c9 a4 x! D$ L+ A
Id++;
6 Y/ t3 i# t- w' N. p# b, e }
. f' }( K3 w% I; E% W( [ [' L/ n: f) ^
public Activity activateIn(Swarm context) {# T: x# J9 x: S X( f+ r" ~
super.activateIn(context);2 J [! ]; S% K3 F) t4 {
schedule.activateIn(this);0 \( h q$ W- E7 H
return getActivity();. d1 y# k ?; b/ N
} X/ G7 d+ u: s' y+ c
$ ^; E) ^: l6 W j3 a0 @
public static void main(String[] args) {
( d. D8 v, n- r9 l1 H Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
5 |' I' s5 i" o; S$ o Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
, L3 C% q; z' `3 r swarms.buildObjects();
; u/ s0 r9 F: t0 ^" r# h5 u swarms.buildActions();
1 h. X! {1 f' F; M swarms.activateIn(null).run();
9 ~! W( a% r, d% G4 n( U+ a7 _ }6 `" T4 W+ \+ D0 p+ n+ w7 C
$ Z7 D/ u# S. C" w9 m
} |
|