|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
7 I- u. x Y* {2 I2 W7 c. J( Y( [# p& ]$ A1 a: f2 Y2 Y
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21. Q( j, G" u4 S7 B
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.5 [4 {6 m* C7 t; p/ X3 n$ ?
swarm.SignatureNotFoundException A5 {. e4 P2 u& z% D4 g
at swarm.Selector.<init>(Selector.java:76)
- r: t4 u' P: v- k- |& N( K at ActionGroupDemo.<init>(ActionGroupDemo.java:37)# F% C! u# `+ m# V
at ActionGroupDemo.main(ActionGroupDemo.java:67) j, k. |/ Q: L: g2 u, r
$ @2 q7 I& @ c: @9 A
, O! ?/ ^ h( e. H K* z
import swarm.objectbase.SwarmImpl; x s0 Y0 A) S. H7 j
import swarm.objectbase.Swarm;( U: L$ F7 \$ U6 ?+ n. v
import swarm.activity.ScheduleImpl;
8 _8 C; w# n3 L z, N" }$ yimport swarm.activity.Activity;
4 t m$ _. k2 O* X* ?import swarm.activity.ActionGroupImpl;4 s* f5 A. G8 F7 `- u3 f1 N4 L- L
import swarm.collections.ListImpl;; f/ U2 r+ } t# J
import swarm.defobj.Zone;
- n& U; ?* Y% n' U7 U; p- nimport swarm.Globals;
z0 i: d, O/ N' v3 Wimport swarm.Selector;3 m0 m9 n3 F& Y; e
import swarm.activity.ActionGroup; 1 V+ n* [3 F/ H/ x% Y
class Agent {% \4 q s' @. ]! i/ h: d3 ]
char id;8 u9 \' e! u0 N; A
( a- a- w$ o% k1 c1 D! U5 b8 K
Agent(char id) {3 l; H7 ^7 x# ]
this.id = id;0 ?6 D6 P- B$ e
}- p# j! s6 f& u2 x) G; V% M
& I4 Z* M$ \% M# Y0 `( M
public void agentStep() {* ^8 M/ V% X1 J5 Q# l
System.out.println(id + ":" + Globals.env.getCurrentTime());+ L4 ?& `5 g# f$ a
}6 f, f' k7 l/ g" _- x5 l4 K
}% Z& _' S) } x H X. V3 i3 @/ g
6 s: ~$ Z) l8 t/ U; m$ L' `
public class ActionGroupDemo extends SwarmImpl {! S9 U$ }* G: i4 {8 m; h1 x6 L
ScheduleImpl schedule;
3 k6 s/ J. s4 t/ I P. H ActionGroupImpl actionGroup;* ]5 z- E3 r( @( y, `
ListImpl list;* _* k0 z. s8 q, v# R
char Id = 'a';. h) {( g$ C) @" a N: t
- V e# k" a; f% o5 ~ M* [$ x
ActionGroupDemo(Zone aZone) {
7 K! S* _6 W0 p9 i super(aZone);
! d4 l m7 M3 F2 W0 s/ L2 H list = new ListImpl(aZone);8 {3 m2 X1 @7 J5 Z7 U5 C
swarmSetp();
1 D3 l J) g, r2 {9 o actionGroup = new ActionGroupImpl(aZone);
8 _" U, W" {: {( E+ @' R: N$ T6 B schedule = new ScheduleImpl(aZone);
4 I8 @# N+ G% b' p1 n& i try {
+ R; V j5 p5 P5 ?; k Selector agentSel = new Selector(Agent.class, "agentStep", false);
" @+ E; U1 h5 A* B Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
! _* P+ v% u, i, j6 n
# Q5 A$ G7 G4 B2 }1 K$ e& _ actionGroup.createActionForEach$message(list, agentSel);
2 B5 F$ v S7 k actionGroup.createActionTo$message(this, swarmSel);; `1 j" J$ z/ I( F* ?4 s& h
schedule.at$createAction(0, actionGroup);# { ?' b W2 }( K; {- K5 m
schedule.at$createAction(1, actionGroup);$ x8 ^0 c, o ]; I% k- z9 e+ E
schedule.at$createAction(2, actionGroup);4 @4 C' y, g7 f0 D O
8 o h% J$ ~5 J; X# \& p. C- ~; Z" J
} catch (Exception e) {
9 ?6 I! p6 D0 A: s e.printStackTrace(System.err);
5 C0 N! \4 f3 C+ G6 k3 ] //System.out.println(e);/ P e F0 N. P8 a* w/ y* b
System.exit(1);) \$ x5 x2 d+ k: R5 p2 y2 J
}% r' j6 r" o7 X& V; y( u; X- u- a
$ t6 v0 R5 J4 V: W
2 a" o; T- y( {+ T) x }
, d" Y! u0 c/ m2 ]* c- H6 O) ^" p" ?/ J
private void swarmSetp() {
V9 s J/ k. U# {( J list.addLast(new Agent(Id));
4 c+ H7 O! ^4 P; ^8 d( s: I1 M Id++;
. F0 k' M% G2 l# j1 {. `% d }
* \2 T3 O# G; f
$ M) F2 {( L9 W. k: P public Activity activateIn(Swarm context) {; P8 S5 @" g# r: a: ~1 Q9 b3 w5 w5 o
super.activateIn(context);0 i* ~' g+ T; M' t, {
schedule.activateIn(this);2 d: \; {0 v* Q' f
return getActivity();
. b! w" \% u( n+ ]. V4 ^# Z8 p }
5 ~% i$ b; y0 _6 K) o: C& l" K
+ R( f1 c6 u' `2 a) q% D. H" U public static void main(String[] args) {1 }: Z% O& q$ N3 Z- ~
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);- `- }! c$ r' k+ ]. t/ L h; m
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
3 h0 A9 W5 h/ {4 q3 X9 J+ P swarms.buildObjects();
9 O/ g1 ]! b2 v" D8 T/ i swarms.buildActions();: Y4 _% U: y ]- x2 `
swarms.activateIn(null).run();
: J$ r) F& K, T+ {2 |$ `9 M }
) u, }' Q2 [0 z L, r; a& W5 g4 F. Z) }* T" A/ l
} |
|