<?xml version="1.0" encoding="gb2312"?>

<!-- RSS generated by oioj.net on 4/16/2004 ; 感谢LeXRus提供 RSS 2.0 文档; 此文件可自由使用，但请保留此行信息 --> 
<!-- Source download URL: http://blogger.org.cn/blog/rss2.asp       -->
<rss version="2.0">

<channel>
<title>lib的博客</title>
<link>http://blogger.org.cn/blog/blog.asp?name=lib</link>
<description>lib的博客</description>
<copyright>blogger.org.cn</copyright>
<generator>W3CHINA Blog</generator>
<webMaster>webmaster@blogger.org.cn</webMaster>
<item>
<title><![CDATA[王怀民的一个报告]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=lib&amp;id=7444</link>
<author>lib</author>
<pubDate>2005/7/25 23:58:57</pubDate>
<description><![CDATA[<P><STRONG>引自：<A href="http://www.ccwresearch.com.cn/important_events/2003_c_software_bbs/expert_lectures/wang_hm.asp">http://www.ccwresearch.com.cn/important_events/2003_c_software_bbs/expert_lectures/wang_hm.asp</A></STRONG></P>
<P><STRONG>国防科技大学计算机学院网络技术与信息安全研究所所长王怀民：</STRONG> </P>
<P>董事长、各位专家大家好，今天我跟大家交流的题目是网络时代软件技术的演进与变革，我想谈两个话题，第一是网络时代的计算环境究竟发生了什么样的本质性变化，有哪些特点，这样一个变化软件技术应该如何应对，是演进还是要产生变革。我们知道我们经历了个人计算机时代的形成发展，以及体会了它的好处，在这个过程当中我们又进了网络的时代，在时代的变化过程当中我们也在思考软件应该如何适应，软件技术过去给我们带来了什么，从做软件技术的角度讲人们有不同角度的分析，在软件界大家有一种讲法，说软件是填补计算机和应用空间的技术，它填补的技术是从两个方面来做的工作。 
<P>一个是从运行环境的角度上做，一个是从开发技术的角度上来做的，大家在软件技术领域经常是这样讲。比如产生的操作系统，操作系统能够把我们的处理器资源、内存资源，（英文）资源可以有效的管理和组织起来，同时它也提供一个比较一致的用户使用的调用模式，这是我们今天所熟悉的操作系统所发挥的作用。更进一步人们希望有一个良好的运行支撑环境，比如说我们有了ＯＯ的环境，更进一步说我们有了人机交互，ＧＯＹ以及刚才张院长提出更加自然，按照微软的说法，微软操作系统应该说把面向机器和面向人的运行环境都很好的组合在一起，这是一个方面。 
<P>在填补空间技术空间的另一个方面，我们如何给更好的开发技术，比如我们今天用的比较广泛的是面向对象开发技术，软件工程的这样一套技术，甚至是比如说在一些小型系统当中的形式化的自动生成软件的方法，这样一些开发技术有了这两头，一头我们往上垫，一头我们开发方法使得我们能够很好的把领域的问题映射到软件开发平台上来，我们就能够比较自如的开发应用，我们说软件从业人员应该做的事，两个，如何更好的运行环境，如何更好的开发环境。我们在学校经常有这个感觉，计算机学院应用写的不如其它学院的好，比如电子学院的好，大家觉得很悲哀，我们怎么搞的不行了，其实从另一个方面也体会到是一种成就，计算机从业人员的成就，使得更多其他专业的人能够方便使用的计算机，有了更好的开发环境，有了更好的运行环境。 
<P>今天我们面临的突出问题是什么呢？我们的计算环境变化，由一个单台的计算机变成计算机的网络，在网络上实施所谓的（英文），我们的应用环境也发生了变化，比如说我们要做网络应用，比如说我们企业要利用网络更加实时化，这是应用的发展和变化，在这样一个条件下我们需要一个什么样的操作系统，比如说我们需要什么样的支撑环境，需要一种什么样的开发方法使得我们在这样新的平台上开发这样一类新的应用呢？这就是我们今天软件技术从业人员从技术的角度应该回答的问题。在这个过程当中应该说过去十年，我们已经有了很多的实践，在实践的过程当中一方面我们加深了对平台特点的认识，对时代变化的认识，同时也产生一些技术，我们一边来回顾，一边看待这里面有没有规律。 
<P>我觉得我们对于计算环境首先最直接的感觉，就是异构性非常突出，在网络资源上存在着广泛的异构性，过去我们说计算机上有没有异构性？有，ＩＯ设备很多，有了文件系统把异构性抹平了，在今天的网络环境下异构性更加突出，不仅在硬件上，在操作系统上，在网络上，而且在应用协议上，提示语言上，应用模式上广泛存在异构性，这个问题怎么解决？过去我们说在运行环境当中大家比较关注的，比如说提出了网络操作系统，后来人们更进一步想我们应该有一个分布式操作系统，但是我们都没有看到这些东西，尤其是分布式操作系统在Ｉｎｔｅｒｎｅｔ广泛接受的东西，我们看到的却是技术发生了微小的演进，基本上不是彻底的变革，操作系统仍然是不变的，仍然是我们今天节点的操作系统，增加了互操作机制和相关的通讯服务，因此有了一个重要的软件概念叫中间件，尤其是支持比较高层的通讯的中间件的产生。操作系统没有变，这是我们讲运行环境下。 
<P>在开发基础上应该说主流的ＯＯ的这一套，以及构件化的软件开发方法也基本上被继承下来，只不过在这个环境下更加强调独立于平台的互操作性、可重用性和可移植性，我们看看是不是这样的情景。比如说我们在操作机制上，在交互机制上面，我们知道从八十年代开始，ＧＢ＆Ｐ的协议形成以后人们首先把它加入到操作系统里面，在操作系统里面运行了一个新的进程间交互机制，出现了（英文）ＡＰＩ，今天看它有一个非常实质性的变化。由此以后又进一步的仍然把网络看成通讯的时候，中间件又有了新的发展，比如说有了消息中间件，实际上在过去（英文）的模式下，使得在传输的过程当中我如何有效的逐步转发，如何有效的进行服务质量的保证，这样一套中间件。 
<P>我们把网络除了看成是通讯以外，我们觉得今天重要的强势是把网络看成计算平台，在这个过程当中发生了什么呢？首先人们自然的把过去的过程型的模式，把过程调用变成了远程过程调用，演进的形势非常明显，远程过程调用的中间件，随着过程产生了以后，人们说我终于可以方便过程的模式写分布式应用的时候，应用越写越大的时候又觉得过程模式在应付复杂问题时候巨大的局限性，此时此刻ＯＯ的方法，我们用面向对象的中间件，使得对象能够跨网络进行交互，应该说这些通讯机制为我们解决所谓的互操作性带来了很大的方便，但是在解决异构性的同时实际上异构性的东西仍然在发展。 
<P>首先我们已经做了若干种这样的机制，机制多了，同时即使是一种机制，它的标准，我们知道要互操作就要有标准，标准也是种类繁多。比如说有微软当年的.ＴＯＭ，以及现在.ＮＥＴ的这样的东西，有ＳＵＮ主导的ＪＡＶＡ这样的东西，有ＯＭＧ的ＣＯＲＢＡ这样的东西，标准有很大变化，各有特色，不仅标准有变化，标准异构性多样性，而且发展的模式上，在文化上有很大的变化。比方说微软主导着个人计算，甚至包括刚才张院长提到的，在其他的移动设备上等等的领域里面制定标准，使人们体会到在这个环境里面前所未有的一致性，在这个领域里面大家不感觉到有什么异构的存在。比如说像ＳＵＮ ＪＡＶＡ、Ｊ２ＥＥ这套方式是不是有点儿（英文）的发展模式，大家可以一起来，但是有一家是其中的召集者或者是头，再比如说ＯＭＧ这样的组织，在Ｉｎｔｅｒｎｅｔ里面有很多这样的组织，包括Ｉｎｔｅｒｎｅｔ本身，包括图形的标准本身，我们说是一种混合模式，大家可以投票举手表决，因此发展模式上也有很大的变化，我们一方面看到在消除异构性的过程当中我们有很多的机制和技术标准产生，同时也看到异构性仍然存在，因此我们说它可能是规律性的东西，我们以后仍然要定位。 
<P>怎么进一步应对，ＯＭＧ又在想办法，提出了叫ＭＤＡ模型驱动的体系结构，（英文）这样的东西，有四个部分，一个是内核的部分，内核的部分希望是什么呢？刚才我们提到的机制都是运行平台的异构性，我能不能在开发的阶段，在建模的时候大家不要那么多异构性，或者说建模的时候不要特别依赖于某种特别的平台，这就是它核心的部分，有关建模的这套技术。紧接着下面就是所谓的平台区，运行支撑的这套技术需要什么样的东西，比如说需要微软的平台或者说需要Ｊ２ＥＥ的平台都可以做，刚才一位同志问张院长，我觉得ＭＤＡ和（英文）模型先建好，（英文）到谁上面根据自己的需要做出选择。 
<P>之外就是它的横向服务，以及面向领域的特定应用和服务，构成这样的东西，在这样一个环境当中要做工作的话，希望首先独立于平台的先进行建模，建模以后映射成最终决定选择的，比如这里面又有Ｗｉｎｄｏｗｓ，又有ＵＮＩＸ，比如说我选择ＣＯＲＢＡ或者Ｊ２ＥＥ，如果都是Ｗｉｎｄｏｗｓ里面的，是不是我这个里面会有所局限，是不是以后.ＮＥＴ也应该进入到这里面，进一步映射成遵循这样模型标准的特定平台，可以这么做，现在已经有很多在开发技术上面遵循这样的体系在做这方面的工作，因此我们说走到今天有了异构性，我们的开发平台有更好的互操作机制，在开发平台上我们有一些独立于平台的建模方法，我们可以写更大规模的应用。 
<P>在这个过程当中我们又体会到在网络环境下开发应用的进一步的特征，我们叫做自治性，在网络资源存在着广泛局部的自治性，没有中央控制的特性，因此我们要给局部的自治性足够的协同能力，使得它能够联合起来成为完成更大规模的复杂应用，因此如何增加局部自治系统的协同能力成为我们必须关注的重要问题。我们可以举很多例子，比如说我们都熟悉临界区，我们有若干服务要访问临界区，在这个时候我们在网络环境下需要有一个协调者，使得每一个访问者和他形成一个协调的关系，当你没有获得协调者允许的时候是不能进入系统的。 
<P>大家会看到，和我们以前的单机系统有什么不同？不同的是单机系统有一个中心的内核，当你要进入临界的时候有一个严格的限定，没有得到许可是不能进去的，现在我们的环境下协同的参与者如果不遵守规矩，仍然可以进去，要有效的完成工作必须是他和协调者有效的协同才行，这是一个很重要的变化。也就是说一、二、三，这三个使用临界资源者可以不守规矩，但是不守规矩事情就没有办法做，因此我们需要协同服务，需要每个参与协调者遵守协调规则，这样我们才能有效的推进工作，因此在这个情况下，在这样特定认识的深入情况下，我们说软件运行机构开发技术有了较大的演进，甚至出现了变革的先兆。 
<P>首先操作系统还没有什么革命性的变化，但是中间件的内涵更进一步丰富，除了互操作机制以外，强调交互机制，强调在系统当中提供更多协同性的服务，在开发环境上大家感觉面向对象的方法只是强调组成服务的部件，而对于服务器本身之间的关联关系和支持不够或者说不自然，因此在学术界，在很多方面，企业界也有这方面的研究，所谓（英文），像Ａｇｅｎｔ、（英文）这样的方向发展，ＯＡ到ＡＯＡ、ＯＤ到ＡＯＤ，ＯＰ到ＡＯＰ这样的Ａｇｅｎｔ这样的机制，Ａｇｅｎｔ是什么东西呢？说的很多，没有统一的概念，像今天的（英文）一样，通常大家指在一个分布系统当中能够持续自主运行的独立行为，是什么？我们今天的服务就是（英文），我们在系统当中很多传感器就是（英文），它具有自治性、反应性和交互性。 
<P>通常一个结构就是事件驱动的软件运行实体的结构，首先有一个感知器，感知器获得了实践以后就可以适配，适配以后传递相应的处理转发器，处理相应的程序，我们知道我们今天ＧＯＩ这样的东西是典型的实际驱动的结构，服务器也是这样一种结构，我们和对象建模比较，Ａｇｅｎｔ建模有什么特别的进步呢？过去我们以服务器为例，我们只关心服务构建的接口，对象给我们带来什么好处？把操作于这个对象上的所有操作组合在一起，因此它的模块化带来了好处，但是它的局限是在于驱动这些服务的驱动没有和这些部件绑定在一起，因此我们在今天的Ｉｎｔｅｒｎｅｔ环境下更加要强调把完成服务的服务部件和它的感知和试配的部件绑定在一起，构成所谓的行为的系统。 
<P>比方说当我感知到一个事件以后它能够试配过去，选定相应的部件，同时它又能回来感知新的事件的产生，这样一个机构。围绕这个方面的研究工作大致可以从三个方面来讲，第一我们说是Ａｇｅｎｔ的运行，包括它的工具和协同管理，它的开放环境也就是它的基本构架，通信语言、设计的描述和设计方法，比如在智能化方面更加强调目标，适用性和结构，在这方面的工作推进过程当中大家对Ｉｎｔｅｒｎｅｔ环境下的特性又有了更深刻的认识，我有这方面的体会，这是我们讲的所谓的成长。网络上的资源是在不断的膨胀，网络之间的联系也不断地变化，需要更加灵活的管理机制和更有效的资源管理。 
<P>在这个过程当中我会经常听到这样的说法，过去我们的系统是这么开发的，比如说企业资源管理，首先我们在部门写了一个企业资源管理，随着公司架构变化了以后，比如说公司合并，你的资源管理能不能和我们资源管理结合在一起，我们过去两家不是统一设计，是不同的系统，如何集成有两个办法，老总说重新来，或者老总说我们为了节约资金，我们集成，不管怎么说有个老总讲话，当我们事情做的更大的时候，比如说做Ｂ２Ｂ的时候，ＩＢＭ要和微软的系统集成的时候，这时候就没有一个老总说我们是集成还是推翻重来，只有集成，后来人们又感觉到我现在觉得这里面有个规律，网络上的系统一定是集成起来，如何把已有的系统组合在一起这是基本的规律，是这样生长起来的，因此我们说不仅是网络资源不断地膨胀，在这上面的应用系统也体现了这种特质，是在这样一种形式下生长起来的。 
<P>更进一步我们觉得不仅是应用系统是这样不断地把已有的没有联系的系统联系起来的过程当中变得更大，而且过程当中需求也在不停地成长，我们举一个例子，首先我们要开发一个网络的监管系统，监管什么？监管流量，我们就做了流量的监管器，把相应的信息报给（英文），为了适应成长性我增加了所谓的注册器，让所有的采集器都注册进来，由（英文）去查询，得到信息，我们做好了这个系统，做好以后到了第二个阶段需求变化了，我除了看流量，还要看系统当中有没有非正常的行为，说好，我们再增加一些过滤器，把信息能够通报回来，过滤器如何和事件的分析器联系在一起，我们增加一个通告器，只要把异常通报给（英文）就可以了，他们说我除了发现特定的报文，我认为流量的异常也是一个，我能不能把已有的系统也集成到新的分析系统里面来？也就是说我们刚才说的（英文）能不能进来，也就是我们遇到了一个问题，如何把已存在的系统集成到未来的新系统当中去，如此等等我们会有很多这方面的进一步的发展，比如说我们要过滤很多的报文等等，我们还要对系统进行升级，还要发展，一句话需求一直在发展。 
<P>因此我们说变革可能不可避免，当我们关注异构性的时候，关注自治性的时候，关注成长性的时候变革不可避免，为什么？首先我们在软件研究过程中，我们的研究对象发生很大变化，过去我们研究具有明确边界的，确定需求的软件，开发这样的软件，现在逐步演变为边界是开放的，需求是不断递增的这样一个复杂的软件系统的成长性的开发，运行管理和维护，我们研究的对象发生了改变。第二我们研究方法也发生了很大变化，过去我们以分解、还原和逐步求精的为核心的分析方法，以后会逐步变为综合集成和自主适应为核心的系统性的方法，我们如何应对这样一种变化，首先我们要对研究对象有更深刻的认识，我们前面谈到很多，过去我们图灵基的理论，更广泛的讲可计算性的理论对我们今天所使用的计算机的基本特性在理论上已经讲的很清楚，但是对我们今天这样一个网络的特性是什么样的，实际上大家认识还不是很清楚，在现在的世界上物理学家和复杂性的一些专家把Ｉｎｔｅｒｎｅｔ作为对象来研究，一个重要的特性它是一个叫（英文），是一个无边界网，无边界网重要的特性，它在这里面存在少量的集散点，什么是集散点？这个点有大量的连接，专家会诊，越亮研究越多，它的案例是选的页面和节点的连接，节点上连接的分布是属于附属作用这样一个形态，它和过去的随机网是一个对照，随机网的特点是节点之间的连接速度都不会太大，不会太小，在均值的范围内。 
<P>这样一个环境，我们说能形成这个网的重要特征就是所谓的成长性和优先选择性，任何加入进来的一个节点它总是有一种倾向，选择已经比较著名的熟悉的节点，因此这个网成长完了以后就会变成这样一个所谓的（英文），我们实际上对它的研究还很不完整，不管怎么说我们需要深入的研究这样一个网络，因此我们在这个方面所要做的，从软件技术上我们所要研究两件事情，一件事情是网络当中无论是底层的还是上层应用，要研究它的行为主体构造性，也就是Ａｇｅｎｔ技术，另一方面我们需要认真研究的所谓的就是这些节点，行为主体之间的集成和交互体。比方我们刚才讲的网络，我们对它的集散节点的负载平衡的能力、抗攻击的能力要有很好的研究，比如在这个网络上我们对它的信任机制要有很好的研究，大规模协同的技术要有很好的研究，在这个方面应该说已经有了很好的发展。 
<P>比如说到了今天大家认为，像Ａｇｅｎｔ技术在特定领域里面已经有了应用，未来我们可能会有一些支持跨领域的Ａｇｅｎｔ系统的发展，有专家预测说到２００８年，我们一个开放系统的Ａｇｅｎｔ系统就会有了，十年以后我们会有这样一个全开放的，支持成长的，不管怎么说从软件技术的角度上讲，它的支撑技术，运行技术和开发技术都需要我们进一步的加强研究，会不会对我们今天技术产生革命性的影响呢？我个人以为这种潜质是存在的，我们是需要关注这样一个问题的，因此让我们共同参与探索，让我们拭目以待。 </P>]]></description>
</item><item>
<title><![CDATA[Amazon 的 Web Service]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=lib&amp;id=7432</link>
<author>lib</author>
<pubDate>2005/7/25 17:24:25</pubDate>
<description><![CDATA[<P>引自别人的BLOG：<A href="http://makzhou.blogbus.com/logs/2005/06/1289515.html">http://makzhou.blogbus.com/logs/2005/06/1289515.html</A><SPAN class=diarytitle><FONT color=#cc9933 size=3></FONT></SPAN></P>
<P><SPAN class=diarytitle><FONT color=#cc9933 size=3></FONT></SPAN>&nbsp;</P>
<P><SPAN class=diarytitle><FONT color=#cc9933 size=3>Amazon 的 Web Service</FONT></SPAN> <BR></P><SPAN class=diarycontent>
<P>对于我这样一个非计算机专业出身的人来说，要理解API(Application programming interface)这个概念实在是有一点吃力。不过早上偶尔翻起4月份（丢在一旁很久了）的《麻省理工学院科技评论》（Mit's Magazine of Innovation, Technology Review）却发现了这样一篇文章——《亚马逊：共享商店的资产》。</P>
<P>我最初并不知道成功利用API的商业化案例是Amazon.com所提出来的。在一个偶然（！）的机会，我从flickr.com上看到了热心的用户为他们开发的小程序，大致是用来显示flickr各个用户之间的关系图。开始的时候我还很纳闷，这小玩意是怎么弄出来的？后来才发现，这个程序，如果不能进入flickr的数据库，那是没可能实现的。于是就形成了对API的最初印象，就是一个开放式的数据库接口。后来在许多的blog上都看到人们谈论Amazon.com的开放API，也没怎么在意，直到看到这篇文章。</P>
<P>文章从<A href="http://www.kokogiak.com/amazon/default.asp"><FONT color=#336666>Amazon light</FONT></A>（亚马逊精简版）开始说起，这个网站只有一个amazon的搜索框，省去了载入amazon首页所要带来的麻烦。对于那些不喜欢分类浏览，而只喜欢搜索的买家来说（比方我），与其等待页面的载入，不如只给我看一个最有用的部位。</P>
<P>事实上，Amazon Light就是Amazon.com整个Web Services的一个缩影。当Amazon.com开始向程序员们免费提供amazon的核心——商品数据库的接口的时候，立刻就出现了许多这样的服务。比方说<A href="http://www.grokker.com/"><FONT color=#336666>Grokker</FONT></A>, Monsoon, Naturally Open, <A href="http://www.yesworld.com/"><FONT color=#336666>YES</FONT></A>, Allconsuming.net等等，都利用API推出了特色的服务。而这一看似违背商业运作常理的举动为他带来的，是有大量的程序员免费地为amazon开发出了各种有趣的服务，间接带来更多的用户。到2004年的11月，已经有6.5万的程序员加入了这个web services的行列中来。而那些各式各样的程序所带来的，又是数以n倍计的访问量。</P>
<P>我并非想讨论API技术上先进性，而是想指出AMAZON这种开放的精神——如果可以称为互联网先锋精神的话——所带来的革新。对于传统商家而言，自己的核心利益建立在产品的革新、销售渠道的建立（包括各种客户团体）之上，所以对他们来说，好比产品目录以及客户分布等信息是没有办法公开的，否则又如何建立自己的优势？但是Amazon Web Services(AWS)却反其道而行，竭力希望别人能够使用我的这些信息。文章中说道“公开全球最大的商品数据库、编辑内容和个性化功能，这种做法不可思议地令Amazon.com的营销变得更为有效，而这种经营策略如此违反常规，实在很难在市场上找到其他类似的案例。”我所看到的是，对于一家公司来说，它的创新能力总是有限，如何利用现有的资源无限拓广其使用面，可能比单纯地广告更为有效率。并不是每个公司都应当效仿这种方式（事实上它本身也并非完美无缺），但是它却为我们打开了利用互联网服务客户的新疆界。</P>
<P>在写完这篇文章的时候，我打开当当的网页想给以后几天的旅行买些书看，但是打开那个网页的过程是在很费劲。什么时候我们可以看到自己的Web Service呢？</P>
<P>Update: 忽然想起Goodknight跟我说过blogbus近期会推出自己的open api，满心期待着会有更多有趣的应用。</P></SPAN><BR>]]></description>
</item><item>
<title><![CDATA[计算机科学究竟应该学些什么--美国CC2001关于计算机科学的教学大纲]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=lib&amp;id=6445</link>
<author>lib</author>
<pubDate>2005/6/8 11:03:36</pubDate>
<description><![CDATA[因为感觉到人们对计算机科学有着太多的误区,在这里给出美国CC2001(关于计算机科学的教学大纲),看看计算机科学究竟应该学些什么.<BR>　　CC2001把计算学科分成14个主要领域:<BR>　　<BR>　　<BR>　　一.DS. Discrete Structures<BR>　　<BR>　　DS1. Functions, relations, and sets<BR>　　DS2. Basic logic<BR>　　DS3. Proof techniques<BR>　　DS4. Basics of counting<BR>　　DS5. Graphs and trees<BR>　　DS6. Discrete probability<BR>　　<BR>　　介绍:<BR>　　<BR>　　主要内容包括集合论,数理逻辑,近世代数,图论以及组合数学等.<BR>　　<BR>　　该领域与计算学科各主领域有着紧密的联系,CC2001为了强调它的重要性,特意将它列为计算学科<BR>　　的第一个主领域.该主领域以"抽象"和"理论"两个学科形态出现在计算学科中,它为计算学科各分<BR>　　支领域解决其基本问题提供了强有力的数学工具.<BR>　　<BR>　　<BR>　　二.PF. Programming Fundamentals<BR>　　<BR>　　PF1. Fundamental programming constructs<BR>　　PF2. Algorithms and problem-solving<BR>　　PF3. Object-oriented programming<BR>　　PF4. Fundamental data structures<BR>　　PF5. Recursion<BR>　　PF6. Event-driven and concurrent programming<BR>　　PF7. Using APIs<BR>　　<BR>　　介绍:<BR>　　<BR>　　主要内容包括程序设计结构,算法,问题求解和数据结构等.<BR>　　它考虑的是如何对问题进行抽象.它属于学科抽象形态方面的内容,<BR>　　并为计算学科各分支领域基本问题的感性认识(抽象)提供方法.<BR>　　<BR>　　基本问题主要包括:<BR>　　1.对给定的问题如何进行有效的描述并给出算法?<BR>　　2.如何正确选择数据结构?<BR>　　3.如何进行设计,编码,测试和调试程序?<BR>　　<BR>　　三.AL. Algorithms and Complexity <BR>　　<BR>　　AL1. Basic algorithmic analysis<BR>　　AL2. Algorithmic strategies <BR>　　AL3. Fundamental computing algorithms <BR>　　AL4. Distributed algorithms <BR>　　AL5. Basic computability theory <BR>　　AL6. The complexity classes P and NP<BR>　　AL7. Automata theory<BR>　　AL8. Advanced algorithmic analysis<BR>　　AL9. Cryptographic algorithms<BR>　　AL10. Geometric algorithms<BR>　　AL11. Parallel algorithms<BR>　　<BR>　　<BR>　　介绍:<BR>　　<BR>　　主要内容包括算法的复杂度分析,典型的算法策略,分布式算法,并行算法,可计算理论,<BR>　　P类和NP类问题,自动机理论,密码算法以及几何算法等.<BR>　　<BR>　　1.抽象形态的主要内容:包括算法分析,算法策略(如蛮干算法,贪婪算法,启发式算法,分治法等),<BR>　　 并行和分布式算法等.<BR>　　2.理论形态的主要内容:包括可计算性理论,计算复杂性理论,P和NP类问题,并行计算理论,密码学等. <BR>　　3.设计形态的主要内容:包括对重要问题类的算法的选择,实现和测试,对通用算法的实现和测试,<BR>　　 (如哈希表,图和树的实现与测试),对并行和分布式算法的实现和测试,对组合问题启发式算法的<BR>　　 大量实验测试,密码协议等.<BR>　　<BR>　　基本问题主要包括:<BR>　　1.对于给定的问题类,最好的算法是什么?要求的存储空间和计算时间有多少?空间和时间如何折衷?<BR>　　2.访问数据的最好方法是什么?<BR>　　3.算法最好和最坏的情况是什么?<BR>　　4.算法的平均性能如何?<BR>　　5.算法的通用性如何?<BR>　　<BR>　　<BR>　　四.PL. Programming Languages<BR>　　<BR>　　PL1. Overview of programming languages<BR>　　PL2. Fundamental issues in language design<BR>　　PL3. Virtual machines <BR>　　PL4. Introduction to language translation<BR>　　PL5. Language translation systems<BR>　　PL6. Type systems<BR>　　PL7. Models of execution control<BR>　　PL8. Declaration, modularity, and storage management<BR>　　PL9. Programming language semantics<BR>　　PL10. Programming paradigms<BR>　　PL11. Language-based constructs for parallelism<BR>　　<BR>　　介绍:<BR>　　<BR>　　主要内容包括程序设计模式,虚拟机,类型系统,执行控制模型,语言翻译系统,程序设计语言的语义学,<BR>　　基于语言的并行构件等.<BR>　　<BR>　　抽象形态的主要内容:包括基于语法和动态语义模型的语言分类(如静态型,动态型,函数式,<BR>　　过程式,面向对象的,逻辑,规格说明,报文传递和数据流),按照目标应用领域的语言分类(如商业数据处理,<BR>　　仿真,表处理和图形),程序结构的主要语法和语义模型的分类(如过程分层,函数合成,抽象数据类型和<BR>　　通信的并行处理),语言的每一种主要类型的抽象实现模型,词法分析,编译,解释和代码优化的方法,<BR>　　词法分析器,扫描器,编译器组件和编译器的自动生成方法等.<BR>　　<BR>　　理论形态的主要内容:包括形式语言和自动机,图灵机(过程式语言的基础),POST系统(字符串处理语言的基础),<BR>　　lamda-演算(函数式语言的基础),形式语义学,谓词逻辑,时态逻辑,近世代数等. <BR>　　<BR>　　设计形态的主要内容:包括把一个特殊的抽象机器(语法)和语义结合在一起形成的统一的可实现的整体特定语言<BR>　　(如过程式的(COBOL,FORTURN,ALGOL,Pascal,Ada,C),函数式的(LISP),数据流的(SISAL,VAL),面向对象的(Smalltalk,CLU,C++),逻辑的(Prolog),字符串(SNOBOL)和并发(CSP,Concurrent Pascal,Modula 2)),特定类型<BR>　　语言的指定实现方法,程序设计环境,词法分析器和扫描器的产生器(如YACC,LEX),编译器产生器,语法和语义<BR>　　检查,成型,调试和追踪程序,程序设计语言方法在文件处理方面的应用(如制表,图,化学公式),统计处理等.<BR>　　<BR>　　基本问题主要包括:<BR>　　1.语言(数据类型,操作,控制结构,引进新类型和操作的机制)表示的虚拟机的可能组织结构是什么?<BR>　　2.语言如何定义机器?机器如何定义语言?<BR>　　3.什么样的表示法(语义)可以有效地用于描述计算机应该做什么?<BR>　　<BR>　　五.AR. Architecture and Organization<BR>　　<BR>　　AR1. Digital logic and digital systems <BR>　　AR2. Machine level representation of data <BR>　　AR3. Assembly level machine organization <BR>　　AR4. Memory system organization and architecture <BR>　　AR5. Interfacing and communication <BR>　　AR6. Functional organization <BR>　　AR7. Multiprocessing and alternative architectures <BR>　　AR8. Performance enhancements<BR>　　AR9. Architecture for networks and distributed systems<BR>　　<BR>　　介绍:<BR>　　<BR>　　主要内容包括数字逻辑,数据的机器表示,汇编级机器组织,存储技术,接口和通信,<BR>　　多道处理和预备体系结构,性能优化,网络和分布式系统的体系结构等.<BR>　　<BR>　　抽象形态的主要内容:包括布尔代数模型,基本组件合成系统的通用方法,电路模型<BR>　　和在有限领域内计算算术函数的有限状态机,数据路径和控制结构模型,不同的模型<BR>　　和工作负载的优化指令集,硬件可靠性(如冗余,错误检测,恢复与测试),VLSI装置设计<BR>　　中的空间,时间和组织的折衷,不同的计算模型的机器组织(如时序的,数据流,表处理,<BR>　　阵列处理,向量处理和报文传递),分级设计的确定,即系统级,程序级,指令级,寄存器级<BR>　　和门级等.<BR>　　<BR>　　理论形态的主要内容:包括布尔代数,开关理论,编码理论,有限自动机理论等.<BR>　　<BR>　　设计形态的主要内容:包括快速计算的硬件单元(如算术功能单元,高速缓冲存储器),<BR>　　冯·诺依曼机(单指令顺序存储程序式计算机),RISC和CISC的实现,存储和记录信息,<BR>　　以及检测与纠正错误的有效方法,对差错处理的具体方法(如恢复,诊断,重构和备份过程),<BR>　　为VLSI电路设计的计算机辅助设计(CAD)系统和逻辑模拟,故障诊断,硅编译器等,在不同<BR>　　计算模型上的机器实现(如数据流,树,LISP,超立方结构,向量和多处理器),超级计算机等.<BR>　　<BR>　　基本问题主要包括:<BR>　　1.实现处理器内存和机内通信的方法是什么?<BR>　　2.如何设计和控制大型计算系统,而且使其令人相信,尽管存在错误和失败,但它仍然是按照我们的意图工作的?<BR>　　3.哪种类型的体系结构能够有效地包含许多在一个计算中能够并行工作的处理元素?<BR>　　4.如何度量性能?<BR>　　<BR>　　六.OS. Operating Systems <BR>　　<BR>　　OS1. Overview of operating systems<BR>　　OS2. Operating system principles<BR>　　OS3. Concurrency <BR>　　OS4. Scheduling and dispatch<BR>　　OS5. Memory management <BR>　　OS6. Device management<BR>　　OS7. Security and protection<BR>　　OS8. File systems<BR>　　OS9. Real-time and embedded systems<BR>　　OS10. Fault tolerance<BR>　　OS11. System performance evaluation<BR>　　OS12. Scripting<BR>　　<BR>　　介绍:<BR>　　<BR>　　主要内容包括操作系统的逻辑结构,并发处理,资源分配与调度,存储管理,设备管理,文件系统等 .<BR>　　<BR>　　抽象形态的主要内容:包括不考虑物理细节(如面向进程而不是处理器,面向文件而不是磁盘)而对<BR>　　同一类资源上进行操作的抽象原则,用户接口可以察觉的对象与内部计算机结构的绑定(Binding),<BR>　　重要的子问题模型(如进程管理,内存管理,作业调度,两级存储管理,和性能分析),安全计算模型<BR>　　(如访问控制和验证)等.<BR>　　<BR>　　理论形态的主要内容:包括并发理论,调度理论(特别是处理机调度),程序行为和存储管理的理论,<BR>　　(如存储分配的优化策略),性能模型化与分析等<BR>　　<BR>　　设计形态的主要内容:包括分时系统,自动存储分配器,多级调度器,内存管理器,分层文件系统和<BR>　　其他作为商业系统基础的重要系统组件,构建操作系统(如UNIX,DOS,Windows)的技术,建立实用程<BR>　　序库的技术(如编辑器,文件形式程序,编译器,连接器和设备驱动器),文件和文件系统等内容.<BR>　　<BR>　　<BR>　　基本问题主要包括:<BR>　　1.在计算机系统操作的每一个级别上,可见的对象和允许进行的操作各是什么?<BR>　　2.对于每一类资源,能够对其进行有效利用的最小操作集是什么?<BR>　　3.如何组织接口才能使得用户只需与抽象的资源而非硬件的物理细节打交道?<BR>　　4.作业调度,内存管理,通信,软件资源访问,并发任务间的通信以及可靠性与安全的控制策略是什么?<BR>　　5.通过少数构造规则的重复使用进行系统功能扩展的原则是什么?<BR>　　<BR>　　七.NC. Net-Centric Computing <BR>　　<BR>　　NC1. Introduction to net-centric computing <BR>　　NC2. Communication and networking <BR>　　NC3. Network security <BR>　　NC4. The web as an example of client-server computing<BR>　　NC5. Building web applications<BR>　　NC6. Network management<BR>　　NC7. Compression and decompression<BR>　　NC8. Multimedia data technologies<BR>　　NC9. Wireless and mobile computing<BR>　　<BR>　　介绍:<BR>　　<BR>　　主要内容包括计算机网络的体系结构,网络安全,网络管理,无线和移动计算以及多媒体数据技术等.<BR>　　<BR>　　抽象形态的主要内容:包括分布式计算模型(如C/S模式,合作时序进程,消息传递和远方过程调用),<BR>　　组网(分层协议.命名.远程资源利用,帮助服务和局域网协议),网络安全模型(如通信,访问控制和验证)等.<BR>　　<BR>　　理论形态的主要内容:包括数据通信理论,排队理论,密码学,协议的形式化验证等.<BR>　　<BR>　　设计形态的主要内容:包括排队网络建模和实际系统性能评估的模拟程序包,网络体系结构<BR>　　(如以太网.FDDI.令牌网),包含在TCP/IP中的协议技术,虚拟电路协议,Internet,实时会议等.<BR>　　<BR>　　基本问题主要包括:<BR>　　1.网络中的数据如何进行交换?<BR>　　2.网络协议如何验证?<BR>　　3.如何保证网络的安全?<BR>　　4.分布式计算的性能如何评价?<BR>　　5.分布式计算如何组织才能够使通过通信网连接在一起的自主计算机参加到一项计算中,而网络协议,<BR>　　 主机地址,带宽和资源则具有透明性?<BR>　　<BR>　　<BR>　　八.HC. Human-Computer Interaction<BR>　　<BR>　　HC1. Foundations of human-computer interaction<BR>　　HC2. Human-centered software evaluation<BR>　　HC3. Human-centered software development<BR>　　HC4. Graphical user-interface design<BR>　　HC5. Graphical user-interface programming<BR>　　HC6. HCI aspects of multimedia systems<BR>　　HC7. HCI aspects of collaboration and communication<BR>　　<BR>　　介绍:<BR>　　<BR>　　主要内容包括以人为中心的软件开发和评价,图形用户接口设计,多媒体系统的人机接口等.<BR>　　<BR>　　抽象形态的主要内容:包括人的表现模型(如理解,运动,认知,文件,通信和组织),原型化,<BR>　　交互对象的描述,人机通信(含减少人为错误和提高人的生产力的交互模式心理学研究)等.<BR>　　<BR>　　理论形态的主要内容:包括认知心理学,社会交互科学等.<BR>　　<BR>　　设计形态的主要内容:交互设备(如键盘,语音识别器),有关人机交互的常用子程序库,<BR>　　图形专用语言,原形工具,用户接口的主要形式(如子程序库,专用语言和交互命令),<BR>　　交互技术(如选择,定位,定向,拖动等技术),图形拾取技术,以"人为中心"的人机交互软件的评价标准等.<BR>　　<BR>　　基本问题主要包括:<BR>　　1.表示物体和自动产生供阅览的照片的有效方法是什么?<BR>　　2.接受输入和给出输出的有效方法是什么?<BR>　　3.怎样才能减小产生误解和由此产生的人为错误的风险?<BR>　　4.图表和其他工具怎样才能通过存储在数据集中的信息去理解物理现象?<BR>　　<BR>　　八.GV. Graphics and Visual Computing <BR>　　<BR>　　GV1. Fundamental techniques in graphics <BR>　　GV2. Graphic systems<BR>　　GV3. Graphic communication<BR>　　GV4. Geometric modeling<BR>　　GV5. Basic rendering<BR>　　GV6. Advanced rendering<BR>　　GV7. Advanced techniques<BR>　　GV8. Computer animation<BR>　　GV9. Visualization<BR>　　GV10. Virtual reality<BR>　　GV11. Computer vision<BR>　　<BR>　　介绍:<BR>　　<BR>　　主要内容包括计算机图形学,可视化,虚拟现实,计算机视觉等4个学科子领域的研究内容.<BR>　　<BR>　　抽象形态的主要内容:包括显示图像的算法,计算机辅助设计(CAD)模型,实体对象的计算机表示,<BR>　　图像处理和加强的方法.<BR>　　<BR>　　理论形态的主要内容:包括二维和高维几何(包括解析,投影,仿射和计算几何),颜色理论,认知心理学,<BR>　　傅立叶分析,线性代数,图论等<BR>　　<BR>　　设计形态的主要内容:包括不同的图形设备上图形算法的实现,不断增多的模型和现象的实验性图形算法<BR>　　的设计与实现,在显示中彩色图的恰当使用,在显示器和硬拷贝设备上彩色的精确再现,图形标准图形语言<BR>　　和特殊的图形包,不同用户接口技术的实现(含位图设备上的直接操作和字符设备的屏幕技术),用于不同的<BR>　　系统和机器之间信息转换的各种标准文件互换格式的实现,CAD系统,图像增强系统等.<BR>　　<BR>　　基本问题主要包括:<BR>　　1.支撑图像产生以及信息浏览的更好模型?<BR>　　2.如何提取科学的(计算和医学)和更抽象的相关数据?<BR>　　3.图像形成过程的解释和分析方法?<BR>　　<BR>　　十.IS. Intelligent Systems <BR>　　<BR>　　IS1. Fundamental issues in intelligent systems <BR>　　IS2. Search and constraint satisfaction <BR>　　IS3. Knowledge representation and reasoning <BR>　　IS4. Advanced search<BR>　　IS5. Advanced knowledge representation and reasoning<BR>　　IS6. Agents<BR>　　IS7. Natural language processing<BR>　　IS8. Machine learning and neural networks<BR>　　IS9. AI planning systems<BR>　　IS10. Robotics<BR>　　<BR>　　介绍:<BR>　　<BR>　　主要内容包括约束可满足性问题,知识表示和推理,Agent,自然语言处理,机器学习和神经网络,<BR>　　人工智能规划系统和机器人学等.<BR>　　<BR>　　抽象形态的主要内容:包括知识表示(如规则,框架和逻辑)以及处理知识的方法(如演绎,推理),<BR>　　自然语言理解和自然语言表示的模型(包括音素表示和机器翻译),语音识别与合成,从文本到<BR>　　语音的翻译,推理与学习模型(如不确定,非单调逻辑,Bayesian推理),启发式搜索方法,分支界<BR>　　限法,控制搜索,模仿生物系统的机器体系结构(如神经网络),人类的记忆模型以及自动学习和<BR>　　机器人系统的其他元素等.<BR>　　<BR>　　理论形态的主要内容:包括逻辑(如单调,非单调和模糊逻辑),概念依赖性,认知,自然语言理解<BR>　　的语法和语义模型,机器人动作和机器人使用的外部世界模型的运动学和力学原理,以及相关支<BR>　　持领域(如结构力学,图论,形式语法,语言学哲学与心理学)等.<BR>　　<BR>　　设计形态的主要内容:包括逻辑程序设计软件系统的设计技巧,定理证明,规则评估,在小范围领<BR>　　域中使用专家系统的技术,专家系统外壳程序,逻辑程序设计的实现(如PROLOG),自然语言理解<BR>　　系统,神经网络的实现,国际象棋和其他策略性游戏的程序,语音合成器,识别器,机器人等.<BR>　　<BR>　　基本问题主要有:<BR>　　1.基本的行为模型是什么?如何建造模拟它们的机器? <BR>　　2.规则评估,推理,演绎和模式计算在多大程度上描述了智能?<BR>　　3.通过这些方法模拟行为的机器的最终性能如何?<BR>　　4.传感数据如何编码才使得相似的模式有相似的代码?<BR>　　5.电机编码如何与传感编码相关联?<BR>　　6.学习系统的体系结构怎样?<BR>　　7.这些系统是如何表示它们对这个世界的理解的?<BR>　　<BR>　　十一.IM. Information Management <BR>　　<BR>　　IM1. Information models and systems <BR>　　IM2. Database systems<BR>　　IM3. Data modeling <BR>　　IM4. Relational databases<BR>　　IM5. Database query languages<BR>　　IM6. Relational database design<BR>　　IM7. Transaction processing<BR>　　IM8. Distributed databases<BR>　　IM9. Physical database design<BR>　　IM10. Data mining<BR>　　IM11. Information storage and retrieval<BR>　　IM12. Hypertext and hypermedia<BR>　　IM13. Multimedia information and systems<BR>　　IM14. Digital libraries<BR>　　<BR>　　介绍:<BR>　　<BR>　　主要内容包括信息模型与信息系统,数据库系统,数据建模,关系数据库,数据库查询语言,<BR>　　关系数据库设计,事务处理,分布式数据库,数据挖掘,信息存储与检索,超文本和超媒体,<BR>　　多媒体信息与多媒体系统,数字图书馆等.<BR>　　<BR>　　抽象形态的主要内容:包括表示数据的逻辑结构和数据元素之间关系的模型(如E-R模型,<BR>　　关系模型,面向对象的模型),为快速检索的文件表示(如索引),保证更新时数据库完整性<BR>　　(一致性)的方法,防止非授权泄露或更改数据的方法,对不同类信息检索系统和数据库(如<BR>　　超文本,文本,空间的,图像,规则集)进行查询的语言,允许文档在多个层次上包含文本,视频,<BR>　　图像和声音的模型(如超文本),人的因素和接口问题等 .<BR>　　<BR>　　理论形态的主要内容:包括关系代数,关系演算,数据依赖理论,并发理论,统计推理,排序与搜索,<BR>　　性能分析以及支持理论的密码学.<BR>　　<BR>　　设计形态的主要内容:包括关系,层次,网络,分布式和并行数据库的设计技术,信息检索系统的设计技术,<BR>　　安全数据库系统的设计技术,超文本系统的设计技术,把大型数据库映射到磁盘存储器的技术,<BR>　　把大型的只读数据库映射到光存储介质上的技术等.<BR>　　<BR>　　基本问题主要包括:<BR>　　1.使用什么样的建模概念来表示数据元素及其相互关系?<BR>　　2.怎样把基本操作(如存储,定位,匹配和恢复)组合成有效的事务?<BR>　　3.这些事务怎样才能与用户有效地进行交互?<BR>　　4.高级查询如何翻译成高质量的程序?<BR>　　5.哪种机器体系结构能够进行有效的恢复和更新?<BR>　　6.怎样保护数据,以避免非授权访问,泄露和破坏?<BR>　　7.如何保护大型的数据库,以避免由于同时更新引起的不一致性?<BR>　　8.当数据分布在许多机器上时如何保护数据,保证性能?<BR>　　9.文本如何索引和分类才能够进行有效的恢复?<BR>　　<BR>　　十二.SE. Software Engineering <BR>　　<BR>　　SE1. Software processes <BR>　　SE2. Software requirements and specifications <BR>　　SE3. Software design <BR>　　SE4. Software validation <BR>　　SE5. Software evolution <BR>　　SE6. Software project management <BR>　　SE7. Software tools and environments <BR>　　SE8. Component-based computing<BR>　　SE9. Formal methods<BR>　　SE10. Software reliability<BR>　　SE11. Specialized systems development<BR>　　<BR>　　介绍:<BR>　　<BR>　　主要内容包括软件过程,软件需求与规格说明,软件设计,软件验证,软件演化,软件项目管理,<BR>　　软件开发工具与环境,基于构件的计算,形式化方法,软件可靠性,专用系统开发等.<BR>　　<BR>　　<BR>　　抽象形态的主要内容:包括规约方法(如谓词转换器,程序设计演算,抽象数据类型和Floyd-Hoare 公理化思想),<BR>　　方法学(如逐步求精法,模块化设计),程序开发自动化方法(如文本编辑器,面向语法的编辑器和屏幕编辑器),<BR>　　可靠计算的方法学(如容错,安全,可靠性,恢复,多路冗余),软件工具与程序设计环境,程序和系统的测度与评价,<BR>　　软件系统到特定机器的相匹配问题域,软件研制的生命周期模型等.<BR>　　<BR>　　理论形态的主要内容:包括程序验证与证明,时态逻辑,可靠性理论以及支持领域:谓词演算,公理语义学和认知心理学等.<BR>　　<BR>　　<BR>　　设计形态的主要内容:包括归约语言,配置管理系统,版本修改系统,面向语法的编辑器,行编辑器,屏幕编辑器和字处理系统,实际使用并受到支持的特定软件开发方法(如HDM,Dijkstra,Jockson,Mills和Yourdon倡导的方法),测试的过程与实践(如遍历,手工仿真,模块间接口的检查),质量保证与工程管理,程序开发和调试,成型,文本格式化和数据库操作的软件工具,安全计算系统的标准等级与确认过程的描述,用户接口设计,可靠容错的大型系统的设计方法,以"公众利益为中心的"软件从业人员认证体系.<BR>　　<BR>　　基本问题主要包括:<BR>　　<BR>　　1.程序和程序设计系统发展背后的原理是什么?<BR>　　2.如何证明一个程序或系统满足其规格说明?<BR>　　3.如何编写不忽略重要情况且能用于安全分析的规格说明?<BR>　　4.软件系统是如何历经不同的各代进行演化的?<BR>　　5.如何从可理解性和易修改性着手设计软件?<BR>　　<BR>　　十三.SP. Social and Professional Issues<BR>　　<BR>　　SP1. History of computing<BR>　　SP2. Social context of computing <BR>　　SP3. Methods and tools of analysis <BR>　　SP4. Professional and ethical responsibilities <BR>　　SP5. Risks and liabilities of computer-based systems <BR>　　SP6. Intellectual property <BR>　　SP7. Privacy and civil liberties <BR>　　SP8. Computer crime<BR>　　SP9. Economic issues in computing<BR>　　SP10. Philosophical frameworks<BR>　　<BR>　　<BR>　　介绍:<BR>　　<BR>　　主要内容包括计算的历史,计算的社会背景,分析方法和工具,专业和道德责任,基于计算机系统的风险与责任,<BR>　　知识产权,隐私与公民的自由,计算机犯罪,与计算有关的经济问题,哲学框架等.<BR>　　<BR>　　该主领域属于学科设计形态方面的内容.根据一般科学技术方法论的划分,该领域中的价值观,<BR>　　道德观属于设计形态中技术评估方面的内容.知识产权属于设计形态中技术保护方面的内容.<BR>　　而CC1991报告提到的美学问题则属于设计形态中技术美学方面的内容.<BR>　　<BR>　　基本问题主要包括:<BR>　　1.计算学科本身的文化,社会法律和道德的问题.<BR>　　2.有关计算的社会影响问题,以及如何评价可能的一些答案的问题.<BR>　　3.哲学问题.<BR>　　4.技术问题以及美学问题.<BR>　　<BR>　　十四.CN. Computational Science <BR>　　<BR>　　CN1. Numerical analysis<BR>　　CN2. Operations research<BR>　　CN3. Modeling and simulation<BR>　　CN4. High-performance computing<BR>　　<BR>　　介绍:<BR>　　<BR>　　主要内容包括数值分析,运筹学,模拟和仿真,高性能计算.<BR>　　<BR>　　抽象形态的主要内容:包括物理问题的数学模型(连续或离散)的形式化表示,连续问题的离散化技术,<BR>　　有限元模型等.<BR>　　<BR>　　理论形态的主要内容:数论,线性代数,数值分析,以及支持领域,包括微积分,实数分析,复数分析和代数等.<BR>　　<BR>　　设计形态的主要内容:用于线性代数的函数库与函数包,常微分方程,统计,<BR>　　非线性方程和优化的函数库与函数包,把有限元算法映射到特定结构上的方法等.<BR>　　<BR>　　基本问题主要包括:<BR>　　<BR>　　1.如何精确地以有限的离散过程近似表示连续和无限的离散过程?<BR>　　2.如何处理这种近似产生的错误?<BR>　　3.给定某一类方程在某精确度水平上能以多快的速度求解?<BR>　　4.如何实现方程的符号操作,如积分,微分以及到最小项的归约?<BR>　　5.如何把这些问题的答案包含到一个有效的,可靠的,高质量的数学软件包中?<BR>　　==================================================<BR>　　其实计算机科学是非常博大精深的,随便找个领域都够你学一辈子啦.<BR>]]></description>
</item><item>
<title><![CDATA[QQ协议]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=lib&amp;id=6013</link>
<author>lib</author>
<pubDate>2005/5/23 20:02:18</pubDate>
<description><![CDATA[QQ协议说明： <BR>协议由报文头(T)+发送者(T)+接收者(T)+报文类型（T）+报文长度(L)+报文内容组成 <BR>发送者和接收者是系统内的程序种类,OICQ服务器0x01,传真服务器0x02,WEB服务器0x03,打印服务 <BR>器是0x04,聊天服务器是0x05,OICQ用户是0x0A。 OICQ用户到OICQ服务器的通讯协议 引导符 （0x81+0x0A+0x01） <BR>报文类型 报文内容 报文说明 <BR>0x01 昵称（S）+肖像（M）+用户密码（S）+性别（T）+年龄（T）+真实姓名（S）+国家/地区 <BR>（T）+省（T）+市（S）+地址（S）+邮编（S）+学历（T）+毕业院校（S）+职业（T）+电话（S） <BR>+寻呼（S）+电邮（S）+爱好（S）+说明（S）+身份验证（T） 新用户注册，身份验证用于当有人 <BR>要将他加入好友时询问是否允许 <BR>0x02 服务号（L）+密码（S）+注册方式（T） 老用户注册，方式分为0正常，1隐身 <BR>0x03 服务号（L）+对方服务号（L）+内容（S） 发送信息到某人 <BR>0x04 服务号（L）+组号（L）+内容（S） 广播信息，组号=0为全体 <BR>0x05 服务号（L）+朋友服务号（L） 查看朋友资料 <BR>0x06 服务号（L）+组名称（S） 增加组 <BR>0x07 服务号（L）+组编号（T）+组名称（S） 修改组名称 <BR>0x08 服务号（L）+组编号（T） 删除组 <BR>0x09 服务号（L）+移动人数（T）+{朋友服务号（L）+目的组号（T）} 移动组成员 <BR>0x0a 服务号（L）+起始编号(L)+回传个数（T）+查找标志(T) 看谁在线上 <BR>查找标志 1=向小找 2=向大找 <BR>0x0b 服务号（L）+SQL语句（S） 自定义查找 <BR>0x0c 服务号（L）+朋友服务号（L） 增加好友 <BR>0x0d 服务号（L）+朋友服务号（L）+加入原因（S） 请求加入好友 <BR>0x0e 服务号（L）+朋友服务号（L） 删除好友 <BR>0x10 服务号（L）+显示模式（T） 更改显示方式 1上线2隐藏3免打扰4离线 <BR>0x11 服务号（L）+监视服务号（L） 监视某人谈话 <BR>0x12 服务号（L）+昵称（S）+肖像（M）+用户密码（S）+性别（T）+年龄（T）+真实姓名（S）+ <BR>国家/地区（T）+省（T）+市（S）+地址（S）+邮编（S）+学历（T）+毕业院校（S）+职业（T）+ <BR>电话（S）+寻呼（S）+电邮（S）+爱好（S）+说明（S）+身份验证（T） 更改用户基本信息 <BR>0x13 服务号(L)+朋友服务号（L）+文件名(S)+文件长度(L) 请求发送文件 <BR>0x14 服务号（L）+朋友服务号（L）+允许/拒绝 是否允许发送文件 <BR>0x15 服务号（L）+朋友服务号（L）+文件内容（B） 发送文件 <BR>0x16 服务号（L） 连接测试报文 <BR>0x17 服务号（L）+朋友服务号（L）+同意标志(T) 应答对方请求加入好友 <BR>0=拒绝 <BR>1=同意 &nbsp; &nbsp; OICQ服务器到OICQ的通讯协议 <BR>报文类型 报文内容 报文说明 <BR>0x01 成功/失败（T）+服务号（L） 新用户注册结果返回 <BR>0x02 成功/失败（T）+组个数（T）+{组名称（S）+组编号（T）+朋友个数（T）+{朋友服务号 <BR>（L）+肖像编号（T）+朋友状态(T)+朋友昵称（S）] 老用户注册结果返回 <BR>朋友状态 <BR>1=上线=2隐藏=3免打扰4离线 <BR>0x03 标志(T) + 朋友服务号（L）+信息（S）+信息类型（T） 标志 1=系统 2=用户 <BR>发送消息，服务号=0是系统消息 <BR>1=用户某某已经把你加为好友 <BR>2=用户某某请求你通过身份验证 <BR>3=用户某某同意了你的验证要求 <BR>4=用户某某拒绝了你的验证请求 <BR>0x04 成功/失败（T）+朋友服务号(L)+昵称（S）+肖像（M）+性别（T）+年龄（T）+真实姓名 <BR>（S）+国家/地区（T）+省（T）+市（S）+地址（S）+邮编（S）+学历（T）+毕业院校（S）+职业 <BR>（T）+电话（S）+寻呼（S）+电邮（S）+爱好（S）+说明（S） 朋友信息回送 <BR>0x05 成功/失败（T）+组编号（T）+组名称（S） 增加组结果回送 1/0 <BR>0x06 成功/失败（T）+组编号（T）+组名称（S） 修改组名称结果回送1/0 <BR>0x07 成功/失败（T）+组编号（T） 删除组结果回送1/0 <BR>0x08 成功/失败（T） 移动组成员结果回送1/0 <BR>0x09 成功/失败（T）+在线个数（T）+{服务号（L）+昵称（S）+肖像（M）+省（T）+市（S）} <BR>查找在线人员结果回送 <BR>0x0a 成功/失败（T）+找到个数（T）+{服务号（L）+昵称（S）+肖像（M）+省（T）+市（S）} <BR>自定义查找结果回送（最多50） <BR>0x0b 标志（T）+朋友服务号（L） 增加好友结果回送标志 <BR>0=数据库失败 <BR>=1成功 <BR>=2需要身份验证 <BR>=3对方不允许加入 <BR>=4需要身份验证且不在线 <BR>0x0c 朋友服务号(L)+昵称（S）+肖像号（M）+朋友状态(T) 给在线用户增加好友 <BR>0x0e 成功/失败（T）+朋友服务号（L） 删除好友结果回送 <BR>0x10 服务号（L）+显示模式（T） 显示模式回送 =1上线=2隐藏=3免打扰4离线 <BR>0x11 成功/失败 更改用户基本信息结果回送 <BR>0x12 朋友服务号（L）+文件名（S）+文件长度（L） 请求发送文件 <BR>0x13 朋友服务号（L）+允许/拒绝 是否允许发送文件 1允许 0拒绝 <BR>0x14 朋友服务号（L）+文件内容（B） 发送文件 <BR>0x15 朋友服务号（L）+当前状态（T） 朋友状态回送（系统发送）=1上线=2隐藏=3免打扰4离线 <BR>0x16 服务号（L） 连接测试 <BR>]]></description>
</item><item>
<title><![CDATA[困惑许久的问题]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=lib&amp;id=5674</link>
<author>lib</author>
<pubDate>2005/5/12 9:05:56</pubDate>
<description><![CDATA[<P>thesis的进度实际上已经停下来好几天了，从五一大假前就在想的一个问题一直没有解决。现在的思路是用Petri网来描述组合服务的流程模型。希望不仅能够在控制流上借鉴工作流网的一些成果，而且希望不要忽略了数据流。但是现在发现没有东西可以借鉴时，自己基本上无法提出能够说服自己的结论。而且PN的底子太差，买的几本书根本不能解决问题，论文又搜不到。</P>
<P>　蒋昌俊的那本Petri网行为理论是什么呀。就是他的论文堆在一起就出书了，也不考虑连不连贯，读者看不看不懂。就连我这个外行都很容易地看出了其中好几处错误，看来作者也没有好好地校过。现在出本书就这么容易吗？想想以前的学者是何种精神，毕生心血集成一本小册子，可如今是个人就是编本大全。</P>
<P>　Petri网原理与应用这本书倒是个不错的教材，作者似乎是个性情中人，挺喜欢那种有一点点狂放的感觉。作者在序中间就把工作流网的大牛批得体无完肤，说话没有一点官僚的虚伪。虽然我不完全同意作者的观点，但是觉得这样的人很可爱。</P>
<P>　好了，开始工作了。</P>]]></description>
</item><item>
<title><![CDATA[开坛第一贴]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=lib&amp;id=5667</link>
<author>lib</author>
<pubDate>2005/5/11 18:13:01</pubDate>
<description><![CDATA[<P>要写博士论文了，意味着我将进入读书生涯的最后一段时期。</P>
<P>　黑暗的日子！</P>
<P>　但愿是黎明前的黑暗.......</P>]]></description>
</item>
</channel>
</rss>