|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
( x2 e& w2 K( V- H3 R+ O: W7 `5 i. t+ V" z
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update210 Z/ s U' j0 n( q* B+ F
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.) k% g M9 B4 u) `8 o# g7 o
swarm.SignatureNotFoundException
$ M! K: P) Q; n at swarm.Selector.<init>(Selector.java:76)0 ?; R/ x, B' H1 y L: l) b
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)/ R$ S" l! `* r8 g0 g. i, }
at ActionGroupDemo.main(ActionGroupDemo.java:67)
# e! {1 w: Z2 q6 U: K- _; D+ b5 l9 e0 y( A: n6 y
+ x& V$ r ]5 yimport swarm.objectbase.SwarmImpl;
" o5 ^2 n) ~8 \) q; Eimport swarm.objectbase.Swarm;
2 @" X3 W; q( n8 e) y* [% Wimport swarm.activity.ScheduleImpl;
( ~3 b U2 F: a5 H, z3 W9 b# b% a- Rimport swarm.activity.Activity;
7 Z& p u- X$ |# w; s- {import swarm.activity.ActionGroupImpl;
; @2 c0 n' j" l! L! m+ nimport swarm.collections.ListImpl;' ?' ?6 v' w9 y* k# ]" w' t
import swarm.defobj.Zone;
6 b3 e$ ?! k' V$ v4 C4 w5 Ximport swarm.Globals;
/ N1 B0 J1 u( ~: L1 z$ c; Bimport swarm.Selector;8 A" q4 Z- T {
import swarm.activity.ActionGroup;
" c( m ]) H7 @class Agent {2 p3 D+ K1 ^0 |
char id;$ D7 h4 M$ D/ M' [9 T3 e' r
: S- M% M: P9 L5 c
Agent(char id) {
1 f2 H) X4 N. O9 w" G2 ]( B% j this.id = id;1 M, }" \6 Q) R- n5 {7 ?
}+ s' b$ ~- u2 b, v4 l1 [% S/ D
+ w5 ]6 ^; ~8 u public void agentStep() {
2 I$ W3 ?0 c. _) U1 {* X+ e g. f" ` System.out.println(id + ":" + Globals.env.getCurrentTime());
. U: l: }0 T5 S% |- J }
+ Y L) _+ m& y. F}
) j- n: Y9 p* k; j9 Z e+ n5 \4 E/ l: B
public class ActionGroupDemo extends SwarmImpl {
& P# P9 I" \' q5 u) @ ScheduleImpl schedule;
: V# r! y* J8 ?: [9 F. k ActionGroupImpl actionGroup;
0 _. ~6 y+ F* Y* ^% r" T ListImpl list;. Y, ^9 d3 B- W: M' j
char Id = 'a';( l/ K3 m- V1 ]% F: m5 I
( T3 ?, }& X5 l% q# Z ActionGroupDemo(Zone aZone) {% j8 F9 y4 _& }# S2 q6 K7 D! Y
super(aZone);
) K% A) ]" {' e; h5 W& |1 ^ list = new ListImpl(aZone);/ u6 T, Q& N1 T! i9 j
swarmSetp();- e! c5 O% F; v6 o, ]# I+ p
actionGroup = new ActionGroupImpl(aZone);
$ F$ F9 N1 i" J+ R% F y2 c schedule = new ScheduleImpl(aZone);
( q0 C! u8 @6 P7 e+ i try {
: x' i8 ?1 c4 s+ O Selector agentSel = new Selector(Agent.class, "agentStep", false);
7 g7 {2 B3 p* ?+ y Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行7 X* A7 K9 J2 e( j+ U0 u, G
1 y6 _ S& [5 S0 v! s
actionGroup.createActionForEach$message(list, agentSel);5 ] S( Z! p& [$ g$ ^, c
actionGroup.createActionTo$message(this, swarmSel);
& t6 y; v% [' a ]3 Z4 ?' M schedule.at$createAction(0, actionGroup);
& z9 C% ^4 N& ~8 v4 i5 p: z schedule.at$createAction(1, actionGroup);
$ n' u+ P3 ~$ V# s* C% n schedule.at$createAction(2, actionGroup);# s+ F Z# O' X
) J6 K! ?0 U. X+ c7 ]
} catch (Exception e) {5 _2 q5 H i( s. [6 J# t" N$ ~* w
e.printStackTrace(System.err);- _, G9 L' L) B% q5 Z
//System.out.println(e); ^/ Z: Y9 g9 W9 ~! x* d% q: @
System.exit(1);: _* d/ R3 k; s7 I: R
}& {% `2 v. e4 j: ?8 F8 e
7 Z) w$ C6 |- Q' m
% Q5 R5 n1 X k3 C
}
. \' u1 V) F9 r" C$ \* _7 W3 z- D' u! a# C7 m7 } \1 u
private void swarmSetp() {
# Q* K9 B; U, S) ?/ i5 o o list.addLast(new Agent(Id));
]! D5 x: b7 Y% e Id++;4 J6 S; ~( y6 l* Z, j
}- z4 M+ U! n" J* F4 g
7 e$ \0 U% Q1 C7 ^# Q& i+ a& I# ?
public Activity activateIn(Swarm context) {
) W; w) c' l" ~; p4 Z$ y8 y) k: k super.activateIn(context);% {% {/ p5 h9 o& j
schedule.activateIn(this);
3 b0 N. X$ U1 P2 q1 I* i return getActivity();
2 o6 A+ z- U7 C }
6 _. w9 [' _$ f9 O, \3 k( O% ~4 Z K$ W; Z6 d9 M! t3 O6 z T* s
public static void main(String[] args) {
6 I( i1 ]& y/ q5 s/ | Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);) ~$ w9 g9 }$ }4 e
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);: {5 {: h( Q' F4 Z* A+ U! w3 q2 N
swarms.buildObjects();; Z u+ I v: {
swarms.buildActions();
/ N+ x. x; Y4 W) J. Z% G- [/ }$ o swarms.activateIn(null).run();
$ T0 W9 c& ~9 k }/ w% e4 B* Q9 T
" f2 d9 q& F) ^} |
|