设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10978|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 3 o1 Z5 a8 V1 D& q
. H6 X  w* R- ]1 m. I- k
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21, X6 \4 G; [. t" Q
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
7 F+ n0 ?& e, q! Bswarm.SignatureNotFoundException
/ D9 s7 R* |$ \: z* ]* `        at swarm.Selector.<init>(Selector.java:76)
5 U" V& C5 t; L! X* S) `! v        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)7 U( S! `1 E2 H& Z2 i" c
        at ActionGroupDemo.main(ActionGroupDemo.java:67)* q- x* Q% O9 ~! f; s$ |
0 u' {1 H; s  a

# O4 K& D* Y" limport swarm.objectbase.SwarmImpl;
" u" I$ I5 B0 a3 @5 W6 vimport swarm.objectbase.Swarm;' Q2 ^# P2 q9 N( ?
import swarm.activity.ScheduleImpl;
, n" U) ?5 e) G( e: h$ \' V9 Limport swarm.activity.Activity;
6 Y- E; H& B9 Q+ E2 z: Kimport swarm.activity.ActionGroupImpl;
3 t* D6 ]- K) L6 f* Vimport swarm.collections.ListImpl;, D8 L- N$ L9 V
import swarm.defobj.Zone; ; W( Y) O8 e, v$ L# Q% q
import swarm.Globals;6 E5 v* {7 ?" n2 d/ @/ _
import swarm.Selector;# z+ q, `2 @% z/ A0 w
import swarm.activity.ActionGroup; # m; t% y3 w3 G0 T: y
class Agent {
7 T$ s: A0 O5 D2 ~$ ^- t7 j7 O4 W        char id;" g4 o' ^3 C5 P- ?" h( k6 R
! ~) i+ v. S* z5 x
        Agent(char id) {
5 J1 ^8 J! G, t; o* a' r                this.id = id;* Q3 J! x8 Z$ i2 G" }8 N7 f
        }
, t' [  f. s( X. \) f% @( B: ^+ \1 T; x: a& ^- L! q( A( _
        public void agentStep() {
3 _9 {3 L; M# @( n; ~                System.out.println(id + ":" + Globals.env.getCurrentTime());; e) `4 \8 X; S9 A0 j: u
        }
* u4 Y7 |: E$ Y" J8 L$ G}
! B; M7 W. j  J* q
3 V/ \1 Z( O0 ?, t8 X) lpublic class ActionGroupDemo extends SwarmImpl {8 V4 r$ n1 e" d( E: D
        ScheduleImpl schedule;9 y+ I8 C3 i+ q8 m- }$ p  y
        ActionGroupImpl actionGroup;, \3 j- R: V4 Q
        ListImpl list;
, L$ D& t; q& W$ U- l3 ^        char Id = 'a';
- _: x: D' }( f; H4 P0 X& l; ^, C
8 v+ q$ o9 d2 ~0 j0 x& ]        ActionGroupDemo(Zone aZone) {
$ ]$ o  a$ A9 }                super(aZone);
: y/ z3 s+ V- }# F. t4 y0 J                list = new ListImpl(aZone);- `9 r  i' E- l/ t6 ]
                swarmSetp();
1 y2 G" Y5 N8 l# P( M* P$ G4 i3 w                actionGroup = new ActionGroupImpl(aZone);& h2 Q2 e) o, s0 A' I( s- [
                schedule = new ScheduleImpl(aZone);! N' @4 _" A2 }6 }6 m; k
                try {8 m  k2 o6 S0 C& Y  Z! k, @
                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
( B% w& o# g- A/ r7 d: Y* I; j                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行! H; r, }. f  c: K# D4 V, F$ p
                        : L7 ^5 Z3 F3 X5 B, X; H( M, e' H
                        actionGroup.createActionForEach$message(list, agentSel);
3 s& Q5 C, g, U% x" Z% z                        actionGroup.createActionTo$message(this, swarmSel);
% D6 [: N) f. l6 q% y9 e9 G                        schedule.at$createAction(0, actionGroup);
! W. H/ ?  t' h8 T% C                        schedule.at$createAction(1, actionGroup);$ i. h. J+ p+ d! V
                        schedule.at$createAction(2, actionGroup);
" T" w, k2 t( [) U
$ h$ O8 I' `6 ~# o9 j                } catch (Exception e) {) g* n+ ~5 V: b- {8 m" i% e6 I
                        e.printStackTrace(System.err);* u1 w8 P* |( B* ]& u
                        //System.out.println(e);
" V6 L7 N7 n/ G                        System.exit(1);/ s4 c  f9 v( j9 b1 s# K
                }
+ K- l, d; T6 r6 V+ n
' ?  Q  Z, h  T
  t5 [' ?8 x! y& N        }
' {! C8 H1 i& g$ U
* R0 q. z: U! V1 v5 S2 F        private void swarmSetp() {# [8 ^( P; Q. _: ^6 X
                list.addLast(new Agent(Id));
- W* ~, Z+ L5 R5 \' b" a                Id++;
( Q. o% W; Y3 u        }
% @2 ]/ k' U9 \. F5 A3 z, v0 K5 P$ C- t4 r0 x
        public Activity activateIn(Swarm context) {
. G& T7 Z" Y4 Q, `, Z% |                super.activateIn(context);
* R; p4 d+ h& W                schedule.activateIn(this);* P$ l# x# d( G% b
                return getActivity();9 ]. p: L2 B( r2 z* J7 ]; z
        }
' P# h. u7 s9 P1 L
4 e! @* Q) x! f' g5 T" g7 G        public static void main(String[] args) {( C$ j4 r5 C# {( q& Y. e5 x
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
& l( R- L0 [; n# b. L                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
4 X  D6 A! e6 i                swarms.buildObjects();) b+ R% c7 g# K% F
                swarms.buildActions();
* A2 d& e3 g- E! h6 S                swarms.activateIn(null).run();
! ^# ?: z# \4 l) d7 K        }
5 @9 r4 Q$ y5 n5 w. y$ ?7 O5 i# v7 u( U0 o: l( _
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-29 07:36 , Processed in 0.012996 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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