首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到19条相似文献,搜索用时 812 毫秒
1.
一种新的具适应性的程序结构   总被引:1,自引:1,他引:0       下载免费PDF全文
TRAP/J结构可以将可适应性透明地加入已有的应用程序中,不用修改应用程序源代码和虚拟机。该文提出一种新的具适应性的结构,采用包装类和AspectJ获得对原类的封装和替代,使用抽象类代表原类,避免了原结构反射的使用。实验表明,与TRAP/J相比,用该结构构成的程序在单机环境中执行速度更快,但是在网络环境下两者相当。  相似文献   

2.
提出了一项基于混合模型的二进制优化框架,能在运行时和运行后进行持续的程序优化.该框架集成了控制流分析等常用的二进制优化功能,并且提供了安全的编程接口以供其他研究者实现自定义的优化模块.该框架被设计为集成到操作系统内核中,并提供透明和自适应的优化服务,从而在没有用户交互的前提下,利用富余的计算资源帮助二进制程序自适应计算环境,达到加速的目的.描述了该框架的设计与实现以及关键问题的解决方法.  相似文献   

3.
自启动程序是随Windows一起启动的各种程序和系统服务,因为它们开机后即可被自动加载,所以一些病毒、木马也常常搭自启动“便车”危害系统。在Windows中加载自启动程序地方有很多,如“Docu-ments and Settings/All Users/「开始」菜单/程序”目录下的启动文件夹、注册表键值如[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run]、加载在Win.ini和System.ini文件等。这些位置平时加载了许多用户/系统需要的自启动程序如系统输入法组件、杀毒软件等,如果病毒、木马也混杂在其中,我们该如何区分哪些是用户需要,哪些又是恶意自启动程序?其实我们可以将需要的自启动程序统一“收编”,这样以后如果发现“编外”的自启动程序,那十有八九就是病毒或木马了。“收编”具体操作如下(以WinXP为例)。  相似文献   

4.
针对当前软件项目中数据维护中存在的问题,在J2EE架构的基础上,提出了改善系统性能的智能数据维护的“新型框架”,使得所有的关于数据库维护的程序都能自动生成,大大提高了项目开发可重用性,也缩短了项目开发的周期性。并结合实际项目中的开始经验,提供了关键代码。  相似文献   

5.
1、软件之间的冲突 刻录软件各有其特长。用户往往希望 同时安装多种软件。建议读者根据自己的主要使用范围有选择的安装。安装多种软件应注意不要让软件随WINDOWS启动而自动启动。需要启动哪个软件时由人工从程序组中启动。应在安装结束后从“开始”一“程序”一“附件”一“系统工具’一“系统信息”一选择“工具”下拉菜单,选择“系统配置实用程序”,点击“启动”按钮。在启动项目中停止选择该程序启动项。此外,安装有“超级解霸”的用户也要用上述方法停止其光盘监测程序。2、直接读写CD-R 启动Direct CD,当你将一张…  相似文献   

6.
医疗信息系统体系结构与组织符号学需求建模   总被引:1,自引:0,他引:1       下载免费PDF全文
为了提高医疗服务质量,医疗领域需要大规模集成的医疗信息系统来适应不断变化的环境需求。提出了层次结构的需求驱动自适应医疗信息系统体系结构框架。该结构通过层间映射机制根据用户的需求动态地组织系统的功能。同时重点研究了采用组织符号学理论方法,运用本体图和规范捕获并分析用户的需求,并在该基础上建立了用户需求模式的结构,用户需求模式将作为整个系统运行的驱动因素。将成果方法应用于“区域协同医疗服务示范工程”进行实证研究,为行业信息系统建设提供理论、方法和标准规范方面的指导。  相似文献   

7.
在Java异常机制的基础上,构建一个J2EE项目应用中错误处理的通用框架模型,并用该框架模型解决J2EE项目中错误处理中普遍存在的问题。对错误进行统一管理,在一定意义下将错误封装成异常,然后将异常抛出到一个集中的位置进行统一处理。让错误处理保持简单和直观,使开发人员可以专心于开发业务逻辑,而不是把时间浪费在编写错误处理这样的模板代码上。程序的可读性、可维护性、可修改性大大提高,而且也提高了J2EE应用程序的健壮性。  相似文献   

8.
手机类型的移动设备和便携式个人计算机是当前主要的2类显示特征不同的移动终端设备。阐述自适应终端设备的框架技术,其支持开发人员高效地开发适应不同移动设备的Web应用。自适应终端框架技术基于WWW协议和WAP模型,与现有成功的开源框架集成,重用了Filter,Dom4J,XSLT和XPath等技术。  相似文献   

