새로운 시스템을 개발할 때 중요한 역할을 하는 시스템공학 설계 프로세스는 이해관계자의 요구사항에 대해 요구사항 분석, 기능 분석, 조합 및 최적화의 활동을 수행한다. 이러한 시스템공학 프로세스는 시스템의 각 계층에 대해서 그리고 각 수명 주기별로도 반복적으로 적용 된다는 것이 특징이기도 하는데, 이를 통해 발생 가능한 리스크를 각 단계 마다 식별하여, 개발 위험 및 불확실성을 줄일 수가 있게 된다.
개발하려는 시스템과 유사한 시스템이 존재하는 경우에 대한 설계방법론 중의 하나로 기존 시스템에 대한 역공학 수행 후에 재공학에 의한 설계 수행을 들 수가 있다. 이 경우에 역공학을 통해 습득된 기존의 설계 정보를 활용함으로써 새로운 시스템 설계시의 노력과 위험성을 줄이기 위한 방법으로 볼 수 있다. 이렇게 물리적으로 구현되어 동작하는 시스템에 대해 시스템 설계과정을 역으로 거슬러 올라가면서 기 구현된 설계 정보를 추출 및 역으로 추상화하는 방법을 역공학이라고 한다. 역공학의 여러 가지 활용 방법 중에서 역공학-재공학 설계 방법론을 통한 역공학의 활용에 본 논문에서 초점을 맞추고 있다.
선행 연구의 분석 결과 여러 분야에서 다양한 역공학 설계 프로세스가 연구되었음을 확인할 수가 있었다. 특히 소프트웨어 분야의 경우 해킹 등이 역공학적 방법과 직접 관련이 있고, 이로 인한 폐해가 국가 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 산출물을 개발함으로써 적용 가능성을 확인하였다. 또한 시스템공학 관점에서 역공학 프로세스의 각 단계를 상세화 함으로써 엔지니어의 능력에 따른 역공학 분석 결과물 들의 품질 차이를 줄이고, 시스템 설계 단계에 역공학 분석 결과를 응용할 수 있는 방안임을 보였다.
Alternative Abstract
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.