2009年5月11日星期一

(73)听音乐,学英语

学英语的诀窍是多听,多写,多对比,多想,多记,多回忆!比如,平时我们用电脑时,就会开着音乐,这时,尽量听点英文歌吧,会很有用。
有很多经典的英文歌曲,从歌词中可以引申出很多词组或语言,这里举几个例子。

(音乐很容易找,去网上下吧)
1.     Lost In Love
                                           Air Supply

I realize the best part of love is the thinnest slice
 我意识到爱情中最美好的部分就在最微薄之处
And it don't count for much
但这并不意味着什么
But I'm not letting go
但我不会让它溜走
I believe there's still much to believe in
我坚信仍有很多东西值得依赖
So lift your eyes if you feel you can
如果觉得可以,睁大你的眼睛
Reach for a star and I'll show you a plan
伸手触及一颗星星,我就告诉你一个计划
I figured it out
我已经想明白
What I needed was someone to show me
我需要的是有人来告诉我该怎么做
You know you can't fool me
你知道你不能骗我
I've been loving you too long
我爱了你太久了
It started so easy
开始很简单
You want to carry on
你想要继续
Lost in love and I don't know much
沉迷于爱情而且我知道的不多
Was I thinking aloud and fell out of touch?
是我自言自语还是茫然失措
But I'm back on my feet and eager to be what you wanted
但是,我还是会重新振作并成为你想要的人.

Air Supply 源于澳洲,后进军美国乐坛,Lost In Love是他们进入美国后的第一张专辑,本曲是其中最成功的一首之一。

It don't count for: 按语法应该是It doesn't count for, 最初是一些文化水平较低的人的错误用法,但常常用于歌词,特别是RAP这样的歌曲中。
count for: 有价值,有重要性, e.g.  For him fame does not count for much. 对他来说,出名并不重要。
        Their opinions count for little. 他们的观点没什么价值。
Count for nothing  毫无价值
Let go   放开,放手,放弃
believe in :依赖,信任,信仰  e.g.  Christians believe in Jesus. 基督徒信仰耶稣。
reach for: 伸出...以触及到...  
    e.g.   You just reach for me, baby. 亲爱的,我就在你身边。
You don't want to reach for me, do you?  你不愿意对我伸出援手,对吗?
figure out:  计算机,解决,弄明白,想办法,强调想办法的过程。
    e.g.    I don't know it right now, but I can figure it out soon.  我现在还不知道,但我一定会想办法弄明白的。
I am just trying to figure out what I am going to do for dinner. 我正发愁今晚吃什么呢。
carry on:  继续,从事,经营。有carry on with sth./doing sth.   carry sth. on 等用法
    e.g.     After his death, his children will certainly carry on his career. 他死后,他的子女继承了他的事业;
口语中的carry on with sb. 常用来指与某人有嫒昧关系。e.g.  
They've been carrying on for years.  他们的关系有几年了。
think aloud: (大声地想)自言自语, 如Read aloud,朗读
back on one's feet:  经受打击后重新站立起来,等同于get back on one's feet.  e.g.
  It take me longer to get back on my feet.  我用了很久才重新振作起来。
fall out: 争吵,结果,解散,掉队
fall out touch:  touch指接触,触觉,从触觉中掉队(跌落出来),触摸不到,失落。e.g. 
The men fell out quickly after their march. 行军结束后,士兵解散了。


2. Shape of my heart
                           Gordon Sumner    Sting   英格兰摇滚英雄
“这个杀手不太冷”主题曲,片中Leon的内心独白。
He deals the cards as a meditation 
And those he plays never suspect 
He doesn't play for the money he wins 
He doesn't play for respect 
He deals the cards to find the answer 
The sacred geometry of chance 
The hidden law of a probable outcome 
The numbers lead a dance 
I know that the spades are swords of a soldier 
I know that the clubs are weapons of war 
I know that diamonds mean money for this art 
But that's not the shape of my heart 
He may play the jack of diamonds 
He may lay the queen of spades 
He may conceal a king in his hand 
While the memory of it fades 
I know that the spades are swords of a soldier 
I know that the clubs are weapons of war 
I know that diamonds mean money for this art 
But that's not the shape of my heart 
And if I told you that I loved you 
You'd maybe think there's something wrong 
I'm not a man of too many faces 
The mask I wear is one 
Those who speak know nothing 
And find out to their cost 
Like those who curse their luck in too many places 
And those who fear are lost 


He deals the cards as a meditation 他玩牌如同在冥想
And those he plays never suspect 与他玩牌的那人从未怀疑
He doesn't play for the money he wins  他玩牌不是为了钱
He doesn't play for respect 也不是为了尊严
play for  为什么而做
play for time  为拖延时间
play for love   (打牌)打着玩玩(不赌钱)
Ronaldo, the great Brazilian soccer player, played for his national team when he was seventeen. 罗那尔多,伟大的巴西足球运动员,17岁时就为国家队效力了。
He deals the cards to find the answer 他玩牌是为了寻找答案
The sacred geometry of chance 那神圣的几何几率
The hidden law of a probable outcome 一个可能结果下的隐藏法则
The numbers lead a dance 数字变得神秘莫测
geometry of chance  几何几率
geometry  几何学
I know that the spades are swords of a soldier  我知道黑桃是士兵的宝剑
I know that the clubs are weapons of war 我知道梅花是战争的武器
I know that diamonds mean money for this art  我知道方块意味着这种艺术的金钱
But that's not the shape of my heart  但那不是我心的形状
spade, club, diamonds heart  黑桃♠,梅花♧,方块♢,红心♡,这是一副扑克poker中的四种花色,除了花色之外还有脸谱牌,也叫人头牌face cards,其中有jack,  queen, king,还有两个小丑。
He may play the jack of diamonds 他可能会打出方块J
He may lay the queen of spades 也可能甩出黑桃Q
He may conceal a king in his hand 或者将手中的K隐藏
While the memory of it fades  当与它相关的记忆正在不断褪去
Jack of diamonds  方块J
Jack  仆人
ACE ,叫小丑,也写为JOKER,复数是ACES
Jack Queen King
英语中牌的叫法:
the ace of hearts   红桃A
the three of spades  黑桃3
the Jack of diamonds  方块J
lay  laid lie有两种意思
译为说谎时: lie-lied-lied-lying
译为躺下时: lie-lay-lain-lying
译为放、下蛋时:lay-laid-laid-laying
conceal 隐藏=hide,表示严密的隐藏学用conceal 
The box was concealed under the bed. 箱子被隐藏在床下。
hide   可用作不及物动作,而conceal 不可以。
Where is he hiding?  他躲在哪里。
And if I told you that I loved you  如果我告诉你我爱你
You'd maybe think there's something wrong  你可能会觉得事情有些不对劲
I'm not a man of too many faces  我不是一个多面人
The mask I wear is one  这个面具是我的唯一所有
Those who speak know nothing  说谎的人无知
And find out to their cost  他们一定会为些付出代价
Like those who curse their luck in too many places   就像那些四处骂自己霉运的人
And those who fear are lost   那些心存恐惧的人,已迷失方向
find out 查出,找出。
I found out the phone number by looking it up. 我查到了所要的电话号码
If you're not sure, find out.  如果你不肯定,请查一下
find out 指有目的的查找,而find指找
I found out the answer to the question.
curse  诅咒; 骂
luck  好运, 幸运
curse their luck  诅咒他们的幸运,即霉运。

3. Lucky  
     Britney.Spears  布兰妮 来自2000年专辑“爱的再告白 Oops!...I Did It Again”

(This is a story about a girl named lucky) 
Early morning 
She wakes up 
Knock knock knock on the door
It's time for make up 
Perfect smile
It's you they're all waiting for 
They go 
Isn't she lovely 
This Hollywood girl 
And they say 
She's so lucky 
She's a star 
But she cry cry cry 
In her lonely heart thinking
If there's nothing missing in my life
Then why do these tears come at night
Lost in an image in a dream 
But there's no one there to wake her up
And the world is spinning and she keeps on winning 
But tell me what happens when it stops
Isn't she lovely 
This Hollywood girl 
And they say 
She's so lucky 
She's a star 
But she cry cry cry 
In her lonely heart thinking
If there's nothing missing in my life
Then why do these tears come at night
Best actress and the winner is lucky 
I'm roger Johnson for pop news standing outside the arena waiting for lucky
Oh my god here she comes

(This is a story about a girl named lucky) 
(这是一个关于名叫幸运的女孩的故事)
Early morning 每天早上
She wakes up 她醒来
Knock knock knock on the door 咚,咚,咚敲门声响起
It's time for make up 是时间化化妆了
Perfect smile 去展现完美的笑容
It's you they're all waiting for 他们都在等你
They go 他们蜂拥而至
wake up  醒来  e.g. 
He didn't wake up until 11 o'clock in the morning.
knock    v. 敲、打或撞击,也可用作n.    e.g. 
He knocked at the door and entered.
Did I hear a knock at the door?
make up  化妆,有时也作补足、弥补之意  e.g. 
time for make up  是时间化妆了
When she goes out to visit friends, she is very much made up.
Hard work can often make up for a lack of intelligence.  补足、弥补之意
wait for  等候、等待   e.g. 
I should prefer you to wait for me at the bus stop.
Isn't she lovely 她是多么可爱
This Hollywood girl 这个好莱坞女孩
And they say 他们说
She's so lucky 她太幸运了
She's a star 她是个明星
But she cry cry cry  
In her lonely heart thinking  但她寂寞的心却在哭泣
If there's nothing missing in my life   想着今生一定错过了什么
Then why do these tears come at night不然寂静的夜晚为何会有眼泪在飞
Hollywood  好莱坞 
lonely  孤独的、寂寞的、荒凉的  e.g.  
The lonely old man was much to be pitied by all of us.
alone  单独的、独自的 主要作表语形容词   e.g. 
She watches TV when she is alone.
Lost in an image in a dream 她生活在虚幻残缺的梦中
But there's no one there to wake her up 没有谁来唤醒她
And the world is spinning and she keeps on winning 世界旋转不停,她不断胜出
But tell me what happens when it stops  但告诉我,在这一切结束以后事情会怎样呢
spin  旋转、使旋转 过去式和过去分词是spun  e.g. 
The girl spun round in alarm.   女孩惊慌的四处乱转
Best actress and the winner is lucky  最佳女主角得主是Lucky
I'm roger Johnson for pop news standing outside the arena waiting for lucky
我是时尚新闻的Roger Johnson正在场外等Lucky
Oh my god here she comes 哦 天啊 她来了
arena .四周设有座位的场地  e.g.
The circus elephants were led into the arena.  马戏团的大象被带入场地。

4. (Everything I Do) I Do It For You
                   Bryan Adams             A&M


