KR20110064360A - Cps simulator for developing a dependable cps, system and method using that cps simulator - Google Patents

Cps simulator for developing a dependable cps, system and method using that cps simulator Download PDF

Info

Publication number
KR20110064360A
KR20110064360A KR1020090120914A KR20090120914A KR20110064360A KR 20110064360 A KR20110064360 A KR 20110064360A KR 1020090120914 A KR1020090120914 A KR 1020090120914A KR 20090120914 A KR20090120914 A KR 20090120914A KR 20110064360 A KR20110064360 A KR 20110064360A
Authority
KR
South Korea
Prior art keywords
cps
software
model
simulator
simulation
Prior art date
Application number
KR1020090120914A
Other languages
Korean (ko)
Other versions
KR101136408B1 (en
Inventor
김원태
박승민
전인걸
강우철
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to KR1020090120914A priority Critical patent/KR101136408B1/en
Publication of KR20110064360A publication Critical patent/KR20110064360A/en
Application granted granted Critical
Publication of KR101136408B1 publication Critical patent/KR101136408B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/18Network design, e.g. design based on topological or interconnect aspects of utility systems, piping, heating ventilation air conditioning [HVAC] or cabling

Abstract

PURPOSE: A CPS simulator for reliable CPS development, and a CPS simulation system and method using the same are provided to improve the completeness of a CPS model by offering the CPS simulator and the simulation technique. CONSTITUTION: A domain model generation module(210) creates a CPS(Cyber Physical Systems) model about a CPS node. An auto software generation module(220) creates software reflecting hardware information in the CPS model. A software verification module(230) verifies the reliability of the software. A CPS topology configuration module(240) constitutes a CPS network. A code mount module(250) mounts the software about the CPS model to the CPS node. An HW/SW integrated simulation module(260) simulates the software.

Description

신뢰성 있는 CPS 개발을 위한 CPS 시뮬레이터, 이를 이용한 CPS 시뮬레이션 시스템 및 방법{CPS simulator for developing a dependable CPS, system and method using that CPS simulator}CPS simulator for developing a dependable CPS, system and method using that CPS simulator}

본 발명은 임베디드 시스템과 물리시스템이 결합된 형태인 CPS(Cyber-Physical Systems) 개발을 위한 시뮬레이터(simulator)에 관한 것으로, 좀더 구체적으로는 물리시스템과 물리시스템을 모델링한 CPS 모델을 연동하여 시험함으로써 고신뢰성의 CPS 모델을 개발할 수 있는 CPS 시뮬레이터 및 이를 이용한 CPS 시뮬레이션 시스템과 방법에 관한 것이다.The present invention relates to a simulator for developing a CPS (Cyber-Physical Systems) in which an embedded system and a physical system are combined, and more specifically, by interlocking and testing a CPS model modeling a physical system and a physical system. The present invention relates to a CPS simulator capable of developing a highly reliable CPS model, and a CPS simulation system and method using the same.

CPS(Cyber Physical Systems)란, 실세계 시스템과 컴퓨팅 시스템이 연계되어 그 복잡도가 가중됨에 따라, 예상치 못하는 오류와 상황 발생 등을 방지하기 위하여 SW 신뢰성, 실시간성 및 지능성 등이 보장되는 시스템을 말한다. 현재 연간 수억개 이상의 마이크로프로세서 기반의 임베디드 시스템이 생산되고 있으며, 이들 대부분은 국방/자동차/항공기/정보가전/핼스케어/메디칼/산업자동화 등 핵심 인프라에 활용되고 있다. 특히, 이러한 임베디드 시스템들은 네트워크를 통해 인터넷 혹은 다른 시스템과의 연동 기능을 가지고 있어, 네트워크기반의 제어를 위한 고신 뢰성, 실시간성, 안정성, 자율성 및 보안성 등이 강력히 요구되고 있다. Cyber Physical Systems (CPS) refers to a system that guarantees SW reliability, real-time, and intelligence in order to prevent unexpected errors and situations, as real-world systems and computing systems increase in complexity. More than hundreds of millions of microprocessor-based embedded systems are produced annually, most of which are used in core infrastructure such as defense, automobiles, aircraft, information appliances, healthcare, medical, and industrial automation. In particular, these embedded systems have a function of interworking with the Internet or other systems through a network, and high reliability, real time, stability, autonomy, and security for network-based control are strongly required.

따라서, CPS는 네트워크를 기반으로 물리시스템들 혹은 물리프로세스들과 이들에 대한 제어 컴퓨팅시스템들이 강력히 결합된 형태의 임베디드 시스템이라 할 수 있으며, 물리시스템과 컴퓨팅시스템간의 상호작용으로 인한 피드백 (Feedback)을 네트워크를 통해 얻어 전체적인 물리 프로세스가 안정적(Dependability)으로 운용될 수 있도록 모니터하고 제어하는 특징을 가진다. Therefore, CPS is an embedded system that is a strong combination of physical systems or physical processes and control computing systems based on the network, and provides feedback due to the interaction between the physical and computing systems. It is characterized by monitoring and controlling so that the whole physical process can be operated reliably through the network.

CPS 컴퓨팅 플랫폼이 국가 인프라의 주요 기술로 대두됨에 따라 고신뢰, 무결점 시스템에 대한 요구가 증가할 것이며, 다양한 이종 시스템이 이루는 대규모 임베디드 시스템에 대한 견고성이 보장되어야 하는데 이를 위한 SW 분석 및 테스트 기술 수요가 증가하고 있으며, 비IT산업과 IT/SW융합에 의한 전통 산업 고도화 노력이 활발해지고 있어, 항공, 우주, 자동차, 국방 등의 비IT 산업에서 요구하는 고신뢰성 및 안전성을 보장할 수 있는 프로그래밍, 검증 등의 기술 확보가 시급하다.As the CPS computing platform emerges as a major technology of the national infrastructure, the demand for high reliability and defect-free systems will increase, and the robustness of large-scale embedded systems made by various heterogeneous systems should be guaranteed. Efforts are being made to advance traditional industries by convergence with the non-IT industry and IT / SW, which leads to programming and verification that can guarantee the high reliability and safety required by the non-IT industry such as aviation, space, automotive, and defense. It is urgent to secure technology.

