|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 # O7 ~$ W# J/ ^9 A& W
/ \% O; W: d: a4 M
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21) J/ }" r+ Z7 [
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.4 o# x' D2 U$ Q1 B
swarm.SignatureNotFoundException
+ H# a2 C: S- M& [ at swarm.Selector.<init>(Selector.java:76)
" \' p5 o, H3 ^5 \8 l at ActionGroupDemo.<init>(ActionGroupDemo.java:37)- L {+ |. ?- O6 a! ^( ~7 v
at ActionGroupDemo.main(ActionGroupDemo.java:67)( o1 W8 d! c; P. D2 ?: k, D+ s1 c
% C [& a. _$ u6 G- ^# ?
+ @, |0 o# T( m& z
import swarm.objectbase.SwarmImpl;1 |; f$ q3 p7 a& ^
import swarm.objectbase.Swarm;
2 x" v* n( K& P2 vimport swarm.activity.ScheduleImpl;3 b) k+ D* I1 h* n& a' y9 ?. i
import swarm.activity.Activity;
& J1 d, `" g1 l4 Z/ P4 a* Qimport swarm.activity.ActionGroupImpl;
7 Z5 E; H4 Q8 J- c& uimport swarm.collections.ListImpl;3 J3 s& }: z6 i+ R8 Z- C% P
import swarm.defobj.Zone; ) G2 M G9 H* D. I- D* j& i
import swarm.Globals;7 m* c1 X0 G8 R
import swarm.Selector;
9 j- M, l2 Z4 x* W$ vimport swarm.activity.ActionGroup; , w; a/ J2 g. n% P! Q- F( @" j
class Agent {
5 e* Y0 A( p/ y% @ char id;, @2 v8 |% _3 J7 z( l: p
* x3 R" J0 e$ @! k8 g0 N' `9 g
Agent(char id) {
* e2 w% w* d8 b this.id = id;2 [, b K3 {$ |+ H& A
}
4 x7 ~ g7 s8 z5 ?" d" Q4 t% O3 V+ D$ ]1 e* `
public void agentStep() {
1 M1 E: y' _/ W% ^! y; S' U System.out.println(id + ":" + Globals.env.getCurrentTime());
; n( G& A( t, |. [ }; y v& A: r2 D. p H2 }3 T2 `
}/ b# \$ K; B5 p4 ~' e& l
1 t0 W: |$ ~9 N y/ ~) J V
public class ActionGroupDemo extends SwarmImpl {& L9 V- @, ~7 k: \% P6 m
ScheduleImpl schedule;: C6 y0 |) ` a. }
ActionGroupImpl actionGroup;$ B% p( b. m$ Z0 s' K, i& \- |
ListImpl list;) `6 x; y4 e; S5 D% a8 T% o- I% n
char Id = 'a';
K& Z/ a" ~% f- Q
) W% I4 P0 ]. ` ActionGroupDemo(Zone aZone) {" [& d& J/ J8 ]- ^
super(aZone);
" A7 a2 `* \! A1 G: k list = new ListImpl(aZone);
1 T- l# C; G6 c1 w/ h% G swarmSetp();# p, l) F/ R& d: y
actionGroup = new ActionGroupImpl(aZone);! o9 N4 D9 ~, p, n
schedule = new ScheduleImpl(aZone);
; C/ n! ~* }. r try {
- {, `8 B. K; H+ W# e Selector agentSel = new Selector(Agent.class, "agentStep", false);- b d: \$ {6 m# U! M) }( ~9 j
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行# G% S6 K4 q# _2 K
' p% d1 I' i% x5 b4 m5 O, `0 D0 V
actionGroup.createActionForEach$message(list, agentSel);
' K. z- g6 f7 y7 y3 _: S( A actionGroup.createActionTo$message(this, swarmSel);3 x7 o, F8 }/ }2 f6 B! b
schedule.at$createAction(0, actionGroup);' G: `8 `2 }( }. U& Z! h
schedule.at$createAction(1, actionGroup);0 n' d/ g' `2 I& k; T/ O! a/ u
schedule.at$createAction(2, actionGroup);
4 r$ k# b3 c6 Z0 j0 H; j5 x
]7 \+ t* ^% i5 H3 [: @( y2 d' d } catch (Exception e) {
5 D, u2 a) n# N( `6 P3 D, V0 u4 o2 T e.printStackTrace(System.err);8 N @7 E3 E! F+ ~# K9 k8 ^5 U. n
//System.out.println(e);
2 g; u* D+ f2 G8 D8 [$ K- b System.exit(1);
+ `. ]9 E* D7 ]4 E( T r0 Z6 C% F$ E" D }
0 u5 w, Q8 m) _# E$ O$ O# ~. g
/ Y' O" w& p$ g: ]) X! A
2 M! A _6 Y5 v' z g+ C& X6 x0 x9 u0 [ }2 M2 N: N- r* Z
8 W: z% w" m/ D. j private void swarmSetp() {
, }) P. V' ^" ^( B! M; }. { list.addLast(new Agent(Id));
( h! x$ R- U" X6 T- [ Id++;. E$ z- a% w# w: P @) m
}
0 a* A0 e. K0 y! W- D1 |8 [! S# V2 B& B1 w/ i% v
public Activity activateIn(Swarm context) {
. F, Y4 y' ]" Y* w super.activateIn(context);$ q) U/ {) G0 w$ |+ D9 ]6 ]
schedule.activateIn(this);
4 r' o; _: f/ T return getActivity();
. L5 |9 u" D& P L9 ~5 f }
9 M0 H2 m2 v C7 u1 F$ V( @( _) l1 h8 B# E) \, [7 Q& v
public static void main(String[] args) {
7 r" }2 e1 N9 y3 Q Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
$ w! X$ ]8 M6 a" ` Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
/ L( Y; X( f/ O# ~# B5 Z swarms.buildObjects();, `' r, _* N, r5 p( n t6 S1 }
swarms.buildActions();
% o% |/ T: B$ c3 L$ t swarms.activateIn(null).run();
9 S9 Z6 z! v# e/ i }/ U1 q S8 U/ {. r
' R9 _# I4 L1 s} |
|