|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
# X: e; c, V+ Q" g4 D; q T$ n! N: E0 R0 ?1 V8 t; `# G
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21$ ]7 Q. q5 Z" W n+ w
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
" M$ C! \. Y% Q# e/ g& |swarm.SignatureNotFoundException
( V u" f. Q- F at swarm.Selector.<init>(Selector.java:76)
L3 g' A7 k/ J% G) [: g7 N at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
% G8 C7 [; h4 v) T at ActionGroupDemo.main(ActionGroupDemo.java:67)
( ]5 A9 W3 X- H+ ]- @6 a5 h3 L* ~
) i# j0 v: D9 s9 {- ]+ B: _6 t2 ?
import swarm.objectbase.SwarmImpl;
0 p$ K) }+ m! G6 G! z( J1 cimport swarm.objectbase.Swarm;' G' n( b% o' c: n9 c
import swarm.activity.ScheduleImpl;" H$ G+ R, Z0 U: Q" e0 k5 p4 L3 z
import swarm.activity.Activity;
- T# [: K9 p+ cimport swarm.activity.ActionGroupImpl;
& n/ v4 A# n1 h. simport swarm.collections.ListImpl;2 K- M) |) x& j# A0 ?& C; B
import swarm.defobj.Zone; 7 H* D3 c8 s. i8 S: y5 O
import swarm.Globals;+ y4 M4 J) [' D% @1 F# G
import swarm.Selector;
7 I, y4 Q+ R8 ]0 pimport swarm.activity.ActionGroup; - @! U, Q3 {5 n( [6 o3 R
class Agent {6 M* U' E- a6 k5 P0 D" \. R8 ], h
char id;
r) u% r/ e% t/ S) p; Y9 W) K0 K' G1 q/ o0 T
Agent(char id) {
5 u$ e: J" y4 _7 ] this.id = id;
2 y4 C: w; Q" R; j, x1 ~ }1 r3 x' d+ l* e/ ]. i
\; d8 ?4 E) n, A4 c5 t3 A
public void agentStep() {# b. i. j, _9 S. d4 G; c6 P
System.out.println(id + ":" + Globals.env.getCurrentTime());
0 Z- O' Q" |8 j9 ~: `( p }
& j; d: \1 l) j# w" m}% H) f3 S0 \7 D: u: K
9 A7 t3 j7 C( h7 i" u* }8 j+ mpublic class ActionGroupDemo extends SwarmImpl {
! y: ~& j/ S% K ScheduleImpl schedule;4 U& y; [: h2 @. A7 Y
ActionGroupImpl actionGroup;& f ]4 W) x! j O7 L+ }% @
ListImpl list;! v# w' @) o5 Z& J) J* }$ R
char Id = 'a';% K: M) Y! y& Y3 _$ Z) }
" R; q3 o) ~1 @0 k0 z, ? ActionGroupDemo(Zone aZone) {
5 _# X+ Y9 G& P, ]3 O3 h super(aZone);
; N$ n u: \- d7 s list = new ListImpl(aZone);
2 |/ ]+ F, j* u swarmSetp();
; Y( w& ?9 J8 x8 H; X actionGroup = new ActionGroupImpl(aZone);
2 E* ^% Q4 M2 N% f, E8 ^) i4 ^+ C schedule = new ScheduleImpl(aZone);
. D" K- a; C6 A+ j% |) m0 d& x try {
* o9 ~- r' V$ S- f* @5 ? Selector agentSel = new Selector(Agent.class, "agentStep", false);
; m1 b. M0 M+ \% _3 W Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行+ A4 u; `4 R# F$ k3 I4 L
4 h+ x( i/ s0 O) _8 Q! ^ actionGroup.createActionForEach$message(list, agentSel);
, \* I5 l7 `8 M6 w actionGroup.createActionTo$message(this, swarmSel);
$ {4 v& _7 [1 b' V( d schedule.at$createAction(0, actionGroup);
, }; y# S, ]+ d B6 }+ H# \ schedule.at$createAction(1, actionGroup);
+ c" e/ b! A0 q* e0 a& ?! N schedule.at$createAction(2, actionGroup);' }/ }1 |5 q4 n# @) x0 J G# e: D
- g6 `' c" I' @+ Z' W) `3 j } catch (Exception e) {
3 T% y% t7 E6 Z7 O6 E$ V e.printStackTrace(System.err);# z. z$ V0 d' {( V1 k
//System.out.println(e);
4 ^# b, s& E4 _+ i9 o$ ^8 @: M7 z+ h System.exit(1);
( I; i( c5 t. ?0 Z }
* {) D5 f2 a7 [5 y0 n$ q6 \
6 ^9 z8 ^, G, f, C; O8 i8 T. }9 m# E' c R# }, y
}0 Z* S$ K5 f" g1 P& N; D! S! `
?) o/ ?4 E6 q2 o4 u7 G* H private void swarmSetp() {
( I _, W; c& C* F3 S; T/ E' ~( R list.addLast(new Agent(Id)); [8 g5 R6 k+ W" c6 h5 o5 a
Id++;/ H7 z( Z5 S" q: @7 H$ m
}8 j) k" ~6 p- _! g
2 u0 \- c' K B' w# k5 p; ]8 ~
public Activity activateIn(Swarm context) {5 j* I0 D& \& b" z* a
super.activateIn(context);
" P6 _* K* ?( x2 i! [& p/ k schedule.activateIn(this);- D0 ^# K- c9 b+ u# [1 C
return getActivity();, Z! m, g6 z" h/ v' U) U
}' Z. X: O9 M/ A. X; |; Y" Y
# f: P6 u+ R, w, v" k public static void main(String[] args) {
6 [0 D& W+ @! N! V1 [8 ? Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
8 l0 `4 x; I. r# y Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);+ S- m& P* S; V o/ W
swarms.buildObjects();
" \% e, o+ B( n! N, T swarms.buildActions();* p1 a: v: T5 g+ I
swarms.activateIn(null).run();* F( ]3 y7 k* o+ ^
}1 N0 v* Q V, w; }( i( t" Q
* f. m$ O) {% G' g1 u6 R9 z& O2 J} |
|