设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7498|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
) x6 m4 h9 z: o2 N  C  u) B  U3 l- u7 Y4 j% k1 f2 g) e
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
, P$ }2 b. f4 k7 e. Q- t以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
: i9 ^# \6 j6 }swarm.SignatureNotFoundException3 Z+ M& N7 W+ N9 K( p$ N9 B" o9 s
        at swarm.Selector.<init>(Selector.java:76)
* t7 k+ ?+ ~3 F! [3 `+ j        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
" w, N) F( y: j7 Z        at ActionGroupDemo.main(ActionGroupDemo.java:67)
4 Q- B2 K" O$ Y/ d, u1 Y  h& k2 D* {2 _' O

% [: k$ _9 ?9 N/ Q6 zimport swarm.objectbase.SwarmImpl;6 {, C0 e3 C. J' \" [, o9 O% @9 o* I
import swarm.objectbase.Swarm;1 i4 Y) D$ J' s6 ~; _3 p' ^8 n
import swarm.activity.ScheduleImpl;
4 ]$ G  F3 Z" C8 wimport swarm.activity.Activity;7 @* b& u7 p. y0 i- J! y
import swarm.activity.ActionGroupImpl;5 y+ U" @8 y8 L; p
import swarm.collections.ListImpl;! n0 c2 P# p; J; G2 F" J
import swarm.defobj.Zone;
1 E% a) L* g; h7 [import swarm.Globals;
( t, y: x& H. M* e' o4 d5 N3 ]import swarm.Selector;, [9 B2 b7 ]( }1 Y1 v
import swarm.activity.ActionGroup;
$ ^! K' ]% x- K5 x6 P. c  Dclass Agent {. V& ?; s8 d' ^# d' X! d% O
        char id;$ h& b( Z! x: _) z, E

; b9 M4 t( G1 q- L  }        Agent(char id) {8 p) @( `9 C7 n8 i- o/ r) {" ]
                this.id = id;# R, `, g1 d. ^$ P+ N6 q6 J
        }* o. x: j' A, t; R  e$ f
2 b2 s3 v* ^, k/ Z2 J
        public void agentStep() {
8 b: Z& E; R  c. r+ V                System.out.println(id + ":" + Globals.env.getCurrentTime());
6 V! I) j5 a% M/ w        }: ^  N4 Z8 L. F  V
}
; E/ Z" `, v: ^) k; `( v3 ]# Q
' `/ K" L! b" ^, Q6 apublic class ActionGroupDemo extends SwarmImpl {( Y" [9 W9 V1 u' r* E1 T2 H& c
        ScheduleImpl schedule;
3 o0 L. c) q+ K$ r, a        ActionGroupImpl actionGroup;' f6 ]8 j1 J8 l
        ListImpl list;
! H. k, \: }( f; |2 M" a) _" s        char Id = 'a';
) M. G" c. A( s! Y4 R: J# G1 U* ^/ u# B$ p2 P. y" B' t0 |* b
        ActionGroupDemo(Zone aZone) {
$ E+ J- }0 y1 [6 j3 L                super(aZone);) V7 `0 b$ n# P
                list = new ListImpl(aZone);
* T2 d+ |! C0 ~, M$ T! `2 W) c                swarmSetp();- I! b: W5 @& G1 U6 ]9 Z
                actionGroup = new ActionGroupImpl(aZone);
9 e8 C2 X( j4 b6 [                schedule = new ScheduleImpl(aZone);
4 b/ Q  N7 {. t& v3 {: l; l                try {
6 X2 z9 `! W, S6 m9 V                        Selector agentSel = new Selector(Agent.class, "agentStep", false);9 p: w8 K( p0 y. k
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
+ `# M7 Y4 x6 B3 ^+ W' U2 D- L                        ( c- V8 N7 Q! ~. r  P' I* h3 F
                        actionGroup.createActionForEach$message(list, agentSel);
6 L; v( L2 F% T0 R. T) W7 a# f# z                        actionGroup.createActionTo$message(this, swarmSel);" Z* M: i. f2 i! o
                        schedule.at$createAction(0, actionGroup);& ?, J- Z+ L  J' P" B
                        schedule.at$createAction(1, actionGroup);, G- x' W5 i1 C  _; T! h
                        schedule.at$createAction(2, actionGroup);
* ^! E# i3 C5 @4 b4 ^6 c. S7 G0 I+ h/ ^
                } catch (Exception e) {
- l) X5 }$ j+ g5 W, P5 }# P% D                        e.printStackTrace(System.err);" b$ S* a! O9 b: }% v% s
                        //System.out.println(e);
" v8 J9 l5 e+ |4 n                        System.exit(1);
* Q; W# m0 J* E# v, u                }, @7 Z3 B' L: J0 z3 x: }

: H8 }. ]3 v8 b9 v/ g* U! e* E' Z; |6 W6 r$ c7 e; k8 v
        }  r( d2 _6 I" y
$ }9 K8 a& p3 g! d
        private void swarmSetp() {
; G# o; W) ~, H7 K                list.addLast(new Agent(Id));
3 t: l6 c1 {: q% Q                Id++;
! \% T6 q& ?4 q/ ]/ L1 x8 P        }
$ i' I% ]  L3 B" d9 p$ @& e
! D% ^/ ?& [. u. z$ z: g( e; d2 c        public Activity activateIn(Swarm context) {
2 u( b. k% y! f( g$ @" X$ g                super.activateIn(context);
; H% \% P( U5 W+ E                schedule.activateIn(this);9 ^& Y& l* o3 G! n8 E
                return getActivity();* ]1 F0 a" f% {9 w6 v. Q$ b" n, [
        }/ f6 }7 p7 i4 B6 x

2 r! C7 t, a8 d  a        public static void main(String[] args) {
6 |. v) m+ |4 o                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
. W( t8 T# ^- i4 S' d                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
# W6 Z; {, v0 J% e' O; m                swarms.buildObjects();' T7 J% Y6 d9 q
                swarms.buildActions();1 n6 u! i  o' @
                swarms.activateIn(null).run();9 R+ o1 o: o) x! R5 A
        }
% n" P3 Y6 W) ]. N
' h3 b! ~: @* o5 R" P' ~* L. S}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-4 17:34 , Processed in 0.019105 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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