设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8252|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 # n  ~' w0 Q8 g! y0 _2 A7 a
( {$ y. ~* z; X( {1 m0 V" C
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
; C6 v4 g/ i* j以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
7 k/ j2 g7 M* ~' a/ T" pswarm.SignatureNotFoundException
2 U* B6 A  \2 e; A  m& r        at swarm.Selector.<init>(Selector.java:76)! z/ ~0 P' G8 j! E; v* I
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
, M' `4 C; |; C        at ActionGroupDemo.main(ActionGroupDemo.java:67)  l# d5 p3 S5 [# f% s$ c. H

3 j( S. [7 }; O" @4 T9 x  x* r3 [) l+ `9 u
import swarm.objectbase.SwarmImpl;& @- Z! q2 c$ M$ u
import swarm.objectbase.Swarm;
3 C0 Q, L/ A4 n! }  a7 m3 Qimport swarm.activity.ScheduleImpl;
2 `4 d( h7 k+ E& }6 y8 Uimport swarm.activity.Activity;
2 A2 I  j9 f: E3 W- Gimport swarm.activity.ActionGroupImpl;7 ]. h2 f$ G; u0 _
import swarm.collections.ListImpl;
- y0 v& N4 O4 n" M7 @7 aimport swarm.defobj.Zone; - V5 j& z, q) P6 A9 w! k
import swarm.Globals;7 M3 e- x1 L9 Q# q6 v
import swarm.Selector;
; ~, E: K6 N8 @+ H; B" Y  Zimport swarm.activity.ActionGroup; 1 Y  S: m3 G1 X$ k" f1 P9 N& ^- r
class Agent {
- N7 Q- O# ?/ d7 H        char id;
: N! z  s% f4 }! l% {1 C$ A
6 Q6 t0 E/ q( m        Agent(char id) {
8 E3 [  j; i$ |- b                this.id = id;
% n6 i7 Z4 j# f- v7 O        }/ b* N* H4 i! [

9 T8 f1 D. J$ g0 a/ Y0 l: H2 Z        public void agentStep() {
- b0 o" P5 w3 K: g7 o* x- H; q) h                System.out.println(id + ":" + Globals.env.getCurrentTime());1 J+ v# {; E$ y: J8 I' L7 n0 K3 n
        }
2 z2 G$ S; ~9 l* J' D! N0 x}
0 E5 N* E6 C* i- W3 i' k6 S1 p( B* x+ y2 f& P! C
public class ActionGroupDemo extends SwarmImpl {
0 Y6 r: v; A& E( |" W4 z        ScheduleImpl schedule;! Y/ r7 |9 N0 g& U1 Q
        ActionGroupImpl actionGroup;
, {; A# x) q) I8 S        ListImpl list;
2 y# I% h+ _* O" R  Z        char Id = 'a';
+ O( I( M4 e/ v/ P: m9 @6 v7 x* L6 h* S, R
        ActionGroupDemo(Zone aZone) {
& R: D- I! q1 d* r- P                super(aZone);
5 |. d+ {# z0 e                list = new ListImpl(aZone);
" S) ?* Q) W6 b# |" M" }' ?                swarmSetp();
+ i/ y+ w5 |( p- P! T- c7 I                actionGroup = new ActionGroupImpl(aZone);, ~3 ~* z  b  W3 K6 D
                schedule = new ScheduleImpl(aZone);; B" F  X4 D' B6 N% L
                try {
2 ?) o5 B( g- q$ u                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
  R) t& A  {' c* K8 C7 l0 U                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
- m$ W4 y- ^/ }2 a                        1 x; d2 y. _! T0 F5 w
                        actionGroup.createActionForEach$message(list, agentSel);6 ], y% K0 |6 y0 O
                        actionGroup.createActionTo$message(this, swarmSel);. t7 f- h( }& `5 I% ?
                        schedule.at$createAction(0, actionGroup);
/ b4 ^* C' d# O; ^: @                        schedule.at$createAction(1, actionGroup);+ a* e) t1 a& y5 s& X
                        schedule.at$createAction(2, actionGroup);; K  T" l1 J9 {3 o! l% F, Q9 _* _
* C) q4 l9 n6 A5 m7 |
                } catch (Exception e) {
' h/ s# u0 P: P* }                        e.printStackTrace(System.err);
& y6 N$ K: U0 C& k& G                        //System.out.println(e);1 Y5 |% O2 m9 q3 Y& s& K8 k8 M
                        System.exit(1);" n; x: X# v( E' M% }. M
                }3 c2 e3 j  e4 ^+ l* h
1 ^$ B7 J- c4 j% _' Q$ x' V

2 j0 Z. W9 B; @        }6 O' N& e2 d" Q6 K$ U* g
: }! d& @9 b" c
        private void swarmSetp() {4 O7 r3 h7 N% h1 Q2 i3 x9 G
                list.addLast(new Agent(Id));' ]' S3 \; H7 P1 ?
                Id++;
+ c  ?( d  ]5 S# c, h6 d        }* y, g: q/ m# ~9 e" U" N7 m& Y

3 e7 p$ m9 m$ B8 `2 h) X        public Activity activateIn(Swarm context) {: \! a3 b1 a* @; S5 C/ L5 i! B
                super.activateIn(context);+ I; t! N  v& P. O, R& _5 I# h
                schedule.activateIn(this);
( g4 d- i  A: H0 U                return getActivity();1 E: p* ?( d2 G7 Q0 N
        }
& V7 m- p) v" B& Y
  _) D, H5 G; [+ u% v& g1 E        public static void main(String[] args) {  S" f$ u. @. t
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);, S" l, _' Y* k) C0 E* Q5 {
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);  L# ^' O- w+ j1 \( n( `
                swarms.buildObjects();
2 i7 \; I# ^1 f2 G% c0 C                swarms.buildActions();
# ~1 i5 u: O6 N/ M; I                swarms.activateIn(null).run();
" t" n! b2 h9 n/ i. `        }; N6 X3 \/ ~2 r

; R8 r' j3 L/ ^9 a* Q  \}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-4-4 22:30 , Processed in 0.019584 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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