首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到19条相似文献,搜索用时 156 毫秒
1.
基于软件体系结构的反射式中间件研究   总被引:42,自引:4,他引:42       下载免费PDF全文
黄罡  王千祥  梅宏  杨芙清 《软件学报》2003,14(11):1819-1826
Internet为分布应用提供了一种开放、动态的运行环境,这要求分布应用的主要基础设施中间件能够支持运行时查看并调整平台内部状态和行为,由此产生了反射式中间件.目前的反射式中间件研究与实践存在3个不足:注重系统局部或单个实体的反射而缺乏全局视图;注重中间件平台内部功能的反射,而对上层应用的反射不够;集中于CORBA平台,而对J2EE平台的反射性研究较少.介绍了一个反射式的J2EE应用服务器PKUAS.基于构件化的平台内部体系结构,PKUAS引入软件体系结构作为全局视图以实现反射体系对系统整体的表示和控制,作为J2EE应用服务器,PKUAS可反射底层平台以及上层EJB构件.同时,以PKUAS实时监控工具为例,探讨了如何利用基于软件体系结构的反射体系管理整个系统,并给出了PKUAS与其他几种反射式中间件的比较.该工作有效地解决了现阶段反射式中间件研究的不足,提高了反射式中间件的实用性.  相似文献   

2.
CORBA是一种当前流行的基于对象技术的中间件平台。它提供了一种松散的、异步的通信机制,解决分布式计算环境中不同硬件设备和软件系统的互联,增强了网络间软件的互操作性,解决传统分布式计算模式中的不足等问题。目前的CORBA产品大多缺乏容错机制,针对产品已有的缺陷和不足,给合了中间件技术的优点,运用对象复制技术和热备份技术实现容错服务。文章设计并实现了一种应用级容错CORBA系统,提高了系统的可靠性,满足了分布式系统对容错的要求。  相似文献   

3.
软件体系结构驱动的运行环境   总被引:1,自引:0,他引:1  
由于软件体系结构以隐性的方式存在,结构的问题被传播到平台内,运行时软件体系结构不能在应用层次上被观察和控制,系统难以联机动态演化.在现有的中间件平台之上设计了一个面向应用、开放的、软件体系结构驱动的分布式远行环境SADRE(Software Architecture—Driven Runtime Environment),软件体系结构在可运行系统中以一类实体显性地表示,体系结构描述作为核心元素被整个分布式运行环境共事,成为系统调度、通信的依据.从而驱动用户应用的运行.SADRE为灵活的动态体系结构提供了良好的支持,提高了系统的柔性和扩展性.  相似文献   

4.
文中设计了一种容错系统,该系统是建立在应用程序层之下、操作系统层之上位置结构的中间件.系统由三模冗余与其之间的通信链路组成系统的硬件结构以及由故障检测模块(对节点的检测和对应用程序的检测)、故障处理模块所组成的软件部分构成.基于 VxWorks 实时操作系统,设计了一种高可用的容错中间件系统,分析了系统的组成原理,给出了基于心跳检测的故障检测机制和 N 版本编程方法进行故障检测,以及前向和后向任务恢复方法进行故障恢复,并实现了原型系统.试验表明:给出的容错中间件系统具备了基本的容错能力,可有效提高系统的可用性和可靠性  相似文献   

5.
容错CORBA系统的设计与实现   总被引:3,自引:0,他引:3  
CORBA是基于对象技术的中间件平台的最流行的标准之一 .CORBA对应用屏蔽了分布式系统的异构性 .然而目前 CORBA还没有考虑容错问题 ,而容错是运行在异构环境中的分布式应用的核心问题之一 .因此 ,在最近几年许多为 CORBA应用添加可靠性和可用性的建议出现在各种文献上 .本文分析了这些建议的优、缺点 ,并提出了一个新颖的与 CORBA兼容的方法 ,这种方法不同于异步环境中可靠结构的分发方法 .  相似文献   

6.
孙锴  慕德俊  张慧翔 《微机发展》2012,(4):123-125,129
文中设计了一种容错系统,该系统是建立在应用程序层之下、操作系统层之上位置结构的中间件。系统由三模冗余与其之间的通信链路组成系统的硬件结构以及由故障检测模块(对节点的检测和对应用程序的检测)、故障处理模块所组成的软件部分构成。基于VxWorks实时操作系统,设计了一种高可用的容错中间件系统,分析了系统的组成原理,给出了基于心跳检测的故障检测机制和N版本编程方法进行故障检测,以及前向和后向任务恢复方法进行故障恢复,并实现了原型系统。试验表明:给出的容错中间件系统具备了基本的容错能力,可有效提高系统的可用性和可靠性。  相似文献   

