• 제목/요약/키워드: Compiler Development

검색결과 105건 처리시간 0.025초

임베디드 리눅스 기반 산업용 무선 HMI 소프트웨어 모듈 설계 및 구현 (The Design and Implementation of Embedded Linux-Based Industrial Wireless HMI Software Module)

  • 최숙영;문승진
    • 한국지능시스템학회논문지
    • /
    • 제17권3호
    • /
    • pp.336-342
    • /
    • 2007
  • 산업용 HMI(Human Machine Interface) 시스템은 공장 자동화의 주요 구성요소 중 하나로서 PLC와 연결되어 자동화 설비 또는 장치의 운전 상태를 감시하고 제어하는데 사용된다. 이러한 HMI는 주로 제조업체별로 특정한 시스템을 사용하고, 근거리에 위치하여 쓰이기 때문에 시스템 개발 시 많은 부하를 주게 되고 시스템 확장이 어려운 단점이 있다. 이에 본 논문에서는 오픈 소스인 임베디드 리눅스 기반에 멀티 플랫폼을 지원하는 Qt/Embedded와 무선 통신 모듈을 사용하여 터치패널형 산업용 HMI 소프트웨어 모듈을 설계 및 구현하였다. 이 모듈은 Qt가 지원되는 시스템이면 소스 수정 없이 사용할 수 있으며 무선 랜 모듈을 이용하여 시스템의 이동성 및 네트워크 구축 및 시스템 확장을 보다 유동성 있게 설계할 수 있다. 이에, 리눅스 기반의 무선통신이 가능한 HMI 소프트웨어 모듈 구현으로 이동성 확보 및 범용 운영체제의 사용으로 인한 시스템 개발 시 부하 감소와 가격 경쟁력의 향상을 이루게 되었다.

SEED 프로세스 중심 소프트웨어 개발 환경을 위한 프로세스 프로그래밍 언어 및 수행지원 시스템 (A Process Programming Language and Its Runtime Support System for the SEED Process-centered Software Engineering Environment)

  • 김영곤;최혁재;이명준;임채덕;한우용
    • 한국정보과학회논문지:컴퓨팅의 실제 및 레터
    • /
    • 제5권6호
    • /
    • pp.727-737
    • /
    • 1999
  • 프로세스 중심 소프트웨어 개발 환경(PSEE : Process-centered Software Engineering Environment)은 소프트웨어 개발자를 위한 여러가지 정보의 제공과 타스크의 수행, 소프트웨어 개발 도구의 수행 및 제어, 필수적인 규칙이나 업무의 수행등과 같은 다양한 행위를 제공하는 프로세스 모형의 수행을 통하여 소프트웨어 개발 행위를 지원한다. SEED(Software Engineering Environment for Development)는 효율적인 소프트웨어 개발과 프로세스 모형의 수행을 제어하기 위해 ETRI에서 개발된 PSEE이다.본 논문에서는 SEED에서 프로세스 모형을 설계하기 위해 사용되는 SimFlex 프로세스 프로그래밍 언어와, 수행지원시스템인 SEED Engine의 구현에 대하여 기술한다. SimFlex는 간단한 언어 구조를 가진 프로세스 프로그래밍 언어이며, 적절한 적합화를 통하여 다른 PSEE에서 사용될 수 있다. SimFlex 컴파일러는 SimFlex에 의해 기술된 프로세스 모형을 분석하고, 모형의 오류를 검사하며, SEED Engine에 의해 참조되는 중간 프로세스 모형을 생성한다. 중간 프로세스 모형을 사용하여 SEED Engine은 외부 모니터링 도구와 연관하여 사용자를 위한 유용한 정보뿐만 아니라 SimFlex에 의해 기술된 프로세스 모형의 자동적인 수행을 제공한다. SimFlex 언어와 수행지원 시스템의 지원을 통하여 소프트웨어 프로세스를 모형화하는데 드는 비용과 시간을 줄일 수 있으며, 편리하게 프로젝트를 관리하여 양질의 소프트웨어 생산물을 도출할 수 있다. Abstract Process-centered Software Engineering Environments(PSEEs) support software development activities through the enaction of process models, providing a variety of activities such as supply of various information for software developers, automation of routine tasks, invocation and control of software development tools, and enforcement of mandatory rules and practices. The SEED(Software Engineering Environment for Development) system is a PSEE which was developed for effective software process development and controlling the enactment of process models by ETRI.In this paper, we describe the implementation of the SimFlex process programming language used to design process models in SEED, and its runtime support system called by SEED Engine. SimFlex is a software process programming language to describe process models with simple language constructs, and it could be embedded into other PSEEs through appropriate customization. The SimFlex compiler analyzes process models described by SimFlex, check errors in the models, and produce intermediate process models referenced by the SEED Engine. Using the intermediate process models, the SEED Engine provides automatic enactment of the process models described by SimFlex as well as useful information for agents linked to the external monitoring tool. With the help of the SimFlex language and its runtime support system, we can reduce cost and time in modeling software processes and perform convenient project management, producing well-qualified software products.

