设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 5111|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
* D  k: p# K; C  m, J% p4 ?7 P+ G2 a1 P! o( L
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21% |: C, K& G' F# ~" v# I
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.5 r! {( H! b3 x9 {3 K
swarm.SignatureNotFoundException
  G, y0 @- B: k& j& u6 N" V        at swarm.Selector.<init>(Selector.java:76)+ \  m; b: X8 V9 a
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37); `; Q' w# Q+ o( i2 U' \( n
        at ActionGroupDemo.main(ActionGroupDemo.java:67): j8 E, K% L; N) P0 l2 s' X9 J
/ ^, D* B- T: S

1 c  r2 p) H* X+ y5 O, |import swarm.objectbase.SwarmImpl;; [2 }3 E) V1 V, t; V7 {
import swarm.objectbase.Swarm;( g6 U7 V( z+ }9 B
import swarm.activity.ScheduleImpl;
7 H% O' q" k# X* b# Aimport swarm.activity.Activity;
8 Y# m, p- i: L2 t5 `/ H) Mimport swarm.activity.ActionGroupImpl;$ D1 o5 f: L7 H
import swarm.collections.ListImpl;* i7 m5 B. A' s
import swarm.defobj.Zone; . o' b; }$ {9 S* ^0 p
import swarm.Globals;9 _$ J  B9 |, Y, N- F  E
import swarm.Selector;
3 k  W$ q* Q2 ~! z+ _import swarm.activity.ActionGroup; ) B) A9 [$ X5 p9 e; D% m  V
class Agent {9 |3 G" c, y3 h5 K$ D% l; \
        char id;
& ]7 t3 A6 \: m' W1 b% g) E1 d# x6 \4 B. z, X# g4 W9 |8 \
        Agent(char id) {2 d, Y/ P5 K! G6 }
                this.id = id;/ Q+ \  O  N* u
        }) E3 z% H! s6 b
/ K; \& B8 q+ ~& f; }
        public void agentStep() {
% [& i* k; o$ n2 T                System.out.println(id + ":" + Globals.env.getCurrentTime());$ T* F' Y3 ]/ D! {# F" \
        }5 S5 p7 ?1 {: U, S3 e. _+ U
}: u* s# K! |9 C0 R" Q

9 U3 E& _' m- a, c: {: _1 fpublic class ActionGroupDemo extends SwarmImpl {- H; b. z  B0 Y( {3 d9 b- U
        ScheduleImpl schedule;
5 u% V/ |9 p( p' Y        ActionGroupImpl actionGroup;
! Z( e& O7 m! [6 i1 A        ListImpl list;
5 h  F7 E2 i  e" q/ B        char Id = 'a';
1 y* y' J  j  v, \* E& u& n: r. ^6 \
. H. _. ^" Q1 {8 [, e% L3 g1 \        ActionGroupDemo(Zone aZone) {
( T7 I- b( H8 m                super(aZone);" U! p1 n4 ?- k7 `. Q; L
                list = new ListImpl(aZone);' a; O& V5 w. N1 L; G2 v; Q
                swarmSetp();4 ~6 ]7 s$ u6 V; \# U, A# A
                actionGroup = new ActionGroupImpl(aZone);
0 z! F/ s& F0 e! a* b/ G  M                schedule = new ScheduleImpl(aZone);9 h: C& d. J" ?$ b; F; A! ~
                try {% o: O% F  f) n6 I
                        Selector agentSel = new Selector(Agent.class, "agentStep", false);  o( x& p+ B- J) I, X
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
) [( L' }8 b' i$ ?  w5 d6 }                        
$ R5 P2 Q1 i+ o                        actionGroup.createActionForEach$message(list, agentSel);# [3 A& I9 H. i- }5 W! \8 |2 ~
                        actionGroup.createActionTo$message(this, swarmSel);
' ^( ?4 {; R& n/ D4 u8 ~, H8 b                        schedule.at$createAction(0, actionGroup);* g/ o( ~  Y+ ~2 h% H+ ~
                        schedule.at$createAction(1, actionGroup);
, r& a* ?$ S' Z* Z; b7 b                        schedule.at$createAction(2, actionGroup);
+ b4 p8 Y1 x- U4 C7 l
. r9 W( Z3 l8 Z$ g( S                } catch (Exception e) {
$ H3 O2 Z1 I) w8 L' t                        e.printStackTrace(System.err);/ F9 d0 R6 F8 W- i) G+ I8 F
                        //System.out.println(e);
( M1 h9 {5 u: N3 d7 ~8 l1 k                        System.exit(1);% I5 U& L* e# W1 r
                }
+ s( ?# ?* [$ A. b2 Y: J
0 u. S0 r) F  E% e" ?, Q; F, U/ h
        }% u+ Y$ `' D  B5 P& f& j& J
! L6 T1 V8 ?# f) P* [+ y' x2 `
        private void swarmSetp() {
- \$ Y$ e& o8 j, c                list.addLast(new Agent(Id));- t' P0 u8 a2 z2 t" D4 i
                Id++;& M" [2 B4 Y6 P5 Z6 a/ c( L4 `8 Z
        }
& b  g& t2 P2 l1 @! A
' r2 v2 U8 ]% Q3 G        public Activity activateIn(Swarm context) {
6 n( o7 k' y) |$ K- h                super.activateIn(context);$ E5 M6 U9 h" d" F1 x2 H
                schedule.activateIn(this);+ o1 k4 ]9 r% _. E% U
                return getActivity();: O! e5 i) X5 x. E3 T& c+ T/ u; }' x
        }
5 [: w" \# K3 k5 y6 _3 l
5 V3 _' [# u7 G' w, N1 C2 `# [        public static void main(String[] args) {
0 y1 s. K( |( P1 Z  {% @                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
; @3 ?( T  y% s& t7 ~7 ]                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);* I9 P$ A5 i" O" p8 U! S0 a
                swarms.buildObjects();
# m/ |" i/ h+ N6 n% r                swarms.buildActions();; U2 E" ]9 C3 ?! g7 w
                swarms.activateIn(null).run();: B. a/ o3 J% J; Q  _
        }
6 F! A' o0 S+ u, e6 N$ i: o& }' f) W. H
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-11-25 08:26 , Processed in 0.020376 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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