티스토리 뷰

원래의 컴퓨터는 숫자와 정보를 다루는, 홀로 동작하는 기계였다. 요즘도 컴퓨터는 이러한 용도로 사용되지만 특별히 임베디드 시스템은 보다 더 "연결의 용도"를 가진다. 임베디드 시스템은 전자 제품이나 기계 제품 내부에 특별한 기능을 위해 결합되는 하드웨어와 소프트웨어로 구성된다. 사이버물리시스템(Cyber-Physical System; CPS)은 임베디드 시스템의 일반화된 형태로, 서로 통신할 수 있고 센서와 구동기(actuator)를 통해 물리 세계와 상호 작용하는 연산 장치들의 집합이다. CPS 설계의 목표는 제어(control), 연산(computing), 통신(communication) 기능의 통합적 구현이며, 스마트빌딩, 의료장치, 자율주행 차량, 항공, 공장 등 다양한 응용의 형태로 나타난다.

 

사이버물리시스템의 주요 특성 5가지

  • 반응형 처리(Reactive computation): 전통적인 컴퓨터 프로그램은 어떤 입력이 주어지면 일회성으로 출력을 생성한다. 하지만 반응형 시스템은 입력과 출력을 통해 지속적으로 환경과 상호 작용한다. 전형적인 예로 자동차의 크루즈 컨트롤러를 들 수 있다. 크루즈 컨트롤러 프로그램은 크루즈 기능을 켜고 끄는 명령이나 속도를 변경하는 명령을 입력으로 받고, 그에 반응하여 엔진 스로틀(engine throttle)에 가하는 힘을 조절해야 한다. 이러한 시스템의 동작은 당연하게도 관찰되는 입력과 출력의 연속으로 표현되며, 이 일련의 입출력이 원하는 결과인지를 가지고 시스템의 정확성을 판단한다.
  • 병행성(Concurrency): 명령들이 순차적으로 실행되던 전형적인 연산 모델에서와는 달리 CPS에서는 여러 개의 연산들이 병행적으로 처리되고 이들 사이에 정보의 교환이 일어나면서 목표를 달성하게 된다. 예를 들어 범죄자의 은신처를 수색하는 로봇 수색팀을 만든다면 로봇들은 여러 개의 센서와 프로세서를 통해 얻은 데이터를 기반으로 내부 지도를 만들고 이 지도에 기반한 각 로봇의 이동 계획 수립과 실행을 병렬적으로 진행할 것이다. 또한 개별 로봇의 이동 작업도 장애물을 피하는 지역적 계획과 목적지까지의 최적 경로를 찾는 전체적 계획으로 나누어 병렬적으로 수행될 수 있다.
     분산-병렬 연산 모델 개념과 설계 원리를 이해하는 것은 CPS를 위해 매우 중요하다. 병행 연산 모델은 크게 두 가지 모델, 즉 동기 모델(synchronous model)과 비동기 모델(asynchronous model)로 나눌 수 있다. 동기 모델에서는 모든 연산이 논리적 순서에 따라 진행되고 한 구성 요소가 실행되는 동안 다른 요소들은 잠김(lock) 상태에 있게 된다. 반면 비동기 모델에서는 모든 구성 요소들이 각자의 속도에 따라 수행되면서 정보를 교환한다. 로봇 수색팀의 예에서 각 로봇들은 비동기적으로 각자 임무를 수행하지만, 한 로봇 내부의 연산들은 논리적인 순서에 따라 동기화되는 방식으로 수행될 수 있다.
  • 피트백을 통한 물리 세계 제어(Feedback control of the physical world): 제어시스템(control system)은 센서를 통해 환경 정보를 얻고 구동기(actuator)를 통해 환경에 영향을 미치는 방식으로 물리 세계와 상호작용 한다. 예로, 자동차의 크루즈 컨트롤러(cruise controller)는 차량의 속도를 지속적으로 살피면서 정해진 속도를 유지할 수 있도록 스로틀의 힘을 조절한다. 이 컨트롤러는 CPS의 구성 요소이며 이러한 계산 장치와 물리 세계의 통합이 CPS를 일반적인 컴퓨터와 구별되는 특성이다.
     물리 세계를 제어하기 위해서는 물리량의 변화를 모델링할 수 있어야 한다. 즉, 엔진 스로틀의 힘을 결정하기 위해서는 스로틀에 가하는 힘에 따라 자동차의 속도가 어떻게 변화하는지 모델링 할 수 있어야 하는 것이다. 동적 제어시스템에 대한 이론은 CPS의 바탕이 되는데, 전통적인 제어 이론은 연속시간(continuous-time) 시스템에 집중되어 있다. CPS의 컨트롤러는 이산적(discrete) 소프트웨어들고 구성되고, 이들 소프트웨어는 여러가지 모드에서 동작하는 병행 요소들을 구현하며 연속시간으로 변화하는 물리 환경과 상호작용한다. 이처럼 이산적인 변화와 연속적인 변화가 혼재된 시스템은 하이브리드 시스템(hybrid systems)이라고 한다.
  • 실시간 처리(Real-time computation): 실시간 처리는 CPS의 매우 중대한 요소이다. 크루즈 컨트롤러가 기능을 만족시키기 위해서는 시스템 구성 요소들이 계산과 통신에 필요로 하는 시간을 반드시 고려해야 한다. 지연 시간 모델링, 지연 시간이 올바른 동작과 성능에 미치는 영향에 대한 이해, 시간 의존적인 협력 프로토콜과 자원 배분 전략은 시스템의 정확한 예측 능력을 보장하기 위한 요소들이다.
  • 안전최우선 응용 (Safety-critical applications): 시스템의 안전은 성능이나 개발 비용 등 어떠한 요소들보다 중요하다. 항공기, 자동차, 의료서비스들을 위한 장치들은 모두 CPS의 중요한 예인데, 이들은 모두 잘못된 결정으로 인한 손실을 되돌릴 수 없다는 공통점이 있다. 따라서 "설계-구현-테스트-디버깅"이라는 일반적인 개발 과정은 충분하지 않다. 시스템의 정확한 요구사항을 수학적으로 기술하고, 시스템이 사용될 환경과 시스템 구성 요소들을 모델링하고, 분석 도구를 활용하여 시스템 모델이 요구사항을 만족시키는지 검사해야 한다.

 

[참고] Rajeev Alur, "Principles of Cyber-Physical Systems," The MIT Press, 2015.
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/08   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
글 보관함