设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 12967|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 5 ^& v) T, S* l% q
3 _+ P  e1 ?! z; ~  ?
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21# M5 ?3 E* _7 d; }3 g$ N
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.: q* M5 ?8 z3 u+ v( G# Q
swarm.SignatureNotFoundException2 U( z* k  C! U9 X5 M4 J, e- e
        at swarm.Selector.<init>(Selector.java:76)
3 Z! g# n9 j# H7 K! |        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)7 u5 t8 Q+ h2 x
        at ActionGroupDemo.main(ActionGroupDemo.java:67)3 ?9 y8 B. Z6 \8 U' H

( Q2 t; c, B4 m. ]& D7 f
% k  N: D1 c; n: ]4 S0 pimport swarm.objectbase.SwarmImpl;
# D7 q) F, |, Simport swarm.objectbase.Swarm;
2 l9 ~9 `. \9 mimport swarm.activity.ScheduleImpl;
' i9 z. N7 P0 W: _. _import swarm.activity.Activity;& C5 J" Z* h/ S# S4 t) S
import swarm.activity.ActionGroupImpl;
. T2 t5 w( |. A0 {9 j1 Zimport swarm.collections.ListImpl;
, |) T& p3 E4 simport swarm.defobj.Zone; 5 Q- E/ r. [/ q
import swarm.Globals;
8 m" P* a. C( V+ ?import swarm.Selector;
/ V7 b3 a+ H4 t1 ]# gimport swarm.activity.ActionGroup; ! B, u6 E( m( ]! z. j
class Agent {
& I+ A( K. G' O) t$ F4 s3 W* [1 T        char id;
+ H/ ~7 \. @( Y( y/ o8 t7 A1 \% ?7 B: S: s7 o* u, Q6 Y
        Agent(char id) {7 S1 I* c3 x* A" ~4 x# G8 B
                this.id = id;
( }* B3 ]! n4 ?. x        }
* B9 I! J/ {  ]0 L, U% R- ^9 B' E5 v  |/ `
        public void agentStep() {
2 z4 D2 h8 D$ L( S7 f; U3 T                System.out.println(id + ":" + Globals.env.getCurrentTime());
7 ~4 M+ a4 i1 I, b8 P/ g        }
4 f% x  @' X7 Q0 Z) D$ J$ K}
" Y7 S2 K% x& ?  l) A
% o. _; |6 G, Spublic class ActionGroupDemo extends SwarmImpl {/ s' M4 C8 e3 O6 L, i
        ScheduleImpl schedule;
' y; B* H0 ^# @4 T/ Y% P# `        ActionGroupImpl actionGroup;
( F  x4 Y+ @1 I& U$ N: P        ListImpl list;
+ M# z. R# g) Y' R3 Y1 J        char Id = 'a';
& @- ~( w. _+ \+ m4 z( m, v9 M& U% Y7 Q$ z  f# |, \
        ActionGroupDemo(Zone aZone) {7 R" _3 N8 l2 T/ c$ k  W9 k7 F+ C
                super(aZone);0 l) u" A; _. a% P4 W, T
                list = new ListImpl(aZone);" l* a; m# a0 F6 J% y$ {0 B. L
                swarmSetp();
# T/ _8 l- y/ Y- v3 ^& q                actionGroup = new ActionGroupImpl(aZone);" |$ N" `: \8 [  _5 M2 \
                schedule = new ScheduleImpl(aZone);- z/ S8 _( M: Q3 h4 f6 B7 j
                try {
/ ?$ J  ^- j) {% m/ N                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
. X+ R( t1 R0 u                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行6 O1 V7 p" J. I- k" L( c* g: t
                        # m4 Q( h& X5 R4 Q5 q
                        actionGroup.createActionForEach$message(list, agentSel);( r* e% B1 b2 d6 m6 e8 |
                        actionGroup.createActionTo$message(this, swarmSel);- q% A! d2 X5 i3 \9 ?
                        schedule.at$createAction(0, actionGroup);- N+ W# B; m' r7 ^6 I
                        schedule.at$createAction(1, actionGroup);
4 k" t( G3 ~# L; ~& e6 N                        schedule.at$createAction(2, actionGroup);
. U4 f& B9 p8 `( j
2 a3 ]  d  p5 }& Y) C% L                } catch (Exception e) {) D9 Y$ K2 x; ^0 X
                        e.printStackTrace(System.err);# |0 O8 g, K! v$ z1 h+ ]
                        //System.out.println(e);$ }4 h+ A, p. w2 N3 e; V
                        System.exit(1);6 C' X7 u7 a! {5 ~, P  B3 G; W
                }
& R; p$ T2 n6 X# p7 A* ^7 A/ U+ O9 C8 o
) H1 [$ X5 M& E4 E. n' D+ z
        }, I1 `8 b' u+ z* T/ |- O) O

% m5 b, b, v' U1 G, |- f7 ]+ J        private void swarmSetp() {
4 c7 p  k* O: ^% h, z* U                list.addLast(new Agent(Id));
) U7 j6 a/ T: p2 I8 P2 m                Id++;
+ x1 U$ N) _5 B7 c1 w# c        }% l9 s8 i' U  {; }0 C. M
, w# @5 c! x; L- |
        public Activity activateIn(Swarm context) {
4 L5 [! z- R. w+ X2 ]! S, g1 J                super.activateIn(context);7 A1 c. Z2 h, B0 }' N
                schedule.activateIn(this);
- D; w$ ]2 J# x$ O& G                return getActivity();
' K0 r  ^1 r! I% a        }: E4 i. ^1 b- E2 B

* ~" e) a3 Q" F8 H4 b0 H( R6 U, v        public static void main(String[] args) {
2 l% n: t5 _$ U9 D                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);( W8 b2 r9 }3 v: e" b( G8 m8 O
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);8 _' i9 k2 {" A6 S7 _" b1 G+ W
                swarms.buildObjects();
* x4 \# o6 r) N8 g' j& P+ S                swarms.buildActions();# ?0 ]& l/ W. f2 {, v
                swarms.activateIn(null).run();
8 ^0 [! c' l0 b4 _( q( e        }" ^# ~$ C) D/ l( S& s

' h7 u3 W% L3 A( |; y5 f}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-8-24 15:23 , Processed in 0.031589 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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