毕业设计外文翻译-中文版

合集下载

毕业论文(设计)外文文献翻译及原文

毕业论文(设计)外文文献翻译及原文

金融体制、融资约束与投资——来自OECD的实证分析R.SemenovDepartment of Economics,University of Nijmegen,Nijmegen(荷兰内梅亨大学,经济学院)这篇论文考查了OECD的11个国家中现金流量对企业投资的影响.我们发现不同国家之间投资对企业内部可获取资金的敏感性具有显著差异,并且银企之间具有明显的紧密关系的国家的敏感性比银企之间具有公平关系的国家的低.同时,我们发现融资约束与整体金融发展指标不存在关系.我们的结论与资本市场信息和激励问题对企业投资具有重要作用这种观点一致,并且紧密的银企关系会减少这些问题从而增加企业获取外部融资的渠道。

一、引言各个国家的企业在显著不同的金融体制下运行。

金融发展水平的差别(例如,相对GDP的信用额度和相对GDP的相应股票市场的资本化程度),在所有者和管理者关系、企业和债权人的模式中,企业控制的市场活动水平可以很好地被记录.在完美资本市场,对于具有正的净现值投资机会的企业将一直获得资金。

然而,经济理论表明市场摩擦,诸如信息不对称和激励问题会使获得外部资本更加昂贵,并且具有盈利投资机会的企业不一定能够获取所需资本.这表明融资要素,例如内部产生资金数量、新债务和权益的可得性,共同决定了企业的投资决策.现今已经有大量考查外部资金可得性对投资决策的影响的实证资料(可参考,例如Fazzari(1998)、 Hoshi(1991)、 Chapman(1996)、Samuel(1998)).大多数研究结果表明金融变量例如现金流量有助于解释企业的投资水平。

这项研究结果解释表明企业投资受限于外部资金的可得性。

很多模型强调运行正常的金融中介和金融市场有助于改善信息不对称和交易成本,减缓不对称问题,从而促使储蓄资金投着长期和高回报的项目,并且提高资源的有效配置(参看Levine(1997)的评论文章)。

因而我们预期用于更加发达的金融体制的国家的企业将更容易获得外部融资.几位学者已经指出建立企业和金融中介机构可进一步缓解金融市场摩擦。

本科毕业设计外文翻译(中文)

本科毕业设计外文翻译(中文)

本科生毕业设计(论文)外文翻译外文原文题目:Real-time interactive optical micromanipulation of a mixture of high- and low-index particles中文翻译题目:高低折射率微粒混合物的实时交互式光学微操作毕业设计(论文)题目:阵列光镊软件控制系统设计姓名:任有健学院:生命学院班级:06210501指导教师:李勤高低折射率微粒混合物的实时交互式光学微操作Peter John Rodrigo Vincent Ricardo Daria Jesper Glückstad丹麦罗斯基勒DK-4000号,Risø国家实验室光学和等离子研究系jesper.gluckstad@risoe.dkhttp://www.risoe.dk/ofd/competence/ppo.htm摘要:本文论证一种对于胶体的实时交互式光学微操作的方法,胶体中包含两种折射率的微粒,与悬浮介质(0n )相比,分别低于(0L n n <)、高于(0H n n >)悬浮介质的折射率。

球形的高低折射率微粒在横平板上被一批捕获激光束生成的约束光势能捕获,捕获激光束的横剖面可以分为“礼帽形”和“圆环形”两种光强剖面。

这种应用方法在光学捕获的空间分布和个体几何学方面提供了广泛的可重构性。

我们以实验为基础证实了同时捕获又独立操作悬浮于水(0 1.33n =)中不同尺寸的球形碳酸钠微壳( 1.2L n ≈)和聚苯乙烯微珠( 1.57H n =)的独特性质。

©2004 美国光学学会光学分类与标引体系编码:(140.7010)捕获、(170.4520)光学限制与操作和(230.6120)空间光调制器。

1 引言光带有动量和角动量。

伴随于光与物质相互作用的动量转移为我们提供了在介观量级捕获和操作微粒的方法。

过去数十年中的巨大发展已经导致了在生物和物理领域常规光学捕获的各种应用以及下一代光学微操作体系的出现[1-5]。

采矿工程 毕业设计_外文翻译 英译汉 中英文

