共查询到19条相似文献,搜索用时 156 毫秒
1.
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.
文中设计了一种容错系统,该系统是建立在应用程序层之下、操作系统层之上位置结构的中间件。系统由三模冗余与其之间的通信链路组成系统的硬件结构以及由故障检测模块(对节点的检测和对应用程序的检测)、故障处理模块所组成的软件部分构成。基于VxWorks实时操作系统,设计了一种高可用的容错中间件系统,分析了系统的组成原理,给出了基于心跳检测的故障检测机制和N版本编程方法进行故障检测,以及前向和后向任务恢复方法进行故障恢复,并实现了原型系统。试验表明:给出的容错中间件系统具备了基本的容错能力,可有效提高系统的可用性和可靠性。 相似文献
7.
8.
9.
10.
针对敏感行业中分布式应用的容错需求问题,分析介绍Agent、多Agent系统和容错中间件技术,根据Agent和中间件特性结构上的相似性,对利用多Agent技术构建容错中间件作了尝试,并着重研究了失效检测与恢复系统;建立局部检测与全局检测互相结合的双层失效检测模型,提出融入定点恢复和异机恢复的改进型REDO失效恢复策略;最后给出基于JADE的一个系统实现。实验结果显示双层检测模型和改进型REDO恢复策略是可行的、高效率的。、 相似文献
11.
Runtime software architecture based on reflective middleware 总被引:8,自引:0,他引:8
HUANG Gang MEI Hong & YANG Fuqing Institute of Software School of Electronics Engineering Computer Science Peking University Beijing China 《中国科学F辑(英文版)》2004,47(5):555-576
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.
Towards Software Architecture and Mechanisms for Improving Runtime Variability of Internetware System 下载免费PDF全文
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
Duenas J.C. Cuadrado F. Garcia B. Parada G H.A. Ruiz J.L. 《Internet Computing, IEEE》2009,13(5):52-59
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. 相似文献