|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 + l7 [! E# W, ?! I* b# j
3 W! |$ E- s- v2 D. M本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21) w# @& _% O& h
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
, E# ]4 C; [% _5 Aswarm.SignatureNotFoundException7 D! ~; e: p# R7 }7 {. Y
at swarm.Selector.<init>(Selector.java:76)) n; t7 V' y) O/ s$ r O5 [% g# R( n
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)2 ^, M$ `# j- c' x% d, O
at ActionGroupDemo.main(ActionGroupDemo.java:67)
/ n1 G& U3 u$ n9 x* X
* j! ^3 w. y/ ^5 {7 q6 V
' ]4 K$ [. Z% [1 r# d# `import swarm.objectbase.SwarmImpl;
+ Z* t K4 d, k$ S7 G1 Fimport swarm.objectbase.Swarm;0 a6 J& r5 P3 q& T) r K
import swarm.activity.ScheduleImpl;
0 ~/ t/ G: g- wimport swarm.activity.Activity;
0 E/ U7 L9 d! K3 w8 o2 iimport swarm.activity.ActionGroupImpl;. P) R ?+ D0 a
import swarm.collections.ListImpl;: u, N/ R, G% t6 @
import swarm.defobj.Zone;
; Z7 y3 [' w" s$ `3 x8 w7 P. Dimport swarm.Globals;: |2 Q$ ^ m5 ?$ `
import swarm.Selector;: ?, B# m, B4 N' W: i7 ~7 C( I
import swarm.activity.ActionGroup;
6 W" N7 e3 p7 I, {$ r5 @% c/ ^class Agent {
$ N! | ]$ X! m+ W. v char id;- ~# b, l, k! e3 S3 l
) h' d& D7 m8 \# b: Y Agent(char id) {
$ E% ]: f* Q/ g! ] this.id = id;$ V: m9 G+ w1 Z, T
}
: z! y7 A7 @% I8 p. j' P1 K/ [% p# \# E0 L
public void agentStep() {- t( H: ~. O! j$ A7 r
System.out.println(id + ":" + Globals.env.getCurrentTime());
- O% O, {/ i2 |2 o5 i# ` }
( E. ~# Q) c/ {$ a5 q$ b+ F6 r}
6 o8 A! _9 }! u3 ?1 n; y+ g6 T$ `8 r% U, q( f; s3 m
public class ActionGroupDemo extends SwarmImpl {; ?, ?9 V2 J# E0 s/ L
ScheduleImpl schedule;
" c0 l6 Y$ h1 \& d# L ActionGroupImpl actionGroup;9 X* l( C* x- |. R& L/ X
ListImpl list;
+ |) c! V; i/ w- ?' ~ char Id = 'a';
9 B$ u* `0 ~ _( R% B5 Z) j; ~# V/ ?1 o
$ _' e# C! I+ `9 b+ b& N5 Q- l ActionGroupDemo(Zone aZone) {
# ?7 c5 N0 L! y4 |( k1 k; R super(aZone);6 G4 \3 ~/ Q1 Y! o
list = new ListImpl(aZone);
1 H" f& T2 e3 S# V% O' w$ ? swarmSetp();; [1 ^) c9 S# f" _
actionGroup = new ActionGroupImpl(aZone);
! x9 P/ r1 C& X! G schedule = new ScheduleImpl(aZone);
/ t2 s3 ~7 k2 Q3 } try {
; ^! N7 N0 W! l. y( [ Selector agentSel = new Selector(Agent.class, "agentStep", false);
* J, [* [" H! V3 N& H. B/ @; _ Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
, `* x& ?% n/ X p& r, b
) R2 j9 T& |4 c& {3 R actionGroup.createActionForEach$message(list, agentSel);
+ a5 y7 M z+ r" n actionGroup.createActionTo$message(this, swarmSel);
$ S. F% [" T3 t8 c( W' [% n) Z3 f schedule.at$createAction(0, actionGroup);
A% a* v' \4 G. g; C schedule.at$createAction(1, actionGroup);' k9 h* }4 s3 C3 O* A: t" ] F# Q% f
schedule.at$createAction(2, actionGroup);' H9 C0 r! D4 K
' [/ U8 C( _6 E } catch (Exception e) {, C" Z) o% l) {. C% i- r
e.printStackTrace(System.err);
- x; z$ J' A% x' W& P# D3 R" l //System.out.println(e);
7 g, h) n* S: F/ } System.exit(1);- v7 {, E6 D+ p- e: }
}0 S0 m6 Z9 U, D9 {" w+ ?" ]
# h; Y _& n5 U" n/ l
; F& c3 ]$ V) D4 M; d) f }1 a4 _' U3 g9 v- _
( D {5 q% |3 n' d private void swarmSetp() {- c. L; D3 q% n d" T6 [5 S4 C
list.addLast(new Agent(Id));
, Q0 s. I/ g2 F( I& A* f/ e4 O Id++;
$ q7 n) |. @/ b, W, g/ w% t, { }8 `6 }/ ^% P7 f
6 D. n0 E# G" A) M* {% k! M2 I public Activity activateIn(Swarm context) {. h5 Q- N" P! p
super.activateIn(context);
7 L( ?- b" X \: D/ {0 W% b schedule.activateIn(this);* |4 {9 b6 Z# ^0 i" Q
return getActivity();
f4 F7 ~% X6 B0 D& P5 L }
7 _0 V7 K4 d+ f/ c
# \7 p0 k" z% @6 K- B public static void main(String[] args) {
$ ]- v+ c! m& v. y) e, w$ ? Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
* Y% }, P {5 x3 E$ O2 K Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);' J9 Z, U! y! m
swarms.buildObjects();
; A. p; e% N3 U Y e swarms.buildActions();
% u, A; k5 ]& t4 n' {8 k8 e. t swarms.activateIn(null).run();
8 D" j# C" V2 |* S$ H }
/ K! r+ w6 ]' @5 B1 j E8 p8 _- l) r# T7 d% j
} |
|