设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7500|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
( O8 `, T; P7 _# a- y$ N! D+ h1 |* |* d. m9 a1 p
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21! n6 c2 Q; j6 C6 |# V. m2 x, S9 ?
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.2 ]: f& l  b1 K
swarm.SignatureNotFoundException' |+ P& e; K8 l: q7 j; v! R% z; x
        at swarm.Selector.<init>(Selector.java:76)
" F! J# ~# ~% r3 o2 P! z' @        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)  s, ?' m4 {% S3 g  W
        at ActionGroupDemo.main(ActionGroupDemo.java:67)8 ?4 b* D/ E) ~, C7 n
% h' i" T* k+ I* o4 y% c
! |' S% \; G) o2 j: d' l5 W( r
import swarm.objectbase.SwarmImpl;
" Z7 `2 x3 k% e- pimport swarm.objectbase.Swarm;  D$ X. l1 d2 \1 v
import swarm.activity.ScheduleImpl;0 E( O' H9 Z3 J8 y6 k, u
import swarm.activity.Activity;
; V' w& s) @4 X$ N' q9 x9 wimport swarm.activity.ActionGroupImpl;/ A' i3 k5 o4 G& L
import swarm.collections.ListImpl;
' q* [( Z0 }, w& Eimport swarm.defobj.Zone; $ N" i# L: A; K+ S9 t
import swarm.Globals;% ^* S+ h: ]3 e
import swarm.Selector;
7 u* j# F' p8 u" V- Gimport swarm.activity.ActionGroup;
( `$ s3 W5 N3 c, |# nclass Agent {/ `  G, P/ I$ S; _( {
        char id;
4 M/ I' n% ^8 n6 x! ~3 m
+ S8 S- `! t( a9 J% t        Agent(char id) {
3 W* Z# ]& F4 F1 w0 a) U4 \                this.id = id;
% [: g/ J- A7 ~! l$ i6 `- Y7 c: e        }% g% E- F/ s1 t% c% T

4 d2 J2 L; ]( }. E        public void agentStep() {
' T, h. G2 }% d2 _% [0 p( z                System.out.println(id + ":" + Globals.env.getCurrentTime());
) a6 z. B! d) G) I        }
0 B9 o  n( @2 w}
& I6 w" |4 D/ x' M4 s3 X, y# w, ?- [* L
public class ActionGroupDemo extends SwarmImpl {
6 }. ?# R) a0 V        ScheduleImpl schedule;
& O/ {4 c1 i" X# Y        ActionGroupImpl actionGroup;) ]6 g/ g  U9 r  K+ L! e
        ListImpl list;+ T9 x2 t5 m) L2 H/ o7 a0 a4 [
        char Id = 'a';7 @; n+ E+ B6 z- G  A" R' s6 Z9 v  e
- J! {) q$ u7 U7 v8 f* J
        ActionGroupDemo(Zone aZone) {* N2 Y) m$ c1 P, L2 i8 ]4 |
                super(aZone);
: X! h4 C3 P; b. P' Z7 N  v2 W2 W( y                list = new ListImpl(aZone);1 J; A- s$ J" A
                swarmSetp();" m' ?8 s, v5 G* v* B+ |
                actionGroup = new ActionGroupImpl(aZone);
" Q0 a: q+ y4 x1 N5 ~" |                schedule = new ScheduleImpl(aZone);
4 X2 ?9 W/ r- e                try {
7 \- y+ w1 v) a9 s! y! m                        Selector agentSel = new Selector(Agent.class, "agentStep", false);5 f9 }7 u, ]8 u; F* N8 D  e1 f/ k
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
. V1 j2 ]" X+ Y                        
8 e& l" G! [% A9 }                        actionGroup.createActionForEach$message(list, agentSel);" m/ m; O/ M: d- u4 x# C
                        actionGroup.createActionTo$message(this, swarmSel);
" B3 Z' {; ~0 _                        schedule.at$createAction(0, actionGroup);
! h* a1 U/ S/ M                        schedule.at$createAction(1, actionGroup);
* ]/ s7 _4 B: ?" |                        schedule.at$createAction(2, actionGroup);
0 h* p; s; d4 x2 x7 Q6 d0 t! `5 T1 c  G1 {
                } catch (Exception e) {) G/ Y( D8 ?6 F3 |% g
                        e.printStackTrace(System.err);9 I1 p. i7 D) ]; h9 X% D
                        //System.out.println(e);
6 K! m$ v) b& W8 {( b                        System.exit(1);4 ~0 X' w1 L/ Q5 W
                }
/ O$ j8 j: n4 P; M( r% S8 {/ {. `
; Q5 C& R) K0 z4 Z* [& y& h1 @  ?8 Y" N& M1 P; s' x
        }
" `4 J4 ?  o$ X) j
! O5 M$ y+ c& w" o2 q1 t        private void swarmSetp() {, `' D5 I  L! C5 S+ w( G# B
                list.addLast(new Agent(Id));
$ n6 X) O1 n- c/ G                Id++;
- T9 R! L! M* c, L. l8 M        }
& Y, B- r. R8 d7 O. I3 @/ J  u
- N' r7 F! u! g, s        public Activity activateIn(Swarm context) {1 l1 @; L' r" M0 g  K- q9 P
                super.activateIn(context);
% v  L! V  q) y. Z6 r- A                schedule.activateIn(this);5 [$ u" e9 q5 a: F
                return getActivity();/ ~# r+ b! z  D5 t2 X, ?4 ~
        }4 k5 V5 _" H+ y8 m' T

4 N9 Q4 {3 s, E/ Q        public static void main(String[] args) {* B; g& [9 F' ^4 r" w
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
% ^' h4 F" t0 B0 r' K) D                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);; H7 N( }* b) |$ f% G
                swarms.buildObjects();) L4 ]& n+ s' {, m; T8 {. r
                swarms.buildActions();
) }) {" b- G2 U* k                swarms.activateIn(null).run();
2 q0 B( H7 ^2 Z! b- R- g        }
* ~, q  ]; V1 ?+ Q& M6 c
) s% c  d! s, }}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-4 18:40 , Processed in 0.014973 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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