• Title/Summary/Keyword: 컴파일언어

Search Result 71, Processing Time 0.037 seconds

Online Partial Evaluation of Actions (액션의 온라인 부분계산)

  • Gang, Hyeon-Gu;Do, Gyeong-Gu
    • Journal of KIISE:Software and Applications
    • /
    • v.26 no.12
    • /
    • pp.1531-1541
    • /
    • 1999
  • 프로그래밍 언어의 의미를 정형적으로 표기하는 기법인 액션의미론을 기반으로 한 컴파일러 생성기는 프로그래밍언어의 액션의미구조가 주어지면 그 언어의 컴파일러를 자동으로 생성한다. 생성된 컴파일러는 먼저 원시 프로그램을 그에 상응하는 액션 프로그램으로 확장한 후, 목적 프로그램으로 컴파일 한다. 여기서 액션 프로그램은 일종의 중간코드로 쓰이므로, 효율적인 목적코드를 생성하기 위해서 중간코드의 성능향상이 필요하다. 본 논문에서는 액션 프로그램을 부분계산을 통해 효율적인 코드로 자동 변환해 주는 온라인 액션 부분계산기를 설계하고 구현한다. 선행 연구된 오프라인 방식에서 전역분석을 하지 않고는 불가능했던 요약캡슐의 몸통, 펼치기의 몸통에 대한 부분계산이 온라인 방법을 사용하면 가능함을 보이고, 명령형 액션의 부분계산도 추가적으로 수행할 수 있도록 확장한다. Abstract Action Semantics is a framework for formally defining the semantics of programming languages. Action semantics-directed compiler generators take an action semantics definition of a programming language and automatically generate a compiler of the language. The generated compiler first expands a source program into an action denotation of the program, and then compiles it to a target code. In these compiler-generation systems, it is important to statically process the expanded action denotation - used as an intermediate code - as much as possible so that the generated compiler can produce better target code. In this paper, we develop an automatic action-transformation method based on online partial evaluation. The previous off-line method was rather weak because it could not partially evaluate actions inside the body of abstraction and unfolding-action without performing separate global analysis. The proposed online method remedies the problem, thus naturally improves the quality of residual actions. Moreover, we also extend the method to partially evaluate imperative actions.

