设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8919|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
; a; N: Q6 y0 s$ y  U/ q8 I& g! o& C0 }5 Z  V9 _0 w% M
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update212 d! x2 @; U& W9 j: M6 X& F9 j
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.' @# l, w& h1 q9 v  i6 }2 E+ t! \
swarm.SignatureNotFoundException. C7 d  `: ?; }' B, w# S
        at swarm.Selector.<init>(Selector.java:76)% v9 U& R8 D8 U- O1 \! e5 a: o8 y% V
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
% k5 B" z  ~. d! N        at ActionGroupDemo.main(ActionGroupDemo.java:67)
0 ]3 o+ W! E* A# C, F; B4 a# k0 K7 s* L1 Y# k- J
9 Q; r) a  l( C1 q, n
import swarm.objectbase.SwarmImpl;
. ]0 N, x& G1 L. X9 b* [: t3 jimport swarm.objectbase.Swarm;' k, o7 m' I' _7 L
import swarm.activity.ScheduleImpl;
$ k3 y3 H! w: v7 u: ?import swarm.activity.Activity;
5 n7 a: S. t1 c2 @7 C; Fimport swarm.activity.ActionGroupImpl;
( [7 i; ]* f1 j6 eimport swarm.collections.ListImpl;. r( l2 `1 Z1 a9 H' N' c) v1 f8 s
import swarm.defobj.Zone; ! F$ N5 Y6 j. Y5 ~/ s
import swarm.Globals;% n; X+ _. V$ E+ k- B3 x$ {/ T& ~/ |
import swarm.Selector;
% U( p, R" g; _4 S) J8 x( c/ E8 Bimport swarm.activity.ActionGroup; - n- s4 @5 A0 V% T& `
class Agent {7 m0 {/ k4 A5 g/ m. ]' V0 E
        char id;, Z  G3 i/ f% M, U3 u+ @& D$ _
- `/ ?6 n, K4 j4 n7 p; X( y" v* q- v% e! S
        Agent(char id) {
8 w/ R& o7 o# W) Q+ G& ~0 }                this.id = id;
# m- @5 T+ f* s7 J& e0 N        }
# u; `% W: ^3 o" r0 l
* j1 U# L* ?2 ~; ?- I( a% _! m        public void agentStep() {
3 g) j+ ~, |3 b& y3 n                System.out.println(id + ":" + Globals.env.getCurrentTime());2 z9 Z$ B6 d3 }' W( j/ q
        }
+ ]5 O2 Y' u  U0 \7 |# X}
6 l3 M2 ^+ i+ @
* J1 T; A  C; j5 h6 e# r! Ppublic class ActionGroupDemo extends SwarmImpl {- h. V; K; F: N7 D( w( D7 s
        ScheduleImpl schedule;
* g5 ~! y! F7 D$ q) z        ActionGroupImpl actionGroup;- \  T/ B9 |% v
        ListImpl list;
3 U" g# }  j& X$ U1 L* `        char Id = 'a';4 S0 E' I* ]5 H$ P
& a2 ~: M! q9 H
        ActionGroupDemo(Zone aZone) {4 ?; k8 ^% \4 k5 m/ `. U  r3 w: w
                super(aZone);& O& [% q. h# X- n5 m! c) E
                list = new ListImpl(aZone);0 s$ @3 p0 f' t; D  ^
                swarmSetp();
+ }' h' w0 r% |5 n6 p                actionGroup = new ActionGroupImpl(aZone);9 ^7 ~" V% S. [" I3 [- D* D
                schedule = new ScheduleImpl(aZone);
5 Q: D  K) [. Q/ ]: p                try {4 h2 ]0 w2 v+ `3 l
                        Selector agentSel = new Selector(Agent.class, "agentStep", false);) V( Z$ B8 P# K
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行+ A2 T4 R! z" i9 r0 ^! K
                        
& i6 Y/ ]  N- M- L; b                        actionGroup.createActionForEach$message(list, agentSel);& B$ N8 y8 W8 h) _
                        actionGroup.createActionTo$message(this, swarmSel);  ]" U* b7 N, U/ ^
                        schedule.at$createAction(0, actionGroup);+ \' l# w8 v0 X* K
                        schedule.at$createAction(1, actionGroup);+ K8 c+ b0 z" W
                        schedule.at$createAction(2, actionGroup);# C0 P* ]0 m# ]6 `( f9 N
0 X( \2 W, ~- K: I; d
                } catch (Exception e) {4 M: ~5 j9 B2 N/ s) z' L( _
                        e.printStackTrace(System.err);
7 ~$ L* U4 k. C8 r3 n; F: m                        //System.out.println(e);- y8 V/ F/ ]* ?+ u9 Q
                        System.exit(1);  a/ L$ E) i$ k4 w2 {* o4 w
                }# n' r; C7 x! Z2 Y* [7 b

; Z) ?; y7 j0 Y6 ]
1 R/ Q% P( D2 l1 t) |/ t5 c        }% f/ R" b  A+ U" j
8 z  L& x3 `& j
        private void swarmSetp() {
* u" M* s( a, x9 o                list.addLast(new Agent(Id));
, O' N$ C( m" _5 ]6 d- y                Id++;: c# I. @2 \% S, m9 a2 N0 R7 u
        }* P1 Z4 T" |7 A

! z# k6 \; F) ~7 s; ^- B        public Activity activateIn(Swarm context) {6 y* t* I  C+ [" r9 |, w  v, p3 U' g
                super.activateIn(context);
+ v* q8 a. D0 `! o4 J                schedule.activateIn(this);. I$ l) ~1 u7 k! W. f$ F9 a" q8 o
                return getActivity();
: i  d: i- V0 R/ U4 N6 {( X        }0 D$ ]3 I: d) }3 S1 ~' l$ |
" J" l* V, ~  Q0 Y* p; u  b& Z4 V
        public static void main(String[] args) {1 y. V0 E6 ~- u
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
5 H: g" Q. t/ i6 o/ j: @                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);% U- _0 Y  A/ J2 J' F/ P. r
                swarms.buildObjects();
2 w2 z! i8 c  C( _* C                swarms.buildActions();
$ n9 q. m, {3 [% Z. E, z                swarms.activateIn(null).run();& X0 B$ R" h5 x4 F4 A. i! D3 ^; x
        }' I8 `" x8 W# T
' B& t" Z: n0 ~. G0 U
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-4-26 16:59 , Processed in 0.020648 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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