Look into my eyes - you will see
What you mean to me
Search your heart - search your soul
And when you find me there you'll search no more
Don't tell me it's not worth trying for
You can't tell me it's not worth dying for
You know it's true
Everything I do - I do it for you
Look into your heart - you will find
There's nothing there to hide
Take me as I am - take my life
I would give it all I would sacrifice
Don't tell me it's not worth fighting for
I can't help it there's nothing I want more
Ya know it's true
Everything I do - I do it for you
There's no love - like your love
And no other - could give more love
There's nowhere - unless you're there
All the time - all the way
You can't tell me it's not worth trying for
I can't help it there's nothing I want more
I would fight for you - I'd die for you
Walk the wire for you - Ya I'd die for you


Look into my eyes - you will see  看着我的眼睛,你会发现
What you mean to me  你对我来说有多重要
Search your heart - search your soul  在你的心里找寻,在你的灵魂里找寻
And when you find me there you'll search no more 当你在那找到我的时候,你就不需要在寻觅了
no more   不再  e.g. 
I will be no more a senior high school student come next July.
Don't tell me it's not worth trying for  别告诉我那不值得一试
You can't tell me it's not worth dying for  你不能告诉我它不值得为之献身
You know it's true  你知道那都是事实
Everything I do - I do it for you  我所做的一切,都是为了你
worth  值得…的,值…钱
be worth doing sth.  某事值得被做
The question is not worth discussing again and again.
be worth + n.
…值得…
This ring is worth 1000 $.

Look into your heart - you will find  注视你的心,你会发现
There's nothin' there to hide  那里没有什么隐藏的
Take me as I am - take my life  接受真实的我,接受我的生命
I would give it all I would sacrifice  我会付出全部,我会为你献身
Don't tell me it's not worth fightin' for  别告诉我它不值得你奋斗
I can't help it there's nothin' I want more  我情不自禁,我别无它求
You know it's true  你知道那都是事实
Everything I do - I do it for you  我所做的一切,都是为了你
There's no love - like your love  没有什么爱像你的爱一样伟大
And no other - could give more love 没有其他人给予我更多的爱
There's nowhere - unless you're there 没有了你,这世界什么都不是
All the time - all the way 永远都如此,一切都如此
nowhere  没有人知道的地方
out of nowhere  不知道从哪冒出来的  e.g.  
He came out of nowhere.
I would fight for you - I'd die for you 我会为你奋斗,我会为你而死
Walk the wire for you - Ya I'd die for you为你冒险,我会为你而死
walk the wire  走钢丝  wire-walking  铤而走险

5. Please Forgive Me
                                    Bryan Adams 

It still feels like our first night together 
Feels like the first kiss and 
It's gettin' better baby 
No one can better this 
I'm still hold on and you're still the one 
The first time our eyes met it's the same feelin' I get 
Only feels much stronger and I wanna love ya longer 
You still turn the fire on 
So If you're feelin' lonely.. don't 
You're the only one I'd ever want 
I only wanna make it good 
So if I love ya a little more than I should 
Please forgive me I know not what I do 
Please forgive me I can't stop lovin' you 
Don't deny me 
This pain I'm going through 
Please forgive me 
If I need ya like I do 
Please believe me 
Every word I say is true 
Please forgive me I can't stop loving you 
Still feels like our best times are together 
Feels like the first touch
We're still gettin' closer baby 
Can't get close enough I'm still holdin' on 
You're still number one 
I remember the smell of your skin 
I remember everything 
I remember all your moves 
I remember you 
I remember the nights ya know I still do 
So If you're feelin' lonely.. don't 
You're the only one I'd ever want 
I only wanna make it good 
So if I love ya a little more than I should 
Please forgive me I know not what I do 
Please forgive me I can't stop lovin' you 
Don't deny me 
This pain I'm going through 
Please forgive me 
If I need ya like I do 
Please believe me 
Every word I say is true 
Please forgive me I can't stop loving you 
One thing I'm sure of 
Is the way we make love 
And the one thing I depend on 
Is for us to stay strong 
With every word and every breath I'm prayin' 
That's why I'm sayin'...


It still feels like our first night together 这仍然如同我们的缠绵初夜
Feels like the first kiss and  如同初吻一般
It's gettin' better baby 宝贝,我们正渐入佳境
No one can better this 没人能超越我们
I'm still hold on and you're still the one 我仍在坚持,你仍然是我的心中至爱
The first time our eyes met it's the same feelin' I get第一次目光接触之时,我们已心意相通
Only feels much stronger and I wanna love you longer只是,我的感觉更强烈,想爱你更久
You still turn the fire on 你仍然让我热情如火
hold on  坚持,忍受  e.g. 
I don't think I can hold on much longer.
hold on  等一下,停一下
turn on   打开(灯) / 热情如火, 也译为使产生兴趣  e.g. 
My uncle turned me on to jazz.
有时还可理解为攻击
Michael, turning on the company put me and you at even greater risk.

So If you're feelin' lonely.. don't因此,如果你感到孤单,请不要有这种感觉
You're the only one I'd ever want  你是我唯一想要的人
I only wanna make it good  我只想让你快乐
So if I love ya a little more than I should   所以,如果我的爱稍稍超过了你的承受能力
lonely  孤独的 与alone近义(上面已经讲过)
lonely  孤独、寂寞、冷清
alone  独自的、单独的  e.g. 
He was alone, but he never felt lonely.
alone  有时也表示孤独
Please forgive me I know not what I do 请原谅我,我不知道自己该做什么
Please forgive me I can't stop loving you 请原谅我,我不能停止爱你
Don't deny me 不要拒绝我
stop doing  停止做某事  e.g. 
The teacher asked the students to stop talking.
stop to do  停下来(正在做的事)去做另一件事  e.g. 
Hearing the doll bell, she stopped to open the door. 
This pain I'm going through  我经受的这些苦痛
Please forgive me  请原谅我
If I need ya like I do  如果我需要你如同我所做
Please believe me  请相信我
Every word I say is true  我的一言一语都发自肺腑
Please forgive me I can't stop loving you   请原谅我,我不能停止爱你
go through  经历,经受
go through  仔细检查;(指法律、法案等)被正式通过或接受  e.g. 
I always start the day by going through my e-mails.
The bill went through two months later.
Still feels like our best times are together仍然感觉如当初一起时般美好
Feels like the first touch  如同第一次肌肤接触
We're still gettin' closer baby  我们仍然在走近对方,宝贝
Can't get close enough I'm still holdin' on 还不够近,我仍在坚持
You're still number one I remember the smell of your skin  你仍然是我的最爱,我想起你肌肤的香味
I remember everything  我记得一切
I remember all your moves  我记得你的一举一动
I remember you   我记得你
I remember the nights you know I still do 我记得那些夜晚,我仍然记得
One thing I'm sure of  有一件事,我可以肯定
Is the way we make love  那就是我们温存的方式
And the one thing I depend on  而有一样我依靠的东西
Is for us to stay strong  那就是,我们要坚强
With every word and every breath I'm praying  我祈祷时的每一个词,每一下呼吸
That's why I'm saying... 这就是我为什么说… … 
be sure of  确信,确定  e.g. 
You may be sure of his honesty.
与be sure to do, be sure that的区别
be sure of 和be sure that 的主语只能是人
be sure to do的主语可以是人,也可以是物
He is sure of his success. /He is sure that he will succeed.
He is sure to succeed.   
depend on  依赖,依靠 / 相信;指望   e.g. 
Susan can depend on their arriving here safely.
You can't depend on your enemy to help you.
That depends, It depends, It all depends  表示看情况

2009年5月6日星期三

(72)关于免费的空间

网上很多朋友在寻找免费的空间,多次有人询问,在这简单介绍一下。

1. 首推当然是google,Google提供多种空间:
  • 空间:http://sites.google.com/ 不能上传Html或Asp等文件,也就是说不能上传你已经做好的网站,但是,这本身就是一个强大的网站管理平台,抛弃Dreamweaver吧(对于个人网站来说!),现在讲的是内容为王,不在乎你的页面有多花哨。google提供的各种工具足够你使用了,而且还在不断的更新和强化中;
  • 相册:http://picasaweb.google.com  Google收购Picasa后,提供了一本机的图片查看与简单处理软件,关键的是,为相同开通了网络空间,你可以通过在线上传的方式来上传你的图片,但最方便的还是下载安装好Picasa后使用它直接查看和上传,1GB的免费空间,上传速度非常好;
  • 文件:http://docs.google.com  可以上传几乎所有格式的文件,对于doc, xls等还能在线编辑修改,在线创建,非常实用,最好的是它能通过电子邮件等方式直接与你的朋友共享或协作编辑。空间也是1G,对于文档来说几乎是足够了;
  • 博客:http://www.blogger.com 你现在看到的就是Google提供的Blog,功能强大,速度优秀,最好的是它支持多用户协作写作并有不同的权限选择,还能与“Google文档”,“Picasa相册”等协同工作,你可以直接把这些位置的相片、文档共享到这里来,还能通过电子邮件发布博客,且支持移动设备发布;
其它还有很多功能和免费的资源,自己去体会吧,你要做的第一步就是注册一个Gmail邮件,其它所有的功能都可以使用这个帐户,而且你开通后(默认并没有开通,需要你一个个地手动开通)Google会把所有的功能列出来给你,一个帐户全系通用了。
    
2. 第二个推荐的是微软: www.Live.com ,用过MSN或Hotmail的用户都知道,Live提供了与Google类似的功能和应用,非常丰富;使用MSN或Hotmail帐户登录后,就可以享用“在线存储”:http://skydrive.live.com  相册:photos.live.com 博客:spaces.live.com 等等功能,由于多数用户都在使用Windows操作系统,所以使用微软的产品有个最大的好处就是统一的用户认证机制,也就是说,如果你使用的是自己的电脑的话,完成可以通过登录Windows就完全通行了(与IE或其它浏览器中保存密码不同);另外,微软提供了更大的存储空间,比如相册宣称有25GB,哇,微软就是微软,钱多的是。 不足之处是:与Google相比,MSN的速度和稳定性较差一些(可能与网络接入有关,不过我用着一直不是很顺)。

3. 其它的一些空间:其它一些空间多数都是单独的,博客,相册等等;也有一些提供免费的网站空间的网站,但是实在地说,做一个个人网站越来越没有实在意义了,如果你已经做好了想找一个空间上传的话,那最好还是去买一个收费的空间和域名吧(按年收费,所以上面说不值得)。

当然,这种情况也很让人担心:随着像Google和微软这样的大公司越来越垄断个人网络应用,不得不让人担心如果有一天(也许不可能有)这些公司倒闭了、或者经营转向了,或者取消了这项业务,那吃亏最大的就是我们用户了!!

2009年5月1日星期五

(72)Prof. Rudolf Ahlswede论文、著作及学生列表

----------引用---------点此查看原文-----------


--------学生列表----查看原文-----

