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

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

ISPLC: 지능적인 에이전트 기반 소프트웨어 PLC (ISPLC:Intelligent Agent System based Software Programmable Logic Control)

  • 조영임;심재홍
    • 한국멀티미디어학회:학술대회논문집
    • /
    • 한국멀티미디어학회 2003년도 추계학술발표대회(하)
    • /
    • pp.557-560
    • /
    • 2003
  • In this paper, we developed an editor and running engine for the SoftPLC. LD is the most popular standard IEC 1131-3 PLC language in Korea and used over 90% among the 5 PLC languages. In this paper, we have developed the ISPLC(Intelligent Agent System based Software Programmable Logic Controller). In ISPLC system, LD programmed by a user is converted to IL, which is one of intermediate codes, and IL is converted to the standard C code which can be used in a commercial editor such as visual C++. In ISPLC, the detection of logical error in high level programming(C) is more efficient than PLC programming itself. ISPLC provide easy programming platform to such beginner as well as professionals. The study of code conversion of LD-> U->C is firstly tried in the world as well as KOREA.

  • PDF

Function-level module sharing techniques in high-level synthesis

  • Nishikawa, Hiroki;Shirane, Kenta;Nozaki, Ryohei;Taniguchi, Ittetsu;Tomiyama, Hiroyuki
    • ETRI Journal
    • /
    • 제42권4호
    • /
    • pp.527-533
    • /
    • 2020
  • High-level synthesis (HLS), which automatically synthesizes a register-transfer level (RTL) circuit from a behavioral description written in a high-level programming language such as C/C++, is becoming a more popular technique for improving design productivity. In general, HLS tools often generate a circuit with a larger area than those of hand-designed ones. One reason for this issue is that HLS tools often generate multiple instances of the same module from a function. To eliminate such a redundancy in circuit area in HLS, HLS tools are capable of sharing modules. Function-level module sharing at a behavioral description written in a high-level programming language may promote function reuse to increase effectiveness and reduce circuit area. In this paper, we present two HLS techniques for module sharing at the function level.

버퍼 오버플로우 공격 방지를 위한 취약 함수 변환기 구현 (Implementation of a function translator converting vulnerable functions for preventing buffer overflow attacks)

  • 김익수;조용윤
    • 디지털산업정보학회논문지
    • /
    • 제6권1호
    • /
    • pp.105-114
    • /
    • 2010
  • C language is frequently used to develop application and system programs. However, programs using C language are vulnerable to buffer overflow attacks. To prevent buffer overflow, programmers have to check boundaries of buffer areas when they develop programs. But vulnerable programs frequently result from improper programming habits and mistakes of programmers. Existing researches for preventing buffer overflow attacks only inform programmers of warnings about vulnerabilities and not remove vulnerabilities in advance so that the programs still include vulnerabilities. In this paper, we propose a function translator which prevents creating programs including buffer overflow vulnerabilities. To prevent creating binary from source including vulnerabilities, the proposed translator searches vulnerable functions which cause buffer overflows, and converts them into secure functions. Accordingly, developing vulnerable programs by programmers which lack in knowledge on security can be prevented.

결합 방식 멀티패러다임 프로그래밍을 지원하는 언어의 설계 및 구현 (Design and Implementation of a Language Supporting Compositional Approach to Multiparadigm Programming)

  • 최종명;유재우
    • 정보처리학회논문지A
    • /
    • 제10A권6호
    • /
    • pp.605-614
    • /
    • 2003
  • 본 논문에서는 멀티패러다임 프로그래밍의 결합 방식(compositional approach)[20]을 프로그래밍 언어에 적용한 새로운 형태의 멀티패러다임 언어인 Argos를 소개한다. Argo는 자바 언어의 수퍼셋이고, Argos 언어의 메소드를 정의하는 문법은 다른 언어의 문법을 사용할 수 있는 확장점을 가지고 있다. 따라서 Argos 클래스의 각 메소드는 자바, C, Prolog, Python 등의 여러 프로그래밍 언어들 중에서 하나를 선택해서 구현할수 있도록 허용함으로써 객체지향과 멀티패러다임 프로그래밍을 동시에 지원한다. Argos의 메소드는 기존의 프로그래밍 언어로 작성할 수 있기 때문에 다른 멀티패러다임 언어에 비해 상대적으로 배우기 쉽고, 라이브러리 재사용성도 높은 장점을 가지고 있다. Argos 컴파일러는 입력 프로그램 을 사용된 언어에 따라 분할하고, 분할된 메소드 코드를 해당 언어의 처리기에 전달해서 컴파일하는 DCO(delegating compiler object) 모델[28,29]에 따라 구현된다.

