진회승, 서영희, 김원태

연구17-008_CPS의 기능, 비기능적 소프트웨어 요구사항 분석 (다운로드 : 540회)

Functional, non-functional Software requirements analysis of Cyber Physical System environment

■ 목차

제1장 서 론
    제1절 연구 배경 및 필요성
    제2절 연구 목적
    제3절 연구 내용
    제4절 연구 방법

제2장 이론적 배경
    제1절 CPS의 정의 및 발전 단계
        1. CPS 정의 및 특성
        2. CPS 연구 필요성
        3. CPS 응용 도메인
        4. CPS 발전 단계
    제2절 요구공학(Requirement Engineering)
        1. 요구공학 개요
        2. 요구사항의 구분
        3. 올바른 요구사항을 도출하기 위한 방법과 특징
    제3절 소프트웨어 플랫폼(Software Platform)
        1. 소프트웨어 플랫폼의 의의와 필요성
        2. CPS 플랫폼과 유사 플랫폼 : IoT (Internet of Things) 플랫폼
    3. IoT 플랫폼과 CPS 플랫폼과의 관계
    제4절 선행 연구
        1. CPS 관련 연구
        2. 임베디드 시스템과 IoT에서 요구공학 관련 선행연구

제3장 CPS 요구사항 분석의 틀
    제1절 분석 대상 및 분석 방법
    제2절 분석틀
        1. CPS 프레임워크를 이용한 사용자 요구사항 분석
        2. CPS 특성에 따른 시스템 요구사항 분석

제4장 CPS 사용자 요구사항 분석 및 도출
    제1절 자동차 사용자 요구사항
        1. 자동차 요구사항 분석 대상
        2. CPS 프레임워크의 측면 관점에서 자동차 요구사항 명세
    제2절 항공기 사용자 요구사항
        1. 항공기 요구사항 분석 대상
        2. CPS 프레임워크의 측면 관점에서 항공기 요구사항 명세
    제3절 스마트공장 사용자 요구사항
        1. 스마트공장 요구사항 분석 대상
        2. CPS 프레임워크의 측면 관점에서 스마트공장 요구사항 명세
    제4절 사용자 요구사항 분석 결과

제5장 CPS 시스템 요구사항 분석 및 도출
    제1절 CPS 관점의 자동차 요구사항 정의
        1. 요구사항 명세
        2. 자동차에서 CPS의 역할
    제2절 CPS 관점의 항공기 요구사항 정의
        1. 요구사항 명세
        2. 항공기에서 CPS의 역할
    제3절 스마트공장 요구사항 정의
        1. 요구사항 명세
        2. 스마트공장에서 CPS의 역할
    제4절 CPS 공통 시스템 요구사항
        1. 공통 요구사항 명세
        2. 분석
    제5절 CPS 시스템 요구사항 분석결과
        1. 각 도메인별 시스템 요구사항
        2. 비기능 시스템 요구사항

제6장 IoT 플랫폼 검증을 통한 IoT 플랫폼 기반 CPS 플랫폼 구성
    제1절 개요
    제2절 검증 항목
        1. IoT 플랫폼 요구사항 검증 항목
        2. CPS 시스템 요구사항 검증항목
    제3절 대규모 CPS 지원을 위한 IoT 플랫폼 검증
        1. 검증 테스트베드 설계 및 구현
        2. 검증 테스트케이스 설계
        3. 시험 검증
    제4절 대규모 CPS 지원 플랫폼 구성
        1. CPS 특성별 요구사항 검증 결과 분석
        2. 대규모 CPS 지원을 위한 추가 기능 정의
        3. 대규모 CPS 지원 IoT 플랫폼 중심 CPS 플랫폼 구조

제7장 결론
    제1절 연구의 요약
    제2절 향후 연구
    제3절 연구의 한계

■ 요약문

1. 제 목

  CPS의 기능, 비기능적 소프트웨어 요구사항 분석

