|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
$ t5 {% I- [; {1 T
, p* S* o; a! P n: G本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21% u7 a0 q1 W" S8 {9 K
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激. d& M6 Q6 X$ Q" d V
swarm.SignatureNotFoundException! [' A3 M9 Z. h' c5 F; Z
at swarm.Selector.<init>(Selector.java:76)8 h$ v6 K1 x, G( i+ I( a# H
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)2 x1 Q1 W9 F9 Y- y. E; r6 ]
at ActionGroupDemo.main(ActionGroupDemo.java:67)
0 J# ~7 ]8 M0 @/ F6 z- `# K' V8 L5 q1 h7 K$ j$ U* x2 i5 k
& z* P9 i2 G; L( z" A( F! [
import swarm.objectbase.SwarmImpl;
. \+ W: W8 X6 l2 M$ s1 Iimport swarm.objectbase.Swarm;
6 @2 L( J% F/ V- h% zimport swarm.activity.ScheduleImpl;9 d+ I) `8 P4 G2 Y I8 Z/ K! j
import swarm.activity.Activity;
6 X( o" {. b. I: o- Himport swarm.activity.ActionGroupImpl;
n; L! ~6 V3 L1 D9 L, ^6 \import swarm.collections.ListImpl;3 w3 V6 F# S' H
import swarm.defobj.Zone; w3 G: u% l& L2 C
import swarm.Globals;) Z% d( R& S# Q
import swarm.Selector;
3 c L9 K' @# P8 ~1 \import swarm.activity.ActionGroup;
9 @; ]) P: x, r" ]( j' Hclass Agent {
9 M7 I% z2 x! ~: |/ R/ u0 X char id;4 k( q8 O/ T$ I$ B5 {( B
5 _/ s. F0 P' u, z4 l$ H5 { Agent(char id) {
; {6 T, E$ G0 w+ W$ o this.id = id;* o; l/ j) m' S9 L0 Y( a
}
6 F- O1 R7 }2 E
) @ ?1 |) [4 J( Q5 N6 E public void agentStep() {" _ G6 z/ }6 ~" _1 C
System.out.println(id + ":" + Globals.env.getCurrentTime());- [9 W4 y3 L1 p+ Q
}
2 F! N7 V: x& K; v$ q5 l% K2 H}5 ^. B/ D" V$ t6 E2 p' @) K
. I+ O3 n" M1 V+ o" W s
public class ActionGroupDemo extends SwarmImpl {7 ]+ ]) D# b. L l
ScheduleImpl schedule;
3 I& q6 Y4 I% B7 V8 C ActionGroupImpl actionGroup;
3 s$ t* [5 I0 a7 p/ C+ ~7 J$ s ListImpl list;
) p% Q1 C% u- O! D, o) N0 z1 B char Id = 'a';
# J, Z' ^& w [( ~. O) r' K& n3 v K% R7 ~$ G/ T6 m
ActionGroupDemo(Zone aZone) {- q; T( Q% f2 E, f3 F
super(aZone);$ ]. n* _- [6 u5 i+ a, f2 P
list = new ListImpl(aZone);. p- p! u& `3 X x2 w1 }5 y
swarmSetp();
9 P4 G V0 ?4 Q+ y3 k1 c \5 D' f actionGroup = new ActionGroupImpl(aZone);
$ X1 D8 ~9 c d" Z- e& k3 \8 \$ I schedule = new ScheduleImpl(aZone);
( m& H% ^0 S$ s6 f# d try {
) n- F- q u5 `+ ^. t! z Selector agentSel = new Selector(Agent.class, "agentStep", false);
$ R! }/ D. t, P" X9 { Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
% X7 _& o: [. N5 h ' W( g8 R( c5 G4 n, t$ E3 U
actionGroup.createActionForEach$message(list, agentSel);* ^+ ` \! J$ I- K5 c+ ?0 Z
actionGroup.createActionTo$message(this, swarmSel);
+ @# ~0 i7 c) B schedule.at$createAction(0, actionGroup);
, @9 e& r: R$ I+ K2 B schedule.at$createAction(1, actionGroup);
" [2 v: [" H0 x7 ]* u/ x) U) d schedule.at$createAction(2, actionGroup);
, u& h. R1 T' Y2 v0 `% V% I" o( @4 X3 y( j+ |" y2 p8 @( Q# r
} catch (Exception e) {
/ m* o, W/ B! f- n3 H' D* T( i e.printStackTrace(System.err); T1 J- F. |( B3 Z) j& b- k
//System.out.println(e);
! {4 {( N- Z! z% D System.exit(1);
/ X+ M# K: @9 D; c$ j }7 @6 O0 A6 w4 o4 u( _1 y4 J) a$ j
3 k3 Y0 n) H; Z# {( A$ l7 {
# [ k8 b2 o, m }
& U7 H$ B4 W) I9 L
! |$ a6 p8 ^$ `8 |- X$ h7 K private void swarmSetp() {: Y5 l1 q6 f6 }! H% h& x
list.addLast(new Agent(Id));
: M4 z: D; P+ U6 E! L# E" f Id++;. e: `* z2 ^- c( h5 k# ]1 a
}
* w6 N" G1 {( O" P6 S3 Z t* O( O+ J/ W& L! k
public Activity activateIn(Swarm context) {
* {8 O& s$ `( O- l4 u r super.activateIn(context);% i' U5 D- ?' Y' _' V% Y
schedule.activateIn(this);
]+ u% G$ u6 R& ?: n( s8 f return getActivity();5 N% `( k# i9 ^: B" _
}
( Q. W5 f, B$ P4 j# W' Q: y/ V
( _* ?' d+ q9 D- d8 z: Z% Y/ T# Q public static void main(String[] args) {
5 D7 I6 e# n* T( ^ Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
% o$ |& h; N" Z+ l" R3 {3 V Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
4 `5 n# ]% Z; M& c* F( V4 B swarms.buildObjects();
6 R. z! [6 I$ C3 m8 Z! C swarms.buildActions();$ M. e- W/ `! T( U9 J
swarms.activateIn(null).run();
! ^9 s/ Z5 h3 ?$ w }5 _ L5 S% Z0 M! z9 ^* P+ k
" X0 j3 r& d( u- E
} |
|