设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 12876|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 1 @8 I( m* @3 X# w
6 Z$ l+ T5 R0 _/ J5 r) Q# F
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update218 [7 F4 V2 u, ~6 Q* i9 N
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.# G# G$ f2 B' w& Y# @) m, P
swarm.SignatureNotFoundException) f/ b7 e( B" G9 v
        at swarm.Selector.<init>(Selector.java:76)
, ?) d' j# w2 y; Z% v        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
; c8 f8 H% Q6 N; O4 W/ W        at ActionGroupDemo.main(ActionGroupDemo.java:67), [; O5 b! V, F$ ?' v1 i3 F0 r

) J1 U8 h& U  l+ c: K& `" Z9 I. A) J+ Z! x/ Q
import swarm.objectbase.SwarmImpl;
5 \( m, g* a% s" }) ]: B$ ~import swarm.objectbase.Swarm;; E4 j/ I; R5 W( z% ^" G
import swarm.activity.ScheduleImpl;) \' H! R# i- t) ^5 U
import swarm.activity.Activity;1 b1 Q( u; G  g1 i6 ]3 g9 d
import swarm.activity.ActionGroupImpl;" @5 U9 b) `4 e2 L, ]$ m
import swarm.collections.ListImpl;
2 w6 c7 N5 l5 bimport swarm.defobj.Zone; & t' B+ y  ]8 o# [) P. @
import swarm.Globals;3 I' [8 @) ^& w: d! g
import swarm.Selector;) T+ `3 p+ o  N3 a! \: o
import swarm.activity.ActionGroup; - C/ o& P1 _: h
class Agent {
% ~. V& D+ p+ w$ _8 T# R* D        char id;
1 Q! s2 G. V1 k! C9 p) D6 n4 p
  i' G2 f9 E( X9 M1 s        Agent(char id) {
( ~4 [! z' l' [1 n' q                this.id = id;, a) b, ~8 f( }. e+ |
        }9 i+ Q, M- H7 H
. Q, k  m2 s% H# n' w$ M
        public void agentStep() {7 D( e  b6 \# @
                System.out.println(id + ":" + Globals.env.getCurrentTime());
0 q( Q  W6 J6 f0 T        }0 J( I7 ]& u2 D+ w- Q
}  V& g7 M, A6 ]

$ `0 W* c7 I! _" T  o9 ]' y0 x* \public class ActionGroupDemo extends SwarmImpl {  _. s0 w6 u3 \  l
        ScheduleImpl schedule;
; E) @2 z$ y7 V4 b0 p2 p        ActionGroupImpl actionGroup;
: p6 t  W6 O9 N0 O        ListImpl list;$ i: f+ n8 W6 D- ]( l, q! c) Y0 L
        char Id = 'a';
$ B8 h! O) ]/ H- W: }8 x: `/ Y& J& c0 L5 W  m
        ActionGroupDemo(Zone aZone) {
' i* h$ I5 l4 `' H! s3 a4 ?+ Q                super(aZone);" U  k6 C3 ]% Y4 Z" ]$ `
                list = new ListImpl(aZone);
- b/ r# k# M" S/ U# ]                swarmSetp();+ ?9 n  C# {% h- }  D/ f1 L
                actionGroup = new ActionGroupImpl(aZone);6 m( v1 }# N, M
                schedule = new ScheduleImpl(aZone);. `# u$ ?7 ?3 b6 p' c
                try {
% t0 d* D& a% n                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
/ a9 N, \1 a4 R                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
. _9 b$ U3 R! n: z                        # h! x4 E3 _" U" n/ U( }) R8 M
                        actionGroup.createActionForEach$message(list, agentSel);& Y( {; z& Q/ U% c0 K; z. q4 s
                        actionGroup.createActionTo$message(this, swarmSel);7 K6 X" e+ s( u; j; v6 a& V
                        schedule.at$createAction(0, actionGroup);
% m- N" s8 a8 k  C$ N                        schedule.at$createAction(1, actionGroup);7 H! P2 c" g$ X, {2 f6 D" }/ M& N
                        schedule.at$createAction(2, actionGroup);
6 }) o2 y% N, c( ?# L* f) x
; p0 }) C" N5 n6 W; V# v5 i                } catch (Exception e) {
5 h5 g; ]7 _' [8 m. T                        e.printStackTrace(System.err);) L( o# y4 A' M  Z
                        //System.out.println(e);
% A4 l1 [) H% G* `- v7 ~                        System.exit(1);
8 ]0 S' b0 f( p; r                }
* }) F$ _1 `& U+ |5 f1 F; a3 w. O
" |( U' Q, q+ q  W' m% e- u8 d3 `- H" P: a1 v% R+ f
        }" ]/ @* Z) f( ~
1 i8 q+ q! K! q6 M0 w! C: }: v
        private void swarmSetp() {7 H* {+ f, c# D. Q! J
                list.addLast(new Agent(Id));6 ]& k( G* `$ e4 W% W+ C8 }$ z
                Id++;
; Z7 g# A# T, ~5 j  q        }
% {7 j# C" H/ |1 D2 D/ Z& r
+ A! x* h1 g" c; a        public Activity activateIn(Swarm context) {
+ C* @, x( a5 T$ i" Z                super.activateIn(context);& X; i+ k5 J1 V
                schedule.activateIn(this);
/ y% }" H) v+ _# X( q' @                return getActivity();
0 Y9 r- u# z" Q4 O4 R" v2 x" q        }
* W6 f5 U  x7 s; N& V, l" Y4 U6 h
( u! Y1 U# t! p        public static void main(String[] args) {
; i1 A3 p! i4 }( S0 X4 [                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
1 k3 Q% W1 s% c, t" g6 g                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
: {4 |- q$ h# s, V/ b( d$ s                swarms.buildObjects();3 `( x4 {4 e5 y, i) A, ?
                swarms.buildActions();1 H9 H& S, @6 @2 D& T/ \6 E0 I7 u
                swarms.activateIn(null).run();
9 T( Z! n" o/ i        }9 z3 a3 m' q, [$ F8 w5 e
5 r+ H/ w& I& b7 G
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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