• Title/Summary/Keyword: reverse and reengineering process

Search Result 10, Processing Time 0.02 seconds

Automatic Train Control (ATC) System Development through Application of Reverse and Re-Systems Engineering Process (역공학 및 재공학 시스템엔지니어링 프로세스 적용을 통한 무인열차자동제어시스템 개발)

  • 이중윤;박영원
    • Journal of Institute of Control, Robotics and Systems
    • /
    • v.9 no.10
    • /
    • pp.836-843
    • /
    • 2003
  • The automatic train control (ATC) system development project for the Automated Guideway Transit (AGT) system has high technical risk because the system is unmanned train control system using wireless technology which was unprecedented in train control industry of Korea. To overcome the technical risk during concept design phase of the ATC system development project, the integrated product team(IPT) carried out a reverse and reengineering process using a systems engineering design model. The generic systems engineering process is incorporated in the both reverse and reengineering process. As a result of the systems engineering effort, the IPT has built top layer systems engineering design model of the ATC subsystem. The purpose of this paper is to deliver the reverse and reengineering process which was used to develop the systems engineering design model of ATC system using a computer aided systems engineering tool. This study also shows that the model based reverse and reengineering process can reduce the technical risk by identifying the differences of requirement, functional and physical architecture between a reference system and a target system.

An Efficient Reengineering Process based on RUP for Reusing Legacy Systems (레거시 시스템의 재사용을 위한 RUP 기반의 효율적 재공학 프로세스)

  • Choi, Il-Woo;Rhew, Sung-Yul
    • Journal of KIISE:Software and Applications
    • /
    • v.29 no.9
    • /
    • pp.619-630
    • /
    • 2002
  • The various software engineering techniques have been come out in order to cope with the software crisis since 1980's. The software Engineering has focused on the process of software component development. The process products a development guide for a quality and productive improvement of software. But, most of the methodologies assume that a new system will be constructed and reused in the future. these do not actually support efficiently how we reuse legacy system's resources and construct a new system. In this paper, we present an efficient Reengineering Process for reusing legacy systems, RUP+re, which extends and customizes RUP. Rup+re consists of Reverse Engineering Workflow, Re-Engineering Workflow and forward Engineering Process. We describe RUP+re's workflows with their own detail steps and verify them practically through the case study. So, we provide efficient guidelines to the software Reengineering process construction which reuses the resources of a legacy system.

An Efficient Reengineering Process for Legacy System Evolution (레거시 시스템 진화를 위한 효율적 재공학 프로세스)

  • Choi, Il-Woo;Rhew, Sung-Yul
    • The KIPS Transactions:PartD
    • /
    • v.10D no.5
    • /
    • pp.845-858
    • /
    • 2003
  • The various software engineering techniques have been come out in order to cope with the software crisis since 1980's. These days the software Engineering has focused on the process of software development which is the guide for a qualify and productive improvement of software. But, most of the methodologies assume that a new system will be constructed and reused in the future. these do not support how we reuse legacy system's resources and construct a new system efficiently. In this paper, we present an efficient Reengineering Process for legacy system evolutions, RUP+re, which extends and customizes RUP. RUP+re consists of Reverse Engineering Workflow, Transformation Workflow and Evolution Workflow based on Small-h model. We describe RUP+re's workflows with their own detail steps and verify the process through the case study practivally. So, we provide efficient guidelines to the software Reengineering process construction which evolutes the resources of a legacy system.

Component-Based Systematic Reengineering Process (컴포넌트 기반의 체계적인 재공학 프로세스)

  • Cha Jung-Jun;Kim Chul Hong;Yang Young-Jong
    • The KIPS Transactions:PartD
    • /
    • v.12D no.7 s.103
    • /
    • pp.947-956
    • /
    • 2005
  • Software(S/W) reengineering is one of the effective technologies to produce a business worth and en and the S/W ROI continuously. In spite of, S/W reengineering has been recognized a cost-consumptive works with inefficient productivity. In fact we have used to transform to confusion system with destructive system architecture by extending and updating legacy system in a temporary expedients. Moreover it is impossible to provide the time-market products for coping with rapid changeable system environment and meeting to complicated customer's requirements. Therefore, we need a systematic reengineering methodology to fulfill the changeable environment, as appearance of new IT techniques, various alteration of business information model, and increment of business logic. Legacy systems can be utilized as the core property in business organization through reengineering methodology. In this paper, we target to establish the reengineering process, proposed MaRMI-RE consisting of initial Planning phase, reverse engineering and component transformation phase. To describe the MaRMI-RE, we presented the concrete tasks and techniques and artifacts per individual phase in process, and the case study is showed briefly.

