首页 | 官方网站   微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 31 毫秒
1.
We present the design and implementation of Arachne, a threads system that can be interfaced with a communications library for multithreaded distributed computations. In particular, Arachne supports thread migration between heterogeneous platforms, dynamic stack size management, and recursive thread functions. Arachne is efficient, flexible, and portable-it is based entirely on C and C++. To facilitate heterogeneous thread operations, we have added three keywords to the C++ language. The Arachne preprocessor takes as input code written in that language and outputs C++ code suitable for compilation with a conventional C++ compiler. The Arachne runtime system manages all threads during program execution. We present some performance measurements on the costs of basic thread operations and thread migration in Arachne and compare these to costs in other threads systems  相似文献   

2.
Hypertext functionalities represent a form of the distilled wisdom of the hypermedia community. Even if they were introduced and advocated already in the pre-Web era, most of these functionalities are absent in current Web browsers. However, such functionalities can be very useful in some specific applicative fields, like for instance browsing complex software engineering documents, using standard WWW components. We propose to exploit the advent of XML as a basic infrastructure for describing software engineering hypertexts. In fact, we describe XMLC, a prototype of an XML browser that, given its modular architecture and general scope, can be seen as the basis for implementing sophisticated hypertext functionalities for software engineering documentation to be maintained and browsed on the Web.  相似文献   

3.
Currently, Web-based applications are no longer monolithic and isolated systems but, rather, distributed applications that need to interoperate with third-party systems, such as external Web services, LDAP repositories or legacy applications. When one component provides a service that the Web application requires, it is often not possible to bind the two systems together if they were not programmed to have compatible collaboration specifications. Modeling the adaptation between a Web application and external assets becomes therefore an essential issue in any realistic model-driven development scenario. However, most of the existing Web Engineering proposals do not take this issue into account, or they simply address it at the implementation level (in a platform-specific way). In this work, we discuss the problems involved in dealing with component adaptation within the context of Model-Driven Web Engineering and show how design patterns can help addressing it. We first identify the major interoperability problems that can happen when integrating third-party application or legacy systems into our Web systems, and then propose the mechanisms that need to be put in place at the design level to generate the appropriate specification of adapters that compensate for the possible mismatches and differences. We base our proposal on well-known design patterns as they are established solutions to recurring problems, and the generation of code from them is normally straightforward.  相似文献   

4.
唐锋  武成岗  冯晓兵  张兆庆 《软件学报》2007,18(7):1603-1611
二进制翻译可以用于解决遗产代码的迁移问题,也可以实现不同硬件平台之间软件的通用.如果源平台通过标志位进行条件跳转,那么如何处理标志位就成为翻译中的一个重要问题,对翻译的代码质量起着决定性作用.提出标志位线性分析算法,复杂度为线性,基本上能够消除所有的标志位冗余计算,提高了动态执行的效率.基于动态profiling技术,消除了间接跳转的基本块标志位冗余计算.分析了spec 2000中的大部分整点测试例子,实验结果表明,EfLA(Eflag linear analysis)算法对于大运算量的程序是非常有效的.  相似文献   

5.
6.
Web应用的自动测试   总被引:4,自引:0,他引:4  
Web应用测试涉及到各种纷繁艽杂的测试对象、方法和过程,需要增强其测试执行过程的自动化、智能化水平以提高测试效率。为此,本文结合Web应用的特性,对自动、智能执行Web应用测试的必要性、可行性进行分析;在此基础上,详细描述并深入分析Web应用测试的执行过程,明确测试执行的步骤、流程以及采用的技术、工具等相关内容;再次,改进捕捉,回放技术使之适应Web应用的动态特性,并采用智能Agent来实现对整个测试执行过程的监控、管理和应急处理,从而自动、智能地执行Web应用测试。  相似文献   

7.
In this paper we describe the results of a study of the insertion of checkpoints within a legacy software system in the aerospace domain. The purpose of the checkpoints was to improve program fault-tolerance during program execution by rolling back system control to a saved state from which program execution can continue. The study used novice programmers for the determination of where the checkpoints were to be added. The focus was on the programmer’s understanding of the code, since this affected how the checkpoints were placed. The results should provide guidance to those interested in improving the fault-tolerance of legacy software systems, especially those written in older, nearly obsolescent programming languages.  相似文献   

8.
基于面向服务架构的遗留系统再设计方法   总被引:1,自引:0,他引:1  
提出了一种遗留系统再设计的方法,应用改进的层次聚类算法构建遗留代码,能够方便地将代码取出以构建Web服务.该方法支持服务鉴别和服务包装,通过改造有用的遗留代码,经济有效地将遗留系统迁移到面向服务架构中.最后利用上述技术,成功地再现了一个分布式并行计算平台的再设计过程.  相似文献   

