设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11041|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 2 Q+ y2 Z& C/ U+ o) p
1 T6 E7 U2 y% l) f) X! v
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update213 k  J/ X0 ^% W9 [
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
) s% a! |* Z% aswarm.SignatureNotFoundException% q* u8 n1 g! V% u
        at swarm.Selector.<init>(Selector.java:76)
- r! k2 P0 Z4 z. q' E        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)" _; |7 l( b# v- m  x4 i
        at ActionGroupDemo.main(ActionGroupDemo.java:67)5 G) s' O1 B' V& n
" I3 X4 v, H3 m* E% r; x& ?
5 x7 f3 q+ f, L! o
import swarm.objectbase.SwarmImpl;6 i2 s; g: U# B
import swarm.objectbase.Swarm;& u. L9 P+ _# d, J  c/ Q8 h
import swarm.activity.ScheduleImpl;1 t: m% m9 {/ ?! N) ~
import swarm.activity.Activity;
) R  H, H" f0 wimport swarm.activity.ActionGroupImpl;
3 `& f! ]0 E6 q- |" @2 T* e! Pimport swarm.collections.ListImpl;: K! L0 l  A+ @5 {* b
import swarm.defobj.Zone;
' H2 Y" h/ c- ]3 I: x/ T( L/ ~import swarm.Globals;
% ]: q7 [( ~! T, Y. u3 j0 U; rimport swarm.Selector;* ?: D# a- Y9 e" G5 m/ X( X
import swarm.activity.ActionGroup; 1 G3 f) J& J8 q! V6 J# ^
class Agent {6 G8 A! q, z7 t4 A3 |1 I- s* u
        char id;6 x! _! N9 \; R+ g& w8 x
: Z; r7 j$ T0 \6 Y" ^
        Agent(char id) {
* Z% ?% {+ f. ~& Y9 w                this.id = id;' A. M& X& C* S- s* |; b
        }. y1 C7 L8 f: J6 l; H; k

3 z) I" `( _; ^. n  |( P" Q. G        public void agentStep() {: A( U" r# C$ Q" n! [2 K! T* r
                System.out.println(id + ":" + Globals.env.getCurrentTime());
+ F1 v5 \" L( G/ t, ^- H# A        }3 N% A) J; r$ r. K
}
7 Q- C- m5 [; ]6 @5 y
: a9 q& k5 O/ g. Ypublic class ActionGroupDemo extends SwarmImpl {+ }, p7 m; g5 T# y! `8 x; F) h
        ScheduleImpl schedule;, A1 o2 `- T- h5 g9 Y: W# Y+ y
        ActionGroupImpl actionGroup;
& c" S3 v' r# W6 [8 G2 {; K- v8 u9 G        ListImpl list;
! }& R% t7 v& Q  W. ]        char Id = 'a';1 l; n6 x  a/ H

5 |% C( l  x. m+ w& }0 j* d. M% v        ActionGroupDemo(Zone aZone) {
9 s! a& z  N# _8 E2 k9 }                super(aZone);
4 j. D+ |) g, N% H                list = new ListImpl(aZone);
0 @. O/ I8 o2 X3 @5 n% y% x  k                swarmSetp();
0 c6 c; y0 ~+ ?5 q0 |                actionGroup = new ActionGroupImpl(aZone);
3 }& f) ?2 n/ J- |- W: @                schedule = new ScheduleImpl(aZone);; L* L7 z" d) b. Y' D5 ^
                try {0 X, C, n2 N0 J. R
                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
5 b7 K9 _9 F* H6 ?                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行, v& q& W3 m% z. x0 U
                        ! t. \/ e# f6 R9 e! C
                        actionGroup.createActionForEach$message(list, agentSel);
( }& F7 r- z5 t, m% l                        actionGroup.createActionTo$message(this, swarmSel);
4 n. l- h) w. s# G                        schedule.at$createAction(0, actionGroup);
3 w$ b7 M, x- U+ z                        schedule.at$createAction(1, actionGroup);; k# a7 e7 m) E" A6 k) N- b
                        schedule.at$createAction(2, actionGroup);
! ?$ O6 ~) }5 j) ]9 n
, n  T7 Y6 m% t2 |* l* b- ]9 m: z                } catch (Exception e) {
+ S( f/ A2 _% l: A2 {                        e.printStackTrace(System.err);& s) L- h' m( }' K4 ~2 D
                        //System.out.println(e);9 O/ G; P* G; p
                        System.exit(1);) [$ M3 ~3 Z) O. q. [" X
                }6 R+ U. p6 n, [8 m& w$ G3 e

, a4 Z- k8 d. Q' e' m- e5 R/ L. T; ~- N
        }; K+ w3 _' L$ C& A

+ c; |. Z" Z, s# }: q  z        private void swarmSetp() {- l4 C! l( f3 z# d; q# G" X
                list.addLast(new Agent(Id));2 L. x  h2 g# L2 U. K
                Id++;* m- x; u0 M5 d3 Y$ v) h: {
        }1 I' e# D3 ]7 Z& [. m( h
- F3 X; m( S3 W8 F
        public Activity activateIn(Swarm context) {+ w8 }: f/ a9 @6 A) J
                super.activateIn(context);, V* h" E) T# e3 G
                schedule.activateIn(this);
8 v" ^0 O& x" D2 Q2 H' x                return getActivity();6 m* ~. Y! B# G8 Z4 _' o
        }
/ S- R3 D1 [. G; `) T( U) v1 z( U- v
        public static void main(String[] args) {
, O3 v9 X4 m/ n- o; u                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
- |9 F) H8 l$ d                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
2 z4 u# H8 w. T" {" E                swarms.buildObjects();
* G0 }* j  B9 @                swarms.buildActions();
; c' S0 A% U7 e                swarms.activateIn(null).run();
9 i* e6 x+ ~: ^, T1 U        }
" v+ B" U5 I0 @
% Q+ L& z( r4 P* P* G+ S}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-7-1 05:11 , Processed in 0.016365 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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