시뮬레이션 기술은 고신뢰성을 요구하는 임베디드 시스템의 개발 과정에서 단일 시스템의 설계를 위한 보조 도구로 폭넓게 활용되고 있다. 먼저 개발할 시스템을 추상화된 모델로 표현하는 모델링을 수행하며, 시스템 모델을 가지고 시뮬레이션을 수행하여 시스템 모델을 검증 및 수정한다. 검증이 완료된 이후에는 모델을 기반으로 실제 하드웨어나 소프트웨어를 개발하게 된다. 이러한 시뮬레이션을 통한 검증은 실제 시스템을 개발하여 검증하는데 수반되는 비용이나 위험 등을 크게 줄이면서 신뢰성있는 시스템을 개발할 수 있는 장점이 있다. 그러나 시뮬레이션을 통한 검증의 유효성을 보장하기 위해서는, 시스템 모델과 모델 입력의 유효성이 보장 되어야만 한다. Simulation technology is widely used as an aid for the design of a single system in the development of embedded systems that require high reliability. First, modeling is performed to represent the system to be developed as an abstract model, and the system model is verified and modified by performing simulation with the system model. After verification is complete, you will develop real hardware or software based on the model. Verification through this simulation has the advantage of developing a reliable system while greatly reducing the costs and risks involved in developing and verifying the actual system. However, to ensure the validity of the verification through simulation, the validity of the system model and model input must be guaranteed.

좀 더 상술하면, 개발할 시스템의 특성이 모델에 제대로 반영되어야하며, 모델의 입력은 실제 시스템의 입력과 크게 다르지 않아야 시뮬레이션의 결과를 신뢰할 수 있다. 시뮬레이션을 통한 검증의 유효성을 확보하기 위하여 시뮬레이션 기술을 활용하는 상용 임베디드 시스템 개발 환경에서는 단일 시스템의 모델 중 일부를 실제 하드웨어나 소프트웨어로 대체하여 시뮬레이션을 수행할 수 있는 하드웨어-인-더-루프(Hardware-in-the-Loop) 기능이나 소프트웨어-인-더-루프(Software-in-the-Loop) 기술 등을 제공하고 있다. 이러한 기술을 제공하는 대표적인 제품들로는 매틀랩/시뮬링크(MATLAB/Simulink), 랩뷰(LabVIEW) 및 세이버(Saber)가 있다. 이러한 기술은 실제 시스템의 입력을 모델에 제공함으로써 시뮬레이션을 통한 검증의 유효성을 증가시킬 수 있다. More specifically, the characteristics of the system to be developed should be properly reflected in the model, and the input of the model should not be significantly different from the input of the actual system so that the results of the simulation can be trusted. In a commercial embedded system development environment that utilizes simulation technology to ensure the validity of simulation validation, hardware-in-the-loop (Hardware) can be used to perform simulation by replacing part of the model of a single system with real hardware or software. It offers in-the-loop functionality and software-in-the-loop technology. Typical products that offer this technology include MATLAB / Simulink, LabVIEW and Saber. This technique can increase the validity of verification through simulation by providing the input of the actual system to the model.

그러나 종래의 기술은 단일 임베디드 시스템의 개발을 위한 단일 시스템 시뮬레이션에 대한 것으로, 다양한 이종 시스템이 이루는 대규모 임베디드 시스템에 대한 시뮬레이션을 위해서는 적합하지 않다. However, the conventional technology is for a single system simulation for the development of a single embedded system, and is not suitable for the simulation of a large-scale embedded system composed of various heterogeneous systems.

전술한 바와 같이, 종래기술에 따른 단일 시스템 시뮬레이션 기술은 임베디드 시스템과 물리시스템이 결합된 이종 시스템에 대한 시뮬레이션에는 적합하지 않으므로, 본 발명은 임베디드 시스템과 물리시스템이 결합된 형태인 CPS(Cyber-Physical Systems)에 적합한 시뮬레이션을 구현하기 위한 시뮬레이터를 제공하는 것을 목적으로 한다.As described above, since a single system simulation technique according to the prior art is not suitable for simulation of heterogeneous systems in which an embedded system and a physical system are combined, the present invention provides a CPS (Cyber-Physical) in which an embedded system and a physical system are combined. It is an object of the present invention to provide a simulator for implementing a simulation suitable for the system.

또한, 본 발명은 CPS 시뮬레이터를 이용하는 CPS 시뮬레이션 시스템 및 방법을 제공하는 것을 목적으로 한다.It is also an object of the present invention to provide a CPS simulation system and method using the CPS simulator.

