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

金融体制、融资约束与投资——来自OECD的实证分析R.SemenovDepartment of Economics,University of Nijmegen,Nijmegen(荷兰内梅亨大学,经济学院)这篇论文考查了OECD的11个国家中现金流量对企业投资的影响.我们发现不同国家之间投资对企业内部可获取资金的敏感性具有显著差异,并且银企之间具有明显的紧密关系的国家的敏感性比银企之间具有公平关系的国家的低.同时,我们发现融资约束与整体金融发展指标不存在关系.我们的结论与资本市场信息和激励问题对企业投资具有重要作用这种观点一致,并且紧密的银企关系会减少这些问题从而增加企业获取外部融资的渠道。
一、引言各个国家的企业在显著不同的金融体制下运行。
金融发展水平的差别(例如,相对GDP的信用额度和相对GDP的相应股票市场的资本化程度),在所有者和管理者关系、企业和债权人的模式中,企业控制的市场活动水平可以很好地被记录.在完美资本市场,对于具有正的净现值投资机会的企业将一直获得资金。
然而,经济理论表明市场摩擦,诸如信息不对称和激励问题会使获得外部资本更加昂贵,并且具有盈利投资机会的企业不一定能够获取所需资本.这表明融资要素,例如内部产生资金数量、新债务和权益的可得性,共同决定了企业的投资决策.现今已经有大量考查外部资金可得性对投资决策的影响的实证资料(可参考,例如Fazzari(1998)、 Hoshi(1991)、 Chapman(1996)、Samuel(1998)).大多数研究结果表明金融变量例如现金流量有助于解释企业的投资水平。
这项研究结果解释表明企业投资受限于外部资金的可得性。
很多模型强调运行正常的金融中介和金融市场有助于改善信息不对称和交易成本,减缓不对称问题,从而促使储蓄资金投着长期和高回报的项目,并且提高资源的有效配置(参看Levine(1997)的评论文章)。
因而我们预期用于更加发达的金融体制的国家的企业将更容易获得外部融资.几位学者已经指出建立企业和金融中介机构可进一步缓解金融市场摩擦。
土木工程专业毕业设计外文文献及翻译

土木工程专业毕业设计外文文献及翻译Here are two examples of foreign literature related to graduation design in the field of civil engineering, along with their Chinese translations:1. Foreign Literature:Title: "Analysis of Structural Behavior and Design Considerations for High-Rise Buildings"Author(s): John SmithJournal: Journal of Structural EngineeringYear: 2024Abstract: This paper presents an analysis of the structural behavior and design considerations for high-rise buildings. The author discusses the challenges and unique characteristics associated with the design of high-rise structures, such as wind loads and lateral stability. The study also highlights various design approaches and construction techniques used to ensure the safety and efficiency of high-rise buildings.Chinese Translation:标题:《高层建筑的结构行为分析与设计考虑因素》期刊:结构工程学报年份:2024年2. Foreign Literature:Title: "Sustainable Construction Materials: A Review of Recent Advances and Future Directions"Author(s): Jennifer Lee, David JohnsonJournal: Construction and Building MaterialsYear: 2024Chinese Translation:标题:《可持续建筑材料:最新进展与未来发展方向综述》期刊:建筑材料与结构年份:2024年Please note that these are just examples and there are numerous other research papers available in the field of civil engineering for graduation design.。
浙江大学本科毕业论文外文文献翻译

核准通过,归档资料。
未经允许,请勿外传!浙江大学本科毕业论文外文文献翻译The influence of political connections on the firm value of small and medium-sized enterprises in China政治关联在中国对中小型企业价值的影响1摘要中小型企业的价值受很多因素的影响,比如股东、现金流以及政治关联等.这篇文章调查的正是在中国政治关联对中小型企业价值的影响。
通过实验数据来分析政治关联对企业价值效益的影响.结果表明政府关联是关键的因素并且在中国对中小型企业的价值具有负面影响。
2重要内容翻译2。
1引言在商业界,有越来越多关于政治关联的影响的经济研究。
它们发现政治关联能够帮助企业确保有利的规章条件以及成功获得资源,比如能够最终提高企业价值或是提升绩效的银行贷款,这种政治关联的影响在不同的经济条件下呈现不同的效果。
在高腐败和法律制度薄弱的国家,政治关联对企业价值具有决定性因素1的作用.中国由高度集权的计划经济向市场经济转变,政府对市场具有较强的控制作用,而且有大量的上市企业具有政治关联。
中小型企业发展的很迅速,他们已经在全球经济环境中变得越来越重要。
从90年代起, 政治因素对中国的任何规模的企业来说都变得越来越重要,尤其是中小型企业的价值。
和其他的部门相比较,中小型企业只有较小的现金流,不稳定的现金流且高负债率.一方面,中小型企业改变更加灵活;另一方面,中小型企业在由于企业规模以及对银行来说没有可以抵押的资产,在筹资方面较为困难。
企业如何应对微观经济环境和政策去保证正常的企业活动,并且政治关联如何影响企业价值?这篇论文调查政治关联和企业价值之间的联系,并且试图去研究企业是否可以从政治关联中获利提升企业价值。
2.2定义这些中小型企业之所以叫中小型企业,是和管理规模有关。
对这些小企业来说,雇员很少,营业额较低,资金一般由较少的人提供,因此,通常由这些业主直接管理企业。
毕业设计论文外文文献翻译

毕业设计(论文)外文文献翻译院系:财务与会计学院年级专业:201*级财务管理姓名:学号:132148***附件: 财务风险管理【Abstract】Although financial risk has increased significantly in recent years risk and risk management are not contemporary issues。
The result of increasingly global markets is that risk may originate with events thousands of miles away that have nothing to do with the domestic market。
Information is available instantaneously which means that change and subsequent market reactions occur very quickly。
The economic climate and markets can be affected very quickly by changes in exchange rates interest rates and commodity prices。
Counterparties can rapidly become problematic。
As a result it is important to ensure financial risks are identified and managed appropriately. Preparation is a key component of risk management。
【Key Words】Financial risk,Risk management,YieldsI. Financial risks arising1.1What Is Risk1.1.1The concept of riskRisk provides the basis for opportunity. The terms risk and exposure have subtle differences in their meaning. Risk refers to the probability of loss while exposure is the possibility of loss although they are often used interchangeably。
现代包装机械设备毕业课程设计外文文献翻译、中英文翻译

