设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8610|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 $ [" y4 [. Z5 c: B; `" X% b

( g# ^- [0 n9 l, j3 |本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21) |4 j5 Z- p1 E" _) {/ P
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.& A+ d3 f: k" e1 ]% Z
swarm.SignatureNotFoundException
- H6 r1 ^) h7 n' X        at swarm.Selector.<init>(Selector.java:76)
; I. c! S+ y, H" \! X        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)( Y2 }' x1 b0 C7 c+ S! W3 o. F( H7 M1 q) V
        at ActionGroupDemo.main(ActionGroupDemo.java:67)1 \8 m/ I0 ~% O2 Z% b
% y* V; T4 k4 q* U

7 \. C; o5 j- |1 ~) y* H) ximport swarm.objectbase.SwarmImpl;
: ^" Z3 g. E; Z8 Cimport swarm.objectbase.Swarm;2 r+ ?4 D/ j1 f/ m
import swarm.activity.ScheduleImpl;
. c# T; x% q; i0 R+ limport swarm.activity.Activity;- J2 H5 n: S  \6 }' ]
import swarm.activity.ActionGroupImpl;) V: l: t1 \  e
import swarm.collections.ListImpl;
: o% C3 q2 e+ o& }) @! j$ [, g. zimport swarm.defobj.Zone; . i1 G( U1 ^3 c
import swarm.Globals;- Z* D! p% n+ c, A3 ~9 G: C
import swarm.Selector;
. R# W: `& D3 W# r3 C9 @import swarm.activity.ActionGroup;
9 s7 A4 F9 e, s) q0 }class Agent {2 g* Q  ?  V& M8 Q
        char id;( S# N, i# E' ]7 v! x8 X

2 F( ?: W  P# X" n1 C6 @        Agent(char id) {# n+ N* P( y/ \
                this.id = id;
* k# j$ Z' i, T( I        }7 q, e8 \! ~- z( H; \0 {3 w

( d0 x/ r$ w. i2 {0 n        public void agentStep() {
0 S5 C3 k. I! }% _% J8 a  B                System.out.println(id + ":" + Globals.env.getCurrentTime());
4 ^! ~% J+ I8 e, g/ H! F5 [        }
1 S( {* S  D  b# S5 \# y) {}
$ z) F4 c; E3 K2 D' |$ Q( a+ {
( b. ~; d4 c% n/ Fpublic class ActionGroupDemo extends SwarmImpl {7 _9 W4 `( c* [, k8 ^/ x
        ScheduleImpl schedule;' X7 A" J) l+ Y5 s6 V1 E
        ActionGroupImpl actionGroup;& l# o0 c0 i( X  S" o
        ListImpl list;
9 k, p1 S7 U2 T) W/ d3 V4 E4 c4 L        char Id = 'a';/ V7 |8 J8 B9 A* Q# i

8 Q% v7 D1 U4 V4 v/ a# A* ^  [        ActionGroupDemo(Zone aZone) {
$ h7 ^: ^7 M7 t$ G2 Q! m( c                super(aZone);
4 {; X: X# U8 ~) {                list = new ListImpl(aZone);
$ [: s8 M! r3 @, e+ x                swarmSetp();
, T2 W8 z+ i1 v" A/ c' D4 Z                actionGroup = new ActionGroupImpl(aZone);
7 F  z% h7 s8 V/ O% ~6 f                schedule = new ScheduleImpl(aZone);3 N# ^1 t% K( i% e! U
                try {* L# r4 \5 d* ?+ z: U, m
                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
" ], w6 n. S$ w2 m9 F                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
+ q# ]* t$ h% F                        
# E. T% Z, N, v. C                        actionGroup.createActionForEach$message(list, agentSel);8 O3 w$ V- u. M8 y( s& F, |- d! O
                        actionGroup.createActionTo$message(this, swarmSel);
9 P1 `. R5 t9 }                        schedule.at$createAction(0, actionGroup);
0 C" [1 R% R2 X, K                        schedule.at$createAction(1, actionGroup);
0 r& j9 q: e& G% n8 g                        schedule.at$createAction(2, actionGroup);9 T. _2 A% `' O4 B2 R, _

! P2 E3 V1 y; {2 m  E                } catch (Exception e) {8 _9 k5 y* p" @/ T$ g! C  s5 X9 u" r
                        e.printStackTrace(System.err);
- H9 ?6 J. n5 Z- N5 t4 R* D8 r                        //System.out.println(e);  _% m) _+ o. A4 [
                        System.exit(1);# }- I: e( ?4 o6 ]
                }8 M7 b4 u9 {8 K/ ?1 i3 E

# y5 Y! o6 K% [: L+ q2 t: A# B) q7 u* L  Z
        }# r" T2 E( d0 g. X

7 f# K& T! E2 X* e7 l& ^        private void swarmSetp() {+ b8 U: Z1 t! |# u1 \4 ~  ]
                list.addLast(new Agent(Id));
& t5 H, b5 e; O7 ~                Id++;
/ e* U* |# E) G6 Q! G2 i        }. I5 |3 j% |4 c, |  K  M
0 _( Y* c8 \! p/ `
        public Activity activateIn(Swarm context) {
. J' h$ b: ~; _* ^                super.activateIn(context);) m7 x" W" ~- S0 a" V  M
                schedule.activateIn(this);
5 B3 A' B' j, W3 ]; |  M/ L                return getActivity();
6 O3 C1 ]2 e7 ~" H% y7 P        }- q1 f- X3 p6 U0 A  n
5 ^$ H2 E2 t- s& ]
        public static void main(String[] args) {: v5 I+ q  L$ [
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);7 q2 C# H- L3 ~. \+ T: j: _* a! b
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
) {( k# U' W! U, b( C9 V                swarms.buildObjects();
/ ^' d8 x# g. G$ R, V  D( T                swarms.buildActions();
9 @  A9 m* R& d+ I# u                swarms.activateIn(null).run();7 Z3 h: n' F3 G2 o( N* u
        }
7 X! [: p) g0 p3 w- h- I" F  t$ }
' S" o& y( O" U- p. E' x}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-4-17 23:51 , Processed in 0.017483 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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