|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
; P4 |, [9 N# e* p6 s% w7 ~; w4 I
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
( o4 ^$ j) \! e3 y3 I0 ~0 q* b以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激./ ]+ e' D' {5 M: h
swarm.SignatureNotFoundException' o! I6 u3 U% _# y2 F
at swarm.Selector.<init>(Selector.java:76)
, |" F: Q) r+ q/ E" w4 j _: M9 Y0 q- W at ActionGroupDemo.<init>(ActionGroupDemo.java:37)8 c( u. u# T; }( `' e* @) o
at ActionGroupDemo.main(ActionGroupDemo.java:67)
) `4 K0 l& w& ^/ R1 Y/ A: M8 P. k" @, R
4 r5 J. F- G. d3 I7 Gimport swarm.objectbase.SwarmImpl;
# p( n# _5 U4 w& eimport swarm.objectbase.Swarm;
: O: h+ L/ H+ Kimport swarm.activity.ScheduleImpl;1 p1 B4 H! q0 u; l
import swarm.activity.Activity;
4 u, {/ }: O0 A7 @! i( c7 x- ximport swarm.activity.ActionGroupImpl;
6 n( J I7 Y1 e' Q+ f! {0 r3 nimport swarm.collections.ListImpl;" k& w+ J% O% H& j6 h% c% f9 d
import swarm.defobj.Zone;
2 s; W# ?$ Q3 n y- limport swarm.Globals;5 t" A: E+ ]5 ~; [' ?
import swarm.Selector;. X$ [+ y/ W3 t2 A* g
import swarm.activity.ActionGroup; : n9 ^& j5 i. _% P
class Agent {
. G0 r1 O: L& ?% E char id;9 |) h, k, L4 p
( H5 H+ r/ D2 v! A Agent(char id) {
$ r; v/ T( \/ g% K4 B, ^! l this.id = id;% b- J, @1 p) E' X; Y/ g) P
}2 c4 h4 d4 q. v4 G9 _ \
2 ?! g. V2 L& A; W7 J& L9 Y public void agentStep() {$ W6 L( I+ ?& h6 C) [! h
System.out.println(id + ":" + Globals.env.getCurrentTime());
0 v7 X( S3 {! B% n' ~. U, S }. x6 c) a! f0 N5 L- c: p) }
}9 s7 d3 p( x" z; m
0 M# \9 O) \$ s% i$ Z7 Ypublic class ActionGroupDemo extends SwarmImpl {7 k# y ?" O/ u' l9 ~2 o
ScheduleImpl schedule;# x m! m% Z! n2 q! h% A' u. J
ActionGroupImpl actionGroup;
/ C. _9 X K' m3 J t+ V# p ListImpl list;
* |1 F/ z* T2 n char Id = 'a';
1 T, k- i8 f! {9 y' Y$ M% U, U& U% M4 V/ S2 V+ a" B, n
ActionGroupDemo(Zone aZone) {% J5 ^# X- ?$ n" @ A
super(aZone);: ?/ M: d7 F2 X6 ?8 K* C
list = new ListImpl(aZone);
; o0 l' w4 f+ w: X) Y swarmSetp();. e9 z2 \, \- L$ i; X/ V9 p
actionGroup = new ActionGroupImpl(aZone);
3 w- r! Z- `$ J4 I, q; G- E# Y( N6 {4 K schedule = new ScheduleImpl(aZone);
( V* I# a9 ^! i0 q, J7 ?& E try {
6 K, `/ g" e& {# V+ b Selector agentSel = new Selector(Agent.class, "agentStep", false);# ?: V, o: P8 U9 g) ^
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行# T/ Y/ l$ D, @, t7 o
/ _0 C0 U* J( Y4 d: t7 G
actionGroup.createActionForEach$message(list, agentSel);
/ H+ S' v3 @3 r: i0 U6 R9 n+ a& o actionGroup.createActionTo$message(this, swarmSel);
" l0 B, ^5 q& E$ v/ O schedule.at$createAction(0, actionGroup);
# D1 m8 t1 o9 s9 l schedule.at$createAction(1, actionGroup);4 U" h) Z& H+ z8 k d# k
schedule.at$createAction(2, actionGroup);$ x8 X" t3 E& n2 l& }4 g3 h
, f& t3 \6 Y- b0 z) u9 V* {: D
} catch (Exception e) {
4 ^6 N$ n% A# n$ ^5 ?5 j/ ^9 v) @* I e.printStackTrace(System.err);7 e# t& G4 A5 L1 ]
//System.out.println(e);3 @: B j! |$ k) }& J
System.exit(1);
% }* t" _- E5 h; x5 P+ ~4 x- y }
' D" A, R! \0 ?& T* @5 Z
. w7 j9 L; \# }% G2 B" l/ ^* Q: Q! _" p6 X
}# m+ r; e' c. t, n; G* T
3 l" l. G2 b5 U% L private void swarmSetp() {
: C6 w( Y. M) }( n/ ?. Q list.addLast(new Agent(Id));" r/ T$ ?; u; d$ |* l- ^
Id++;
% ^& l- t* p+ e }9 T; r: |$ _' k5 L" e+ `0 o, {
; P* O; t; q; Z, v+ T/ C8 x2 e
public Activity activateIn(Swarm context) {
0 j, X; s; y0 H# U# j super.activateIn(context);
% Q5 L4 j$ C) }& d/ x7 Z schedule.activateIn(this);
0 f1 V' @6 |2 ^; h7 t+ z return getActivity();
% o8 a- ]" l4 F5 h }. b J; M% [! X% F, I! l
" ~5 ~ Z- s/ r! [7 _6 S' z public static void main(String[] args) {
( K! h" s3 Z, \$ d2 j- Q Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
& S; c Z( p2 ?& z1 T Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
9 M* P0 }0 @3 V+ T! I( W swarms.buildObjects();
( x) K {/ ^ g# t% B7 m- ~3 z swarms.buildActions();( L" E9 p, x' I( W
swarms.activateIn(null).run();
, S6 y2 M- {5 Q5 K* ]2 V6 Q }
& G) ?; d2 Z9 r. A4 Q0 p, X
& Q# r" a/ U- x9 b} |
|