2014
Embedded SW 개론
단답형
14문제 * 5점 = 70점
예상 답안은 3배수
임베디드 SW
내장된 HW를 제어하고 향상된 서비스 기능 제공
산업 제품/마이크로프로세서에 내장되어 부가가치 향상
임베디드 시스템 SW, 임베디드 미들웨어, 임베디드 기본 응용, 임베디드 SW 개발 도구 등 포함
미리 정의된 목적을 위해 물리적 입력 및 그 가공된 데이터를 이용하여 적절한 반응을 제공하기 위해 설계된 SW
결정성
자원 사용에 대한 예측 가능
자원 사용량은 설계 시점에 파악
이질성
다양한 HW, SW와 상호 작용
다양한 HW 제어
다양한 Event 처리
생존성
무한히 멈춰있거나,
이벤트 처리가 중단되어서는 안됨
경량 커널 기술
제한된 자원을 가지고
특정 응용을 대상으로 하는 시스템에
적합한 솔루션 제공
경량 그래픽 라이브러리 기술
GUI 작성을 위한
위젯 및 함수들로 구성된
라이브러리로서
다양하고 미려한 UI 컴포넌티 및 경량화 요구
경량 윈도우 시스템 기술
응용 프로그램의 입출력 사용자 인터렉션 처리
디바이스, 사용자, 운영체제 간의 연동 및
기본 입출력 함수 포함
임베디드 시스템 경량화 요구
QPlus
ETRI에서 만든 리눅스 기반 임베디드 OS
GUI를 통한 최적화된 타겟 시스템 설정, 적재 자동화
표준형, 마이크로형, 나노형
NEOS
MDS 테크놀러지에서 만든 임베디드 OS
국내 최초의 상용 RTOS(velos)
멀티태스킹, 선점형 실시간 스케줄러
빠르고 정확한 인터럽트 처리 메커니즘
멀티 미디어 단말, 산업용 컨트롤러,
셋톱박스, 홈네트워크,
로봇, 무인항공기, 보안 기기
vxworks
윈드리버사에서 만든 세계 시장 점유율 1위 RTOS
폭 넓은 산업 표준 지원
고성능 마이크로커널 기반 확장성
IDE - Tornado
화성탐사선, 스타더스트, 아시모, 큐리오시티
Integrity
그린힐즈 에서 만든 RTOS
NASA 관리 세계 최초 EAL6+ RTOS 보안 레벨
세계 최고 신뢰성/보안성
MDA, UML
전투기, 에어버스, BMW, Continental, Toyota
qnx
캐나다 qnx에서 만든 QNX Neutrino RTOS
고신뢰성, 필수 네트워킹 기술 포함
고성능 2D/3D 가속
자동차, 의료, 네트워킹
대우 비전조이, 현대모비스 MTS-1, 쌍용 체어맨 등
TRON
동경대 Ken Sakamura가 만든 The Realtime OS Necleus
일본 국내 시장 50% 이상 점유
신속한 동작 및 탁월한 안전성
windows ce
MS가 만든 소형 컴퓨터, PDA 용 OS
최대 32000 프로세스, 2GB 가상메모리 지원
Visual Studio 에 통합
차량용 컴퓨터, 네비, 디카, 셋톱박스
embedded linux
오픈 소스
안정성, 신뢰성, 성능 확보로 급부상
풍부한 디바이스 드라이버
Realtime 부족
아파치 헬기, PDA, 홈 오토
kesic
Korea Embedded SW Industry Council
임베디드 소프트웨어 산업 협의회
표준 플랫폼 적용 서비스 개발
국외 표준화, 해외 진출 지원
인력 약성, 저변 확대 등
2012년에 임베디드 시스템 소프트웨어 산업 협회KESSIA로 변경
celf
Consumer Electronics Linux Forum
가전 제품에 특화된 임베디드 리눅스 기반 플랫폼
삼전, LG, 소니, 파나소닉, 히다찌, 필립스 등
t-engine 포럼
UITron이 모체가 되어 출범
개방형 실시간 시스템 표준 개발
미들웨어 융통성 향상
표준, 마이크로, 나노, 피코
Eclipse
IBM
Java
IDE
SWT
Plugin
아이폰 플랫폼
애플 사의 Mac OS X 기반
화려한 UI, 멀티 터치
안드로이드 플랫폼
구글 주도의 개방형 휴대전화 연맹에서 개발한
리눅스 기반의 개방형 모바일 플랫폼
리눅스 기반 다양한 하드웨어 이식 가능
JVM , Java 기반
구글의 인터넷 서비스 API
IDE
에디터, 컴파일러, 디버거, GUI 빌더 통합
Eclipse, ETRI Esto, Visual Studio
디버거
오류 수정 지원 도구
소프트웨어 디버깅 KGDB
하드웨어 디버깅
TimeStorm + BDI2000
윈드리버 visionPROBE II
모니터링
hw/sw 자원 상황 및 성능 파악
타깃 모니터
CPU, 메모리, 프로세스
타깃 프로파일러
이벤트, 태스크
gui 빌더
GUI 프로그램 신속 개발 지원
QNX PhAB
ETRI gDesigner
darts
구조적
Design Approach for RealTime Systems
Hassan Gomaa
SAD의 실시간 표현 한계 극복
ADARTS : Ada
CODARTS : 분산시스템 설계
omt
객체 지향
그래픽 표기법으로 객체 모델링
객체 모델링, 동적 모델링, 기능 모델링
booch
객체 지향
논리적 관점, 물리적 관점, 동적 관점
다양한 도표의 종류
매크로 프로세스, 마이크로 프로세스
dess
CBD
벨기에, 체코, 프랑스, 독일, 이태리, 네덜란드
V-모델 주기 + UP
실현, V&V, 요구 관리
bosch
제품 계열 기반
스웨덴
Domain(영역) 공학
핵심자산 저장소
Product(제품) 공학
form
제품 계열 기반
포항공대
영역공학 - 피처 모델, 아키텍처 설계, 정련, 객체 모델링
핵심자산
응용공학 - 요구사항, 아키텍쳐 선택, 코드 생성
korba
제품 계열 기반
프레임워크 공학
응용 공학
제품
마르미 EM
제품 계열 기반
ETRI
임베디드 특성 반영
쉬운 커스터마이징
국제 표준 반영
문서 최소화, 문서 양식, 실 적용사례
Y 접근법
모델 주도
Pierre Boulet
App PIM HW PIM
Associatino PIM
Deployment PSM
bridgepoint
모델 주도
실행(x) 가능하고 변환(t) 가능한 특징
xtUML
mode builder, verifier, compiler, debugger
mobies
모델 주도
Complex but Inert Machine + EmbeddedSW = Complex OP Embedded System
Math Models -> MoBIES Tools -> Requirements
구조적
GOTO 개선
프로세스 위주 분석/설계
폭포수 모형, 구조적 분석, 나선형 모델
객체 지향
데이터와 프로세스의 통합
변경에 유연하도록
추상화, 캡슐화, 상속화
분석에서 개발까지 객체라는 통합 모델 사용
컴포넌트 기반
복잡도 증가, 개발비 증가, 품질 저하
부분 완성품(컴포넌트)의 재사용
제품 계열
CBD의 한계
플랫폼 종속
컴포넌트 변경 불리
도메인 분석, 제품 계열 분석
재사용 대상이 컴포넌트에서
요구사항, 지식, 경험, 아키텍쳐, 생산계획 등으로 확대
agile
인터넷, Time to Market
프로세스나 기술보다는
인간지향적
고객-개발자의 직접적 의사소통
분석부터 테스트까지 짧은 호흡
모델 주도
객체의 상호운용성, 이식성, 재사용성 프레임워크 - CORBA
PIM과 PSM 분리
기능과 아키텍쳐 분리
UML을 통한 쉬운 문서 작성 및 의사 소통
설명형
3문제 * 10점 = 30점
예비 답안은 2배수 6개
임베디드 소프트웨어 특성
6가지
실시간성
신뢰성
최적화 기술 지원
특정 시스템 전용
네트워크/멀티미디어 처리
열악한 개발 환경
실시간성
처리 및 응답시간의 즉시성
경성 실시간 : 엄격한 제한
연성 실시간 : 느슨한 제한
신뢰성
오동작이나 작동 중지의 비허용
미션 크리티컬
원자력, 항공기, 미사일
최적화 기술 지원
크기, 가격, 발열로 제한된 하드웨어에 탑재
경량화, 저전력, 자원관리
특정 시스템 전용
일반 범용이 아닌 특정 목적을 수행하기 위해 개발
네트워크/멀티미디어 처리
다양한 환경에서 사용되므로 유/무선 네트워크 연결 지원과
텍스트 위주 환경에서 멀티미디어 환경으로의 변화에 따라
멀티미디어 처리 능력 필요
열악한 개발 환경
하드웨어 개발까지 포함할 수 있으므로
일반적인 SW개발에 비해 개발 환경 열악
임베디드 운영체제 필요성
3가지
특정 시스템에 대한 최적화
미사일이나 인공위성 등 오류에 견고하거나 실시간성이
중요한 경우 그에 최적화된 운영체제 필요
가격적인 측면
최소의 자원만을 사용하는 최적의 운영체제
응용SW 개발 용이성
우선순위 기반 스케줄링 커널
라이브러리, 미들웨어, IDE, 모니터링 도구 등 구성
임베디드 운영체제 기능
5가지
실시간 처리
제한된 시간내에 시스템 요구 처리를 위한
응답성, 스케줄링, 비동기적 이벤트 처리
스케줄러
우선순위 기반 스케줄링 알고리듬
태스크 통신
멀티태스킹 시 태스크 간 통신이나 동기화
임베디드 운영체제 기능
선점형 커널
우선순위가 높은 태스크로 전환
사용자 개발도구 지원
별도의 개발 시스템을 통해 응용SW를 개발하고
이미지 설치 구동이 가능하도록 지원
소프트웨어 플랫폼 개념
응용 프로그램을 돌리는데 필요한 HW/SW의 결합으로
하나의 운영체제 또는 컴퓨터 아키텍쳐
하드웨어 플랫폼에 탑재되어 하드웨어 기능을
애플리케이션에서 사용할 수 있도록 하고
애플리케이션 개발에 필요한 프로그래밍 환경 및
실행 환경을 제공하는 역할을 수행하는 것
협의 : 운영체제 + 미들웨어, 라이브러리
광의 : 협의 + 개발 환경
임베디드 소프트웨어 개발 특징
5가지
범용SW 개발에 비해 복잡하고 고도의 기술 요구
빠른 IT기술 변화와 트렌드 반영 필요
HW/SW 모두에 대한 이해 필요
개발 단계 피드백 어려움
기술축적 및 유지보수 어려움
시스템 개발 생명 주기
2014-EmbeddedSW중간시험
By Myung Woon, Oh
2014-EmbeddedSW중간시험
- 806