设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6082|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
' |0 N% z, L- U! V4 r* v5 X1 U2 n, w, P, s. D" x% J& x
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21, ~' }  Q0 D* y+ l' P. l& @% f0 y
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
1 e; l, h# c, b  a3 W# v7 e/ Pswarm.SignatureNotFoundException
% r+ S% X# J5 B1 w$ G        at swarm.Selector.<init>(Selector.java:76): {. I3 g; i# h0 a- x9 b
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37). E5 g# y. g  W; m) o
        at ActionGroupDemo.main(ActionGroupDemo.java:67). j4 t" D# q9 K+ b

- \- V: r7 S$ P1 W) b3 f6 J3 s- l/ e2 C' R
import swarm.objectbase.SwarmImpl;
! L3 c7 Z7 I: |6 Cimport swarm.objectbase.Swarm;
1 ^8 Q/ B9 K1 \% a: r% V3 h! Vimport swarm.activity.ScheduleImpl;
- Z6 [0 O: [& I) k" c1 Dimport swarm.activity.Activity;4 R& Z# j' F" I% i% }# }
import swarm.activity.ActionGroupImpl;2 H/ `! I0 \' y
import swarm.collections.ListImpl;
! {* R( L% u! eimport swarm.defobj.Zone;
( @" L1 ~7 ~/ T' l, F) E' Gimport swarm.Globals;2 b3 M+ Y/ W# D6 a% y6 X* w' k+ v3 H
import swarm.Selector;
; }" D- c, z0 m. H. Fimport swarm.activity.ActionGroup; # {" V- a6 ^; n
class Agent {) Z. j+ d3 W2 g4 g5 Z
        char id;+ P! h8 l- o- j4 ~

$ l. S( f, j& {        Agent(char id) {/ ^1 p/ n5 B9 A  `
                this.id = id;
  `! `* c8 L3 w# C        }7 ]- A$ {# w* I$ O( y1 q
: I8 G- G: q1 f% f( y
        public void agentStep() {  q9 {, l/ |+ Q3 D' w# `/ r$ l
                System.out.println(id + ":" + Globals.env.getCurrentTime());
% S) S4 h; Q0 v2 e1 B$ s        }
$ {/ ?. _, k5 t}2 e# q5 B% b  |% u- x
6 _8 B) K( T% [  [( v+ G! ?4 h
public class ActionGroupDemo extends SwarmImpl {. v0 v) q+ T$ k9 w4 [$ l$ [
        ScheduleImpl schedule;
6 J( |! Z5 F# s( \( \" I        ActionGroupImpl actionGroup;
! J5 O' M1 e$ w5 K2 T        ListImpl list;2 f5 n4 o6 _% }8 k3 _
        char Id = 'a';. x8 M& ?+ k7 }+ `3 T& Z/ f
2 m3 |9 ]6 x$ H$ @
        ActionGroupDemo(Zone aZone) {9 W. O" ?0 p$ A; [% {# m
                super(aZone);( Z6 C0 |: Y) J% k) d- L7 K
                list = new ListImpl(aZone);8 I% C8 x2 Q: d! K" q, U$ Y
                swarmSetp();6 T; P( Z% ~5 Y. ~: F+ e9 i
                actionGroup = new ActionGroupImpl(aZone);% P4 I' w* f- s+ W: `8 f4 N9 P1 `% {* H
                schedule = new ScheduleImpl(aZone);
9 M- |. _0 X6 x4 I( \* p                try {2 z! D8 R" n: w* I
                        Selector agentSel = new Selector(Agent.class, "agentStep", false);" @' N) S% f* w/ `7 r( }
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行5 I. z+ V. H. m, D! o
                        + g' e) l; z; _* v
                        actionGroup.createActionForEach$message(list, agentSel);
9 u* Q1 D+ z: ?" j6 J% F: z                        actionGroup.createActionTo$message(this, swarmSel);
5 J5 B1 Z# F% g( U: ]) x                        schedule.at$createAction(0, actionGroup);$ M5 \+ p: |7 d- |8 L" `1 e/ {
                        schedule.at$createAction(1, actionGroup);
" Q- O: u* L$ P' @; i                        schedule.at$createAction(2, actionGroup);! _, R% v- W& J$ _

1 _6 ]) P8 E0 [# X. [0 O                } catch (Exception e) {
$ b2 k+ }$ ^5 j/ Q                        e.printStackTrace(System.err);
( n9 C8 Z: v* V" s: G+ [                        //System.out.println(e);
6 c8 P3 S! v$ M1 U                        System.exit(1);. l/ A5 H% i) t: ^; S
                }
% g4 O6 ]; a) \9 D
( x% L' r3 _" t: p" H+ r( L
/ t3 p9 X; i" e; y; @        }
* {, C: a. o; X5 P  J  i- g1 e" q0 Q) i* d  A
        private void swarmSetp() {
+ n! L9 x$ Q0 Y9 d  l) b                list.addLast(new Agent(Id));
( O$ H, Q! v( k" U# q7 m$ }* D                Id++;
4 [) h: y9 }- E1 V7 v& E0 C% K8 i        }+ z" I* _* T/ g% r7 [, C* J* L8 [, J
" p5 d# `+ q* p& d4 s
        public Activity activateIn(Swarm context) {
/ s$ j' T7 _# K, u0 P, q' k                super.activateIn(context);
+ t; _9 I8 o4 Q; g                schedule.activateIn(this);
$ k0 o/ Z* b9 k9 M                return getActivity();$ j8 z" y( H) Q- Z
        }
: Z$ d; h. o, o5 W" ^* ~
$ ^# r: i% h% X2 v1 A) @* E        public static void main(String[] args) {( w( y. }' t. j
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
1 S6 b& C& T; s8 z8 E) X                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
& C: D# x7 h8 R# M! j% V, C2 A                swarms.buildObjects();6 r( ?" s( z( A' T! L% U
                swarms.buildActions();7 w- K# \% ~7 B9 U" Q1 r
                swarms.activateIn(null).run();& w$ x. p5 D- t0 F2 P5 H: R
        }* ]1 \. A+ b! ~3 x- a
7 B2 c) d9 M7 a* t3 ]
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-1-16 15:22 , Processed in 0.014419 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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