设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 12983|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
+ t! Q6 J& u& P9 \9 h) H3 ?0 R) ^- {' ]6 x1 G9 H( F# C
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21# J( ]0 @/ l8 ?, h! f# J) E% b: T6 f
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
* @' @8 f+ U7 s. Cswarm.SignatureNotFoundException
' T/ g% x  ]3 s- M1 F. `! b# R6 I        at swarm.Selector.<init>(Selector.java:76)2 G- ^+ |9 H' r# m2 j
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
5 @7 O! {2 n# b5 c3 V( `* E        at ActionGroupDemo.main(ActionGroupDemo.java:67)
) @1 r0 Z% m" f$ h
' w1 i6 T3 n" i2 G/ ?1 n  T2 [' _$ \) |- |! G8 }
import swarm.objectbase.SwarmImpl;5 a5 J/ t, |+ z  W! e# N
import swarm.objectbase.Swarm;2 M* Z8 m. T+ E# k$ J9 D9 e8 x, n
import swarm.activity.ScheduleImpl;
! r) b( V* \. m0 d$ o( E' _. ?" Himport swarm.activity.Activity;& J! e2 h2 p% V, U" Z0 n+ ~* D
import swarm.activity.ActionGroupImpl;
* w& h8 E/ \/ }5 [" gimport swarm.collections.ListImpl;9 L: a+ i7 e- W7 a5 a
import swarm.defobj.Zone;
9 ^3 O( l( Q" A: l: D# [import swarm.Globals;
/ @. Y2 L9 s2 `: w7 J' iimport swarm.Selector;) v# t- |) B$ k% B5 e% G: ~
import swarm.activity.ActionGroup; 6 \, H$ }4 {) V1 ]
class Agent {
9 j& z7 h2 `" V        char id;
' J  t1 o% r% v
: C$ y% C% N0 u6 b) _4 t4 J        Agent(char id) {
- ?; O3 U4 J$ \6 r4 G. B# E                this.id = id;5 B0 P5 k/ n, z' u! x; R' {6 R' S2 D
        }
7 H' Z# a$ ~  U9 l7 I9 Z# H% p1 i. Y  U
) y# @; S0 ?3 ^% J        public void agentStep() {, [: B; ^. U, x3 P' _& Q' t0 P
                System.out.println(id + ":" + Globals.env.getCurrentTime());
$ N  |. N" [# @. y1 s. }1 ~        }, @, t2 z7 W/ `
}
7 C/ b% q. L  u3 Z3 n; i# s6 V  O7 A1 m; W" D
public class ActionGroupDemo extends SwarmImpl {
/ Y4 a$ T1 L+ A        ScheduleImpl schedule;& ^1 ^7 g  l  e) [
        ActionGroupImpl actionGroup;' {3 d. G. ~3 X! ~" g
        ListImpl list;$ z' X6 ]$ B# T; P; x5 c+ U. j
        char Id = 'a';9 h' R; e" w6 \7 [9 ~1 y  c

' X- u. v' \" Q# ?        ActionGroupDemo(Zone aZone) {. ]; N  s  s$ I3 Z- N# g3 u1 }
                super(aZone);
0 u9 i/ C# g' M                list = new ListImpl(aZone);
$ p  V3 Z# M4 ?2 W  e                swarmSetp();/ V3 n3 e4 k8 D8 u( t" X; V. c
                actionGroup = new ActionGroupImpl(aZone);8 C3 ]5 ?4 ~/ }5 z) c8 I$ I) \' E
                schedule = new ScheduleImpl(aZone);
6 T$ _" Z/ o' u4 y                try {6 g+ H0 ^6 s' [
                        Selector agentSel = new Selector(Agent.class, "agentStep", false);: I- m" p7 P9 Q. c
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
$ U! y+ I- ]5 O8 o                        
9 z7 O) Z& E) [                        actionGroup.createActionForEach$message(list, agentSel);# x% F+ P1 l8 A/ x
                        actionGroup.createActionTo$message(this, swarmSel);& n! y. J3 t: t5 H3 b9 b
                        schedule.at$createAction(0, actionGroup);! n3 i$ d+ k: w( }
                        schedule.at$createAction(1, actionGroup);
! D2 U+ B# r' y: _                        schedule.at$createAction(2, actionGroup);. w, [6 W, \8 `  \$ c' ^" T
) `$ {6 X7 ~  I' o. z/ _3 S
                } catch (Exception e) {
: n5 ~! g1 X. O8 V1 E1 s( P                        e.printStackTrace(System.err);& |  |0 G2 R. n4 i. p
                        //System.out.println(e);
! O6 O7 T1 U$ Y2 n. T5 F4 |                        System.exit(1);- x% k/ r+ z3 b  ^& D( [. L" F
                }
( {' V. a9 S( k- w; Q+ o
$ h! @( N& h$ N  E2 a+ F% ^# I; L/ F
8 j( d6 B1 b8 N+ o. V7 s        }, b3 X- M$ y' R2 [( ]& v3 o

( g5 t* c) ~& r3 e9 a: P2 W        private void swarmSetp() {
( ?, L& V- a, Z7 h( \9 C" q. V+ k$ [                list.addLast(new Agent(Id));
. W4 y1 \" R, w& p& p                Id++;, N) Z$ i- _( Z5 s' s" z
        }0 j; ~5 l) m1 c. c) n, r
. m6 e; U8 [4 W$ J
        public Activity activateIn(Swarm context) {
4 p+ P/ |0 i4 A2 e1 _9 @                super.activateIn(context);
+ l5 N! S5 H  [                schedule.activateIn(this);* l- ^9 z6 Y6 m4 |# h
                return getActivity();
) N$ k9 j1 ^( ~' M' }5 V$ X3 M8 l8 t        }
* g& R5 u; X3 U) e. ], h0 K' c$ D8 I8 V( H
        public static void main(String[] args) {
  v4 @5 Q" ^7 Q                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
  V8 g2 f0 B, H  G6 r                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);( `' X2 s2 j1 z% |. c5 }
                swarms.buildObjects();
" ]5 {# [/ b! F8 m  ?" t/ t/ R                swarms.buildActions();
( x" N: v- ]( G! R4 T* S9 W8 n  I/ M                swarms.activateIn(null).run();- W. w' I5 a0 w0 W+ q
        }' T' L$ L0 P$ r  Q5 f( Y. j6 b

: Q" m! u6 i. F, h/ W}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-8-25 03:12 , Processed in 0.015417 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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