设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 12434|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 ; b; K* s$ S4 |' a
: p1 r+ t  w5 S
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21  n% L3 p) r9 N( d6 h" v
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.9 n) k7 S5 A4 r3 a
swarm.SignatureNotFoundException
3 I' _" H. V9 I        at swarm.Selector.<init>(Selector.java:76). Z$ A+ K4 f3 v! A
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
* w1 Z6 N0 S; f/ \- G        at ActionGroupDemo.main(ActionGroupDemo.java:67)8 |( B+ @  v& u' U+ \
, P: y9 l; m9 L( W
% i6 D" _7 n' N! Y
import swarm.objectbase.SwarmImpl;3 c( Y: E4 Q9 _- E3 ^
import swarm.objectbase.Swarm;! o' e& `9 Z5 e- ~& X. k
import swarm.activity.ScheduleImpl;
0 [& ?5 Y) T! `9 q5 [9 a6 {) R# M! `- pimport swarm.activity.Activity;5 P$ T( L, o7 Z  m! J: l7 M" z
import swarm.activity.ActionGroupImpl;% s7 P" P) [. q  s
import swarm.collections.ListImpl;' n, s# W6 y. g2 \
import swarm.defobj.Zone;
/ K5 \0 i' |# A8 c4 Simport swarm.Globals;
# P6 Q& i2 Z# m5 u3 k( M! Y8 rimport swarm.Selector;
) r$ q5 t: h0 k  O$ Gimport swarm.activity.ActionGroup;
; X( }7 n5 P: U5 lclass Agent {- [( o% V1 a" C  @( I
        char id;
" J! {% X6 i- ~
) }1 S* C" b& b# s# c" W5 T        Agent(char id) {
  ?; j( c  \5 {2 q) {7 F9 F                this.id = id;
. }9 u& u# a! b( l5 I        }1 a* p" _9 x$ x$ B$ H# N7 V: W) j" d

9 K  o) N+ V. a& _% ^! ^3 A        public void agentStep() {% j# q, W' `8 _6 E! ?
                System.out.println(id + ":" + Globals.env.getCurrentTime());
/ u* d" K8 c8 w- f1 Y9 t        }4 N4 z& w9 I+ ~
}
% R8 O1 k0 z/ z6 A- O) ~* T% T* e, R" ^& p0 L% g
public class ActionGroupDemo extends SwarmImpl {
$ V' k# y/ N. G' w        ScheduleImpl schedule;
2 X, [  r9 {9 Y        ActionGroupImpl actionGroup;
, y! f# O6 o$ |( A! g3 W: _3 k        ListImpl list;1 K. f" H2 P- L: i, s& q/ o
        char Id = 'a';
) G8 _' f+ K0 `" V0 O4 y6 q6 I' U  F, h1 N
        ActionGroupDemo(Zone aZone) {
9 |8 h. _$ m& z: o( t                super(aZone);
7 Q' s4 U6 p& i, l7 W8 `                list = new ListImpl(aZone);+ D) R9 o$ ^9 z0 F$ [5 F
                swarmSetp();3 o' N6 Z6 R9 U2 ~# r" i6 A8 C
                actionGroup = new ActionGroupImpl(aZone);
! h2 q$ m8 [$ P( R4 h0 n' @                schedule = new ScheduleImpl(aZone);
: ]9 p2 R* M1 S6 V2 h% |* B                try {
# v2 r8 O, P1 k, S. L                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
  S/ \# p6 N) j5 ^                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
7 Y8 d# c6 g/ F# r                        
: |  Y, a9 c0 r                        actionGroup.createActionForEach$message(list, agentSel);
) A' j- z2 Q$ R" U' _, `                        actionGroup.createActionTo$message(this, swarmSel);
" l. v) J0 E  w% w) D; `                        schedule.at$createAction(0, actionGroup);( U0 d# ~! j* k# T! f% A
                        schedule.at$createAction(1, actionGroup);( m* a* R. G1 T9 C
                        schedule.at$createAction(2, actionGroup);
. T0 `! v6 T+ g8 R! X
0 e+ d/ f: Z9 N0 w                } catch (Exception e) {9 O3 S6 g# O  c, [. z1 P1 v: i% @6 ?
                        e.printStackTrace(System.err);3 q4 t- O1 w' S8 f$ [5 u0 i' p
                        //System.out.println(e);
8 X0 C0 ~6 s& M1 c                        System.exit(1);" ]+ U" f; A0 x" l; D
                }* o) E$ D1 [) Q2 k* P

9 F! [) C% [8 {- K* h
7 u: T0 k" X' M5 T        }
  ?9 Y( q$ ?9 m6 Z" g  I$ y
4 r1 ~7 G' v2 e1 z/ E' {        private void swarmSetp() {
6 n4 P. ]+ Z- q' @: K; Q: \                list.addLast(new Agent(Id));
4 ]9 j. q3 V2 g. z4 b. \! d                Id++;
# U4 H3 C# d7 N- q2 r        }( t  d  _' _  s* F

* s, ?) o' v: Q: _5 T2 @        public Activity activateIn(Swarm context) {; @, k! b* \* L0 L- @# M/ }$ Z
                super.activateIn(context);
/ A7 u, e9 G3 O* k1 ]0 F                schedule.activateIn(this);4 I* O# i, V. x' R  D0 I) d, T
                return getActivity();: _1 s" \4 V4 n" @& C( u5 S
        }+ W! q9 N. D8 w( I% X" u

/ u: K% a0 I7 x& N  I        public static void main(String[] args) {* P% a5 i3 x1 @; o
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
- T8 M9 D# R& s+ w3 r                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
  m. D, i3 c! z+ i( G                swarms.buildObjects();& ^2 B- x( K6 E6 Q% Y% @
                swarms.buildActions();, Q8 L3 z, w9 I1 a7 y, ]( I
                swarms.activateIn(null).run();
6 J- G0 v8 m) y3 ]5 A7 P6 ]+ g4 C' p        }
% ?3 w7 O- i$ t9 d+ T
: S7 }( G- N. F2 q  V( C+ N}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-8-8 14:35 , Processed in 0.016790 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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