设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8235|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 2 P% D7 G/ y- M8 Z" M8 u
% V- \9 ~  i$ i! h2 d" X
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update216 U4 y5 c, V5 }. V: j+ a# K0 ~
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.# P8 K6 }, L: [8 ]( k5 w) e% Q' Q- F
swarm.SignatureNotFoundException1 m  m- W5 p* z2 `: B7 P  Q# z
        at swarm.Selector.<init>(Selector.java:76)! i) N0 Z  x  A0 p" l) D0 R3 _
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
; a" F1 f' T) A) S- r& |6 [9 @2 y        at ActionGroupDemo.main(ActionGroupDemo.java:67)
; e& e% {/ j% K4 E2 ?
/ a5 d( B  N. ~8 R$ D4 X# d+ F/ E5 r! _
import swarm.objectbase.SwarmImpl;5 W( A2 `8 \5 N
import swarm.objectbase.Swarm;
3 s% t+ Y5 ~  f: d" M, k1 x. q4 o& L* u" ?import swarm.activity.ScheduleImpl;
# M! x( y7 S: Y1 C% o! E6 X7 himport swarm.activity.Activity;. J* I( h% F# q$ M* w) m
import swarm.activity.ActionGroupImpl;0 a' F8 p, D4 P& S' x% E
import swarm.collections.ListImpl;+ N8 A9 |. _. N, B7 Z6 W9 l, N
import swarm.defobj.Zone; 0 p+ r3 I4 |  B9 O
import swarm.Globals;" y$ g9 H! Z7 }0 v5 g1 u6 y
import swarm.Selector;; O% i* {* N  m0 v8 z! Q4 M  B; C
import swarm.activity.ActionGroup; $ ]6 n% }& Q: b& S
class Agent {
0 Y" V  Q' D- o) w8 P        char id;8 J# g) F4 M9 k3 K1 R$ r9 F

& k* c4 j6 I" w, b4 N! ]- @( E0 i        Agent(char id) {" I: ?& l3 _4 d2 P
                this.id = id;& _/ Y; u5 Z9 X* a3 U
        }
) \! y: D% T/ c7 _( h; ?# X% r: t; J( R+ S4 d! P
        public void agentStep() {2 b  g% u, S6 x- L2 X5 l
                System.out.println(id + ":" + Globals.env.getCurrentTime());
7 O6 V8 X+ d+ @) m        }
# `0 N$ ~& x# p$ b}  c* |+ q' H4 a
0 A! O9 e9 o0 s9 K7 b: C5 ^! I8 ^
public class ActionGroupDemo extends SwarmImpl {
4 h; e$ M* T7 C) B/ w+ C2 b! l        ScheduleImpl schedule;
: X, j2 W. W/ P) {, D$ R3 @        ActionGroupImpl actionGroup;8 j0 P  b& u' T( |. c: U0 [% f
        ListImpl list;; l/ J5 d& U, O6 c. O
        char Id = 'a';- o* I: ^$ W, k8 L, I
4 U% a, X. _* t$ f7 v) ]# K. g
        ActionGroupDemo(Zone aZone) {3 I9 ~8 q4 q& w3 b' \
                super(aZone);
4 s0 ]- f$ I; U! p                list = new ListImpl(aZone);
0 b/ b; i: A+ E- T# L                swarmSetp();$ G, K3 b5 T- C" |0 Z* O- m4 b; Z+ c
                actionGroup = new ActionGroupImpl(aZone);
! D: W; }$ g" h2 S+ U; i# {* w" c                schedule = new ScheduleImpl(aZone);
- `  r5 S" g- H# q4 H7 t                try {- `* z; B1 ^1 Z! u/ G
                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
! |( f: z  i) {                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行5 A" t% d- u; R
                        
( y9 X" V! k1 x8 Q  J                        actionGroup.createActionForEach$message(list, agentSel);
" r) |6 l4 x6 H% E" d. T                        actionGroup.createActionTo$message(this, swarmSel);: e/ L$ V5 E" u
                        schedule.at$createAction(0, actionGroup);- \# d, V' J3 v- e9 q1 [, U
                        schedule.at$createAction(1, actionGroup);+ y$ D: ]7 k& O: N9 j$ S
                        schedule.at$createAction(2, actionGroup);
  }2 F6 d3 l# l0 o4 x5 \1 j: r( J+ T) q4 i" f  C; L
                } catch (Exception e) {
  ^2 b; C7 Z% K& u; o  L  ~  _                        e.printStackTrace(System.err);
- S+ m& f4 p7 k2 x4 T5 b* L, ^                        //System.out.println(e);5 r' @# Q0 B7 }) I1 E6 C& ^
                        System.exit(1);
9 O9 \4 v! q& K( O# t( i                }
4 J/ s0 c6 n0 X2 s: Q' e& U2 z) f  h
7 ?+ }5 a9 v8 h; c& A  x
4 x/ e8 g7 J5 g4 K1 P+ ?8 O# _+ }        }7 [3 O" D1 l% z. n" l4 e0 S

3 u2 x+ n6 `, t; U  |0 F/ {6 e        private void swarmSetp() {: v$ `# u- X. B5 H; B
                list.addLast(new Agent(Id));
. g4 l+ w/ t$ k0 T  O# R1 v                Id++;! H7 _% V( V/ s* [  W
        }
) l8 h/ _2 f' O  [5 K8 l
8 ?* u$ C- b+ U; V, ?        public Activity activateIn(Swarm context) {( v# m/ v7 b6 M! K9 b9 S, A
                super.activateIn(context);1 N2 r: P3 u& Q4 U
                schedule.activateIn(this);0 s  p& e& N- [0 F
                return getActivity();7 ~! M6 ]. D4 ?$ B: ~% L' r& P
        }
6 s" x* |7 S9 @% `0 M0 ~8 t$ V8 e4 Y7 g( C8 ]6 A
        public static void main(String[] args) {3 L. p/ |3 I& I8 [* g
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
; t2 I* f* {& L2 g. U2 H7 _                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
& D5 M( L' p+ f                swarms.buildObjects();9 `) o, F+ l& n& K8 A% R
                swarms.buildActions();/ s1 g8 [7 `6 o; u$ H  g; h
                swarms.activateIn(null).run();. L" S3 s2 |4 H' l
        }6 o" h) q+ W4 I8 |: }
/ e/ s& h1 K. H
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-4-4 09:51 , Processed in 0.018545 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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