검색 상세

역공학 프로세스의 개선 및 시스템 설계에서의 응용에 관한 연구

A Study on the Improvement of the Reverse Engineering Process with its Application to Systems Design

초록/요약

새로운 시스템을 개발할 때 중요한 역할을 하는 시스템공학 설계 프로세스는 이해관계자의 요구사항에 대해 요구사항 분석, 기능 분석, 조합 및 최적화의 활동을 수행한다. 이러한 시스템공학 프로세스는 시스템의 각 계층에 대해서 그리고 각 수명 주기별로도 반복적으로 적용 된다는 것이 특징이기도 하는데, 이를 통해 발생 가능한 리스크를 각 단계 마다 식별하여, 개발 위험 및 불확실성을 줄일 수가 있게 된다. 개발하려는 시스템과 유사한 시스템이 존재하는 경우에 대한 설계방법론 중의 하나로 기존 시스템에 대한 역공학 수행 후에 재공학에 의한 설계 수행을 들 수가 있다. 이 경우에 역공학을 통해 습득된 기존의 설계 정보를 활용함으로써 새로운 시스템 설계시의 노력과 위험성을 줄이기 위한 방법으로 볼 수 있다. 이렇게 물리적으로 구현되어 동작하는 시스템에 대해 시스템 설계과정을 역으로 거슬러 올라가면서 기 구현된 설계 정보를 추출 및 역으로 추상화하는 방법을 역공학이라고 한다. 역공학의 여러 가지 활용 방법 중에서 역공학-재공학 설계 방법론을 통한 역공학의 활용에 본 논문에서 초점을 맞추고 있다. 선행 연구의 분석 결과 여러 분야에서 다양한 역공학 설계 프로세스가 연구되었음을 확인할 수가 있었다. 특히 소프트웨어 분야의 경우 해킹 등이 역공학적 방법과 직접 관련이 있고, 이로 인한 폐해가 국가 IT 시스템 체계에 막대한 영향을 미치고 있기 때문에, 기존에 수행해 왔던 역공학과 관련된 다양한 연구에 더 많은 관심이 증대되고 있다. 이와는 달리 시스템공학 분야에서 역공학 분석에 관한 연구는 부족하다. 현재까지 연구된 시스템공학 관점의 역공학 설계 프로세스는 단순한 개념 수준에서 제시하고 있어, 제시된 프로세스의 검증이 불가능하고, 실제 적용이 쉽지 않다. 특히 시스템공학을 적용하여 시스템을 개발하는 경우에 시스템 수명주기 단계 별 많은 설계 산출물이 필요한데, 기존의 역공학 프로세스로 이 목적을 달성하기는 쉽지 않다. 본 논문에서는 1) 미흡한 역공학 프로세스에 대한 개선을 통해 적용 가능한 프로세스를 개발하고, 2) 개발된 프로세스의 이해 및 활용이 용이하도록 모델링을 통하여 표현하고, 3) 실제 대상시스템 및 전산지원도구의 활용을 통해 개발된 역공학 프로세스의 적용성 및 실용성의 가시화를 연구 목표로 설정하였다. 연구방법으로서 현재까지 연구된 SE 관점의 역공학 프로세스의 미흡한 점을 보완하기 위해 ‘complete’한 프로세스의 개념을 먼저 정립하였고, 또한 시스템 기능 요구사항을 도출하기 전에 선 처리 단계를 추가하였다. 그리고 개발된 프로세스의 이해도 및 적용성의 증진 그리고 프로세스의 검증이 가능하도록 모델링 및 전산지원도구를 통한 표현 방법을 채택하였다. 상기 연구 목표를 달성하기 위해 기술된 연구 방법의 적용을 통해 수행된 연구 결과를 정리해 보면 다음과 같다. 먼저 개선된 역공학 프로세스의 특징을 4가지로 용약할 수 있다. 1. 역공학 설계 프로세스 각 단계의 입력물과 출력물을 명확하게 기술하였다. 2. 역공학 설계 프로세스의 모델 표현을 통해 입력/출력 결과물 사이의 관계를 명확하게 기술하였다. 3. 역공학 설계 프로세스의 각 요소들 사이의 관계를 명확하게 식별하였다. 4. 식별된 요소 프로세스 들 사이의 상하 및 상호 관계가 명확히 기술하였다. 다음으로 연구 결과인 개선된 역공학 프로세스를 그래픽 모델인 IDEF0와 eFFBD (Enhanced Functional Flow Block Diagram)로 모델링하는 연구를 수행하였다. 이러한 모델링 작업에 대한 체계화를 위해 시스템공학 전산지원도구인 CORE^( ⓡ)IDEF0와 eFFBD (Enhanced Functional Flow Block Diagram) 기능을 활용하였다. 개발된 모델들에 시간의 흐름에 따른 입력, 출력, 제어, 메커니즘을 정의하였다. 또한 역공학 분석을 통한 각 단계의 결과물을 요구사항 구조, 기능 구조, 물리적 구조로 세분화하여 시스템 계층구조 관점의 SE 산출물을 정의하고, 각 산출물의 항목을 MIL-STD-961D를 통해 구축하였다. 본 논문의 연구 결과인 역공학 프로세스의 검증 및 평가가 수행되었는데, Core를 활용한 프로세스 시뮬레이션을 통해 프로세스의 검증을 수행하였다. 프로세스의 평가를 위해서는 시스템공학 능력 모델(SECM)의 평가 방법을 채택하였다. 그 결과 본 논문의 성숙도는 1수준을 상회하는 것으로 판단할 수가 있었다. 또한 2수준과 3수준의 경우 70%에 근접한 달성도를 보였다. 이는 2수준과 3 수준을 지원할 수 있는 능력을 잠재적으로 가지고 있다고 판단할 수 있다. 본 논문에서 제시한 개선된 역공학 프로세스의 실용성을 보여 주기 위해 동작하는 물리 시스템에 대한 적용 연구를 수행하였다. 대상시스템으로 레이저 거리 측정 시스템을 선택하여, Core 환경에서 개선된 역공학 프로세스를 적용하여 주요한 SE 산출물을 개발함으로써 적용 가능성을 확인하였다. 또한 시스템공학 관점에서 역공학 프로세스의 각 단계를 상세화 함으로써 엔지니어의 능력에 따른 역공학 분석 결과물 들의 품질 차이를 줄이고, 시스템 설계 단계에 역공학 분석 결과를 응용할 수 있는 방안임을 보였다.

