设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7419|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 9 c) S- }; N! g; a2 h9 s4 u

6 j& N" }7 x: ?本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update215 f% G/ }5 f% x4 L
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.8 o4 r3 Z# e. d1 R
swarm.SignatureNotFoundException
, q/ U# `$ j$ B4 w6 D        at swarm.Selector.<init>(Selector.java:76)1 E2 z7 m/ I6 _. K
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)3 S3 E: t& k. U$ k+ b+ g- y
        at ActionGroupDemo.main(ActionGroupDemo.java:67)8 q. U2 b( M6 r, a
2 a, j6 v- L/ r7 X. H
4 Z/ a% s3 X! W
import swarm.objectbase.SwarmImpl;
) P* }5 J6 o( @6 dimport swarm.objectbase.Swarm;
: ?) _+ Y5 U% c) ]( P) v( himport swarm.activity.ScheduleImpl;5 w5 N( {- H& {. u
import swarm.activity.Activity;
% z  E, o4 d' o* F4 Vimport swarm.activity.ActionGroupImpl;
' S# a7 b( n! z0 Z6 o& ~4 e3 kimport swarm.collections.ListImpl;+ x& ]& K1 H, S0 f" B7 R8 t' ^& A5 T
import swarm.defobj.Zone;
. u7 W4 e7 ]. t  X! Cimport swarm.Globals;+ n1 u% @8 T# V& z4 y$ w
import swarm.Selector;0 |' T" I' C+ A, W3 y; U7 a' o# w
import swarm.activity.ActionGroup;
  ~9 C* F. o, h" o- ]class Agent {
$ u9 G% I4 B2 c$ {6 \# o        char id;3 v! ]! I5 m! z, L- q6 @% o' m

- ?  M7 ]0 s# q        Agent(char id) {9 T* F. `* w8 C) _. r  |
                this.id = id;
3 Y8 e# N/ D0 [  i, I$ o* X        }) v9 p- I# ]2 p; L: j6 @; G
  `7 C- P/ z9 S% `
        public void agentStep() {
7 c& @9 X' V% i4 e1 M. _                System.out.println(id + ":" + Globals.env.getCurrentTime());
4 I* l6 a( \6 @  e4 O        }7 ~4 U+ N% R% ?5 B- T% v7 @7 {
}
  R: T' E  F* h) S8 F7 X6 k
+ e' Q$ h, I. ypublic class ActionGroupDemo extends SwarmImpl {
& L  K; o' F/ B' F1 ]        ScheduleImpl schedule;8 p" V- X( `! n. q
        ActionGroupImpl actionGroup;
5 F" d3 x- e  Y9 v% c        ListImpl list;& Q7 X- O, }) E6 |  m+ ?
        char Id = 'a';
% n' O- g: B+ N* o+ l4 K9 a: T2 G. x5 }: P
        ActionGroupDemo(Zone aZone) {- G. P5 L2 O; }- h: B' j# b
                super(aZone);
- w  G2 D5 I/ w                list = new ListImpl(aZone);
9 F( r1 }4 R9 j8 v. s. D4 S                swarmSetp();
* m) L: Y% e& b( d* Y: H                actionGroup = new ActionGroupImpl(aZone);
. I8 ^( e) O8 l                schedule = new ScheduleImpl(aZone);
# {' w$ G2 \, Z$ i8 S7 F% M                try {
1 |) S- E& z' y                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
0 a5 D* U, l; `( y( C5 U                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
" d5 R& ~& t$ q" f                        
4 q* {: N0 |  V9 S1 C& L+ _0 X                        actionGroup.createActionForEach$message(list, agentSel);
  v/ C: ?: ^6 U6 b                        actionGroup.createActionTo$message(this, swarmSel);
& x4 c8 S, A6 O( C1 r5 Y                        schedule.at$createAction(0, actionGroup);$ u( W5 j6 _# n) h* I; t1 ~
                        schedule.at$createAction(1, actionGroup);
' j$ |! [% P/ d5 u2 ~                        schedule.at$createAction(2, actionGroup);
  M4 o" K9 F3 v7 J7 {" Q0 {6 W) u" V) J$ L$ s. e
                } catch (Exception e) {
: g5 Y' K* v) I; v$ O                        e.printStackTrace(System.err);/ M  S5 x! H5 Y# R
                        //System.out.println(e);
* c2 d" B# d% R0 C: Q1 X                        System.exit(1);
2 `1 S' U0 e8 i" d                }2 X- }4 E& |2 C5 s% L# [0 Z" G
4 T/ i" g' T% w1 Z- |, Q2 k6 O5 R% W
! X3 e0 h; p2 {6 L( ]
        }+ x# M& `. Q$ X( D4 @& b% E  l

' ?* t4 |7 C, f        private void swarmSetp() {
' @) H" t* p# b4 @* h) A                list.addLast(new Agent(Id));
1 ^6 i! J  w& B+ Z/ o) d                Id++;
" i& o" [1 X; u' A3 s0 w* _0 r* |7 ?        }' r; T' Z: }0 {1 B2 ?, v
/ L. m& X" S) k& i8 x% R1 I- K; s# t
        public Activity activateIn(Swarm context) {
5 j. X& P1 p! t: q1 p; ?& M  L3 f% Y4 g  T                super.activateIn(context);' l! F3 t0 k" e- i
                schedule.activateIn(this);1 l5 p* ?8 l6 r# e. ^) |
                return getActivity();! p- d8 j$ t8 {- \# j) b  g& ~
        }
3 {3 i5 i/ q5 C% R
' z& k; e7 r! L; r- W        public static void main(String[] args) {8 z, l5 e3 D* t2 m/ k' z; X
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
" ~- V& p* R) x6 L4 J0 j: |6 K                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
: m2 h0 ^& J! X& _. {                swarms.buildObjects();
' O% k" T8 ~% U8 w1 \                swarms.buildActions();
# {9 P( g7 L- Q) `                swarms.activateIn(null).run();
9 n: i% c  ~  I2 V( \) K: H        }
/ a5 D* O3 t: {2 s: g9 D' W& K7 P
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-2 00:52 , Processed in 0.016001 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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