|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
& a/ Q" h# q) ~8 ?( d8 L# w" g6 r I* C8 y
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
7 v- D8 R X& a以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
+ [9 n$ y3 K2 O+ sswarm.SignatureNotFoundException
/ `, Y. L9 W' U: m3 x at swarm.Selector.<init>(Selector.java:76)
/ `; S0 Y9 J' X7 @8 }/ W# Q5 g at ActionGroupDemo.<init>(ActionGroupDemo.java:37)8 k3 D, j! Z& t
at ActionGroupDemo.main(ActionGroupDemo.java:67)7 Z( f; s3 W5 r6 {( b' `# e
9 m" ~. l+ F) \. _
% |" z5 ~1 N- t0 i) _9 [) vimport swarm.objectbase.SwarmImpl;
+ N7 _( L! }9 D, fimport swarm.objectbase.Swarm;
2 B7 t8 h. J, q: R# wimport swarm.activity.ScheduleImpl;$ U T; M4 |: m ~( p
import swarm.activity.Activity;
7 }3 D2 `" x. V, dimport swarm.activity.ActionGroupImpl;. ]) x I h; Q: A7 V
import swarm.collections.ListImpl; g: h+ m* i: w1 z6 o! L$ M. Y- J
import swarm.defobj.Zone; ) T4 \. F) K- v
import swarm.Globals;
P; d# e0 r6 R/ A K9 `import swarm.Selector;
3 P* H. f) U3 o) Z$ \: `" A% Yimport swarm.activity.ActionGroup;
% B6 M! ?, W+ Z0 `# y$ z. ~0 ?class Agent {- l; Q. A2 o$ F( O( e. c
char id;
2 G! i3 _7 f9 o8 d8 b. D( M- U' Z0 ^% a( @/ x! k2 I6 g. n
Agent(char id) {
. l5 i* H0 C- S& p4 ^; v# [ this.id = id;
% s8 [* q; q' z; [/ t2 L9 f& I }
% v$ i% l# o% U u$ @* l- b( b3 e( e3 W* C! R2 c" ^
public void agentStep() {0 A* z4 ?& O/ t$ t+ f* s* y
System.out.println(id + ":" + Globals.env.getCurrentTime());1 D3 j, L+ e3 _* d/ B
}2 [/ h1 e5 H8 n6 ]8 J; h; F
}
" s, m# s- }. J' i: j/ S! j& s% [7 F* J& q/ n8 F! d W3 l+ v2 O7 B/ T
public class ActionGroupDemo extends SwarmImpl {
9 k0 ?( g8 d r- c6 A7 w) j7 { ScheduleImpl schedule;
' h D+ P2 G, u2 S( F4 X3 { ActionGroupImpl actionGroup;
' A2 K5 G d, B" g* a+ d; k: n ListImpl list;% ?3 g. `$ i8 U/ d" U
char Id = 'a';9 S% S$ h' d. ~+ E# M5 h2 o
. `' l# K9 K" @, D# v
ActionGroupDemo(Zone aZone) {
! r& N% y7 N2 w5 N _& @ super(aZone);) U7 i0 f/ V' X6 Y6 P, F
list = new ListImpl(aZone);
# n M2 L3 m7 j- c! [/ K swarmSetp();( S g9 \" d' h
actionGroup = new ActionGroupImpl(aZone);
: @/ b$ ^" e$ v; T schedule = new ScheduleImpl(aZone);6 E# R! C: u( j/ a) |6 Y1 {
try {+ ]3 J9 @( K' P( [7 n4 ?% \
Selector agentSel = new Selector(Agent.class, "agentStep", false);) u" K8 s/ Z" f. d7 l
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行! f% T/ q+ y! M2 P% T
. n$ c* z1 P2 s8 v' y7 X' m
actionGroup.createActionForEach$message(list, agentSel);5 {# i. X4 K0 e6 L4 a* ^
actionGroup.createActionTo$message(this, swarmSel);5 w5 X0 |" ]8 m. l
schedule.at$createAction(0, actionGroup); t( K+ C3 M$ n+ J7 {
schedule.at$createAction(1, actionGroup);
3 Y. n7 @2 H! i. p9 D; V schedule.at$createAction(2, actionGroup);
/ E' e6 V% [( N5 q8 h# N1 C+ w7 y) }: b
} catch (Exception e) {
% c# E+ Y. z8 y" G0 w N) H8 f e.printStackTrace(System.err);' u' L0 d* R/ P( p% D
//System.out.println(e);, o3 p5 J: M+ Z+ O! @
System.exit(1);
3 n' _ t* y3 S" | }
' I. @3 m+ n3 C2 N3 ~) T
7 l; U0 B% M& p+ D3 o& P
6 V. r9 |8 P! f3 j% Z# D) O) X @" D7 I }
# w: {5 Z. W* w5 m2 u! Y f2 Y, J% S; j4 }
private void swarmSetp() {
- R; V) i @8 n9 p9 Z9 R! {% v) }3 Z% ^ list.addLast(new Agent(Id));
7 O `% a( h/ u6 i( F Id++;* p, t! a7 w6 H
}1 r1 _2 ?4 O- n$ `# e% H3 d
9 `- E5 M, N4 D+ h
public Activity activateIn(Swarm context) {/ u! W4 }* Z- ^4 z" F8 m
super.activateIn(context);* M2 U2 b. r- `! t
schedule.activateIn(this);* N, y3 [1 e2 G4 R
return getActivity();
4 {5 D8 F# |, i4 |! L$ k' ~ } f! e3 `; b; ^: S$ |4 g5 e. X7 X
8 b p7 U$ ~! `: c9 h2 K5 {
public static void main(String[] args) {9 B$ }* s8 u, R% U0 t1 R M' h
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
" y) B* j; ?9 F0 V) f7 _$ i Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);9 [+ e1 B3 T; J# M# |
swarms.buildObjects();3 B Y9 n$ ]& {7 Z
swarms.buildActions();1 v+ N. j, S( B0 n# o- M/ i5 `
swarms.activateIn(null).run();
6 x/ ?+ R8 F( R7 _9 n }' P. u# W; W5 g, a! w8 r
' S& p, b( Q" O( x. s R( ~} |
|