Rudolf Ahlswede has 32 students and 63 descendants.  

(71)Network Coding 网络编码简介

Network Coding是一种可以大幅提升通信网络的效率与可靠性的方法,其特点是:发送关于信息的证据而不是信息本身。

这一方法是由几位专家学者于2000年4月在论文《Network Information Flow》(论文发表于《IEEE TRANSACTIONS ON INFORMATION THEORY》VOL. 46, NO. 4, JULY 2000)提出的,他们分别是(排名不分先后):
香港中文大学: 李硕彦博士
                             杨伟豪教授
德国Bielefeld大学:Prof. Rudolf Ahlswede教授
西安电子科技大学:蔡宁博士

—————————————在网上查了一下几位专家的简介————————————————

Prof. Rudolf Ahlswede
男,1938年出生于德国,
德国University of Bielefeld大学教授
1966年获德国哥廷根大学(Göttingen,导师是Konrad Jacobs)数学博士学位(Dr.rer.nat. degree in mathematics from the University of Gottingen, Germany, in 1966. ), 论文标题为"Contributions to the Shannon information theory in case of non-stationary channels"(对于数学专业来说,这样的选择十分大胆);
1967年美国美国俄亥俄州立大学数学系(the faculty of the Department of Mathematics, Ohio State University, Columbus)1972年获教授,1970-1971,1974-1975年分别担任过康奈大学(Cornell University, Ithaca, NY)、德国海德堡大学(the University of Heidelberg, Heidelberg, Germany)、意大利国家娣阿尔塔数学研究所(the Instituto Nazionale di Alta Mathematica, Rome, Italy)、 斯坦福大学(Stanford University, Stanford, CA)、和中国的南开大学(Nankai University, Tianjin, China.) 等大学和研究机构的访问学者或客座教授。
现任德国比勒费尔德大学(the University of Bielefeld, Bielefeld, Germany)教授. 研究方向包括:信息论(information theory), 组合数学(combinatorics),,概率论(probability theory),数理统计(statistics), 和数论(number theory)等.
1977年,加入德国University of Bielefeld大学任教授(2004年后不再招生),培养博士生30多人,其中有很多是国际知名的信息论、编码学方面的专家;
1988年,Prof. Rudolf Ahlswede与Imre Csiszar合作的论文(in the area of the hypothesis testing)获IEEE Information Theory Society最佳论文奖;1990年,Prof. Rudolf Ahlswede与Gunter Dueck(是Ahlswede1977年招收的研究生)合作的论文(a new theory of message identification)再次获奖,他成为了为数极少的两次获此奖项的学者。
2006年,Prof. Rudolf Ahlswede获得了由the IEEE information Theory Society颁发的Claude Elwood Shannon Award (克劳德•艾尔伍德•香农奖),是当时获此奖项的仅有的五位非美国人之一。
著作列表(点击查看,查看原文

李硕彦  Shuo-Yen Robert Li   (有时也写为Bob Li)
理学士(台大BS (Nat'l Taiwan U.));PhD (University of California, Berkeley, 06/1974); FHKIE; FIEEE; 香港中文大学讯息工程学讲座教授〔联合书院〕
2008.05-今:西安电子科技大学名誉教授;
2008-2012:教育部 “111学术大师;
2008.1-2011.12:台湾国立清华大学荣誉讲座教授;
2006-2009:北京大学深圳研究生院讲座教授;
2005-2008:北京邮电大学客座教授(Advisory Professor, Beijing University of Posts and Telecommunications (BUPT ))

杨伟豪  Ranmond W. Yeung
BS, MEng, PhD (Cornell); FIEEE; FHKIE; 香港中文大学讯息工程学讲座教授〔崇基书院〕
分别于1984,1985,1988年获得美国康奈尔大学电气工程专业学士、硕士和博士学位;1988年加入贝尔实验室,1991年进入香港中文大学;他是《A First Course in Information Theory》(Kluwer Academic/Plenum Publishers, 2002;Springer (June 16, 2006))一书及其后续作品《Information Theory and Network Coding》(Springer,September 10, 2008)的作者,研究方向是:信息论(information theory )和网络编码(network coding);

蔡宁 Ning Cai
男,博士,博导,西安电子科技大学通信工程学院教授.
1947年10月出生,1986年就读于德国比勒费尔德大学(the University of Bielefeld, Bielefeld, Germany)师从信息论领域国际最著名的学者之一Alhswede教授,并于1988年获得数学博士学位。之后,在德国从事信息论和组合数学领域的研究工作达17年,其间曾应邀先后到在香港中文大学、新加坡国立大学等高校作访问学者,并进行学术访问。编辑出版专著1部,在国外学术杂志和国际会议上发表论文50余篇,其中有17篇发表在IEEE Trans. Information Theory上。2000年,蔡宁教授在与他人合作的论文中首次提出了网络编码的理论,彻底推翻了传统网络理论中认为的中间节点所进行的数据处理对数据传输过程本身不会带来任何好处的结论。目前该理论已得到了学术界的广泛认可和响应。合作论文“Linear Network Coding”荣获2005年IEEE Information Theory协会最佳论文奖

在Network Coding方面发表或联合创作过文章、著作的还有以下几位:

张箴 Zhen Zhang 
南加州大学电机工程与系统系教授(Department of Electrical Engineering - Systems University of Southern California, Los Angeles)。1980年南开大学数学专业硕士;1984年美国康乃尔大学应用数学博士(Ph.D. in Applied Mathematics, 1984, Cornell, Ithaca, NY.), 1988年获德国比勒费尔德大学数学教授资质,主要研究方向为:信息理论(Information theory),编码理论(coding theory),数据压缩及其应用(data compression and their applications)。参著书籍(不完全):《Network Coding Theory》, 科研成果论文列表.

(大致考察了几位大师的关系后,发现他们多是师生关系或同学关系,在dblp可以看到:

————————————————————————————




相关文章列表:
------------点击查看原文--------------

2009年4月30日星期四

如何写作科研论文系列之一----01 ,02已完成

地址:


一般地,科研论文的写作包括以下几个步骤:

1. 选题(Pick a topic); (已完成)
2. 开始研究(Research); (已完成)
3. 查找、收集资料(Finding Sources); (建设中...)
4. 科研诚信(Plagiarism); (建设中...)
5. 作笔记(Notes); (建设中...)
6. 尽力说服(Persuasive);    (建设中...)
7. 初稿(Fisrt Draft); (建设中...)
8. 引用、引证和插图(Citing); (建设中...)
9. 格式排版(Formating); (建设中...)
10. 定稿(Final Draft). (建设中...)

目前正在建设中,1已经发布,多多关注。

2009年4月14日星期二

(70)XML学习手册

为什么要使用X M L

X M L代表扩展标记语言(Extensible Markup Language) ,是由World Wide Web Consortium(W 3 C)的X M L工作组定义的。这个工作组是这样描述该语言的:“扩展标记语言( X M L)是S G M L的子集,其目标是允许普通的 S G M L在We b上以目前H T M L的方式被服务、接收和处理。X M L被设计成易于实现,且可在S G M L和H T M L之间互相操作。 ”这段话是从正式的X M L规范1 . 0版本中引述的,该规范是 X M L工作组在1 9 9 8年2月完成的。你可以在W 3 C位于h t t p : / / w w w. w 3 c . o rg / T R / R E C - x m l的We b站点上阅读整篇文档。正如所看到的,X M L是一种专门在World Wide We b上传递信息的语言,就像H T M L(超文本标记语言)一样(自从 We b出现以来,H T M L已经成为了创建We b页的标准语言) 。因为我们已经有了H T M L,而且它已发展成一种似乎可以满足任何需要的语言,所以,你可能会疑惑:为什么我们还需要在We b上采用一种全新的语言呢? X M L有什么新特性和不同之处?它有什么特有的优点和长处呢?它与 H T M L有什么关系?它是要替换还是增强 H T M L?最后,这个以X M L作为其子集的S G M L是什么,为什么我们不就用S G M L来创建We b页呢?本书将试图回答所有这些问题。

手册详细资料,可通过公用邮箱查询,有关公用邮箱的使用请查看置顶帖子!

(69)国外经典教材《Computer Networks 4th》Andrew S. Tanenbaum简介

由Andrew S. Tanenbaum 编著、Prentice HALL PTR出版的《Computer Networks》绝对是最经典的计算机网络教材之一,目前已经出版到第五版了,每一版的中译版各不相同,但国内用得最多的要数第四版了!

经典的书籍值得推广,本书相关的更多资料,可以通过我们的公用邮箱查看!有关公用邮箱的使用,请查看主页置顶帖子!

2009年4月7日星期二

(68)MatLab基础(中文版)资料收集整理完毕,发布

终于把MatLab基础的学习资料整理完毕了,虽然是基于5的旧版本,现在可能多数朋友使用的都是7或更高了,但主要的内容还是相同的,对于找不到资料的初学者还是很用的。

需要的请按置顶帖子方法与我们联系索取!

目录
1. 概 论... 13
2. 基础准备及入门... 21
3. 数值数组及其运算... 30
4. 字符串数组、元胞数组和构架数组... 52
5. 数值计算... 68
6. 符号计算... 118
7. 数据和函数的可视化... 139
8. M文件和面向对象编程... 176
9. SIMULINK交互式仿真集成环境... 198
10. 句柄图形... 225
11. 图形用户界面(GUI)制作... 243
12. MATLAB编译器和API 268
13. Notebook.. 288
附录A 索 引... 295

(67)国内外各大搜索引擎网站登录入口(让你的网站尽早被搜索引擎收录)

Google网站登录入口
Baidu网站登录入口
Yahoo网站登录入口
Live网站登录入口
Dmoz网站登录入口
Coodir网站目录登录入口
Alexa网站登录入口
Sogou网站收录中国搜索网站登录入口
iAsk网站登录入口
搜索引擎收录查询有道搜索网站登录入口
Accoona网站登录
Onebigdirectory.com 搜索引擎批量提交
Chainer.com 搜索引擎批量提交
Freewebsubmission.com 搜索引擎批量提交

(66)MatLab学习笔记1_PDF格式

主要是MatLab的基础知识和矩阵、数论处理函数,初学者适用!

共10页!
下载地址:
http://www.fileupyours.com/view/237452/MatLab%20study%20notes_1.PDF

或者使用下述方法:(以上网站不是很稳定)

获取办法:使用我们公用的邮箱,为了有效利用本邮箱,此处只供急需者使用,请给我们发电子邮件,地址是xyangirl#gmail.com (为防止垃圾邮件,请手动把#换成@),我们会及时回复你的电子邮件,同样为了防止垃圾邮件,请尽量使用Gmail邮箱,并登录后,把本站设为“跟踪”点,我们会及时把最新内容发送给你!!

2009年4月6日星期一

2009年4月5日星期日

(63)Opnet相关资料已共享,需要的联系!

资料比较多,这里无法上传附件,前文中提到的方法一也没办法上传,所以只能通过电子邮件了,需要的请联系!

获取办法:使用我们公用的邮箱,为了有效利用本邮箱,此处只供急需者使用,请给我们发电子邮件,地址是xyangirl#gmail.com (为防止垃圾邮件,请手动把#换成@),我们收到邮件后会把公用邮箱地址和密码发送到你的电子邮件中,同样为了防止垃圾邮件,请尽量使用Gmail邮箱,并登录后,把本站设为“跟踪”点,我们会及时把最新内容发送给你!!

(62)交大的漂亮樱花2




Posted by Picasa

(61)交大的漂亮樱花




Posted by Picasa

(60)英语小幽默

1

Love's Philosophy

The fountains mingle with the river
And the rivers with the ocean,
The winds of heaven mix for ever
With a sweet emotion.
Nothing in the world is single,
All things by a law divine
In one another's being mingle--
Why not I with thine?
See the mountains kiss high heaven
And the waves clasp one another;
No sister--flower would be forgiven
If it disdain'd its brother.
And the sunlight clasps the earth,
And the moonbeams kiss the sea--
What are all these kissings worth,
If thou kiss not me?


2 Relaxation:
If I Am a Manager

One day in class, the teacher assigned his students to write a composition: If I Am a Manager. All the students began to write except a boy. The teacher went to him and asked the reason. " I am waiting for my secretary," was the boy's answer.

3 Relaxation:
The Most Beautiful Thing I Ever Saw

The students in the composition class were assigned the task of writing an essay on "The most beautiful thing I ever saw." The student, who, of all the members of the class, seemed the least sensitive to beauty, handed in his paper first with astonishing speed. It was short and to the point. He had written: "The most beautiful thing I ever saw was too beautiful for words."

4
My Last Will
------Unknown
My will is easy to decide,
For there is nothing to divide,
My kin don't need to fuss and moan----
"Moss does not cling to rolling stone."
My body? --Oh-- If I could choose,
I would to ashes it reduce,
And let the merry breeze blow
My dust to where some flowers grow.
Perhaps some fading flower then
Would come to life and bloom again.
This is my last and final will,
Good luck to all of you.

The Oldest Profession

There was a doctor, a civic engineer, and a computer scientist sitting around late one evening, and they got to discuss which was the oldest profession.
The doctor pointed out that according to Biblical tradition God created Eve from Adam's rib. This obviously required surgery, so therefore that was the oldest profession in the world.
The engingeer countered with an earlier passage in the Bible that stated that God created order from the chaos, and that was most certainly the biggest and best civil engingeering example ever, and also proved that his profession was the oldest profession.
The computer scientist leaned back in her chair, and with a sly smile responded, "Yes, but who do you think created the chaos?"

(59)<笑一笑>当代史记-80后传

夫80后者,初从文,未及义务教育之免费,不逮高等学校之分配,适值扩招,过五关,斩六将,本硕相继,寒窗数载,二十六乃成,负债累累。觅生计,南闯深圳,背井离乡,披星戴月,秉烛达旦,多年不休,蓄金万两。楼市暴涨,无栖处,购房金不抵首付,欲盈之,投入股市,翌年缩至万余。抑郁终成疾,久之未愈,入院,耗歹所有,然病无果,遂被逐院门。寻医保,乃不合大病之规,拒付,无奈带病还。友怜之,赠三鹿奶粉一包,鸡蛋数枚。翌日,卒。

(58)OPNET 14.5说明文档中文版发布页(进度表)

为方便广大初学者,在有空时把OPNET14.5的说明文档进行了详细翻译,一边翻译一边发布,欢迎大家跟帖以批评指正,我们将在定稿中综合大家的意见建议进行修正,以完成一份优秀的中文文档!

2009.4.5: 1-14页:
下载地址: http://www.fileupyours.com/view/237452/opnet14.5%20document%20zh.cn%281-15%29.pdf

下载说明:

下载方法有两个,由于没有FTP或者WWW服务器空间,所以只能放在免费空间中。
第一个办法:上传到国外的http://www.fileupyours.com/,稳定性不是很好,下载速度也一般下载地址如下所示;
第二个办法:使用我们公用的邮箱,为了有效利用本邮箱,此处只供急需者使用,如果用第一个办法无法下载,请给我们发电子邮件,地址是xyangirl#gmail.com (为防止垃圾邮件,请手动把#换成@),我们收到邮件后会把邮箱地址和密码发送到你的电子邮件中,同样为了防止垃圾邮件,请尽量使用Gmail邮箱,并登录后,把本站设为“跟踪”点,我们会及时把最新内容发送给你!!

其它一些有关OPnet、网络仿真的学习资料、论文、参考资料也可以到上述邮箱下载,欢迎需要的朋友来信索取邮箱地址!

2009年4月1日星期三

(57)Can we Increase our Intelligence 我们的智力能提升吗?


It’s an honor to be invited to fill in for Olivia. We’ll be writing about slow and fast forces that shape the brain: natural selection, operating relatively slowly over many generations; and environmental influences, whose effects are visible across a few generations or even within one individual’s lifetime.
We’re often asked whether the human brain is still evolving. Taken at face value, it sounds like a silly question. People are animals, so selection pressure would presumably continue to apply across generations.
But the questioners are really concerned about a larger issue: how our brains are changing over time — and whether we have any control over these developments. This week we discuss intelligence and the “Flynn effect,” a phenomenon that is too rapid to be explained by natural selection.
It used to be believed that people had a level of general intelligence with which they were born that was unaffected by environment and stayed the same, more or less, throughout life. But now it’s known that environmental influences are large enough to have considerable effects on intelligence, perhaps even during your own lifetime.
A key contribution to this subject comes from James Flynn, a moral philosopher who has turned to social science and statistical analysis to explore his ideas about humane ideals. Flynn’s work usually pops up in the news in the context of race issues, especially public debates about the causes of racial differences in performance on intelligence tests. We won’t spend time on the topic of race, but the psychologist Dick Nisbett has written an excellent article on the subject.
Flynn first noted that standardized intelligence quotient (I.Q.) scores were rising by three points per decade in many countries, and even faster in some countries like the Netherlands and Israel. For instance, in verbal and performance I.Q., an average Dutch 14-year-old in 1982 scored 20 points higher than the average person of the same age in his parents’ generation in 1952. These I.Q. increases over a single generation suggest that the environmental conditions for developing brains have become more favorable in some way.
What might be changing? One strong candidate is working memory, defined as the ability to hold information in mind while manipulating it to achieve a cognitive goal. Examples include remembering a clause while figuring out how it relates the rest of a sentence, or keeping track of the solutions you’ve already tried while solving a puzzle. Flynn has pointed out that modern times have increasingly rewarded complex and abstract reasoning. Differences in working memory capacity account for 50 to 70 percent of individual differences in fluid intelligence (abstract reasoning ability) in various meta-analyses, suggesting that it is one of the major building blocks of I.Q. (Ackerman et al; Kane et al; Süss et al.) This idea is intriguing because working memory can be improved by training.


Felix Sockwell
A common way to measure working memory is called the “n-back” task. Presented with a sequential series of items, the person taking the test has to report when the current item is identical to the item that was presented a certain number (n) of items ago in the series. For example, the test taker might see a sequence of letters like
L K L R K H H N T T N X
presented one at a time. If the test is an easy 1-back task, she should press a button when she sees the second H and the second T. For a 3-back task, the right answers are K and N, since they are identical to items three places before them in the list. Most people find the 3-back condition to be challenging.
A recent paper reported that training on a particularly fiendish version of the n-back task improves I.Q. scores. Instead of seeing a single series of items like the one above, test-takers saw two different sequences, one of single letters and one of spatial locations. They had to report n-back repetitions of both letters and locations, a task that required them to simultaneously keep track of both sequences. As the trainees got better, n was increased to make the task harder. If their performance dropped, the task was made easier until they recovered.
Each day, test-takers trained for 25 minutes. On the first day, the average participant could handle the 3-back condition. By the 19th day, average performance reached the 5-back level, and participants showed a four-point gain in their I.Q. scores.
The I.Q. improvement was larger in people who’d had more days of practice, suggesting that the effect was a direct result of training. People benefited across the board, regardless of their starting levels of working memory or I.Q. scores (though the results hint that those with lower I.Q.s may have shown larger gains). Simply practicing an I.Q. test can lead to some improvement on the test, but control subjects who took the same two I.Q. tests without training improved only slightly. Also, increasing I.Q. scores by practice doesn’t necessarily increase other measures of reasoning ability (Ackerman, 1987).
Since the gains accumulated over a period of weeks, training is likely to have drawn upon brain mechanisms for learning that can potentially outlast the training. But this is not certain. If continual practice is necessary to maintain I.Q. gains, then this finding looks like a laboratory curiosity. But if the gains last for months (or longer), working memory training may become as popular as — and more effective than — games like sudoku among people who worry about maintaining their cognitive abilities.
Now, some caveats. The results, though tantalizing, are not perfect. It would have been better to give the control group some other training not related to working memory, to show that the hard work of training did not simply motivate the experimental group to try harder on the second I.Q. test. The researchers did not test whether working memory training improved problem-solving tasks of the type that might occur in real life. Finally, they did not explore how much improvement would be seen with further training.
Research on working memory training, as well as Flynn’s original observations, raise the possibility that the fast-paced modern world, despite its annoyances (or even because of them) may be improving our reasoning ability. Maybe even multitasking — not the most efficient way to work — is good for your brain because of the mental challenge. Something to think about when you’re contemplating retirement on a deserted island.

(56)Computers vs. Brains 电脑与人脑的对战

Inventor Ray Kurzweil, in his 2005 futurist manifesto “The Singularity Is Near,” extrapolates current trends in computer technology to conclude that machines will be able to out-think people within a few decades. In his eagerness to salute our robotic overlords, he neglects some key differences between brains and computers that make his prediction unlikely to come true.
Brains have long been compared to the most advanced existing technology — including, at one point, telephone switchboards. Today people talk about brains as if they were a sort of biological computer, with pink mushy “hardware” and “software” generated by life experiences.
However, any comparison with computers misses a messy truth. Because the brain arose through natural selection, it contains layers of systems that arose for one function and then were adopted for another, even though they don’t work perfectly. An engineer with time to get it right would have started over, but it’s easier for evolution to adapt an old system to a new purpose than to come up with an entirely new structure. Our colleague David Linden has compared the evolutionary history of the brain to the task of building a modern car by adding parts to a 1925 Model T that never stops running. As a result, brains differ from computers in many ways, from their highly efficient use of energy to their tremendous adaptability.One striking feature of brain tissue is its compactness. In the brain’s wiring, space is at a premium, and is more tightly packed than even the most condensed computer architecture. One cubic centimeter of human brain tissue, which would fill a thimble, contains 50 million neurons; several hundred miles of axons, the wires over which neurons send signals; and close to a trillion (that’s a million million) synapses, the connections between neurons.
The memory capacity in this small volume is potentially immense. Electrical impulses that arrive at a synapse give the recipient neuron a small chemical kick that can vary in size. Variation in synaptic strength is thought to be a means of memory formation. Sam’s lab has shown that synaptic strength flips between extreme high and low states, a flip that is reminiscent of a computer storing a “one” or a “zero” — a single bit of information.
But unlike a computer, connections between neurons can form and break too, a process that continues throughout life and can store even more information because of the potential for creating new paths for activity. Although we’re forced to guess because the neural basis of memory isn’t understood at this level, let’s say that one movable synapse could store one byte (8 bits) of memory. That thimble would then contain 1,000 gigabytes (1 terabyte) of information. A thousand thimblefuls make up a whole brain, giving us a million gigabytes — a petabyte — of information. To put this in perspective, the entire archived contents of the Internet fill just three petabytes.
To address this challenge, Kurzweil invokes Moore’s Law, the principle that for the last four decades, engineers have managed to double the capacity of chips (and hard drives) every year or two. If we imagine that the trend will continue, it’s possible to guess when a single computer the size of a brain could contain a petabyte. That would be about 2025 to 2030, just 15 or 20 years from now.
This projection overlooks the dark, hot underbelly of Moore’s law: power consumption per chip, which has also exploded since 1985. By 2025, the memory of an artificial brain would use nearly a gigawatt of power, the amount currently consumed by all of Washington, D.C. So brute-force escalation of current computer technology would give us an artificial brain that is far too costly to operate.
Compare this with your brain, which uses about 12 watts, an amount that supports not only memory but all your thought processes. This is less than the energy consumed by a typical refrigerator light, and half the typical needs of a laptop computer. Cutting power consumption by half while increasing computing power many times over is a pretty challenging design standard. As smart as we are, in this sense we are all dim bulbs.
A persistent problem in artificial computing is the sensitivity of the system to component failure. Yet biological synapses are remarkably flaky devices even in normal, healthy conditions. They release neurotransmitter only a small fraction of the time when their parent neuron fires an electrical impulse. This unreliability may arise because individual synapses are so small that they contain barely enough machinery to function. This may be a trade-off that stuffs the most function into the smallest possible space.
In any case, a brain’s success is not measured by its ability to process information in precisely repeatable ways. Instead, it has evolved to guide behaviors that allow us to survive and reproduce, which often requires fast responses to complex situations. As a result, we constantly make approximations and find “good-enough” solutions. This leads to mistakes and biases. We think that when two events occur at the same time, one must have caused the other. We make inaccurate snap judgments such as racial prejudice. We fail to plan rationally for the future, as explored in the field of neuroeconomics.
Still, engineers could learn a thing or two from brain strategies. For example, even the most advanced computers have difficulty telling a dog from a cat, something that can be done at a glance by a toddler — or a cat. We use emotions, the brain’s steersman, to assign value to our experiences and to future possibilities, often allowing us to evaluate potential outcomes efficiently and rapidly when information is uncertain. In general, we bring an extraordinary amount of background information to bear on seemingly simple tasks, allowing us to make inferences that are difficult for machines.
If engineers can understand how to apply these shortcuts and tricks, computer performance could begin to emulate some of the more impressive feats of human brains. However, this route may lead to computers that share our imperfections. This may not be exactly what we want from robot overlords, but it could lead to better “soft” judgments from our computers.
This gets us to the deepest point: why bother building an artificial brain?
As neuroscientists, we’re excited about the potential of using computational models to test our understanding of how the brain works. On the other hand, although it eventually may be possible to design sophisticated computing devices that imitate what we do, the capability to make such a device is already here. All you need is a fertile man and woman with the resources to nurture their child to adulthood. With luck, by 2030 you’ll have a full-grown, college-educated, walking petabyte. A drawback is that it may be difficult to get this computing device to do what you ask.
We’re grateful to Olivia for the opportunity to write these four columns. Our topics

The most happiness is learning, study, and thinking.

The most happiness is learning, study, and thinking.

2009年3月31日星期二

(55)在Ubuntu 8.10 上安装Emacs

装了个Emacs,以下是流程.
1. 下载deb文件,这样方便点.
Emacs下载地址:http://mail.ustc.edu.cn/%7Eabxeeled/emacs_23.0.0.1-2ubuntu1_i386.deb
2. 直接双击安装,在终端里输入emacs就可以出来了,但是现在还不支持中文,输入中文的话是乱码,慢慢修理它.
3.

2009年3月28日星期六

(54)MatLab 基础

----以Matlab 7 为例----

1. Matlab中,变量名以字母打头,不能是数字和下划线(这与一些高级语言不同);且区分大小写;
2. Matlab中有一些保留字,尽管可以对其赋新值,但尽量不要使用,以避出现错乱,如:
2.1 eps: 浮点运算误差限,在PC中为2.2204e-016;就是说,如果设置a=eps-1,则a=-1;
2.2 i, j :这两个量均为0 + 1.0000i,如果在程序中被修改,所以在使用前一般需要恢复:i=sqrt(-1);
2.3 Inf:这个很特殊,和inf是同一个意思,表示无穷大,如果要表示无穷小,则是-inf;
2.4 NaN: 不定式(Not a Number),如0/0=NaN, inf/inf=NaN,很奇特的一个量,NaN*inf=NaN;
2.5 pi:这个不用说,就是那个圆周率的东西;
2.6 lasterr: 存放最新一次的错误信息,字符串型,如果本次执行过程中没有发生过错误,则其值为空字符串;
2.7 lastwarn: 存放最新一次警告信息,类似上一个;

例如:
>> 4/0Warning: Divide by zero.
ans =
Inf
>> lastwarn
ans =
Divide by zero.

3. 数据类型
3.1 数值型:
3.2 符号型:
3.3 字符串:
3.4 多维数组:
3.5 单元数组:
3.6 类与对象:

4. 语法结构
4.1 直接赋值:赋值变量=赋值表达式,如

>> A=[1 2 3;4 5 6;7,8,9]
A =
1 2 3

4 5 6

7 8 9


4.2 函数调用:[返回变量列表]=函数名(输入变量列表),这些函数可以是Matlab内建函数,也可以是用户自定义的函数。

5. 冒号表达式
这是Matlab中最重要的表达多这一,在生成向量、子矩阵提取等方面功能卓越。
如v=s1:s2:s3 ,生成一个行向量,s1为起始值,s2为步长,s3为最大值。如:

>> v=1:1:8
v =

1 2 3 4 5 6 7 8

又如:

>> v1=0:0.2:pi
v1 =
Columns 1 through 11
0 0.2000 0.4000 0.6000 0.8000 1.0000 1.2000 1.4000 1.6000 1.8000 2.0000
Columns 12 through 16
2.2000 2.4000 2.6000 2.8000 3.0000
>> v2=0:pi
v2 =
0 1 2 3


注:我们注意到,0-pi时,最大值是3而不是3.141.........,如果只输入两个:,则按默认步长为1输出;

B=A(v1,v2)用于提取子矩阵!



更多资料,建议去Baisi论坛下载,非常全面,这里就不再引用了,地址是:http://www.baisi.net/thread-57854-1-1.html

(53)Your Song 电影红磨坊歌词

--Alessandro Safina; Ewan McGregor

My gift is my song
And this one's for you
[Rep 1]
You can tell everybody
That this is your song
It may be quite simple
but Now that it's done
[Rep 2]
I hope you don't mind, I hope you don't mind
That I put down in words
How wonderful life is
Now you're in the world
[End of Rep 1] [End of Rep 2]
I sat on the roof
And I kicked off the moss
Well, some of these verses
They got me quite cross
But the sun's been kind
while I wrote this song
It's for people like you that
Keep it turned on
So excuse me forgetting
But these things I do
You see, I forgetten
If they're green or they're blue
Anyway the thing is what I really mean
Your are the sweetest eyes
I've ever seen


PS:最美的歌曲!

2009年3月27日星期五

(52)在Ubuntu 8.10 上安装Eclipse 3.4

由于Java环境安装后出了问题,eclipse正在修理当中,going..............

-------2009.3.31------------------
好了,发了疯的JAVA昨晚终于正常了。
我又晕了,今天发现,javac HelloWorld.java 时又出错!!
我完全倒了,原来执行javac要sudo权限.555555555555555..

好像是少了这一步:
sudo update-java-alternatives -s java-6-sun



不管它先:

1. 去官网下载安装文件:
地址:http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/ganymede/SR2/eclipse-java-ganymede-SR2-linux-gtk.tar.gz
选择位于上海的镜像,还是挺快的.50kbps左右的速度,80M左右的文件. 冲杯咖啡先:)!!
2. 下载后得到.gz文件,解压到一个文件夹里,双击eclipse运行,开始设置:
workspace,就是你的开发文件的保存路径.
然后就会打开主界面.
3. 中文化: 可以直接用英文的,但是,怎么说呢,唉,看你的喜好了..
在主界面里help-->software updates-->Available software-->点add sites,把以下地址加进去:
http://download.eclipse.org/technology/babel/update-site/ganymede 在左边的选中它,在下拉菜单里选择需要的语言.install. 好了,之后的是全自动的了..

再打开就是中文的了!!

这好像只适用于3.4版,其它版本据说是另一种方法...

(51)在Ubuntu 8.10 上安装java 6

Java 的安装也是费尽周章。

1. 从sun的网站上下载,得到的是一个bin文件,比较晕.没有找到deb文件啊. 按网友的方法,把这个文件放到桌面上(说是不能在windows分区中执行,我没试),然后执行:
sudo chmod +x jre-6u12.bin
sudo ./jre-6u12.bin
成功执行后,却在桌面生成一个jre-6u12.rpm文件,我晕,早知道下载rpm文件不就行了 :)....
2. 行,我服了,来修理rpm文件,如果你之前没有使用过这个,还行下载一个alien,命令是:

sudo apt-get install alien #alien默认没有安装,所以首先要安装它。
还好安装很快,当然了,这取决于你的网速.现在可以安装了,执行:
sudo alien jre-6u12.rpm #将rpm转换位deb,完成后会生成一个同名的deb文件(这期间,可能需要一些时间,也会出现一些警告,不要理它,等!
行,准备好了,双击那个文件去吧,也可以用命令来完成:
sudo dpkg -i jre-6u12.deb #安装。
3. 完了安装JDK,执行命令:
sudo apt-get install sun-java6-jdk
开始安装后,下载完成后,会出来许可协议,不用看也行,反正你要同意,使用Tab键,移动光标到,回车,安装很快就完成了.


4. 我只装了一个解释器,所以,不用理设置默认的问题,如果你有多个,就需要设置一下:
sudo update-alternatives --config java
如果你像我一样只有一个,它会提示:没什么好配置的,行了.

5. 接下来又是该死的环境变量(我最讨厌这东西了),执行
sudo gedit /etc/environment
后,在打开的文件末尾加上两行:
CLASSPATH=.:/usr/lib/jvm/java-6-sun/lib
JAVA_HOME=/usr/lib/jvm/java-6-sun

OK,大功告成了.如果你需要安装浏览器插件,执行:

sudo apt-get install sun-java6-plugin

------------PS-------------

按上面的方法,安装好了,然后,执行
java -version
出来正常的版本号了,高兴了一阵!:)
于是,Copy一个HelloWorld.java里去试试先,谁知道,出现大问题了。一直不明白,也没有解决。到Ubuntu论坛发了帖子, 地址:http://forum.ubuntu.org.cn/viewtopic.php?f=70&t=192177 好心的网友提出了相应的解决办法,但两天了还是没办法解决这个问题。火冒三十距丈啊。删除,重新安装!!
这个问题的根源在于,当我编辑jvm文件时,发现它不存在!于是我新建了一个!

重新安装时,我选择了6u13,直接从sun下载bin文件安装,bin文件处理成rpm,再修理成deb的过程就不重复了,和上面的一样!


------------------------重新安装---------------------------

1. 安装jre6:方法与上面的一样,就是执行生成的jre-6u13-linux-i586.deb;
2. 安装jdk6:类似上面的;
3. 安装相应的组件,就是什么java-doc,java-demo什么的,装全再说!命令是:
sudo apt-get install sun-java6-demo sun-java6-doc sun-java6-source sun-java6-plugin sun-java6-fonts libmyodbc tdsodbc
花时间无数分钟(还好,晚上网络还算正常,不过也真的不快啊:)还不知道Java的最快的源怎么样添加,555555555555,我忍!)

