|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
# c0 ?+ f8 M/ _, l' ` g
; a i% p6 R" o+ y, z本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update218 N* T9 s' Z+ z4 d6 u
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.( F0 R j9 a2 X, B* _
swarm.SignatureNotFoundException7 z" K9 u9 I( @2 d9 q
at swarm.Selector.<init>(Selector.java:76)9 n$ j/ @ w7 x. P
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
% X7 s/ Z7 ]+ c, C at ActionGroupDemo.main(ActionGroupDemo.java:67)1 ]8 y/ S m. h, C; o' ^
9 X* w) I( L8 Z7 _* |1 g8 z4 ~! s: L$ N1 e4 E
import swarm.objectbase.SwarmImpl;
! i6 N2 I6 G4 \2 Oimport swarm.objectbase.Swarm;
, R5 Z+ ]0 t. J% n+ }import swarm.activity.ScheduleImpl;
2 T$ _& w; F% N6 p" P; J$ E) kimport swarm.activity.Activity;, Q! s1 f c1 P3 M: l
import swarm.activity.ActionGroupImpl;
3 x- ?/ S+ h4 }( v5 `import swarm.collections.ListImpl;
3 i3 r# g0 T" |; Qimport swarm.defobj.Zone; , l" O1 ]4 C2 v
import swarm.Globals;: N8 J7 c9 v9 ~: Z# P
import swarm.Selector;4 x! d" P. S0 P' V* \8 A- o: d
import swarm.activity.ActionGroup;
9 l4 U/ u. a6 |6 Z5 R( ~+ Hclass Agent {
+ {/ y1 G6 ]9 j* _1 I" g* U char id;
7 v& J: ^# f! _( r: U1 f5 ]
! s- h5 d& T( }* q% ?$ @* a Agent(char id) {
6 c' N5 T) ^$ N this.id = id;
) S4 }# i& E+ ^1 o8 ? }
: s3 E1 k. ?" U7 `& x9 R) G$ X8 K( e! X5 F3 f0 a
public void agentStep() {
8 a# i; v. |* x& \ System.out.println(id + ":" + Globals.env.getCurrentTime());
# ]) K: n# Y1 U9 G. a- k4 E# w }/ y* ? J2 H' C: q' \! V5 d
}
/ m4 S4 A, x2 W# F5 K
. A6 N/ g$ e. v" E# ^$ n7 D7 F7 ~public class ActionGroupDemo extends SwarmImpl {
3 ]4 `& {: O# [$ y! z2 W( L( Z ScheduleImpl schedule;0 F+ z* U5 {, g- ?0 K
ActionGroupImpl actionGroup;
/ l" R1 k1 \& j5 ]6 [ ListImpl list; V1 s$ R9 z' K+ P
char Id = 'a';" _ {" r j0 D- _8 K7 }6 A
# z, E9 ^5 P- f* }1 l. _
ActionGroupDemo(Zone aZone) {3 r U, D2 T& T6 @$ ~* S0 b& h2 m M
super(aZone);
. i0 Z- K/ Z& c) D9 p( l4 v4 ` list = new ListImpl(aZone);( y. m O% u/ y
swarmSetp();
) |, t+ U# b1 g9 e2 K; X [ actionGroup = new ActionGroupImpl(aZone);% J8 I' T9 P! v- _, M2 C' F
schedule = new ScheduleImpl(aZone);
4 x ]/ Y, X. g" T5 G try {" b% |/ P8 \8 @% l& j4 h/ _
Selector agentSel = new Selector(Agent.class, "agentStep", false);5 m2 g; T* H ^
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
8 W- L0 ` m g
$ }! @6 C p1 F4 T! v3 D actionGroup.createActionForEach$message(list, agentSel);- v J8 I2 Q/ e6 n
actionGroup.createActionTo$message(this, swarmSel);
) j+ I+ |$ x8 e; k schedule.at$createAction(0, actionGroup);
! f5 d6 A# ]- x7 F7 m schedule.at$createAction(1, actionGroup);+ _6 p( K! a0 {7 z8 P [; G/ W
schedule.at$createAction(2, actionGroup);
3 ^! h6 w: i9 h- o1 W& F5 v8 T, A; N5 D3 d
} catch (Exception e) {
: c( J' E9 e# F& n0 }+ _! E" F6 z e.printStackTrace(System.err);+ X B7 @ [8 Z4 _
//System.out.println(e);
5 W, u8 A& J# c3 ?0 U System.exit(1);
( q2 p- [1 v/ f, w6 O8 z }
- c! b6 L4 T5 P7 p4 q/ p( O& a7 N- W- ^& i, L$ ~7 V6 E% `
8 c" E9 c$ J5 G
}5 `) l O' q9 v7 Z$ o& N
+ K2 q6 V. O, ?7 s, T3 Z2 r% Z7 ` private void swarmSetp() {
4 t' p6 l& r1 y2 v* M9 c9 _ list.addLast(new Agent(Id));
; d% i+ c1 }$ \9 A5 l$ Z Id++;) B/ r, [* Z2 m
}0 Z E4 }( W. Q; h9 r
# D/ {/ t2 Y J3 b5 q8 W4 T' c
public Activity activateIn(Swarm context) {# j1 D( u, o( u5 K ~- O
super.activateIn(context);
0 `+ Y9 r. d, U, Y. @: A$ r2 {+ d1 T schedule.activateIn(this);
: f1 N4 A ]9 B, w' d+ R/ L8 }( x+ e return getActivity();
3 r e4 W- y0 j6 e G" ]! y }
0 n4 q& h: Y* ]0 ~6 z$ H
5 R2 @3 v' q2 o3 c0 f E public static void main(String[] args) {2 B% l" L% Q4 A" S6 D9 |1 }
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
( }8 S C: h9 p2 W( n Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);! M! L6 P) t5 s7 L/ ^6 T' O
swarms.buildObjects();# c, N( K5 s# z2 J- B
swarms.buildActions();9 r2 R4 R* y9 u$ s5 C+ \
swarms.activateIn(null).run();
: q: }8 W! P. t( l- B+ J5 T }
3 g$ P9 B) f7 U2 i& k, N
. D! k) u3 V1 H) X% c} |
|