293,893 research outputs found

    Towards an assessment framework of reuse: A Knowledge Level Analysis Approach

    Get PDF
    The process of assessing the suitability of reuse of a software component is complex. Indeed, software systems are typically developed as an assembly of existing components. The complexity of the assessment process is due to lack of clarity on how to compare the cost of adaptation of an existing component versus the cost of developing it from scratch. Indeed, often pursuit of reuse can lead to excessive rework and adaptation, or developing suites of components that often get neglected. This paper is an important step towards modelling the complex reuse assessment process. To assess the success factors that can underpin reuse, we analyze the cognitive factors that belie developers\u27 behavior during their decision-making when attempting to reuse. This analysis is the first building block of a broader aim to synthesize a framework to institute activities during the software development lifecycle to support reuse

    h-ubu: An Industrial-Strength Service-Oriented Component Framework for JavaScript Applications

    No full text
    Industrial track: Effective Industry Use of Software-Engineering ToolsInternational audienceIn the last years, we developed web applications requiring a large amount of JavaScript code. These web applications present adaptation requirements. In addition to platform-centric adaptation, applications have to dynamically react to external events like connectivity disruptions. Building such applications is complex and we faced sharp maintainability challenges. This paper presents h-ubu, a service-oriented component framework for JavaScript allowing building adaptive applications. h-ubu is used in industrial web applications and mobile applications. h-ubu is available in open source, as part of the OW2 Nanoko project

    The Ensemble Canon

    Get PDF
    Ensemble is an open architecture for the development, integration, and deployment of mission operations software. Fundamentally, it is an adaptation of the Eclipse Rich Client Platform (RCP), a widespread, stable, and supported framework for component-based application development. By capitalizing on the maturity and availability of the Eclipse RCP, Ensemble offers a low-risk, politically neutral path towards a tighter integration of operations tools. The Ensemble project is a highly successful, ongoing collaboration among NASA Centers. Since 2004, the Ensemble project has supported the development of mission operations software for NASA's Exploration Systems, Science, and Space Operations Directorates

    A Calculus Enabling Reuse and Composition of Component Assembly Specialization Processes

    Get PDF
    Software specialization exists in various forms in the literature ranging from product lines to adaptation of high-performance applications. In particular, specialization of component assemblies has been the focus of extensive research throughout the years and brings about specific challenges such as variant selection and hierarchy. We argue that many (possibly automatic) assembly specialization processes share a common structure. This paper presents a calculus which aims at providing a generic framework to ease reuse and composition of component assembly specialization processes. We show how this calculus can encode various features from the component model literature and discuss the existence of specialization processes in the literature and the usefulness of reusing and composing them

    REX:a development platform and online learning approach for Runtime emergent software systems

    Get PDF
    Conventional approaches to self-adaptive software architectures require human experts to specify models, policies and processes by which software can adapt to its environment. We present REX, a complete platform and online learning approach for runtime emergent software systems, in which all decisions about the assembly and adaptation of software are machine-derived. REX is built with three major, integrated layers: (i) a novel component-based programming language called Dana, enabling discovered assembly of systems and very low cost adaptation of those systems for dynamic re-assembly; (ii) a perception, assembly and learning framework (PAL) built on Dana, which abstracts emergent software into configurations and perception streams; and (iii) an online learning implementation based on a linear bandit model, which helps solve the search space explosion problem inherent in runtime emergent software. Using an emergent web server as a case study, we show how software can be autonomously self-assembled from discovered parts, and continually optimized over time (by using alternative parts) as it is subjected to different deployment conditions. Our system begins with no knowledge that it is specifically assembling a web server, nor with knowledge of the deployment conditions that may occur at runtime

    Runtime observable and adaptable UML state machines: [email protected] approach

    Get PDF
    n embedded system is a self-contained system that incorporateselements of control logic and real-world interaction. UML State Ma-chines constitute a powerful formalism to model the behaviour ofthese types of systems. In current industrial environments, the soft-ware of these embedded systems have to cope with the increasingcomplexity and robustness requirements at runtime. One way tomanage these requirements is having the software component’sbehaviour model available at runtime ([email protected]). Thus,it is possible to enhance the safety of the software component byenabling verification and adaptation at runtime. In this paper, wepresent a model-driven approach to generate software components(namely, RESCO framework), which are able both to provide theirinternal information in model terms at runtime and adapt their be-haviour automatically when an error or an unexpected situation isdetected. The aforementioned runtime introspection and adaptationabilities are added automatically to the software component and itdoes not require the developer make any extra effort. The solutionhas been tested in the design and implementation of an industrialBurner controller. Results indicate that the software components ge-nerated by the presented solution provides introspection at runtime.Thanks to this introspection ability at runtime, the software com-ponents are able to adapt automatically from their normal-modebehaviour to a safe-mode behaviour which was defined to be usedin erroneous or unexpected situations at runtime. Therefore, it ispossible to enhance the safety of the systems consisting of thesesoftware components

    CRESCO Framework and Checker: Automatic Generation of Reflective UML State Machine's C++ Code and Checker

    Get PDF
    Software Systems are becoming increasingly complex leading to new Validation & Verification challenges. Model checking and testing techniques are used at development time while runtime verification aims to verify that a system satisfies a given property at runtime. This second technique complements the first one. This paper presents a tool that enables the developers to generate automatically reflective UML State Machine controllers and the Runtime Safety Properties Checker (RSPC) which checks a component-based software system's safety properties defined at design phase. We address embedded systems whose software components are designed by Unified Modelling Language-State Machines (UML-SM) and their internal information can be observed in terms of model elements at runtime. RESCO (REflective State Machines-based observable software COmponents) framework, generates software components that provide this runtime observability. The checker uses software components' internal status information to check system level safety properties. The checker detects when a system safety property is violated and starts a safe adaptation process to prevent the hazardous scenario. Thus, as demonstrated in the evaluated experiment but not shown in the paper due to the space limitation, the safety of the system is enhanced

    A conjugate gradient algorithm for the astrometric core solution of Gaia

    Full text link
    The ESA space astrometry mission Gaia, planned to be launched in 2013, has been designed to make angular measurements on a global scale with micro-arcsecond accuracy. A key component of the data processing for Gaia is the astrometric core solution, which must implement an efficient and accurate numerical algorithm to solve the resulting, extremely large least-squares problem. The Astrometric Global Iterative Solution (AGIS) is a framework that allows to implement a range of different iterative solution schemes suitable for a scanning astrometric satellite. In order to find a computationally efficient and numerically accurate iteration scheme for the astrometric solution, compatible with the AGIS framework, we study an adaptation of the classical conjugate gradient (CG) algorithm, and compare it to the so-called simple iteration (SI) scheme that was previously known to converge for this problem, although very slowly. The different schemes are implemented within a software test bed for AGIS known as AGISLab, which allows to define, simulate and study scaled astrometric core solutions. After successful testing in AGISLab, the CG scheme has been implemented also in AGIS. The two algorithms CG and SI eventually converge to identical solutions, to within the numerical noise (of the order of 0.00001 micro-arcsec). These solutions are independent of the starting values (initial star catalogue), and we conclude that they are equivalent to a rigorous least-squares estimation of the astrometric parameters. The CG scheme converges up to a factor four faster than SI in the tested cases, and in particular spatially correlated truncation errors are much more efficiently damped out with the CG scheme.Comment: 24 pages, 16 figures. Accepted for publication in Astronomy & Astrophysic

    Automating component reuse and adaptation

    Get PDF
    ©2004 IEEE. Personal use of this material is permitted. However, permission to reprint/republish this material for advertising or promotional purposes or for creating new collective works for resale or redistribution to servers or lists, or to reuse any copyrighted component of this work in other works must be obtained from the IEEE.A continuing challenge for software designers is to develop efficient and cost-effective software implementations. Many see software reuse as a potential solution; however, the cost of reuse tends to outweigh the potential benefits. The costs of software reuse include establishing and maintaining a library of reusable components, searching for applicable components to be reused in a design, as well as adapting components toward a proper implementation. In this paper, we introduce SPARTACAS, a framework for automating specification-based component retrieval and adaptation that has been successfully applied to synthesis of software for embedded and digital signal processing systems. Using specifications to abstractly represent implementations allows automated theorem-provers to formally verify logical reusability relationships between specifications. These logical relationships are used to evaluate the feasibility of reusing the implementations of components to implement a problem. Retrieving a component that is a complete match to a problem is rare. It is more common to retrieve a component that partially satisfies the requirements of a problem. Such components have to be adapted. Rather than adapting components at the code level, SPARTACAS adapts the behavior of partial matches by imposing interactions with other components at the architecture level. A subproblem is synthesized that specifies the missing functionality required to complete the problem; the subproblem is used to query the library for components to adapt the partial match. The framework was implemented and evaluated empirically, the results suggest that automated adaptation using architectures successfully promotes software reuse, and hierarchically organizes a solution to a design problem
    • …
    corecore