设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6647|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 + g& V8 m5 g, B8 e* N
+ n! w% F$ @! M8 }
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21, n! P+ M& H0 k3 x4 |& z
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
% o/ c6 Q6 W, ~9 L* Eswarm.SignatureNotFoundException
; w2 g8 i; t* V7 V9 T        at swarm.Selector.<init>(Selector.java:76)
2 f/ Z  y! L* Z! n9 ?+ F        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
8 O9 Z; Y# v* a4 C        at ActionGroupDemo.main(ActionGroupDemo.java:67)
4 \4 R( u# u$ \1 m- V; b8 V5 G
, x) V8 }. Y( n+ h# s: |! C5 o5 U7 w/ o. s1 W$ r
import swarm.objectbase.SwarmImpl;0 p1 }. m9 U# E
import swarm.objectbase.Swarm;- f+ \0 {4 p3 V1 m. Y. o& T: {
import swarm.activity.ScheduleImpl;
& U& r' ?! ]& D, c+ @0 Himport swarm.activity.Activity;
/ Y% h& g* r4 U" X  _import swarm.activity.ActionGroupImpl;
5 R* Z0 H' B3 a1 e$ H# Pimport swarm.collections.ListImpl;
8 y% N* H' p" t/ w$ o9 C/ K0 Simport swarm.defobj.Zone;
4 Z$ h4 [2 \0 K1 u2 cimport swarm.Globals;
, `- y# {; J/ m7 o% bimport swarm.Selector;
; }6 a5 o( G5 W8 Iimport swarm.activity.ActionGroup; 7 g1 f5 Y) c; T! }
class Agent {; A1 p0 s4 \! s9 i( \
        char id;
# [2 y) ?6 f3 |
: E0 e) r; C( E        Agent(char id) {4 x; W6 r2 g9 n4 |% G5 A
                this.id = id;5 f5 u' ]- k9 h/ {
        }1 J3 B1 w. w5 `6 e  ]

7 A/ A: o6 I# s$ F' l: s9 J3 X        public void agentStep() {
/ O/ Q4 I0 g( f& l6 ~! l                System.out.println(id + ":" + Globals.env.getCurrentTime());
1 H0 C- G4 S; V3 e1 \/ J# ~        }
' ~7 F' K, ~/ T9 X" ?* K  d}) j0 V- H3 ~( V, b6 M

/ D9 b$ L* v3 t( z7 B( c, l- x( `public class ActionGroupDemo extends SwarmImpl {
+ ]% W. T. N( D6 u& m        ScheduleImpl schedule;
% t0 m* J) O8 y, D, d        ActionGroupImpl actionGroup;% V7 j  d+ D. t: Y7 K# C
        ListImpl list;
% B2 ^) u& Y0 K' y8 t% q4 D; F& p9 B        char Id = 'a';; W; Y% d( {& r$ C

. D/ Y- `: |( s6 P7 A5 _4 [        ActionGroupDemo(Zone aZone) {8 F, [4 Z9 p7 r
                super(aZone);
" o. Y+ t6 g& C& F                list = new ListImpl(aZone);) j6 [8 ]& V( C8 @( @& @
                swarmSetp();7 O8 K; l  z5 w2 W" a- q
                actionGroup = new ActionGroupImpl(aZone);
6 v% c& U$ S: e2 e                schedule = new ScheduleImpl(aZone);8 o7 g6 ^+ l: T2 K8 ~- E
                try {
9 Z$ M; @: o3 @% E" z0 W                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
# {8 z2 t4 X; q                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
4 B+ v/ K" @% e. K/ t, u                        / y0 y. q! o$ p) J
                        actionGroup.createActionForEach$message(list, agentSel);" |) i5 \" O5 R! f8 @
                        actionGroup.createActionTo$message(this, swarmSel);4 E; q5 |# a8 _. {+ A
                        schedule.at$createAction(0, actionGroup);
8 ?, \% l- a  g5 P: p1 p                        schedule.at$createAction(1, actionGroup);9 l7 v; k( u( D: F& v
                        schedule.at$createAction(2, actionGroup);: U, Z: p. i4 v- H7 I
& F8 P, N/ V' w
                } catch (Exception e) {0 g. ?/ b0 k) j5 S: s. O- W
                        e.printStackTrace(System.err);
- _' n3 z: m7 j                        //System.out.println(e);( j( {+ c) ?/ G& G
                        System.exit(1);3 \  v/ c/ ~% c; Y  ~2 M: {3 [  I
                }& A1 m; c) `8 H: h6 v# i" \

8 ?8 g! ?; |/ U7 X: [
: `1 K/ a+ ^3 I  |        }: q: q# E" }- f7 `1 m$ }- S
2 [* `: k0 E: l- C  ~* G
        private void swarmSetp() {4 S& w6 J& h5 S6 x5 M, \
                list.addLast(new Agent(Id));
7 L/ d& P; A  Q2 j  e                Id++;# j) V$ _0 j, }! R4 w( R/ o& p) u! H& Q
        }* Y6 }  p7 I! G! K4 _8 Q( I

5 x7 M* j2 I8 _6 x# M" ^! D4 n7 A        public Activity activateIn(Swarm context) {9 R, H" O. O8 L/ w
                super.activateIn(context);: W. E  \/ ^4 ?1 x. i  G# @$ @
                schedule.activateIn(this);5 Y+ e1 L7 f7 l* s
                return getActivity();4 J& U* D' b& }5 u5 T/ C( g
        }/ Y# P2 B9 H7 V- m) s
. ?) s- n# n6 \# q' Z# H
        public static void main(String[] args) {
8 q" U& D$ f0 i" L# k$ b4 b                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
6 ~- C- A' p* v3 d                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
' `; ?6 H2 \2 S                swarms.buildObjects();& V6 w! \4 \" ~3 _; S
                swarms.buildActions();
3 M! U" s2 Y. q/ i- w1 V                swarms.activateIn(null).run();
. n# ?" }5 ~( b* g& E7 G        }
5 g0 t) w6 r0 G: `6 R6 S; Y
( X4 y4 a6 ?' o* W6 n6 K}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-2-4 09:24 , Processed in 0.015987 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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