采矿工程 毕业设计_外文翻译 英译汉 中英文

ROOM-AND-PILLAR METHOD OF OPEN-STOPE MINING空场采矿法中的房柱采矿法Chapter 1.A Classification of the Room-and-Pillar Method of Open-Stope Mining第一部分,空场采矿的房柱法的分类OPEN STOPING空场采矿法An open stope is an underground cavity from which the initial ore has been mined. Caving of the opening is prevented (at least temporarily) by support from the unmined ore or waste left in the stope,in the form of pillars,and the stope walls (also called ribs or abutments). In addition to this primary may also be required using rockbolts , reinforcing rods, split pipes ,or shotcrete to stabilize the rock surface immediately adjacent to the opening. The secondary reinforcement procedure does not preclude the method classified as open stoping.露天采场台阶是开采了地下矿石后形成的地下洞室。

通过块矿或采场的支柱和(也称为肋或肩)采场墙形式的废料的支持来(至少是暂时的)预防放顶煤的开幕。

除了这个,可能还需要使用锚杆,钢筋棒,分流管,或喷浆,以稳定紧邻开幕的岩石表面。

java毕业设计中英文翻译

java毕业设计中英文翻译

java毕业设计中英文翻译篇一:JAVA外文文献+翻译Java and the InternetIf Java is, in fact, yet another computer programming language, you may question why it is so important and why it is being promoted as a revolutionary step in computer programming. The answer isn’t immediately obvious if you’re coming from a traditional programming perspective. Although Java is very useful for solving traditional stand-alone programming problems, it is also important because it will solve programming problems on the World Wide Web.1. Client-side programmingThe Web’s initial server-browser design provided for interactive content, but the interactivity was completely provided by the server. The server produced static pages for the client browser, which would simply interpret and display them. Basic HTML contains simple mechanisms for data gathering: text-entry boxes, check boxes, radio boxes, lists and drop-down lists, as well as a button that can only be programmed to reset the data on the form or “submit” the data on the form backto the server. This submission passes through the Common Gateway Interface (CGI) provided on all Web servers. The text within the submission tells CGI what to do with it. The most common action is to run a program located on the server in a directory that’s typically called “cgi-bin.” (If you watch the address window at the top of your browser when you push a button on a Web page, you can sometimes see “cgi-bin” within all the gobbledygook there.) These programs can be written in most languages. Perl is a common choice because it is designed for text manipulation and is interpreted, so it can be installed on any server regardless of processor or operating system. Many powerful Web sites today are built strictly on CGI, and you can in fact do nearly anything with it. However, Web sites built on CGI programs can rapidly become overly complicated to maintain, and there is also the problem of response time. The response of a CGI program depends on how much data mustbe sent, as well as the load on both the server and the Internet. (On top of this, starting a CGI program tends to be slow.) The initial designers of the Web didnot foresee how rapidly this bandwidth would be exhausted for the kinds of applications people developed. For example, any sort of dynamic graphing is nearly impossible to perform with consistency because a GIF file must be created and moved from the server to the client for each version of the graph. And you’ve no doubt had direct experience with something as simple as validating the data on an input form. You press the submit button on a page; the data is shipped back to the server; the server starts a CGI program that discovers an error, formats an HTML page informing you of the error, and then sends the page back to you; you must then back up a page and try again. Not only is this slow, it’s inelegant.The solution is client-side programming. Most machines that run Web browsers are powerful engines capable of doing vast work, and with the original static HTML approach they are sitting there, just idly waiting for the server to dish up the next page. Client-side programming means that the Web browser is harnessed to do whatever work it can, and the result for the user is a much speedier and more interactive experience atyour Web site.The problem with discussions of client-side programming is that they aren’t very different from discussions of programming in general. The parameters are almost the same, but the platform is different: a Web browser is like a limited operating system. In the end, you must still program, and this accounts for the dizzying array of problems and solutions produced by client-side programming. The rest of this section provides an overview of the issues and approaches in client-side programming.2.Plug-insOne of the most significant steps forward in client-side programming is the development of the plug-in. This is a way for a programmer to add new functionality to the browser by downloading a piece of code that plugs itself into the appropriate spot in the browser. It tells the browser “from now on you can perform this new activity.” (You need to download the plug-in only once.) Some fast and powerful behavior is added to browsers via plug-ins, but writing a plug-in is not a trivial task, and isn’t something you’d wantto do as part of the process of building a particular site. The value of the plug-in for client-side programming is that it allows an expert programmer to develop a new language and add that language to a browser without the permission of the browser manufacturer. Thus, plug-ins provide a “back door”that allows the creation of new client-side programming languages (although not all languages are implemented as plug-ins).3.Scripting languagesPlug-ins resulted in an explosion of scripting languages. With a scripting language you embed the source code for your client-side program directly into the HTML page, and the plug-in that interprets that language is automatically activated while the HTML page is being displayed. Scripting languages tend to be reasonably easy to understand and, because they are simply text that is part of an HTML page, they load very quickly as part of the single server hit required to procure that page. The trade-off is that your code is exposed for everyone to see (and steal). Generally, however, you aren’t doing amazingly sophisticatedthings with scripting languages so this is not too much of a hardship.This points out that the scripting languages used inside Web browsers are really intended to solve specific types of problems, primarily the creation of richer and more interactive graphical user interfaces (GUIs). However, a scripting language might solve 80 percent of the problems encountered in client-side programming. Your problems might very well fit completely within that 80 percent, and since scripting languages can allow easier and faster development, you should probably consider a scripting language before looking at a more involved solution such as Java or ActiveX programming.The most commonly discussed browser scripting languages are JavaScript (which has nothing to do with Java; it’s named that way just to grab some of Java’s marketing momentum), VBScript (which looks like Visual Basic), andTcl/Tk, which comes from the popular cross-platform GUI-building language. There are others out there, and no doubt more in development.JavaScript is probably the most commonly supported. It comes built into both Netscape Navigator and the Microsoft Internet Explorer (IE). In addition, there are probably more JavaScript books available than there are for the other browser languages, and some tools automatically create pages using JavaScript. However, if you’re already fluent in Visual Basic or Tcl/Tk, you’ll be more productive using those scripting languages rather than learning a new one. (You’ll have your hands full dealing with the Web issues already.)4.JavaIf a scripting language can solve 80 percent of the client-side programming problems, what about the other 20 percent—the “really hard stuff?” The most popular solution today is Java. Not only is it a powerful programming language built to be secure, cross-platform, and international, but Java is being continually extended to provide language features and libraries that elegantly handle problems that are difficult in traditional programming languages, such as multithreading, database access, network programming, and distributed computing. Java allowsclient-side programming via the applet.An applet is a mini-program that will run only under a Web browser. The applet is downloaded automatically as part of a Web page (just as, for example, a graphic is automatically downloaded). When the applet is activated it executes a program. This is part of its beauty—it provides you with a way to automatically distribute the client software from the server at the time the user needs the client software, and no sooner. The user gets the latest version of the client software without fail and without difficult reinstallation. Because of the way Java is designed, the programmer needs to create only a single program, and that program automatically works with all computers that have browsers with built-in Java interpreters. (This safely includes the vast majority of machines.) Since Java is a full-fledged programming language, you can do as much work as possible on the client before and after making requests of theserver. For example, you won’t need to send a request form across the Internet to discover that you’ve gotten a date or some other parameter wrong, and yourclient computer can quickly do the work of plotting data instead of waiting for the server to make a plot and ship a graphic image back to you. Not only do you get the immediate win of speed and responsiveness, but the general network traffic and load on servers can be reduced, preventing the entire Internet from slowing down.One advantage a Java applet has over a scripted program is that it’s in compiled form, so the source code isn’t available to the client. On the other hand, a Java applet can be decompiled without too much trouble, but hiding your code is often not an important issue. Two other factors can be important. As you will see later in this book, a compiled Java applet can comprise many modules and take multiple server “hits” (accesses) to download. (In Java 1.1 and higher this is minimized by Java archives, called JAR files, that allow all the required modules to be packaged together and compressed for a single download.) A scripted program will just be integrated into the Web page as part of its text (and will generally be smaller and reduce server hits). This could be important to the responsiveness of your Website. Another factor is the all-important learning curve. Regardless of what you’ve heard, Java is not a trivial language to learn. If you’re a Visual Basic programmer, moving to VBScript will be your fastest solution, and since it will probably solve most typical client/server problems you might be hard pressed to justify learning Java. If you’re experienced with a scripting language you will certainly benefit from looking at JavaScript or VBScript before committing to Java, since they might fit your needs handily and you’ll be more productive sooner.to run its applets withi5.ActiveXTo some degree, the competitor to Java is Microsoft’s ActiveX, although it takes a completely different approach. ActiveX was originally a Windows-only solution, although it is now being developed via an independent consortium to become cross-platform. Effectively, ActiveX says “if your program connects to篇二:JAVA思想外文翻译毕业设计文献来源:Bruce Eckel. Thinking in Java [J]. Pearson Higher Isia Education,XX-2-20.Java编程思想 (Java和因特网)既然Java不过另一种类型的程序设计语言,大家可能会奇怪它为什么值得如此重视,为什么还有这么多的人认为它是计算机程序设计的一个里程碑呢?如果您来自一个传统的程序设计背景,那么答案在刚开始的时候并不是很明显。

