face & 표준화kiise.or.kr/swcs/2014/data/5-3.pdf · 페이스 • 플랫폼 독립적 face...
TRANSCRIPT
FACE & 표준화
현종수 선임연구원
2
한국항공우주산업 소개
• 영문명칭: Korea Aerospace Industries, Ltd. 1999년 설립
• 고정익
• 회전익
• 무인기
• 항공기 구조물 / 개조개량사업 / 정비사업 / 훈련체계사업 / 위성사업
• 항전 S/W 필요성
• 항전 시스템 추세 - 통합 모듈화 (Integrated Modular Avionics, IMA)
• 군용 S/W 표준 플랫폼소개 - Future Avionics Capability Environment (FACE)
• IMA연구과제의 Primary Flight Display (PFD) 적용 가능 사례
주요내용
연도별 전체 비용 중 항전 S/W 비용 - ’60년대 F-4 : 약 10% → ’00년대 F-35 : 40% 이상
Prices (%)
10%
’80
30%
50%
’60
20%
0%
40%
’00 ’10 ’90 ’70
F-4
F-15A F-14
F-16 F-15C
F-18
F-16C
F-22
F-35(JSF)
F-16BLK60
더 많은 기능과 요구사항들을 충족하기 위한 항전 시스템의 첨단 기술이 요구됨에 따라
항전S/W의 복잡성이 증가됨
항전 S/W 추세
기능성 / 요구사항 / 복잡도
5
항공전자 추세: 통합모듈화
무게, 공간, 전력사용량 줄임
통합모듈화 사례
Traditional LRU
통합모듈 형 항공전자 (Integrated Modular Avionics: IMA)
• 보잉사 787 드림라이너 • 항공전자장비중 2,000 파운드 감량
• A에어버스 A380 • 항전유닛을 반으로 줄임
군용 S/W 표준 플랫폼 - FACE
• S/W 플랫폼은 S/W의 구성요소를 정의하고 각 구성요소들 사이의 유기적인
관계를 표현하여, 소프트웨어의 설계 및 구현, 업그레이드를 통제하는 지침
과 원칙임
• S/W 플랫폼은 응용 S/W 들에서 공통으로 쓰이는 일반적인 기능을 제공하
기 위한 추상화 계층을 포함함으로써, 기 개발된 소프트웨어 플랫폼을 활용
하여 응용 소프트웨어에 특화된 코드의 구현이 가능함에 따라 개발 효율 및
이식성을 향상 시킬 수 있음
• 미 해군이 주축으로 구성된 컨소시엄에서 미군 항공 소프트웨어에 공통으로
사용 가능한 표준 소프트웨어플랫폼을 정의
• Future Airborne Capability Environment (FACE): 군용 S/W 표준 플랫폼
• FACE는 개방형시스템: 개발기간 단축, 이종 플랫폼간 S/W 재사용
– 기술적 명세서
– 비즈니스(경제산업적) 모델
Why FACE?
• 군용항공전자 더 많은 S/W기능을 처리 하는 추세 -> 복잡도 증가
– 새로운 개발에 따른 증가된 개발기간 축소 필요 – 유지보수 /기능추가 등의 어려움 해소
• More capability sooner on more platforms (다음 페이지 참조)
– S/W supplier 선택폭 확장 – 상호 운용/호환성확장 – 기존 시스템과 미래시스템 혼용사용 가능
• 기타
– 민간 S/W 라이브러리 사용가능
– 안전 인증 문서 및 산출물 지원받기 용이
FACE의 응용 S/W 재사용성/이식성
응용프로그램은 모든 플랫폼에서 수행가능 (이식성이 강하지만 모든 플랫폼에서 모든 기능이 가능한 것은 아님!)
항법 통신 무장 …
10
Commercial Military
TM
COEs and 모바일
• 스마트폰의 SW구조와 이식성을 국방(DoD) 항전 S/W에 적용: FACE 아키텍처
– DoD: Department of Defense
11
FACE 컨소시엄 구조
자문위원회 Advisory Board
프로젝트 조정운영위원회
Steering Committee
엔터프라이즈 아키텍처 팀
Enterprise Architecture (EA)
Business Working Group
Technical Working Group
600+ Individual
참가자
작업방향설정 등을 수행하는 핵심조직
기술적인 부분 영업적인 부분
비즈니스 전략을 인식하고 그것에 따라 IT 투자를 실행하는 것
기술적인 부분 요약 (Technical Overview)
12
13
화력제어
S/W
Sensor를 포함한 기타 Subsystem
FA-50 임무 컴퓨터용 화력제어 OFP 입출력
14
FA-50 임무 컴퓨터용 S/W 구조
S/W 수행 플랫폼
하드웨어
응용 S/W
응용 S/W 인터페이스
소프트웨어 수행 플랫폼: Low-level software, to provide services that allow the Application Software to run on the hardware
응용 소프트웨어:
High-level software that is unique to the application(s) for which the embedded computer (i.e. subsystem) exists
80-90% of the total software (in terms of long-term development cost)
15
Software Execution Platform
Board Support Package / BIT
하드웨어
응용 S/W
응용 S/W 인터페이스
디바이스 드라이버 운영체제
S/W 아키텍처 소프트웨어 수행 플랫폼:
Low-level software, to provide services that allow the Application Software to run on the hardware
응용 소프트웨어:
High-level software that is unique to the application(s) for which the embedded computer (i.e. subsystem) exists
80-90% of the total software (in terms of long-term development cost)
FA-50 임무 컴퓨터용 S/W 구조
16
Legend
BAE API
Applications
VxWorks OS
DY4 Firmware
FA-50 New
FA-50 임무 컴퓨터용 화력제어 OFP 모듈
17
S/W 수행 플랫폼
하드웨어
응용 S/W
기술적 전략 - 이식 가능한 FACE 응용프로그램
관심사항의 분리 (Separation of
Concerns)
항공전자 통신망
응용 S/W 인터페이스
• FACE 응용 S/W가 다른 Platform에 Deploy되는 경우, 영향을 최소화하기 위한 S/W 환경제공
18
기존 응용프로그램
전통적 OFP를 3개의 영역으로 구분
영역 고려사항
Presentation Display H/W & S/W, 커서 등
Business Logic 국방규격, 항법, 생존 등
I/O 인터페이스 카드, Radio, ICD, 네트워크, 타 OFP 등
각 영역별 특성은 있으나 영역간 표준 인터페이스가
없어 요소간 견고한 coupling발생
이식성 장벽 - 커플링
• 전통적인 Application에서 발생하는 Tight-Coupling을 제거하기 위한 Barrier 역할을 하는 Adaptation Layer를 정의할 필요 됨
19
FACE 응용프로그램
• 플랫폼 의존이 필요한 Presentation과 I/O를 Application 영역에서 분리
• Adaption Layer를 통해 표준화된 인터페이스로 Application 지원
O/S 표준 인터페이스를 통해
O/S벤더 의존적인 요소 제거
FACE – 커플링 제거
응용프로그램 이식성과 FACE 컴퓨팅 환경
• FACE Computing Environment를 Application과 플렛폼 사이에 구성하고 표준 interface
를 제공하여 플랫폼 독립적인 Application 지원
• Packaging Problem: Application과 Subsystem 간의 Interface Coupling ( Protocol, Data )로 인해 Portability 저하 → FACE Computing Platform
21
FACE 아키텍처
• 국방항공용 생산라인을 구축하는 S/W 환
경
• FACE 아키텍처는 “세그먼트”단위로 구성
- 세그먼트간에는 인터페이스가 존재
- 수평(Horizontal) 그리고 수직(Vertical) 인터
페이스
• 플랫폼 독립적 FACE 응용프로그램 • Portable Applications • Portable Common Services
• 상위 세그먼트간 메시지 중계를 담당 • (PC,PSS), 데이터의 source와 sink를 추상화 (어디에서 왔고, 어디로 갈 것인가를 노출 하지 않음)
• ICD 내용 처리, 플랫폼 장치를 모델링 • Platform Device Services • Platform Common Services • Graphics Services
• FACE 표준 API로 상위 PSS가 I/O 장치에 독립적일 수 있도록 지원(Adaptor pattern)
• Drivers
• OS 표준 화, 표준 API (POSIX, ARINC653) 사용
FACE 세그먼트(Segments)
23
Units of Portability
Portable Component Segment
Operating System
FACE I/O Services
FACE Platform Specific Services
FACE Transport Services
Traditional FACE Application
Mission-Level Capability
Runtime based FACE Application
Mission-Level Capability
Programming Language Runtime
Unit of PortabilityUnit of PortabilityUnits of Portability
Framework based FACE Application
Mission-Level Capability
Application Framework
Units of Portability Dashed Box denotes bundled deliverable set
Framework based FACE Application
Mission-Level Capability
Application Framework
Programming Language Runtime
Must Use
C
A
Must Use
24
FACE Generic Partitioned View
Standard Transport interfaces
Standard OS
interfaces
25
운영체제(OS) 세그먼트 인터페이스
Operating System Segment
FACE
O/S
API
s
FACE
Run
time
APIs
FACE
Fra
mew
ork
APIs
Standardized FACE Operating System API Profiles
Standardized FACE Runtime API
Standardized FACE Framework APIs
FACE Operating System(O/S)
FACE Runtimes(RT)
FACE Frameworks
(FW)
No FACE Standardization
of “Bottom side” interfaces
No FACE Standardization of “Bottom side” interfaces
No FACE Standardization of “Bottom-side” interfaces
26
입출력(I/O) 서비스 세그먼트 - 1
I/O Service Management Capability
I/O Data Movement Capability
Device Driver Normalization Adaptation Capability
1553
Driv
er
429
Driv
er
Ser
ial D
river
Oth
er D
river
s
Platform Specific Services Segment
I/O Config(XML)
I/O Services Segment
I/O Configuration Data would contain the full specification for each I/O interface.
Standard device drivers based on operating system and hardware of choice.
I/O Interface I/O 서비스 관리
장치 초기화 장치 설정 서비스 설정
I/O Data 전송
Device와 PSS간 데이터 전송 I/O 채널로 수신된 데이터의 Time stamp 운영메시지 무결성 로직 수행
장치 Driver Normalization
FACE I/O API로 드라이버 접근 추상화 FACE::IO::Open() FACE::IO::Close() FACE::IO::Register() FACE::IO::Read() FACE::IO::Write() FACE::IO::GetStatus()
I/O Services Segment • 비표준 I/O API에 대한 Adaptation Layer로, I/O Device에 독립성을 제공
27
입출력(I/O) 서비스 세그먼트 - 2
I/O Interface Data Model • I/O 의존적인 Payload를 표준화
28
• 플랫폼 의존이 필요한 부분을 집중 배치
• 타 Segment와 표준 인터페이스로 통신하여 상위 세그먼트에게 플렛폼 독립성 제공
• Multiple partition 혹은 Multiple module로 PSS 구성 가능
• 플랫폼 디바이스, 플랫폼 공통, 그래픽 서비스의 세부 세그먼트로 구분
플랫폼 특화된 세그먼트 - 1
플랫폼 디바이스 서비스
Subsystem대한 소프트웨어 추상화를 통해 데이터와 제어를 서비스
플랫폼 공통 서비스
플랫폼 Logging Configuration 서비스 : 공유되어야 할 설정정보 서비스 Health Monitoring
그래픽 서비스
PCS에게 플렛폼 특성에 맞는 그래픽 서비스 제공 ARINC661, X11_R7 Byte Stream ARINC739 stream
29
• 각 계층에서 사용되는 Configuration을 PSS 영역에서 집중화하여 관리
• 시스템 초기화 시, 각 계층으로 Configuration 전달
플랫폼 특화된 세그먼트 - 2
I/O Service
Transport Service
Portable Components
XML
Portable Components Service
Platform Common Service Configuration Service
IO API
TS API
TS API
Serial Port Configuration Data SERIAL_IO_CHAN_NUM Physical Serial Port Number SERIAL_IO_MODE Serial Port operational mode (e.g., RS-232, RS-422, RS-485) SERIAL_IO_BAUD_RATE Baud Rate for serial port SERIAL_IO_DATA_BITS Number of data bits to be configured SERIAL_IO_STOP_BITS Number of Stop Bits for serial port SERIAL_IO_PARITY Parity for serial port ARINC 429 Configuration Data A429_CHANNEL_NUM Channel Number A429_IO_DIRECTION Channel Direction (TX or RX) A429_IO_PARITY Parity for channel A429_IO_CHAN_SPEED Channel speed (High or Low)
30
• HMFM(Health Monitoring and Fault Management)
– 플랫폼(single system/platform) 수준의 결함관리 서비스
– TS API, IO API를 통해 플랫폼상의 컴포넌트들을 모니터링(Monitoring, Heartbeat)
– HMFM 기능 자체의 결함도 포함
– 각 플랫폼의 특성에 맞게 Recovery 및 Repair 정책이 적용됨
– Recovery 모델로 redundancy를 구성 할 수 있음
플랫폼 특화된 세그먼트 - 3
결함관리 (HMFM)
Fault Management
Server
APP3
Error Handler
App Proc
App Proc
APP2
Error Handler
App Proc
App Proc
APP1
Error Handler
App Proc
App Proc
Fault Detection and Recovery Single system/platform level fault management
31
• 각 계층간 통신을 지원하기 위한 계층: Portable Component Interfaces
• Transport Service Segment를 통해 전송되는 Message는 FACE IDD를 통해 정의
Transport Service Segments - 1
32
• TS Data Model Definition
– TS Segment를 통해 전송되는 Message에 대한 규격화
Transport Service Segments - 2
33
• Transport Service Segment의 주요 기능
Transport Service Segments - 3
34
• FACE 컴포넌트들간에 데이터교환 수단을 제공
• Data Model은 UoPs간에 메시지들을 생성하기 위한 data type들을 정의
• TSS가 데이터 변환(conversion)을 수행
• 3종류로 분리
– Conceptual Data Model(CDM) / Logical(LDM) / Platform(PDM)
• Refinement mechanism 각 연속적인 layer에 detail한 정보를 추가
– 각각 layer와 산출물까지 추적도를 지원
FACE DATA Model Architecture
35
• 표준화 되어 있는 OpenGL, ARINC 661, 739를 채택
• 각 Graphic Mechanism 특성에 따른 계층화
Graphic Service
임무수행 시스템의 FACE 환경
Reduced Cost and Accelerated Delivery of Capability to the WARFIGHTER
37
FACE 개발방향
Primary Flight Display (PFD)
적용가능 사례
Garmin
Avidyne
KT-1
PFD Proto Type Development
Platform dependent
add-on information
A
• The Basic PFD functions of aircrafts will be implemented
• DO-178C Level A Certification (Reusable)
• The symbol design: SAE ARP4102-7
The scope of this project
Platform dependent
add-on information
B
PFD Symbol
Definition
Define Symbols at Power-up Supply Data
RIU
AFDX
EGI / TACAN RALT / FCS
MIL-STD-1553
GPU
Display
Data
PFD S/W Structure
OpenGL API
Core OFP
OpenGL API
PFD Display OFP
Operating System Segment
AFDX Network Driver
Drivers
Portable Component Segment
PFD User Application
OS RT, FW GPU
Driver
RIU RIU
AFDX Network
Platform Specific Services Segment Common Services
Platform Devices Services
Configuration Service (XML) System Level
Health Monitoring
FCS EGI ARINC 661
Graphics Services
RALT VOR ILS
TS
Transport Services Segment
Distribution Capabilities
DDS
Computing H/W
MC II
Applying FACE for PFD IMA Computer
IO
IO I/O Services APIs TS Transport Service APIs
FW FACE Framework APIs
OS FACE O/S APIs
RT FACE Runtime APIs
OS Level Health Monitoring
Framework (Optional)
Runtime (Optional)
Operating System
Ethernet
I/O Services Segment AFDX Network Service
I/O Config. (XML)
RIU 1
XML Configuration Data (Binary)
Board Support Package (BSP) ETHERNET DRIVER
Fault Managem
ent
Configuration Service & Platform Device Services
MC II RIU 2
PFD User
Application
SPARE
Common Services Library
Graphic Service
Partition / Module Level Health Monitor
OpenGL Library
HM
Back-Up Partition
TS Lib
HM
HM
HM
HM
Certifiable Network Stack
EGI RALT FCS
MIL-1553 MUX
TS Lib TS Lib TS Lib
TS Lib Device Driver
TS Lib
Device Driver
I/O Services Segments
Platform Specific Services Segment
Portable Component Segment
Transport Services Segment
Back-Up Partition
Spare Partition
Operating System Segment
Spatial Partitioning
I/O Services
Configuration Service & Platform Device Services
HM
TSS
I/O Service
Transport Service
Portable Components
XML Portable Components Service
Platform Common Service Configuration Service
IO API
TS API
• Portable Components set up the configurations of TS, PSS, and I/O
• Support the system initialization information
• Transfer the information via IO and TS APIs
• XML Configuration Data
• Space partitioning
• Temporal (time) partitioning
• Setting up Communication Port Initialization
• Setting up HM Fault list and handler
TS API
Serial Port Configuration Data SERIAL_IO_CHAN_NUM Physical Serial Port Number SERIAL_IO_MODE Serial Port operational mode (e.g., RS-232, RS-422, RS-485) SERIAL_IO_BAUD_RATE Baud Rate for serial port SERIAL_IO_DATA_BITS Number of data bits to be configured SERIAL_IO_STOP_BITS Number of Stop Bits for serial port SERIAL_IO_PARITY Parity for serial port ARINC 429 Configuration Data A429_CHANNEL_NUM Channel Number A429_IO_DIRECTION Channel Direction (TX or RX) A429_IO_PARITY Parity for channel A429_IO_CHAN_SPEED Channel speed (High or Low)
PSS Centralized Configuration Service
Horizontal Situation & Attitude Information
ARINC 661 Run-time command
Process rendering data from PFD user application
ARINC 661 Definition
File
PFD application Partitions
RIU 1 RIU 2
EGI TACAN RALT FCS
MIL-1553 MUX
MIL-STD-1553
BUS ID
RT_NUMBER
SA_NUMBER
RT_NUMBER_2
SA_NUMBER_2
WORD_CNT (0-31)
MIL_STD-1553_Status
DATA_BUFFER (0-WORD_CNT) of 16bit messages
MESSAGE INSTANCE
QUID
BUS_TYPE
PAYLOAD_LENGTH
MESSAGE_TYPE
CM_ST_UD FIELD
TIMESTAMP REQUIRED (TS) Bit
TIMESTAMP_MSW
TIMESTAMP_LSW
PAYLOAD DATA (1..N)
FACE 2.0 I/O Message Model
• I/O Service Message Payload Format
• MIL-STD-1553 Message Payload Format
BSP
Kernel API
Module OS
DO-178B Network Stack for VxWorks653 Platform
RECEIVE_QUEUING_MESSAGE()
writeRtn() / ReadRtn()
Stack APIs
Sendto() / recevfrom()
• Resides in the Module
OS -> Available in all partitions
• Configuration support for combination of IPv4 with UDP and TCP
Partition OS FACE complied DDS Transport Service Segment
Layer
ARINC Ports
CERTIFIABLE NETWORK STACK
User Network Application
Data Converting
EGI RALT TACAN
Port Driver
ETHERNET DRIVER
Device Service Partition Platform Specific Segment Layer
Transport Service API Message Model and Internal Data Structure Definition
FACE Transport Service Segments & FACE complied RTI DDS
FACE TS(Transport Services) API
FACE::TS::create_connection() FACE::TS::destroy_connection() FACE::TS::receive_message() FACE::TS::send_message() FACE::TS::register_read_callback() FACE::TS::get_connection_parameters()
50