设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6148|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
! H. P, Y1 I- ^) L, @' ~; r# [
; K: F6 K/ Z: Z& r( U本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21% d3 o, D9 t/ g1 g& ?7 C
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
% v- O! P1 E9 U) M+ ~& ~# fswarm.SignatureNotFoundException8 q% X2 H7 ~8 ^9 W2 P
        at swarm.Selector.<init>(Selector.java:76)
5 P, m7 D. v# P% o. _# N  X        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
9 I. ?' _: e* S. E, i6 [& x; x( ?        at ActionGroupDemo.main(ActionGroupDemo.java:67): d4 m% [9 h% `/ b; q7 ~
7 ^  d( u( ^! r2 }7 G& |: k
$ A) c2 O1 n: }
import swarm.objectbase.SwarmImpl;
8 ~' [" N# V$ r* Timport swarm.objectbase.Swarm;
! x+ Y, g1 a# X) c( ]import swarm.activity.ScheduleImpl;! {- ?: e9 L6 C) d8 J' o& |# s! @
import swarm.activity.Activity;
- ~/ j5 e( S7 E& `, Limport swarm.activity.ActionGroupImpl;
' Q( j) {% x8 eimport swarm.collections.ListImpl;7 |& m" Y4 J* J5 O; c4 b1 \
import swarm.defobj.Zone; + y( Z% A3 X/ K
import swarm.Globals;
# S6 V% l. l3 e; e  cimport swarm.Selector;* \6 y, ]/ ]6 n0 z& {
import swarm.activity.ActionGroup;
/ R! ~; b. T3 W9 hclass Agent {
4 `* W8 M3 J6 O$ b        char id;' s: r; K/ m/ f

& P+ c, f9 [1 O+ a" g        Agent(char id) {6 G! F8 d6 c$ T7 c& J1 N  f  P
                this.id = id;
1 J$ |0 G! D/ n        }5 H! n* r1 k* A$ u' |

$ a0 n. Z0 Z) U7 ~% x3 B* s        public void agentStep() {/ p9 l) u+ Z# F. c4 [$ q
                System.out.println(id + ":" + Globals.env.getCurrentTime());# A1 Z7 }; x8 @" v5 U  ^
        }$ Q9 n! c9 }! ~8 c
}2 ~3 C6 n, y4 M/ I+ B, v& U- u
# \1 `- ?3 r0 u6 a
public class ActionGroupDemo extends SwarmImpl {
% v' _( x1 b, ^+ f0 F8 D        ScheduleImpl schedule;/ u7 R5 R' Q5 Z; p  w
        ActionGroupImpl actionGroup;
8 k1 y9 v0 Q# k0 T& b; D        ListImpl list;  r$ I, P* W- K) Z  M" O
        char Id = 'a';" u! N: {8 k; E. C
' o5 c# r1 e2 ^
        ActionGroupDemo(Zone aZone) {
/ ~4 y# ~7 p9 z                super(aZone);
. U0 _' v- K2 z2 r2 h+ p( y                list = new ListImpl(aZone);
" K$ ^! V% K5 v                swarmSetp();
1 @; P' ?$ Q' M5 D                actionGroup = new ActionGroupImpl(aZone);, @: N7 q# w" Q" _! E9 |
                schedule = new ScheduleImpl(aZone);
+ q- B5 |+ Q6 n9 f. h) B: A                try {
6 v2 s1 R4 R3 W6 u1 b& ]& e* z                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
1 M4 O8 D1 ^' ^' P2 O6 Y9 f                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行+ _# D8 p7 B8 q& C3 K
                        + X- B6 p$ G5 a- h6 Z5 _
                        actionGroup.createActionForEach$message(list, agentSel);
3 _2 X9 I# x: ~: D# M$ i                        actionGroup.createActionTo$message(this, swarmSel);! N6 T. e( ^/ F7 Q, Q5 P
                        schedule.at$createAction(0, actionGroup);. p# B5 F& n$ ~/ a8 T* z( U
                        schedule.at$createAction(1, actionGroup);
1 n& J7 ^& t8 h" C6 h1 v9 s0 w; S                        schedule.at$createAction(2, actionGroup);# D6 S0 A3 v& w2 I$ m+ _7 }3 \
  J, Q/ R: a5 `3 x, h( m/ y# K
                } catch (Exception e) {
4 I4 H( N; \- c) J) M8 j                        e.printStackTrace(System.err);! Y1 r( c* f0 ]7 X+ g3 {: M: J
                        //System.out.println(e);2 W8 K5 {2 Q: ^6 P" R) Q% Q% e
                        System.exit(1);2 K3 X+ O: V( F; m( y5 R/ Z
                }
1 y. h  F3 d( M5 y0 E, j7 n- D, Y' ]

+ S7 q" K4 c- b        }
2 U" S( g  U" J6 Q. g# N
% I# q( m% @9 X. }& W$ ~        private void swarmSetp() {
- H0 z5 ^# E3 K: D, Z                list.addLast(new Agent(Id));
: n6 Z3 {2 ?1 ~- \                Id++;
  M. P7 ^. Z' ^7 O9 e4 d        }
- ]7 W/ \# S% d! K/ m. M
2 z8 ^) J; ~( N; @/ O        public Activity activateIn(Swarm context) {
' o3 U6 V" h/ @  X                super.activateIn(context);0 @% Y3 M. [6 R. N+ }* m  h
                schedule.activateIn(this);! I6 U0 U, W4 \2 [4 B- f
                return getActivity();
; u9 s8 }& H( a3 W, L9 ]" Y        }
7 F  y7 ]. Q5 `1 }' i" x# [0 E& N2 K
        public static void main(String[] args) {
; [$ F: e5 a6 S                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
& y9 S- _" b9 Y! q                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
( x' {6 k5 e: T, ]& ]& M                swarms.buildObjects();
4 M: i7 S8 H! c                swarms.buildActions();4 G4 t, M( [# `2 E' r
                swarms.activateIn(null).run();2 a  f  W5 @0 m7 l1 c
        }
  U0 l, o  W  x) S5 j( B; i* _! U0 `5 i/ k8 p; H3 t! l" ?2 F
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-1-19 13:41 , Processed in 0.027439 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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