毕业设计中英文翻译

毕业设计中英文翻译

本科生毕业设计(论文)外文翻译毕业设计(论文)题目:电力系统检测与计算外文题目:The development of the single chipmicrocomputer译文题目:单片机技术的发展与应用学生姓名: XXX专业: XXX指导教师姓名: XXX评阅日期:单片机技术的发展与应用从无线电世界到单片机世界现代计算机技术的产业革命,将世界经济从资本经济带入到知识经济时代。

在电子世界领域,从 20 世纪中的无线电时代也进入到 21 世纪以计算机技术为中心的智能化现代电子系统时代。

现代电子系统的基本核心是嵌入式计算机系统(简称嵌入式系统),而单片机是最典型、最广泛、最普及的嵌入式系统。

一、无线电世界造就了几代英才。

在 20 世纪五六十年代,最具代表的先进的电子技术就是无线电技术,包括无线电广播,收音,无线通信(电报),业余无线电台,无线电定位,导航等遥测、遥控、遥信技术。

早期就是这些电子技术带领着许多青少年步入了奇妙的电子世界,无线电技术展示了当时科技生活美妙的前景。

电子科学开始形成了一门新兴学科。

无线电电子学,无线通信开始了电子世界的历程。

无线电技术不仅成为了当时先进科学技术的代表,而且从普及到专业的科学领域,吸引了广大青少年,并使他们从中找到了无穷的乐趣。