최적화 기법을 이용한 이산화탄소 소화설비의 설계프로그램 개발에 관한 연구 (A Study on the Design Program Development of the Carbon Dioxide Fire Extinguishing System Using an Optimization)

  • 이동명
    • 한국화재소방학회논문지
    • /
    • 제28권3호
    • /
    • pp.1-9
    • /
    • 2014
  • 본 연구에서는 이산화탄소 소화설비의 설계이론, 소방방재청 고시 제2012-11호, KS B 6261과 최적화 기법 중 최대 경사법을 바탕으로 이산화탄소 소화설비의 설계인자를 최적화할 수 있는 설계프로그램을 개발하였다. 설계프로그램은 정립된 로직 및 알고리즘을 바탕으로 C++ 컴파일러를 이용하여 개발하였고 윈도우 운영체계에서 운영되도록 하였다. 이산화탄소 소화설비 설계인자의 최적화는 제한조건으로 구속되어있는 약제유동율, 방출시간 및 설계변수(배관내경 등)를 최소화하였다. 시험장치에 의해 설계프로그램의 성능을 검증하였고, 소방분야에 최적설계의 기틀을 마련하였다. 또한 최적설계인자를 바탕으로 이산화탄소 소화설비를 시공함으로서 소화설비의 효율성을 높이고 화재진압을 극대화할 것으로 본다.

에너지 소비 모니터링을 위한 재목적 인스트럭션-셋 시뮬레이터 (Retargetable Instruction-Set Simulator for Energy Consumption Monitoring)

  • 고광만
    • 한국멀티미디어학회논문지
    • /
    • 제14권3호
    • /
    • pp.462-470
    • /
    • 2011
  • 재목적성(retargetability)은 아키텍처 정보를 정형화된 형식으로 기술하여 컴파일러, 시뮬레이터와 같은 소프트웨어 개발 도구(SDK)를 생성하는데 이용된다. 시뮬레이터는 임베디드 프로세서의 설계를 하드웨어로 구현하기 전에 아키텍처의 다양한 성능 확인과 개선을 위해 소프트웨어적으로 검증할 수 있는 중요한 하드웨어 및 소프트웨어 개발 도구이다. 이러한 시뮬레이터는 시스템의 기능 검증, 성능 측정, 전력 에너지 소비 측정 결과 등을 하드웨어 설계 과정에서 중요하게 활용한다. 이 논문에서는 에너지 소비 측정이 가능한 시뮬레이터를 ADL로부터 생성하기 위해 첫째 에너지 소비 측정 및 모니터링 요소를 ADL에 표현한다. 둘째, ADL 표현으로부터 에너지 측정 및 모니터링 시뮬레이션 라이브러리를 생성한 후 시뮬레이터인 RenenrgySim 을 구축한다. 마지막으로, MiPS R4000에 대한 ADL을 표현을 작성하여 에너지 소비 측정 결과를 제시한다. 이러한 연구는 모바일 임베디드 소프트웨어 개발 분야에서 소프트웨어적인 실험을 통해 효과적인 아키텍처 개발과 신속한 SDK 생성에 활용될 수 있다.

내장 소프트웨어를 위한 개발 환경의 개선 (Improving development environment for embedded software)

  • 안일수
    • 소프트웨어공학소사이어티 논문지
    • /
    • 제25권1호
    • /
    • pp.1-9
    • /
    • 2012
  • 기계장치에 내장되어 동작하는 내장 소프트웨어의 개발 환경은 일반 소프트웨어와 비교하여 불편한 점이 많다. 소프트웨어가 개발되는 장비와 동작하는 장비가 다르며 일반적으로 고가의 상용 개발도구를 필요로 한다. 본 논문은 공개 소프트웨어 도구들을 활용하여 내장 소프트웨어의 개발환경을 개선시킬 수 있는 방안을 제시한다. cross compile을 위한 GNU Compiler Collection과 Scratch box, 통합 개발 환경인 Eclipse, 원격 접속을 위한 RSE, 가상화를 위한 QEMU 등의 특징과 효과적인 활용 방법을 설명한다.

  • PDF

