|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 $ B1 j( z9 h. A, R
3 `/ q7 w! _0 T0 ^7 e7 f) u
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21( ]# W) r' Z+ ] d
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.: U3 { [8 g! H: ^
swarm.SignatureNotFoundException
: N+ N+ J, {* O3 A' r at swarm.Selector.<init>(Selector.java:76)# i9 \% s8 m1 N! }
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)4 S% |& ?; A' y8 o: d% C- \
at ActionGroupDemo.main(ActionGroupDemo.java:67)8 N# x* e7 N7 B, [0 G8 S- y6 k% N
9 ~8 i1 t. ?# m/ O
. e4 e0 O+ q! l5 r# b0 Y) ~+ v; B6 Z
import swarm.objectbase.SwarmImpl;( j- d8 ^. m; }1 `; I
import swarm.objectbase.Swarm;# S( x2 t2 U, n* j' o. `5 ?
import swarm.activity.ScheduleImpl;8 W2 z5 v }( W4 i
import swarm.activity.Activity;
( w4 H' h8 \5 W+ D4 Q1 eimport swarm.activity.ActionGroupImpl;
7 R5 u* K3 }/ Pimport swarm.collections.ListImpl;1 I" P" E! `9 @3 ]$ ]1 N9 H
import swarm.defobj.Zone; # r- H0 u8 g1 a7 k. ]" d9 z
import swarm.Globals;
" a0 ^$ `, S0 p2 X. R: a/ Himport swarm.Selector;: r2 e2 \1 ], c1 q/ e
import swarm.activity.ActionGroup;
, t- A. B4 n# j8 Z% L; ~ m8 Hclass Agent {8 p* A e) [- \: Y+ c
char id;% F+ t( M, a( ?" G" h
) G* {( z+ ]( s! I
Agent(char id) {
7 @8 e6 \; j6 F4 T- ~ this.id = id;; \- J3 u# ]3 M ?0 R, y
}
: |5 l6 ?% g1 _* Z# f- ?/ K9 S5 G: B
public void agentStep() {
- [, K1 c0 B- R5 ^# G9 n+ ~6 U System.out.println(id + ":" + Globals.env.getCurrentTime());
6 |2 v. E0 q/ M; c V& d0 Q6 Z }
" v- @ {- b# {! o1 p}; W; k' Q2 j9 y" q8 \
9 ` K _- Y/ G$ q5 A% w Cpublic class ActionGroupDemo extends SwarmImpl {8 V1 K0 P( m+ E0 q
ScheduleImpl schedule;$ T! P7 K- I3 V$ [& _
ActionGroupImpl actionGroup;% W1 N; D! b. K$ r3 \5 o
ListImpl list;4 T+ O2 V$ G) f9 T) h5 d: f* t
char Id = 'a';8 N9 J. L) j5 U9 Y* }9 q
! O, C7 }5 t+ k2 p
ActionGroupDemo(Zone aZone) {+ y1 c4 ^1 Z, c) P
super(aZone);
' ^! P5 w- Y9 i* u$ D9 k# m list = new ListImpl(aZone);6 d! [: V0 T. u$ W0 }4 K
swarmSetp();
2 B$ {( r6 q1 K" a! [ actionGroup = new ActionGroupImpl(aZone);
$ [4 Q+ D# t3 M schedule = new ScheduleImpl(aZone);& `; Q& X3 a% j- J: T
try {
: T; j2 I. h, v; L Selector agentSel = new Selector(Agent.class, "agentStep", false);
! ?+ E# b9 [& f2 [. _/ L" f. l Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
/ H/ K! U) l& S2 A2 H1 z- q+ Y & C& E: x9 X! T2 C W! w
actionGroup.createActionForEach$message(list, agentSel);
" _/ s7 [$ e! q' a5 v0 z actionGroup.createActionTo$message(this, swarmSel);0 t+ d. ^' X. \
schedule.at$createAction(0, actionGroup);
0 H+ k* n6 R. A+ y9 O7 q schedule.at$createAction(1, actionGroup);
$ r+ }/ U. h" G o+ p( W schedule.at$createAction(2, actionGroup);8 g# f1 ^# H" f% B
# s' |; r. m/ T _1 Y } catch (Exception e) {
% ]: c6 ~" b. p% ?2 K/ l8 d3 H e.printStackTrace(System.err);
0 h C2 L u9 v //System.out.println(e);, R* _1 Q# ^) K$ G% Z
System.exit(1);
, k6 R5 T; P! t; J+ a }
. |+ l* U; A- R" l. b6 A5 z4 ~ E1 ?- V7 o
0 b' s/ y1 e2 M' \1 a }$ c( r5 t/ M% a! X0 D
- Z7 R% ?! \9 M$ h( ]! a private void swarmSetp() {
; b3 E* `0 W+ a8 Q+ L+ ? list.addLast(new Agent(Id));0 H& @4 ~7 r) _- a1 n; `
Id++;
& \5 t, K" O1 t }, R) q% e& B# h* |% T
$ a& C( I2 u n
public Activity activateIn(Swarm context) {3 ~4 ]0 {: S s4 N: X
super.activateIn(context);
4 f/ z0 I* p8 _6 G0 O* h; N; f schedule.activateIn(this);
; Z/ C8 {. [# C' e- K1 }" F return getActivity();% Q+ I. z+ I: T+ n
}
2 r0 n" [4 Q, d6 t6 M. ^; b: e) D# t$ F! `) G- N
public static void main(String[] args) {+ m. N. e! W! |3 S2 \, X
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);, U7 A7 m a$ \
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
" `6 S* M2 e4 J/ K+ l* B0 z swarms.buildObjects();+ S; c0 d" Z$ q( f. {/ J) R" b# W
swarms.buildActions();
1 ?2 k! y! n# c& O5 K" O swarms.activateIn(null).run();
& {6 R4 s. q4 i$ m" q$ m }
% Y- r9 f8 d0 P2 a7 a. y0 j, B- {+ y' A9 F) I# U
} |
|