|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 * c8 R, y, W: n& Z2 b
1 \ R* e2 h. [& f+ S
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21! ]. J; b8 m# l- T; S* X
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
7 K( }. J' c7 X9 c; kswarm.SignatureNotFoundException+ y/ E5 K6 j2 }: Q: t* j
at swarm.Selector.<init>(Selector.java:76): ? K/ E: d* S0 v0 P
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
3 d: r/ \8 k& a# p9 F at ActionGroupDemo.main(ActionGroupDemo.java:67)' j4 _! F y9 w) Y! l' o
. d9 i3 }: Y Z1 H' Y* f' {5 G7 w& ~: O
import swarm.objectbase.SwarmImpl;
7 o9 h9 a+ N' B S/ rimport swarm.objectbase.Swarm;. ~4 P2 \3 q2 X1 p- o0 Q* g+ }6 \9 n
import swarm.activity.ScheduleImpl;
# X' l6 Z$ K7 ^/ O& K) g" _1 _! fimport swarm.activity.Activity;
9 e% [, J6 z# J @7 v; |* o( vimport swarm.activity.ActionGroupImpl;2 H. @. R! b/ u
import swarm.collections.ListImpl;
* Y! H- [; F+ R1 B- D S9 _: Eimport swarm.defobj.Zone;
+ A$ h3 [# h: V9 F- Gimport swarm.Globals;
8 e. F( r8 U# b" v; }# cimport swarm.Selector;# R6 h7 {) D1 D2 l+ U: F0 |, i
import swarm.activity.ActionGroup; 3 R' i. e8 n- M4 H
class Agent {1 w4 ~7 F+ D q3 C) e& c. l9 _
char id;, v+ Q/ q; T+ E7 @" p
2 x# }4 ^8 i% s* z' U1 u+ K1 J8 Q( A Agent(char id) {9 o$ L1 N" }! b0 h! c, O
this.id = id;7 l g/ L! ]+ J; L0 }/ E1 t
}
9 X8 h( d& l+ f6 ?! |6 Z$ G% |. s4 n" E
public void agentStep() {
# O8 T0 y5 S& a" |( X) v8 t: G System.out.println(id + ":" + Globals.env.getCurrentTime());
( s( k$ u+ d( q4 ?3 @! d% ~! V' D+ A }
2 S; ^5 L5 ?% ?5 D5 {- B+ A2 M) f m}
. U( I1 v4 o8 g; a8 U9 E$ \
, I1 Z- M# C2 g, qpublic class ActionGroupDemo extends SwarmImpl {9 T) ^9 B+ u P4 v! {; y
ScheduleImpl schedule;$ u" @( @$ v; o* ~
ActionGroupImpl actionGroup;
8 b/ r0 {& ~% i- @ @+ ~8 D2 b/ w ListImpl list;
3 x* k) N2 e8 f: f3 J char Id = 'a';& n) l0 \7 f* { O
# t% g* y! g; U/ K, z
ActionGroupDemo(Zone aZone) {
" d5 K4 |# p+ [2 X2 N1 _ super(aZone);
- n8 u) W, k: l5 q' N, R( W z list = new ListImpl(aZone);- H0 z2 G, [" p8 u D5 f
swarmSetp();6 n( \' C" I; ]: N) {8 y8 V g
actionGroup = new ActionGroupImpl(aZone);
3 @4 p/ ~7 N1 V7 X* L4 L8 W schedule = new ScheduleImpl(aZone);
; @! S' W+ ^# X' g, f5 ` try {8 G! ~" |+ F# }% a' o" c: c' Y Y
Selector agentSel = new Selector(Agent.class, "agentStep", false);" h- Q, }8 G6 h, R4 `9 t& n( @# ]
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
. o' w" e/ t* e! C & d& J% Q& |5 b$ o6 q$ k) x _& `
actionGroup.createActionForEach$message(list, agentSel);. C1 W' w' p/ r* J
actionGroup.createActionTo$message(this, swarmSel);1 Z" ]4 b1 `% ~' n5 A3 q
schedule.at$createAction(0, actionGroup);
. e2 T. `! w+ F. _1 u7 U# T schedule.at$createAction(1, actionGroup);
# M2 s7 p$ ]6 l) N0 Q; w ~3 t# W schedule.at$createAction(2, actionGroup);7 V1 Q# s/ ]- h4 M% g
6 m9 B' x7 D+ C! D% }/ n9 l, Q9 u } catch (Exception e) {6 S8 ?/ R# D$ |( b
e.printStackTrace(System.err);# k( @0 n8 D( y6 X% m P
//System.out.println(e);" d9 v0 D7 M0 e0 X+ Q9 y% w
System.exit(1);
. {( g7 b8 i- V) w }
5 t' ]' e( S6 r9 R- d) e! O# a& ~- g" W
+ X# B0 g: X) j: W' e3 N3 D }
& j) m; |. y* `) ?5 a0 w. G6 ?8 g$ s- q+ [2 K6 ?2 R& C
private void swarmSetp() {
& p% P- N) B" e! d8 S+ u4 \) e$ Y list.addLast(new Agent(Id));
, C$ c# k; \7 n: ] Id++;
0 ]0 M- F; U# Q8 f% X }: H' E& L% X3 a+ v7 U1 r' J
# w8 w, t9 E' p public Activity activateIn(Swarm context) {* `' n7 o. ~& b( ~. O- y0 l
super.activateIn(context);0 {3 F* X$ ^3 {, z& \2 t
schedule.activateIn(this);
& R8 f9 |4 } j1 _- n return getActivity();! \7 y" D% Q( l1 J; [
}
) e! m9 @2 g( n- c) j' ^% d$ R9 e. f* C( a; b/ B, g/ I! m
public static void main(String[] args) {
( R& e# z5 C# ? Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
3 s. u4 {: Z' q6 I8 i) q Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
" q6 w4 w+ {4 T% @ swarms.buildObjects();9 q1 r8 V7 z, S
swarms.buildActions();4 }3 Z0 F4 t% {3 f0 @- Y e
swarms.activateIn(null).run();4 O% [. S3 l; C
}
5 {6 E, G$ C5 L2 I
- D5 Z3 }/ X4 I# N: v} |
|