|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 ; d# E$ b/ [1 ^: ` [9 C
2 ^8 H+ o/ E7 @- h$ U# Z本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21* y* h( z" ]0 o( H3 p
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激. |7 |7 ~3 {$ Z* o) w0 X1 Y
swarm.SignatureNotFoundException
: v. m2 U8 H- Q' Z at swarm.Selector.<init>(Selector.java:76)
. {" z; j- p2 \' B6 l at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
7 s* [* Q2 S5 C- [: y- W' v at ActionGroupDemo.main(ActionGroupDemo.java:67)
5 e8 @( p6 q4 W! T, l6 J' c* E4 D, x" K( g, \% u' J
5 b2 @3 k8 c4 j0 V0 c5 j2 U7 x0 w
import swarm.objectbase.SwarmImpl;4 d2 o( e. a* b
import swarm.objectbase.Swarm;
& @ L# ^6 Y# ^7 R) r7 `import swarm.activity.ScheduleImpl;3 D1 v) f& G, e/ o
import swarm.activity.Activity;" m* z2 m C R9 N# X4 I
import swarm.activity.ActionGroupImpl;
~) Q4 @( ~7 ? q0 _2 ^import swarm.collections.ListImpl;2 z; }! c; S; p% r% L7 T: w6 t; N
import swarm.defobj.Zone; 6 _ p7 x; l3 I! ^/ B
import swarm.Globals;6 @4 S8 r! Q% x2 G, X
import swarm.Selector;4 ^' A( O* j/ P1 j$ c
import swarm.activity.ActionGroup; 1 m8 G1 N8 a' Y7 _! |. m- x
class Agent {9 B1 D2 X$ Q) x/ B% S
char id;% t; ]8 }% Y4 J' _. Y# C8 }
/ J" }. ] O/ d! X9 {
Agent(char id) {/ A1 N4 h9 I4 Q$ @* h/ L% I
this.id = id;
: E; I* X" L. E }$ ?; @: z+ w( x6 @4 V
6 p% C8 V7 s' h) _3 N+ s' ]
public void agentStep() {
. t6 _5 @ D! f! } System.out.println(id + ":" + Globals.env.getCurrentTime());0 T5 q8 y. o: {4 {+ D$ \4 ?' B$ M
}5 p, ^- P. |4 F5 J* @
}% y, ^$ f% j$ R* ?1 i4 v
8 f" B' U! Y! f0 u
public class ActionGroupDemo extends SwarmImpl {: u; ~' U5 W4 c
ScheduleImpl schedule;: k2 y. U$ W0 z( l5 h0 f) C, X# Z, d
ActionGroupImpl actionGroup;5 U8 c g, l' q
ListImpl list;: V4 K- N9 h& F0 {, x1 L( p
char Id = 'a';
- T4 o) K4 | p9 f) R" n0 @" z" C. Q7 h2 [8 {2 ~
ActionGroupDemo(Zone aZone) {
! v! L# x7 } ]2 l8 ]# A1 ^ super(aZone);
; V9 q$ ] J" q, @+ r8 G list = new ListImpl(aZone);
, M2 p/ H4 p$ [- a9 ? swarmSetp();
* o2 T" t* a' G/ K. N" l actionGroup = new ActionGroupImpl(aZone);
* n; t* ^6 V7 H" M schedule = new ScheduleImpl(aZone);' r5 D5 f* c" z; E6 p) n
try {
! J X. x- G! i0 H; A Selector agentSel = new Selector(Agent.class, "agentStep", false);- W: r' k; t; B4 ^8 p. Z+ p, Q% b
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
S! A) g' w& S6 [ - w0 n9 v' Z- t6 c' L x
actionGroup.createActionForEach$message(list, agentSel);6 D7 v6 F& _% L1 q% n' v3 E' ?
actionGroup.createActionTo$message(this, swarmSel);( L5 Z# L _+ L
schedule.at$createAction(0, actionGroup);& s- V! H, [8 m% R( v) W
schedule.at$createAction(1, actionGroup);
# i. f- s" O" Y% p3 x/ _% ?$ X5 x6 N! ^ schedule.at$createAction(2, actionGroup);
9 `$ W5 I9 a$ i, p
, ^3 Q" e6 p) |9 D1 p } catch (Exception e) {$ |8 d% o, @8 _2 ]7 x- e
e.printStackTrace(System.err);/ n# R) \& k# Q! M0 N7 D' Y+ R+ j& n
//System.out.println(e);
- T0 X J: M" m* M: h0 Z System.exit(1);
( I7 T8 |3 j1 M9 [% ` s6 j% G }0 r" n9 T" z* g5 ~
* v2 x Y+ C/ U% C% U
+ a( j8 g+ j- [" [- Q6 u }
5 B) s: I# s! s: C% E* P: W9 M2 g, \! ]* S
private void swarmSetp() {
" F1 m1 h5 X4 \: i list.addLast(new Agent(Id));
' g2 v0 N( q8 } Id++;
; A7 t2 k) t- q; Z }2 h- k2 M/ K3 t' l5 M
+ l6 [) n& G1 o# K% D3 s4 I8 m1 q' S
public Activity activateIn(Swarm context) {/ n+ f5 b4 k) M% X! x$ E+ g* m0 t
super.activateIn(context);3 V- B, W6 |" K o
schedule.activateIn(this);
B+ K, W5 [' p4 U7 _8 v% I' x7 h1 T+ N5 f return getActivity();
7 }" ]# L) e, s2 _8 M/ N }
* ~; b$ n e+ z* Z; A
+ N+ ^# ~, X# w public static void main(String[] args) {! M. j5 V6 M# {+ b7 O
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
% H7 k# `$ a* ]2 p" B8 ]" `0 m Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
* e; ^8 c; o0 V0 I swarms.buildObjects();
$ s: k2 o z, I9 h/ @ swarms.buildActions();) E$ |$ z* h& A" D1 N
swarms.activateIn(null).run();
9 a. D" u7 ?+ ~- C# n" K4 X6 t' B }2 T- A- E- @( p8 v* o; G: f
, S+ s% M5 P& D4 h" @4 V} |
|