设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11550|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 - u9 Z: q- S$ K' {' E) l) j6 S
) i9 l/ l+ x2 h% Q) N# n& t# u
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
3 b! W+ j* o- x9 }" z$ ?以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.5 ~  E4 u) _- i: f
swarm.SignatureNotFoundException
% Q6 {$ O5 M* o1 q% ?        at swarm.Selector.<init>(Selector.java:76)
" B  W; @9 ?/ P+ \        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)9 M% Q0 E) r/ u8 `& f8 |
        at ActionGroupDemo.main(ActionGroupDemo.java:67)
& U# s+ j" P, N  A$ q1 Q" c: q, J% {
, c2 |; H: I- O1 B' H5 o7 r) D& p2 V1 \2 Z( S2 J3 m$ s  w5 f& e
import swarm.objectbase.SwarmImpl;( [% B6 A6 J: M  B5 s2 y) K0 c
import swarm.objectbase.Swarm;
" k1 E0 V# n, [: Eimport swarm.activity.ScheduleImpl;
2 x8 z# o$ y4 ]& T. Qimport swarm.activity.Activity;/ M$ P& h. H& K! y! Y
import swarm.activity.ActionGroupImpl;, t, z8 Y: X1 `7 l( q# v4 [: M
import swarm.collections.ListImpl;
% o: j) S: u3 V& n( z2 ?& c. gimport swarm.defobj.Zone; 6 I: a# ^% |+ [- p
import swarm.Globals;) ]$ D3 J# R5 U+ G
import swarm.Selector;- H1 F) W; ]  m( J5 v% U" v
import swarm.activity.ActionGroup; 9 h) T' O1 ]1 ?" T- L% C
class Agent {1 q# ~4 l( D6 F' @' c- J
        char id;+ [. p/ o3 |0 ^

7 \4 H5 |4 q$ q% u; A5 o1 n8 G# T+ \        Agent(char id) {. G( ^( F. S6 E+ j. N
                this.id = id;  {6 T6 K+ Y& v$ _  G2 `, C9 n
        }; r8 a* T& w( V8 H4 s

& y4 J5 V% f2 t5 y1 s# h3 s        public void agentStep() {# S9 i  Q8 g& {* t& U8 B0 |' m7 c
                System.out.println(id + ":" + Globals.env.getCurrentTime());
$ {; G+ e, Q: q# j8 o. }        }# N, B* h7 Z& C- K
}4 R( U: m" S( N3 K
, p4 c  @- u( f! {
public class ActionGroupDemo extends SwarmImpl {- N% b  W# @4 n% M/ j+ \! y! Q1 v
        ScheduleImpl schedule;
% C4 z6 `1 P. v1 P, S& v        ActionGroupImpl actionGroup;1 v: c$ A- k" g4 U5 b8 O
        ListImpl list;
& F* f! g- p6 `2 I- K4 o2 F0 y  g% U+ v" v        char Id = 'a';; J; O  T4 C0 `: {+ m
1 p' W! B; o: Z/ S1 l7 Q- R
        ActionGroupDemo(Zone aZone) {
* ~* B+ d6 M4 e: H' E1 c                super(aZone);. ~% V4 d" _& q
                list = new ListImpl(aZone);
9 i& l5 t  a" ]( A4 d  B  R% L                swarmSetp();4 G1 u/ i1 X0 ]5 M; C/ l2 ^7 S
                actionGroup = new ActionGroupImpl(aZone);$ |( M* y" z# D; V
                schedule = new ScheduleImpl(aZone);
8 B) d& t( w! D2 J. s" b# F; ]/ N( T                try {
" S: R% x4 K! I5 e                        Selector agentSel = new Selector(Agent.class, "agentStep", false);( r1 E$ \% q% g4 m) \: b
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行. h; q+ H; K" e+ ]; [, X' N
                        ) G, R. f( X4 C* o- M
                        actionGroup.createActionForEach$message(list, agentSel);
# X1 U. R$ {) a1 R# j$ n7 H+ n- x) |                        actionGroup.createActionTo$message(this, swarmSel);
! _8 j8 l+ u; ?% q  x                        schedule.at$createAction(0, actionGroup);& Q6 R; F' w7 R" H) g; U$ e( b# [
                        schedule.at$createAction(1, actionGroup);
" v" Q# \9 w# S+ b; L1 h9 \                        schedule.at$createAction(2, actionGroup);
8 S) N, U0 b. T" `- H/ |3 e1 ^0 ?2 g4 |# B4 A$ o3 J
                } catch (Exception e) {* v7 O! W! E9 ]9 R, h
                        e.printStackTrace(System.err);' u3 y* G' k$ B! G$ A0 N+ ^
                        //System.out.println(e);
, C6 n" H+ U; O                        System.exit(1);) U$ ?2 v, T1 H5 `6 }( M
                }$ c! s- b3 b) a; @+ o, Q
& `+ @8 {$ x4 y* d7 t1 X

& p( P( I1 A" V+ S% ~+ a. r        }8 Z0 r! l6 P7 l% o$ [

) U- P3 \, |) P* U8 p1 [9 I% C# W9 x        private void swarmSetp() {
& j4 o  S% b" B                list.addLast(new Agent(Id));
: H/ @6 @" @- c                Id++;$ P4 P+ R1 ?6 I
        }
2 ^* w6 ?, H8 k# L& D$ `3 ~
+ e# F; q4 P/ ^  K. e8 j% e7 d        public Activity activateIn(Swarm context) {( ]1 k2 \$ @  Q' F/ I" [
                super.activateIn(context);
$ ?7 e, d' Q# q, n  I3 @2 j                schedule.activateIn(this);4 L' `. ^8 I/ o) S0 o
                return getActivity();
8 v9 q3 _& q2 o: B        }  i/ Y0 p0 h7 |6 b, k( j
; C0 {8 X* m, s8 W
        public static void main(String[] args) {
% D2 T' l# W2 H, E2 O                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);1 k1 y7 ?2 Q3 s% |; k
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
: C6 J. w$ E, K. B                swarms.buildObjects();
. ]* o4 ~/ C1 o                swarms.buildActions();; j- F  P# @: s9 r. ^
                swarms.activateIn(null).run();7 E# x4 o( Y$ @( k; z+ r
        }: f' V' d4 c4 N, V$ K& `
8 B& Y+ I  h6 y. X, A% U
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-7-15 17:36 , Processed in 0.015861 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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