|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
# c( o9 Z8 x& L2 i. G
, x- b: U: d/ o! u& ~本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
" F1 p4 `% E5 ~2 E5 r$ R以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激." k' t. b8 f7 c# O
swarm.SignatureNotFoundException' \/ |) Z) ?% y! Y4 c
at swarm.Selector.<init>(Selector.java:76). D$ }7 F3 J: C9 P
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
0 R- v& ?! z3 U# g% \2 H at ActionGroupDemo.main(ActionGroupDemo.java:67)
) D6 L9 f+ C) N8 g) N8 ~
! I9 W3 A$ e& V" f4 B; n5 S# q
2 B- t! e0 m/ U2 Jimport swarm.objectbase.SwarmImpl;
. M4 l1 F5 B: U3 ?7 A; V! z. I: r: l! Nimport swarm.objectbase.Swarm;
( g+ ~ r! F2 C3 u/ Bimport swarm.activity.ScheduleImpl;6 z9 a2 u W7 R3 F
import swarm.activity.Activity;
, _; p3 H4 F5 s: }+ dimport swarm.activity.ActionGroupImpl;0 {! k* {" p {/ c1 }
import swarm.collections.ListImpl;- Q" @( }4 A/ j$ m. V3 r
import swarm.defobj.Zone;
! p5 o: l) _9 v6 D- i9 L' zimport swarm.Globals;0 ~+ R* p2 I, t L. B6 x
import swarm.Selector;
6 f9 p% F1 b% Rimport swarm.activity.ActionGroup; 2 S; q1 Y) F( ^. a( H# z1 b
class Agent {$ t8 {- j4 ]$ M: F3 z% u
char id;
% m, k+ M1 V9 |# V$ P/ V9 m2 o
5 S+ C! }6 u, b+ Y2 p Agent(char id) {
# Q! I9 \" X7 \0 R* e6 m this.id = id;+ N4 x: @" x; C6 A3 J' V; `5 S5 x; s
}
7 F3 }' L$ W( ~: U
2 d7 o& J4 @8 ~0 L, d public void agentStep() {
1 `' O, M2 T7 o" U System.out.println(id + ":" + Globals.env.getCurrentTime());
$ `2 @8 {6 S7 L4 I: X1 u }
) S$ `* y9 F" z4 A9 Z1 @2 a# R}
- s- B$ q8 B) A, y* P4 U7 q. t1 |
0 I0 a Z/ V* E& h* Lpublic class ActionGroupDemo extends SwarmImpl {
5 P a6 P$ S8 B( z ScheduleImpl schedule;
/ I4 k( ?4 Y% q* v+ {2 E( U ActionGroupImpl actionGroup;
' T; n7 I8 F+ m$ D6 W2 }4 a6 W ListImpl list;
E0 I6 y. |- [5 N: G7 C char Id = 'a';
8 k) X+ Y# L& F0 C/ _
9 t& s4 {# z1 G ActionGroupDemo(Zone aZone) {3 C) e1 h4 A2 l8 `
super(aZone);9 P; i9 \+ V# X4 }' P# T6 w) D
list = new ListImpl(aZone);
" A+ S; z2 l! j* L2 }2 i! M; m swarmSetp();6 d9 ~1 P# E7 C+ ]! O
actionGroup = new ActionGroupImpl(aZone);2 x$ U. y$ K. I) e$ R ?: a
schedule = new ScheduleImpl(aZone);
' c# r. z- N" e" i try {. d' m, U, d# P; r
Selector agentSel = new Selector(Agent.class, "agentStep", false);/ [' H0 c: B# I; ~
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
% `# R" f+ \6 Q$ ^% e : p6 R5 l* p. W
actionGroup.createActionForEach$message(list, agentSel);
/ r4 u+ K/ k7 v$ r; j actionGroup.createActionTo$message(this, swarmSel);
( M! k- n4 P. m' r$ ?/ L schedule.at$createAction(0, actionGroup);
' O1 Z) U: x/ p" o$ V* m( q schedule.at$createAction(1, actionGroup);& J6 S* j& o5 U+ F. u. A X
schedule.at$createAction(2, actionGroup);( H/ x) U: f" T0 X
. X( j# h/ W9 q1 G+ o- Z8 i
} catch (Exception e) {4 s3 A5 T% o4 p; k
e.printStackTrace(System.err);2 h. [) q( ]. ?' o4 ~; }; a+ n
//System.out.println(e);
4 S4 C3 Y0 c" j( _& L7 J# M System.exit(1);
+ N" C0 Y& m& c. j5 h6 X8 | }5 d2 Y. W$ x6 U
9 O0 ^3 `, v( s5 A
; |) u7 G/ H+ f6 J6 k. u1 a
}
# S$ \- l2 Q0 }3 x0 U! f( o- O; @: V" p, E1 \
private void swarmSetp() {
# d$ k1 T/ Z% r: w list.addLast(new Agent(Id));
) w5 s. S5 _" k Id++;
3 A. s5 e4 {' U6 t5 E9 j( T: V7 f }2 ]: L/ s% z/ F
/ c* |. l j1 ^6 x0 E4 ?
public Activity activateIn(Swarm context) {4 G1 r+ I8 ~/ d. `
super.activateIn(context);: p* k5 Z( v, ]- d7 q" N, O
schedule.activateIn(this);4 u$ n# a5 U* a/ z9 o; A6 Q
return getActivity();
7 [5 P" G$ F& `, z; [+ G }
% @& J6 p9 ? Z5 ~1 n+ s ]
% {2 i) U$ X* Z9 [; h: W5 { public static void main(String[] args) {
/ ~; ]1 \& Y/ s6 m8 J Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
! w( p( S5 {( X% V/ W9 P Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
* o/ J5 k, h; @" A! K swarms.buildObjects();6 `# f, @. a. I Y
swarms.buildActions();8 |" n3 }; S" n1 c2 ?
swarms.activateIn(null).run();/ ~5 w' G3 j+ x/ E7 q @0 ^4 A; z
}3 T4 B" o" _* W" Y, t8 z i; G$ A
; h/ P7 }: q# z ]% `; `0 d
} |
|