设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6361|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 ( F8 u. v6 {# g. L2 {9 z+ o
$ ]6 ?  X! f0 b& H" r- Q
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
! I* A7 h! h8 d* `% z# \& P) K: @7 ?以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.* [; v2 V* Q4 N- F  l: r
swarm.SignatureNotFoundException
+ B6 D4 c3 F& J6 |/ O* u* b9 `0 @        at swarm.Selector.<init>(Selector.java:76)
4 o( [# e/ c' b' o; ?3 G" i        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
' e! F9 g; e6 w& n# L        at ActionGroupDemo.main(ActionGroupDemo.java:67)
; f$ N& O3 Z7 a5 Q( F( s: a7 s2 |1 p) R

- ?% `  H; C) F3 B7 S7 ~# Q# C2 Pimport swarm.objectbase.SwarmImpl;& b  _; A! W9 k+ e1 l
import swarm.objectbase.Swarm;5 r" I8 k$ I; t' T
import swarm.activity.ScheduleImpl;" {, f- r% V% K9 e: O3 y- \* {6 l6 S
import swarm.activity.Activity;
9 |/ E/ t5 y) D' \2 _4 _3 N. ximport swarm.activity.ActionGroupImpl;1 U, d. n0 }8 T/ P6 |) m) {* K
import swarm.collections.ListImpl;* g, Z* `+ X# W
import swarm.defobj.Zone; * c/ P4 t% \5 X; d
import swarm.Globals;" u! W* b$ R* k" G) l  S' o
import swarm.Selector;
+ }. z+ @# I6 j7 \& T& k& {import swarm.activity.ActionGroup; 0 F, V; g- L7 A) K7 }7 x
class Agent {
( w( i4 w9 q4 V        char id;
, V) y4 T9 w6 y/ u3 H- j& R$ r; S3 r9 b3 z0 t
        Agent(char id) {
8 T( U; e. V2 @1 V- P2 m                this.id = id;
7 v. D& ^9 w# u" k0 Y7 v" D        }9 Z) r& M7 Q. r( L7 H' W( m! f

9 `3 R4 t( Y2 V        public void agentStep() {
# m, B% p% Z4 ?                System.out.println(id + ":" + Globals.env.getCurrentTime());7 o) h0 k; i' ]2 U& |- @/ }% p3 O
        }9 p" b- a2 a$ l' x
}
/ g' f! I, Z: Q. k' Z" Z+ N- C  O: w' d
public class ActionGroupDemo extends SwarmImpl {/ P1 r0 K) g1 [& w% q- n$ N: L: T
        ScheduleImpl schedule;
( X2 P' Y& x* g4 h        ActionGroupImpl actionGroup;- ]" c# I; k0 }' ?) k
        ListImpl list;+ v& P4 `2 I1 V' l% A
        char Id = 'a';
  l: m. Y( w, C
- _; {4 {, R- c  c4 u        ActionGroupDemo(Zone aZone) {
" S& K$ I# g  H                super(aZone);. R5 @5 {9 j( \5 @" H: n
                list = new ListImpl(aZone);
6 _# k$ J$ K/ P# {                swarmSetp();
) }  O5 ~/ ]% Z% p% ]+ ~% K. J                actionGroup = new ActionGroupImpl(aZone);
0 o4 k/ u' q8 A$ M$ u4 y                schedule = new ScheduleImpl(aZone);: q/ \, I. z0 h+ i. C( {6 w( q
                try {
1 ?6 k/ z5 x4 x8 @# z                        Selector agentSel = new Selector(Agent.class, "agentStep", false);2 ], C; X2 ~$ i( F4 c! F
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
% |. w+ Y* U# w& z                        
8 `0 S& d$ C, Z& o) e+ x0 t* d                        actionGroup.createActionForEach$message(list, agentSel);  N6 B0 d6 ^0 o1 P" g- M
                        actionGroup.createActionTo$message(this, swarmSel);
/ ^" E3 t: \2 B/ b4 T0 a1 i                        schedule.at$createAction(0, actionGroup);4 h2 M* S6 Z" ~
                        schedule.at$createAction(1, actionGroup);
" R7 z. B' T! O; t                        schedule.at$createAction(2, actionGroup);' J+ X& l5 U# w0 m! c
- ~8 _/ n! V/ O- r2 F
                } catch (Exception e) {/ n, k; g  Y$ O
                        e.printStackTrace(System.err);9 p: ?( O( e4 \) I5 ~, L% r( v; s
                        //System.out.println(e);9 T, @4 K0 v5 z% f: p$ P. @5 b
                        System.exit(1);5 U# R9 t% [$ `$ u  k- v; G! l# w: }
                }1 W4 a  M) @% J( F# e6 L8 j# }" f+ v! d

9 M& N" K  S5 P* h5 K6 L& {4 x# B  m1 N9 x5 V" y2 ^
        }1 P0 m- @1 `# f, x
- @. m8 L# w1 d" y0 p
        private void swarmSetp() {6 f3 v- ?) ]  F* `& C8 M
                list.addLast(new Agent(Id));
+ s/ J$ f% k! O7 D                Id++;' c4 k" B9 l+ i. M
        }
) n/ S" o9 Z$ r8 F. n/ k( W' @& L3 o1 M
        public Activity activateIn(Swarm context) {
6 k, W6 ~8 p# g1 K8 y0 H# z                super.activateIn(context);
1 m: m( Q# p" ^5 ~1 c" i                schedule.activateIn(this);
, w+ ]; `  L" H                return getActivity();
; I8 R- q3 G1 w        }
; B* K/ Q* g+ _6 u1 x$ E1 D
# P* J. l- E+ V        public static void main(String[] args) {
9 A5 Y4 [: ~6 ]+ T& ?  U4 Q                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);4 m( ~- R  D5 _: T9 Y: ?2 j9 m
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);* o8 H1 w# H2 S  |) }; S
                swarms.buildObjects();
' s0 F7 V/ d" e/ K                swarms.buildActions();. J! C; @8 e5 H& B$ S) j, _8 h
                swarms.activateIn(null).run();, @$ d4 C- X6 m0 y3 f
        }# N0 Q0 Q# G, @8 p5 G; M
, y4 f( N4 e: i4 b: E, `
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-1-26 12:19 , Processed in 0.017646 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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