摘要:
准备八卦Edmund等人算法时才想起,其1986年成名作是讨论用CTL (Computational Tree Logic) 作规范语言的模型验证算法,而第一篇八卦形式化只介绍了LTL。虽说也有算法对付Kripke结构上的LTL模型验证,但一来该算法的复杂度为P-SPACE,远不如在Kripke结构上玩儿CTL的算法复杂度来得震撼;二来经典的LTL模型验证方法是将LTL公式转换为Büchi Automata后表演自动机理论与搜索算法的花活。三来俺的初衷是介绍今年图灵奖得主Edmund等人的工作,铺垫半天后突然跳到跟自动机理论有关的LTL模型验证,大有相亲却看中女方伴娘的架势,不够厚道 阅读全文
摘要:
接着八卦前先回答老大们直指灵魂的问题。不就是系统状态遍历的问题么?干嘛非得用什么时序逻辑、模型一类的形式化手段啊?搞得比陈凯歌还深沉。做人不能这么无耻不是?找个真正的程序员,放出手里的蝴蝶不就搞定了?嗯,很多程序的确可以靠程序达人强大的自觉和天才的排错能力搞定。问题是,模型检验的对象是高并发复杂系统(比如说1020个状态),目标是绝对可靠地查出系统的错误,既不错杀三千,也不放过一个。这些系统失败时的代价也高昂。奔腾94年的FDIV错误花掉Intel至少5亿美元。偏偏我们对并发系统编程也没有什么特别有效的手段,不然大家也不至于对Heisenbug津津乐道了。我们在这种情况下怎么能全靠自己的直觉? 阅读全文
摘要:
好遗憾,直到最近才无意间在CSDN发现这么牛逼的一坨博客。我一直以为MC只是学术界的事情,工业界哪可能会有人静下心来研究这个呢?看完之后真是激动万分啊,这是一个很棒的科普系列文章。也正是我在做的课题。一直想自己弄个国内的模型检测的开源软件,以此为鞭策继续努力。废话不说了,看g9老大的文彩吧~2007年的图灵奖授予Edmund M. Clarke, E. Allen Emerson, and Joseph Sifakis,表彰他们在模型验证方面做出的开创性贡献。前段时间白天忙项目,晚上改简历准备面试,也就没有心情八卦。刘江老师在他的博客里做了详细介绍,在这里推荐一下。关于几位大牛,俺没有什么补. 阅读全文
摘要:
Updated 1st:2011.8.7 Project2:解读percolation_provided这里咱们开始解读项目2中提供的percolation_provided.py,一共提供了4个函数,分别为:printgrid(grid): prints the grid represented by the nested list, one row per line (this module may be helpful in testing and debugging your code) printgrid(grid):输出用嵌套列表表示的网络,每排代表一行(这一模型可能对测试和调试你 阅读全文