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

Search Result 71, Processing Time 0.031 seconds

Design and Implementation of a Virtual Robot Education System (가상 로봇 교육 시스템 설계 및 구현)

  • Hongyu, Xiong;So, Won-Ho
    • Journal of the Institute of Electronics Engineers of Korea CI
    • /
    • v.48 no.1
    • /
    • pp.108-115
    • /
    • 2011
  • Virtual Robot Education System (VRES), which is for programming education with a Lego Mindstorm NXT robot, is designed and implemented. Through this system, program learners can edit source code, compile, download it into the robot, and run their executive program. In order to observe it, the system includes web cameras and provide monitoring services. Thus, students are able to verify the operation of robot into which they download their program in detail and to debug if necessary. In addition, we design a new simple user-friendly programming language and a corresponding compiler for it. With those tools, learner can more easily create programs for NXT robot and test them than Java language. A educator can control and manage the robot for the subject of a class with direct control mode of our system. Therefore, the proposed system is able to support students to learn robot programming during or after regular classes with web browsers through Internet.

Connector for Dynamic Composition of Aspects Based on AOSD (AOSD기반에서 Aspect의 동적결합을 위한 Connector)

  • Kim Tae-Woong;Kim Tae-Gong
    • The KIPS Transactions:PartD
    • /
    • v.13D no.2 s.105
    • /
    • pp.251-258
    • /
    • 2006
  • Aspect-Oriented Software Development is new software development method. It has many advantages related to software performance, maintenance and repair. Also it offers modularization method to a existing programming language for secondary function such as security and fault tolerance. But the present problem is that we have to use new aspect-oriented programming language. Further more when we apply Aspect to legacy system, we have to recompile the source code in order to build software system based on AOSD. In this paper, we propose and design Connector that can be composed with Aspect in legacy system dynamically. To elaborate this work, we use the information of operations about Core and Aspect, and the information of pointcut described with XML. We validate that the proposed Connector has features such as no need of new compiler, no recompilation and no modification of legacy system through case study.

Implementation of Embedded Educational Router System (임베디드 교육용 라우터 실습장비의 구현)

  • Park, Gyun Deuk;Chung, Joong Soo;Jung, Kwang Wook
    • Journal of the Korea Society of Computer and Information
    • /
    • v.18 no.5
    • /
    • pp.9-17
    • /
    • 2013
  • This paper presents the design of the educational router system. This system is designed and implemented to support network configuration and embedded programming technology of the user on Internet. Not only Static routing protocol but also a kind of dynamic routing protocols such as OSPF and RIP and firewall have been programmed for education based on ethernet interface. ADS 1.2 as debugging environment, uC/OS-ii as RTOS and C language as development language are used. The educational procedures is compile, loading of static routing protocol, a kind of dynamic routing protocols such as OSPF and RIP and firewall program already supplied. Thereafter the verification is checked by using "ping" test to allow for demo operation such as hands-on training procedure. Finally programming procedure similar with demo operation of static routing protocol, a kind of dynamic routing protocols such as OSPF and RIP and packet filtering function is educated step by step.

Design and Implementation of Educational Embedded Network System (교육용 임베디드 네트워크 실습 장비의 설계 및 구현)

  • Kim, Dae-Hee;Chung, Joong-Soo;Park, Hee-Jung;Jung, Kwang-Wook
    • Journal of the Korea Society of Computer and Information
    • /
    • v.14 no.10
    • /
    • pp.23-29
    • /
    • 2009
  • This paper presents the development of embedded network educational system. This is an educational equipment which enables user to have training over Network Configuration and Embedded network programming practice on Internet environment. The network education system is developed on embedded environment. based on using ethernet interface. On the development environment. PAX255 VLSI chip is used for the processor, the ADSv1.2 for debugging, uC/OS276 for RTOS. The system software was developed using C language. The ping program provided an educational environment for the student to compile and load it to run after doing practice of demonstration behavior. Afterwards programming procedure starts the step-by-step training just like the demonstration function. In other words, programming method how to design the procedure of ARP operation and ICMP operation is explained.

