设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10067|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 " h) b* h6 Q  K6 ], h& P

$ B5 i+ W7 h! z6 c6 }' Y" s& Y: Q本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21! R% N; {1 b  U8 F9 G( d5 H
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.8 O  _/ g2 j' n. z" U
swarm.SignatureNotFoundException2 q( L4 j7 i) L' z
        at swarm.Selector.<init>(Selector.java:76); u! p* }' ?% o2 B3 T( M. u
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)7 T! L/ i3 `4 f
        at ActionGroupDemo.main(ActionGroupDemo.java:67)( |: a$ ?' @; H+ `. U5 s
) R7 j+ I. u* s( [6 Z4 v( o: U

2 v* b& L/ {3 g/ O1 M3 Rimport swarm.objectbase.SwarmImpl;
5 T- \/ d* N2 k0 ]7 \import swarm.objectbase.Swarm;& {# ^* L- _; f& ~5 ]1 S
import swarm.activity.ScheduleImpl;4 m9 e6 T# m; t0 t' _6 Y- I) X
import swarm.activity.Activity;3 U$ t0 T( A9 {- L/ ^& J
import swarm.activity.ActionGroupImpl;
" z, ]% l* ?( X6 X1 |  dimport swarm.collections.ListImpl;3 S' a) |$ T0 I+ z2 g! i+ P' X" n6 Q
import swarm.defobj.Zone; & ~9 I$ {% O, ?8 q5 d
import swarm.Globals;; \6 O7 v9 q, |6 |8 i0 [2 j
import swarm.Selector;7 f0 g; L* R5 T& ^, @7 V
import swarm.activity.ActionGroup; + ^! F7 E% f8 h$ }+ d& T0 v7 k# T% F
class Agent {2 Y0 p( f/ ~% I! w
        char id;
- _5 t6 k! ^  A. F
3 h/ c0 P8 E* N2 y        Agent(char id) {
* X% Z0 X+ x& d+ Y, _                this.id = id;
& U: U7 p' y3 F3 j8 X; g        }
* d- B3 x- A: M- J% [3 B. n% ~
9 q  N$ i$ ]) ^+ d& R        public void agentStep() {& c; H+ n" h; d' `
                System.out.println(id + ":" + Globals.env.getCurrentTime());0 B9 m* i" u1 {: w3 U- h+ i7 ?
        }
3 ^0 a% b0 z% J. [: K* |7 a" ^}
4 A1 Z! Y8 \9 h: H2 x6 R) b& @! }5 ]: _1 }/ q) {
public class ActionGroupDemo extends SwarmImpl {
+ [" _1 [' C7 r        ScheduleImpl schedule;0 p+ X2 F1 U" o7 `4 I
        ActionGroupImpl actionGroup;2 h) L: [% W2 E+ T! T- g
        ListImpl list;
/ |* C# Y1 D% P  v        char Id = 'a';
- c) Z/ R1 l. b" h" X6 W7 r, @. E% F! e" ^  ?4 h
        ActionGroupDemo(Zone aZone) {
+ p/ T+ M; Y, w& J7 p2 z5 ]  f! n                super(aZone);
% p% ^) W+ Q9 ?; ~                list = new ListImpl(aZone);; R6 h' C5 {' K# o$ @; _7 G8 V5 |
                swarmSetp();# A1 e* y$ n8 C) A# _% x/ G/ F
                actionGroup = new ActionGroupImpl(aZone);' P% o  @) `* F
                schedule = new ScheduleImpl(aZone);. [+ Q' X2 p4 S
                try {
, }$ J- A) x8 @. {  x+ {                        Selector agentSel = new Selector(Agent.class, "agentStep", false);* k' ]1 G% _/ A0 l
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行. w4 ^: N! p# j  O
                        
' b4 u0 \+ r& \. M                        actionGroup.createActionForEach$message(list, agentSel);" k6 a9 P% L$ U( J4 T
                        actionGroup.createActionTo$message(this, swarmSel);0 ?% \) s  k& u' y% z
                        schedule.at$createAction(0, actionGroup);
! |: y* N+ `$ [7 W  l                        schedule.at$createAction(1, actionGroup);
2 T" o0 p0 e3 P" d  D                        schedule.at$createAction(2, actionGroup);
% b; P" l0 Z1 t, q" C) Q6 F" T: L, z; V: b/ q: H
                } catch (Exception e) {
, x/ c# {7 }1 f, X                        e.printStackTrace(System.err);
! K) o9 b9 J" _1 q7 ?- w                        //System.out.println(e);, U2 l' v* b% c
                        System.exit(1);, P4 ~' x7 v8 d5 I1 F9 R, j% \
                }$ o) X$ j1 a4 C4 M( A
+ T: m$ [- A2 |/ _# d; u6 c6 O
& s* }+ Q. v* m" Y
        }! ]' \$ O. ?. _" n6 v# d8 F+ i! ?
7 l3 q7 q4 v1 E" K6 d
        private void swarmSetp() {8 N. M+ E$ T& v' b% a; r
                list.addLast(new Agent(Id));0 g( Q$ ]0 P0 Z1 k6 h0 M# s; I/ f
                Id++;
- n; Z+ f+ B, \' J, F        }
  Z" P4 R: _  f' X& J7 w& B; P3 R* ]6 l6 o
        public Activity activateIn(Swarm context) {# i3 B2 |# S( K3 ]4 }
                super.activateIn(context);
" ~1 G9 e$ I' o6 c3 m% H  i                schedule.activateIn(this);
5 {+ q7 r$ O4 j& [; B% i                return getActivity();+ b$ M0 }9 ?$ W9 t
        }
" j- J! G# U8 m, s/ g* U
2 Y/ r5 D( q: h6 q7 U9 T' \; `6 \        public static void main(String[] args) {' n6 ~9 W! x# q) z
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
0 D4 g0 D  V) g% g2 U                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
; W- \( G: j9 z# w" k1 V5 b: q                swarms.buildObjects();! h" m7 J6 ]2 v9 O
                swarms.buildActions();
4 ^) }1 N0 f% {9 L/ {$ A                swarms.activateIn(null).run();
( f$ @! k3 C5 U) k) q- L: `        }9 v) B: C0 f" y

. L3 p/ O1 D  R! r, _}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-2 12:53 , Processed in 0.012523 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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