|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
. g3 T2 k, v1 x
, I4 C; L* Z( N, j1 R4 K4 @本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
8 K9 q7 @1 F6 I7 \4 \& \" w' b以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.) q+ s. r7 X- y; E, w! J
swarm.SignatureNotFoundException! {2 f) r3 _( O) ~% v
at swarm.Selector.<init>(Selector.java:76)* t9 m V0 u* J: `; j: k
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)# j( H. A; [4 B
at ActionGroupDemo.main(ActionGroupDemo.java:67)
, w) l/ T4 _7 t( u# A, x$ f& M, D& n6 d% p9 C
+ _, d# N' `; L0 l
import swarm.objectbase.SwarmImpl;
0 n+ h) z3 e2 X) wimport swarm.objectbase.Swarm;' U1 D7 k7 v# n) }
import swarm.activity.ScheduleImpl;7 ?& o. ?& {% i# |
import swarm.activity.Activity;5 g' n* i( `; V5 I* M! G) q
import swarm.activity.ActionGroupImpl;
+ D3 B4 F! O1 X% |import swarm.collections.ListImpl;; m" f& }$ q! _ \. k$ ~$ A2 z
import swarm.defobj.Zone; , h6 U7 t% v. B# {1 h4 x Q( w5 f
import swarm.Globals;( ?1 ^5 w+ g9 V+ f5 C; l2 l
import swarm.Selector;" a& {) c9 W D7 P4 Z
import swarm.activity.ActionGroup; & o9 m9 z6 ^% k! m# {, u& I
class Agent {
7 V/ o% u0 r4 f" `. O3 q+ U, Y char id;
3 d2 I) a. u7 F( K# U' r) A$ f- o- o% s3 i# ~( J4 M: c5 H' f
Agent(char id) {% y1 u+ p3 k0 \8 I
this.id = id;
5 k4 r G- i9 h/ C }
6 C9 Y' E) B8 h0 ^( M; ?3 @( \) L. M9 z6 ]1 x
public void agentStep() {9 y5 j9 |) m. g y& M1 m
System.out.println(id + ":" + Globals.env.getCurrentTime());0 B9 I9 \3 g! U% s
}
0 K7 Z$ G0 r, Q- m+ d}
# P+ L8 }9 k$ V) C1 F7 n
5 A3 C* h8 l) A- |0 D, ppublic class ActionGroupDemo extends SwarmImpl {
6 _. @( C9 t9 C; h6 e ScheduleImpl schedule;
) P6 |- M) _' [, V; b ActionGroupImpl actionGroup;
6 o0 l: w; K: f! b* E8 _/ o ListImpl list;
' _" v; Q- t3 E2 V% C3 n# _- E5 y char Id = 'a';
& l6 B( p# v% f- N0 Q
& o! W& q" }3 W3 y1 R s+ H% \ ActionGroupDemo(Zone aZone) {
/ |4 M. B4 S: E0 H super(aZone); t% {. x( B0 W, ]" W, f8 z) _1 h+ c
list = new ListImpl(aZone);
5 F; S7 ?# G& O( e" u3 V swarmSetp();, C+ f g" j0 e7 g6 s
actionGroup = new ActionGroupImpl(aZone);& @" I) G2 m+ z: f" `% S ?
schedule = new ScheduleImpl(aZone);
% r$ e% ^4 Z3 V# W! ? try {! `! Z* q5 o) r( l
Selector agentSel = new Selector(Agent.class, "agentStep", false);* ]7 T6 n3 p( b9 i
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
* J# a4 v6 ~" ^. ]8 K- T
7 a. a& y4 i+ Q7 C4 R2 p9 R* Z actionGroup.createActionForEach$message(list, agentSel);
' e5 t( u1 B5 H8 F* y actionGroup.createActionTo$message(this, swarmSel);
! a. A# `) q0 M3 J1 c7 k schedule.at$createAction(0, actionGroup);
. T* k8 M. A" N" l9 w9 {+ G schedule.at$createAction(1, actionGroup);! {1 M& r' p' }7 k% D
schedule.at$createAction(2, actionGroup);6 J" @7 E- u5 ^& Y" T7 o) l2 p
# W# ^ H, |9 o
} catch (Exception e) {' p( g+ a7 v7 k0 q# U$ [$ q& T
e.printStackTrace(System.err);
& C, b' m1 H3 m' A8 J; q //System.out.println(e);
7 x9 m* b/ v: \% @4 f System.exit(1);
0 m- J! V$ l9 F( d7 f! _) b7 C8 J2 C }
& p- H E5 s* j+ n
) w9 o; x, P5 {' A4 x- o' p: u2 u# A! p; I
}% B) S |: _7 P/ }5 b
- [, Q) O. |! D private void swarmSetp() {. \9 u9 ^( d3 T; r
list.addLast(new Agent(Id));
) H- U0 w. l' p4 l Id++;7 q. b3 C! h. L. ]# p0 f3 ]
}# c) O6 ?) n5 L9 A
( t0 ^% Z, a4 N- q public Activity activateIn(Swarm context) {
* g( a4 @; n' _5 d' V super.activateIn(context);
( T7 R% n% j. R: ^; v% | schedule.activateIn(this);' O; K% Q' ]# ~3 W' V
return getActivity();: o5 ?4 q& Y( {% v1 q0 u% `
}: ?: T" O& R; V: n
: ^( J; |7 n. _. |" R* Z( L+ O7 ?. H public static void main(String[] args) {
8 y+ G+ b9 Y4 ~ Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);& }2 l( I2 `( A9 }' f, ~
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
& e9 i. X3 ]$ Z3 B+ \9 E swarms.buildObjects();
G- C W8 h0 G3 A- ^ swarms.buildActions();9 ?3 d g) t% ?
swarms.activateIn(null).run();
8 j' \% G1 s9 l' ] }
% ~) \; x! v& C4 Z
+ w# p# _, S4 R& W) }} |
|