设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9703|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 2 d9 q) L( K! v& U" d/ w# L

$ z9 o8 r+ @0 a% P. ]3 U本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
; v$ X1 p# q: t4 S以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.0 e9 x) x9 Y/ v" U. R
swarm.SignatureNotFoundException
0 O' {* j) {! Z5 g4 m        at swarm.Selector.<init>(Selector.java:76)
7 }# T; c9 \2 b# i$ L. v        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)4 ~9 L0 ~: G6 ~) C- B
        at ActionGroupDemo.main(ActionGroupDemo.java:67)
( R0 q5 D: P. X( o; o4 M& l5 [& Z3 o1 X  ^
7 j- ^4 N* m; D3 x; l: s" w" n7 M* ^8 A; A
import swarm.objectbase.SwarmImpl;
* L( p  k: V" r9 ?% e" b. Nimport swarm.objectbase.Swarm;8 Q* o' f0 K# g
import swarm.activity.ScheduleImpl;
' J$ s. `/ F: C* ?; i- C/ Dimport swarm.activity.Activity;
5 M1 J* h+ c  J, u6 Wimport swarm.activity.ActionGroupImpl;
& k% G1 C8 j/ \' R% ~import swarm.collections.ListImpl;3 y3 N* V/ m. c
import swarm.defobj.Zone;
/ G1 Q2 b# o2 i* Kimport swarm.Globals;
% V% p, x2 m0 E0 H  Aimport swarm.Selector;7 x' ]0 F8 e0 }$ E% ~9 |
import swarm.activity.ActionGroup; ! j% q1 [5 g) H9 o# ?! ^
class Agent {
$ D( A! }9 Z2 U2 l        char id;& n) h0 h- a( }( M" D% [

3 S% g6 |0 }- e) s" }5 ~+ |        Agent(char id) {4 C' n2 ^3 Z3 N% i
                this.id = id;
" K8 ~; O4 Q5 T8 {        }
3 T7 f3 ^" O; ?9 Z& S
1 ?! i2 q; E- T/ b$ M8 j; W4 c4 c2 B        public void agentStep() {9 ]6 X# c+ @+ K/ C5 A8 {  J  s2 A
                System.out.println(id + ":" + Globals.env.getCurrentTime());+ l* `' _8 {. U
        }: s1 a$ |1 u5 O
}
5 C9 g  s# E6 Z5 h3 x) B% w# E0 ]! t; \% i! Y/ L
public class ActionGroupDemo extends SwarmImpl {$ H$ n* b- {6 }$ U+ E
        ScheduleImpl schedule;
2 O& V+ R( ?! U        ActionGroupImpl actionGroup;: y/ X8 D- N7 N" T3 |9 P( Y
        ListImpl list;& z+ n/ @1 M1 K, h
        char Id = 'a';- m9 {0 A% y' f" \1 u: Z
: a# N9 x: O0 N- r( ]6 I! d! a
        ActionGroupDemo(Zone aZone) {
" F* q) c- X: x7 M* Z" K( @6 c                super(aZone);
0 z. ^! e$ [9 L2 X                list = new ListImpl(aZone);" d3 L6 S) f: v2 K5 g  M
                swarmSetp();
0 P1 Y9 o0 t/ [+ b                actionGroup = new ActionGroupImpl(aZone);
. a# ?, }, C8 H1 H                schedule = new ScheduleImpl(aZone);
7 c! B6 ^9 i5 p! q( u8 c4 O                try {5 ^+ f8 V4 C( X  f
                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
1 N* U. B; Y9 ^& @, X$ e                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
6 t  [8 V3 Z4 M# h# r) S5 q                        
4 z2 F1 \% v. r% d$ g' y" V                        actionGroup.createActionForEach$message(list, agentSel);
+ K& P/ z) f, v* u% @                        actionGroup.createActionTo$message(this, swarmSel);
2 F8 e3 B; y* V) ^: Q: t                        schedule.at$createAction(0, actionGroup);4 c, D6 _" B! Y, O
                        schedule.at$createAction(1, actionGroup);$ s. p' c( P# V2 [/ q" r. F
                        schedule.at$createAction(2, actionGroup);1 y* B- d9 A  o2 E" W
) x3 S9 r* Z$ R9 ^+ F
                } catch (Exception e) {$ |, S$ T: N3 f7 D# G! s
                        e.printStackTrace(System.err);. l0 x' X0 r# r0 v# |1 O' W
                        //System.out.println(e);! d2 B( J, z, G8 \
                        System.exit(1);
; y: }6 @/ ~5 z, Z) _* V0 V+ _                }
% I  c. U$ U7 V( e! P3 z+ G  p
* u, r! f3 e7 d4 y3 c$ f; B* n
$ w7 O6 `+ f1 g9 o! w& |5 Y7 i        }
: H. `/ o, Y+ @2 [- J
; G4 B. X' E2 {7 d        private void swarmSetp() {* e8 W# `9 E, p+ Z( u& I" |$ U: p9 Z
                list.addLast(new Agent(Id));+ G2 O0 D1 ~& l
                Id++;& ]* v0 G2 j' ]' h
        }
! S+ R$ F8 y6 K9 J) r" k
. W- y* e# A- u$ z8 s        public Activity activateIn(Swarm context) {1 d$ f" x  c  a; T6 n
                super.activateIn(context);6 _- H' B1 P% ?8 O) F- V
                schedule.activateIn(this);' i/ O' x; B/ B9 I' Z- Z
                return getActivity();/ Q- ]" @' U6 W3 v8 P+ L* N- r
        }% i1 `, \& N7 J' t/ H6 l2 U9 a

) M7 n: |# F5 \8 D; c        public static void main(String[] args) {# c  ?; e  S2 r
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
7 I, G1 E* j; x- Y4 L* E) ^- y                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
; j7 J. J' d8 p                swarms.buildObjects();
; g3 p5 q& o+ w# {$ E3 m! V                swarms.buildActions();3 J' a3 l) m6 ?; s1 p1 l
                swarms.activateIn(null).run();& E/ c$ y- ]# \0 n
        }
) n7 y& a/ a& K& g7 v
6 O9 Q  k, j1 r( B' F% ^& b}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-5-20 04:47 , Processed in 0.016609 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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