设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7530|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 - C5 P' D2 e; D& f4 l) _( H% n
. T7 W- Z/ s* H
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
) D% r# `6 z) U# |  a  A% A以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
& n# {! U) Y9 r' Q! kswarm.SignatureNotFoundException
) p% Z% I4 m' Y8 U6 D        at swarm.Selector.<init>(Selector.java:76)1 \/ y( I- g/ B6 }. ^
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37). Q: a* A# x5 D  g; G' z: |
        at ActionGroupDemo.main(ActionGroupDemo.java:67). i3 H' Z, N# p+ q1 ?$ \9 K6 f, R

+ ^& q; X8 e! Y0 @, U
0 S: B1 `9 @- h' j, ^import swarm.objectbase.SwarmImpl;8 f' l. }3 E. E6 J: Y1 c
import swarm.objectbase.Swarm;2 R. Q/ Q8 o& F3 w5 D7 F1 s! R
import swarm.activity.ScheduleImpl;
$ }5 a! d% a& k& D$ E, @0 {! Cimport swarm.activity.Activity;. @. A! R1 E5 t( m' O  n3 B
import swarm.activity.ActionGroupImpl;8 z5 Y' B/ i2 ]1 d
import swarm.collections.ListImpl;
2 W6 z& A4 G1 l# p5 {" bimport swarm.defobj.Zone; 0 ~% @. {5 w! U$ j
import swarm.Globals;  A. E$ D1 z  {, R1 H* m
import swarm.Selector;4 A5 h0 Q- c3 |8 g8 d* k
import swarm.activity.ActionGroup; - S5 z; P; ]& y! |* V4 Y
class Agent {
" V  D6 Y3 u' o8 L$ J; F! O: ^8 X$ v        char id;1 [4 ?0 J( S  t$ R7 \3 V
" F3 `- J; G; X( g* u
        Agent(char id) {
! T& J; d. K5 k& v" s  H                this.id = id;
6 ]+ k7 ]( ^2 D        }5 n. n- f: {1 M
* q( [) M# b8 O/ l3 |
        public void agentStep() {- a6 d) b/ M& b* [$ G
                System.out.println(id + ":" + Globals.env.getCurrentTime());
( W( M$ x) F* C. I! o# f        }+ F( R0 f% y) h0 S4 r
}
3 [6 m  S- b) h& i: v2 j& w: m% p+ u# ]+ z! H! O% v
public class ActionGroupDemo extends SwarmImpl {% U! ]1 w" d: _4 Q4 i4 \
        ScheduleImpl schedule;
+ ]& A' N7 H1 P$ H        ActionGroupImpl actionGroup;2 u3 c4 D( p& G/ ^
        ListImpl list;
4 G" \  Y& E4 ]        char Id = 'a';& @& U% o& X+ h" O2 I! Y
. f1 ?2 I- }+ b; g2 ^: c7 l
        ActionGroupDemo(Zone aZone) {9 C9 l0 D3 G  n# F
                super(aZone);
; I4 b! A7 ?% {: E. u                list = new ListImpl(aZone);5 N- O; y% v% z3 ?& M; l* b
                swarmSetp();
4 A/ g9 o3 v5 s                actionGroup = new ActionGroupImpl(aZone);5 g/ I' `) O9 f) ]; {/ `4 S
                schedule = new ScheduleImpl(aZone);
* _( p- s4 z3 ^! E                try {
& k2 z+ `+ A" U7 u9 ^% }+ u1 `                        Selector agentSel = new Selector(Agent.class, "agentStep", false);6 h  b& o& b0 C- Q
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行9 }6 b3 r8 f# b  v1 J6 ]
                        
3 h- U! f3 @# e9 X8 C8 T1 ?                        actionGroup.createActionForEach$message(list, agentSel);
' k* G2 o. V! t+ D                        actionGroup.createActionTo$message(this, swarmSel);
5 j& ~& Q  z, I& _% v7 y, @                        schedule.at$createAction(0, actionGroup);
# x0 j! t6 C5 o1 I5 p                        schedule.at$createAction(1, actionGroup);* D! L  Y+ n' P1 |1 \  K# a
                        schedule.at$createAction(2, actionGroup);9 ?* S  p5 E" D+ I! B; c6 e

3 ?1 ^) V7 C+ v0 }, Z                } catch (Exception e) {. W; g8 \/ ]( l5 Z, f- q
                        e.printStackTrace(System.err);. x. [# n2 K& }9 g  E0 K# h5 I
                        //System.out.println(e);
1 x) k( m5 R# y+ k                        System.exit(1);
- P) A! s0 I, c% N- Y                }, o$ [1 S% L. v% s' v
$ Q$ {+ ]1 d" v% O2 [/ ~/ k% S* t2 s
6 I, Y1 G; _+ G
        }" n: x) B- ]: c$ R: n

. J  v7 t, Y  G; e        private void swarmSetp() {8 C: c# J- P" c
                list.addLast(new Agent(Id));
/ N8 _' Z$ J6 n5 C3 l4 p4 g* f                Id++;
1 f! r5 R6 y2 o  k        }0 d" Z1 z6 y4 s) @
( ~( W( ?* W$ o+ e
        public Activity activateIn(Swarm context) {+ S! M/ E& p5 w3 {
                super.activateIn(context);1 [: e4 g. z1 @, {
                schedule.activateIn(this);
: r* k- m/ c% N; `                return getActivity();  y6 s( S9 f8 [) ?6 m* ]4 M+ L
        }
: ~' }/ W; z, e$ h/ ?' k8 U5 k: b% t9 T' h, x' p- S9 P
        public static void main(String[] args) {
, L, q; ]2 B* L& @1 ]& w9 u                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);, a  ]' [% u' `: v2 U
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
7 p7 ^' S/ d" U; A% F- Z                swarms.buildObjects();' F+ O* ]6 N. Y
                swarms.buildActions();
- y/ i6 G# B# o+ v- C7 p# G: j                swarms.activateIn(null).run();
- M/ x3 m: l! U! b' {        }
9 ~/ v+ F) {  d# O7 v4 c
( D- x4 r9 u9 R% v5 i: k}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-5 19:29 , Processed in 0.017089 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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