4. 行,安装完了,执行命令试机:
java -version #返回如下结果:
java version "1.6.0_10"
Java(TM) SE Runtime Environment (build 1.6.0_10-b33)
Java HotSpot(TM) Client VM (build 11.0-b15, mixed mode, sharing)

sudo update-java-alternatives -l #命令返回如下结果:
java-6-sun 63 /usr/lib/jvm/java-6-sun

应该说算是正常了。OK!

5. 再找个HelloWord.java来试试吧:
代码:
/* HelloWorld.java */
public class HelloWorld {
public static void main(String arg[]) {
System.out.println("Hello, World!");
}
}

好,保存好了:
javac
HelloWorld.java
竟然提示有错误?不是吧,大哥,这算什么啊.

行了,冷静,冷静,我再冷静.哪里出问题了.
6. 返回去,把环境变量打开看看.
这是我的environment
PATH="/usr/java/jre1.6.0_13/lib:/usr/lib/jvm/java-6-sun/bin:/usr/local/texlive/2008/bin/i386-linux:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
LANGUAGE="en_US:en"
LANG="en_US.UTF-8"
CLASSPATH=.:/usr/lib/jvm/java-6-sun/lib
JAVA_HOME=/usr/lib/jvm/java-6-sun

没问题, 好,再看:
我晕, 再加一次,不管了:
sudo gedit /etc/profile #在if之前,加上以下代码:
JAVA_HOME=/usr/lib/jvm/java-6-sun
CLASSPATH=.:/usr/lib/jvm/java-6-sun/lib
JRE_HOME=/usr/lib/jvm/java-6-sun/jre
export JRE_HOME
export CLASSPATH
export JAVA_HOME

