
http://chineseinput.net/에서 pinyin(병음)방식으로 중국어를 변환할 수 있습니다.
변환된 중국어를 복사하여 사용하시면 됩니다.
RFID-Network 상에서 임베디드시스템을 위한 RFID-ODS 기반 소프트웨어 자동업데이트
오늘날 반도체 기술, 컴퓨터 기술 및 네트워크 기술의 빠른 발전으로 인하여 임베디드시스템이 일반화되고 있으며 네트워크 환경이 유비쿼터스(Ubiquitous) 환경으로 발전하면서 임베디드시스템의 적용 범위가 확대되고 있다. 따라서 임베디드시스템의 소프트웨어 유지보수도 범용소프트웨어와 같이 많은 시간과 비용이 소요될 것으로 예상된다. 초기 임베디드시스템의 적용범위가 군사, 산업자동화와 같이 특수한 분야에 적용되었으나 오늘날 임베디드시스템 기술과 타 기술의 융합으로 가전, 정보단말, 사무자동화, 물류·금융, 통신기기, 항공, 선박 등 사회 전반에 확대되고 있다. 이와 같이 적용범위가 확대됨에 따라 임베디드시스템은 과거 단일 태스크에서 운영체제가 내장된 시스템으로 발전하고 있다. 임베디드시스템에 운영체제가 내장되고 다양한 분야의 요구가 소프트웨어의 복잡도를 증가시켰으며, 개발방법 또한 기존의 Ad hoc 방식으로는 한계가 있다. 따라서 효율적인 개발을 위해 체계화된 개발 방식과 자동화된 개발도구의 사용이 요구된다. 또한 개발 이후 범용소프트웨어와 같이 오류수정, 환경적응, 성능향상 등을 위해 유지보수가 필요하며, 임베디드시스템의 적용범위가 확대될수록 소요되는 시간과 비용은 증가할 것이다. 그리고 범용컴퓨터와 다르게 특수한 환경의 임베디드시스템을 위한 유지보수 방법이 연구되어져야 할 것이다. 따라서 본 논문은 사용자로부터 원격에 위치해 사용자가 직접 조작하지 않는 다수 개의 임베디드시스템을 위하여 RFID(Radio Frequency Identification) 검색서비스(Object Directory Service : ODS)를 기반으로 시스템 동작정보 자동수집 및 소프트웨어 자동업데이트 시스템을 제안하고 이를 구현하였다. RFID 검색서비스를 이용하는 목적은 표준화된 코드체계로 다수 개의 임베디드시스템을 효율적으로 식별하여 관리할 수 있으며 RFID-Network는 업데이트를 위한 회선을 제공하기 때문이다. 제안한 시스템은 설계구성요소를 임베디드시스템과 개발회사의 RFID 검색시스템으로 분류 하였으며, 설계구성요소는 그 구성요소가 갖춰야할 제한조건을 분석하여 설계함으로 완성도를 높였다. 시스템의 설계구성요소에 따라 RFID 검색시스템의 ODS, OIS, PDS 서버프로그램과 임베디드시스템의 ODS Query 프로그램, OIS Query 프로그램, Update 프로그램을 개발하여 원격에 위치한 다수 개의 임베디드시스템들을 식별할 수 있었으며 또한 시스템의 동작정보를 자동으로 수집하고 업데이트됨을 보였다. 본 논문이 가지는 기대효과는 임베디드시스템의 소프트웨어 업데이트를 자동화함으로써 시간적 경제적 비용을 줄일 수 있고, 개발회사가 보유한 생산·유통관리 시스템과 연계하여 RFID 검색서비스 기반 소프트웨어 자동 업데이트 시스템을 중복투자 없이 구축될 수 있을 것으로 기대된다. Recently, IT technologies including semiconductor, computer, and network technologies advance with drastic speed and networks are evolving into ubiquitous computing environment, so embedded systems are getting popular and being used in various fields. As the result, it is expected that the maintenance costs for embedded software will increase as the ones of general software have increased. The early embedded systems were used for specific areas including manufacturing automation and military weapon systems, but nowadays the embedded systems are extending their application fields to home appliances, information devices, office automation devices, logistic systems, etc. And they are being combined with other technologies and have been evolving into the systems with operating systems. As embedded systems have their own operation system and various application fields, the complexity of their embedded software is increased and the system developers have difficulties in developing the systems in ad hoc manner. So, automatic development tools for efficient and systematic development are needed. And the system update is constantly required for correcting unexpected errors, enhancing the performance or adapting the system to environmental changes. The academia and industries are paying attentions to developing the standardized platform, software quality assurance test process, and software reuse for the enhanced embedded system. In this dissertation, we propose an automatic software upgrade system for embedded systems in RFID-Network. The proposed system identifies embedded systems located at a distance by the RFID(Radio Frequency Identification) Object Directory Service and gathers operational information from them. And it finally upgrades embedded softwares automatically. The RFID Object Directory Service traces the history and location of embedded systems with the standardized code system. In addition, it allows that the network provides a line for updating the softwares. The components of the proposed system are classified into the embedded system and RFID Object Directory Service system of the developer. And the constraint requirements are considered for the optimal component design. ODS, OIS, and PDS server programs are developed for RFID Object Directory Service system and ODS Query program, OIS Query program, and Update program are developed for the embedded system. We expect that our proposed system will reduce costs for maintaining embedded systems by supporting automatic updating softwares.
임베디드시스템의 가상 및 실물 통합 프로토타이핑 시스템 설계 및 구현에 관한 연구
컴퓨터 기술의 발전으로 임베디드시스템의 활용분야는 다양해지고 있으며 범용 , 마이크로프로세서 및 IP(Intellectual Property)산업의 발전에 따라 산업 전반으로 확장되고 있다. 임베디드시스템은PC와 같은 범용 컴퓨터를 제외한 다양한 산업 분야에서 일반화되어 특수한 목적, 혹은 제한된 응용을 목적으로 사용되는 모든 컴퓨팅 시스템이다. 통신, 정보, 가전, 로봇, 자동차와 운송장비, 군사, 항공, 우주, 의료, 사무자동화, 공장자동화, 빌딩자동화, 판매와 물류자동화, 홈네트워크 등 거의 모든 분야에 적용되고 있으며 향후 그 범위는 더욱더 확대될 것이다. 실물 프로토타이핑은 고전적인 절차지향적 신제품 개발방법론으로 실제품과 같은 외형과 제품의 기능을 탑재한 실제크기 혹은 축소형의 실물모델로 이를 제작하기 위한 하드웨어와 소프트웨어의 개발 기간이 길어지며, 제품 개발비용의 부담이 크지만 실제 제품의 기능을 테스트함으로써 제품의 신뢰도를 높일 수 있다는 장점이 있다. 하지만 복잡도가 빠르게 증가하는 임베디드시스템 제품설계에서 제품의 기능검증까지 소모되는 시간과 비용의 부담은 시스템의 초기 개발비용의 부담을 가중시켜 시장에서 제품의 경쟁력을 저하시킨다. 현재 컴퓨터 기술의 발전으로 컴퓨터에 데이터의 형태로 존재하는 모델의 제작이 가능하게 되었으며, 데이터 형태로 만들어진 프로토타입은 실물의 프로토타입을 대치할 수 있는 획기적인 방법으로 가상 프로토타입이 대두되었다. 가상 프로토타입은 실물 프로토타입의 한 단계 발전된 프로토타이핑 방법으로 시각적 현실감 제공을 위한 랜더링 과정을 거쳐 시뮬레이션된다. 기존의 방법에서 제품의 기능까지 정형명세 기법을 통한 프로토타입을 제작하는 기술로 발전됨으로써 제품개발 현장에서 실용도가 뛰어나다고 할 수 있다. 하지만, 하드웨어와 소프트웨어가 병행 설계되어야 하는 임베디드시스템에서 컴퓨터상의 데이터로만 하드웨어의 구현 및 검증 과정을 거친 제품을 실제 구현시 완전한 시스템으로 제작하기란 불가능하다. 따라서 개발기간과 비용의 부담에도 불구하고 제품의 신뢰도를 위한 최선의 방법은 고전적인 프로토타이핑이라고 할 수 있다. 현실적으로 실물 프로토타이핑과 가상 프로토타이핑은 제품 개발과정의 장점을 제공함에도 불구하고, 복잡한 임베디드시스템을 저비용으로 단기간에 개발하고, 제품의 신뢰도를 확보하기 위한 획기적이고 새로운 개발방법론의 연구가 절실하다. 이를 위해 본 논문에서는 실물 프로토타이핑과 가상 프로토타이핑의 한계를 극복하는, 고난도의 기술과 최첨단 기술을 적용한 임베디드 제품 개발 방법론으로 실물 프로토타이핑과 가상 프로토타이핑의 통합 디자인 및 통합 시뮬레이션과 디버깅을 위한 개발방법으로 기존의 연구가 없었던 새로운 개발방법론을 제안한다. 이는 제품 생산 비용의 80%를 차지하는 개발 초기 단계의 시간적, 경제적 비용을 최소화하면서 신뢰성있는 제품개발을 가능하게 한다. 또한 생명주기가 짧은 임베디드시스템 제품의 경쟁력 강화로 이어져, 국민 소득과 국가 경쟁력의 핵심 산업의 기틀을 IT분야가 주도할 수 있는 근간이 된다. Since the physical prototyping is a classical procedure-oriented new product developing methodology, and an actual size one or a miniature model that mounted with the actual appearance and function, the time period to develop the hardware and software with which it is manufactured is elongated and the developing cost is expensive as well. However, it has such an advantage as enhancing the reliability of products by means of testing the function of actual products. Nevertheless, the time and the cost that must be invested into the procedure from the design to the functional verification of product of the embedded system of which complexity increases rapidly increase the initial developing cost of the system and decrease the competitiveness of its products. As the technology of computer advances for the present, the model that exists as the form of data in a computer can be manufactured, and for the prototype made as the form of data, the virtual prototyping has come to the fore as an innovative method that can substitute the physical prototype. It is a method that has been improved from the existing one with which the virtual prototype, as an alternative of physical prototype, becomes a simulation via the process of rendering in order to provide the sense of visual reality. Because even the function of products has been developed as the technology of manufacturing a prototype through the formal specification technique, it can be used widely in an actual site of product development. However, in the embedded system, which must be designed simultaneously with hardware and software, there is such a limitation that the materialization and verification test of hardware using only computer data is different from the test through the verification test process using the physical prototyping. Therefore, it seems necessary to have a new methodology to develop the complex embedded system in a short time with a small amount of money and secure the reliability of products. Such a new methodology can minimize the time and the cost in the early stage of development that occupies up to 80% of manufacturing cost, and allow a reliable product to be developed. In addition, because this is linked with enhanced competitiveness for the products of the embedded system of which life-expectancy is short, the area of IT can lead the pivotal point of key industries that are related to the national income and competitiveness. For this, in this study, the investigator presents the state-of-the-art technology with which the limitation of physical prototyping and virtual prototyping can be overcome. Also as a developing methodology of the embedded system in which the new technology is applied, the investigator suggests a new methodology of developing process for the integrated design, integrated simulation, and debugging of the physical and virtual prototyping.
신희정 高麗大學校 融合소프트웨어專門大學院 2013 국내석사
최근 임베디드 소프트웨어는 의료, 자동차, 원자력, 조선 등 다양한 산업에 IT가 접목되고, 스마트폰의 대중화로 산업 전반의 경쟁력을 좌우하는 핵심 인프라로 그 역할과 중요성이 강조되고 있다. 즉, 임베디드 소프트웨어는 고 안전성을 요하는 의료, 자동차, 원자력 등에 널리 사용되고 있다. 따라서 임베디드 소프트웨어의 신뢰성을 높이는 것이 매우 중요하게 되었다. 그에 반하여 임베디드 소프트웨어의 테스팅 기술은 더디게 발전하고 있다. 임베디드 소프트웨어는 하드웨어 의존도가 높기 때문에 기존의 일반 소프트웨어 테스팅에 비하여 기술 집약적 테스트가 미약하다. 또한 일반적으로 소프트웨어와 하드웨어가 병행하여 개발하기 때문에 하드웨어가 검증되지 않은 상태에서 임베디드 소프트웨어와 통합된 후, 테스팅이 이루어지는 경우가 많다. 이로 인하여 오류의 위치와 원인을 추적하기 힘들다. 위와 같이 임베디드 소프트웨어 테스팅의 어려움을 해결하기 위해 본 논문에서는 임베디드 소프트웨어를 임베디드 시스템 환경이 아닌 x86의 환경에서 공개 테스팅 도구를 활용하여 단위 테스팅 할 수 있는 방법을 제시한다. 하드웨어를 제어하는 소스 코드인 레지스터, 메모리 등을 직접적으로 참조하는 소스 코드를 전역 변수로 수정하는 방법으로 하드웨어를 제어하는 소스 코드를 공개 테스팅 도구가 인식하지 못하는 문제를 해결 하였다.
임베디드 시스템 개발은 전기․전자회로 개발이나 응용프로그램 개발과는 달리 하드웨어와 소프트웨어 지식을 모두 요구한다. 이를 교육시스템으로 만들기 위해서는 임베디드 보드 설계, 임베디드 운영체제 구성, 개발 호스트 구축, 시스템프로그램 및 응용프로그램 개발 등 임베디드 시스템 개발에 관한 전반적인 사항을 다루어야한다. 가상교육의 발전은 이미 우리 생활 깊이 자리하고 있는 인터넷 기술의 발전과 더불어 계속적인 연구가 진행되어 왔다. 원격 교육은 가상교육, e-러닝, 온라인 강좌, 가상강의 등의 용어와 유사하게 사용되고 있다. 실험․실습교육을 가상교육 또는 원격 교육 콘텐츠로 제작해 제공하면서 학습 효과를 향상할 수 있는 효과적인 교육 수단으로 인정되고 있으나 원격에서 실험․실습을 하기위한 환경구성의 어려움이 문제점으로 지적되고 있다. 본 논문에서는 실험․실습 환경 구성의 어려움이라는 문제점 극복을 위한 방안으로 웹 기반의 하드웨어 원격제어 기술을 위저드 형식으로 설계하여 가상교육 구현에 활용하였다. 본 가상교육시스템의 구성은 서버 시스템과 학습 시스템으로 되어 있다. 서버 시스템은 컴파일 서버와 원격 실습 서버가 있고, 이들을 웹 서버, Telnet 서버, 웹 카메라 서버 등 웹 기반 기술을 이용하여 원격제어를 한다. 학습 시스템은 이론 강의, 가상 실습, 원격 실습의 세 부분으로 구성하였다. 이론 강의는 Flash로 제작된 강의 콘텐츠를 학습자에게 제공한다. 가상 실습은 사용자 입력에 반응하여 현재 실습 단계를 진행하거나 부연설명을 제공하여 실습을 진행한다. 원격 실습에서는 서버 시스템의 컴파일 서버와 원격 실습 서버를 이용, 클라이언트에서 제작된 소스파일을 서버에 저장 및 컴파일하며 이때 생성된 실행 파일을 원격 실습 서버에 전달, 원격 실습 서버의 타겟보드에서 실행한다. 학습자는 이론 강의를 활용하여 임베디드 시스템의 구조와 기능, 리눅스 시스템의 이해, GCC 프로그래밍 과정 등을 학습 한다. 가상실습에서는 학습자가 입력한 명령어에 따라 한 스텝씩 진행하며 임베디드 시스템 개발환경 구축과정을 이해하도록 한다. 원격 실습은 디바이스 드라이버를 이용한 스텝모터제어 실습을 예로 구현 하였으며, Flash로 제작된 소스 에디터에서 소스파일을 작성하여 서버에 전송하고, 컴파일서버에 컴파일 명령을 전송하여 실행파일을 생성한다. 생성된 실행파일은 전송 명령으로 원격 실습서버로 전송하며, 원격 실습 서버는 타겟보드에 실행파일을 전송한다. 실습 과정에서 디바이스 드라이버 실습 예제의 실행 단계는 10단계이지만, 학습자의 편의성을 고려하여 6단계로 실습을 진행하게 하였다. 본 논문에서 구현한 임베디드시스템 활용 교육을 위한 가상교육 시스템은 실험․실습 교육에서 실습 환경구성의 어려움이 있다. 이러한 문제점을 해결하기 위해서 웹에서의 Telnet 연결 기능으로 구성된 임베디드 하드웨어 원격 제어 시스템을 구현하였다. 또한 이론학습 과정을 별도로 구성하였고, 원격제어가 불가능한 개발환경 구축 과정은 가상 실습으로 학습하게 하였다. 이러한 점을 활용하여 임베디드 시스템의 효율적인 학습이 가능하게 하였다. Unlike development of electro?]electrical circuits or applications, an embedded system requires knowledge of both hardware and software. In order to make it an education system, it is necessary to deal with the general matters regarding development of an embedded system such as design of an embedded board, composition of an embedded operating system, construction of a developing host, and development of system programs and application programs. Along with the development of Internet techniques deeply anchored in our daily lives, virtual education has constantly been investigated. Distance education is similarly referred to as the terms such as virtual education, e?]learning, on?]line course, and virtual lecturing. An Experiment?]practice education provided in the form of the contents of virtual or distance education is recognized as an effective educational method capable of improving learning effect, but the difficulty of composing the environment for carrying out experiment?]practice from a remote distance is pointed out as a problem. This paper designed a web?]based hardware distant controlling technology in the form of wizard as the plan for overcoming the difficulty of constructing the environment for experiment?]practice and utilized it. This virtual education system consists of a server system and a learning system. The server system consistes of a compile server and a distance practice server, which are controlled from a distance using the web?]based technologies like web server, Telnet server, and web camera server. Learning system consists of theory lecturing, virtual practicing, and distance practicing. The theory lecturing provides the contents produced in the form of flash with learners. The virtual practicing goes on current practicing steps or provides paraphrases according to the learner?fs reaction. In distance practicing, the compile server and distance practicing server are used to save and compile a source file created by a client in the server, and deliver the execution file, which is created at the moment, and execute it in the target board of the distance practicing server. Learners can learn the structure and functions of the embedded system, Linux system, and GCC programming processes by utilizing the theory lecturing. In virtual practices, each step is performed according to instruction codes input by learners, and the processes of constructing the environment for developing the embedded system. Distance practices are implemented using the step motor controlling practices as an example using the device driver, source files are edited from a source editor produced using Flash and delivered to a server, and compile instructions in a compile server are delivered and execution files are generated. Generated execution files are delivered by delivery instructions, and the distance?]practicing server delivers the execution files to the target board. In the practicing course, examples for the device driver have originally 10 execution steps, but in practice, the steps shortened to 6 considering learners?f convenience. The virtual education system for utilizing the embedded system implemented in this paper has the difficulty of composing the environment for practicing, among experiment?]practice education. In order to resolve this problem, the embedded hardware distant controlling system consisting of the Telnet connection function on the web was implemented. In addition, the theory?]learning course was separately prepared, and the constructing process of the distantly uncontrollable developmental environment was replaced with virtual practices. Using these, effective learning of the embedded system was made possible.
임베디드 프로세서를 이용한 인터넷 원격 제어 구현 연구
컴퓨터의 보급과 가정에서 ADSL등을 통한 네트워크 확산으로 업무의 자동화 흐름을 타고 가정에서도 인터넷 환경이 점차 가정 자동화라는 디지털 환경으로 변화되고 있다. 한 광고 캐치 프레이즈인 "e 편한세상"이 되어가고 있다. 이러한 추세로 정보가전의 한 예로 가정의 전등과 에어콘 등의 작동을 원격지인 사무실에서 편히 앉아 인터넷상에서 에어콘의 전원을 켜서 미리 시원한 집을 만들 수도 있는 시대가 도래되었다. 임베디드 시스템이란 어떠한 장치가 다른 시스템에 의존하지 않고 독립적으로 기능을 수행하는 것이다. 우리 생활에서 쓰이는 각종 전자기기, 가전제품 등에 임베디드 프로세서를 내장시키고, 그 마이크로 시스템을 장착하여 특정한 기능을 수행하도록 프로그램이 내장되어 있는 시스템을 말한다. 이러한 임베디드 시스템은 다양한 응용분야에서 사용되고 있는데 산업분야, 가전분야, 사무분야 군사용 등으로 임베디드가 적용되고 있다. 실제 예로는 핸드폰, PDA, 홈 네트워크, 게이트웨이 장치, 교통관리 시스템, 우주선 제어 장치, 군사용 제어 장치 등을 들수 있다. 특히 홈 네트워크를 예로 현 출시되고 있는 가정용 전자제품의 일부가 임베디드 시스템을 내장하고 출시되고 있는 실정이다. 본 논문에서는 실험장비를 통하여 인터넷상에서 On/Off 제어가 가능한가를 실험하였고, 기존 상품화 되어있는 가전제품 중 선풍기와 에어콘 등에 본 논문에서 실험한 임베디드 시스템을 장착시 인터넷상에서 모니터링하며 전원제어를 할 수 있음을 실험 확인하였다. 또한 임베디드 시스템의 OS는 Java를 기반으로 구현하였다. 임베디드 시스템에서의 Java는 Sun Microsystem에서 Green 프로젝트로 개발된 초기이름인 Oak로 전자제품에서 사용할 소프트웨어로 개발되었다. 이 소프트웨어는 다른 시스템에 대해서 이식성이 매우 높았으나 전자제품과 같은 임베디드 시스템에서는 쓰이지 못하고, 인터넷 프로그래밍에 쓰일 수 있다는 가능성을 발견해 Oak를 인터넷 프로그래밍이 가능하게 개발하여 만든 것이 Java이다. 이제껏 인터넷 프로그램으로만 쓰이다가 Java가 임베디드 시스템에서 사용될 수 있도록 한 것 중 대표적인 것이 SUN의 임베디드 Java와 퍼스널 Java인 것이다. 임베디드 시스템을 인터넷상에서 원격으로 모니터링을 하며 하부기기와 인터페이스를 할 수 있도록 도와주는 임베디드 프로그래밍에 Java를 도입하여 인터넷 상에서 임베디드 시스템의 전원 제어를 구현하였다. The Embedded System is that the function of a certain device are executed independently without the functional supports of another system. Many electronic devices or household appliances which are used in our usual lives have micro-processors, that is embedded processor as well as basic circuits. We can call that "Embedded System" has a specified program which operates the micro-processor and special functions can be executed by then Embedded System is used in various parts as like industry electric home appliances, office work, military parts and so on. Mobile phone, PDA(Personal Digital Assistants), Home Network, Gateway Unit, Traffic Information and Control System, SpaceShip Control, Military Control; They can be more concrete examples. On this study, I made an experiment about the possibility of the Internet Remote ON/OFF Control and made the System OS based JAVA. The TCP congestion window recovery times of different profile size flows after the back-offs induced by packet drops.
김진섭 호서대학교 벤처전문대학원 2004 국내석사
최근의 임베디드 시스템들은 점차 멀티미디어 처리 기능을 필요로 하게 되었다. 이런 시스템들은 기존의 임베디드 시스템에 비해 많은 데이터양을 필요로 하며 대용량의 저장 매체를 요구하는 경우가 일반적이다. 따라서 효율적인 데이터의 처리를 위하여 기존 파일 시스템의 구현은 불가피하다. 이 논문에서 제안하는 EFS(Embedded File System)파일 시스템은 하드디스크 및 플로피 디스크 뿐만 아니라 스마트카드 등 다양한 보조기억장치를 지원하여, 간단한 구조의 임베디드 시스템에서 대용량의 보조기억장치를 지원할 뿐만 아니라, 간단한 구조를 가지고 있으며, 구현이 용이한 구조로 H/W, S/W에 약간의 변형으로 거의 모든 다른 운영체제에서 운용이 가능하고, 기존 장치와의 호완성에서도 많은 이점을 가지고 있다. 본 논문에서는 임베디드 RTOS인 uC/OS-Ⅱ에 EFS파일 시스템을 ARM S3C3410X 보드에 탑재하여 테스트를 하였다. Recently Embedded system generally were required the function of multi-media management. Those system need more volume of data than the existing Embedded system and require a big capacity of storage medium as common. Therefore, the existing file system is inevitable to manage efficient data. EFS(Embedded File system) which were proposed on this paper is not only apply the hard disk and floppy but also smart card and variety equipment of assistance memory. Also it support the big volume of sub-memory equipment through simple EFS. It has simple construction, easy management that can work almost other application circumstance with simple changing in H/W of S/W.Also it has many benefit in using with existing equipment. On this paper, had test the uC/OS-II which is a embedded RTOS after loading the EFS on ARM S3C3410x board.
임베디드 리눅스 기반의 산업용 다중 프로토콜 제어기 개발 및 빌딩자동화시스템과의 연동 적용
최근 산업 분야에 임베디드란 용어가 관심의 초점이 되고 있다. 임베디드라는 용어는 요즘 신 용어가 아닌 1950대 통신 장비 제어를 위해 등장하였다. 그럼에도 불구하고 새롭게 조명되는 이유는 현대 사회가 정보화 사회로 변화되면서 기존 임베디드 시스템에 정보기술 적용 및 지원 할 수 있게 변화되고 있기 때문이다. 이런 변화는 공장 자동화, 빌딩 자동화, 가정 자동화 분야에 적용되어 지고 있으며, 우리 주변에 쉽게 찾아 볼 수 있다. 예로 인터넷 냉장고, 셋탑 박스, PDA 등 수 없이 많다. 특히 산업 자동화에 사용되어지는 임베디드 시스템은 하드웨어/소프트웨어 자원을 효율적으로 관리하기 위해 실시간 운영체제가 사용되어 지며 주로 상용 제품인 WindRiver의 VxWorks, pSOS, Accelerated Technology의 Nucleus등 100가지 정도 있다. 이러한 운영체제는 지원체제가 확실하므로 문제가 생겼을 때 체계적인 지원을 신속하게 받을 수 있는 가장 큰 장점 가진다. 하지만 경제적 측면으로 봤을 때 개발 시 고가의 비용과 상품화에 따른 제품 한대 당 라이센스 비가 책정되어 시장 경쟁력을 잃을 수 있다. 기술적 측면으로는 커널 접근이 쉽게 할 수 없고 기술 의존적이며 운영체제와 애플리케이션이 밀접한 관계로 다른 특성을 가진 운영체제에 쉽게 포팅 되지 않는 등의 단점을 갖는다. 본 논문에서는 상용 운영체제의 단점을 극복할 수 있는 임베디드 리눅스인 uClinux를 이용하였다. 리눅스은 커널과 개발을 위한 툴, 라이브러리가 공개 되어있으며 무료이다. 수많은 공개된 애플리케이션이 존재하며 약간의 수정으로 포팅 되어 진다. 이러한 특징을 이용하여 기존 산업 자동화 제어기의 대표적인 RS485 통신과 분산 네트워크 방식이 가능한 Lontalk 프로토콜 그리고 TCP/IP를 갖춘 다중 프로토콜 제어기를 구현하였다. 주요 하드웨어로는 RS485와 TCP/IP을 위한 삼성이 S3C4530A 시스템 온 칩(SoC)과 Lontalk위한 TOSHIBA사의 TMPN3150을 사용하였고 두 시스템간의 인터페이스를 위해 CYPRESS사의 CY7C136인 DualPort RAM을 이용하였다. 주요 소프트웨어로는 원격 모니터링을 위한 중앙 제어 컴퓨터의 MMI 프로그램에 표시 및 다중 프로토콜 제어기와의 통신을 위한 윈도우즈 기반의 TCP/IP 클라이언트 프로그램 작성, 하부 제어기의 펌웨어 및 MMI와의 통신을 위한 다중 프로토콜 제어기에 임베디드 리눅스 기반의 서버 프로그램을 작성하였다. 이러한 다중 프로토콜 제어기 개발의 이점은 기존 중앙 집권적 제어 시스템에서는 중앙 제어 컴퓨터와 해당 제어기의 통신 방식마다 필드 버스가 직접 연결되어 복잡하고 경제적으로 많은 비용을 부담하였다. 하지만 다중 프로토콜 제어기를 제어 현장에 설치함으로써 현장에 있는 하부 제어 장치와는 최소한의 필드 버스로 자동화 시스템을 구현 할 수 있으며 중앙 제어 컴퓨터와는 한 선의 UTP 케이블로 연결되어 전제적으로 필드 버스가 간결해지고 경제적으로 비용 절감의 효과를 얻을 수 있다. Recently, a term called "Embedded" draws much attention from industries. The term, however, has been around us for decades from the 1950's when embedded system was first developed to control communications equipment. Despite its long history, it gets lime light these days because the system can utilize IT as our society becomes what is called an "Information Society." Such adoptation of the system can be seen in many areas including automation of factory, building, and home. Internet refrigerators, settop boxes, PDAs are among those which also show the versatile adoptability of embedded system. As for embedded systems for industrial automation, they, often for the sake of maximum usage of resources, tap into realtime such common O/S as VsWorks of WindRiver and pSoS, or Nucleus of Accelerated Technology. Although expensive and, thus, with a shaky market competitiveness, such O/S have an outstanding advantage: they guarantee responsive warranty service. In other words, however, they don't allow an easy access to Kernel, require skilled technicians, and are not always ported compatible with other O/S. Therefore, this thesis has its basis on uClinux that can overcome the shortcomings above mentioned. Linux is free of charge with the open-source library and tools that can be used in the development of Kernel. Besides, it enjoys countless open-source applications, allowing simple mending for seamless porting. Harnessing the advantages, I realized RS485 (a flagship industrial automation controller), Lontalk (capable of disbursed networking), and a multiple protocol controller (armed with TCP/IP). Major hardwares used here include S3C4530A of SAMSUNG (for RS485 and TCP/IP) and DualPort RAM, or CY7C136 of CYPRESS. I, also, utilized several major S/W, such as Windows-based TCP/IP client programs, multi-protocol controllers for communication between local controllers and MMI, and a server program based on embedded Linux. In conventional centralized controlling systems, field buses were required for a central computer to be complexly connected to controllers concerned thus, causing a snowballing cost. However, a multiple protocol controller on field can economically and effectively reach local controllers with minimum field buses, and be connected with one single UTP cable to the central computer.
실시간 임베디드 소프트웨어 프러덕트 라인 지원을 위한 컴포넌트 개발 시스템
장정아 德成女子大學校 大學院 2006 국내석사
소프트웨어 프러덕트 라인이란, 개발 초기에 시스템의 공통적인 부분과 가변적인 부분을 명확히 하여 소프트웨어 자산을 구축한 후 다양한 요구 사항에 따라 가변적인 부분을 커스터마이징하여 목표 시스템을 생성하기 위해서 개발된 소프트웨어 집약 시스템들의 집합을 의미한다. 소프트웨어 프로덕트 라인의 목적은 특정 도메인에서 주로 사용되는 공통된 핵심 자산들을 초기 단계에 먼저 개발한 후, 소프트웨어 생산 시 정해진 방식에 의해 이들을 조립함으로써, 비슷한 특성을 가지고 있지만 특정 부분이 다른 일련의 다양한 소프트웨어들을 보다 빠르고 좋은 품질을 갖도록 생산하고자 하는 데에 있다. 즉, 소프트웨어 개발 단계 초기에 소프트웨어 패밀리에 속하는 멤버들 사이의 차이점과 공통점을 미리 예측하고 분석함으로써 보다 전략적인 재사용이 가능 하도록 하여 소프트웨어 개발 생산성을 향상시키고자 하는 것이다. 본 논문에서는 이러한 개발 방법론을 최근 연구 및 필요성이 급격히 증가하고 있는 임베디드 시스템에 적용함으로써 실시간 지원을 요구하는 임베디드 소프트웨어의 동기화(synchronization) 및 병행성(concurrency)을 지원하는 소프트웨어 프러덕트 라인을 제안하고, 이를 통해 임베디드 소프트웨어의 개발 생산성을 높이고자 한다. 특히 임베디드 시스템의 주요 특징으로는 병행 처리와 실시간 처리가 있다. 본 논문에서는 컴포넌트 기반 임베디드 소프트웨어 프러덕트 라인에서의 컴포넌트 특성 및 가변성 지원 방법을 연구하였으며, 각 프러덕트를 구성하는 컴포넌트에 상태 변화 다이어그램을 적용하여 다중 쓰레드 발생시 병행 처리(Concurrent) 및 동기화를 돕도록 한다. 소프트웨어 프러덕트 라인 구축 시 가장 중요한 점은 특정 도메인에 존재하는 가변성(variability)을 지원할 수 있어야 한다는 것으로, 재사용자의 목적에 따라 효율적으로 소프트웨어를 맞춤 생산할 수 있는 컴포넌트 재구성성(reconfigurability)이 핵심 요소라 할 수 있다. 따라서, 본 논문에서는 재사용 가능한 컴포넌트 자산을 구축하고, 재구성 자동화를 통해 컴포넌트코드를 생성하는 시스템을 제안하고자 한다. 이 시스템은 컴포넌트 기반 프러덕트 라인 개발 방법론과 자동 생성 프로그래밍 기법, XML/XSLT 기술을 이용하여 구축되며, 특히 임베디드 소프트웨어의 주요 특징인 실시간 처리를 지원함으로써 임베디드 소프트웨어의 개발 시간 및 비용을 단축하는데 기여하도록 한다. Software product-lines methodology is the software development paradigm to build the target system by customizing the variable part of software assets according to requirements. To attain this, the commonalities and variabilities within entire system should be modeled explicitly at early stage. Although the researches on general software product-lines are active, the researched on real-time embedded software product-lines are rather inactive. In this paper code generation system to support the functional variabilities via feature model and generate the code for synchronization via state model is proposed to aid the development of the real-time embedded software product-lines. This system has two phases: phase for constructing the variability-support component and phase for generating the component code reconfigured according to feature configuration input. The result of this research should be applicable to build the real-time embedded software product-lines having importance in concurrency control.
블루투스 기반의 임베디드 소프트웨어 자동 업데이트 기법
기존의 많은 임베디드 장비 및 휴대용 장비들의 업데이트 작업은 사용자의 개입이 많이 필요한 작업이다. 업데이트 파일/이미지를 인터넷을 이용하여 다운받고, 컴퓨터 혹은 업데이트 장비와 임베디드/휴대용 장비를 케이블로 연결한 후, 사용자의 작업을 통해 설치되는 등의 번거로운 작업 과정을 거치게 되어있다. 급속히 증가하는 임베디드 및 휴대용 장비의 사용량과, 이제는 당연시 되다시피 한 시스템/펌웨어 업데이트/개선 작업들이 빈번하게 발생함에 따라 사용자의 개입이 없는, 혹은 최소화된 작업을 통해 사용자 편의성을 고려할 필요가 있다. 요즈음 대부분의 임베디드 장비들은 제품 개발/출시 이후에도 시스템 버그 수정 및 기능 개선, 성능 향상 등의 이유로 펌웨어 및 시스템 소프트웨어의 업데이트 파일을 제공하여 지속적인 시스템 업그레이드를 가능하게 한다. 고성능 컴퓨터와 인터넷, USB등의 고속 전송 채널 등의 보급으로 예전에 비해 업데이트 작업이 훨씬 간단해졌으나 여전히 사용자 편의성 측면에 있어서는 불편한 점이 많다. 우선, 새로운 업데이트가 존재하는지 사용자가 직접 인터넷등을 이용해 수시로 조회를 해야 하며, 반드시 장비 간 연결을 위한 케이블이 필요하다. 또한, 컴퓨터가 있는 곳에서만 업데이트가 가능하며, 업데이트 작업을 관리할 컴퓨터상에 업데이트 파일을 미리 다운받아 저장해 두어야 하는 등 번거로움이 있고, 일부 기기에서는 여전히 주요 통신회선으로 사용하고 있는 Serial 포트의 경우 최근의 컴퓨터에서는 지원하지 않는 경우도 있는 등 문제점이 있다. 때로 특정한 임베디드 장비의 경우에는 기타 전용 통신 포트와 케이블이 있어야만 업데이트가 가능한 경우도 있다. 이러한 기존의 임베디드 S/W 업데이트 절차는 업데이트 조회 작업 및 장비 간 케이블링 작업 등 사용자의 개입과 노력이 상당히 요구되며, 관련 지식이 없는 사용자의 경우에는 매우 힘들거나 불가능하기도 하다. 이처럼 힘들고 불편한 업데이트 과정은 해당 장비의 오류 정정이나 기능 개선을 위한 업데이트를 사용자로 하여금 회피하게 하여 문제가 발생 할 수도 있다. 간단한 기능 개선에 관련된 업데이트를 하지 않는 경우는 그리 큰 문제가 아닐 수 있으나, 최근 점차로 큰 문제가 되어가고 있는 보안에 관련된 업데이트나, 시스템 이상 작동 방지 등을 위한 업데이트의 경우에는 문제가 심각해 질 수 있다. 본 논문에서는 휴대폰, 모바일 장비 및 임베디드 장비에 널리 사용되고 있는 블루투스 통신을 기반으로 하여, 장비 간 부가적인 케이블링 작업을 없애고 사용자의 개입/조작을 최소화 하는 자동적 임베디드 S/W 업데이트 기법을 제안한다. 이는 사용자 편의성 증가와 더불어 이로 인한 최신의 시스템 환경을 유지함으로서 임베디드 및 휴대용 장비의 지속적인 성능 개선과 최적의 환경 유지를 가능하게 할 것이다.