2. 연구 목적 및 필요성

  제4차 산업혁명은 사회, 경제적, 기술적 변화로 나타났으며, 그 중 CPS는 디지털과 인간을 포함한 자동차, 항공기 등 제품, 크게는 공장, 도시 등 물리세계의 융합을 통해 생산성, 편리성과 안전성 등의 증가가 가능하게 하는 시스템이다. CPS는 시스템 자체가 복잡하고 다양한 응용 도메인 간에 차이점이 많이 있으나, CPS라는 개념 하에 속하는 여러 시스템은 관련 기술과 구축방법에서 공통적으로 활용이 가능한 영역이 있다. 이에 CPS 응용도메인에서 연구를 시행하고 시스템을 구축할 때, 활용이 가능한 CPS 공통의 특성을 정의하고 구체화하는 연구가 필요하다.

  이 연구에서는 CPS 공통의 특성을 도출하고, 그 특성별 요구사항을 정리하여 CPS 응용 도메인 연구나 구축을 위해 기초 자료로써 사용하고자 한다. 이를 위하여 이 보고서에서는 첫째, CPS의 특성에 대해 연구하여, 공통적인 CPS 시스템 요구사항을 도출하고자 한다. 다음으로 CPS를 이루는 기술 중 소프트웨어로 구성되어진 CPS SW플랫폼 구조를 제안하고자 한다.

3. 연구의 구성 및 범위

  이 연구는 총 7장으로 구성되어 있다.

  제 1장은 서론으로 CPS의 소프트웨어 요구사항 분석에 대한 연구의 배경, 필요성, 연구의 목적 및 연구 수행 방법을 제시한다.

  제 2장은 이론적 배경으로 CPS의 정의 및 발전단계, 요구공학, 소프트웨어 플랫폼에 대해 설명하고, 선행연구에 대해 분석한다. 첫 번째로 이 연구의 대상 시스템인 CPS의 정의, 특징, 응용 도메인, 수준별 단계에 대해 알아보겠다. 두 번째로는 소프트웨어 요구공학의 정의, 특성 및 필요성에 대해 다룬다. 세 번째로 CPS 플랫폼 연구를 위해 소프트웨어 플랫폼, CPS 플랫폼과 유사한 플랫폼인 IoT 플랫폼에 대해 살펴본다.

  제 3장은 CPS 요구사항 분석의 틀을 설명한다. 사용자 요구사항 분석의 틀로 NIST(National Institute of Standards and Technology, 미국 표준기술연구소)의 CPS 프레임워크를 활용하고자 하며, 시스템 요구사항 분석의 틀로 CPS 특징을 이용하고자 한다. CPS 특징은 ‘시스템 확장성(Scalability), 융복합성(Composability), 상호작용성(Interactivity), 고신뢰성(Dependability), 실시간성(Timing), 상호운용성(Interoperability), 지능성(Intelligence)’로 선정하고 시스템 요구사항을 위한 기준으로 삼는다.

  제 4장은 미국의 NIST의 CPS 프레임워크를 활용하여 정의된 CPS 프레임워크를 이용하여, CPS 분석의 대상 도메인으로 선정한 자동차, 항공기, 스마트공장의 사용자 요구 사항을 분석한다. 자동차, 항공기, 스마트공장에서 CPS 프레임워크를 이용하여, 각각의 요구사항을 추출한다.

  제 5장은 CPS의 특성인 확장성, 융복합성, 상호작용성, 고신뢰성, 실시간성, 상호운용성, 지능성을 기준으로 자동차, 항공기, 스마트 공장의 시스템 요구사항을 도출하고, 각 도메인의 공통의 시스템 요구사항을 추출한다.

  제 6장은 IoT 플랫폼과 CPS의 공통의 요구사항을 추출하여, IoT 플랫폼 상에서 CPS 요구사항의 구현 가능한 정도를 검증하고, CPS 플랫폼 구축을 위해서 필요한 기능들을 정의하고 개념적 CPS 플랫폼을 제안한다.

  제 7장은 결론으로서 연구의 요약, 향후 연구 방향, 연구의 한계 등에 대해 논의한다.