1 英文文献翻译1.1 Modern PackagingAuthor:Abstract1. Changing Needs and New RolesLooking back, historical changes are understandable and obvious. That all of them have had an impact on the way products are brought, consumed and packaged is also obvious. What is not so obvious is what tomorrow will bring. Yet, it is to the needs, markets, and conditions of tomorrow that packaging professionals must always turn their attention.The forces that drove packaging during the Industry Revolution continue to operate today. The consumer society continues to grow and is possibly best described by a 1988s bumper sticker, “Born to Shop”. We consume goods today at a rate 4 to 5 times greater than we did as recently as 1935. Most of these goods are not essential to survival; they constitute what we may call “the good life”.In the second half of the 20th century, the proliferation of goods was so high that packaging was forced into an entirely new role, that of providing the motivation rather than presenting the goods itself. On a shelf of 10 competing products, all of them similar in performance and quality, the only method of differentiating became the package itself. Marketer aimed at lifestyles, emotional values, subliminal images, features, and advantages beyond the basic product rather than the competitor’s. In some in instances, the package has become the product, and occasionally packaging has become entertainment.A brand product to carry the product manufacturer or product sales of theretailer’s label, usually by the buyer as a quality assessment guidance. In some cases, competing brands of product quality is almost no difference, a difference is the sale of its packaging. An interesting visually attractive packaging can give a key marketing advantage and convince impulse spending. However, the packaging should accurately reflect the quality of products/brand value in order to avoid the disappointment of consumers, encourage repeat purchases and build brand loyalty. Ideally, the product should exceed customer expectations.2. Packaging and the Modern Industrial SocietyThe importance of packaging to a modern industrial society is most evident when we examine the food-packaging sector. Food is organic in nature, having an animal or plant source. One characteristic of such organic matter is that, by and large, it has a limited natural biological life.A cut of meat, left to itself, might be unfit for human consumption by the next day. Some animal protein products, such as seafood, can deteriorate within hours.The natural shelf life of plant-based food depends on the species and plant involved. Pulpy fruit portions tend to have a short life span, while seed parts, which in nature have to survive at least separated from the living plant are usually short-lived.In addition to having a limited natural shelf life, most food is geographically and season-ally specific. Thus, potatoes and apples are grown in a few North American geographical regions and harvest during a short maturation period. In a world without packaging,we would need to live at the point of harvest to enjoy these products, and our enjoyment of them would be restricted to the natural biological life span of each. It is by proper storage, packaging and transport techniques that we are able to deliver fresh potatoes and apples, or the products derived from them, throughout the year and throughout the country. Potato-whole,canned, powdered, flaked, chipped, frozen, and instant is available, anytime, anywhere. This ability gives a society great freedom and mobility. Unlike less-developed societies, we are no longer restricted in our choice of where to live, since we are no longer tied to the food-producing ability of an area. Food production becomes more specialized and efficient with the growth of packaging. Crops and animal husbandry are moved to where their production is most economical, without regard to the proximity of a market. Most important, we are free of the natural cycles of feast and famine that are typical of societies dependent on natural regional food-producing cycles.Central processing allows value recovery from what would normally be waste by products of the processed food industry from the basis of other sub-industries. Chicken feathers are high in protein and, properly mill and treated, can be fed back to the next generation of chickens. Vegetable waste is fed to cattle or pigs. Bagasse, the waste cane from sugar pressing, is a source of fiber for papermaking. Fish scales are refined to make additives for paints and nail polish.The economical manufacture of durable goods also depends on good packaging.A product's cost is directly related to production volume. The business drive to reduce costs in the supply chain must be carefully balanced against the fundamental technical requirements for food safety and product integrity, as well as the need to ensure an. efficient logistics service. In addition, there is a requirement to meet the aims of marketing to protect and project brand image through value-added pack design. The latter may involve design inputs that communicate distinctive, aesthetically pleasing, ergonomic, functional and/or environmentally aware attributes. But for a national or international bicycle producer to succeed, it must be a way of getting the product to a market, which may be half a world away. Again, sound packaging, in this case distributionpackaging, is a key part of the system.Some industries could not exist without an international market. For example, Canada is a manufacturer of irradiation equipment, but the Canadian market (which would account for perhaps one unit every several years) could not possibly support such a manufacturing capability. However, by selling to the world, a manufacturing facility becomes viable. In addition to needing packaging for the irradiation machinery and instrumentation, the sale of irradiation equipment requires the sale packaging and transport of radioactive isotopes, a separate challenge in itself. In response to changing consumer lifestyles, the large retail groups and the food service industry development. Their success has been involved in a competition fierce hybrid logistics, trade, marketing and customer service expertise, all of which is dependent on the quality of packaging. They have in part led to the expansion of the dramatic range of products offered, technology innovation, including those in the packaging. Supply retail, food processing and packaging industry will continue to expand its international operations. Sourcing products around the world more and more to assist in reducing trade barriers. The impact of the decline has been increased competition and price pressure. Increased competition led to the rationalization of industrial structure, often in the form of mergers and acquisitions. Packaging, it means that new materials and shapes, increased automation, packaging, size range extension of lower unit cost. Another manufacturer and mergers and acquisitions, the Group's brand of retail packaging and packaging design re-evaluation of the growing development of market segmentation and global food supply chain to promote the use of advanced logistics and packaging systems packaging logistics system is an integral part of, and played an important role in prevention in the food supply or reduce waste generation.3. World Packaging.This discussion has referred to primitive packaging and the evolution of packaging functions. However, humankind's global progress is such that virtually every stage in the development of society and packaging is present somewhere in the world today. Thus, a packager in a highly developed country will agonize over choice of package type, hire expensive marketing groups to develop images to entice the targeted buyer and spend lavishly on graphics. In less-developed countries, consumers are happy to have food, regardless of the package. At the extreme, consumers will bring their own packages or will consume food on the spot, just as they did 2000 years ago.Packagers from the more developed countries sometimes have difficulty working with less-developed nations, for the simple reason that they fail to understand that their respective packaging priorities are completely different. Similarly, developing nations trying to sell goods to North American markets cannot understand our preoccupation with package and graphics.The significant difference is that packaging plays a different role in a market where rice will sell solely because it is available. In the North American market, the consumer may be confronted by five different companies offering rice in 30 or so variations. If all the rice is good and none is inferior, how does a seller create a preference for his particular rice? How does he differentiate? The package plays a large role in this process.The package-intensive developed countries are sometimes criticized for over packaging, and certainly over-packaging does exist. However, North Americans also enjoy the world's cheapest food, requiring only about 11 to 14% of our disposable income. European food costs are about 20% of disposable income, and in the less-developed countries food can take 95%of family income.4. The status and development trend of domestic and international packaging machineryWorldwide, the history of the development of the packaging machinery industry is relatively short, science and technology developed in Europe and America in general started in the 20th century until the 1950s the pace greatly accelerated.From the early 20th century, before the end of World War II World War II,medicine,food, cigarettes,matches,household chemicals and other industrial sectors, the mechanization of the packaging operations; the 1950s, the packaging machine widely used common electric switches and tube for the main components of the control system to achieve the primary automation; 1960s, Electrical and optical liquid-gas technology is significantly increased in the packaging machine, machines to further expand on this basis a dedicated automated packaging line; the 1970s, the micro- electronic technology into the automation of packaging machines and packaging lines, computer control packing production process; from the 1980s to the early 1990s, in some field of packaging, computer, robot application for service, testing and management, in preparation for the over-flexible automatic packaging lines and "no" automatic packaging workshop.Actively promoted and strong co-ordination of all aspects of society, and gradually establish a packaging material, packaging, printing, packaging machinery and other production sectors, and corresponding to the research, design, education, academic, management and organization, and thus the formation of independent and complete. The packaging of light industrial system, and occupies an important place in the national economy as a whole.Based on recent years data that members of the World Packaging Alliance output value of the packaging industry accounts for about 2% of the total output value of the national economy; in which the proportion of packaging machinery, though not large, but the rapid development of an annual average of almost growing at a rate of about 10%. Put into use at the packaging machine is now more than thousand species of packaging joint machines and automated equipment has been stand-alone equate. According to the new technological revolution in the world development trend is expected to packaging materials and packaging process and packaging machinery will be closely related to obtain the breakthrough of a new step, and bring more sectors into the packaging industry.China Packaging Technology Association was established in 1980. Soon, the China National Packaging Corporation have been born. Since then, one after another in the country organized a national and international packaging machinery exhibition, seminars, also published I had the first ever "China Packaging Yearbook and other packaging technology books. All this indicates that China is creating a new packaging historical perio d.1.2中文翻译现代包装1、不断变化的需求和新的角色,回顾以往,包装所带来明显的历史性变化是可以理解的, 一个产品包装方式的给他们的销量带来的影响也是显而易见的。
本科毕业设计外文文献翻译