본 발명에 따른 CPS 시뮬레이터는; CPS 노드에 대한 CPS 모델을 생성하는 도메인별 모델 생성 모듈과, 상기 CPS 모델에 하드웨어 정보가 반영된 소프트웨어를 생성하는 소프트웨어 자동 생성 모듈과, 상기 소프트웨어에 대한 정적 코드 분석 및 안전성 검증을 통해 상기 소프트웨어의 신뢰성을 검증하는 소프트웨어 검증 모듈과, 상기 CPS 노드와 상기 CPS 모델에 대한 네트워크 토폴로지를 모델링하여 CPS 네트워크를 구성하는 CPS 토폴로지 구성 모듈과, 실제 하드웨어로 동작시킬 CPS 모델에 대한 소프트웨어를 상기 CPS 노드에 탑재하는 코드 탑재 모듈과, 시뮬레이션 시나리오에 따라 상기 소프트웨어를 시뮬레이션하는 HW/SW 통합 시뮬레이션 모듈을 포함한다.CPS simulator according to the present invention; Model generation module for each domain generating CPS model for CPS node, software automatic generation module for generating software reflecting hardware information in the CPS model, reliability of the software through static code analysis and safety verification of the software And a software verification module for verifying a CPS node, a CPS topology configuration module for constructing a CPS network by modeling a network topology for the CPS node and the CPS model, and software for a CPS model to be operated with actual hardware. A code mounting module and a HW / SW integrated simulation module for simulating the software according to the simulation scenario.

본 발명은 물리시스템과 물리시스템에 기반한 CPS 모델을 연동 시험하는 CPS 시뮬레이터 및 시뮬레이션 기술을 제공함으로써 CPS 모델의 완전성을 높여 궁극적으로는 CPS 모델만으로도 실제 물리시스템들을 대신하여 고신뢰성의 동작 예측을 할 수 있다. 따라서, 기존 IT융합산업분야 (건설, 자동차, 선박, 항공, 의료, 로봇 등)에서 방대한 규모의 시스템 구축에 앞서 고도의 신뢰성을 가지는 시뮬레이션을 통해 저렴한 비용으로 미리 시스템 동작을 예측할 수 있다는 효과를 얻을 수 있다. The present invention provides a CPS simulator and a simulation technology for interlocking testing of a physical system and a CPS model based on the physical system, thereby improving the completeness of the CPS model and ultimately predicting a highly reliable motion in place of the actual physical system using the CPS model alone. have. Therefore, in the existing IT convergence industry (construction, automobile, ship, aviation, medical, robot, etc.), it is possible to predict the system operation in advance at low cost through highly reliable simulation before building a large scale system. Can be.

이하에서는 본 명세서에 첨부한 도면들을 참조하여 본 발명에 따른 CPS 시뮬레이터, CPS 시뮬레이션 시스템 및 방법에 대해 보다 상세히 설명하도록 한다.Hereinafter, a CPS simulator, a CPS simulation system and a method according to the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일실시예에따라 CPS 시뮬레이터를 이용하는 CPS 시뮬레이션 시스템 환경을 개략적으로 나타내고 있다. 1 schematically illustrates a CPS simulation system environment using a CPS simulator in accordance with one embodiment of the present invention.

도 1을 참조하면, CPS 시뮬레이터(100)는 네트워크(예를 들면, 인터넷)를 통해 다수의 시뮬레이션 제어매니저(110)와 연결되며, 또한 CPS 시뮬레이터(100)는 시뮬레이션 제어매니저(110)를 통해 네트워크상의 여러가지 도메인에 걸쳐 존재하는 다수의 CPS 도메인들(120)과 연동될 수 있다. CPS 도메인들(120) 각각은 다수의 CPS 노드들(130, 도 2)을 포함할 수 있으며, 일례로 지능형 빌딩에 존재하는 많은 센서 노드와 제어 시스템들 각각이 CPS 노드(130, 도 2)로서 동작할 수 있다. 이에 따라 각각의 CPS 도메인(120)은 하나 이상의 CPS 제어매니저(110)에 의해 관리될 수 있다. 도 1에서는, CPS 도메인(120)으로 지능형 빌딩, 스마트 하이웨이, 무인비 행기, 지능형 로봇, 스마트 그리드가 도시되어 있지만 이에 한정되는 것은 아니며 다양한 실시예의 시스템들이 CPS 도메인(120)이 될 수 있다. 시뮬레이션 제어매니저(110)는 CPS 시뮬레이터(100)로부터의 제어 메시지를 CPS 노드에 전달하고 또한 CPS 노드로부터의 제어 동작 결과값을 CPS 시뮬레이터(100)에 전달할 수 있다. 이러한 시뮬레이션 제어매니저(110)와 CPS 도메인(120)(즉, CPS 노드)는 유선 또는 무선으로 연결될 수 있다. 이와 같은 시뮬레이션 시스템 환경에서, CPS 시뮬레이터(100)는 시뮬레이션 제어매니저(110)를 통해 CPS 노드들과 연동될 수 있다. Referring to FIG. 1, the CPS simulator 100 is connected to a plurality of simulation control managers 110 through a network (eg, the Internet), and the CPS simulator 100 is also connected to a network through the simulation control manager 110. It may be associated with multiple CPS domains 120 that exist across various domains on the network. Each of the CPS domains 120 may include a number of CPS nodes 130 (FIG. 2), for example, each of the many sensor nodes and control systems present in an intelligent building are referred to as CPS nodes 130 (FIG. 2). It can work. Accordingly, each CPS domain 120 may be managed by one or more CPS control manager 110. In FIG. 1, an intelligent building, a smart highway, a drone, an intelligent robot, and a smart grid are illustrated as the CPS domain 120, but the embodiments of the present disclosure may be the CPS domain 120. The simulation control manager 110 may transmit a control message from the CPS simulator 100 to the CPS node and also transmit a control operation result value from the CPS node to the CPS simulator 100. The simulation control manager 110 and the CPS domain 120 (that is, the CPS node) may be connected by wire or wirelessly. In such a simulation system environment, the CPS simulator 100 may be linked with the CPS nodes through the simulation control manager 110.

