|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 " K6 B& g* k4 U
4 w. j3 K2 @7 x' `! _8 f
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21% P8 o4 n; o. X3 T# i
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
, E1 D. N9 Y, w7 ]8 @2 t# V. {2 ]swarm.SignatureNotFoundException( l% r+ q% y) t1 p5 \* t6 d
at swarm.Selector.<init>(Selector.java:76)
/ m4 _& q4 E+ ?$ w- R at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
5 B9 U- A0 A1 {3 i! L at ActionGroupDemo.main(ActionGroupDemo.java:67)- S2 O, u! a' R: g! T, {6 b
( N8 ^' e( k* [
) b9 }5 V& M( fimport swarm.objectbase.SwarmImpl;
9 U6 X) p+ ~; l) q7 K+ F+ kimport swarm.objectbase.Swarm;
( f4 D o5 j% ^import swarm.activity.ScheduleImpl;
/ l1 y. x* P+ v& \& M8 P, kimport swarm.activity.Activity;7 y1 h @7 V. S% ` c9 B
import swarm.activity.ActionGroupImpl;7 H6 F9 a: F0 R7 [% k/ W
import swarm.collections.ListImpl;" f, r! |. U- m) |' y
import swarm.defobj.Zone;
* ^& H8 w' N5 A A( S! ?* M, |; C; W* Mimport swarm.Globals;
# w: f, U0 O: N, H: c( eimport swarm.Selector;
. J! c$ ?! e$ t3 a& Bimport swarm.activity.ActionGroup; 7 O+ e/ ]9 S4 b0 q3 i0 [$ o
class Agent {0 t1 r+ Z+ |2 j4 A
char id;
$ w: @& X% M. ]; Q! F7 m1 e& Y3 m7 m' W5 w: y5 V4 H1 z7 f
Agent(char id) {3 Q9 \3 J! o; R8 v9 y. Y
this.id = id;9 ^* ]1 Q2 j9 q* S- @! m' ^& u
}2 }# U9 H0 `3 x8 l
+ e9 e0 C* B: w. r public void agentStep() {9 N9 D Z/ I5 D4 l) \ {( f
System.out.println(id + ":" + Globals.env.getCurrentTime());
* W( |0 c% k" q$ G5 h( U( w }# W* f+ f$ N* U- a4 e N8 u
}8 |& h Y0 h P1 z- ] S: C) {5 {
, v5 E/ f& { R9 D4 W* m9 E
public class ActionGroupDemo extends SwarmImpl {+ m3 S3 |/ [' t6 B7 @
ScheduleImpl schedule;
& }9 O! X0 H2 O8 A9 j8 e ActionGroupImpl actionGroup;
0 }( j% U, x7 P ListImpl list;) G$ Z# U$ v9 ?2 K( t6 _# O
char Id = 'a';+ l% f2 O% V9 a5 d4 \
3 q X8 t9 h" r" M# L0 m
ActionGroupDemo(Zone aZone) {5 a7 J5 h3 l7 U! G
super(aZone);
5 z V) y. Z& l/ |: B! G list = new ListImpl(aZone);
7 j+ ?0 K. T5 }) h8 u' s swarmSetp();) {% H0 o6 A: ^2 x, g
actionGroup = new ActionGroupImpl(aZone);9 `1 u' I4 v2 S9 f/ I
schedule = new ScheduleImpl(aZone);
L/ x! H9 D2 ^) f4 Q; ]! |$ D% F- m+ ? try {
* C0 L- L3 {7 O4 {- s. v Selector agentSel = new Selector(Agent.class, "agentStep", false);: ?5 N) b% t0 R' t
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行# z. `( `) T( J' }. _ m9 K7 ~7 A
$ O+ {; n( h) r1 E. N1 \, [" Z actionGroup.createActionForEach$message(list, agentSel);
* Z0 ~6 u6 A& | actionGroup.createActionTo$message(this, swarmSel);
, X0 c9 K. [2 ~4 f) g ~- K schedule.at$createAction(0, actionGroup);/ P' ~7 [ H3 C
schedule.at$createAction(1, actionGroup);) G7 b9 a. V: @
schedule.at$createAction(2, actionGroup);
2 u! |( ~- K* F8 c' _% |6 I4 N& v4 Z) S5 q n7 ~6 j0 ^
} catch (Exception e) {
& c/ y( i9 K, T/ |; A e.printStackTrace(System.err);
5 u% N k0 m" _+ w //System.out.println(e);- Z6 A0 s) G$ Z: R y& [/ t
System.exit(1);% I9 N8 V+ k2 s4 h
}+ j7 H0 ]2 W5 c& q2 \, v$ S& J+ o
9 d' j8 d6 Y& \4 V, E' k( q! p4 ?* i7 Q8 ~, z7 p8 v
}
- `; v9 \ i5 ?* M4 B c- E' X8 X9 ]- ]9 e- \6 u
private void swarmSetp() {
& M" y/ E4 M( Y/ H list.addLast(new Agent(Id));" O- u2 L. E+ U2 h& {; O( N! w. \
Id++; x. `+ S; o7 u: e0 I
}
0 S9 k! Z( `. D
n8 W3 A) _2 X7 A- F1 J" F public Activity activateIn(Swarm context) {
, t( m, o2 ~# w super.activateIn(context);
' u# V6 P$ E! I$ }0 m1 g* H schedule.activateIn(this);
* m* K. i( o6 p! {1 u0 M return getActivity();8 Z. M% }2 |# j: Z
}, c& Z- z. W( U6 a+ p0 S
' ?& _6 b8 E# H! }1 h* |6 S7 i public static void main(String[] args) {
0 E' x) ^2 G. e5 ^, v/ }" @: M0 v7 M Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);' c2 P1 M, x! P
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);# Y T7 I/ {- R6 `, C' n7 {
swarms.buildObjects();4 B4 Z) ]6 {' Y% c
swarms.buildActions();. D5 E# C- y) P+ {4 x
swarms.activateIn(null).run();
9 B; _2 M/ U5 Q& \: A9 N }2 d' G) f5 {" [7 g h
: m7 q) I. _. x G} |
|