A Benchmark of AI Application based on Open Source for Data Mining Environmental Variables in Smart Farm (스마트 시설환경 환경변수 분석을 위한 Open source 기반 인공지능 활용법 분석)

  • Min, Jae-Ki;Lee, DongHoon
    • Proceedings of the Korean Society for Agricultural Machinery Conference
    • /
    • 2017.04a
    • /
    • pp.159-159
    • /
    • 2017
  • 스마트 시설환경은 대표적으로 원예, 축산 분야 등 여러 형태의 농업현장에 정보 통신 및 데이터 분석 기술을 도입하고 있는 시설화된 생산 환경이라 할 수 있다. 근래에 하드웨어적으로 급증한 스마트 시설환경에서 생산되는 방대한 생육/환경 데이터를 올바르고 적합하게 사용하기 위해서는 일반 산업 현장과는 차별화 된 분석기법이 요구된다고 할 수 있다. 소프트웨어 공학 분야에서 연구된 빅데이터 처리 기술을 기계적으로 농업 분야의 빅데이터에 적용하기에는 한계가 있을 수 있다. 시설환경 내/외부의 다양한 환경 변수는 시계열 데이터의 난해성, 비가역성, 불특정성, 비정형 패턴 등에 기인하여 예측 모델 연구가 매우 난해한 대상이기 때문이라 할 수 있다. 본 연구에서는 근래에 관심이 급증하고 있는 인공신경망 연구 소프트웨어인 Tensorflow (www.tensorflow.org)와 대표적인 Open source인 OpenNN (www.openn.net)을 스마트 시설환경 환경변수 상호간 상관성 분석에 응용하였다. 해당 소프트웨어 라이브러리의 운영환경을 살펴보면 Tensorflow 는 Linux(Ubuntu 16.04.4), Max OS X(EL capitan 10.11), Windows (x86 compatible)에서 활용가능하고, OpenNN은 별도의 운영환경에 대한 바이너리를 제공하지 않고 소스코드 전체를 제공하므로, 해당 운영환경에서 바이너리 컴파일 후 활용이 가능하다. 소프트웨어 개발 언어의 경우 Tensorflow는 python이 기본 언어이며 python(v2.7 or v3.N) 가상 환경 내에서 개발이 수행이 된다. 주의 깊게 살펴볼 부분은 이러한 개발 환경의 제약으로 인하여 Tensorflow의 주요한 장점 중에 하나인 고속 연산 기능 수행이 일부 운영 환경에 국한이 되어 제공이 된다는 점이다. GPU(Graphics Processing Unit)의 제공하는 하드웨어 가속기능은 Linux 운영체제에서 활용이 가능하다. 가상 개발 환경에 운영되는 한계로 인하여 실시간 정보 처리에는 한계가 따르므로 이에 대한 고려가 필요하다. 한편 근래(2017.03)에 공개된 Tensorflow API r1.0의 경우 python, C++, Java언어와 함께 Go라는 언어를 새로 지원하여 개발자의 활용 범위를 매우 높였다. OpenNN의 경우 C++ 언어를 기본으로 제공하며 C++ 컴파일러를 지원하는 임의의 개발 환경에서 모두 활용이 가능하다. 특징은 클러스터링 플랫폼과 연동을 통해 하드웨어 가속 기능의 부재를 일부 극복했다는 점이다. 상기 두 가지 패키지를 이용하여 2016년 2월부터 5월 까지 충북 음성군 소재 딸기 온실 내부에서 취득한 온도, 습도, 조도, CO2에 대하여 Large-scale linear model을 실험적(시간단위, 일단위, 주단위 분할)으로 적용하고, 인접한 세그먼트의 환경변수 예측 모델링을 수행하였다. 동일한 조건의 학습을 수행함에 있어, Tensorflow가 개발 소요 시간과 학습 실행 속도 측면에서 매우 우세하였다. OpenNN을 이용하여 대등한 성능을 보이기 위해선 병렬 클러스터링 기술을 활용해야 할 것이다. 오프라인 일괄(Offline batch)처리 방식의 한계가 있는 인공신경망 모델링 기법과 현장 보급이 불가능한 고성능 하드웨어 연산 장치에 대한 대안 마련을 위한 연구가 필요하다.

  • PDF

Design and Implementation of Host Simulator for IMT-2000 Wireless Protocol using SDL Development Environments (SDL 개발환경을 이용한 IMT-2000 무선 프로토콜의 호스트 시뮬레이터 설계 및 구현)

  • Song, Pyeong-Jung;No, Cheol-U;No, Mun-Hwan;Yun, Yeong-Bae;Lee, Jong-Pil
    • The KIPS Transactions:PartC
    • /
    • v.8C no.2
    • /
    • pp.189-197
    • /
    • 2001
  • 공안된 통신 언어인 SDL을 이용하여 시스템을 설계하고, SDL 개발 도구인 SDT를 이용하여 실행 가능한 소프트웨어를 개발하고 실제 타겟 시스템과 동일한 환경에서 개발된 기증을 검증하는 개발 순기를 모두 수용하는 시뮬레이터의 개발이 대규모의 복잡한 통신 프로토콜에서는 필요하다. 본 논문에서는 IMT-2000 무선 프로토콜의 한 엔티티인 계층 2의 무선 링크제어 프로토콜 엔티티 RLC-AM(Acknowledged mode)의 개발 및 검증을 위하여, RLC-AM을 설계 및 구현한 후 이의 실행화일을 호스트 상에서 수행시킬 수 있는 호스트 시뮬레이터를 개발하였다. 호스트 컴퓨터상에서 SDT 개발환경, 컴파일 환경 및 운영체제 환경을 연동하여 개발된 호스트 시뮬레이터는 대상 프로토콜 엔티티를 MAC등 타 엔티티로 바꾸어서도 같은 방식으로 수행할 수 있다.

  • PDF