再看看
sudo gedit /etc/jvm
打开怎么还是空的啊?天哪,不是吧,为什么会这样啊??

我们要反复的尝试.好,我不管jvm了.我再javac一次.....................成功了?失败不知道为什么,成功也不知道为什么..................

7. 成功生成了HelloWorld.class.
java
HelloWorld
显示效果如下:
Hello, World!,----顺便说一句:该死的java,我服了.

8. 中文化: 按照网友的方法,把中文字体放进去.
------------引用------------
在java安装目录下放进去一个中文字体即可
cd /usr/lib/jvm/java-6-sun/jre/lib/fonts
sudo mkdir newfonts //这个目录名可以自己取,我取的是chfonts
cd newfonts
sudo ln -s /usr/share/fonts/windows/zhunyuan.ttf
(把中文字体 newfonts 目录,windows-您的系统中可以没有这个目录,这个目录是我自己建的,里面放着一些中文体,这个字体根据您系统中有的中文字体连接)
sudo mkfontdir
sudo mkfontscale
------------------引用完------------------
同时,我发现可以把windows里的字体直接过继过去,命令如下:
sudo ln -s /media/WINXP/windows/fonts/simkai.ttf #把楷体复制过去,
sudo ln -s /media/WINXP/windows/fonts/simsun.ttc #宋体,当然了,你不记得这些字体的名字,到打开window/fonts文件夹去找,想要哪个应该都是可以的!!


