设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9999|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 ' q- }, z) m/ x1 A, S/ X# U
! a" ?5 z0 G& l$ P1 K
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update215 {! z* n% F, {* |3 _' O
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.. T9 V* Y; T1 L; J
swarm.SignatureNotFoundException/ f/ N- V8 a5 ?( R5 Q0 H/ `4 E! i8 B" r
        at swarm.Selector.<init>(Selector.java:76)
) I* y5 w0 ~" o8 R1 S' Y7 p        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
$ `! j: \$ e' ~3 ^: X$ p7 j; {6 d        at ActionGroupDemo.main(ActionGroupDemo.java:67), k( k' B( x" m! H2 W& T3 _- Z

$ n: ~, t, e6 [+ M
( |" P! s, @2 b# q) limport swarm.objectbase.SwarmImpl;- [6 a, ^5 k' \2 I; M/ I
import swarm.objectbase.Swarm;
0 d/ ?3 E8 {# B$ m4 e# m$ |import swarm.activity.ScheduleImpl;% g+ x, C7 v* x& c# f* N
import swarm.activity.Activity;* c, Y3 P# f5 J
import swarm.activity.ActionGroupImpl;
) e$ T; _, Q2 s( q' B6 g' l1 ~1 }import swarm.collections.ListImpl;
5 B$ D3 b% ?! _! y) x: g' t' U$ V) simport swarm.defobj.Zone; # c+ K2 x; n: M" m* h
import swarm.Globals;
1 n, M' e, @! y+ @. t8 H" bimport swarm.Selector;
- S- K8 E, h' iimport swarm.activity.ActionGroup;
' S- ^2 D- _. C" p/ y* B! Cclass Agent {
5 O9 o+ D" A+ |3 i4 P6 s( i        char id;" h* _' p: r$ J
- v5 G6 N$ x6 }: e; L* q
        Agent(char id) {$ r6 e: l' ^0 Q" Z: [; l* p, j2 e
                this.id = id;
% Z/ i0 n8 P& ^) \4 \0 o        }- k. Q1 K0 ~- {  K5 B

9 C8 m$ }+ ~3 Y: O; y; Y+ ]$ W0 E        public void agentStep() {; c* {9 A) b  ?0 j6 A# P
                System.out.println(id + ":" + Globals.env.getCurrentTime());
/ w- ~# A) S# o2 M! z        }; M* v+ Y6 ~4 R/ a, G1 p6 D
}2 i( ]& |# w6 d0 M1 Q7 Q
$ N; H4 y: X$ B1 d9 K8 l
public class ActionGroupDemo extends SwarmImpl {
* v/ H$ p. [/ K) H+ N        ScheduleImpl schedule;
; g/ U4 x- D$ A! c( }        ActionGroupImpl actionGroup;7 f4 Q# H" t: F
        ListImpl list;
8 A5 w' _) X9 b        char Id = 'a';8 |! \- b; E+ B
/ f" P* z1 b0 _  S, U
        ActionGroupDemo(Zone aZone) {+ @2 r1 D& Q  _/ T1 G, J( L* ]5 ]
                super(aZone);5 ~9 v/ B) t" m  v3 ]' q( t0 o+ Y4 @
                list = new ListImpl(aZone);
$ m5 N. C8 W7 l5 S' M3 ]  R                swarmSetp();3 V2 y% h0 ]0 x( t) p: e
                actionGroup = new ActionGroupImpl(aZone);/ {7 r$ S: ]/ k/ d7 s" F0 p/ ~5 P
                schedule = new ScheduleImpl(aZone);1 a5 H* X: j1 e* @! Y
                try {
+ [% @4 P9 e6 r$ F) [) u( [0 j                        Selector agentSel = new Selector(Agent.class, "agentStep", false);! Q3 o9 \5 G9 c6 F  U& g
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行. @5 x" X5 r! G6 v+ P- B0 d9 u
                        - b/ j- V+ U. P4 L( q9 b
                        actionGroup.createActionForEach$message(list, agentSel);8 x: Y4 _+ ?& a2 U( b
                        actionGroup.createActionTo$message(this, swarmSel);
: A/ q8 X! q+ Y9 G/ d+ _% a                        schedule.at$createAction(0, actionGroup);3 F% g: Z1 g8 X. x2 n
                        schedule.at$createAction(1, actionGroup);
5 ^, G, L0 a4 l$ D% g& O% m                        schedule.at$createAction(2, actionGroup);) w9 @3 _9 I4 D6 E$ {9 b0 E2 P
9 D( Y* {! l4 s8 _! f3 k5 M* y8 `
                } catch (Exception e) {8 o! W: _% }1 F" h
                        e.printStackTrace(System.err);
) o4 z) b; I% q1 g                        //System.out.println(e);
: `% |8 b8 P6 L; ?4 C; ^- X                        System.exit(1);
$ d& A5 b( D/ Q% L. }                }
9 q/ E7 k2 {; `) f. P0 g% k$ o" J+ U& X$ I) x# {9 r: ]

+ j; D- Y* H5 b/ ^  ^- I- w. \- e  s        }
9 j) O! W9 u, C8 T* H( n8 C3 d; I. O  E5 o
        private void swarmSetp() {, ~" W. A& @$ Q
                list.addLast(new Agent(Id));  i: B- p$ G( \" H
                Id++;4 {, s7 H7 v' c9 O. V8 J. O# P
        }% i8 `7 s& o7 R

, f) A) e: k# Q5 U2 b8 m        public Activity activateIn(Swarm context) {
( e% C/ i& j( u% e% ~                super.activateIn(context);
' _8 v6 Q( G1 U9 t                schedule.activateIn(this);
( A! F* b" K, o* e                return getActivity();( s6 Z0 @! Y. {/ ]+ p
        }! Z$ h/ \+ I$ [( L3 D
: R! B& H2 Y2 @# q  w
        public static void main(String[] args) {2 y2 M8 n/ v& Y3 q! Q7 }' O
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);, [# ?3 a$ [5 r/ F5 T8 L  l, I
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);* N+ O5 r2 T( c; K9 \" j: k% v7 B
                swarms.buildObjects();/ [1 C6 v6 w! o  Y- A
                swarms.buildActions();
; g2 F* J) V! c) U7 G                swarms.activateIn(null).run();4 X: [& C2 e% `, r. g* w) ?' v
        }) k+ Y! S* V! u" m/ a

! s6 U* \7 E" b+ U, Q; x}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-5-31 03:29 , Processed in 0.013044 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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