260 likes | 722 Views
임베디드 소프트웨어 기술 동향. 이 민 석 한성대학교 컴퓨터공학과 minsuk@hansung.ac.kr. 목차. 임베디드 시스템의 시장과 경쟁력 임베디드 시스템 목적 시장 도구 , 서비스 , 지원 시장 임베디드 시스템 산업의 Value Chain 미래의 임베디드 시스템 시장과 경쟁력 임베디드 시스템의 시장적 , 기술적 설계 목표 설계 목표 달성을 위한 개발 방법론 플랫폼 기반 개발 , 모델 기반 개발 임베디드 시스템에서의 Test 중요성과 방법론 임베디드 운영체제 및 개발 도구 동향 요약.
E N D
임베디드 소프트웨어 기술 동향 이 민 석 한성대학교 컴퓨터공학과 minsuk@hansung.ac.kr
목차 • 임베디드 시스템의 시장과 경쟁력 • 임베디드 시스템 목적 시장 • 도구, 서비스, 지원 시장 • 임베디드 시스템 산업의 Value Chain • 미래의 임베디드 시스템 시장과 경쟁력 • 임베디드 시스템의 시장적, 기술적 설계 목표 • 설계 목표 달성을 위한 개발 방법론 • 플랫폼 기반 개발, 모델 기반 개발 • 임베디드 시스템에서의 Test 중요성과 방법론 • 임베디드 운영체제 및 개발 도구 동향 • 요약
임베디드 시스템의 특징 • 전통적인 임베디드 시스템의 특징 • Single functioned • 하나의 프로그램이 반복 수행 • Tightly constrained • 재료비, 전력, 물리적인 크기, 특정 기능의 속도, 메모리 등 • Reactive and real-time • 시스템의 환경 변화에 지속적으로 반응 • 예측 가능한 응답으로, 어떤 이벤트가 가지는 시간 제약성을 만족 • 최근 임베디드 시스템의 특징 • Digitally converged • 멀티미디어, 유비쿼터스, … • More tightly constrained (except memory) • Scalable and feature-rich • 더 많은 기능을 수용할 수 있는 소프트웨어 구조
임베디드 시스템 시장 • 목적 시스템 시장 • 임베디드 시스템 제품 시장 • The List • 광의의 임베디드 시스템 시장 • 목적 시스템 시장 + • 개발 도구 : 목적 시스템 개발 도구 • 부품 : 하드웨어 부품, 소프트웨어 라이브러리 • 서비스 : 설계, 구현, 디자인, 테스트 등 • 지원 : 기획, 교육, 문서화, 법률, 금융, 인력 등 • 국내는 최근 “서비스” 시장이 급격히 커지고 있음 • Out-sourcing, Partnership 마인드의 확산 또는 불가피성 • 임베디드 시스템 관련 각종 “지원” 시장 또한 커지고 있음 • 기술만으로 안 되는 세상 !
The List : 임베디드 시스템의 예 이전엔 없던 새로운 개념의 제품이 List에 계속 추가되고 있다 ! Anti-lock brakes Auto-focus cameras Automatic teller machines Automatic toll systems Automatic transmission Avionic systems Battery chargers Camcorders Cell phones Cell-phone base stations Cordless phones Cruise control Curbside check-in systems Digital cameras Disk drives Electronic card readers Electronic instruments Electronic toys/games Factory control Fax machines Fingerprint identifiers Home security systems Life-support systems Medical testing systems … Modems MPEG decoders Network cards Network switches/routers On-board navigation Pagers Photocopiers Point-of-sale systems Portable video games Printers Satellite phones Scanners Smart ovens/dishwashers Speech recognizers Stereo systems Teleconferencing systems Televisions Temperature controllers Theft tracking systems TV set-top boxes VCR’s, DVD players Video game consoles Video phones Washers and dryers …
전통적인 목적 시장 • 항공 우주 산업 : 항공기, 우주선, 위성, 발사체, 이동체, … • 소재, H/W, S/W, 프로젝트 관리, 조달 체계 등 파급 효과 • 군수 산업 : 공격 및 방어 무기, 정보 수집 및 통신 장비, … • 신기술을 원하는 고객이 언제나 있는 시장 : 최고의 고부가 가치 산업 • 자동차 산업 • 분산된 소형 실시간 제어 : X-by-wire • 의료 산업 : 검사 및 진단 장비, 수술, 생명 유지 장치, 인공 장기 • 진입 장벽이 높은 고부가 가치 산업 • 장치 산업 : 제품 생산 공장, 발전소, 상하수도 처리장,… • 로봇 산업 : 조립, 운반, 방재, 단순 업무 보조 • 가전 산업 : 백색 가전 • 통신 및 네트워크 기반 산업 : 교환기, 기지국, 라우터, 파이어월, .. • 고가용성, 시간 당 처리량, 회선당 비용 • 컴퓨터 주변 기기 : 메인 보드를 제외한 모든 컴퓨터 주변기기 • 표준, 인터페이스의 호환성, 개별 성능
응용/서비스 중심의 목적 시장 • SI 연계 복합 산업 : Smart 카드, RFID 기반 사업, … • 표면에는 임베디드 단말기, 중간엔 너트워크 인프라, 뒤에는 거대한 SI • 임베디드 시스템 부분이 전체 사업/서비스의 성패를 좌우 • 자동차 산업 : 복합 단말기 (navigation, telematics, DMB, ...) • 로봇 산업 : 서비스 로봇 • 게임기, 오락 산업 :콘솔 게임기, 업소용 아케이드 게임기 • 하드웨어는 싸게, 수익은 콘텐트에서 ! • 디지털/멀티미디어 가전 : HDTV, 디지탈카메라, 캠코더, … • 기술과 광고가 시장(수요)를 주도 • 이동 단말기 산업 : 휴대폰, PDA, PMP, … • 사용자의 요구(시장)가 기술 개발을 주도 : 더 좋게, 더 작게, 더 멋지게 • 첨단 기술의 종합 선물 세트 • 이동통신 인프라 지원 : 멀티밴드, 멀티모드 • 부품 (SoC, RF, Memory, LCD, MEMS, Battery 등) • 소프트웨어 (플랫폼, 응용) • 미려함과 편의성 기구 산업의 재발견 : 소재, 사출, 도금, … • 가능한 모든 것의 결합 : 카메라, MP3, DMB, … • 다양한 응용, 단말기 기능과 연계된 부가 서비스
도구, 서비스, 지원 시장 • 도구 시장 • 임베디드 시스템 소프트웨어 개발 도구 • IDE 환경, Case Tool, 프로젝트 관리도구, 시험 도구 • 운영 체제 • 실시간 운영 체제 + (실시간 모니터링 도구) • 임베디드 시스템 용으로 튜닝된 범용 OS + 서비스 • 하드웨어, 시스템 개발 도구 • 소프트웨어 및 하드웨어 디버깅을 위한 하드웨어 • CAD Tools : VLSI, PCB, 기구 디자인 설계, Co-design 지원 도구 • 서비스 시장 • 기술 서비스 : 하드웨어, 소프트웨어, 디자인, 기구 등 설계 • 기타 : 생산, 문서화, 인증, 기술지원, 교육, A/S 등 • 사업 지원 시장 • 제품 기획, 구매, 마케팅, 법률, 지재권, 인력 관리 • 금융 : 제품 및 사업 라이프 사이클 전 단계에서의 “돈” 문제
H/W or Services Royalty (One-time or run-time) 임베디드 시스템 산업 Value Chain 임베디드 시스템 제조업체 SI 업체 하드웨어 OEM 벤더 임베디드 S/W 플랫폼 및 도구 업체 응용 S/W 개발업체 유무선통신망 사업자 개인 산업체 국가 반도체 벤더 서비스 제공자 / 콘텐츠 aggregator 콘텐츠 Provider 기타 서비스 및 지원
기술 인력 핵심 기술 마케팅 임베디드 시스템 산업의 경쟁력 • 임베디드 시스템 산업의 경쟁력의 요소 • 핵심 기반 기술(부품, S/W, 외관)에 대한 기술력 • 소프트웨어 생산성 • 핵심 기술 인력 (매니져, 엔지니어) • 시장 선점 노력 : 제품 기획, 마케팅 • 경쟁력 확보 방법 • 투자에 있어서의 선택과 집중 • 기술 확보 • 기초 과학, 소재, 기반 기술 개발 • 국제적인 표준 활동 • Open Source Software 활용 • Partnership • 장기적 관점의 인력 양성 • 기술 단계별 전문 분야 인력 (개발, 시험, 기획, 마케팅, …) • 관리 인력 양성 (프로젝트 관리자 양성) • 지속적인 재교육
앞으로의 임베디드 시스템 시장 • 전통 임베디드 시장의 건재함은 그대로 유지 • 미래형 임베디드 시스템 시장은 대부분 인간 주변에… • 콘텐트 중심의 임베디드 시스템 시장 • 서비스와 연계 (수익 모델의 변경) • 기술적 발전에 따른 시장 변화 • 통신 인프라의 발전 : 유비쿼터스, 컨버젼스 응용 창출 • 반도체 기술의 발전 : 제품의 기술적 구현 가능성 증가 • BT, NT 의 발전 : 새로운 소재, 센서의 등장 • 사회 구조, 제도의 변화에 따른 시장 변화 • 노령화, 주5일 근무, 사교육, 저출산, 온라인미디어 지구온난화, 지속가능에너지, … • 임베디드 벤처 붐 이후 10년의 교훈 • 실패 요인 ? 자금, 완성도, 마케팅, … • 얼리어댑터가 과연 중요한 고객일까 ? • 기술이란 무엇인가 ? • 고민 거리 • Partnership ? 특히, 대기업과 중소기업 • 기술이 시장 주도 ?, 또는 시장이 기술을 주도 ? • 선택(Trade-off)의 여지 ?
임베디드 시스템 설계: 기술적 목표 • Correctness • 사용자 관점의 기능 충실도: Internet, GUI, Multimedia, H/W Control, … • Timeliness: 내부, 외부 기능의 시간 제약성 만족 (Hard, Soft) • Availability (시스템 가용 시간의 확보) • Liveness over Concurrency • Fault Recovery • Security : 논리적, 기계적 보안 • 사용자 보호, 시스템 보호, 제조사의 기술 보호 • 그밖에 주어진 모든 기술적 제약 사항에 대한 만족 • Power Consumption : Operating Power, Stand-by Power • Space Limitation : 발열 문제, 외관 Design • Legal Stuffs : 법률적, 환경적, 전기적, 기계적, 전자파적 안전성 • Flexibility : 기능적 확장성, S/W 및 H/W 구조적 확장성 • … • from Testability (출하 전) to Maintainability (출하 후) • 제품의 전 Life-cycle 동안의 Quality 보장 Q
임베디드 시스템 설계: 시장적 목표 • 원가 절감 ! • NRE (Non-Recurring Engineering): 개발비, 초기 License 비용, Chip Masking 비용 • Unit cost: 만들어진 제품의 개별 원가 –부품값 • 제품의 조기 출시 • Time-to-Prototype: 동작하는 첫 번째 시스템을 만들기까지의 시간 • Time-to-Market: 시스템이 시장에 출시되기까지의 시간 • 고객 요구의 만족 • Function: 제품의 기본적, 부수적 기능 • Size: 제품의 물리적인 크기 • Performance: 성능 (response time, thru-put) • Power: 전력 소모 • 법률적, 제도적 제약 극복 • 지적재산권, 안전성, 윤리성, … • 지속 가능성 확보 • Maintainability: 초기 출시 이후 시스템이 수정될 수 있는 가능성 • Flexibility: 새로운 NRE 없이 시스템을 수정할 수 있는 정도
플랫폼 기반 임베디드 S/W 개발 • 임베디드 소프트웨어의 구성 요소 • 임베디드 운영체제 • 특정 응용에 적용하기 위한 미들웨어 • 서비스 개발을 위한 라이브러리 • 응용 소프트웨어 • 소프트웨어 개발 및 시스템 구성 도구, 분석 및 시험 도구, • 플랫폼 기반 개발 • Platform : “A relevant and ubiquitous common service abstraction” (서로 연관되어 상승 효과를 낼 수 있는 공통 서비스들의 추상화) • 다양한 요구 사항을 해석하여 그들을 수용하는 architecture를 제시한 것 • H/W, S/W 및 콘텐트 개발자, 서비스 제공자, 관리자, 이용자 등 모두의 이익 추구 • 가치 창출 구조를 “Platform Ecosystem”라고 함 • 잘 정의된 공통 서비스를 바탕으로 “필요 기술 요소”의 확인과 조달을 빠르게 함 (각 요소 서비스 제공자들을 나열한 solutions-map과 함께) 소프트웨어 플랫폼
플랫폼의 예 (모바일 단말기) WIPI의 구조 모바일 통합 플랫폼 개념도 (출처: 모바일 플랫폼 발전 방향과 WIPI, 정보과학회지 2006.7)
다양한 CPU, 하드웨어 같은 S/W 플랫폼을 쓰는 많은 모델 복잡한 제약 조건과 요구 사항 소프트웨어 생산성 증가 모델 기반 개발 • 모델 기반 개발 방법 • PIM (Platform Independent Model) 개발 • PSM (Platform Specific Model) 개발 • Source Code 자동 생성, 구현, (자동) 시험 • 모델 기반 프로그래밍의 장점 • 플랫폼 독립적인 소프트웨어 모듈의 재사용성 증가 • 새로운 하드웨어 플랫폼에의 적응성 향상 • 사용자 요구 변화에 대한 빠른 대응 • 모델 기반 설계 도구 • 요구 분석, 시스템 설계, 소프트웨어 구현 과정을 지원 • Visualize and verifydesign • Automatic source, document generation • Automatic test • Parallel development • 상용 모델 기반 설계 도구 • IBM의 Rational Rose-RT • Telelogic (iLogix)의 TAU • Mathworks의 SIMULINK Real-time Workshop (출처: Mathworks)
CMMI 요구 에러 수준 Maturity Level Design Faults Shipped Defects 5 0.5 1 4 1 5 3 2 7 2 3 12 1 5-6 61 (Bug / 1K lines of code) Testing 요구의 증가 • 대규모 SI와 임베디드 시스템의 만남 • “8일 (A사)와 (B사)에 확인한 결과, 서울시는 이날까지 선불식 교통카드에서 일어나는오류의 정확한 규모와 원인조차 파악하지 못하고있는 것으로 드러났다. 선불식 교통카드는 요금 계산이 되지 않거나, 충전된 액수의 일부나 전부가 날아가는 오류가 일어나고 있다.”(출처: 인터넷 한겨레, 2004.7.9) • 소프트웨어규모의증가 추세 (출처: IPSJ 요약, 정보과학회지 2006.7)
Testing Tools Source Inspection 전문 Tester 임베디드 소프트웨어의 Testing • 임베디드 시스템 Testing 이슈 • 모든 일반 S/W의 Testing 이슈 + • 비동기적 Event에 대한 시간 제약성 • 다양한 하드웨어, 소프트웨어 플랫폼 • H/W, 개발 도구 자체의 오류 • Intrusive Testing (Test 모듈이 시스템의 일부) • Testing 방법 • 일반 S/W Testing 도구의 사용 • Black Box Test (외주 모듈) • White Box Test • 정적 Test : Syntax, Semantics Check • 동적 Test : Test Case에 의한 Test • Emulator를 이용한 Test • Target Testing 모듈을 이용한 • Event Capture (or Record) and Replay
운영체제 동향 • Microsoft : Window CE 6.0 • Redesigned Kernel • Monolithic, High Performance • Preemptive Kernel • $3/unit (core, listed price) • Wind River : 2004년부터 Linux 지원 • FSM RT-Linux 인수 (2007.2) • Wind River Workbench : Eclipse 기반 개발 도구 • NICTA (호주) : L4 Micro-kernel • Qualcomm이 L4-Iguana에 투자 (2005.11) • Ericsson도 NICTA에 투자 (2006.8) (출처: 마이크로소프트)
QuickDriver (출처: 정보과학회지 2006.7) 임베디드 소프트웨어 개발 도구 동향 • 모델 기반 설계 도구 사용 증가 • UML 2.0 사용 도구… • Eclipse가 대세 • Timesys – TimeStorm : 프로젝트 관리도구 • Montavista – DevRocket (Linux) • Wind River – Workbench (VxWorks, Linux) • QNX – Momentics (Neutrino) • ETRI – QuickDriver (Linux Device Driver) • 디버깅/개발 생산성의 재발견 • Virtual Machine 이용 • kgdb/ddd with Virtual Machine • UML (user mode Linux, arch=um) • JTAG-ICE를 이용한 Linux Kernel 디버깅
임베디드 S/W 개발 도구 사용 통계 개선 일로에 있지만, 아시아 국가 가운데에서도 한국 개발자들의 도구 사용 비율이 낮다 ! (출처: 2006 EE-Times Asia) 심지어 디버거 사용도 꼴등
요약 • 임베디드 시스템 시장 • 전통적인 임베디드 시스템 시장도 아직 건재하다. • 응용/서비스 중심 목적 시장이 커진다. • 도구, 서비스, 지원 시장이 진짜 커진다. • 미래 임베디드 시스템 시장의 경쟁력 • 장기적 기술 확보는 노동력이 아닌 파트너쉽에서 나온다. • 인간과 호흡하는 시스템을 만들어야 한다. • 임베디드 소프트웨어 개발 방법 제고 • 플랫폼 기반, 모델 기반 개발을 하자. • 테스팅의 중요성을 인식하자. • 더 이상 “빨리 코딩하고 기도하기”는 안 된다. • 정말도구를 사용하자.
Q & A 이 민 석 한성대학교 컴퓨터공학과 minsuk@hansung.ac.kr