设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7985|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 1 T- C5 `4 Q5 R* c- z0 a" b
& E* b/ |% o% r! N3 Z
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
, k  h9 s# h" [  o2 ], c8 H0 P以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
* I3 n: D  X3 S/ s! G$ j9 eswarm.SignatureNotFoundException& D+ ~8 M2 E* t  G$ x* \
        at swarm.Selector.<init>(Selector.java:76)
- k+ b; B4 t4 s0 i" ]% O5 b        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
5 ]5 o, z, x, c& g        at ActionGroupDemo.main(ActionGroupDemo.java:67)# k: P8 l. S+ \' D, I; i. Y- U
, r) W1 z, e) u( I/ I) b

1 t' S0 P7 |4 d5 G. Nimport swarm.objectbase.SwarmImpl;
& ]3 p2 _: \. K* Y1 J: P$ aimport swarm.objectbase.Swarm;8 `) B4 a" G# P$ ~
import swarm.activity.ScheduleImpl;
6 i. G& E& i4 Q( y3 o# h* N) W9 Yimport swarm.activity.Activity;  E5 D# e4 m6 V7 K! G* n% c
import swarm.activity.ActionGroupImpl;
* \# Z, k7 R1 h8 h. D4 ximport swarm.collections.ListImpl;& k' [" L% P- z# o
import swarm.defobj.Zone;
: r. L0 m2 ?. l* Y% Q+ e6 Simport swarm.Globals;' b6 M# Q5 h0 W$ J
import swarm.Selector;
! t6 T$ ~7 K" t; S/ rimport swarm.activity.ActionGroup; * B9 e- `4 |& S( w+ b3 X1 i
class Agent {* P, [  p0 `9 \3 E( b' z' t5 |
        char id;  h% N* P9 S. ], _" _: }9 A
( I9 p4 s; }* W9 m  ]' F8 a  c' N
        Agent(char id) {
" P% Z) x: [1 T! V) D                this.id = id;
* A( j% l- q; U0 W! d! H4 R        }+ t9 S9 |: I* K0 V7 k/ C8 W* a, F
" H; m+ Q3 I: ?8 [
        public void agentStep() {+ v7 Z- Q2 [; P% ^5 d2 n) y
                System.out.println(id + ":" + Globals.env.getCurrentTime());' e: k+ ~3 l2 ~2 `/ j% A4 L
        }
$ ?% N7 B8 v2 @) E. [}/ ~1 i1 E+ t2 m/ p2 I
% ]  w" m) J, O
public class ActionGroupDemo extends SwarmImpl {
( p/ \1 e- ~; j& M! O6 _* [        ScheduleImpl schedule;
; I; l6 e4 t+ l  Z. H# w5 z        ActionGroupImpl actionGroup;5 V# R& B4 N1 h$ o) G) n
        ListImpl list;( b! ~/ b4 g* p+ |! `9 {
        char Id = 'a';
; {' R3 o9 `6 K# b2 w
0 H8 E# }- Y8 p9 N' n$ e1 K7 A        ActionGroupDemo(Zone aZone) {) c9 o. R' E9 j* C4 n5 n$ H" _
                super(aZone);% j3 C# H8 P" H5 I+ `
                list = new ListImpl(aZone);
! W' h& ?* f/ T9 u* A+ ]% W. m                swarmSetp();
8 o4 N* x. \6 M' G% X  B                actionGroup = new ActionGroupImpl(aZone);
- s0 |; U" `+ D+ e1 z$ U. X                schedule = new ScheduleImpl(aZone);
5 w0 \& u3 D2 E* D                try {
7 l$ Z/ @* ~- |8 T5 Y                        Selector agentSel = new Selector(Agent.class, "agentStep", false);( X% D, R, Z1 m  ?# J1 ]
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
0 x# W2 ~" A( g2 H& R: k                        1 @; y4 e. T& t+ h- n+ z: y' [
                        actionGroup.createActionForEach$message(list, agentSel);
) M! s2 z+ I* ^, b) U- J" ^                        actionGroup.createActionTo$message(this, swarmSel);& E* P5 S% ^# I( X1 m0 c
                        schedule.at$createAction(0, actionGroup);
4 ~! j( g4 y( n+ c                        schedule.at$createAction(1, actionGroup);
# V1 r$ ?1 B$ r! e                        schedule.at$createAction(2, actionGroup);' K, _1 ]& r8 E9 z

2 _# A- }! c5 L* l+ U" R                } catch (Exception e) {
* U" O# g: F2 A9 j: q* ^8 |3 G                        e.printStackTrace(System.err);! {: C1 Z9 H5 y. ~7 W/ j; Y
                        //System.out.println(e);8 {' s6 X6 W" g  c$ J/ P! v# V
                        System.exit(1);6 i% r4 x5 Y; i6 Y# D& N0 z
                }
3 m0 _0 d' E2 B$ Y$ [9 ~
9 X8 J$ ~8 g7 x' \0 n, x+ z! G4 Z3 x* m
        }4 e& v0 x6 a5 u
, X* L  f- i) e
        private void swarmSetp() {
8 R8 g! m, v4 U0 \5 b1 \                list.addLast(new Agent(Id));
' o8 k7 U& t3 L+ w  v. R                Id++;4 y/ J% X: }% M" O  M  E! N9 @) s
        }( z' t2 \' C7 T; m" [, m) W
$ G# N, }4 k, q8 [  c$ N# V
        public Activity activateIn(Swarm context) {1 Y) T* _) j. q5 \; ^4 v
                super.activateIn(context);- `+ K  H9 C; ^
                schedule.activateIn(this);. M0 I( o6 E, [2 o1 y! }* O
                return getActivity();2 I, \% N7 ?0 J# h" _1 r
        }' I3 ]: `3 q& Z- }
; _4 m% P8 b0 {0 F/ s. u2 r6 T# _
        public static void main(String[] args) {* L: U' m7 b* b* J! f7 y
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);" u  d( a9 u* i
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
0 m: N6 C; R; r! {                swarms.buildObjects();
: L$ D- g% U) C# F) @3 }                swarms.buildActions();& K$ Y2 q( L. R' t$ d7 y
                swarms.activateIn(null).run();, C) Y" \2 c5 o/ w( Y
        }
0 u! T) O+ p. ]0 s
/ m% D: F; o6 H! q5 q0 _" w}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-25 21:08 , Processed in 0.016282 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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