772 research outputs found

    Towards Middleware for Fault-tolerance in Distributed Real-time and Embedded Systems

    Get PDF
    Abstract. Distributed real-time and embedded (DRE) systems often require support for multiple simultaneous quality of service (QoS) properties, such as real-timeliness and fault tolerance, that operate within resource constrained environments. These resource constraints motivate the need for a lightweight middleware infrastructure, while the need for simultaneous QoS properties require the middleware to provide fault tolerance capabilities that respect time-critical needs of DRE systems. Conventional middleware solutions, such as Fault-tolerant CORBA (FT-CORBA) and Continuous Availability API for J2EE, have limited utility for DRE systems because they are heavyweight (e.g., the complexity of their feature-rich fault tolerance capabilities consumes excessive runtime resources), yet incomplete (e.g., they lack mechanisms that enable fault tolerance while maintaining real-time predictability). This paper provides three contributions to the development and standardization of lightweight real-time and fault-tolerant middleware for DRE systems. First, we discuss the challenges in realizing real-time faulttolerant solutions for DRE systems using contemporary middleware. Second, we describe recent progress towards standardizing a CORBA lightweight fault-tolerance specification for DRE systems. Third, we present the architecture of FLARe, which is a prototype based on the OMG real-time fault-tolerant CORBA middleware standardization efforts that is lightweight (e.g., leverages only those server-and client-side mechanisms required for real-time systems) and predictable (e.g., provides fault-tolerant mechanisms that respect time-critical performance needs of DRE systems)

    Using real options to select stable Middleware-induced software architectures

    Get PDF
    The requirements that force decisions towards building distributed system architectures are usually of a non-functional nature. Scalability, openness, heterogeneity, and fault-tolerance are examples of such non-functional requirements. The current trend is to build distributed systems with middleware, which provide the application developer with primitives for managing the complexity of distribution, system resources, and for realising many of the non-functional requirements. As non-functional requirements evolve, the `coupling' between the middleware and architecture becomes the focal point for understanding the stability of the distributed software system architecture in the face of change. It is hypothesised that the choice of a stable distributed software architecture depends on the choice of the underlying middleware and its flexibility in responding to future changes in non-functional requirements. Drawing on a case study that adequately represents a medium-size component-based distributed architecture, it is reported how a likely future change in scalability could impact the architectural structure of two versions, each induced with a distinct middleware: one with CORBA and the other with J2EE. An option-based model is derived to value the flexibility of the induced-architectures and to guide the selection. The hypothesis is verified to be true for the given change. The paper concludes with some observations that could stimulate future research in the area of relating requirements to software architectures

    Software engineering and middleware: a roadmap (Invited talk)

    Get PDF
    The construction of a large class of distributed systems can be simplified by leveraging middleware, which is layered between network operating systems and application components. Middleware resolves heterogeneity and facilitates communication and coordination of distributed components. Existing middleware products enable software engineers to build systems that are distributed across a local-area network. State-of-the-art middleware research aims to push this boundary towards Internet-scale distribution, adaptive and reconfigurable middleware and middleware for dependable and wireless systems. The challenge for software engineering research is to devise notations, techniques, methods and tools for distributed system construction that systematically build and exploit the capabilities that middleware deliver

    CSP channels for CAN-bus connected embedded control systems

    Get PDF
    Closed loop control system typically contains multitude of sensors and actuators operated simultaneously. So they are parallel and distributed in its essence. But when mapping this parallelism to software, lot of obstacles concerning multithreading communication and synchronization issues arise. To overcome this problem, the CT kernel/library based on CSP algebra has been developed. This project (TES.5410) is about developing communication extension to the CT library to make it applicable in distributed systems. Since the library is tailored for control systems, properties and requirements of control systems are taken into special consideration. Applicability of existing middleware solutions is examined. A comparison of applicable fieldbus protocols is done in order to determine most suitable ones and CAN fieldbus is chosen to be first fieldbus used. Brief overview of CSP and existing CSP based libraries is given. Middleware architecture is proposed along with few novel ideas

    Design and Performance of a Fault-Tolerant Real-Time CORBA Event Service

    Get PDF
    Developing distributed real-time and embedded (DRE)systems in which multiple quality-of-service (QoS) dimen-sions must be managed is an important and challenging R&D problem. This paper makes three contributions to re-search on multi-dimensional QoS for DRE systems. First, itdescribes the design and implementation of a fault-tolerantreal-time CORBA event service for The ACE ORB (TAO).Second, it describes our enhancements and extensions tofeatures in TAO, to integrate real-time and fault toleranceproperties. Third, it presents an empirical evaluation ofour approach. Our results show that with some reïŹnements,real-time and fault-tolerance features can be integrated ef-fectively and efïŹciently in a CORBA event service

    DIET : new developments and recent results

    Get PDF
    Among existing grid middleware approaches, one simple, powerful, and flexibleapproach consists of using servers available in different administrative domainsthrough the classic client-server or Remote Procedure Call (RPC) paradigm.Network Enabled Servers (NES) implement this model also called GridRPC.Clients submit computation requests to a scheduler whose goal is to find aserver available on the grid. The aim of this paper is to give an overview of anNES middleware developed in the GRAAL team called DIET and to describerecent developments. DIET (Distributed Interactive Engineering Toolbox) is ahierarchical set of components used for the development of applications basedon computational servers on the grid.Parmi les intergiciels de grilles existants, une approche simple, flexible et performante consiste a utiliser des serveurs disponibles dans des domaines administratifs diffĂ©rents Ă  travers le paradigme classique de l’appel de procĂ©dure Ă distance (RPC). Les environnements de ce type, connus sous le terme de Network Enabled Servers, implĂ©mentent ce modĂšle appelĂ© GridRPC. Des clientssoumettent des requĂȘtes de calcul Ă  un ordonnanceur dont le but consiste Ă trouver un serveur disponible sur la grille.Le but de cet article est de donner un tour d’horizon d’un intergiciel dĂ©veloppĂ©dans le projet GRAAL appelĂ© DIET 1. DIET (Distributed Interactive Engineering Toolbox) est un ensemble hiĂ©rarchique de composants utilisĂ©s pour ledĂ©veloppement d’applications basĂ©es sur des serveurs de calcul sur la grille

    Systematic aid for developing middleware architectures

    Get PDF
    International audienceThe use of middleware is the current practice for developing distributed systems. Developers compose reusable services provided by standard middleware infrastructures, e.g., CORBA 1, DCOM2, Java RMI & re- lated services3, etc., to deal with problems like distribution, security, transactional processing, fault tolerance, etc.. The development process gets even easier after the evolution of the originally proposed Object-Oriented middleware paradigm, towards nowadays component-based middleware paradigm, e.g., CCM1, MTS2, EJB3. Developers do not have to burden with the, sometimes considerably complex, composition of different middleware services. Instead they build their middleware components and deploy them within of-the-shelf middleware containers realizing a customizable composition of middleware services. However, things are not as simple as they seem. Middleware vendors have to design and implement complex architectures combining available middleware services into a flexible/customizable way. Different ways of composing middleware services into a middleware architecture that satisfies application requirements are possible. The resulting compositions should be supported by the configurable middleware architecture that is provided by vendors to customers. Moreover, of-the-shelf middleware architectures should come along with a quality assessment of the different possible compositions they support. This shall give customers clues for selecting the most suitable middleware compositions for their particular systems. In this paper we address the above issues. More specifically, we present a developer-oriented environment that facilitates the design and quality analysis of flexible/configurable middleware architectures. The environment provides support for modelling middleware architectures. It further comprises a repository that is populated by a middleware vendor with basic middleware architectural patterns describing the use of individual services provided by the vendor's infrastructure. The environment further provides a tool which constructs all possible valid compositions of a set of basic middleware architectural patterns. Finally, the environment includes tool support for the automated generation of traditional quality models for the performance and reliability analysis of the different valid compositions of middleware architectural patterns. Those models serve as input to existing performance and reliability analysis tools, which are integrated into the environment
    • 

    corecore