On Improving the Reverse Engineering Process by Effectively Utilizing the Functional Models (기능 모델의 효과적인 활용을 통한 역공학 프로세스의 개선에 관한 연구)

  • Lee, Byoung-Gil;Lee, Jae-Chon
    • Journal of the Korea Institute of Military Science and Technology
    • /
    • v.13 no.2
    • /
    • pp.258-267
    • /
    • 2010
  • The necessity of the new system development arises in both defence and commercial systems industry either when a breakthrough in technology needs to be realized in the form of a brand-new system or when the existing product already in operation needs to be upgraded to satisfy the increasing stakeholder's requirements. In the latter case, it is not rare that specific system technical specifications on the existing products are not available. The purpose of this study is to investigate how to handle the difficulty when an upgraded system is required to be developed based on the existing product whose detailed technical specifications cannot be obtained. A step-by-step process is described based on the reverse engineering of the existing product. As a result, a logical system model is obtained for the product. The process developed is further enhanced and evaluated by the computer-aided system engineering tool. The resulting logical system model should be helpful in the next phase of the new product development.

A Re-engineering Methodology for Componentization of Legacy System (Legacy 시스템의 컴포넌트화를 위한 재공학 방법론)

  • Kim, Cheol-Hong;Cha, Jung-Eun;Yang, Young-Jong
    • Journal of Information Technology Services
    • /
    • v.2 no.1
    • /
    • pp.111-121
    • /
    • 2003
  • This paper intents to suggest the re-engineering methodology to transform and integrate the legacy systems to new system in modern environment. While existing reverse engineering and re-engineering approaches have focused on analyzing and maintaining the source code of program. our methodology can provide the procedures and techniques for evolving into new system by recovering the reverse engineering informations and transforming them into component informations. Our methodology for componentization of legacy system is consisted of plan step, reverse engineering step, componentization step, and delivery step, and we describes activities and detail procedures about each step.

Program Translation from Conventional Programming Source to Java Bytecode (기존 프로그래밍 원시코드에서 자바 바이트 코드로의 변환)

  • Jeon-Geun Kang;Haeng-Kon Kim
    • Journal of the Korea Computer Industry Society
    • /
    • v.3 no.8
    • /
    • pp.963-980
    • /
    • 2002
  • Software reengineering is making various research for solutions against problem of maintain existing systems. Reengineering has a meaning of development of software on exizting systems through the reverse engineering auf forward engineering. Most of the important concepts used in reengineering is composition that is restructuring of the existing objects. Is there a compiler that can compile a program written in a traditional procedural language (like C or Pascal) and generate a Java bytecode, rather than an executable code that runs oかy on the machine it was compiled (such as an a.out file on a Unix machine)\ulcorner This type of compiler may be very handy for today's computing environment of heterogeneous networks. In this paper we present a software system that does this job at the binary-to-binary level. It takes the compiled binary code of a procedural language and translates it into Java bytecode. To do this, we first translate into an assembler code called Jasmin [7] that is a human-readable representation of Java bytecode. Then the Jasmin assembler converts it into real Java bytecode. The system is not a compiler because it does not start at the source level. We believe this kind of translator is even more useful than a compiler because most of the executable code that is available for sharing does not come with source programs. Of course, it works only if the format of the executable binary code is known. This translation process consists of three major stages: (1) analysis stage that identifies the language constructs in the given binary code, (2) initialization stage where variables and objects are located, classified, and initialized, and (3) mapping stage that maps the given binary code into a Jasmin assembler code that is then converted to Java bytecode.

  • PDF

