|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 : J0 ~& }1 B; L! C& A+ @: j
7 c8 F8 [% r; H% @本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21& F9 W% g s. w9 }) K
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.4 [/ {# e5 {: u! P4 P( V) `
swarm.SignatureNotFoundException
8 e, d2 n( {! Q1 u+ q at swarm.Selector.<init>(Selector.java:76)
7 \: A& I. J$ a. g at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
! v' b3 A/ R7 _9 v0 E) N at ActionGroupDemo.main(ActionGroupDemo.java:67)4 P9 w% I1 G4 d7 v$ G0 J
7 @ `$ ?3 X2 P* H
1 ~7 P _6 Q) V2 Pimport swarm.objectbase.SwarmImpl;# B7 U# b9 }) \6 ~7 C
import swarm.objectbase.Swarm;: j J( K- J1 H1 L$ x8 V
import swarm.activity.ScheduleImpl;2 W1 F: Y( a. m8 ?. E; N& c
import swarm.activity.Activity;% i9 h- i+ s$ v; Q
import swarm.activity.ActionGroupImpl;
4 N0 P9 o# W3 k/ Simport swarm.collections.ListImpl;% s( Y+ o# _$ J) W/ W& L1 d
import swarm.defobj.Zone;
5 C) K( L/ ]% D. x/ T& Aimport swarm.Globals;% _6 ^/ F, e% p6 p' N9 Q& G* H
import swarm.Selector;: o( F# }- n. F3 J
import swarm.activity.ActionGroup; / ^' G- z b5 d: n9 p% z G
class Agent {# S5 Y8 {. R0 e( F) b* k7 W# ^! w
char id;; G# f3 @+ F# J4 b
' i- [) A. H% x% y# L* S
Agent(char id) {
0 ?$ p7 A! l. g1 q this.id = id;' d; i3 R. Y3 _& @1 w$ \& g n
}
" \5 W& G0 ~- t n3 A f6 A& v$ s3 u
( e) j0 Z4 D5 B: @/ r* h public void agentStep() {5 m2 {* P4 S3 j1 ?/ |
System.out.println(id + ":" + Globals.env.getCurrentTime());8 K$ ?& [) c' h: K% Z- }2 S6 ^
}$ ~, b" f2 e' R
}8 e. i7 n4 K( F0 T1 U: ?
; S0 C5 u" d% \, w% o% H [' c
public class ActionGroupDemo extends SwarmImpl {
; t" S4 Y1 H1 s" F' R5 U ScheduleImpl schedule;
% W9 I, o* j* @+ z: I- `" y: A ActionGroupImpl actionGroup;
" x0 B2 J1 J4 E3 F/ y: c: G# H! y' a* ] ListImpl list;7 F6 ?: L. r# v
char Id = 'a';. W7 K# X' S4 ?/ I' t! [/ Y- u
1 V! F) C; P( K2 Q( |
ActionGroupDemo(Zone aZone) {
s9 j8 q2 C6 t4 G* V, z3 s super(aZone);" h' o; n( H1 \; b' d- Y
list = new ListImpl(aZone);
7 \/ m' f3 B8 K% X, I, `+ Y swarmSetp();
" t+ [/ W. l" B ?) k1 e actionGroup = new ActionGroupImpl(aZone);
5 y* F4 ` I# e m4 A6 z7 ` schedule = new ScheduleImpl(aZone);9 j5 [' F, E4 V% Q( }$ ^' o3 p4 H
try {
1 f) R- j. L. y2 E( z4 T4 f7 h" e Selector agentSel = new Selector(Agent.class, "agentStep", false);5 }% T7 R3 A% o6 @) |
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
0 e! F8 o2 A9 Z9 o$ C
- u: u3 d v" h6 g7 U' ~9 q actionGroup.createActionForEach$message(list, agentSel);
: T4 \: F8 R1 z0 b' E actionGroup.createActionTo$message(this, swarmSel);
% c) N" |6 W/ T- D# b k( ] schedule.at$createAction(0, actionGroup);6 b. d7 o! |0 h
schedule.at$createAction(1, actionGroup);( C9 f/ ^- z! ?$ B, _% }
schedule.at$createAction(2, actionGroup);8 k+ v& M8 Q$ Y- m
n0 h5 b: J* q. u } catch (Exception e) {3 z9 q$ w" {; Z( N
e.printStackTrace(System.err);0 I, U+ ?. c u6 X! B& M9 i* z
//System.out.println(e);+ U3 F4 ]" A& q6 I6 o. X& u& \
System.exit(1); m* o8 B! n3 k# ]
}
* }/ u& ]2 K' z- ]5 L! Z% x8 B a! V9 p @$ ^
8 X9 u5 J5 q0 c: E' H* f
}
( \7 J1 M4 \, w5 W3 m, d( h3 o! N+ i
private void swarmSetp() {
; v/ z4 O1 u# i0 U. ? I! J8 ~- ? list.addLast(new Agent(Id));
( t" w+ t& l) y) g- c8 [' f Id++;0 M: G1 H# A8 V
}
) g! c. L9 [- o% ?+ M8 K4 |# C4 Y5 L1 r2 B( P
public Activity activateIn(Swarm context) {7 p, A6 W- ?; f8 q0 @( D* x
super.activateIn(context);5 j" Q5 O6 j* e, |
schedule.activateIn(this);
* P8 k4 n/ g! ^& f return getActivity();1 T, j/ I$ |: w5 A! A5 o5 [
}
- k1 H: X$ t1 h& `1 B5 a) X& }6 I$ C! ~- M6 ~- A, d
public static void main(String[] args) {
. S9 a6 J9 d( z( u v2 m Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);& N+ h3 x' Z; G/ @9 \( M
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);2 ?& G6 i( }$ Q5 Y
swarms.buildObjects();
: k; P! e3 }" W- E% t" N. c6 m8 z5 q swarms.buildActions();; V% ]0 @: d4 A7 h9 k3 D* Y4 ?
swarms.activateIn(null).run();$ H d9 p+ ]) J# l( }$ D6 L
}8 {. j; u# D* p
; X, s) {; e9 P1 Y* o, V0 k
} |
|