9.
《IT Professional》2001,3(5):17-24
The Internet makes it imperative to unlock legacy data. Three technologies may let companies dust off legacy code and make it work with the Web: Extensible Markup Language, or XML, describes data through the use of tags, eliminating the need to conform to a specific programming infrastructure; Web services let companies wrap software and tailor its distribution, allowing innovative code configurations; and wireless technology offers the ability to get legacy content to mobile workers and clients. Each technology is part of the new arsenal for leveraging existing applications and data, perhaps realizing the elusive goal of anywhere, anytime services  相似文献   

10.
11.
Good software engineering practices, such as separating concerns and identifying patterns, simplify the critical design decisions in building personalized Web applications. The authors use the object-oriented hypermedia design method (OOHDM) for constructing customized Web applications. Incorporating well-known object-oriented design structures and techniques, OOHDM produces flexible Web application models. Designers can add personalized behavior to these models with minimal code manipulation, and reasoning over design objects yields better insight into the personalization process. Although this article casts the discussion in terms of the OOHDM primitives, the ideas presented can be easily applied to other design approaches, such as WebML  相似文献   

12.
遗留系统的再工程是企业信息化建设必须解决的问题,在基于SOA的企业遗留系统复用框架的基础上,给出了通过Web Services技术将遗留系统从数据层、业务层、应用层进行封装的模型,并结合B/S结构的Web应用程序开发现状,实现了SSH框架下的遗留系统再工程过程。  相似文献   

13.
Application developers utilizing event-based middleware have sought to leverage domain-specific modeling for the advantages of intuitive specification, code synthesis, and support for design evolution. For legacy and cyber-physical systems, the use of event-based middleware may mean that changes in computational platform can result anomalous system behavior, due to the presence of implicit temporal dependencies. These anomalies are a function not of the component implementation, but of the model of computation employed for supporting system composition. In order to address these behavioral anomalies, the paper presents an approach where time-based blocks are inserted into the system to account for the temporal dependencies. An advantage of capturing the system composition in a domain-specific modeling language is the ability to efficiently refactor an application to include time-triggered, event-based schedulers. This paper describes how an existing event-based component topology can be modified to permit a time-triggered model of computation, with no changes to the existing component software. Further, the time-triggered components can be deployed alongside standard publish/subscribe methodologies. This strategy is beneficial to the maintenance of existing legacy systems upon upgrade, since the current operational mode could be maintained with minimal changes to the legacy software even under changes to the target platform which alter execution speed. These time-triggered layers are discussed in three permutations: fully triggered, start triggered, and release triggered. A discussion is provided regarding the limitations of each approach, and a brief example is given. The example shows how to apply these triggering approaches without the modification of existing components, but instead through the insertion of triggered buffers between legacy components.  相似文献   

14.
Approaches to runtime checking have to track the execution of a software system and therefore have to deal with generating and processing execution events. Often these techniques are applied at the code level – either by inserting new source code prior to the compilation or by modifying the target code, e.g. Java byte code, before running the program.The jassda [4,3] framework and tool enable runtime checking of Java programs against a CSP-like specification. For generating events it uses the Java Debug Interface (JDI) and thus no modifications to the code are necessary. Another advantage is that events are generated on demand, i.e. dynamically at runtime it is determined which events to generate for the current debug run without modifying the program itself. This paper shows how this event generation is done by the jassda framework.  相似文献   

15.
Understanding Web services   总被引:2,自引:0,他引:2  
《IT Professional》2001,3(6):69-73
Web services are a new breed of Web applications. These independent application components are published on to the Web in such a way that other Web applications can find and use them. They take the Web to its next stage of evolution, in which software components can discover other software components and conduct business transactions. Examples of Web services include a credit card service that processes credit card transactions for a given account number, a market data service that provides stock market data associated with a specified stock symbol, and an airline service that provides flight schedule, availability, and reservation functionalities. Major vendors like IBM, Microsoft, Hewlett-Packard, and Sun, among others, are investing heavily in Web services technology. Ranging from simple to complex, Web services bring the promise of flexible, open-standards-based, distributed computing to the Internet  相似文献   