more

초록/요약

The systems engineering (SE) design process has been playing a crucial role in the development of new systems. The SE process can be modeled to consist of the requirements analysis, the functional analysis, the synthesis and the optimization subprocesses. It is noted that this SE process is applied repeatedly at each layer of the system's hierarchy as well as at each stage of the system life cycle. Through the repetition the risks and uncertainty possibly incurred in the system development can gradually be decreased. A design methodology could change for the systems development if similar systems are already physically implemented and in operation. A good candidate for the situation would be the systems design approach based on the reverse engineering and re-engineering design process. In this case the use of the design information extracted from the reverse engineering of the existing system is expected to decrease the effort and risks for the new system development. Here, the method of extracting or generalizing the low level design information of the system in operation to make up the higher level information is called reverse engineering. In this dissertation, we are particularly interested in the use of reverse engineering in the design method of the combined reverse engineering and re-engineering process. The analysis of the previous literature on the reverse engineering indicated that the concept of the reverse engineering has been studied in a variety of engineering fields. In particular, a great deal of effort has been made in the field of software engineering in which increased attention has been noticed due to the direct relationship between the reverse engineering the crucial hacking wars in the IT systems. On the other hand, the research activities in SE area appear to be insufficient. The major results on the reverse engineering process from the SE point of view turned out to be simply at a conceptual level and thus it seems not easy to verify and apply the process in practice. Although the process for the new system development requires a variety of SE artifacts, it is not easy to achieve the goal with the reverse engineering process reported so far. The objectives of the dissertation is three-fold. First of all, the improvement on the reverse engineering process is studied. Secondly, In order to foster the understanding and the use of the improved process, the process is graphically modeled. Finally, to demonstrate the applicability and practical value of the developed process, its application is carried out for a real example using the computer-aided SE tool (CASE), Core. As for the methods of approach, we first set up the requirements a 'complete' reverse engineering process should satisfy to improve the existing results. Also, we introduce a preprocessing step prior to develop the system functional requirements. In addition, modeling and implementation of the developed process using the CASE tool is considered to verify it and to evaluate its applicability in practice. The results of research obtained following the aforementioned objectives and methods are as follows. The developed reverse engineering process shows the improvement in terms of the following factors. The inputs and outputs of each subprocess were clearly specified. The overall reverse engineering process has been decomposed to the point where it can be. The relationship among the identified subprocesses has been clearly specified both horizontally and vertically. The control flow of all the subprocesses has been correctly determined. Next the developed process has been modeled using the graphic models IDEF0 and Enhanced Functional Flow Block Diagram (eFFBD). In this paper, we defined improved reverse engineering process that proposed to this study in terms of input, output, control, and mechanisms according to the passage of time using IDEF0, eFFBD (Enhanced Functional Flow Block Diagram) of CORE that is commercial tool for supporting systems engineering. Also we defined SE artifact based on system hierarchy's viewpoint by breaking down results of each phase into requirements structure, functional structure, physical structure through reverse engineering analysis and build items of each artifact through MIL-STD-961D. In order to verify this paper, we selected assessment methods of the systems engineering capability model (SECM). As a result, a level of maturity of this paper can be determined as above level 1. In addition, 2 level and 3 level show attainment close to 70%. We can judge that the improved reverse engineering process that proposed to this paper have potentially the ability to be able to support 2 level and 3 level. In order to confirm the feasibility of the improved reverse engineering process that proposed to this paper, we were applied to each step of reverse engineering process targeting OPO laser range finder system. And then SE output of each step is developed. Also we proposed how to take advantage of laser range finder development that the feature was added in by applying the results of analysis of reverse engineering. The improved reverse engineering process that proposed to this paper can be applied to the development of the SE artifacts through working physical system and will contribute to reduce the difference of reverse engineering design output according the ability of engineers as detail each phase of the reverse engineering in terms of systems engineering and raise the engineering's maturity level of the concept design phase.

