|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
+ N F3 g6 u+ ~! M& ~0 k/ K7 M( C
. S0 O. o! O4 j& i本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21# X- v/ Y# [3 p ^7 v
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激./ h1 }2 ?4 w2 [; C
swarm.SignatureNotFoundException; f/ [! S2 L9 m
at swarm.Selector.<init>(Selector.java:76), R5 Q2 p- O9 Z& @
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)$ r# @+ |0 C' ^% w6 {* M
at ActionGroupDemo.main(ActionGroupDemo.java:67) h' J1 k$ m8 |3 \3 k, Q5 g
; A9 y% \% y) c% H4 s# \/ Z4 c! q/ P& T, q) `! \1 {/ O# ^/ o
import swarm.objectbase.SwarmImpl;1 E$ `8 i% v* Y1 @ u) v& m
import swarm.objectbase.Swarm;+ f$ Y( G* C6 [* h1 i. D
import swarm.activity.ScheduleImpl;4 Q/ `' u+ D' }/ {/ @6 \: m
import swarm.activity.Activity;3 E A1 v2 `' E, t/ ^0 ^* X8 w8 Y
import swarm.activity.ActionGroupImpl;" b2 i( A! Y, J6 w
import swarm.collections.ListImpl;! x8 _4 ~- F1 k- d& F
import swarm.defobj.Zone;
6 B$ {5 {( ?2 V( _# x: a) R4 q, himport swarm.Globals;: H6 C: x% s3 \. F$ u+ i- \! E2 T
import swarm.Selector;
8 r2 |/ h% W' P6 R( P) Y- K/ Oimport swarm.activity.ActionGroup; 7 K8 Y+ ?5 A9 c( e \% v7 D" i
class Agent {
/ L! u* h2 [& A0 Q( r2 W) @1 { char id;
5 `1 u9 r3 h! G- r1 h
# N+ Q, T6 w' G6 x0 t U Agent(char id) {+ S2 R2 I- S6 x" ~ J! g+ ]
this.id = id;
3 C- |; c: Y! `$ D+ Y3 m }
* K1 Y, Q: u% `) R
0 p, L# d% l2 O public void agentStep() {
! o/ r: X% g! `" h. W$ [ System.out.println(id + ":" + Globals.env.getCurrentTime());
2 _- A( u Z! j* A" | }# }/ K. ]( O2 z7 A: }0 l
}. s8 L$ b7 Q, p2 r3 a6 M$ w. u
4 W5 B/ X5 l1 V
public class ActionGroupDemo extends SwarmImpl {, F; x/ X2 u I# i; _" L8 [
ScheduleImpl schedule;
' M( ?% z/ ?% d ActionGroupImpl actionGroup;* ^' A5 T% w9 q5 j; l- d
ListImpl list;
5 L$ d; Q. w# H3 d1 Y9 h5 w char Id = 'a';
# `6 { S( \1 \( O9 u8 Z0 A8 U) y' @% [# B* f
ActionGroupDemo(Zone aZone) {8 I7 e3 Z7 Z& M& W B
super(aZone);# y$ C9 A. J2 D- m& t6 @; c
list = new ListImpl(aZone);
/ N. e- Y$ A; v4 N) o; @ swarmSetp();
' N3 C2 e% U/ c) j% y9 S0 ] actionGroup = new ActionGroupImpl(aZone);0 v$ f, z3 q" ?3 Q
schedule = new ScheduleImpl(aZone);# B; A6 e, G" e7 L& c# j' K
try {7 F6 ~! L7 c" z
Selector agentSel = new Selector(Agent.class, "agentStep", false);4 f% Z& t( `" A1 G, j
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行' p- d! v. s6 ^* F
: E- g- _" |' d3 m
actionGroup.createActionForEach$message(list, agentSel);
* f5 P0 N& p0 Y, W+ g actionGroup.createActionTo$message(this, swarmSel);
6 G2 K E+ V1 i. h3 v schedule.at$createAction(0, actionGroup);
; v/ r' v( Y% c, E& v schedule.at$createAction(1, actionGroup);
& f( |2 I C1 e8 X' q schedule.at$createAction(2, actionGroup);7 m! ^1 {! z5 u' D: a8 [0 t
2 w- p6 }- C. o+ {2 W1 P } catch (Exception e) {# _3 n" r$ I7 r8 r6 R- X! M3 w
e.printStackTrace(System.err);% {- g I d/ J2 {
//System.out.println(e);
- O9 k/ u' `0 f5 v- ^7 K0 K5 \ System.exit(1);
; l* k% \/ ]# W1 K3 p4 I" f }3 ~7 ~# Y# [ x5 ^# ~9 T8 ?. G; D
: N7 P* y3 Q6 c5 J3 I
$ r7 @- @/ _$ K" p }
5 p3 ~! ^. k% Q2 Z6 ~1 e7 O8 I; J- |1 D! s; w. b3 B0 T
private void swarmSetp() {
6 T& i( c8 m9 N, j r* n list.addLast(new Agent(Id));" g5 |% u# U8 Z* s6 u; y
Id++;
- @4 k' ~* t t6 v }
, t1 p6 ?, g0 P: T9 c9 S
& l' A& b# F$ _- |0 p. }* a public Activity activateIn(Swarm context) {
4 N* Y' K+ q2 l. @( }+ r; \ super.activateIn(context);8 b5 m- C4 k* }! z6 c; i
schedule.activateIn(this);
" Z8 @. g% H2 f8 _ return getActivity();
' M2 A; Y" w# |+ h; \% m }
: V& q, a. |, a2 O6 h+ Z6 P) \5 g3 j0 J% A |8 k* y' W, A
public static void main(String[] args) {
( J0 b) m/ O8 z Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
+ Y" ^7 r# W2 \* @6 ?' m8 k Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
9 H) W- [% |# P$ O swarms.buildObjects();
1 N8 H. A, w0 I/ K+ ~9 |5 v+ L1 T/ V swarms.buildActions();1 F2 Q) |9 P5 B0 E. G0 L9 Y+ z& ?+ z
swarms.activateIn(null).run();# ?- Z' w' P# L; f9 D; V' M* S
}
' s5 }& W2 c5 y$ t
3 m, H$ R+ c) \) G% s} |
|