设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 13394|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 " ^4 V/ n& U9 T
7 ^: ^- n& B. e3 B
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21/ O7 E' v2 ]) H. d0 ]: n' l5 f
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.$ w/ o3 u% P) ?+ i8 N8 x$ u8 x
swarm.SignatureNotFoundException" l7 s8 \$ g% k$ X  u, C
        at swarm.Selector.<init>(Selector.java:76)9 E' \* X# C. ^7 R- J7 H
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
; M" B, X3 u, U7 q1 i        at ActionGroupDemo.main(ActionGroupDemo.java:67)3 \! H* l  O7 p0 J# l

0 ^* d8 X$ s% i( O
8 _4 n% T$ ^% Y- z& G7 K/ k: eimport swarm.objectbase.SwarmImpl;9 g+ g- ?7 V- ]  m3 c" }) r7 u
import swarm.objectbase.Swarm;+ d9 A! z  ^$ z; {0 o# A7 u% N
import swarm.activity.ScheduleImpl;( l& w4 m4 I2 h* C8 [! M# j) e
import swarm.activity.Activity;# N/ A/ [. \& j/ B
import swarm.activity.ActionGroupImpl;
6 N2 R# J* P5 w# z1 i3 g) k6 Kimport swarm.collections.ListImpl;9 ], {) A; X3 M1 K
import swarm.defobj.Zone;
+ l/ d( R* c2 }. e1 T/ H& uimport swarm.Globals;3 P# s4 o+ V: v$ l( i
import swarm.Selector;& `& S2 m/ D/ S  }1 u2 q
import swarm.activity.ActionGroup; 9 c4 V) B& d5 o2 n/ ~/ j
class Agent {
) n7 s: |: O) V" U1 @        char id;" i. G8 o" l  k; G& j  b

- {- i1 _2 J% t+ p& w        Agent(char id) {
1 ?8 ^# M; j! \                this.id = id;
& H4 Q& }. J# N4 T        }
% L7 b8 s/ u3 v* I$ @! q$ M6 h. |0 Z6 v$ K* q
        public void agentStep() {+ k& F$ x$ M9 u4 \
                System.out.println(id + ":" + Globals.env.getCurrentTime());
% b, w0 G/ g' \4 {2 Q4 W5 U) P        }! @- F) n/ W& f. {" L# ~
}0 n4 Y4 C8 H3 v) a
6 V5 K% P1 d1 V$ [8 }
public class ActionGroupDemo extends SwarmImpl {7 N/ w4 x' ]# S1 K' I' D
        ScheduleImpl schedule;) v! O; P( S7 F3 T0 r
        ActionGroupImpl actionGroup;2 k" G6 d, V9 [8 `1 A: u
        ListImpl list;
% ^& ]( d$ K9 o) G9 y( \        char Id = 'a';
1 |# E9 ~9 g2 A$ X3 R8 n" K1 O4 A
: u; |( c. ~1 a        ActionGroupDemo(Zone aZone) {, N$ }/ c( u% O$ n3 K
                super(aZone);
* Y' D; c' H/ Z, [' C4 b& C                list = new ListImpl(aZone);  r, ?! p3 Z! q9 \7 m$ X
                swarmSetp();8 y" l- ~6 Q$ e5 W
                actionGroup = new ActionGroupImpl(aZone);
# q: L* y- _$ C& P! {7 R* |3 e0 s  W                schedule = new ScheduleImpl(aZone);, d" Z$ k# `2 v
                try {
* K5 ]" N( |! x                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
! f- a, f+ D( s                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行2 H2 M8 r2 A# w% E4 \) _# R
                        ; w! e: T2 S) x& d, v
                        actionGroup.createActionForEach$message(list, agentSel);
" H& I$ U8 N5 {, K  R8 f9 D                        actionGroup.createActionTo$message(this, swarmSel);  D0 x+ j% D, Q/ o
                        schedule.at$createAction(0, actionGroup);
+ F0 k5 a- N! G6 j4 ?                        schedule.at$createAction(1, actionGroup);
) B( j4 p; x" L6 b* _7 s. a                        schedule.at$createAction(2, actionGroup);
/ w$ J2 R" Q7 a9 l, t+ [
& G/ c7 e3 F9 P9 V5 ?                } catch (Exception e) {& H: m* `- o  n4 `6 R! p
                        e.printStackTrace(System.err);6 K8 b4 B! u2 U5 U. T" E+ W
                        //System.out.println(e);2 T- X9 c! t& g: j6 D: Y
                        System.exit(1);
# K5 s1 t( c3 I" o                }5 ]  W9 `! k  ^9 t- ]# ~8 ^4 _
# K+ r. z6 G4 F& h9 p- J$ l

8 ~3 r7 a" Q# q# |6 a' ~        }% ]8 u1 {: B$ d
0 {5 L8 F$ {' o/ P' L0 m2 \- F
        private void swarmSetp() {
- D" H, Z( y" I! f                list.addLast(new Agent(Id));
' O8 C7 l7 G0 A$ u) ^                Id++;3 K/ m# }; K3 z- h
        }
6 G( ^4 Q' [- G# Z" J% k
9 Y2 |  Z3 [# ]0 h. U3 z( A        public Activity activateIn(Swarm context) {$ Z/ n+ B- \7 z4 X6 `
                super.activateIn(context);
5 R1 w- @) ?# m3 t3 {& Z) C                schedule.activateIn(this);
& A8 x3 u" G: \& l* F! |/ T/ M                return getActivity();. m# C* h( t# l
        }9 F) y2 G' M7 u/ Z( g1 n

1 f, \9 }; z2 c. N1 E0 i        public static void main(String[] args) {
# {: Q. n  C* l; R! v                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);" K" V1 r$ b7 R, q8 |
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);) o0 P+ c) @; `' J2 A5 ^. h
                swarms.buildObjects();/ {) L$ @9 h' e4 ~0 A# q
                swarms.buildActions();* a* @6 k0 F# u% ~
                swarms.activateIn(null).run();, i; X# N. N+ w' u1 ~+ J
        }
8 B$ a* @* |: o/ }
# m7 i' R% ?8 Z' u  {: P3 W}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-9-5 21:06 , Processed in 0.018448 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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