|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
" O( a+ C- e% P% R: O/ N% Q# z \# N$ I, O& [0 b
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
/ O e5 G, P4 Q$ X7 u% Y, I以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.$ u6 X, K9 s4 ]* m& W
swarm.SignatureNotFoundException, ^+ r6 c, I" N8 H) \2 G) x! y
at swarm.Selector.<init>(Selector.java:76). i$ Z1 N" p% R; G& m
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)- }, n- H9 m3 A2 O3 u8 n& d
at ActionGroupDemo.main(ActionGroupDemo.java:67)
# j# R- j0 L. ?& V4 U3 [' C' S( z0 q- n e8 S5 s; b
1 z$ C/ F* h0 U) }7 v$ D$ E
import swarm.objectbase.SwarmImpl;
' N% k% v! `! u, U2 b% nimport swarm.objectbase.Swarm;
, S+ c8 y6 {9 pimport swarm.activity.ScheduleImpl;& b& }) ^5 H7 d& l, a
import swarm.activity.Activity;
$ t: X* c' b y- r7 ]import swarm.activity.ActionGroupImpl;
: U* i& _4 A) \/ t, \import swarm.collections.ListImpl;
$ _3 I/ l& S7 w! Q0 q3 ~- Wimport swarm.defobj.Zone;
. I" ?: H! }6 o. h' E$ F/ a: i$ qimport swarm.Globals;
+ R4 i6 K2 m% d: J0 Y+ T9 g& ~8 oimport swarm.Selector;0 f. z$ C; q% q# ^1 M. |
import swarm.activity.ActionGroup;
& p: k) N# [, X5 ^; A( D8 \class Agent {
7 y( X8 k2 N0 S3 Y char id;: @% s( i+ ?5 V m* X( t( M
& B4 x; Y* F1 x Agent(char id) {; R7 S# Y9 g$ v. t/ i% A
this.id = id;
/ z/ R! g( t' H7 ~5 N+ ]8 H- |) | }
' h; P9 q, F" j. {0 M' j
# R% m$ t8 n" m9 M; N1 O! j, `3 c' S4 v public void agentStep() {
$ X1 R5 L9 k) X) W; L$ V System.out.println(id + ":" + Globals.env.getCurrentTime());
- l. }, i' j0 \, T- j2 P; U7 R }
; N P' h/ O- k} g. L4 M) P n# ~
y0 Z" M( ]1 a* D0 @
public class ActionGroupDemo extends SwarmImpl {
- z, k- p+ e7 I3 t" A$ i9 E7 ~ ScheduleImpl schedule;4 r5 g' y) a! \5 A0 Y( O
ActionGroupImpl actionGroup;* `. Z% Z" q. e7 y! k5 c
ListImpl list;" f$ f( A1 t. h9 W7 j. ]$ k
char Id = 'a';
* C) r5 W+ R2 G6 w- ^ e1 c) T; g) D
" Q6 k% m3 g/ E ActionGroupDemo(Zone aZone) {
! S9 v7 A9 d0 P* V; G super(aZone); {) D& N% b8 T3 p% [' B
list = new ListImpl(aZone);
5 h6 P( F9 L3 C+ Y% q, A% t swarmSetp();. ]6 j* v5 ^- r/ i* `
actionGroup = new ActionGroupImpl(aZone);
7 E) O& B, D0 D5 R schedule = new ScheduleImpl(aZone);9 C5 H/ P2 a$ K* }5 L
try {
) b" `1 G! ~$ b Selector agentSel = new Selector(Agent.class, "agentStep", false);- e, I" t4 f- L8 _2 Q: [
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行! B& H) k# ~- @6 I* B6 y. l' n9 K
3 `. [$ C+ M5 I0 ~0 P actionGroup.createActionForEach$message(list, agentSel);
: r5 m+ |9 {+ Q5 A9 t0 ^9 d! c0 G actionGroup.createActionTo$message(this, swarmSel);, v4 {# e. a/ J# L1 n4 l7 f V
schedule.at$createAction(0, actionGroup);
: F$ N$ L" l9 O+ Z. v% ^# b schedule.at$createAction(1, actionGroup);
- h; l0 ~0 l f3 m schedule.at$createAction(2, actionGroup);
5 b0 s+ Q* Y T. y6 K# H5 E! p
} catch (Exception e) {0 g6 N6 O X8 W5 b2 x
e.printStackTrace(System.err);$ b+ l& R! H7 o! v
//System.out.println(e);9 K2 d& c" O \( Y$ Z" W& K: |
System.exit(1);
6 M ^3 u1 \6 c; ? }
) ~! @* _6 I9 O- s( z1 n! ^$ Z+ N- l; Q
5 r$ ~# O/ z5 J" x5 j0 {
}
+ `! b* ^% O& f7 G+ D z7 D, S1 r& D1 [; E8 @
private void swarmSetp() {
: p. [' ^6 h! C" o1 ~/ e9 s list.addLast(new Agent(Id));
2 W/ N& ~4 |9 z o Id++;
( {5 n! p8 U1 J- }- k1 z }
' S3 ^1 {9 |. w# ]/ [2 E: W) g. m# m; ^7 T
public Activity activateIn(Swarm context) {5 I; a8 s1 v7 N' E: s
super.activateIn(context);
0 w" y+ g; L o% `& U schedule.activateIn(this);
0 y! M$ ?* U# Q/ X' l return getActivity();, U9 g# s! C1 H6 b! c5 x: |
}" l% B" z3 V1 t& C
$ s& C$ c+ a$ s7 u public static void main(String[] args) {
( j0 \2 i7 u0 a5 W- z! ?- \" w Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
3 p" E( O" J5 \+ [, o7 w# x ^0 B4 G Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);% V8 v U3 \ l2 o& Z. K0 |
swarms.buildObjects();1 B$ \" W, v3 w( M. x' D9 a; Y
swarms.buildActions();
) [% b3 Y; B) l$ O% `# G) I ^$ H swarms.activateIn(null).run();4 j. i$ Y) h6 {+ J# @& N1 `
}
( r4 i4 l3 M2 e) U# m
8 D h# v5 h! P- S0 A} |
|