设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8589|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 0 b) _1 Q) x8 t, W! C6 O
* A& h( t7 W0 k3 ]
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21' c8 E! X* w8 J$ W
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
8 |+ I8 y1 E* y. Q! {+ M! o  [swarm.SignatureNotFoundException
0 ]7 a  d4 O5 z6 ^: @  [  ]' O# m        at swarm.Selector.<init>(Selector.java:76)+ F  u5 g6 j, v2 |
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)" Q3 b) r* y+ r' X: m" W/ m) H
        at ActionGroupDemo.main(ActionGroupDemo.java:67)
- i1 ~$ d8 P- G/ e( b. f' c  B7 Z" k' M$ D1 S7 X
1 x3 T0 W, U. P% V2 E
import swarm.objectbase.SwarmImpl;1 x9 e1 G% b6 {3 A% H, J3 v
import swarm.objectbase.Swarm;% r7 G; Z4 J. l' U# _/ q, \
import swarm.activity.ScheduleImpl;+ D/ }7 x, x3 `  |2 }7 ^
import swarm.activity.Activity;0 Z0 g. a' S8 ?: Y
import swarm.activity.ActionGroupImpl;
, g" O; l/ ]; [$ Q' l6 y; Gimport swarm.collections.ListImpl;& I: J5 f4 k4 h' B
import swarm.defobj.Zone;   T& ^& h$ ?: B$ ~
import swarm.Globals;( r  \7 B- j: l/ q5 z, _  O
import swarm.Selector;
% R. w$ n( @! X5 Z) I# Vimport swarm.activity.ActionGroup; , ?5 Y7 A- t! P8 N. ^
class Agent {
1 y+ x4 I( P" o; O( M9 w        char id;! F/ m4 a7 B2 }; ]4 Y  H7 t

1 V- @5 H2 T. U        Agent(char id) {
9 |" C3 R5 Q, j  n1 w                this.id = id;
% G, f# L2 C, j2 q! e+ I0 q7 H$ T. T        }
/ ?. G! v8 i: h9 a$ G8 Y5 ^* S
2 k, ]1 [+ g, `; j% ?  l" S: l( {4 x        public void agentStep() {
: R6 ]3 N* M- B& g                System.out.println(id + ":" + Globals.env.getCurrentTime());1 P( l/ Y% c# R3 N: O& ^" w# u4 G
        }
) r  E- B& t' L' f}
+ T: ?$ a+ `' }
& `% ^+ e, N8 b4 b' @0 }3 e( M; Zpublic class ActionGroupDemo extends SwarmImpl {  l3 {4 ?8 l6 G
        ScheduleImpl schedule;
2 P5 I2 z9 m; @4 _- Y        ActionGroupImpl actionGroup;8 A; o1 i3 N, K" M( i
        ListImpl list;1 k7 A: J( l, I3 b
        char Id = 'a';% \" ~; f* ~, q7 H! u2 \

1 H- `0 W9 a& o( M2 o( X        ActionGroupDemo(Zone aZone) {
5 I  t4 k; w% v7 U) ?                super(aZone);
9 p7 v" s1 P: f* k0 W                list = new ListImpl(aZone);7 E/ Y* V" ~4 d: y* A/ f
                swarmSetp();
) Y2 ?  c. n" N                actionGroup = new ActionGroupImpl(aZone);0 K+ e' L( k- F  v. g: ~8 f; s
                schedule = new ScheduleImpl(aZone);
5 E2 T4 S; d; M0 @0 f                try {
* x6 |8 O& D% P                        Selector agentSel = new Selector(Agent.class, "agentStep", false);1 K  q7 m- K& {1 ?" T5 M" r
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行; ]4 {; t: p0 y; f! z4 ^2 \
                        
* U0 ]; f( w( a                        actionGroup.createActionForEach$message(list, agentSel);
% W, y4 ^6 B3 u* C' j* {+ @                        actionGroup.createActionTo$message(this, swarmSel);
  n" ^9 b9 i- q# K) H                        schedule.at$createAction(0, actionGroup);5 [3 Y- B' k% o4 L; T' v7 F
                        schedule.at$createAction(1, actionGroup);0 q& D) V+ Y  d1 ~, |, I7 k
                        schedule.at$createAction(2, actionGroup);( V0 p! p# b3 }3 O1 \& [- y) w
; c6 L* z8 ~' n$ v2 O
                } catch (Exception e) {
$ X: a* R9 t' C. k                        e.printStackTrace(System.err);& X* k; a4 \- @* A' p6 i- n
                        //System.out.println(e);- Q4 B/ [8 M. H- M2 P
                        System.exit(1);
/ O- M) [1 V: e9 v8 _+ U* X                }6 F1 c6 V+ k% o& O4 }

( e  o/ J5 v! c6 C8 C$ V3 b
* H6 M5 {- m% v& O# U. ?        }* E( O. a. t5 D# @+ O
0 g- Q/ x$ [8 p* P% M8 R
        private void swarmSetp() {
% l2 j+ Y8 |7 f# c/ n                list.addLast(new Agent(Id));
4 z$ V. V; t: ^. [% @( i                Id++;  o  z( ]1 U; P: p% P; Q; Q
        }! ]2 R4 n; t8 q" R+ s

/ x( M2 S& x7 |/ L& d        public Activity activateIn(Swarm context) {9 j8 [( @. ]4 [! y
                super.activateIn(context);1 x$ Q) u$ N% ~+ a2 y5 e
                schedule.activateIn(this);. y0 S# E  C7 M* V+ r; e* q
                return getActivity();$ t! f- _& s/ y# @. f8 W
        }0 U( @9 l  u  c. H; Z; ?' K
- i& E% }( i3 z0 ^; m
        public static void main(String[] args) {
# h3 S& o9 \9 x  u: B2 A# s) W                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
6 l+ J# i" ~% l+ r, k3 i                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
0 {7 Y* W9 F7 H                swarms.buildObjects();
9 y! R  N9 d  n) L' c                swarms.buildActions();. o1 b( ~, x" f- K
                swarms.activateIn(null).run();
- v% l+ e+ `7 ~5 s- E3 c        }: n6 u( f2 _5 I+ r2 h7 w4 _
1 y' P! w; e3 l4 N7 z
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-4-17 13:08 , Processed in 0.016192 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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