设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 5345|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 ! n* ^% X8 N0 L: q& P
; l3 v; ?: S% }, T$ z" W& ]6 b
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21: a$ s3 O% i9 g* B, S
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
7 S+ X& D3 P3 y6 eswarm.SignatureNotFoundException0 `- q$ u, z. @& s6 s$ i; i
        at swarm.Selector.<init>(Selector.java:76)4 P- E- r. K% M7 _; @
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
5 G6 h8 s4 @. D4 ]        at ActionGroupDemo.main(ActionGroupDemo.java:67)) G6 {# Q- |$ t5 ?1 n
" N3 K' I  a* c/ S1 b/ a

) `6 P) g9 b' v9 @( R5 ^import swarm.objectbase.SwarmImpl;
) X) L2 b2 B1 y, B$ `import swarm.objectbase.Swarm;; O" K* w0 A) a, _' ?. _- ]- K. Y! g) i
import swarm.activity.ScheduleImpl;
) G' g2 @: w! eimport swarm.activity.Activity;3 D/ w* r5 @  m9 }+ i+ J9 T
import swarm.activity.ActionGroupImpl;+ Y( n% B( |, Z
import swarm.collections.ListImpl;/ W& [; j5 P+ b7 N
import swarm.defobj.Zone;   s/ P. d" b0 Z/ Q) g9 p
import swarm.Globals;6 ?8 h  b0 V" P6 [. Y: l( ?
import swarm.Selector;
; k' H. `/ x7 k7 k/ R6 dimport swarm.activity.ActionGroup; : Y& c: `$ X; s) T6 |5 x. o
class Agent {) q- P8 [- O! Q; n8 t3 K9 _6 L
        char id;
. i6 o/ }4 ]6 `( Q
% F. g; m6 w+ P+ E: s; H# z        Agent(char id) {
  a9 z$ J7 f% `3 Q                this.id = id;/ A' M8 V: Q8 F
        }
2 J5 o2 c5 C$ X' f+ I$ b8 h! I0 `/ C2 Y
        public void agentStep() {
! ]3 Q* P! n& A                System.out.println(id + ":" + Globals.env.getCurrentTime());. v6 O6 N& D1 T7 a: y
        }# C' B$ v+ {. v) G* r' A5 V
}
3 U+ W+ F! i. m2 e5 B, D6 m. ~5 }2 k- v  J3 `6 ?& M
public class ActionGroupDemo extends SwarmImpl {
- ~4 G' a) R* J8 g) d        ScheduleImpl schedule;2 d/ g/ m+ B  V) U8 R; [4 ]
        ActionGroupImpl actionGroup;4 U. U4 {1 I1 l3 j8 \
        ListImpl list;
* ~* }4 U6 h! @# D$ U4 E1 G1 K        char Id = 'a';, w5 X0 j) F2 ]) n  V0 x3 P3 T9 j
" ?9 d+ o' F( g) @! u
        ActionGroupDemo(Zone aZone) {
5 \* C1 C8 C( t  Y4 E                super(aZone);! W: m' y, d6 b1 Q0 |
                list = new ListImpl(aZone);, T* G1 a2 ^+ i$ Q' i9 C
                swarmSetp();
' d8 J4 j* L0 q( |. r( p( G( ]5 n                actionGroup = new ActionGroupImpl(aZone);
+ X5 x% w, [% k                schedule = new ScheduleImpl(aZone);# L: r1 Q8 b5 E2 n, x. Z
                try {
4 T4 r% c7 u# H! W                        Selector agentSel = new Selector(Agent.class, "agentStep", false);- u" i# O7 G1 E
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行$ p9 ]. \  Q; V" A
                        : N8 k1 |' T4 K
                        actionGroup.createActionForEach$message(list, agentSel);
# B/ t- I  u3 o; b; H- x: W  |$ [                        actionGroup.createActionTo$message(this, swarmSel);
% V: o* a7 V6 u' A                        schedule.at$createAction(0, actionGroup);! |" q: r9 q& n# S9 Q2 y
                        schedule.at$createAction(1, actionGroup);
6 s9 U% R  o9 c                        schedule.at$createAction(2, actionGroup);' A/ n2 R" w$ p" j! g4 p$ A8 z) G* c2 j
3 j. K6 ]8 P+ H, V7 [" F0 D
                } catch (Exception e) {& @) h( C1 r8 j3 D
                        e.printStackTrace(System.err);
" n) \) s& o' x2 l                        //System.out.println(e);
' G4 I# ^: k+ s                        System.exit(1);
6 F1 n8 U. r  V9 z. A$ s                }: N8 V  ]% Q5 d  `# f/ L) T
* h1 m  _7 o& V7 C& G  ~  O

7 r. G4 B7 B, U! M- f        }0 @0 Y0 L  z, S9 h# `5 ]* g

/ x: c6 e$ c6 W4 V        private void swarmSetp() {2 q7 `* d1 |9 E9 p! m9 `% P
                list.addLast(new Agent(Id));* K; H) W+ K6 H$ g/ Y7 G2 ~& ^
                Id++;
& a6 E  S, a* G1 w* v/ D* ?        }$ L' \7 z9 P6 E, e# O9 d6 x; \

% r$ c# @9 Y$ O3 f4 y; C2 Z        public Activity activateIn(Swarm context) {
3 M  V! ?- W; {4 r; r                super.activateIn(context);
+ x& O7 L, t! c. t                schedule.activateIn(this);5 d* s. h, A/ A, Q, z2 T
                return getActivity();, N, H* @) y$ D* @
        }- j. D- g9 r+ _2 v

! P9 k5 ]9 d, F" ^6 ~! p: d        public static void main(String[] args) {. N& z  j# t, T& w! Q
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);: P8 N5 f' \! F9 |7 @3 f9 B3 M" y/ T& O
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);) g5 x) V0 D' U7 y' I' l/ z
                swarms.buildObjects();: X; [+ L) u" _4 A3 D& m+ k% g2 V
                swarms.buildActions();
1 E, a* U' Z. W                swarms.activateIn(null).run();+ g- N2 ^6 v/ a- E  S
        }
$ B" v; j! ?4 u8 ~
% _# D7 k) c# a5 c}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-12-5 14:23 , Processed in 0.016786 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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