设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 13197|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 " ^5 x9 h1 n, S% K$ ]# X

% }+ R) y1 R- n. ?8 }本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
& O6 C( v) J0 m+ l' l6 a以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
: ]0 J; z- e0 _0 s9 f1 k+ Iswarm.SignatureNotFoundException
. p& j& Z, W( c& J9 @        at swarm.Selector.<init>(Selector.java:76)( t; S# c6 J  ^, G$ ?) ?
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
' p- t/ e/ I1 S7 f        at ActionGroupDemo.main(ActionGroupDemo.java:67)# x/ x6 W( C' X$ c) R2 {8 ]- A
& g: i. M& l$ i4 m6 L( e( d

( G. B2 ]$ h6 M6 Fimport swarm.objectbase.SwarmImpl;
/ q* I* `. f" Wimport swarm.objectbase.Swarm;* y4 d  g+ |( f- s& v
import swarm.activity.ScheduleImpl;8 b; u1 F3 x, Y% ?  C7 I# O
import swarm.activity.Activity;
/ A0 S3 q4 Z% |/ P, g4 Dimport swarm.activity.ActionGroupImpl;
( i. s; |4 c, ?; S! k6 s! Zimport swarm.collections.ListImpl;
1 l  h) v! m! s3 B0 m  l& {import swarm.defobj.Zone; - x2 C3 h$ k9 |  {$ a) |! T1 n2 q
import swarm.Globals;  O  S: t2 V' I* ]! x5 v
import swarm.Selector;
0 ?; i- T1 V8 {  V2 f3 timport swarm.activity.ActionGroup; & [$ M. a% M: w) S  Z! Y: |! G
class Agent {
3 ^& F3 A- B; u% R! ]% c        char id;
6 l; d- B$ @5 Y6 X# J% {- m
$ A( k' q6 r2 G9 T8 U9 F        Agent(char id) {
' `, \, o( @9 e                this.id = id;
4 @% P! U; ~5 {* b3 t3 [        }
+ D) u$ \2 z4 ^8 {+ Z3 c' F  ^1 V# r! E- F& A
        public void agentStep() {
' W9 j+ Z. T/ P% s" Z& t. I& J                System.out.println(id + ":" + Globals.env.getCurrentTime());
- e4 k# ~0 L/ Q3 E+ T: N6 a        }
' W5 U( s$ Z6 Q3 c: N}6 K/ n. X+ ]/ }/ h- `) E6 w
5 A& c8 ?8 A3 O
public class ActionGroupDemo extends SwarmImpl {9 o2 q4 R" y% H, i9 d; ?
        ScheduleImpl schedule;
/ T3 \* m9 Q2 f% R; N+ v3 r        ActionGroupImpl actionGroup;
8 E! n, R- ^8 |4 Y4 i        ListImpl list;- Z6 p8 a/ r- L2 `8 F" x
        char Id = 'a';  F$ {7 Z9 t( k" _1 O1 d
5 @2 k0 u! @3 S+ @+ e
        ActionGroupDemo(Zone aZone) {
( g7 q: ]1 h: J                super(aZone);
# B& }/ Y2 {3 w+ K* z' ^7 W                list = new ListImpl(aZone);
/ S8 y( }; S& k                swarmSetp();
& L8 A+ |& h3 a. }' h. o                actionGroup = new ActionGroupImpl(aZone);$ i3 }. ]% Y5 z1 u
                schedule = new ScheduleImpl(aZone);; c2 b# v' J% a) Y8 L" l
                try {
( ?" \# f8 g7 ~2 f                        Selector agentSel = new Selector(Agent.class, "agentStep", false);3 H" h; @. Q: K5 f. `
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
  B+ o$ _% J  B$ R                        ; V0 }& ]4 a# v  U& r) `
                        actionGroup.createActionForEach$message(list, agentSel);8 H) Z# m% Q  t0 @+ u
                        actionGroup.createActionTo$message(this, swarmSel);
: I: T, f% g' A4 K  Y- c" n                        schedule.at$createAction(0, actionGroup);$ t, ~7 d( K9 a/ A! ]% X: E
                        schedule.at$createAction(1, actionGroup);4 {' i8 S7 N" F$ Q4 }  p: y
                        schedule.at$createAction(2, actionGroup);
6 S' v. C4 I+ ]( b& M6 l# N
& O" w9 u- m, m  g                } catch (Exception e) {6 t! _8 t7 Y; y6 d* J1 h
                        e.printStackTrace(System.err);* \6 [; z+ R- j4 P) S! l0 f
                        //System.out.println(e);
" ^. d  g) n, k% i                        System.exit(1);
8 ~$ h8 V" m1 k                }1 g3 B/ o+ F$ m0 I+ _" x9 I

* S# q# {0 Q1 ~% A: \6 B% k* z9 R3 l. G, y" U
        }
" o& t0 n9 z% w: c$ Z) t# j7 e% |6 ~6 J( i
        private void swarmSetp() {/ R5 A( C, D- E$ s: w+ n! T$ v8 z2 _
                list.addLast(new Agent(Id));
3 t4 c; x- O5 T: }/ `5 x                Id++;& B( c: C" p: H# `' o. i
        }: W9 I2 \  n6 L4 e0 M5 L

  N" R/ v" `. D+ p9 O% A        public Activity activateIn(Swarm context) {! p$ ^1 l# z8 o
                super.activateIn(context);3 X& d% H* ?$ P/ B
                schedule.activateIn(this);
- \" S* F' a) l' H# q                return getActivity();' N$ o; s, I% z7 \; W6 K- q
        }
1 B# V- n4 B: `8 s/ H; t/ q& Q0 s' ?5 v* D( ?5 v. P- X9 e; T: D
        public static void main(String[] args) {! q/ y( S6 k) u* \
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
# K7 V5 v2 N; g2 J. z0 H. y8 w                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);! v- t( Y. W0 M' z7 S0 Y
                swarms.buildObjects();+ g+ m* v# E1 m( J7 a, X: v
                swarms.buildActions();
, m* p# [, W, O4 S7 w9 d/ u: h( N9 {                swarms.activateIn(null).run();
% o. l+ j( A- a7 Z# r0 b0 ~        }
2 f; f) ^: x9 H
# V7 [# d9 A8 l5 Q. G4 C/ U}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-8-31 06:53 , Processed in 0.015815 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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