16.
On applying hash filters to improving the execution of multi-join queries   总被引:1,自引:0,他引:1  
In this paper, we explore an approach of interleaving a bushy execution tree with hash filters to improve the execution of multi-join queries. Similar to semi-joins in distributed query processing, hash filters can be applied to eliminate non-matching tuples from joining relations before the execution of a join, thus reducing the join cost. Note that hash filters built in different execution stages of a bushy tree can have different costs and effects. The effect of hash filters is evaluat ed first. Then, an efficient scheme to determine an effective sequence of hash filters for a bushy execution tree is developed, where hash filters are built and applied based on the join sequence specified in the bushy tree so that not only is the reduction effect optimized but also the cost associated is minimized. Various schemes using hash filters are implemented and evaluated via simulation. It is experimentally shown that the application of hash filters is in general a very powerful means to improve th e execution of multi-join queries, and the improvement becomes more prominent as the number of relations in a query increases. Edited by G. Gardarin. Received October 1994 / Accepted December 1995  相似文献   

17.
软件企业实践将遗留软件系统解耦成基于微服务架构的系统,以提高系统的可维护性,达到较快市场交付.评估微服务开发阶段的代码可维护性是个关键问题,面临数据多源化、可维护性关注点多样化的难点.通过分析源代码、代码运行轨迹、代码修订历史,本文提出一种多源特征空间模型以统一表示软件多源数据,并基于该模型,从功能性、模块性、可修改性、交互复杂性等关注点度量微服务代码可维护性.据此实现了原型工具MicroEvaluator,并在开源软件上进行了实验验证.  相似文献   

18.
二进制翻译中的X86浮点栈处理   总被引:1,自引:1,他引:0  
二进制翻译系统是一种基于软件的跨平台代码迁移系统,它将一种体系结构的二进制代码翻译成另一种体系结构的二进制代码.二进制翻译可以用于解决遗产代码的迁移问题,也可以实现不同硬件平台之间软件的通用.浮点栈的处理已成为以X86为源的二进制翻译的研究中的关键性问题之一,如何处理X86浮点栈问题直接关系到以X86为源的二进制翻译系统的性能.针对X86浮点寄存器栈的特征,提出了一种扩展虚拟栈(extending virtual stack)处理方案.它采用归一的方法,保证了每个基本块中的运算所涉及到的浮点寄存器可以直接映射到目标机器中的浮点寄存器,确保了翻译的效率,并利用翻译时的分析避免了在入口处不必要的判断;同时还给出了在基本块入口处判别一个基本块是否会出现浮点栈上溢和下溢的充分必要条件,为生成更加高效的代码提供了条件.实验表明,它能够在保证正确实现其功能的前提下,获得更好的执行效率.  相似文献   

19.
An approach to mobile software robots for the WWW   总被引:1,自引:0,他引:1  
This paper describes a framework for developing mobile software robots by using the PLANET mobile object system, which is characterized by a language-neutral layered architecture, the native code execution of mobile objects, and asynchronous object passing. We propose an approach to implementing mobile Web search robots that takes full advantage of these characteristics, and we base our discussion of its effectiveness on experiments conducted in the Internet environment. The results show that the PLANET approach to mobile Web search robots significantly reduces the amount of data transferred via the Internet and that it enables the robots to work more efficiently than the robots in the conventional stationary scheme whenever nontrivial amounts of HTML files are processed  相似文献   

20.
There has been an ongoing trend toward collaborative software development using open and shared source code published in large software repositories on the Internet. While traditional source code analysis techniques perform well in single project contexts, new types of source code analysis techniques are ermerging, which focus on global source code analysis challenges. In this article, we discuss how the Semantic Web, can become an enabling technology to provide a standardized, formal, and semantic rich representations for modeling and analyzing large global source code corpora. Furthermore, inference services and other services provided by Semantic Web technologies can be used to support a variety of core source code analysis techniques, such as semantic code search, call graph construction, and clone detection. In this paper, we introduce SeCold, the first publicly available online linked data source code dataset for software engineering researchers and practitioners. Along with its dataset, SeCold also provides some Semantic Web enabled core services to support the analysis of Internet-scale source code repositories. We illustrated through several examples how this linked data combined with Semantic Web technologies can be harvested for different source code analysis tasks to support software trustworthiness. For the case studies, we combine both our linked-data set and Semantic Web enabled source code analysis services with knowledge extracted from StackOverflow, a crowdsourcing website. These case studies, we demonstrate that our approach is not only capable of crawling, processing, and scaling to traditional types of structured data (e.g., source code), but also supports emerging non-structured data sources, such as crowdsourced information (e.g., StackOverflow.com) to support a global source code analysis context.  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司    京ICP备09084417号-23

京公网安备 11010802026262号