현재 임베디드 소프트웨어에 대한 개발 및 연구가 활발히 이루어지고 있다. 이러한 상황에 맞춰 임베디드 시스템을 위한 임베디드 자바 플랫폼의 필요성 또한 증대되고 있다. 그러나 현재 임베디드 시스템에서 일반적으로 사용되는 운영체제인 임베디드 리눅스 상에서 사용될 수 있는 공개 소스 기반의 J2SE용 자바 플랫폼은 개발되어 있으나 임베디드 시스템의 하드웨어 제약사항 등을 고려한 임베디드 자바 플랫폼인 J2ME용 자바 플랫폼은 개발이 활발히 이루어지고 있지는 않다. 그러나 각 플랫폼이 동일한 가상 머신을 사용할 수 있으므로 J2SE에 J2ME용 라이브러리로만 교체하면 J2ME로 사용될 수 있는 점에 착안하여 본 연구에서는 J2ME용 라이브러리만을 개발하고 기존의 J2SE용 가상 머신과 결합할 수 있는 방법에 대해 제안하고자 한다.
휴대폰이나 PDA 등 무선 이동 장치에 내장되는 자바가상기계는 필요 에너지를 모두 밧데리에서 공급받는다. 밧데리의 빈번한 재충전이나 교체 등에 따른 불편을 줄이기 위해서는 임베디드 자바가상기계의 에너지 사용을 최소화하는 것이 매우 중요하다. 자바가상기계의 에너지 사용은 자바 클래스의 저장에 따른 정적 에너지 사용과 바이트코드 실행 및 쓰레기 수집기의 작동 등에 따른 동적 에너지 사용으로 나눌 수 있다. 본 논문에서는 simpleRTJ 상용 임베디드 자바가상기계의 에너지 사용에 대해 분석해보았다. simpleRTJ의 주요 특징인 프리레졸루션과 ROM 이미지 형식이 에너지 사용에 미친 영향에 대해 분석하였으며, 고정 크기 메모리 할당과 에너지 소비의 상호 관계에 대해서 고찰하였다.
자바는 임베디드 시스템을 프로그램 하기에 매력적인 언어와 플랫폼으로 인식되어져 왔다. 그러나 잉베디드 자바의 메모리와 프로세서 한계점을 가지고 임베디드 자바에 표준 자바 클래스 파일을 적용하기에는 적당하지 않다. 본 논문에서는 타겟디바이스에서 바이트 코드를 수행하기 전에 심볼레퍼런스 정보를 실제 주소로 바꾸기 위해 프리레졸루션을 사용하여 실행시간을 줄일 수 있는 효율적인 메소드를 제안하였다. 클래스 파일에서 컨스턴트풀의 사이즈를 알기 위해서 13개의 클래스 파일들을 시험하였다. 본 프리레졸루션은 원래 사이즈의 92% 정도 전체적인 메모리 footprint를 줄였다. 또한, 메모리 참조 횟수도 감소시켰다.
자바 애플리케이션의 이식성을 보장해주는 ‘WORA’ 모델을 실현하기 위해서 바이트코드에 기반한 자바는 바이트코드 인터프리터를 포함하는 구조적 한계로 인해 성능상의 문제를 갖고 있다. 최근에 서버에서 정보가전에 이르기까지 자바 기술을 확산시키기 위해 자바는 J2EE, J2SE, J2ME의 3영역으로 나누어지고 셀룰러폰, PDA 등 스마트 핸드헬드 기기에는 J2ME 환경이 제공되고 있다. 데스크톱 PC의 고성능화와 다양한 가속 기술의 개발로 인해 성능 문제가 보완되어 수많은 자바 애플리케이션이 데스크톱 PC에서 개발되어 왔으나 CPU, 메모리, 전력 등 자원 제약적 특성을 갖는 임베디드 시스템은 데스크톱 PC에 적용된 자바의 성능 향상 기술을 적용하기에 부적절하여 이에 적합한 새로운 자바 가속 기술이 개발되고있다. 본 고에서는 임베디드 시스템에서 자바의 성능 향상을 위해 개발된 자바 가속 기술을 소프트웨어및 하드웨어 측면에서 살펴보고 대표적인 상용 기술에 대해 고찰하였다.
자바가상기계의 메모리 할당에서 서로 다른 크기의 메모리 할당과 해제는 힙 영역과 자바 스택 영역에 심각한 외부 단편화를 발생시킨다. 자바가상기계에서 외부 단편화는 가비지 콜렉션의 발생을 증가시키고 메모리를 할당하기 위한 메모리 접근이 증가되는 고비용의 동작이 발생하므로 소규모 메모리에서 동작하는 임베디드 자바가상기계에서 성능저하가 발생하게 된다. 본 논문에서는 임베디드 자바가상기계에서 외부 단편화를 최소화하고 메모리를 효율적으로 관리하기 위한 한 가지 방안으로 고정크기 메모리 할당 방법에 대한 연구이다. 고정크기 메모리 할당 기법은 자바가상기계의 힙 영역에 가장 큰 객체의 크기를 기준으로 할당하고 자바 스택 영역에 가장 큰 스택 프레임을 기준으로 할당하도록 하여, 힙 영역과 자바 스택 영역에 외부 단편화를 최소화하도록 하는 메모리 할당 정책이다. 고정 크기 메모리 할당은 내부 단편화에 따른 메모리 낭비가 발생될 수 있지만, 외부 단편화는 최소화되기 때문에 가비지 콜렉션 발생 횟수를 감소시킬 수 있으며, 회수된 메모리 공간을 재구성하는 고비용을 제거 할 수 있다. 또한 할당 해제된 영역들은 Free-List로 연결되어 메모리 할당을 위한 메모리 접근을 최소화시키는 장점을 가진다.
임베디드 자바플랫폼을 정의하는 J2ME는 컨피규레이션에 따라 크게 CLDC와 CDC로 구분된다. CLDC 자바 플랫폼은 저사양 휴대 단말 등에 탑재되어 널리 상용화되고 있으며, CLDC와 비교하여 CDC 자바 플랫폼은 자바2와 호환 가능한 완전한 JVM이 포함되고 고기능의 폭넓은 자바 API의 지원이 가능하므로 홈서버, 디지털 TV, 텔레매틱스 분야 및 고사양 모바일 단말 등에서 제공될 신규 서비스를 위한 자바 플랫폼으로 지목되고 있다. 본 논문에서는 클린룸으로 구현한 JVM과 GNU 프로젝트인 Classpath를 기반으로 구현한 PP 규격의 클래스 라이브러리를 통합한 CDC 자바 플랫폼 개발에 대해 기술한다.
전용 목적의 임베디드 자바 시스템은 일반적으로 프로그램을 이루는 모든 클래스 파일들이 호스트 컴퓨터 상의 ROMiaer에 의해 하나의 ROM 이미지로 변형되고, ROM에 적재된 이미지를 임베디드 시스템의 자바가상기계가 실행하는 모델을 따른다. 제한된 크기의 메모리 자원과 낮은 성능의 프로세서를 갖는 임베디드 시스템에서는 이 ROM 이미지를 어떤 형식으로 정의하는가 하는 것이 매우 중요하다. 그 형식에 따라 원래의 클래스 파일보다 휠씬 적은 크기의 메모리 만으로도 전체 클래스 정보를 담을 수 있게 되며, 또한 클래스 내부 정보에 신속하게 접근할 수 있게 되기 때문이다. 본 논문에서는 simpleRTJ라고하는 임베디드 자바가상기계에서 구현된 ROMizer와, 특히 그것이 생성하는 RON 이미지의 형식에 대해 분석해보았다. 분석 결과 ROMizer는 원래 클래스 파일에 비해 절반 이상의 메모리 절감 효과를 얻게 하며, 최대 6배 이상의 속도로 클래스 내부 정보를 접근할 수 있게 하는 것으로 밝혀졌다. 이 연구의 결과는 ROM 기반의 임베디드 자바 시스템을 위한 보다 효율적인 ROMizer 의 개발에 적용되어질 수 있을 것으로 기대된다.
임베디드 소프트웨어는 크기나 기능면에서 복잡하기 때문에 에러가 숨어있을 확률이 높다. 그래서 에러를 효과적으로 찾아낼 수 있는 방법이 절실히 요구된다. 임베디드 소프트웨어에서 잠재적인 오류를 찾아내는 기술중의 하나가 모델 체킹이며, 대표적인 연구로서 SLAM 이 있다. SLAM은 임베디드 C 프로그램의 안전성 속성을 검증하는 소프트웨어 모델 체킹 도구이다. 본 논문에서는 임베디드 자바 프로그램을 검증하는 모델 체킹 도구를 개발했다. SLAM과는 달리 자바 프로그램의 안전성뿐만 아니라 궁극성 속성을 모두 검증할 수 있다. 개발된 모델 체킹 도구를 이용하여 레고 로봇을 제어하는 임베디드 자바 프로그램의 속성을 검증하였다.
임베디드 시스템에서의 응용 개발 기술들은 주로 임베디드 장치에 종속적인 것들로 CPU, 다양한 입력장치, 네트워크, 디스플레이, 사용자 인터페이스에 따라 개별적으로 소프트웨어 및 서버스들을 개발하는 방식으로, 소프트웨어의 내용과 복잡도의 증가에 따른 개발의 어려움이 증가하는 구조이다. 또한 네트워크를 기반으로 한 임베디드 시스템에서 이기종간의 상호운영이 가능한 서비스의 개발이 큰 문제가 되고 있다. 본 논문에서는 자바 기반의 임베디드 ORB를 설계한다. 설계한 ORB는 임베디드 OS 환경에 자바 비추얼 머신 상에서 동작 하므로 다양한 임베디드 시스템에서 별도의 코스 변환이나 수정 없이 이용할 수 있는 표준화된 API를 제공하며 모듈화를 통해 기능의 확장과 축소가 가능한 구조를 가진다. 또한 minimumCORBA 사양을 준수 함으로서 기존의 CORBA 서비스나 제품들과 상호 운영성을 유지한다.
본 논문은 홈 네트워크 시스템에서 사용자의 편의를 고려한 홈 서버 구현 방안에 대해 제안한다. 홈 서버는 리눅스 기반의 임베디드 보드 또는 PC를 사용할 수 있고 시스템은 인터넷 망을 기반으로 하고 있으며 클라이언트, 서버, 시뮬레이터로 구성되어 있다. 사용자는 웹 브라우저를 내장한 모든 기기에서 서버에 접속할 수 있다. 클라이언트 프로그램은 모든 종류의 CPU와 OS를 지원하기 위하여 자바 애플릿을 사용하였다. 사용자는 별도의 프로그램 설치 없이 원격에서 서버의 웹 페이지를 통해 접속하고 각종 기기들을 제어할 수 있으며 손쉽게 데이터를 공유할 수 있다. 서버는 리눅스 기반으로 웹 서비스를 할 수 있도록 서버가 구축되어있고 클라이언트 프로그램과 동일한 이유로 자바언어를 사용하여 서버 프로그램을 작성하였다. PC 대신 사용할 수 있는 임베디드 리눅스 보드는 내장형 시스템을 구성하는데 유용하며 홈 네트워크 시스템뿐만 아니라 각종 분야 등에도 널리 이용되어 질 수 있다. 임베디드 보드는 많은 자원을 필요로 하지 않는 국한된 목적의 시스템에 적용하기에 적합하며 널리 사용되고 있다. 시스템 구성을 위해 임베디드 보드에 리눅스를 포팅하고, 웹서버를 사용 가능하게 만들어 준 후, 자바 프로그램을 실행하기 위한 JVM(Java Virtual Machine)과 서블릿 및 JSP등의 자바 코드를 이해할 수 있는 엔진을 포팅하였다. 이로써 웹 서버로서의 역할과 홈 네트워킹 서버로서의 역할을 동시에 수행하게 된다. 시뮬레이션 프로그램은 자바 어플리케이션 프로그램을 사용하였고 데이터의 정상적인 전달여부와 기기들의 상태를 모니터링 할 수 있다.
본 웹사이트에 게시된 이메일 주소가 전자우편 수집 프로그램이나
그 밖의 기술적 장치를 이용하여 무단으로 수집되는 것을 거부하며,
이를 위반시 정보통신망법에 의해 형사 처벌됨을 유념하시기 바랍니다.
[게시일 2004년 10월 1일]
이용약관
제 1 장 총칙
제 1 조 (목적)
이 이용약관은 KoreaScience 홈페이지(이하 “당 사이트”)에서 제공하는 인터넷 서비스(이하 '서비스')의 가입조건 및 이용에 관한 제반 사항과 기타 필요한 사항을 구체적으로 규정함을 목적으로 합니다.
제 2 조 (용어의 정의)
① "이용자"라 함은 당 사이트에 접속하여 이 약관에 따라 당 사이트가 제공하는 서비스를 받는 회원 및 비회원을
말합니다.
② "회원"이라 함은 서비스를 이용하기 위하여 당 사이트에 개인정보를 제공하여 아이디(ID)와 비밀번호를 부여
받은 자를 말합니다.
③ "회원 아이디(ID)"라 함은 회원의 식별 및 서비스 이용을 위하여 자신이 선정한 문자 및 숫자의 조합을
말합니다.
④ "비밀번호(패스워드)"라 함은 회원이 자신의 비밀보호를 위하여 선정한 문자 및 숫자의 조합을 말합니다.
제 3 조 (이용약관의 효력 및 변경)
① 이 약관은 당 사이트에 게시하거나 기타의 방법으로 회원에게 공지함으로써 효력이 발생합니다.
② 당 사이트는 이 약관을 개정할 경우에 적용일자 및 개정사유를 명시하여 현행 약관과 함께 당 사이트의
초기화면에 그 적용일자 7일 이전부터 적용일자 전일까지 공지합니다. 다만, 회원에게 불리하게 약관내용을
변경하는 경우에는 최소한 30일 이상의 사전 유예기간을 두고 공지합니다. 이 경우 당 사이트는 개정 전
내용과 개정 후 내용을 명확하게 비교하여 이용자가 알기 쉽도록 표시합니다.
제 4 조(약관 외 준칙)
① 이 약관은 당 사이트가 제공하는 서비스에 관한 이용안내와 함께 적용됩니다.
② 이 약관에 명시되지 아니한 사항은 관계법령의 규정이 적용됩니다.
제 2 장 이용계약의 체결
제 5 조 (이용계약의 성립 등)
① 이용계약은 이용고객이 당 사이트가 정한 약관에 「동의합니다」를 선택하고, 당 사이트가 정한
온라인신청양식을 작성하여 서비스 이용을 신청한 후, 당 사이트가 이를 승낙함으로써 성립합니다.
② 제1항의 승낙은 당 사이트가 제공하는 과학기술정보검색, 맞춤정보, 서지정보 등 다른 서비스의 이용승낙을
포함합니다.
제 6 조 (회원가입)
서비스를 이용하고자 하는 고객은 당 사이트에서 정한 회원가입양식에 개인정보를 기재하여 가입을 하여야 합니다.
제 7 조 (개인정보의 보호 및 사용)
당 사이트는 관계법령이 정하는 바에 따라 회원 등록정보를 포함한 회원의 개인정보를 보호하기 위해 노력합니다. 회원 개인정보의 보호 및 사용에 대해서는 관련법령 및 당 사이트의 개인정보 보호정책이 적용됩니다.
제 8 조 (이용 신청의 승낙과 제한)
① 당 사이트는 제6조의 규정에 의한 이용신청고객에 대하여 서비스 이용을 승낙합니다.
② 당 사이트는 아래사항에 해당하는 경우에 대해서 승낙하지 아니 합니다.
- 이용계약 신청서의 내용을 허위로 기재한 경우
- 기타 규정한 제반사항을 위반하며 신청하는 경우
제 9 조 (회원 ID 부여 및 변경 등)
① 당 사이트는 이용고객에 대하여 약관에 정하는 바에 따라 자신이 선정한 회원 ID를 부여합니다.
② 회원 ID는 원칙적으로 변경이 불가하며 부득이한 사유로 인하여 변경 하고자 하는 경우에는 해당 ID를
해지하고 재가입해야 합니다.
③ 기타 회원 개인정보 관리 및 변경 등에 관한 사항은 서비스별 안내에 정하는 바에 의합니다.
제 3 장 계약 당사자의 의무
제 10 조 (KISTI의 의무)
① 당 사이트는 이용고객이 희망한 서비스 제공 개시일에 특별한 사정이 없는 한 서비스를 이용할 수 있도록
하여야 합니다.
② 당 사이트는 개인정보 보호를 위해 보안시스템을 구축하며 개인정보 보호정책을 공시하고 준수합니다.
③ 당 사이트는 회원으로부터 제기되는 의견이나 불만이 정당하다고 객관적으로 인정될 경우에는 적절한 절차를
거쳐 즉시 처리하여야 합니다. 다만, 즉시 처리가 곤란한 경우는 회원에게 그 사유와 처리일정을 통보하여야
합니다.
제 11 조 (회원의 의무)
① 이용자는 회원가입 신청 또는 회원정보 변경 시 실명으로 모든 사항을 사실에 근거하여 작성하여야 하며,
허위 또는 타인의 정보를 등록할 경우 일체의 권리를 주장할 수 없습니다.
② 당 사이트가 관계법령 및 개인정보 보호정책에 의거하여 그 책임을 지는 경우를 제외하고 회원에게 부여된
ID의 비밀번호 관리소홀, 부정사용에 의하여 발생하는 모든 결과에 대한 책임은 회원에게 있습니다.
③ 회원은 당 사이트 및 제 3자의 지적 재산권을 침해해서는 안 됩니다.
제 4 장 서비스의 이용
제 12 조 (서비스 이용 시간)
① 서비스 이용은 당 사이트의 업무상 또는 기술상 특별한 지장이 없는 한 연중무휴, 1일 24시간 운영을
원칙으로 합니다. 단, 당 사이트는 시스템 정기점검, 증설 및 교체를 위해 당 사이트가 정한 날이나 시간에
서비스를 일시 중단할 수 있으며, 예정되어 있는 작업으로 인한 서비스 일시중단은 당 사이트 홈페이지를
통해 사전에 공지합니다.
② 당 사이트는 서비스를 특정범위로 분할하여 각 범위별로 이용가능시간을 별도로 지정할 수 있습니다. 다만
이 경우 그 내용을 공지합니다.
제 13 조 (홈페이지 저작권)
① NDSL에서 제공하는 모든 저작물의 저작권은 원저작자에게 있으며, KISTI는 복제/배포/전송권을 확보하고
있습니다.
② NDSL에서 제공하는 콘텐츠를 상업적 및 기타 영리목적으로 복제/배포/전송할 경우 사전에 KISTI의 허락을
받아야 합니다.
③ NDSL에서 제공하는 콘텐츠를 보도, 비평, 교육, 연구 등을 위하여 정당한 범위 안에서 공정한 관행에
합치되게 인용할 수 있습니다.
④ NDSL에서 제공하는 콘텐츠를 무단 복제, 전송, 배포 기타 저작권법에 위반되는 방법으로 이용할 경우
저작권법 제136조에 따라 5년 이하의 징역 또는 5천만 원 이하의 벌금에 처해질 수 있습니다.
제 14 조 (유료서비스)
① 당 사이트 및 협력기관이 정한 유료서비스(원문복사 등)는 별도로 정해진 바에 따르며, 변경사항은 시행 전에
당 사이트 홈페이지를 통하여 회원에게 공지합니다.
② 유료서비스를 이용하려는 회원은 정해진 요금체계에 따라 요금을 납부해야 합니다.
제 5 장 계약 해지 및 이용 제한
제 15 조 (계약 해지)
회원이 이용계약을 해지하고자 하는 때에는 [가입해지] 메뉴를 이용해 직접 해지해야 합니다.
제 16 조 (서비스 이용제한)
① 당 사이트는 회원이 서비스 이용내용에 있어서 본 약관 제 11조 내용을 위반하거나, 다음 각 호에 해당하는
경우 서비스 이용을 제한할 수 있습니다.
- 2년 이상 서비스를 이용한 적이 없는 경우
- 기타 정상적인 서비스 운영에 방해가 될 경우
② 상기 이용제한 규정에 따라 서비스를 이용하는 회원에게 서비스 이용에 대하여 별도 공지 없이 서비스 이용의
일시정지, 이용계약 해지 할 수 있습니다.
제 17 조 (전자우편주소 수집 금지)
회원은 전자우편주소 추출기 등을 이용하여 전자우편주소를 수집 또는 제3자에게 제공할 수 없습니다.
제 6 장 손해배상 및 기타사항
제 18 조 (손해배상)
당 사이트는 무료로 제공되는 서비스와 관련하여 회원에게 어떠한 손해가 발생하더라도 당 사이트가 고의 또는 과실로 인한 손해발생을 제외하고는 이에 대하여 책임을 부담하지 아니합니다.
제 19 조 (관할 법원)
서비스 이용으로 발생한 분쟁에 대해 소송이 제기되는 경우 민사 소송법상의 관할 법원에 제기합니다.
[부 칙]
1. (시행일) 이 약관은 2016년 9월 5일부터 적용되며, 종전 약관은 본 약관으로 대체되며, 개정된 약관의 적용일 이전 가입자도 개정된 약관의 적용을 받습니다.