从床头的矿石收音机到超外差收音机;从无线电发报到业余无线电台;从电话,电铃到无线电操纵模型。

无线电技术成为当时青少年科普、科技教育最普及,最广泛的内容。

至今,许多老一辈的工程师、专家、教授当年都是无线电爱好者。

无线电技术的无穷乐趣,无线电技术的全面训练,从电子学基本原理,电子元器件基础到无线电遥控、遥测、遥信电子系统制作,培养出了几代科技英才。

二、从无线电时代到电子技术普及时代。

早期的无线电技术推动了电子技术的发展,其中最主要的是真空管电子技术向半导体电子技术的发展。

半导体电子技术使有源器件实现了微小型化和低成本,使无线电技术有了更大普及和创新,并大大地开阔了许多非无线电的控制领域。

毕业设计(论文)外文资料翻译(学生用)

毕业设计(论文)外文资料翻译(学生用)

毕业设计外文资料翻译学院:信息科学与工程学院专业:软件工程姓名: XXXXX学号: XXXXXXXXX外文出处: Think In Java (用外文写)附件: 1.外文资料翻译译文;2.外文原文。

附件1:外文资料翻译译文网络编程历史上的网络编程都倾向于困难、复杂,而且极易出错。

程序员必须掌握与网络有关的大量细节,有时甚至要对硬件有深刻的认识。

一般地,我们需要理解连网协议中不同的“层”(Layer)。

而且对于每个连网库,一般都包含了数量众多的函数,分别涉及信息块的连接、打包和拆包;这些块的来回运输;以及握手等等。

这是一项令人痛苦的工作。

但是,连网本身的概念并不是很难。

我们想获得位于其他地方某台机器上的信息,并把它们移到这儿;或者相反。

这与读写文件非常相似,只是文件存在于远程机器上,而且远程机器有权决定如何处理我们请求或者发送的数据。

Java最出色的一个地方就是它的“无痛苦连网”概念。

