设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7365|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
& i, E& {& U* H5 Z- f9 K" |) g0 h! u- Z8 y- \& P
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
3 U3 ?4 h* ]& U- ?- b& m7 ?; W以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.' ~- T0 x+ C( |; m
swarm.SignatureNotFoundException
# ^3 v! M; ?% M! Q2 K        at swarm.Selector.<init>(Selector.java:76). [5 N7 P# I& X9 d
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
& J  k5 K8 X& E        at ActionGroupDemo.main(ActionGroupDemo.java:67)
1 j8 K' c7 Q0 y' P& t
( i' R- a# K4 |( m5 z
7 |1 j' Z  T; l) Simport swarm.objectbase.SwarmImpl;1 k% y* v" o5 U* S
import swarm.objectbase.Swarm;# ^, m% f' V  F  @- y
import swarm.activity.ScheduleImpl;
% @4 ^: p7 M% K" S  d* Z( D9 himport swarm.activity.Activity;$ a! X, O: U* d# a2 T
import swarm.activity.ActionGroupImpl;: ]4 Q2 s4 y/ C4 l, g' w
import swarm.collections.ListImpl;
4 {; f" `! B! @9 G6 U. d1 Zimport swarm.defobj.Zone;
" ^# l' W3 x9 Ximport swarm.Globals;
. ~3 e" ?9 `; _+ _4 i" x5 d8 aimport swarm.Selector;$ `: M7 b4 F9 j& P  _( m! F8 P1 m+ J
import swarm.activity.ActionGroup;
0 m; c; b! K0 S3 [5 S' y# lclass Agent {1 o( V; V! ~$ `+ X0 k
        char id;, ]& J4 x0 v) e' O1 x

) R3 @0 H6 @1 R( D$ u# v5 B+ Y0 w" `6 y        Agent(char id) {
6 X" F7 q* q' z% P% N! U                this.id = id;
# u0 q5 ]. X$ z8 {- j; a5 r8 F        }6 C8 a* H8 i" x% t# @
! ^/ d0 E1 U! [3 |4 B4 Y9 D
        public void agentStep() {3 t) D# e3 R" v( G
                System.out.println(id + ":" + Globals.env.getCurrentTime());0 ~5 r/ E7 T: e; W1 u! ~
        }$ R3 D3 H+ P; ^. b" {: ?
}1 R5 [; h+ Q+ J

% [" v* T# }' f  @# ^2 ^2 Ypublic class ActionGroupDemo extends SwarmImpl {: m( R" l& j" X4 I# y
        ScheduleImpl schedule;! h' s* D) O) V% F; e
        ActionGroupImpl actionGroup;) q: ~/ g9 u% F' ^7 K; E
        ListImpl list;
: j. J7 H3 |# Q7 j4 k        char Id = 'a';; Q$ s+ U0 A# Z( I+ s) {' V
  w7 f  f* D& x( K! \4 q$ a
        ActionGroupDemo(Zone aZone) {
% u* h# a5 \/ W9 R8 `                super(aZone);
6 i0 {( I% p- t5 z: n) z1 C9 C0 U7 u; V                list = new ListImpl(aZone);; R6 T; x# a! u8 b
                swarmSetp();
7 F# e/ i! b- U6 ]; u                actionGroup = new ActionGroupImpl(aZone);
, j( W. k0 p/ q" `- _                schedule = new ScheduleImpl(aZone);, C: e5 A2 }1 P7 ?3 k$ n: Q8 h/ _
                try {
: r9 _  l. c4 Z2 \7 A                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
) r; V* f8 g5 f                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行  o9 T: ?- g" A, f
                        : W7 M% q1 k8 B3 S
                        actionGroup.createActionForEach$message(list, agentSel);
' e. j. U* v' g, ^                        actionGroup.createActionTo$message(this, swarmSel);  d" A/ a6 f2 x) R  R
                        schedule.at$createAction(0, actionGroup);
6 U" T( t5 \. P- t                        schedule.at$createAction(1, actionGroup);) ]9 E9 E( v$ y. C
                        schedule.at$createAction(2, actionGroup);
$ W. B, Z/ A+ l4 G
3 T3 a; R1 A4 \" J# q6 f                } catch (Exception e) {8 P% L5 r& V/ M9 p' _0 H
                        e.printStackTrace(System.err);
- J  T% Q* B* l+ V1 [                        //System.out.println(e);0 I2 R8 J+ ^) o" T/ `; Z* m* B& h8 s
                        System.exit(1);
  g" [9 @8 R, i, ^) I                }5 x& u% O* D* c
2 n( r4 Z6 V# M9 e! t% l
( S! @' J! S0 T, o* P  z
        }4 a& r' a. v1 u1 m; u

4 U4 K" j8 r  d: V$ t7 b) f9 c" g        private void swarmSetp() {# z$ K$ N- k) \3 I! I
                list.addLast(new Agent(Id));
; H+ H' l7 s. w1 [3 d3 W                Id++;1 N- A; x: m4 U
        }. y) d9 k" e3 y6 K+ }

# N  w! {( D# J: |        public Activity activateIn(Swarm context) {
2 f6 B' M) z% M* C/ j4 D; ]                super.activateIn(context);
3 [& h& O0 i  z" t                schedule.activateIn(this);2 \: I/ c: @7 J( M' |
                return getActivity();! s6 E# \! G7 e& M
        }
, x9 g) f# ]; W0 D) h, U' @
+ S0 l3 Q1 w8 N' d        public static void main(String[] args) {5 g/ `2 O! M# O0 R% N
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
; _# w9 M+ S$ ~* A' C0 i                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);6 Z2 t) o' t$ }* ?
                swarms.buildObjects();- i5 X2 ^/ W, G) L4 J
                swarms.buildActions();
  `. T8 x9 W1 I* t: }- T                swarms.activateIn(null).run();
! C" [% m, K  w4 Z4 l        }( y1 s, B7 c3 n

* V3 ^( e/ t( {" P. S}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-2-28 01:42 , Processed in 0.018367 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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