设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 4911|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 1 t8 q5 V- p0 [' Z8 H0 W
1 P( e; P' c2 [5 s8 T! r6 n+ h
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
0 b: z8 M/ K0 H% X1 A! P2 v以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激." T) D, p4 Q% u7 i
swarm.SignatureNotFoundException
' p" Y5 F/ k* y4 P9 l        at swarm.Selector.<init>(Selector.java:76)
% _  E8 ^& N/ x8 n' g        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
' y/ `$ r$ Y4 y$ r        at ActionGroupDemo.main(ActionGroupDemo.java:67)
+ `8 O+ Y3 R% S3 U" Q( i
. d* r4 t8 d# H3 o: j( s- y( p
! _5 c- \3 M1 V  J* E3 U! |2 simport swarm.objectbase.SwarmImpl;' `5 [  B2 w( L7 K! g
import swarm.objectbase.Swarm;
, F8 q, D" `' c# C/ X9 H% c- }import swarm.activity.ScheduleImpl;" {, x4 d" p2 b  g/ l8 [
import swarm.activity.Activity;9 d3 ?# `( K; X( S
import swarm.activity.ActionGroupImpl;+ O- @3 |4 d% g) J( T
import swarm.collections.ListImpl;2 m* o! }& o. H, l: r  L
import swarm.defobj.Zone;
; }2 H* O4 l8 G# y6 ^7 Wimport swarm.Globals;8 k: L4 c; ?$ T! c
import swarm.Selector;
: e; B6 ]$ ]0 p  l. z, u0 n* @# fimport swarm.activity.ActionGroup;
! p' E8 a8 T! Lclass Agent {' ~9 z& v" x6 z6 Z  E; G$ ]
        char id;
' \6 x. w3 r  [8 q0 Y$ C2 d/ ?( m
0 d) S: A0 \3 T3 u  p( }8 N# q        Agent(char id) {' g9 N; R' C% B' ^* k0 ~$ j
                this.id = id;
3 ~% ]3 k" ?3 d% h) L        }
& S4 m9 {5 Y6 m% [3 }; U- t* e, Z) m4 u0 ~9 X2 ?& v0 h
        public void agentStep() {
% r: z" s$ k" U; |' a/ b* a; S                System.out.println(id + ":" + Globals.env.getCurrentTime());, G, O' ~8 l- k8 [7 h0 j) b9 i
        }
- U! R4 P" W/ o  x! A& ?/ q5 f}8 A1 O& ], l1 L9 ?( {7 z
8 i2 H  j9 Q/ N/ z8 z, B
public class ActionGroupDemo extends SwarmImpl {5 C2 u0 v6 Q5 \  N' ]5 a
        ScheduleImpl schedule;8 w6 o5 F+ D! H7 L* c1 m
        ActionGroupImpl actionGroup;
4 l) a. D0 Z( d! u. ]! {        ListImpl list;3 |# U2 h% l1 J5 ]
        char Id = 'a';6 `4 j1 P) z' I6 [( V9 W% a$ t
2 r: F# G# ?- x4 V4 Y4 R, O
        ActionGroupDemo(Zone aZone) {0 a7 g: ~3 ]  ~, B8 ]6 o
                super(aZone);, K7 b  N- y. E
                list = new ListImpl(aZone);
0 \5 I5 _& Y! F+ ?7 h1 ^: H                swarmSetp();
' v0 p- x) U# ]* d                actionGroup = new ActionGroupImpl(aZone);1 k$ w# v0 U: V
                schedule = new ScheduleImpl(aZone);& y- n* c: o9 G8 X' [% ~" \# M8 w
                try {
1 W$ s( s( Q7 ]% H2 f8 F1 ]                        Selector agentSel = new Selector(Agent.class, "agentStep", false);! H- |& Y6 U* ]4 ^# d* ~1 ^% ^/ @
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
. L1 ?( R: c8 g" }' H2 A, Y                        
$ [$ c+ t+ {! ?- a7 J                        actionGroup.createActionForEach$message(list, agentSel);& G0 |' A5 i* U5 R& _
                        actionGroup.createActionTo$message(this, swarmSel);
$ Y6 ]1 d9 [$ @# q2 @  v                        schedule.at$createAction(0, actionGroup);; F; e4 ?' F, U2 x
                        schedule.at$createAction(1, actionGroup);
7 L! i( N; a8 h: t9 [4 h                        schedule.at$createAction(2, actionGroup);- p% j9 D4 l) ^3 E
* }5 Z& }. T$ u6 J% Z
                } catch (Exception e) {/ V% y( g1 H  u2 m) k) b8 G* M
                        e.printStackTrace(System.err);
1 m- |6 p- N9 a/ F5 G1 G                        //System.out.println(e);" [/ @/ R; C  J8 h
                        System.exit(1);  ?2 A# m2 ~: J5 \% }
                }3 Q, X' Z/ Y7 l; Z* y" p
! ]( R2 k' ?8 i! U2 m
, Q. q0 {: K8 [" V, r$ L
        }
) l9 _' W# h/ T) Y  {$ T$ R) E. o9 `$ {8 m
        private void swarmSetp() {7 R( X" Q' R8 p  H
                list.addLast(new Agent(Id));
+ h5 d7 V" R" w+ v0 p                Id++;
0 F, A. M+ d0 u, m        }  ~) x- u, W$ _* E

* L; D, j4 V" A9 u% a2 d0 U        public Activity activateIn(Swarm context) {+ O( _+ B8 m& |2 R
                super.activateIn(context);& I* C# C$ \/ {" p/ Z1 R
                schedule.activateIn(this);
2 s1 v: e! Y3 B, v& g% Q) P" J                return getActivity();& a8 V9 l7 C1 W2 h* g8 H$ A
        }
5 i+ r/ T2 ^  `# G4 w, T; F# }; b4 ]8 u
        public static void main(String[] args) {
: X& `! \2 N6 l/ ]1 Y7 @                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
1 `4 X/ _# p8 _4 q                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
, o9 |( v$ {6 f) E                swarms.buildObjects();  @9 R" V# E- k% x4 o  Y
                swarms.buildActions();
. s% T; \+ ~+ q0 l/ J% E                swarms.activateIn(null).run();4 f, [$ A" w( P& K5 t% N
        }; ~* y2 ]: t7 T0 ]9 M, [2 ^

" f4 Y; a5 H$ M9 H' D# T4 Q* {" S}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-11-17 02:46 , Processed in 0.018555 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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