(呵呵,我也可以修改源程序了!!)

真够晕的啊.

2009年3月22日星期日

(50)Reinstall Ubuntu 8.10

It is a bad day, while I want to set up Wiki on my Ubuntu 8.10, and try connect to Internet and download it, but I find I can't do it. The network configure was broken. At last, I install Tex, and other application on it, and it is so slow. So I reinstall it.
It is very easy for a windows user to install Ubuntu 8.10 in windows with the ISO. Just copy files and wait. Then I have a walk out then it is OK.
OK, now I can use my Ubuntu with a English version.

At first, configure your Software sources, if you forget it, when you download or install software, it is so slow or can find the package.
set Download from-->other server-->Select best server.
Ok, set it.

1. set up the terminal in the right click menu:
sudo apt-get install nautilus-open-terminal

2. set up Scim: use the Synaptic.

3. set up Xpdf: sudo apt-get install xpdf-reader
(but it can't work, while I reconfigured the software resource, it done!)

4. binding your gateway to anti ARP:
arp -v (view the arp catch table.)
arp -s if_addr hd_addr
It is not like in windows: the hd_addr(MAC) format is 00:00............ notice this is : not -

5. Pidgin with Internet: Ubuntu 8.10 has Pidgin, so you can login in your QQ, MSN, Yahoo!, Gtalk and other IM with it, and don't need download them.

6. Set up Fetion: go to here: http://www.libfetion.cn/Linux_demoapp_download.html and download libfetion, get a deb packetage, just install it. If your Ubuntu is English version, install: scim-bridge-client-qt4 .

7. Install Realplayer: go to www.realnetworks.com to download the Realplayer for linux, you can get a deb file and install it easy. then you can play RM or RMVB or others files..

8. adobe flash player: if you need, you can go to every web site which has flash, then firefox will give the message to tell you install the plugin.

2009年3月19日星期四

(49)C++学习笔记

因为Opnet仿真过程中,需要结合C++编程,所以,近期复习了一下C++,为方便初学者一些梗概,这里把之前的一些学习笔记帖出来供大家参考。

Part I: the basic of C++

在所有的编程语言中,C++可以说是最为复杂的。这是一门既传统、又门的语言:传统是因为它已经有20年的历史,说它新是因为C++一直在不断的发展中,直到1998年,ISO才对其完成了标准化,所有的编译器才慢慢向标准靠拢,也有了统一的标准库。



如果你之前已经学过C++,那么,相信不用我在此多言也知道其优势。如果你是一个初学者,那么,选一本好书绝对是相当重要的,本文的笔记基于潘爱民、张丽老师翻译的大师级专家Stanley B Lippman和Josee Lajoie的大作《C++ Primer》3rd(我一直没有找到英文版,如果你有并乐意给我发一份,我会非常感谢)。有关学习C++的更多建议,请参考:http://tech.163.com/06/0517/10/2HAMLSME0009159Q.html



1. C++的发明者是谁?

这几乎是没有什么意义的问题,但是,你知道吗?嘿嘿。如果你不知道,你最好去查一下先,它是Bell实验室的Bjarne Stroustrup。

2. 程序的两个方面:算法和数据;(也有的书说是数据结构,你觉得呢?)

3. C++是过程设计语言吗(如经典的C,Fortran, Pascal)?

都说C++是面向对象的程序设计语言(如Simula,Smalltalk和Java),其实C++也支持过程化程序设计,毕竟,可以说C++源于C嘛。

4. C++中最小的程序单元语句是什么?

语句,英文叫statement,就是以分号(;)结尾的表达式(expression)。

5. C++是否需要Main函数?

我们知道,C中必须要有main函数,C++也是一样,每个程序必须包含一个且只能是一个main()函数。







Part II :常用词中英对照表

英文 中文

declaration 声明

identifier 标识符

symbolic variable 符号变量

object 对象

assignment 赋值

function 函数

function prototype 函数原型

preprocessor directive 预处理器指示符

ACM: the Association for Computer Machinery, 计算机器协会

VDT:video display terminal 视频显示终端


Part III :use it

1. 关于工具的选用(windows 平台)
很我人都会选择MS-VC++,但是它实在不是一个很容易上手的东西,光学习它,都需要很多时间。好在,我们还有别的选择:
(1) cygwin:这是一个类似于linux,但是运行在windows上的软件包。其安装、使用都很方便,不用多说,官方网站:http://cygwin.com/ ,在线安装的速度不是很快,顺便想说一句:非常奇怪,很多真正的第三世界国家都建有其镜像,独独中国(大陆)没有,很是怪啊!
(2) Eclipse for C/C++,不用我说,对Java、程序有所了解朋友都知道这是一个很强大的IDE工具包,下载地址:http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/ganymede/SR2/eclipse-cpp-ganymede-SR2-win32.zip,界面相对简洁,扩展性很好。使用几天后你就会喜欢她的!!
(3) BCB,Borland的C++ Builder是可以与VC匹敌的另一个功能强大的IDE,速度和稳定性稍逊,但对c++标准支持的程度较好。

其它也还有很多工具,不用多说,从上面三个中选一个足够了!!

2.

2009年3月16日星期一

(转28)Opnet的进程域

进程域(Process Domain) (不全,有待进一步补充)(参考Main Menu->Modeling Concept->Process Domain)
1.进程模型运行(Process Model Operation) 支持process model的module有限(因为诸如generator,transmitter,receivers等出于方便和功能的原因,已经被预定义了,只需编辑其属性即可)。两种module可以支持行为建模:processors和queues。这些模块提供了模块基本的行为能力和大部分物理资源。Queue还可以让用户定义内部的子队列(subqueues),以及如何管理这些subqueue的方法。但是由于它们的基本建模技术还是相同的,所以以下并不区分它们,方便起见,以下用QP来指代这些模块。

1.1进程环境(Process Environment)

1.1.1中断驱动执行(Interrupt-Driven Execution) process由interrupt驱动。所以process的第一个操作就是判断interrupt的类型,进而解析interrupt的属性。进程在阻止(Blocked)和活动(Active)两个状态间循环,通过interrupt由blocked进入active,完成操作后回到blocked。

1.1.2动态进程(Dynamic Processes) 在仿真开始时,每个QP只有一个进程,这个进程是由仿真核(Simulation Kernel)创建的,称为根进程(root process)。往往一个root process就可以完成QP的功能,但是在一些情况下,为了增强模块性和降低设计复杂性,QP也采用multiple processes。process可以通过调用op_pro_create()创建新的processes,也就是所谓的dynamic processes。

1.1.2.1进程层次(Process hierarchy) 由上,显然process有层次之分,但是OPNET并不要求parent process必须在它所有的child processess全部终止后才能终止。所以这就会在层次上出现“洞”。但是这个是可以通过root process来处理的,详见后述。child process的attributes在被promote之后就可以一直提升到node level作为queue和processor的一部分。

1.1.2.2共享内存结构(Shared Memory Architecture) 有三种机制用来作为multiple processess下,各个process之间的通信方式: a)QP level共享内存: 通过函数op_pro_modmem_install()和op_pro_modmem_access()访问。为了保证process间通信机制,各个process应当遵循shared memory的数据类型,这就要求process都要知道,因而shared memory的数据结构定义应当房子外部定义".h"文件中,并包含在每个process的header block中。shared memory一开始是没有的,是由process来决定什么时候分配以及分配多大,这些通过op_pro_modmem_access()来完成。内存的分配一般是通过op_prg_meme_alloc()来完成。 b)父子共享内存: 只有以父子关系联系在一起的process才能访问的私有共享内存。这种共享内存只能在child process由op_pro_create()产生时由op_prg_mem_alloc()分配,且不能被替换。通过op_pro_parmem_access()访问。通过op_pro_invoke()通知对方对共享内存的内容进行的修改和,以及对内容的检查。 c)参数内存(argument memory) 将内存地址作为op_pro_invoke()的参数传给别的进程用以通信,通过op_pro_argmem_access()来完成访问。与前两个不同的是,这部分内存不是永恒的。

