|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
) }* J% z! o P& Y5 M9 J- t8 ~) i* Z3 T# K. h) Y
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
4 t/ U: y! P/ p0 {以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.' V' j8 _8 u5 J' g7 W& J7 G2 s
swarm.SignatureNotFoundException
X; D6 J p! y5 N( e$ P at swarm.Selector.<init>(Selector.java:76)4 b5 B# \( |, M+ v
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)( ~! n# U: `' @
at ActionGroupDemo.main(ActionGroupDemo.java:67)- D+ G, `. P' F- ~% E
( V4 o- }1 i! y( m! I- n
- P i: b' b$ E6 C( P {3 fimport swarm.objectbase.SwarmImpl;
7 q; q! W& `, `, B3 |. P+ C8 I" {import swarm.objectbase.Swarm;8 y$ P$ k5 H* O7 i/ _: P" P0 n8 m
import swarm.activity.ScheduleImpl;7 E }) f7 r U$ i% p6 a6 H
import swarm.activity.Activity;5 d1 |5 d& u. Y8 D
import swarm.activity.ActionGroupImpl;/ m. f* q6 T2 P5 E) C: U9 i C1 v
import swarm.collections.ListImpl;
* A0 I/ m5 S% w" W2 [% eimport swarm.defobj.Zone;
! m: N$ i' }" Z3 S, G% wimport swarm.Globals;8 ]5 p( }% X- b+ p5 R
import swarm.Selector;3 d1 d0 l& z- y; D
import swarm.activity.ActionGroup; 7 g8 M+ u1 F. l$ ^. T) _/ w
class Agent {
8 ]+ Y m. _; Y& n/ s, b" ~ char id;
* {2 V! E4 q* P: j; o, m; a' o# G( \" b
Agent(char id) {
+ S" y6 S, r% W this.id = id;, H9 ~) p" \1 x: T, O! C" i4 Z" k
}
, `- c: e# d6 y. _" [
; z$ C' @8 w- Y& P! [+ a public void agentStep() {
5 ?# w. B% p8 x7 o! d/ O System.out.println(id + ":" + Globals.env.getCurrentTime()); T4 ~8 `$ G- @
}
, q' ?3 V& b8 s: P! N8 R}/ G% O6 j; f/ m; R$ f i7 A
- w+ g! S* D' s% G
public class ActionGroupDemo extends SwarmImpl {
6 s# v& C" ^: O9 ` q8 p ScheduleImpl schedule;
/ L$ m& @! X- A* ]7 Q- d ActionGroupImpl actionGroup;0 S3 f. L* C/ g1 A l0 Y' R5 u
ListImpl list;
) C% \9 v7 Z' ` char Id = 'a';. ^# |) f( E/ ^7 Q, N+ {
7 _; @3 }* H+ A( C1 n; |6 k ActionGroupDemo(Zone aZone) {6 b6 d& ?# o* L+ B2 {& o
super(aZone);
/ o" r f2 W1 C" B' { list = new ListImpl(aZone);; t6 A) j1 S4 o. x$ k' X
swarmSetp();
5 `/ f7 C4 O" ?& { actionGroup = new ActionGroupImpl(aZone);9 g5 u4 j/ m5 n
schedule = new ScheduleImpl(aZone);; ^' E3 I8 `0 K/ Y: j2 k X
try {
: @- P2 o/ r* E$ p, p; B& R$ S% Z Selector agentSel = new Selector(Agent.class, "agentStep", false);( ~, s0 V, v. x8 @9 u+ S8 G) k
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
2 B t2 l# ~- r) @" k& d' p
5 G' O$ N9 ]. g) u, H4 [ actionGroup.createActionForEach$message(list, agentSel);! l" r# `) M, b) f Q2 G, V1 c% n
actionGroup.createActionTo$message(this, swarmSel);
. N& F. X; G8 J+ p. v schedule.at$createAction(0, actionGroup);8 y9 p6 I( p' I* ^7 x% E
schedule.at$createAction(1, actionGroup);% b9 d4 d+ @4 r) D( Z) i
schedule.at$createAction(2, actionGroup);' X& n5 k+ K" p) N
1 ?$ t$ r. u3 f* e
} catch (Exception e) {
( Z% @; w8 U$ X$ A$ T e.printStackTrace(System.err);# |' W- u1 Y% M6 W# h. p- o3 V6 C
//System.out.println(e);: v" B9 @! ^4 j$ v6 H
System.exit(1);
4 l: e2 d5 J. @0 h+ s# { }: h P" Z% y" [6 U7 U# Z# i& Q1 H
4 {# j; v3 ^% ?/ W8 e: p' X# {
6 ]+ |* M5 q/ D/ `7 }' H }
2 O( K( q% w: _1 I1 a0 l+ F8 @2 \9 I+ z2 `; L1 O
private void swarmSetp() {& u' c# J8 M- s9 T' y
list.addLast(new Agent(Id));
& d" E" O; g, E1 E4 H! d Id++;: ^% \( x$ F4 L+ D. f
}
' m# a9 d) H$ Q3 q6 \4 e; c! a' f6 Y. S. ~( s9 M: z% c
public Activity activateIn(Swarm context) {
5 M: b: _' |! D6 i5 M8 A& v super.activateIn(context);4 ?9 Z/ Q) X4 o1 _/ o# t6 {3 \9 z
schedule.activateIn(this);
# w0 A- L6 M/ Y6 F# x return getActivity();$ t/ ?2 f& g1 ^$ X
}
# m9 k! S/ h0 O7 p6 K2 w& L
/ J( _; [- b8 L2 o public static void main(String[] args) {
( Z' v2 Q+ i a Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
$ ]8 u+ w& L% y& Y* D. M Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
8 Y$ C; I4 X* d6 Y" j# ?) i swarms.buildObjects();. Y/ n2 F) Q9 M* ]
swarms.buildActions();. x! f5 ~* i z7 J
swarms.activateIn(null).run();
6 Y4 [6 Z; P6 f r3 \/ d }6 @' f/ ?: {! r6 t
! [2 W5 [4 E4 ?" w- q} |
|