设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11755|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
+ F6 ^. J$ [0 a/ t: @7 X2 w# k6 b& o+ h% b( P# x4 h
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
" R9 m! F% i) x, ], R4 Z9 j以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.& w+ W* h" U4 M# @
swarm.SignatureNotFoundException
' [6 M5 k6 M  z! i1 t/ u: ?7 t        at swarm.Selector.<init>(Selector.java:76)
( k8 v( [; W0 ^5 u7 v        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)% d, |) Q5 \0 p/ h+ v, s" M
        at ActionGroupDemo.main(ActionGroupDemo.java:67)+ Q+ I# e$ Y, V0 ~

! U2 n/ u4 T: y( ]6 x% i* p% K" B7 w5 d4 Y
import swarm.objectbase.SwarmImpl;; e2 l% ^: F1 T% S* K1 q
import swarm.objectbase.Swarm;$ h4 n* H! t# c) i; m- @  Q
import swarm.activity.ScheduleImpl;
5 \/ J% o1 ?/ F: @8 w! b$ `* eimport swarm.activity.Activity;8 V: a# N5 A* |, u
import swarm.activity.ActionGroupImpl;, A8 m6 X* _' d7 a
import swarm.collections.ListImpl;
# I/ r+ N+ v: V/ ]import swarm.defobj.Zone; ; c6 G' U- D* ?7 m3 S
import swarm.Globals;
2 E* s+ h+ W: y( c: ]9 ]# Cimport swarm.Selector;2 Q7 N. l, P) r" h- k$ t0 M. ]9 ~
import swarm.activity.ActionGroup; ' f" ]! ?4 c9 w3 {4 {
class Agent {5 }. t6 {8 Y4 k, D2 S
        char id;" @  l: e. r8 e; _

# U6 @% y7 M; J) w& p. ^        Agent(char id) {
* B( T, A5 m7 k) y2 C                this.id = id;
' T& _8 k- B% y) e. |& z        }
8 X8 Z( {- z/ _" j' j* a5 g) |7 T
& R8 }1 O2 C6 \3 C8 ?7 N/ Q        public void agentStep() {2 r$ l* r1 N0 Q) L: U
                System.out.println(id + ":" + Globals.env.getCurrentTime());
7 O$ O! q+ [) J2 ]# ~        }
% ?& |7 K- C! Q8 q}- _- U3 Q0 u( J) }) z

% b. x. s& ?3 ^2 g7 m0 G  _public class ActionGroupDemo extends SwarmImpl {
" ]& h) K: |) _. D. i: s        ScheduleImpl schedule;
5 O. \; }4 ]% O1 ^9 }        ActionGroupImpl actionGroup;( r! P, y$ b  m+ N
        ListImpl list;: ~  E1 t4 C, o
        char Id = 'a';
% F# o9 u: I" E2 ]* T0 Q( A" \  N' J, Z' C9 A4 }
        ActionGroupDemo(Zone aZone) {7 D7 \: x/ }6 Z) b/ M  g- i
                super(aZone);
, w$ s; ~! n$ p* G8 \; E                list = new ListImpl(aZone);
  S3 |9 ?1 M' ~                swarmSetp();
# p9 \2 W7 Z7 ^( I5 q0 f                actionGroup = new ActionGroupImpl(aZone);
. `; g' Z% ^) U! U. r                schedule = new ScheduleImpl(aZone);
1 i* P6 U1 C5 f0 }4 V- \                try {
+ M9 a/ K- u+ W  D                        Selector agentSel = new Selector(Agent.class, "agentStep", false);; E- w8 g7 O4 J7 t/ W: Y
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行$ `3 a! N% d  J3 i, `, S
                        
' Q% o& E% p* m; L; i                        actionGroup.createActionForEach$message(list, agentSel);4 K# m2 ?5 l; s3 J( I0 K0 K
                        actionGroup.createActionTo$message(this, swarmSel);, z$ g1 L# J& t) g2 q0 |
                        schedule.at$createAction(0, actionGroup);
! \& k) U9 O8 Y9 R' M* j                        schedule.at$createAction(1, actionGroup);
! t" `& j# D3 O( N3 G) C                        schedule.at$createAction(2, actionGroup);3 O1 p1 ^! b" Y& y! V. O5 T
# X6 H* }. f* P; V. C  T$ u
                } catch (Exception e) {
6 g# E, a; n. S) k; ~# T                        e.printStackTrace(System.err);+ Z, I% h& q0 T( K: Q
                        //System.out.println(e);( Z4 f7 N0 ~  |
                        System.exit(1);8 O" X: z" u  F1 ]: @* }0 m3 D
                }+ n( u2 O1 s1 n9 F# m) I

' K. I5 \+ k2 U; X( m
/ ]: L, m5 N" a$ ~8 u+ X        }
! r# b% s' [) U; [2 P) Y5 w+ E- ]+ m+ }9 Z. F% _9 i' I! u& d% ?
        private void swarmSetp() {
: F, n4 F9 \2 }4 M, I: m                list.addLast(new Agent(Id));
9 A1 @2 d; b7 F                Id++;# x: w+ S5 j: i6 W, u& u3 A
        }
. k; w3 m) D! j+ o, a) l  a' K
        public Activity activateIn(Swarm context) {
/ X, D8 l+ |$ V* d. o! W                super.activateIn(context);6 P+ n6 `4 A* N' }& c% T
                schedule.activateIn(this);/ c: X/ n2 U3 A- V
                return getActivity();+ S$ j; O8 c( Z8 c# {( K7 h8 ]' N- s
        }  W; g, p: S; t+ Q1 l( r$ t
" h" m# z' m3 h9 ]8 n
        public static void main(String[] args) {
  w  f( L5 r  ~3 k# o; |: P# u  k                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);$ y: Q4 }( e# k3 u7 @
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);+ k& a$ N. j; j0 y! m% `3 s
                swarms.buildObjects();
  H1 {* f" `$ J* o* @                swarms.buildActions();5 j/ f+ a+ H# w6 P4 h! y
                swarms.activateIn(null).run();5 b9 W1 O* V0 ~- G4 z! B( ?3 I
        }+ F2 {6 P) I( r( P, @( h4 p

0 }5 y& A. A! h: j$ H}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-7-20 21:07 , Processed in 0.012982 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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