Design and Implementation of Web Compiler for Learning of Artificial Intelligence (인공지능 학습을 위한 웹 컴파일러 설계 및 구현)

  • Park, Jin-tae;Kim, Hyun-gook;Moon, Il-young
    • Journal of Advanced Navigation Technology
    • /
    • v.21 no.6
    • /
    • pp.674-679
    • /
    • 2017
  • As the importance of the 4th industrial revolution and ICT technology increased, it became a software centered society. Existing software training was limited to the composition of the learning environment, and a lot of costs were incurred early. In order to solve these problems, a learning method using a web compiler was developed. The web compiler supports various software languages and shows compilation results to the user via the web. However, Web compilers that support artificial intelligence technology are missing. In this paper, we designed and implemented a tensor flow based web compiler, Google's artificial intelligence library. We implemented a system for learning artificial intelligence by building a meteorJS based web server, implementing tensor flow and tensor flow serving, Python Jupyter on a nodeJS based server. It is expected that it can be utilized as a tool for learning artificial intelligence in software centered society.

Implementation of the Integration Laboratory for 8051 Microcontroller (8051 마이크로콘트롤러 통합실험실의 구현)

  • Lee, You-Sang;Yang, Weon-Seok;Jeon, Jae-Wook;Moon, Il-Hyeon;choi, Kwan-Sun;Kim, Dong-Sik;Jeon, Chang-Won;Lee, Sun-Heum
    • The Journal of Korean Association of Computer Education
    • /
    • v.10 no.4
    • /
    • pp.113-124
    • /
    • 2007
  • The virtual laboratory is implemented by Java applets and FLASH animations, which provides the learners with improved experimental methods. If the learners have access to the virtual laboratory system through signing up procedure, they can acquire the fundamental concepts and make a virtual experiment on 8051 microcontroller. In addition, we have implemented the remote laboratory for practicing 8051 microcontroller, which can be used to compensate the absence of reality, occurred during virtual laboratory session. Finally, the proposed integration laboratory provides the learners with almost all the same and advantages as a real laboratory environment.

  • PDF

A Study on A Web-Based DevOps Platform Using Linux Container (리눅스 컨테이너를 이용한 웹기반의 DevOps 플랫폼 연구)

  • Chung, Geunhoon;Park, Junseok;Lee, Geuk
    • Journal of the Korea Convergence Society
    • /
    • v.10 no.12
    • /
    • pp.71-80
    • /
    • 2019
  • DevOps is a combining which means giving a diverse environments for software development and operations through whole software lifecycle. The key value of the proposed DevOps platform is the fast and stable service capability for a software development and operation environment. To do this, the DevOps gives pre-embedded 7 programming languages-Java, C/C++, Python, PHP, Ruby, Node.js, goLang and 7 service frameworks - Korea eGov Framework, Spring, Struts, Django, Laravel, Rails, Express. With the DevOps platform, it is possible to develop a software and also to build and distribute operation packages directly with the Linux containers. In this paper, the performance evaluation for a compile time, a distribution time and a processing capability is will be also proved. Though the performance evaluation, this paper shows capabilities of the proposed DevOps for Cloud services with commercial service level, prospectively.

Web-based programming education system for providing rapid grading result (신속한 평가결과를 제공하는 웹기반 프로그래밍 교육시스템)

  • Park, So-Young;Ryu, Hye-Jung;Shim, Dong-Uk
    • Proceedings of the Korean Institute of Information and Commucation Sciences Conference
    • /
    • 2009.05a
    • /
    • pp.511-514
    • /
    • 2009
  • Recently web is used for more things than ever before in education. Previous web-based programming education systems help students to check compile errors and runtime errors after submitting programming assignments anytime and anywhere. However, these previous systems cannot quickly provide the detailed assessment results on the generated answer, the coding style, and the plagiarism detection. In this paper, we propose a web-based programming education system to provide the quick results of the detailed assessment as soon as to submit programming assignments. In this system, the plagiarism detection method compares a current file with only the already uploaded files so it can provide quick feedback. The proposed web-based programming education system is applied to a real C programming language class with approximately 40 students. The proposed system tends to improve the students' participation by quick feedback.

  • PDF