more

목차

제1장 서론 1
제1절 연구의 배경 1
제2절 연구의 목적 및 범위 3
제1항 연구의 목적 3
제2항 연구의 범위 3
제3절 논문구성 5
제2장 연구동향 및 문제 정의 6
제1절 시스템공학 설계프로세스의 정의 6
제1항 시스템공학설계프로세스의정의 6
제2항 시스템공학의주요산출물정의 12
제2절 역공학의 정의및 설계프로세스 17
제1항 역공학의 정의 17
제2항 각분야별 역공학의 연구동향 19
1. 시스템공학 분야 19
2. 소프트웨어 공학 분야 21
3. 기계및전자 분야 24
제3절 역공학 관련선행연구사례 25
제1항 Rekoff모델 25
제2항 Vitech모델 26
제3항 JamesLong모델 27
제4항 Bourbakis의모델 28
제4절 문제정의 30
제1항 Complete 프로세스관점의 문제 정의 30
제2항 역공학프로세스의 적용상 문제정의 31
제3항 시스템 설계에서의 응용에관한 문제정의 32
제3장 연구목표및연구방법 33
제1절 연구목표설정 33
제1항 적용가능한 역공학 프로세스개발 33
제2항 시스템설계 응용방법개발 35
제2절 연구방법 및 절차 36
제1항 연구 방법 36
제2항 연구 절차 36
제4장 역공학 프로세스개선을위한 예비분석 38
제1절 SE지침서를 통한역 공학 단계별입/출력 결과물분석 38
제2절 역공학분석을 위한각단계의 기준선제시 39
제3절 시스템계층 구조관점의 주요산출물정의 40
제5장 개선된역공학 프로세스의개발 41
제1절 개선된역공학 프로세스의제시 41
제2절 역공학프로세스의 각단계상세화 43
제1항 정의 단계 43
제2항 측정 단계 44
제3항 시스템 경계정의 45
제4항 인터페이스분석 46
제5항 컴포넌트 계층구조 분석 47
제6항 컴포넌트 거동의 표현방법 48
제7항 시스템시나리오 의 표현방법 49
제8항 시스템요구사항 의 도출방법 50
제3절 시스템설계단계 에 응용방법 51
제6장 SE전산지원도구를통한 개선된역공학프로세스의모델링 52
제1절 프로세스 모델링방법 52
제2절 SE전산지원 도구활용 52
제3절 전산지원도구를 통한프로세스모델 54
제7장 개선된역공학 프로세스의적용사례 66
제1절 대상시스템의 요약 66
제2절 개선된역공학 프로세스의적용사례 66
제8장 본논문의연구결과 검증 92
제1절 시뮬레이션을통한 개선된역공학프로세스의논리적타당성검토 92
제2절 능력성숙도모델을 통한프로세스영역의능력도측정 93
제1항 시스템공학능력 모델 93
제2항 본논문에서제시한 역공학프로세스개선모델의검증 98
제3절 레이저거리 측정기적용사례평가 100
제9장 결론 101
제1절 본논 문의요약 101
제2절 본연구의 유용성및공헌 101
제3절 계속 과제 102
참고문헌 103
Abstract 107
부록 110

more