Bytecode Simulator for Analyzing Java Programs (자바프로그램 분석을 위한 바이트코드 시뮬레이터)

  • Kim, Doo-Woo;Jung, Min-Soo
    • The Transactions of the Korea Information Processing Society
    • /
    • v.7 no.7
    • /
    • pp.2086-2094
    • /
    • 2000
  • It is not easy to analyze object-oriented programs, including those in Java, Because the control flows of he program is not visible to the users. The users, however, can utilize class files to trace the process of execution, since a lot of information related on control flow are store in the control flows. A Java virtual machine can then execute the bytecods included in classfiles. It means that understanding the execution process of the bytecodes leads users to comprehend and analyze source programs in Java. We design and implement a visual tool for bytecode execution that is an efficient and powerful tool to understand and analyze source programs in Java. It can aid users to thoroughly grasp not only the structure of a program but also the flow of controls among objects.

  • PDF

TIGRIS Grid MPI Service based on WSRF (WSRF기반의 TIGRIS 그리드 MPI 서비스)

  • Kwon, Oh-Kyoung;Hahm, Jae-Gyoon;Lee, Pill-Woo
    • The Journal of the Korea Contents Association
    • /
    • v.8 no.1
    • /
    • pp.137-142
    • /
    • 2008
  • In this paper, we describe TIGRIS Grid MPI Service, which is 4he WS-Resource Framework (WSRF) based services to enable an MPI job to be executed on Grid environments. It covers heterogeneous compute resources and diverse MPI libraries. The main functionalities are as follows. First, it allows an MPI user to seamlessly launch a job without knowing how to use the specific MPI library. Secondly, it executes an MPI job on the cross-site resources by supporting the Grid-enabled MPI library such as MPICH-G2. Thirdly, it enables the user to launch a job using the source code without compiling. The service is implemented on top of the services of Globus Toolkit. We provide the user interface as a web portal and CLI(Command Line Interface).

Generate of OCL on XML Sechma Meta Model (XML 스키마 메타모델에서 OCL 생성)

  • Lee Don-Yang;Choi Han-Yong
    • The Journal of the Korea Contents Association
    • /
    • v.6 no.6
    • /
    • pp.42-49
    • /
    • 2006
  • XML used rapid method of meta language representation in internet for information transmission. In addition to XML Schema used frequency specification to variety data type. This thesis designed to Simple Type meta model of XML schema using UML. But because structure of XML schema complicate and suppose variety data type we can recognize many difficult matter to user's apprehension and application of model properties that appeared UML. To way out of this matter this study could specified clearly to structured expression in XML schema meta model that is applied OCL specification and together, come up with method of detailed design to parse tree and token generation for lexical and symmentics analysis in compile step on this study foundation.

  • PDF

Introduction to numba library in Python for efficient statistical computing (효율적인 통계 계산을 위한 파이썬 numba 라이브러리의 소개)

  • Cho, Younsang;Yu, Donghyeon;Son, Won;Park, Seoncheol
    • The Korean Journal of Applied Statistics
    • /
    • v.33 no.6
    • /
    • pp.665-682
    • /
    • 2020
  • This paper introduces numba library in Python, which improves computational efficiency of the provided implemented code written by naive Python language by applying just-in-time (JIT) compilation. To apply just-in-time compilation, the numba only needs to use a decorator on a target Python function. We provide implementation examples with numba for the permutation test and the parameter estimation for Gaussian mixture distribution. We also numerically show the efficiency of numba by comparing the total computation times of the implementation using naive python and the implementation using numba for each application.

