컴퓨터교육학회논문지 (The Journal of Korean Association of Computer Education)
- 제7권3호
- /
- Pages.45-56
- /
- 2004
- /
- 1598-5016(pISSN)
- /
- 2733-9785(eISSN)
Alpha : 자바 시각화 도구
Alpha : Java Visualization Tool
초록
웹 환경과의 연동, 병렬 프로그래밍, 객체지향 프로그래밍, 안전성(컴파일 시간 에러 검출, 예외 처리 기법)과 이식성, GUI 등을 지원함으로써, 프로그래밍 언어 자바(Java)의 활용도가 점점 증가하고 있다. 객체지향 프로그래밍 언어로서 자바는 클래스, 인스턴스, 정보은닉, 상속, 다형성 등 객체지향 개념들에 기반하고 있다. 그러나 자바 프로그램 수행시 이들과 관련된 제반 현상이 자바가상기계(Java Virtual Machine) 내부에 감추어지기 때문에, 자바 언어를 배우거나 활용하는 대부분의 사용자들이 큰 어려움을 겪는다. 이 문제에 대한 효과적 해결책으로서, 본 연구에서는 자바가상기계 내부의 현상을 객체지향 개념과 연계시켜 시각화해 주는 도구 Alpha를 개발하였고, 본 논문은 그 설계와 특징들을 기술하고 있다. Alpha는 실용성과 확장성을 높이기 위해 MVC(Model-View-Controller) 구조로 설계되었고, 이를 통해 자바가 상기계 내부의 현상(인스턴스 생성 및 소멸, 메쏘드 호출 및 복귀, 필드 접근, 인스턴스 간의 상호 참조관계 변화, 쓰레드의 수행 흐름 등)을 사용자의 수준이나 활용 목적에 맞게 다양한 방식으로 시각화시켜 준다.
Java provides support for Web, concurrent programming, safety, portability, and GUI, so there is a steady increase in the number of Java users. Java is based on the object-oriented concepts such as classes, instances, encapsulation, inheritance, and polymorphism. However the JVM(Java Virtual Machine) hides most of the phenomena related to the concepts. This is why most of Java users have much difficulty in learning and using Java. As a solution to the problem, I have developed a tool Alpha that visualizes the phenomena occurred in the JVM from the standpoint of the concepts and will describe the design and features of the tool in this paper. For practicality and extendability Alpha has an MVC(Model-View-Controller) architecture and visualizes the phenomena such as object instantiations, method invocations, field accesses, cross-references among objects, and execution flows of threads in the various ways according to the levels and purposes of the users.