有关连网的基层细节已被尽可能地提取出去,并隐藏在JVM以及Java的本机安装系统里进行控制。

我们使用的编程模型是一个文件的模型;事实上,网络连接(一个“套接字”)已被封装到系统对象里,所以可象对其他数据流那样采用同样的方法调用。

除此以外,在我们处理另一个连网问题——同时控制多个网络连接——的时候,Java内建的多线程机制也是十分方便的。

本章将用一系列易懂的例子解释Java的连网支持。

15.1 机器的标识当然,为了分辨来自别处的一台机器,以及为了保证自己连接的是希望的那台机器,必须有一种机制能独一无二地标识出网络内的每台机器。

早期网络只解决了如何在本地网络环境中为机器提供唯一的名字。

但Java面向的是整个因特网,这要求用一种机制对来自世界各地的机器进行标识。

为达到这个目的,我们采用了IP(互联网地址)的概念。

IP以两种形式存在着:(1) 大家最熟悉的DNS(域名服务)形式。

我自己的域名是。

所以假定我在自己的域内有一台名为Opus的计算机,它的域名就可以是。

本科毕业设计(论文)外文翻译

本科毕业设计(论文)外文翻译
1.引言
重金属污染存在于很多工业的废水中,如电镀,采矿,和制革。
2.实验
2.1化学药剂
本实验所使用的药剂均为分析纯,如无特别说明均购买自日本片山化工。铅离子储备液通过溶解Pb(NO3)2配制,使用时稀释到需要的浓度。HEPES缓冲液购买自Sigma–Aldrich。5 mol/L的HCl和NaOH用来调整pH。
附5
华南理工大学
本科毕业设计(论文)翻译
班级2011环境工程一班
姓名陈光耀
学号201130720022
指导教师韦朝海
填表日期
中文译名
(1)巯基改性纤维素对葡萄糖溶液中铅的吸附(2)黄原酸化橘子皮应用于吸附水中的铅离子
外文原文名
(1)Adsorption of Pb(II) from glucose solution on thiol-functionalized cellulosic biomass
2.5分析方法
铅离子的浓度用分光光度计在616 nm波长处用铅与偶氮氯膦-III络合物进行分析。葡萄糖含量采用苯酚—硫酸分光光度法测定。所有的实验均进行三次,已经考虑好误差。
3.结果和讨论
3.1FTIR分析和改性脱脂棉对铅(II)的吸附机制
图1是脱脂棉、改性脱脂棉在400-4000 cm-1(A)和2540-2560 cm-1(B)范围内的红外光谱图。可以看出,改性后改性脱脂棉的红外光谱图中在1735.71 cm-1处出现了一个新的吸收峰是酯基C=O的拉伸振动峰,可见改性脱脂棉中已经成功引入巯基官能团。同时,在2550.52 cm-1出现的一个新吸收峰代表的是S-H官能团的弱吸收峰,更深一层的证明了巯基已经嫁接到脱脂棉上。图1(b)是2540-2560 cm-1光谱范围的一个放大图像,可以清楚的观察到S-H官能团的弱吸收峰。进一步证明了酯化改性脱脂棉引入巯基是成功的。而从吸附后的曲线可以看到,2550.52cm-1处S-H的吸收峰消失,证明了硫原子和Pb(II)络合物的形成,同时1735.71cm-1处C=O的吸收峰强度看起来有轻微的减弱可能也是和Pb(II)的络合吸附有关。

毕 业 设 计(英文翻译)

毕 业 设 计(英文翻译)

附录G:英文翻译参考(要求学生完成与论文有关的外文资料中文字数5000字左右的英译汉,旨在培养学生利用外文资料开展研究工作的能力,为所选课题提供前沿参考资料。

)毕业设计(英文翻译)题目系别:专业:班级:学生姓名:学号:指导教师:一位从事质量管理的人约瑟夫·朱兰出生于圣诞夜,1904 在罗马尼亚的喀尔巴阡山脉山中。

他青年时期的村庄中贫穷、迷信和反犹太主义甚是猖獗。

1912年朱兰家搬到了明尼阿波尼斯州,虽然充满了危险,但是它却让一个男孩充满信心和希望。

从如此多了一个在质量观念的世界最好改革者之一。

在他90年的生活中,朱兰一直是一个精力充沛的思想者倡导者,推动着传统的质量思想向前走。