7.
基于中间件的动态重配置容错对象管理框架   总被引:3,自引:0,他引:3  
周明辉  邓佳  郭长国 《计算机学报》2005,28(9):1431-1439
该文从容错QoS角度出发,为现有的基于中间件的容错对象管理框架增加自适应特性.首先把动态童配置定义成容错属性集(及其实现)、计算环境和资源变化描述、动态调整算法三者之间的互动关系,然后采用反射模型和发布/订阅模型建立了一个动态重配置管理框架,可以使系统在发现计算环境的变化、定制动态调整算法等多方面得到有力的支持,为系统有效实施动态重配置奠定了基础.  相似文献   

8.
姚兰  桂勋  巨军让 《计算机工程》2007,33(6):83-85,1
随着硬件容错技术的成熟,软件容错技术成为提高系统可靠性的热点问题。直接开发容错应用是非常困难的,鉴于中间件为应用系统提供了良好的开发环境,该文研究和设计了一个基于中间件的容错系统模型,提出了一种新的节点容错结构构造方法,为解决冗余、失效检测和恢复等容错的关键技术问题形成了一套较完整的解决方案。采用马尔科夫过程求出系统的可靠度,验证了系统设计的合理性和可靠性。  相似文献   

9.
面向高性能计算的网格计算中间件   总被引:1,自引:0,他引:1  
系统地研究了网格计算中间件Netsolve系统的结构和工作原理,深入地探讨了系统中的负载平衡与容错策略,然后针对自强-2000集群超级计算机应用环境提出了对负载平衡和容错策略的改进方法。  相似文献   

10.
针对敏感行业中分布式应用的容错需求问题,分析介绍Agent、多Agent系统和容错中间件技术,根据Agent和中间件特性结构上的相似性,对利用多Agent技术构建容错中间件作了尝试,并着重研究了失效检测与恢复系统;建立局部检测与全局检测互相结合的双层失效检测模型,提出融入定点恢复和异机恢复的改进型REDO失效恢复策略;最后给出基于JADE的一个系统实现。实验结果显示双层检测模型和改进型REDO恢复策略是可行的、高效率的。、  相似文献   

11.
Runtime software architecture based on reflective middleware   总被引:8,自引:0,他引:8  
Copyright by Science in China Press 2004 Since its first literate identification and discussion[1], software architecture (SA) has become an important subfield of software engineering, receiving increasing attention from both academic and industrial communities. SA describes the gross structure of a software system with a collection of components, connectors and constraints[2]. In gen-eral, SA acts as a bridge between requirements and implementation and provides a blue-print for system cons…  相似文献   

12.
As a popular infrastructure for distributed systems running on the Internet, middleware has to support much more diverse and complex interactions for coping with the drastically increasing demand on information technology and the extremely open and dynamic nature of the Internet. These supporting mechanisms facilitate the development, deployment, and integration of distributed systems, as well as increase the occasions for distributed systems to interact in an undesired way. The undesired interactions may cause serious problems, such as quality violation, function loss, and even system crash. In this paper, the problem is studied from the perspective of the feature interaction problem (FIP) in telecom, and an online approach to the detection and solution on runtime systems is proposed. Based on a classification of middleware enabled interactions, the existence of FIP in middleware based systems is illustrated by four real cases and a conceptual comparison between middleware based systems and telecom systems. After that, runtime software architecture is employed to facilitate the online detection and solution of FIP. The approach is demonstrated on J2EE (Java 2 Platform Enterprise Edition) and applied to detect and resolve all of the four real cases.  相似文献   

13.
The cost of maintaining a software system over a long period of time far exceeds its initial development cost. Much of the maintenance cost is attributed to the time required by new developers to understand legacy systems. High-level structural information helps maintainers navigate through the numerous low-level components and relations present in the source code. Modularization tools can be used to produce subsystem decompositions from the source code but do not typically produce high-level architectural relations between the newly found subsystems. Controlling subsystem interactions is one important way in which the overall complexity of software maintenance can be reduced.We have developed a tool, called ARIS (Architecture Relation Inference System), that enables software engineers to define rules and relations for regulating subsystem interactions. These rules and relations are called Interconnection Styles and are definedusing a visual notation. The style definition is used by our tool to infer subsystem-level relations in designs being reverse engineered from source code.In this paper we describe our tool and its underlying techniques and algorithms. Using a case study, we describe how ARIS is used to reverse engineer high-level structural information from a real application.  相似文献   

