KR20210076811A - 시뮬레이터를 이용한 임베디드 소프트웨어 자동 채점 시스템 및 방법 - Google Patents

시뮬레이터를 이용한 임베디드 소프트웨어 자동 채점 시스템 및 방법 Download PDF

Info

Publication number
KR20210076811A
KR20210076811A KR1020200048203A KR20200048203A KR20210076811A KR 20210076811 A KR20210076811 A KR 20210076811A KR 1020200048203 A KR1020200048203 A KR 1020200048203A KR 20200048203 A KR20200048203 A KR 20200048203A KR 20210076811 A KR20210076811 A KR 20210076811A
Authority
KR
South Korea
Prior art keywords
unit
scoring
hardware
information
comparison
Prior art date
Application number
KR1020200048203A
Other languages
English (en)
Other versions
KR102373133B1 (ko
Inventor
이우진
김덕엽
정원웅
서강복
Original Assignee
경북대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 경북대학교 산학협력단 filed Critical 경북대학교 산학협력단
Publication of KR20210076811A publication Critical patent/KR20210076811A/ko
Application granted granted Critical
Publication of KR102373133B1 publication Critical patent/KR102373133B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/31Design entry, e.g. editors specifically adapted for circuit design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/398Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/20Education
    • G06Q50/205Education administration or guidance

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Educational Technology (AREA)
  • Educational Administration (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • General Business, Economics & Management (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명은 시뮬레이터를 이용한 임베디드 소프트웨어의 자동 채점을 수행하는 시스템 및 방법에 관한 것이다. 구체적으로, 소프트웨어의 자동 채점 기능과 결합하여 하드웨어 및 소프트웨어 구성을 자동 채점할 수 있는 임베디드 소프트웨어 실습 자동 채점 시스템 및 방법에 관한 것이다. 본 발명에 의하면, 실물로 하드웨어를 구현하지 않고 시뮬레이터를 통해 하드웨어 및 소프트웨어를 구현하고 자동으로 검증할 수 있다.

Description

시뮬레이터를 이용한 임베디드 소프트웨어 자동 채점 시스템 및 방법{System and Method for Automatic Scoring of Embedded Software Using a Simulator}
본 발명은 시뮬레이터를 이용한 임베디드 소프트웨어의 자동 채점을 수행하는 시스템 및 방법에 관한 것이다.
최근 프로그래밍 교육에 대한 관심이 늘어나며 프로그래밍 수업에 사용되는 자동 채점 시스템에 대한 다양한 연구가 진행되고 있고, 프로그래밍 수업에 상당 부분을 차지하고 있다.
주요 국·내외 SW 실습 자동 채점 시스템에서 지원하는 주요 언어들 예를 들어, C, C++, JAVA, Python, Delphi 등 기존의 자동 채점 시스템에서 지원하는 대부분의 언어들은 표준 입출력을 이용하여 콘솔 환경에서 실행되고 있다. 이러한, 국·내외 채점 시스템의 지원 언어는 표 1과 같다.
Figure pat00001
그러나, 표 1과 같이, 채점 시스템에서 지원하는 언어 및 환경은 제한적이며 대부분의 채점 시스템이 표준 I/O 기반의 콘솔 환경만을 대상으로 운영되고 있다. 따라서, 현재 채점 시스템들은 임베디드 소프트웨어 관련 기능을 거의 지원하지 않고 있다.
임베디드 관련 프로그래밍 실습수업은 '아두이노'와 같이 하드웨어(HW)에 콘솔 환경에서 구동되는 언어의 소프트웨어(SW)를 업로드하여 하드웨어를 구현하는 수업도 많이 진행되고 있다. 따라서, 프로그래밍 실습수업에서 자동으로 채점할 수 있는 임베디드 소프트웨어 실습 자동 채점 시스템이 필요하다.
아울러, 이러한 프로그래밍 실습수업에 사용되는 자동 채점 시스템은 먼저 하드웨어의 구성이 올바른지 확인하고, 해당 하드웨어에 소스코드를 업로드하여 실행되는 결과를 확인하고, 기 저장된 데이터와 비교하여 시스템에 기록해야 한다. 그러나, 지원되는 언어와 환경이 제한적이기 때문에 상술된 단계를 모두 자동화하여 구현하는 것에는 어려움이 존재한다. 따라서, 하드웨어(HW)와 소프트웨어(SW)를 모두 자동으로 채점하는 기능은 현재 기술로는 구현이 쉽지 않다.
본 발명은 전술한 종래 기술의 문제점을 해결하기 위한 것으로서, 본 발명은 소프트웨어의 자동 채점 기능과 결합하여 하드웨어 및 소프트웨어의 구성을 자동 채점할 수 있는 임베디드 소프트웨어 실습 자동 채점 시스템 및 방법을 제공하는 것에 그 목적이 있다.
이와 같은 목적을 달성하기 위한 본 발명은, 시뮬레이터 기반으로 하는 임베디드 소프트웨어 채점 시스템에 있어서, 채점대상 회로도와 채점대상 소스코드를 입력하는 제 1 입력부; 기준 회로도와 기준 소스코드를 입력하는 제 2 입력부; 상기 제 2 입력부의 기준 회로도에서 하드웨어 기준 정보를 추출하는 추출부; 상기 제 2 입력부의 기준 소스코드를 이용하여 테스트 케이스를 생성하는 생성부; 상기 제 1 입력부의 채점대상 회로도와 상기 추출부의 하드웨어 기준 정보를 비교하는 제 1 비교부; 제 1 입력부의 채점대상 소스코드와 상기 생성부의 테스트 케이스를 비교하는 제 2 비교부; 상기 제 2 비교부의 비교결과에 따라 점수를 부가하여 채점하는 채점부;를 포함하는 임베디드 소프트웨어 채점 시스템을 제공한다.
상기 제 1 비교부의 불일치한 비교결과를 사용자에게 제공하는 제 1 제공부; 상기 채점부의 결과를 사용자에게 제공하는 제 2 제공부;를 포함한다.
상기 추출부의 하드웨어 기준 정보는, 하드웨어 구성정보, 핀 정보, 핀의 연결 정보 중에서 하나 이상을 포함한다.
상기 추출부는, 상기 하드웨어 기준 정보를 하드웨어 기준 테이블로 생성하는 것을 특징으로 한다.
본 발명의 다른 특징에 따르면, 시뮬레이터 기반으로 하는 임베디드 소프트웨어 채점 방법에 있어서, 제 1 입력부에 채점대상 회로도와 채점대상 소스코드가 입력되는 단계; 제 2 입력부에 기준 회로도과 기준 소스코드가 입력되는 단계; 추출부가 상기 제 2 입력부의 기준 회로도에서 하드웨어 기준 정보를 추출하는 단계; 생성부가 상기 제 2 입력부의 기준 소스코드를 이용하여 테스트 케이스를 생성하는 단계; 제 1 비교부가 상기 제 1 입력부의 채점대상 회로도와 상기 추출부의 하드웨어 기준 정보를 비교하는 단계; 제 2 비교부는 제 1 입력부의 채점대상 소스코드와 상기 생성부의 테스트 케이스를 비교하는 단계; 채점부는 상기 제 2 비교부의 비교정보에 따라 점수를 부가하여 채점하는 단계;를 포함하는 임베디드 소프트웨어 채점 방법을 제공한다.
상기 제 1 비교부의 비교결과가 불일치한 경우, 제 1 제공부는 하드웨어 구성에 대한 상기 제 1 비교부의 비교결과를 사용자에게 제공하는 단계를 포함한다.
상기 제 2 제공부는 상기 채점부의 결과를 사용자에게 제공하는 단계를 포함한다.
본 발명은 시뮬레이터를 이용하여 하드웨어 및 소프트웨어를 구현하고 자동으로 검증할 수 있다.
본 발명은 실물로 하드웨어를 구현하지 않고 시뮬레이터를 이용하여 쉽게 하드웨어의 동작을 구현할 수 있어, 사용자의 편의성을 제공하며 학습 효율을 높일 수 있는 효과가 있다.
본 발명은 C++, JAVA, Python, Delphi 등 다양한 언어의 소프트웨어와 하드웨어의 구현을 시뮬레이터를 통해 확인할 수 있으므로, 하드웨어와 소프트웨어가 결합하는 다양한 프로그래밍 실습수업에서도 활용할 수 있다.
본 발명의 일 실시예에 의하면, 하드웨어의 동일한 구성 및 위치뿐만 아니라 테스트하고자 하는 지정된 범위도 판단함으로써, 보다 정확한 채점 결과를 제공할 수 있다.
본 발명의 일 실시예에 의하면, 학습자에게 불일치한 하드웨어 구성에 대한 메시지를 제공함으로써 학습자가 스스로 프로그래밍 오류를 정정할 수 있도록 추가의 학습 기회를 부여할 수 있다.
본 발명의 일 실시예에 의하면, 아두이노 시뮬레이터 프로그램을 무료 라이선스로 제공하고 있어, 교육용으로 활용할 수 있다.
도 1은 임베디드 소프트웨어 채점 시스템의 구성을 개략적으로 도시한 블록도이다.
도 2는 도 1의 제 1 입력부 처리과정을 설명하기 위한 예시도이다.
도 3은 도 1의 제 2 입력부 처리과정을 설명하기 위한 예시도이다.
도 4 및 도 5는 제 1 입력부, 제 2 입력부가 시뮬레이터를 통해 입력되는 구성을 설명하기 위한 도면이다.
도 6은 도 1의 추출부에서 추출한 하드웨어 기준 정보를 설명하기 위한 소스코드이다.
도 7은 도 6의 하드웨어 기준 정보를 하드웨어 기준 테이블로 나타내는 표이다.
도 8은 생성부에서 생성된 테스트 케이스를 설명하기 위한 도면이다.
도 9는 종래의 소프트웨어 채점 시스템의 테스트 케이스(Test Case, T.C)를 설명하기 위한 도면이다.
도 10 내지 도 12는 제 1 비교부의 비교결과를 보인 예시 화면이다.
본 발명의 목적 및 효과, 그리고 그것들을 달성하기 위한 기술적 구성들은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 본 발명을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다.
그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다.
그러나 본 발명은 이하에서 개시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있다. 단지 본 실시 예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
이와 같은 본 발명은 비록 한정된 실시 예와 도면에 의해 설명되나, 본 발명은 이것에 의해 한정되지 않으며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 본 발명의 기술 사상과 아래에 기재될 청구범위의 균등 범위 내에서 다양한 수정 및 변형이 가능함은 물론이다.
이하에서는 도면에 도시한 실시 예에 기초하면서 본 발명에 대하여 더욱 상세하게 설명하기로 한다. 그러나, 본원이 이러한 실시 예와 도면에 제한되는 것은 아니다.
이하, 첨부된 도면을 참조하여 본 발명의 구성에 대하여 상세히 설명한다.
도 1은 임베디드 소프트웨어 채점 시스템(100)의 구성을 개략적으로 도시한 블록도이다. 임베디드 소프트웨어의 경우 하드웨어와 소프트웨어를 입력하고 업로드하여 구현할 수 있다. 후술하는 도면의 과정을 따라 진행하면 하드웨어와 소프트웨어로 구성된 임베디드 소프트웨어에 대해 자동으로 채점할 수 있다.
도 1에 따르면, 본 발명에 따른 임베디드 소프트웨어 실습 자동 채점 시스템(100)은 제 1 입력부(110), 제 2 입력부(120), 추출부(130), 생성부(140), 제 1 비교부(150), 제 1 제공부(160), 제 2 비교부(170), 채점부(180), 제 2 제공부(190)를 포함한다.
제 1 입력부(110)는 시뮬레이터(200)을 통해 채점하고자 하는 하드웨어인 채점대상 회로도와 소프트웨어인 채점대상 소스코드가 입력되는 구성이다. 입력은 학습자가 입력하게 된다.
제 2 입력부(120)는 시뮬레이터(200)을 통해 기준 회로도와 기준 소스코드가 입력되는 구성으로, 주로 채점자(ex, 교수)가 입력하게 된다. 상기 제 1 입력부(110)에 대해 채점하고자 하는 기준이 되는 정보이다.
이러한 제 1 입력부(110), 제 2 입력부(120)는 시뮬레이터(200)를 통해 입력되며, 상기 시뮬레이터(200)는 도 4 및 도 5에 도시한 바와 같이 아두이노 보드(210), 브레드 보드(220), 하드웨어 구성부품(230), 연결 케이블(240)을 포함하고 있다. 또한, 일 실시예에 따른 본 발명의 소스코드는 C/C++ 프로그래밍 언어를 기반의 소스 코드일 수 있다. 그리고 상기 제 1 입력부(110) 및 제 2 입력부(120)의 입력 정보는 저장부(미도시)에 저장된다.
한편, 제 2 입력부(120)에는 추출부(130)가 연결된다. 추출부(130)은 캐드용 xml 형태의 파일로 변환된 제 2 입력부(120)의 기준 회로도에서 하드웨어 기준 정보(131)를 추출하기 위함이다. 여기서 상기 하드웨어 기준 정보(131)는 제 2 입력부(120)의 기준 회로도에서 추출한 정보로서, 도 6과 같이, 채점하고자 하는 추출대상을 결정하는 정보일 수 있다. 또한 도면에는 미도시하고 있지만, 제2 입력부(120)와 추출부(130) 사이에는 제 2 입력부(120)의 기준 회로도에 대한 정보를 캐드용 xml 형태의 파일로 변환하는 구성이 연결된다.
하드웨어 기준 정보(131)는 하드웨어 구성 정보, 핀 정보, 핀의 연결 정보를 포함하는 것으로, 제 1 입력부(110)의 채점대상 회로도가 올바르게 구성된 것인지를 쉽게 판단하기 위한 것이다. 하드웨어 기준 정보(131)에 대해서는 도 6 및 도 7에서 후술한다.
생성부(140)는 제 2 입력부(120)의 기준 소스코드를 이용하여 테스트 케이스(141)를 생성한다. 기준 소스코드 정보는 하드웨어의 각 핀에 대한 입력 또는 출력되는 신호들의 순서를 포함한다. 테스트 케이스(141)에 대해서는 도 7에서 후술한다.
테스트 케이스(141)는 제 2 입력부(120)의 기준 소스코드 정보를 포함하는 것으로, 제 1 입력부(110)의 채점대상 소스코드가 올바르게 작성된 것인지를 판단하는 정보일 수 있다.
본 발명의 일 실시예로, 제 1 비교부(140)는 제 1 입력부(110)에 입력된 채점대상 회로도와 하드웨어 기준 정보(131)를 비교한다. 이때, 제 1 비교부(150)의 비교결과가 모두 일치하게 되면, 채점대상 회로도는 올바르게 작성된 회로도로 볼 수 있을 것이다. 그리고, 하드웨어 구성에 대한 비교결과에 따라 상기 비교결과는 제 1 제공부(160)가 학습자에게 제공된다. 이는 학습자가 불일치되는 정보들을 확인할 수 있도록 하기 위함이다.
제 1 제공부(160)는 제 1 비교부(150)의 일치 또는 불일치 비교결과를 학습자 및 채점자에게 제공한다.
앞서 설명한 제1 비교부(150)는 학습자에 의해 입력된 하드웨어 정보와 채점자에 의해 입력된 하드웨어 정보를 비교하는 것이다. 이러한 비교결과 일치된 경우에만 아래에서 설명되는 소프트웨어 정보를 비교하는 구성들이 제공되고, 불일치된 경우에는 학습자가 확인할 수 있도록 비교결과가 제공된다.
제 2 비교부(190)는 학습자에 의해 입력된 제 1 입력부(110)의 채점대상 소스코드와 상기 생성부(140)의 테스트 케이스(141)를 비교하는 것이다. 비교결과에 따라 테스트 케이스(141)와 제 1 입력부(110)의 채점대상 소스코드가 일치하면, 채점대상 소스코드는 올바르게 작성된 것이라 할 수 있다.
본 발명의 일 실시예에 따르면, 채점자가 입력한 기준 소스코드는 학습자가 입력한 채점대상 소스코드와 동일한 기능을 수행하므로, 하드웨어의 각 핀 별로 신호가 입력 또는 출력되는 순서가 동일할 수 있다.
채점부(180)는 제 2 비교부(170)의 비교결과에 따라 점수를 부가하여 채점을 진행하고, 제 2 제공부(190)는 채점부(180)의 채점결과를 학습자 및 채점자에게 제공한다. 구체적으로, 도 10 내지 도 12에서 후술하도록 한다.
다음에는 이와 같이 구성된 채점 시스템을 이용한 채점 방법을 첨부도면을 참고하여 설명한다.
제 1 입력부(110)는 학습자가 입력하는 하드웨어 및 소프트웨어 정보를 입력 받는다. 예를 들어 도 2에 도시된 바와 같이, 제 1 입력부(110)는 하드웨어 정보로서 채점대상 회로도와 소프트웨어 정보로서 채점대상 소스코드가 입력되는 것이다.
제 2 입력부(120)는 채점자가 입력하는 하드웨어 및 소프트웨어 정보를 입력 받는다. 예를 들어 도 3에 도시된 바와 같이, 제 2 입력부(120)는 하드웨어 정보로서 기준 회로도와 스프트웨어 정보로서 기준 소스코드가 입력되는 것이다.
한편, 제 1 입력부(110) 및 제 2 입력부(120)가 입력받는 회로도는 도 4와 같다. 도 4는 학습자 및 채점자가 시뮬레이터(200)를 이용하여 각각 하드웨어를 구성하는 예시도이다. 도 4에 도시된 바와 같이, 브레드보드(220)에는 하드웨어 구성부품(230)이 설치될 수 있으며, 하드웨어 구성 부품(230)은 연결 케이블(240)을 이용하여 아두이노 보드(210)의 해당 핀과 연결될 수 있다.
하드웨어 구성 부품(230)은 레지스터, LED, 누름버튼, 분압기, 콘덴서, 슬라이드 스위치, 전압, 센서, 모터, 7 세그먼트, 부저 등을 포함할 수 있으며, 이는 설명하는 실시예에 한정되는 것이 아니다.
도 5에 도시된 바와 같이, 제 1 입력부(110)의 채점대상 소스코드 및 제 2 입력부(120)의 기준 소스코드는 소스코드 창(250)에 통해 입력되는 것이다. 학습자 및 채점자가 시뮬레이터(200)의 소스코드 창(250)을 이용하여 소스코드를 입력할 수 있다. 실시예에 따른 본 발명의 소스 코드는 C/C++ 프로그래밍 언어를 기반의 소스 코드일 수 있으며, 이는 설명하는 실시예에 한정되는 것이 아니다.
제 2 입력부(120)의 기준 회로도에 대한 정보는 비교하고자 하는 하드웨어의 구성을 확인하기 위해 캐드용 xml 형태의 파일로 변환된다.
추출부(130)는 캐드용 xml 형태의 파일로 변환된 제 2 입력부(120)의 기준 회로도에 대한 파일 내용을 통해 하드웨어 기준 정보(131)를 추출한다. 하드웨어 기준 정보(131)는 아두이노 보드(210), 하드웨어 구성부품(230)을 확인할 수 있는 하드웨어 구성 정보, 아두이노 보드(210) 및 하드웨어 구성부품(230)에 존재하는 핀 개수 및 위치에 대한 핀 정보, 핀을 통해 연결된 아두이노 보드(210)와 하드웨어 구성부품(230)의 입출력 라인에 대한 핀의 연결 정보 중 적어도 하나 이상을 포함한다.
이때, 추출부(130)가 추출한 하드웨어 기준정보(131)는 도 6과 같다. 도 6 에 도시된 바와 같이, 사용자가 생성한 H/W 목록 정보와, 보드와 온도센서를 연결하는 케이블 정보가 표시된다. 그리고 도 7과 같이, 상기 하드웨어 기준정보(131)는 하드웨어 기준 테이블(132)로 표시될 수 있다.
하드웨어 기준 테이블(132)은 하드웨어 기준 정보(131)의 하드웨어 구성정보, 핀 정보, 핀의 연결정보를 포함하며, 각 정보 별로 확인할 수 있다. 도 7에 도시된 바와 같이, 하드웨어 구성정보는 아두이노 보드(210)에 해당하는 Uno보드, T092에 해당하는 온도 센서(230)로 구성되어 있으며, 핀 정보는 아두이노 보드(210)의 경우 GND 2, 5V, 3.3V 등의 핀, 온도 센서(230)의 경우 GND, 5V, signal의 핀으로 구성되어 있다. 그리고, 핀의 연결정보는 아두이노 보드(210)의 5V는 온도센서(230)의 1번 핀과 연결되어 있으며, 아두이노 보드(210)의 A5는 온도센서(230)의 2번 핀, 아두이노 보드(210)의 GND는 온도센서(230)의 3번 핀과 연결되어 있어 있다. 즉, 핀의 연결정보는 아두이노 보드(210)에 해당하는 하드웨어 구성부품(230)의 입출력 핀 번호를 포함하고 있다.
본 발명의 또 다른 실시 예에 따르면, 제 2 입력부(120)의 기준 소스코드를 이용하여 생성된 테스트 케이스(141)는 스위치에 의해 LED가 ON/OFF되는 핀의 입출력 신호를 나타낼 수 있다.
도 8에 도시된 바와 같이, 순서 1은 Pin 2의 스위치를 통해 Pin 8에 연결된 LED에 ON 신호를 입력하여 불이 켜지고(출력값 '1'에 해당됨), 순서 2는 OFF 신호를 입력하여 LED 불이 꺼지는 것(출력값 '0'에 해당됨)을 설명한다. 순서 3과 순서 4에서도 입력 Pin 3의 스위치를 통해 출력 Pin 9의 신호를 확인할 수 있다. 따라서, 생성부(140)은 제 2 입력부(120)의 기준 소스코드를 통해 테스트 케이스(141)를 생성할 수 있다.
한편, 도 9는 종래의 소프트웨어 채점 시스템의 테스트 케이스(Test Case, T.C)를 나타내는 도면이다. 종래에는 표준 입력 값과 표준 출력 값으로 구성되어 있어서 입/출력 신호의 순서를 쉽게 확인할 수 없었다. 반면, 도 8과 같이 본 발명의 테스트 케이스(141)는 입출력 순서를 확인할 수 있으므로, 하드웨어의 동작 순서에 따른 핀 신호를 확인할 수 있다는 점에서 채점을 정확하고 용이하게 할 수 있는 것이다.
본 발명의 일 실시예에 따르면, 제 1 입력부(110)에 채점대상 회로도가 입력되고, 제 2 입력부(120)에 입력된 기준 회로도에 대한 정보가 추출부(130)에 의해 추출되면, 하드웨어 정보를 비교하는 과정이 수행되어야 한다. 따라서, 제 1 비교부(150)은 제 1 입력부(110)에서 전달받은 채점대상 회로도와 추출부(130)의 하드웨어 기준 정보(131)를 비교한다. 그리고 제 1 비교부(150)의 비교 결과가 불일치하면 (도2에서 FAIL에 해당), 하드웨어의 구성에 대한 불일치 결과를 학습자 및 채점자에게 제공한다. 이때, 불일치 결과는 제1 제공부(160)에 의해 수행된다. 따라서 학습자는 자신이 입력한 회로도의 잘못된 부분을 인지할 수 있다.
반면, 제 1 비교부(150)의 비교결과가 일치하면 (도2에서 PASS에 해당), 제1 입력부(110)에 입력된 소프트웨어 구성들이 대해 비교하는 과정을 수행되게 된다.
한편, 상기 제1 비교부(150)는 핀의 위치만을 고려하지 않고 일정 범위를 지정하여 비교할 수도 있다. 이 경우 하드웨어 부품의 핀 위치가 일치하지 않더라도 기 설정된 범위 내에 위치한 경우, 제1 비교부(150)의 비교결과는 일치한 것으로 판단할 수도 있다. 예를 들어, signal pin A1 ~ A5와 같이 범위를 지정하여 비교할 수 있다. 즉, 제 1 비교부(150)는 하드웨어의 동일한 구성 및 위치뿐만 아니라 테스트하고자 하는 지정된 범위에 대해 비교할 수 있다.
도 10 내지 도 12는 제 1 비교부(150)의 비교 결과를 보인 예시 화면이다. 화면과 같이, 제 1 비교부(150)의 비교 결과에 따라 160a, 160b, 160c를 출력하며, 제 1 제공부(160)는 160a, 160b, 160c와 같은 메시지를 학습자에게 제공된다. 이때, 비교 결과는 하드웨어 기준 정보(131)의 하드웨어 구성정보, 핀 정보, 핀의 연결정보를 바탕으로 비교한 정보이다.
도 10은 제 1 비교부(150)의 비교 결과가 일치한 경우의 예시 화면이다. 도 8에 도시된 바와 같이, 브레드보드(220)에 온도센서(230)가 설치되어 있으며, 아두이노 보드(210)의 입력핀은 연결케이블(240)을 통해 온도센서(230)의 출력핀과 연결되어 있다.
도 10에서, 하드웨어 구성정보는 아두이노 보드(210), 브레드 보드(220), 온도센서(230)로 구성되어 있으며, 핀 정보는 아두이노 보드(210)가 5V핀, A5핀, GND핀으로 구성되어 있고 온도센서(230)가 1번 핀, 2번 핀, 3번핀으로 구성되어 있다. 또한, 핀의 연결정보는 아두이노 보드(210)의 5V핀이 온도센서(230)의 1번핀과 연결되어 있으며, 아두이노 보드(210)의 A5핀는 온도센서(230)의 2번 핀, 아두이노 보드(210)의 GND핀는 온도센서(230)의 3번핀과 연결되어 있다.
따라서, 도 10에 도시된 화면에서는 제 1 비교부(150)의 비교결과에 대해 모두 일치한 것으로, 제 1 제공부(160)은 "하드웨어의 구성이 올바르게 되었습니다"의 160a 메시지를 출력하여 학습자에게 제공된다.
도 11은 제 1 비교부(150)의 비교 결과가 불일치한 경우의 예시 화면이다. 도 9에 도시된 바와 같이, 브레드보드(220)에 온도센서(230)가 설치되어 있지 않으며, 아드이노 보드(210)와 브레드보드(220)을 연결하는 연결케이블(240)도 존재하지 않는다.
도 11에서, 하드웨어 구성정보는 아두이노 보드(210) 및 브레드보드(220)를 포함하고 있으나, 온도센서(230) 및 연결케이블(240)에 대한 구성은 존재하지 않는다. 핀 정보 및 핀의 연결정보는 존재하지 않는다. 따라서, 제 1 제공부(160)은 "하드웨어 구성이 다릅니다"의 160b 메시지를 출력하여 학습자에게 제공된다.
도 12은 제 1 비교부(150)의 비교 결과가 불일치한 경우의 또 다른 예시 화면이다. 도 12에 도시된 바와 같이, 아두이노 보드(210), 브레드 보드(220), 온도센서(230), 연결케이블(240)에 대한 구성은 모두 존재하지만, 연결케이블(240)의 구성 중 일부가 존재하지 않는다.
도 12에서, 하드웨어 구성정보는 아두이노 보드(210), 브레드 보드(220), 온도센서(230)로 구성되어 있으며, 핀 정보는 아두이노 보드(210)는 5V핀, GND핀으로 구성되며 온도센서(230)는 1번 핀, 3번핀으로 구성되어 있다. 또한, 핀의 연결정보는 아두이노 보드(210)의 5V핀는 온도센서(230)의 1번핀, 아두이노 보드(210)의 GND핀는 온도센서(230)의 3번핀과 연결되어 있는 구성을 포함한다.
따라서, 도 12에 도시된 화면에서는 핀 정보 및 핀의 연결정보가 불일치한 것으로, 제 1 제공부(160)은 "와이어 구성이 다릅니다"의 160c 메시지를 출력하여 학습자에게 제공된다.
도 10과 같이, 제 1 비교부(150)의 비교결과가 일치된 경우에만 아래에서 설명되는 소스코드 정보를 비교하는 구성들이 제공되고, 도 9 및 도 10과 같이 불일치된 경우에는 학습자가 확인할 수 있도록 비교결과가 제공된다.
이처럼 제 1 비교부(150)의 비교 결과가 일치한 경우, 제 2 비교부(170)는 제 1 입력부(160)의 소프트웨어 정보인 채점대상 소스코드와 생성부(140)가 생성한 테스트 케이스(141)를 전달받고, 채점대상 소스코드와 테스트 케이스(141)를 비교한다. 제 2 비교부(170)의 비교결과는 채점부(180)로 전달되면, 채점부(180)은 채점자가 기 설정한 점수를 부가하여 채점을 진행한다. 채점부(180)의 점수는 제 2 제공부(190)가 학습자에게 제공될 수 있다.
이상과 같이 본 발명의 도시된 실시 예를 참고하여 설명하고 있으나, 이는 예시적인 것들에 불과하며, 본 발명이 속하는 기술 분야의 통상의 지식을 가진 자라면 본 발명의 요지 및 범위에 벗어나지 않으면서도 다양한 변형, 변경 및 균등한 타 실시 예들이 가능하다는 것을 명백하게 알 수 있을 것이다. 따라서 본 발명의 진정한 기술적 보호 범위는 첨부된 청구범위의 기술적인 사상에 의해 정해져야 할 것이다.
100: 임베디드 소프트웨어 채점 시스템
110: 제 1 입력부
120: 제 2 입력부
130: 추출부
131: 하드웨어 기준 정보
132: 하드웨어 기준 테이블
140: 생성부
141: 테스트 케이스
150: 제 1 비교부
160: 제 1 제공부
170: 제 2 비교부
180: 채점부
190: 제 2 제공부
200: 시뮬레이터
210: 아두이노 보드
220: 브레드보드
230: 하드웨어 구성 부품
240: 연결 케이블
250: 소스코드 입력창

Claims (7)

  1. 시뮬레이터 기반으로 하는 임베디드 소프트웨어 채점 시스템에 있어서,
    채점대상 회로도와 채점대상 소스코드를 입력하는 제 1 입력부;
    기준 회로도와 기준 소스코드를 입력하는 제 2 입력부;
    상기 제 2 입력부의 기준 회로도에서 하드웨어 기준 정보를 추출하는 추출부;
    상기 제 2 입력부의 기준 소스코드를 이용하여 테스트 케이스를 생성하는 생성부;
    상기 제 1 입력부의 채점대상 회로도와 상기 추출부의 하드웨어 기준 정보를 비교하는 제 1 비교부;
    제 1 입력부의 채점대상 소스코드와 상기 생성부의 테스트 케이스를 비교하는 제 2 비교부;
    상기 제 2 비교부의 비교결과에 따라 점수를 부가하여 채점하는 채점부;를 포함하는 임베디드 소프트웨어 채점 시스템.
  2. 제 1 항에 있어서,
    상기 제 1 비교부의 불일치한 비교결과를 사용자에게 제공하는 제 1 제공부;
    상기 채점부의 결과를 사용자에게 제공하는 제 2 제공부;를 포함하는 임베디드 소프트웨어 채점 시스템.
  3. 제 1 항에 있어서,
    상기 추출부의 하드웨어 기준 정보는,
    하드웨어 구성정보, 핀 정보, 핀의 연결 정보 중에서 하나 이상을 포함하는 임베디드 소프트웨어 채점 시스템.
  4. 제 4 항에 있어서,
    상기 추출부는,
    상기 하드웨어 기준 정보를 하드웨어 기준 테이블로 생성하는 것을 특징으로 하는 임베디드 소프트웨어 채점 시스템.
  5. 시뮬레이터 기반으로 하는 임베디드 소프트웨어 채점 방법에 있어서,
    제 1 입력부에 채점대상 회로도와 채점대상 소스코드가 입력되는 단계;
    제 2 입력부에 기준 회로도과 기준 소스코드가 입력되는 단계;
    추출부가 상기 제 2 입력부의 기준 회로도에서 하드웨어 기준 정보를 추출하는 단계;
    생성부가 상기 제 2 입력부의 기준 소스코드를 이용하여 테스트 케이스를 생성하는 단계;
    제 1 비교부가 상기 제 1 입력부의 채점대상 회로도와 상기 추출부의 하드웨어 기준 정보를 비교하는 단계;
    제 2 비교부는 제 1 입력부의 채점대상 소스코드와 상기 생성부의 테스트 케이스를 비교하는 단계;
    채점부는 상기 제 2 비교부의 비교정보에 따라 점수를 부가하여 채점하는 단계;를 포함하는 임베디드 소프트웨어 채점 방법.
  6. 제 5 항에 있어서,
    상기 제 1 비교부의 비교결과가 불일치한 경우,
    제 1 제공부는 하드웨어 구성에 대한 상기 제 1 비교부의 비교결과를 사용자에게 제공하는 단계를 포함하는 임베디드 소프트웨어 채점 방법.
  7. 제 5 항에 있어서,
    상기 제 2 제공부는
    상기 채점부의 결과를 사용자에게 제공하는 단계를 포함하는 임베디드 소프트웨어 채점 방법.
KR1020200048203A 2019-12-16 2020-04-21 시뮬레이터를 이용한 임베디드 소프트웨어 자동 채점 시스템 및 방법 KR102373133B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20190167835 2019-12-16
KR1020190167835 2019-12-16

Publications (2)

Publication Number Publication Date
KR20210076811A true KR20210076811A (ko) 2021-06-24
KR102373133B1 KR102373133B1 (ko) 2022-03-14

Family

ID=76607244

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200048203A KR102373133B1 (ko) 2019-12-16 2020-04-21 시뮬레이터를 이용한 임베디드 소프트웨어 자동 채점 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR102373133B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080095528A (ko) * 2007-04-25 2008-10-29 삼성전자주식회사 이뮬레이트를 활용한 임베디드 소프트웨어 테스트 장치 및그 방법
KR20090028366A (ko) * 2007-09-14 2009-03-18 주식회사 신한은행 프로그램 소스코드 테스트 방법 및 시스템과 이를 위한프로그램 기록매체
KR20140088963A (ko) * 2012-12-31 2014-07-14 부산가톨릭대학교 산학협력단 애플리케이션 개발을 위한 런타임 에러 테스팅 시스템 및 방법
KR20170087075A (ko) * 2016-01-11 2017-07-28 주식회사 생각공간 프로그램 개발자 테스트 서비스 제공 방법 및 이를 실행하는 서버

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080095528A (ko) * 2007-04-25 2008-10-29 삼성전자주식회사 이뮬레이트를 활용한 임베디드 소프트웨어 테스트 장치 및그 방법
KR20090028366A (ko) * 2007-09-14 2009-03-18 주식회사 신한은행 프로그램 소스코드 테스트 방법 및 시스템과 이를 위한프로그램 기록매체
KR20140088963A (ko) * 2012-12-31 2014-07-14 부산가톨릭대학교 산학협력단 애플리케이션 개발을 위한 런타임 에러 테스팅 시스템 및 방법
KR20170087075A (ko) * 2016-01-11 2017-07-28 주식회사 생각공간 프로그램 개발자 테스트 서비스 제공 방법 및 이를 실행하는 서버

Also Published As

Publication number Publication date
KR102373133B1 (ko) 2022-03-14

Similar Documents

Publication Publication Date Title
US9841826B2 (en) Automatic test system and test method for computer, record medium, and program product
US9703694B2 (en) Techniques for testing software
US9632754B2 (en) Auto generation and linkage of source code to test cases
US7895575B2 (en) Apparatus and method for generating test driver
CN105843734A (zh) 一种自动化测试方法、装置及计算设备
CN108802511B (zh) 一种电池管理单元的测试方法及系统
US20140068570A1 (en) System and Method for Translating Software Code
US11074162B2 (en) System and a method for automated script generation for application testing
CN109739735B (zh) 日志生成方法及装置
CN113505082B (zh) 应用程序测试方法及装置
CN113360144B (zh) 软件开发的辅助处理方法、设备、存储介质及程序产品
US7246267B2 (en) Logic analyzer having a disassembler employing symbol table information for identifying op-codes
US20180349153A1 (en) Migration between different user interfaces of software programs
KR102373133B1 (ko) 시뮬레이터를 이용한 임베디드 소프트웨어 자동 채점 시스템 및 방법
US10691582B2 (en) Code coverage
CN109960547A (zh) 软件多国语言翻译方法及系统
KR101290594B1 (ko) Hmi가 포함된 전장품의 자동 테스트 시스템 및 방법
KR102179508B1 (ko) 자동화 시험장비의 운용 시스템
JPH09244921A (ja) ソフトウエア試験の自動化システム
CN108132799B (zh) 过程间静态程序分析信息提取方法、装置及设备
US20100287415A1 (en) Method of making an enduring universal tool for developing equipment tests and tool for the implementation thereof
CN108509197B (zh) 一种测试需求视图生成方法及ate测试方法
JP2005301568A (ja) 表示情報記憶制御装置および表示情報記憶制御プログラム
CN111522752A (zh) 程序测试方法、程序测试装置、存储介质和电子设备
JP3305049B2 (ja) ソフトウェア品質管理システム

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant