设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6422|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
/ N' w. E. }, I! T' H: c% W! O; i$ }. N) a/ J0 g
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
! ?, L% C9 |0 H以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
# u- b- f0 f) zswarm.SignatureNotFoundException; ~" u' k4 X; t5 `
        at swarm.Selector.<init>(Selector.java:76)
3 m- y0 s2 y5 G$ k/ W        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)( p  f, ]7 O, D4 }, P3 Y! J2 I$ ?
        at ActionGroupDemo.main(ActionGroupDemo.java:67)8 n7 O2 h4 E$ q( h; t" I

9 v3 O" ^0 z- S
+ s5 m( P/ Q3 k* A; S" x2 Dimport swarm.objectbase.SwarmImpl;2 T* G+ D0 Y: L* A# d/ @
import swarm.objectbase.Swarm;
% K6 V) x' n* s) Vimport swarm.activity.ScheduleImpl;3 u0 c/ {* J3 R% D' [# }  E
import swarm.activity.Activity;( d1 g( W4 ~+ n5 w5 o
import swarm.activity.ActionGroupImpl;6 Z% ^$ d0 O- B, N
import swarm.collections.ListImpl;
; x7 h$ y% F, h% }9 d& Fimport swarm.defobj.Zone; 0 L- u( ^- i' V# \
import swarm.Globals;: s. L$ v; h4 w- B0 X8 l! l
import swarm.Selector;6 q% D+ T& k; `3 u' G
import swarm.activity.ActionGroup; / ]6 \) u, p" Z8 \/ K$ u6 v" l
class Agent {
" W& c& o4 q% e- S: O4 f" a; A2 n        char id;
4 C5 R* @/ M) W: z) S2 a! D8 w4 b6 G7 {
        Agent(char id) {+ Q: y$ P4 p$ @9 [% f4 E
                this.id = id;
" C' p/ T& f) G( q1 m        }
# r6 n- D; Z; W8 y3 e; c1 C% r0 C) B7 M
        public void agentStep() {
$ \5 f/ N, E1 H" `* A! ?: O                System.out.println(id + ":" + Globals.env.getCurrentTime());7 K6 o+ W5 d$ k+ s8 G  u
        }: }! O: H. b  S1 |
}" T9 I! N% p5 y

6 i9 I2 N2 |9 m$ D) i3 Opublic class ActionGroupDemo extends SwarmImpl {8 P, t% b# ]7 h
        ScheduleImpl schedule;1 c5 c/ T% j, K* K9 q
        ActionGroupImpl actionGroup;6 e8 z& c2 C; `! K* \! W" B8 Q1 B
        ListImpl list;: n. l" N9 [# `/ [5 t( y
        char Id = 'a';: h. s4 k7 Q7 F& r5 g
' e; ^+ _  C; j: n( |% \2 F
        ActionGroupDemo(Zone aZone) {  C3 R" g, b; Z+ j
                super(aZone);! e* q; [8 @$ h0 I7 y. _; f& _
                list = new ListImpl(aZone);) A% I9 \% v  d3 v- D0 @& Z
                swarmSetp();
5 N8 s; y4 G. i, Z2 b                actionGroup = new ActionGroupImpl(aZone);  E5 L+ k+ I; V( r7 p8 f6 \
                schedule = new ScheduleImpl(aZone);) [: E2 C  E, P2 i' v% V
                try {
. B; A0 f8 L0 }                        Selector agentSel = new Selector(Agent.class, "agentStep", false);( ?% ~2 U- s, c% b
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
' d& q1 I! _9 }                        3 |' f; }3 N! E7 k) x2 V" m4 X7 T4 ]
                        actionGroup.createActionForEach$message(list, agentSel);' X0 G2 s  N2 t! U  T
                        actionGroup.createActionTo$message(this, swarmSel);9 z8 C8 x) e& L1 ^) B& w% O
                        schedule.at$createAction(0, actionGroup);/ {) f0 {5 w  T% S4 R( M
                        schedule.at$createAction(1, actionGroup);
4 ]. M  x( Y  I/ m1 p* }                        schedule.at$createAction(2, actionGroup);
: [! s$ |) u1 v+ g6 [. I* X; w7 ?+ Q2 [9 Z5 n$ w
                } catch (Exception e) {
) }$ T! G3 o1 s1 A/ D' {                        e.printStackTrace(System.err);
4 l9 \' J7 t7 T0 |% {* j0 |- z  U) r                        //System.out.println(e);
- t! O( R( r  ]6 z                        System.exit(1);
" R$ f  ?: Y  z( d. W                }
6 C6 r! g7 t3 J& O. ~: V
% e7 k! k0 _' r0 b, Z4 h: y
& i9 w% y* [0 l1 O6 B        }
$ j: f( I8 E7 E) ?- l( E7 I3 T9 U, F. z: h3 a  z1 h# q% N
        private void swarmSetp() {, ^# r8 h& \$ \/ z
                list.addLast(new Agent(Id));
- C. l) G" x  b$ T- ^                Id++;( [3 |' c2 e9 d+ B3 m  D
        }
- Z+ }# ]. s( g
5 Y, ~5 r1 x' s        public Activity activateIn(Swarm context) {
) k+ f; f8 U/ u1 p7 f5 k                super.activateIn(context);
+ F3 Q* g/ D3 F# z                schedule.activateIn(this);
( T/ f2 d  X# G' o9 s# P( T                return getActivity();
% x! J: r" D' ~; t0 \5 v+ A' W        }
0 Z4 m, z4 E, @0 ?) H/ c1 l. i% x- |% ]. v3 g' n
        public static void main(String[] args) {
9 G! D8 d, e! @                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
6 X8 i0 w1 O1 f5 P                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
( y6 g3 z7 [0 }& V' }                swarms.buildObjects();7 _% w/ E2 O% s. ?
                swarms.buildActions();4 y+ D/ a. T6 G3 H
                swarms.activateIn(null).run();1 G& L- g2 `- N
        }8 R0 L- N1 `  c8 }3 d4 N9 i6 ^

3 a( \$ W" X4 R! G}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-1-28 06:04 , Processed in 0.014521 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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