设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 4899|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 2 \% W0 `/ r* b6 v
% [: {: e8 A! L3 F5 o; A1 T* g7 M1 \
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21" U& E) n- o: |& [$ |& L
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激./ f( _$ H3 G# ]7 S" x% m
swarm.SignatureNotFoundException
! L8 B, Y! `; H7 H; |        at swarm.Selector.<init>(Selector.java:76). r/ d' ^. X5 l! ~* Q% ~
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)& D1 c6 d. ~( {4 P2 S0 S& R$ j
        at ActionGroupDemo.main(ActionGroupDemo.java:67); j% b1 d0 ~1 U6 F5 z; K, S

8 ?# R1 E" x) i+ m& _! e3 s  V* S& J# C: R$ g' ]( r* I0 _
import swarm.objectbase.SwarmImpl;
% x8 Q+ o: x+ c: w' X- Zimport swarm.objectbase.Swarm;
: w4 Q; F! K1 X5 ^8 x0 M* d. kimport swarm.activity.ScheduleImpl;! [& \& z; ^2 \8 n" S! f$ r3 z! |
import swarm.activity.Activity;
% L6 s% U( l4 Z8 A! `* \) eimport swarm.activity.ActionGroupImpl;
, W# r  g% d1 F( u" t7 t* Mimport swarm.collections.ListImpl;
) o9 Z1 n, z" C+ n+ J* j, gimport swarm.defobj.Zone;
% ~0 [5 ^3 q/ e$ B# h; Aimport swarm.Globals;* h  a" S' c' q# j7 r# q+ q
import swarm.Selector;
6 r$ I$ f, o; I7 D' Pimport swarm.activity.ActionGroup; 7 _# p9 y9 Y# d4 U* n
class Agent {; U* i' b) x* u" a- O- c
        char id;' O. A7 b& _( y; [- h# W
, @2 @. l! ~( k4 q3 i  m  Y  q% N
        Agent(char id) {0 J0 Z& q# ?& J( T0 U* O: D: I
                this.id = id;) R$ o/ p2 r4 t" R: m" h
        }! X  D- t" W; g. X% Q
( d: w; ^2 @% k
        public void agentStep() {
/ ~' F6 p; H8 V7 T. N4 F                System.out.println(id + ":" + Globals.env.getCurrentTime());
2 S- Q1 x9 A2 _  [2 A        }
8 U2 L. Y1 A" j5 [0 P/ G6 K}
# F: P1 N4 h- o3 m* J  N3 B9 |* G6 J8 E( X4 f) V1 t
public class ActionGroupDemo extends SwarmImpl {
( O# M' R8 @: W$ L3 O5 L3 G" ?5 z        ScheduleImpl schedule;# v# i+ ?( @2 a1 t- I
        ActionGroupImpl actionGroup;
# {3 t5 N2 Z( M* F0 c$ a/ z: S        ListImpl list;
" r7 O0 d& G7 ^& |' Y, J7 Q( ~. N6 Z        char Id = 'a';+ l- s6 [/ x) g9 C! C( R0 K
# q4 g+ N! ~5 c" b' R6 E7 }
        ActionGroupDemo(Zone aZone) {/ Y3 _; ~" W& y. ^7 t
                super(aZone);9 U. _5 t$ C5 R: t
                list = new ListImpl(aZone);% B" M. D) c# l4 M6 q
                swarmSetp();
. K# i4 `, l* M& I$ l+ |5 x9 t6 _                actionGroup = new ActionGroupImpl(aZone);
' Y, J- y' w: E% @: ]# Q                schedule = new ScheduleImpl(aZone);! H" w' v; g& x3 Y: f
                try {0 g& f! I1 u( r6 s+ I) Z4 }7 q% k
                        Selector agentSel = new Selector(Agent.class, "agentStep", false);/ U2 G: g0 I& g/ i9 H3 a$ L' H' b
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行% ]) ^. [! k& i3 e9 W
                        
! F+ C! z7 b: f6 F8 u0 P                        actionGroup.createActionForEach$message(list, agentSel);
3 ~# d; U5 ^% f% M                        actionGroup.createActionTo$message(this, swarmSel);
. t$ h' j, \9 G% R5 G- U                        schedule.at$createAction(0, actionGroup);
/ m% q6 [0 y! I# o                        schedule.at$createAction(1, actionGroup);) e/ ?: i/ E5 K! l9 ]
                        schedule.at$createAction(2, actionGroup);
9 A2 R8 P3 ~3 B" Y6 _) r$ c# Z9 t3 `
0 ~" l) W' u! C" P, V( V3 r                } catch (Exception e) {6 c8 w* g0 j$ U8 p( @5 ~2 Y
                        e.printStackTrace(System.err);- [1 Q" S* M+ t. B# b) G
                        //System.out.println(e);
: M# B  b* }4 L5 n+ A4 O$ l0 U                        System.exit(1);
2 y1 E: c, `$ k  e% V( A+ [                }
5 D4 T% t- ^* J2 b/ k6 U& ~$ }$ [+ _$ U$ A

- K0 r. y) A4 u/ V  W) O9 r) K+ S        }
3 r: I  o0 d+ f/ Y( W) }( H6 W1 a  H
        private void swarmSetp() {$ _* Y0 B, ^. E, `( m
                list.addLast(new Agent(Id));9 o# d3 N- x. z# n# U% T
                Id++;
' }3 V$ Z4 e* Q. t7 g& E        }
  w' R0 ?, V# t% K9 w
  k( ]$ }4 H" T# U. P/ c        public Activity activateIn(Swarm context) {
! @0 m+ o' I' [3 `0 N2 x  k) R  s                super.activateIn(context);
& S/ A& R( M0 E                schedule.activateIn(this);( H2 R+ R0 |( M8 f6 u/ M6 H& W
                return getActivity();  q& n( [" r: k0 m/ e- H
        }8 e+ J/ p- U9 M; K
, p4 u' ?. s' J
        public static void main(String[] args) {
, i2 ^8 l5 M( H3 K0 P8 ]                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);; _4 |- u- Q1 n" o; R6 K1 z
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
. k3 s( y) `% T' t8 c: }                swarms.buildObjects();  A8 k8 C: a: p$ G/ B
                swarms.buildActions();' o+ x9 U4 `' q3 U8 M6 s
                swarms.activateIn(null).run();
1 F; Z5 i4 Q& o        }3 s8 U1 O: O; r0 |# Q: V2 f
! a$ L- g: M! Y# G
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-11-16 14:01 , Processed in 0.024548 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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