设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 5412|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
1 K4 O! q0 E8 R7 Q$ N. t8 o
, y7 a* V6 [+ T本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21" c' a. T) u/ b
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
5 G0 D# w" e% a# ~swarm.SignatureNotFoundException" A/ q5 D! D+ @& F  ^4 {7 |, V+ G' N
        at swarm.Selector.<init>(Selector.java:76)
9 Y# u: u& ~1 i. k4 m        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)4 U0 }0 E2 K: O  V& A8 C5 G5 P& G
        at ActionGroupDemo.main(ActionGroupDemo.java:67)
! p1 g# v3 l! Y! S2 v2 ?
5 G7 `( p8 |7 d- w9 r" H: r3 b5 O( w( V# D
import swarm.objectbase.SwarmImpl;4 D2 |1 z) B+ V9 b+ a' l& h
import swarm.objectbase.Swarm;
+ ~! ?, X0 j8 A% y1 ximport swarm.activity.ScheduleImpl;% c7 k- U2 f, `! S
import swarm.activity.Activity;
9 P$ l3 o! f7 v! D& M. p' {import swarm.activity.ActionGroupImpl;9 s5 K  \0 p7 [6 [3 P
import swarm.collections.ListImpl;
# ?8 a; Z- Q  T$ l* _" e# K$ V7 n) \3 Simport swarm.defobj.Zone; 6 I$ T; x) u$ r- @5 ?* a+ }0 d
import swarm.Globals;$ v$ C- F+ R7 s
import swarm.Selector;$ i: Z+ Z7 P' _( F1 r& b) ^
import swarm.activity.ActionGroup; / X% u% s, F2 j$ d3 L* D( ^
class Agent {/ H' q, e- o0 b9 Y! f
        char id;
: Y2 W9 \8 K! I/ w, M* S' N, e% e5 a2 p, n! e! i' A
        Agent(char id) {* U' S4 ]9 S! S
                this.id = id;
8 ^: B$ ?& V) k! a5 M9 N; K* q        }# {# j) T/ m' e' I# b% R, I( [

9 v( ^. ~; e/ P6 {% j' p        public void agentStep() {7 _6 ?" e- U& c; H$ D. k4 Y$ D9 f
                System.out.println(id + ":" + Globals.env.getCurrentTime());) J5 ^& M' K  k2 Y
        }
5 H' T" m. h' G7 g}
7 G  y0 H! C  Y( z* k
( G) x* ^" [4 e% K$ k* Ppublic class ActionGroupDemo extends SwarmImpl {$ {2 {' b- c, z" s. D0 S+ Q
        ScheduleImpl schedule;
5 j" L5 o" P" Q9 Z" i        ActionGroupImpl actionGroup;( o# W9 \% n. f  D# y; r' n* D
        ListImpl list;& Z+ P9 l1 T% n, G' [
        char Id = 'a';  l! ^* ~3 T; v2 |4 K9 P
1 k# J$ ^9 D  Y: ?
        ActionGroupDemo(Zone aZone) {
2 c  |8 `: C2 c/ a% Z% J, Z/ O" \7 Z                super(aZone);
9 T, I  n1 ?1 K( g) k5 j& J$ o. d                list = new ListImpl(aZone);
/ k: e  u9 }' p" P                swarmSetp();
: Q3 B4 [! Z$ Q  T2 [+ g: U                actionGroup = new ActionGroupImpl(aZone);/ e# P8 P, L' @0 U- i# x& y
                schedule = new ScheduleImpl(aZone);
# n: X& T; w4 w( W, D7 `+ x" H                try {
2 s% i. U0 W; W* M' E; }9 ^+ p                        Selector agentSel = new Selector(Agent.class, "agentStep", false);, L1 R- B6 Q9 v+ g, M
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
, ]& F7 \- E- A# z& P# {# Y                        2 L/ o& D% t% B
                        actionGroup.createActionForEach$message(list, agentSel);
  s; X% T) K1 @& m                        actionGroup.createActionTo$message(this, swarmSel);- u: A, R' q) D. c8 l
                        schedule.at$createAction(0, actionGroup);$ v( n0 j# l; X4 R! ?! a0 W$ w6 k
                        schedule.at$createAction(1, actionGroup);
( |4 M$ C1 W) [0 z1 r! `  Q                        schedule.at$createAction(2, actionGroup);$ h7 N( V! m4 M( {' N6 k3 g
* o2 n! u3 y& _, o" A' W3 r
                } catch (Exception e) {2 ?$ |5 H. n. ]. d* y0 l5 H+ ^1 w
                        e.printStackTrace(System.err);
8 ^1 ]/ P3 i. u* g                        //System.out.println(e);
- i# Y; h6 H0 O' R6 F1 \                        System.exit(1);
$ q* e. X" `# t, a                }& V% V, s6 @8 |/ g5 l
4 B; y  p& M9 p
5 a4 \9 J* O- Y0 F: h
        }+ m# A- I! _6 h- [

6 m% y0 N5 ]1 _. S        private void swarmSetp() {" A' V- v* T! ]. s. `5 _, X
                list.addLast(new Agent(Id));
8 U0 g" O0 ~+ @+ l  o* ~                Id++;
7 z+ D: M# Q7 S7 @) A        }3 _$ c5 y. a+ ]( v

( Y# y+ e* X, K2 W1 @+ }        public Activity activateIn(Swarm context) {- W% @) \8 V$ B- \
                super.activateIn(context);1 s* L7 Y0 w& M4 f
                schedule.activateIn(this);
* E9 y" p& J) q" S1 ^8 M2 \+ g                return getActivity();# P) q3 m) H. U, z0 D! i
        }
2 J$ w5 p+ T7 t5 @, F% P' v: ]+ A
        public static void main(String[] args) {6 \+ G& N9 W6 c9 ?. G) y: f; T
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);( `7 M4 ]3 S& [6 r$ [
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);7 |, W6 F0 `  l
                swarms.buildObjects();
# f2 @7 M% a) K9 e                swarms.buildActions();
* Q' b; D4 y) D% I$ r/ v. ~+ n, v                swarms.activateIn(null).run();
0 }& Z1 p/ X/ k/ e! c% W        }
& z; C3 ?& m. P" G; i0 \
+ u0 ]: |7 X3 W& O$ ~}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-12-8 09:08 , Processed in 0.020572 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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