|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 7 s3 j( X. _5 b
9 V5 @' P$ Q; I6 u; J
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21( U8 ^; k; u2 T9 F) S/ ~# z- m1 D& w
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激., h- X. F( `# e+ f4 N( @
swarm.SignatureNotFoundException
. q4 n! u+ q! m8 t at swarm.Selector.<init>(Selector.java:76)
5 N/ q4 c4 [" m1 a+ |3 t" O at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
% E9 C; @' a1 a3 M! o( x% Z at ActionGroupDemo.main(ActionGroupDemo.java:67)
# |4 J1 t# a. A/ w9 e3 X, a5 ~( t+ D0 g3 n
0 y$ ?( L+ L# ?/ y
import swarm.objectbase.SwarmImpl;
! f3 W! u, c; S" l- X1 a0 U* {. Oimport swarm.objectbase.Swarm;
/ g* x! I/ k4 D' uimport swarm.activity.ScheduleImpl;+ [' T0 i& B1 h: a' a
import swarm.activity.Activity;
5 v4 z5 ^/ t7 u* a/ F% m% S2 c: Dimport swarm.activity.ActionGroupImpl;3 H7 \3 N$ Q' g' q9 [: O
import swarm.collections.ListImpl;
[# z ~# M# l. u+ [$ Z* Gimport swarm.defobj.Zone; 8 [/ s" }. a0 K/ C
import swarm.Globals;
/ X# k$ \( w" \8 d) o2 t, n0 C& y1 Jimport swarm.Selector;
+ a) r8 o' ^# g' m: Fimport swarm.activity.ActionGroup;
+ [) S1 M w v% kclass Agent {
2 `0 B" Y6 Z8 a+ F) W& a$ } char id;3 B( H) Y" }- n9 i f
7 }& w. ~5 l) D' P3 h
Agent(char id) {2 M5 k" y* o2 a% @! ?, W
this.id = id;
% G1 \; y* h4 M* _' t }1 u7 O8 M$ _0 K: h& E* b
% s D+ s5 z" \% m( Q. p
public void agentStep() {4 V" o+ E% D% ^8 C" s
System.out.println(id + ":" + Globals.env.getCurrentTime());
% p/ D, b. y! y* R! B2 p# H }5 Z# E7 _ |& J. E
}/ r* c' F+ h5 s
! }/ y- ^) K) [) D
public class ActionGroupDemo extends SwarmImpl {
* M7 ]5 r7 O' z# s ScheduleImpl schedule;0 a; B6 Z% p% [9 G
ActionGroupImpl actionGroup;, a" ]: z$ K) ]& D
ListImpl list;
4 @5 E s$ T9 Q U char Id = 'a';
& q- L! s# b" y! E F: p2 h _) u& ]6 e# G# J% j8 m
ActionGroupDemo(Zone aZone) {
8 U; ^ x! A8 s5 e( U: N super(aZone);, |. ` A3 ?) f# Q# S7 v9 ]" d) Q( E
list = new ListImpl(aZone);8 k" o( K7 f8 ], l" i
swarmSetp();. Y* o. B; q2 }/ |3 O' V5 w' I
actionGroup = new ActionGroupImpl(aZone);
9 q3 ]) P0 w4 s2 J' I schedule = new ScheduleImpl(aZone);
1 f" R2 Q( d2 `9 y* k) l) ~ try {* b/ n+ X+ r, _9 j
Selector agentSel = new Selector(Agent.class, "agentStep", false);1 _' V7 b- \2 x) ]' T H0 E% \* r5 M
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
0 Q) m3 [& z9 N' J O$ R: o( d q
4 D! ?2 v2 U$ |; |6 C% J0 c$ |) a actionGroup.createActionForEach$message(list, agentSel);5 e( S8 Y, W! Z) S
actionGroup.createActionTo$message(this, swarmSel);
+ ]* N2 _7 K) L: D schedule.at$createAction(0, actionGroup);) [) ^. F9 n. j, C' g3 M- ^ ]
schedule.at$createAction(1, actionGroup);
7 }0 Y5 O' E+ d2 {% m schedule.at$createAction(2, actionGroup);- ]5 t$ @, A) K3 }2 C, g$ x: x
' p p/ I# n4 D4 C v
} catch (Exception e) {
5 `+ x! p3 M& { {& x e.printStackTrace(System.err);4 \( t/ o& ~# x2 V( f
//System.out.println(e);
% H. s% r4 w v: D, ^2 p3 X& {0 G1 f System.exit(1); F0 K) e9 Z) \) j9 S
}9 j: p) t0 i, |, M; ^
3 R; S4 O; p4 a9 G8 Q- H" S9 O' d0 ^# d( z, z+ G
}
6 Q; M7 T6 v; P+ X
: g2 N# Y, h/ B m' V' h% s private void swarmSetp() {
, r6 N& f) K' u m( w list.addLast(new Agent(Id));
{5 M' D' G# \ Id++;0 j' O1 e9 B& s" x7 ~# j
}
* p) ?0 V/ K- c2 \& S1 ~% [$ F, E+ n& {: F( \4 U) s7 b
public Activity activateIn(Swarm context) {. L0 c0 Q4 _8 Z/ k# {, I
super.activateIn(context);( o, B8 m% R, l( m
schedule.activateIn(this);# N5 I: w5 _& J+ O& ~
return getActivity();
( \0 C3 P! ~9 g& s5 y3 A7 f }4 [: i; B: c0 A, D3 U/ }) d0 t* x6 ^
9 G2 L% b. y4 R5 A$ u7 C public static void main(String[] args) {
3 u/ `6 N1 m5 o8 H. F$ `# r Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
, J' h* ]. E$ F" M$ O8 H8 c$ E. t9 }# t Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);" P3 _) m; Y0 O2 a& n1 r5 b
swarms.buildObjects();% D% u, _' l9 v& C) Q ?3 \2 r
swarms.buildActions();' E; e! [- Y/ x! M$ {# i& K& ~
swarms.activateIn(null).run();
7 {( ~1 o6 `) e }
% I) Y" v1 `! d
2 R8 s W( H8 N# }. x: H} |
|