LLVM 기반의 임베디드 시스템 성능 분석기의 연구 (A Study of LLVM-based Embedded System Performance Analyzer)

  • 조두산
    • 문화기술의 융합
    • /
    • 제8권1호
    • /
    • pp.577-582
    • /
    • 2022
  • 새로운 임베디드 시스템을 개발할 때 응용 프로그램과 에뮬레이터, 그리고 컴파일러를 동시에 개발한다. 모든 시스템 구성요소의 성능을 최적으로 개발하기 위해서는 응용 프로그램 개발시 부분 최적화를 동시에 진행하여야 한다. 이를 위하여 소스 레벨 성능 분석기를 개발하면 응용 프로그램 소스 코드를 모듈별로 성능 평가하여 최적화하는 것이 가능하다. 일반적으로 응용 프로그램의 성능은 반복문에서 결정된다. 소스코드를 중간표현 (Intermediate Representation) 코드 생성기를 이용하여 변환하고, 변환된 중간 표현 단계의 명령어들로 실행시간을 분석 할 수 있다. 실행시간 성능 평가 결과를 바탕으로 응용 프로그램 코드를 개선하면 최종적으로 개발된 통합 플랫폼에서 더 나은 결과물을 얻을 수 있다. 본 연구에서는 새로운 임베디드 시스템의 개발중에 응용 프로그램을 동시 개발하는 과정에서 사용 가능한 소스 레벨 성능 분석기에 대하여 기술하고 있다. 성능 분석기를 사용하면 최종 임베디드 시스템의 성능을 보다 빠르게 최적화하는 것이 가능하게 된다.

USN환경에서 교육용 ZigBee 장비의 설계 및 구현 (A Design and Implementation of ZigBee Educational System in USN Environment)

  • 박균득;정중수;정광욱
    • 정보처리학회논문지:소프트웨어 및 데이터공학
    • /
    • 제2권5호
    • /
    • pp.335-340
    • /
    • 2013
  • 본 논문에서는 USN 환경에 적합한 ZigBee 교육용 시스템을 설계 및 구현하였다. 또한 ZigBee 교육용 실습 장비를 통하여 사용자가 USN환경에서 소프트웨어 기술 교육을 위하여 동작과정을 실습하고, 그 과정에서의 소프트웨어 설계 기법을 제시하였다. 시스템의 개발 환경으로 CPU는 Atmel사의 Atmega128 프로세서, 디버깅 환경은 AVR 컴파일러, 펌웨어 개발 언어는 C언어를, 응용 프로그램은 Visual C++를 사용하였다. 시스템 동작 과정은 인터넷을 통한 서버나 직접 접속된 하이퍼 터미널로부터 코디네이터가 센싱정보 읽기 명령을 수신한 후 이를 ZigBee 기술을 이용하여 종단장치로 전달함으로서 시작된다. 이후 종단 장치는 다양한 센싱정보를 코디네이터에게 전달하며, 코디네이터는 인터넷을 통해 서버로 전달하거나 코디네이터에게 직접 접속된 하이퍼 터미널로 전달한다. 교육 과정으로는 이러한 ZigBee 동작과정에 대한 실습과 그에 대한 프로그래밍 기법이다. 이때 코디네이터와 종단장치간 통신은 ZigBee 프로토콜의 물리계층, MAC 계층, 네트워크 계층을 활용하여 설계하였다. 또한 서버와 코디네이터간 통신은 TCP/IP 소켓위에 독자적인 프로토콜을 제시하여 설계하였고, 센싱된 데이터를 전달시 프로토콜 처리과정을 해석하여 검증하였다.

