2010년 9월 9일 목요일

Brew MP Kit and Multiplatform Overview

Brew MP Kit and Multiplatform Overview

Introduction

Brew MP SDK는 유저가 SDK 하나로 다양한 플랫폼 버전에서 개발을 할 수 있도록 디자인이 되어 있다. 이를 위하여 SDK Tool과 플랫폼이 구분되어 있다. 한  SDK내에 다양한 Brew MP 버전을 인스톨 할 수 있도록 되어 있다는 것이다.

SDK는 아래 그림 처럼 구성이 되어 있다.





Toolset

Brew MP SDK는 유저에게 어플리케이션 개발을 돕고 최적화 할 수 있는 툴을
제공하며, 제공되는 툴들은 아래와 같이 분류 할 수 있다.
  • Setup: 툴과 문서를 억세스시 시작점이 되는 SDK Manager, IDE 플러그 인, 샘플 코드 그리고 인스톨된 Toolset과 플랫폼을 관리한다.
  • Developer: 코드 작성을 도와 주는 IDE 플러그인(Visual Studio, Eclipse, Flash)
  • Target: 물리적인 디바이스 혹은 시뮬레이터에 어플레케이션을 다운로드 하고 실행할 수 있는 환경 제공
  • Test: 스트레스 테스트, 안정성 테스트 등을 할 수 있는 테스트 환경의 제공. 타겟 뿐만 아니라 시뮬레이터에서도 테스트 가능하다.
Platform Kits

모든 플랫폼 킷은 특정 버전에 맞는 컴포넌트를 포함 하고 있다. 새로운 플랫폼
버전이 릴리즈 되면, 사용자는 다운 받아 설치 할 수 있다. 여러 버전의
플랫폼이 인스톨 될 수 있어 버전 별 어플리케이션 테스트가 가능하다.

Note: Brew MP SDK는 Default 플랫폼 버전이 포함되어 있으므로 설치 후
추가적인 다운로드가 필요 없다. 추가로 다른 버전을 설치할 수 있다.

Platform Pro Kit

플랫폼 검증과 커스텀 시뮬레이션을 구성하고 싶다면, 플랫폼 프로 킷을
사용하면 된다. OSA(Optional Software Agreement)가 있을 경우 다운로드가
가능하다. 예전에는 SCK(Simulator Construction Kit)이 분리 되어 있었으나
지금은 모두 통합되어 있다.

Toolset Contents

Brew MP Toolset은 플랫폼에서 사용되는 헤더 및 관련 파일들과 분리 되어 있다.
플랫폼의 버전과 관계 없이 Toolset은 Toolset대로 따로 버전이 관리 된다는
것이다.

아래 그림은 툴셋의 구성과 어떻게 상호 작용이 일어나는지 보여준다.


Setup Tools

Setup 툴은 유저에 SDK 컴포넌트를 설치하고 관리할 수 있도록 해준다.

SDK Manager
  • Resource Tab은 Web혹은 Local에 있는 도큐먼트와 리소스의 링크를 제공한다.
  • Tool 탭은 SDK와 인스톨된 tool과 유틸리티의 링크를 제공 한다.
  • Setup 탭에서는 설치된 툴셋과 플랫폼의 관리, IDE 플러그인 관리 및 설정 및 예제 코드를 설치 할 수 있다.
Sample Code Installer
사용자 샘플 코드를 설치 할 폴더 지정할 수 있도록 해준다. 

IDE Plugin Installers
Setup 탭에서 MS Visual Sudio, Eclipse Galileo, Adobe Flash CS4 플러그인을
설치 할 수 있다.


Developer Tools
개발자들을 위한 Tool은 대부분 IDE 플러그인으로 구성된다.

Visual Studio 플러그인
  • 프로젝트 마법사( 어플리케이션, 익스텐션,..)
  • 타겟 빌드, 실행, 디버깅을 위한 원클릭 솔루션
Eclipse 플러그인

  • 프로젝트 마법사( 어플리케이션, 익스텐션,..)
  • 타겟 빌드, 실행, 디버깅을 위한 원클릭 솔루션
Flash CS4 플러그인
  • Brew MP용 액션 스크립트 인터페이스
  • 타겟 빌드, 실행 환경
AppCreator
TrigML을 사용할 경우 UI을 구성하기 위한 IDE

Resource manager
리소스 매니저는 Brew MP 모듈 정보와 리소스 파일(.cif,.car)를 생성하고 편집하며 mif나 bar 파일로 컴파일 하는 툴이다. 또한 deprecated 된 BREW 리소스(.mfx,.brx,.brh)를 BREW MP리소스로 변환(?)할 수 있다.

Debugger
디버거는 GNU 툴을 사용하고 어플리케이션의 타겟 디버깅을 지원한다.

Target Tools
타겟 툴은 어플리케이션을 시뮬레이터 혹은 타겟에서 실행하는데 필요한 툴들의 집합이다.

Simulator

Brew MP 시뮬레이터는 Brew MP 디바이스를 에뮬레이션을 하므로 어플리케션 및
익스텐션의 테스트/디버깅용으로 사용할 수 있다.

