设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9746|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
6 w* u1 C  P' ?  i& M" |  {; H/ I" ^$ s1 _6 X
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
& d0 N% Y( ?. C以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
$ f' f, A! H$ y! G# Pswarm.SignatureNotFoundException
6 h/ j: K% b8 v8 L( B        at swarm.Selector.<init>(Selector.java:76)
$ Y2 ^3 }3 A; t2 ~+ C        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)4 k' L% I) z" }4 R6 I. a' f. ~( ]
        at ActionGroupDemo.main(ActionGroupDemo.java:67)3 A, H7 k) O' \; V& u* }& Q

- c! m3 o5 n+ F6 g
  r8 u2 y* y* E7 ~import swarm.objectbase.SwarmImpl;
$ L2 u' ^  A0 x/ y; T$ J. Pimport swarm.objectbase.Swarm;
  a" g: E5 |0 j* ^4 T6 Bimport swarm.activity.ScheduleImpl;9 n8 ^" j6 V9 x0 v- t
import swarm.activity.Activity;! W, p  g. V$ S, k
import swarm.activity.ActionGroupImpl;6 ^! T: u8 F# H' T+ Y
import swarm.collections.ListImpl;
7 o4 W; r5 W) Qimport swarm.defobj.Zone;
" A% Z9 F$ R- Q; V' ^& Ximport swarm.Globals;8 q, P4 N6 e6 {0 z1 B0 {! Y  f
import swarm.Selector;7 y, }: ?$ s# h" e" R, Z8 g) p% \
import swarm.activity.ActionGroup; 3 C0 z& ]# Q) j& M: o5 K/ U7 a
class Agent {* j- {: i1 H: ^
        char id;" U9 ?; Y" F7 _" c* R* t

2 l' B9 h$ k, P% Q        Agent(char id) {
8 j* I( b+ }3 i, |2 s9 A                this.id = id;( o! \8 R+ t+ |4 N& p+ d8 U, o2 Q1 N1 Y
        }
! B3 e1 K/ x4 q7 {& |
' O) W7 u% s) k3 q6 b        public void agentStep() {
+ M5 S0 X3 T, g2 z& D/ t                System.out.println(id + ":" + Globals.env.getCurrentTime());4 j- j( g, N( i4 |
        }+ }5 D- Y# A8 y) Q' q& P+ A
}
; X0 d/ C  _7 @( E& g- K) ]" o6 ]7 d* t3 Z1 J# i& N
public class ActionGroupDemo extends SwarmImpl {
  h$ K: B6 B" P6 R  G        ScheduleImpl schedule;4 S2 I4 N5 T8 \! S0 f7 j
        ActionGroupImpl actionGroup;) v3 L- a" ]0 {
        ListImpl list;
9 K7 `6 C7 K. k. Z0 }; K* R1 U        char Id = 'a';
8 h! }+ L3 I  g' i) n3 A% c: k6 y! L* c6 _  D# O
        ActionGroupDemo(Zone aZone) {. n+ X0 A+ J1 o( B, d
                super(aZone);
% T2 c) _( j: w+ z6 o( K                list = new ListImpl(aZone);
8 W$ c9 R9 Y* g0 u                swarmSetp();4 l0 {1 }7 J6 b
                actionGroup = new ActionGroupImpl(aZone);; ?5 {. O; F5 ?% c5 g! i, Z
                schedule = new ScheduleImpl(aZone);
9 I8 ?/ Y2 s; T5 O                try {
# j5 O+ m9 I% ~" n                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
$ Q. P" G# O  v                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行" m# |! u+ j" t' E( P& v
                        
6 c( K0 a. J- ]; ~8 H! m                        actionGroup.createActionForEach$message(list, agentSel);
9 t& ]& Q; ]* B8 m0 }8 U                        actionGroup.createActionTo$message(this, swarmSel);+ }; Y& o4 p# j9 D
                        schedule.at$createAction(0, actionGroup);
) }# H! M) f1 y                        schedule.at$createAction(1, actionGroup);
& w( M) L9 p/ e1 U/ N* ?% P                        schedule.at$createAction(2, actionGroup);1 }- C) y& V8 u* V$ a
' d9 |: s" g- @# {
                } catch (Exception e) {5 V& u1 H* Z, B5 z5 X- S* C
                        e.printStackTrace(System.err);# Y* _: G- q, I8 ~+ {! m4 Y; [, k
                        //System.out.println(e);
! X+ t/ c7 }& X" c                        System.exit(1);
& ^' ?' `# y5 @( r                }7 U7 K% {: g' x
9 W* _, l. m- C
8 f6 q. L/ {4 r7 c
        }* K- s; ^: N( v/ i$ d4 _
2 o: F, V7 e( w' X$ b8 D; Q4 h/ k
        private void swarmSetp() {& {" Y+ p' @' {2 h
                list.addLast(new Agent(Id));% D/ N9 U1 D  ?  S& ~# ?5 L# V3 J
                Id++;( d8 g! U9 |! A; t6 s8 x9 e5 K8 l
        }
3 _2 M. L. @- L3 Z7 ^! k
+ k! s5 }% |% g( y1 _7 q1 u$ ]        public Activity activateIn(Swarm context) {
: N( B6 ]2 V) f9 n1 Z6 x                super.activateIn(context);- ^6 E. ~1 m$ f. O# b
                schedule.activateIn(this);. d- W% x, q# y. Q7 ~
                return getActivity();# B+ z) _. f2 i6 O
        }( G1 ]- P8 j) W6 D

, r' g# s' X/ g- B. i! n6 e0 l        public static void main(String[] args) {( T$ P  S% z9 f  D- [
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);, a3 q$ Q! F" w$ T$ I6 b. q, Q4 D
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
$ I1 L8 y& U* K5 T7 ^                swarms.buildObjects();
  o( z/ i; }* f, f+ J4 f6 y* s                swarms.buildActions();
" h' D7 t3 i& ?7 `# f+ L# o                swarms.activateIn(null).run();
& j, f( Y! g& }6 E* d        }+ L0 U0 X. N, Y7 E

5 b" g& ~! s, Q% L' O: B+ w}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-5-21 16:48 , Processed in 0.017349 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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