(Shear wall st ructural design ofh igh-lev el fr ameworkWu Jiche ngAbstract : In t his pape r the basic c oncepts of man pow er from th e fra me sh ear w all str uc ture, analy sis of the struct ur al des ign of th e c ont ent of t he fr ame she ar wall, in cludi ng the seism ic wa ll she ar spa本科毕业设计外文文献翻译学校代码: 10128学 号:题 目:Shear wall structural design of high-level framework 学生姓名: 学 院:土木工程学院 系 别:建筑工程系 专 业:土木工程专业(建筑工程方向) 班 级:土木08-(5)班 指导教师: (副教授)nratiodesign, and a concretestructure in themost co mmonly usedframe shear wallstructurethedesign of p oints to note.Keywords: concrete; frameshearwall structure;high-risebuildingsThe wall is amodern high-rise buildings is an impo rtant buildingcontent, the size of theframe shear wall must comply with building regulations. The principle is that the largersizebut the thicknessmust besmaller geometric featuresshouldbe presented to the plate,the force is close to cylindrical.The wall shear wa ll structure is a flatcomponent. Itsexposure to the force along the plane level of therole ofshear and moment, must also take intoaccountthe vertical pressure.Operate under thecombined action ofbending moments and axial force andshear forcebythe cantilever deep beam under the action of the force levelto loo kinto the bottom mounted on the basis of. Shearwall isdividedinto a whole walland theassociated shear wall in theactual project,a wholewallfor exampl e, such as generalhousingconstruction in the gableor fish bone structure filmwalls and small openingswall.Coupled Shear walls are connected bythecoupling beam shear wall.Butbecause thegeneralcoupling beamstiffness is less thanthe wall stiffnessof the limbs,so. Walllimb aloneis obvious.The central beam of theinflection pointtopay attentionto thewall pressure than the limits of the limb axis. Will forma shortwide beams,widecolumn wall limbshear wall openings toolarge component atbothen ds with just the domain of variable cross-section ro din the internalforcesunder theactionof many Walllimb inflection point Therefore, the calcula tions and construction shouldAccordingtoapproximate the framestructure to consider.The designof shear walls shouldbe based on the characteristics of avariety ofwall itself,and differentmechanical ch aracteristicsand requirements,wall oftheinternalforcedistribution and failuremodes of specific and comprehensive consideration of the design reinforcement and structural measures. Frame shear wall structure design is to consider the structure of the overall analysis for both directionsofthehorizontal and verticaleffects. Obtain theinternal force is required in accordancewiththe bias or partial pull normal section forcecalculation.The wall structure oftheframe shear wall structural design of the content frame high-rise buildings, in the actual projectintheuse of themost seismic walls have sufficient quantitiesto meet thelimitsof the layer displacement, the location isrelatively flexible. Seismic wall for continuous layout,full-length through.Should bedesigned to avoid the wall mutations in limb length and alignment is notupand down the hole. The sametime.The inside of the hole marginscolumnshould not belessthan300mm inordertoguaranteethelengthof the column as the edgeof the component and constraint edgecomponents.Thebi-direc tional lateral force resisting structural form of vertical andhorizontalwallconnected.Each other as the affinityof the shear wall. For one, two seismic frame she ar walls,even beam highratio should notgreaterthan 5 and a height of not less than400mm.Midline columnand beams,wall midline shouldnotbe greater tha nthe columnwidthof1/4,in order toreduce thetorsional effect of the seismicaction onthecolumn.Otherwisecan be taken tostrengthen thestirrupratio inthe column tomake up.If theshear wall shearspan thanthe big two. Eventhe beamcro ss-height ratiogreaterthan 2.5, then the design pressure of thecut shouldnotmakeabig 0.2. However, if the shearwallshear spanratioof less than two couplingbeams span of less than 2.5, then the shear compres sion ratiois notgreater than 0.15. Theother hand,the bottom ofthe frame shear wallstructure to enhance thedesign should notbe less than200mmand notlessthanstorey 1/16,otherpartsshouldnot be less than 160mm and not less thanstorey 1/20. Aroundthe wall of the frame shear wall structure shouldbe set to the beam or dark beamand the side columntoform a border. Horizontal distributionofshear walls can from the shear effect,this design when building higher longeror framestructure reinforcement should be appropriatelyincreased, especially in the sensitiveparts of the beam position or temperature, stiffnesschange is bestappropriately increased, thenconsideration shouldbe givento the wallverticalreinforcement,because it is mainly from the bending effect, andtake in some multi-storeyshearwall structurereinforcedreinforcement rate -likelessconstrained edgeofthecomponent or components reinforcement of theedge component.References: [1 sad Hayashi,He Yaming. On the shortshear wall high-rise buildingdesign [J].Keyuan, 2008, (O2).高层框架剪力墙结构设计吴继成摘要: 本文从框架剪力墙结构设计的基本概念人手, 分析了框架剪力墙的构造设计内容, 包括抗震墙、剪跨比等的设计, 并出混凝土结构中最常用的框架剪力墙结构设计的注意要点。
毕业设计论文 外文文献翻译
毕业设计(论文)外文参考文献翻译计算机科学与信息工程系系(院)2008 届题目企业即时通Instant Messaging for Enterprises课题类型技术开发课题来源自选学生姓名许帅专业班级 04计算机科学与技术指导老师王占中职称工程师完成日期:2008年4 月 6 日目录I NSTANT M ESSAGING FOR E NTERPRISE (1)1. Tips (1)2. Introduction (1)3. First things first (2)4.The While-Accept loop (4)5. Per-Thread class (6)6. The Client class (7)企业即时通 (9)1.提示 (9)2.简介 (9)3.首先第一件事 (10)4.监听循环 (11)5.单线程类 (13)6.用户端类 (14)Instant Messaging for Enterprise1. TipsIf 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 tr aditional programming perspective. Although Java is very useful for solving traditional standalone programming problems, it is also important because it will solve programming problems on the World Wide Web. What is the Web?The Web can seem a bit of a mys tery at first, with all this talk of “surfing,”“presence,” and “home pages.” It’s helpful to step back and see what it really is, but to do this you must understand client/server systems, another aspect of computing that is full of confusing issues. The primary idea of a client/server system is that you have a central repository of information,some kind of data, often in a database。
计算机专业毕业设计论文外文文献中英文翻译——java对象
1 . Introduction To Objects1.1The progress of abstractionAll programming languages provide abstractions. It can be argued that the complexity of the problems you’re able to solve is directly related to the kind and quality of abstraction。
By “kind” I mean,“What is it that you are abstracting?” Assembly language is a small abstraction of the underlying machine. Many so—called “imperative” languages that followed (such as FORTRAN,BASIC, and C) were abstractions of assembly language。
These languages are big improvements over assembly language,but their primary abstraction still requires you to think in terms of the structure of the computer rather than the structure of the problem you are trying to solve。
The programmer must establish the association between the machine model (in the “solution space,” which is the place where you’re modeling that problem, such as a computer) and the model of the problem that is actually being solved (in the “problem space,” which is the place where the problem exists). The effort required to perform this mapping, and the fact that it is extrinsic to the programming language,produces programs that are difficult to write and expensive to maintain,and as a side effect created the entire “programming methods” industry.The alter native to modeling the machine is to model the problem you’re trying to solve。
软件工程专业毕业设计外文文献翻译
软件工程专业毕业设计外文文献翻译1000字本文将就软件工程专业毕业设计的外文文献进行翻译,能够为相关考生提供一定的参考。
外文文献1: Software Engineering Practices in Industry: A Case StudyAbstractThis paper reports a case study of software engineering practices in industry. The study was conducted with a large US software development company that produces software for aerospace and medical applications. The study investigated the company’s software development process, practices, and techniques that lead to the production of quality software. The software engineering practices were identified through a survey questionnaire and a series of interviews with the company’s software development managers, software engineers, and testers. The research found that the company has a well-defined software development process, which is based on the Capability Maturity Model Integration (CMMI). The company follows a set of software engineering practices that ensure quality, reliability, and maintainability of the software products. The findings of this study provide a valuable insight into the software engineering practices used in industry and can be used to guide software engineering education and practice in academia.IntroductionSoftware engineering is the discipline of designing, developing, testing, and maintaining software products. There are a number of software engineering practices that are used in industry to ensure that software products are of high quality, reliable, and maintainable. These practices include software development processes, software configuration management, software testing, requirements engineering, and project management. Software engineeringpractices have evolved over the years as a result of the growth of the software industry and the increasing demands for high-quality software products. The software industry has developed a number of software development models, such as the Capability Maturity Model Integration (CMMI), which provides a framework for software development organizations to improve their software development processes and practices.This paper reports a case study of software engineering practices in industry. The study was conducted with a large US software development company that produces software for aerospace and medical applications. The objective of the study was to identify the software engineering practices used by the company and to investigate how these practices contribute to the production of quality software.Research MethodologyThe case study was conducted with a large US software development company that produces software for aerospace and medical applications. The study was conducted over a period of six months, during which a survey questionnaire was administered to the company’s software development managers, software engineers, and testers. In addition, a series of interviews were conducted with the company’s software development managers, software engineers, and testers to gain a deeper understanding of the software engineering practices used by the company. The survey questionnaire and the interview questions were designed to investigate the software engineering practices used by the company in relation to software development processes, software configuration management, software testing, requirements engineering, and project management.FindingsThe research found that the company has a well-defined software development process, which is based on the Capability Maturity Model Integration (CMMI). The company’s software development process consists of five levels of maturity, starting with an ad hoc process (Level 1) and progressing to a fully defined and optimized process (Level 5). The company has achieved Level 3 maturity in its software development process. The company follows a set of software engineering practices that ensure quality, reliability, and maintainability of the software products. The software engineering practices used by the company include:Software Configuration Management (SCM): The company uses SCM tools to manage software code, documentation, and other artifacts. The company follows a branching and merging strategy to manage changes to the software code.Software Testing: The company has adopted a formal testing approach that includes unit testing, integration testing, system testing, and acceptance testing. The testing process is automated where possible, and the company uses a range of testing tools.Requirements Engineering: The company has a well-defined requirements engineering process, which includes requirements capture, analysis, specification, and validation. The company uses a range of tools, including use case modeling, to capture and analyze requirements.Project Management: The company has a well-defined project management process that includes project planning, scheduling, monitoring, and control. The company uses a range of tools to support project management, including project management software, which is used to track project progress.ConclusionThis paper has reported a case study of software engineering practices in industry. The study was conducted with a large US software development company that produces software for aerospace and medical applications. The study investigated the company’s software development process,practices, and techniques that lead to the production of quality software. The research found that the company has a well-defined software development process, which is based on the Capability Maturity Model Integration (CMMI). The company uses a set of software engineering practices that ensure quality, reliability, and maintainability of the software products. The findings of this study provide a valuable insight into the software engineering practices used in industry and can be used to guide software engineering education and practice in academia.外文文献2: Agile Software Development: Principles, Patterns, and PracticesAbstractAgile software development is a set of values, principles, and practices for developing software. The Agile Manifesto represents the values and principles of the agile approach. The manifesto emphasizes the importance of individuals and interactions, working software, customer collaboration, and responding to change. Agile software development practices include iterative development, test-driven development, continuous integration, and frequent releases. This paper presents an overview of agile software development, including its principles, patterns, and practices. The paper also discusses the benefits and challenges of agile software development.IntroductionAgile software development is a set of values, principles, and practices for developing software. Agile software development is based on the Agile Manifesto, which represents the values and principles of the agile approach. The manifesto emphasizes the importance of individuals and interactions, working software, customer collaboration, and responding to change. Agile software development practices include iterative development, test-driven development, continuous integration, and frequent releases.Agile Software Development PrinciplesAgile software development is based on a set of principles. These principles are:Customer satisfaction through early and continuous delivery of useful software.Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.Deliver working software frequently, with a preference for the shorter timescale.Collaboration between the business stakeholders and developers throughout the project.Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.Working software is the primary measure of progress.Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.Continuous attention to technical excellence and good design enhances agility.Simplicity – the art of maximizing the amount of work not done – is essential.The best architectures, requirements, and designs emerge from self-organizing teams.Agile Software Development PatternsAgile software development patterns are reusable solutions to common software development problems. The following are some typical agile software development patterns:The Single Responsibility Principle (SRP)The Open/Closed Principle (OCP)The Liskov Substitution Principle (LSP)The Dependency Inversion Principle (DIP)The Interface Segregation Principle (ISP)The Model-View-Controller (MVC) PatternThe Observer PatternThe Strategy PatternThe Factory Method PatternAgile Software Development PracticesAgile software development practices are a set ofactivities and techniques used in agile software development. The following are some typical agile software development practices:Iterative DevelopmentTest-Driven Development (TDD)Continuous IntegrationRefactoringPair ProgrammingAgile Software Development Benefits and ChallengesAgile software development has many benefits, including:Increased customer satisfactionIncreased qualityIncreased productivityIncreased flexibilityIncreased visibilityReduced riskAgile software development also has some challenges, including:Requires discipline and trainingRequires an experienced teamRequires good communicationRequires a supportive management cultureConclusionAgile software development is a set of values, principles, and practices for developing software. Agile software development is based on the Agile Manifesto, which represents the values and principles of the agile approach. Agile software development practices include iterative development, test-driven development, continuous integration, and frequent releases. Agile software development has many benefits, including increased customer satisfaction, increased quality, increased productivity, increased flexibility, increased visibility, and reduced risk. Agile software development also has some challenges, including the requirement for discipline and training, the requirement for an experienced team, the requirement for good communication, and the requirement for a supportive management culture.。
毕业论文文献外文翻译----危机管理:预防,诊断和干预文献翻译-中英文文献对照翻译
第1页 共19页中文3572字毕业论文(设计)外文翻译标题:危机管理-预防,诊断和干预一、外文原文标题:标题:Crisis management: prevention, diagnosis and Crisis management: prevention, diagnosis andintervention 原文:原文:The Thepremise of this paper is that crises can be managed much more effectively if the company prepares for them. Therefore, the paper shall review some recent crises, theway they were dealt with, and what can be learned from them. Later, we shall deal with the anatomy of a crisis by looking at some symptoms, and lastly discuss the stages of a crisis andrecommend methods for prevention and intervention. Crisis acknowledgmentAlthough many business leaders will acknowledge thatcrises are a given for virtually every business firm, many of these firms do not take productive steps to address crisis situations. As one survey of Chief Executive officers of Fortune 500 companies discovered, 85 percent said that a crisisin business is inevitable, but only 50 percent of these had taken any productive action in preparing a crisis plan(Augustine, 1995). Companies generally go to great lengths to plan their financial growth and success. But when it comes to crisis management, they often fail to think and prepare for those eventualities that may lead to a company’s total failure.Safety violations, plants in need of repairs, union contracts, management succession, and choosing a brand name, etc. can become crises for which many companies fail to be prepared untilit is too late.The tendency, in general, is to look at the company as a perpetual entity that requires plans for growth. Ignoring the probabilities of disaster is not going to eliminate or delay their occurrences. Strategic planning without inclusion ofcrisis management is like sustaining life without guaranteeinglife. One reason so many companies fail to take steps to proactively plan for crisis events, is that they fail to acknowledge the possibility of a disaster occurring. Like an ostrich with its head in the sand, they simply choose to ignorethe situation, with the hope that by not talking about it, it will not come to pass. Hal Walker, a management consultant, points out “that decisions will be more rational and better received, and the crisis will be of shorter duration, forcompanies who prepare a proactive crisis plan” (Maynard, 1993) .It is said that “there are two kinds of crises: those that thatyou manage, and those that manage you” (Augustine, 1995). Proactive planning helps managers to control and resolve a crisis. Ignoring the possibility of a crisis, on the other hand,could lead to the crisis taking a life of its own. In 1979, theThree-Mile Island nuclear power plant experienced a crisis whenwarning signals indicated nuclear reactors were at risk of a meltdown. The system was equipped with a hundred or more different alarms and they all went off. But for those who shouldhave taken the necessary steps to resolve the situation, therewere no planned instructions as to what should be done first. Hence, the crisis was not acknowledged in the beginning and itbecame a chronic event.In June 1997, Nike faced a crisis for which they had no existi existing frame of reference. A new design on the company’s ng frame of reference. A new design on the company’s Summer Hoop line of basketball shoes - with the word air writtenin flaming letters - had sparked a protest by Muslims, who complained the logo resembled the Arabic word for Allah, or God.The council of American-Islamic Relations threatened aa globalNike boycott. Nike apologized, recalled 38,000 pairs of shoes,and discontinued the line (Brindley, 1997). To create the brand,Nike had spent a considerable amount of time and money, but hadnever put together a general framework or policy to deal with such controversies. To their dismay, and financial loss, Nike officials had no choice but to react to the crisis. This incident has definitely signaled to the company that spending a little more time would have prevented the crisis. Nonetheless,it has taught the company a lesson in strategic crisis management planning.In a business organization, symptoms or signals can alert the strategic planners or executives of an eminent crisis. Slipping market share, losing strategic synergy anddiminishing productivity per man hour, as well as trends, issues and developments in the socio-economic, political and competitive environments, can signal crises, the effects of which can be very detrimental. After all, business failures and bankruptcies are not intended. They do not usually happen overnight. They occur more because of the lack of attention to symptoms than any other factor.Stages of a crisisMost crises do not occur suddenly. The signals can usuallybe picked up and the symptoms checked as they emerge. A company determined to address these issues realizes that the real challenge is not just to recognize crises, but to recognize themin a timely fashion (Darling et al., 1996). A crisis can consistof four different and distinct stages (Fink, 1986). The phasesare: prodromal crisis stage, acute crisis stage, chronic crisisstage and crisis resolution stage.Modern organizations are often called “organic” due tothe fact that they are not immune from the elements of their surrounding environments. Very much like a living organism, organizations can be affected by environmental factors both positively and negatively. But today’s successfulorganizations are characterized by the ability to adapt by recognizing important environmental factors, analyzing them, evaluating the impacts and reacting to them. The art of strategic planning (as it relates to crisis management)involves all of the above activities. The right strategy, in general, provides for preventive measures, and treatment or resolution efforts both proactively and reactively. It wouldbe quite appropriate to examine the first three stages of acrisis before taking up the treatment, resolution or intervention stage.Prodromal crisis stageIn the field of medicine, a prodrome is a symptom of the onset of a disease. It gives a warning signal. In business organizations, the warning lights are always blinking. No matter how successful the organization, a number of issues andtrends may concern the business if proper and timely attentionis paid to them. For example, in 1995, Baring Bank, a UK financial institution which had been in existence since 1763,ample opportunitysuddenly and unexpectedly failed. There wasfor the bank to catch the signals that something bad was on thehorizon, but the company’s efforts to detect that were thwarted by an internal structure that allowed a single employee both to conduct and to oversee his own investment trades, and the breakdown of management oversight and internalcontrol systems (Mitroff et al., 1996). Likewise, looking in retrospect, McDonald’s fast food chain was given the prodromalsymptoms before the elderly lady sued them for the spilling ofa very hot cup of coffee on her lap - an event that resulted in a substantial financial loss and tarnished image of thecompany. Numerous consumers had complained about thetemperature of the coffee. The warning light was on, but the company did not pay attention. It would have been much simplerto pick up the signal, or to check the symptom, than facing the consequences.In another case, Jack in the Box, a fast food chain, had several customers suffer intestinal distress after eating at their restaurants. The prodromal symptom was there, but the company took evasive action. Their initial approach was to lookaround for someone to blame. The lack of attention, the evasiveness and the carelessness angered all the constituent groups, including their customers. The unfortunate deaths thatptoms,occurred as a result of the company’s ignoring thesymand the financial losses that followed, caused the company to realize that it would have been easier to manage the crisis directly in the prodromal stage rather than trying to shift theblame.Acute crisis stageA prodromal stage may be oblique and hard to detect. The examples given above, are obvious prodromal, but no action wasWebster’s New Collegiate Dictionary, an acute stage occursacutewhen a symptom “demands urgent attention.” Whether the acutesymptom emerges suddenly or is a transformation of a prodromalstage, an immediate action is required. Diverting funds and other resources to this emerging situation may cause disequilibrium and disturbance in the whole system. It is onlythose organizations that have already prepared a framework forthese crises that can sustain their normal operations. For example, the US public roads and bridges have for a long time reflected a prodromal stage of crisis awareness by showing cracks and occasionally a collapse. It is perhaps in light of the obsessive decision to balance the Federal budget that reacting to the problem has been delayed and ignored. This situation has entered an acute stage and at the time of this writing, it was reported that a bridge in Maryland had just collapsed.The reason why prodromes are so important to catch is thatit is much easier to manage a crisis in this stage. In the caseof most crises, it is much easier and more reliable to take careof the problem before it becomes acute, before it erupts and causes possible complications (Darling et al., 1996). In andamage. However, the losses are incurred. Intel, the largest producer of computer chips in the USA, had to pay an expensiveprice for initially refusing to recall computer chips that proved unreliable o n on certain calculations. The f irmfirm attempted to play the issue down and later learned its lesson. At an acutestage, when accusations were made that the Pentium Chips were not as fast as they claimed, Intel quickly admitted the problem,apologized for it, and set about fixing it (Mitroff et al., 1996). Chronic crisis stageDuring this stage, the symptoms are quite evident and always present. I t isIt is a period of “make or break.” Being the third stage, chronic problems may prompt the company’s management to once and for all do something about the situation. It may be the beginning of recovery for some firms, and a deathknell for others. For example, the Chrysler Corporation was only marginallysuccessful throughout the 1970s. It was not, however, until the company was nearly bankrupt that amanagement shake-out occurred. The drawback at the chronic stage is that, like in a human patient, the company may get used to “quick fixes” and “band “band--aid”approaches. After all, the ailment, the problem and the crisis have become an integral partoverwhelmed by prodromal and acute problems that no time or attention is paid to the chronic problems, or the managers perceive the situation to be tolerable, thus putting the crisison a back burner.Crisis resolutionCrises could be detected at various stages of their development. Since the existing symptoms may be related todifferent problems or crises, there is a great possibility thatthey may be misinterpreted. Therefore, the people in charge maybelieve they have resolved the problem. However, in practicethe symptom is often neglected. In such situations, the symptomwill offer another chance for resolution when it becomes acute,thereby demanding urgent care. Studies indicate that today anincreasing number of companies are issue-oriented and searchfor symptoms. Nevertheless, the lack of experience in resolvinga situation and/or inappropriate handling of a crisis can leadto a chronic stage. Of course, there is this last opportunityto resolve the crisis at the chronic stage. No attempt to resolve the crisis, or improper resolution, can lead to grim consequences that will ultimately plague the organization or even destroy it.It must be noted that an unsolved crisis may not destroy the company. But, its weakening effects can ripple through the organization and create a host of other complications.Preventive effortsThe heart of the resolution of a crisis is in the preventiveefforts the company has initiated. This step, similar to a humanbody, is actually the least expensive, but quite often the mostoverlooked. Preventive measures deal with sensing potential problems (Gonzales-Herrero and Pratt, 1995). Major internalfunctions of a company such as finance, production, procurement, operations, marketing and human resources are sensitive to thesocio-economic, political-legal, competitive, technological, demographic, global and ethical factors of the external environment. What is imminently more sensible and much more manageable, is to identify the processes necessary forassessing and dealing with future crises as they arise (Jacksonand Schantz, 1993). At the core of this process are appropriate information systems, planning procedures, anddecision-making techniques. A soundly-based information system will scan the environment, gather appropriate data, interpret this data into opportunities and challenges, and provide a concretefoundation for strategies that could function as much to avoid crises as to intervene and resolve them.Preventive efforts, as stated before, require preparations before any crisis symptoms set in. Generally strategic forecasting, contingency planning, issues analysis, and scenario analysis help to provide a framework that could be used in avoiding and encountering crises.出处:出处:Toby TobyJ. Kash and John R. Darling . Crisis management: prevention, diagnosis 179-186二、翻译文章标题:危机管理:预防,诊断和干预译文:本文的前提是,如果该公司做好准备得话,危机可以更有效地进行管理。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Encoding the Java Virtual Machine’s Instruction Set1 IntroductionThe development of programs that parse and analyze Java Bytecode [9] has a long history and new programs are still developed [2,3,4,7,13]. When developing such tools, however, a lot of effort is spent to develop a parser for the bytecode and for (re-) developing standard control- and data-flow analyses which calculate, e.g., the control-flow graph or the data-dependency graph.To reduce these efforts, we have developed a specification language (OPAL SPL) for encoding the instructions of stack-based intermediate languages. The idea is that—once the instruction set is completely specified using OPAL SPL—generating both bytecode parsers and standard analyses is much easier than their manual development. To support this goal, OPAL SPL supports the specification of both the format of bytecode instructions and the effect on the stack and registers these instructions have when executed. An alternative use of an OPAL SPL specification is as input to a generic parser or to generic analyses as illustrated by Fig. 1Though the language was designed with Java Bytecode specifically in mind and is used to encode the complete instruction set of the Java Virtual Machine (JVM) , we have striven for a Java-independent specification language. In particular, OPAL SPL focuses on specifying the instruction set rather than the complete class file format, not only because the former’s structure is much more regular than the latter’s,but also because a specifi cation of the instruction set promises to be most beneficial. Given the primary focus of OPAL SPL—generating parsers and facilitating basic analyses—we explicitly designed the language such that it is possible to group related instructions. This makes specifications more concise and allows analyses to treat similar instructions in nearly the same way. For example, the JVM’s iload 5 instruction, which loads the integer value stored in register #5, is a special case of the generic iload instruction where the instruction’s operand is 5. We also designed OPAL SPL in such a way that specifications do not prescribe how a framework represents or processes information; i.e., OPAL SPL is representation agnostic.The next section describes the specification langua ge. In Section3we reason about the language’s design by discussing the specification of selected JVM instructions. In Section4the validation of specifications is discussed. The evaluation of the approach is presented in Section5. The paper ends with a discussion of related work and a conclusion.2 Specifying Bytecode InstructionsThe language for specifying bytecode instructions (OPAL SPL) was primarily designed to enable aconcise specification of the JVM’s instruction set. OPAL SPL supports the sp ecification of both an instruction’s format and its effect on the stack and local variables (registers)when the instruction is executed. It is thus possible to specify which kind of values are popped from and pushed onto the stack as well as which local variables are read or written. Given a specification of the complete instruction set the information required by standard control- and data-flow analyses is then available.However, OPAL SPL is not particularly tied to Java as it abstracts from the particularities of the JVM Specification. For example, the JVM’s type system is part of an OPAL SPL specification rather than an integral part of the OPAL SPL language itself.Next, we first give an overview of the language before we discuss its semantics.2.1 SyntaxThe OPAL Specification Language (OPAL SPL) is an XML-based language. Its grammar is depicted in Fig.2using an EBNF-like format. Non-terminals are written in capital letters (INSTRUCTIONS, TYPES, etc.), the names of XML-elements are written in small letters (types, stack, etc.) and the names of XML-attributes start with ―@‖ (@type, @var, etc.). We refer to the content of an XML-element using symbols that start with―/‖ (/V ALUEEXPRESSION, /EXPECTEDV ALUE, etc.). ―<>‖ is used to specify nesting of elements. ―( ),?,+,*,{},|‖ have the usual semantics. For example,exceptions<(exception @type)+>specifies that the XML-elementexceptionshas one or moreexceptionchild elements that always have the attributetype.2.2 SemanticsFormat SpecificationEach specification written in OPAL SPL consists of four major parts (line 1 in Fig.2). The first part(types, lines 2–3) specifies the type system that is used by the underlying virtual machine. The second part (exceptions, line 4) declares the exceptions that may be thrown when instructions are executed. The third part (functions, line 5) declares the functions that are used in instruction specifications. The fourth part is the specification of the instructions themselves (lines 6–12), each of which may resort to the declared functions to access information not simply stored along with the instruction. For example,invoke instructions do not store the signature and declaring class of the called methods. Instead, a reference to an entry in the so-called constant pool is stored. Only this constant pool entry has all information about the method. To obtain, e.g., the return type of the called method, an abstract function TYPE method refreturn type(method ref) is declared that takes a reference to the entry as i nput and returns the method’s return type. Using abstract function declarations, we abstract—in the specification of the instructions—from the concrete representation of such information by the enclosing by tecode toolkit.The specification of an instruction consists of up to four parts:the instruction’s format (lines 7–8), a description of the effect the instruction has on the stack when executed (lines 9–10), a descriptions of theregisters it affects upon execution (lines 11–12), and information about the exceptions that may be thrown during execution (end of line 6). An instruction’s format is specified by sequences which describe how an instruction is stored. Theu1, u2andu4elements (line 8) of each format sequence specify that the current value is an unsigned integer value with 1, 2 and 4 bytes, respectively. Similarly, thei1, i2 andi4 elements (line 8) are used to specify that the current value is a (1, 2 or 4 byte) signed integer value. The values can be bound to variables using thevarat tribute and can be given a second semantics using thetype attribute. For example,<i2 type=‖short‖ var=‖value‖/>is a twobyte signed integer value that is bound to the variable value and has type short with respect to the instruction set’s type system. Additionally, it is possible to specify expected values (line 8). This enables the selection of the format sequence to be used for reading in the instruction. E.g., <sequence><u1 var=‖opcode‖>171</u1>... specifies that this sequence matches if the value of the first byt e is 171. A sequence’s list element is used to specify that a variable number of values need to be read. The concrete number of elements is determined by the count attribute. The attribute’s value is an expression that can use values that were previously assigned to a variable. The sequence elements implicit and implicit type are used to bind implicit value and type information to variables that can later on be used in type or value expressions(line 7, 10 and 11). To make it possible to aggregate related bytecode instructions to one logical instruction, several format sequences can be defined. The effect on the stack is determined by the number and type of stack operands that are popped (line 9) and pushed (line 10). If multiple stack layouts are specified, the effect on the stack is determined by the firstbefore-executionstack layout that matches; i.e., to determine the effect on the stack a data-flow analysis is necessary.Unique Prefix RuleOne constraint placed upon specifications written in OPAL SPL is that a format sequence can be identified unambiguously by only parsing a prefix of the instruction; no lookahead is necessary. In other words, if each format sequence is considered a production and eachu1, u2, etc. is considered a terminal, then OPAL SPL requires the format sequences to constitute an LR(0) grammar This unique prefix rule is checked automatically (cf. Sec.4); furthermore, this rule facilitates generating fast parsers from the specification, e.g., using nestedswitchstatements.Type SystemOPAL SPL does not have a hard-coded type hierarchy. Instead, each specification written in SPL contains a description of the type system used by the bytecode language being described. The only restriction is that all types have to be arranged in a single, strict hierarchy.The Java Virtual Machine Specification [9]’s type hierarchy is shown in Fig.3(1). It captures all runtime types known to the Java virtual machine, as well as those types that are used only at link- or compile-time, e.g., branchoffset, fieldref and methodref. The hierarchy is a result of the peculiarities of theJVM’s instruction set. The byteorbooleantype, e.g., is required to model the baloadandbastore instructions, which operate on arrays of byteorbooleanalike.OPAL SPL’s type system implicitly defines a second type hierarchy ((2) in Fig. 3). The declared hierarchy of types (1) is mirrored by a hierarchy of kinds (2); for every (lower-case) type there automatically exists an (upper-case) kind. This convention ensures their consistency and keeps the specification itself brief. The values of kindINT LIKEareint, short, etc., just as the values of type int like are 1, 2, etc. Kinds enable parameterizing logical instructions likeareturnwith types,thus making a concise specification of related instructions (e.g., freturn, ireturn, andareturn) possible (cf. Sec.3.12).Information FlowIn OPAL SPL, the flow of information (values, types, register IDs) is modeled by means of named variables and expressions using the variables. In general, the flow of information is subject to the constraints illustrated by Fig.4. For example, variables defined within a specific format sequence can only be referred to by later elements within the same format sequence; a variable cannot be referred to across format sequences. If the same variable is bound by all format sequences, i.e., it is common to all format sequences, then the variable can be used to identify register IDs, the values pushed onto the stack, etc. Similarly, if an instruction defines multiple stack layouts, then a value can only flow from the i-th stack layout before execution to the i-th stack layout after execution and only information that is common to all stack layouts before execution may be stored in a register.3 Design DiscussionThe design of the OPAL specification language (OPAL SPL) is influenced by the peculiarities of the JVM’s instruction set [9, Chapter 6]. In the following, we discuss those instructions that had a major influence on the design.3.1 Modeling the Stack Bottom(athrow)All JVM instructions—with the exception ofathrow—specify only the number and types of operands popped from and pushed onto the stack; they do not determine the layout of the complete stack. In case of the athrowinstruction, however, the stack layout after its execution is completely determined (Fig.5, line 6); the single element on the stack is the thrown exception. This necessitates explicit modeling of the stack’s contents beyond the operands that are pushed and popped by a particular instruction. The explicit modeling of the rest of the stack (line5) here by allows for the (implicit) modeling of stacks of a fixed size (line6).3.2 Pure Register Instructions(iinc)The flow of information for instructions that do not affect the stack—e.g., the JVM’siinc instruction—is depicted in Fig. 7and adheres to the general scheme of information flow (cf. Fig. 4). After parsing the instruction according to the format sequence(Fig. 6, lines3–5), the two variables lvIndex an dincrement are initialized.3.3 Interpretation of Arithmetic Instructions (iinc, add, sub,etc.)The specification ofiinc (Fig. 6) also illustrates OPAL SPL’s ability to model computed values, e.g., add(value, increment). This information can subsequently be used, e.g., by static analyses to determine data dependencies or to perform abstract interpretations.3.4 Constant Pool Handling (ldc)The Java class file format achieves its compactness in part through the use of a constant pool. Hereby, immediate operands of an instruction are replaced by an index into the (global) pool. For example, in case of the load constant intructionldc, the operand needs to be programmatically retrieved from the constant pool (Fig.8, line 5). To obtain the value’s type, one uses the reflective type offunction that the enclosing toolkitx has to provide (line14).3.5 Multiple Format Sequences, Single Logical InstructionAn instruction such asldc, which may refer to an integer value in the constant pool, is conceptually similar to instructions such asiconst 0orsipush;allofthem push a constant value onto the operand stack. The primary difference between the format sequences of ldc(Fig. 8, lines 3–5)andiconst 0(lines 6–7)isthat the former’s operand resides in th e constant pool. In contrast, sipushencodes its operand explicitly in the bytecode stream as an immediate value (line9).To facilitate standard control- and data-flow analyses, OPAL SPL abstracts away from such details, so that similar instructions can be subsumed by more generic instructions using explicit or implicit type and value bindings. A generic push instruction (Fig. 8), e.g., subsumes all JVM instructions that just push a constant value onto the stack. In this case the pushed value is either a computed value (line5), an implicit value (line7), or an immediate operand (line9).3.6 Variable Operand Counts (invokevirtual, invokespecial,etc.)Some instructions pop a variable number of operands, e.g., the four invoke instructions invokevirtual, invokespecial, invokeinterface,andinvokestatic. In their case the number of popped operands directly depends on the number of arguments of the method. To support instructions that pop a variable number of operands, OPAL SPL provides the list element (Fig.9, line 8). Using the list element’scountattribute, it is possible to specify a function that determines the number of operands actually popped from the stack. It is furthermore possible, by using theloop varattribute, to specify a variable iterating over these operands. The loop variable (i) can then be used inside the list element to specify the expected operands (line10). This enables specification of both the expected number and type of operands, i.e., of the method arguments (lines8–10).Using functions (methodrefargcount, methodrefargtype, ...) offloads the intricate handling of the constant pool to externally supplied code (cf. Sec.3.4)—the enclosing toolkit; the OPAL specification language itself remains independent of how the framework or toolkit under development stores suchinformation.3.7 ExceptionsThe specification of invokevirtual (Fig. 9) also makes explicit which exceptions the instruction may throw (line 16). This information is required by control-flow analyses and thus needs to be present in specifications. To identify the instructions which may handle the exception the function (caughtby)needs to be defined by the toolkit. This functions computes, given both the instruction’s address and the type of the exception, the addresses of all instructions in the same method that handle the exception. Similar to the handling of the constant pool, OPAL SPL thus offloads the handling of the exceptions attribute.3.8 Variable-length Instructions (tableswitch, lookupswitch)The support for variable-length instructions (tableswitch, lookupswitch) is similar to the support for instructions with a variable stack size (cf. Sec. 3.6). In this case, anelementselement can be used to specify how many times (Fig.10, line 7) which kind of values (lines8–9) need to be read. Hereby, the elementsconstruct can accommodate multiple sequence elements (lines7–10).The variable number of cases is, however, just one reason why table switch and lookupswitch are classified as variable-length instructions; the JVM Specification mandates that up to three padding bytes are inserted, to align the following format elements on a four-byte boundary (line4).3.9 Single Instruction, Multiple Operand Stacks (dup2)The JVM specification defines several instructions that operate on the stack independent of their operands’ types or—if we change the perspective—that behave differently depending on the type of the operands present on the stack prior to their execution. For example, thedup2instruction (Fig. 11) duplicates the contents of two one-word stack slots.Instructions such asdup2anddup2x1distinguish their operands by their computational type (category 1 or 2) rather than by their actual type (int, reference,etc.). This makes it possible to compactly encode instructions such asdup2and motivates the corresponding level in the type hierarchy (cf. Sec.2.2). Additionally, this requires that OPAL SPL supports multiple stack layouts.In OPAL SPL, the stack is modeled as a list of operands, not as a list of slots as discussed in the JVM specification. While the effect of an instruction such asdup2 is more easily expressed in terms of stack slots, the vast majority of instructions naturally refers to operands. In particular, the decision to base the stack model on operands rather than slots avoids explicit modeling of the higher and lower halves of category-2-values, e.g., the high and low word of a 64 bitlong operand.3.10 (Conditional) Control Transfer Instructions (if, goto, jsr, ret)To perform control-flow analyses it is necessary to identify those instructions that may transfer control, either by directly manipulating the program counter or terminating the current method. This information is specified using theinstruction element’s optional transferscontrol attribute (Fig.12, line 1). Itspecifies if control is transfered conditionally or always. The target instruction to which control is transferredisidentifiedbythevaluesoftype branchoffset orabsoluteaddress.For these two types the type system contains the meta-information (cf. Fig.3)thatthe values have to be interpreted either as relative or absolute program counters.3.11 Multibyte Opcodes and Modifiers (wideinstructions, newarray)The JVM instruction set consists mostly of instructions whose opcode is a single byte, although a few instructions have longer opcode sequences. In most cases this is due to the widemodifier, a single byte prefix to the instruction. In case of the newarray instruction, however, a suffix is used to determine its precise effect. As can be seen in Fig.13, the parser needs to examine two bytes to determine the correct format sequence.3.12 Implicit Types and Type ConstructorsThe specification ofnewarray(Fig.13) also illustrates the specification of implied types and type constructors. As the JVM instruction set is a typed assembly language, many instructions exist in a variety of formats, e.g., asiadd, ladd, fadd, anddadd.Theimplicit type construct is designed to eliminate this kind of redundancy in the specification, resulting in a single, logical instruction:add. Similarily, newarraymakes use of type bindings (lines5, 8).But, to precisely model the effect ofnewarrayon the operand stack, an additional function that constructs a type is needed. Given a type and an integer, the function arrayconstructs a new type; here, a one-dimensional array of the base type (line14).3.13 Extension MechanismOPAL SPL has been designed with extensibility in mind. The extension point for additional information is the instruction element’sappinfochild, whose content can consist of arbitrary elements with a namespace other than OPAL SPL’s own.To illustrate the mechanism, suppose that we want to create a Prolog representation for Java Bytecode, in which information about operators is explicit, i.e., in which theifgt instruction is an if instruction which compares two values using the greater than operator, as illustrated by Fig.14.4 V alidating SpecificationsTo validate an OPAL SPL specification, we have defined an XML Schema which ensures syntactic correctness of the specification and performs basic identity checking. It checks, for example, that each declared type and each instruction’s mnemonic is unique. Additionally, we have developed a program which analyzes a specification and detects the following errors: (a) a format sequence does not have a unique prefix path, (b) multiple format sequences of a single instruction do not agree in the variables bound by them, (c) the number or type of function’s a rguments is wrong or its result is of the wrong type.5 EvaluationWe have used the specification of the JVM’s instruction set [9] for the implementation of a highly flexible bytecode toolkit. The toolkit supports four representations of Java bytecode: a native representation, which is a one-to-one representation of the Java Bytecode; a higher-level representation, which abstracts away some details of Java bytecode—in particular from the constant pool; an XML representation which uses the higher-level representation; a Prolog-based representation of Java Bytecode, which is also based on the higher-level representation.6 Related WorkApplying XML technologies to Java bytecode is not a new idea [5]. The XML serialization of class files, e.g., allows for their declarative transformation using XSLT. The XMLVM [11] project aims to support not only the JVM instruction set [9], but also the CLR instruction set [8]. This requires that at least the CLR’s operand stack is transformed [12], as the JVM r equires. The description of the effect that individual CLR instructions have on the operand stack is, however, not specified in an easily accessible format like OPAL SPL, but rather embedded within the XSL transformations.7 Conclusion and Future WorkIn future work, we will investigate the use of OPAL SPL for the encoding of other bytecode languages, such as the Common Intermediate Language. This would make it possible to develop (control- and dataflow-) analyses with respect to the OPAL SPL and to use the same analysis to analyze bytecode of different languages.From:Encoding the Java Virtual Machine’s Instruction SetJava虚拟机指令系统的编码1引言解释和分析Java字节码程序的发展有已经长的历史了,新的方案仍在研究。