设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 13620|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
+ p8 a3 ?$ d' T5 H- v
/ [3 n& z! Q, ?" t5 Q* q" ]本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
( T3 e- Z3 O4 o1 J* Y以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
& U% G) Z9 R! w+ ~2 z& I, uswarm.SignatureNotFoundException$ _) _: m$ U; Q, a0 T( p
        at swarm.Selector.<init>(Selector.java:76)
  y; I# E9 b8 A! K1 a/ M/ A        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)# s6 W& `4 A0 }/ G8 D- _2 q, a
        at ActionGroupDemo.main(ActionGroupDemo.java:67)
9 N- M7 i4 k' U2 N
$ \7 X: {0 N. Y/ Q& \  m% H9 U- L% H% v0 {
import swarm.objectbase.SwarmImpl;
1 {, ?5 @# T2 timport swarm.objectbase.Swarm;
" [: x. F8 O0 l6 S0 O& d; E, K: _- \import swarm.activity.ScheduleImpl;
3 y6 x* y7 w7 g6 k7 fimport swarm.activity.Activity;7 H8 ~  a0 m/ b; D; D
import swarm.activity.ActionGroupImpl;
2 z# k) U  p+ i0 Timport swarm.collections.ListImpl;
$ ?. y6 D& _+ u4 d2 o0 |import swarm.defobj.Zone; : r; B$ |- D7 Y; S6 c$ }( P
import swarm.Globals;  f. v% w* ]& c1 m" e+ ?0 P
import swarm.Selector;1 B% B( a5 j$ a" n: v! C0 A
import swarm.activity.ActionGroup; " z4 ^& I! ^4 v2 q5 T
class Agent {
6 v: c. q9 C  v! e% ?  ]. k        char id;
4 @* [( }! b3 J; h3 |
2 C! {5 ]/ Y% F6 M6 x* g        Agent(char id) {; N# R' a; D7 {: S% q+ R0 T
                this.id = id;) |  s6 D  |: O; _
        }
5 p& {( O0 C% g# d# M. v& k" ?7 t+ I! m
        public void agentStep() {, r/ C$ q% q, R/ x( d
                System.out.println(id + ":" + Globals.env.getCurrentTime());
& q* _  I, U5 M' K& l. Q6 w5 @        }! h4 N2 |, T- @) |$ w4 A7 j
}
; a- c; z% u" u, \7 |. W% b" Q% G% f/ ~
public class ActionGroupDemo extends SwarmImpl {
( ]5 m) Q8 P7 L$ H        ScheduleImpl schedule;; X: Q5 ]: Z; S/ i7 i) e: n6 G
        ActionGroupImpl actionGroup;7 U1 i3 ]) [. B4 V6 `* z
        ListImpl list;6 J: W9 i: z9 n
        char Id = 'a';
% d* t. A) ]% D% y- J
& @4 V& B  s1 C) ]( \) x        ActionGroupDemo(Zone aZone) {
8 c4 R# ?3 h* A& y. |" S6 z                super(aZone);
# `" l) P' [- g1 u6 v3 J                list = new ListImpl(aZone);
1 S' E. l1 j2 A! I5 B                swarmSetp();
% G2 J" n6 y1 N* @' N                actionGroup = new ActionGroupImpl(aZone);% N' K6 K& F3 I8 m
                schedule = new ScheduleImpl(aZone);% m1 t) s: K8 x$ z  ~$ w3 |; o
                try {6 y( r$ V' A/ }, C- m& D8 Z9 W0 M
                        Selector agentSel = new Selector(Agent.class, "agentStep", false);7 J: s' L( \% ^4 d/ i2 ~
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
$ N) v) T9 `/ i                        
+ w5 y( J5 d: _" a                        actionGroup.createActionForEach$message(list, agentSel);
7 [0 w9 X4 N, \- ?0 Z                        actionGroup.createActionTo$message(this, swarmSel);# b# `& R9 o( O/ _0 C4 Z) y. c3 |/ |
                        schedule.at$createAction(0, actionGroup);
9 I' J, g, @. r+ O                        schedule.at$createAction(1, actionGroup);
* `, K) v; w3 u9 |  K# [' L2 J7 S                        schedule.at$createAction(2, actionGroup);
" Q  t$ [1 ?$ }6 Z5 a
" I4 s) f  M" h+ F8 P                } catch (Exception e) {
5 [3 @* g. A1 Z# `7 j                        e.printStackTrace(System.err);6 ?% b, V3 }: p4 d# u
                        //System.out.println(e);
7 d' v4 `) O+ q& Z% f+ u                        System.exit(1);
. S. [$ K) ]0 B1 [* L                }8 u( T- g( v& v" D% A3 D

+ f* Y' G0 y; M5 e1 C& t9 F( K, ^! g0 T. Q1 I, Y# H
        }  v) F" g- \7 `- p6 M& `; Z
9 `8 \$ b; v, _2 ~) x  l
        private void swarmSetp() {2 y0 q9 |5 j' h# G6 A! d
                list.addLast(new Agent(Id));
5 P8 s/ d3 o& ^' c- u, x                Id++;$ l9 T  B# G% B) Q% X/ }0 }
        }0 H5 {! G' P( ^' M: z6 _% W

9 A, K; f0 k6 n: ~7 Y! L1 \1 L        public Activity activateIn(Swarm context) {
, x! i2 E$ |2 D2 O. B/ Z                super.activateIn(context);
6 a3 z0 `: N# ^                schedule.activateIn(this);# b) \  y, y9 n9 |' \! R2 x! A( [
                return getActivity();) d6 Q5 e* c% e
        }
7 e' q' k* D9 `; k
/ N* A/ S9 Z# z' r: R0 b        public static void main(String[] args) {  P% A$ V8 }! |& V+ l
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);3 d8 e( H! }  |: h; x: f0 U$ R
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
, F+ s* X4 r7 x                swarms.buildObjects();1 B, L$ \% Z0 b4 l( k0 y3 ]6 j
                swarms.buildActions();: V* g0 ~# L' @0 Y
                swarms.activateIn(null).run();
4 V: d# f- \" [        }8 ?; s; V( O* L0 ]$ G
# M$ W) W. X9 d( ^! A5 h7 ], L2 t
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-9-12 19:58 , Processed in 0.016383 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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