|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 / E" P7 W( E6 ]& O& _8 i
' i- B6 r! F2 t' C; N0 z本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
' g! w; p$ z- G! h/ Z' X" s! `5 p以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激." |- g# x# E+ r$ I5 ~/ w2 _
swarm.SignatureNotFoundException H2 I+ N. y o" \8 v! o* C
at swarm.Selector.<init>(Selector.java:76)1 d# l- T. \& ]+ \
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)% H8 U. q" N+ r& a' m* C
at ActionGroupDemo.main(ActionGroupDemo.java:67)
$ O( o, ?! h- q% f# w) n
9 u2 O" U7 R9 B* U/ k1 N- S- F+ e# f3 n5 d
import swarm.objectbase.SwarmImpl;
, Q3 V7 u$ s( V, @import swarm.objectbase.Swarm;
* a* `* _1 b. ^! P' ]import swarm.activity.ScheduleImpl;
5 |/ N+ {: T* q Nimport swarm.activity.Activity;6 x: }1 ~2 u* E; V
import swarm.activity.ActionGroupImpl;4 E8 r: V& @, g& c* j
import swarm.collections.ListImpl;, k8 z8 Q9 I" @2 ~5 r, F2 {
import swarm.defobj.Zone;
9 r' Y* q, u$ X" d% b% n* A2 oimport swarm.Globals;
( h6 D8 Z9 J1 L1 _. ~import swarm.Selector;
; [" d' v5 d' \) Z" j4 \' Limport swarm.activity.ActionGroup;
1 |( E' L g8 b Q* ?class Agent {
' W7 Q! v+ ?" L9 q G1 w- D char id;
: u( E4 j3 l4 T& K: r5 M
9 D& h, {5 p7 I# ]) |$ v8 _ Agent(char id) {
5 y h- @2 |3 s( u0 o2 K) \ this.id = id;$ k% c+ U- y8 r+ l) p
}: I( E5 k2 r _
2 T( I" d6 D0 v { public void agentStep() {8 a% O3 J9 i; z3 a$ s9 _: X7 ]
System.out.println(id + ":" + Globals.env.getCurrentTime());
3 u+ l \7 T7 f* I8 x6 y: o }! t, q9 e* m- Q% ]
}
3 S9 j2 C+ Y! ~! [! L! R- Y4 u. G) W v6 r0 |
public class ActionGroupDemo extends SwarmImpl {
, x- | e6 h# h4 o/ `# x( E ScheduleImpl schedule;* z$ Q) o! U3 L) W( G' q
ActionGroupImpl actionGroup;% `$ M- \6 h5 ?1 g
ListImpl list;) D' O9 h; F" `' x. G+ \
char Id = 'a';7 Y$ O' i0 I% ~
2 @1 S% _- i; O, C0 t* M9 w* r
ActionGroupDemo(Zone aZone) {9 v8 t( r" _3 }4 H0 n3 e: f
super(aZone);
2 i0 H0 p- Q5 S" a; l# h list = new ListImpl(aZone);, H1 E, g0 A4 L& w+ {( q
swarmSetp();* o9 s$ U9 E; j! q% ^$ _
actionGroup = new ActionGroupImpl(aZone);
: I: S( B! x0 c schedule = new ScheduleImpl(aZone);0 I2 x7 y0 B0 v, j$ k4 s$ U0 F
try {
% p/ u( d4 b% J6 A( r9 w, Z Selector agentSel = new Selector(Agent.class, "agentStep", false);
8 G* |1 Y- F' ?: t Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行+ m. I D' X+ L" v8 b
3 f+ o% w& C' P actionGroup.createActionForEach$message(list, agentSel);1 d) C4 R3 y \/ v
actionGroup.createActionTo$message(this, swarmSel);) h! M2 O6 l3 J* {& o! G* g I
schedule.at$createAction(0, actionGroup);. T& ?' T' T& B) i* U+ C" \3 v
schedule.at$createAction(1, actionGroup);
# K1 O4 Z2 S! W/ h schedule.at$createAction(2, actionGroup);) J \9 l# I/ n$ n, e# D4 U
* q) Q2 F0 G' z. E" z+ S' s8 C5 B7 W } catch (Exception e) {$ @! F$ e1 A) H
e.printStackTrace(System.err);
+ d: J8 J; P2 r2 ?. }0 a6 H //System.out.println(e);2 k& S. ?, ^4 N4 h# A
System.exit(1);
- z: W% m; @# F* T# w }& N1 O! D# V( p5 H8 P
9 b% d4 A6 m# ~% q
9 l6 u D9 {/ v k! b8 G- R }9 N' q9 N% ~0 G! t
$ S% D( o4 E6 [: a- Q2 I0 _- h& y private void swarmSetp() {+ k1 Z( v F$ N" b7 s
list.addLast(new Agent(Id));( l, z- C8 ^8 i" b
Id++;
- E$ P( k2 B* A) a }
/ ]/ s' O8 _0 U1 k7 N8 p$ c/ ?! E# B4 X
public Activity activateIn(Swarm context) {
4 A+ R2 W' T* z$ r9 g' z, z! h super.activateIn(context);
k5 N* D$ [' s* l n3 O+ o schedule.activateIn(this);
2 f5 I2 a9 c: N d# y+ U return getActivity();% ?& a9 b/ `- X5 y! b& X/ J
}6 O( M: m* a% t* H: X
/ r+ l: _' g: ]7 G; {" x* C% s. ?
public static void main(String[] args) {& l& u* v% C0 B6 [2 d, z. I' J
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);4 u. P; c" p5 F+ t/ A
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
+ g! k. y0 E* A5 |3 h+ q swarms.buildObjects();9 X1 j. [! P H5 A" B
swarms.buildActions();4 f2 H3 U& m+ B1 v
swarms.activateIn(null).run();
7 U$ @1 B1 o/ |8 C" s }. f5 I# p: b w' v) `* ~
$ P! C$ ~7 a, `5 {0 M$ u
} |
|