设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 13430|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
# U( o, u. Y3 P  x
5 z8 u9 E& b: X本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
1 F2 O  d5 W; b& |9 q& L以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.) A& b8 I2 Z0 U3 z
swarm.SignatureNotFoundException
6 k+ c+ ~' ~+ R8 d4 o0 ?3 [        at swarm.Selector.<init>(Selector.java:76); u: y* x, X, f/ r+ o
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
$ C4 h% r- @, L& s9 K        at ActionGroupDemo.main(ActionGroupDemo.java:67)0 C4 C' Y5 I8 h
0 @$ I+ j/ X, H7 Q8 t6 A
7 v: _$ x7 d1 W+ ^
import swarm.objectbase.SwarmImpl;
/ M( q9 y6 e8 F# mimport swarm.objectbase.Swarm;, x, G' ?7 ^* `( ^
import swarm.activity.ScheduleImpl;
& u, v$ i# `) i6 x, {import swarm.activity.Activity;2 R9 V! S& l# P" h. P
import swarm.activity.ActionGroupImpl;4 \* }/ C% G1 F7 @2 \
import swarm.collections.ListImpl;
5 x) H& p+ s. o, t% j( j& qimport swarm.defobj.Zone; - ~* L' L- o+ n4 N1 X
import swarm.Globals;( N* y' f# G: `, d* w
import swarm.Selector;3 z& R6 |+ U! }4 w4 s( l
import swarm.activity.ActionGroup; 5 b& X- C( @* e4 S9 u$ m) D% b/ F
class Agent {
3 X$ z) S4 o4 `& @        char id;
, `$ }3 Q% g6 a7 Z( Q+ w8 ^; v. j2 \3 k: S9 @. P8 P" b
        Agent(char id) {2 s( F: o7 ~( a; Y# k! U" o
                this.id = id;
2 w' L6 J) |" ]5 C- ^        }
- Q- I; r" J0 O! O2 {" \" G
4 ?8 m- ^7 y# C1 H        public void agentStep() {, F7 j; b4 j' V$ B0 V! R# R
                System.out.println(id + ":" + Globals.env.getCurrentTime());( h- Q, v8 v% u! n
        }
4 z2 s7 x* l( f1 r/ j9 `5 Q( F: ~}* P1 T. j9 v9 A' c
8 p) @; q) n% `# c! I3 ~5 z
public class ActionGroupDemo extends SwarmImpl {
2 I% R/ W& g+ U- \9 c        ScheduleImpl schedule;6 _9 m0 ?; W$ \8 D7 X
        ActionGroupImpl actionGroup;
$ L2 O4 `0 |1 n1 D        ListImpl list;& W$ Y  f+ A1 B1 w0 b* i8 o
        char Id = 'a';
# n7 N! T- q. s6 D& T
1 X0 ]# A% t9 n' p2 H        ActionGroupDemo(Zone aZone) {5 H% `; [! H' b; `) p
                super(aZone);  x, d8 X7 i4 F9 v( S7 ^* l+ H
                list = new ListImpl(aZone);
  R- o9 n8 ~, U                swarmSetp();
7 T$ n- @$ g0 c$ M                actionGroup = new ActionGroupImpl(aZone);
9 {1 K" e0 x. P3 M4 {/ \: `                schedule = new ScheduleImpl(aZone);4 ]$ h0 `% v! z% i, M4 M' |
                try {
) [/ E5 R3 _. j                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
+ B3 Q3 W% u% E                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行( H9 ~, F  y  `& b7 c/ T
                        % [$ ?1 h  ], I5 l
                        actionGroup.createActionForEach$message(list, agentSel);* ?6 \$ o# I3 p1 G) Z
                        actionGroup.createActionTo$message(this, swarmSel);
' _' t& F2 \6 z/ G5 C  j                        schedule.at$createAction(0, actionGroup);
; f" E5 t! I) ~                        schedule.at$createAction(1, actionGroup);
7 m8 v* I- ?. S                        schedule.at$createAction(2, actionGroup);$ q# f6 K( R" j) v" i2 m
' X# b, \) M9 x8 v
                } catch (Exception e) {
/ L  |- G( P/ {                        e.printStackTrace(System.err);4 |8 E4 b9 n/ _# X- j
                        //System.out.println(e);
6 S6 N0 u9 N6 u. a. ?                        System.exit(1);( y8 D6 Q' F7 r8 H% a0 g
                }
' z# D) a9 ~0 d& Z5 q) W! z+ m& q; U9 o% Z/ u$ ]
* u# J6 P' m8 ?9 s
        }0 l" z$ r* H- _* s' R
/ I2 A9 a  F1 V0 `
        private void swarmSetp() {/ C3 B' m( Y3 ]/ ^% ^" {- {
                list.addLast(new Agent(Id));
* M! m  x; i6 U2 |                Id++;. G4 X# w6 i8 s: o
        }$ \! Q8 E! Y) b7 z/ ~

, F9 A0 m' Y# N        public Activity activateIn(Swarm context) {8 T( ^# @# m0 G3 I6 |- b% o' \! q7 H( W
                super.activateIn(context);
6 e. v1 V7 W7 S& U                schedule.activateIn(this);
( _( v6 O' O) C9 _1 o                return getActivity();' `, \9 \5 m& N& `% l- ?/ x
        }  C# Y1 E8 E4 ^3 f) I! _% {

! l( ~9 ^+ m/ M' o& K        public static void main(String[] args) {8 x7 v' v! a8 n' |8 \! c
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
: {  M2 O7 D! q                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
1 x* t. E, F1 r8 m" Q                swarms.buildObjects();* R) O$ S8 Z  E- a6 G' Y
                swarms.buildActions();
0 R4 e/ _5 J, Y. u$ D                swarms.activateIn(null).run();
1 l/ P! O( b& P/ \        }) f6 P5 E& Y! A* c/ r' T) F2 |
  \% Y! ~% n! r& R
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-9-6 21:53 , Processed in 0.018196 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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