• 제목/요약/키워드: C# programming language

검색결과 324건 처리시간 0.023초

바이트코드 최적화기 (The Bytecode Optimizer)

  • 이야리;홍경표;오세만
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제30권1_2호
    • /
    • pp.73-80
    • /
    • 2003
  • 자바언어는 인터넷 및 분산 환경 시스템에서 효과적으로 응용 프로그램을 개발할 수 있도록 설계된 프로그래밍 언어로써 객제지향 패러다임 특성 및 다양한 개발 환경을 지원하고 있다. 그러나, 자바는 클래스 파일이 이동하여 JVM 환경에서 인터프리팅 되는 시스템이므로, 성능의 저하 없이 실행되기 위해서는 효율적인 최적화와 실행 시스템이 요구된다. 본 논문은 네트워크 상에서 동적으로 다운로드 되는 클래스 파일을 바이트코드 수준에서 최적화하였다. 최적화된 바이트코드들이 인터프리팅 되는 시스템에서 적은 네트워크 로드를 가지고 실행할 수 있도록 하며, 효율적인 실행 속도를 보이도록 하는 것이다. 본 논문에서 구현된 바이트코드 최적화기에서는 내부적으로 바이트코드 최적화기와 클래스 파일 생성기를 이용하여 실행시간을 개선하고 전체 클래스 파일의 크기를 줄이게 된다. 바이트코드 최적화기는 바이트코드를 클래스사이의 계층 분석과 제어 흐름의 분석을 통하여 클래스들간의 연관 관계를 분석한 후 그래프를 구성하고, 패턴 탐색 결과 기본 블록 분리를 통하여 전역 최적화를 이루고, 기본 블록 안에서의 연산강도 경감, 그리고 도달할 수 없는 코드 블록의 제거를 수행한다. 바이트코드 최적화 단계를 수행한 클래스 파일은 부분적으로 클래스 파일의 최적화를 가져와 전체 클래스 파일의 크기를 줄이고, 인터프리터를 통하여 실행될 때 수행 속도 면에서 좀더 빠른 실행속도를 가지게 된다.

8비트 마이크로컨트롤러를 사용한 PID 제어 (PID control using 8-bit microcontroller)

  • 이동희;문상국
    • 한국정보통신학회:학술대회논문집
    • /
    • 한국정보통신학회 2016년도 춘계학술대회
    • /
    • pp.407-408
    • /
    • 2016
  • 드론은 최근 가까운 공원에서도 볼 수 있을 정도로 대중화가 되었다. 드론이란 조종사 없이 무선전파로 비행 조종이 가능한 무인 항공기(UVA)를 말하며, 주로 비행기나 헬리콥터 모양을 하고 있다. 드론은 군사용으로 시작 되었지만, 최근 방송촬영, 농약살포, 현장탐사, 취미용 등 민간으로 용도가 확대 되었다. 하지만 시중에서 많이 볼 수 있는 드론은 가격도 비싸고 고장이 났을 경우 수리하기가 어려우며, 비행시간이 짧은 불편함이 있다. 본 논문에서는 위에서 말한 불편한 점을 해결하고자 가격이 저렴한 ATmega128을 이용한 드론(쿼드콥터)를 구현했다. 6축 자이로, 가속도 센서와 MCU간의 TWI통신과, PID제어를 통한 드론의 자세제어를, 수신기의 신호를 입력받아 송신기로 드론을 제어하는 동작을 C프로그래밍언어를 기반으로 구현하였다.

  • PDF

