|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
; \: p/ e0 I j; J2 `/ O; p
$ M* k# J- g! J' q1 t4 x- j本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
# v+ J' Q4 ?) {4 N* r0 Z8 m以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
& t* v! M2 |- W. s4 Tswarm.SignatureNotFoundException! D7 @7 a2 _' o8 l, B: M; ?
at swarm.Selector.<init>(Selector.java:76)) X) N& |' |: M \) _) N2 [1 l- v7 a
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
7 e0 N" _9 T& x, L9 O4 O2 y+ ~7 y at ActionGroupDemo.main(ActionGroupDemo.java:67)
! ^ d9 N. P' o4 c1 \: K% G M8 K* A& K2 n p
5 l9 Z1 \' n8 ]: ^import swarm.objectbase.SwarmImpl;
# E/ h0 f2 s/ p* O) Gimport swarm.objectbase.Swarm;
. |6 J! \# z) Z% vimport swarm.activity.ScheduleImpl;
; i! _6 Y6 e# K7 Cimport swarm.activity.Activity;! T, X6 Q% A. I+ `6 f
import swarm.activity.ActionGroupImpl;* I- g+ c7 Z! I" l6 [# | q
import swarm.collections.ListImpl;$ D" Q; E- P3 z3 K- J
import swarm.defobj.Zone;
' g- k" J' W n# \; |import swarm.Globals;
3 ^: f! |9 {3 P4 r( |$ ]+ L0 Iimport swarm.Selector;; s5 M0 c6 g7 s! X9 \; o6 O
import swarm.activity.ActionGroup;
- ?8 X& X( `* h! y3 W- c; cclass Agent {* q9 ~" C V! A
char id;' C) O, \6 {7 B5 j
0 D4 r- w5 E k: K Agent(char id) {
; _8 J) n: e* t4 |% q this.id = id;
6 [8 |. ?9 m8 a9 f1 K }
5 T& R# U1 f& }. e: ^9 U5 X a9 O
5 \! S( ]7 U) U! ^$ I# B8 \, b7 L public void agentStep() {" u+ x6 [0 l1 t* ?
System.out.println(id + ":" + Globals.env.getCurrentTime());2 v0 |9 Y' M# y; R! O5 o
}# u& T4 E. e9 z) q, S+ O3 @
}+ v1 ~1 [) F" M( K( B* s$ o$ m
, c* ^; J$ E2 H9 N
public class ActionGroupDemo extends SwarmImpl {
- e- A, W& }& H1 L ScheduleImpl schedule;
8 h8 c5 t6 `3 s# |- H ActionGroupImpl actionGroup;. l' S& x- H& n/ u% m }
ListImpl list; B, N7 q. m, N, ]( P6 ~
char Id = 'a';6 ?$ ], G O4 V* F C
/ W2 _$ E2 C2 i f: o* } \' P ActionGroupDemo(Zone aZone) {
5 h1 {8 V+ k& t j# e. Q0 H& p super(aZone);
, e. }1 p" a y j' N- q+ S list = new ListImpl(aZone);% Z- @4 y2 N" ]* @) d: t
swarmSetp();* w% B/ m4 M3 n2 b* O& e, |- _
actionGroup = new ActionGroupImpl(aZone);
( G6 g2 Y) I6 T# k schedule = new ScheduleImpl(aZone);
. z9 p% G" s3 {- @- p* Q4 i try {
% G) k2 F5 T* o9 \ Selector agentSel = new Selector(Agent.class, "agentStep", false);
+ ?; t* i+ \) F* ] Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
4 i" ^. H [1 R4 _8 l
+ C7 {7 X0 T& |# y& _ actionGroup.createActionForEach$message(list, agentSel);
) o" O8 K3 s- w) U actionGroup.createActionTo$message(this, swarmSel);
* Z: U7 E7 j1 x' q6 ^ schedule.at$createAction(0, actionGroup);
% O7 M; i. B, ?0 ^ schedule.at$createAction(1, actionGroup);( x1 d9 j x- u- D0 z
schedule.at$createAction(2, actionGroup);/ V" @8 p& H1 ?" X* @. R
* a/ o+ C' g/ O( b5 u; a2 \2 h% ?
} catch (Exception e) {' J9 p! l4 u( _; ~# P, M
e.printStackTrace(System.err);: r) d' K! R0 N* w
//System.out.println(e);
: R2 w5 W' C) ^0 g3 U System.exit(1);
- P! g- j' [# S, C. j# d8 v }
3 ]+ [' X: Z4 r% s5 W4 C
* X' x+ v! T. p$ ?9 _. ^+ Z! z' u* E, E8 x( H& M/ v
}
6 j$ C8 c, T; H3 O: G9 v7 l6 \& b$ _4 y* L s/ W0 ~2 {0 h- L
private void swarmSetp() {
! ?" i1 B8 h8 ^; z7 b* L1 P. i list.addLast(new Agent(Id));9 T: q4 _& L# Y! F6 M: D* u9 j* _
Id++;8 `3 m* ?8 a* w& a- C% h1 _
}1 Z9 x- j$ V" N2 q1 N* b# M% I D
2 ^$ j9 ^) ?% ` public Activity activateIn(Swarm context) {
( D* b) z `) `; C; } super.activateIn(context);; P2 R4 T# x5 R2 S1 S# I) B! H2 R
schedule.activateIn(this); r% Y# |- x1 u5 o, m
return getActivity(); X& b, k' [5 p) Z/ U4 L# v* `
}
7 H1 j! f& @+ J& Q- l4 E T. l2 V3 I' z
public static void main(String[] args) {
/ W+ B0 K6 I; O9 e2 q2 e# {6 L Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);$ i y& [$ M+ e* T) s2 @, q
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);/ e+ V9 h8 ]/ _! \6 i0 n) e- Z6 s
swarms.buildObjects();
; R( y0 ^; \7 Q/ p swarms.buildActions();7 `) o7 N" k, O/ w! ?) ~
swarms.activateIn(null).run();/ a+ d& R+ b( k
}5 s/ N5 P- b$ _8 _! Z8 \' n
$ p: F& A: @; d$ B} |
|