A Scalable and Modular Approach to Understanding of Real-time Software: An Architecture-based Software Understanding(ARSU) and the Software Re/reverse-engineering Environment(SRE) (실시간 소프트웨어의 조절적${\cdot}$단위적 이해 방법 : ARSU(Architecture-based Software Understanding)와 SRE(Software Re/reverse-engineering Environment))

  • Lee, Moon-Kun
    • The Transactions of the Korea Information Processing Society
    • /
    • v.4 no.12
    • /
    • pp.3159-3174
    • /
    • 1997
  • This paper reports a research to develop a methodology and a tool for understanding of very large and complex real-time software. The methodology and the tool mostly developed by the author are called the Architecture-based Real-time Software Understanding (ARSU) and the Software Re/reverse-engineering Environment (SRE) respectively. Due to size and complexity, it is commonly very hard to understand the software during reengineering process. However the research facilitates scalable re/reverse-engineering of such real-time software based on the architecture of the software in three-dimensional perspectives: structural, functional, and behavioral views. Firstly, the structural view reveals the overall architecture, specification (outline), and the algorithm (detail) views of the software, based on hierarchically organized parent-chi1d relationship. The basic building block of the architecture is a software Unit (SWU), generated by user-defined criteria. The architecture facilitates navigation of the software in top-down or bottom-up way. It captures the specification and algorithm views at different levels of abstraction. It also shows the functional and the behavioral information at these levels. Secondly, the functional view includes graphs of data/control flow, input/output, definition/use, variable/reference, etc. Each feature of the view contains different kind of functionality of the software. Thirdly, the behavioral view includes state diagrams, interleaved event lists, etc. This view shows the dynamic properties or the software at runtime. Beside these views, there are a number of other documents: capabilities, interfaces, comments, code, etc. One of the most powerful characteristics of this approach is the capability of abstracting and exploding these dimensional information in the architecture through navigation. These capabilities establish the foundation for scalable and modular understanding of the software. This approach allows engineers to extract reusable components from the software during reengineering process.

  • PDF

Library Management and Services for Software Component Reuse on the Web (Web 소프트웨어 컴포넌트 재사용을 위한 라이브러리 관리와 서비스)

  • Lee, Sung-Koo
    • Journal of KIISE:Software and Applications
    • /
    • v.29 no.1_2
    • /
    • pp.10-19
    • /
    • 2002
  • In searching and locating a collection of components on the Web, users require a Web browser. Since the Web libraries tend to grow rapidly, there needs to be an effective way to organize and manage such large libraries. Traditional Web-based library(retrieval) systems provide various classification scheme and retrieval services to store and retrieve components. However, these systems do not include invaluable services, for example, enabling users to grasp the overall contents of the library at the beginning of retrieval. This paper discusses a Web-based library system, which provides the efficient management of object-oriented components and a set of services beyond simple component store and retrieval. These services consist of component comprehension through a reverse engineering process, automated summary extraction, and comprehension-based retrieval. Also, The performance of an automated cluster-based classification scheme adopted on the system is evaluated and compared with the cluster-based classification scheme adopted on the system is evaluated and compared with the performance of two other systems using traditional classification scheme.

An Object Extraction Technique for Object Reusability Improvement based on Legacy System Interface (객체 재사용성 향상을 위한 레거시 시스템 인터페이스 기반 객체추출 기법)

  • 이창목;유철중;장옥배
    • Journal of KIISE:Software and Applications
    • /
    • v.31 no.11
    • /
    • pp.1455-1473
    • /
    • 2004
  • This paper suggests a technique, TELOR(Technique of Object Extraction Based on Legacy System Interface for Improvement of Object Reusability) for reuse and reengineering by analyzing the Legacy System interface to distill the meaningful information from them and disassemble them into object units which are to be integrated into the next generation systems. The TELOR method consists of a 4 steps procedure: 1) the interface use case analysis step, 2) the interface object dividing step, 3) the object structure modeling step, and 4) the object model integration step. In step 1, the interface structure and information about the interaction between the user and the Legacy System are obtained. In step 2, the interface information is divided into semantic fields. In step 3, studies and models the structural and collaborative relationship among interface objects. Finally, in step 4, object model integration step, integrates the models and improves the integrated model at a higher level. The objects integration model created through TELOR provides a more efficient understanding of the Legacy System and how to apply it to next generation systems.