Improved Original Entry Point Detection Method Based on PinDemonium (PinDemonium 기반 Original Entry Point 탐지 방법 개선)

  • Kim, Gyeong Min;Park, Yong Su
    • KIPS Transactions on Computer and Communication Systems
    • /
    • v.7 no.6
    • /
    • pp.155-164
    • /
    • 2018
  • Many malicious programs have been compressed or encrypted using various commercial packers to prevent reverse engineering, So malicious code analysts must decompress or decrypt them first. The OEP (Original Entry Point) is the address of the first instruction executed after returning the encrypted or compressed executable file back to the original binary state. Several unpackers, including PinDemonium, execute the packed file and keep tracks of the addresses until the OEP appears and find the OEP among the addresses. However, instead of finding exact one OEP, unpackers provide a relatively large set of OEP candidates and sometimes OEP is missing among candidates. In other words, existing unpackers have difficulty in finding the correct OEP. We have developed new tool which provides fewer OEP candidate sets by adding two methods based on the property of the OEP. In this paper, we propose two methods to provide fewer OEP candidate sets by using the property that the function call sequence and parameters are same between packed program and original program. First way is based on a function call. Programs written in the C/C++ language are compiled to translate languages into binary code. Compiler-specific system functions are added to the compiled program. After examining these functions, we have added a method that we suggest to PinDemonium to detect the unpacking work by matching the patterns of system functions that are called in packed programs and unpacked programs. Second way is based on parameters. The parameters include not only the user-entered inputs, but also the system inputs. We have added a method that we suggest to PinDemonium to find the OEP using the system parameters of a particular function in stack memory. OEP detection experiments were performed on sample programs packed by 16 commercial packers. We can reduce the OEP candidate by more than 40% on average compared to PinDemonium except 2 commercial packers which are can not be executed due to the anti-debugging technique.

Code Generation for Integrity Constraint Check in Objectivity/C++ (Objectivity/C++에서 무결성 제약조건 확인을 위한 코드 생성)

  • Kim, In-Tae;Kim, Gi-Chang;Yu, Sang-Bong;Cha, Sang-Gyun
    • Journal of KIISE:Computing Practices and Letters
    • /
    • v.5 no.4
    • /
    • pp.416-425
    • /
    • 1999
  • 복잡한 무결성 제약 조건을 효율적으로 확인하기 위해 제약 조건들을 룰 베이스(rule base)에 저장하고 별도의 룰 관리 시스템과 제약 조건 관리 시스템을 통해 제약 조건을 확인하는 기법이 많은 연구자들에 의해 연구되고 발표되었다. 그러나 제약 조건 관리 시스템이 실행시간에 응용 프로그램을 항상 모니터링하고 있다가 데이타의 수정이 요청될 때마다 개입하여 프로세스를 중단시키고 관련 제약 조건을 확인하는 기존의 방법들은 처리 시간의 지연을 피할 수 없다. 본 논문은 컴파일 시간에 제약 조건 확인 코드를 응용 프로그램에 미리 삽입할 것을 제안한다. 응용 프로그램 자체 내에 제약 조건 확인 코드가 삽입되기 때문에 실행 시간에 다른 시스템의 제어를 받지 않고 직접 제약 조건의 확인 및 데이타베이스의 접근이 가능해져서 처리 시간의 지연을 피할 수 있을 것이다. 이를 위해 어떤 구문이 제약 조건의 확인을 유발하는 지를 추적하였고, 컴파일러가 그러한 구문을 어떻게 전처리 과정에서 검색하는지 그리고 그러한 구문마다 어떻게 해당 제약 조건 확인 코드를 삽입할 수 있는 지를 객체지향1) 데이타베이스 언어인 Objectivity/C++에 대해 gcc의 YACC 코드를 변경함으로써 보여 주었다.Abstract To cope with the complexity of handling integrity constraints, numerous researchers have suggested to use a rule-based system, where integrity constraints are expressed as rules and stored in a rule base. A rule manager and an integrity constraint manager cooperate to check the integrity constraints efficiently. In this approach, however, the integrity constraint manager has to monitor the activity of an application program constantly to catch any database operation. For each database operation, it has to check relevant rules with the help of the rule manager, resulting in considerable delays in database access. We propose to insert the constraints checking code in the application program directly at compile time. With constraints checking code inserted, the application program can check integrity constraints by itself without the intervention of the integrity constraint manager. We investigate what kind of statements require the checking of constraints, show how the compiler can detect those statements, and show how constraints checking code can be inserted into the program, by modifying the GCC YACC file for Objectivity/C++, an object-oriented database programming language.