设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11315|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 - z/ n- _: f; |2 W

1 l: M% b6 U+ V6 Q/ {1 s/ D本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21! K& n) K( R4 q" J2 m( n4 f
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.% O4 j- @0 u2 F4 k% E6 P: H4 u
swarm.SignatureNotFoundException
+ Q  J% l4 M: Q4 H        at swarm.Selector.<init>(Selector.java:76)
  k* r/ D  K( ^3 ?/ L6 ^        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
9 U4 X. u& O: h, g9 `        at ActionGroupDemo.main(ActionGroupDemo.java:67): c& N$ b  E2 ]% C% P& q' p! |

& k- e, C! j6 a( t: _" p1 P) l$ l  X) l6 h
import swarm.objectbase.SwarmImpl;) m1 o7 Q/ b6 x% S: c
import swarm.objectbase.Swarm;
+ c0 Z7 e- x* h) |* himport swarm.activity.ScheduleImpl;) q7 @9 }4 W3 E/ ]0 m7 K
import swarm.activity.Activity;
7 S; ~! u6 D; vimport swarm.activity.ActionGroupImpl;! T  n5 N& ?6 m7 w
import swarm.collections.ListImpl;
+ B7 G* V/ p! [9 q$ c4 ~import swarm.defobj.Zone; ) b+ T8 X1 d) w! j$ i7 P! I; x; w0 O
import swarm.Globals;( k+ _+ G; D* {5 ^' B0 f  ^" E
import swarm.Selector;
  v% |& ^& W; q" Yimport swarm.activity.ActionGroup; ' y! Y. v  d- f' h
class Agent {
) l9 Q7 x6 r- E$ }4 P+ ?  F        char id;
$ }) t" v% k( |5 b/ @+ V, _- @, P
$ \4 I; D* A7 Q! c. G4 F        Agent(char id) {
$ X4 y  t) P! |                this.id = id;1 o1 M1 C6 B# d! f8 Z6 j
        }
2 r0 h; M3 P% g
- p6 S" F' u0 _7 M. A        public void agentStep() {8 {* @% o: t( L
                System.out.println(id + ":" + Globals.env.getCurrentTime());5 p6 j7 ^% r: q6 N. |" }( }
        }
( K2 [( Y( {/ j% O, {}3 m* H  r) I7 r2 x- C! _  e8 v* {$ B) c

8 G6 x& f2 a" o/ p- npublic class ActionGroupDemo extends SwarmImpl {0 H: C) m2 Z+ v
        ScheduleImpl schedule;
5 t+ p- q, |9 g! v        ActionGroupImpl actionGroup;
7 ^1 E. l  A" J) n4 l7 J        ListImpl list;
2 L8 e* Z7 l" V0 r        char Id = 'a';& ?/ c. C& z# \- E. d, u. Z: j* }
+ U1 j+ u: y3 I$ R; S  o. g3 K
        ActionGroupDemo(Zone aZone) {
* U1 t3 z& d$ [7 Y5 b                super(aZone);
# s$ {- Q5 D! x  ]. k$ w                list = new ListImpl(aZone);
1 j9 ^+ Q. \( {4 K9 l. Y                swarmSetp();  c! \1 ?( L3 V9 Y* A
                actionGroup = new ActionGroupImpl(aZone);
$ t' a8 e4 J) r                schedule = new ScheduleImpl(aZone);/ K8 ?, `: i/ c# _
                try {
0 }+ R8 x$ Y  X3 k: ]' l                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
/ m+ `$ O* W7 I" V                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
7 F# A; e- I2 q9 B; N. x                        
8 f/ }( Q; u. S& R                        actionGroup.createActionForEach$message(list, agentSel);) p9 G7 Z0 ?! t; [9 h
                        actionGroup.createActionTo$message(this, swarmSel);8 Z, u: r0 Y' ~- r/ _
                        schedule.at$createAction(0, actionGroup);
: M6 i- U6 c/ B: @                        schedule.at$createAction(1, actionGroup);
# ~+ w, N# [2 V, ^                        schedule.at$createAction(2, actionGroup);. S! W: w( i1 R- S+ L
3 L& q* m% h- Y- O. e' ]
                } catch (Exception e) {
! G. R( i5 X& ?5 T2 L3 Z                        e.printStackTrace(System.err);
8 F( ~% |* W/ l/ C2 N5 G                        //System.out.println(e);
" x' ^% j. n" V                        System.exit(1);4 }* Q, W: z; P6 d. r
                }3 Y* J' k6 M" ^7 n) g1 G
+ r6 Y4 `" u# u& `: K6 [0 `

& q% G; |, Y" R5 B! _        }
8 J2 g5 G- L4 v/ }& }0 q
+ i* s1 c4 F& ]4 ?& w        private void swarmSetp() {
: z8 E- N- U7 {5 f% Y                list.addLast(new Agent(Id));
5 ?3 U) w- W; y                Id++;, v0 c! C0 }6 f
        }: j* r2 `, i' J1 J$ V* l3 U
  m/ i& a: \3 P5 C. e
        public Activity activateIn(Swarm context) {; R% s0 @( w$ t% L: ^& R% r
                super.activateIn(context);
9 @+ r* L8 q6 w                schedule.activateIn(this);
, e" h& |! T! K+ i6 X" K7 j                return getActivity();
$ F% C. g8 M2 h* _5 L, O        }$ m7 L) }: U! o, [% v( C

/ S' s" k; k/ P- e4 v        public static void main(String[] args) {- n" Y# v8 G5 @! L0 z% i, Y1 o
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);3 X# ~; q$ A. \8 Z7 s0 R" Q
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);8 a" p. ~/ W  [* {+ J* p; c
                swarms.buildObjects();
+ F9 i6 L5 n5 t9 d+ L( d                swarms.buildActions();
" ]  t  ?) ]' z: Z" @                swarms.activateIn(null).run();- N6 [; _. k8 D2 k
        }! D2 _- ?- a8 l# \
# X$ H* K$ [: d9 @4 c
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-7-9 04:23 , Processed in 0.017531 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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