|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
, l% F& x4 p. }7 ]" [0 d0 U ` {5 J7 e+ P6 ^! S# W
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21" H+ {, a5 p! M5 D( }
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
# L; w8 n" E# X- S+ cswarm.SignatureNotFoundException
! G/ I* w3 c! Q, w at swarm.Selector.<init>(Selector.java:76)6 G0 L4 B/ L+ t2 h* T1 E9 A. q
at ActionGroupDemo.<init>(ActionGroupDemo.java:37). s |5 ~% e. i4 m1 X* ~: e
at ActionGroupDemo.main(ActionGroupDemo.java:67)
" R4 E" P4 s9 _6 i6 T
( f" Q+ l$ a/ l6 ]& `5 x, c/ p, g# k0 { J, Z( M7 T
import swarm.objectbase.SwarmImpl;
0 @) Z+ _' C9 _. Z$ g8 `* e& Gimport swarm.objectbase.Swarm;) W' b& b# A/ t9 e; Y; U
import swarm.activity.ScheduleImpl;
. g& P' k6 L+ M1 F+ _6 simport swarm.activity.Activity;3 J9 S. h2 ?# Y9 |2 z
import swarm.activity.ActionGroupImpl;
2 B# w+ ~4 K) s5 r' Iimport swarm.collections.ListImpl;, B0 F4 m/ m" g1 ^- l& P
import swarm.defobj.Zone; % B& ^" f" z$ K. H
import swarm.Globals;
3 V0 i: B0 M2 yimport swarm.Selector;) D' R( B; e! D& p
import swarm.activity.ActionGroup; 6 w! w+ a. b) m% J
class Agent {
) F- T% z, I2 E% ^( L char id;2 k4 ]+ B+ v0 u: V7 D6 Q
/ V/ i5 d7 ^4 P( w
Agent(char id) {; S5 K" v2 ]9 y3 X5 d2 B3 W5 s
this.id = id;* \! D }# \: ^2 ?" }
}( J5 T$ O9 x( q; c7 I
0 [/ |6 x7 e% e! j2 d2 [. Q) Y public void agentStep() {
1 c& g' w1 v+ W3 u- U" A% M* H& ^ System.out.println(id + ":" + Globals.env.getCurrentTime());/ t' ^) y$ G% y
}
# K' q$ ?) z# b$ h. o' q( M9 \6 ]' i}' S$ c. N5 x9 t- O
" I/ O3 I2 `7 g, L1 Wpublic class ActionGroupDemo extends SwarmImpl {! o" l5 `- A7 H
ScheduleImpl schedule;
1 z. }" ^4 t, @9 k ActionGroupImpl actionGroup;5 G- f K' c! I) f3 P/ q* G
ListImpl list;
2 ^% A6 e" O" R2 z char Id = 'a';
4 x# f+ a- L [
# n: M, _& `0 N" A* x ActionGroupDemo(Zone aZone) {! c6 T! \5 Y& ? Y* h6 C; K, x
super(aZone);
3 Z$ c2 H1 l, f" y7 ^3 j list = new ListImpl(aZone);+ [9 M# p( Z/ g- {: B
swarmSetp();& Y& E' ]6 C2 h6 G8 G) t5 D* Q6 U
actionGroup = new ActionGroupImpl(aZone);/ g; ` C1 p. R6 ^
schedule = new ScheduleImpl(aZone);
* I Z, H' E; M- p# E f# m- [; N try {% p3 \: f) x1 P* N
Selector agentSel = new Selector(Agent.class, "agentStep", false);" P! d% |8 M6 e7 t2 B+ J
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行/ D6 v7 h" V5 A, O* Z0 X$ @
; e k+ F! l# l; g+ O actionGroup.createActionForEach$message(list, agentSel);! S7 Q+ N9 x% J2 p _
actionGroup.createActionTo$message(this, swarmSel);
, o0 I7 k* F" }# U schedule.at$createAction(0, actionGroup);
9 S, ]4 E* C M# N schedule.at$createAction(1, actionGroup);
$ U# @ p+ p! E5 C) C schedule.at$createAction(2, actionGroup);
: s6 B, ~# l ?, \- \
6 G8 h$ K5 s$ z' m) Z } catch (Exception e) {% a4 B* @; q; i; k l% U
e.printStackTrace(System.err);/ c3 W+ O0 D% @# m( g; h8 D7 m, S4 K4 Q$ Z
//System.out.println(e);& ]4 o: t! V& Y% M* s7 {/ t; w2 B
System.exit(1);* \1 j+ s. ^" t6 Y
}
$ Q, X4 s3 n$ N# a1 s) J! W; s6 r5 `% I# V- I; H% B
7 [9 c8 ~- g+ ]2 x0 c: k) X9 ] }$ Y1 h6 {" }1 h8 d
3 g* y. }6 n f* x$ Q I- m
private void swarmSetp() {/ s% {4 Q" k8 G7 h/ N7 D* ?& B
list.addLast(new Agent(Id));
: R9 I q" L; J4 h4 Q% K Id++;5 F% Q, }3 n+ M& { E$ Y& Y( A
}
) _6 ?3 o: f& @' E. ~/ B c$ x
+ }1 B8 h; [6 _8 Z( U public Activity activateIn(Swarm context) {
" L7 f8 s9 _2 `1 Y2 [ super.activateIn(context);, v! }" B* \; v3 v) M
schedule.activateIn(this);
) B l! u# S' N1 ~8 k: z4 y9 G return getActivity();7 a7 X( l a2 H
}( d! }0 X5 F, V8 q
' \- ~ N m# D9 z9 O8 n& ^% w public static void main(String[] args) {9 O! W6 D0 U3 b: ?7 {
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
+ v% W+ p' c% A1 l' ]7 ] Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);' i& P R* A$ L, n1 F n
swarms.buildObjects();4 S3 [8 H# j3 t, m3 S' h
swarms.buildActions();
# D5 e; P! n) ^. e2 I* j& d* p8 p swarms.activateIn(null).run();$ Q3 i' L8 M9 I
}
; @* m2 D! k8 P
3 w! T* s y' @* j. y! t} |
|