|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
1 |7 N: }4 R3 H S( l6 j
* r9 v+ O4 g a" {7 [* V本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update219 E( o7 i; Y. H* P6 H9 J( O
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
9 P" Q2 h" s$ I `0 b0 Z; \* _swarm.SignatureNotFoundException
" k4 M9 l! d6 S0 W7 @5 W9 E- I at swarm.Selector.<init>(Selector.java:76)1 }/ B3 C* P/ r, H4 R1 a4 a2 d
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)9 _$ c- W1 p( f" G8 f T! i
at ActionGroupDemo.main(ActionGroupDemo.java:67). j H, Y5 S9 X
/ A9 [1 H) _+ K! z: Z) @3 z5 r
% u% r! z; R( ~0 H8 m, y9 t
import swarm.objectbase.SwarmImpl;
; m! ~) W4 z: X4 yimport swarm.objectbase.Swarm;
/ X# s( B/ T w4 b3 ]' ^% H; g5 Ximport swarm.activity.ScheduleImpl;) z5 v: w. X4 M8 _8 L
import swarm.activity.Activity;8 b/ Z+ s' C0 d& @0 k% D
import swarm.activity.ActionGroupImpl;' z0 a" Y3 U- m) Z! u# b3 Z' _
import swarm.collections.ListImpl;
( [, d2 a) g0 O3 @" bimport swarm.defobj.Zone;
: s$ w% |3 I4 |4 O3 himport swarm.Globals;
+ c. K. Y0 C. Jimport swarm.Selector;. ]$ G6 u7 ?. X2 j
import swarm.activity.ActionGroup; . V( Q- |6 O1 e0 E$ d& }0 h) L
class Agent {7 K0 F6 {, ?! Q) l: `3 v' u
char id;
6 }" t# ^% w i* M, R1 Z! W- _
* A' c* L, R; B Agent(char id) {' [" b. w9 j$ M, l' l! F- H
this.id = id;; I+ X0 j& p! i* a
}4 h, q, S, F9 @5 E/ `5 e+ J
6 z( e8 n' M; D. }- z; Y- W
public void agentStep() {$ i8 Z2 u8 p' Q. D# J* i! g
System.out.println(id + ":" + Globals.env.getCurrentTime());
, v/ P" V9 w8 ~4 m5 M }
$ g. Y* M! Y) I6 ]/ E}- G( C- q. N v! l- _3 C0 Z0 J
2 x1 V% g! s" F% |public class ActionGroupDemo extends SwarmImpl {
1 R8 ]4 R( D9 h' V+ s+ H ~- c ScheduleImpl schedule;
6 a* S- D# {% O/ D" }9 I7 t ActionGroupImpl actionGroup;
* n3 i3 X5 {. {( o6 y ListImpl list;
* L1 f& U5 T: a* `' Z char Id = 'a';) {- {- o" W, A" g9 e: ~
7 R' F" y% ]% W$ c9 `2 j
ActionGroupDemo(Zone aZone) {" [: J" i, X& |& n
super(aZone);
% r+ _3 T" O! z9 E& s; w list = new ListImpl(aZone);( h p) Y, t3 p) \0 e) L
swarmSetp();0 u1 f0 O$ p* l+ Q
actionGroup = new ActionGroupImpl(aZone);
" |9 n0 f* Z" }, O! ~ schedule = new ScheduleImpl(aZone);
/ c. @* X% w: p) }$ e0 {. L try {
3 {9 M4 x6 J8 S9 d& |" Y6 c Selector agentSel = new Selector(Agent.class, "agentStep", false);
9 l' y: E: h/ e. P$ [# {& ? Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行+ n! _6 N* ]- m2 T: q2 C* j
' h2 {. H1 }* ]5 |' N
actionGroup.createActionForEach$message(list, agentSel);
3 m9 ?% V1 K) s: B actionGroup.createActionTo$message(this, swarmSel);( r3 W* w+ M/ X/ h; K
schedule.at$createAction(0, actionGroup);
5 C2 B3 N2 V* t" v; Q k schedule.at$createAction(1, actionGroup); y8 H0 v }1 n
schedule.at$createAction(2, actionGroup);
' i! B5 Z7 U$ U6 P( M6 k. H- s: t( r& E4 `
} catch (Exception e) {
: e. V& ?: N3 p# u: p e.printStackTrace(System.err);# W9 y: C2 p: _+ m! B; h
//System.out.println(e);
2 G9 {. H& I7 J; ^; \* t System.exit(1);% l( m1 [. p: S! R
}
% j. q) l2 t' c5 M9 {& A0 d- O0 d# s+ d* ~3 q9 _. ^8 Y
8 q! U9 y+ o8 [! | l, h$ s
}
# [2 h$ u Y/ c# \
' u% R+ `8 k! _# W; @$ n private void swarmSetp() {0 t7 v% D6 _" a6 Z
list.addLast(new Agent(Id));
; P; j, W3 ]3 n- { Id++;
7 p3 P$ F/ b' p6 {0 r }
% d$ J8 {6 o& A/ p( `+ ]* a+ p6 Y: I9 C7 N7 n2 h# U' i% w( Q
public Activity activateIn(Swarm context) {
3 b# V7 P! Z: v1 Y3 P super.activateIn(context);8 `" [% ~7 C/ o/ Y
schedule.activateIn(this);; Q' ]) D* Y+ K3 e' X3 @3 Y, N
return getActivity();( C$ C) `+ O% _: |# L
}
" j8 e/ ]4 n% W. y6 U1 g7 z
- k; w/ E L1 Z' t! w public static void main(String[] args) {
+ B( R. |2 ?: B$ d: u0 c' ` Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);2 {8 g/ s+ \1 i
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);# F. T9 d! [5 W" G5 n
swarms.buildObjects();
5 e- E( S: ~4 c& m swarms.buildActions();
' k8 `+ |2 S8 s2 W u1 x& \ swarms.activateIn(null).run();
* F- D7 [/ I/ V1 o/ b }
9 e) K$ w+ T7 ^( P2 d, B& t
! k$ h9 @* u. E: \: ~5 a} |
|