서브메뉴
검색
본문
Powered by NAVER OpenAPI
-
실시간 임베디드 퀀텀 프로그래밍
저자 : Miro Samek
출판사 : 에이콘출판
출판년 : 2004
정가 : 40000, ISBN : 8989975492
책소개
20년쯤 전, David Harel은 복잡한 반응형 -이벤트 구동형- 시스템을 기술하는 강력한 방식으로써 상태차트를 개발했다. 동시에 상태차트는 뛰어난 형식으로써 프로그래머들로부터 거의 절대적인 지지를 얻었으며, 많은 소프트웨어 방법론의 컴포넌트로 채택됐다. 특히 이 중에서 가장 주목받은 것은 UML(Unified Modeling Language)이다. 이 책은 UML 상태차트로 만든 명세를 C/C++ 패턴과 이디엄에 따라 반응형 시스템을 모델링하는 방법을 알려주는 책이다.
기본적으로 이 책은 설계 자동화 툴에 심플하고 경량의 대안으로 구체적이고 효과적이며 입증된 상태차트의 구현을 소개함으로써, C나 C++에 익숙한 사람이라면 며칠 내로 상태차트의 구현을 시도할 수 있게끔 한다. 또한 상태차트와 상태차트 기반 컴퓨팅 모델을 구현함으로써, 새로운 프로그래밍 패러타임의 초석을 닦는다.
이 책은 크게 두 부분으로 이뤄진다. 1부(1 ~ 6장)에서는 상태머신을 설명한다. 상태머신이 무엇이고, 어떻게 구현하며, 이를 사용하는 기본적인 방식이나 패턴에는 어떤 것이 있는지 알아본다. 이 부분은 대개 사용자 인터페이스, 리얼타임 시스템, 임베디드 시스템과 같은 이벤트 구동형 시스템에 적용할 수 있다. 2부(7 ~ 11장)에서는 퀀텀 프레임워크를 설명한다. 퀀텀 프레임워크는 임베디드 리얼타임 시스템을 대상으로 설계된 소프트웨어 아키텍처이다.
목차
서문 vii
상태차트 / STATECHARTS 1
1장 간략히 살펴보는 퀀텀 프로그래밍 3
1.1 Ultimate Hook - GUI 애플리케이션 해부 4
1.2 더 좋은 프로그래밍 방법 - 계산기 6
1.3 객체지향과의 유사성 16
1.4 퀀텀 프로그래밍과 양자역학 19
1.5 요약 20
2장 상태차트 / Crash Course in Statecharts 23
2.1 유한 상태머신의 핵심 24
2.2 UML 상태차트의 기초 30
2.3 상태모델 예제 44
2.4 요약 52
3장 표준 상태머신 구현 / Standard State Machine Implementations 55
3.1 상태머신 인터페이스 56
3.2 중첩 switch 문 57
3.3 상태 테이블 60
3.4 상태 설계패턴 65
3.5 최적 FSM 구현 69
3.6 상태머신과 C++ 예외처리 73
3.7 멤버 함수에 대한 포인터의 역할 73
3.8 가드, 연결점, 선택점 구현 76
3.9 진입액션과 탈출액션 구현 76
3.10 상태계층 처리 77
3.11 요약 79
4장 비헤비어 상속 구현/ Implementing Behavioral Inheritance 81
4.1 구조 83
4.2 예제 94
4.3 휴리스틱과 이디엄 101
4.4 이벤트 처리기 106
4.5 C 구현 120
4.6 유의사항 126
4.7 요약 128
5장 상태패턴 / State Patterns 131
5.1 Ultimate Hook 133
5.2 Reminder 138
5.3 Deferred Event 144
5.4 Orthogonal Component 149
5.5 Transition to History 160
5.6 요약 164
6장 상태모델 상속 / Inheriting State Models 167
6.1 C++ 상태차트 개선 예제 168
6.2 C에서의 상태차트 개선 예제 177
6.3 유의사항 180
6.4 요약 185
퀀텀 프레임워크 / QUANTUM FRAMEWORK 187
7장 퀀텀 프로그래밍이란/ Introducing the Quantum Framework 189
7.1 멀티스레딩의 일반 접근법 191
7.2 QF의 컴퓨팅 모델 197
7.3 QF의 역할 206
7.4 요약 212
8장 퀀텀 프레임워크 설계 / Design of the Quantum Framework 215
8.1 임베디드 리얼타임 시스템 216
8.2 오류와 예외조건 처리 218
8.3 메모리 관리 225
8.4 상호배제와 블로킹 230
8.5 이벤트 전달 235
8.6 능동객체 248
8.7 초기화와 삭제 253
8.8 시간 관리 255
8.9 QF API의 간단한 레퍼런스 258
8.10 요약 263
9장 퀀텀 프레임워크 구현/ Implementations of the Quantum Framework 265
9.1 QF - Parnas 패밀리 266
9.2 코드 구성 267
9.3 공통요소 272
9.4 DOS : 멀티태스킹 커널이 없는 QF 283
9.5 Win32 : 데스크탑에서의 QF 291
9.6 RTKernel-32 : QF와 선점형 우선순위 기반 커널 295
9.7 요약 302
10장 샘플 퀀텀 프레임워크 애플리케이션/Sample Quantum Framework Application 305
10.1 QF 애플리케이션 제작 306
10.2 QF 애플리케이션 개발 규칙 315
10.3 애플리케이션 개발에 있어서의 휴리스틱 317
10.4 이벤트 큐와 이벤트 풀의 크기 318
10.5 시스템 통합 323
10.6 요약 323
11장 결론 / Conclusion 325
11.1 QP의 핵심요소 326
11.2 QP의 목적 329
11.3 제안 333
부록 "C+" - C 객체지향 프로그래밍/ "C+" - Object Oriented Programming in C 335
A.1 추상화(Abstraction) 336
A.2 상속(Inheritance) 339
A.3 다형성 341
A.4 비용과 오버헤드 349
A.5 요약 350
부록 B 표기법 안내 / Guide to Notation 353
B.1 클래스 다이어그램 353
B.2 상태차트 다이어그램 356
B.3 시퀀스 다이어그램 357
B.4 타이밍 다이어그램 357
부록 C CD-ROM 359
C.1 소스코드 구조 361
C.2 설치 361
C.3 연습문제의 정답 362
C.4 자료 362