设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10937|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 5 y" h. s% `% y! v
) x7 E. Q' q/ w7 A/ z
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
8 X  X- ?/ M+ r) ?# v9 v以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
. N6 H% v+ u" N) Hswarm.SignatureNotFoundException! f5 w, J. E& D+ ]7 T6 M- n
        at swarm.Selector.<init>(Selector.java:76)8 H! U/ r( H2 t( m( Y* x/ T$ T, E
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)+ P. m# U, U- _. d( Q8 I7 H1 Y
        at ActionGroupDemo.main(ActionGroupDemo.java:67)
5 e' @6 r9 o* `5 a* ]0 Q
% f) q! v* J2 E! S3 M9 e+ }# v5 h6 s
import swarm.objectbase.SwarmImpl;
1 ^' i  V% e& k+ Y8 c  aimport swarm.objectbase.Swarm;
# N3 K' ?: f- K& a( fimport swarm.activity.ScheduleImpl;; f& H+ u4 L1 n2 }3 c6 {: y* |7 T
import swarm.activity.Activity;
4 K/ H  |3 K: p- a& Bimport swarm.activity.ActionGroupImpl;
% s8 W0 N5 A  a9 Vimport swarm.collections.ListImpl;
# D2 j2 Q( @- q8 Nimport swarm.defobj.Zone;
7 t% y; W9 E0 j1 s$ ]8 aimport swarm.Globals;' O; ]1 \. F! v1 A! n4 O
import swarm.Selector;
( c' c. U1 n" c: M7 k3 {& ]import swarm.activity.ActionGroup; 2 I' J% ~  q8 b$ o6 s
class Agent {( c2 T% j# S) w8 O
        char id;
5 }8 N  e) j# v2 O% x# w2 C* ?8 r
$ g! u6 B4 j7 i4 B        Agent(char id) {
8 t/ U! h+ \0 o: n0 ~0 w                this.id = id;  s! d. {, ^" W- N8 B- v2 t
        }
8 B* _  _6 I" x9 j- u" I- E- b2 {* L0 k' t. U! m  f
        public void agentStep() {' Q: L+ G: I7 {0 N# L
                System.out.println(id + ":" + Globals.env.getCurrentTime());
4 r+ q6 i1 h4 j8 C1 K2 P8 k        }
4 p& ?2 R9 h2 x/ E0 O9 `}$ X) _4 ?' s* s5 ?5 J7 J$ A
3 q7 [" s0 x1 r: b
public class ActionGroupDemo extends SwarmImpl {
8 c0 J+ A0 k) c: R        ScheduleImpl schedule;
3 J2 j3 n. L5 @        ActionGroupImpl actionGroup;
$ Z5 N2 {; |7 ^0 I1 D5 {$ H        ListImpl list;. b% g" C8 ?: D% ]
        char Id = 'a';' U1 X- ]' }, s
% B, M) W0 r1 w
        ActionGroupDemo(Zone aZone) {
1 c7 ?) _6 ]$ t) x. A+ v                super(aZone);
7 m) J% ]8 M) ~1 O                list = new ListImpl(aZone);6 p' U5 V. v' l1 K0 d
                swarmSetp();4 V. {" p% T( t/ c
                actionGroup = new ActionGroupImpl(aZone);
! m/ \( K. r6 s# F                schedule = new ScheduleImpl(aZone);0 v! Y; u$ |; b. P
                try {
( V' X  C" J: m, k0 Q$ i% x, ^                        Selector agentSel = new Selector(Agent.class, "agentStep", false);; l! v3 M+ J4 P3 X' ?8 t* Z/ \
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行( H. l! K3 c4 Z% D8 t
                        $ t8 {+ x6 L" A+ v+ \* b
                        actionGroup.createActionForEach$message(list, agentSel);
' f; _1 J# d- P) F/ M+ A* A                        actionGroup.createActionTo$message(this, swarmSel);
+ D1 l6 ]4 M6 |                        schedule.at$createAction(0, actionGroup);
9 P/ m) f8 x9 f; ?( d                        schedule.at$createAction(1, actionGroup);
- R; v, j4 m  `9 m0 C) z+ v                        schedule.at$createAction(2, actionGroup);
9 m& ^: ^! D% s0 l+ B; P7 a' e1 C& N% m9 K+ J5 l4 C  |6 y
                } catch (Exception e) {: H+ y$ S# o, z# n2 M
                        e.printStackTrace(System.err);8 z9 Q2 _% O; q9 ~% I9 `: Y
                        //System.out.println(e);; j+ q0 j6 A$ c+ P4 h
                        System.exit(1);
2 ~+ u. b+ Z5 `                }# \/ x' Z) }  @! R2 [# s* `

, b8 {  M+ V7 K: M5 }6 r  g
6 ?0 f3 h: O8 P) t: }3 b) o& x3 s        }: V/ M" h  j: Z7 |
* i" N/ O: l- G9 f
        private void swarmSetp() {$ `- P2 u' t6 n. f
                list.addLast(new Agent(Id));' I1 L% ^/ m) \& w+ ^0 a/ ?
                Id++;
  V6 O4 n9 ]+ l& B        }
# X. a" N. b: w. x" ^
* A  b9 Y) ^( i7 V        public Activity activateIn(Swarm context) {" ]# `( Y& C1 x" f, i, z- _1 y
                super.activateIn(context);5 a1 ^1 b" m/ P( ?
                schedule.activateIn(this);
0 P$ }# x" F1 X/ }                return getActivity();
0 e1 i) @4 K* B: L9 W        }
# B7 B& \, O" o# w, r5 V8 O$ R; m, j- F
        public static void main(String[] args) {# k6 `& N+ ]" Q: U- X* d
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);. N! X+ X5 T# A  q
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
$ t# ]1 V7 O1 V2 n                swarms.buildObjects();: h% t% n* W7 M
                swarms.buildActions();5 Z! l; `+ [. F( l1 j
                swarms.activateIn(null).run();; y/ r8 W) K! x
        }
2 r, W. K* x0 H+ {  r  M% B0 a8 v. n8 s+ }3 f6 s
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-28 06:30 , Processed in 0.013889 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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