因为九岁就被雇用,朱兰表示在他的生活工作上永不停止。

记者:技术方面如何讲质量?朱兰:技术有不同方面:一、当然是精密。

物的对精密的需求像电子学、化学…我们看来它们似乎需要放大来说,和重要的原子尘的有关于质量。

要做到高精密具有相当大的挑战,而且我们已经遇见非常大的挑战。

另外的一个方面是可信度-没有失败。

当我们举例来说建立一个系统,同类空中交通管制的时候,我们不想要它失败。

我们必须把可信度建入系统。

因为我们投入很大的资金并依赖这些系统,系统非常复杂,这是逐渐增加的。

除此之外,有对公司的失败费用。

如果事物在领域中意外失败,可以说,它影响民众。

但是如果他们失败在内部,然后它影响公司的费用,而且已经试着发现这些费用在哪里和该如何免除他们。

因此那些是相当大的因素:精密、可信度和费用。

还有其它的,当然,但是我认为这些是主要的一些。

记者:据说是质量有在美国变成一种产业的可能?朱兰:资讯科技当然有。

已经有大的变化。

在世纪中初期当质量的一个想法到一个检验部门的时候,这有了分开的工作,东西被做坏之后。

检验是相当易错的程序,实际上。

而且无论如何,资讯科技在那天中相当花时间,直到某事已经被认为是否资讯科技是正确的。

应该强调计划,如此它不被错误首先订定。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

本科生毕业设计(论文)外文科技文献译文译文题目(外文题目)学院(系)Socket网络编程的设计与实现A Design andImplementation of Active Network Socket Programming机械与能源工程学院专学业号机械设计制造及其自动化071895学生姓名李杰林日期2012年5月27日指导教师签名日期摘要:编程节点和活跃网络的概念将可编程性引入到通信网络中,并且代码和数据可以在发送过程中进行修改。

最近,多个研究小组已经设计和实现了自己的设计平台。

每个设计都有其自己的优点和缺点,但是在不同平台之间都存在着互操作性问题。

因此,我们引入一个类似网络socket编程的概念。

我们建立一组针对应用程序进行编程的简单接口,这组被称为活跃网络Socket编程(ANSP)的接口,将在所有执行环境下工作。

因此,ANSP 提供一个类似于“一次性编写,无限制运行”的开放编程模型,它可以工作在所有的可执行环境下。

它解决了活跃网络中的异构性,当应用程序需要访问异构网络内的所有地区,在临界点部署特殊服务或监视整个网络的性能时显得相当重要。

我们的方案是在现有的环境中,所有应用程序可以很容易地安装上一个薄薄的透明层而不是引入一个新的平台。

关键词:活跃网络;应用程序编程接口;活跃网络socket编程1 导言1990年,为了在互联网上引入新的网络协议,克拉克和藤农豪斯[1]提出了一种新的设计框架。

自公布这一标志性文件,活跃网络设计框架[2,3,10]已经慢慢在20世纪90 年代末成形。

活跃网络允许程序代码和数据可以同时在互联网上提供积极的网络范式,此外,他们可以在传送到目的地的过程中得到执行和修改。

ABone作为一个全球性的骨干网络,开始进行活跃网络实验。

除执行平台的不成熟,商业上活跃网络在互联网上的部署也成为主要障碍。

例如,一个供应商可能不乐意让网络路由器运行一些可能影响其预期路由性能的未知程序,。

因此,作为替代提出了允许活跃网络在互联网上运作的概念,如欧洲研究课题组提出的应用层活跃网络(ALAN)项目[4]。

在ALAN项目中,活跃服务器系统位于网络的不同地址,并且这些应用程序都可以运行在活跃系统的网络应用层上。

另一个潜在的方法是网络服务提供商提供更优质的活跃网络服务类。

这个服务类应该提供最优质的服务质量(QOS),并允许路由器对计算机的访问。

通过这种方法,网络服务提供商可以创建一个新的收入来源。

对活跃网络的研究已取得稳步进展。

由于活跃网络在互联网上推出了可编程性,相应地应建立供应用程序工作的可执行平台。

这些操作系统平台执行环境(EES),其中一些已被创建,例如,活跃信号协议(ASP)[12]和活跃网络传输系统(ANTS)[11]。