도 2는 본 발명의 일실시예에 따른 CPS 시뮬레이터(100), 다수의 시뮬레이션 제어매니저(110), 그리고 다수의 CPS 노드(130)로 구성된 CPS 시뮬레이션 시스템의 구성을 보다 상세히 나타내는 블럭도이다. 2 is a block diagram illustrating in more detail the configuration of a CPS simulation system composed of a CPS simulator 100, a plurality of simulation control managers 110, and a plurality of CPS nodes 130 according to an embodiment of the present invention.

도 2를 참조하면, 시뮬레이션을 기반으로한 CPS 개발 프로세스에서 핵심적인 역할을 수행하는 본원발명에 따른 CPS 시뮬레이터(100)는 도메인별 모델 생성 모듈 (210), 소프트웨어 자동 생성 모듈(220), 소프트웨어 검증 모듈(230), CPS 토폴로지 구성 모듈(240), 코드 탑재 모듈(250), 그리고 HW/SW 통합 시뮬레이션 모듈 (260)을 포함한다.2, the CPS simulator 100 according to the present invention that plays a key role in the simulation-based CPS development process is the domain model generation module 210, software automatic generation module 220, software verification Module 230, CPS topology construction module 240, code-mounting module 250, and HW / SW co-simulation module 260.

도메인별 모델 생성 모듈(210)은 다양한 CPS 도메인(120, 도 1)(예를 들어, 방재, 로봇, 자동차, 선박, 지능형 빌딩 등)에 존재하는 다양한 CPS 노드들(130)에 적합한 모델링 방식을 적용하여 최적의 모델을 제공할 수 있다. 모델링 방식은 CPS 도메인에 따라서 달라질 수 있다. 예를 들어, 네트워크 모델의 경우 확률 및 큐잉모델을 따르며, 컴퓨팅 시스템의 경우 산술적 모델을 따른다. 도메인별 모델 생성 모듈(210)은 적용하고자 하는 도메인에 최적화된 모델링 방식을 표준모델로서 제공한다. 이로 인해 프로그래머는 제공된 표준모델을 기반으로 특화된 형태의 동작이나 파라미터를 설정하거나 프로그래밍할 수 있다. 정형화된 형태의 프로그래밍 언어를 통해 CPS 모델이 자동 생성되고, 이 때 생성되는 CPS 모델의 소프트웨어는 기초 모델로부터 생성되므로 하드웨어 종속적인 코드, 예를 들어 CPU 종류, 디바이스 드라이버 혹은 운영체제 파라미터 등은 반영되지 않은 형태이다.The domain-specific model generation module 210 may select a modeling method suitable for various CPS nodes 130 existing in various CPS domains 120 (FIG. 1) (eg, disaster prevention, robots, cars, ships, intelligent buildings, etc.). It can be applied to provide an optimal model. The modeling method may vary depending on the CPS domain. For example, the network model follows the probabilistic and queuing model, and the computing system follows the arithmetic model. The domain-specific model generation module 210 provides a modeling method optimized for a domain to be applied as a standard model. This allows the programmer to set or program specialized types of behavior or parameters based on the provided standard model. The CPS model is automatically generated through a formal programming language, and the software of the generated CPS model is generated from the base model so that hardware-dependent code such as CPU type, device driver, or operating system parameters are not reflected. Form.

소프트웨어 자동생성 모듈(220)은 프로그래머의 하드웨어 종속성 설정에 따라서 하드웨어 종속적인 부분들을 모두 고려한 실제 하드웨어 시스템, 즉 CPS 노드(130)에 탑재하여 시스템을 운영할 수 있는 코드 수준으로 CPS 모델의 소프트웨어를 자동 생성한다. The software auto-generation module 220 automatically installs the CPS model software at a code level that can be mounted on a real hardware system, that is, the CPS node 130, in consideration of all hardware dependent parts according to the programmer's hardware dependency setting. Create

소프트웨어 검증 모듈(230)은 소프트웨어 자동 생성 모듈(220)에 의해 자동생성된, 즉 하드웨어 종속성이 반영된 소프트웨어에 대해서 정적 코드 분석 및 안전성 검증 과정을 통해서 소프트웨어의 신뢰성을 검증한다. 이 과정에서 기존 정적 코드 분석과의 차이점은 기존 방식은 하나의 소프트웨어에 대해서 신뢰성 검증을 수행하는데 비해, CPS에서는 도메인별 모델 생성 모듈(210)에서 생성되며 서로 연관성을 가지는 복수개의 CPS 모델들 각각에 대한 소프트웨어가 상호 연관성 및 동시성을 가지고 동작하므로, 복수개의 CPS 모델에 대한 소프트웨어들이 동시에 수행되는 과정에 대해서 소프트웨어 신뢰성 검증을 수행한다.The software verification module 230 verifies the reliability of the software automatically generated by the software automatic generation module 220, that is, through the static code analysis and safety verification process for the software reflecting the hardware dependency. The difference from the existing static code analysis in this process is that the conventional method performs reliability verification for one software, whereas in the CPS, the domain-specific model generation module 210 is generated in each of a plurality of CPS models that are related to each other. Since software for each other operates with correlation and concurrency, software reliability verification is performed for a process of simultaneously executing software for a plurality of CPS models.

CPS 토폴로지 구성 모듈(240)은 가상 환경에서 모델 기반의 CPS 노드들과 네트워크 토폴로지를 모델링하여 전체적인 CPS 네트워크를 구성한다. 이 과정에서는 도메인별 모델 생성 모듈(210)에 의해서 생성된 CPS 모델이 적용된다. 또한, CPS 모델 중 실제 하드웨어로 동작시킬 CPS 모델에 대해서는 별도의 표시를 통해서 해당 모델이 실제 하드웨어로 대체되어 시뮬레이션될 것임을 표시한다. The CPS topology configuration module 240 models the CPS nodes and the network topology based on the model in the virtual environment to configure the overall CPS network. In this process, the CPS model generated by the domain-specific model generation module 210 is applied. In addition, the CPS model to be operated by the actual hardware among the CPS model through a separate display indicates that the model will be replaced with the actual hardware to be simulated.

