设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10542|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 9 i! @7 `; n0 p6 L
" j6 z. w- S; i) z, C: I9 I. S# @
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21. P0 Q  B) z( O6 C0 }, D8 }$ N# \
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.( \! N! j; F, \; V* `
swarm.SignatureNotFoundException
( z* F) M2 Z+ A) ]        at swarm.Selector.<init>(Selector.java:76)1 U+ W$ j/ O6 u& p
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)( G( b9 h- G6 h- t# s) E* @( K# X! I
        at ActionGroupDemo.main(ActionGroupDemo.java:67)
) D# [2 a0 \( ~) d- I, b# Q7 y7 `6 o

- _) I# T. u7 i# gimport swarm.objectbase.SwarmImpl;& F* H9 {+ I0 t0 r; D0 |/ W
import swarm.objectbase.Swarm;' A" E  k3 w  r7 g; s  @
import swarm.activity.ScheduleImpl;
8 N$ |' t# [3 W2 s  ]import swarm.activity.Activity;
6 H( B) x- q2 Pimport swarm.activity.ActionGroupImpl;
3 ~3 v: r5 h, w4 q4 u; [$ z4 _import swarm.collections.ListImpl;
- u2 C3 l- \- a0 Q8 q, H( [1 nimport swarm.defobj.Zone; + y; Z/ d% N" N6 p
import swarm.Globals;7 w/ r: e: ]: R1 G
import swarm.Selector;/ T; B, N; |* M9 {
import swarm.activity.ActionGroup; : }0 L" T& P' d$ F/ |4 w
class Agent {4 P% i2 \- D; E1 j* K* L; `3 L
        char id;
  U. ]' T7 q# k- U6 _$ |$ J$ Z% M$ R; |: ~
        Agent(char id) {; a! v$ n) w5 T# h! b. H& y
                this.id = id;+ \* D8 F3 W6 ^- |' D! @
        }5 |# X- |* d8 q/ p( K1 ]) J% o

4 _3 g* i) u$ C9 c: {        public void agentStep() {/ a1 f! r3 E' N* ~
                System.out.println(id + ":" + Globals.env.getCurrentTime());* c/ T0 Y1 Y( n
        }$ O* Q0 t; R2 i
}
0 l2 r1 y+ v3 s& {) S1 p; w4 j9 ~
public class ActionGroupDemo extends SwarmImpl {
& ^! Q  }5 ~. z        ScheduleImpl schedule;' L6 p. i7 R4 J
        ActionGroupImpl actionGroup;' B( w+ x( b0 j# Y- i0 M) `, \" V
        ListImpl list;* b  f9 O  q5 [$ q: a
        char Id = 'a';4 c6 L. F. {6 b8 f

5 f2 w" A0 R+ J+ Z0 G# W2 S        ActionGroupDemo(Zone aZone) {- U5 }+ a" b: R" T6 L
                super(aZone);
7 f) [% P& ?2 D( o4 ?$ M                list = new ListImpl(aZone);
- d& G+ Q9 R, R8 z" z+ B% Q                swarmSetp();
! h8 {, Q, r- f( n' k# T                actionGroup = new ActionGroupImpl(aZone);4 u1 {' z' d) d9 F4 J4 G  c
                schedule = new ScheduleImpl(aZone);3 H! x/ h( H9 w" _. G; O( k8 A
                try {
, e  x( D2 w+ D1 r                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
+ [3 e5 Q. V% m  g                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
0 y/ c& s) y( \0 D5 i8 B0 u                        
7 A! d) w9 W2 Y: w3 S                        actionGroup.createActionForEach$message(list, agentSel);( g* u4 T! B4 s( [' _7 U( z' f3 z
                        actionGroup.createActionTo$message(this, swarmSel);$ O7 B4 H& p/ Z
                        schedule.at$createAction(0, actionGroup);2 B! V* D( _/ b+ t, f4 ^
                        schedule.at$createAction(1, actionGroup);* _4 s; B; O- J2 O$ x' O
                        schedule.at$createAction(2, actionGroup);" n3 W7 x$ p* I- W- |7 V$ ]/ v  `

% [9 E" v$ R$ p9 ?) ^+ b                } catch (Exception e) {( D- h; b# @5 t& E) Q9 N
                        e.printStackTrace(System.err);' a& u+ E( q( M4 Y2 Z3 N1 |5 m
                        //System.out.println(e);6 u7 }. j3 R) H
                        System.exit(1);
, X' L# I& e) Q" D. ?& Z) S                }
& u/ V7 G" A( Q2 {; h8 U8 s6 m  g

8 E+ _4 N6 Z8 g( ^: A+ D; F$ M0 _        }  c- S4 E) y5 N; J3 x, I
7 `! ]# h# e$ G
        private void swarmSetp() {
7 ~- ^/ W) l# ?. o. U# P7 g. a: x                list.addLast(new Agent(Id));
, w  n) r8 d5 M, f                Id++;
. u6 A2 C5 X' i; H* c6 W: {9 f$ V        }
# E9 Z+ B9 D! g; v, O5 _; c5 `' v# g- A
        public Activity activateIn(Swarm context) {
  F8 q) d+ g# N( s6 K                super.activateIn(context);
+ S/ h8 }* |, K7 c4 O: A# A                schedule.activateIn(this);4 l" V: t# G4 `9 u2 J3 r2 X6 h+ b
                return getActivity();" ~( g' P6 R" I$ j0 Z
        }
$ p& V" H7 W) Y: S
6 V- O9 r& x4 D& u2 Q9 ]0 r6 Z        public static void main(String[] args) {
& r) R2 Y% F4 c7 O; V% ~, |                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
, ?9 M  @9 N. T  n) b4 ^6 C                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);5 l+ O0 W& Y# M& p7 c7 @0 ^) h
                swarms.buildObjects();4 @% Q5 k8 }2 B" l4 R
                swarms.buildActions();( z3 |* Y" L" ?9 F% a
                swarms.activateIn(null).run();4 g/ I5 A( q: B9 [& l2 B0 M; S
        }* L$ E% m; D6 g( G

- q- h5 L8 a+ O) f; N/ q. R5 c' z1 j}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-16 21:02 , Processed in 0.013734 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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