设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 12121|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
5 E; U4 p4 j1 h+ a" K' h% z: v9 ~8 i. n9 k
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
0 P$ [, w: [5 v. S" |以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
5 c+ P! M8 [- U! Zswarm.SignatureNotFoundException
( K" ~  j: W+ _' q$ F0 B3 I( E7 u        at swarm.Selector.<init>(Selector.java:76)+ w/ H7 [! k; E7 R. H
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)* X6 D8 m8 h% L) \+ C
        at ActionGroupDemo.main(ActionGroupDemo.java:67)
5 C# b. p4 l2 q* ^7 D% l! d0 S' q7 O

: c$ f( h: ?/ j' Himport swarm.objectbase.SwarmImpl;! M  I: d( G; J2 ~. Z) I+ Y
import swarm.objectbase.Swarm;  m! l  ^/ _5 m$ _
import swarm.activity.ScheduleImpl;
: i9 G7 k* g. `5 k5 F; Limport swarm.activity.Activity;- V2 H8 O: D% \  e( z# G( D
import swarm.activity.ActionGroupImpl;7 Z6 M0 f/ @" [% W/ `
import swarm.collections.ListImpl;" Q: q5 A- Y3 G2 [* E
import swarm.defobj.Zone;
; P* {7 c; E0 c$ Rimport swarm.Globals;
! U- j- M- N+ I$ e' w+ ?import swarm.Selector;& \7 o$ g) s4 B* y5 F
import swarm.activity.ActionGroup;   x8 C" b! B- L
class Agent {1 W8 W. C6 o# y- s0 Y& F
        char id;
, _3 K8 \, Q6 P% |
) r" |! l' x4 o3 i        Agent(char id) {
# g) K$ E; U: H' q' J" {8 v5 j# \                this.id = id;
) B) q/ ?2 v& A) ?- j* I* ?2 s        }
& K, m' Y+ ^' A/ E. R. q# g! s4 x3 J' L( \8 Z7 j
        public void agentStep() {6 k7 F# F/ `# L: D0 `3 C% Q( n
                System.out.println(id + ":" + Globals.env.getCurrentTime());& T  Y0 F3 z. |: l' l
        }
8 D6 r  m" }. V4 R. I7 ^* S}; P7 d. p( n* D3 v5 B9 l
' [, T; M, A% [
public class ActionGroupDemo extends SwarmImpl {
# K0 x* A6 l3 C5 |* V        ScheduleImpl schedule;
& {6 v8 a2 b" O2 q! p/ k        ActionGroupImpl actionGroup;$ q+ J; @( a9 g- X& t
        ListImpl list;$ R8 Y8 B- B" }/ J& u" x
        char Id = 'a';
6 D& o& V  P7 z/ i. ]3 w
0 x( S' H! x$ M8 M        ActionGroupDemo(Zone aZone) {
" b& O/ q- ~0 [3 f; r                super(aZone);9 F# A, Z6 E5 ^- ]
                list = new ListImpl(aZone);
* ^& f0 a" Y0 s. z: i# y9 s                swarmSetp();
1 q' s. e) m5 H0 D3 |% ^' m                actionGroup = new ActionGroupImpl(aZone);7 K  M: D1 z" B" \- O
                schedule = new ScheduleImpl(aZone);  j# [9 k& X3 w! A( m: I
                try {% @" W7 ?! _% V. m9 b3 G
                        Selector agentSel = new Selector(Agent.class, "agentStep", false);9 i2 n, B+ g) W6 K4 n: S5 h/ p
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行$ h* D' U5 b: x; |+ B$ V
                        
/ L7 ~+ d3 e6 a" |                        actionGroup.createActionForEach$message(list, agentSel);
; i4 T, M( x9 B/ E6 e                        actionGroup.createActionTo$message(this, swarmSel);, a' z- v; w4 U& d8 Q# X
                        schedule.at$createAction(0, actionGroup);
% W6 J1 D8 g' t& F                        schedule.at$createAction(1, actionGroup);
8 ?0 D/ E2 y: a) ~# i. p" H6 W                        schedule.at$createAction(2, actionGroup);
7 p" m9 P4 S/ x0 ?* Y$ J- K0 `0 X2 y9 D
                } catch (Exception e) {
* M# C! k7 |! I- ?                        e.printStackTrace(System.err);, Q$ x& \! z- S, d- u
                        //System.out.println(e);
( O) c* F/ m3 D6 {5 L. V                        System.exit(1);0 D3 N$ X' ]- u0 h1 C, r
                }3 {% P# b% ]. k/ X1 @
4 a1 O: p* r; |: m; `/ n
% U( @; @9 x  E" M% b7 o9 C
        }
1 X) z0 y, M; r. B6 D4 n) r6 A7 j' G, O, L& \8 a5 Z, r2 n
        private void swarmSetp() {. H8 `' }: {& s3 z9 ]  N  l
                list.addLast(new Agent(Id));
" n. y3 W/ ]; \                Id++;5 C1 b  Z' j- i
        }, J4 u8 ?8 K1 f

- t, g- w" E6 \* d% @        public Activity activateIn(Swarm context) {- E  A0 }" }$ @5 w* Z
                super.activateIn(context);
' _( A& l0 q% K% {9 k( _                schedule.activateIn(this);
% {9 B" ?2 a0 |                return getActivity();" u" p* j) o/ E' B" i
        }
; |# l8 }5 D6 G1 q1 x& P4 ]3 v, N8 u5 R
        public static void main(String[] args) {
2 S% I, I2 s! m- |# t; e" E                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);. q; g) F2 T' I3 O% ^; e
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);  [4 _/ I6 Z3 y, c
                swarms.buildObjects();! b2 n* K  O' T1 P' d+ @
                swarms.buildActions();
& B1 ?" K  c/ M% X                swarms.activateIn(null).run();7 m! R4 h/ s/ p/ P# D7 B& T) s7 V; k* o
        }
) ^. E( A. b6 a5 L1 a' b6 d5 V* }- k! t
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-7-30 23:43 , Processed in 0.015578 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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