컴퓨터 알고리즘 교육을 위한 온라인 알고리즘 뱅크 구현 (Design and Implementation of Online Algorithm Bank for Algorithm E-learning)

  • 박우창
    • 컴퓨터교육학회논문지
    • /
    • 제7권4호
    • /
    • pp.1-6
    • /
    • 2004
  • 온라인상에서 교육 내용의 전달은 많은 방법들이 개발되어 있지만 컴퓨터 언어 및 알고리즘의 e-learning과 실습은 웹상에서 프로그램 실습의 어려움으로 인하여 이론과 실습이 병행되지 못하여 왔다. 본 논문에서는 알고리즘을 검색하고 관리할 수 있는 뱅크를 구축하고 실행 인터페이스를 만들어, 학생들이 직접 웹상에서 각각의 프로그램들을 실행시킬 뿐 아니라 프로그램을 수정하여 실행할 수 있도록 하였다. 웹상에서 실습을 통한 알고리즘 뱅크 시스템은 실습 환경 구축과 적응에 대한 어려움을 없앰으로써 컴퓨터 알고리즘 학습에 대한 거리감을 없애는 효과가 있다.

  • PDF

안드로이드 기반 공개키 암호를 위한 곱셈기 구현 및 분석 (Implementation and Analysis of Multi-Precision Multiplication for Public Key Cryptography Based on Android Platform)

  • 서화정;김호원
    • 한국통신학회논문지
    • /
    • 제37C권10호
    • /
    • pp.940-948
    • /
    • 2012
  • 안드로이드 프로그램은 JAVA SDK로 제작되어 가상머신(virtual machine) 기반으로 동작한다. 따라서 기존의 C 언어에 비해 프로그램 작성은 편리해 졌지만 동작 속도는 떨어지는 단점이 있다. 이러한 단점을 보완하기 위해 안드로이드 상에서 C언어, 어셈블리 언어의 사용이 가능한 안드로이드 NDK가 제안되어 보다 효율적인 프로그램 작성이 가능하게 되었다. 이와 더불어 ARM에서 제공하는 NEON기능을 사용하면 벡터연산을 통해 성능을 향상 시킬 수 있다. 본 논문에서는 NDK의 효용성에 대해 알아보며 NEON기능을 이용한 향상된 곱셈구조를 제안한다.

대등관계 복제객체 모델을 지원하는 분산 객체 프로그래밍 언어의 설계 및 구현 (Design and Implementation of a Distributed Object Programming Language supporting Peer Replicated Object Model)

  • 신범주;이동현
    • 한국정보과학회논문지:컴퓨팅의 실제 및 레터
    • /
    • 제5권4호
    • /
    • pp.449-456
    • /
    • 1999
  • 본 논문은 C++에 분산 객체 프로그래밍 기능을 추가한 D++ 언어를 제안한다. 대등관계 복제객체 모델을 지원하는 D++는 분산 클래스의 정의, 멤버 함수의 일치성 제어 정의 기능, 그리고 영구 객체 이름에 기반한 분산 객체를 정의할 수 있는 언어 구조를 제공한다. D++ 프로그램에서 새로이 생성되는 분산 객체는 생성 시에 제공되는 객체의 영구 이름과 동일한 영구 이름을 갖는 분산 객체가 존재할 경우 해당 객체들과 복제 관계를 유지함으로써 정보를 공유한다. 각 복제 객체들은 서로 간에 대등한 관계를 가지며, 멤버 함수 정의 시에 기술되는 특성에 따라 일치성이 유지된다. 이 같은 D++의 분산 객체 모델은 실시간 그룹웨어의 기본 요구 사항인 분산 환경에서의 정보 공유 및 사건 공지 기능을 자연스럽게 해결해 주기 때문에 실시간 그룹웨어의 개발을 효율적으로 지원할 수 있을 것으로 기대한다. Abstract This paper proposes D++ programming language that is an extension of C++ for distributed object oriented programming. The D++, which supports peer-to-peer object model, provides new language constructs for the definition of distributed classes, the definition of the consistency control of the member function and the definition of distributed object variables with the persistent name. In D++, when the persistent name of a newly created distributed object is same as that of an existing distributed object, the new distributed object replicates object state of the existing distributed object and thus they share the object state. The replicas have peer relation and the consistency among them is maintained according to the characteristic described on the definition of designated member functions. It is expected that D++ language increases efficiency in development of real-time groupware because the distributed object model of D++ naturally supports the information sharing and event notification that are the basic functions required when building real-time groupware.

