|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
; i& i' }* w, ` p* l8 b' l) {3 F: u, \& W
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update215 h! p# p0 M5 n1 ^( F
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
5 M9 _3 o2 v: L6 @5 fswarm.SignatureNotFoundException
0 h5 {3 p4 v ~ at swarm.Selector.<init>(Selector.java:76)
+ c& q$ A$ }& r at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
$ V- j* z7 U2 ?# l1 \+ } at ActionGroupDemo.main(ActionGroupDemo.java:67)8 M' J6 S1 u- o$ Z5 _& M9 O
0 R7 _" N: q( u9 q8 T) {; C+ u5 J8 j0 }
import swarm.objectbase.SwarmImpl;$ J5 Z$ m9 v3 X A
import swarm.objectbase.Swarm;2 y+ U& n W4 Y8 r
import swarm.activity.ScheduleImpl;
, l3 A* M/ f/ l. r( b ^! _) ?import swarm.activity.Activity;
" y1 G" ]; O9 ~ mimport swarm.activity.ActionGroupImpl;6 X* }0 {5 \) n% w
import swarm.collections.ListImpl;. U' s9 u# r6 I, P2 _7 b S
import swarm.defobj.Zone;
3 V% \8 F0 x- ~# y8 Jimport swarm.Globals;
2 c% M1 t M0 G+ l5 timport swarm.Selector;
3 g2 b! _ Q- _! _9 {3 w+ J- Cimport swarm.activity.ActionGroup; 3 q# E- g; F9 Y
class Agent {
Q5 m( A/ W! V" Z' z/ j char id;
: Q/ T0 D: i4 ~& c: u+ C/ Z: I) _ [2 P( e
Agent(char id) {# P' x' y2 O; a
this.id = id;
" k% C$ T% c# Y5 E% B7 s }( V: X2 l* _3 O& }+ I- S' D
- N5 I8 ]) k3 P1 _+ q1 L4 P# ^7 {
public void agentStep() {8 _' V' G" s- p% `% R
System.out.println(id + ":" + Globals.env.getCurrentTime());7 K3 @6 W1 \1 _1 _0 q: V; ~) b* h
}
5 x) T( Z2 m3 b5 S}, G. [0 g1 R) a- X4 g i* e
1 J5 n; v9 J) X. v o1 Y. e
public class ActionGroupDemo extends SwarmImpl {
. z0 G3 H" {9 m! L' `/ h ScheduleImpl schedule;+ ? Q- Q+ y* C
ActionGroupImpl actionGroup;4 h" K. @: W/ K. A# @
ListImpl list;8 E' U6 o4 z( T. g" e9 ?
char Id = 'a';
* |! N; x) R, t! l3 F4 x+ E
6 q! g2 ^! L; Q4 N0 V ActionGroupDemo(Zone aZone) {
+ S" {2 Q- O( x( h9 A. n super(aZone);
& g7 f# ^- c1 ^" C list = new ListImpl(aZone);$ g' Y" r- t! t8 r
swarmSetp();. d/ ^+ ^( _6 p d' w' B
actionGroup = new ActionGroupImpl(aZone);9 Y& G0 F% _5 l5 W- O
schedule = new ScheduleImpl(aZone);
( R9 \7 @! n. b, ?5 j3 p; u& ~ try {, N; J* S" M0 |$ G; g
Selector agentSel = new Selector(Agent.class, "agentStep", false);
+ x8 E) D, @+ B" N7 f$ V Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行" V8 H: ^; B5 s! l" y
) V) W% K' r8 E! B actionGroup.createActionForEach$message(list, agentSel);: n; F/ v& S3 }
actionGroup.createActionTo$message(this, swarmSel);
/ k' { M. n% X1 g& i/ w schedule.at$createAction(0, actionGroup);9 i2 Q( V+ e% B5 D% m3 l
schedule.at$createAction(1, actionGroup);
$ ^# t# a$ w& L# v6 x1 W schedule.at$createAction(2, actionGroup);; k7 |" w! o9 t7 b
5 p$ w1 S y4 S, Y1 D" L3 Y2 X; |1 e
} catch (Exception e) {
7 b; v: i! a% ^" g$ E4 K e.printStackTrace(System.err);
! x* W3 _* w0 U f- X- t% o! i+ o8 D //System.out.println(e);
$ A% W: Y1 |8 U8 O8 K/ a System.exit(1);
9 c7 ?3 k9 k9 y" s- |% l }
- V5 y# Q8 l" Z B# p5 p/ O3 k2 m" G# c
# x% s4 F+ t, a# m
}& V" w" `* B0 \# o
) {$ Q" e' h% t1 j) d& `
private void swarmSetp() {4 A+ r" c/ x1 E1 ~& U+ @7 V
list.addLast(new Agent(Id));
" Y, E# |2 Q$ M4 V" G' p: T Id++;
4 i4 I* Q/ W) z7 y% u4 p }
' }% j4 N! q: |5 `( C6 X: `) }) L1 h1 p5 S' Y' k
public Activity activateIn(Swarm context) {
% _6 Y5 U8 u- \/ [ super.activateIn(context);- J l% T, L& L' y3 m- _1 `
schedule.activateIn(this);
) t& l8 ^0 ^4 K. ~4 V5 h0 [/ Z return getActivity();. d% f/ T& W% J( t& q* I" t. b
}7 V+ x4 c- ^- g( i7 F2 h8 ]: [! I {. s
3 L1 K5 ` h- O( P/ q% S) h public static void main(String[] args) {
9 B: y* e1 d: D3 c Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);. E0 z" d4 V5 b9 ?) ^2 Q/ W8 a2 Y6 b
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
. V$ s: Q' f' @' {1 G# s( f swarms.buildObjects();. v9 g3 D) K: m8 P& A, ^$ A
swarms.buildActions();' c& Q/ A/ O" [+ i9 f) R
swarms.activateIn(null).run();
$ C' K# W) j7 g |' ? N% S" T- j/ N }5 j# n/ m `6 Q; E3 X: _
" r% B& t8 N( o! ~. z/ j} |
|