设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 4908|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
" O( a+ C- e% P% R: O/ N% Q# z  \# N$ I, O& [0 b
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
/ O  e5 G, P4 Q$ X7 u% Y, I以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.$ u6 X, K9 s4 ]* m& W
swarm.SignatureNotFoundException, ^+ r6 c, I" N8 H) \2 G) x! y
        at swarm.Selector.<init>(Selector.java:76). i$ Z1 N" p% R; G& m
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)- }, n- H9 m3 A2 O3 u8 n& d
        at ActionGroupDemo.main(ActionGroupDemo.java:67)
# j# R- j0 L. ?& V4 U3 [' C' S( z0 q- n  e8 S5 s; b
1 z$ C/ F* h0 U) }7 v$ D$ E
import swarm.objectbase.SwarmImpl;
' N% k% v! `! u, U2 b% nimport swarm.objectbase.Swarm;
, S+ c8 y6 {9 pimport swarm.activity.ScheduleImpl;& b& }) ^5 H7 d& l, a
import swarm.activity.Activity;
$ t: X* c' b  y- r7 ]import swarm.activity.ActionGroupImpl;
: U* i& _4 A) \/ t, \import swarm.collections.ListImpl;
$ _3 I/ l& S7 w! Q0 q3 ~- Wimport swarm.defobj.Zone;
. I" ?: H! }6 o. h' E$ F/ a: i$ qimport swarm.Globals;
+ R4 i6 K2 m% d: J0 Y+ T9 g& ~8 oimport swarm.Selector;0 f. z$ C; q% q# ^1 M. |
import swarm.activity.ActionGroup;
& p: k) N# [, X5 ^; A( D8 \class Agent {
7 y( X8 k2 N0 S3 Y        char id;: @% s( i+ ?5 V  m* X( t( M

& B4 x; Y* F1 x        Agent(char id) {; R7 S# Y9 g$ v. t/ i% A
                this.id = id;
/ z/ R! g( t' H7 ~5 N+ ]8 H- |) |        }
' h; P9 q, F" j. {0 M' j
# R% m$ t8 n" m9 M; N1 O! j, `3 c' S4 v        public void agentStep() {
$ X1 R5 L9 k) X) W; L$ V                System.out.println(id + ":" + Globals.env.getCurrentTime());
- l. }, i' j0 \, T- j2 P; U7 R        }
; N  P' h/ O- k}  g. L4 M) P  n# ~
  y0 Z" M( ]1 a* D0 @
public class ActionGroupDemo extends SwarmImpl {
- z, k- p+ e7 I3 t" A$ i9 E7 ~        ScheduleImpl schedule;4 r5 g' y) a! \5 A0 Y( O
        ActionGroupImpl actionGroup;* `. Z% Z" q. e7 y! k5 c
        ListImpl list;" f$ f( A1 t. h9 W7 j. ]$ k
        char Id = 'a';
* C) r5 W+ R2 G6 w- ^  e1 c) T; g) D
" Q6 k% m3 g/ E        ActionGroupDemo(Zone aZone) {
! S9 v7 A9 d0 P* V; G                super(aZone);  {) D& N% b8 T3 p% [' B
                list = new ListImpl(aZone);
5 h6 P( F9 L3 C+ Y% q, A% t                swarmSetp();. ]6 j* v5 ^- r/ i* `
                actionGroup = new ActionGroupImpl(aZone);
7 E) O& B, D0 D5 R                schedule = new ScheduleImpl(aZone);9 C5 H/ P2 a$ K* }5 L
                try {
) b" `1 G! ~$ b                        Selector agentSel = new Selector(Agent.class, "agentStep", false);- e, I" t4 f- L8 _2 Q: [
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行! B& H) k# ~- @6 I* B6 y. l' n9 K
                        
3 `. [$ C+ M5 I0 ~0 P                        actionGroup.createActionForEach$message(list, agentSel);
: r5 m+ |9 {+ Q5 A9 t0 ^9 d! c0 G                        actionGroup.createActionTo$message(this, swarmSel);, v4 {# e. a/ J# L1 n4 l7 f  V
                        schedule.at$createAction(0, actionGroup);
: F$ N$ L" l9 O+ Z. v% ^# b                        schedule.at$createAction(1, actionGroup);
- h; l0 ~0 l  f3 m                        schedule.at$createAction(2, actionGroup);
5 b0 s+ Q* Y  T. y6 K# H5 E! p
                } catch (Exception e) {0 g6 N6 O  X8 W5 b2 x
                        e.printStackTrace(System.err);$ b+ l& R! H7 o! v
                        //System.out.println(e);9 K2 d& c" O  \( Y$ Z" W& K: |
                        System.exit(1);
6 M  ^3 u1 \6 c; ?                }
) ~! @* _6 I9 O- s( z1 n! ^$ Z+ N- l; Q
5 r$ ~# O/ z5 J" x5 j0 {
        }
+ `! b* ^% O& f7 G+ D  z7 D, S1 r& D1 [; E8 @
        private void swarmSetp() {
: p. [' ^6 h! C" o1 ~/ e9 s                list.addLast(new Agent(Id));
2 W/ N& ~4 |9 z  o                Id++;
( {5 n! p8 U1 J- }- k1 z        }
' S3 ^1 {9 |. w# ]/ [2 E: W) g. m# m; ^7 T
        public Activity activateIn(Swarm context) {5 I; a8 s1 v7 N' E: s
                super.activateIn(context);
0 w" y+ g; L  o% `& U                schedule.activateIn(this);
0 y! M$ ?* U# Q/ X' l                return getActivity();, U9 g# s! C1 H6 b! c5 x: |
        }" l% B" z3 V1 t& C

$ s& C$ c+ a$ s7 u        public static void main(String[] args) {
( j0 \2 i7 u0 a5 W- z! ?- \" w                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
3 p" E( O" J5 \+ [, o7 w# x  ^0 B4 G                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);% V8 v  U3 \  l2 o& Z. K0 |
                swarms.buildObjects();1 B$ \" W, v3 w( M. x' D9 a; Y
                swarms.buildActions();
) [% b3 Y; B) l$ O% `# G) I  ^$ H                swarms.activateIn(null).run();4 j. i$ Y) h6 {+ J# @& N1 `
        }
( r4 i4 l3 M2 e) U# m
8 D  h# v5 h! P- S0 A}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-11-16 22:48 , Processed in 0.015399 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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