设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 14016|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 4 B: t) g1 c$ o& h- S% i2 {6 O

  g/ r# W1 ~' w" c% M4 Z+ W本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
/ j# k, T: z9 r7 h! P& ^$ ^以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.! {8 w) k/ y+ b. x
swarm.SignatureNotFoundException
5 w; v0 H9 r) x8 p1 _# c/ W        at swarm.Selector.<init>(Selector.java:76)
# [& g. T! y0 ?7 v        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
7 H7 X9 d; n7 u1 h& D. e* ]" O        at ActionGroupDemo.main(ActionGroupDemo.java:67)
4 W4 r, X8 n* q4 U3 j1 {# F9 k
( n% R1 l1 h! k$ ]9 I1 f
2 Y4 E+ a2 \; V8 cimport swarm.objectbase.SwarmImpl;  f. R, G& w6 P2 u4 f: |  N
import swarm.objectbase.Swarm;& K7 S( T6 X  C- W1 S! E* F6 T
import swarm.activity.ScheduleImpl;
. |  E( G, g$ timport swarm.activity.Activity;: I9 S0 V# M* a7 ~  B/ }5 n
import swarm.activity.ActionGroupImpl;& t4 {9 t8 v7 A& `* R
import swarm.collections.ListImpl;  K! H3 o5 j0 Z: ~6 e, b
import swarm.defobj.Zone; ) W5 S% ~( \& v, d! K4 ]
import swarm.Globals;5 U. j) f5 h  {% E0 [" N: W
import swarm.Selector;, a: q" G; g$ L* B2 u: z
import swarm.activity.ActionGroup; % S4 m3 \) S9 ^' s- @# R
class Agent {! {% A4 T& B4 I( G4 y6 ~& ^
        char id;7 Q% d3 J# c+ i3 }

( N) X# c8 q, D, ~: v7 W' a( Y        Agent(char id) {
' B; [; s( ~, S, |/ F1 r8 w) ]- H                this.id = id;* `& @7 i- F. }* p
        }  U6 e& G9 W' i3 X$ o9 d: ?, e  Z- O

# I* @$ ?5 M: C1 ?9 Z        public void agentStep() {+ F6 z& E( x+ k) h0 t( A. @
                System.out.println(id + ":" + Globals.env.getCurrentTime());
1 z' [) W8 u  }2 ~; j* r        }" {3 A& Z* l3 t% b6 \9 m
}3 f+ v, i0 J: K
# r2 O1 d! Z- e5 V1 z
public class ActionGroupDemo extends SwarmImpl {
3 N. f- T: d; l# b% @( |        ScheduleImpl schedule;# M; i; A% t5 Z
        ActionGroupImpl actionGroup;) `% |' ]8 J7 Y
        ListImpl list;
6 w5 X9 r$ \& j5 V        char Id = 'a';
. U5 g4 h, u  Z' p% K) f8 p9 k8 l
        ActionGroupDemo(Zone aZone) {+ O: [3 }$ ^. M# }( Z( L3 T
                super(aZone);$ v' E% {9 a9 d8 |5 F% S  d% C# B% t
                list = new ListImpl(aZone);4 E0 a$ j  E8 ~
                swarmSetp();
- R: f5 v- X0 ]' D/ u. \                actionGroup = new ActionGroupImpl(aZone);7 W+ G  ^& t+ \" w; e
                schedule = new ScheduleImpl(aZone);( Y& h. Y$ b5 \
                try {0 E9 s/ V2 Z, r& `# e3 m
                        Selector agentSel = new Selector(Agent.class, "agentStep", false);, F2 F# L9 l) ^3 L9 n1 K
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
6 Q1 Z' j# P) K; ^3 ~& t                        
2 |5 i; m; Y( f' o                        actionGroup.createActionForEach$message(list, agentSel);% k+ M( U' I1 e
                        actionGroup.createActionTo$message(this, swarmSel);
7 k. a' u1 `. \, P                        schedule.at$createAction(0, actionGroup);
; X$ L9 ^0 q, x9 J' v- g                        schedule.at$createAction(1, actionGroup);$ c1 ^7 _" d# X/ p! }  P
                        schedule.at$createAction(2, actionGroup);
8 K: v" M' A& x1 ?9 ^7 z. V9 w4 k; j, j9 K" p
                } catch (Exception e) {4 @' U7 C5 v" k1 O* b2 Q
                        e.printStackTrace(System.err);- y/ g: E+ [1 D' S* r
                        //System.out.println(e);# s# b! s8 l0 A5 V
                        System.exit(1);
9 ^; v3 r; E3 Y0 |                }8 x% J- q! k1 j4 S8 B* e: U

* q) X8 G9 o' i
; G4 O" O$ c& V        }* K- P2 m( i  f( Q7 n

% Z! m. p! @6 T0 {; Z        private void swarmSetp() {- |. W, L+ X: g$ F- ]8 m$ y6 v' |' H
                list.addLast(new Agent(Id));
& W7 v8 V% f1 k9 P" S# q: ^; @                Id++;* k/ F9 W* ?) E2 ^
        }
; _0 E: N2 Y  i  E, V( w5 n* e$ U, j5 `1 E
        public Activity activateIn(Swarm context) {# r& G" b+ C+ f: r9 o3 F$ M
                super.activateIn(context);8 @6 v* a9 k' w  ?+ Y4 J$ S; H
                schedule.activateIn(this);/ W* A& H! `; O5 |
                return getActivity();
: {5 y* m: `' r5 e4 I! i% N9 ]4 E        }
* H9 k+ {- p5 h! Z" I! x, m4 G% _& s, t
        public static void main(String[] args) {  p' j/ N* F& @2 D4 J9 I
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);0 R8 \( V" F! r3 N3 u+ b
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
1 t/ _% `1 N7 [% s8 g! a, Q$ Z                swarms.buildObjects();
. U8 K& `+ g0 m* B$ i                swarms.buildActions();
8 Q4 D1 v9 Y6 M  q4 |$ ~                swarms.activateIn(null).run();9 W1 _) d+ O2 Q0 V6 ]1 K9 v# j
        }
9 U$ r/ O" ?9 C9 r
3 p  t8 M+ u9 F0 U; y}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-9-25 11:03 , Processed in 0.019333 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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