设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8499|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 / M3 M+ m' q+ O
: W2 F$ j+ A' B( y, z0 c/ J
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21! i! X6 X4 r) o7 q5 ~
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.1 l& R7 }$ t/ Q' N
swarm.SignatureNotFoundException- t; m  M; _& c3 ?3 W  c$ {
        at swarm.Selector.<init>(Selector.java:76)
6 L$ M) R6 J) L5 f        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
! s* p9 F2 x4 c% i- k        at ActionGroupDemo.main(ActionGroupDemo.java:67)
( q( o% j8 u7 a, |0 q
- W4 z7 I: F4 m- i7 t1 U; l* O+ _8 U& @$ g1 G+ J
import swarm.objectbase.SwarmImpl;. a) Y0 I+ |, h8 s1 `
import swarm.objectbase.Swarm;
; r( h8 w/ F5 q/ b, {  ^. Bimport swarm.activity.ScheduleImpl;, j. ?4 F% w' Z
import swarm.activity.Activity;
4 _& p/ j3 L/ }& d$ o/ simport swarm.activity.ActionGroupImpl;! q+ a1 X* v. \1 l( ~5 T. j/ [
import swarm.collections.ListImpl;7 V6 p. n7 \0 ]7 \
import swarm.defobj.Zone; # }7 f9 Z5 R# J
import swarm.Globals;: T' H& K- D  D, n3 X
import swarm.Selector;
' |. v; `+ \/ G5 I. timport swarm.activity.ActionGroup; 2 O9 O: o+ b( S' v% \, o
class Agent {
4 ^7 b! M" E  h  }7 m% ]        char id;
- ~4 ~% D9 r& q1 Q/ p/ P* I1 p% K" W' H; X2 P: @
        Agent(char id) {
) b1 O5 `: ^3 I$ ?                this.id = id;2 }. W  G: r" W* u% L6 D+ \% e
        }$ U2 a0 U' E9 K
( c/ G, L/ u5 a7 v, q
        public void agentStep() {$ K$ I& f* F1 X4 w- T, P
                System.out.println(id + ":" + Globals.env.getCurrentTime());, [- G, O  j! g
        }
$ t7 J0 W/ H& S}
( C9 C0 y1 f4 S7 N; m
. {8 o+ J* u3 G0 b' ~  w8 V( v, Mpublic class ActionGroupDemo extends SwarmImpl {
! b! X! m7 u* I: x& d        ScheduleImpl schedule;* w/ m* H- o  Z
        ActionGroupImpl actionGroup;
5 T3 s, D1 y5 `( @3 L5 U$ u        ListImpl list;3 Y1 G: L& E5 i! ]9 q
        char Id = 'a';) y1 ~! a3 Y& w/ O
. y! c: {6 u# C  _
        ActionGroupDemo(Zone aZone) {
3 G1 Z6 Z9 g8 P9 `                super(aZone);4 F! E) V$ t9 V4 `9 c+ K; ~! i
                list = new ListImpl(aZone);$ g: X3 k: e% C: W
                swarmSetp();- l; Z! Z& v# A6 o
                actionGroup = new ActionGroupImpl(aZone);
+ p4 a; n2 `0 P! b6 `! a                schedule = new ScheduleImpl(aZone);) X; q' b5 P8 `. T" O- S3 C
                try {
) O; M% J! F; ?6 x- |. O                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
) t* h# D) F3 L1 q5 h' v& W                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
+ y2 [  {! H  m0 f0 ?  ^                        
0 Z. N9 q! _1 {. c                        actionGroup.createActionForEach$message(list, agentSel);
3 |' p( k7 {* X" v: |# z) D* K                        actionGroup.createActionTo$message(this, swarmSel);
+ U( o1 e: ~- ^9 f$ {6 ^' l" V                        schedule.at$createAction(0, actionGroup);! q& A% J- h  v0 D/ _
                        schedule.at$createAction(1, actionGroup);6 ~' l9 I5 p4 @
                        schedule.at$createAction(2, actionGroup);
! [3 l- }; O9 M- A4 p2 U
" n, h8 S* t1 _! X7 o/ F: C                } catch (Exception e) {
+ `- P5 ^3 G$ a' C+ F& J5 @3 n                        e.printStackTrace(System.err);# P8 O8 M# k6 O1 o* k5 W# H
                        //System.out.println(e);
5 f% a: K; s+ T+ C  W7 f+ Q+ Z* B                        System.exit(1);
1 [8 p6 [: a8 s                }
: R  k5 g% I5 t: G: \' Y1 m* N, K& ~0 K" f1 q- W

" d. _$ E/ X0 X9 m  M0 H% m' {        }0 s6 _) |+ \; D
: i) b  w( g7 V5 z
        private void swarmSetp() {2 J0 \& ]5 |5 j* Q* O
                list.addLast(new Agent(Id));
. y4 r% B+ d! \$ d3 Z5 X                Id++;
3 [- r$ t" v7 o; F        }
( J$ E5 @8 [+ T4 d8 P7 I# e& _2 G) P) X4 U: c6 A
        public Activity activateIn(Swarm context) {
4 N$ z( J/ \! J/ d                super.activateIn(context);
* M3 S, G7 f* k( H1 b( P$ m                schedule.activateIn(this);
" H) D% H$ e4 e! x8 T                return getActivity();
! Y" i' `7 Z/ L9 ^0 G        }' H5 b" F0 I. F4 z  j

* x( v/ e0 ?* M6 L        public static void main(String[] args) {
, q) u& S, Q, ^% i9 N                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);& I$ ~6 x' h% Q, z
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);: ]/ L) a, }5 u' O
                swarms.buildObjects();  A' G/ b) w. }" a) l
                swarms.buildActions();
& }1 I6 [0 F* z                swarms.activateIn(null).run();0 E; h/ p# f7 c8 Q6 X* u6 [! b
        }' b6 O2 i3 X1 e: z9 o  [
2 v" ]3 O7 ]; e+ V1 o; A
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-4-14 13:20 , Processed in 0.015641 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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