동적 아키텍처 스케줄링을 위한 사용 패턴 기반의 프레임워크
A Usage Pattern-Based Framework for Dynamic Architecture Scheduling
- 주제(키워드) software architecture , dynamic architecture , usage pattern , architecture scheduling
- 발행기관 서강대학교 대학원
- 지도교수 박수용
- 발행년도 2009
- 학위수여년월 2009. 2
- 학위명 석사
- 실제URI http://www.dcollection.net/handler/sogang/000000044846
- 본문언어 한국어
초록/요약
사람들은 저마다 다양한 성향과 기호를 지니고 있기에 소프트웨어는 다양한 요구사항을 만족시키기 위해 다양한 기능을 지녀야 한다. 또한 소프트웨어 규모가 커지고 설계가 복잡해짐에 따라 소프트웨어 자체적으로 매우 다양한 기능이 추가된다. 하지만 기능이 추가될수록 모든 기능을 메모리에 올리기 위한 로딩 시간이 증가하는 문제가 발생한다. 이러한 문제점으로 인하여 소프트웨어는 대기 시간이 증가하게 되고 이로 인해 사용자의 불만 또한 증가하게 된다. 이를 해결하기 위한 접근 방안은 사용자가 필요로 하는 기능을 파악하여 해당 기능만 메모리에 로딩함으로써 로딩 시간을 최고화 하는 소프트웨어를 설계하는 것이다. 따라서 본 논문에서는 이러한 소프트웨어를 설계하기 위한 해결책으로 사용 패턴에 기반한 동적 아키텍처 스케줄링을 위한 프레임워크를 제안한다. 본 논문의 프레임워크는 기존의 정적인 아키텍처 특성을 배제하고 사용자 행위 기록에 기반한 사용 패턴을 기반으로 한다. 사용 패턴을 바탕으로 사용자의 행위를 예측하여 사용자가 필요로 하는 기능만을 추출하고 이에 해당하는 아키텍처를 실시간으로 메모리에 로딩하는 아키텍처 스케줄링 과정을 거침으로써 로딩 시간을 최소화 한다.
more초록/요약
Increasing diversity in user needs necessitate software systems to provide wider range of functionalities for user satisfaction. As system design evolves in order to accommodate integration of extra functions, system scale expands and design complexity increases. If a software package is loaded along with its full array of functions for every user, it will result in extended loading time at software startup and unnecessary loading of functionalities only used by a subgroup of users. As longer loading time degrades software usability and decreases user satisfaction, we need to perform selective loading of functions in accordance with the functional requirements of users. We address the problem by proposing a framework for designing software which minimizes loading time through dynamic architecture scheduling based on usage patterns. The framework proposed in this paper excludes the static nature found in existing architectures through adopting usage patterns based on history of user behaviors, preferences and styles. Through predictions drawn from usage patterns, the proposed framework extracts a given user’s functional requirements and dynamically loads corresponding architectures through an architecture scheduling process, thereby minimizing loading time.
more목차
제1장 서론 = 1
제2장 관련 연구 = 4
2.1 지능형 서비스 로봇의 효율적인 자원 배분 연구 = 4
2.2 환경에 스스로 적응하는 자가 적응형 인프라스트럭처 연구 = 6
2.3 관련 연구 분석 = 7
제3장 동적 아키텍처 스케줄링을 위한 프레임워크 = 10
3.1 사용자 인내력 (User Tolerance) = 11
3.2 대기 시간 (Waiting Time) = 13
3.3 프레임워크의 구성 및 동작 시나리오 = 15
3.4 사용 패턴 (Usage Pattern) = 18
3.4.1 예측 거리 (Prediction Distance) = 20
3.4.2 본 논문의 작업 (Task) 정의 = 21
3.5 동적 아키텍처 스케줄링 (Dynamic Architecture Scheduling) = 22
3.5.1 패턴결정알고리즘(Pattern Decision Algorithm) = 23
3.5.2 패턴 분석기와 아키텍처 계획기 (Pattern Analyzer & Architecture Planner) = 25
3.5.3 아키텍처스케줄러캐시(Architecture Scheduler Cache) = 26
3.5.4 아키텍처 교체 알고리즘 (Architecture Replacement Algorithm) = 27
3.6 동적 아키텍처 기반 설계 = 28
3.6.1 소프트웨어 아키텍처 기반 설계 = 29
3.6.2 포트 (port)단위의 컴포넌트 기반 아키텍처 설계 = 30
제4장 검증 = 32
4.1 로딩 시간 비교 = 39
4.2 예측 거리에 따른 아키텍처 교체 횟수 비교 = 40
4.3 사용 패턴 축적량에 따른 아키텍처 교체 횟수 비교 = 42
4.4 사용 패턴의 예측 정확도에 따른 아키텍처 스케줄링 성능 = 43
4.5 아키텍처 스케줄링 성능에 따른 사용자 인내력 = 45
제5장 결론 및 향후 연구 = 47
그림차례
2.1 SHAGE 프레임워크 = 5
3.1 로딩 시간에 해당하는 소스 예 = 12
3.2 준비 시간에 해당하는 소스 예 = 13
3.3 마무리 시간에 해당하는 소스 예 = 14
3.4 프레임워크 구성 = 15
3.5 사용 패턴의 예 = 17
3.6 다양한 사용 패턴 = 18
3.7 컴포넌트로 구성된 작업 = 19
3.8 예측 거리에 따른 사용 패턴 길이 정의 = 20
3.9 Task의 입력과 출력 = 21
3.10 전역 탐색 적용 예 = 24
3.11 패턴 분석기와 아키텍처 계획기 = 25
3.12 아키텍처 스케줄러 캐시 = 26
3.13 LRU 알고리즘 적용 예 = 28
3.14 포트 단위 컴포넌트 기반 아키텍처 설계 예 - 비디오폰 = 31
4.1 C.E.L. Pad(좌) 와 JDraw(우) 실행 화면 = 33
4.2 C.E.L. Pad와 JDraw에 적용한 프레임워크 구조 = 34
4.3 프레임워크 실행 화면 = 37
4.4 C.E.L. Pad의 로딩 시간 비교 = 39
4.5 JDraw의 로딩 시간 비교 = 40
4.6 예측 거리에 따른 스케줄링 성능 변화 = 41
4.7 사용 패턴 축적량에 따른 스케줄링 성능 변화 = 42
4.8 사용 패턴 예측 정확도에 따른 아키텍처 교체 횟수 변화 = 44
4.9 스케줄링 성능에 따른 사용자 인내력 변화 = 45
표차례
2.1 관련 연구 분석 = 7
2.2 대기 시간 의미 비교 = 8
3.1 스케줄링 의미 비교 = 23