9.
针对当前软件项目中数据维护中存在的问题,在J2EE架构的基础上,提出了改善系统性能的智能数据维护的“新型框架”,使得所有的关于数据库维护的程序都能自动生成,大大提高了项目开发可重用性,也缩短了项目开发的周期性。并结合实际项目中的开始经验.提供了关键代码。  相似文献   

10.
最新版本:1.0 文件大小:505KB 软件性质:共享 使用环境:Win9x/Me/NT/2000 下载地址:http://www.progency.com/download/peepsh10.exe PeepShow的主要功能就是在窗口上开孔,将被遮盖住的项目显露出来,用户还可以控制开孔的深度,通过开孔来避免频繁地切换窗口。寻找对象。 在Progaam标签页面中,大家可以对该程序的相关参数进行合理设置,以便让程序能高效地工作。如果大家在这个设置页面中,将“Save settings on exit”选项选中的话,那么程序在退出时,就能自动将用户对程序进行的相关设置保存好,要是  相似文献   

11.
12.
A typestate property describes which operations are available on an object or a group of inter-related objects, depending on this object??s or group??s internal state, the typestate. Researchers in the field of static analysis have devised static program analyses to prove the absence of typestate-property violations on all possible executions of a given program under test. Researchers in runtime verification, on the other hand, have developed powerful monitoring approaches that guarantee to capture property violations on actual executions. Although static analysis can greatly benefit runtime monitoring, up until now, most static analyses are incompatible with most monitoring tools. We present Clara, a novel framework that makes these approaches compatible. With Clara, researchers in static analysis can easily implement powerful typestate analyses. Runtime-verification researchers, on the other hand, can use Clara to specialize AspectJ-based runtime monitors to a particular target program. To make aspects compatible to Clara, the monitoring tool annotates them with so-called dependency state machines. Clara uses the static analyses to automatically convert an annotated monitoring aspect into a residual runtime monitor that is triggered by fewer program locations. If the static analysis succeeds on all locations, this proves that the program fulfills the stated typestate properties, making runtime monitoring entirely obsolete. If not, the residual runtime monitor is at least optimized. We instantiated Clara with three static typestate analyses and applied these analyses to monitoring aspects generated from tracematches. In two-thirds of the cases in our experiments, the static analysis succeeds on all locations, proving that the program fulfills the stated properties, and completely obviating the need for runtime monitoring. In the remaining cases, the runtime monitor is often significantly optimized.  相似文献   

13.
Deterministic Sampling Algorithms for Network Design   总被引:1,自引:0,他引:1  
For several NP-hard network design problems, the best known approximation algorithms are remarkably simple randomized algorithms called Sample-Augment algorithms in Gupta et al. (J. ACM 54(3):11, 2007). The algorithms draw a random sample from the input, solve a certain subproblem on the random sample, and augment the solution for the subproblem to a solution for the original problem. We give a general framework that allows us to derandomize most Sample-Augment algorithms, i.e. to specify a specific sample for which the cost of the solution created by the Sample-Augment algorithm is at most a constant factor away from optimal. Our approach allows us to give deterministic versions of the Sample-Augment algorithms for the connected facility location problem, in which the open facilities need to be connected by either a tree or a tour, the virtual private network design problem, 2-stage rooted stochastic Steiner tree problem with independent decisions, the a priori traveling salesman problem and the single sink buy-at-bulk problem. This partially answers an open question posed in Gupta et al. (J. ACM 54(3):11, 2007).  相似文献   

14.
15.
Bitflips, or single-event upsets (SEUs) as they are more formally known, may occur for instance when a high-energy particle such as a proton strikes a CPU and thereby corrupting the contents of an on-chip register, e.g., by randomly flipping one or more bits in that register. Such random changes in central registers may lead to critical failure in the execution of a program, which is especially problematic for safety- or security-critical applications. Even though SEUs are well studied in the literature, relatively little attention have been given to the formal modelling of SEUs and the application of formal methods to mitigate the consequences of SEUs. In this paper we develop a formal semantic framework for easy formal modelling of a large variety of SEUs in a core assembly language capturing the essential features of the ARM assembly language. Based on the semantic framework, we derive and formally prove correct a static analysis that enforces so-called blue/green separation in a given program. Static blue/green separation is a language-based fault detection technique relying on inlined replication of critical code. A program that has proper blue/green separation is shown to be fault-tolerant with respect SEUs in data registers. However, this technique requires specialised hardware support in order to achieve full coverage. We therefore use our semantic framework to further develop so-called gadgets, essentially small code fragments that emulate the behaviour of blue/green instructions in a safe manner. The gadgets allow us to achieve partial blue/green separation without specialised hardware support. Finally, we show how our semantic framework can be used to extract timed-automata models of ARM assembler code programs. We then apply statistical model checking to these timed-automata models enabling us to model, analyse, and quantify program behaviour in the presence of fault models that go well beyond data-flow SEUs, e.g., bitflips in program counters or in the code itself. We use this approach to provide evidence that our suggested program modifications, i.e., the use of gadgets, significantly decrease the probability of such faults going undetected.  相似文献   

