政 的个人资料老虎的窝照片日志列表更多 ![]() | 帮助 |
|
11月7日 远去的炮声“十月革命的一声炮响,给我们送来了马克思主义…”那是个英雄辈出的时代,为了主义和理想,不惜代价地辗碎一切。 水兵和赤卫队员们冲进冬宫 艺术家的纪念品 百年沧桑——今天的阿芙乐尔号巡洋舰 下面转一篇小说,其实很多东西,只是经历而已,无所谓伟大,也无所谓渺小。是立夏的小小说,名字就叫作——《英雄》,也让我们来看一看吧。 一 他二十岁的时候,她正好十岁。 二 他三十岁的时候,她二十岁。 三 他四十岁的时候,她三十岁。 四 他五十岁的时候,她四十岁。 五 她五十岁的时候,他已经不在了。 10月10日 变化多端的世界9月24日 圣彼得堡没有眼泪题记:这篇小文章大约写于07年春节,当时没事儿又看了一遍《钢铁是怎样炼成的》。本文算是男版冬妮娅的故事吧。里面有几个历史错误,比如肃反委员会成立比十月革命晚很多。内务部的成立则更晚。当时只是想表达一个意思,就没有在意那些细节。 “柳芭,你上哪儿去了?我找你好久了。” “柳德芭拉同志,任命你为工人赤卫队三大队二中队指导员!” “柳德芭拉同志,鉴于你对党的忠诚和出色的工作能力,现在命令你到肃反委员会报道。” “柳芭!” “柳德芭拉同志,圣彼得大学有不少孟什维克分子的同情者,考虑到你曾经在那里学习过,比较熟悉情况,组织上安排你负责圣彼得大学的肃反工作。” “嘿,维佳,听说柳芭要回来工作了,你开心吧?”潘克拉托夫拍拍维佳的肩膀说道。 “首长同志,圣彼得大学的情况比较复杂,工作有难度。” “维佳,柳芭真是个好人。她恢复了那些同情孟什维克的教授的工作,而且还允许在礼堂举行自由演说活动。”潘克拉托夫兴奋地对维佳说,“明晚巴普罗夫教授要组织一个关于多党制杜马的演说,我们一起去听听吧?” 次日,一份报告摆在首长的办公桌前,“......圣彼得大学的亲孟什维克分子基本肃清,逮捕68人,另有1人拒捕被击毙......” 9月19日 司法考试今天是司法考试,依稀记得两年前自己也参加过。仿佛是很遥远的过去,连分数都不太记得了,似乎第一试是85分,别的科目更低。也许是专业相关性的原因,本科时期的很多事情,还历历在目,就像昨天一样,但是那次司法考试,以及其他有关的人和事,却恍若隔世。法学的课程,也是本科阶段上的,第二专业。只是依稀记得两句话,“很多事情不是教科书里写的,大家要自己去思考”,“我不能保证自己没有做过亏心事,但是我至少知道自己做过什么”。前者告诉我不要盲从,后者让我看到一个法律工作者是怎么小心翼翼地保护自己最后一点儿良知。也是这个老师的话,让我明白了法律的意义——利益冲突各方调和的产物。空洞地追求公平与正义的人,也许更像与风车战斗的堂基诃德。然而,这些堂基诃德却保留了人类最美好的一些品质,忠诚、理想等。这些美好的品质,是人类在黑暗时期得以延续的希望。 昨天,一个在建筑行业工作的老同学,突然发给我一段话,我读来觉得眼熟。她说,是过去我跟她说起过的,她加了些自己的内容,想写篇日志,所以征询我的同意。我心中觉得惭愧,因为这些关于理想,关于现实的话,我只是口头上说出而已,在现实中,我也无力去遵循那些原则,也没有做到始终不渝地追寻那些理想。对未知世界的渴求、对人类苦难的同情、对社会不公的义愤,也许是读书人基本的思想要求。古人云,“听其言,观其行”,有想法只是最基本的,关键在于行动。李开复先生的话更贴切一些“要有任凭时间流逝,不会磨折和屈服的信念。不是因为在学校的象牙塔中,才说出我爱世界这样的话,是知道外面的黑,脏,丑陋之后,还要说出这样的话。” 人生最大的敌人,其实还是自己。“破山中贼易,破心中贼难”,生活在这样一个世界,对物质财富和社会地位的追求,也许是我们这代人最大的症结。孙子云,“以利诱之”。不知道有多少人,因为一些小利,而放弃理想,或者说,他们本来就没有财富以外的理想。 9月12日 新生又做了一次新生,09级博士。在这个校园,已是第三次做新生了!一种莫名的感觉。似乎是腻味了,连拿起照相机,拍点儿新生报到的镜头的想法都没有了。从大四开始,就硬生生地不让自己去关注实习就业的信息,为什么,大约是怕自己守不住,放弃了学业。前几日,和一个中学-大学本科多年的老同学谈继续读博士的问题。他纠结于要不要继续读。 想起了一首歌,罗大佑的“闪亮的日子”,为了理想,我们曾历经了艰难。我们的理想在何处,我对那个老同学说,在于我们总是希望自己能与别人不一样,能名列前茅。 8月26日 中日海军如果有人说,下面这首诗,是当年北洋海军的军歌,你会相信吗?多半会吧。 一、 二、 三、 四、 五、 六、 其实,这是同时代的邻国的海军学校,江田岛海军学校的军歌。日文原文如下: 江田島健児の歌 詞:神代猛男 曲:佐藤清吉 一、 二、 三、 四、 五、 六、 大正十年頃作 中日两国海军的差别,绝不仅仅是几艘快速巡洋舰,几门速射炮,而是思想境界的差别。一边是“水炮台”、“拱卫京畿”,另一边是要挑起保卫东亚、复兴文明的责任。未战而胜负定矣!曾几何时,北洋海军的军官们,也梦想富国强兵,振兴中华,但是一个没有根基的小团体无法战胜庞大的旧有体制,很快就蜕变腐化了。他们最后能做的,不过是像传统武人那样,兵败殉国。提督、总兵、管带或战殁,或自尽,算是为那个末世增加了一点点儿希望,至少还有愿意为这个国家去死的人。 人道是,千古艰难唯一死。这些北洋军人,事到临头,死且不惧,可是当初却珍惜乌纱帽,舍不得向旧的体制抗争!或者之前真的已经彻底被旧体制所同化,临事一死,也不过是中国传统士大夫的尽忠? 7月27日 立国之战今天是板门店签字的日子,不论今天的朝鲜为多少人所诟病,那时的我们,用血肉重铸了一百多年来早已扫地的国威。今天的我们,和那时的他们,最大的区别在于,他们相信只要运用得当,手榴弹可以战胜原子弹;而我们,则只会在纸上推算手榴弹和原子弹的巨大差距。 炮弹带着凄厉的呼啸在身边爆炸,机关枪的子弹向泼水一样扫来,汽油弹竖起一道又一道火墙。上刀山,下火海,也不过如此吧。当年的战士,是用特殊材料制成的。曾经的亚洲第一强军,日本军,都在这钢铁与烈火的海洋里被融化,但是我们的战士,挺住了。他们用肉体在铁原挡住了美军的战车,用肉体在上甘岭经历的范德格里夫特弹药量… 有什么比死亡更恐惧?也许是重新回到那被人蔑称为东亚病夫的日子吧,也许是重新打好包裹回家,依旧做长工的宿命吧。“中国人民从此站起来了”,为了能真正站稳,他们宁愿付出生命。我常常想,如果他们能活到今天,看到霓虹灯下的血光,他们还会那样义无反顾地去死吗?“共产党员、共青团员跟我上!”他们是迎着死亡冲锋,如果一边是死亡,一边是重新做奴隶,也许人们宁可会选择死亡,至少自己怜爱的人,能活在自由的阳光之下。 人民需要一个蓝图。但是当蓝图变得不现实以后,会发生什么呢?共产主义者一直坚持在人间建立天堂,并在通向天堂的道路上从来就不惜代价,不择手段。可以说,是政治目标理想化的同时,政治手段流氓化。当斯大林同志向世界宣布,苏联将在20年内建成共产主义时,俄罗斯人民忍住了饥荒、挺过了世界大战。但是当勃列日涅夫同志仍然宣称建成共产主义需要时间时,人民开始失去耐心。当人民发现两亿人民为200名中央委员建成了共产主义时,一切都完蛋了!最后几个忠贞的党员试图用暴力维护党的政权,但是连最忠于党的近卫部队也拒绝执行命令了!当红旗从克里姆林宫降下时,几乎所有的人都在庆祝,人民为民主和自由欢呼,官员为贪污的财产终于合法化而欢呼。 7月18日 中流击楫到得洪都又一年,祖生击楫至今传。 闻鸡久听南天雨,立马曾挥北地鞭。 鬓雪飞来成废料,彩云长在有新天。 年年后浪推前浪,江草江花处处鲜。 这是本朝太祖的一首诗。诗中描绘了一千多年前的一个民族英雄,祖逖! 很多人大概还记得闻鸡起舞的故事,故事的主人公有二,其中之一,就是祖逖。另一位,是刘琨,也是一位民族英雄,一位颇具悲剧色彩的民族英雄。 司马家结束了三国鼎立的局面,一统中华。但是好景不长,因为统治者内部的权力斗争,爆发了内战。于是北方少数民族趁机入侵。愚昧残暴的入侵者,将我汉家子民视为“两脚羊”。汉民族第一次处于生死关头! 此时,祖逖和刘琨,两位少怀壮志的年轻人,在乱世中奋起! 公元313年,祖逖率领不过数百之众,北渡长江,开始了他克复中原的征程。当时,不少部下都觉得这是自寻死路,就在渡船上,祖逖拿着船桨,拍打船舷发誓,若不能克服中原,绝不回到江南故乡。 八年之后,祖逖积劳成疾,病逝了。而中原,仍然在胡虏的铁蹄之下。直到近一百年后,龙骧将军王镇恶的铁骑开进长安,才实现了几代汉人克服中原、恢复故土的理想。然而,这个胜利也是短暂的。几乎和祖逖北伐未能成功同出一辙,王镇恶也被政敌构陷。随后因为内讧,北伐部队被击败! 几百年后的岳飞,“不使黄龙成痛饮,古今一辙使人哀”。在人们的眼中,大业未成的英雄们,总是因为小人的构陷而功亏一篑!其实这只是表象,更本质的原因在于,统治者最关心的问题是他的统治是否稳固。至于克复中原,在政客眼中,只是一句用来收买人心、稳定局势的口号。 无论政治会怎样黑暗,我们的民族延续到了今天,谨以这首无名氏所作的诗歌,纪念那些死者,无论是屈辱地被杀者,还是英勇捐躯的战士: 生逢匈奴兮,死逢羯乱 7月2日 大明海外有孤忠胡虏腥尘遍九州,忠臣义士怀悲愁。 怎样评价郑成功与他的军事政治团体呢?前些年央视播出的《施琅大将军》,似乎表明了态度——分裂分子,坚决打击之。可是,看着延平王郑经的这首诗,我们能想到什么?是悲剧英雄!兴灭国,继绝世,明知不可为而为之的悲壮。 郑经去世后,郑克塽投降了。汉家江山尽数落入胡虏之手。可是,康熙不但接受了郑成功棺梓归故里的要求,还亲笔手书挽联: 四镇多二心 两岛屯师 敢向东南争半壁 看一个人,应该看他的对手。被历史学家吹捧甚高的康熙,也如此盛赞郑成功等人。郑成功忠于的对象是什么,大明王朝的香火已绝。他所忠诚的,不是一家一姓,而是我们这个民族。剃发异服,不知何处是神洲的时刻,还是有那么一群人,放弃荣华富贵,不惜生死地抗争。所谓保国保种,大约就是这样吧。 其实明帝国灭亡时,无论是官吏还是民众,都没有表示出太多的忠诚。明帝国的严刑峻法和苛捐杂税早就丢掉了最后一点儿民心。当清军刚刚入关,采取了一些恢复社会生产的措施时,甚至颇得人心。但是,当剃发异服的命令发布时,民间的抵抗又强烈起来了。小小的江阴城,芝麻大的典吏,让凶悍的满洲武士流了不少血。 八十日带发效忠 表太祖十七朝人物 这幅挽联,高度赞扬了江阴人民对明帝国的忠诚。其实差矣!他们所忠于的,不是一家一姓,否则为什么清军刚刚南下的时候不抵抗,反而在清军已经占领了整个江南的情况下,才如此“不识时务”地起义呢?他们忠于的是我汉家的文化、汉家的血脉。有的民族,虽然勇悍,但是缺乏这种传承文化的勇气,所以最终消亡在历史的长河中。我们能走到今天,不是偶然。是因为无论哪个时代,无论现实有多么黑暗,希望是多么渺茫,但总有一群人,不顾一切地守护着我们的文化,我们的血脉。即使在低谷,即使有重利的诱惑,也绝不背叛。因为他们知道,如果放弃了自己的文化和血脉,一切都是没有意义的。一个人,首先要做自己。一个民族,也是一样的。日本当年,脱亚入欧,可以站在世界的顶峰几十年,可是仍然不免被打回原形。当一切都以利益为导向时,大战略往往无法实施,因为其他对手会“诱之以利”。日本正是在这样的情况下一步一步走向灭亡的。 “欲争雄于世界,必先征服中国,欲征服中国,必先取满洲”雄才大略的维新三杰与知人善用的明治大帝定下了一个对中国来说无比可怕的方案。但是他们的继承者,愚蠢地把这套方略本末倒置了!“欲稳固满洲、必征服中国,欲征服中国,须击败英美”,小日本总是用一个更大的问题来解决一个小问题。先是因为在青岛的过激行为,刺激了英国,葬送了英日同盟。又刺激了美国,并且不知让步。最后,为了保住侵略成果,竟然对美不宣而战!不到四年,便被打回原形,彻底丢失了明治维新以来的果实。 6月21日 珠海映像“霓虹灯下有血泪”,这是改革开放期间,保守者用来抨击改革开放的负面作用的一句话。过去在老家,在上海,觉得这句话很偏激,甚至有些荒谬。但是到了珠海,却不得不承认,在一定程度上,这是事实! 因为航班的原因,每次到达到珠海,都过了半夜十二点,海关已经关门了,必须在珠海住一夜,次日才能去澳门。每次都会遇到招徕顾客的站街女,在客房里也会接到推销特殊服务的电话。大约没有什么是不可拿来出卖的。“所谓忠诚,是背叛的价码太低”,这句话在这里得到了最真实的体现。改革开放的成果,不仅仅是这些麦当劳,还应该有些精神和道德层面的结果吧。古圣有云,“仓廪实而知礼节”。可现实呢? 有人说,上海让你觉得物欲横流,不适合生存。但是与广东这一带的特区相比,至少它还有一层温情脉脉的面纱,还有那一百多年的积淀。而这里,一切都是新建的,而且,它的目的是那么明确,解决生存问题——设立之初,对我党而言,是要在困境中闯出一条路;设立之后,对普通人来说,是冒险和淘金。从经济的角度,它是成功的。但是从政治上说(特别是精神、伦理层面),它非常失败。它泯灭了信仰、道德…… 或许是因为共产主义革命发端于俄国,而俄国革命者又深受“目的论”者涅恰耶夫的影响,认为手段是次要的,只要能获得革命的胜利,任何手段都在所不惜!但是,何谓革命的胜利?!人民是否真的可以享受革命胜利的果实?我党认为,改革开放,是一场足以媲美社会主义改造的革命。人民摆脱了物质匮乏。但是,时间的先后关系,并非是必然的因果关系。毕竟过去了三十年,本来社会也是应该发展进步的。 其实,每一次真正造成深远影响的革命,都是有它的思想背景的。没有启蒙运动,便不会有美国独立战争、法国大革命。没有新文化运动,也不会有波澜壮阔,最终彻底改变中国社会结构的新民主主义革命。而我们的改革开放,在很大程度上,依赖的不是先进的思想,而是人最原始的欲望!在这个过程中,人堕落成了动物。 历史上不止一次有黑暗的时代,但是总是有一部分人不绝望,不放弃,不惜代价地追求光明。今天,我们处在一个奇怪的时代,从物质、经济上衡量,也许中国从来没有这样繁荣过。但是思想和道德,大概也没有这样堕落过。五胡乱华,虽然有认贼做父的士子营,但是南渡的汉人还是保存了汉家血脉。崖山一跃,汉室虽亡,可是不屈的汉人最后还是喊着“手持钢刀九十九,杀尽胡儿才罢手”夺回了江山。即便是文字狱疯狂的清代,尚且有人叹息“我劝天公重抖擞,不拘一格降人才”。 今天思想与道德的颓废和低迷,根本原因也许不在于改革开放本身,而是我们的革命历程。无论是经典的马列主义,还是民粹派,都认为,应该打碎旧的国家机器,建立新的国家机器。在思想道德领域,也认为需要建立共产主义道德。道德,可以认为是一种偶像崇拜。但是偶像的力量来自于它的神圣性。如果有人敢于将偶像打倒,扔进垃圾堆,那么将来即使有人将其重塑,其影响力也大打折扣。在社会主义改造中,我们打倒了封建道德,也顺便打倒了儒家的一切。而在改革开放过程中,因为走了一条与社会主义改造、建设完全不同的道路,社会主义道德也在事实上被放弃。于是,唯一可用的,是人类的本能,贪婪和恐惧。通过贪婪,让大家工作;通过恐惧,让大家不敢捣乱。 6月10日 “金盾工程”时间表(zt) 2009年 (无责任转载,不对内容的真实性负责) 6月9日 时日何丧,吾与汝偕亡据说,我们的祖先,以这样的勇气,推翻了残暴的夏桀。许多许多年后,有人觉得,当政者不好,希望当政者改革。他们坐在公共场合,阻塞交通,以表达他们的愿望。大约因为距离夏桀已经有几千年了吧,他们完全不觉得自己会被怎么处理。结果嘛,和历史上每一次书生造反是一样的。 幸存者变成了偏执狂,居然和OO功、ZD、JD混在了一起!我想,如果民主的结果,是OO功大行其道,是边境少数民族区域民族自决,那么这简直是“民煮”。 遥想100年前,清政府垮台了,共和政府成立了。但结果却是军阀混战、外敌入侵、人民丧失家园。再坏的秩序,也要好于没有秩序,除非,我们的人民有几千年前的祖先那样的勇气。 6月2日 杨元帅的忌日和一个同学聊起科幻小说,不由想起昨天是《银河英雄传说》中的主角之一杨威利元帅的忌日。 田中芳树是个挺有名的作家,他的历史小说以及科幻小说都挺受读者欢迎的。特别是《中国武将列传》里面的陈庆之,一袭白衣,谈笑间,强虏灰飞烟灭,颇有周公瑾的气质。他也竭力在《银河英雄传说》中营造一种史诗的气氛。但是也许是小国寡民的天性吧,其气势和场景都不能和堪称银河时代的罗马帝国兴亡史的阿西莫夫的《基地》系列媲美。不过托各种传媒企业的福,《银河英雄传说》不仅拍了电影,还制作了一系列游戏,其知名度倒是大大超过《基地》系列。 杨威利元帅,虽然是东方人,却颇有西方文学作品中主角的特点,本想轻松地过一生,却因为处于一个激荡的大时代,且身负才华,而不得已走上了历史的舞台。从性格上说,杨元帅是个懒散的人,于是,一些《银河英雄传说》的fans, 制作了这张图,纪念杨元帅的最后一刻: 这只懒洋洋的猫,终于可以一睡永不醒了。 5月21日 Alloy 3.0 抽象建模语言八、语言特征 8.1 模块结构 本节讨论以下内容:
一个Alloy模型包括一个或多个文件,每个文件包含一个单独的模块(module). 有一个主模块用于模型分析,这个主模块直接或间接地导入其他模块。 一个模块包括三个部分,用于标识该模块的头部,若干导入,以及若干段落: module::=header import* paragraph* 一个模型可以完全可以只包含在一个模块里面,这样就不需要导入别的模块了。没有段落的模块在语法上是合法的,但是没有用处。 模块中的段落可以是签名、事实、函数、谓词、断言,以及运行命令、检查命令: paragraph::=sigDecl | factDecl | funDecl | predDecl | assertDecl | runCmd | checkCmd 签名用于表示集合,在分析过程中,可以指派具体的取值。签名扮演的角色类似编程语言中的静态变量。事实、函数和谓词都用于表示约束。用户使用命令来调用Alloy分析器进行分析。模块将除了命令以外的所有段落作为组件导出。分析只和主模块中的命令有关,其余模块中的命令被忽略。 模块通过路径和模块标识符命名,可以被一个或多个签名参数参数化。 header::=module [path] moduleId[[sigId,+]] path::=id / [path] 从默认的根目录算起,路径应当和模块文件所在的文件夹位置一致。在Alloy分析器中,可以指定一个根目录集合,因此库和领域相关的模型可以放在不同的位置。模块标识符是m的模块必须被保存在以m.als命名的文件里。 对于每个导入的模块,都必须有单独的导入语句。一个实例化的签名可以是一个类型、子类、子集,或是预定义的类型Int, univ中的一个。如果被导入的模块声明了一个签名,这个签名是一个签名参数的扩展,且用一个子集或是Int实例化了这个参数,那么会产生错误! 一个模块可以被多次导入。这样的结果并非对同一个模块做多次拷贝,而是在不同的名字下使其可用。 通过量化名字(qualified name)来引用导出模块的组件,这个量化名字包括模块的引用和组件的名称: sigRef::=[moduleRef] sigId | Int | univ funRef::=[moduleRef] funId predRef::=[moduleRef] predId assertRef::=[moduleRef] assertId 当一个组件的引用可能具有二义性时,必须量化该引用。但是在引用声明在同一个模块中的组件时,不需要量化。一个模块在被导入的时候,可以取一个别名,以方便使用。如果设置了被导入的模块的别名,就不要再使用原来的名字了。 模块的引用既可以是被导入模块的路径、模块标识符以及任何实例化参数,也可以是在导入语句中声明过的别名: moduleRef::=[path] moduleId [[sigRef,*]] | aliasId 一个模块中的段落可以以任何次序出现,并没有使用之前先定义的限制。即使某个导入的模块为另一个模块提供了实例化参数,导入模块的次序也是没有关系的。 模块名有它自己的名字空间,因此可以和签名、段落、参数或变量的名字重复,而不必担心冲突。 5月20日 Alloy 3.0 抽象建模语言六、语义基础 6.1 实例和含义 一个模型(model)的含义(meaning)是实例(instance)的若干合集(collection)。一个实例是取值到变量的一个绑定。一般来说,一个单独的实例表示一个状态,或者一个状态对(和一个操作的执行相关联),或者是一条执行迹(trace)。该语言没有内建的状态机标记,因此一个实例也不需要表示任何状态机之类的东西。
一个没有任何核心实例的模型是不一致的,一般来说,也是错误的。没有任何实例函数或谓词也是不一致的,也没有什么用处。一个断言应当没有实例,因为断言的实例是反例,说明断言不符合事实。 Alloy分析器在有限界限内自动地寻找一个模型的实例。因为搜索是有界限的,所以有可能虽然存在一个实例,但是搜索失败。不过被搜索到的实例一定是合法的实例。 6.2 关系逻辑 Alloy是一阶关系逻辑。赋给变量的取值,以及在给定实例的上下文环境中,表达式的估值都是关系。这些关系是一阶的,即组成这些关系的元组中的元素都是原子的,不再是关系。 Alloy并没有显式的集合、标量或元组标记。一个集合就是一个一元关系。一个标量是一个单例(singleton), 也是一元关系。一个元组是一个单例关系。类型系统区分集合与关系,因为他们的实参数目(arity)不同。但是并不将元组和标量与更一般的关系加以区分。 Alloy没有应用在函数上的操作符。关系结合运算仍然被使用。从语法上说,一个区分集合与标量的语言使用关系结合运算更加清晰。比如,给定一个函数关系f, 以及标量x和y, 那么公式 x.f=y 将关系f下面x的像限定在y上。只要x在f的定义域上,点“.”解释为函数应用,f是函数,x和y是有类型的标量变量,那么这个公式就会有相同的含义。但是如果x不在f的定义域上,那么表达式x.f将被计算为空集,因为y被限定为一个标量(也就是一个单例集合),整个公式都为假。在一个包含函数应用的语言中,可能会有多种含义,取决于对部分函数的处理。Alloy的方式的好处之一是它避开了这个问题。 Alloy的声明语法是按照所见即所得的思想设计的。比如,当X是一个集合时,这个量词公式 all x: X | F 中的x被限定为标量值,即公式F的取值是x到X的单例子集的绑定。 实际上,Alloy的语法是允许高阶量词的。比如,二元关系上的结合是可交换的,这一断言可以写作: assert{all p, q, r: univ –> univ | (p.q).r = p.(q.r)} 许多此类公式在分析时都将变为一阶形式,量称变量可以通过斯科林化(skolemize)消去。如果一个公式仍然是高阶的,Alloy分析器将给出警告,分析可能不可行。 Alloy也为整数提供了基本的支持。有一类表达式的取值是整数。在实例中,整数取值可能不限制在变量上,但是有一类特殊的整数原子,它们与基本整数取值相关,并且像其他原子一样,可能出现在被限定在变量上的关系中。
七、类型与重载 Alloy的类型系统的设计目标不同于编程语言。对于建模语言来说,没有运行时错误这一概念,因此不需要考虑类型完整的因素。但是,设计类型系统时,应当尽可能地允许多种合理的模型,不要产生虚假警告,同时还应该优先分析可以单独用声明的域和变量中的词加以解释的错误。 我们认为大部分用户会忽略类型系统的微妙特性。报告表达式类型错误的错误信息总是正确的,与一个真实的错误相关。下面将介绍怎么通过微小的系统修改了处理一个重载域引用的错误报告。 7.1 类型错误 Alloy会报告下列三种错误:
请注意,不相交的类型的并是允许的,因为它们未必会出错。比如,即使a和b是不相交的类型,表达式 (a+b).c在类型上也是是正确的,只要c的最左边一列的类型与a和b最右边一列的类型都有重叠。 7.2 域重载 签名的域可以被重载。就是说,两个不同的签名可以有同名的域,只要这两个签名不代表重叠的集合。域的引用会被自动处理。 重载的确定会利用表达式的全部上下文,和类型检查使用的信息是一样的。一个重载引用的每一种可能的确定都会被考虑。如果恰好只有一种,那么不会产生类型错误,就使用这样的重载。如果超过一种,将报告一个二义性引用的错误。 重载的确定利用关于可能的解的全部信息,包括实参数目、每一行的类型(而不仅是第一行)。因此,和面向对象语言(如Java)中的域解引用不同,分析在诸如x.f这样的表达式中对f的引用时,不仅考虑x的类型,也会使用整个表达式出现的上下文。比如,假定这个表达式是 a+x.f, 那么引用f可能被a的实参数组决定。 如果一个域引用不能被解析,那么可以通过修改表达式使之被解析。如果我们希望一个域引用f引用了签名S中声明的域f, 那么可以用表达式 S<:f来替换原先的f. 这个新的表达式的含义不变,但是确保了解析这个引用,除非S中声明的f将产生一个空集。注意这并非是一个特殊的强制语法,它仅仅取决于定义域限制操作符的标准语义。 7.3 子类 类型系统中包含子类的概念。这一概念有利于发现更多的错误,也为域提供了更灵活有效的名字空间。 任何表达式的类型都是由某些关系类型的并所组成的并类型。一个关系类型是基本类型的乘积。所有的基本类型构成一个格,其中univ是最大元,none是最小元。这个格来自声明的签名类型的树组成的森林。 由非关系类型组成的并类型在类型检查中被用于表示类型有问题的表达式,且与一个关系类型组成的并是不同的。这里的关系类型是none的乘积,被用于构造表示空关系的表达式。 子类型的语义很简单。如果一个签名是另一个签名的子类,那么它表示一个子集。一个签名的直接子类都是不相交的。仅在一个类型是另一个类型是直接/间接子类时,这两个类型才会重叠。看下面这个例子,这是一个连接 e1.e2 假设其中的子表达式的类型是: e1: A->B e2: C->D 如果基本类型B和C并不重叠,那么这个连接将产生一个不相交错误。如果B或C中的一个是另一个的子类,那么整个表达式的类型是 A->D. 无论是子类到超类,还是超类到子类,都不需要强制。如果一个域f被声明在签名S中,且sup和sub分别是类型为S的超类和子类的变量,那么sup.f和sub.f都是类型正确的。这两种情况下,表达式都不必为空。但是如果sup不在S内,或者f是一个偏函数,并且sub在它的定义域之外,这个表达式还是有可能为空的。另一方面,如果d是一个类型为D的变量,类型D和S的类型不相交,比如,因为S和D都是其他某个签名的直接子类,那么表达式d.f将是类型错误的,因为它始终为一个空关系! 7.4 函数和谓词 函数或谓词调用时,要做类型检查,以保证实际参数表达式不会和形式参数不相交。在实际的表达式中,公式的类型不会被用于处理域名的重载。 当一个函数或谓词运行的时候,函数和谓词的参数声明中的隐式约束和公式体结合在一起。但是,在一个函数或谓词被调用的时候,这些隐式约束是被忽略的。因此不能依据这些声明中的约束来获取语义效果,它们被当作多余的文档。Alloy的一下个版本也许会考虑引入一个检查机制,来确定实际表达式的值是否和公式中的声明约束相吻合。 7.5 整数和类型检查 只有整数表达式在基本整数上取值。Alloy区分关系表达式和整数表达式,因此在处理加法和减法操作符的重载时,不需要类型信息(对整数表达式,有加法和减法,对关系表达式,有并和差)。下面的表达式 #S+S=1 中的+号会被解析为关系运算符,虽然作为一个整体,这个公式在语法上是不合法的。 Int类型代表整数对象的预定义签名,类型系统像处理基本类型一样处理Int类型这个类型与其他基本类型都是不相交的,除了univ类型。 7.6 多样性关键字 Alloy允许用户使用多样性关键字进行说明:
可以把lone设想为“比一个还要少,或者正好一个”。 这些关键字可以在下列上下文环境使用:
当声明一个集合变量时,默认是one, 因此在声明 x: X中,若X是一元类型,x将被限定为一个标量。在这种情况下,set关键字会重载默认的关键字。 梦&失眠昨天入睡很顺利,但是半夜从梦中醒来了。梦境中似乎是某个历史沙龙,讨论1945年5月份东北抗联在苏联的物质支援下反攻东北(真的是做梦!真实的历史中,东北抗联在苏军进攻东北时只不过担任了部分侦查任务。当然,更离谱的在后面!),及其造成的影响。一方的观点是,因为我党领导的东北抗日联军解放了东北,在抗战胜利时,确保了我党与国民党势均力敌,才促成了双十协定,并最终建立了联合政府,奠定了战后至今的两党格局。另一方的观点是,联合政府的建立是历史的必然,并不是东北解放的结果。前者认为,如果没有东北的解放,国民党必定会凭借优势的实力,试图暴力解决我党。但是,接下来有两种子观点,一是认为国民党虽然占据物质优势,但是挑起内战,失去了大义名分,且内部腐败,最终会被我党击败;另一是我党难以抵御国民党的军事优势,恐怕会重蹈30年代湘赣苏区的覆辙。讨论到激烈处,我喊了一声,然后就醒了,无法睡着了。 5月19日 Alloy 3,0 抽象建模语言一、简介 Alloy是一种用于软件设计的轻量级建模语言。使用Alloy分析器,可以做全自动的分析。关于Alloy项目的信息,可以从这个页面获得:http://alloy.mit.edu. 本文概述了Alloy语言,不过并不适合做为入门教程。上述网站上有一个在线的教程,如何使用Alloy建模的教科书也即将推出。
二、词法规则 允许使用的字符是ASCII字符集中可打印的字符,但是下面二者除外:
ASCII字符集中的非打印字符中,下列四者可以使用:
因为在不同的平台上,断行点是不一样的,Alloy分析器接受任何回车符与换行符的标准组合。 非字母数字符号被用作操作符或标点符号,但是以下除外:
货币符号、百分号、疑问号是保留字,将在未来的版本中作为操作符使用。下划线和引号可以使用在标识符中。应该避免混淆各种引号,其中印刷体的引号(“, ”)是不被接受的。如果使用文字处理器书写Alloy代码,请确保智能引号功能没有开启,因为这个功能可能会将引号自动转化为印刷体。 --和//用于表示行注释,/**/用于表示块注释。多行注释不得嵌套。 非注释文本的分隔符如下:
文本的含义与它的格式有关。特别注意,换行符和空格、制表符一样被处理为空白。 关键字和标识符大小写敏感。 标识符可以包含任意数字字母符号,但是第一个字符不能是数字、下划线、疑问号或感叹号。连字符不得出现在标识符中,因为它可能被认为是操作符。 数字常量由0到9的数字串组成,但是第一个字符不能是0. 下列字符序列被认为是一个单词:
不等操作符(如!=)不被识别为单独的单词,因此在不等号和比较操作符之间,允许有空白。 下列保留字不得作为标识符使用:
三、名字空间 每个标识符属于一个单独的名字空间。有三种名字空间:
位于不同名字空间的标识符可以使用相同的名字,而不必担心名字冲突的风险。在一个名字空间中,相同的名字不应当被用于不同的标识符,除了以下情况:约束变量可以相互掩盖,也可以掩盖同名的域的名字。适用传统的词法作用域规则,绑定最近的名字。
四、语法 语法使用标准的巴克斯操作符:
另外,
为了避免语法符号的混淆,当括号、星号、加号、垂直条作为终结符号时,以粗体显示。终结数字表示一个数字常量。 五、优先级与结合性 逻辑操作符的优先级从高到低,如下所示:
表达式操作符的优先级从高到低,如下所示:
注意,点的绑定比方括号更紧密,因此,a.b[c]被解析为(a.b)[c] 所有的二元操作符都是可任意结合的,但是逻辑蕴含操作符、表达式操作符中的点、交和差除外。前者是右结合的,后三者是左结合的。因此,p=>q=>r被解析为p=>(q=>r), a.b.c被解析为(a.b).c 在一个蕴含式中,else子句总是和最近的then子句结合,因此,公式p=>q=>r, s被解析为p=>(q=>r, s). 5月14日 我最喜爱的电影Windows Live 推出了这项个性资料,“我最喜爱的电影”。貌似有一段时间不看电影了,能想起来的,喜爱的电影,都是之前看的。 1、《乱世佳人》 这部电影改编自小说《飘》,看这部的电影的缘由就是因为某年暑假(或者寒假,时间太久了,记不清楚了),家长买了这部小说,我们全家都被这部小说吸引了。当时在家附近的影碟店有这部电影的VCD出租,于是就看了。看电影的时候,似乎已经开学了。片长近四个小时,从晚饭后一直看到半夜12点。家长破例没有让我在10点钟之前休息。后来,家长某次出差,买了正版的VCD,于是又看了一遍。 这部小说,成功地诠释了人的心理——得不到的,永远是最好的;失去了,才知道珍惜。喜欢一部小说,一部电影,往往是因为产生了强烈地代入感,有共鸣。我妈妈和我,都是这个心理。妈妈总是会叨念爸爸当初如果怎么样,现在就怎么样了。而我,总是会设想如果高考志愿不要那样填写会如何。 上大学以后,还看过一次《乱世佳人》。有句话,是“那是我们再也回不去的从前”。这句话形容那段青涩纯洁的时光,是再经典不过了。当时一个异性朋友刚刚和男人大战一场,在分手的边缘。心情烦躁的她约我出去玩。我提议去图书馆看电影。于是两个人从下午不到5点看到晚上10点多。当时,也许双方只注意到对方是朋友,而根本没有想到是异性。还记得她的室友说,你俩在一起挺好的。我和她异口同声说,性格不合。倒是真有默契!最搞笑的是,某次回家,她鼓足勇气,向家长汇报说找男友了。没等她开口说姓名,她家长一脸平静地说,我们早就猜到了,不就是**吗?她错愕,怎么会是他呢,是**!“!@#¥”她家长终于露出了吃惊的表情。 2、《战争与和平》 没有人能脱离时代而存在。但是文艺作品或是帝王将相,或是柴米油盐,难得有将时代和个人结合起来的佳作。但是托尔斯泰的《战争与和平》成功地做到了这一点。任性的娜塔莎,年轻有为的安德烈,富有理想主义色彩的波尔……每个形象都是那么生动鲜活。特别是娜塔莎,即使如赫本这样的一代演艺大师,也无法与书中的娜塔莎相比。安德烈以军人的方式死去了。波尔和娜塔莎走到了一起。但是随着年龄的衰老,娜塔莎从一个可爱的小姑娘,变成了让人难以忍受的马铃薯。谁都熬不过时间么? 俄罗斯是一个矛盾的民族,她没有多么悠久的历史,却孕育了许多在人类文明史上举足轻重的大师。她的制度一向是欧洲乃至世界上最落后、最残暴的制度。她的领导人却常常怀有一颗人文主义的心。可以想象么,不止一位帝俄首辅,将十二月党人、民粹主义者、民主主义者中的名人的画像挂在自己的书房中。许多帝俄官员,在农奴制度废除之前,就变通地解放了农奴。但是,有良心的统治阶级,并没能挽回帝俄的命运。二月革命,与其说是一场有组织的革命,不如说是一场意外的骚乱。接下来的日子里,俄共抓住了机会。于是,《战争与和平》中所描述的场景,从现实中消失了 3、《第四十一个》 《色戒》播出,称赞者有,批评者也不少。其实如果除去某些视觉刺激,李安的创意一点儿也不新颖。汤唯扮演的女主角在最后一刻放弃了自己的使命,而《第四十一个》中的玛柳特卡却在最后一刻用信仰克服了爱情,亲手杀死了爱人。开枪后,她几近疯狂地扑向爱人,哭喊着“我的蓝眼睛啊…”无论是爱情压倒信仰,还是为了爱情放弃信仰,在今天看来,都是无可指责的。因为人们承认,爱情可以是一种信仰。 马克思指出,婚姻服从于经济。这并不矛盾。因为很多时候,爱情没有结果,就是因为婚姻要服从经济。在革命时期,就是一切要服从阶级。惟愿我们这个世界蓝眼睛的悲剧不要再次上演。 4、《这里的黎明静悄悄》 什么东西最扣人心弦?大约是将美好的东西毁灭吧。五个花季少女,本应好好享受青春年华,却背起钢枪,保家卫国,最后牺牲在战场上。美人鱼一样身材的冉卡,身为太子党,非常调皮,但是在关键时刻也勇于献身的热妮娅,已为人母,却总是为没有时间照顾孩子而伤心的丽达……最后,四个姑娘牺牲,丽达重伤,为了不拖累排长,丽达支开了排长,向自己的脑袋开了一枪。暴怒中的排长,冲进了敌人的窝点,用最后一颗子弹打倒了一个企图反抗的敌人,然后用没有引线的手榴弹吓住了其余的敌人,取得了战斗的胜利。 这部片子,也是在我的记忆中让我流泪的两部片子之一,另一部已经不记得名字了,大约是幼儿园时看的,关于熊猫的一部日本动画片。当影片的结尾,音乐声响起,在排长渐渐模糊的目光中,五个姑娘的身影再次浮现时,我的眼泪也出来了。 5、《啊!海军》 常说小日本死不悔改,这部片子也一样。不过作为青年的励志片,还是不错的。特别是结尾,日本人那种永不认输的精神。海军大学的校长说,虽然日本将要失败了,这批学生可能不会有机会上战场了,但是他们受过良好的教育,会在战后重建中发挥作用的。果然如此,日本战后的一大批精英,都是毕业于陆军大学或者海军大学的退役军人。小日本在战场上失去的东西,除了领土,几乎都在商场上夺回来了。 片中的两位主人公也塑造得很典型。贫家子弟出身的平田,一心想从政,改变社会的不公。他的好友本多,则希望通过军事政变,掌握政权,然后改造国体,让人民摆脱苦难。“我所在的部队,就是二二六中奋起的部队。前辈军官是背负着国贼的骂名死去的!可是我还要干……”而平田则因为加入了海军,产生了不一样的观点,认为国内问题的解决,依赖于国际问题,说白了,就是对外扩张。最后,这些小愤都成了军国主义的炮灰。 主流历史学家一般都把二二六事件,北一辉等划为军国主义分子,但是从他们的纲领来看,更像是社会主义者。虽然二二六事件的结果是加速了日本的军国主义化,但是这是因为二二六事件失败了。如果信奉社会主义的青年军官取得了胜利呢?当时日本的问题并不在于社会总财富太少,而在于分配不公正。“贪官敛财,人民受骗,社会乱成一团”而根源在于“财阀之势,不可一世,家国之事,不闻不问”。自伊藤博文、桂太郎之后,日本已经没有可以被称为政治家的领袖了。尽是些短视的、只顾小团体利益的政客。 5月12日 天南地北“为生活而到处奔波”,不曾想,这句话这么快就在我自己身上应验了。上上周,才到澳门,上周末,就又被拉到北京谈项目。接下来,据说每个月都要去一次。昨天从北京回澳门,抵达珠海时已是午夜,只能今天一早再过关闸。 我挺喜欢北京的,很有感觉的城市。可是每次都是来去匆匆。即使07年那次,在北京连续三周,也只出去玩了一天。北京,是座有底蕴的城市。千年的历史,使得那里的一草一木都有一段故事。中学时的某个暑假,在北京玩了十天。流连于那些古迹,我根本不想走。只是家长的假期有限,当时年龄尚小,家长也不同意我一个留下来玩。上大学以后,倒是有了许多次来北京的机会。可惜却不再有大把的空余时间。每次北京之行,都是来去匆匆,车站-办事点-车站,或者机场-办事点-机场。 这次北京的事情,还是很吸引我的,并非单纯地为生活奔波。航天,卫星,很让人激动,让人产生神圣感的字眼。只是对于今天的我来说,热血在一定程度上,只是撒狗血。二十年前,最后一批理想主义者死的死,逃的逃。对于文革以后出生、成长起来的人来说,不再有神圣感。因为他们或是见到了神是怎样被拉下神坛的,或是根本就成长在没有神的环境下。 |
|
|