设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11964|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 & ?5 a# N! ]- Z. g
% K1 g" l9 V; Q; L# r9 l# l. k
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21, J. \4 @9 K' G" B0 W
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.( t8 ?2 g+ C' }
swarm.SignatureNotFoundException
& V5 I8 D: N6 w& M4 Q0 a$ b! `        at swarm.Selector.<init>(Selector.java:76)- ]# @4 c# K( c" \! A- v
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)/ w; C" T2 i  Q& G% V# Q
        at ActionGroupDemo.main(ActionGroupDemo.java:67)
2 A  P& \- L/ @' M& z8 a5 e
5 W8 [3 `6 M& x- J/ \) ^; d, j+ A- x2 Y. P# `! g. j& y/ z
import swarm.objectbase.SwarmImpl;, Q1 [/ r  D" w. C9 y/ h6 q- f
import swarm.objectbase.Swarm;
1 f5 i% @( u% D9 z. Yimport swarm.activity.ScheduleImpl;
: u( }/ M* y+ [' R5 [import swarm.activity.Activity;
4 d' P, a6 G# V2 O( m+ P! timport swarm.activity.ActionGroupImpl;. D# S' S+ D/ ?
import swarm.collections.ListImpl;
+ O0 |. h3 j1 {import swarm.defobj.Zone; ! |/ v; n; O8 R, C( T" N6 g
import swarm.Globals;
9 s: P- t. N; Vimport swarm.Selector;
9 k3 @  W4 g' Y- B' Q4 T8 Wimport swarm.activity.ActionGroup; " g# N: D3 R: ?) h0 G' ^9 w9 a
class Agent {
7 K+ C$ m' k8 I2 a# v- k3 d        char id;
: q, |6 s! |. ?1 k  W0 M: d
* b# A# h, V/ m( g4 H8 P        Agent(char id) {
% f# i$ F7 b# I# b. A2 E5 X                this.id = id;2 M0 Z8 v9 S2 F' m' ^2 I" k8 `% ~
        }
' Z9 J2 A) P/ @# e  m
# }, a8 Z" ?6 t& R" j. O        public void agentStep() {9 I% m( f' Y. L0 \2 q) y
                System.out.println(id + ":" + Globals.env.getCurrentTime());
9 f2 p7 N  N( H6 b6 J$ _( |  e/ A        }! S  w/ O& X! w& w7 `+ [
}
5 K) n% I5 i# p+ R3 y6 u/ B9 t. v# ^% z* e8 |6 d/ Q
public class ActionGroupDemo extends SwarmImpl {4 E! y: x5 [+ `9 G/ [8 X; z
        ScheduleImpl schedule;
) @/ D3 l$ T) N        ActionGroupImpl actionGroup;5 g5 g/ x8 T( t
        ListImpl list;) o+ R6 j1 ~; e
        char Id = 'a';, t1 r# b& H% [) o
) q* |" ]1 t6 P- ^" Q9 H  J+ w5 j
        ActionGroupDemo(Zone aZone) {
- N/ K0 L+ d3 R                super(aZone);; @2 j; k2 o0 g' c+ N
                list = new ListImpl(aZone);/ s! H8 d$ o! Q- X5 \. q6 V
                swarmSetp();8 b% l4 V8 J2 K; g: w- K, ]
                actionGroup = new ActionGroupImpl(aZone);
! R$ e5 E9 r7 c; Q# j, ?7 r                schedule = new ScheduleImpl(aZone);
' S/ [$ R" O$ ?) j  o                try {
1 H1 [2 @  J* `! q3 I  Z                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
2 d. t% [  L$ Q0 L                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行1 l8 z4 ?* Q6 ]- T5 \
                        % X6 L5 M5 f' Q0 p
                        actionGroup.createActionForEach$message(list, agentSel);
0 ?- D4 p/ y) ]  S( i: M                        actionGroup.createActionTo$message(this, swarmSel);
( a" U* b* @  J2 z& q6 ^                        schedule.at$createAction(0, actionGroup);
9 O% D: h( l' I0 n                        schedule.at$createAction(1, actionGroup);
$ o2 G* N& A2 p                        schedule.at$createAction(2, actionGroup);
2 D% J+ s. M* A; y
& c1 }  f- W! {                } catch (Exception e) {
0 C  n: q; i6 U4 c                        e.printStackTrace(System.err);9 n( B5 v2 \, l# N- A% O
                        //System.out.println(e);
, D6 ~: N5 q1 t) I, U* ~6 P( u                        System.exit(1);
& `$ @9 N4 U$ l) K4 K) ^1 n3 [! l                }
* {) H9 X# q2 i! j3 t. p- D" C- t5 T# R- @# E7 V# Z/ H

% z/ p+ c7 W4 O: r. U' K2 z        }  R" D+ Z; l4 P* L5 O# Z5 [
( C& R& K& i6 h- q" ~; O
        private void swarmSetp() {
# l0 V. _% h7 V5 y                list.addLast(new Agent(Id));
5 e6 x1 {( X4 R3 d1 H3 ^                Id++;0 N# p4 w" H  I" h1 U! C8 t
        }) p4 f; D4 S$ `. n5 ?: X5 s# }) X

* T, n, L$ n% |, x% t) X9 c        public Activity activateIn(Swarm context) {, t9 U; Y/ d- |4 h
                super.activateIn(context);) v9 j0 E, o' j; G9 k
                schedule.activateIn(this);
; E: Z6 X+ `' P6 f; E" @                return getActivity();
, r$ Y1 h5 c0 \2 G! a' P, S: Y" Q        }
  a+ ~8 x) U* M- ~+ E2 M" c0 ^8 F2 V- H3 \2 w9 h' o3 Q! v: e5 V
        public static void main(String[] args) {
, z3 t% a: y% u! o% O                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
* k% [: J; ]/ y  O9 M6 G" H                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
+ b7 U$ o3 r, c7 D2 Q; n                swarms.buildObjects();+ g& F# s& W7 r% @0 l0 t
                swarms.buildActions();
8 G, k& p0 I; U! M' I                swarms.activateIn(null).run();- S; h# ^. Z$ R# h2 g
        }+ v1 T- C- Y1 C$ ]7 }
8 n4 V; }* y  B0 D. T
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-7-26 23:33 , Processed in 0.015489 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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