|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
! [4 K& D" g& a4 Y# J% j* U8 E! t' E- U7 u. }
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
D4 R. W$ U1 b7 b以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.* A+ B: R' W8 E, x' L, ]
swarm.SignatureNotFoundException/ C: y% q- r0 B+ L1 t/ Y- f' X
at swarm.Selector.<init>(Selector.java:76)
/ [+ I, z. n( R at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
8 ?' e R1 ^7 \, S, z, f( O at ActionGroupDemo.main(ActionGroupDemo.java:67)7 T6 p$ w8 H7 k! g! F/ g3 B3 c7 \
0 @( P8 T% f: Z" |$ Q! l
! b' ~* `+ Q$ M/ Q; A. d) ~% Simport swarm.objectbase.SwarmImpl;
, f" n4 w/ |: F5 f3 ?$ e$ N l1 Iimport swarm.objectbase.Swarm;" g. C6 C+ u0 A+ y) j
import swarm.activity.ScheduleImpl;4 R7 S: w9 E$ t7 V8 F
import swarm.activity.Activity;
$ F- N, {- b0 ?1 d" Kimport swarm.activity.ActionGroupImpl;
+ M" [, I M8 y: W' _import swarm.collections.ListImpl;0 ~. N: T; h5 |7 f+ f9 `8 N- m
import swarm.defobj.Zone;
8 z, f4 `; j' l4 u% C* |2 Bimport swarm.Globals;
5 E0 ]6 Z1 W9 F6 u. u- \2 Timport swarm.Selector;% v O4 Y2 n4 ^
import swarm.activity.ActionGroup; & v' I3 I' z& h
class Agent {% K2 w5 w) S* q, {# I2 [1 v
char id;
- `5 M6 b: k* W" r4 k2 ]% Z% {8 s; C' m8 f) V3 a, b- T
Agent(char id) {5 j0 u/ ^" N5 \
this.id = id;
, B. c7 b3 o+ s* M } }# R" _1 O# [) u8 U5 K3 {5 O
F4 o1 V/ z2 D( \, q public void agentStep() {
2 T% L; u0 X, h- S: t System.out.println(id + ":" + Globals.env.getCurrentTime());) D, L7 x" k7 B9 i# i5 M, Q* J7 u
}# \% R3 A0 r+ d# N' ^- ]
}, c6 O3 l* M* a! }
# U' M( ~' b* e3 B1 X# N5 Wpublic class ActionGroupDemo extends SwarmImpl {& p; D& g: l) S$ Y* P+ h q& V. s( J
ScheduleImpl schedule;
% }+ [7 c5 ?4 b6 ^7 H ActionGroupImpl actionGroup;
T% t; A, E$ ] ListImpl list;
. ^( z( q3 p3 s6 ` char Id = 'a';
7 I/ N5 [1 q1 K: H( B
3 r f/ g) w3 i* w- ? ActionGroupDemo(Zone aZone) {4 `" T- M8 `0 G6 C, ~; Z
super(aZone);; U& Z( E( e) Y$ D* G
list = new ListImpl(aZone);
/ m# U0 Y& b) V$ x" j6 S8 i swarmSetp();! p6 Q' @1 x9 q7 p* j# {) @
actionGroup = new ActionGroupImpl(aZone);( ]; Y4 |3 n! u
schedule = new ScheduleImpl(aZone);
h& M0 M5 J# B3 ?- e/ ?7 z: z try {) b6 M$ Z6 B0 h: k) z a* v
Selector agentSel = new Selector(Agent.class, "agentStep", false);
8 O W# i4 L; M! Q( i Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行 G1 Q; k+ A- R
4 u$ O/ E- t( R$ B3 N' ^( z5 K, P actionGroup.createActionForEach$message(list, agentSel);$ b$ d! D9 a# f
actionGroup.createActionTo$message(this, swarmSel);' _& o, c1 b( I9 k
schedule.at$createAction(0, actionGroup);. ?9 s' k2 z( l% `9 P/ m4 u
schedule.at$createAction(1, actionGroup);; Z2 C$ w, l: U. K, Z
schedule.at$createAction(2, actionGroup);& `# X! T; l) U2 O3 C! r7 |" b- r
( {! B; ~, B, `1 q
} catch (Exception e) {
* T8 T# L# z* c: H* \7 T4 q' J4 Y e.printStackTrace(System.err);/ O; f' T0 e4 G3 |) G6 M" j
//System.out.println(e);( O* n# F' i: p, i1 X; f7 R, ?" l, n
System.exit(1);2 E' o: V/ M2 w3 ^
}+ x$ n" z& G' p* o8 Q4 H
: ?- x& j# Q" c& Z" F4 Z1 d; ^5 t3 B
}) n" a8 c# p1 f6 E& e
j8 }# j" O8 h8 q5 e private void swarmSetp() {0 L2 b7 B& ]( W% y2 X, f% y
list.addLast(new Agent(Id));
! s# N1 w0 W ]3 v$ Z$ q Id++;
$ I0 ^" B) R B' t }
& u, ]$ _7 ?# s$ K. O) W: B- P* g. F/ J) t. C2 T# `% \
public Activity activateIn(Swarm context) {2 c) Y# F. K6 o) u& h+ }8 p# v
super.activateIn(context);6 x- ~0 F F% e2 |: u# M
schedule.activateIn(this);* @1 e3 D4 G% I
return getActivity();6 ~0 d! @: e1 F k
}
; |' S5 K8 n- C/ `
; ~; o$ r7 A& p6 M. {( g" U public static void main(String[] args) {
2 d6 z) h6 p+ U6 E0 g, @ Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);; e2 \* l C- w, [2 ^3 g3 N% z& a
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);: t7 p1 H7 R5 u- w2 v/ i. ?: V
swarms.buildObjects();" h! A) W( X( J. | Q8 `% ]
swarms.buildActions();
+ y9 I: {" }8 P r0 I* G. C' f% ] swarms.activateIn(null).run();
5 ?5 y9 G0 j9 n$ @! Q/ B }
( E4 J6 F Z* u- V; e$ p0 t9 G9 f2 U! P% m6 {
} |
|