웰니스 환경에서 암호화 프로토콜 적용을 위한 모바일과 원격 서버간 트래픽 성능 평가 (The traffic performance evaluation between remote server and mobile for applying to encryption protocol in the Wellness environment)

  • 이재필;김영혁;이재광
    • 디지털융복합연구
    • /
    • 제11권11호
    • /
    • pp.415-420
    • /
    • 2013
  • U-Wellness Healthcare System(U-WHS)이란, 웰빙(wellbeing)과 피트니스(fitness)를 결합한 원격 건강 관리 시스템을 말한다. 이러한 시스템에서는 시간과 공간에 제약 없이 언제 어디서나 환자의 생체정보를 측정 및 관리 할 수 있는 것이다. 본 논문에서는 스마트모바일기기와 HIS(Hospital Information System)간 생체정보 전송시 암호화 모듈이 통신 평가에 끼치는 영향을 알아보기 위해 수행하였다. U-WHS 모델의 경우 클라이언트는 iOS Xcode환경의 Objective-c 개발 언어를 이용하여 SEED, HIGHT 암호화 모듈 적용을 하였다. HIS의 경우 클라이언트와 서버간 통신을 위하여 HTML5의 WebSocket API와 관계형 데이터베이스 관리 시스템인 MySQL를 적용하였다. 그리하여 WIFI 통신 환경에서 Wireshark를 사용, 분석하여 생체 정보의 데이터 전송율, 지연율, 손실율에 대한 평가를 확인하였다.

SPI-4.2 프로토콜을 사용한 PHY-LINK 계층간의 데이터 전송 성능평가 (The Performance Evaluation for PHY-LINK Data Transfer using SPI-4.2)

  • 박노식;손승일;최익성;이범철
    • 한국정보통신학회논문지
    • /
    • 제8권3호
    • /
    • pp.577-585
    • /
    • 2004
  • 시스템 패킷 인터페이스 4레벨 2단계(System Packet Interface Leve14 Phase 2)는 10Gbps 이더넷 응용 뿐만아니라, OC-192 대역폭의 ATM 및 POS를 통한 패킷 또는 셀 전송을 위한 물리계층과 링크계층 소자간의 인터페이스이다. 본 논문에서는 시스템 패킷 인터페이스 4레벨 2단계(SPI-4.2)에 대한 연구와 C언어를 이용한 인터페이스 모듈의 성능평가를 실시하였다. SPI-4.2 인터페이스 모들은 512워드의 FIFO를 사용할 경우 랜덤 유니폼 트래픽에서는 97%까지, 버스트 길이 32를 갖는 버스트 트래픽에서는 94% 까지의 offered load에 대해 적응이 가능하다. 그리고 14 바이트 미만의 작은 크기 패킷을 대규모로 수신할 경우, 오버헤드로 인한 성능 저하가 발생한다는 것을 확인하였다. SPI-4.2 인터페이스 모듈은 기가비트/테라비트 라우터, 광학 크로스바 스위치 및 SONET/SDH 기반의 전송 시스템에서 라인카드로 사용할 경우 적합할 것으로 사료된다.

분산 메모리 환경에서의 ABox 실체화 추론 (ABox Realization Reasoning in Distributed In-Memory System)

  • 이완곤;박영택
    • 정보과학회 논문지
    • /
    • 제42권7호
    • /
    • pp.852-859
    • /
    • 2015
  • 최근 지식 정보의 양이 방대해지면서, 대용량 온톨로지를 효과적으로 추론하는 연구가 활발히 진행되고 있다. 이러한 추론 방법들은 TBox 분류와 ABox 실체화로 나누어진다. TBox 추론은 스키마의 무결성과 종속성을 주로 다룬다면, ABox 추론은 인스턴스 위주의 다양한 문제를 다루어서 실제 응용에서의 중요성이 매우 크다. 따라서 본 논문은 클래스의 제약 조건을 분석하고, 이를 통해 인스턴스가 속하는 클래스를 추론할 수 있는 방법을 제안한다. 객체 지향 언어 기반의 분산 파일 시스템을 활용했던 기존 방법과 달리 함수형 프로그래밍 기반의 인 메모리 시스템인 스파크를 통해 대용량 온톨로지 실체화 방법에 대해서 설명한다. 제안하는 기법의 효율성을 검증하기 위해 W3C의 Wine 온톨로지를 이용해 인스턴스를 생성(1억 2천만~6억개의 트리플)하고 실험을 수행하였다. 6억개의 트리플을 대상으로 진행한 실험의 경우 전체 추론 시간이 51분(696 K Triple/sec)이 소요되었다.