1.1.2.3动态进程上的操作(Operations on Dynamic Processes)

1.1.2.4中断驱动(Interrupt Steering) 当interrupt到来时,Simulation Kernel必须决定哪个process被调用来处理这个interrupt。由于root process是interrupt的缺省接受者,所以一般用root process来完成对interrupt的解析,从而决定调用哪个process。

1.1.3本地进程资源(Local Process Resources)

1.1.3.1输入输出流(Input and Output Streams) QP的input stream能够从外部源受到packet。有两个外部源:packet stream object和remote deliver。 当packet从input stream到达时,接收QP的一个process由于stream interrupt而被调用。这个process通过op_intrpt_strm()来获悉这个packet是从哪个stream里来的。Input stream通常用非负的整数作为标号(index)。process通过op_pk_get()和stream index来获得packets。通过op_strm_pksize()获悉仍然留在input stream中的packet的数量。 对于output stream来说,跟input stream类似,也有一些函数:op_pk_send(), op_pk_send_delayed(), op_pk_send_forced(), op_pk_send_quiet()。也是用非负整数用来作标号。 Input and Output Stream在stream accessing机制下会用到。如果我们用D表示目的地,用S表示源,那么这个packet转发的顺序应当是: a)D调用op_strm_access(),要求S发包,要指明stream index。 b)然后,D处产生强行中断,D的进程被挂起等待S的响应。interrupt类型为access interrupt。S调用op_intrpt_strm()来决定从哪个output stream被要求。然后根据要求发包,为了避免再在D处产生中断,使用op_pk_send_quiet()来发包。S被阻止。 c)D重新获得控制权,继续执行。通过op_strm_pksize()和op_pk_get()来获取包及相关信息。

1.1.3.2输入统计和本地输出统计(Input Statistics and Local Output Statistics) Inuput statistics是QP内部的一个部分,用来接收同一个node下别的modules发来的数值。他们通过统计线(statistics wires)来传输。目的module通过op_stat_local_read()来读取值,由于没有缓存,所以只能读取最新的值。 statistics的变化会在目的module处产生统计事件(statistics event),每个event都会在接收QP处产生一个统计中断(statistics interrupt)。process通过调用op_intrpt_stat()来决定受到了什么类型的中断。 local output statistics用来报告用户定义的各个QP专有的统计量。 local statistic可以通过probe来获得。也可以通过statistics wire连接到同一node下的其他QP上,在module之间传送statistics的更新。statistics的更新通过调用op_stat_write()和op_stat_write_t()来实现。一旦statistics更新了,所有的目的module都会受到相应的通知。 每个QP都可以有人以素含量的local output statistics,可以被所有存在于QP中的process共享。process必须声明要用的local output statistics。出于这个目的,Process Editor提供了edit local statistics操作。local output statistics可以是单个也可以是数组。 为了能够访问statistics从而更新它们,process必须获得对应statistics的句柄(handle)。op_stat_reg()允许process获得这个句柄。关于op_stat_reg()和op_stat_write(),可以参考Simulation Kernel手册。

1.1.3.3全局统计(Global Statistics) Global Statistics和Local Statistics操作上都差不多,但是从名字上我们就可以看出他们所关注的东西是不同的。这里不详述。

1.1.3.4子队列(Subqueues)

1.1.3.5属性(Attribute)

1.2进程模型组成(Process Model Components)

1.2.1状态转移图(State Transition Diagrams)

1.2.1.1强制和非强制状态(Forced and Unforced States) process在任意时刻只能处在一个状态下。process可以根据它收到的interrupt在状态之间转移。 每个状态的执行过程分为两个部分。进入执行(enter executives)和离开执行(exit executives),分别在进入和离开该状态的时候执行。 Proc定义了两种状态,称之为强制状态(forced states)和非强制状态(unforced states),分别用绿色和红色表示。 Unforced states允许在process在enter和exit之间暂停。一旦process执行完unforced states下的enter executives,就被block,并将控制权交还给调用它的其他process。如果这个process是被Simulation Kernel调用的,block就意味着这个event的结束。但是此时这个process依然被挂起,直到下一个新的调用产生使得它进入当前状态的exit executives。 Forced states是不允旬process等待的。所以一般它的exit executives是空白的。这是它与Unforced states的最大区别。

1.2.1.2初始状态(Initial States) initial states是process被第一次调用时的起始位置。通过set initial state或make initial state来设置。 begin simulation interrupts是一种module attribute,用来完成对initial state的进入。通过module的begsim intrpt属性来选择。当然也可以不选择使用begin simulation interrupts而使用普通的interrupt(不推荐)。

1.2.1.3状态转移(Transitions) 对于状态转移的规定有四个组成部分:源状态、目的状态、条件表达式、执行表达式。可以这样解读:当处在源状态下,如果条件是真,则执行操作,并且转移到目的状态。 转移条件是布尔表达式。表达式可能是很多东西复杂东西的组合。所有支持条件表达式的计算都必须在exit executives的末尾执行,因为它们马上就要在后面的计算条件表达式的值时用刀。

1.2.2使用宏来定义复杂或循环表达式(Using Macros to Define Complex or Recurring Expressions) 几乎所有Proto-C的宏都是在header block中定义的。宏通常用来表示常数,状态转移条件,状态转移操作,和普通的操作。宏也可以在外部文件".h"中定义。然后通过在header block中用#include包含进来。宏的定义是#define。(跟C几乎一模一样)

1.2.3变量(Variables) process可以利用三种不同的变量,分别称之为state variables, temporary variables, global variables。

1.2.3.1变量组成(Variable Components) a)名字 b)数据类型(详见参考文档)。定制数据类型也在header block中进行。typedef struct(跟C一样)。 c)值

1.2.3.2变量操作(Operations on Varuables) 1.2.3.3状态变量(State Variables) State Variables用来保持和积累信息(比如:统计)。 State Variables在state variable block中声明。 State Variables是持久的,他们一直都在保持它们的值,他们只能通过执行process中显式的赋值语句修改。 State Variables相对于各个process而言是私有的(private)。即使它们在同一个QP下,即使它们有着相同的名字。 State Variables没有自动的初始化,所以在initial state一定要有初始化state variable的语句。

1.2.3.4临时变量(Temporary Variables) Temporary Variables和State Variables最大的区别就是持久性,如果一个variable不需要在两次调用之间保持不变,那么我们只需要使用Temporary variables,反之,我们则需要使用State Variables。 Temporary Variables在Temporary Variable Block中声明,也可以在那里初始化赋值。

1.2.3.5全局变量(Global Variables) Global Variables为不同module下的多个process提供了在一个公用的地方存储信息的方法。 Global Variables在header block下声明,所有与这个变量相关的process都应当声明这个变量,但是他们中只能有,也必须有一个作为主声明(principle declaration),其他的都是外部声明(extern declaration),通过加"extern"实现。 Global Variables的初始化和Temporary variable相似,但是只能通过principle declaration赋值。

1.2.4进程模型属性(Process Model Attributes) 1.2.4.1模型属性(Model Attributes) 在Interfaces->Model Attributes中设定。也可以通过op_ima_obj_attr_set()来设定,但是一般这些属性在仿真过程中只是读取,而不做修改,所以只需要用op_ima_obj_attr_get()访问即可。

1.2.4.2进程属性(Process Attributes) 主要是关于Process Attributes Interface的(Interfaces->Process Interfaces)。用来设定(set)一些process的attributes,并且可以把这些attributes提升(promote)到更高层次的上去,也可以让那些与模型无关的属性相对于上层隐藏(hiden)起来。

1.2.5模块化计算(Modularizing Computations) 两种实现方法:动态进程和函数调用

1.2.5.1动态进程(Dynamic Processes)

1.2.5.2函数调用(Function Calls)

1.2.6调试功能(Diagnostic Capabilities) OPNET有个调试器ODB。允许互动监控仿真过程和对象状态。ODB详见External Interfaces手册。

2.进程模型的开发方法(Process Model Development Methodology)

(转27)Opnet的结构

OPNET结构 (OPNET Architecture)(注:此部分可参考OPNET Documentation: Main Menu->Modeling Concepts->Modeling Overview->OPNET Architecture)OPNET为通信网络和分布式系统的性能评估提供了一个全面的开发环境。由许多工具组成,这些工具暗中建模和仿真的步骤分为三个门类:定制(Specification),数据收集和仿真(Data Collection and Simulation),分析(Analysis)。

1.模型定制(Model Specification)