14.
As an emerging software paradigm, Internetware is proposed to handle openness, dynamism of software systems in the context of Internet, which implies that such software systems typically have runtime variability that can be improved dynamically to handle various or even unexpected changes of requirements and open environment. Though many progresses of Internetware software technologies have been made to support the adaptation, evolution, context-awareness, etc. of Internetware, how to construct Internetware systems with the ability to improve their runtime variability is still a great challenge in the literature of software engineering. In this paper, we propose software architecture and mechanisms for Internetware systems to support the improvement of their runtime variability by combining software variability and autonomic computing techniques. The Internetware system is organized as three levels that are consist of variable autonomic elements and Internetware entities, and architecture of these software entities is defined and discussed respectively. Moreover, we put forward a series of runtime mechanisms based on these levels, including module selection, intermediator and horizontal management, to realize operations upon the variation points and variants in software architectures and thus achieve the improvement of runtime variability. We develop a sample of Personal Data Resource Network to depict the requirements and scenario of improving runtime variability, and further study the case based on our proposed approach to show its effectiveness and applicability.  相似文献   

15.
System Virtualization Tools for Software Development   总被引:1,自引:0,他引:1  
The configuration complexity of preproduction sites coupled with access-control mechanisms often impede the software development life cycle. Virtualization is a cost-effective way to remove such barriers and provide a test environment similar to the production site, reducing the burden in IT administrators. An eclipse-based virtualization tool framework can offer developers a personal runtime environment for launching and testing their applications. The authors have followed a model-driven architecture (MDA) approach that integrates best-of-breed virtualization technologies, such as Xen and VDE.  相似文献   

16.
基于软件体系结构的构件组装工具ABC-Tool   总被引:23,自引:1,他引:22  
软件朝着越来越复杂和庞大的趋势发展,因此对更有效的软件开发技术的需求十分迫切,近年来,软件体系结构、构件技术和软件复用技术等开始在软件开发中发挥重要作用,成为软件工程领域研究的热点,在基于构件复用的开发方法中,构件组装技术是关键,而且一直以来也是难点所在,ABC(architecture-based component composition)是一种基于软件体系结构、面向构件的软件开发方法,介绍了为ABC方法提供有效支持的工具ABC-Tool,ABC-Tool以软件体系结构为设计蓝图,以构件为基本开发单元,在不修改构件源代码的前提下,通过可视化的图形建模方式,从体系结构的高层设计逐层映射到底层实现,将可运行或可部署的构件组装为最终的可正确运行的系统。  相似文献   

17.
Using architecture models for runtime adaptability   总被引:4,自引:0,他引:4  
Every software system has architecture. The architecture strongly influences the software system's properties, including maintainability and runtime properties such as performance and reliability. By describing the architecture in models, we can make the architecture explicit. Developers typically use software architecture models at design time to capture the significant decisions about a software system's organization and to describe and establish a common understanding about the system's abstract properties. In the MADAM (mobility- and adaptation-enabling middleware) project, we aim to facilitate adaptive application development for mobile computing. We follow an architecture-centric approach where we represent architecture models at runtime to allow generic middleware components to reason about and control adaptation.  相似文献   

18.
Technical framework for Internetware: An architecture centric approach   总被引:13,自引:0,他引:13  
Being a new software paradigm evolved by the Internet, Internetware brings many challenges to the traditional software methods and techniques. Sponsored by the national basic research program (973), researchers in China have developed an architecture centric technical framework for the definition, incarnation and engineering of Internetware. First of all, a software model for Internetware is defined for what to be, including that Internetware entities should be packaged as components, behaving as agents, interoperating as services, collaborating in a structured and on demand manner, etc. Secondly, a middleware for Internetware is designed and implemented for how to be, including that Internetware entities are incarnated by runtime containers, structured collaborations are enabled by runtime software architecture, Internetware can be managed in a reflective and autonomic manner, etc. Thirdly, an engineering methodology for Internetware is proposed for how to do, including the way to develop Internetware entities and their collaborations by transforming and refining a set of software architectures which cover all the phases of software lifecycle, the way to identify and organize the disordered software assets by domain modeling, etc.  相似文献   

19.
Software maintenance is one of the most crucial aspects of software development. Software engineering researchers must develop practical solutions to handle the challenges presented in maintaining mature software systems. Research that addresses practical means of mitigating the risks involved when changing software, reducing the complexity of mature software systems, and eliminating the introduction of preventable bugs is paramount to today’s software engineering discipline. The Software Architecture Change Characterization Scheme (SACCS) provides software maintainers with a systematic approach to analyzing and characterizing the impact of a change prior to its implementation. SACCS was designed to help novice developers understand change requests, facilitate discussion among developers, and provide a higher-quality change compared with an ad hoc approach. In addition, this paper describes three controlled experiments designed to assess the viability of using SACCS and its ability to fulfill its goals. The successive studies build upon each other to enable progressive insights into the viability of the scheme. The results indicate that SACCS: 1) provides insight into the difficulty of a change request by assisting novice developers to consider various aspects of the request’s potential to impact the system, 2) helps to facilitate discussion among developers by providing a common tool for change assessment, and 3) is a useful tool for supporting change implementation. The three experiments provide insight into the usefulness of SACCS, motivate additional research questions, and serve as a baseline for moving forward with research and further development of the approach.  相似文献   

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

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