|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
* N- ~* G5 Q, u, V: K2 l
( y% d9 J2 S6 [# J, u7 L本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
' j0 l( |9 o) S+ ]5 b) f2 i' E以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.5 {. m% X) L/ k
swarm.SignatureNotFoundException. V7 A/ n9 C7 e+ s
at swarm.Selector.<init>(Selector.java:76): r& h' Y0 Z. T% F" K# W
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
; q) R- o( W+ _; s: i+ C" y at ActionGroupDemo.main(ActionGroupDemo.java:67)3 v+ C. _/ v$ U* x5 Z) L
" C% P- ~) z8 ?; o* u+ A; e7 @& {5 A. C* B8 G4 L3 e
import swarm.objectbase.SwarmImpl;( U a+ ~) [& ?% t9 h! Y; w8 d
import swarm.objectbase.Swarm;
; m/ A" X# d# B1 l2 Z8 e1 `1 [/ gimport swarm.activity.ScheduleImpl;% }8 ^6 i, O8 t9 S3 P3 ?
import swarm.activity.Activity;
' x$ ~8 x& T3 R8 c3 |1 ^import swarm.activity.ActionGroupImpl;& q5 R9 J( ]3 ]
import swarm.collections.ListImpl;
) T9 Y" t9 d& W. U0 |( ]& t. \- r3 eimport swarm.defobj.Zone; " X. ]7 u6 ]4 o* z5 o' N
import swarm.Globals;
- _! q5 N! V: t4 A, i; zimport swarm.Selector;
7 k: Y# g( P8 D7 [ vimport swarm.activity.ActionGroup; c: B% _$ e {
class Agent {
( D" `. N5 M3 `! ] I5 U } char id;
0 D7 q3 g. \% H0 }5 I5 e! ?: B3 }8 l
Agent(char id) {
; [2 U( ^0 p3 Y2 N4 y1 r7 L this.id = id;" |& v: @+ W% S0 k6 P) k- X
}8 G8 `; Z: s/ I( t6 J/ \
# w: ^2 I) d X- ? E! C
public void agentStep() {
2 y; ~9 L& L7 U$ I3 C9 g ]5 } System.out.println(id + ":" + Globals.env.getCurrentTime());
. c5 d) k, F/ A }
( v5 m0 j# t' U7 s" U! f+ U0 v* C}
: V, n& }" M2 l6 a! [
, ~; ]5 I) I& S* Q- b# N2 `" M' Ypublic class ActionGroupDemo extends SwarmImpl {; k# y( e' [/ n2 v+ c
ScheduleImpl schedule;, A0 G* K: Q' k; R" ~3 q: ]) _
ActionGroupImpl actionGroup;
1 D0 C I4 k1 d" Q9 i& h ListImpl list;# T: |& N2 Q0 h* D6 L
char Id = 'a';
- X7 x, D: p; V: i; \
$ o' j e# t! n1 T- U ActionGroupDemo(Zone aZone) {
( _! F+ D1 f" u5 R( R3 ] super(aZone);
# c" F* L" h. W g. `3 r; A list = new ListImpl(aZone);
9 M; X; C$ ]6 r1 D' b; P swarmSetp();. P" S1 _; F0 q! b# ~
actionGroup = new ActionGroupImpl(aZone);
) U4 y) Q O, f8 a, I7 a schedule = new ScheduleImpl(aZone);; v/ f" |! H# s$ f: @
try {. N _4 C I; B: x
Selector agentSel = new Selector(Agent.class, "agentStep", false);
9 C! u7 E9 v Q) b9 W) h+ Z Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
$ ^& s& Z; P3 D4 C 8 l5 A2 S0 i, O
actionGroup.createActionForEach$message(list, agentSel);8 ~9 z) W4 ]' S' s% s1 m1 w4 y
actionGroup.createActionTo$message(this, swarmSel);' r* d( @# J- Y6 ^
schedule.at$createAction(0, actionGroup);4 _8 n% Q" ^/ p/ L
schedule.at$createAction(1, actionGroup);
6 x A( P2 Q8 g2 Q: P6 e schedule.at$createAction(2, actionGroup);
. Y( U& ` O: g7 G* ~% W" Y# j" o
) N! n v# u; A2 q6 B4 b$ h } catch (Exception e) {, X( S3 \ K) Q$ J
e.printStackTrace(System.err);
; b5 n3 ]) T7 @+ m" V+ n: c0 h$ L //System.out.println(e);
+ _, n# ~# R7 X System.exit(1);
5 F" D1 b+ l( P1 G4 G. W5 x/ x, L# H }
, q; _' m" }7 L5 ]! {' c$ {$ G0 L% n$ f/ Q& ? {' ~& q* j3 ?
7 `' ?9 A, k) N2 I0 t, `8 w4 S
}2 r8 P; J$ |2 I% t
6 X6 N' r9 {- a( x! l1 B9 S, h
private void swarmSetp() {
& `1 M3 [) }( D, [: ?) b list.addLast(new Agent(Id));5 c C% i8 u" J7 ~6 K5 n! I& P2 J0 G
Id++;( B1 S- e* K; G# C# w1 S
}
% R( E1 d; K' U6 Z- O6 N
0 w# s4 }8 d7 U- o8 S public Activity activateIn(Swarm context) {
& u( ?! L: u% a: t5 L/ a" s super.activateIn(context);2 v: l9 t, A' V( N0 Z
schedule.activateIn(this);( k( E; C2 i" m5 z+ ?0 v' K1 _
return getActivity();
) y9 n& p( Y% _; I: M }
B% w% k, w' e* P7 N, m# N+ S$ r; ^/ J$ n- q+ }
public static void main(String[] args) {
- i8 v6 o; K1 }* H Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
8 a0 W( } b5 o0 I1 C/ I6 j Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);/ n; q$ R* R$ @1 ?% Y
swarms.buildObjects();
. J2 [: g1 t$ q7 V swarms.buildActions();
$ K7 |& f X& g4 I6 }8 @' J) k- ~* G1 e swarms.activateIn(null).run();
~. D/ D3 Y3 n+ e1 p }0 u8 l0 j- K& u* O# e
9 ]4 v* E* q; W3 V/ b} |
|