KR102442163B1 - 사용자 작성 프로그램의 실행 방법 - Google Patents

사용자 작성 프로그램의 실행 방법 Download PDF

Info

Publication number
KR102442163B1
KR102442163B1 KR1020200167350A KR20200167350A KR102442163B1 KR 102442163 B1 KR102442163 B1 KR 102442163B1 KR 1020200167350 A KR1020200167350 A KR 1020200167350A KR 20200167350 A KR20200167350 A KR 20200167350A KR 102442163 B1 KR102442163 B1 KR 102442163B1
Authority
KR
South Korea
Prior art keywords
user
user input
closed curve
entity
displaying
Prior art date
Application number
KR1020200167350A
Other languages
English (en)
Other versions
KR20220078143A (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 주식회사 이엘사이언스
Priority to KR1020200167350A priority Critical patent/KR102442163B1/ko
Publication of KR20220078143A publication Critical patent/KR20220078143A/ko
Application granted granted Critical
Publication of KR102442163B1 publication Critical patent/KR102442163B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/35Creation or generation of source code model driven
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B19/00Teaching not covered by other main groups of this subclass
    • G09B19/0053Computers, e.g. programming

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Educational Administration (AREA)
  • Educational Technology (AREA)
  • User Interface Of Digital Computer (AREA)
  • Circuits Of Receivers In General (AREA)

Abstract

본 발명의 일 실시예에 따른 제1 개체에 의해 생성된 폐곡선을 따라 제2 개체가 순환하면서 상기 폐곡선 상의 하나 이상의 사용자 입력 개체에 대응되는 명령을 수행하는, 사용자 작성 프로그램의 실행 방법은, 사용자의 입력에 기초하여, 사용자 입력 개체를 상기 폐곡선 상의 제1 위치에 위치시키고, 상기 사용자 입력 개체를 상기 제1 위치에 제1 표시 방식으로 표시하는 단계; 상기 폐곡선을 순환하는 상기 제2 개체의 위치와 상기 제1 위치가 소정의 조건을 만족하는지 여부를 판단하는 단계; 상기 소정의 조건이 만족된 경우, 상기 사용자 입력 개체에 대응되는 명령을 실행하는 단계; 및 상기 명령에 기초하여, 시뮬레이션 윈도우의 표시를 갱신하는 단계;를 포함할 수 있다.

Description

사용자 작성 프로그램의 실행 방법{METHOD FOR RUNNING USER-WRITTEN PROGRAM}
본 발명의 실시예들은 사용자가 작성한 프로그램을 실행하는 방법에 관한 것으로, 제1 개체에 의해 생성된 폐곡선을 따라 제2 개체가 순환하면서 폐곡선 상의 하나 이상의 사용자 입력 개체에 대응되는 명령을 수행하는 사용자 작성 프로그램의 실행 방법에 관한 것이다.
코딩 교육은 주어진 문제의 해결에 있어서 논리력, 창의력 및 문제 해결 능력을 키울 수 있다는 점에서 근래에 중요성이 증가되고 있는 추세이다.
또한 코딩은 인공지능, 사물인터넷, 지능형 로봇, 빅 데이터 분석 및 활용 등과 같이 4차 산업혁명시대를 대변하는 것들을 바탕으로 하기에, 코딩 교육의 중요성이 더욱 증가하고 있다.
종래기술에 따른 코딩 교육은 소스코드를 직접 타이핑하거나, 소스코드에 대응한 퍼즐 등을 맞추는 방식으로 수행되고 있다. 그러나 이와 같은 방식에 따를 경우 입력과 입력에 따른 프로그램의 변화를 정확하게 표현할 수 없어 코딩의 원리를 교육하는데 한계가 있으며, 흥미를 유발하기 어려운 문제점이 있었다.
대한민국 등록특허 제10-1913833호
본 발명은 사용자가 입력한 명령 중 어떤 명령이 수행되고 있는지를 그래픽으로 나타냄으로써 사용자가 보다 쉽게 프로그램을 작성하고 이해할 수 있도록 하고자 한다.
본 발명의 일 실시예에 따른 제1 개체에 의해 생성된 폐곡선을 따라 제2 개체가 순환하면서 상기 폐곡선 상의 하나 이상의 사용자 입력 개체에 대응되는 명령을 수행하는, 사용자 작성 프로그램의 실행 방법은, 사용자의 입력에 기초하여, 사용자 입력 개체를 상기 폐곡선 상의 제1 위치에 위치시키고, 상기 사용자 입력 개체를 상기 제1 위치에 제1 표시 방식으로 표시하는 단계; 상기 폐곡선을 순환하는 상기 제2 개체의 위치와 상기 제1 위치가 소정의 조건을 만족하는지 여부를 판단하는 단계; 상기 소정의 조건이 만족된 경우, 상기 사용자 입력 개체에 대응되는 명령을 실행하는 단계; 및 상기 명령에 기초하여, 시뮬레이션 윈도우의 표시를 갱신하는 단계;를 포함할 수 있다.
상기 제1 표시 방식으로 표시하는 단계는 상기 사용자의 입력에 기초하여 복수의 사용자 입력 개체들을 상기 폐곡선 상의 서로 다른 위치에 위치시키고, 상기 판단하는 단계는 상기 제2 개체의 순환에 따라, 상기 복수의 사용자 입력 개체들 각각의 위치가 상기 소정의 조건을 만족하는지 여부를 순차적으로 판단하고, 상기 실행하는 단계는 상기 소정의 조건을 만족하는 사용자 입력 개체를 제2 표시 방식으로 표시하고, 상기 소정의 조건을 만족하는 사용자 입력 개체에 대응되는 명령을 순차적으로 실행할 수 있다.
본 발명의 일 실시예에 따른 사용자 작성 프로그램의 실행 방법은, 상기 제1 개체에 대한 상기 사용자의 크기 조절 입력에 기초하여 상기 폐곡선의 길이를 조절하는 단계;를 더 포함하고, 상기 폐곡선의 길이 조절에 따라 상기 복수의 사용자 입력 개체들 간의 간격이 조절되어, 상기 복수의 사용자 입력 개체들 각각에 대응되는 명령들의 실행 시점 간의 간격이 조절될 수 있다.
본 발명의 일 실시예에 따른 사용자 작성 프로그램의 실행 방법은 상기 제1 개체에 대한 상기 사용자의 확장 입력에 기초하여 상기 제1 개체와 연결되어 상기 폐곡선을 확장시키는 제3 개체를 표시하는 단계;를 더 포함할 수 있다. 이때 상기 제2 개체는 상기 제1 개체 및 상기 제3 개체에 의해 생성되는 폐곡선을 순환할 수 있다.
상기 사용자 입력 개체가 선택적 명령 수행 개체인 경우, 상기 제1 표시 방식으로 표시하는 단계는 상기 선택적 명령 수행 개체를 상기 제1 위치에 제1 방식으로 표시하는 단계; 상기 제1 위치에서 상기 제1 개체와 연결되어 상기 폐곡선을 확장시키는 제4 개체를 표시하는 단계;를 포함하고, 상기 판단하는 단계는 상기 선택적 명령 수행 개체에 대한 상기 사용자의 입력이 유지되는 상태에서만 상기 제4 개체에 의해 형성되는 폐곡선 상의 하나 이상의 사용자 입력 개체의 위치와 상기 제2 개체의 위치가 상기 소정의 조건을 만족하는지 여부를 판단할 수 있다.
상기 선택적 명령 수행 개체에 대한 상기 사용자의 입력이 해제된 경우, 상기 판단하는 단계는 상기 제4 개체에 의해 형성되는 상기 폐곡선 상의 하나 이상의 사용자 입력 개체의 위치와 상기 제2 개체의 위치가 상기 소정의 조건을 만족하는지 여부의 판단을 생략할 수 있다.
상기 사용자 입력 개체가 조건에 따른 명령 수행 개체인 경우, 상기 제1 표시 방식으로 표시하는 단계는 상기 조건에 따른 명령 수행 개체를 상기 제1 위치에 제1 방식으로 표시하는 단계; 상기 제1 위치에서 상기 제1 개체와 연결되어 상기 폐곡선을 두 개의 경로로 확장시키는 제5 개체를 표시하는 단계;를 포함할 수 있다. 이때 상기 판단하는 단계는 상기 조건에 따른 명령 수행 개체에 대한 상기 사용자의 입력이 유지되는 상태에서는 상기 제5 개체 상의 제1 경로에 따라 형성되는 상기 폐곡선 상의 하나 이상의 사용자 입력 개체의 위치와 상기 제2 개체의 위치가 상기 소정의 조건을 만족하는지 여부를 판단하고, 상기 조건에 따른 명령 수행 개체에 대한 상기 사용자의 입력이 해제된 상태에서는 상기 제5 개체 상의 제2 경로에 따라 형성되는 상기 폐곡선 상의 하나 이상의 사용자 입력 개체의 위치와 상기 제2 개체의 위치가 상기 소정의 조건을 만족하는지 여부를 판단할 수 있다.
상기 사용자 입력 개체가 병렬 수행 개체인 경우, 상기 제1 표시 방식으로 표시하는 단계는 상기 병렬 수행 개체를 상기 제1 위치에 제1 방식으로 표시하는 단계; 및 상기 제1 개체에 의해 생성되는 상기 폐곡선과 별도인 폐곡선을 생성하는 제6 개체를 상기 제1 개체와 구분하여 표시하는 단계;를 포함할 수 있다. 이때 상기 실행하는 단계는 상기 소정의 조건이 만족되고 상기 병렬 수행 개체가 온(On)상태인 경우, 상기 제6 개체에 의해 생성된 폐곡선을 따라 순환하는 제7 개체를 표시하는 단계;를 포함할 수 있다.
또한 본 발명의 일 실시예에 따른 사용자 작성 프로그램의 실행 방법은 상기 제6 개체 상의 폐곡선 상의 하나 이상의 사용자 입력 개체의 위치와 상기 순환하는 제7 개체의 위치가 상기 소정의 조건을 만족하는지 여부에 기초하여 상기 하나 이상의 사용자 입력 개체에 대응되는 명령을 실행하는 단계;를 더 포함할 수 있다.
전술한 것 외의 다른 측면, 특징, 이점이 이하의 도면, 특허청구범위 및 발명의 상세한 설명으로부터 명확해질 것이다.
본 발명은 사용자가 입력한 명령 중 어떤 명령이 수행되고 있는지를 그래픽으로 나타냄으로써 사용자가 보다 쉽게 프로그램을 작성하고 이해할 수 있도록 한다.
또한 본 발명은 프로그램 구동 보드와 같은 별도의 하드웨어의 연결이나 설치 없이도, 자신이 작성한 프로그램의 동작 결과를 간편하게 확인할 수 있도록 한다.
또한 본 발명은 프로그램의 구성요소들을 모듈화 하여 표시할 수 있도록 하고, 이로써 프로그램을 쉽게 이해할 수 있도록 한다.
또한 본 발명은 사용자의 입력에 따라 프로그램의 일부 구성요소를 간편하게 제외 또는 포함시켜 프로그램이 실행될 수 있도록 한다.
또한 본 발명은 사용자가 손쉽게 멀티 쓰레드 프로그래밍이 가능하도록 한다.
또한 본 발명은 사용자가 손쉽게 프로그램을 작성하여 프로그램 구동 보드에 다운로드 할 수 있도록 한다.
도 1은 본 발명의 일 실시예에 따른 프로그램 작성 시스템의 구성을 개략적으로 도시한 도면이다.
도 2는 사용자 단말(100)에 표시되는 프로그램 작성 화면(310)의 예시이다.
도 3은 사용자의 크기 조절 입력에 따라 크기가 증가된 제1 개체(321)를 포함하는 프로그램 작성 화면(320)의 예시이다.
도 4는 제3 개체(335)가 표시된 화면(330)의 예시이다.
도 5는 선택적 명령 수행 개체(342) 및 그에 따른 제4 개체(343)가 표시된 화면(340)의 예시이다.
도 6은 조건에 따른 명령 수행 개체(353) 및 그에 따른 제5 개체(352)가 표시된 화면(350)의 예시이다.
도 7은 병렬 수행 개체(364) 및 그에 따른 제6 개체(362)가 표시된 화면(360)의 예시이다.
도 8은 본 발명의 일 실시예에 따른 제어부(120)에 의해 수행되는 사용자 작성 프로그램의 실행 방법을 설명하기 위한 흐름도이다.
본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시 예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
이하의 실시예에서, 제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 구성요소들은 용어들에 의해 한정되어서는 안 된다. 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
이하의 실시예에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 이하의 실시예에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 발명의 실시예들은 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들은 특정 기능들을 실행하는 다양한 개수의 하드웨어 또는/및 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 본 발명의 실시예들은 하나 이상의 마이크로프로세서들의 제어 또는 다른 제어 장치들에 의해서 다양한 기능들을 실행할 수 있는, 메모리, 프로세싱, 로직(logic), 룩업 테이블(look-up table) 등과 같은 직접 회로 구성들을 채용할 수 있다. 본 발명의 실시예의 구성 요소들이 소프트웨어 프로그래밍 또는 소프트웨어 요소들로 실행될 수 잇는 것과 유사하게, 본 발명의 실시예는 데이터 구조, 프로세스들, 루틴들 또는 다른 프로그래밍 구성들의 조합으로 구현되는 다양한 알고리즘을 포함하여, C, C++, 자바(Java), 어셈블러(assembler) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능적인 측면들은 하나 이상의 프로세서 들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 발명의 실시예들은 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다. 매커니즘, 요소, 수단, 구성과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성 들로서 한정되는 것은 아니다. 상기 용어는 프로세서 등과 연계하여 소프트웨어의 일련의 처리들(routines)의 의미를 포함할 수 있다.
도 1은 본 발명의 일 실시예에 따른 프로그램 작성 시스템의 구성을 개략적으로 도시한 도면이다.
본 발명의 일 실시예에 따른 프로그램 작성 시스템은 사용자 단말(100) 및 프로그램 구동 보드(200)를 포함할 수 있다.
본 발명의 일 실시예에 따른 사용자 단말(100)은 사용자가 프로그램을 작성하기 위한 인터페이스를 제공하고, 인터페이스에 대한 사용자의 입력에 기초하여 프로그램을 작성할 수 있다. 또한 사용자 단말(100)은 작성된 프로그램을 프로그램 구동 보드(200)에 전송하여 프로그램 구동 보드(200) 상에서 작성된 프로그램이 구동되도록 할 수 있다.
본 발명에서 '프로그램'은 소정의 목적 달성을 위한 처리 방법과 순서를 기술한 일련의 명령문 집합체를 의미할 수 있다. 이와 같은 '프로그램'은 가령 주변 조도에 따라 LED의 밝기를 조절하기 위한 명령문 집합체일 수도 있고, 사용자의 조작에 따라 모터의 회전 각도를 조절하기 위한 명령문 집합체일 수도 있다. 다만 이는 예시적인 것으로 본 발명의 사상이 이에 한정되는 것은 아니다.
한편 이와 같은 프로그램은 사용자 단말(100)에서 제공하는 가상의 환경에서 실행될 수도 있고, 프로그램 구동 보드(200)에서 실행될 수도 있다. 프로그램이 사용자 단말(100)에서 제공하는 가상의 환경에서 실행되는 경우, 실행 결과가 사용자 단말(100)에 표시될 수 있다. 프로그램이 프로그램 구동 보드(200)에서 실행되는 경우, 실행 결과가 프로그램 구동 보드(200) 상에 표시될 수도 있다.
본 발명의 일 실시예에 따른 사용자 단말(100)은 사용자에게 프로그램의 작성을 위한 인터페이스를 제공하여 사용자가 프로그램을 작성할 수 있도록 하는 수단을 의미할 수 있다. 이와 같은 사용자 단말(100)은 가령 휴대폰, 노트북, PDA, 태블릿 PC 및 PC 중 어느 하나일 수 있다. 예를 들어 사용자 단말(100)이 휴대폰인 경우, 사용자는 프로그램의 작성을 위한 어플리케이션을 휴대폰에 설치하여 프로그램을 작성할 수 있다.
본 발명의 일 실시예에 따른 사용자 단말(100)은 도 1에 도시된 바와 같이 통신부(110), 제어부(120), 메모리(130) 및 디스플레이부(140)를 포함할 수 있다.
본 발명의 일 실시예에 따른 통신부(110)는 사용자 단말(100)이 프로그램 구동 보드(200)와 같은 외부장치와 유무선 연결을 통하여 데이터를 송수신하기 위해 필요한 하드웨어 및 소프트웨어를 포함하는 장치일 수 있다.
본 발명의 일 실시예에 따른 통신부(110)는 사용자의 조작에 따라 제어부(120)가 생성한 프로그램을 프로그램 구동 보드(200)에 전송할 수도 있고, 프로그램 구동 보드(200)가 프로그램의 수행 결과에 따라 생성한 신호를 수신할 수도 있다.
본 발명의 일 실시예에 따른 통신부(110)는 프로그램 구동 보드(200)와 블루투스 방식으로 데이터를 송수신 하기 위한 하드웨어 및 소프트웨어를 포함하는 장치일 수도 있고, Zigbee, wi-fi direct 및 NFC 방식으로 데이터를 송수신 하기 위한 하드웨어 및 소프트웨어를 포함하는 장치일 수도 있다.
물론 통신부(110)는 프로그램 구동 보드(200)와 다양한 규격의 유선 통신 방식으로 데이터를 송수신 하기 위한 하드웨어 및 소프트웨어를 포함하는 장치일 수도 있다. 다만 상술한 통신 방식들은 예시적인 것으로 본 발명의 사상이 이에 한정되는 것은 아니다.
본 발명의 일 실시예에 따른 제어부(120)는 디스플레이부(140)를 통하여 사용자에게 프로그램 작성을 위한 인터페이스를 제공하고, 그에 대한 사용자의 입력에 기초하여 프로그램을 생성할 수 있다. 이때 제어부(120)는 프로세서(Processor)와 같이 데이터를 처리할 수 있는 모든 종류의 장치를 포함할 수 있다. 여기서, '프로세서'는, 예를 들어 프로그램 내에 포함된 코드 또는 명령으로 표현된 기능을 수행하기 위해 물리적으로 구조화된 회로를 갖는, 하드웨어에 내장된 데이터 처리 장치를 의미할 수 있다. 이와 같이 하드웨어에 내장된 데이터 처리 장치의 일 예로써, 마이크로프로세서(Microprocessor), 중앙처리장치(Central Processing Unit: CPU), 프로세서 코어(Processor Core), 멀티프로세서(Multiprocessor), ASIC(Application-Specific Integrated Circuit), FPGA(Field Programmable Gate Array) 등의 처리 장치를 망라할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.
본 발명의 일 실시예에 따른 메모리(130)는 사용자 단말(100)이 처리하는 데이터를 일시적 또는 영구적으로 저장하는 장치일 수 있다. 가령 메모리(130)는 사용자에게 프로그램 작성 인터페이스를 제공하는 어플리케이션을 일시적 및/또는 영구적으로 저장할 수 있다. 또한 메모리(130)는 사용자가 작성한 프로그램을 일시적 및/또는 영구적으로 저장할 수도 있다. 이와 같은 메모리(130)는 다양한 종류의 기록매체로 구현될 수 있다.
본 발명의 일 실시예에 따른 디스플레이부(140)는 제어부(120)의 제어에 따라 프로그램을 작성하는 인터페이스를 제공(표시)하는 장치일 수 있다. 이와 같은 디스플레이부(140)는 가령 CRT(Cathode Ray Tube), LCD(Liquid Crystal Display), PDP (Plasma Display Panel), LED(Light-Emitting Diode) 및 OLED(Organic Light Emitting Diode) 중 어느 하나로 구성될 수 있으나, 본 발명의 사상은 이에 제한되지 않는다.
도 1에는 도시되지 않았지만, 본 발명의 일 실시예에 따른 사용자 단말(100)은 사용자의 입력을 획득하기 위한 입력부(미도시)를 더 포함할 수 있다. 이때 입력부(미도시)는 가령 키보드, 마우스, 트랙볼, 마이크 및 버튼 중 어느 하나이거나 하나 이상의 조합일 수 있다.
또한 본 발명의 일 실시예에서, 입력부(미도시)는 전술한 디스플레이부(140)상에 입력을 수행하는 터치 감지 수단을 의미할 수도 있다. 다만 이는 예시적인 것으로 본 발명의 사상이 이에 제한되는 것은 아니다.
본 발명의 일 실시예에 따른 프로그램 구동 보드(200)는 사용자 단말(100)로부터 수신한 프로그램을 수행하는 수단을 의미할 수 있다.
본 발명의 일 실시예에서, 프로그램 구동 보드(200)는 도 1에 도시된 바와 같이 서보 모터 연결 터미널(210), DC 모터 연결 터미널(220), 아날로그 출력 터미널(231), 디지털 출력 터미널(232), RGB LED 연결 터미널(233)과 같은 출력 단자를 포함할 수 있다.
또한 프로그램 구동 보드(200)는 프로그램 구동 보드(200)의 상태를 표시하는 상태 표시 LED(240) 및 Dot-Matrix(250)와 같은 표시 수단을 포함할 수 있다.
또한 프로그램 구동 보드(200)는 사용자의 입력을 획득하기 위한 버튼(261, 262)을 포함할 수 있다.
또한 프로그램 구동 보드(200)는 도 1에 도시되지는 않았지만, 사용자 단말(100)로부터 수신한 프로그램을 저장하는 메모리(미도시), 프로그램의 실행에 따른 연산을 수행하는 프로세서(미도시)를 더 포함할 수 있다.
다만 도 1에 도시된 바와 같은 보드 구성은 예시적인 것으로, 본 발명의 사상이 이에 한정되는 것은 아니다.
이하에서는 도 2 내지 도 7에 도시된 화면(310, 320, 330, 340, 350, 360)을 참조하여 사용자 단말(100)에 의해 수행되는 사용자 작성 프로그램의 실행 방법을 중심으로 설명한다.
도 2는 사용자 단말(100)에 표시되는 프로그램 작성 화면(310)의 예시이다.
도 2를 참조하면, 화면(310)은 개체들(313, 314, 316, 317)이 표시되는 영역(318), 시뮬레이션 윈도우(311) 및 개체 메뉴(312)를 포함할 수 있다.
사용자는 개체 메뉴(312)에서 프로그램 작성에 사용하고자 하는 하나 이상의 개체를 선택하여 영역(318)에서 제1 개체(313)와 연관 지어 배치하는 방식으로 프로그램을 작성할 수 있다. 가령 사용자는 개체 메뉴(312)에서 LED를 제어하기 위한 사용자 입력 개체(316, 317)를 선택하여, 제1 개체(313)에 의해 생성되는 폐곡선(315)상에 위치시킬 수 있다. 또한 사용자는 사용자 입력 개체(316)에 대응되는 명령으로 LED 점등 명령을, 사용자 입력 개체(317)에 대응되는 명령으로 LED 소등 명령을 설정할 수 있다.
바꾸어 말하면, 본 발명의 일 실시예에 따른 제어부(120)는 사용자의 입력에 기초하여, 사용자 입력 개체(316)를 폐곡선(315) 상의 제1 위치에 위치시킬 수 있다. 이때 제어부(120)는 사용자 입력 개체(316)를 제1 위치에 제1 표시 방식(가령 채색되지 않은 아이콘으로 표시하는 방식)으로 표시할 수 있다. 또한 본 발명의 일 실시예에 따른 제어부(120)는 사용자의 입력에 기초하여 사용자 입력 개체(316)에 대응되는 명령을 설정할 수 있다. 가령 제어부(120)는 사용자 입력 개체(316)에 대응되는 명령으로 LED 점등 명령을 설정할 수 있다. 물론 본 발명의 일 실시예에 따른 제어부(120)는 사용자 입력 개체(317)에 대해서도 사용자 입력 개체(316)와 마찬가지로 폐곡선(315)상의 특정 위치에 위치시키고, 사용자 입력 개체(317)에 대응되는 명령(가령 LED 소등 명령)을 설정할 수 있다.
한편 본 발명에서 제2 개체(314)는 제1 개체(313)에 의해 생성된 폐곡선(315)을 따라 순환할 수 있다. 제2 개체(314)가 폐곡선(315)을 순환하면서 제2 개체(314)의 위치와 특정 개체의 위치가 소정의 조건을 만족하는 경우, 해당 개체에 대응되는 명령이 실행될 수 있다. 가령 제2 개체(314)가 폐곡선(315)을 반시계 방향으로 순환하다가 사용자 입력 개체(316)를 만난 경우(즉 제2 개체(314)의 위치와 사용자 입력 개체(316)의 위치가 소정의 조건을 만족하게 된 경우) 사용자 입력 개체(316)에 대응되는 명령인 LED 점등 명령이 실행될 수 있다. 또한 제2 개체(314)가 사용자 입력 개체(316)를 지나 폐곡선(315)을 순환하다가 사용자 입력 개체(317)를 만난 경우(즉 제2 개체(314)의 위치와 사용자 입력 개체(317)의 위치가 소정의 조건을 만족하게 된 경우) 사용자 입력 개체(317)에 대응되는 명령인 LED 소등 명령이 실행될 수 있다.
이와 같이 본 발명의 일 실시예에 따른 제어부(120)는 폐곡선(315)을 순환하는 제2 개체(314)의 위치와 사용자 입력 개체(316, 317)의 위치인 제1 위치가 소정의 조건을 만족하는지 여부를 판단할 수 있다. 또한 제어부(120)는 소정의 조건이 만족된 경우, 사용자 입력 개체(316)에 대응되는 명령을 실행할 수 있다. 이때 제어부(120)는 사용자 입력 개체(316)를 상술한 제1 표시 방식과 상이한 제2 표시 방식(가령 채색된 아이콘으로 표시하는 방식)으로 표시할 수 있다.
본 발명의 일 실시예에 따른 제어부(120)는 제2 개체(314)의 순환에 따라 사용자 입력 개체(316)의 위치와 제2 개체(314)의 위치가 소정의 조건을 만족하지 않게 된 경우, 사용자 입력 개체(316)를 다시 제1 표시 방식으로 변경하여 표시할 수 있다.
이와 같이 본 발명은 사용자가 입력한 명령 중 어떤 명령이 수행되고 있는지를 그래픽으로 나타냄으로써 사용자가 보다 쉽게 프로그램을 작성하고 이해할 수 있도록 한다.
한편 도 2 내지 도 7에 도시된 제1 개체(도 2의 경우 313)의 형상은 예시적인 것으로, 본 발명의 사상이 이에 한정되는 것은 아니다. 따라서 폐곡선을 형성하는 다양한 형상의 도형이 본 발명의 제1 개체에 해당할 수 있다.
본 발명의 일 실시예에 따른 제어부(120)는 시뮬레이션 윈도우(311) 상에 프로그램 구동 보드(200)의 예상 동작 상태를 표시할 수 있다. 가령 제2 개체(314)의 위치와 사용자 입력 개체(316)의 위치인 제1 위치가 소정의 조건을 만족하여 사용자 입력 개체(316)에 대응되는 명령인 LED 점등 명령이 실행된 경우, 제어부(120)는 시뮬레이션 윈도우(311)상의 LED가 점등된 것으로 시뮬레이션 윈도우(311)의 표시를 갱신할 수 있다. 또한 제2 개체(314)의 순환에 따라 제2 개체(314)의 위치와 사용자 입력 개체(317)의 위치가 소정의 조건을 만족하여 사용자 입력 개체(317)에 대응되는 명령인 LED 소등 명령이 실행된 경우, 제어부(120)는 시뮬레이션 윈도우(311)상의 LED가 소등된 것으로 시뮬레이션 윈도우(311)의 표시를 갱신할 수 있다.
이로써 사용자는 프로그램 구동 보드(200)의 연결이나 설치 없이도 자신이 작성한 프로그램의 동작 결과를 간편하게 확인할 수 있다.
본 발명의 일 실시예에 따른 제어부(120)는 사용자의 입력에 따라, 복수의 사용자 입력 개체들을 폐곡선 상의 서로 다른 위치에 위치시킬 수 있다. 가령 제어부(120)는 도 2에 도시된 바와 같이 2 개의 사용자 입력 개체(316, 317)를 폐곡선(315) 상의 서로 다른 위치에 위치시킬 수 있다.
또한 본 발명의 일 실시예에 따른 제어부(120)는 제2 개체의 순환에 따라, 복수의 사용자 입력 개체들 각각의 위치가 소정의 조건을 만족하는지 여부를 순차적으로 판단하여 복수의 사용자 입력 개체들 각각에 대응되는 명령을 순차적으로 실행할 수 있다. 가령 제어부(120)는 제2 개체(314)가 폐곡선(315) 상에서 반시계방향으로 순환함에 따라, 첫 번째 사용자 입력 개체(316)의 위치가 소정의 조건을 만족하는지 여부를 판단하고, 그에 따라 사용자 입력 개체(316)에 대응되는 명령인 LED 점등 명령을 실행한 뒤, 두 번째 사용자 입력 개체(317)의 위치가 소정의 조건을 만족하는지 여부를 판단하고, 그에 따라 사용자 입력 개체(317)에 대응되는 명령인 LED 소등 명령을 실행할 수 있다.
이와 같이 본 발명의 일 실시예에 따른 제어부(120)는 제2 개체의 순환에 따라 복수의 사용자 입력 개체 각각에 대응되는 명령을 순차적으로 실행할 수 있다.
본 발명의 일 실시예에 따른 제어부(120)는 사용자의 입력에 기초하여 프로그램의 실행 속도를 조절할 수 있다.
도 3은 사용자의 크기 조절 입력에 따라 크기가 증가된 제1 개체(321)를 포함하는 프로그램 작성 화면(320)의 예시이다.
본 발명의 일 실시예에 따른 제어부(120)는 제1 개체에 대한 사용자의 크기 조절 입력에 기초하여 제1 개체에 의해 생성되는 폐곡선의 길이를 조절할 수 있다. 가령 제어부(120)는 도 2에 도시된 제1 개체(313)의 크기를 증가시켜 도 3에 도시된 제1 개체(321)와 같이 폐곡선의 길이를 증가시킬 수 있다. 이때 '크기 조절 입력'은 제1 개체(321)에 대한 다양한 형태의 입력으로 가령 두 지점을 동시에 터치하여 서로 멀어지는 방향으로 드래그(Drag)하는 입력일 수 있고, 제1 개체(321)의 크기는 균등하게 커질 수 있다.
폐곡선의 크기 또는 길이의 증가/감소에 따라, 사용자 입력 개체들 간의 간격이 조절되고, 결과적으로 복수의 사용자 입력 개체들 각각에 대응되는 명령들의 실행 시점 간의 간격이 조절될 수 있다. 가령 폐곡선의 길이 증가에 따라 사용자 입력 개체(도 2의 316, 317)들 간의 간격(D1)이 도 3에 도시된 간격(도 3의 D2)과 같이 증가하고, 이에 따라 첫 번째 사용자 입력 개체(323)에 대응되는 명령의 실행 시점과 두 번째 사용자 입력 개체(324)에 대응되는 명령을 실행 시점 간의 간격이 증가될 수 있다. 따라서 LED 점등 이후 LED 소등 까지의 시간 간격이 증가하여 LED가 점등되어 있는 시간이 증가할 수 있다. 물론 LED 소등부터 LED 점등 까지의 시간 간격도 증가하여 LED가 소등되어 있는 시간도 증가할 수 있다.
이와 같이 본 발명은 제1 개체(321)의 크기 조절 입력으로 간편하게 프로그램의 실행 속도를 조절할 수 있다.
본 발명의 다른 실시예에서, 제어부(120)는 사용자의 입력에 기초하여 제2 개체(322)의 순환 속도를 조절할 수 있다. 가령 제어부(120)는 사용자의 입력에 기초하여 제2 개체(322)의 순환 속도를 감소시켜 복수의 사용자 입력 개체들 각각에 대응되는 명령들의 실행 시점 간의 간격이 증가되도록 할 수 있다. 물론 제어부(120)는 사용자의 입력에 기초하여, 제2 개체(322)의 순환 속도를 증가시켜 복수의 사용자 입력 개체들 각각에 대응되는 명령들의 실행 시점 간의 간격이 감소되도록 할 수도 있다.
또한 본 발명의 일 실시예에 따른 제어부(120)는 사용자의 입력에 기초하여 사용자 입력 개체의 위치를 이동시킴으로써 해당 사용자 입력 개체에 대응되는 명령의 실행 시점을 변경할 수 있다. 가령 제어부(120)는 두 번째 사용자 입력 개체(324)를 첫 번째 사용자 입력 개체(323)에 보다 가까운 위치로 이동시킴으로써, 두 번째 사용자 입력 개체(324)의 실행 시점(가령 LED의 소등 시점)을 변경할 수 있다.
본 발명의 일 실시예에 따른 제어부(120)는 사용자의 확장 입력에 따라, 폐곡선을 확장시키는 제3 개체를 생성하여 표시할 수 있다.
도 4는 제3 개체(335)가 표시된 화면(330)의 예시이다.
본 발명의 일 실시예에 따른 제어부(120)는 제1 개체(331)에 대한 사용자의 확장 입력에 기초하여, 제1 개체(331)와 연결되어 폐곡선을 확장시키는 제3 개체(335)를 표시할 수 있다. 이때 '확장 입력'은 제1 개체(331)에 대한 다양한 형태의 입력으로 가령 제1 개체(331)에 의해 생성되는 폐곡선의 적어도 일부분을 제1 개체(331)의 외측 방향으로 드래그(Drag)하는 입력일 수 있다.
한편 제3 개체(335)의 생성 및 표시에 따라 제2 개체(333)는 제1 개체(331) 및 제3 개체(335)에 의해 생성되는 폐곡선(336)을 순환할 수 있다. 이에 따라 제1 개체(331) 및 제3 개체(335)와 연관된 사용자 입력 개체에 대응되는 명령들이 순차적으로 실행될 수 있다. 가령 도 4의 경우 제2 개체(333)의 순환에 따라 제1 개체(331) 상의 첫 번째 사용자 입력 개체(332)에 대응되는 명령이 실행되고, 그 이후 제3 개체(335) 상의 두 번째 사용자 입력 개체(337)에 대응되는 명령이 실행되고, 마지막으로 제1 개체(331) 상의 세 번째 사용자 입력 개체(334)에 대응되는 명령이 실행될 수 있다.
이와 같이 본 발명은 프로그램의 구성요소들을 모듈화 하여 표시할 수 있도록 하고, 이로써 프로그램을 쉽게 이해할 수 있도록 한다.
본 발명의 일 실시예에 따른 제어부(120)는 사용자 입력 개체가 선택적 명령 수행 개체인 경우, 특정 조건에서만 일부 개체에 대응되는 명령을 실행할 수 있다.
도 5는 선택적 명령 수행 개체(342) 및 그에 따른 제4 개체(343)가 표시된 화면(340)의 예시이다.
본 발명의 일 실시예에 따른 제어부(120)는 사용자 입력에 기초하여 선택적 명령 수행 개체(342)를 제1 개체(341)에 의해 생성되는 폐곡선 상에 위치시킬 수 있다. 이때 제어부(120)는 선택적 명령 수행 개체(342)를 제1 방식(가령 채색되지 않은 아이콘으로 표시하는 방식)으로 표시할 수 있다.
또한 본 발명의 일 실시예에 따른 제어부(120)는 선택적 명령 수행 개체(342)와 함께 제1 위치에서 제1 개체(341)와 연결되어 폐곡선을 확장시키는 제4 개체(343)를 표시할 수 있다. 이때 제1 위치는 제1 개체(341) 상에서의 선택적 명령 수행 개체(342)의 위치를 의미할 수 있다.
본 발명의 일 실시예에 따른 제어부(120)는 선택적 명령 수행 개체(342)에 대한 사용자의 입력이 유지되는 상태에서만 제4 개체(343)에 의해 형성되는 폐곡선 상의 하나 이상의 사용자 입력 개체(344)의 위치와 제2 개체(345)의 위치가 상기 소정의 조건을 만족하는지 여부를 판단할 수 있다.
바꾸어 말하면, 제어부(120)는 선택적 명령 수행 개체(342)에 대한 사용자의 입력이 유지되는(가령 선택적 명령 수행 개체(342)가 터치되는) 상태에서만 제2 개체(345)가 폐곡선(347)을 따라 순환하도록 하여, 제4 개체(343)와 연관된 사용자 입력 개체(344)에 대응되는 명령을 수행한다. 한편 제어부(120)는 선택적 명령 수행 개체(342)에 대한 사용자의 입력이 유지되는 상태에서, 선택적 명령 수행 개체(342)를 제2 방식(가령 채색된 아이콘으로 표시하는 방식)으로 표시할 수 있다.
한편 본 발명의 일 실시예에 따른 제어부(120)는 선택적 명령 수행 개체(342)에 대한 사용자의 입력이 해제된 경우, 제4 개체(343)에 의해 형성되는 폐곡선 상의 하나 이상의 사용자 입력 개체(344)의 위치와 제2 개체(345)의 위치가 소정의 조건을 만족하는지 여부의 판단을 생략할 수 있다.
바꾸어 말하면, 제어부(120)는 선택적 명령 수행 개체(342)에 대한 사용자의 입력이 해제된(가령 선택적 명령 수행 개체(342)가 터치되지 않은) 상태에서는, 제2 개체(345)가 폐곡선(346)을 따라 순환하도록 하여, 제4 개체(343)와 연관된 사용자 입력 개체(344)에 대응되는 명령이 수행되지 않도록 한다.
이와 같이 본 발명은 사용자의 입력에 따라 프로그램의 일부 구성요소를 간편하게 제외 또는 포함시켜 프로그램이 실행될 수 있도록 한다.
도 6은 조건에 따른 명령 수행 개체(353) 및 그에 따른 제5 개체(352)가 표시된 화면(350)의 예시이다.
본 발명의 일 실시예에 따른 제어부(120)는 사용자 입력에 기초하여 조건에 따른 명령 수행 개체(353)를 제1 개체(351)에 의해 생성되는 폐곡선 상에 위치시킬 수 있다. 이때 제어부(120)는 조건에 따른 명령 수행 개체(353)를 제1 방식으로 표시할 수 있다.
또한 본 발명의 일 실시예에 따른 제어부(120)는 조건에 따른 명령 수행 개체(353)와 함께 제1 위치에서 제1 개체(351)와 연결되어 폐곡선을 두 개의 경로로 확장시키는 제5 개체(352)를 표시할 수 있다. 이때 제1 위치는 제1 개체(351) 상에서의 조건에 따른 명령 수행 개체(353)의 위치를 의미할 수 있다.
본 발명의 일 실시예에 따른 제어부(120)는 조건에 따른 명령 수행 개체(353)에 대한 사용자의 입력이 유지되는 상태(가령 명령 수행 개체(353)가 터치되는 상태, 사용자 단말(100)이 왼쪽으로 기울어진 상태, 또는 버튼(261)이 눌려진 상태 등의 다양한 상태)에서는 제5 개체(352) 상의 제1 경로에 따라 형성되는 폐곡선(357) 상의 하나 이상의 사용자 입력 개체(355)의 위치와 제2 개체(354)의 위치가 소정의 조건을 만족하는지 여부를 판단할 수 있다.
또한 본 발명의 일 실시예에 따른 제어부(120)는 조건에 따른 명령 수행 개체(353)에 대한 사용자의 입력이 해제된 상태(가령 명령 수행 개체(353)가 터치되지 않는 상태, 사용자 단말(100)이 오른쪽으로 기울어진 상태, 또는 버튼(262)이 눌려진 상태 등의 다양한 상태)에서는, 제5 개체(352) 상의 제2 경로에 따라 형성되는 폐곡선(358) 상의 하나 이상의 사용자 입력 개체(356)의 위치와 제2 개체(354)의 위치가 소정의 조건을 만족하는지 여부를 판단할 수 있다.
바꾸어 말하면, 제어부(120)는 사용자의 입력 상태에 따라 제5 개체(352)에 의해 제공되는 복수개의 경로 중 어느 하나의 경로를 따라 제2 개체(354)가 순환하도록 하여, 선택적으로 명령을 실행할 수 있도록 한다.
본 발명의 선택적 실시예에서, 조건에 따른 명령 수행 개체(353)는 특정 변수에 의존적으로 제5 개체(352)에 의해 제공되는 복수개의 경로 중 어느 하나의 경로를 따라 제2 개체(354)가 순환하도록 할 수 있다. 이러한 경우 제5 개체(352)에 의해 제공되는 경로는 두 개 이상일 수도 있다.
이로써 본 발명은 사용자의 입력 및/또는 특정 변수의 상태에 따라 프로그램의 일부 구성요소가 선택적으로 실행될 수 있도록 한다.
도 7은 병렬 수행 개체(364) 및 그에 따른 제6 개체(362)가 표시된 화면(360)의 예시이다.
본 발명의 일 실시예에 따른 제어부(120)는 사용자 입력에 기초하여 병렬 수행 개체(364)를 제1 개체(361)에 의해 생성되는 폐곡선 상에 위치시킬 수 있다. 이때 제어부(120)는 병렬 수행 개체(364)를 제1 방식으로 표시할 수 있다.
또한 본 발명의 일 실시예에 따른 제어부(120)는 병렬 수행 개체(364)와 함께 제1 개체(361)에 의해 생성되는 폐곡선과 별도인 폐곡선을 생성하는 제6 개체(362)를 제1 개체(361)와 구분하여 표시할 수 있다.
본 발명의 일 실시예에 따른 제어부(120)는 제2 개체(363)의 위치와 병렬 수행 개체(364)의 위치가 소정의 조건을 만족하고, 병렬 수행 개체(364)가 온(On)상태(또는 활성화 상태)인 경우, 제6 개체(362)에 의해 생성된 폐곡선을 따라 순환하는 제7 개체(365)를 표시할 수 있다.
또한 본 발명의 일 실시예에 따른 제어부(120)는 제6 개체(362)에 의해 생성되는 폐곡선 상의 하나 이상의 사용자 입력 개체(366)의 위치와 순환하는 제7 개체(365)의 위치가 소정의 조건을 만족하는지 여부에 기초하여 하나 이상의 사용자 입력 개체(366)에 대응되는 명령을 실행할 수 있다.
본 발명의 일 실시예에 따른 제어부(120)는 제1 개체(361)상에서 순환하는 제2 개체(363)에 의한 사용자 입력 개체에 대응되는 명령의 실행과, 제6 개체(362)상에서 순환하는 제7 개체(365)에 의한 사용자 입력 개체에 대응되는 명령의 실행을 동시 또는 병렬적으로 수행할 수 있다.
이로써 본 발명은 사용자가 손쉽게 멀티 쓰레드 프로그래밍이 가능하도록 한다.
본 발명의 일 실시예에 따른 제어부(120)는 도 2내지 도 7에서 설명한 과정에 따라 입력된 개체들에 기초하여 프로그램 구동 보드(200)의 제어신호를 생성하고, 생성된 제어 신호를 프로그램 구동 보드(200)로 전송할 수 있다.
이로써 본 발명은 사용자가 손쉽게 프로그램을 작성하여 프로그램 구동 보드(200)에 다운로드 할 수 있도록 한다.
도 8은 본 발명의 일 실시예에 따른 제어부(120)에 의해 수행되는 사용자 작성 프로그램의 실행 방법을 설명하기 위한 흐름도이다. 이하에서는 도 2를 다시 참조하여 사용자 작성 프로그램의 실행 방법을 설명한다.
본 발명의 일 실시예에 따른 제어부(120)는 사용자의 입력에 기초하여, 사용자 입력 개체(316)를 폐곡선(315) 상의 제1 위치에 위치시킬 수 있다. 이때 제어부(120)는 사용자 입력 개체(316)를 제1 위치에 제1 표시 방식(가령 채색되지 않은 아이콘으로 표시하는 방식)으로 표시할 수 있다(S810). 이때 본 발명의 일 실시예에 따른 제어부(120)는 사용자의 입력에 기초하여 사용자 입력 개체(316)에 대응되는 명령을 설정할 수 있다. 가령 제어부(120)는 사용자 입력 개체(316)에 대응되는 명령으로 LED 점등 명령을 설정할 수 있다.
본 발명의 일 실시예에 따른 제어부(120)는 폐곡선(315)을 순환하는 제2 개체(314)의 위치와 사용자 입력 개체(316)의 위치인 제1 위치가 소정의 조건을 만족하는지 여부를 판단할 수 있다(S820).
전술한 바와 같이 본 발명에서 제2 개체(314)는 제1 개체(313)에 의해 생성된 폐곡선(315)을 따라 순환할 수 있다. 제2 개체(314)가 폐곡선(315)을 순환하면서 제2 개체(314)의 위치와 특정 개체의 위치가 소정의 조건을 만족하는 경우, 해당 개체에 대응되는 명령이 실행될 수 있다. 가령 제2 개체(314)가 폐곡선(315)을 반시계 방향으로 순환하다가 사용자 입력 개체(316)를 만난 경우(즉 제2 개체(314)의 위치와 사용자 입력 개체(316)의 위치가 소정의 조건을 만족하게 된 경우) 사용자 입력 개체(316)에 대응되는 명령인 LED 점등 명령이 실행될 수 있다.
본 발명의 일 실시예에 따른 제어부(120)는 단계 S820에서 소정의 조건이 만족된 경우, 사용자 입력 개체(316)에 대응되는 명령을 실행할 수 있다. 이때 제어부(120)는 사용자 입력 개체(316)를 상술한 제1 표시 방식과 상이한 제2 표시 방식(가령 채색된 아이콘으로 표시하는 방식)으로 표시할 수 있다(S840).
본 발명의 일 실시예에 따른 제어부(120)는 제2 개체(314)를 순환시킬 수 있다. 바꾸어 말하면 제어부(120)는 제2 개체(314)의 위치를 이동시킬 수 있다(S830). 본 발명의 일 실시예에 따른 제어부(120)는 제2 개체(314)의 순환에 따라 사용자 입력 개체(316)의 위치와 제2 개체(314)의 위치가 소정의 조건을 만족하지 않게 된 경우, 사용자 입력 개체(316)를 다시 제1 표시 방식으로 변경하여 표시할 수 있다.
한편 본 발명의 일 실시예에 따른 제어부(120)는 단계 S820에서 소정의 조건이 만족되지 않은 경우, 소정의 조건이 만족될 때 까지 제2 개체의 위치를 이동(즉 순환)시킬 수 있다(S830).
이와 같이 본 발명은 사용자가 입력한 명령 중 어떤 명령이 수행되고 있는지를 그래픽으로 나타냄으로써 사용자가 보다 쉽게 프로그램을 작성하고 이해할 수 있도록 한다.
한편 도 2 내지 도 7에 도시된 제1 개체(도 2의 경우 313)의 형상은 예시적인 것으로, 본 발명의 사상이 이에 한정되는 것은 아니다. 따라서 폐곡선을 형성하는 다양한 형상의 도형이 본 발명의 제1 개체에 해당할 수 있다.
한편 본 발명의 일 실시예에 따른 제어부(120)는 시뮬레이션 윈도우(311) 상에 프로그램 구동 보드(200)의 예상 동작 상태를 표시할 수 있다. 가령 단계 S840에서 제2 개체(314)의 위치와 사용자 입력 개체(316)의 위치인 제1 위치가 소정의 조건을 만족하여 사용자 입력 개체(316)에 대응되는 명령인 LED 점등 명령이 실행된 경우, 제어부(120)는 시뮬레이션 윈도우(311)상의 LED가 점등된 것으로 시뮬레이션 윈도우(311)의 표시를 갱신할 수 있다. 또한 제2 개체(314)의 순환에 따라 제2 개체(314)의 위치와 사용자 입력 개체(317)의 위치가 소정의 조건을 만족하여 사용자 입력 개체(317)에 대응되는 명령인 LED 소등 명령이 실행된 경우, 제어부(120)는 시뮬레이션 윈도우(311)상의 LED가 소등된 것으로 시뮬레이션 윈도우(311)의 표시를 갱신할 수 있다.
이로써 사용자는 프로그램 구동 보드(200)의 연결이나 설치 없이도 자신이 작성한 프로그램의 동작 결과를 간편하게 확인할 수 있다.
본 발명의 실시예에 따른 사용자 작성 프로그램의 실행 방법은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의해 읽힐 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광데이터 저장장치 등이 있다. 또한, 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고, 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
본 발명은 첨부된 도면에 도시된 일 실시예를 참고로 설명되었으나, 이는 예시적인 것에 불과하며, 당해 기술분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 수 있을 것이다.
100: 사용자 단말 110: 통신부
120: 제어부 130: 메모리
140: 디스플레이부 200: 프로그램 구동 보드
210: 서보 모터 연결 터미널 220: DC 모터 연결 터미널
231: 아날로그 출력 터미널 232: 디지털 출력 터미널
233: RGB LED 연결 터미널 240: 상태 표시 LED
250: Dot-Matrix 261, 262: 버튼

Claims (8)

  1. 제1 개체에 의해 생성된 폐곡선을 따라 제2 개체가 순환하면서 상기 폐곡선 상의 하나 이상의 사용자 입력 개체에 대응되는 명령을 수행하는, 사용자 작성 프로그램의 실행 방법에 있어서,
    사용자의 입력에 기초하여, 사용자 입력 개체를 상기 폐곡선 상의 제1 위치에 위치시키고, 상기 사용자 입력 개체를 상기 제1 위치에 제1 표시 방식으로 표시하는 단계;
    상기 폐곡선을 순환하는 상기 제2 개체의 위치와 상기 제1 위치가 소정의 조건을 만족하는지 여부를 판단하는 단계;
    상기 소정의 조건이 만족된 경우, 상기 사용자 입력 개체에 대응되는 명령을 실행하는 단계; 및
    상기 명령에 기초하여, 시뮬레이션 윈도우의 표시를 갱신하는 단계;를 포함하며,
    상기 사용자 입력 개체가
    조건에 따른 명령 수행 개체인 경우,
    상기 제1 표시 방식으로 표시하는 단계는
    상기 조건에 따른 명령 수행 개체를 상기 제1 위치에 제1 방식으로 표시하는 단계;
    상기 제1 위치에서 상기 제1 개체와 연결되어 상기 폐곡선을 두 개의 경로로 확장시키는 제5 개체를 표시하는 단계;를 포함하고,
    상기 판단하는 단계는
    상기 조건에 따른 명령 수행 개체에 대한 상기 사용자의 입력이 유지되는 상태에서는 상기 제5 개체 상의 제1 경로에 따라 형성되는 상기 폐곡선 상의 하나 이상의 사용자 입력 개체의 위치와 상기 제2 개체의 위치가 상기 소정의 조건을 만족하는지 여부를 판단하고,
    상기 조건에 따른 명령 수행 개체에 대한 상기 사용자의 입력이 해제된 상태에서는 상기 제5 개체 상의 제2 경로에 따라 형성되는 상기 폐곡선 상의 하나 이상의 사용자 입력 개체의 위치와 상기 제2 개체의 위치가 상기 소정의 조건을 만족하는지 여부를 판단하는, 사용자 작성 프로그램의 실행 방법.
  2. 청구항 1에 있어서,
    상기 제1 표시 방식으로 표시하는 단계는
    상기 사용자의 입력에 기초하여 복수의 사용자 입력 개체들을 상기 폐곡선 상의 서로 다른 위치에 위치시키고,
    상기 판단하는 단계는
    상기 제2 개체의 순환에 따라, 상기 복수의 사용자 입력 개체들 각각의 위치가 상기 소정의 조건을 만족하는지 여부를 순차적으로 판단하고,
    상기 실행하는 단계는
    상기 소정의 조건을 만족하는 사용자 입력 개체를 제2 표시 방식으로 표시하고, 상기 소정의 조건을 만족하는 사용자 입력 개체에 대응되는 명령을 순차적으로 실행하는, 사용자 작성 프로그램의 실행 방법.
  3. 청구항 2에 있어서,
    상기 사용자 작성 프로그램의 실행 방법은
    상기 제1 개체에 대한 상기 사용자의 크기 조절 입력에 기초하여 상기 폐곡선의 길이를 조절하는 단계;를 더 포함하고,
    상기 폐곡선의 길이 조절에 따라 상기 복수의 사용자 입력 개체들 간의 간격이 조절되어, 상기 복수의 사용자 입력 개체들 각각에 대응되는 명령들의 실행 시점 간의 간격이 조절되는, 사용자 작성 프로그램의 실행 방법.
  4. 청구항 1에 있어서,
    상기 사용자 작성 프로그램의 실행 방법은
    상기 제1 개체에 대한 상기 사용자의 확장 입력에 기초하여 상기 제1 개체와 연결되어 상기 폐곡선을 확장시키는 제3 개체를 표시하는 단계;를 더 포함하고,
    상기 제2 개체는 상기 제1 개체 및 상기 제3 개체에 의해 생성되는 폐곡선을 순환하는, 사용자 작성 프로그램의 실행 방법.
  5. 청구항 1에 있어서,
    상기 사용자 입력 개체가
    선택적 명령 수행 개체인 경우,
    상기 제1 표시 방식으로 표시하는 단계는
    상기 선택적 명령 수행 개체를 상기 제1 위치에 제1 방식으로 표시하는 단계;
    상기 제1 위치에서 상기 제1 개체와 연결되어 상기 폐곡선을 확장시키는 제4 개체를 표시하는 단계;를 포함하고,
    상기 판단하는 단계는
    상기 선택적 명령 수행 개체에 대한 상기 사용자의 입력이 유지되는 상태에서만 상기 제4 개체에 의해 형성되는 폐곡선 상의 하나 이상의 사용자 입력 개체의 위치와 상기 제2 개체의 위치가 상기 소정의 조건을 만족하는지 여부를 판단하는, 사용자 작성 프로그램의 실행 방법.
  6. 청구항 5에 있어서,
    상기 선택적 명령 수행 개체에 대한 상기 사용자의 입력이 해제된 경우,
    상기 판단하는 단계는
    상기 제4 개체에 의해 형성되는 상기 폐곡선 상의 하나 이상의 사용자 입력 개체의 위치와 상기 제2 개체의 위치가 상기 소정의 조건을 만족하는지 여부의 판단을 생략하는, 사용자 작성 프로그램의 실행 방법.
  7. 청구항 1에 있어서,
    상기 사용자 입력 개체가
    병렬 수행 개체인 경우,
    상기 제1 표시 방식으로 표시하는 단계는
    상기 병렬 수행 개체를 상기 제1 위치에 제1 방식으로 표시하는 단계; 및
    상기 제1 개체에 의해 생성되는 상기 폐곡선과 별도인 폐곡선을 생성하는 제6 개체를 상기 제1 개체와 구분하여 표시하는 단계;를 포함하고,
    상기 실행하는 단계는
    상기 소정의 조건이 만족되고 상기 병렬 수행 개체가 온(On)상태인 경우, 상기 제6 개체에 의해 생성된 폐곡선을 따라 순환하는 제7 개체를 표시하는 단계;를 포함하고,
    상기 사용자 작성 프로그램의 실행 방법은
    상기 제6 개체 상의 폐곡선 상의 하나 이상의 사용자 입력 개체의 위치와 상기 순환하는 제7 개체의 위치가 상기 소정의 조건을 만족하는지 여부에 기초하여 상기 하나 이상의 사용자 입력 개체에 대응되는 명령을 실행하는 단계;를 더 포함하는, 사용자 작성 프로그램의 실행 방법.
  8. 삭제
KR1020200167350A 2020-12-03 2020-12-03 사용자 작성 프로그램의 실행 방법 KR102442163B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200167350A KR102442163B1 (ko) 2020-12-03 2020-12-03 사용자 작성 프로그램의 실행 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200167350A KR102442163B1 (ko) 2020-12-03 2020-12-03 사용자 작성 프로그램의 실행 방법

Publications (2)

Publication Number Publication Date
KR20220078143A KR20220078143A (ko) 2022-06-10
KR102442163B1 true KR102442163B1 (ko) 2022-09-08

Family

ID=81986763

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200167350A KR102442163B1 (ko) 2020-12-03 2020-12-03 사용자 작성 프로그램의 실행 방법

Country Status (1)

Country Link
KR (1) KR102442163B1 (ko)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170065405A (ko) * 2015-12-03 2017-06-13 주식회사 대전로보틱스 원형 또는 폐곡선 형태의 도형을 이용한 반복적 루프 구조를 이용한 시인화와 조합 방식을 통한 그래픽스 기반 컴퓨터 언어 설계 및 사용자 인터페이스 장치
KR101913833B1 (ko) 2016-11-16 2018-12-06 전석주 프로그래밍 교육을 위한 전자블록 시스템

Also Published As

Publication number Publication date
KR20220078143A (ko) 2022-06-10

Similar Documents

Publication Publication Date Title
KR102645817B1 (ko) 로봇의 비헤이비어 관리 방법 및 장치
US8429605B2 (en) Finite state machine architecture for software development
US11010141B2 (en) Graphical interface to generate instructions to control a representation by an output interface of one or more objects
US11175895B2 (en) Code generation and simulation for graphical programming
US10163245B2 (en) Multi-mode animation system
US20200122039A1 (en) Method and system for a behavior generator using deep learning and an auto planner
US20150356220A1 (en) Automated input simulation for simulated programmable logic controller
CN112270403B (zh) 构建深度学习的网络模型的方法、装置、设备和存储介质
KR102289915B1 (ko) 사용자 작성 프로그램의 실행 방법
KR102442163B1 (ko) 사용자 작성 프로그램의 실행 방법
KR102419562B1 (ko) 사용자 작성 프로그램의 실행 방법
US20120249545A1 (en) User interface apparatus for providing representation of 3d theme for cover page and method of operating the same
KR20170065405A (ko) 원형 또는 폐곡선 형태의 도형을 이용한 반복적 루프 구조를 이용한 시인화와 조합 방식을 통한 그래픽스 기반 컴퓨터 언어 설계 및 사용자 인터페이스 장치
US20140375572A1 (en) Parametric motion curves and manipulable content
WO2019021045A1 (en) METHOD AND SYSTEM FOR ACTION OF AN INDUSTRIAL ROBOT BASED ON A PARAMETER
US10025884B1 (en) Manipulation tool for offset surface of a simulation model
KR102595525B1 (ko) 아이콘을 이용한 사용자 작성 프로그램의 실행방법
US11249732B2 (en) GUI controller design support device, system for remote control and program
EP3798821B1 (en) Gui controller design assistance device, remote control system, and program
JP6053616B2 (ja) 表示部品制御システム
JP2018190397A5 (ko)
KR102577342B1 (ko) 거리 지표 학습을 위해 메모리 기반의 가상 클래스로 학습하는 컴퓨터 시스템 및 그의 방법
Brendel et al. Exploring the immediate mode GUI concept for graphical user interfaces in mixed reality applications
US12008291B2 (en) Techniques for designing interactive objects with integrated smart devices
KR20240038404A (ko) 아이콘을 표시하는 전자 장치 및 이의 제어 방법

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant