|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
+ F6 ^. J$ [0 a/ t: @7 X2 w# k6 b& o+ h% b( P# x4 h
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
" R9 m! F% i) x, ], R4 Z9 j以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.& w+ W* h" U4 M# @
swarm.SignatureNotFoundException
' [6 M5 k6 M z! i1 t/ u: ?7 t at swarm.Selector.<init>(Selector.java:76)
( k8 v( [; W0 ^5 u7 v at ActionGroupDemo.<init>(ActionGroupDemo.java:37)% d, |) Q5 \0 p/ h+ v, s" M
at ActionGroupDemo.main(ActionGroupDemo.java:67)+ Q+ I# e$ Y, V0 ~
! U2 n/ u4 T: y( ]6 x% i* p% K" B7 w5 d4 Y
import swarm.objectbase.SwarmImpl;; e2 l% ^: F1 T% S* K1 q
import swarm.objectbase.Swarm;$ h4 n* H! t# c) i; m- @ Q
import swarm.activity.ScheduleImpl;
5 \/ J% o1 ?/ F: @8 w! b$ `* eimport swarm.activity.Activity;8 V: a# N5 A* |, u
import swarm.activity.ActionGroupImpl;, A8 m6 X* _' d7 a
import swarm.collections.ListImpl;
# I/ r+ N+ v: V/ ]import swarm.defobj.Zone; ; c6 G' U- D* ?7 m3 S
import swarm.Globals;
2 E* s+ h+ W: y( c: ]9 ]# Cimport swarm.Selector;2 Q7 N. l, P) r" h- k$ t0 M. ]9 ~
import swarm.activity.ActionGroup; ' f" ]! ?4 c9 w3 {4 {
class Agent {5 }. t6 {8 Y4 k, D2 S
char id;" @ l: e. r8 e; _
# U6 @% y7 M; J) w& p. ^ Agent(char id) {
* B( T, A5 m7 k) y2 C this.id = id;
' T& _8 k- B% y) e. |& z }
8 X8 Z( {- z/ _" j' j* a5 g) |7 T
& R8 }1 O2 C6 \3 C8 ?7 N/ Q public void agentStep() {2 r$ l* r1 N0 Q) L: U
System.out.println(id + ":" + Globals.env.getCurrentTime());
7 O$ O! q+ [) J2 ]# ~ }
% ?& |7 K- C! Q8 q}- _- U3 Q0 u( J) }) z
% b. x. s& ?3 ^2 g7 m0 G _public class ActionGroupDemo extends SwarmImpl {
" ]& h) K: |) _. D. i: s ScheduleImpl schedule;
5 O. \; }4 ]% O1 ^9 } ActionGroupImpl actionGroup;( r! P, y$ b m+ N
ListImpl list;: ~ E1 t4 C, o
char Id = 'a';
% F# o9 u: I" E2 ]* T0 Q( A" \ N' J, Z' C9 A4 }
ActionGroupDemo(Zone aZone) {7 D7 \: x/ }6 Z) b/ M g- i
super(aZone);
, w$ s; ~! n$ p* G8 \; E list = new ListImpl(aZone);
S3 |9 ?1 M' ~ swarmSetp();
# p9 \2 W7 Z7 ^( I5 q0 f actionGroup = new ActionGroupImpl(aZone);
. `; g' Z% ^) U! U. r schedule = new ScheduleImpl(aZone);
1 i* P6 U1 C5 f0 }4 V- \ try {
+ M9 a/ K- u+ W D Selector agentSel = new Selector(Agent.class, "agentStep", false);; E- w8 g7 O4 J7 t/ W: Y
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行$ `3 a! N% d J3 i, `, S
' Q% o& E% p* m; L; i actionGroup.createActionForEach$message(list, agentSel);4 K# m2 ?5 l; s3 J( I0 K0 K
actionGroup.createActionTo$message(this, swarmSel);, z$ g1 L# J& t) g2 q0 |
schedule.at$createAction(0, actionGroup);
! \& k) U9 O8 Y9 R' M* j schedule.at$createAction(1, actionGroup);
! t" `& j# D3 O( N3 G) C schedule.at$createAction(2, actionGroup);3 O1 p1 ^! b" Y& y! V. O5 T
# X6 H* }. f* P; V. C T$ u
} catch (Exception e) {
6 g# E, a; n. S) k; ~# T e.printStackTrace(System.err);+ Z, I% h& q0 T( K: Q
//System.out.println(e);( Z4 f7 N0 ~ |
System.exit(1);8 O" X: z" u F1 ]: @* }0 m3 D
}+ n( u2 O1 s1 n9 F# m) I
' K. I5 \+ k2 U; X( m
/ ]: L, m5 N" a$ ~8 u+ X }
! r# b% s' [) U; [2 P) Y5 w+ E- ]+ m+ }9 Z. F% _9 i' I! u& d% ?
private void swarmSetp() {
: F, n4 F9 \2 }4 M, I: m list.addLast(new Agent(Id));
9 A1 @2 d; b7 F Id++;# x: w+ S5 j: i6 W, u& u3 A
}
. k; w3 m) D! j+ o, a) l a' K
public Activity activateIn(Swarm context) {
/ X, D8 l+ |$ V* d. o! W super.activateIn(context);6 P+ n6 `4 A* N' }& c% T
schedule.activateIn(this);/ c: X/ n2 U3 A- V
return getActivity();+ S$ j; O8 c( Z8 c# {( K7 h8 ]' N- s
} W; g, p: S; t+ Q1 l( r$ t
" h" m# z' m3 h9 ]8 n
public static void main(String[] args) {
w f( L5 r ~3 k# o; |: P# u k Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);$ y: Q4 }( e# k3 u7 @
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);+ k& a$ N. j; j0 y! m% `3 s
swarms.buildObjects();
H1 {* f" `$ J* o* @ swarms.buildActions();5 j/ f+ a+ H# w6 P4 h! y
swarms.activateIn(null).run();5 b9 W1 O* V0 ~- G4 z! B( ?3 I
}+ F2 {6 P) I( r( P, @( h4 p
0 }5 y& A. A! h: j$ H} |
|