IFC를 이용한 설계정보관리시스템 핵심부 구축 (Design Information Management System Core Development Using Industry Foundation Classes)

  • 이근형;진상윤;김재준
    • 한국건설관리학회논문집
    • /
    • 제1권2호
    • /
    • pp.98-107
    • /
    • 2000
  • 최근 건설산업에서 컴퓨터의 활용이 일반화되어 가면서, CAD, PMIS(Project Management Information System), 구조해석 프로그램, 공정관리 프로그램 등을 통해서 발생하는 정보의 양은 급증하고 있다. 그 정보의 양이 방대해지고, 복잡해지면서 이들 정보를 효과적으로 관리하며, 재활용하는 것이 건설산업의 생산성을 좌우하는 요소가 되어가고 있다. 이러한 상황에서 건설업에서의 정보기술과 CIC(Computer Integrated Construction)에 대한 연구가 진행되고 있다. 최근에는 프로덕트 모델을 이용하여 정보를 통합하기 위한 방안으로 IFC(Industry Foundation Classes)가 IAI에 의해 개발되어서 이를 이용한 정보 공유 및 활용에 대한 연구가 수행되고 있다. 하지만, 이들 연구가 아직 초기 단계에 머물러 있고, 대부분 개념적인 내용을 중심으로 이루어지고 있다. 따라서 IFC를 이용한 설계정보관리시스템 구축을 위한 좀 더 구체적인 모델과 구축 프로세스에 대한 연구가 필요한 상황이다. 본 연구의 목적은 IFC를 이용하기 위해 필요한 요소 기술을 조사하고, 이를 이용해서 IFC를 활용한 설계정보관리시스템의 모델을 제시하고, 제시된 모델에서 핵심적인 기능을 수행하는 프로젝트 데이터베이스와 프로덕트 프레임워커의 역할과 이들을 구축하기 위한 프로세스를 밝히는데 있다. 이들의 주된 역할은 건축정보와 구조정보의 통합과 프로덕트 정보의 다중 통합이며, 이들의 구현을 위한 프로세스로 먼저 '프로덕트 모델링' 과 '응용프로그램 개발' 의 두 가지를 상위단계의 활동으로 정의하고, 응용 프로그램 개발을 다시 'IFC스키마 컴파일', '클래스 컴파일', '프로젝트 데이터베이스 스키마 생성', '프로덕트 프레임워커 개발, '프로젝트 데이터베이스 생성'의 다섯 가지 활동으로 정의했다. 이러한 활동들을 위해 이용되는 도구들로 C++ 컴파일러, CAD, ST-Developer, ST-ObjectStore, ObjectStore 등을 제시했다. 이렇게 구축된 프로젝트 데이터베이스의 정보들은 인터넷을 이용한 분산기술과 XML을 이용해서 정보 관련자들 간의 공유 방안 및 '3차원 모델링', '프로덕트 정보 생성', '데이터베이스 생성 및 수정', '여러가지 체계에 따른 모델의 재구성', '모델별 도면 및 시방서 연결', '물량 정보 생성'의 다섯 단계로 제시하였다.

  • PDF

