设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7883|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
% B! K0 j  a5 ~2 e) K1 I
* o& i9 t2 T/ j/ ~3 Z/ L本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21# a& y* Q' m% P# O$ ^
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激./ i/ z; d0 e" b$ \* i; W+ \7 g5 i
swarm.SignatureNotFoundException5 Y- d7 z: F( A+ A$ S) k
        at swarm.Selector.<init>(Selector.java:76)7 s5 j+ _0 v' h. K0 |) f  A
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
6 z6 C5 a0 c9 O0 l5 r4 i: K        at ActionGroupDemo.main(ActionGroupDemo.java:67)
9 h7 U- D' A0 v/ J2 P- F6 R% ~* Q- }3 l0 o  N6 d
4 D- m7 _0 R" z8 C# h
import swarm.objectbase.SwarmImpl;; g' N3 [# Z* x4 M% Q$ D
import swarm.objectbase.Swarm;
4 t: p6 w  K" |/ Fimport swarm.activity.ScheduleImpl;
7 a2 V& B: S' \7 M  rimport swarm.activity.Activity;
4 f& b& j) z& s; H  M, S% z: G: nimport swarm.activity.ActionGroupImpl;/ @$ B8 |5 m1 b. z* [; ^
import swarm.collections.ListImpl;$ R* t/ D2 J+ n' _6 q
import swarm.defobj.Zone; * j$ ?/ K5 L$ O2 @+ p. u
import swarm.Globals;
$ j9 ]4 U  A9 A4 c$ g3 S8 z# Iimport swarm.Selector;
4 R0 V; q4 I- E! r7 @# vimport swarm.activity.ActionGroup; 0 f3 R7 p* N& \- ~* ]- d! x
class Agent {$ q; o5 z- |! C- N
        char id;" E) u( j& L0 w5 k/ q: B2 ?
# u6 e+ ~) ?6 ^( t8 O5 B
        Agent(char id) {
! H% T! x! ^" c" v2 x2 \) B                this.id = id;
; |2 n/ B6 U6 t, V' J2 L. C6 ?  U        }4 C" q8 W& V- I- n+ G5 r% M

$ _4 {  W: b2 \6 q2 O        public void agentStep() {
7 G% O7 r, n* I. b! |                System.out.println(id + ":" + Globals.env.getCurrentTime());
7 u/ y, [& ~- V% |) N5 G5 [) O6 X        }# a; ]7 ?/ I% b- C+ Z3 U6 M
}
5 g% C' {+ X( M8 e" e
, L* T9 h/ J: T# ~public class ActionGroupDemo extends SwarmImpl {
, I0 s: c* G2 ^0 P  m9 ]        ScheduleImpl schedule;
! \9 m1 c& e' M) L/ E        ActionGroupImpl actionGroup;3 j9 P, v9 u; e: |+ M( Q
        ListImpl list;
  V( `! T$ Z9 O% R( ]        char Id = 'a';
% c+ L& K. V3 _2 C$ {. ?2 I/ M8 e- m- ?7 l
        ActionGroupDemo(Zone aZone) {; Q0 G. o! [* ?
                super(aZone);
9 Z. e" o8 W& c) M                list = new ListImpl(aZone);! F' a) @' X8 X' U: O
                swarmSetp();( J5 t# Q6 N$ Z9 m7 y1 s
                actionGroup = new ActionGroupImpl(aZone);
0 T7 q0 t3 A1 |: y                schedule = new ScheduleImpl(aZone);) ^' H, K) m+ f6 G+ G: x5 S' H
                try {
" t6 h7 @) l' a                        Selector agentSel = new Selector(Agent.class, "agentStep", false);6 u- P, m6 S/ P3 o/ d
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行. @, a' x7 A) B4 r6 G" V% B6 N! M
                        
. \, D4 G5 \9 [                        actionGroup.createActionForEach$message(list, agentSel);
# v9 R5 d6 J8 U2 T$ b4 i6 v                        actionGroup.createActionTo$message(this, swarmSel);
4 @+ a$ n* K! M* J5 `* d                        schedule.at$createAction(0, actionGroup);( R7 a3 N0 h5 v+ l1 n
                        schedule.at$createAction(1, actionGroup);
$ e6 w' d: B1 F! ^3 e0 x* T                        schedule.at$createAction(2, actionGroup);
: m. e) y# D) Q- q6 X* ]: e/ Y& f" X0 E; _# y/ z
                } catch (Exception e) {! J2 l3 Q- Q, N+ b" Y
                        e.printStackTrace(System.err);5 @1 E  ^) d+ S+ {+ ]
                        //System.out.println(e);# A) t$ t* [) C( I
                        System.exit(1);+ s# n. r8 b/ x  `3 n+ _
                }
$ \. K; ^: I5 r! i
% ]1 F/ ^" S3 A2 G' r; o
) k5 L2 h9 _  L) ^! D        }
; ~2 v8 ?* O8 A1 s9 u/ H+ Y! y
7 q  g1 d* c/ h        private void swarmSetp() {
4 k8 t  c/ \- m9 b                list.addLast(new Agent(Id));
) o7 G2 I7 r/ e; [+ q' Y                Id++;
" @& C( f; w( g: A  [* Q8 L9 Q0 V        }
( |8 v5 `8 k$ V& v8 k. l8 I) M$ C- w  ^1 v4 d. R+ o3 ^
        public Activity activateIn(Swarm context) {) {) R  S- X/ r/ \3 `
                super.activateIn(context);
$ z+ [1 U0 ~" a0 s& }+ [4 `3 W                schedule.activateIn(this);  w3 @* N4 M+ d
                return getActivity();% f5 ?. F8 s) N3 V; i$ y9 E
        }! v  ^' R6 |4 L9 s. ?5 U, ]3 e

# X: P% r' M  q, @6 Y        public static void main(String[] args) {- J3 Z: Q5 I4 o3 x3 M. q; q
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);. g" _/ [/ M9 W: P- G
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
$ u4 R2 L* Y: ^; m! S) U& m# d                swarms.buildObjects();# x9 o8 T) J4 Q8 x' [
                swarms.buildActions();
9 |  m* n  A- V4 l, J% Z8 w+ Q$ l% |                swarms.activateIn(null).run();2 J1 ?- R: ?& V' j" b( N3 k5 \
        }
, H3 ^& i' H( @/ z: ]" c2 L. h; h2 N
* c1 a3 s% ]2 R5 o}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-19 19:05 , Processed in 2.218957 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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