코드 탑재 모듈(250)은 소프트웨어 검증 모듈(230)에 의해 검증이 완료되고실제 하드웨어로 동작시킬 CPS 모델에 대한 소프트웨어를 CPS 시뮬레이터(100)와 네트워크로 연결된 CPS 노드(130)에 탑재한다. 이로써 CPS 시뮬레이터(100)에는 CPS 노드의 동작을 모방한 소프트웨어적인 모델과 실제 CPS 하드웨어가 동시에 장착되어 시뮬레이션 시나리오에 따라 모의실험을 수행할 수 있는 환경이 갖추어진다. 이 때, 실제 하드웨어인 CPS 노드(130)는 시뮬레이터에 직접 연결되거나 또는 네트워크를 통해 원격으로 연결될 수도 있다. 그러나, 네트워크 토포톨로지에 따라서 실제 CPS 노드(130)가 경험하는 전송지연 등의 네트워크 특성은 CPS 시뮬레이터 (100)에 의해 가상적으로 이뤄지고 실제 CPS 노드(130)에게 반영됨으로써 마치 실제 현장에 투입된 것과 같은 효과를 얻을 수 있다.The code mounting module 250 mounts the software for the CPS model that is verified by the software verification module 230 and operates with real hardware, on the CPS node 130 networked with the CPS simulator 100. As a result, the CPS simulator 100 is equipped with a software model that simulates the operation of the CPS node and the actual CPS hardware at the same time, so that the environment can be simulated according to the simulation scenario. At this time, the actual hardware CPS node 130 may be directly connected to the simulator or remotely via a network. However, according to the network topology, the network characteristics such as transmission delay experienced by the actual CPS node 130 are virtually made by the CPS simulator 100 and reflected to the actual CPS node 130, so as to be put into actual sites. The effect can be obtained.

HW/SW 통합 시뮬레이션 모듈(260)은 시뮬레이션 시나리오에 따라 동시에 수많은 CPS 노드들(가상 CPS 모델 및 실제 CPS 노드 포함)을 결합시켜 자동생성된 소프트웨어가 CPS의 근본적인 특성인 실시간성, 안정성, 신뢰성 등을 만족시키는지를 검증한다. 시뮬레이션 과정에서, 시뮬레이션 시나리오에 의해 발생되는 CPS 노드(130)에 대한 명령은 CPS 통신 인터페이스(200)에 의해서 동시에 여러 시뮬레이션 제어매니저들(110)로 분배된다. 또한, 자동생성된 소프트웨어는 도메인별 모델 생성 모듈(210)에 의해서 정형적으로 생성된 코드 및 소프트웨어 자동 생성 모 듈(220)에 의해서 하드웨어 특화된 파라미터가 반영된 코드의 결합체이므로, 시뮬레이션 과정에 있어서 오동작이 발생하면 이러한 오동작이 모델링 과정에 따른 코드의 문제인지 또는 하드웨어 특화 과정에 따른 코드의 문제인지를 파악하는 논리 로직을 가진다. The HW / SW integrated simulation module 260 combines a number of CPS nodes (including virtual CPS models and real CPS nodes) at the same time according to the simulation scenario, so that the auto-generated software provides the fundamental characteristics of CPS: real-time, stability, and reliability. Verify that it satisfies In the simulation process, commands to the CPS node 130 generated by the simulation scenario are distributed to the various simulation control managers 110 simultaneously by the CPS communication interface 200. In addition, since the automatically generated software is a combination of codes generated by the domain-specific model generation module 210 and codes with hardware-specific parameters reflected by the software automatic generation module 220, a malfunction in the simulation process may occur. When it occurs, it has logic logic to determine whether the malfunction is a code problem according to a modeling process or a code problem according to a hardware specialized process.

시뮬레이션 제어매니저(110)는 CPS 통신 인터페이스(200)를 통해 HW/SW 통합 시뮬레이션 모듈(260)로부터 전달된 CPS 제어 메시지(명령)를 자신이 담당하는 CPS 도메인의 CPS 노드(130)에 전달한다. 도 2를 참조하여 예를 들면, 시뮬레이션 제어매니저 1은 CPS 노드 1에 CPS 제어 메시지(명령)을 전달하고, 시뮬레이션 제어매니저 n 은 CPS 노드 N-1 및 CPS 노드 N 에 제어 메시지를 전달 할 수 있다.The simulation control manager 110 transmits the CPS control message (command) transmitted from the HW / SW integrated simulation module 260 through the CPS communication interface 200 to the CPS node 130 of the CPS domain in charge thereof. For example, with reference to FIG. 2, the simulation control manager 1 may transmit a CPS control message (command) to the CPS node 1, and the simulation control manager n may transmit a control message to the CPS node N-1 and the CPS node N. .

