|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 ! n: i- P& E+ S1 r2 o7 Q. e, N
0 } J2 x) I( D- I! P6 `本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update216 Y2 y6 S! T& }/ _$ B
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.% J- j# A' l9 C1 X5 a
swarm.SignatureNotFoundException' j+ }5 u1 n8 H
at swarm.Selector.<init>(Selector.java:76)4 o+ L( i6 H* P. }% |+ Y% C$ i
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
6 q3 [% a7 ~; J% K" e; Y+ C at ActionGroupDemo.main(ActionGroupDemo.java:67)/ E9 \. l9 \7 g' M0 e( Q
$ N7 P) G( Z- W4 P, L8 m8 C$ ?5 Z: i9 x3 M4 F' P
import swarm.objectbase.SwarmImpl;( [2 m7 U# J; ^ k% x( f; Y) d
import swarm.objectbase.Swarm; E- k3 F9 v( {) V- q( h& C6 u5 V$ D
import swarm.activity.ScheduleImpl;5 @0 H! M! G8 k1 h" E Q: T0 x
import swarm.activity.Activity;* c/ }7 Y! j; Y2 b1 k( _/ `
import swarm.activity.ActionGroupImpl;
$ _* R) h2 d0 Kimport swarm.collections.ListImpl;
: J% w! ]' a- C4 _import swarm.defobj.Zone; + J7 p3 g7 A6 m% ~# q( H* r
import swarm.Globals;7 s4 X7 c6 X7 F' v+ Z8 M# u
import swarm.Selector;( D- N+ }- U8 G; K+ e
import swarm.activity.ActionGroup;
! h- O6 p3 _) z0 oclass Agent {. ~ n- C9 \) d: s" {& r' R) S
char id;
( ]: M2 |% V, o! Y/ V1 c# Z, n f) I
Agent(char id) {
$ ~% W4 G" Y) Z3 Q1 Q this.id = id;# @: e* A* N. w9 h
}
9 H+ s) ]3 w: a% Z7 _; F' q2 `3 i. Z- J6 [( \
public void agentStep() {2 C c6 C7 j3 K5 `; O
System.out.println(id + ":" + Globals.env.getCurrentTime());1 _$ N* A' N# ^% E
}; T2 H9 Q2 S; q: l
}: s; F( O' Z' z3 q8 K" I8 [4 M. B
: i: v" \: v$ m. p. z g
public class ActionGroupDemo extends SwarmImpl {
. z& f% H1 _9 O1 |0 q1 T ScheduleImpl schedule;
. ^' |4 F* ^3 k+ S6 S ActionGroupImpl actionGroup;
% o0 P+ x# }* _# [ ListImpl list;
/ v: p; C" k) J char Id = 'a';
0 t8 \( d* J1 \8 H8 T- |: q s' Q7 P/ y$ |5 O; O! u
ActionGroupDemo(Zone aZone) {
( i) @3 c% t/ C. O, p super(aZone);
9 T6 B, x" v) \1 B list = new ListImpl(aZone);* o9 I8 c4 D$ J: |/ v
swarmSetp();( i, J$ w' D+ e8 b0 D# `
actionGroup = new ActionGroupImpl(aZone);. {+ W1 g9 S4 g; T- D1 @
schedule = new ScheduleImpl(aZone);$ @- _8 P+ W% t$ w9 l% w
try {
" B3 t& h9 ?. n# P8 e Selector agentSel = new Selector(Agent.class, "agentStep", false);( m$ y! Y4 G$ ]$ ]: P$ R
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
; L0 ^0 `) P6 m/ A
+ C' o- z1 ?6 t& \: W# W actionGroup.createActionForEach$message(list, agentSel); \# R, o0 ]; |
actionGroup.createActionTo$message(this, swarmSel);+ ~4 U5 k8 u" O; X& ]% s3 k
schedule.at$createAction(0, actionGroup);
* S# j( G) X7 O$ |# S$ b8 Q schedule.at$createAction(1, actionGroup);3 @( B4 r; g" F1 T9 H
schedule.at$createAction(2, actionGroup);
$ a& O& O' u' p8 c. h" h
( F. g) z) {4 R$ n' i. K3 ]' E3 {$ \ } catch (Exception e) {8 ~' N$ A S( d2 W( J1 }
e.printStackTrace(System.err);" [, B" t- l# d2 f8 L
//System.out.println(e);6 T7 o) q9 [: `$ |
System.exit(1);0 F. w$ ]& Q0 k3 o, J' A
}) A \( ?8 T2 @9 s- a
& t+ c Z G3 I( o2 f' f8 x! h" Q+ M8 P/ K% r
}
6 M* @+ P3 n3 g9 h! O/ ^: g+ A* k1 h. L" f+ I, T" w6 A
private void swarmSetp() {
- Q' b' `: _- L9 z1 b list.addLast(new Agent(Id));
* r2 Q' ~/ ~1 y4 D# _ Id++;/ t; X; C# B: [0 j
}# {0 K6 e, `' k1 I( [: c
% F: a# M0 t. D! g/ s6 o- L$ e public Activity activateIn(Swarm context) {
9 l5 _+ ?. q" D6 l super.activateIn(context);$ X0 S7 B9 ?8 A: w" D
schedule.activateIn(this);! U7 v- N# Z) p+ o
return getActivity();
% u( A5 U x' B3 y* H: [* u( q }
: q! E: h: A+ w o3 m- n& x9 Z, n8 x- J7 }! y) ~
public static void main(String[] args) {8 S' d7 o& q2 W" q! |% C# u
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
, a; B- v3 U8 M Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
- z7 L* U7 v) M/ @ swarms.buildObjects();
% F$ n! W. r3 L9 e swarms.buildActions();. C. Z& O! J* N2 h
swarms.activateIn(null).run();
/ q3 _1 l' @( v8 Y }
2 J! @' Z- o2 B$ r& @: @; l% b5 ^% i6 E! K% l
} |
|