무기체계의 기능 선정을 위한 ANP 기반의 의사결정 지원시스템 설계 (ANP-based Decision Support System Design for Selecting Function of Weapon Systems)

  • 오성령;서윤호
    • 한국시뮬레이션학회논문지
    • /
    • 제25권3호
    • /
    • pp.85-95
    • /
    • 2016
  • 현대 무기체계의 복잡체계화로 인해 국방은 M&S와 T&E가 중요시되고 있으며, 한정적인 자원을 효율적으로 운용하여 시간 및 비용을 절감할 수 있는 연구를 지속적으로 진행하고 있다. 기존연구에서는 프로세스 기반 모델링을 이용한 성능평가 시스템 개발이 진행되고 있지만 성능평가에 합당한 무기체계의 기능을 선정하는데 있어, 객관적 근거나 과학적 방법 이 부족하기 때문에, 같은 기종이라도 상황에 적합한 기능을 선정하기 어렵다. 또한 사용자의 요구사항을 체계적으로 반영할 수 없으며, 다양한 평가요소의 상호작용을 고려하기 힘들다는 문제점이 있다. 따라서 본 논문은 성능평가 시뮬레이션에서 사용되는 평가객체 선정 시, 객체 선정기준과 사용자의 요구사항 및 현실적 상황을 반영할 수 있는 방법을 제시한다. 먼저, 다 기준 의사결정 방법인 ANP기법을 이용하여 객체를 선정하고, 연구결과를 바탕으로 프로그래밍 언어(C#)를 이용한 의사결정 지원시스템을 구현하였다.

8bit 마이크로컨트롤러의 PID제어를 이용한 드론 구현 (Implementation of a drone using the PID control of an 8-bit microcontroller)

  • 이동희;문상국
    • 예술인문사회 융합 멀티미디어 논문지
    • /
    • 제6권9호
    • /
    • pp.81-90
    • /
    • 2016
  • 최근 드론은 하나의 취미 생활이 될 정도로 대중화가 되었다. 드론이란 조종사 없이 무선 전파로 비행·조종이 가능한 무인 항공기를 말하며, 주로 비행기나 헬리콥터 모양을 하고 있다. 드론은 군사용으로 시작 되었지만, 건설 현장, 농약 살포용, 현장 탐사, 화물 배송 그리고 수험생에게 답을 알려주는 부정행위를 방지하기 위한 드론 등 민간으로 용도가 크게 확대 되었다. 하지만 시중에서 볼 수 있는 드론은 굉장히 고가이고, 고장이 났을 경우 수리하기가 어려우며, 비행시간이 짧은 불편함이 있다. 본 논문에서는 위에서 말한 불편한 점을 해결하고자 보다 적은 비용으로 8비트 마이크로컨트롤러인 ATmega128을 이용한 드론를 구현했다. 6축 자이로, 가속도 센서와 MCU간의 TWI통신과, PID 제어를 통한 드론의 자세 제어를, 수신기의 신호를 입력받아 송신기로 드론을 제어하는 동작을 C프로그래밍언어를 기반으로 구현하였다. ATmega128을 이용한 드론은 호버링이 가능하고, 제어에 필요하지 않은 핀을 활용하여 다양한 용도의 드론으로 사용 할 수 있다.

임베디드 시스템 기반 오버헤드 빈 내부 상황 실시간 식별 시스템 개발 (Development of the Embedded System-based Real-time Internal Status Identification System for Overhead Bin)

  • 김재은;임혜정;조성욱
    • 항공우주시스템공학회지
    • /
    • 제17권2호
    • /
    • pp.111-119
    • /
    • 2023
  • 본 논문에서 제안하는 스토리지 박스의 내부 상황에 대한 실시간 식별 시스템은 오버헤드 빈의 내부 보관 상태, 무게 정보 및 무게 중심 계산 값을 시각화하는 시스템이다. 제안된 시스템은 로드 셀과 스위치 어레이를 사용하여 각 측정값을 동기화하고 시각적 센서를 통해 의미 있고 필요한 정보를 제공한다. 이 시스템은 C 언어 기반 임베디드 시스템으로 구축되며 1) 내부 가용공간 파악, 2) 무게중심 계산, 3) 실시간 시각 정보 제공이 주요 기능이다. 이러한 기능을 통해 스마트 오버헤드 빈을 개발하고, 향후 화물 적재 자동화 시스템 개발에 기여할 수 있는 실시간 화물 적재 모니터링 기술을 개발하였다.