실시간 CFD 모델링을 위한 오픈소스 분산 컴퓨팅 기술 연구 (A Research about Open Source Distributed Computing System for Realtime CFD Modeling (SU2 with OpenCL and MPI))

  • 이준엽;오종우;이동훈
    • 한국농업기계학회:학술대회논문집
    • /
    • 한국농업기계학회 2017년도 춘계공동학술대회
    • /
    • pp.171-171
    • /
    • 2017
  • 전산유체역학(CFD: Computational Fluid Dynamics)를 이용한 스마트팜 환경 내부의 정밀 제어 연구가 진행 중이다. 시계열 데이터의 난해한 동적 해석을 극복하기위해, 비선형 모델링 기법의 일종인 인공신경망을 이용하는 방안을 고려하였다. 선행 연구를 통하여 환경 데이터의 비선형 모델링을 위한 Tensorflow활용 방법이 하드웨어 가속 기능을 바탕으로 월등한 성능을 보임을 확인하였다. 그럼에도 오프라인 일괄(Offline batch)처리 방식의 한계가 있는 인공신경망 모델링 기법과 현장 보급이 불가능한 고성능 하드웨어 연산 장치에 대한 대안 마련이 필요하다고 판단되었다. CFD 해석을 위한 Solver로 SU2(http://su2.stanford.edu)를 이용하였다. 운영 체제 및 컴파일러는 1) Mac OS X Sierra 10.12.2 Apple LLVM version 8.0.0 (clang-800.0.38), 2) Windows 10 x64: Intel C++ Compiler version 16.0, update 2, 3) Linux (Ubuntu 16.04 x64): g++ 5.4.0, 4) Clustered Linux (Ubuntu 16.04 x32): MPICC 3.3.a2를 선정하였다. 4번째 개발환경인 병렬 시스템의 경우 하드웨어 가속는 OpenCL(https://www.khronos.org/opencl/) 엔진을 이용하고 저전력 ARM 프로세서의 일종인 옥타코어 Samsung Exynos5422 칩을 장착한 ODROID-XU4(Hardkernel, AnYang, Korea) SBC(Single Board Computer)를 32식 병렬 구성하였다. 분산 컴퓨팅을 위한 환경은 Gbit 로컬 네트워크 기반 NFS(Network File System)과 MPICH(http://www.mpich.org/)로 구성하였다. 공간 분해능을 계측 주기보다 작게 분할할 경우 발생하는 미지의 바운더리 정보를 정의하기 위하여 3차원 Kriging Spatial Interpolation Method를 실험적으로 적용하였다. 한편 병렬 시스템 구성이 불가능한 1,2,3번 환경의 경우 내부적으로 이미 존재하는 멀티코어를 활용하고자 OpenMP(http://www.openmp.org/) 라이브러리를 활용하였다. 64비트 병렬 8코어로 동작하는 1,2,3번 운영환경의 경우 32비트 병렬 128코어로 동작하는 환경에 비하여 근소하게 2배 내외로 연산 속도가 빨랐다. 실시간 CFD 수행을 위한 분산 컴퓨팅 기술이 프로세서의 속도 및 운영체제의 정보 분배 능력에 따라 결정된다고 판단할 수 있었다. 이를 검증하기 위하여 4번 개발환경에서 운영체제를 64비트로 개선하여 5번째 환경을 구성하여 검증하였다. 상반되는 결과로 64비트 72코어로 동작하는 분산 컴퓨팅 환경에서 단일 프로세서 기반 멀티 코어(1,2,3번) 환경보다 보다 2.5배 내외 연산속도 향상이 있었다. ARM 프로세서용 64비트 운영체제의 완성도가 낮은 시점에서 추후 성공적인 실시간 CFD 모델링을 위한 지속적인 검토가 필요하다.

  • PDF

이기종 무선인터넷 플랫폼의 어플리케이션 상호 호환을 위한 변환 솔루션 개발 (Development of Conversion Solutions for Interoperability of Applications on Different Mobile Internet Platforms)

  • 강경보;강동현;홍창표;류종민;이중훈;윤정한;좌정우
    • 한국콘텐츠학회논문지
    • /
    • 제7권4호
    • /
    • pp.1-9
    • /
    • 2007
  • 이동통신사업자는 기존의 음성서비스에서 고속 무선인터넷 서비스를 기반으로 하는 신규 사업모델 개발을 위해 고속 무선인터넷 망을 구축하고 다기능 휴대폰을 개발하여 보급하고 있다. 국내 이동통신사업자는 무선인터넷 서비스의 활성화를 위해 cdma2000-1x, EvDo에서 HSDPA로 고속 무선인터넷망을 구축하고 MP3, MPEG, 3D 게임엔진, DMB 등 이동멀티미디어 솔루션과 팝업 창과 같이 새로운 UI를 갖는 다기능 휴대폰을 개발하여 보급하고 있다. 또한, 무선인터넷 서비스의 콘텐츠 개발을 위해 WAP, ME등의 모바일 브라우저와 WIPI, J2ME, BREW 등의 무선인터넷 플랫폼을 사용하고 있다. 그러나 이동통신 사업자별로 다른 무선인터넷 플랫폼을 사용하고 있어 콘텐츠 사업자가 무선인터넷 서비스를 사용자에게 제공하기 위해서는 서로 다른 무선인터넷 플랫폼으로 어플리케이션을 개발하여야 하는 문제가 있다. 본 논문에서는 무선인터넷 플랫폼에서 개발된 어플리케이션을 다른 무선인터넷 플랫폼에서 동작할 수 있도록 하는 어플리케이션 상호 호환을 위한 변환 솔루션을 제안한다. 제안하는 어플리케이션 상호 호환을 위한 변환 솔루션은 대표적 인 무선인터넷 플랫폼인 WIPI와 BREW 간 어플리케이션 변환을 위 해 단일패스(one-pass) 컴파일러 방식을 사용하여 개발되었다. 개발된 변환 솔루션의 성능은 무선인터넷 핵심 서비스인 게임 어플리케이션에 적용하여 API 변환율, 프로그램 성능, 변환 프로그램 크기, 변환 소요시간에 대해 확인하였다.