4. 연구 내용 및 결과

  이 연구는 CPS 특성을 기반으로 CPS 공통의 요구사항을 도출하는 부분과, 도출된 CPS 공통의 요구사항과 CPS의 응용도메인인 스마트공장의 요구사항을 만족하는 CPS SW 플랫폼에 대한 연구로 구성되어 있다.

  첫 번째 연구 내용은 CPS 특성을 기반으로 CPS 공통의 요구사항을 도출하는 것이다. CPS의 사용자 요구사항을 추출하기 위해서 자동차, 항공기, 스마트공장을 분석할 수 있는 공통적인 틀로 미국의 NIST(National Institute of Standards and Technology, 미국 표준기술연구소)의 CPS 프레임워크를 활용한다. NIST의 CPS 프레임워크는 CPS 분석 연구 방법론과 그것을 설명하는 용어를 포함하고 있어 CPS에 대한 보편적인 분석을 가능하며, 이를 활용하되 본 연구의 목적인 소프트웨어 관련 요구사항 추출을 위해 필요한 요건들만 선택하고 수정한 CPS 프레임워크를 정의했다.

  이 연구에서 사용자 요구사항을 정의함에 있어서 국제 표준문서, 논문, 보고서 및 국내 최고 산학연 전문가들 인터뷰 등을 통해 요구사항이 올바르고 모호하지 않도록 하였다.(Correctness, Unambiguous) 특히, 자동차와 항공 표준에 포함되지 않은 자율주행차 및 무인기 측면에서 CPS 요구사항을 추가하여 CPS 요구사항의 완전함(Completeness)을 높였다.

  CPS 프레임워크는 기능(functional), 인간(human), 신뢰성(trustworthiness), 시간(timing), 데이터(data), 조립(Composition)의 6개의 측면과 각 측면들과 관련된 관심사로 구성되어 있다. 자동차, 항공기, 스마트공장에 대해 6개의 측면과 관심사 관점에서 사용자 요구사항을 정리하였으며, 자동차에서 66개, 항공기에서 83개, 스마트공장에서 96개의 사용자 요구사항을 추출하였다.

  기능적인(Functional) 측면은 관심사 중 Actuation, Controllability, Measurability, Sensing 등은 자율주행자동차, 무인항공기 등의 요구사항을 나타내 지능성이 필요한 CPS에서 더욱 요구되는 사항이라 볼 수 있었다. 인간적(Human) 측면은 자동차의 경우는 개발 시의 역할, 자율주행차의 경우는 운전자와의 관계를 나타냈다. 신뢰성(Trustworthiness) 측면은 CPS에서 중요하게 다루어져야 하는 것으로, 안전, 보안, 복구, 신뢰성 등 CPS를 구현하기 위해서 반듯이 제공되어야 하는 요건이 추출되었다. 시간(Timing) 관련해서는 실시간성, 시간 동기화, 정확성, 시간 간격에 대한 조건과 지연시 처리 방법 등이 요구되었다. 조립(Composition) 측면에서는 모쥴화, 모형화, 계층화되어 변경 없이 쉽게 복잡한 시스템이 서로 연동이 요구되었다.

  도출한 각각의 기능은 CPS 특성을 기반으로 자동차, 항공, 스마트공장 시스템 요구사항으로 정리했다. CPS 특성은 선행연구를 통하여 시스템 확장성(Scalability), 융복합성(Composability), 상호작용성(Interactivity), 고신뢰성(Dependability), 실시간성(Timing), 상호운용성(Interoperability), 지능성(Intelligence)으로 선정하였다. 자동차, 항공, 스마트공장의 각각의 시스템 요구사항 중 공통의 요구사항을 추출하여, CPS 공통의 시스템 요구사항으로 정의했다. 시스템 요구사항은 자동차에서 108개, 항공기에서 62개, 스마트공장에서 102개, 공통으로 35개를 추출하였다.

  시스템 확장성에 속하는 공통 시스템 요구사항은 통신 관련 기능이 대부분이었다. 스마트공장의 경우는 공장 도메인 기능에 속하는 공정 관련 사항과 공장 구성요소 변경에 관한 요구사항이 많아 공통 기능에는 포함하지 않았다. 융복합성, 고신뢰성, 상호운용성에 속하는 자동차 요구사항은 자동차 표준인 AUTOSAR에 관련된 것이 많았으며, 스마트공장의 경우도 도메인에 관련된 요구사항이 많았다. 지능성에 포함된 요구사항은 도메인에 속하는 요구사항이 많이 공통의 요구사항으로 도출하기는 어려운 면이 있다. 상호작용성의 경우는 통신에 관련된 일반적인 요구사항이 많아 공통요구사항으로 도출되었다.

  두 번째 연구 내용은 CPS SW 플랫폼에 대한 것이다. 도출된 CPS 특성별 시스템 요구사항은 CPS SW 플랫폼의 기본 기능으로 구성된다. IoT 플랫폼 기반의 CPS SW 플랫폼을 정의하기 위해, 기존에 존재하는 IoT 플랫폼이 어느 정도 CPS의 기능을 충족하는지 검증했다. 검증 대상은 스마트공장과 CPS 기본 기능으로, 검증을 위한 IoT 플랫폼은 OneM2M 표준을 만족하는 Mobius 플랫폼으로 선정했다. 추출한 CPS의 기능이 IoT 플랫폼에서 어느 정도 만족되는 지 검증하고, IoT 플랫폼이 제공하지 못하는 CPS 기능을 정리하였다.

  추출한 CPS 시스템 요구사항 중 OneM2M 표준이 제공하는 요구사항을 분석하여 검증이 가능한 37종의 시스템 요구사항을 도출하였다. CPS 시스템 요구사항 중 CPS 특성별로 확장성 7종, 융복합성 6종, 상호작용성 12종, 고신뢰성 3종, 실시간성 1종 그리고 상호운용성 8종이 도출되어 총 37종의 요구사항이 검증 대상으로 식별되었고 지능적 요구사항은 AI와 같은 지능형 서비스와 관련된 요구사항들이 많아 IoT 플랫폼을 통한 검증에는 어려움이 있어 검증 대상에서 배제되었다.

  CPS 시스템 요구사항 충족을 검증하기 위한 Mobius 기반 검증 테스트베드를 설계, 구축, 검사 및 결과분석 과정에서 SW 개발 프로세스를 적용하였다. 먼저, 검증 테스트베드에 대한 다양한 사용자 요구사항 및 이를 지원하는 디바이스·서버·네트워크 측면에서의 시스템 요구사항을 정의하였고, 검증 테스트베드 네트워크 구조를 설계 및 구현하였다. IoT 플랫폼 기능으로서 검증이 가능하다 판단되는 CPS 시스템 요구사항들을 검증하기 위한 검증용 프로그램들을 설계하고, 구현하였다. 마지막으로, 테스트케이스를 활용한 시험계획과 절차를 정의하고 검증 결과를 도출하였다.

  검증결과 37종의 검증 대상 CPS 요구사항들은 IoT 플랫폼에서 구현이 가능함을 확인하였으며, IoT 플랫폼이 제공하지 못하는 CPS 요구사항들을 추가하여, CPS SW 플랫폼을 제안하였다. CPS 플랫폼에서 추가적으로 제공해야 하는 기능들은 CPS 서브시스템의 유연한 변경을 위한 상황 파악 및 제어 기능, 모델링과 시뮬레이션을 통한 최적화 기능, CPS 서브시스템의 복잡성을 추적가능하게 하는 시각화 기능, 실시간성이 보장되는 오류 검출 및 이상상황 대응 기능, AI 등을 이용한 지능형 서비스 등이다.

  이 연구에서 CPS SW 플랫폼을 서비스, 연동, 네트워크 계층으로 구분하고, 서비스 계층은 시스템 확장성, 융복합성, 상호작용성, 고신뢰성, 실시간성, 상호운용성, 지능성의 CPS 특성을 지원하는 기능과 모델링과 시뮬레이션, 지능형 데이터 처리/분석 기능으로 구성하였다. 연동 계층은 검증 결과에서도 확인이 되었듯이 대부분 IoT 플랫폼의 기능을 사용하여 구성할 수 있다. 네트워크 계층의 요소는 IoT 플랫폼에서 제공하는 기능에 추가하여 실시간성을 보장하는 기능이 추가되어야 한다.

  이 연구에서 각각의 요구사항 리스트를 제공함으로써 구체적인 요구사항을 정의하였으며, CPS에서 필요한 요구사항을 CPS 플랫폼 형태로 구성하여 종합적인 CPS 시스템 요구사항을 제공하였다.