CPS 노드(130)는 CPS 제어 메시지에 따라 제어한 결과 또는 동작한 결과를 시뮬레이션 제어매니저(110)에 피드백한다. 일실시예에서, CPS 노드(130)는 구동부(액츄에이터)와 센서부를 포함하며, 구동부는 CPS 제어 메시지에 따라 동작/제어되며 그 동작/제어 결과가 센서부에 의해 검출될 수 있다. CPS 노드(130)로부터 피드백된 동작/제어 결과를 수신한 시뮬레이션 제어 메니져(110)는 정의된 알고리즘에 따라 불필요한 결과는 삭제하고 중복되거나 병합가능한 결과들을 결합시킨다. 또한, 시뮬레이션 제어 메니져(110)는 결합된 결과들을 메시지 형태로 만들어 CPS 시뮬레이터(100)로 전송한다. CPS 통신 인터페이스(200)를 통해 HW/SW 통합 시뮬레이션 모듈(260)에 전달된 결과들은 HW/SW 통합 시뮬레이션 모듈(260)에 의해 수행되는 시뮬레이션 결과에 반영된다. 전술한 과정은 실제 물리적인 CPS 노드(130)들에 해당하는 프로시져이며, CPS 노드(130)에 대한 논리적인 CPS 모델들의 동작은 HW/SW 통합 시뮬레이션 모듈(260)의 내부 로직에 의해 계산된다. The CPS node 130 feeds back the result of the control or the operation according to the CPS control message to the simulation control manager 110. In one embodiment, the CPS node 130 includes a drive unit (actuator) and a sensor unit, the drive unit is operated / controlled according to the CPS control message and the operation / control results can be detected by the sensor unit. Receiving the feedback of the operation / control feedback from the CPS node 130, the simulation control manager 110 combines duplicate or mergeable results and deletes unnecessary results according to a defined algorithm. In addition, the simulation control manager 110 transmits the combined results in a message form to the CPS simulator 100. The results transmitted to the HW / SW integrated simulation module 260 through the CPS communication interface 200 are reflected in the simulation results performed by the HW / SW integrated simulation module 260. The above-described process is a procedure corresponding to actual physical CPS nodes 130, and the operation of logical CPS models for the CPS node 130 is calculated by the internal logic of the HW / SW integrated simulation module 260.

전술한 바와 같이, 본 발명에 따르면 HW부분인 실제 CPS 노드(130)들과 SW부분인 CPS 노드(130)들에 대한 CPS 모델들이 상호 연동될 수 있다. 이로 인해, 광범위한 실제 영역에서의 CPS 노드들이 어떻게 동작할지 예측하고, 시뮬레이션 과정에서 발생된 오류가 CPS 모델 및 코드 자동생성에 재반영됨으로써 완벽하고 신뢰성있는 CPS 모델을 구현할 수 있다.As described above, according to the present invention, the CPS models for the actual CPS nodes 130 which are the HW part and the CPS nodes 130 which are the SW part may be interoperable. This makes it possible to predict how CPS nodes behave in a wide range of real worlds, and to ensure that errors generated during the simulation are reflected back into the CPS model and code generation automatically, resulting in a complete and reliable CPS model.

도 3은 본 발명에 따른 CPS 시뮬레이터(100)의 동작을 중심으로 한 CPS 시뮬레이션 구현 방법의 흐름도를 나타내고 있다.3 shows a flowchart of a CPS simulation implementation method centering on the operation of the CPS simulator 100 according to the present invention.

도 1 내지 3을 참조하면, CPS 시뮬레이터(100)는 CPS 시뮬레이터(100)에 네트워크를 통해 연결된 CPS 도메인(120)과 관련된 데이터/정보를 기반으로 하여 CPS 노드(130)들에 적합한 모델링 방식을 적용하여 최적의 CPS 모델을 자동생성한다(단계100). 단계 100에서 자동생성된 CPS 모델의 소프트웨어에 하드웨어 종속적인 부분들이 반영된 CPS 모델의 소프트웨어를 자동생성한다(단계200). 단계 200에서 생성된 CPS 모델의 소프트웨어에 대해서 정적 코드 분석 및 안전성 검증 과정을 수행하여 소프트웨어의 신뢰성을 검증한다(단계300). 그 다음 CPS 시뮬레이터(100)는 CPS 모델 기반의 CPS 노드들과 네트워크 토폴로지를 모델링하여 전체적인 CPS 네트워크를 구성한다(단계400). 검증이 완료되고 실제 하드웨어로 동작시킬 CPS 모델에 대한 소프트웨어를 CPS 노드(130)에 탑재한다(단계500). 그리고 CPS 시뮬레이터(100)는 시뮬레이션 시나리오에 따라 자동생성된 소프트웨어를 시뮬레이션한다(단계600). CPS 노드(130)가 시뮬레이션 시나리오에 따라 제어한 결과 또는 동작한 결과가 CPS 시뮬레이터(100)로 피드백되고 CPS 시뮬레이터(100)는 피드백된 결과 데이터를 분석한다(단계700). 그리고 CPS 시뮬레이터(100) 상에서의 CPS 모델의 동작과 자동생성된 소프트웨어를 탑재한 실제 CPS 노드(130)의 동작간에 차이가 발생하는지 판단한다(단계800). CPS 시뮬레이터(100) 상에서의 CPS 모델의 동작과 자동생성된 소프트웨어를 탑재한 실제 CPS 노드(130)의 동작간에 차이가 발생하는 경우에는 단계100 으로 되돌아가고, 이러한 차이가 제거되도록 시뮬레이션 모델의 파라미터 또는 기능을 재구성한다. CPS 시뮬레이터(100) 상에서의 CPS 모델의 동작과 자동생성된 소프트웨어를 탑재한 실제 CPS 노드(130)의 동작간에 차이가 발생하지 않는다면 시뮬레이션 시나리오에 따라 시뮬레이션을 종료한다.1 to 3, the CPS simulator 100 applies a modeling method suitable to the CPS nodes 130 based on data / information related to the CPS domain 120 connected through a network to the CPS simulator 100. To automatically generate an optimal CPS model (step 100). In step 100, the software of the CPS model reflecting hardware-dependent parts of the software of the CPS model automatically generated is automatically generated (step 200). The reliability of the software is verified by performing a static code analysis and safety verification process on the software of the CPS model generated in step 200 (step 300). Next, the CPS simulator 100 models a CPS model-based CPS nodes and a network topology to construct an overall CPS network (step 400). After the verification is completed and the software for the CPS model to be operated with the actual hardware is mounted on the CPS node 130 (step 500). The CPS simulator 100 simulates the automatically generated software according to the simulation scenario (step 600). The result of the control or operation of the CPS node 130 according to the simulation scenario is fed back to the CPS simulator 100, and the CPS simulator 100 analyzes the fed back result data (step 700). Then, it is determined whether a difference occurs between the operation of the CPS model on the CPS simulator 100 and the operation of the actual CPS node 130 equipped with the automatically generated software (step 800). If there is a difference between the operation of the CPS model on the CPS simulator 100 and the operation of the actual CPS node 130 with the auto-generated software, the process returns to step 100 and the parameters of the simulation model or Reconfigure the function. If there is no difference between the operation of the CPS model on the CPS simulator 100 and the operation of the actual CPS node 130 equipped with the automatically generated software, the simulation is terminated according to the simulation scenario.

