设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11423|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 & @  `  `% N& R& z/ p0 x
: X8 N. d  a! M* G) c
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update214 h1 O6 @( C0 y, e
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.( |! ^' h& @" }) c4 ^( {9 f8 k+ t0 \  H
swarm.SignatureNotFoundException
* h" u; _% G5 L        at swarm.Selector.<init>(Selector.java:76)
8 e1 e7 F1 x6 x7 p- \        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
! m" C% A" l# U, W( ]+ I5 B+ V        at ActionGroupDemo.main(ActionGroupDemo.java:67)
; k& J7 G& F4 O& B4 C$ S1 D3 ~
) g3 O. {2 O! ]7 E
) t' G9 s3 |# g% _6 [- x( iimport swarm.objectbase.SwarmImpl;9 }! f! Y5 U$ Z! [+ _. U& U
import swarm.objectbase.Swarm;, N- L# y/ I7 W# R1 |: `/ |9 B
import swarm.activity.ScheduleImpl;: M& c3 F; [$ U- _# G
import swarm.activity.Activity;1 B: f1 ~+ e9 q9 B
import swarm.activity.ActionGroupImpl;  `" v2 `: K- a6 Q8 i9 P
import swarm.collections.ListImpl;3 f6 `6 M+ N5 ?& Y* }& ^" M7 K1 \
import swarm.defobj.Zone;
: M+ B$ ?' A( [8 S! {8 R7 Aimport swarm.Globals;) R# [* M4 g1 f
import swarm.Selector;
& M. M, s# a2 o) Kimport swarm.activity.ActionGroup;
9 O5 j, x1 z# `class Agent {
- Z& \. `- r( ~6 u; u2 C        char id;
/ L% f  w" y( y; r; A
5 v/ L* x2 @. b; ~4 h  O        Agent(char id) {
5 ^3 j( w) W/ P! E6 J                this.id = id;
: w, h1 F/ J9 m$ b        }! f6 ?% }' e; T; h$ x

  j! N! K, f  ~. L1 J7 E6 [& D        public void agentStep() {
# |) L; R7 G" I' A: w& z1 P# \                System.out.println(id + ":" + Globals.env.getCurrentTime());- h- K6 D, a' E- E
        }
! N3 A3 H( R& B. [; N" t+ C, r8 S3 R}  A3 m% Y7 z# J  o4 {; g4 z! Z

# T: }# ?' a* wpublic class ActionGroupDemo extends SwarmImpl {0 @9 ?, v, k+ c: w) ^7 x4 x
        ScheduleImpl schedule;, f: Z- ?9 F- ^( m: R3 K) o
        ActionGroupImpl actionGroup;
! ?# Y. a/ g7 n0 h; T        ListImpl list;
8 g0 F5 W9 V0 C# m9 A        char Id = 'a';
5 }. _" m4 `; X1 O! H( i7 U% W" y' Q5 E7 g7 b2 b
        ActionGroupDemo(Zone aZone) {( e0 L* j# x8 i6 F$ I6 H6 E0 K; y
                super(aZone);3 @! h( j! n: A( ]9 v7 X( V% P9 B
                list = new ListImpl(aZone);
& {7 g% P6 n: r: _6 o; H                swarmSetp();# X5 x2 j( x) E" f$ j0 s( o6 O" ~" z
                actionGroup = new ActionGroupImpl(aZone);& s% Z# R$ f$ Q- v4 e
                schedule = new ScheduleImpl(aZone);
" }5 s! \4 y: v6 ]5 u                try {
, q! W5 I) Q1 \" u                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
8 W+ F3 X- R" V) ^3 R                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行) ^: g2 N  O( J8 L
                        
  q  U$ w/ F/ r7 `                        actionGroup.createActionForEach$message(list, agentSel);! D' C, @; }4 {2 ^. u: A4 A" J
                        actionGroup.createActionTo$message(this, swarmSel);
. \+ z0 v5 _+ k7 t5 q$ l4 o                        schedule.at$createAction(0, actionGroup);4 h) E6 I4 g3 t
                        schedule.at$createAction(1, actionGroup);
& z' C  g3 \) N% B* W, ~  M$ v, U                        schedule.at$createAction(2, actionGroup);
7 \$ r) o# @9 n' Y" u" p3 J: O, d) e* E& U
                } catch (Exception e) {
2 }- Q( a+ J$ Y# U                        e.printStackTrace(System.err);8 i0 a( h/ Y4 p& I" a
                        //System.out.println(e);2 C. A2 C. T9 ]6 a( a! i6 f
                        System.exit(1);
  F8 {; ~+ q: Q+ `; ~8 I                }
( y( q! ^* B7 K) H$ u
9 I' ?. r8 H- e) ~1 l6 X2 S
% O: m1 [! i2 ], G8 [; m, v* Y* Y        }
. a. \. \( J& B% B2 M$ c1 Q8 |4 |; \, d0 W! E7 U- I. C
        private void swarmSetp() {6 D1 m; i* Z! S: Y
                list.addLast(new Agent(Id));
* w! D+ d" `, j+ _                Id++;
* M: w6 G5 m1 i/ y        }
' F8 }: w0 Z( w+ T) {& W, w  N+ n0 i& D3 l3 T
        public Activity activateIn(Swarm context) {
1 T; ]* n# D, a" A4 h; E                super.activateIn(context);# r9 d( Q( m: ]% l: r
                schedule.activateIn(this);
3 X% N# S8 N0 P7 |% n                return getActivity();( ~# w- H4 E: _4 d4 ^9 U7 C
        }
9 F7 i! {$ \  v' Z- p3 W3 @! s9 A3 J( o0 e0 t  @# j' x* m
        public static void main(String[] args) {- ^* `* w0 d4 x- E  P2 u% F3 J7 ^5 G
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
) _+ _# D1 G" Z$ F1 z                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);/ L. p, Y+ K2 G7 [% ~3 ^1 x& B
                swarms.buildObjects();
; ^7 }" J; s, q3 N                swarms.buildActions();
# A0 T" _7 @) d" c& y4 l                swarms.activateIn(null).run();8 S. ?% L2 }+ P6 S7 n
        }7 T! R* Y# S0 l1 G9 ^+ j
  T; ^7 Q" v" A( v& [
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-7-12 00:10 , Processed in 0.013908 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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