5. 정책적 활용 내용

  이 연구결과는 자동차, 항공, 스마트공장의 사용자와 시스템 요구사항과 CPS 공통의 시스템 요구사항을 도출하고, CPS SW 플랫폼 구조를 제안함으로써 CPS 연구와 개발을 위한 정책 방향 마련에 기초 자료로써 활용될 수 있다.

  특히 우리나라 경제에서 제조업 의존율은 다른 나라에 비해 상당히 높으나, 제조업 경쟁력이 저하되고 있어 유연성, 실시간성, 신뢰성, 지능성을 만족하는 스마트공장으로의 전환이 시급하다. 이 연구 결과가 스마트공장 소프트웨어 플랫폼을 포함한 대규모 CPS 플랫폼 구축을 위한 정책 기초 자료로써 활용 가능한 것으로 기대한다.

6. 기대효과

  이 연구결과는 융복합 시스템의 소프트웨어 개발 프로젝트 시 우리나라에서 개발, 테스트 등 다른 단계에 비해서 기술 역량이나 경험이 부족한 요구사항 분석 단계에 활용되어, 성공적인 CPS 개발에 기여할 것이다. 또한 초기 단계인 CPS 연구 및 개발에 초석이 되어, 국내 CPS를 활용한 관련 산업 발전과 국제 경쟁력 확보에 기여하리라 기대한다.

