|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 . T& B6 Y2 p8 o% f* r
6 R9 ~6 o% }0 T" X8 b' M* Q本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21: A' x5 X4 ?8 b* L* g! ?6 K+ |
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
* g3 U+ s4 j4 \; U% f9 ^; Cswarm.SignatureNotFoundException
( e5 F: T. A' D- j) p' N, t at swarm.Selector.<init>(Selector.java:76)
' ^4 E" ?4 R& y! s$ M( z# a at ActionGroupDemo.<init>(ActionGroupDemo.java:37)* H$ \* B) F9 D, D# P
at ActionGroupDemo.main(ActionGroupDemo.java:67)
3 R. L1 b& u ^, P* Y0 e% \' N/ o) }, ]
7 c( H+ t8 z3 A. Jimport swarm.objectbase.SwarmImpl;
V& p3 `* P! K+ h ]* l6 |/ t- ^4 himport swarm.objectbase.Swarm;+ J% Q9 `+ M- ?! ~ n, \
import swarm.activity.ScheduleImpl;5 ?+ O6 j* o- V W4 T
import swarm.activity.Activity;" L" o, `/ h1 r1 a3 U, e
import swarm.activity.ActionGroupImpl; V0 T+ A* U' l. {& H9 W3 ~& Z( p
import swarm.collections.ListImpl;. j# V. U, r1 }9 J
import swarm.defobj.Zone; - z( q% ]0 F( t% N% M* F5 Q
import swarm.Globals;+ r; W# H+ g! E$ t9 q
import swarm.Selector;( t4 \+ S8 |2 L
import swarm.activity.ActionGroup; ( s& @0 Z8 w2 S' A
class Agent {! B( i* n, J! o, Z7 u
char id;
) K1 p& `/ G3 ~/ l: ]6 Y e9 i% k5 ?8 K6 D$ M- l+ V ]1 p4 V8 G& `
Agent(char id) {
+ H% U0 }1 |! U this.id = id;
8 u5 h" L/ r. u }
& o5 M E6 |3 s( s* T" l5 L$ F
6 Q' @9 ~$ c; j# P1 n0 K public void agentStep() {
" Z; q( [4 j& w* I) G( }8 h System.out.println(id + ":" + Globals.env.getCurrentTime());
A1 m6 Q6 H' \ g }
" ~* J, s" J0 u+ _; K+ ~* e}8 ~: Q1 Y2 I) |; l
' I: i* _6 M7 G9 t# e! Z- q' e. Jpublic class ActionGroupDemo extends SwarmImpl {/ s. {. k6 P3 s% s+ j
ScheduleImpl schedule;
/ P8 C7 f. b4 u6 s9 O ActionGroupImpl actionGroup;
# F$ m" {+ s4 @8 K: i ListImpl list;
0 `$ ?* A" s" S0 k/ E char Id = 'a';7 c: h$ q$ d# x# K
: a2 G& R+ m4 c( S: D/ [
ActionGroupDemo(Zone aZone) {; H0 h( Z6 ]; j/ Q; ` F1 r3 Q
super(aZone);
( J6 p' x2 ^7 c j- c+ o( J list = new ListImpl(aZone);4 K* x) V0 k* d8 K; p! _: K' \% S
swarmSetp();$ Y0 h) A9 J: s
actionGroup = new ActionGroupImpl(aZone);
. \, M) }$ ^* h schedule = new ScheduleImpl(aZone);
) [" I, N" n6 V% T4 h try { N1 |# ^, m0 u* S- _7 Q) b
Selector agentSel = new Selector(Agent.class, "agentStep", false);9 U, r/ |& u2 G0 z1 R$ k$ D8 H+ B
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行 h! Q- H# ]' m8 H
0 V @; Z; K3 n$ X1 Z9 F! A/ @ actionGroup.createActionForEach$message(list, agentSel);
% N+ K$ Z9 I* {6 U4 x; _/ V actionGroup.createActionTo$message(this, swarmSel);
9 |. q1 o, y$ R1 p schedule.at$createAction(0, actionGroup);/ ^4 W) t! n2 h+ P7 Q0 h0 t% W: G
schedule.at$createAction(1, actionGroup);4 x1 b$ I. m3 V4 G/ I
schedule.at$createAction(2, actionGroup);
4 [( f. ?1 e, v' f) q0 |9 V
, r" W' a- R" x' n$ I: Z- w/ } } catch (Exception e) {- A+ ]/ I2 \7 ~$ U9 v! B- [
e.printStackTrace(System.err);
( C1 S6 y" o6 t3 W //System.out.println(e);
3 c2 D5 u1 n& a, {; o5 n- l System.exit(1);
/ B E0 f% M: P2 J0 E" }1 q7 e }( @- D# j" u/ r4 @- S# b1 H% ^
" Z4 f! d' _' ^4 C7 y5 l6 x1 n( Q. Z
" _# T0 Y0 a6 u; G! ^1 g0 J! j }# G, l* w6 H+ _0 S
) B! B; w; B6 C0 A- A private void swarmSetp() {- i; F; U1 n9 c3 q9 `7 H) ]- ]
list.addLast(new Agent(Id));
: K' c5 {* [. k& @0 H2 j2 f6 _( R Id++;
K A% `: ]$ t P }
! Q) j) M4 m' o6 r2 \3 @; \
" l+ Q/ q, C4 n: L public Activity activateIn(Swarm context) {
g: d6 {$ d- V. u+ y& D6 P1 c* O super.activateIn(context);5 C0 G2 n! ?# I+ ]( T
schedule.activateIn(this);
1 ]3 v5 k; @% J return getActivity();0 O- I. `0 ]% b7 ~$ v/ e
}. y1 S' K m3 l1 _! N* d4 D
* j# K7 c% s% G; R! @ public static void main(String[] args) {
! B% l/ c, A$ d4 y2 D u Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
$ w( L* T! q7 n& n8 r Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
2 d1 e1 ^7 @; A4 t. }2 l swarms.buildObjects();
- y3 B; j/ Q7 K |6 Q swarms.buildActions();
# x- m/ ~+ W C; Q swarms.activateIn(null).run();! N- z+ l" G9 E5 _9 K7 u
}+ e. L" C1 D+ |$ S6 Q2 p1 o/ ^
9 N. F: M4 ]: h5 ^} |
|