|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
/ g- |$ u/ u: K: }% S* g& v: w# a3 f
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21, M+ F$ m, B7 ^2 Q( r" \' n2 {
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.3 D5 t$ N7 M# A+ b% V7 T$ i
swarm.SignatureNotFoundException
; S, n) t5 g- J" Y) b at swarm.Selector.<init>(Selector.java:76)
( R; ?8 ^( e) ?7 w' [ at ActionGroupDemo.<init>(ActionGroupDemo.java:37): Z5 y7 c8 M; V. ^5 R4 ]2 b
at ActionGroupDemo.main(ActionGroupDemo.java:67)
% W$ B: f5 @& p, p$ y- e5 X
) K- V7 o/ l1 g5 z" M. i; a4 s1 w$ T+ r+ n
import swarm.objectbase.SwarmImpl;: q# L$ b8 A! g$ o) g0 i
import swarm.objectbase.Swarm;5 R5 B8 J! e) M g6 G5 {# \
import swarm.activity.ScheduleImpl; P/ [, n, X, p8 q- h
import swarm.activity.Activity;
( k: j3 _7 T( Eimport swarm.activity.ActionGroupImpl;
9 @5 q3 P1 f; Y4 K# Iimport swarm.collections.ListImpl;
: t( [7 x5 W. n, `- P [! Simport swarm.defobj.Zone;
! M2 s9 G4 _/ M, r. cimport swarm.Globals;
; [, K& z" x( Z1 [. g4 O, `8 x+ g" Himport swarm.Selector;
2 p4 L% [) @) v/ ]7 Y- h/ _1 ?* _import swarm.activity.ActionGroup; 7 [1 Z+ C8 N1 M# z5 w( j
class Agent {
+ a, x1 |4 t6 q5 }3 L char id;+ E5 r: V5 L2 D) L/ a/ K" U$ M6 _- [
5 p9 A5 f P5 \* G Agent(char id) {: l O s! w" W: w4 B2 ?& D' Y7 q
this.id = id;
. A4 d3 `( r9 m+ J }4 Y! X6 r1 D: k* p) L
! ?* o, [; H; C# b0 F
public void agentStep() {& d& Q8 q R( M9 R" A. }9 R
System.out.println(id + ":" + Globals.env.getCurrentTime());
& H/ y% q7 C0 s0 F0 o% ] }* O6 |5 ]5 o: X! [, i
}1 S9 R- j7 L, e- O l: ^! e& C2 U
~: ~* t# {3 [- O; ~
public class ActionGroupDemo extends SwarmImpl {
, w5 G# B* ^) |# ^ ScheduleImpl schedule;6 D4 H' K2 T# }, B, B; K
ActionGroupImpl actionGroup;
9 P8 b. i: m6 B ListImpl list;3 B$ i: @; T, N' {% {
char Id = 'a';4 R ~! s' s2 Z
9 j" z9 H6 s) \% L+ N T ActionGroupDemo(Zone aZone) {9 ^4 ~3 j+ p2 a$ E5 C
super(aZone);
6 g+ ?+ E+ K& @ list = new ListImpl(aZone);
1 L% A) B: W0 J# X d$ C' h swarmSetp();
/ h- W( j( y3 N! W9 w7 W actionGroup = new ActionGroupImpl(aZone);* f5 Z! n2 |/ |7 X! J5 L5 k. c
schedule = new ScheduleImpl(aZone);' I% N9 |5 n) e5 N; u; C
try {
2 F9 [3 T0 P, o) W2 P Selector agentSel = new Selector(Agent.class, "agentStep", false);
' h( H+ b8 L4 {4 Y, | x1 A A8 u Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行. W" h F3 j( M4 @$ b) d: H' S2 Z$ j
1 B) {' _. a: k8 ]5 |5 b" R7 z actionGroup.createActionForEach$message(list, agentSel);, E* ^0 ~) f L7 S; K% B5 ~9 V( E
actionGroup.createActionTo$message(this, swarmSel);. ^* ]# S3 A n: u/ M' p
schedule.at$createAction(0, actionGroup);
8 v {' ?( g/ u% D- M schedule.at$createAction(1, actionGroup);
. Z' X s/ u+ X schedule.at$createAction(2, actionGroup);, W" x5 W& }/ q5 S
4 n( s1 i$ H, R+ |2 P7 Z
} catch (Exception e) {
, c. O$ Y A0 J8 Z3 o/ V" u e.printStackTrace(System.err);
# a' E; h, \. `8 M4 j& {4 ` //System.out.println(e);
* k- G q2 P1 [) J1 ] System.exit(1);
4 `, A6 l& J9 E3 T7 \ }# o, a3 }/ K! Z$ D0 ~# o
& s6 J8 w9 L7 l
# q+ l* j6 L' ^% N2 v5 e7 r" J }6 F7 z8 ` |# Q& c/ g8 h3 t$ s6 U
) o6 F' X, I, a; Y0 x) O private void swarmSetp() {
+ G H D, z5 i0 S. s) m2 M list.addLast(new Agent(Id));- m' j/ a H- P
Id++;1 r. Z7 h6 w, M' Z/ D6 e; ]
}: Q! B3 a+ z6 f! ~; ^! O
2 p, R* i6 K0 P7 v
public Activity activateIn(Swarm context) {/ x( u" }. W4 k2 S5 @
super.activateIn(context); q) j- I* V; P; o
schedule.activateIn(this);( T+ j6 E# o2 [; U& T
return getActivity();4 s. H) m+ S7 l# @/ f1 A* W
}, w8 \% `+ j7 X1 O$ |+ x
5 K3 {* v2 x: I) h" @7 u public static void main(String[] args) {
$ j8 x0 \- Y/ ]9 Y( _7 a' U Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);% r' k) {# W+ ?& T. F
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);, L: O2 l6 X% W2 E
swarms.buildObjects();0 O8 A1 x, `. A- W8 q+ P
swarms.buildActions();' `5 q% | p! L; ~
swarms.activateIn(null).run();
" b$ u) \* y U1 I/ N9 l: y+ { }
7 g8 z5 F& ]8 I/ C9 M: R
" A% J0 a/ Z" L" D5 W" C} |
|