■ Contents

Chapter 1. Introduction
Chapter 2. Background of CPS Software Requirement Analysis
Chapter 3. Framework of CPS Software Requirement Analysis
Chapter 4. CPS User Requirement Analysis
Chapter 5. CPS System Requirement Analysis
Chapter 6. IoT Platform-based CPS Software Platform through Verification
Chapter 7. Conclusion

■ Summary

  CPS, an important technology of the fourth industrial revolution, is a system that enables increase of productivity, convenience and safety through the convergence of digital and physical world. The CPS system is complex and there are many differences between various application domains of CPS. However, many systems belonging to the concept of CPS need to study and define CPS common characteristics that can be used in related technologies and development methods. In this study, I will summarize the requirements for each CPS characteristic and use it as basic data for CPS application domain research and development.

  This study consists of research that derives common requirements of CPS based on characteristics and suggests CPS software platform that meets requirements. Automotive, aircraft, and smart factories were selected for analysis in order to extract the CPS user requirements. It uses the CPS framework of the National Institute of Standards and Technology (NIST) in the United States as an analytical framework. NIST's CPS framework includes a CPS analysis research methodology and terminology to describe it, allowing for a universal analysis of CPS. The NIST's CPS framework was used to define the revised CPS framework for software requirements
extraction.

  In defining the user requirements in this study, international standards documents, papers, reports, and interviews with top industry, academy experts in the country ensure that the requirements are correct and unambiguous. Completeness of CPS requirements has been increased by adding CPS requirements for autonomous vehicles and UAVs.

  The CPS framework consists of six aspects of functional, human, trustworthiness, timing, data, and composition and concerns related to each aspect. User requirements are summarized in terms of six aspects and concerns about automobiles, aircraft, and smart factories. I have extracted 66 user requirements from the car, 83 user requirements from the aircraft, and 96 user requirements from the smart factory.

  Each user requirement derives the automotive, aeronautical, and smart plant system requirements using CPS characteristics. CPS characteristics can be classified into the following categories: system scalability, composability, interactivity, dependability, timing, interoperability, and intelligence. Respectively. Common requirements of each of the system requirements of automobile, aviation, and smart factory were extracted and defined as CPS common system requirements. In this study, 108 automotive system requirements, 62 aircraft system requirements, 102 smart plant system requirements, and 35 common system requirements were extracted.

  The second part is about the CPS software platform. The system requirements for the derived CPS characteristics should be provided as the basic functions of the CPS software platform. To this end, it was verified to what extent the existing IoT platform satisfies the functions of the CPS. The verification targets are smart factories and CPS basic requirements. The IoT platform for verification was selected as a Mobius platform that meets the OneM2M standard. I verified the degree of satisfaction of the extracted CPS functions on the IoT platform and summarized the CPS functions that the IoT platform does not provide.

  I analyzed the requirements of the OneM2M standard among the extracted CPS system requirements and derived 37 system requirements that can be verified. Among CPS system requirements, there are 7 types of scalability, 6 types of composability, 12 types of interactivity, 3 types of dependability, 1 type of timing and 8 types of interoperability. Intelligent requirements were excluded from verification because of difficulties in verification through the IoT platform which does not provide intelligent services such as AI.

  As a result of the verification, it is confirmed that the 37 CPS requirements to be verified can be implemented in the IoT platform. In addition to the CPS requirements not provided by the IoT platform, the CPS software platform is proposed by dividing into the service, interworking and network layers. The additional functions that the CPS platform should provide are context awareness and control for flexible changes to the CPS subsystem, optimization through modeling and simulation, visualization to track the complexity of the CPS subsystem, detection and abnormal situation response function, and intelligent service using AI.

  In this study, the CPS system requirements are organized in the form of CPS platform, and comprehensive requirements are defined by providing a list of requirements. It is expected that CPS can be developed more fully and reliably by reducing the time and effort by utilizing the results of this research as a reference material for companies and researchers who wish to develop CPS in systematic research and application domain of new CPS.
 

CPS