设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 13755|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
* T: e4 z. a5 B+ I" \4 \" z! m* I; ]5 u& T6 U
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
) i0 R7 b2 n: Z/ C( h$ E以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
* A* a5 @) p& \0 a7 x2 |swarm.SignatureNotFoundException  ]/ G, }  j; A
        at swarm.Selector.<init>(Selector.java:76)  {3 g+ k' C: i% [; i: U
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)' V7 F+ T4 R! v+ ~0 Y- H
        at ActionGroupDemo.main(ActionGroupDemo.java:67)" U4 b, `& m( ]- a
! F  O( H9 w6 [4 y% E  [

$ W1 P4 D+ ~5 |import swarm.objectbase.SwarmImpl;
6 J+ M; l! n7 c0 |import swarm.objectbase.Swarm;7 ^8 q5 k  q0 ~  c! ^2 |
import swarm.activity.ScheduleImpl;+ ?7 c: T# X2 T- g' }
import swarm.activity.Activity;
' t' ^9 o5 O$ [! i7 t. n8 Z5 ~' Z- oimport swarm.activity.ActionGroupImpl;; R0 O1 v, j: P
import swarm.collections.ListImpl;
/ Q' Q, z+ q* m/ Vimport swarm.defobj.Zone;
2 n( A' W! G2 @% T. _import swarm.Globals;' z! o0 _$ L# w$ y- z
import swarm.Selector;
, ^# s6 ~4 f# b+ T+ g! N* C/ d9 uimport swarm.activity.ActionGroup;
: x  c" G! `0 j, O% J% d1 m5 l  Y& P7 mclass Agent {4 Y& j0 K" W( B! a6 |+ I$ ]
        char id;
- t; I3 ~% G# L1 K* B% B* Z7 |+ y
2 k. y  o( O9 A* [$ |" N  R" V  @" N        Agent(char id) {' A# N, R5 o4 J# ^7 A* K- ]' ^
                this.id = id;
' ~2 ~5 O* G) T* @' A0 G+ c5 R        }% J, f; Y; \- F( f# O5 g' ~! b8 [
0 N7 F. c+ I- Z# a9 m9 }/ q! ]: ]+ c
        public void agentStep() {
; m3 `* b! ]+ J, ?. U  Z( O                System.out.println(id + ":" + Globals.env.getCurrentTime());
  w' `5 ]- c; ?  |: I& _: c        }. \5 j6 z8 j& D2 A6 |0 z
}
! K9 z1 u' G6 C: R
, o' i$ \, M6 z% M: h1 |1 opublic class ActionGroupDemo extends SwarmImpl {
8 m( T, |8 B% F! ~/ z        ScheduleImpl schedule;9 e% D2 ~, p  {- C+ J
        ActionGroupImpl actionGroup;
6 l7 \2 s$ q& I5 q: A  l6 r        ListImpl list;: |. n, d2 [) C$ V: ~( D
        char Id = 'a';
' V) }- F! D$ f9 `* W2 Q" t8 f
" ^' g+ Q% E: N7 u" ]        ActionGroupDemo(Zone aZone) {: Z. d# H! X$ |9 l/ V. G% @# F2 _
                super(aZone);7 b9 T0 ~9 j$ q
                list = new ListImpl(aZone);) w# ]7 F$ t% v3 b9 V7 c
                swarmSetp();2 O+ K& @+ S" P. T( C2 J# K, w
                actionGroup = new ActionGroupImpl(aZone);
6 m8 L* w& Z& p0 j% p9 A2 ]                schedule = new ScheduleImpl(aZone);+ n$ g' R  C2 d& G# w' u
                try {
1 f. ~6 k/ o  f! [) g6 v$ g: [                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
: B9 Q7 K) @  t- [9 ~% c                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
2 G+ Z* M! g+ T+ s! H                        % d1 V; L  ~4 T- }7 Y+ v
                        actionGroup.createActionForEach$message(list, agentSel);9 H+ B( n" Z. @& I
                        actionGroup.createActionTo$message(this, swarmSel);
2 x  |5 ~' u% Z/ |) ?                        schedule.at$createAction(0, actionGroup);
5 B/ C1 v* b8 M) V5 c  y                        schedule.at$createAction(1, actionGroup);( _2 z0 P! v1 M" r! n4 B" O4 P
                        schedule.at$createAction(2, actionGroup);
: X' A1 R" R. j9 L4 U# G8 I& v5 I: b5 a& j4 \( Z
                } catch (Exception e) {. G* Q- j! K4 _" M
                        e.printStackTrace(System.err);) H2 a& H7 x" y% }7 M2 q1 R
                        //System.out.println(e);
* g' t: d) [3 H6 c8 |" {                        System.exit(1);5 z# T, Z+ S' C( K& C4 z* `  n5 W
                }" L1 [: ~1 U, I: T; X- {& i

) s6 |+ \8 U# G% }4 F# f% V
$ {  c* }9 D* o% I* t        }
: ^7 _+ S5 R0 h5 P( L; w, i; P9 \2 i: ^: n0 O% z
        private void swarmSetp() {
2 g! W# @) i5 E                list.addLast(new Agent(Id));8 B  k5 c/ F( h9 x
                Id++;9 b1 h- Q% s- n+ r  e; X" `. }9 p1 m
        }
( n. W: E# @/ s- G2 w, u
" M+ v& b$ n( @: ~6 G% [) N, {6 x  {7 v        public Activity activateIn(Swarm context) {
5 B, w* j$ i1 [! l& {! F                super.activateIn(context);
/ S/ x; e3 V" |                schedule.activateIn(this);5 G3 G6 K: e, [/ \/ \- L) ^+ G
                return getActivity();. S4 Q* N0 w6 I% d8 Y
        }
& S( L  M8 K, x6 c# z
# e2 o- o0 @9 L8 ]        public static void main(String[] args) {% e4 E6 s; y( A' v% i; I; i
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);8 i: y3 l( m& _' T
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
8 f9 }$ X( S0 N3 i: o* v                swarms.buildObjects();: R5 L" t0 r" @6 t4 L  c
                swarms.buildActions();7 _' K0 d. ^7 ]
                swarms.activateIn(null).run();8 }8 Y4 C( ]3 J( r1 I9 g
        }
/ n8 r9 n7 f8 R/ u4 t
! u( A- x# t2 @7 z% [}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-9-16 14:00 , Processed in 0.014493 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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