设为首页收藏本站

最大的系统仿真与系统优化公益交流社区

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9915|回复: 1

[求助] 总是出现swarm.SignatureNotFoundException错误

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
6 C+ n  W, B' a" t& j( i# E6 ]- T
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
" J2 f, s0 [; V' Z以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
3 g" m8 w! M% C2 y$ a- }! ?swarm.SignatureNotFoundException1 j2 `! V- X* z3 o( _
        at swarm.Selector.<init>(Selector.java:76)
. g" n( M! S% @% l% J0 K+ N+ c        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
. [; P! e; x3 X        at ActionGroupDemo.main(ActionGroupDemo.java:67)
, ~! c+ J( M# [. _7 I' ]( j
- Q/ o  L. w" Z, V0 y/ t1 O! l
( h) u( R9 p1 O+ x6 u+ L! Eimport swarm.objectbase.SwarmImpl;
* n; N7 w# N. \0 {7 T' N/ s3 W; jimport swarm.objectbase.Swarm;
3 ?: l8 m' x6 ~9 ?7 a2 E7 nimport swarm.activity.ScheduleImpl;
6 \& \* ?( D+ k: K1 wimport swarm.activity.Activity;
1 i7 r$ e5 F8 C9 a. Rimport swarm.activity.ActionGroupImpl;
1 j& I6 ^( ~" nimport swarm.collections.ListImpl;: e$ O5 X8 z* q4 h  r3 ?
import swarm.defobj.Zone;
- m/ Y* G. z- T& q3 U4 w$ ximport swarm.Globals;( A9 F. {: |" V' J
import swarm.Selector;& h8 @& \. _3 [8 `7 a. ^
import swarm.activity.ActionGroup; $ V0 X) V) P- O0 s% x
class Agent {
7 A$ e% c' ^+ u0 H  B, F/ J        char id;
6 U. {$ S8 }1 S/ Q  U: l, N# @
# H: ]3 I; w3 C3 N+ X        Agent(char id) {
+ U" y' E+ n0 |( F9 N                this.id = id;
5 F. M. H4 v. T% r& w        }
+ r* F& @' N( C. b& P$ B) |9 N0 z& w/ [* B2 ]+ a# D
        public void agentStep() {) L; O+ q( Q7 @' u% S$ n
                System.out.println(id + ":" + Globals.env.getCurrentTime());
: M2 B; e6 y( Y- O+ j8 k        }% @2 B$ w* U3 @8 `' s( H
}' h. Z; r4 G$ U% A

# b, Z) t1 P' }' wpublic class ActionGroupDemo extends SwarmImpl {) h( Q8 r& h* A) x7 u5 Y5 A, \
        ScheduleImpl schedule;% k8 S: I& L' K( X
        ActionGroupImpl actionGroup;
! T) ?9 d7 U% g" Z' \- z8 {) k) l        ListImpl list;* C% f* y) ~( K' t6 ]8 B9 l
        char Id = 'a';
/ f2 h9 }% N: x4 z6 J# s) {7 ~
        ActionGroupDemo(Zone aZone) {- I* H2 H, e/ {( G: P3 K
                super(aZone);
. ]5 N3 K8 ~6 M9 t! _; g# U1 L" l                list = new ListImpl(aZone);: a2 k: J, q. f$ T+ |8 k4 h
                swarmSetp();, Z4 A5 v& ]' |2 c- J4 T
                actionGroup = new ActionGroupImpl(aZone);
  E) O- [. `+ ?: G! z; r  w                schedule = new ScheduleImpl(aZone);+ @; V2 a: d6 T: v7 K$ q
                try {
/ }- f+ z2 `0 H/ A/ \$ D! q                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
, a9 u4 [2 }+ u# K                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行* ~$ T9 D$ e7 F$ m5 C$ H5 U
                        , a- N: Q& H2 e$ ]0 v7 n9 a
                        actionGroup.createActionForEach$message(list, agentSel);
+ j3 g0 P' _" I* Z                        actionGroup.createActionTo$message(this, swarmSel);
3 S; l9 o) e, q% A' r4 [) k                        schedule.at$createAction(0, actionGroup);
: @$ |5 f, d2 E                        schedule.at$createAction(1, actionGroup);
* H' B% D- |8 W$ v* }2 c                        schedule.at$createAction(2, actionGroup);
/ a/ {6 T1 @) F% V
! D8 E2 K9 D: ^3 w! F                } catch (Exception e) {
, r2 ^" `) I. K2 W2 W3 [                        e.printStackTrace(System.err);  t3 ~1 [7 g$ m) A, K4 c: I. m
                        //System.out.println(e);0 X5 S* O8 n9 S5 q! a, A8 M; M
                        System.exit(1);# r8 x0 n: V% S6 t8 M/ v5 c* ?. z
                }  s" |' Q7 I9 E! E7 \1 i& l
0 S: b- e% K) ~9 J( ~
1 Y4 k9 M5 N0 l; `
        }; A2 ^4 X2 O! w

4 A% `  ?8 _0 m* L        private void swarmSetp() {
. P$ F7 g8 B# f5 b+ O, O                list.addLast(new Agent(Id));3 W( z7 u" D, t- }
                Id++;
$ a. }! e3 X2 ~1 b( ~" b        }" c/ ]- G2 @( b2 u
. e) k: q+ n* Q7 ]3 r
        public Activity activateIn(Swarm context) {8 H, q2 p0 d* v
                super.activateIn(context);; @, T& e* }! X$ E% C0 B9 y8 y7 g0 f
                schedule.activateIn(this);; u2 V2 V2 L+ B$ d, G
                return getActivity();
2 k1 |8 d( J. E5 l# W! r* [8 n5 ?        }% P5 D+ O$ F" k$ ~

+ F% {; S/ y/ e2 ?, v' j        public static void main(String[] args) {5 E4 p3 p! @9 T. g! ~- h
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
! g4 c2 A2 K4 K                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);  z1 h5 U  a. ^' h. W0 W: h
                swarms.buildObjects();
7 ], B0 K# n4 \1 J+ m                swarms.buildActions();1 M; e3 W0 _6 m6 p! P) F' T
                swarms.activateIn(null).run();
8 b0 z' {7 K5 u( }  P7 B        }
- P3 q% J0 ]+ o) r/ B9 d2 H4 Z: y/ k' l
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|手机版|SimulWay 道于仿真   

GMT+8, 2026-5-27 14:00 , Processed in 0.015964 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表