设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 13324|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 2 |+ r1 ^( l$ g$ h

; w" {  e1 Z8 f, o7 O本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21- U% H3 V6 |! I, n  H4 k
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.  G  j8 |5 X1 }" |" S+ i# A7 w
swarm.SignatureNotFoundException
* p. T0 Y5 o$ B* V9 L# c# p        at swarm.Selector.<init>(Selector.java:76)
* n* R2 t4 h5 I( f; A        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
6 U* U& H8 W  k9 Z- @3 k" W        at ActionGroupDemo.main(ActionGroupDemo.java:67)( C# C9 K  {9 e) \: k! t, N% ~
% b& s6 [8 N1 h. }

7 R4 j" A* H# kimport swarm.objectbase.SwarmImpl;' Y7 B5 ~! {# A0 X& Z& n4 c. J2 w4 o
import swarm.objectbase.Swarm;, s1 d0 P2 a3 x5 e/ ^
import swarm.activity.ScheduleImpl;5 i" ], _. n2 X8 `
import swarm.activity.Activity;
4 L$ z$ x' B: |6 g; ]' timport swarm.activity.ActionGroupImpl;1 k1 d- z6 @3 [/ I
import swarm.collections.ListImpl;8 W+ Q+ U! A* _2 y8 S. s
import swarm.defobj.Zone; 3 }4 R" u0 _* Q! U, V) w" {
import swarm.Globals;2 f* q' d6 @9 R
import swarm.Selector;1 a  Q8 d2 u4 o- P: @
import swarm.activity.ActionGroup;   _7 _, @1 o8 C# F) N' F5 `
class Agent {% P! x, G+ V% }3 b
        char id;
$ t1 s- V+ q- k" r  L8 k, D
) c" a/ j) F/ \        Agent(char id) {
$ Y( }1 t" t8 {9 z' i8 r7 b3 r8 g                this.id = id;
1 X5 |$ U# w  P$ A# A2 c        }7 H5 f# m1 u  [6 ~
/ b$ o8 k" R5 G" e5 ^
        public void agentStep() {
9 F" P6 b; f4 b6 f, w# C                System.out.println(id + ":" + Globals.env.getCurrentTime());3 i0 @! S( U' m2 w# b# x
        }' d. I5 z2 |0 [+ C
}
- E; M  |  I/ W9 c4 U) t' p* [6 b/ q( B6 z
public class ActionGroupDemo extends SwarmImpl {- ^& N# w% B' l0 Y
        ScheduleImpl schedule;
- M4 ~- f, O6 p, A        ActionGroupImpl actionGroup;% B% \( }. B4 K, i5 n+ e1 j
        ListImpl list;) x6 T# A- s' Q
        char Id = 'a';
' b- x  M+ J+ n9 Z& W; F
) a5 m! k8 D" p; x3 B" V* `        ActionGroupDemo(Zone aZone) {
; [$ L2 A$ W. H& L* S                super(aZone);
% `# p5 s! U/ {                list = new ListImpl(aZone);
: j' l1 ~! K7 h: Q5 ~0 W4 q! ~                swarmSetp();& u0 l# B3 F% F: T
                actionGroup = new ActionGroupImpl(aZone);( l. {6 U: L1 H+ e) j
                schedule = new ScheduleImpl(aZone);
+ X3 F+ {+ d- Q6 f( g                try {
2 w) n- H' z& p' Q                        Selector agentSel = new Selector(Agent.class, "agentStep", false);  ?3 F  g# S1 v8 U5 X) W
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
2 \+ u4 t/ o% T! A: M                        
* a! X- b' r; ~3 y1 ^4 f                        actionGroup.createActionForEach$message(list, agentSel);: g- V3 T5 a) y! u. [! g
                        actionGroup.createActionTo$message(this, swarmSel);
) f: ]5 y+ I% H3 s8 F: U5 b' F                        schedule.at$createAction(0, actionGroup);* E+ S- U$ I, `; {0 f
                        schedule.at$createAction(1, actionGroup);
  R0 R3 n- ^# n                        schedule.at$createAction(2, actionGroup);' c' H+ q2 {; q; Y! f+ L
' E- C, g! F) j9 `. C- y
                } catch (Exception e) {
+ V/ x8 V) g. n. G# Y9 x                        e.printStackTrace(System.err);% b4 r3 ~# a( d- b7 o& v
                        //System.out.println(e);
+ ^) S1 E9 B. |, r' a                        System.exit(1);
/ l% `& R% K0 R% |8 u8 a8 P- ?5 f8 i                }. d  j. k. k& s
. E; H) B" R7 a6 R; W
* m/ i0 l9 a  z$ W
        }
; h* o: p) Z, H
4 V$ b5 O  k1 ^; g* h: Y) z% H# o% t        private void swarmSetp() {
7 O" ~8 x' a) z' C5 d                list.addLast(new Agent(Id));# [% S+ A, m: Q9 J, P, R8 a" z
                Id++;$ ^5 R7 |2 T2 u! p2 m9 F7 h! x
        }9 S* D+ g9 H& }2 J2 _' U

: v8 E6 G& c" L9 d$ d  C# r        public Activity activateIn(Swarm context) {$ {& P& ~; P; k. B
                super.activateIn(context);
9 o# ~* a7 Z, E5 _! {. g                schedule.activateIn(this);
- ~6 k# ^" Q6 T$ X9 F* b                return getActivity();
' o# c) |2 h" o  M/ ^, h        }) P) r  n6 a3 r/ o

) z) e& E( ?% |" b) Q        public static void main(String[] args) {
+ E- M. @: p% A$ K+ U                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
8 o  h- t1 @1 H7 k                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);( o9 Q8 H& O5 v  D/ F: `7 W
                swarms.buildObjects();- E9 E9 S, \: d' i% J) K9 ~
                swarms.buildActions();
6 J5 @2 g2 o- K& ^6 @                swarms.activateIn(null).run();$ O* O  }4 r; N
        }
: g7 @2 K2 X8 M5 Z6 Q
1 _: j; _! k$ ^/ k) s2 L}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-9-3 19:55 , Processed in 0.014643 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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