4,826 research outputs found
Reengineering of Legacy Systems to Distributed Environments.
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
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
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)
Recommended from our members
Integration, management and communication of heterogeneous design resources with WWW technologies
Recently, advanced information technologies have opened new pos-sibilities for collaborative designs. In this paper, a Web-based collaborative de-sign environment is proposed, where heterogeneous design applications can be integrated with a common interface, managed dynamically for publishing and searching, and communicated with each other for integrated multi-objective de-sign. The CORBA (Common Object Request Broker Architecture) is employed as an implementation tool to enable integration and communication of design application programs; and the XML (eXtensible Markup Language) is used as a common data descriptive language for data exchange between heterogeneous applications and for resource description and recording. This paper also intro-duces the implementation of the system and the encapsulating issues of existing legacy applications. At last, an example of gear design based on the system is il-lustrated to identify the methods and procedure developed by this research
Re-reengineering the dream: agility as competitive adaptability
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
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
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
- …