|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 % K2 \4 d4 t2 q
1 v0 {/ z( c* Z9 f本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
* T7 b. }7 S T" C) Y以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.* P% f6 V# k" n6 D3 M5 X: p0 s' f2 z
swarm.SignatureNotFoundException9 |: c1 T3 D$ F' S
at swarm.Selector.<init>(Selector.java:76)
N- e- k; O5 f4 Q) l at ActionGroupDemo.<init>(ActionGroupDemo.java:37)* ^9 l3 K$ S1 b, r! {
at ActionGroupDemo.main(ActionGroupDemo.java:67)' _8 P7 z. R5 P7 b, p
j' Z' Q" _2 w' {. F- Q
\0 H0 X- Y+ u1 E( e9 F
import swarm.objectbase.SwarmImpl;7 l8 I2 w- d" R/ S" T
import swarm.objectbase.Swarm;6 h& H- d* z' x! L# c+ s5 n
import swarm.activity.ScheduleImpl;
2 P! l W$ Z9 e( S0 gimport swarm.activity.Activity;! z5 ?! G" w4 {( S& z l; z, O
import swarm.activity.ActionGroupImpl;* D$ z4 \' D8 Y2 O& `' V
import swarm.collections.ListImpl;
+ j" _" N- P/ `7 j7 k" ]/ C# A. ]- Simport swarm.defobj.Zone;
2 o, t5 h) _0 J' r; c5 @import swarm.Globals;. Y( C& ], s* D h8 v
import swarm.Selector;& | b% R/ j* B6 `7 K
import swarm.activity.ActionGroup; 4 {: J2 y D9 t! h& }
class Agent {
5 ^* c6 v' ^7 C7 Q) v1 @4 r char id;
/ R% J% l2 M7 h) z4 X6 ^( |* ]" P8 V& ]; {: Z- |* k
Agent(char id) {+ t8 n5 P: L4 F0 F; T1 o
this.id = id;
! f: U x; w" m5 V; U' A) g }
. Z, U- f5 D c: u1 V
! L# M' t4 B, I public void agentStep() {4 X3 Z/ S; U" D D5 J% T: C' ~
System.out.println(id + ":" + Globals.env.getCurrentTime());9 _8 J" ]$ n. V9 _ q
}
- P) h( ]9 d# H! j0 ^}/ f" _* U5 Y6 U% J
2 l3 [& \& z6 I/ @' L* d
public class ActionGroupDemo extends SwarmImpl {
+ R; x# a7 \% D8 F+ ` ScheduleImpl schedule;$ p7 q6 E0 @( I* ]1 X" u i+ K
ActionGroupImpl actionGroup;: A3 u$ l) g a5 h2 [( D. y0 @
ListImpl list;
! d" e9 f+ H3 q& _0 S" k( }8 ` char Id = 'a';8 x% r6 ]4 t4 v9 M7 s6 }
: e5 u b1 {3 ~! G" C1 x
ActionGroupDemo(Zone aZone) {3 ^' [6 T" b4 Z7 x4 c4 u4 g7 c
super(aZone);
; ?3 y) q3 N2 }6 E list = new ListImpl(aZone);$ I5 N/ ? w8 q7 O3 E1 v; c
swarmSetp();
" V. |$ Y* y) U- r0 M actionGroup = new ActionGroupImpl(aZone);% N) ]. J* D8 Z" @0 M) @
schedule = new ScheduleImpl(aZone);
3 e7 G# ]3 ?' s2 u try {
. v! l' A s, u- K5 I9 I Selector agentSel = new Selector(Agent.class, "agentStep", false);
& }- x' u* ] v3 v Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
! A: e5 D& B* d& P6 n4 i8 e, ? 7 q+ O+ P. L( e. c
actionGroup.createActionForEach$message(list, agentSel);4 ]+ _/ i* m* ]
actionGroup.createActionTo$message(this, swarmSel);
+ j5 r2 I% V- f schedule.at$createAction(0, actionGroup);
* i3 e; |4 d- h* ^1 a* ?$ s/ q9 G schedule.at$createAction(1, actionGroup);
# H6 A! R( [: z, e6 |* h0 K4 a9 `. I schedule.at$createAction(2, actionGroup);
5 m6 L1 ]# l7 @! x# Y$ b5 p" Q8 e" P% n* x9 t8 g) ?! [
} catch (Exception e) {
8 j' B2 [( e/ D5 k9 j e.printStackTrace(System.err);0 ^2 j( D( R; k J
//System.out.println(e);
; m5 A9 T$ H. W- P7 y( Q7 E System.exit(1);
* m f' A/ a& `4 w# J+ _ }5 ^) M' K: \9 I0 _0 c
- k- |8 m6 K+ N, }( N+ I
4 O" u, e8 J5 L& ]$ q6 p
}, N% F, [; f$ P- o
) b/ C l+ \) t3 ]: s
private void swarmSetp() {
& b0 Q. U9 H" r N: L list.addLast(new Agent(Id));
6 Z0 b# [; Y7 b Id++;
4 R. c3 I& s3 \! u$ M% P5 D2 Z) ~ }8 B7 O# b; H0 {0 F& K
7 k D4 g- q, n1 a/ O: f, @
public Activity activateIn(Swarm context) {1 m! k6 w1 k! _* R
super.activateIn(context);
5 ?; ~; l6 ^% D4 d( q+ [ schedule.activateIn(this);
2 ]+ n6 l! k: @' B return getActivity();* } g; s4 p6 Q, I2 X t
}
; ]# a2 t7 ?5 x
4 E9 q" A) E+ {/ ?; _! g. [ public static void main(String[] args) {- M8 S9 y/ H. c- O3 E
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
6 W% D" S" P+ T/ F& ?* t Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
' p4 g4 `% ^/ { `' W# p swarms.buildObjects();
# J9 F- Z/ R5 E" p( y% I swarms.buildActions();5 s' ~9 U: t2 e* i
swarms.activateIn(null).run();
1 X- |$ L" @1 W. l5 E1 {0 ? }- D0 X; T0 W/ R% b5 V* I
8 s1 ~$ y: p2 K4 @! ~3 L( _% }} |
|