|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 4 P2 x" f% u% [ k. T
y/ c' z* `8 E _8 t# M8 ?4 N- Y7 C
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21; [. D$ {0 w6 I) ?
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激." c0 T$ p* @; S7 e. |2 c/ R% M
swarm.SignatureNotFoundException+ ]9 @) b* s/ E4 F+ `$ @
at swarm.Selector.<init>(Selector.java:76)
2 m) ^& j, \. y7 B' M8 v at ActionGroupDemo.<init>(ActionGroupDemo.java:37), U* o( J! z3 O6 s, `4 Z
at ActionGroupDemo.main(ActionGroupDemo.java:67), F* `6 t3 U4 Y; S
+ s/ Y& A. \) n, d8 \
' K0 p4 g' Y/ @4 D. e% fimport swarm.objectbase.SwarmImpl;( M% {1 b. p/ h* y
import swarm.objectbase.Swarm;
! V v$ T& N0 uimport swarm.activity.ScheduleImpl;. L8 B( Q" T/ K. R) |
import swarm.activity.Activity;
7 `* z) y7 g) n9 n2 Cimport swarm.activity.ActionGroupImpl;
1 P& d5 {! |0 d, e' Simport swarm.collections.ListImpl;
6 g& I# Q1 |3 {4 ^9 m* U# ?/ cimport swarm.defobj.Zone;
# d: y P% ^( d- iimport swarm.Globals;
5 [* _6 [( d5 }- U# ` z* e( n5 ~import swarm.Selector;
4 `! Q l0 F1 W* m" ximport swarm.activity.ActionGroup; 2 s6 _ N3 C7 q( g0 l$ c* V
class Agent {2 D) H# j- ~% i* j4 y% N! L) [8 @
char id;7 z1 M! C: m$ g3 Z8 Z. m
' O7 T) C$ P5 d- U. w/ \
Agent(char id) {2 U+ m4 B& A, ~6 k5 n8 [
this.id = id;
* o# N, Z1 j) R# L) \ }# E8 V. `. |/ ] A: ^" h
. b1 e4 O+ x7 |# G% \ public void agentStep() {; q- c9 @, Y6 [; T( u( h
System.out.println(id + ":" + Globals.env.getCurrentTime());
- A1 }8 _9 D: H5 ~1 } }
3 W- z" q, t" G- `( w7 f}
5 @/ H8 p! o1 C% A0 c' _1 P2 }" W+ `- u: V
public class ActionGroupDemo extends SwarmImpl {
* m# M6 Z6 {; R0 t& I( r' Y+ J ScheduleImpl schedule;0 x: ~9 B; _ V- v
ActionGroupImpl actionGroup;
* a# D# q" k- h$ w T5 l. h ListImpl list;
0 d$ z# A! L& Z char Id = 'a';0 k6 m& i0 ?, G) ~2 ~
- B( V$ Z9 r$ J9 U- |* F
ActionGroupDemo(Zone aZone) {; X/ X& I: M, O# @
super(aZone);
) g: \/ w, J* k: f5 m) D) A list = new ListImpl(aZone);9 X. L# j& `( { ]/ B
swarmSetp();, T- K" _ d4 H& T7 Z: `* ^
actionGroup = new ActionGroupImpl(aZone);) U1 h% P0 R$ p6 n
schedule = new ScheduleImpl(aZone);
5 w, R) E2 c* ~; N1 b& E F try {
4 p+ N# W& q/ O/ o, d$ {; Z: I' o Selector agentSel = new Selector(Agent.class, "agentStep", false);" E2 I6 d# Q( J: v$ F) q: {
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
% @4 |3 E$ S- c8 V, T1 t/ _, v 0 N% q+ M, h2 t! k" C
actionGroup.createActionForEach$message(list, agentSel);
" e+ |7 W o2 O: b' S actionGroup.createActionTo$message(this, swarmSel);5 N+ f4 V- ^# x" K+ N7 I! ^% i5 |
schedule.at$createAction(0, actionGroup);8 c$ ?3 B3 B, x1 ]! Q! l) R6 d/ K+ F
schedule.at$createAction(1, actionGroup);% ]5 Y& y9 W1 a
schedule.at$createAction(2, actionGroup);
3 ]6 l3 h- Y' |: W# m1 `
4 {9 t! x. Y5 U. [ } catch (Exception e) {
: s6 o: D- {' r% F1 T3 U- y e.printStackTrace(System.err);0 I6 u9 g! ]$ W: X) b2 z3 K
//System.out.println(e);5 N5 J- ?+ j& }% W8 J
System.exit(1);; ] ~& W# i9 f, ?5 o3 H- E$ g8 S
}
4 X! r& t1 W9 `1 L( J1 W Y
% @# X8 m% p6 j/ c. h
) v6 N. O- T" c* U9 m }
' X* e4 b( a+ s* @. f; o
$ ]7 \8 x/ Z" u; b6 A private void swarmSetp() {
) p: L0 A% b8 x' y8 a0 O, ~% H list.addLast(new Agent(Id));
& i/ o _( w" v) N Id++;) b$ ^4 T( B: j: F! F% J
}
' `" Y2 f8 G8 f7 M9 t- e; f4 A/ ^) g6 V1 W+ d2 O
public Activity activateIn(Swarm context) {
* I: U* W0 b* b super.activateIn(context); Q X; i9 s( X' R, D
schedule.activateIn(this);: t2 p+ ]& s g- Y3 k% U
return getActivity();
# b& z$ f2 ?) R }& h* i% N+ H: @8 N
8 O" S- @. N' X9 x9 ?6 J9 y public static void main(String[] args) {' K' j+ \" o' \2 `
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);) Z0 R) g+ G( m3 p& q6 A+ p$ U5 s
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
( F) F# V: G. M4 v U J' P9 d! J swarms.buildObjects();9 j% x5 I6 }& d6 k' C
swarms.buildActions();
- C9 n4 S5 t/ c5 M swarms.activateIn(null).run();
5 k0 q$ O2 G1 b" I4 M# y+ y }
8 b/ {$ A/ s% M0 T( T9 g) D' S
! x3 U5 G3 S0 S: _! |. ^} |
|