设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9238|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
% i# G& ]4 }9 X; T& `5 d$ s: W- {0 ?* B( F9 d. T
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21. F; N; i5 S( H/ p) a. n! }0 k1 J
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.1 F1 o4 t- n# W: d+ B" s' g6 b
swarm.SignatureNotFoundException
. Z& d2 [$ J4 m) S0 j5 Y        at swarm.Selector.<init>(Selector.java:76)
- j: T* U6 ^6 k) D  [1 s# l        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
' F2 W- x& _7 y! L- C0 ~% c* x  x        at ActionGroupDemo.main(ActionGroupDemo.java:67); c; ]9 n# q7 E6 D7 j7 }

+ ~5 _+ T1 L  a6 r! h
8 t7 q3 [5 B2 \  ~import swarm.objectbase.SwarmImpl;( ^; o/ f: P- }4 m5 y1 w' X
import swarm.objectbase.Swarm;7 q/ c# v) H9 A0 p* o
import swarm.activity.ScheduleImpl;
+ V$ {$ c, X+ ~import swarm.activity.Activity;
1 a* N2 s1 e0 l! L: t3 P: r8 kimport swarm.activity.ActionGroupImpl;
3 x* z4 d9 l! kimport swarm.collections.ListImpl;& {  [, ~4 h6 n6 F' p% ]
import swarm.defobj.Zone; % `3 m: a% `4 V1 t8 P5 {
import swarm.Globals;
% F! N7 u$ K* E" l2 Z" qimport swarm.Selector;& n; N* T: o0 _
import swarm.activity.ActionGroup; ) ~" Q1 C, L3 R& Q
class Agent {
7 V1 Q( L2 ?% ?* U; a( i5 ]        char id;
+ t6 l: l0 l6 C; B+ ~; V# `8 M( B$ w+ a1 ?: D
        Agent(char id) {8 \3 d: }0 |- I8 M) O
                this.id = id;4 X, `4 u3 E! G: \/ B
        }. q4 O7 i6 a; u( o% o
: Z( T' u0 T7 G( c+ U4 D9 E5 ?
        public void agentStep() {
" e; E6 i% J( Q; `) M5 S                System.out.println(id + ":" + Globals.env.getCurrentTime());
) r5 ~* M6 x, A+ ^: U( V, Y        }, h( k* [5 E5 h# W
}4 A" R! ?3 Y, j$ y

% s% K$ p& W3 `, bpublic class ActionGroupDemo extends SwarmImpl {
9 Z7 l) O8 Y0 i  U6 d        ScheduleImpl schedule;
: W% S+ S# z/ K8 `" \4 q; M* _        ActionGroupImpl actionGroup;+ }  E0 x* O- D3 i) w
        ListImpl list;8 d( q0 y4 p* B& q5 _; {9 K1 E- T
        char Id = 'a';: E7 e3 }0 G  h" E) O7 r
1 r& s# }1 B4 U" a$ w
        ActionGroupDemo(Zone aZone) {6 Y5 @1 k# Z' B- s8 K
                super(aZone);
1 @* H! C& m! S& h4 Z                list = new ListImpl(aZone);
8 R: U  w; N% b                swarmSetp();1 c# ^+ R7 c" {! {- w: v
                actionGroup = new ActionGroupImpl(aZone);& \1 x' K  I6 }' y/ B8 Q
                schedule = new ScheduleImpl(aZone);
4 g3 L, T, ?5 d6 B* X: Y                try {
# g- |% \0 b2 q: B                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
& y4 X% j% M# D; r* k0 A. {                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
' C; Y6 L* G& ^# h! e$ [+ d  b                        0 f* f1 u3 d! t( U
                        actionGroup.createActionForEach$message(list, agentSel);, z' H- P: G& z
                        actionGroup.createActionTo$message(this, swarmSel);8 p+ q7 u3 R  x5 ]
                        schedule.at$createAction(0, actionGroup);5 ~  X$ a% k& `* q9 ^
                        schedule.at$createAction(1, actionGroup);  e; M! Q. T3 \0 N
                        schedule.at$createAction(2, actionGroup);4 e! \9 H2 g5 p; _- i

$ a) {) j# y  s5 S                } catch (Exception e) {
# M+ V. Z6 O# ]5 O" c                        e.printStackTrace(System.err);$ e! g+ Y8 m1 C9 W9 Y
                        //System.out.println(e);
+ T. T7 W  [1 s$ }0 D                        System.exit(1);. @$ c0 b. u9 j* f! d* r' F
                }
8 ~8 f0 J4 t, d0 a
9 d; `) Y% d, E) B- v
& y) f0 m8 k* o% J+ E6 \) G  S        }
+ y0 L8 n$ M* l1 |; s/ J7 ~1 t( F: J* W, A, s
        private void swarmSetp() {1 W6 A  y5 a9 ?: W. z" m( _/ K/ m
                list.addLast(new Agent(Id));" i! j/ ]  A5 }2 V2 u
                Id++;
; f4 ~. {: Y3 u        }6 v6 S2 `0 ?1 T$ _( |2 U" s. n" }3 O
; M, D9 K3 f( R* q7 a
        public Activity activateIn(Swarm context) {
  f  r5 y$ O# I- D  [: e8 z1 X                super.activateIn(context);' V5 c( H, y/ h  _4 I4 a) Y
                schedule.activateIn(this);" ~: |, k7 N0 D% j+ g: X  {$ N/ ^
                return getActivity();
8 J4 w* _1 C8 E0 Y" Z, Y        }9 D' t  ]: q( n
& K0 W9 s; C' R
        public static void main(String[] args) {
  ]# r6 p8 C; o: S                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);% e7 k' A: \" Z4 C1 b
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);( Q4 ~3 z7 [7 w( q
                swarms.buildObjects();
- o2 V) W# D; K- m5 t- D$ u                swarms.buildActions();
6 N( i# t* H' e$ _, j  E; X% x                swarms.activateIn(null).run();
% I- o, q+ R5 k. O        }
' |/ f5 B- d9 a% s( l$ H) j/ h/ y8 i* J" V( l
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-5-6 09:29 , Processed in 0.019325 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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