[홍익 김영철]add발표자료최종.ppt [호환 모드] -...
TRANSCRIPT
![Page 2: [홍익 김영철]ADD발표자료최종.ppt [호환 모드] - Hongikselab.hongik.ac.kr/show_data/publications/ADD_research.pdfv하나의메타모델링(TargetIndependentModel)을통하여각각의다른도메](https://reader033.vdocuments.net/reader033/viewer/2022041811/5e57eb01d23ab409a505fdf4/html5/thumbnails/2.jpg)
COE(Common Operating Environment)
v 문제점
–플랫폼 별 세그먼트 존재
–세그먼트의 재사용이 어려움
2
![Page 3: [홍익 김영철]ADD발표자료최종.ppt [호환 모드] - Hongikselab.hongik.ac.kr/show_data/publications/ADD_research.pdfv하나의메타모델링(TargetIndependentModel)을통하여각각의다른도메](https://reader033.vdocuments.net/reader033/viewer/2022041811/5e57eb01d23ab409a505fdf4/html5/thumbnails/3.jpg)
기존의 개발 방법
v 기존의 임베디드 소프트웨어 개발
–서로 다른 제품 개발시 각각의 S/W를 따로 개발
–각 시스템마다 개발 소요기간 및 투입 인원이 중복 소요됨으로 비용이 증대
3Windows Platform Linux Platform Unix Platform
![Page 4: [홍익 김영철]ADD발표자료최종.ppt [호환 모드] - Hongikselab.hongik.ac.kr/show_data/publications/ADD_research.pdfv하나의메타모델링(TargetIndependentModel)을통하여각각의다른도메](https://reader033.vdocuments.net/reader033/viewer/2022041811/5e57eb01d23ab409a505fdf4/html5/thumbnails/4.jpg)
v 하나의 메타 모델링(Target Independent Model)을 통하여 각각의 다른 도메
인에 맞는 타겟 종속적 모델(Target Specific Model)들을 만들고, 그에 따른 소
스 코드(Target Dependent Code)를 개발하는 방법
e-MDA(Model Driven Archeture) 기반 방법
자동 코드 발생기(HiMEM v1.0)
4
Windows Platform Linux Platform Unix Platform
![Page 5: [홍익 김영철]ADD발표자료최종.ppt [호환 모드] - Hongikselab.hongik.ac.kr/show_data/publications/ADD_research.pdfv하나의메타모델링(TargetIndependentModel)을통하여각각의다른도메](https://reader033.vdocuments.net/reader033/viewer/2022041811/5e57eb01d23ab409a505fdf4/html5/thumbnails/5.jpg)
기존 임베디드 SW 개발 비교
EMMA (Product Line)
[Yang, Kang]
Harmony Process (MDD)
[Douglass]
HiMEM (MDA/MDD Paradigm
) [Kim]
1) 한번의 개발 라이프 사
이클 후에, 핵심 자산 재사
용하는 기법
2) 단종의 임베디드 시스템
을 적시에 경제적으로 개발
3) Feature Driven
4) 커스터마이징 용이
5) UML 2.0 적용
1) 한번의 개발 라이프사이
클 중에, 정제한 프로토타입
재사용하는 기법
2) 단종의 임베디드 시스템
을 적시에 경제적으로 개발
3) 시 스 템 / 소 프 트 웨 어
책임 구분
4) UML 2.0 + SysML 적용
5) 코드 자동 생성기 필수
1) 한번의 개발 라이프사이클 중
에, 하나의 메타 모델을 재사용
하는 기법
2) 이종의 임베디드 시스템을
적시에 경제적으로 개발
3) xUML + UML 2.0 적용
4) 커스터마이징 용이
5) 코드 자동 생성기 필수
![Page 6: [홍익 김영철]ADD발표자료최종.ppt [호환 모드] - Hongikselab.hongik.ac.kr/show_data/publications/ADD_research.pdfv하나의메타모델링(TargetIndependentModel)을통하여각각의다른도메](https://reader033.vdocuments.net/reader033/viewer/2022041811/5e57eb01d23ab409a505fdf4/html5/thumbnails/6.jpg)
구분 (a) SUGV1 (b) SUGV2
MicrocontrollerUbicom SX48AC
20MHzAtmel Atmega128
16MHz
OS Javeline brickOS
RAM 32 KByte 4KByte
EEPROM 32 KByte 128KByte
Sensor 2 2
Communication Bluetooth Bluetooth
Motors 18 18
JVM On Hardware No
Languages Java C/C++
(a) SUGV 1
(b) SUGV2
적용사례
6
![Page 7: [홍익 김영철]ADD발표자료최종.ppt [호환 모드] - Hongikselab.hongik.ac.kr/show_data/publications/ADD_research.pdfv하나의메타모델링(TargetIndependentModel)을통하여각각의다른도메](https://reader033.vdocuments.net/reader033/viewer/2022041811/5e57eb01d23ab409a505fdf4/html5/thumbnails/7.jpg)
7 7
![Page 8: [홍익 김영철]ADD발표자료최종.ppt [호환 모드] - Hongikselab.hongik.ac.kr/show_data/publications/ADD_research.pdfv하나의메타모델링(TargetIndependentModel)을통하여각각의다른도메](https://reader033.vdocuments.net/reader033/viewer/2022041811/5e57eb01d23ab409a505fdf4/html5/thumbnails/8.jpg)
Pre-Modeling & Pre-Simulation
8
![Page 9: [홍익 김영철]ADD발표자료최종.ppt [호환 모드] - Hongikselab.hongik.ac.kr/show_data/publications/ADD_research.pdfv하나의메타모델링(TargetIndependentModel)을통하여각각의다른도메](https://reader033.vdocuments.net/reader033/viewer/2022041811/5e57eb01d23ab409a505fdf4/html5/thumbnails/9.jpg)
프리 모델링(Pre-Modeling) 절차
9
3D 모델링
관절 결합센서 결합 모터 결합
모델 조립
부품등록
모션캡처
모션프로그래밍
모델조합
모션생성
![Page 10: [홍익 김영철]ADD발표자료최종.ppt [호환 모드] - Hongikselab.hongik.ac.kr/show_data/publications/ADD_research.pdfv하나의메타모델링(TargetIndependentModel)을통하여각각의다른도메](https://reader033.vdocuments.net/reader033/viewer/2022041811/5e57eb01d23ab409a505fdf4/html5/thumbnails/10.jpg)
모델 조합 도구
10
![Page 11: [홍익 김영철]ADD발표자료최종.ppt [호환 모드] - Hongikselab.hongik.ac.kr/show_data/publications/ADD_research.pdfv하나의메타모델링(TargetIndependentModel)을통하여각각의다른도메](https://reader033.vdocuments.net/reader033/viewer/2022041811/5e57eb01d23ab409a505fdf4/html5/thumbnails/11.jpg)
모션 생성 도구
11
![Page 12: [홍익 김영철]ADD발표자료최종.ppt [호환 모드] - Hongikselab.hongik.ac.kr/show_data/publications/ADD_research.pdfv하나의메타모델링(TargetIndependentModel)을통하여각각의다른도메](https://reader033.vdocuments.net/reader033/viewer/2022041811/5e57eb01d23ab409a505fdf4/html5/thumbnails/12.jpg)
Pre-Modeling & Pre-Simulation
12
![Page 13: [홍익 김영철]ADD발표자료최종.ppt [호환 모드] - Hongikselab.hongik.ac.kr/show_data/publications/ADD_research.pdfv하나의메타모델링(TargetIndependentModel)을통하여각각의다른도메](https://reader033.vdocuments.net/reader033/viewer/2022041811/5e57eb01d23ab409a505fdf4/html5/thumbnails/13.jpg)
Simulation Enviroment
13
![Page 14: [홍익 김영철]ADD발표자료최종.ppt [호환 모드] - Hongikselab.hongik.ac.kr/show_data/publications/ADD_research.pdfv하나의메타모델링(TargetIndependentModel)을통하여각각의다른도메](https://reader033.vdocuments.net/reader033/viewer/2022041811/5e57eb01d23ab409a505fdf4/html5/thumbnails/14.jpg)
Pre-Modeling & Pre-Simulation
14
![Page 15: [홍익 김영철]ADD발표자료최종.ppt [호환 모드] - Hongikselab.hongik.ac.kr/show_data/publications/ADD_research.pdfv하나의메타모델링(TargetIndependentModel)을통하여각각의다른도메](https://reader033.vdocuments.net/reader033/viewer/2022041811/5e57eb01d23ab409a505fdf4/html5/thumbnails/15.jpg)
Pre-Simulation
v 시뮬레이션 도구
15
![Page 16: [홍익 김영철]ADD발표자료최종.ppt [호환 모드] - Hongikselab.hongik.ac.kr/show_data/publications/ADD_research.pdfv하나의메타모델링(TargetIndependentModel)을통하여각각의다른도메](https://reader033.vdocuments.net/reader033/viewer/2022041811/5e57eb01d23ab409a505fdf4/html5/thumbnails/16.jpg)
16 16
![Page 17: [홍익 김영철]ADD발표자료최종.ppt [호환 모드] - Hongikselab.hongik.ac.kr/show_data/publications/ADD_research.pdfv하나의메타모델링(TargetIndependentModel)을통하여각각의다른도메](https://reader033.vdocuments.net/reader033/viewer/2022041811/5e57eb01d23ab409a505fdf4/html5/thumbnails/17.jpg)
Modeling & Simulation à TIM 모델 변환
Robot Model UML Model
Modeling & Simulation
Requirement & Analysis
Design Implementation
RequirementDescription
Code
conforms to conforms to
Lifecycle
Metamodel
Model
Translator
Robot Metamodel
UML Metamodel
use use
XMI XMI
17
![Page 18: [홍익 김영철]ADD발표자료최종.ppt [호환 모드] - Hongikselab.hongik.ac.kr/show_data/publications/ADD_research.pdfv하나의메타모델링(TargetIndependentModel)을통하여각각의다른도메](https://reader033.vdocuments.net/reader033/viewer/2022041811/5e57eb01d23ab409a505fdf4/html5/thumbnails/18.jpg)
Software Development
18
![Page 19: [홍익 김영철]ADD발표자료최종.ppt [호환 모드] - Hongikselab.hongik.ac.kr/show_data/publications/ADD_research.pdfv하나의메타모델링(TargetIndependentModel)을통하여각각의다른도메](https://reader033.vdocuments.net/reader033/viewer/2022041811/5e57eb01d23ab409a505fdf4/html5/thumbnails/19.jpg)
모델링 절차
1. 요구사항 명세화
Use Case Diagram
Admit
Administrator
Class Diagram
2. 클래스 명세화
Concurrent Message Diagram
3. 객체 상호작용 명세화
Concurrent State Diagram
4. 행위 명세화 19
![Page 20: [홍익 김영철]ADD발표자료최종.ppt [호환 모드] - Hongikselab.hongik.ac.kr/show_data/publications/ADD_research.pdfv하나의메타모델링(TargetIndependentModel)을통하여각각의다른도메](https://reader033.vdocuments.net/reader033/viewer/2022041811/5e57eb01d23ab409a505fdf4/html5/thumbnails/20.jpg)
다관절 로봇 소프트웨어 개발 도구
v UML Tool
20
![Page 21: [홍익 김영철]ADD발표자료최종.ppt [호환 모드] - Hongikselab.hongik.ac.kr/show_data/publications/ADD_research.pdfv하나의메타모델링(TargetIndependentModel)을통하여각각의다른도메](https://reader033.vdocuments.net/reader033/viewer/2022041811/5e57eb01d23ab409a505fdf4/html5/thumbnails/21.jpg)
Software Development
21
![Page 22: [홍익 김영철]ADD발표자료최종.ppt [호환 모드] - Hongikselab.hongik.ac.kr/show_data/publications/ADD_research.pdfv하나의메타모델링(TargetIndependentModel)을통하여각각의다른도메](https://reader033.vdocuments.net/reader033/viewer/2022041811/5e57eb01d23ab409a505fdf4/html5/thumbnails/22.jpg)
모델 변환 메카니즘
TIM Model
TSM Model
Code
conforms to
conforms to
Translator
UML Metamodel
UML Metamodel
use
use
XMI
XMI
use
use
TransformationRule
Hardware Profile
Class Diagram
Sequence Diagram
State Diagram
Class Diagram
Sequence Diagram
State Diagram
MiddlewareOperating System
Hardware
22
![Page 23: [홍익 김영철]ADD발표자료최종.ppt [호환 모드] - Hongikselab.hongik.ac.kr/show_data/publications/ADD_research.pdfv하나의메타모델링(TargetIndependentModel)을통하여각각의다른도메](https://reader033.vdocuments.net/reader033/viewer/2022041811/5e57eb01d23ab409a505fdf4/html5/thumbnails/23.jpg)
임베디드 시스템 플랫폼
23
MiddlewareMiddleware
Operating SystemOperating System
HardwareHardware
PlatformPlatform
![Page 24: [홍익 김영철]ADD발표자료최종.ppt [호환 모드] - Hongikselab.hongik.ac.kr/show_data/publications/ADD_research.pdfv하나의메타모델링(TargetIndependentModel)을통하여각각의다른도메](https://reader033.vdocuments.net/reader033/viewer/2022041811/5e57eb01d23ab409a505fdf4/html5/thumbnails/24.jpg)
임베디드 시스템 플랫폼의 예
24
Middleware(None)
Middleware(None)
Operating System(Javeline)
Operating System(Javeline)
Hardware(Ubicom SX48AC)
Hardware(Ubicom SX48AC)
Platform 2Platform 2
Middleware(None)
Middleware(None)
Operating System(brickOS)
Operating System(brickOS)
Hardware(Hitach H8)Hardware
(Hitach H8)
Platform 1Platform 1
(a) System 1 (b) System 2
![Page 25: [홍익 김영철]ADD발표자료최종.ppt [호환 모드] - Hongikselab.hongik.ac.kr/show_data/publications/ADD_research.pdfv하나의메타모델링(TargetIndependentModel)을통하여각각의다른도메](https://reader033.vdocuments.net/reader033/viewer/2022041811/5e57eb01d23ab409a505fdf4/html5/thumbnails/25.jpg)
TIM à TSM 변경 –모델 변환
(a) System 1 (b) System 2 25
![Page 26: [홍익 김영철]ADD발표자료최종.ppt [호환 모드] - Hongikselab.hongik.ac.kr/show_data/publications/ADD_research.pdfv하나의메타모델링(TargetIndependentModel)을통하여각각의다른도메](https://reader033.vdocuments.net/reader033/viewer/2022041811/5e57eb01d23ab409a505fdf4/html5/thumbnails/26.jpg)
Software Development
26
![Page 27: [홍익 김영철]ADD발표자료최종.ppt [호환 모드] - Hongikselab.hongik.ac.kr/show_data/publications/ADD_research.pdfv하나의메타모델링(TargetIndependentModel)을통하여각각의다른도메](https://reader033.vdocuments.net/reader033/viewer/2022041811/5e57eb01d23ab409a505fdf4/html5/thumbnails/27.jpg)
코드 메타데이터 모델 각 코드 템플릿
생성된 코드
Class Name: string
Package List: List
Parent List : List
Interface List : List
Association List: List
Association List Attribute
SetFunction
Attribute List: List
Function List: List
Function List Head
Body
타겟 의존 코드 생성
27
![Page 28: [홍익 김영철]ADD발표자료최종.ppt [호환 모드] - Hongikselab.hongik.ac.kr/show_data/publications/ADD_research.pdfv하나의메타모델링(TargetIndependentModel)을통하여각각의다른도메](https://reader033.vdocuments.net/reader033/viewer/2022041811/5e57eb01d23ab409a505fdf4/html5/thumbnails/28.jpg)
코드 생성(Class Diagram 매핑)
28
v Class DiagramClass Name: string
Package List: List
Parent List : List
Interface List : List
Association List: List
Association List Attribute
SetFunction
Attribute List: List
Function List: List
Function List Head
Body
![Page 29: [홍익 김영철]ADD발표자료최종.ppt [호환 모드] - Hongikselab.hongik.ac.kr/show_data/publications/ADD_research.pdfv하나의메타모델링(TargetIndependentModel)을통하여각각의다른도메](https://reader033.vdocuments.net/reader033/viewer/2022041811/5e57eb01d23ab409a505fdf4/html5/thumbnails/29.jpg)
코드 생성(Concurrent Message Diagram 매핑)
29
v Concurrent Message DiagramClass Name: string
Package List: List
Parent List : List
Interface List : List
Association List: List
Association List Attribute
SetFunction
Attribute List: List
Function List: List
Function List Head
Body
![Page 30: [홍익 김영철]ADD발표자료최종.ppt [호환 모드] - Hongikselab.hongik.ac.kr/show_data/publications/ADD_research.pdfv하나의메타모델링(TargetIndependentModel)을통하여각각의다른도메](https://reader033.vdocuments.net/reader033/viewer/2022041811/5e57eb01d23ab409a505fdf4/html5/thumbnails/30.jpg)
코드 생성(Concurrent State Diagram 매핑)
30
v Concurrent State DiagramClass Name: string
Package List: List
Parent List : List
Interface List : List
Association List: List
Association List Attribute
SetFunction
Attribute List: List
Function List: List
Function List Head
Body
![Page 31: [홍익 김영철]ADD발표자료최종.ppt [호환 모드] - Hongikselab.hongik.ac.kr/show_data/publications/ADD_research.pdfv하나의메타모델링(TargetIndependentModel)을통하여각각의다른도메](https://reader033.vdocuments.net/reader033/viewer/2022041811/5e57eb01d23ab409a505fdf4/html5/thumbnails/31.jpg)
코드 생성 (코드 메타데이터와 코드템플릿 매핑)
31
v 코드 메타데이터(Class, Message, State)
Class Name: string
Package List: List
Parent List : List
Interface List : List
Association List: List
Association List Attribute
SetFunction
Attribute List: List
Function List: List
Function List Head
Body
Source Code(java)
![Page 32: [홍익 김영철]ADD발표자료최종.ppt [호환 모드] - Hongikselab.hongik.ac.kr/show_data/publications/ADD_research.pdfv하나의메타모델링(TargetIndependentModel)을통하여각각의다른도메](https://reader033.vdocuments.net/reader033/viewer/2022041811/5e57eb01d23ab409a505fdf4/html5/thumbnails/32.jpg)
코드 생성(각각의 코드생성 템플릿)
import [Package List]
class [Class Name]
extends [Parent List]
implements [Interface List]
{
//association
protected
[Association List(Attribute)]
public
[Assocation List(SetFunction)]
//attribute
[Attribute List]
//Function
[Function List(Head)]
{
[Function List(Body)]
}
};
#include [Package List]
class [Class Name]
: [Parent List], [Interface List]
{
//association
protected :
[Association List(Attribute)]
public :
[Assocation List(SetFunction)]
//attribute
[Attribute List]
//Function
[Function List(Head)]
{
[Function List(Body)]
}
};
#include [Package List]
//attribute
[Attribute List]
//Function
[Function List(Head)]
[Function List(Head)]
{
[Function List(Body)]
}
JavaJava C++C++ CC
32
![Page 33: [홍익 김영철]ADD발표자료최종.ppt [호환 모드] - Hongikselab.hongik.ac.kr/show_data/publications/ADD_research.pdfv하나의메타모델링(TargetIndependentModel)을통하여각각의다른도메](https://reader033.vdocuments.net/reader033/viewer/2022041811/5e57eb01d23ab409a505fdf4/html5/thumbnails/33.jpg)
(a) System 1 (b) System 2
TIM à TSM 변경 –코드생성
33
![Page 34: [홍익 김영철]ADD발표자료최종.ppt [호환 모드] - Hongikselab.hongik.ac.kr/show_data/publications/ADD_research.pdfv하나의메타모델링(TargetIndependentModel)을통하여각각의다른도메](https://reader033.vdocuments.net/reader033/viewer/2022041811/5e57eb01d23ab409a505fdf4/html5/thumbnails/34.jpg)
도구 비교
Tau Rose RT Rhapsody HiMEM
Primary Market Telecom Real-time EmbeddedEmbedded, Real-time
Product Code
Generation
Code Generation 70~90% 70~80% 80~85% 80~90%Readable Codes No Yes Yes YesSource level Debugging Absent Supported Supported Supported
Rules based Code Generation Absent Supported Supported Supported
Roundtrip Engineering
Model/Code AssociativitySupported,
but some restrictions
Supported, but some restri
ctionsSupported Supported
Dynamic Model Code View Absent Absent Supported Supported
Model/Code Synchronization Absent Absent Supported Supported
Reverse Engineering
Reverse Engineering Supported Supported Supported AbsentForward Generation Supported Supported Supported Supported
Model Execution
Executable Model SupportedSupported, but using by VM
Supported Supported
Simulation Supported Supported Supported Supported
Simulating DiagramsSequence, Statechart
Sequence, Statechart
Sequence, Statechart,
ActivityCMD, CSD
Design-level debugging, animation Absent Absent Supported Supported
Requirements validation Supported Absent Supported Supported
Use Case tracing Absent Absent Supported SupportedReverse Fork/Join Absent Absent Absent Supported
![Page 35: [홍익 김영철]ADD발표자료최종.ppt [호환 모드] - Hongikselab.hongik.ac.kr/show_data/publications/ADD_research.pdfv하나의메타모델링(TargetIndependentModel)을통하여각각의다른도메](https://reader033.vdocuments.net/reader033/viewer/2022041811/5e57eb01d23ab409a505fdf4/html5/thumbnails/35.jpg)
35
도구시연 및 동영상
동영상
![Page 36: [홍익 김영철]ADD발표자료최종.ppt [호환 모드] - Hongikselab.hongik.ac.kr/show_data/publications/ADD_research.pdfv하나의메타모델링(TargetIndependentModel)을통하여각각의다른도메](https://reader033.vdocuments.net/reader033/viewer/2022041811/5e57eb01d23ab409a505fdf4/html5/thumbnails/36.jpg)
향후 적용 사례 1
36
Parallax QuadRover Robot Hanback HBE-EROBO-TANK
![Page 37: [홍익 김영철]ADD발표자료최종.ppt [호환 모드] - Hongikselab.hongik.ac.kr/show_data/publications/ADD_research.pdfv하나의메타모델링(TargetIndependentModel)을통하여각각의다른도메](https://reader033.vdocuments.net/reader033/viewer/2022041811/5e57eb01d23ab409a505fdf4/html5/thumbnails/37.jpg)
향후 적용 사례 2
AppleMicrosoft Google
iPhone AndroidWindows Mobile
e-MDA 기반의 모델변환 프레임워크
AppleMicrosoft Google
iPhone AndroidWindows Mobile
37
![Page 38: [홍익 김영철]ADD발표자료최종.ppt [호환 모드] - Hongikselab.hongik.ac.kr/show_data/publications/ADD_research.pdfv하나의메타모델링(TargetIndependentModel)을통하여각각의다른도메](https://reader033.vdocuments.net/reader033/viewer/2022041811/5e57eb01d23ab409a505fdf4/html5/thumbnails/38.jpg)
지적재산권 현황
v M&S 도구
–국 제 특 허 SPT20090102US ROBOT MOTION DATA GENERATION
METHOD AND A GENERATION APPARATUS USING IMAGE DATA
–국내특허 10-2008-0018493 다관절 로봇 시뮬레이션 제어 프로그램 개
발 도구
v 임베디드 소프트웨어 개발 도구
–국제특허 STP20090101US EMBEDDED SYSTEM DESIGN DEVICE AND A
METHOD THEREOF USING A TARGETINDEPENDENT MODEL
–국내특허 10-2008-0120892 타겟독립모델을 이용한 임베디드 시스템 설
계 장치 및 그 방법
38
![Page 39: [홍익 김영철]ADD발표자료최종.ppt [호환 모드] - Hongikselab.hongik.ac.kr/show_data/publications/ADD_research.pdfv하나의메타모델링(TargetIndependentModel)을통하여각각의다른도메](https://reader033.vdocuments.net/reader033/viewer/2022041811/5e57eb01d23ab409a505fdf4/html5/thumbnails/39.jpg)
김 영 철
홍익대학교 컴퓨터정보통신
(041)865-2477, 016-659-7518
소프트웨어공학연구실
[email protected] http://selab.hongik.ac.kr