도 4는 본 발명에 따른 CPS 시뮬레이션 시스템의 일실시예를 나타내고 있으며, CPS 시뮬레이터가 실제 CPS 노드들(예를 들면, 건물내의 센서들)에 대한 CPS 모델을 생성하고 건물내에 화재상황이 발생한 경우에 대한 시뮬레이션 시나리오를 수행하는 것을 나타내고 있다.4 shows an embodiment of the CPS simulation system according to the present invention, in which the CPS simulator generates a CPS model for actual CPS nodes (eg sensors in a building) and a fire situation occurs in the building. The simulation scenario is shown.

전술한 실시예들은 본 발명을 보다 상세히 설명하기 위해 기술한것이며 이러한 실시예들로 본 발명을 제한하려는 의도가 아님을 주의하여야 한다. 또한, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면 본 발명의 의도 및 범위에 포함되는 다양한 변경, 변화가 가능함을 이해할 수 있을 것이다.It should be noted that the above-described embodiments are described to explain the present invention in more detail and are not intended to limit the present invention to these embodiments. In addition, one of ordinary skill in the art to which the present invention pertains, it will be understood that various modifications and changes that are included in the intention and scope of the present invention are possible.

도 1은 본 발명의 일실시예에따라 CPS 시뮬레이터를 이용하는 CPS 시뮬레이션 시스템 환경을 개략적으로 나타내고 있다. 1 schematically illustrates a CPS simulation system environment using a CPS simulator in accordance with one embodiment of the present invention.

도 2는 본 발명의 일실시예에 따른 CPS 시뮬레이터(100), 다수의 시뮬레이션 제어매니저(110), 그리고 다수의 CPS 노드(130)로 구성된 CPS 시뮬레이션 시스템의 구성을 보다 상세히 나타내는 블럭도이다. 2 is a block diagram illustrating in more detail the configuration of a CPS simulation system composed of a CPS simulator 100, a plurality of simulation control managers 110, and a plurality of CPS nodes 130 according to an embodiment of the present invention.

도 3은 본 발명에 따른 CPS 시뮬레이터(100)의 동작을 중심으로 한 CPS 시뮬레이션 구현 방법의 흐름도를 나타내고 있다.3 shows a flowchart of a CPS simulation implementation method centering on the operation of the CPS simulator 100 according to the present invention.

도 4는 본 발명에 따른 CPS 시뮬레이션 시스템의 일실시예를 나타내고 있다.4 shows an embodiment of a CPS simulation system according to the present invention.

Claims (1)

CPS(cyber physical systems) 개발을 위한 CPS 시뮬레이터에 있어서,In the CPS simulator for the development of cyber physical systems, CPS 노드에 대한 CPS 모델을 생성하는 도메인별 모델 생성 모듈과,A domain-specific model generation module for generating CPS models for CPS nodes; 상기 CPS 모델에 하드웨어 정보가 반영된 소프트웨어를 생성하는 소프트웨어 자동 생성 모듈과,A software automatic generation module for generating software reflecting hardware information in the CPS model; 상기 소프트웨어에 대한 정적 코드 분석 및 안전성 검증을 통해 상기 소프트웨어의 신뢰성을 검증하는 소프트웨어 검증 모듈과,A software verification module for verifying the reliability of the software through static code analysis and safety verification of the software; 상기 CPS 노드와 상기 CPS 모델에 대한 네트워크 토폴로지를 모델링하여 CPS 네트워크를 구성하는 CPS 토폴로지 구성 모듈과,A CPS topology configuration module for constructing a CPS network by modeling a network topology for the CPS node and the CPS model; 실제 하드웨어로 동작시킬 CPS 모델에 대한 소프트웨어를 상기 CPS 노드에 탑재하는 코드 탑재 모듈과,A code mounting module that mounts software on the CPS node for the CPS model to operate with real hardware; 시뮬레이션 시나리오에 따라 상기 소프트웨어를 시뮬레이션하는 HW/SW 통합 시뮬레이션 모듈HW / SW integrated simulation module to simulate the software according to the simulation scenario 을 포함하는, CPS 시뮬레이터.Including, CPS simulator.
KR1020090120914A 2009-12-08 2009-12-08 CPS simulator for developing a dependable CPS, system and method using that CPS simulator KR101136408B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090120914A KR101136408B1 (en) 2009-12-08 2009-12-08 CPS simulator for developing a dependable CPS, system and method using that CPS simulator

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090120914A KR101136408B1 (en) 2009-12-08 2009-12-08 CPS simulator for developing a dependable CPS, system and method using that CPS simulator

Publications (2)

Publication Number Publication Date
KR20110064360A true KR20110064360A (en) 2011-06-15
KR101136408B1 KR101136408B1 (en) 2012-04-18