사용자는 좀더 정확한 시뮬레이션을 위해 시뮬레이터 플러그인을 만들 수 있고
이 플러그인을 이용하여 원하는 시뮬레이션을 할 수 있다. 예를 들어 네트워크
트래픽에 관련된 시뮬레이션 플러그인을 커스터마이즈 하면 좀더 나은 조건의
시뮬레이션 환경이 될 수 있다. 시뮬레이션 커스터마이징은 다른 섹션에서
자세히 다루어 봐야 하지 않을까..ㅠ,.ㅠ

Target Manager
디바이스 프로파일 관리.

Loader
로더는 GUI와 CLI(Command Line Interface)로 구성이 되어 있으며 어플리케이션 로드 및 데이터 파일 전송등의 기능을 가지고 있다.

Logger
BREW MP 로거는 디바이스 상태와 로그 베시지를 볼 수 있다.

Connect
디바이스와 툴을 연결하기 위한 라이브러리

USB Driver
Brew MP SDK는 COM 포트 대신 USB와 통신을 한다. 사용자는 SDK에 포함되어 있는
general USB 드라이버를 설치해야 한다. 기존보다 10배 정도 빠르다. 정말일까.??

Test Tools

Test Studio
테스트 스튜디오는 플랫폼 테스팅을 관리 하는 툴이다. 테스트 모듈을 로딩하고 실행, 로그 파일 업로딩, 디바이스 인증을 위한 리포트 생성 하는 기능이 있다. 시뮬레이터와 타겟에서 동작한다. 테스트 모듈은 플랫폼 프로 킷에 포함되어 있다.

Stress and Stability Applets
이 두 어플리케이션은 다양한 시나리오 상황에서 개발자가 만든 어플리케이션이
다양한 상황에서 어떻게 동작하는지를 보면서 테스트 할 수 있도록 해준다.



Platform Contents

· Version-specific header and include files, by API family (connectivity, databases...UI)
· Version-specific C/C++ API Reference
· Device profiles
· Make.d
· makefiles
· Reference UI - touch and soft key
· Legacy device pack files
· Legacy Simulator (version 5)

Platform Pro Contents

OEM 타입의 커스터마이징 및 테스트를 진행할 수 있도록 하는 모든 요소들이
포함되어 있다. 플래폼 킷에 포함되어 있는 헤더와 라이브러리 이외에 Oem
헤더와 라이브러리, 테스트 프레임워크, Simulator Construction Kit(SCK)를
포함한다.

플래폼 킷에 추가로 아래의 구성 요소들이 포함되어 있다.

· Version-specific Platform Pro and OEM headers and libraries, by API family (connectivity, databases...UI)
· Test frameworks (OAT, CTF, etc)
· Platform tests
· Simulator Construction Kit (SCK)

The Evolution of BREW to Brew MP Multiplatform

이전 BREW 모델은 SDK 툴로 타이트 하게 인테그레이션 되어 있다. 예를 들어 BREW 버전별로 SDK 버전이 달라야 한다. 사용자는 사용하고자 하는 BREW 버전에 맞는 SDK 버전으로 테스트를 해야 하며 다른 버전으로 테스트 할 경우 빌드 및 테스트도 다시 해야 한다.

Brew MP에서는 SDK의 개발 툴이 플랫폼과 분리되어 있어 버전 별 빌드/테스트가 용이하다. 어차피 플랫폼은 다시 받아야 하는데 그게 그거 아닌가? 그래도 조금 편하지 않을까.

Brew MP Multiplatform을 만든 목적은,

- 시뮬레이션의 Workflow와 환경을 타겟과 최대한 비슷하게 하는 것
- 단일 버전의 SDK 환경에서 복수(?) 버전의 플랫폼 빌드/구동을 할 수
있게 해서 개발을 단순화 시키기 위해서..

아래는 BREW SDK환경에서 Brew MP SDK환경과의 비교 다이어그램이다.



Simulation model evolution

Multiplatform으로 바뀌면서 Simulator 가 버전이 5에서 6으로 바뀌었다. Device
Pack이 Device Profile로 바뀌고…

바뀐거 좋은데, OAT테스트시에는 Device Pack을 사용하라고 하고 있는다. 그냥..
옛날꺼 쓰지..

어쨌든 이렇게 구조적인 변화(version, OS 관련 피쳐가 시뮬레이터로부터
분리됨)로 인해 아래와 같은 장점을 가지게 되었다.

- 시뮬레이터를 멀티플 타겟 테스트 용도로 사용 가능 (1.0.2,1.0.3 두
가지 버전을 PC상에서 테스트 가능하다는 얘기가 됨)

- 시뮬레이터 테스트 환경이 물리적인 디바이스의 실행환경에 이전 보다
매우 근접하게 되었다. ( 이해가 않감. 그게 그거 인 것 같은데 예전에도 SCK가
있었고 PK(Porting Kit)이 있었다. PK의 경우 SDK비해 실제 디바이스와 유사한
환경을 만들 수 있다.)




댓글 없음:

댓글 쓰기