16.
High-level program optimizations, such as loop transformations, are critical for high performance on multi-core targets. However, complex sequences of loop transformations are often required to expose parallelism (both coarse-grain and fine-grain) and improve data locality. The polyhedral compilation framework has proved to be very effective at representing these complex sequences and restructuring compute-intensive applications, seamlessly handling perfectly and imperfectly nested loops. It models arbitrarily complex sequences of loop transformations in a unified mathematical framework, dramatically increasing the expressiveness (and expected effectiveness) of the loop optimization stage. Nevertheless identifying the most effective loop transformations remains a major challenge: current state-of-the-art heuristics in polyhedral frameworks simply fail to expose good performance over a wide range of numerical applications. Their lack of effectiveness is mainly due to simplistic performance models that do not reflect the complexity today’s processors (CPU, cache behavior, etc.). We address the problem of selecting the best polyhedral optimizations with dedicated machine learning models, trained specifically on the target machine. We show that these models can quickly select high-performance optimizations with very limited iterative search. We decouple the problem of selecting good complex sequences of optimizations in two stages: (1) we narrow the set of candidate optimizations using static cost models to select the loop transformations that implement specific high-level optimizations (e.g., tiling, parallelism, etc.); (2) we predict the performance of each high-level complex optimization sequence with trained models that take as input a performance-counter characterization of the original program. Our end-to-end framework is validated using numerous benchmarks on two modern multi-core platforms. We investigate a variety of different machine learning algorithms and hardware counters, and we obtain performance improvements over productions compilers ranging on average from $3.2\times $ to $8.7\times $ , by running not more than $6$ program variants from a polyhedral optimization space.  相似文献   

17.
基于Junit自动生成类测试案例框架的实现   总被引:4,自引:0,他引:4  
论文对Java程序的抽象类、包含内隐类的接口、其它内隐类和普通类的测试提出了不同的测试案例模式,结合Liskov替代原则对类测试的要求,实现一个基于Junit生成包含测试神谕的测试案例框架的工具。借助该工具,程序员在编写测试案例时,只需在自动生成的测试案例框架中添加测试数据就可获得完整的测试案例。  相似文献   

18.
We present an algorithm for extracting control flow graphs from Java bytecode that captures normal as well as exceptional control flow. We prove its correctness, in the sense that the behaviour of the extracted control flow graph is a sound over-approximation of the behaviour of the original program. This makes control flow graphs suitable for performing various static analyses, such as model checking of temporal safety properties. Analysing exceptional control flow for Java bytecode is difficult because of the stack-based nature of the language. We therefore develop the extraction in two stages. In the first, we abstract away from the complications arising from exceptional flows, and relativize the extraction on an oracle that is able to look into the stack and predict the exceptions that can be raised at each instruction. This idealized algorithm provides a specification for concrete extraction algorithms, which have to provide a suitable implementation for the oracle. We prove correctness of the idealized algorithm by means of behavioural simulation. In the second stage, we develop a concrete extraction algorithm that consists of two phases. In the first phase, the program is transformed into a BIR program, a stack-less intermediate representation of Java bytecode, from which the control flow graph is extracted in the second phase. We use this intermediate format because it provides the information needed to implement the oracle, and since it gives rise to more compact graphs. We show that the behaviour of the control flow graph extracted via the intermediate representation is a sound over-approximation of the behaviour of the graph extracted by the direct, idealized algorithm, and thus of the original program. The concrete extraction algorithm is implemented as the ConFlEx tool. A number of test cases are performed to evaluate the efficiency of the algorithm.  相似文献   

19.
Answering queries in disjunctive logic programming requires the use of ancestry-resolution. The resulting complication makes it difficult to implement a Prolog-type query answering procedure for disjunctive logic programs. However, SLO-resolution provides a mechanism which is similar to SLD-resolution and hence offers a solution to this problem. The Warren Abstract Machine has been a very effective model for implementing Prolog. In this paper, we extend the WAM model of Prolog and adapt it for DISLOG — a language for disjunctive logic programming. We describe the extensions and additional instructions needed to make WAM viable for modeling and executing DISLOG. The extension is made in such a way that the original architecture is not disturbed and a Prolog program will execute as efficiently as it does in the original WAM.This work was done while the author was at the University of Kentucky.  相似文献   

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

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