4,826 research outputs found

    Reengineering of Legacy Systems to Distributed Environments.

    Get PDF
    The object-oriented paradigm and client/server and distributed technologies have become widely used in the last decade. There is an increasing interest to migrate and reengineer legacy systems to these new hardware technologies and software development paradigms. Software engineers who wish to reengineer such legacy systems face challenges, such as lack of documentation and programs that are difficult to comprehend. Middleware technologies such as CORBA and DCOM make the development of new distributed systems, as well as the migration of legacy systems to distributed platforms, more feasible. Distribution of a system consists of two parts: (1) subsystem decomposition and (2) allocation of the subsystems to different sites. In this research, we define a reengineering environment that assists with the migration of legacy systems to distributed environments. We define a reengineering methodology that uses reverse engineering, software metrics, clustering, and data mining to migrate legacy systems to object-based distributed environments. The reengineering environment includes the methodology and an integrated set of tools that support the implementation of the methodology. The methodology consists of multiple phases. First, we use reverse engineering techniques for program comprehension and design recovery. We then decompose the system into a hierarchy of subsystems by defining relationships between the entities of the underlying paradigm of the legacy system. The decomposition is driven by data mining, software metrics, and clustering techniques. Next, if the underlying paradigm of the legacy system is not object-based, we perform object-based adaptations on the subsystems. We then create components by wrapping objects and defining an interface. Finally, we allocate components to different sites by specifying the requirements of the system and characteristics of the network as an integer-programming model that minimizes the remote communication. We use middleware technologies for the implementation of the distributed object system

    C to O-O Translation: Beyond the Easy Stuff

    Full text link
    Can we reuse some of the huge code-base developed in C to take advantage of modern programming language features such as type safety, object-orientation, and contracts? This paper presents a source-to-source translation of C code into Eiffel, a modern object-oriented programming language, and the supporting tool C2Eif. The translation is completely automatic and supports the entire C language (ANSI, as well as many GNU C Compiler extensions, through CIL) as used in practice, including its usage of native system libraries and inlined assembly code. Our experiments show that C2Eif can handle C applications and libraries of significant size (such as vim and libgsl), as well as challenging benchmarks such as the GCC torture tests. The produced Eiffel code is functionally equivalent to the original C code, and takes advantage of some of Eiffel's object-oriented features to produce safe and easy-to-debug translations

    Structured Review of the Evidence for Effects of Code Duplication on Software Quality

    Get PDF
    This report presents the detailed steps and results of a structured review of code clone literature. The aim of the review is to investigate the evidence for the claim that code duplication has a negative effect on code changeability. This report contains only the details of the review for which there is not enough place to include them in the companion paper published at a conference (Hordijk, Ponisio et al. 2009 - Harmfulness of Code Duplication - A Structured Review of the Evidence)

    Re-reengineering the dream: agility as competitive adaptability

    Get PDF
    Organizational adaptation and transformative change management in technology-based organizations is explored in the context of collaborative alliances. A Re-reengineering approach is outlined in which a new Competitive Adaptability Five-Influences Analysis approach under conditions of collaborative alliance, is described as an alternative to Porter’s Five-Forces Competitive Rivalry Analysis model. Whilst continuous change in technology and the associated effects of technology shock (Dedola & Neri, 2006; Christiano, Eichenbaum & Vigfusson, 2003) are not new constructs, the reality of the industrial age was and is a continuing reduction in timeline for relevance and lifetime for a specific technology and the related skills and expertise base required for its effective implementation. This, combined with increasing pressures for innovation (Tidd & Bessant, 2013) and at times severe impacts from both local and global economic environments (Hitt, Ireland & Hoskisson, 2011) raises serious challenges for contemporary management teams seeking to strategically position a company and its technology base advantageously, relative to its suppliers, competitors and customers, as well as in predictive readiness for future technological change and opportunistic adaptation. In effect, the life-cycle of a technology has become typically one of disruptive change and rapid adjustment, followed by a plateau as a particular technology or process captures and holds its position against minor challenges, eventually to be displaced by yet another alternative (Bower & Christensen, 1995)

    Issues with implementing ERP in the public administration

    Get PDF
    As governments work to transform their environments from an internal resource optimization to a process integration and external collaboration focus, integrated systems stand at the forefront of solutions that will achieve this goal. Enterprise Resource Planning (ERP) is proven to significantly increase efficiency, improve information access, reduce total cost of ownership, and help government achieve the highest levels of accountability and constituent service. Yet implementing ERP in a manner that achieves its promises is no easy task. Public sector organizations often rationalize their ERP modernization initiatives within the context of budgetary constraints and are faced with multiple ERP providers that, on the surface, are difficult to discern. In addition, adjudicating between competing ERP solutions on their functional merit is not only difficult because of the complexity of ERP systems, but it is further complicated by the intricacy of the government acquisition process. Therefore, it is particularly important that the business value be sold at the executive and political levels of government and, to be successful, that government embeds the ERP solution within its culture and processes. What's more, the level of detailed analysis required to map functional requirements to ERP solutions is an arduous task that, even if done thoroughly, hasn't always delivered a successful implementation. In this article, we will address these issues by examining the evolution and shortcomings of ERP solutions; by defining the features and functionality needed to address government transformation; and by recommending the steps to take to position for success.government, public organizations, ERP, integrated systems

    ISICSoo: a class for the calculation of ionization cross sections from ECPSSR and PWBA theory

    Full text link
    ISICS, originally a C language program for calculating K-, L- and M-shell ionization and X-ray production cross sections from ECPSSR and PWBA theory, has been reengineered into a C++ language class, named ISICSoo. The new software design enables the use of ISICS functionality in other software systems. The code, originally developed for Microsoft Windows operating systems, has been ported to Linux and Mac OS platforms to facilitate its use in a wider scientific environment. The reengineered software also includes some fixes to the original implementation, which ensure more robust computational results and a review of some physics parameters used in the computation. The paper describes the software design and the modifications to the implementation with respect to the previous version; it also documents the test process and provides some indications about the software performance.Comment: Preprint submitted to Computer Physics Communication
    corecore