设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8397|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 . H3 h# v5 D% n! _, M! H
) A2 F2 Q5 O% x9 V
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
8 g! S$ D2 Q& N以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.4 y; V- X1 V0 o. H$ B
swarm.SignatureNotFoundException
% q% c4 l" R/ j: U        at swarm.Selector.<init>(Selector.java:76)2 ]# |3 _0 _4 s) H
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
4 [5 ?( j% v$ d, O1 O# P& t        at ActionGroupDemo.main(ActionGroupDemo.java:67)
! V8 Z: [: X2 F6 A) u* F
6 y+ p; {% R1 [  ], X9 N% M
& e9 p. }3 L+ bimport swarm.objectbase.SwarmImpl;
  `8 |8 B' n: Timport swarm.objectbase.Swarm;; f2 N. U/ O, {- c  Q
import swarm.activity.ScheduleImpl;
# C( r; h; G% qimport swarm.activity.Activity;
- \* y1 g! C! N$ nimport swarm.activity.ActionGroupImpl;7 X" X- o* E& Q) C
import swarm.collections.ListImpl;
1 C1 g7 k1 ?! @+ S' j, {import swarm.defobj.Zone;
/ y7 O" A/ b4 e1 l1 C7 V' Eimport swarm.Globals;4 T! G# y3 u6 W  [  T/ e. _( a
import swarm.Selector;
2 M* N( k3 t8 Gimport swarm.activity.ActionGroup; # ?$ ]& x' t. _  q, P0 U1 X9 f
class Agent {
  p% k& ^4 v7 q* T' Q7 L        char id;/ k9 b9 q' U- v4 S5 _5 o- ~
' p- b8 S1 K% r; d8 r5 X4 t& i5 i
        Agent(char id) {
, o- J- ]$ V. x3 n' c$ |, [, E                this.id = id;
8 o! Y' j: p" |- V. E        }
. p/ q& G2 R# ]4 |' d! }+ w% |8 D5 M5 Q. A+ N6 _2 D
        public void agentStep() {
* n  E! k  _' g. v7 {6 I/ d; p                System.out.println(id + ":" + Globals.env.getCurrentTime());
# ~+ c; J/ [9 x8 d, q        }! e% f! i, ^" P3 R
}
4 J2 R7 F2 s& K: c9 P. S* ~$ S/ G: Z! p* T6 r
public class ActionGroupDemo extends SwarmImpl {5 R2 x- V5 v9 r2 y" S0 J8 d
        ScheduleImpl schedule;0 y- h: x  x+ a$ `7 k
        ActionGroupImpl actionGroup;
  ~6 p5 t# F: p; v+ ^4 P7 J        ListImpl list;$ D6 w/ {# s, W2 E% M
        char Id = 'a';
+ |# P8 v' i5 e2 e9 M6 Z9 h' y& A3 \& c
        ActionGroupDemo(Zone aZone) {
$ x( p9 l: Y5 U* k: f" s                super(aZone);; D# m' J; B0 c3 Z- n
                list = new ListImpl(aZone);
* w7 @( }, t2 d5 A6 x: \                swarmSetp();
2 r+ ?: d" k3 O0 D                actionGroup = new ActionGroupImpl(aZone);
# w5 i$ O6 U: s& W& C0 q                schedule = new ScheduleImpl(aZone);
  M* b; S3 ?. Q' ^; K( v                try {
$ I+ ?$ D+ }& b# {' t/ Z                        Selector agentSel = new Selector(Agent.class, "agentStep", false);) i) V" i+ R$ D: g  p
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
$ L- M. }3 `1 }                        
/ Q& j' G: I8 v/ F* N; v; z. }, P                        actionGroup.createActionForEach$message(list, agentSel);
5 F) X2 U9 o: Q+ d! W2 E                        actionGroup.createActionTo$message(this, swarmSel);% B! i7 ~* k! r
                        schedule.at$createAction(0, actionGroup);' w, W- ?% g3 N2 ]5 o/ e
                        schedule.at$createAction(1, actionGroup);
4 y+ _  a0 D( D# k& b0 w                        schedule.at$createAction(2, actionGroup);
( Y0 V3 \! x% c5 H2 u6 V$ D+ O
* `- ~  M9 W2 A2 x                } catch (Exception e) {1 n- \3 L+ l8 R9 L5 S9 c
                        e.printStackTrace(System.err);
+ r7 N4 o# z+ n7 ~, s, I3 ?                        //System.out.println(e);
9 @% P7 J5 }8 [. N                        System.exit(1);  x  p5 b" ?. h
                }; C; I7 ~! w; B/ i) ]* }* d4 \
" v" B3 T2 ?% l; U- x. K
7 E! ?) |' S' s
        }6 a  X) g. ]7 ^) g( ]# j1 \5 ~0 K
# T* n; J, l; X7 L: i4 g
        private void swarmSetp() {; i2 a1 \" p/ j! i# J% p
                list.addLast(new Agent(Id));- _) A( j, d/ W5 \
                Id++;; d1 Z* w: P5 w6 ]' \. t( h
        }3 _  z% S4 l3 K
" V$ _2 b6 t; u' k2 w; c
        public Activity activateIn(Swarm context) {
9 B8 {2 j. m) M- i! T( _+ e1 T                super.activateIn(context);
" v7 I, M+ |3 D8 P7 h( }$ J, p                schedule.activateIn(this);
2 n& R+ I, x( V6 y! n( U                return getActivity();6 `6 F1 i/ C" `3 I& \1 d
        }
7 G/ S6 z# o! ~. V; \& ?0 x! s6 g+ k( q! c0 e! i  M% B5 E. a
        public static void main(String[] args) {
5 ]0 w5 V) k9 x5 Q# Y  V                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
& Y% d6 k' H9 a                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
. T" i, `# b  Z( _2 w4 b2 I                swarms.buildObjects();9 j8 |. U( \. j: N% P$ U
                swarms.buildActions();0 g- s9 u  E: G& n! v3 _2 e
                swarms.activateIn(null).run();
* h5 m& x  z- w7 z        }
' ~! Z9 M) ]  z/ a: m( @( X$ Q- D1 L- l. W$ ~
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-4-10 22:21 , Processed in 0.017224 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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