设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11819|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
  Z" ?: m0 m9 R: t) K2 o7 U8 M/ J
7 v; N; y! e5 m% a& y3 X: `本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
; M' u, e5 g3 p' ]9 s4 A8 }以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
7 x4 u4 ^6 M6 C) M3 _$ v, Fswarm.SignatureNotFoundException
& s1 w2 v/ ~7 K8 g6 i        at swarm.Selector.<init>(Selector.java:76)- D2 [, d6 @# u* x% D
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)& i9 A* n9 ^3 U6 k! t/ ~9 J$ [
        at ActionGroupDemo.main(ActionGroupDemo.java:67)
- E( ?5 k) J, l7 ^/ F  J2 F8 H
, E# T# R$ M6 B0 G4 [
; z0 L7 I% {! himport swarm.objectbase.SwarmImpl;9 i5 [8 Q) ]! x
import swarm.objectbase.Swarm;
5 Z- w1 k2 k* Timport swarm.activity.ScheduleImpl;( G0 y  ]- Z4 I$ ^% I; d
import swarm.activity.Activity;7 i5 n+ c& V4 @: h
import swarm.activity.ActionGroupImpl;5 v8 S& o! D  Z- _8 u3 h& }, g9 ~9 c, Y
import swarm.collections.ListImpl;, |3 O: M1 ?* f9 E* Z8 a
import swarm.defobj.Zone;
8 n9 h& V7 _5 G  Oimport swarm.Globals;& N/ {$ q% R* R; i1 |1 v
import swarm.Selector;
- R% Y& `! r( L5 S; ^; B( g9 Nimport swarm.activity.ActionGroup; : f3 d1 M% ?3 u/ n1 }
class Agent {& y2 I! N9 v: R. Y' S& e1 u# i+ z
        char id;
; _7 r4 C, F! k% e% v9 N7 x9 |  V' e+ T$ s' N6 l& Q* k
        Agent(char id) {
, l6 ~% N/ u  X% h. _$ N                this.id = id;+ l# z- L# z# L& {
        }, }. f, T$ K& }( |
6 v& T9 b1 A, H$ d! R
        public void agentStep() {
8 n, |$ o2 }2 k3 c9 v7 s# M% r- X                System.out.println(id + ":" + Globals.env.getCurrentTime());' C- ?! r5 q. w9 b/ H/ ?3 F4 H! Y" _
        }! E. `: I, W2 W% z1 L! j  s
}$ {/ c  j- P' ], B& s

8 ~, q. S) m8 i$ Spublic class ActionGroupDemo extends SwarmImpl {6 @; H' C1 k* f( A2 a% T
        ScheduleImpl schedule;
3 O" f: g, `: \, h        ActionGroupImpl actionGroup;
5 n6 f; M! u, S5 u; `, J( d* f) Z        ListImpl list;: r% ]4 R4 ~1 |9 d- W$ L2 F- g
        char Id = 'a';
$ _" k( ^: S  [* E% v; Q+ Q4 D$ f! p* \# n
) ^$ H/ ^) s( @: s! ^! G7 c        ActionGroupDemo(Zone aZone) {0 ?+ f2 V3 A& U9 I  ^- \6 z; }
                super(aZone);
7 S1 _1 S* N( r5 L4 S0 u: Y                list = new ListImpl(aZone);
0 z8 }( }  d1 C) j# A4 J                swarmSetp();$ |3 p4 v: C( Z2 b( ?. T
                actionGroup = new ActionGroupImpl(aZone);
: `, \/ U1 g# \4 E                schedule = new ScheduleImpl(aZone);
* L4 b; R0 _* e2 V" K                try {7 T) g( Q7 [. j( K$ R9 v
                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
+ m1 s" Y2 a2 `* S                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
% w% Q! \9 s3 Y- T& a. o. Z                        
8 L5 j* a+ g' \# @                        actionGroup.createActionForEach$message(list, agentSel);
: u/ N  J- h- Y% Y7 m3 Y- X* t- P                        actionGroup.createActionTo$message(this, swarmSel);/ d- N" u; y, e8 v
                        schedule.at$createAction(0, actionGroup);
6 s9 c5 Y" R2 G7 g9 g                        schedule.at$createAction(1, actionGroup);
. ], k) G& t  R                        schedule.at$createAction(2, actionGroup);
5 `+ g" @7 S/ S' B2 H- D6 r' s! w: l
                } catch (Exception e) {
, |) }4 J& q3 I# r4 z/ `# v8 W9 C                        e.printStackTrace(System.err);, m  w$ _/ Y8 {- ~2 b7 N
                        //System.out.println(e);
( `% O0 G. E6 E7 o+ J                        System.exit(1);
& q5 q' b) ?, c                }! o9 i/ a1 z+ s/ D

" J6 P$ x6 D( v* j
: t% N* x5 @  v        }
; z" ?$ h! g& O+ k% e2 ]& U5 l1 w: L5 @+ B  k& S. L5 O6 T' e
        private void swarmSetp() {
' L5 w$ Q3 R+ s% g                list.addLast(new Agent(Id));
: `0 Z9 ^. P3 T2 _7 ]                Id++;
: l9 b; U/ F; ]1 Z( f5 W5 r" u        }
& i& i( R3 y6 w  Z: U: L
8 S! o  c' B0 Y        public Activity activateIn(Swarm context) {5 B" p) P; L$ p* s( l" a" r
                super.activateIn(context);8 |0 k( V# S/ x( F  \5 \  q0 A
                schedule.activateIn(this);
' k; r/ p/ T6 Z0 u) V                return getActivity();) e  o7 L" i) O6 w% C/ A/ n
        }
$ E+ @: y; S8 t. F1 C( R6 N) j& t! o. P( O& n# b3 L- i3 v
        public static void main(String[] args) {
+ j/ d2 N( u/ F9 x% w( j                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
# v" _$ x; A) [6 J7 P                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);- l( S9 k3 i0 e3 k# Y
                swarms.buildObjects();
0 x5 G9 y& ?, P7 ?8 @/ y                swarms.buildActions();- n/ l7 s; T) i
                swarms.activateIn(null).run();6 o! z9 M9 \1 t/ G9 b
        }
# y: C: b( G5 ^& }4 z/ C
9 m# i: Z6 K+ W$ J}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-7-22 17:44 , Processed in 0.014724 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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