设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9882|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
" |% q$ m; k- h% e. o! D% _2 [
$ C3 ~1 }4 c! V/ {本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21. a3 I! N+ z6 i/ t
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
! b3 k; {0 P' Q1 f8 j  vswarm.SignatureNotFoundException) o/ b9 R* i5 K1 n# T: [) }
        at swarm.Selector.<init>(Selector.java:76)) D: q; P. v# s8 @! n4 N
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)0 G# O+ c( J1 F8 u
        at ActionGroupDemo.main(ActionGroupDemo.java:67)
1 Z, r3 ^+ E' H: D5 h5 y% {3 T- z  a6 d' l: L
9 h+ S8 W( Q7 w3 B3 @
import swarm.objectbase.SwarmImpl;+ N3 f* Y- D1 }
import swarm.objectbase.Swarm;
' s: Y/ ?% w) |' ~6 k% Dimport swarm.activity.ScheduleImpl;
6 O. m5 m. x" z# a6 y0 jimport swarm.activity.Activity;9 O2 O+ z  N( e- g
import swarm.activity.ActionGroupImpl;
- T$ X: p3 j& H; simport swarm.collections.ListImpl;5 S% W& k' g$ x1 u5 G* }
import swarm.defobj.Zone; 0 P, E' k% T# A/ \' i
import swarm.Globals;' G  m9 d9 p! p  H- t9 V& N+ v
import swarm.Selector;
0 c# T- [3 }! R: K' Nimport swarm.activity.ActionGroup; 2 s4 ^) E3 W) O! s1 a& W
class Agent {  [) ^( S; D8 Z, m5 W) q- B4 C% S
        char id;5 y' V( |* A! {6 Z
: B! ~2 q- r& ~$ [5 K
        Agent(char id) {# G: n  V; ]6 `7 L/ O9 O
                this.id = id;# |. L& c1 a* Q1 g2 O! @
        }
4 F- P+ D! q! ^1 A, @; k5 n( D9 U$ r* K7 o! A  X1 f
        public void agentStep() {
* [8 G" X6 L2 _% J& V; Q                System.out.println(id + ":" + Globals.env.getCurrentTime());
$ x; c- [1 A$ v" D# `        }$ @  r; _/ \$ Q& Y
}8 A  s! l& z( {) L- P; V! `3 }$ o! f

. U/ {6 f/ Q/ f/ ~* Vpublic class ActionGroupDemo extends SwarmImpl {
( |2 b) ^0 u- e. o0 N8 V# F        ScheduleImpl schedule;' m0 f  k( R  s0 l3 r9 _
        ActionGroupImpl actionGroup;
; l' e8 g6 q9 Z( K- i! Z& @        ListImpl list;
# Q8 h& S  W$ ~5 X& @4 h' i        char Id = 'a';
0 r. _; w! L+ @1 B; ^0 f; Z1 b2 r5 k. Q) P; X1 k* x
        ActionGroupDemo(Zone aZone) {
9 @+ [2 x1 o2 y  o                super(aZone);
( x2 [1 s, q+ L- q                list = new ListImpl(aZone);
" H7 A% c  t9 x4 b) d& w; ^                swarmSetp();
2 G$ B. _, m9 @2 q+ m, _                actionGroup = new ActionGroupImpl(aZone);; B- J  Z3 j$ `
                schedule = new ScheduleImpl(aZone);- R+ w9 L$ Z  @" u2 o3 p
                try {$ V; R' Z5 x2 ~% I: j% N: u2 u$ i
                        Selector agentSel = new Selector(Agent.class, "agentStep", false);3 r0 x9 w; U9 I
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
8 i- B0 E$ ~! v& `; w                        & N3 l- s9 T3 {! M" j# @! N
                        actionGroup.createActionForEach$message(list, agentSel);
( X  k. K) ?/ P7 l) t                        actionGroup.createActionTo$message(this, swarmSel);) y5 ^, h3 g! Q0 p3 N/ X# f
                        schedule.at$createAction(0, actionGroup);
6 y& D. \+ X! X                        schedule.at$createAction(1, actionGroup);! i6 D+ l: T8 }3 e1 o; Q8 [( R- |: I
                        schedule.at$createAction(2, actionGroup);
7 a: N% C6 a* [+ X5 t; k) T" P# H* t- k
                } catch (Exception e) {
6 c3 l8 L  |( T0 ?                        e.printStackTrace(System.err);
" P( y$ c4 a2 v; A" r                        //System.out.println(e);1 I1 @& j2 Q. `. g) ^* [
                        System.exit(1);
5 q: m7 ~% [: y0 _2 i0 m2 s                }4 ]0 M9 p  I& m7 t
7 Q1 E* h3 e8 |( N% T
5 F+ S- B( s" c, ~
        }
9 i3 E' b' S% \! ~# K% P9 X1 c$ ~5 a! w3 E3 ~) q
        private void swarmSetp() {
4 O$ I- \9 W! O4 a- e8 K3 U. C' W                list.addLast(new Agent(Id));2 [+ k$ U1 m6 Z
                Id++;
. |1 H3 m, h) n# {        }
& ~9 B1 w% K6 H! z* E/ G
; R0 _6 Q6 p6 I        public Activity activateIn(Swarm context) {
2 Z0 A5 r5 i. \% w! Z                super.activateIn(context);
+ P! L. T0 z& ]  S                schedule.activateIn(this);4 U! _( _( ~& ~- U7 ]
                return getActivity();, D! x7 o& |' W. A
        }' e5 I+ l/ H' P5 A: {# D

2 |9 j; i$ B, ~0 M        public static void main(String[] args) {- U9 }2 [: V. s1 }6 m% h6 A  Z
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);4 \) k* W8 S1 z' u- X
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
- v% p5 C6 z  j  r1 ]                swarms.buildObjects();+ n' R5 C1 _+ S
                swarms.buildActions();" c, d% [7 K* A$ f
                swarms.activateIn(null).run();2 ~6 t) l3 d4 b% v6 P% M) m
        }
! c& o# J- b; j- r
6 L' l1 m. |2 B2 f8 v  m; r: v, \}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-5-26 10:51 , Processed in 0.014827 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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