因此,不同的应用程序可以实现对活跃网络概念的测试。

在这些EES 环境下,已经开展了一系列验证活跃网络概念的实验,例如,移动网络[5],网页代理[6],多播路由器[7]。

活跃网络引进了很多在网络上兼有灵活性和可扩展性的方案。

几个研究小组已经提出了各种可通过路由器进行网络计算的可执行环境。

他们的成果和现有基础设施的潜在好处正在被评估[8,9]。

不幸的是,他们很少关心互操作性问题,活跃网络由多个执行环境组成,例如,在ABone 中存在三个EES,专为一个EES编写的应用程序不能在其他平台上运行。

这就出现了一种资源划分为不同运行环境的问题。

此外,总是有一些关键的网络应用需要跨环境运行,如信息收集和关键点部署监测网络的服务。

在本文中,被称为活跃网络Socket编程(ANSP)的框架模型,可以在所有EES下运行。

它提供了以下主要目标:♦♦通过单一编程接口编写应用程序。

由于ANSP提供的编程接口,使得EES的设计与ANSP 独立。

这使得未来执行环境的发展和提高更加透明。

♦♦ANSP 针对不同执行环境之间的互操作性问题。

通过的ANSP设计,不同EES的优点和缺点显而易见。

这将有助于在将来设计更好的EES。

ANSP 的主要目标是使在ANSP 下编写的所有应用程序,可以运行在ABone测试平台。

而ANSP框架在统一网络环境下是必不可少的,我们相信,在不同环境下的通用性,对未来执行环境的发展是有利的。

ANSP并不是取代所有现有的环境,而是研究启用新的网络服务执行环境。

因此,ANSP 设计是对所有执行环境安装薄而透明的应用层。

目前,它的代码自动加载依赖于底层环境。

因此,部署在路由器的ANSP是可选的,不需要任何执行环境的变化。

2 针对ANSP的设计问题ANSP 统一现有各EES的编程接口。

ANSP 设计在概念上类似于中间件的设计,为不同的EES提供适当的翻译机制。

一个统一的接口只是整个ANSP平台的一部分。

有很多需要考虑的问题,除了翻译一套编程接口,在不同EES下可执行文件调用,也包括其他的设计问题,例如,♦♦♦♦♦统一的线程库处理线程操作。

全球性软件存储,可以在给定的路由器上进行不同环境下的信息共享。

统一的解决方案用于不同的环境,更重要的是,路由信息交换机制应横跨EES获得全球统一的网络视图。

应该是独立于任何活跃网络编程语言的编程模型。

最后,翻译机制要隐藏头结构的异构性。

A. 异构性编程模型在程序调用时,每个执行环境提供各种抽象的服务和资源。

一套组件模型每个部分都有其自己的编程接口。

抽象的封装编程模型[10]是在活跃网络中最流行的设计,这种模型在ANTS[11] 和ASP[12]使用,并正被ABone支持。

虽然他们是在相同的封装模型基础上开发的,但各自的组件和接口是不同的。

因此,在一个EES 上的程序不能运行在其他EES 上。

ANTS和ASP的编程模型如图1 所示。

ANTS包括三个不同的组件:应用程序,封装,和执行环境。

存在针对唯一来源和目的地路由器的应用程序用户接口。

然后,用户可以指定其定制的网络行为。

根据程序的功能,应用程序发送一个或多个封装进行操作。

这两个应用程序和封装工作的执行环境,为其内部的编程资源提供输出接口。

每次访问路由器时封装便执行其操作。

当它到达目的地,在目的地的应用程序就会以封装进行回复或提示用户事件已经收到。

ANTS 的一个缺点是,它仅允许“引导”应用程序访问。

图1 ANTS和ASP的编程模型相比之下,ASP不限制用户运行“引导”应用程序。

其程序接口与ANTS不同,但ASP 也由三个组成部分:客户端应用程序,环境和AA组件。

应用程序客户端可以在活跃或不活跃的主机上运行。

它可以通过简单的请求消息发送到EES来激活应用程序。

客户允许其用户在附近的活跃路由器触发操作。

AA组件是网络服务的核心,其规格分为两部分。

其中一部分指定其来源和目的地路由器的行动,其作用类似于ANTS中的应用,但它不提供与用户交互的直接接口。

