|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
0 D- u" H) F* y& {' v8 c) l
7 j" E" l7 S5 y( F" u* k本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update210 q2 i9 L: A9 E/ T; q, C
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.+ A$ {, R$ `9 D: e- {# Z( j
swarm.SignatureNotFoundException! T4 y# @' M: b7 t: |8 d. Q5 q
at swarm.Selector.<init>(Selector.java:76)$ ]$ a) ~+ z# x T; i" M$ m# _! j
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)+ u5 T/ I9 M8 m9 p
at ActionGroupDemo.main(ActionGroupDemo.java:67)
8 R' s$ L1 \8 w* U" K( k8 _% r: J ]% {
8 j |+ `' u( [
import swarm.objectbase.SwarmImpl;& U* M+ h5 T; w' G
import swarm.objectbase.Swarm;% W. q6 D7 d$ c' E) m
import swarm.activity.ScheduleImpl;
6 E0 I% p/ u3 m1 mimport swarm.activity.Activity;
& e8 `& L+ z- j: ]# G5 w& Oimport swarm.activity.ActionGroupImpl;* d9 J D+ Q# T# u
import swarm.collections.ListImpl;( z- q; _" t' V2 n( E- Q- z
import swarm.defobj.Zone;
- H' v& \9 D, W( A- Cimport swarm.Globals;
# S* Z2 ?! P# |; ?( V, Jimport swarm.Selector;
2 i; Y2 p% q/ V' H0 Oimport swarm.activity.ActionGroup; * ~" l) W( T- P6 b; }
class Agent {+ e5 R0 S5 U. o5 o7 A
char id;
6 h) p4 E* [" W# ]0 |0 u; ?+ Q
6 q% J) |5 L9 Q$ w# u1 M Agent(char id) {& V& P: ^, C% R1 { u: }
this.id = id;3 j& R0 F" O0 C) h- W; f
}# N& j& N* t$ f; q4 ?
$ y' J% i' m& y B, ]' z3 `
public void agentStep() {6 J: G, J* C8 I2 Z4 i5 e( f% B
System.out.println(id + ":" + Globals.env.getCurrentTime());
8 X% W( G# a6 r7 y/ M9 m: j, Z }
: h7 S: f- E/ \* k}2 N6 N4 E# L# G' d
. x; l, M% o4 ?6 u" t
public class ActionGroupDemo extends SwarmImpl {
3 e7 d; K3 i; }! {& B3 ^! \ ScheduleImpl schedule;
8 ]/ B/ W3 Z" `; v ActionGroupImpl actionGroup;4 b6 N2 Z$ a" s, m; N
ListImpl list;# P. S9 i% b' b- L+ ]5 E+ g; E8 r9 Y# D
char Id = 'a';8 r {8 J6 O: N. [ B- S
4 p4 S0 z2 a$ M( b( y+ k4 H
ActionGroupDemo(Zone aZone) {5 n0 C; K- Z* r, N( _
super(aZone);
5 _8 J, ?( j# v7 i) K: Y" z. P list = new ListImpl(aZone);
. z8 j* N! ?) L4 ^! F, h0 _! c4 T swarmSetp();
4 R5 N) v# p, z4 }$ y actionGroup = new ActionGroupImpl(aZone);
0 n) @2 T$ i x schedule = new ScheduleImpl(aZone);
/ ] @5 w+ V+ R A try {
4 Q3 C+ j3 I1 w* n7 J2 E# A, Y/ Y Selector agentSel = new Selector(Agent.class, "agentStep", false);% ?( N) k& b+ S t2 U1 M; W
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行: |# q- S" a8 u
# q* D5 p# b% R* G: H8 K
actionGroup.createActionForEach$message(list, agentSel);
; G: K/ a9 P+ a1 K6 W$ }5 S5 T actionGroup.createActionTo$message(this, swarmSel);
4 B' G& r7 Y3 e schedule.at$createAction(0, actionGroup);7 _+ ^+ P& ^3 d4 ~
schedule.at$createAction(1, actionGroup);
6 N& [1 b: q8 a# o6 H schedule.at$createAction(2, actionGroup);6 I2 Y: w) V$ F
+ |6 Q2 M) p8 o' j- x3 U% }( l2 V
} catch (Exception e) {! ?' W) C; U5 E( {/ U1 H4 W
e.printStackTrace(System.err);" l7 a8 ~4 x3 U) t0 P) ], P* S# r
//System.out.println(e);
! U: s% K) }, F* C& C, K System.exit(1);
- C) O# W1 k1 j6 w4 U }% o( p5 W4 K% A/ B3 r& ?
0 t! O# G7 d6 l% Z
6 l' ]% n0 b( ?2 `1 I+ R }
2 N: Z' A; E1 A% g8 N, k. o; _
, y8 B1 ~8 `2 b7 X$ J2 a private void swarmSetp() {
$ e8 g% {6 [ W5 c list.addLast(new Agent(Id));, U. D8 V2 d+ E8 b; K7 ~1 M
Id++;
, m8 E) {; I% N7 E# Q5 X5 E }
+ s6 v7 J; `! B D4 o( Y ^' v# l* [
public Activity activateIn(Swarm context) {5 W5 f" g. s0 J3 R
super.activateIn(context);
; [3 {% W+ U. A: a: W: a% Y3 B schedule.activateIn(this);
/ a0 @$ `1 B; i* X2 Z1 ] return getActivity(); W3 I& w3 ]6 u6 u$ J' C7 E# u
}
4 y. r/ v; z; k, X" Z, T8 g4 x6 p/ o) J& `
public static void main(String[] args) {
; ?5 J# t3 k+ A& n2 g9 C2 {6 @ u Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);) |, Z+ r& L7 Q$ R. K" D. @
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
1 d4 L( Z( v0 ~' U# r Y- d. w swarms.buildObjects();
@" o! c+ j$ p+ `7 I swarms.buildActions();
; b. V/ x D. L+ [1 ?- ^ swarms.activateIn(null).run();2 K* i0 q/ V2 i% f9 {' v
}
7 x; z9 u* t4 q/ z+ }
% F* ]! b$ K& e. g- M F A} |
|