|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
+ o+ H) _) Q- |6 k: S: D r- l
4 a4 o( E% t' b( T本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
* ]; p: s. d9 S" J$ F以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.' r: ]( A! c4 U
swarm.SignatureNotFoundException
3 A4 \4 M4 \+ U: W8 F at swarm.Selector.<init>(Selector.java:76)
' s2 d8 d4 n9 z0 J: o+ y2 Q9 ^ at ActionGroupDemo.<init>(ActionGroupDemo.java:37)1 x0 M4 _, A5 I( m( N
at ActionGroupDemo.main(ActionGroupDemo.java:67)& Y* `; \) P2 V( b% v5 \
& R2 W8 X1 L9 {4 [5 F. H9 ~) z* F0 z* j/ ^
import swarm.objectbase.SwarmImpl;
6 u9 h3 i; y: V7 G5 Eimport swarm.objectbase.Swarm;
9 K( J6 _0 ~/ Wimport swarm.activity.ScheduleImpl;
& ~8 m5 o( R% M' y" a) ?import swarm.activity.Activity;. y w4 |2 Z; r7 g
import swarm.activity.ActionGroupImpl;# b3 d* X7 D/ i B, W; j- s
import swarm.collections.ListImpl;
* \3 m( J9 G1 E9 C) b+ n# c) \. Nimport swarm.defobj.Zone;
$ \3 c; B1 d, m* P7 |! d3 Uimport swarm.Globals;
$ W: x& ^4 Q: A' d3 [import swarm.Selector;1 }9 c& W9 m/ x& l
import swarm.activity.ActionGroup; 5 J$ c' L2 r* D% a5 K, c: _7 k
class Agent {$ c; ]/ S8 }& |5 t2 n
char id;/ o% Z5 n9 K" |
) b- R9 {1 V( `: J" n9 _$ w4 D8 j" i Agent(char id) {# Y% G6 @8 E9 Q& X8 Q+ J. ?: ?+ { \
this.id = id;8 D& U$ ^+ e% r# w9 j% A. c
}
, a4 H/ l3 ~, @: Q
, q8 l X2 R: k: F* ~1 m! ?: |# k public void agentStep() {
8 h2 ^" v+ N) d. j P- T System.out.println(id + ":" + Globals.env.getCurrentTime());2 o) ?& C% ?" [ l% a8 Z2 Y, Y
}
0 \8 h5 p4 a' i' P# ^2 Y2 A}
( V! t2 J- x" {9 L3 m% Q: _5 `& s7 S
public class ActionGroupDemo extends SwarmImpl {( D. l2 b. C2 v% |! N* T
ScheduleImpl schedule;+ E' m5 S( e" b, X9 r* `
ActionGroupImpl actionGroup;
/ [& ?$ A) q6 J* b ListImpl list;$ z6 \4 `. ^* _
char Id = 'a';% }0 L% g) U; A3 }3 `
; u& R9 S, s0 f2 H$ M1 }, ]0 o
ActionGroupDemo(Zone aZone) {
( i D6 A0 Z, w6 W% ~ super(aZone);$ u. \ n# Y& o/ D
list = new ListImpl(aZone);" F) ^5 G" c9 M% n0 c! ^/ e
swarmSetp();
, h* D4 S, m6 n/ e+ z actionGroup = new ActionGroupImpl(aZone);
& W R; j5 h0 x$ i: V" q2 m schedule = new ScheduleImpl(aZone);
5 V. t3 p% y( V* k& P' X try {- p k0 _" o$ C! Z7 \
Selector agentSel = new Selector(Agent.class, "agentStep", false);! ]3 m3 z/ ]& M" B
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
0 G# ]5 P8 }+ R# E
) i0 {5 _* A) m0 Z. K7 b4 a actionGroup.createActionForEach$message(list, agentSel);" t: i. a* D( k3 m8 [" n
actionGroup.createActionTo$message(this, swarmSel);0 P/ w+ W) j4 r1 X: W
schedule.at$createAction(0, actionGroup);1 U1 S% z Q8 c( b/ P; e ~
schedule.at$createAction(1, actionGroup);: |( |' i0 j4 `% Q/ q, E
schedule.at$createAction(2, actionGroup);" h% k- v7 x2 }4 s0 s
* Z+ d, X) t$ e3 s2 m$ A } catch (Exception e) {
7 \: A3 n! O2 p" g' d7 { e.printStackTrace(System.err);
! c9 Q: R& s7 z9 Q; [ //System.out.println(e);: o: y4 c, k8 X$ o% O- e$ T: s
System.exit(1);6 w7 p) X7 s( K: p' q; ^
}0 v% h) D3 e, X3 s7 ]
! D5 P5 l0 M$ }6 k k5 z- z% g# T/ \: W( H& ~4 {
}7 g8 Z6 y+ N, V+ ]7 Q( }
& ~0 R- N: w f: N$ p
private void swarmSetp() {( p" ?/ {- B1 N; t' E6 u% d
list.addLast(new Agent(Id));6 _5 h) a' F! m% }9 ]% b
Id++;: g1 s7 p/ k3 ^2 q/ L" O" T
}
% Q) R9 `" G, {# F5 T* Z% Y0 }
public Activity activateIn(Swarm context) {
" M% ^- c9 A; W A( _ super.activateIn(context);6 l* m; T) p% W
schedule.activateIn(this);
: d K5 c" s) b2 t) E9 B, ^ return getActivity(); C' @( ], m" {) m' {8 ^& z
}
O$ A, @/ q$ E8 b3 i6 P8 l$ m" s
2 h! _4 U( d& }- I5 f public static void main(String[] args) {
# [: Y/ @" \5 e0 R o7 Y% } Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
& c/ ~4 M( U- r- W" M. \ Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);' T# |% p. F; ~" ^+ B
swarms.buildObjects();
6 O& T" a. |0 s. z& A swarms.buildActions();$ w+ g+ \2 y& z7 \1 L8 _0 w' E
swarms.activateIn(null).run();* Y2 j; i- x7 e8 S5 D" i% z$ V
}
* T f; f1 {7 A; z* v5 n' n) g8 Z2 C$ o. ^6 K
} |
|