另一部分定义了它在内部网络中的行为,与ANTS 中封装的功能行为相似。

为了解决这两种模式的异构性,ANSP需要引进一套新的编程接口,它的接口和执行模型映射到内部路由器的EES。

B. 统一线程库为了各个实例之间不互相影响和访问其他信息,可执行环境必须保证各个实例间的独立性。

有多种方法来执行访问控制。

一个简单的方法是为实例应用程序配备一个虚拟机。

这依赖于虚拟机隔离服务的安全设计。

ANTS 就是采用这种方法的一个例子。

然而,使用多个虚拟机需要的资源量相对较大,并可能在某些情况下,效率低下。

因此,某些环境,如ASP,允许网络服务在虚拟机上运行,但只允许其有限地访问自己的包库。

例如,ASP提供强制访问控制的线程库。

针对这些线程访问机制的差异,ANSP提供允许不同线程机制统一访问的新线程库。

C. 软存储软存储允许封装在路由器上插入和检索信息,从而使多个封装能够交换网络内的信息。

然而,网络服务在不同的路由器环境下执行时容易发生问题,尤其是当网络服务在一个环境中插入信息,稍后在相同路由器但是不同环境下检索数据时这个问题尤其严重。

由于执行环境不允许交换信息,网络服务无法检索其以前的数据。

因此,我们的ANSP 框架需要考虑到这个问题,并提供在每个路由器上进行数据访问的软存储机制。

D.统一网络的完整视图当用ANSP编写应用程序时,它便可以在不同环境下完美运行。

以前基于不同EES的小型分区网络可以合并成为一个大的网络,整个大网络的拓扑结构也就显得很有必要。

然而,不同的执行环境有不同的解决方案和专有的路由协议。

为了合并这些分区,ANSP 必须提供一个新的统一的解决方案。

这项新计划在任何环境下都能由ANSP编译出来。

定义了新的方案之后,新的路由协议可以实现在不同的环境之间交换拓扑信息。

这使得在各个网络环境中,其网络拓扑结构都有完整的视图。

E.独立语言模型任何编程语言都可以在可执行环境下编写,Java以动态代码承载能力使其成为最常用的语言之一。

实际上,ANTS 和ASP 都是用Java开发的。

然而,如图2 所示的活跃网络架构不限制使用其他语言开发执行环境。

例如,Abone中的anted 作为活跃网络后台进程提供路由器上多个执行环境的工作空间。

又如,PLAN 将在Abone上部署在OCaml中。

虽然现在的网络设计可以用任何语言在多个环境中进行编程,但是缺少使得应用程序在这些环境中完美运行的工具。

因此,ANSP 需要解决的问题之一就是设计一种可以使用不同编程语言的编程模型。

我们现在着重考虑ANTS和ASP 的设计,但PLAN 将是下一个待解决问题并提高ANSP的设计。

图2 ANSP框架模型F.封装头结构的异构性在不同的EES下头结构是不同的。

他们执行相关的信息,例如封装,封装的种类,来源和目的地。

当在目标环境中执行某些决定时这个信息是非常重要的。

一个统一的模式,应允许其程序代码在不同环境下执行。

然而,封装头阻止不同的环境来解析它的信息。

因此,ANSP应在目标环境收到这些信息之前进行相应头信息的转译。

3ANSP 编程模型下面我们将讨论提到过的ANSP设计中编程模型的问题。

这个建议框架提供了一套允许在所有执行环境下运行应用程序的统一的编程接口。

该框架如图3所示。

它是由两层活跃网络架构集成的,并且这两层都可以独立运作。

上层的应用程序提供一个统一的编程模型,下层的应用程序为在不同环境下的应用提供适当的转译过程。

这项服务很必要,因为每个环境都有其自己的头定义。

ANSP 提供了一套服务和资源的抽象编程调用。

以封装为基础的模型已用于ANSP并映射到ANTS和ASP 的模型中。

因此,ANSP 允许应用程序通过一系列单一接口访问不同环境下的编程资源。

映射必须以一致和透明的方式进行。

因此,ANSP好像是提供执行环境的应用程序,而实际上,它是一个能够使用底层所提供服务的重叠式结构。

ANSP 编程模型是基于四个组成部分之间的相互作用:客户端应用程序,应用程序存根,封装,服务器。

相关文档
最新文档