2. 오늘의 목표
• 간단 복습
• 임베디드 시스템 개발
• 임베디드 시스템의 경쟁력 이해
• 임베디드 시스템 개발 목표의 이해
• 플랫폼, 모델 기반 개발 의지 제고
3. 임베디드 시스템의 특징
• 전통적인 임베디드 시스템의 특징
• Single functioned
• 하나의 프로그램이 반복 수행
• Tightly constrained
• 재료비, 전력, 물리적인 크기, 특정 기능의 속도, 메모리 등
• Reactive and real-time
• 시스템의 환경 변화에 지속적으로 반응
• 예측 가능한 응답으로, 어떤 이벤트가 가지는 시간 제약성을 만족
• 최근 임베디드 시스템의 특징
• Digitally converged
• 멀티미디어, 유비쿼터스, …
• More tightly constrained (except memory)
• Scalable and feature-rich
• 더 많은 기능을 수용할 수 있는 소프트웨어 구조
4. 임베디드 시스템의 또 다른 이름
• CPS (Cyber Physical System)
= 컴퓨팅 + ‘제어(control)’ 를 의미하는 새로운 용어
• 정보통신망에 내재화된 컴퓨터와 네트워크 모니터들이 상호교류
(feedback loops)를 통하여 물리적 프로세스를 통제
• 따라서, 안전성, 실시간성, 상시성, 분산성 등이 핵심
5. 임베디드 시스템 시장
• 목적 시스템 시장
• 임베디드 시스템 제품 시장
• 광의의 임베디드 시스템 시장
• 목적 시스템 시장 +
• 개발 도구 : 목적 시스템 개발 도구
• 부품 : 하드웨어 부품, 소프트웨어 라이브러리
• 서비스 : 설계, 구현, 디자인, 테스트 등
• 지원 : 기획, 교육, 문서화, 법률, 금융, 인력 등
• 국내는 최근 “서비스” 시장이 급격히 커지고 있음
• Out-sourcing, Partnership 마인드의 확산 또는 불가피성
• 임베디드 시스템 관련 각종 “지원” 시장 또한 커지고 있음
• 기술만으로 안 되는 세상 !
6. 앞으로의 임베디드 시스템 시장
• 전통 임베디드 시장의 건재함은 그대로 유지
• 항공우주, 자동차, 의료, 공장, 전통가전, 게임
• 기술적 발전에 따른 시장 변화
• 통신 인프라의 발전 : 유비쿼터스, 컨버젼스 응용 창출
• 반도체 기술의 발전 : 제품의 기술적 구현 가능성 증가
• BT, NT 의 발전 : 새로운 소재, 센서의 등장
• 미래형 임베디드 시스템 시장은 대부분 인간 주변에…
• 콘텐츠 중심의 임베디드 시스템 시장
• 서비스와 연계 (수익 모델의 변경)
• 미디어(정보에 접근하는 채널)의 변화
• SNS, Mobile, Location Based xxx
• 사회 구조, 제도, 환경의 변화에 따른 시장 변화
• 노령화, 주5일 근무, 사교육, 저출산, 온라인 미디어
지구 온난화, 지속 가능 에너지, …
하드웨어에서
소프트웨어로
가치창출동력이 바뀜
그 중심엔
역시 사람 !!!
7. 임베디드 시스템 시장에서의 경쟁력
• 임베디드 시스템 경쟁력 요소
• 핵심 기반 기술(부품, S/W, 외관)에 대한 기술력
• 핵심 기술 인력 (매니저, 엔지니어)과 생산성
• 시장 접근 능력: 선점을 위한 제품 기획, 마케팅
• 경쟁력 확보 방법
• 투자에 있어서의 선택과 집중
• 나머지는 Partnership으로 해결
• 기술 확보
• 훌륭한 이론가/엔지니어
• Open Source Software 활용
• 기초 과학, 소재, 기반 기술 개발
• 국제적인 표준 활동
• 장기적 관점의 인력 양성
• 기술 단계별 전문 분야 인력 (개발, 시험, 기획, 마케팅, …)
• 관리 인력 양성 (프로젝트 관리자 양성)
• 지속적인 재교육
마케팅
8. 임베디드 시스템 개발의 목표
기술적 목표
• Correctness
• 사용자 관점의 기능 충실도
• Availability
• 시스템 가용 시간의 확보
• Technical Requirements
• Power Consumption
• Space Limitation
• Legal Stuffs (특허, 전자파, …)
• …
• Security
• 논리적, 기계적 보안
• 사용자 보호, 기술 보호
• Flexibility
• Testability
시장적 목표
• Marketing driven requirements
• 수요자 그룹을 위한 디자인
• 사회적 요구 (윤리적, 환경적, …)
• Price
+ NRE (Non-Recurring Engineering)
• 개발비 등 1회성 비용
+ Unit (BOM) Cost
+ 중간쯤 있는 비용
• 장비, 광고, 땅, …
• Time
• to Prototype
• to Market
• Maintainability
• or NOT
9. 임베디드 시스템 비용
개발 비용
NRE based-on Time-to-Market
H/W, S/W Engineering Team Size
간접 비용
H/W, S/W Development Tools
Maintenance and Support Costs
제품 단위 비용
Unit Material (BOM) Cost
Unit-base S/W Royalty
Fixed
Costs
• per project
Variable
Costs
• per unit
10. 설계의 핵심 : Trade-Offs
• Unit Size
• Cost
• Power
• Battery Type
• Processor Speed
• Distance
• Hardware Architecture
• Encoding Schemes
• Dynamic Loading over RF
• Antenna Size
• RF Frequency
• Development Tools
• Functionality
• Algorithm complexity
• Sampling Rate
• Routing Algorithms
• Redundancy
• Reliability
• Security
• Encryption
• Mobility
• Real-Time Guarantees
• Number of Nodes
• …
Sensor 중심의 CPS Device
설계 시의 Trade-Off 항목의 일부• 정답은 없다.
• 모든 것을 일반화 할 수도 없다.
Design for Trade-Offs !!!
• WYNIWYG
– What You Need is What You Get
– No more, No Less!
+ Configurable and Reusable S/W
SizePerformance
Power
NRE cost
11. Trade-Offs
• High NRE, Low BOM, Long Time-to-Market
vs. Low NRE, High BOM, Short Time-to Market
• Long Battery Life, Low Performance
vs. Short Battery Life, High Performance
• Hardware, High BOM, Short Time-to-Market
vs. Software, Low BOM, Long Time-to-Market
• High Flexibility/Maintainability, High BOM
vs. Low Flexibility/Maintainability, Low BOM
• Big Size, Long Battery Life
vs. Small Size, Short Battery Life
• Trade-offs Everywhere
vs
BOM: Bill of Materials (Cost)
12. Time-To-Market !
• 수입 모델
• 제품 단종 시기 = 2W
가장 잘 팔리는 시기 = W
• 삼각형의 넓이가 수입
• 시장 진입 시점 =
삼각형의 시작 위치
• 손해는…
• 두 삼각형의 넓이 차이
On-time Delayed
entry entry
Peak revenue
Peak revenue from
delayed entry
Market rise Market fall
W 2W
Time
D
On-time
Delayed
Revenues($)
14. 플랫폼 기반 임베디드 S/W 개발
• 임베디드 소프트웨어의 구성 요소
• 임베디드 운영체제
• 특정 응용에 적용하기 위한 미들웨어
• 서비스 개발을 위한 라이브러리
• 응용 소프트웨어
• 소프트웨어 개발 및 시스템 구성 도구, 분석 및 시험 도구,
• 플랫폼 기반 개발
• Platform : 서로 연관되어 상승 효과를 낼 수 있는 공통 서비스들의 추상화
• 다양한 요구 사항을 해석하여 그들을 수용하는 architecture를 제시한 것
• 잘 정의된 공통 서비스를 바탕으로 “필요 기술 요소”의 확인/조달을 빠르게 함
(각 요소 서비스 제공자들을 나열한 solutions-map과 함께)
• 쉽게 말하면,
모두가 이해할 수 있는 ‘틀’ 을 기반으로 뭔가를 만들자 !
소프트웨어 플랫폼
15. 예, Mobile S/W platform
• Platform (or Mobile Framework) : Abstracting Technologies
• Bridging the gap between the Application on various devices and the World
Operating System
Middleware
UI and Services
Applications
SDK &
Tools
Cloud
Server
Somebody
Anybody
Anything
Platform
the
real/virtual
world
the
device
world
16. 모델 기반 개발
• 모델 기반 개발 방법
1. PIM (Platform Independent Model) 개발
2. PSM (Platform Specific Model) 개발
3. Source Code 자동 생성, 구현, (자동) 시험
• 모델 기반 프로그래밍의 장점
• 플랫폼 독립적인 소프트웨어 모듈의 재사용성 증가
• 새로운 하드웨어 플랫폼에의 적응성 향상
• 사용자 요구 변화에 대한 빠른 대응
• 모델 기반 설계 도구
• 요구 분석, 시스템 설계, 소프트웨어 구현 과정을 지원
• Visualize and verify design
• Automatic source, document generation
• Automatic test
• Parallel development
• 상용 모델 기반 설계 도구
• IBM의 Rational Rose-RT
• Telelogic (iLogix)의 TAU
• Mathworks의 SIMULINK Real-time Workshop
소프트웨어
생산성 증가
(출처: Mathworks)
다양한 CPU, 하드웨어
같은 S/W 플랫폼을 쓰는 많은 모델
복잡한 제약 조건과 요구 사항
17. 임베디드 소프트웨어 개발 도구
• 모델 기반 설계 도구 사용 증가
• UML 2.0 사용 도구…
• Eclipse가 대세
• Timesys – TimeStorm : 프로젝트 관리도구
• Montavista – DevRocket (Linux)
• Wind River – Workbench (VxWorks, Linux)
• QNX – Momentics (Neutrino)
• ETRI – QuickDriver (Linux Device Driver)
• 임베디드 Linux 디버깅/개발 생산성의 재발견
• Virtual Machine 이용
• kgdb/ddd with Virtual Machine
• UML (user mode Linux, arch=um)
• JTAG-ICE를 이용한 Linux Kernel 디버깅
QuickDriver
(출처: 정보과학회지 2006.7)