====== 프로젝트 계획서 - 졸업 프로젝트 ====== 졸업을 100 여일 남짓 앞둔 시점에서 본격적으로 졸업을 위한 준비를 하기 위해 만들었다. ====== 졸업 요건 ====== 졸업을 하기 위한 요건으로는 크게 두 가지가 남아 있다. - 학위 논문 현재 졸업 시험을 치룬 상태이고, 4월 4일에 발표를 남겨두고 있다. 논문의 경우에는 졸업시험을 통과하고, 공청회를 거쳐야 한다. 또한 국내 or 해외 학회에 발표해야 하고, 지도 교수 3 명을 선정해서 졸업논문을 쓰고 확인을 받아야 한다. 현재 나는 '임베디드 소프트웨어 결함 추적을 위한 효율적인 Record-and-Replay 기법 개발' 로 논문 제목을 정한 상태다. 앞으로의 스케줄을 보면 대강 다음과 같다. | 날짜 | 일정 | | 2008 년 4 월 7 일 | 공청회 | | 2008 년 4 월 11 일 | 정보처리학회 심사 결과 발표 | | 2008 년 4 월 18 일 | 정보처리학회 최종 논문 제출 | | 2008 년 5 월 16 일 | 학술대회 발표 | | 2008 년 6 월 13 일 | 학위논문 심사 완료 | | 2008 년 7 월 9 일 | 학위논문 인쇄본 제출마감 | | 2008 년 8 월 22 일 | 졸업식 | 지금으로 봐서는 공청회 -> 학회 -> 학위 논문 순으로 남아있다. 내 생각에는 학회 논문을 발표하는 날짜까지 학위논문을 완성시키는 것을 목표로 한다. ====== 프로젝트 계획 ====== 이번 프로젝트를 진행해 나가는데 다음 몇가지 원칙을 둔다. - 내가 하려고 하는 논문의 주제가 이전에 내가 해본 적이 없는 것이기 때문에 최대한 기존의 다른 논문이나 문서자료를 참고할 생각이다. - 현재의 VPOS 가 아닌 scv/os 를 base 로 한다. - 개발 방식은 XP 를 이용할 것이다. - 버전관리와 문서화를 할 것이다. 이번 프로젝트는 정기적으로 이루어지는 지도교수님과의 미팅을 통해서 좀 더 구체적인 기능과 방법에 변동이 있을 수 있다. [[rar_meeting|Record and Replay 회의 내용 정리]] 에서 확인할 수 있다. ===== 구현된 것들 ===== 3 월 18 일 현재, 구현된 것들은 다음과 같다. ==== Record ==== | 번호 | 구현 내용 | 확인 | | 1 | 로그(log) 정보를 메모리의 특정 영역에 저장 | 完 | | 2 | Flash 메모리에 저장 | 完 | ==== Replay ==== | 번호 | 구현 내용 | 확인 | | 1 | Flash 에서 메모리로 복사 | 完 | | 2 | 로그(log) 정보를 읽어서 리스트(list) 로 출력 | 完 | | 3 | 리스트 선택시에 기존의 명령어 코드 백업 | 完 | | 4 | 트랩(trap) 코드 삽입 | 完 | | 5 | replay 중 트랩 발생시 디버깅 모드 진입 | 完 | ===== 구현해야 할 것들 ===== ==== Record ==== | 번호 | 구현 내용 | 확인 | | 1 | 하드웨어 인터럽트에 대한 record 정보 추가 | | ==== Replay ==== | 번호 | 구현 내용 | 확인 | | 1 | 하드웨어 인터럽트에 대한 replay | | | 2 | 각 명령어 구현 | | | 3 | replay 시에 interrupt disable 모드에서의 동작 | | ===== 세부 구현 일정 ===== 한 주 마다, 미리 하루하루의 계획을 작성한다. | 날짜 | 구현내용 | 확인 | | 3월 18일 ~ 23일 | Record and Replay 기능 구현 | | | 3월 24일 ~ 30일 | Record and Replay 기능 구현 | | | 3월 31일 ~ 4월 6일 | 공청회 준비 | | ===== scv/os 안정화 ===== 나중에 configurable 한 컴파일을 할 수 있도록, 디렉토리구조, 파일 구조를 수정한다. 이를 위해서 기존의 rtos (uc/os, qplus, ecos) 를 참고한다. 지금 현재로 s3c2410 와 pxa255 만 포팅이 되어 있지만, 하드웨어만 허락한다면 s3c2440 에도 포팅할 생각이다. XP 프로그래밍에 강조하는 TDD 와 버전관리를 사용함으로서 최대한 깔끔한 코드를 만든다. 진행시에 발생하는 버그나 수정사항은 백로그를 통해 기록한다. ====== 기타 ====== 졸업 프로젝트가 수행 중에라도 별도로 아래의 항목은 상관없이 진행한다. - 전공 or 전공외 서적 읽기 - 각종 스터디 참여 ---- {{indexmenu>:#1|skipns=/^(wiki|etc|diary|playground)$/ skipfile=/^(todays|about|guestbook)$/ nsort rsort}} ----