1.1定制编辑器(Specification Editors) a)Project Editor:定义网络模型(network models),network models由子网(subnets)和节点模型(node models)。Project editor具有基本的仿真和分析能力(还包括统计)。 b)Node Editor:定义节点模型(node models),node models是network models中的一部分。Node models由一系列模块(modules)组成,这些模块内部含有进程模型(Process models)。模块还有可能包含参数模型(?! parameter models)。 c)Process Editor:定义进程模型。进程模型控制module的行为,也有可能会涉及parameter models(?!)。 d)Link Model Editor:创建,编辑,查看链路模型(link models)。 e)Packet Format Editor:定义包格式模型(packet formats models)。packet format指明packet所存储的信息的结构和顺序。 f)ICI Editor:创建,编辑,查看接口控制信息(interface control information ICI)格式。ICI用来进程间交流控制信息。 g)Antenna Pattern Editor:创建,编辑,查看发送器和接收器的天线类型。(for radio) h)Modulation Cure Editor:创建,编辑,查看发送器的模型曲线。(for radio) i)PDF Editor:创建,编辑,查看概率密度函数。PDFs用来控制一些事情,比如源模块的发送频率。

1.2模型域 OPNET分为三个模型域:网络域(network domain)、节点域(node domain)和进程域(process domain),也是整个模型的主要层次。1.2.1网络域(network domain) network domain定义了通信网的拓扑结构。通信的实体是nodes。 OPNET提供单向和全双工的点到点链路,也提供总线链路用以允许对任意大小的节点组尽心广播通信。1.2.2节点域(node domain) node domain用来对通信设备进行建模,诸如路由器、网桥、工作站、终端等等。Node model是通过Node Editor生成,通过一些更小的模块(module)来表现。一些模块具有一定的功能,这些功能已经定义好了,只用通过配置一组内部参数(built-in parameters)就可以了。它们包括各种各样用来在network domain连接通信连路的发送器和接收器。还有一些模块:处理器(processors)和队列(queues),也是高度可编程的,它们的动作通过进程(Process model)来描述。 node model中的各个module通过三种链接互连,分别是:packet streams,statistic wires,logical associations。Packet streams传送格式化的消息,我们称为packet。Statistic wire传送简单的数字信号和控制信息,一般用于一个module用来监测其他module的性能和状态。Statistic wire和Packet stream都有参数用来配置它们的行为。Logical associations用来确认module之间的绑定。目前,它们只被用在发送器和接收器之间,用来表明它们在接入到Network domain上的链路时,应当被当作一对module来使用。1.2.3进程域(process domain) 一个进程(process)可以被认为近似于一个执行程序。OPNET中的Process是基于Process model,他们是在Process Editor中定义的。 进程组(process group)由许多process组成,这些process都是在同一个processor或者queue中执行。当仿真开始的时候,每个module只能有一个process,称之为root process。这个process之后能够创建新的process,他们之后也能再创建其他的process。在仿真中被创建的process称之为动态进程(dynamic process)。 任何时刻只能有一个process处于执行状态。当一个Process开始执行后,我们说这个process被调用(invoked)了。 当一个process调用另一个process时,调用(invoking)process被暂时挂起直到被调用(invoked)process被阻止(block)。一个process如果完成了它当前调用的处理就将被阻止。当invoked process被阻止时,invoking process就将从它挂起的地方继续执行。 OPNET中的Process能够对中断(interrupt)或者调用(invocation)产生响应。Interrupt可能产生自process group之外的源,或者process group中的其他成员,或者这个process自己。Interrupt一般对应于一些事件,包括消息到达、计时器到时、资源释放或者其他模块的状态改变等等。 OPNET的process editor使用Proto-C的语言来描述process model。Proto-C基于状态转移图(State Transition Diagrams STD)、一个高级指令库(kernel Procedures)和C或C++的通用部件。STD定义了模型的各个process所处的状态,以及使进程在状态之间转移的条件。这种条件称之为transition。Kernel Procedures主要一系列的函数包组成,这些包详见参考文档。 STD在Process Editor中生成。STD除了一些传统的STD具有的能力外,还有一系列扩展: a)状态变量(State Variables)。process可以拥有一些私有state variables,这些state variables可以是任意的数据类型,包括OPNET专有的、通用的C/C++、用户定义类型等等。这种能力使得process能够灵活的控制counter、routing tables、与性能相关的statistics、需要转发的message。任意组合的statevariable可以在一个process所有的动作和决定中使用。 b)状态执行(State Executives)。通过C/C++语言描述了process进入和离开状态时的操作,典型的操作包括:修改状态信息,创建或接收消息,更新发送消息的内容,更新统计数据,设置计时器以及对计时器作出响应。 c)转移条件(Transition Conditions)。通过C/C++语言描述布尔变量,要涉及interrupt的属性以及state variables的组合。 d)转移执行(Transition Executives)。转移时可能会定义一些通用的操作。

1.3模型,对象,属性(Models,Object,Attributes)1.3.1对象(Object) Object是Model的一部分,其可以在model中扮演下面的功能: a)定义行为 b)创建信息 c)储存和管理信息 d)处理、修改、转发信息 e)对事件作出响应 f)包含其他的object1.3.2属性(Attribute) object的Attribute和一些允许访问Attribute或者使Attribute生效的程序组成了object的接口。这些程序可以是OPNET自动生成的,也可以是用户编写的。包含有子object的object称之为复合对象(compound object)。1.3.3模型(Model)1.3.4模型属性(Model Attribute)和属性提升(Attribute Promotion) Attribute除了可以描述object外,还可以用在model上用来表示model的参数。model的attributes机制可以提高model的可重用性。具体地说,model的attribute被定义为model的一部分,但同时,他们也出现在object里,他们是在object的model被规定后被object获得的。这是object的本能操作。 类似这种model attribute机制,object attribute也可以被向上传给model,这种机制就是所谓的attribute promotion。Promotion导致object attribute不再有值,而是作为model的attribute出现在上层属性中。对于一路promote到所有model之上的attribute,我们可以把它看作是simulation的attribute。从而把研究的系统看成是这些attributes的函数。1.3.5衍生模型(Derived Models) 有的时候,我们想只改变一个model的一些attributes就可以得到一个新的model。这种机制称为模型的衍生(model derivation)。衍生出的model称为derived model,被衍生的model称为parent model,没有parent model的model称为base model。

2.包通信建模(Modeling Communications with Packets) OPNET中的一种基本通信结构是packet。packet主要由三个存储域组成。第一个域是packet field,是一组用户定义的值。第二个域pre-defined field由一组预定义的值组成,用来跟踪和统计。第三个域是transmission data field,用来支持可定制的通信链路模型。 Packet分为两类:格式化的(formatted)和非格式化的(unformatted)。formatted packet的各个域都是按照所谓的packet format的模版定义的。Packet format是在Packet Format Editor中创建的,在那里定制了一组域名、数据类型、大小(按bit)和缺省值。unformatted packet在刚创建时没有任何域,这些域都是后来一次一个加上去的,而且只能通过数字编号指示,而不是通过名字。 Packet可以在OPNET模型中通过几种通信机制传输。在node level,是通过packet stream;在network level是通过links;还有第三种传送机制,称为packet delivery,支持各个module之间的packet发送,不管这些module在网络中的位置以及他们之间有没有物理连接。

3.数据采集和仿真(Data Collection and Simulation) 建模的主要目的是为了获取对系统性能的测量或者对系统的一些行为作观察。OPNET通过在这个系统里创建一个可执行的model支持这个功能。有几种机制用来在一个或者更多的系统中收集所需的数据。

3.1仿真输出的数据类型(Simulation Output Data Types) OPNET提供了许多输出类型,主要有output vectors、output scalars、animation。当然,用户也可以自己定义所要的输出类型,但是一般情况下都直接使用OPNET提供的数据类型。3.1.1输出向量(output vectors) output vector是输出数据中最常见的输出结果,它实际上是一组数据对(pairs of real value)的集合,被称之为条目(entry)。一个vector可以包含了任意数量的条目,这些条目采自单个仿真。条目的第一个值可以看作是独立变量(independent variable),第二个值则是依赖变量(dependent variable)。在OPNET中,这也被称做横坐标(abscissa)和纵坐标(ordinate)。在绝大多数情况下,independent variable都是仿真时间(simulation time),它随着仿真的进行单调的增加。换句话说,大多数情况下,vector代表了我们所关心的量值随时间的变化。当然也有随着别的东西变化的:)3.1.2输出标量(output scalar) 相比起vecotr,scalar则是一个值。一般来说,标量都是采集的测量数据的函数,比如:平均值,概率,或者峰值之类的。scalar更为有用的地方在于多次仿真后作出随系统参数变化的曲线。OPNET仿真在output scalar文件中记录scalar statistics。与output vector不同的是,output scalar包含的不仅是一个仿真的结果,而是多个仿真的结果。原因之前已经提到过了。3.1.3特定应用的统计(Application-Specific Statistics) scalar和vector都可以被自动地计算和记录一些预定义的统计。这些预定义的统计一般都和模型中一些特定的对象的测量值有关,比如:queue sizes、link throughputs、error rates和queuing delays。而且,在仿真中记录对一些特定应用统计的计算也很常见, 这些统计也被放在了scalar和vector输出文件中。 定制统计可以在process model中声明,在这种情况下,OPNET把他们加入到使用这个process的module的内建统计中去。定制统计按范围划分为本地的(local)和(global)。 local statistic只由声明它的processors和queue单独维护。它适合记录那些只跟本地相关的事件,比如CPU利用率等等。 global statistic由很多模型中的实体共享。它适合记录那些关系到整个系统性能和行为的信息。比如忽略源和目的的端到端延迟。

3.2采集数据选择(Selecting Data for Collection) OPNET数据采集机制的缺省设置是关闭的,所以要显式地激活特定的统计,从而让结果能够输出到合适的输出文件中去。这通过在仿真时设置一系列的探针(probe)实现。这些probe可以指向scalar、vector等等。这些probe通过Project Editor下的Chose Result(?!我的ms是Project Editor下Simulation->Choose Statistics)操作定义。更多的高级probe要在Probe Editor中定义。 为了使统计更简单,指针还可以选择一些选项,比如通过选择时间窗来减少数据量等等。

4.分析(Analysis) 仿真的第三阶段包括检查收集的数据。一般来说,绝大部分的数据都放在output scalar和output vector文件中。OPNET在Project Editor中提供了对这些数据的基本访问能力,在Analysis Tool中提供了更高级的图像和数值处理能力。
4.1数值数据分析 Project Editor和Analysis Tool都可以选择output vector文件,并且导入单个或多个vector,并将他们的轨迹(traces)显示出来。多条traces可以显示在一张图上,我们称这张图为分析面板(analysis panel)。analysis panel的展示方式可以通过analysis configuration来配置。 Analysis panels提供了许多数值处理的操作,用来对traces或者vector进行操作,从而产生新的数据做图。这些操作详见参考文档。 Analysis Tools链接到了Filter Editor上,Filter Editor能够使用数学过滤器(mathematical filter)来处理vector和trace。这里不详述。