|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
0 W8 X, U$ V# j6 k* Y3 F/ A
/ F' O) H' Y. O8 {本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
# y" B0 A. W2 w* [4 K以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.* l2 e ? {8 R8 j3 f
swarm.SignatureNotFoundException( J) _, V% ?4 U+ s, e
at swarm.Selector.<init>(Selector.java:76) p/ s7 f1 q- W% X! b& k
at ActionGroupDemo.<init>(ActionGroupDemo.java:37); k9 D9 k- ]9 I$ t1 ~. F X! T
at ActionGroupDemo.main(ActionGroupDemo.java:67)# d; @2 p, `: Y0 `: H- V
' \& J' c* d9 b. U0 o F! r0 S: O
! ^. E' {8 Z9 n2 ~# {$ K
import swarm.objectbase.SwarmImpl;; T- M1 b5 D( U: N& M) Z/ O
import swarm.objectbase.Swarm;# ?+ x) ?! A4 u( f3 L3 s
import swarm.activity.ScheduleImpl;
- y$ t. k p7 y" m% timport swarm.activity.Activity;' f& x; M9 f. W& _) O
import swarm.activity.ActionGroupImpl;% [! Z$ Z4 T( F7 y6 l% v9 i4 Y/ s
import swarm.collections.ListImpl;3 n K+ @' s6 L% V$ c+ C
import swarm.defobj.Zone;
: Q# I6 B! I* d- uimport swarm.Globals;& K+ h# F8 c5 c! v/ n
import swarm.Selector;( h+ I8 E" _; [' S" {- O4 Q
import swarm.activity.ActionGroup; % r3 d$ l6 u, p1 F3 c" e4 x& a& O+ |
class Agent {- U' q% P( V( S c5 y
char id;! V) b; Y1 S- k, `) l; m
0 _4 j3 K: K! p' h) C) H; W
Agent(char id) {
; A! o, A! Z) @' @; E1 t4 [! t9 T this.id = id;; U5 y- c+ E; I5 U( P( |
}
% T, b2 [; l1 N; i; F* _* u; @
% j/ W( l7 `& }" j) Z: _1 Q public void agentStep() {. ^6 q# H- |3 O
System.out.println(id + ":" + Globals.env.getCurrentTime());
) I5 B0 `' f, d! i% d9 c }
4 b( \0 v6 _* E}) h; P: a5 i3 k
: [2 r3 b3 Q+ U$ n: X9 [/ }public class ActionGroupDemo extends SwarmImpl {
9 _$ @5 [$ D; c; A% { u( Z ScheduleImpl schedule;
( Q% b2 D; ~4 ~, ~3 O# K* N ActionGroupImpl actionGroup;! h- e& ~0 K9 f2 G1 ?
ListImpl list;
& c: [$ D$ j( A q) G+ r1 u char Id = 'a';
) Y9 c9 H6 w0 u# x
9 \, f& K; {! w* g* s- o ActionGroupDemo(Zone aZone) {0 \) w- C5 U- O' q( _3 p
super(aZone);: c5 J# v+ v6 B& ?$ v
list = new ListImpl(aZone);
' X. p9 g, Q4 I( T3 y swarmSetp();
% h3 F' W7 K! ^% Y; w* o actionGroup = new ActionGroupImpl(aZone);& O: _: B& p3 ^$ q. t' L
schedule = new ScheduleImpl(aZone);8 w" z$ f$ M* r: W6 Y
try {4 h# F4 w4 g& `1 @
Selector agentSel = new Selector(Agent.class, "agentStep", false);7 H- a X, _% I3 W. u2 _
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
3 c7 Q. ~) D& Z+ z" R; c5 R
6 d: l! d, E% W actionGroup.createActionForEach$message(list, agentSel);6 \8 W+ t* A N# |0 @
actionGroup.createActionTo$message(this, swarmSel);
) R: ?7 c4 p# U+ M schedule.at$createAction(0, actionGroup);6 p C1 h; u1 C; v6 `' f
schedule.at$createAction(1, actionGroup);& ]% i3 I" d( s0 {) v
schedule.at$createAction(2, actionGroup);
, ]% U$ \ u: U5 ^0 t+ F, V
0 }$ N. e: R' @, ? } catch (Exception e) {
, ~ k0 L6 F" ?6 ` e.printStackTrace(System.err); N9 v4 G9 V" U
//System.out.println(e);
; ?* u) c1 _# H6 P- d" f System.exit(1); r2 x5 C6 |( ]) P
}, `% G3 f {# J& F
& y/ ~( e+ r) b [$ |
- |6 h7 U* }7 k( t }
9 z+ ?* ~* B+ p0 Z% k/ _( M0 p2 j2 I" Y, b9 P8 e9 R
private void swarmSetp() {
1 y$ S# o$ ?# Q# T list.addLast(new Agent(Id));+ i& {+ ]2 U* ?( J2 e. d
Id++;
5 B$ c& i. ?+ T# @( \ }% \ p% C+ p) P5 H4 q
/ q: J4 D9 {( b9 i, Q public Activity activateIn(Swarm context) {
& O1 e% M) C p! t, Y9 I super.activateIn(context);9 [2 e% X* b9 X( J, }! F
schedule.activateIn(this);
: J9 o# k* [% I* K/ w# t# n return getActivity();8 L. @1 g r6 w; q W7 a+ G' O
}
8 m% k$ p F$ ^; s# T. ]" W+ E
, ?/ b$ |/ k& }" }* x* U7 H public static void main(String[] args) {
% ?8 F" d! {: k( {) s Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);9 m W5 F2 n+ u# {) a
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
. F+ r6 C8 W: q1 V+ e! n# o9 e& R swarms.buildObjects();8 P% U, I# |. k- b2 m. P& Z
swarms.buildActions();% |7 _3 l9 S" R o0 F0 i8 |# B
swarms.activateIn(null).run();& v1 |8 C* q* l% h) K
}; l+ X2 b; f5 B6 o, q& Z
n0 V: _/ s" H. Z) r5 e} |
|