|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
/ d+ x4 F9 q4 t/ j/ E7 A& E+ ]& z4 c6 ^0 x
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21- i* d w' P7 l" q: T3 [4 N
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.! F6 ~0 h9 w$ @2 _
swarm.SignatureNotFoundException
1 v# Y+ ]. `: k7 B at swarm.Selector.<init>(Selector.java:76)
/ i7 m0 M+ Y% C0 s: r at ActionGroupDemo.<init>(ActionGroupDemo.java:37)4 K* {/ E' f) _6 N8 x
at ActionGroupDemo.main(ActionGroupDemo.java:67)
8 u" ^* r0 d! c! m1 `% ~$ s b8 Z8 q% Q% `& T7 ]
- H B+ r% F& p5 v7 c
import swarm.objectbase.SwarmImpl;9 A. N8 H' y/ Z& `
import swarm.objectbase.Swarm;
& ~3 i1 v" p& Y- {7 F0 Himport swarm.activity.ScheduleImpl;* H; X* |9 e& D/ U5 }+ Z/ ~3 C
import swarm.activity.Activity;
7 r6 _7 ~( ]) }: Q# f Fimport swarm.activity.ActionGroupImpl;
0 c( f; x1 y; n0 q; Fimport swarm.collections.ListImpl;
' P& @' S* m I/ g zimport swarm.defobj.Zone;
, C9 P3 S; S! s; ^import swarm.Globals;4 t9 q. _! `2 B, [. _! |% h
import swarm.Selector;# }/ ^- }6 ^' N2 U! M ~ Y$ e
import swarm.activity.ActionGroup; 6 r! n9 G5 s$ x
class Agent {, o/ {0 F! a, p- Q% R" |
char id;& F+ y4 @6 [- ?5 ]9 F9 F
4 U2 e6 U* T+ _; Y/ h, l1 d1 ` Agent(char id) {4 e7 O( s/ F* @2 P4 I5 O8 f
this.id = id;
8 Q) C2 S3 |6 g3 M+ U }: S( ?. q. ?6 S. A
# K! Y& e" m2 A/ w public void agentStep() {
; G+ U: r/ X. J% M9 H System.out.println(id + ":" + Globals.env.getCurrentTime());
- ]6 e0 J6 _2 x' A! V) t! V% v7 e }0 G* U, N7 r; b# j0 V& o
}1 b( F4 j l) ?" Y* E
5 _7 p+ g2 o, Ypublic class ActionGroupDemo extends SwarmImpl {; L$ a/ \' R3 l9 L
ScheduleImpl schedule;3 v$ @# \* q3 B, o7 Y- R0 e# j( ?/ a
ActionGroupImpl actionGroup;0 K3 A W/ l( G: p% a
ListImpl list;
: ]0 T$ F# Z5 P8 i char Id = 'a';: Y; l, V2 Q9 E9 q5 c4 y
# ~) S4 H1 p7 T5 L/ X4 e ActionGroupDemo(Zone aZone) {" d6 |1 J9 c Z, n
super(aZone);
$ ~# x$ N$ ~/ N) h$ w" Z- b list = new ListImpl(aZone);- N L+ i* `4 o4 P( [
swarmSetp();
- ]9 ], m: W9 a8 i* u7 R% \+ i: z actionGroup = new ActionGroupImpl(aZone);
5 E+ G8 E7 K: d- D2 |7 t1 b4 \ schedule = new ScheduleImpl(aZone);
# \' O/ z8 A. J+ A/ A7 h, H i try {
T; X$ [! n, g! L4 g1 B5 E Selector agentSel = new Selector(Agent.class, "agentStep", false);' o) H- D! s, J7 c# G$ p6 q; Z
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
: H: |* J# A$ ~7 H : Z- i! N! u3 m$ q: |4 D ]$ w- P3 {: `
actionGroup.createActionForEach$message(list, agentSel);3 n8 ^0 D9 v2 \5 P8 E% q
actionGroup.createActionTo$message(this, swarmSel);+ G1 V! y2 W3 N. @! y" q' S
schedule.at$createAction(0, actionGroup);/ D4 E* a! ^1 F$ ?. I
schedule.at$createAction(1, actionGroup);' O5 _0 C: e% `) _
schedule.at$createAction(2, actionGroup);
) ^3 e2 M7 z w/ K# v
% c& n! N. q5 p3 D: } } catch (Exception e) {- h% W4 j+ A7 [; N7 y6 q% @3 r7 M
e.printStackTrace(System.err);, v/ X7 M: ]9 {" B" q4 M2 y
//System.out.println(e);7 [. @& j& s9 `7 F
System.exit(1);
/ g2 y2 u) p/ r }1 G% i1 ~7 L- m$ n/ q/ `
8 |3 p+ s' @/ S' f3 [/ Y
' J7 N- Y3 G; { g; ^4 Y }
, z" }; g/ \" }
% @( w W! y4 Q private void swarmSetp() {% V/ {, b1 h f* e+ c
list.addLast(new Agent(Id));: ?, s/ m% |8 V2 {- ]! x
Id++;
( m9 P8 ]1 y2 t; r" { \ }: j- M# c0 c- C0 D5 M
- B* w% }+ Y, }4 c public Activity activateIn(Swarm context) {
) e- b, Y, S- v4 o E- m1 Z super.activateIn(context);
4 N' y }, W1 L: V4 `) O schedule.activateIn(this);3 P8 P7 X1 e: z" u1 h
return getActivity(); \# X5 Y \2 l( w8 D/ F& b
}# `2 T1 J3 w" [; l* M% J( `4 p# w
6 A7 F+ v3 y, B% N8 }! }; T$ f! R public static void main(String[] args) {% a1 v4 B* ~! a; [- j+ x/ j
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
- R" f E) L. l2 r4 ^ Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
" l+ j+ _1 l4 Y# t Y swarms.buildObjects();' G* h0 j( k. c2 R! V6 {
swarms.buildActions();
! T* M' |5 X9 C8 F8 E7 g1 ^" t swarms.activateIn(null).run();- R' Y7 D g1 N: {% W' r4 o6 x1 S
}4 |, O$ i3 ]. v. @
- A# W q; O2 `+ b7 g
} |
|