设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6040|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 , c# ?7 p  G; S7 U" g

( {, j3 \+ a% J" X7 w, A: h本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21& I) O! X. O* ?" A
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.0 X( x" C& y0 M
swarm.SignatureNotFoundException
& K9 b/ F- v* r1 Q+ x        at swarm.Selector.<init>(Selector.java:76)
/ g0 s1 C( |$ M- X, M        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
8 w# v! \" H& u& t- i1 Z        at ActionGroupDemo.main(ActionGroupDemo.java:67)
5 I9 ~4 S4 K# ~2 I, `: ~6 O' j+ O5 J, w( Y7 H

5 d, T' U0 w( M0 F* iimport swarm.objectbase.SwarmImpl;/ V) R1 p: `$ d8 A
import swarm.objectbase.Swarm;- J. @$ h8 Y7 s, M3 ?
import swarm.activity.ScheduleImpl;6 L; U3 r+ H$ X
import swarm.activity.Activity;
( C0 l) H# s6 yimport swarm.activity.ActionGroupImpl;) y+ _9 T; f) V( j2 U% S
import swarm.collections.ListImpl;
! |) u" u7 I) S4 fimport swarm.defobj.Zone;
" J7 i3 f9 c; h2 \+ cimport swarm.Globals;6 t$ I6 Q. n$ w
import swarm.Selector;; M) t6 {+ a1 \; Z
import swarm.activity.ActionGroup; % ~% G3 J' l. e9 J  j
class Agent {1 B: G" ^% ]! W. Z. N8 z
        char id;
" o) w. ?# z2 q: g" n5 F0 A8 u" r# C! d
        Agent(char id) {6 A! @6 W2 y) b' K$ ~
                this.id = id;: G" ]7 R% N: ~+ g
        }
% n5 @5 N; A4 T* U$ K; [4 Q" Q" y) u8 |( n$ c/ M
        public void agentStep() {+ C# R( b3 f) O/ F7 g4 I, r
                System.out.println(id + ":" + Globals.env.getCurrentTime());: q; B( l  l/ o4 n- t
        }# o2 e+ d" L$ H
}; m4 p. i/ G6 q2 h9 B" @

( A3 ^# n1 L7 w* @* }public class ActionGroupDemo extends SwarmImpl {
  z6 E2 c3 U- G0 f        ScheduleImpl schedule;! h0 O3 v; A2 G" B
        ActionGroupImpl actionGroup;
, u& A: H6 |  _. e' Q        ListImpl list;( I, R9 {4 j) X" X
        char Id = 'a';! ]7 {3 g) |3 L
' W- @" p" n+ S3 [" ?+ D# P, S8 e
        ActionGroupDemo(Zone aZone) {
$ I' M  P# [0 ^5 O5 f3 Y" n" p                super(aZone);0 I0 W$ Q$ L1 y. v- w* P7 R$ S# y' Y. J, T
                list = new ListImpl(aZone);
6 t4 g3 W; G* i6 ~+ I                swarmSetp();* r" S: M6 Y9 _1 Q  k" H
                actionGroup = new ActionGroupImpl(aZone);+ ]+ \8 @7 e2 I+ K! U% G3 Z% t' D
                schedule = new ScheduleImpl(aZone);! y4 ?5 y; ~: u
                try {) A/ G; q. ]! r6 g
                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
+ R& J/ i( s2 m/ \3 h; K. j  t# z                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行1 z; m6 O. Y; z: v
                        $ o$ ^1 n; ?% @1 n: \
                        actionGroup.createActionForEach$message(list, agentSel);
' ^7 C( }5 u; N4 _9 x) O  W                        actionGroup.createActionTo$message(this, swarmSel);" V! k" J+ W- p6 D% v6 n
                        schedule.at$createAction(0, actionGroup);
: ?) \+ m$ Z/ O+ r                        schedule.at$createAction(1, actionGroup);
+ h3 V# }, X) [; c# [                        schedule.at$createAction(2, actionGroup);
3 v& m; P( g4 o  V4 o& u- }0 N( B
4 n5 G" t- X: e4 D3 ]                } catch (Exception e) {
3 S/ L) x4 o( l5 K; |  o                        e.printStackTrace(System.err);
' F$ l- D% n* c& A3 M                        //System.out.println(e);4 T$ D% R) {- r" i. ~
                        System.exit(1);3 K/ |* ]$ d8 n7 u. N
                }1 V( F! Q9 b% v8 i# v* i
- L3 x' [  h$ L2 V
! k, C! {5 O9 ]  Y; f9 z
        }, A" V( O! N* g* i
) n+ G1 j4 ~; k$ }6 |9 C) F0 K
        private void swarmSetp() {
! {$ s1 K/ {7 F% O! u7 a% B                list.addLast(new Agent(Id));" w: t, ?) O6 |# p$ z7 E; M
                Id++;) D' G  |; [! S# x  T
        }
( I) ~1 e  ~/ c5 D0 _0 E/ A# @. r1 U
        public Activity activateIn(Swarm context) {
" `  h8 A. V* S8 p$ P: u7 E+ R                super.activateIn(context);
" P5 |. o9 c% P0 j. L                schedule.activateIn(this);- ^& L9 r; \0 a# u& [/ q3 H( p# C! o
                return getActivity();1 B8 H% ^* P, l7 t+ H) G+ X
        }& q; h4 ]' H+ d! n( k

. Q2 q; t- V- F4 O        public static void main(String[] args) {
0 @* g  N( v( w                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
' O' [* V5 [$ f. \6 j                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
  R" L9 O! _; I9 U                swarms.buildObjects();5 Q6 k- c* Z$ P+ \7 A
                swarms.buildActions();! o; |% ?2 g3 H6 P# a
                swarms.activateIn(null).run();
" h! @$ V( M5 c1 w5 H* m2 e        }! u5 n3 u# m4 {% U5 x6 J

! H/ f; I: q! s. y2 J}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-1-14 17:18 , Processed in 0.017202 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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