Family

ID=44397812

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090120914A KR101136408B1 (en) 2009-12-08 2009-12-08 CPS simulator for developing a dependable CPS, system and method using that CPS simulator

Country Status (1)

Country Link
KR (1) KR101136408B1 (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103714208A (en) * 2013-12-25 2014-04-09 西北工业大学 Method for conducting modeling through coordination of structural models and behavior models of scenario-driven CPS system
US9377968B2 (en) 2013-11-13 2016-06-28 Sandisk Technologies Llc Method and system for using templates to communicate with non-volatile memory
US9390033B2 (en) 2013-11-13 2016-07-12 Sandisk Technologies Llc Method and system for communicating with non-volatile memory via multiple data paths
US9430411B2 (en) 2013-11-13 2016-08-30 Sandisk Technologies Llc Method and system for communicating with non-volatile memory
CN107885487A (en) * 2017-11-20 2018-04-06 广西师范大学 The method that a kind of test of information physical emerging system and need satisfaction are examined
US10054921B2 (en) 2014-03-04 2018-08-21 Electronics And Telecommunications Research Institute Apparatus and method for adaptively controlling a target system according to operating environment
KR20190128504A (en) * 2018-05-08 2019-11-18 건국대학교 산학협력단 Apparatus and method for modeling three dimensional design for cyber-physical system development
KR20210002266A (en) * 2019-06-28 2021-01-07 (주) 유비씨 Smart factory cpps system utilizing centric opc-ua server
KR20220015662A (en) * 2020-07-31 2022-02-08 엘아이지넥스원 주식회사 Network Modeling and Simulation Device for being modularized functionally and associated mutually, and Method thereof

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102225449B1 (en) * 2019-05-14 2021-03-09 충북대학교 산학협력단 System and method for writing interaction specifiation and for verificating safety of collaborating cyber-physical systems

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09223041A (en) * 1996-02-16 1997-08-26 Nippon Steel Corp Development supporting device for software
JP4743944B2 (en) * 2000-08-25 2011-08-10 鎮男 角田 Simulation model creation method and system and storage medium
KR101070431B1 (en) * 2008-12-22 2011-10-06 한국전자통신연구원 Physical System on the basis of Virtualization and Resource Management Method thereof

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9377968B2 (en) 2013-11-13 2016-06-28 Sandisk Technologies Llc Method and system for using templates to communicate with non-volatile memory
US9390033B2 (en) 2013-11-13 2016-07-12 Sandisk Technologies Llc Method and system for communicating with non-volatile memory via multiple data paths
US9430411B2 (en) 2013-11-13 2016-08-30 Sandisk Technologies Llc Method and system for communicating with non-volatile memory
CN103714208A (en) * 2013-12-25 2014-04-09 西北工业大学 Method for conducting modeling through coordination of structural models and behavior models of scenario-driven CPS system
US10054921B2 (en) 2014-03-04 2018-08-21 Electronics And Telecommunications Research Institute Apparatus and method for adaptively controlling a target system according to operating environment
CN107885487A (en) * 2017-11-20 2018-04-06 广西师范大学 The method that a kind of test of information physical emerging system and need satisfaction are examined
KR20190128504A (en) * 2018-05-08 2019-11-18 건국대학교 산학협력단 Apparatus and method for modeling three dimensional design for cyber-physical system development
KR20210002266A (en) * 2019-06-28 2021-01-07 (주) 유비씨 Smart factory cpps system utilizing centric opc-ua server
KR20220015662A (en) * 2020-07-31 2022-02-08 엘아이지넥스원 주식회사 Network Modeling and Simulation Device for being modularized functionally and associated mutually, and Method thereof

Also Published As

Publication number Publication date
KR101136408B1 (en) 2012-04-18

Similar Documents

Publication Publication Date Title
KR101136408B1 (en) CPS simulator for developing a dependable CPS, system and method using that CPS simulator
Dakwat et al. System safety assessment based on STPA and model checking
US7895025B2 (en) Validation method for embedded systems
US8930758B2 (en) Automated testing of mechatronic systems
US8954920B2 (en) Apparatus for developing embedded software and a process for making the same
CN103699743B (en) CPS (cyber physical system) modeling and verifying method based on conversion from CPS-ADL (architecture description language) model into hybrid program
KR101862221B1 (en) Flight control law simulation method and apparatus
Wotawa et al. Quality assurance methodologies for automated driving.
Ruchkin et al. Eliminating inter-domain vulnerabilities in cyber-physical systems: An analysis contracts approach
Zhao et al. Safety assessment of the reconfigurable integrated modular avionics based on STPA
Battram et al. A Modular Safety Assurance Method considering Multi-Aspect Contracts during Cyber Physical System Design.
CN103425055A (en) Semi-virtual functional test device and method for control system
Bennett et al. Eliminating embedded software defects prior to integration test
Gleirscher et al. Complete test of synthesised safety supervisors for robots and autonomous systems
Wenger et al. Cloud based monitoring of timed events for industrial automation
Kaijser et al. Towards simulation-based verification for continuous integration and delivery
Farkas et al. An integrative approach for embedded software design with UML and Simulink
US20170220712A1 (en) Computer-implemented method for simulating a restbus control unit network
Santos et al. On the timing analysis at automotive real-time embedded systems
Hussein et al. A Model-driven Approach for Validating Safe Adaptive Behaviors
Mariani et al. Recent advances and trends on automotive safety
US20210141710A1 (en) Development support device
Wainer et al. Model-based development of embedded systems with RT-CD++
US10488835B2 (en) Method for configuring a tester equipped for testing an electronic control unit
Illarramendi et al. MDE based IoT Service to enhance the safety of controllers at runtime

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20160330

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170327

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee