设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8842|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 1 o/ ^- Y# R5 ?7 G
* g7 Z& h0 t$ i) H7 A2 ]
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
! k+ {3 D/ J2 p3 n9 p以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.( T2 Q( r# N) i+ Q# T
swarm.SignatureNotFoundException9 O! F9 X4 v& _9 _8 X. F, Z
        at swarm.Selector.<init>(Selector.java:76)' m; q& `1 y9 _; [, b8 r
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
" T& ]9 B  q6 \- N        at ActionGroupDemo.main(ActionGroupDemo.java:67)4 u$ R5 z: ^. Z

. C9 w3 \. {/ C! P4 N' Z5 ~8 F$ d; F6 c, V
import swarm.objectbase.SwarmImpl;, Z3 z* i9 k- @$ \' q( U
import swarm.objectbase.Swarm;
: X  U/ C" |2 _import swarm.activity.ScheduleImpl;
0 d# s' }4 |; u+ kimport swarm.activity.Activity;
, _, H  j, v. H/ Bimport swarm.activity.ActionGroupImpl;. W, J. k! k; r% q3 |6 i
import swarm.collections.ListImpl;/ N" y& z4 |2 r2 M
import swarm.defobj.Zone;
: b5 e8 }  C- B: [3 E) D* u' Ximport swarm.Globals;$ r5 B% b" x* H; S5 w, Y( [7 m
import swarm.Selector;, Q; @1 I7 E( j7 Y' a- ~
import swarm.activity.ActionGroup; ! E/ ]( b" a. \1 a& e
class Agent {( T" `( C5 A& z# e/ p" h
        char id;# A& t% x. u8 Z0 x7 l8 a
0 X! M: m, L- {8 I% j1 Y
        Agent(char id) {- }: A2 r! x+ x6 m, H* i1 I4 J6 W- k
                this.id = id;: t3 A5 a5 q) {% W/ O$ ]& K1 F
        }- D2 n5 B( u& V' \' v- ?8 ^6 y
2 X  A. N0 c' r) T- ^$ h
        public void agentStep() {! y! u5 @, n  F  D& s' m- k
                System.out.println(id + ":" + Globals.env.getCurrentTime());8 P! S" g$ [5 z, V
        }$ p, }. z% M# i( F1 A
}
6 S' B- U. N6 P* C; i$ ~; b0 M
- S5 o* W: n9 g0 w# q" A7 R0 spublic class ActionGroupDemo extends SwarmImpl {+ h1 e$ S9 l8 L; i
        ScheduleImpl schedule;
; |; B- W: T) K: |( l        ActionGroupImpl actionGroup;
0 B$ p/ _: H: y9 J5 N        ListImpl list;7 r# h9 F6 U% j0 _/ \1 D# @
        char Id = 'a';% u- a3 B3 X# K0 ?4 v" T3 p- ^& s

1 n  c; D9 V9 u' u        ActionGroupDemo(Zone aZone) {9 ~: P8 t" }9 Z3 |/ \
                super(aZone);! S2 C9 w$ @" k7 @8 x" K
                list = new ListImpl(aZone);; w8 ^1 V4 C7 C. c/ B) b1 Q9 @/ `) k
                swarmSetp();( y* h( l+ A# j3 h
                actionGroup = new ActionGroupImpl(aZone);
2 j# w* [2 E/ J$ L$ y+ F4 z7 T, v                schedule = new ScheduleImpl(aZone);, F! ?* t- m& g
                try {+ i$ n5 Y5 M  G% W2 [
                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
+ V" Z5 V6 ]9 B5 O0 Y! g0 k  A8 y( s                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行" n  D' S+ Q5 O/ Z* e" ^
                        & o# {5 [# h1 z
                        actionGroup.createActionForEach$message(list, agentSel);
3 [/ v5 M1 o  A" x$ p1 f0 v) K' Z                        actionGroup.createActionTo$message(this, swarmSel);7 G0 v7 V- b3 _3 C
                        schedule.at$createAction(0, actionGroup);
' ?$ `% u' I6 a8 C  P- J                        schedule.at$createAction(1, actionGroup);
2 [' m* C4 ~( ]9 v0 u                        schedule.at$createAction(2, actionGroup);' E+ y) {9 F- J+ C  F
" t% @$ w* B5 ]
                } catch (Exception e) {
" I) w/ k( Y8 u6 Q8 V/ g! ]                        e.printStackTrace(System.err);
8 t9 X1 V8 P2 n9 H1 ^6 n2 o& r                        //System.out.println(e);7 T8 }$ ~# `; ~" `9 g# E
                        System.exit(1);, q. l9 \6 N  p
                }3 N& R- n+ A+ [4 V2 B4 g
7 H% k- H! d! `! }7 a& n
- D2 @3 `) J$ |/ ~
        }
' r5 w! |  k3 K2 R/ y! ]& c1 z3 p' A6 I' M2 K+ J: \4 {
        private void swarmSetp() {& g5 X" c0 t& R8 C0 _
                list.addLast(new Agent(Id));: Z* s7 Z$ J* o5 g
                Id++;
5 d; T" g1 o+ f: z9 n) @/ _( m5 W        }6 i% ~& f) J  V+ \9 ~5 X6 Y

# _7 i( K4 G) {8 ~- X6 ~        public Activity activateIn(Swarm context) {( j1 H( [' X" r" P" ]: k" j$ @! U/ Y
                super.activateIn(context);( B8 r; J& ^# Y: `  E
                schedule.activateIn(this);# ?# o' @. r3 a. e1 W! h
                return getActivity();
" N, V5 d" V2 Y! P/ h# ]: S        }
0 P# p* }# c8 A& K3 }. u& H  z
5 B* l2 i4 h4 q        public static void main(String[] args) {& b) I9 |+ [6 M) h1 p' G0 z
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
, |  A. l, e) ?2 c1 R. X* r; @) e                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
0 N1 u- l# D( v                swarms.buildObjects();) Y& ^9 M( P; \0 G& {4 S
                swarms.buildActions();. `- C" D+ ~0 Y" j2 z- @3 A# x
                swarms.activateIn(null).run();
) J2 w! \7 I9 E; q* e  `* [        }
& I4 x( z- f& u* c6 ?, d* v# w$ I- v  x+ x3 L7 J8 M
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-4-24 11:39 , Processed in 0.022732 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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