기존 프로그래밍 원시코드에서 자바 바이트 코드로의 변환 (Program Translation from Conventional Programming Source to Java Bytecode)

  • Jeon-Geun Kang;Haeng-Kon Kim
    • 한국컴퓨터산업학회논문지
    • /
    • 제3권8호
    • /
    • pp.963-980
    • /
    • 2002
  • 소프트웨어 재공학은 기존 시스템의 유지보수 문제에 대한 해결책으로 많은 연구가 이루어 지고 있다. 재공학은 역공학과 순공학을 이용하여 기존 시스템에 대한 이해와 새로운 시스템의 개발을 의미하며 기존 시스템에서의 컴퍼넌트들로부터 필요한 기능을 가져와 재구성 하는 것이다. 본 논문에서는 기존의 프로시져 언어에 의해 컴파일된 바이너리 코드를 입력으로 받아서 웹 기반 자바 바이트 코드로 변환한다. 즉 바이너리-바이너리 단계에서 수행되는 소프트웨어 시스템을 제안한다. 이를 위해 먼저 Pascal-L 에 의해 작성된 기존의 프로그램 언어를 Jasmin 이라는 어셈블리 코드로 먼저 번역하고 사용자 읽기 가능한 자바 바이트 코드 상태인 Jasmin 어셈블리가 실제 자바 코드로 변환된다. 이 시스템은 결국 기존의 원시코드가 번역기를 통해 실행 가능한 바이너리 코드 형식으로 실행된다. 이 번역과정은 먼저 주어진 바이너리코드에서 언어구조를 식별하는 과정과 변수 객체의 위치를 분석하고 초기화 하는 과정 그리고 주어진 바이너리 코드를 Jasmin 코드로의 매핑하는 단계등으로 구성된다.

  • PDF

Keras를 이용한 Python과 C#의 딥러닝 성능 비교 분석 (Comparative analysis of deep learning performance for Python and C# using Keras)

  • 이성진;문상호
    • 한국정보통신학회:학술대회논문집
    • /
    • 한국정보통신학회 2022년도 추계학술대회
    • /
    • pp.360-363
    • /
    • 2022
  • 최근에 Kaggle ML & DS Survey에 따르면 기계 학습 및 데이터 과학을 위한 프레임워크에서 TensorFlow와 Keras의 비율이 각각 41.82%, 34.09%로 비중을 차지하고 있으며, 개발 프로그래밍의 경우 약 82%로 Python을 사용하는 것으로 나타났다. 상당수의 기계 학습 및 딥러닝의 구조가 Keras 프레임워크와 Python을 활용하고 있으나, Python의 경우에는 스크립트 언어인 관계로 인해 배포 및 실행을 Python 스크립트 환경에 제한되어 동작하므로 다양한 환경에서 동작하기 어려운 개연성이 있을 수 있다. 본 논문에서는 Visual Studio 2019에서 동작하는 C#과 Keras를 활용한 기계 학습 및 딥러닝 시스템을 구현하였으며, 세부적으로 Mnist 데이터셋을 활용하여 파이썬 3.8.2와 C# .NET 5.0 환경에서 20번의 테스트를 진행하였다. 테스트 수행 결과, Python은 최소 시간 1.86초, 최대 시간 2.38초, 평균 시간 1.98초 총 시간 39.53초가 소요되었으며, C#은 최소 시간 1.78초, 최대 시간 2.11초 평균 시간 1.85초 총 시간 37.02초가 소요되었다. 결론적으로 C#의 성능이 Python보다 6% 정도 향상되었음을 확인하였으며, 이를 통해 실행파일 추출이 가능하여 활용도가 높을 것으로 기대한다.

  • PDF