设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8600|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
9 L( p% d9 D6 b% y; ?# T+ M' P9 ^# l% |
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
* D  ], C% B+ A7 N以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
4 U* G  j8 h9 e+ Rswarm.SignatureNotFoundException6 D; i! q% Z6 A2 G# U3 B! s
        at swarm.Selector.<init>(Selector.java:76). {6 E& n6 k7 y2 ]" ]: q# Y
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
# R: W: T4 a; g6 `% C        at ActionGroupDemo.main(ActionGroupDemo.java:67)
. f7 }3 ^9 J2 [2 {1 h1 R$ V
5 J, F2 T  f/ f
4 ]0 y0 v. ~6 K4 ^import swarm.objectbase.SwarmImpl;
5 L$ C. E. V2 Iimport swarm.objectbase.Swarm;
- V& Y8 ]# K8 s7 C( J+ u) g# q( Uimport swarm.activity.ScheduleImpl;3 {2 `/ {0 c, n' r
import swarm.activity.Activity;
* l- W$ P7 J4 R! uimport swarm.activity.ActionGroupImpl;, c5 c: e9 y7 Z5 H/ S( P
import swarm.collections.ListImpl;
# A- b# D3 Q" ?; [8 B4 X2 }import swarm.defobj.Zone;
2 ~' L+ U3 }( P6 i7 fimport swarm.Globals;. B, F; N3 A" `- Z+ C) y
import swarm.Selector;
$ M: v# x2 s, w6 n& Y/ l+ \# Uimport swarm.activity.ActionGroup; * ?$ t  p# m9 \; L. F0 s
class Agent {
1 p7 X# }% D3 B5 t        char id;
8 K5 {: r; z% X/ c& B1 m6 H. R0 b
        Agent(char id) {% R" p3 u/ _$ b" Q
                this.id = id;
  U# z- Q3 x2 Z' M; g        }: O+ j/ d3 H. Q8 q4 ^
  Z3 P9 ~! P( q
        public void agentStep() {5 [: \3 V: c. I" ^
                System.out.println(id + ":" + Globals.env.getCurrentTime());
- y3 A% C8 X3 O" T7 K        }: N% S9 q, h1 F. ^5 W; f5 S; u
}; U, {& s+ N, _7 T: S" g
0 G+ [: a  s* X: V/ Y/ k
public class ActionGroupDemo extends SwarmImpl {; o  ]' h8 Z2 E4 U7 \' B
        ScheduleImpl schedule;% ~4 N) x3 H$ G' G
        ActionGroupImpl actionGroup;; E  J( ?  p& t
        ListImpl list;
% a% h  u, |; I. z        char Id = 'a';
2 g) P/ ^! Q$ ?, Z6 |, N( _' R$ F1 S0 ~( e7 w8 W
        ActionGroupDemo(Zone aZone) {
- f+ y) J, Z0 ^$ C2 w+ d" g/ O                super(aZone);
$ u2 C( \) H* O$ ?" t0 v                list = new ListImpl(aZone);7 g& c/ U8 k2 t( L( M* {4 p% u
                swarmSetp();
' m) U1 e9 i2 n5 {7 f" q) g% d                actionGroup = new ActionGroupImpl(aZone);
! Q6 |: W/ v6 Z7 L( I                schedule = new ScheduleImpl(aZone);
) m( y* c( R3 w8 b" D                try {
$ s( _! _# `, l& m- b                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
- J3 L+ W" V0 J  G                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行0 }" q$ g0 g% z/ [" e' C
                        & n/ ~! f2 H, }4 ~
                        actionGroup.createActionForEach$message(list, agentSel);
% j5 l9 U$ ^% Y/ S! Y% S2 L7 @                        actionGroup.createActionTo$message(this, swarmSel);; R  z/ g8 s! r3 {' Y
                        schedule.at$createAction(0, actionGroup);
, x; ^% f$ l1 G5 J& {                        schedule.at$createAction(1, actionGroup);
% X2 p9 W1 G' N9 w+ d                        schedule.at$createAction(2, actionGroup);# l+ ]4 N7 y3 X: s

$ F! B) a  g$ Z                } catch (Exception e) {# h0 \  F: B! C% {) Z3 G, i. r
                        e.printStackTrace(System.err);4 I, _5 @4 q3 ^8 I
                        //System.out.println(e);
* U) z. @7 `1 X                        System.exit(1);
% T/ G1 w* Y0 B                }
+ K9 ]) x* T# `. Z. ?* j
$ V# P! h6 D3 N( i# p8 p8 S  P
% Z* q, P& y5 m6 [. s/ n: s" F0 L, q# l        }% |( m  Y& M3 T. U
: d9 M3 K' n4 _# [2 F
        private void swarmSetp() {
4 D, d9 |( y: R' w                list.addLast(new Agent(Id));6 D6 p6 {0 X/ {) V
                Id++;2 Z/ @* J7 x) N0 H1 n
        }2 q! J2 {$ Q$ m. P- ]
$ S$ M. }  Y- B3 H
        public Activity activateIn(Swarm context) {! Q, H7 W0 h" ]8 d  U
                super.activateIn(context);6 ]1 F3 Q) w- {, u  ?+ ~: z% d
                schedule.activateIn(this);6 P7 y1 z7 M8 [5 u4 t0 L' r
                return getActivity();$ E8 d* V7 @6 A- g9 ?& B
        }
) o( c/ K* Q9 p( j. Q. p( W; P
$ @, w: E' W% S: e3 }0 D        public static void main(String[] args) {6 ]# ^/ r+ q4 c
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);7 z9 n( `3 t5 P9 e+ @8 W
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);7 P+ b5 y" F5 I& H
                swarms.buildObjects();5 Z# O8 P- }- q
                swarms.buildActions();
1 p* K2 A& X, n5 m8 I" F* Q; U                swarms.activateIn(null).run();
& A' c- n& i3 @6 |5 |        }
6 D: r& B5 s' d( S* d6 H: u& P8 T0 b  b0 c$ ], W5 z9 I% V
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-4-17 18:01 , Processed in 0.024999 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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