设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 4799|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 , d" p5 v$ R  y6 K
" y( @. _' u9 Y% y" K' u
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
1 e9 B. c2 L; V6 K' J( }% E: h以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.  W8 Q( k) x: o8 x3 O( t
swarm.SignatureNotFoundException
0 S! J2 y  o' e0 ~# e        at swarm.Selector.<init>(Selector.java:76)( Z: E. M+ X, Q& |- [% G
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)* q; Y9 L4 x0 J
        at ActionGroupDemo.main(ActionGroupDemo.java:67)
, L% x$ D, F- r$ F
% _' }" P; Y2 B/ d) O
$ D6 B( E- L7 |( d' Iimport swarm.objectbase.SwarmImpl;
* T. r& B/ O0 p, q# H% c/ E& Oimport swarm.objectbase.Swarm;
; [% L1 w6 `6 ~$ q8 kimport swarm.activity.ScheduleImpl;/ E, n$ n" I5 [* Z
import swarm.activity.Activity;
) F5 ~: |& s, ?2 q8 F+ F( ximport swarm.activity.ActionGroupImpl;
+ W  d: F0 E5 `& a' i2 Q. N; Qimport swarm.collections.ListImpl;7 b( @% Z/ N2 l" V' {7 I
import swarm.defobj.Zone;
4 k' ]! {4 X8 h5 f* f" oimport swarm.Globals;; R1 j* t) @, k  T0 h6 X; Z4 j; c
import swarm.Selector;. w* B! U# d$ ^, T. o3 N' d' o; ^- U
import swarm.activity.ActionGroup; 0 T) g, [: @7 a4 U
class Agent {
9 ~$ h! z+ s+ {! v1 t6 g        char id;2 \8 K& Q# U: X4 B

! X- o! f. a5 [5 e: W        Agent(char id) {! C% U$ M; D4 K
                this.id = id;( j* O6 h, E* o+ G6 ]- I% D+ ]
        }
# g7 |) u$ ]1 `7 R5 t& J5 U- [& A7 v
7 N  V& T4 y7 q9 e3 Z        public void agentStep() {
! n) Q$ S" Q' \  ]: C1 Q                System.out.println(id + ":" + Globals.env.getCurrentTime());3 I- q4 L3 z/ {  u: Y
        }1 ^4 p1 n4 o! w% F7 @
}+ ^8 i( Y- Z5 y8 q
/ B! j+ W  |, x, ?% p
public class ActionGroupDemo extends SwarmImpl {
: D( Z9 E0 ?4 M0 |- I$ a        ScheduleImpl schedule;6 X8 a6 K2 U0 }0 L5 T
        ActionGroupImpl actionGroup;" D+ J6 Q# d9 x) |' O
        ListImpl list;& _! _$ t; ?/ e! Z0 l& D
        char Id = 'a';
4 @7 {* R" c, q, G. K6 p- i; M: r- \* A" y6 j
        ActionGroupDemo(Zone aZone) {
5 n$ ?& e7 C+ r) p                super(aZone);
! G1 z) Y2 k* y" m( S                list = new ListImpl(aZone);9 @# I0 I+ @7 ?8 J* Q3 [0 S4 U8 B; i
                swarmSetp();
1 N8 s& B# v7 t$ C& J8 Y% U$ Q7 i                actionGroup = new ActionGroupImpl(aZone);
2 K' s- [1 S1 r+ B8 K! S$ e                schedule = new ScheduleImpl(aZone);" _7 \5 ?4 x! ^' R
                try {
" U* r- @. n, e1 x: L0 o                        Selector agentSel = new Selector(Agent.class, "agentStep", false);9 V: P# _$ C; l& f4 H
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行& h) f% C: M0 V
                        
; S, s" T, Y$ h: ^1 j1 j# k1 ^2 D0 M                        actionGroup.createActionForEach$message(list, agentSel);/ g! X4 |, ]0 r* r% y1 v
                        actionGroup.createActionTo$message(this, swarmSel);
% t' S, D9 z! C9 |                        schedule.at$createAction(0, actionGroup);
2 u7 W, E5 _. m% e+ G% E                        schedule.at$createAction(1, actionGroup);
, n  a2 ~. j1 ]  z0 R1 ]9 j                        schedule.at$createAction(2, actionGroup);
  X9 b# U+ F) I: O6 M2 a3 |, ^" E
0 y6 v! H; Y3 ?                } catch (Exception e) {. |3 @( z* F7 u" x6 u4 o) O3 o* h! B7 ~
                        e.printStackTrace(System.err);+ j( b; Q" z* L9 @9 c+ ?
                        //System.out.println(e);1 J" P. {+ a+ U* l) q" x" ~; v
                        System.exit(1);6 U4 `/ w6 r+ C7 P% F; Y# g+ X, T
                }8 s; x; T- I: U& o: W' l

5 T- a/ ~5 u) i* q
. P( P* k0 x  s: p2 s        }
4 M+ G& R5 Z/ K8 x+ M9 K
7 r9 P8 y/ k, U! q* R- A        private void swarmSetp() {
% {9 k8 z! ^! B% v+ h6 W; W                list.addLast(new Agent(Id));, m, H8 U8 L1 i; [0 a
                Id++;
, s; [1 l! n/ v, K& P5 P        }
1 b6 U) M2 Q: a. q2 b) V9 R; F3 K0 K0 i2 ^) F5 Q
        public Activity activateIn(Swarm context) {
* [- V6 b7 j' n7 b                super.activateIn(context);
: u- ~9 j, a/ B1 G- |6 d                schedule.activateIn(this);7 B$ v) C# f" R6 O( v1 H
                return getActivity();1 [7 j8 y! F3 l* M& `$ d3 _. F
        }
& m( C3 N$ ]$ }9 X8 _
/ W( }: L4 ?$ j6 f! t/ m, N        public static void main(String[] args) {
* D# U4 t! e4 T7 b( I3 ^0 W4 }: ^                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);  [6 W5 q+ P8 ?/ p
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);( F: D+ f$ v$ n( R
                swarms.buildObjects();$ E% e2 }: r8 p& |6 x
                swarms.buildActions();
2 w9 w7 L4 Z4 E1 W% ~1 i# \                swarms.activateIn(null).run();- ]$ u6 o2 n5 z/ L, p
        }. d# [6 X6 A& k1 ]
( D  e* M) ~, h& P7 ~1 E. g
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-11-12 14:42 , Processed in 0.015975 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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