|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 8 R/ \+ c' n2 @$ G
0 Q+ F+ [" G5 ~. d% ~" \! C
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
( i( n5 \0 a* y5 s" Y+ T" ?以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.0 w3 X0 Y2 @5 ?1 v! L% O4 j
swarm.SignatureNotFoundException2 z. N2 J! a0 s7 @- B/ C
at swarm.Selector.<init>(Selector.java:76)4 j2 a% ?; @% X& @1 r' a7 q
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)% O! W& C( { w0 i+ X* T
at ActionGroupDemo.main(ActionGroupDemo.java:67)7 w8 ? t) u+ \% `3 T
" J" ?. s, ^; {: E- i8 |/ P3 J4 ^& y! `) ^- k: q) A6 ]
import swarm.objectbase.SwarmImpl;% G6 t& V9 n0 V$ {
import swarm.objectbase.Swarm;9 o) E( o1 C: s: Y! e0 G3 K
import swarm.activity.ScheduleImpl;7 T% R6 ]# l& L
import swarm.activity.Activity;
; b: x2 o' t8 ?7 b3 gimport swarm.activity.ActionGroupImpl;' A+ W* g3 V* Z4 u- \6 u6 s* y
import swarm.collections.ListImpl;. Z) K- o u7 D$ v0 U% P
import swarm.defobj.Zone;
* {& S3 X3 ]4 X7 E2 {import swarm.Globals;0 O6 R/ |3 R$ \& l# I" |: a
import swarm.Selector;6 ^4 |/ g+ i! R6 \
import swarm.activity.ActionGroup;
5 d4 f- y/ {* k& jclass Agent {$ {/ _& P, q1 R9 L" B
char id;
- z ~. F' |3 M+ I. t( H
$ r9 m1 W: \0 y* t; ], Z# ? Agent(char id) {
% k% S& ~1 o0 ~3 Y m0 ? this.id = id;
% p% C; L# G+ ~& B! H# L }1 l; v& S% B- S* v$ Y4 a( W
1 j$ n/ }2 A7 U* m
public void agentStep() {
1 E2 M$ d& d8 x" M* q System.out.println(id + ":" + Globals.env.getCurrentTime());
) v1 p7 x4 X: Z6 _' N% A) J3 } }" {1 ]5 y# n' F: ^
}
3 r) g# H9 t5 `, {! @2 f$ c- U( m* W0 N% u- K8 j& S
public class ActionGroupDemo extends SwarmImpl {
: d+ K' u# a$ [ ScheduleImpl schedule;" B* f5 n. g. L* E" t) L2 q
ActionGroupImpl actionGroup;% k; C* ]( r4 U; o5 f0 B
ListImpl list;
7 }6 H, e2 r# V" c# L char Id = 'a';4 d5 L2 W# w0 _2 u" Y
' m I0 N% {* @2 |) |/ Z ActionGroupDemo(Zone aZone) {
7 l9 _' R- V/ {) U super(aZone);; A* @8 {! w" e4 [/ R5 |
list = new ListImpl(aZone);
# U. T. N) ^6 m. r+ n- m( p3 Q swarmSetp();* v, ^; F% S3 k: ?; T% w) {
actionGroup = new ActionGroupImpl(aZone);
) L, H1 T7 Q) o- g schedule = new ScheduleImpl(aZone);
& r( f# x0 Q' \ s* T$ ?4 ~5 g try {7 ^+ V- b) c) |% S; @2 [. [
Selector agentSel = new Selector(Agent.class, "agentStep", false);
5 B' B! S' J% J1 O Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
' F9 x$ n7 }8 \: w6 {* v0 `0 G - D* c( O' d1 ^
actionGroup.createActionForEach$message(list, agentSel);) r2 Q( E5 E: `; H. w
actionGroup.createActionTo$message(this, swarmSel);
+ P# W/ h( d7 N w% I# P% {% @ schedule.at$createAction(0, actionGroup);
1 Q8 W' T* e" b0 {4 W schedule.at$createAction(1, actionGroup); W0 N' w5 G# l
schedule.at$createAction(2, actionGroup);% `9 M" M( i# w' W
0 ]. c" ^# U6 p
} catch (Exception e) {' f- h) J3 w$ }9 K3 C( n
e.printStackTrace(System.err);
e7 L; E$ A w/ l //System.out.println(e);
" g" K. z4 p9 f j% c% R* H, \4 @ System.exit(1); V8 {! D( x; K, C
}$ `, i X$ L% W' ~3 {8 T7 H
& }4 Q) @4 P3 p; X$ c) }
$ g- O8 ^' d1 @* Z4 S L$ w5 ~
}5 ?4 w- b4 t" [& J7 o) |
' S+ A7 c6 I; m0 g2 p% G% Q" L private void swarmSetp() {
T: D6 ~' p a. a1 @0 q3 ^$ w/ P6 K list.addLast(new Agent(Id));
5 C _; `* q' D5 ^" o/ V Id++;
$ A* H+ U6 X3 k8 h }
/ I8 W. [+ _( t% y3 Z Z( \$ ^ Y$ ?$ J; O6 B" m
public Activity activateIn(Swarm context) {
& E2 V4 O9 ]* f1 ?6 r super.activateIn(context);; U2 F" R; |, t& a3 T5 l! @ T
schedule.activateIn(this);
8 I: O& r3 \6 V" G/ ^! \ return getActivity();# s' m3 G s7 v3 D
}
% r w- ^" G& E( n H$ [
2 O( Q7 R! Z+ W4 z9 j; { public static void main(String[] args) {
: @- m1 Z y0 |( A$ t Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
! ^0 T8 Z% [- q5 Z% q4 u" F" v Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);( z+ ]* Q3 \2 h4 @8 H) V
swarms.buildObjects();: @9 f5 E; n, q* `" G
swarms.buildActions();
* d6 u8 V7 t1 c$ [ swarms.activateIn(null).run(); z* G/ v. q ~; E
}
! `& @' o: J2 c6 s
# ]1 G8 U! j0 S} |
|