设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 5499|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
$ S6 q4 h6 h  c: j/ W# U/ b! A
7 H) C) w# u! Q本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
) ]% i5 Z8 Q1 @! T* L4 `( a* q7 f以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.* j& x" ?5 d+ A8 D$ }8 _
swarm.SignatureNotFoundException
& e8 }0 e6 y4 j! D6 P" F        at swarm.Selector.<init>(Selector.java:76)
* i7 I! V8 T" W( e" r        at ActionGroupDemo.<init>(ActionGroupDemo.java:37), [& B# B( F+ I' f
        at ActionGroupDemo.main(ActionGroupDemo.java:67)0 [. d6 D5 `& q& I' [9 J1 v  J
5 [  T% ^5 D5 M( w

- I7 y$ ]  b7 zimport swarm.objectbase.SwarmImpl;
9 @( B$ K: u( G, ?- d, F3 j0 {; E9 b" Qimport swarm.objectbase.Swarm;+ |& U; ~; ^, L6 N. X* k/ i
import swarm.activity.ScheduleImpl;# W# F7 ?$ K$ D/ a& x5 V6 M7 A* o' N
import swarm.activity.Activity;
; ~6 Q8 Q  _3 k  Z8 g# ]import swarm.activity.ActionGroupImpl;
2 ]+ k8 ~: F- j. Y" F& a1 Wimport swarm.collections.ListImpl;
% B" t& p) C/ Yimport swarm.defobj.Zone; & D: ?- T5 o3 w# O! Y
import swarm.Globals;
; V7 H1 W$ C$ G; {# R) vimport swarm.Selector;
, C0 |( r+ I5 f* cimport swarm.activity.ActionGroup; - m. o4 x+ K: i& e/ e+ _! o
class Agent {7 J& v+ H$ ^' j
        char id;
8 o( j% }8 |. Z0 f. s
( M  A' G' c& v# T( }* ?        Agent(char id) {) S8 E* ^$ f$ o3 i, Z
                this.id = id;
6 K* s% Q9 i$ H7 t: G  c        }. l, M$ }8 C) e
  ?1 R# r3 \$ u8 x+ N
        public void agentStep() {
+ C. {3 f( g, D3 ?# u9 x                System.out.println(id + ":" + Globals.env.getCurrentTime());
# d1 l4 N* g) @" \1 e4 M. u        }6 H/ M# L+ W1 S' D
}
8 N0 v: O$ p& t3 ?1 @" \; R0 q; j" Z/ B: n! R( E, _# k  r. t9 \
public class ActionGroupDemo extends SwarmImpl {& g. L8 r& E3 I+ `. U/ s9 G
        ScheduleImpl schedule;
% {7 P1 E' w# O- S0 E& x: @! {$ W3 w        ActionGroupImpl actionGroup;
" h: A% z5 _5 A. u        ListImpl list;
5 ?* `0 w  g/ E9 c: h        char Id = 'a';3 H4 e9 F" U' S  V+ E/ n
! L6 Z& t! n6 v" N5 k" b- ]5 @
        ActionGroupDemo(Zone aZone) {! D% T4 J( _# f
                super(aZone);* h  a- ^# w  D3 F7 A* D5 D; a
                list = new ListImpl(aZone);
5 D) {# B4 o4 l                swarmSetp();& Q: i+ v+ W. y0 R1 I$ s/ X" F' S
                actionGroup = new ActionGroupImpl(aZone);; T  X2 l, w& i, W$ }+ K0 V" h* ~" r
                schedule = new ScheduleImpl(aZone);
0 c6 Q- [/ u# U5 u  b                try {
' ?" o/ ]1 s9 i                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
( x4 V+ e/ V% u5 b- A$ I                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
) j. b/ |8 h0 `5 Y$ Z" {3 R                        ' @& E- D* Y- q! b
                        actionGroup.createActionForEach$message(list, agentSel);
' q! `( y6 G! A                        actionGroup.createActionTo$message(this, swarmSel);7 k, E) G5 V9 L% C6 {
                        schedule.at$createAction(0, actionGroup);- z: c7 n3 c) |7 g8 D
                        schedule.at$createAction(1, actionGroup);+ m( s+ c7 t- ~, u. A
                        schedule.at$createAction(2, actionGroup);
  D" @2 _$ U+ K5 Q; j; U+ }1 [- M8 S/ X+ V. `' u
                } catch (Exception e) {8 T& h7 i0 j3 @( Y7 T
                        e.printStackTrace(System.err);
, t; s; s; K9 l6 T# s                        //System.out.println(e);, i. r& e( V/ R& G" ^/ D7 i
                        System.exit(1);5 F8 T6 ^0 B% Y% g( d# V2 g& @
                }. v# G" ^" x" ~$ _6 L

0 t: L; b" O0 U& ]! J9 V0 k' U! ?/ U: ~: @3 i" u- v" l
        }
" z* @7 n9 g2 H7 {" C. i/ Z; T' a! Z& }* l  S; J% Z
        private void swarmSetp() {! f7 s! f$ J8 [2 `
                list.addLast(new Agent(Id));
/ E  Y; F# y& `5 Z% x( Z                Id++;5 w4 G# a3 Y4 v" z. {, t
        }# q* e. p3 r3 _# I( z: s# S* H+ {

' @3 e* k* @$ c: t5 A* U" k        public Activity activateIn(Swarm context) {
) f: O! ~" ?; k, z                super.activateIn(context);) E9 V9 I: r' J( v+ _
                schedule.activateIn(this);
0 k/ A* F8 r1 K& C6 I6 B9 C                return getActivity();* o; a# r1 Y; _5 P, S' [
        }
* Y8 m' f! r2 k; b: z6 j  c" Z6 q9 U$ N
        public static void main(String[] args) {* h/ o. c/ b+ y/ C7 D( Q
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);9 {' ?; `# {! d2 V( g3 |& {: s
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);$ Z5 x! H: o; H- y- v5 b7 |% D
                swarms.buildObjects();
7 G. D# v' F& ~+ ?( v' ~0 L                swarms.buildActions();
' ^* ]( W: K/ ?1 N                swarms.activateIn(null).run();
5 n8 M6 m* ^' f        }) j/ ~7 z% R' l$ a  b

& T+ `$ H7 _: _% k) R}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-12-11 04:01 , Processed in 0.015669 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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