设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 13520|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
5 C, y" g/ v/ @2 Q" g
- F! d: N, o& |& r& J: D' ~. E本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
# D5 ]" }$ ]5 {: \( ^/ I以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.+ w2 i" q2 S, K" @; ?5 F- j; e: J
swarm.SignatureNotFoundException
" D( ]5 s  c( a! ]9 a        at swarm.Selector.<init>(Selector.java:76)- M6 U! k+ r$ S( K4 F0 t. D
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)/ W6 d6 l" F7 D9 `5 `
        at ActionGroupDemo.main(ActionGroupDemo.java:67). v- Y: }4 V( ?& W. b6 ^# V

; q, Q0 Y& p! L, `. {* H! @5 y3 w3 W) \$ T. g
import swarm.objectbase.SwarmImpl;
; |$ E2 B, n8 \2 @( N$ j4 O7 P! Q. wimport swarm.objectbase.Swarm;
* g- {- n+ ~; i7 |$ {- _- `import swarm.activity.ScheduleImpl;
6 x% [5 n) I0 M7 x0 J7 |2 a, ^import swarm.activity.Activity;8 n" M/ Y& J  V8 Z; b) m
import swarm.activity.ActionGroupImpl;& x+ g" R* q& P4 @7 y
import swarm.collections.ListImpl;
5 t+ {' ]7 X9 k% J. l  Ximport swarm.defobj.Zone;
7 T, P' E( u. }# rimport swarm.Globals;
& R! G- c' b, d5 H, u2 e# aimport swarm.Selector;
" X. Q2 a; ^3 o( Q4 W, }import swarm.activity.ActionGroup; / Q& e; Y4 f/ Q  s$ d3 j- U" h
class Agent {, C4 O, Z$ n1 W2 G, l( I7 t6 u" L
        char id;, _" X5 E/ f4 F1 y' O

0 j1 p# Q( e$ W6 v% Z2 R        Agent(char id) {% f& N) d: I+ @; i$ R2 h$ v7 B
                this.id = id;
8 _5 F+ ?& `2 y" h% T        }
, D8 o. [5 H$ V; E, w, X( Z+ [+ x: S" k/ e5 w
        public void agentStep() {* Y% x8 g4 b5 N5 u* k$ ~  _
                System.out.println(id + ":" + Globals.env.getCurrentTime());
) c0 P9 B3 C, o        }3 B+ d. A  h# M. ~. g
}
$ M: B, Q, E+ `* n( g+ `( k- d  p0 s# H3 H6 q* ?% |
public class ActionGroupDemo extends SwarmImpl {, b: B: q" N4 h/ \( J9 `
        ScheduleImpl schedule;
! h1 ^. T, _0 ^! B. T        ActionGroupImpl actionGroup;
% `- a2 a" H: C/ u        ListImpl list;: U. a" P( u7 x
        char Id = 'a';) |/ @* N" \0 ]0 L

4 N& ^( `1 m& |! [        ActionGroupDemo(Zone aZone) {
' K- Q: v+ k" e/ v% Q                super(aZone);3 b3 @' K# W) r9 `1 F
                list = new ListImpl(aZone);) Z3 C' y* J; r, i* f5 @7 I
                swarmSetp();
( j; H/ R$ o6 v, `0 Q# ^                actionGroup = new ActionGroupImpl(aZone);
2 t! }/ H& B9 m( D                schedule = new ScheduleImpl(aZone);- B. |* j5 Z0 E' A
                try {& \) C6 ?: l2 t
                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
2 A  F) L8 E; H* q$ W  ~* P$ c  _                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行, }7 w2 a2 k0 s6 a/ x
                        # C% G- I1 R6 K+ `* m' L* t
                        actionGroup.createActionForEach$message(list, agentSel);- R+ h5 Z% d  P  e
                        actionGroup.createActionTo$message(this, swarmSel);
6 S0 |5 U7 D9 n* m7 R                        schedule.at$createAction(0, actionGroup);- a& I# Y  {, ]. h
                        schedule.at$createAction(1, actionGroup);
8 O! D) o8 F  I  h: R% c                        schedule.at$createAction(2, actionGroup);
" Y. _* A( k7 A% \9 a% ?* S) j2 ^- N
                } catch (Exception e) {( s# A% X" Z8 |
                        e.printStackTrace(System.err);
5 ~7 c& l4 v+ l& i                        //System.out.println(e);2 ~6 f$ N, A* {, ~$ y! ?! y
                        System.exit(1);" I2 F/ q1 S5 t3 h; A2 ^
                }
6 b2 y* ]0 Y( P$ P  ~  p( j, A# o* J6 ~7 b. i" X3 \& Q5 c) ^- Q

4 h  V. [# M) n1 V  t" D        }7 C6 _6 k/ P& A5 T3 |

! W/ q4 G. e8 P8 U1 t        private void swarmSetp() {
6 d: p% r- d: W' `! a2 L1 \                list.addLast(new Agent(Id));
( e% t# Z! U* l5 w: F6 x- M                Id++;
; z- y3 j; C2 T& V4 J& w! e* i2 u. O, [5 N        }
; P% W- _3 q, j% |$ n+ U$ d6 z& ^5 q9 d; f/ C
        public Activity activateIn(Swarm context) {
* i- }( D2 D/ ?' [6 @% w                super.activateIn(context);4 C) s' N" @1 [; F' {
                schedule.activateIn(this);
& F) T' ~- l' m/ A8 @  ?) K4 f; X                return getActivity();
/ Y" `; A: a5 ]/ ]- n, z4 t4 R# z        }
# }- H: g+ B7 ^2 }  ?- E; q5 H6 U6 o/ v0 \/ h+ I3 w
        public static void main(String[] args) {
5 P5 l8 _- H+ n# H( _                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);. O6 U6 I, E% }4 w0 o$ `
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);7 F! I- j/ N" ]  H1 `! I/ @, z
                swarms.buildObjects();
, {* z, l( k' s2 Z' d! L& V                swarms.buildActions();
+ b7 ~# Q/ r$ M3 @: q6 g                swarms.activateIn(null).run();
) w7 w/ K3 M, A. i        }. k; f1 {- f& a% N, J+ z

7 j9 `  I, b/ v! L  b# k0 _}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-9-9 18:07 , Processed in 0.022906 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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