|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 # l, S! L# E% p9 u3 H
/ m) t8 A7 V c. I本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
E. ?- Z' ]5 E以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激." ]+ b9 l6 O: m g- L
swarm.SignatureNotFoundException
4 u# I; c; y- o7 u3 L at swarm.Selector.<init>(Selector.java:76) z) }& Z) D k
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
1 W! L6 ^4 R' j `# C7 j" J at ActionGroupDemo.main(ActionGroupDemo.java:67)8 ^7 h$ `, U6 u
{( d# L5 V- W. M7 l7 a, Q: O: s* l A8 Y" B( t) S1 I4 u
import swarm.objectbase.SwarmImpl;( U! ]# e# {' t7 a
import swarm.objectbase.Swarm;
- `$ F- ^9 r$ ^+ E# [import swarm.activity.ScheduleImpl;
! o% u8 Z8 ]9 Q. I l5 u- W% Limport swarm.activity.Activity;7 C3 S% F4 M" K- ?
import swarm.activity.ActionGroupImpl;
* V* N# t9 ~. O% L% V, l! R; D5 kimport swarm.collections.ListImpl;2 X7 M: v! z8 |% Z
import swarm.defobj.Zone;
; ?) U9 }/ n e$ C. \: w5 u, nimport swarm.Globals;
* w% m, @+ l9 c( K2 Eimport swarm.Selector;
! L4 n6 [2 A3 c& z: |$ P' R+ ], yimport swarm.activity.ActionGroup; : l" d+ B7 Y: I* ~! g0 R- b. u3 N
class Agent {
8 T, V0 P. ?9 ?8 K char id;
' A# E7 g2 E6 V4 A8 H6 z8 Q0 I! H3 n7 i; J
Agent(char id) {
! w, u+ m4 X% Z, K this.id = id;
- f7 j6 m8 ?6 S3 b9 e& r+ p }/ }/ }: z1 c. S# E, q
6 q# ]% {4 ^: P1 _/ U- h% t% M
public void agentStep() {
( V& B! _ ~8 d3 i System.out.println(id + ":" + Globals.env.getCurrentTime());6 I$ n4 Q& ^3 t* A6 W- h
}: Z/ X, y n9 X( [$ v2 Z7 v
}
& e( e7 E. f4 Z* @* ?# [3 r4 W) k) w6 v" I l2 F; ^
public class ActionGroupDemo extends SwarmImpl {
; Y- ~6 }6 F: v# \8 i* C ScheduleImpl schedule;+ h% R& x/ k8 G6 q* j- x8 n
ActionGroupImpl actionGroup;1 g% ~* x; I/ f, w0 p
ListImpl list;0 g' L+ S2 Q$ J- U5 P
char Id = 'a';* u/ }! k1 x2 _# J7 I: R! m
, R- F$ y/ ^6 j0 ^( C5 @# ?
ActionGroupDemo(Zone aZone) {
6 N; F8 l" s! \* o) J% r0 F super(aZone);* x; E# x7 c! I) t% _3 {3 U
list = new ListImpl(aZone);: ?9 U4 \$ s9 u" P+ @& s
swarmSetp();7 L7 M0 t6 V) |+ ^4 Z: }
actionGroup = new ActionGroupImpl(aZone);
) {1 P! z/ ~8 _: h: f5 F schedule = new ScheduleImpl(aZone);/ ~( y/ T4 `% z7 g0 ~0 H. t
try {9 y9 s+ P: I1 C
Selector agentSel = new Selector(Agent.class, "agentStep", false);
. m$ h# ` T, d Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行0 l' }0 C% U! l$ X. \$ ^
3 [2 T8 m) X% p; U8 `/ H" o
actionGroup.createActionForEach$message(list, agentSel);( O7 n! L1 N; w% w" r3 a
actionGroup.createActionTo$message(this, swarmSel);, w* Z+ i' ~/ V! g9 @1 |; ]
schedule.at$createAction(0, actionGroup);2 |% c& `/ e% V* R' X. K) H" D
schedule.at$createAction(1, actionGroup);# g0 z8 R, O. P% w. e; E5 |7 E |, C
schedule.at$createAction(2, actionGroup);9 |7 @& Q) Q$ S+ a
0 | k( X7 u9 }' H! j1 p9 S/ V! p } catch (Exception e) {
3 ] b) R* e- K# G/ d$ | e.printStackTrace(System.err);' w- K( D- `" k3 ^
//System.out.println(e);$ _/ h6 Y C9 g& J- N' y- G$ a
System.exit(1);
3 b: N$ F9 s2 Y' |) S }
- {/ V) e0 b/ v; L8 ?
3 @, L _$ {( w! u, H/ d7 }2 [
8 m' a. s+ Q! B$ y }% Q# V1 q, i7 O( D- D6 m
1 ~. S& Y+ ~! J9 m3 I+ A3 z4 P private void swarmSetp() {
5 v- \9 h$ f/ u C list.addLast(new Agent(Id));
& I. k# [$ E/ X9 j6 V+ h0 ^5 V9 R Id++;
2 O a4 Q" g: C }
+ u$ T2 {- ?% E6 Z& t* O+ d$ R V; W4 I- t$ l* C( f
public Activity activateIn(Swarm context) {, K+ o: Y+ `/ h. a; \
super.activateIn(context);
; J" Y E" `+ U- }4 \- i0 o schedule.activateIn(this);# ?/ y* B, `: J5 c4 A/ F- J
return getActivity();
7 d2 `; w. u4 h/ b% m }) _$ @7 [5 M, k. w9 p
; z2 d2 _1 b8 p. a& C
public static void main(String[] args) {
' D0 w6 A/ x" h1 s% i' F Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);4 q$ g: O6 k8 `5 Q0 {
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);* R4 \/ @; _* b: m' M
swarms.buildObjects();
' d- p# f( H% a' m4 ^ swarms.buildActions();
4 C l: O i8 f swarms.activateIn(null).run();0 y" T6 r5 H. c
}
4 z/ q. m- V% Z1 Q& A( j
0 l; w' U! t& h( J0 p} |
|