초등학생의 논리적 사고력 향상을 위한 객체지향 프로그래밍 교육 연구 (A Study on Object-Oriented Programming Education for Improving Logical Thinking Ability of Elementary School Students)

  • 박경모;홍태진
    • 디지털콘텐츠학회 논문지
    • /
    • 제10권2호
    • /
    • pp.367-373
    • /
    • 2009
  • 컴퓨터 프로그래밍 교육에서는 추상적 개념을 이해하고 주어진 문제를 스스로 해결하도록 한다. 기존의 프로그래밍 교육에서 BASIC, C와 같은 절차적 프로그래밍 언어에 대한 연구는 많이 있지만 JAVA와 같은 객체지향 프로그래밍 언어를 통한 교육콘텐츠는 찾아보기 힘들다. 본 논문에서는 구조 중립적이며, 분산 인터넷 환경에 적합한 특성을 가지고 있는 객체지향 프로그래밍(OOP)/JAVA 학습 시스템을 개발하여, 초등학교 학생들로 하여금 활용하도록 하였다. OOP/JAVA 학습 시스템을 통한 객체지향 프로그래밍 교육은 초등학생들의 논리적 사고력을 향상시키고, 수학, 과학 과목의 학습 성취도에 긍정적인 영향을 주는 동시에 컴퓨터에 대한 흥미도가 상승함을 실험을 통해 확인할 수 있었다.

  • PDF

The Development of an Educational Robot and Scratch-based Programming

  • Lee, Young-Dae;Kang, Jeong-Jin;Lee, Kee-Young;Lee, Jun;Seo, Yongho
    • International journal of advanced smart convergence
    • /
    • 제5권2호
    • /
    • pp.8-17
    • /
    • 2016
  • Scratch-based programming has come to be known as an effective programming tool because of its graphic instruction modules, which are designed to be assembled like the famous LEGO building blocks. These building block-like structures allow users to more easily program applications without using other more difficult programming languages such as C or Java, which are text-based. Therefore, it poses a good opportunity for application in educational settings, especially in primary schools. This paper presents an effective approach to developing an educational robot for use in elementary schools. Furthermore, we present the method for scratch programming based on the external modules need for the implementation of robot motion. Lastly, we design a systematic curriculum, titled "Play with a Robot," and propose guidelines to using the educational programming language Scratch.

IT 학부생의 다중지능과 학문적 적응도 분석 -C 프로그래밍을 중심으로- (Analysis of Multiple Intelligences and Academic Adjustment Level for Undergraduate Students of IT Major -Focused on C Programming-)

  • 유상미;최병수
    • 한국인터넷방송통신학회논문지
    • /
    • 제14권6호
    • /
    • pp.189-197
    • /
    • 2014
  • 본 연구는 IT 학부생의 다중지능에서의 특성과 학과 및 전공학문에 대한 학문적 적응도를 분석하였다. 연구대상은 H대학 M과의 IT 학부생 1학년 신입생 70명이었고 전공학문은 학과의 기초전공필수인 "컴퓨터언어I-C언어" 과목이었다. 연구는 가드너(Gardner)의 다중지능이론에서 논란의 소지가 적은 8개 지능 영역을 사용하였고, 학문적 적응도는 대학생의 학과와 전공학문에 대한 적응력의 정도라고 조작적으로 정의하고, 변인으로는 선행연구를 통해 흥미, 몰입, 학과전공에 대한 친숙성과 관련성의 정도, 학업성취도 그리고 학과만족도를 선정하였다. 연구결과는 IT 학부생은 다중지능 중 대인지능과 자기이해지능이 강점으로 나타났고 남녀 간의 차이는 유의하지 않았다. 또한, 다중지능과 학문적 적응도 요인 간에 유의미한 상관들이 발견되었다. 특히, 학문적 적응도에서 C프로그래밍 학문에 대해 흥미와 몰입이 낮았지만 다중지능의 언어지능과 C언어에 대한 몰입과의 유의미한 상관은 매우 흥미로운 결과였다. 다중지능과 학업성취도와의 유의미한 상관은 나타나지 않았으나, 전공학문에 대한 관련성을 높게 인식할수록 C언어에 친숙함을 많이 느낄수록 학업성취도가 높은 것으로 조사되었다. 마지막으로 본 연구에서의 제한점을 논의하고, 연구 결과를 토대로 IT학부생의 학문적 적응도를 높이기 위한 처방적 전략에 대해 제언하였다.