DBRS:Design and Implementation of BPEL Engine based Robot System using B2J (DBRS:B2J를 이용한 BPEL 엔진 기반 로봇 시스템 설계 및 구현)

  • Lee, Jonghwa;Kwak, Donggyu;Choi, Jaeyoung
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2010.04a
    • /
    • pp.6-9
    • /
    • 2010
  • URC 로봇 클라이언트는 원가 절감 및 하드웨어 경량화를 위해 최소한의 요소로 구성되며, 필요한 기능을 외부 디바이스와의 연동 또는 서버를 통해 전송받아 작업을 수행하게 된다. 기존의 URC 로봇 시스템은 이기종간의 제약 없는 서비스를 제공하기 위해서 웹 서비스를 사용하고, 워크플로우 표준 언어인 BPEL 을 기반으로 한 워크플로우 엔진을 사용하고 있다. 로봇 클라이언트의 제한 된 자원으로 인해 대부분의 URC 로봇 시스템은 서버에서 BPEL 엔진을 동작시키고, 네트워크를 통해서 클라이언트의 서비스를 호출하는 구조를 가지게 된다. 이에따라 기존 로봇 시스템은 클라이언트 서비스 호출로 인한 네트워크 부하가 발생하는 문제가 있다. 본 논문에서는 경량화 된 B2J 시스템을 이용하여 로봇 클라이언트에서 BPEL의 실행을 수행하는 DBRS를 제안한다. 기존의 B2J는 BPEL 문서를 Java 코드로 변환, 컴파일, 실행하는 과정을 같은 환경에서 수행했으나 DBRS에서 사용되는 경량화 된 B2J 는 변환자와 실행자를 분리함으로써 요구사항을 낮추고 로봇의 제한된 자원을 절약한다. DBRS 는 다른 BPEL 엔진을 사용하는 로봇 시스템에 비해 클라이언트의 제한된 자원을 절약하고, 로봇 서비스 호출에 의해 발생하는 네트워크 부하가 감소한다.

New Schizophrenia Patterns on Esterel caused by Control/Data Signals (제어 및 데이터 신호에 의한 Esterel에서의 새로운 회로 중복사용 문제)

  • Yun, Jeong-Han;Kim, Chul-Joo;Kim, Seong-Gun;Choe, Kwang-Moo;Han, Tai-Sook
    • Journal of KIISE:Software and Applications
    • /
    • v.37 no.4
    • /
    • pp.311-316
    • /
    • 2010
  • Esterel is an imperative synchronous language that is used to develop memories, cache controllers, bus interfaces, and so on. An Esterel statement is called schizophrenic if it is executed more than once in an instant. A schizophrenic statement may cause problems when it is translated to hardware circuits; a circuit performs more than one reaction in a clock. Previous works claim that only local signal declarations and parallel statements may cause schizophrenic problems. However, control signals produced by a trap statement or data signals used by emit statements can cause schizophrenia. They are new schizophrenic patterns. Especially, schizophrenic problems caused by emit statements cannot be solved by a loop unrolling technique that is the key idea of previous curing techniques for schizophrenic problems. In this paper, we introduce and define the two schizophrenic problems.

A Design and Implementation of Educational Mobile Robot System including Remote Control Function (원격 제어 기능을 포함한 교육용 모바일 로봇 시스템의 설계 및 구현)

  • Chung, Joong-Soo;Jung, Kwang-Wook
    • Journal of the Korea Society of Computer and Information
    • /
    • v.20 no.4
    • /
    • pp.33-40
    • /
    • 2015
  • This paper presents the design and implementation of the educational remote controlled robot system including remote sensing in the embedded environment. The design of sensing information processing, software design and template design mechanism for the programming practice are introduced. LPC1769 using Cortex-M3 core as CPU, LPCXPRESSO as debugging environment, C language as firmware development language and FreeRTOS as OS are used in development environment. The control command is received via RF communication by the server and the robot system which is operated by driving the various sensors. The educational procedure is from robot demo operation program as hands-on practice and then compiling, loading of the basic robot operation program, already supplied. Thereafter the verification is checked by using the basic robot operation to allow demo operation such as hands-on-training procedure. The original protocol is designed via RF communication between server and robot system, and the satisfied performance result is presented by analyzing the robot sensing data processing.