设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 12740|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 1 M" ^  r- y: T$ f5 @; b9 O$ r
: `+ |! K/ T  S! ~4 ^
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
) X' {# b/ \7 ?, \$ y以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.  k! b: d* H3 }0 V
swarm.SignatureNotFoundException! Y+ w+ M0 O  N0 x! ~6 Y
        at swarm.Selector.<init>(Selector.java:76)
: R4 s7 O; V. V' U        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
! D, e/ H( @! W& m# m' M        at ActionGroupDemo.main(ActionGroupDemo.java:67)
5 X/ {+ \: A4 @1 A, A. J# V$ s9 u  c! C
; \1 p# h+ ?4 u  d7 P! N- F
import swarm.objectbase.SwarmImpl;' ?2 s2 b" B0 k# K, @
import swarm.objectbase.Swarm;* G) g! t) k! F/ b' c& o, J
import swarm.activity.ScheduleImpl;
5 ~# c  t6 \3 `  T" Ximport swarm.activity.Activity;
* _  Y9 H! B: E. [! `2 h: Mimport swarm.activity.ActionGroupImpl;8 J, n2 u& _8 V3 y! [4 s) y
import swarm.collections.ListImpl;
7 _. f8 c/ z- G2 I' S+ |import swarm.defobj.Zone;
) B3 l' B5 y# j% P, ]4 {import swarm.Globals;
- |: M* t- C. s. u: p$ iimport swarm.Selector;
7 \- V1 _; Q, x3 ~6 L- ^+ c& `import swarm.activity.ActionGroup; ! N8 s$ ]. g+ e3 F8 e
class Agent {
; w2 ^' B5 D/ S  |  Z  c        char id;' y  w" d2 C/ k$ A2 [2 v6 \

9 c0 L6 D" l5 ~+ u        Agent(char id) {
# q7 @7 ?) v* G1 N% O                this.id = id;
4 U9 X2 y# Z$ }        }
) g5 |# F' E  u1 L
2 G: T. f! P; m% [- H6 U4 H        public void agentStep() {
0 D  p: V/ v6 x; d* y8 K8 ?                System.out.println(id + ":" + Globals.env.getCurrentTime());
+ _( k. U" a' u  H7 l2 X        }# L, w6 o% J" W, G2 T4 W
}5 W  i; M  Y7 L
/ S; V' h% n! L& b6 k, R! K
public class ActionGroupDemo extends SwarmImpl {. l2 o% e# Z3 ~# v; L9 Y: E
        ScheduleImpl schedule;
5 ^" C! ^, R' y) {1 v3 M. E        ActionGroupImpl actionGroup;4 a' @# l7 b0 s
        ListImpl list;$ f% d1 K9 c4 O+ z) b$ I0 V8 Z
        char Id = 'a';' r$ R& w- q& ?0 Z+ c8 S! c: `+ v

  C/ p: O$ o/ s3 Z- e1 p        ActionGroupDemo(Zone aZone) {+ {# D: {3 o2 x% f6 W
                super(aZone);/ G& p2 C& d% i! R
                list = new ListImpl(aZone);
& `  H0 c  `) q3 p! M                swarmSetp();
$ I! C% ]/ j4 c  [, z$ E                actionGroup = new ActionGroupImpl(aZone);. K; _: |) ^9 E: s& P1 s8 u
                schedule = new ScheduleImpl(aZone);
  N+ E  [& d  I6 L  q                try {. l- Y/ S& x' @. H7 i; X
                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
) F* N# E! d- u                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
! W/ {7 F1 `) t7 f  v. P                          c. k  t9 }2 ?) E3 t4 }
                        actionGroup.createActionForEach$message(list, agentSel);: v/ K6 E7 l# D* u6 A% T
                        actionGroup.createActionTo$message(this, swarmSel);
$ r' v6 w; f( N2 P+ R2 d" a3 h                        schedule.at$createAction(0, actionGroup);
- L5 e; k) {( }6 W2 M$ h2 P                        schedule.at$createAction(1, actionGroup);8 A4 v. T3 S) X8 V6 ~! e% m
                        schedule.at$createAction(2, actionGroup);. X: Z6 h7 e8 w5 D1 Q# W" D
. ]+ d" e: F8 M# q% M6 y; i( a# b
                } catch (Exception e) {
0 r1 [0 t0 o) F% E! y                        e.printStackTrace(System.err);
( z7 z- S/ f# H" U                        //System.out.println(e);5 G0 E. n9 z( v0 s
                        System.exit(1);# A9 L# o; c2 `0 }% L& @
                }4 p% q, ^6 q5 u1 D

- D- q0 d8 ]8 X* ~9 R+ N7 Y2 Y+ y0 h* ~2 d5 G( W1 s0 A+ g+ `
        }
! I$ e, G0 M. k& {* i- i2 L8 i7 _0 e+ S
        private void swarmSetp() {
/ J% V+ @, R8 ~/ C/ W                list.addLast(new Agent(Id));, i9 i1 s. ~0 e1 b7 t
                Id++;% C2 [5 [1 f& l0 `. Q
        }+ w3 k6 e* S. P" y

3 c: N& q% Y/ C% @) p        public Activity activateIn(Swarm context) {
, U: I6 ~1 K6 o1 ]8 K% b6 L                super.activateIn(context);
8 k3 E$ o9 }, G& W9 b                schedule.activateIn(this);- p( R2 E8 S1 |8 t' F7 I
                return getActivity();4 E8 \6 q5 z% Q( ~$ N; t
        }
) y( d+ @6 f- \! \* K6 {1 j7 j# d! U$ l$ N$ Q, R6 S9 `6 W" ^2 p0 [# e
        public static void main(String[] args) {
& T4 V& r+ D/ i2 ~' r5 d1 L                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);5 b! }) ]6 A: a  N
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
" H2 v" h7 B+ K  u9 v                swarms.buildObjects();
  D7 s! i& t" O1 S1 ]                swarms.buildActions();
- v( u& k& {  [4 K8 R; T                swarms.activateIn(null).run();+ p3 F3 S% Z! N/ ?7 K" d9 i
        }  V0 ~7 A& a8 h* l. C' v) J

  ?" u  g7 j  K2 g}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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