KR20130065706A - 소프트웨어 생성 장치, 소프트웨어 생성 방법 및 프로그램 기억매체 - Google Patents

소프트웨어 생성 장치, 소프트웨어 생성 방법 및 프로그램 기억매체 Download PDF

Info

Publication number
KR20130065706A
KR20130065706A KR1020137008706A KR20137008706A KR20130065706A KR 20130065706 A KR20130065706 A KR 20130065706A KR 1020137008706 A KR1020137008706 A KR 1020137008706A KR 20137008706 A KR20137008706 A KR 20137008706A KR 20130065706 A KR20130065706 A KR 20130065706A
Authority
KR
South Korea
Prior art keywords
source code
block
software
data
cpu
Prior art date
Application number
KR1020137008706A
Other languages
English (en)
Other versions
KR101565666B1 (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 KR20130065706A publication Critical patent/KR20130065706A/ko
Application granted granted Critical
Publication of KR101565666B1 publication Critical patent/KR101565666B1/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/35Creation or generation of source code model driven
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • 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
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Abstract

소스 코드 패턴을 이용한 매칭을 행함에 의해, 운전 프로그램(105)을 생성하기 위한 소스 코드(102)를, 소스 코드 패턴이 관련지어진 제어 블록으로 이루어지는 변환 데이터로 변환한다. 그리고, 이 제어 블록으로 이루어지는 변환 데이터를, 제어 블록에 대응하여 규정된 아이콘을 이용하여 표시한다. 이에 의해, 소프트웨어 생성 장치(10)의 오퍼레이터는, 시각적으로 소스 코드(102)의 내용을 파악할 수 있다.

Description

소프트웨어 생성 장치, 소프트웨어 생성 방법 및 프로그램{SOFTWARE GENERATION DEVICE, SOFTWARE GENERATION METHOD AND PROGRAM}
본 발명은, 소프트웨어 생성 장치, 소프트웨어 생성 방법 및 프로그램에 관한 것으로, 더욱 상세하게는, 소정의 제어 장치에 의해 실행되는 소프트웨어를 생성하는 소프트웨어 생성 장치, 소정의 제어 장치에 의해 실행되는 소프트웨어를 생성하기 위한 소프트웨어 생성 방법 및 프로그램에 관한 것이다.
공조 설비로 대표되는 설비 기기는, 거주구(居住區)나 워크 에어리어에 분산 배치된 복수의 기기를, 컴퓨터를 이용하여 집중 관리하는 운용 형태의 것이 많다. 이런 종류의 설비 기기는 소비 전력이 크고, 출력을 근실하게 조정함으로써, 큰 에너지 절약 효과가 기대될 수 있다. 그 때문에, 설비 기기의 출력을 조정하기 위한 운전 프로그램은 매년 복잡화하고, 이에 수반하여 운전 프로그램에 관련되는 소스 코드의 양도 증대해 있다.
운전 프로그램을 실행하는 과정에서 생긴 에러에 의한 실제 손해는, 설비 기기의 용도에 따라서는는, 현저하게 확대하는 일이 있다. 이 때문에, 설비 기기의 운용에 사용되는 프로그램에 기인하는 에러의 허용 범위는, 예를 들면 정보 기기의 운용에 사용되는 프로그램에 기인하는 에러의 허용 범위에 비하여 좁다. 따라서 설비 기기의 운전 프로그램의 제조에는, 큰 비용이 걸리는 것이 일반적이다.
그래서, 설비 기기의 운전 프로그램을, 품질을 유지하면서 저비용으로 작성하기 위한 개발 지원 장치가 제안되어 있다(예를 들면, 특허 문헌 1 참조).
특허 문헌 1 : 일본 특개2009-157751호 공보
특허 문헌 1에 개시된 개발 지원 장치는, 상태 천이(遷移) 정보중에서 서로 배타성을 가져야 할 상태 천이 조건을 추출한다. 이에 의해, 배타성을 가져야 할 상태 천이 조건이, 실제로 배타성을 갖고 있는지의 여부를 용이하게 확인하는 것이 가능해진다. 그리고, 배타성을 갖지 않는 상태 천이 조건을, 배타성을 갖도록 빠짐없이 수정할 수 있다. 따라서 소프트웨어가 특정한 처리를 무한히 반복하는 상태에 빠지거나, 필요없게 많은 소스 코드가 생성되는 것을 회피할 수 있다.
상술한 개발 지원 장치를 이용하는 경우에는, 오퍼레이터가 상태 천이 정보나 상태 천이 조건을 작성한 필요가 있다. 그러나, 현재 상태로서는, 상태 천이 정보나 상태 천이 조건을 작성한 스킬을 갖는 기술자가 적다.
본 발명은, 상술한 사정하에서 이루어진 것으로, 간단한 조작으로 프로그램을 생성하는 것을 목적으로 한다.
상기 목적을 달성하기 위해, 본 발명의 소프트웨어 생성 장치는,
소프트웨어의 소스 코드의 일부를 구성하는 문자열로 이루어지고, 미리 규정된 복수의 블록을, 상기 소스 코드에 매칭시키는 매칭 수단과,
상기 소스 코드의 상기 블록이 매칭한 부분을, 매칭한 상기 블록으로 치환함에 의해, 상기 소스 코드를 상기 블록으로 이루어지는 데이터로 변환하는 변환 수단과,
상기 블록으로 이루어지는 데이터에 의거하여, 상기 소프트웨어를 생성하는 생성 수단을 구비한다.
본 발명에 의하면, 소프트웨어를 생성하기 위한 소스 코드가, 복수의 블록으로 이루어지는 데이터로 변환된다. 이 때문에, 유저는, 어느 블록을 소망하는 블록으로 교환하든지, 또는 블록의 배열을 변경함에 의해, 소프트웨어에 의한 처리의 내용이나, 처리의 순서를 변경하는 것이 가능해진다. 따라서 간단한 조작으로 소망하는 프로그램을 생성할 수 있다.
도 1은 본 발명의 실시 형태에 관한 소프트웨어 생성 장치를, 공조 시스템과 함께 도시하는 블록도.
도 2는 윈도우를 도시하는 도면.
도 3은 사전 정보의 구성을 모식적으로 도시하는 도면.
도 4는 소스 코드와 제어 블록과의 관계를 모식적으로 도시하는 도면.
도 5는 CPU의 동작을 설명하기 위한 플로 차트.
도 6은 제어 블록 정보를 모식적으로 도시하는 도면.
도 7은 제어 블록 관련 정보를 모식적으로 도시하는 도면.
도 8은 표시부에 표시되는 윈도우를 도시하는 도면.
도 9는 표시부에 표시되는 윈도우를 도시하는 도면.
도 10은 CPU에 실행되는 서브루틴을 도시하는 플로 차트.
도 11은 동작 제약 조건 정보를 모식적으로 도시하는 도면.
도 12는 표시부에 표시된 비교 결과를 도시하는 도면.
도 13은 표시부에 표시된 비교 결과를 도시하는 도면.
도 14는 본 실시 형태의 변형례에 관해 설명하기 위한 도면.
도 15는 본 실시 형태의 변형례에 관해 설명하기 위한 도면.
이하, 본 발명의 한 실시 형태를, 도면을 참조하면서 설명한다. 도 1은, 본 실시 형태에 관한 소프트웨어 생성 장치(10)를, 리모트 컨트롤 장치(21)와 공조 장치(22)를 갖는 공조 시스템(20)과 함께 도시하는 블록도이다. 이 소프트웨어 생성 장치(10)는, 공조 시스템(20)에 의해 실행되는 운전 프로그램(105)을 생성하기 위한 장치이다. 도 1에 도시되는 바와 같이, 소프트웨어 생성 장치(10)는, CPU(Central Processing Unit)(10a), 표시부(10b), 입력부(10c), 주기억부(10d), 보조기억부(10e), 및 통신 유닛(10f)을 갖고 있다.
표시부(10b)는, LCD(Liquid Crystal Display) 또는 CRT(Cathode Ray Tube) 등을 갖고 있다. 도 2에는, 운전 프로그램(105)의 생성을 행할 때에, 유저 인터페이스로서 기능하는 윈도우(W1)가 도시되어 있다. 표시부(10b)는, CPU(10a)의 지시에 의거하여, 윈도우(W1)로 대표되는 각종 윈도우를 표시한다. 또한, 필요에 응하여, CPU(10a)의 처리 결과 등을 표시한다.
입력부(10c)는, 키보드나, 마우스 또는 터치 패널 등의 포인팅 디바이스로 구성되어 있다. 오퍼레이터의 지시는, 이 입력부(10c)를 통하여 입력된다. 그리고, 시스템 버스(10g)를 경유하여 CPU(10a)에 통지된다.
주기억부(10d)는, DRAM(Dynamic Random Access Memory) 또는 SRAM(Static Random Access Memory) 등의 휘발성 메모리를 갖고 있다. 이 주기억부(10d)는, CPU(10a)의 작업 영역으로서 사용된다.
보조기억부(10e)는, 자기 디스크, 플래시 메모리 등의 불휘발성 메모리를 갖고 있다. 이 보조기억부(10e)에는, 사전 정보(101), 소스 코드(102)가 기억되어 있다.
도 3은, 사전 정보(101)의 구성을 모식적으로 도시하는 도면이다. 도 3에 도시되는 바와 같이, 사전 정보(101)는, 소스 코드 패턴(PN), 제어 블록(BCN), 및 제어 블록(BCN)의 내용을 나타내는 제어 내용 정보(CONN)로 구성되어 있다.
소스 코드 패턴(PN)은, 운전 프로그램(105)에 의해 실행되는 복수의 처리 중의 단일한 처리의 내용을 나타내는 소스 코드이다. 도 3에 도시되는 바와 같이, 소스 코드 패턴(PN)은, 소스 코드의 기술에 사용되는 문자열(텍스트)로 구성되어 있다. 예를 들면, 소스 코드 패턴(PN)은, 「함수명(인수1, 인수2);」 등의 서식으로 표현된다.
예를 들면, 운전 프로그램(105)에 의해 실행되는 복수의 처리가, 설정 온도의 판독, 토출 공기의 온도 설정, 및 풍량의 설정 3가지인 경우는, 이 운전 프로그램(105)의 소스 코드는, 설정 온도의 판독 처리를 나타내는 소스 코드 패턴과, 토출 공기의 온도의 설정 처리를 나타내는 소스 코드 패턴과, 풍량의 설정 처리를 나타내는 소스 코드 패턴의 조합으로 표현할 수 있는 것이 된다.
통상적으로는, 수십 종류의 소스 코드 패턴을 이용함으로써, 10000행의 문자열에 의해 표현되는 소스 코드를, 예를 들면 100행 정도의 문자열 또는 100개 정도의 아이콘으로 표시하는 것이 가능해진다.
제어 블록(BCN)은, 각 소스 코드 패턴(PN)에 관련지어져 있다. 이 제어 블록(BCN)은, 소스 코드 패턴(PN)을 취급할 때의 개념이다. 소프트웨어 생성 장치(10)에서는, 이 제어 블록(BCN)은 당해 제어 블록(BCN)의 내용에 따른 아이콘이나 화상으로 표시된다.
제어 내용 정보(CONN)는, 제어 블록(BCN)의 내용을 식별하기 위한 정보이다. 이 제어 내용 정보(CONN)는, 예를 들면 소스 코드 패턴(PN)과 동등한 내용을 나타내고 있다. 그리고, 제어 블록(BCN)과 관련한 상태에서 취급된다.
도 1로 되돌아와, 소스 코드(102)는, 운전 프로그램(105)을 생성할 때에, 기초가 되는 데이터이다. 도 4는, 소스 코드(102)와, 제어 블록(BCN)과의 관계를 모식적으로 도시하는 도면이다. 도 4에 도시되는 바와 같이, 소스 코드(102)는, 함수나 인수를 나타내는 문자열에 의해 기재된 데이터이다.
도 1로 되돌아와, 통신 유닛(10f)은, 예를 들면 시리얼 인터페이스 또는 LAN(Local Area Network) 인터페이스 등을 포함하여 구성되어 있다. 소프트웨어 생성 장치(10)는, 통신 유닛(10f)을 통하여, 리모트 컨트롤 장치(21)와 통신을 행한다.
CPU(10a)는, 보조기억부(10e)에 기억된 소스 코드(102)에 의거하여, 리모트 컨트롤 장치(21)에 의해 실행되는 운전 프로그램(105)을 생성한다. 그리고, 이 운전 프로그램(105)을, 통신 유닛(10f)을 통하여, 리모트 컨트롤 장치(21)에 출력한다.
리모트 컨트롤 장치(21)는, 예를 들면 공조 시스템(20)의 공조 대상이 되는 공간(이하, 공조 공간이라고 한다)을 형성하는 벽면 등에 배치되어 있다. 그리고, 유저로부터의 지령을 접수하기 위한 인터페이스로서 기능 한다. 도 1에 도시되는 바와 같이, 리모트 컨트롤 장치(21)는, CPU(21a), 표시부(21b), 입력부(21c), 주기억부(21d), 보조기억부(21e), 및 통신 유닛(21f)을 갖고 있다.
표시부(21b)는, LCD를 갖고 있다. 그리고, 공조 장치(22)와의 통신에 의해 취득한 설정 온도, 공조 대상이 되는 공간의 온도(실온), 운전 모드 등에 관한 정보를 표시한다.
입력부(21c)는, 키 스위치 또는 터치 패널 등으로 구성되는 인터페이스이다. 유저로부터의 지시는, 이 입력부(21c)를 통하여 입력된다. 그리고, 시스템 버스(21g)를 경유하여 CPU(21a)에 통지된다.
주기억부(21d)는, DRAM 또는 SRAM 등의 불휘발성 메모리를 갖고 있다. 이 주기억부(21d)는, CPU(21a)의 작업 영역으로서 사용된다.
보조기억부(21e)는, 자기 디스크, 플래시 메모리 등의 불휘발성 메모리를 갖고 있다. 이 보조기억부(10e)에는, 소프트웨어 생성 장치(10)로부터 출력된 운전 프로그램(105)이 기억된다.
통신 유닛(21f)은, 예를 들면 시리얼 인터페이스, LAN 인터페이스, 무선 통신 인터페이스 등을 갖고 있다. 리모트 컨트롤 장치(21)는, 통신 유닛(21f)을 통하여, 소프트웨어 생성 장치(10) 및 공조 장치(22)와 통신을 행한다.
CPU(21a)는, 보조기억부(21e)에 기억된 운전 프로그램(105)을 판독하고 실행한다. 이에 의해, 유저로부터의 지령에 의해 설정된 설정 온도, 설정 풍량, 운전 모드 등의 운전 정보가, 통신 유닛(21f)을 이용하여, 공조 장치(22)에 출력된다. 또한 리모트 컨트롤 장치(21)의 표시부(21b)에는, 설정 온도, 설정 풍량, 운전 모드 등의 운전 정보가 표시된다.
공조 장치(22)는, 예를 들면 공조 시스템(20)의 공조 대상이 되는 공간을 형성하는 벽면 또는 천장 등에 배치되어 있다. 그리고, 공조 장치(22)는, 공조 공간의 공조를 행한다. 도 1에 도시되는 바와 같이, 공조 장치(22)는, 기억부(22a), 출력 제어 유닛(22b), 및 통신 유닛(22c)을 갖고 있다.
기억부(22a)는, 플래시 메모리 등의 불휘발성 메모리, 또는 SRAM 등의 휘발성 메모리를 갖고 있다. 이 기억부(22a)에는, 통신 유닛(22c)을 통하여 수신한 운전 정보가 기억된다.
출력 제어 유닛(22b)은, 기억부(22a)에 기억된 운전 정보를 판독한다. 그리고, 판독한 운전 정보를 참조하여, 공조 공간에 공조된 공기를 토출하기 위한 팬, 공조 공기를 토출하기 위한 루버, 외기와 열교환을 행하는 실외기 등을 구동한다. 이에 의해, 유저로부터의 지시 내용에 따른 공조 공간의 공조가 실행된다.
통신 유닛(22c)은, 예를 들면 시리얼 인터페이스, 또는 무선 통신 인터페이스 등을 갖고 있다. 공조 장치(22)는, 통신 유닛(22c)을 통하여, 리모트 컨트롤 장치(21)와 통신을 행한다.
도 5의 플로 차트는, 소프트웨어 생성 장치(10)의 CPU(10a)에 의해 실행되는 프로그램의 일련의 알고리즘에 대응하고 있다. 이하, 도 5를 참조하면서, 소프트웨어 생성 장치(10)의 동작에 관해 설명한다. 소프트웨어 생성 장치(10)가 기동되면, CPU(10a)는, 운전 프로그램(105)을 생성하기 위한 프로그램을 보조기억부(10e)로부터 판독을 실행한다.
최초의 스텝 S201에서는, CPU(10a)는, 유저로부터의 운전 프로그램 생성 지령을 대기한다. 입력부(10c)를 통하여, 유저로부터의 생성 지령이 입력되면(스텝 S201 : Yes), CPU(10a)는, 다음의 스텝 S202로 이행한다.
다음의 스텝 S202에서는, CPU(10a)는, 보조기억부(10e)에 기억된 소스 코드(102)를 판독한다. 그리고, 도 4를 참조하면 알 수 있는 바와 같이, 소스 코드(102)에 행 번호(NM)를 부가하여, 이 소스 코드(102)를 주기억부(10d)에 전개한다.
다음의 스텝 S203에서는, CPU(10a)는, 주기억부(10d)에 전개한 소스 코드(102)에 대한 매칭 처리를 실행한다. 구체적으로는, CPU(10a)는, 보조기억부(10e)에 기억된 사전 정보(101)를 구성하는 소스 코드 패턴(PN)으로부터, 최초의 소스 코드 패턴(P1)을 판독한다. 다음에, 소스 코드 패턴(P1)을 구성하는 문자열과, 소스 코드(102)를 구성하는 문자열을 비교한다.
CPU(10a)는, 소스 코드 패턴(P1)을 구성하는 문자열과, 소스 코드(102)를 구성하는 문자열이 일치한 경우에, 소스 코드 패턴(P1)이 매칭하였다고 판단한다. 예를 들면 도 3에 도시되는 소스 코드 패턴(P1)을 구성하는 문자열은, 도 4를 참조하면 알 수 있는 바와 같이, 소스 코드(102)의 [004]행째부터 [007]행째까지의 문자열과 일치한다. 이 경우에 CPU(10a)는, 소스 코드 패턴(P1)이 매칭하였다고 판단한다.
CPU(10a)는, 소스 코드 패턴(P1)부터 소스 코드 패턴(PN)에 관해, 순차적으로 상술한 매칭 처리를 실행한다.
다음의 스텝 S204에서는, CPU(10a)는, 매칭한 소스 코드 패턴(PN)에 관한 제어 블록 정보(103N)를 생성한다. 도 6은, 제어 블록 정보(103N)를 모식적으로 도시하는 도면이다. 도 6에 도시되는 바와 같이, 제어 블록 정보(103N)는, 제어 블록(BCN)에 할당된 식별 번호(IDN) 및 위치 정보(LDN)로 구성되어 있다.
식별 번호(IDN)는, 소스 코드 패턴(PN)에 관련지어진 제어 블록(BCN)을 식별하기 위한 번호이다. 이 식별 번호(IDN)는, 예를 들면 제어 블록(BC1)부터 제어 블록(BCN)까지 연속한 번호로 된다.
위치 정보(LDN)는, 소스 코드(102)에서의, 소스 코드 패턴(PN)의 위치를 나타내는 정보이다. 예를 들면 소스 코드(102)와 매칭한 소스 코드 패턴(P1)의 위치 정보는, 도 4를 참조하면 알 수 있는 바와 같이, 행 번호[004] 내지 [007]를 특정하기 위한 선두행의 행 번호[004]와 최종행[007]에 관한 정보를 포함한다. 이 위치 정보(LDN)에 의해, 소스 코드 패턴(PN)이 매칭한 위치를 판단할 수 있다.
다음의 스텝 S205에서는, CPU(10a)는, 매칭한 소스 코드 패턴(PN)에 관한 제어 블록 관련 정보(104N)를 생성한다. 도 7은, 제어 블록 관련 정보(104N)를 모식적으로 도시하는 도면이다. 도 7에 도시되는 바와 같이, 제어 블록 관련 정보(104N)는, 매칭한 소스 코드 패턴(PN)에 관련지어진 제어 블록(BCN)의 식별 번호(IDN)와, 소스 코드(102)와 매칭한 때의 위치가, 이 소스 코드 패턴(PN) 앞(前)에 있는 소스 코드 패턴(Pi)과 관련지어진 제어 블록(BCi)의 식별 번호(IDi)와, 소스 코드(102)와 매칭한 때의 위치가, 이 소스 코드 패턴(PN)의 뒤에 있는 소스 코드 패턴(Pj)과 관련지어진 제어 블록(BCj)의 식별 번호(IDj)에 관한 정보를 포함한다.
예를 들면, 소스 코드 패턴(P1)에 관한 제어 블록 관련 정보(1041)는, 도 4를 참조하면 알 수 있는 바와 같이, 소스 코드 패턴(P1)에 관련지어진 제어 블록(BC1)의 식별 번호(ID1)와, 소스 코드 패턴(P1) 앞의 위치에서 매칭한 소스 코드 패턴(PN1)의 식별 번호(IDN1)와, 소스 코드 패턴(P1)의 뒤의 위치에서 매칭한 소스 코드 패턴(PN1)의 식별 번호(IDN1)에 관계한 정보를 포함한다.
다음의 스텝 S206에서는, 제어 블록 정보(103N)와, 제어 블록 관련 정보(104N)로부터 변환 데이터(CD)를 생성한다. 도 4를 참조하면 알 수 있는 바와 같이, 이 변환 데이터(CD)는, 소스 코드(102)에 매칭한 소스 코드 패턴(PN)에 관련지어진 제어 블록(BCN)이, 제어 블록 정보(103N)의 위치 정보에 의거하여 배열됨에 의해 생성되는 데이터이다.
예를 들면 도 4에 도시되는 바와 같이, 소스 코드(102)의 선두로부터 말미에 걸처서, 차례로 소스 코드 패턴(PN1), 소스 코드 패턴(P1), 소스 코드 패턴(PN3), 소스 코드 패턴(PN2), …가 나열하여 있는 경우에는, 제어 블록(BCN1), 제어 블록(BC1), 제어 블록(BCN3), 제어 블록(BCN2), …가 차례로 배열된 변환 데이터(CD)가 생성된다.
다음의 스텝 S207에서는, CPU(10a)는, 변환 데이터(CD)의 내용을, 표시부(10b)에 표시한다. 도 8은, 표시부(10b)에 표시되는 윈도우(W1)를 도시하는 도면이다. 도 8에 도시되는 바와 같이, CPU(10a)는, 변환 데이터(CD)를 구성하는 제어 블록(BCN)을, 대응하는 아이콘(ICN)을 이용하여 표시한다.
이에 의해, 오퍼레이터는, 소스 코드(102)에 의거하여 생성되는 운전 프로그램(105)을 시각적으로 이해하고, 수정하는 것이 가능해진다. 예를 들면, 오퍼레이터가 변환 데이터(CD)를 변경하는 경우에는, 우선 소망하는 아이콘(IC)을, 마우스 등을 이용하여 선택하여 더블 클릭한다. 이에 의해, 소스 코드(102)의 내용을 나타내는 윈도우(W2)가 팝업한다. 이 윈도우(W2)에서는, 소스 코드(102)중 더블 클릭된 아이콘(IC)에 대응하는 문자열이, 점선으로 나타난 프레임이나 마커 등에 의해 강조하여 표시된다.
오퍼레이터는, 윈도우(W2)에 소망하는 커맨드를 나타내는 문자열을 삽입함으로써, 소스 코드(102)를 수정할 수 있다. 예를 들면, 도 9의 윈도우(W2)를 참조하면 알 수 있는 바와 같이, 아이콘(IC1)에 대응하는 온도 갱신 커맨드와, 아이콘(IC2)에 대응하는 풍량 변경 커맨드의 사이에, 운전 모드를 갱신하기 위한 커맨드를 삽입함으로써, 소스 코드(102)에, 운전 모드를 갱신하는 커맨드를 부가할 수 있다. 이 경우에는, 도 9의 윈도우(W1)를 참조하면 알 수 있는 바와 같이, 아이콘(IC1)과 아이콘(IC2)의 사이에, 추가된 커맨드에 대응하는 새로운 아이콘(ICNW)이 표시된다. 또한, 오퍼레이터는, 아이콘(IC1)과 아이콘(IC2)의 사이에, 아이콘(ICNW)을 삽입함에 의해서도, 소스 코드(102)를 변경할 수 있다.
CPU(10a)는, 다음의 스텝 S208에서, 상술한 오퍼레이터로부터의 입력을 대기한다. 여기서 소스 코드(102)가 변경된 경우에는(스텝 S208 : Yes), 스텝 S209로 이행한다. 그리고, 변환 데이터(CD)를, 변경 후의 소스 코드(102)에 대응하도록 변경하고, 스텝 S207로 되돌아온다. 이후, CPU(10a)는, 스텝 S208에서의 판단이 긍정될 때까지, 스텝 S207 내지 스텝 S209의 처리를 반복하여 실행한다. 이에 의해, 오퍼레이터는, 최신의 소스 코드(102)에 의거하여 생성된 변환 데이터(CD)를 확인하면서, 소스 코드(102)의 수정이나 편집이 가능해진다.
한편, 오퍼레이터에 의해 소스 코드(102)의 수정이 종료되고, 최종적인 소스 코드(102)가 확정된 경우에는(스텝 S208 : No), CPU(10a)는, 스텝 S210으로 이행한다.
또한, 설명의 편의상, 최종적으로 확정한 변환 데이터(CD)는, 예를 들면 10개의 제어 블록(BCN)으로 구성되어 있는 것으로 한다. 또한, 각 제어 블록은 구조 블록, 호출 블록, 계측 시작 프로브를 나타내는 제어 블록, 계측 종료 프로브를 나타내는 제어 블록, 및 액세스 블록 중의 어느 하나로 한다.
상술한 구조 블록은, 처리의 분기나, 처리의 루프 동작을 나타내는 소스 코드에 대응한 제어 블록이다. 또한, 호출 블록은, 다른 제어 블록에 대응하는 처리를 호출하는 동작을 나타내는 소스 코드에 대응한 제어 블록이다. 또한, 예를 들면 도 8에 도시되는 바와 같이, 계측 시작 프로브 블록은, 작은 원형의 아이콘(ICS)으로 나타나는 제어 블록이다. 그리고, 계측 종료 프로브 블록은, 작은 원형의 아이콘(ICE)으로 나타나는 제어 블록이다. 이들의 제어 블록은, 계측 시작 프로브 블록과 계측 종료 프로브 블록과의 사이에 위치하는 제어 블록으로 나타나는 처리에 필요로 한 시간을 계측하는 것을 나타내는 소스 코드에 대응한 제어 블록이다. 또한, 액세스 블록은, 메모리나, 파일 등의 자원을 특정하기 위한 어드레스, 기록 데이터의 종류별, 및 데이터 기록처나 판독처 등의 정보에 의거하여, 지정된 어드레스에의 액세스 처리를 실행한 동작을 나타내는 소스 코드에 대응한 제어 블록이다.
스텝 S210에서는, CPU(10a)는 도 10의 플로 차트로 도시되는 서브루틴(300)을 실행한다. 우선, 최초의 스텝 S301에서는, CPU(10a)는, 카운터(n)를 리셋한다.
다음의 스텝 S302에서는, CPU(10a)는, 카운터(n)를 잉크리먼트한다.
다음의 스텝 S303에서는, CPU(10a)는, 변환 데이터(CD)를 구성하는 N번째(여기서는 1번째)의 제어 블록(BCN)이, 구조 블록인지의 여부를 판단한다. 그리고, N번째의 제어 블록(BCN)이, 구조 블록인 경우에는(스텝 S303 : Yes), 다음의 스텝 S304로 이행한다.
다음의 스텝 S304에서는, CPU(10a)는, 제어 블록(BCN)에 관련되는 소스 코드 패턴(PN)에 의거하여, 분기 처리를 행하기 위한 프로그램을 생성한다. 여기서, 분기 처리란, 조건에 합치하는 경우와, 조건에 합치하지 않는 경우에서, 상호 다른 처리를 실행하는 것이다.
한편, 스텝 S303에서의 판단이 부정된 경우에는(스텝 S303 : No), CPU(10a)는, 스텝 S305로 이행한다.
스텝 S305에서는, CPU(10a)는, 변환 데이터(CD)를 구성하는 N번째(여기서는 1번째)의 제어 블록(BCN)이, 호출 블록인지의 여부를 판단한다. 그리고, N번째의 제어 블록(BCN)이, 호출 블록인 경우에는(스텝 S305 : Yes), 다음의 스텝 S306으로 이행한다.
스텝 S306에서는, CPU(10a)는, 제어 블록(BCN)에 관련되는 소스 코드 패턴(PN)에 의거하여, 호출 처리를 행하기 위한 프로그램을 생성한다. 여기서, 호출 처리란, 다른 처리를 우선 실행하고, 그 처리가 완료된 후에 다음의 처리를 행하는 것이다.
한편, 스텝 S305에서의 판단이 부정된 경우에는(스텝 S305 : No), CPU(10a)는, 스텝 S307로 이행한다.
스텝 S307에서는, CPU(10a)는, 변환 데이터(CD)를 구성하는 N번째(여기서는 1번째)의 제어 블록(BCN)이, 계측 시작 프로브 블록인지의 여부를 판단한다. 그리고, N번째의 제어 블록(BCN)이, 계측 시작 프로브 블록인 경우에는(스텝 S307 : Yes), 다음의 스텝 S308로 이행한다.
스텝 S308에서는, CPU(10a)는, 제어 블록(BCN)에 관련되는 소스 코드 패턴(PN)에 의거하여, 계측의 시작 처리를 행하기 위한 프로그램을 생성한다. 여기서, 계측 시작 처리란, 계측 시작 커맨드에 의해, 경과 시간의 계측을 시작하는 처리이다.
한편, 스텝 S307에서의 판단이 부정된 경우에는(스텝 S307 : No), CPU(10a)는, 스텝 S309로 이행한다.
스텝 S309에서는, CPU(10a)는, 변환 데이터(CD)를 구성하는 N번째(여기서는 1번째)의 제어 블록(BCN)이, 계측 종료 프로브 블록인지의 여부를 판단한다. 그리고, N번째의 제어 블록(BCN)이, 계측 종료 프로브 블록인 경우에는(스텝 S309 : Yes), 다음의 스텝 S310으로 이행한다.
스텝 S310에서는, CPU(10a)는, 제어 블록(BCN)에 관련되는 소스 코드 패턴(PN)에 의거하여, 계측의 종료 처리를 행하기 위한 프로그램을 생성한다. 여기서, 계측의 종료 처리란, 계측 종료 커맨드에 의해, 경과 시간의 계측을 종료하는 처리이다.
한편, 스텝 S309에서의 판단이 부정된 경우에는(스텝 309 : No), CPU(10a)는, 스텝 S311로 이행한다.
스텝 S311에서는, CPU(10a)는, 제어 블록(BCN)에 관련되는 소스 코드 패턴(PN)에 의거하여, 액세스 처리를 행하기 위한 프로그램을 생성한다. 여기서, 액세스 처리란, 메모리의 소정의 어드레스로부터의 판독, 메모리의 소정의 어드레스에의 기록을 행하는 처리이다.
상술한 스텝 S304, S306, S308, S310, S311에서의 처리가 종료되면, CPU(10a)는, 다음의 스텝 S312로 이행한다.
스텝 S312에서는, CPU(10a)는, 카운터(n)가 임계치보다 작은지의 여부를 판단하다. 또한, 이 임계치는, 변환 데이터(CD)를 구성한 제어 블록의 총수와 등가이고, 여기서는 10이다. 카운터(n)의 값이 임계치보다 작은 경우에는(스텝 S312 : Yes), CPU(10a)는, 스텝 S302로 되돌아와, 이후, 스텝 S312에서의 판단이 부정될 때까지, 스텝 S302 내지 S312까지의 처리를 반복하여 실행한다. 이에 의해, 변환 데이터(CD)를 구성하는 제어 블록(BCN)에 대응한 소스 코드 패턴(PN)으로부터 N개(여기서는 10개)의 프로그램이 생성된다.
한편, 카운터(n)가 임계치 이상이 된 경우에는(스텝 S312 : No), CPU(10a)는, 다음의 스텝 S313로 이행한다.
스텝 S313에서는, CPU(10a)는, N개의 프로그램을 직렬로 정렬시킴과 함께, 전후의 프로그램끼리를 관련짐으로써, 운전 프로그램(105)을 생성한다. 그리고, 스텝 S313에서 운전 프로그램(105)을 생성하면, CPU(10a)는, 서브루틴(300)을 종료하고, 스텝 S211로 이행한다.
스텝 S211에서는, CPU(10a)는, 통신 유닛(10f)을 통하여, 운전 프로그램(105)을 리모트 컨트롤 장치(21)에 출력한다. 리모트 컨트롤 장치(21)에 출력된 운전 프로그램(105)은, 리모트 컨트롤 장치(21)를 구성하는 통신 유닛(21f)을 통하여, 보조기억부(21e)에 출력된다. 이에 의해, 리모트 컨트롤 장치(21)에, 운전 프로그램(105)이 인스톨된다.
CPU(10a)는, 스텝 S211의 처리가 완료되면 운전 프로그램(105)을 생성하기 위한 처리를 종료한다.
다음에, 운전 프로그램(105)이 인스톨된 리모트 컨트롤 장치(21)의 동작에 관해 설명한다.
운전 프로그램(105)이 인스톨되면, 리모트 컨트롤 장치(21)를 구성하는 CPU(21a)는, 보조기억부(21e)로부터 운전 프로그램(105)을 판독하여, 당해 운전 프로그램(105)을 실행한다. 그 때에, CPU(21a)는, 운전 프로그램(105)의 계측 시작 프로브에 의거한 계측 시작 커맨드에 의해, 경과 시간의 계측을 시작하고, 계측 종료 프로브에 의거한 계측 종료 커맨드에 의해, 경과 시간의 계측을 종료한다. 이 동작에 의해, 계측 시작 커맨드가 실행되고 나서, 계측 종료 커맨드가 실행되기 까지의 사이에 실행되는 처리에 필요로 한 시간(소요 시간)이 계측된다. CPU(21a)는, 소요 시간을 계측하면, 당해 계측 결과에 관한 정보를, 통신 유닛(21f)을 통하여, 소프트웨어 생성 장치(10)에 출력한다.
소프트웨어 생성 장치(10)의 CPU(10a)는, 계측 결과에 관한 정보를 수신하면, 이 계측 결과를, 동작 제약 조건 정보(106)와 비교한다. 도 11은, 동작 제약 조건 정보(106)를 모식적으로 도시하는 도면이다. 도 11에 도시되는 바와 같이, 동작 제약 조건 정보(106)는, 계측 시작 프로브를 나타내는 제어 블록의 식별 번호(IDS)와, 계측 종료 프로브를 나타내는 제어 블록 식별 번호(IDE)와, 제한 시간(LM)에 관한 정보로 구성되어 있다.
CPU(10a)는, 이 동작 제약 조건 정보(106)의 식별 번호로부터 계측 시작 커맨드 및 계측 종료 커맨드를 특정하고, 계측 시작 커맨드를 실행하고 나서 계측 종료 커맨드를 실행하기 까지의 제한 시간을 특정한다. 그리고, 리모트 컨트롤 장치(21)로부터 출력된 계측 결과(소요 시간)와 제한 시간을 비교하고, 비교 결과를 표시부(10b)에 표시한다.
도 12 및 도 13은, 표시부(10b)에 표시된 비교 결과를 도시하는 도면이다. 예를 들면, CPU(10a)는, 계측 결과가 제한 시간보다도 짧은 경우에는, 표시부(10b)에 도 12에 도시되는 윈도우(W3)를 표시하고, 리모트 컨트롤 장치(21)에 의한 처리가 제한 시간 내에 행하여진 것을 표시한다. 한편, CPU(10a)는, 계측 결과가 제한 시간보다도 긴 경우에는, 표시부(10b)에 도 13에 도시되는 윈도우(W4)를 표시하고, 리모트 컨트롤 장치(21)에 의한 처리가 제한 시간 내에 행하여지지 않은 것을 표시한다.
이상 설명한 바와 같이, 본 실시 형태에서는, 소스 코드 패턴(P)을 이용한 매칭이 행하여짐에 의해, 운전 프로그램(105)을 생성하기 위한 소스 코드(102)가, 제어 블록(BC)으로 이루어지는 변환 데이터(CD)로 변환된다. 그리고, 이 제어 블록(BC)으로 이루어지는 변환 데이터(CD)가, 제어 블록(BC)에 대응하여 규정된 아이콘(IC)에 의해 시인 가능해진다. 따라서 소프트웨어 생성 장치(10)의 오퍼레이터는, 시각적으로 소스 코드(102)의 내용을 파악할 수 있다.
본 실시 형태에서는, 표시부(10b)에 표시되는 아이콘(IC)을 조작함에 의해, 당해 아이콘에 관련되는 부분의 소스 코드 패턴(P)을 표시하는 윈도우가 팝업한다. 그리고, 이 윈도우에 소스 코드를 추기하거나, 윈도우에 표시된 소스 코드를 삭제함으로써, 소스 코드(102)를 작성하고, 또는 편집할 수 있다. 따라서 소스 코드(102)를 감각적이면서 용이하게 작성할 수 있고, 나아가서는 운전 프로그램(105)을 용이하게 작성하는 것이 가능해진다.
본 실시 형태에서는, 표시부(10b)에 표시되는 아이콘(IC)의 배열에 의해, 소스 코드(102)가 표시된다. 그리고, 이들의 아이콘(IC)의 사이에 소망하는 아이콘(IC)을 삽입하거나, 불필요한 아이콘을 삭제함으로써, 소스 코드(102)를 작성하고, 또는 편집할 수 있다. 따라서 소스 코드(102)를 감각적이면서 용이하게 작성할 수 있고, 나아가서는 운전 프로그램(105)을 용이하게 작성하는 것이 가능해진다.
본 실시 형태에서는, 리모트 컨트롤 장치(21)에서 운전 프로그램(105)을 실행한 때에 필요로 하는 시간이 평가된다. 그리고, 예를 들면 도 12 및 도 13을 참조하면 알 수 있는 바와 같이, 입력 화면에 팝 업한 윈도우에, 평가 결과가 표시된다. 이에 의해, 소프트웨어 생성 장치(10)의 오퍼레이터는, 리모트 컨트롤 장치(21)의 부하 등을 시각적으로 파악할 수가 있다. 따라서 작성한 운전 프로그램(105)을 용이하게 검증할 수 있다.
본 실시 형태에서는, 소스 코드(102)에 대해, 소스 코드 패턴(P)을 매칭시킴에 의해, 변환 데이터(CD)가 작성된다. 이에 의해, 다른 장치에 의해 생성된 소스 코드 패턴으로부터도 변환 데이터(CD)를 생성할 수 있다.
본 실시 형태에서는, 사전 정보를 구성하는 소스 코드 패턴(P)을 이용한 매칭에 의해, 변환 데이터가 생성된다. 따라서 예를 들면 운전 프로그램(105)의 용도에 응한 사전 정보를 이용함으로써, 여러가지의 운전 프로그램(105)을 용이하게 작성하는 것이 가능해진다.
본 실시 형태에서는, 소프트웨어 생성 장치(10)는, LAN, 시리얼 케이블 등의 통신선을 통하여, 리모트 컨트롤 장치(21)에 접속되어 있다. 이 때문에, 운전 프로그램(105)의 검증 등을 용이하게 행할 수 있다.
이상, 본 발명의 실시 형태에 관해 설명하였지만, 본 발명은 상기 실시 형태에 의해 한정되는 것이 아니다. 예를 들면 상기 실시 형태에서는, 도 4를 참조하면 알 수 있는 바와 같이, 소스 코드(102)의 모두가, 사전 정보(101)를 구성하는 소스 코드 패턴(P)으로 치환된 경우에 관해 설명하였다. 그러나, 도 14에 도시되는 바와 같이, 예를 들면 [004]행째부터 [0007]행째까지의 소스 코드로 규정되는 소스 코드 패턴(P)이 존재하지 않는 것도 생각된다. 이 경우에는, CPU(10a)는, [004]행째부터 [0007]행째까지의 소스 코드를 내용으로 하는 제어 블록(BCA)을 새롭게 정의한다. 그리고, 이 제어 블록(BCA)을 포함하는 제어 블록군으로 변환 데이터(CD)를 생성한다. 이에 의해, 소스 코드(102)를 제어 블록으로 이루어지는 변환 데이터(CD)로 변환할 수 있고, 마찬가지로 아이콘(IC)의 배열로서 표시할 수 있다.
본 실시 형태에서는, 리모트 컨트롤 장치(21)가 운전 프로그램(105)을 실행하는데도 필요로 하는 시간을 평가한 결과가, 예를 들면 도 12 및 도 13에 도시되는 윈도우(W3, W4)에서 표시되는 것으로 하였다. 이에 대신하여, 예를 들면, 도 15에 도시되는 바와 같이, 처리마다의 타임 라인을 표시하는 윈도우(W5)를 표시하는 것으로 하여도 좋다. 또한, 윈도우(W5)에, 소정의 처리가 제한 시간 내에 완결되어 있는지의 여부를 나타내는 텍스트를 표시하는 것으로 하여도 좋다. 이에 의해, 타임 라인에 의해, 처리시간을 시각적으로 파악함과 함께, 텍스트에 의한 정보에 의해, 처리시간의 평가 결과를 정확하게 확인할 수 있다.
본 실시 형태에서는, 소프트웨어 생성 장치(10)와 리모트 컨트롤 장치(21) 사이의 통신에 의해, 운전 프로그램(105)이 리모트 컨트롤 장치(21)에 업로드되는 것으로 하였다. 이것으로 한하지 않고, 소프트웨어 생성 장치(10)에 의해 생성된 운전 프로그램(105)를, 예를 들면 CD(Compact Disc)나, USB(Universal Serial Bus) 메모리 등의 기록 매체를 통하여, 리모트 컨트롤 장치(21)에 인스톨하여도 좋다.
본 실시 형태에서는, 소스 코드(102)를 주기억부(10d)에 전개할 때에, 행 번호(NM)를 부가하였지만, 이에 더하여 예를 들면 파일명 등을 부가하는 것으로 하여도 좋다.
본 실시 형태에서는, 소프트웨어 생성 장치(10)를 이용하여, 공조 시스템(20)에 실행되는 운전 프로그램(105)을 생성하는 경우에 관해 설명하였다. 이것으로 한하지 않고, 소프트웨어 생성 장치(10)를 이용함으로써, 조명 장치 등 여러 가지의 설비 기기에 사용되는 운전 프로그램(105)을 생성할 수 있다.
본 실시 형태에서는, 제어 블록이, 구조 블록, 호출 블록, 계측 시작 프로브를 나타내는 제어 블록, 계측 종료 프로브를 나타내는 제어 블록, 및 액세스 블록 중의 어느 하나인 것으로 하였다. 이것으로 한하지 않고, 필요에 응하여, 다른 처리에 응한 소스 코드 패턴과 관련한 제어 블록을 이용하여, 매칭을 행하는 것으로 하여도 좋다.
본 실시 형태에 관한 소프트웨어 생성 장치(10)의 기능은, 전용의 하드웨어에 의해서도 실현할 수 있다.
본 발명은, 본 발명의 광의의 정신과 범위를 일탈하는 일 없이, 다양한 실시 형태 및 변형이 가능하게 된다는 것이다. 또한, 상술한 실시 형태는, 본 발명을 설명하기 위한 것이고, 본 발명의 범위를 한정하는 것이 아니다. 즉, 본 발명의 범위는, 실시 형태가 아니라, 특허청구의 범위에 의해 나타난다. 그리고, 특허청구의 범위 내 및 그것과 동등한 발명의 의의의 범위 내에서 시행되는 다양한 변형이, 본 발명의 범위 내로 간주된다.
본 출원은, 2010년 10월 4일에 출원된, 일본 특허출원2010-225244호에 의거한다. 본 명세서 중에 일본 특허출원2010-225244호의 명세서, 특허청구의 범위, 도면 전체를 참조하여 받아들이는 것으로 한다.
(산업상의 이용 가능성)
본 발명의 소프트웨어 생성 장치, 소프트웨어 생성 방법, 및 프로그램은, 소프트웨어의 생성에 적합하다.
10 : 소프트웨어 생성 장치 10a : CPU
10b : 표시부 10c : 입력부
10d : 주기억부 10e : 보조기억부
10f : 통신 유닛 10g : 시스템 버스
20 : 공조 시스템 21 : 리모트 컨트롤 장치
21a : CPU 21b : 표시부
21c : 입력부 21d : 주기억부
21e : 보조기억부 21f : 통신 유닛
21g : 시스템 버스 22 : 공조 장치
22a : 기억부 22b : 출력 제어 유닛
22c : 통신 유닛 101 : 사전 정보
102 : 소스 코드 103 : 제어 블록 정보
104 : 제어 블록 관련 정보 105 : 운전 프로그램
106 : 동작 제약 조건 정보 BC : 제어 블록
CD : 변환 데이터 CON : 제어 내용 정보
DC : 변환 데이터 IC : 아이콘
ID : 식별 번호 LD : 위치 정보
NM : 행 번호 P : 소스 코드 패턴

Claims (11)

  1. 소프트웨어의 소스 코드의 일부를 구성하는 문자열로 이루어지고, 미리 규정된 복수의 블록을, 상기 소스 코드에 매칭시키는 매칭 수단과,
    상기 소스 코드의 상기 블록이 매칭한 부분을, 매칭한 상기 블록으로 치환함에 의해, 상기 소스 코드를 상기 블록으로 이루어지는 데이터로 변환하는 변환 수단과,
    상기 블록으로 이루어지는 데이터에 의거하여, 상기 소프트웨어를 생성하는 생성 수단을 구비하는 것을 특징으로 하는 소프트웨어 생성 장치.
  2. 제 1항에 있어서,
    상기 블록으로 이루어지는 데이터를, 상기 블록에 대응한 그래픽의 배열로서 표시하는 표시 수단을 구비하는 것을 특징으로 하는 소프트웨어 생성 장치.
  3. 제 2항에 있어서,
    상기 그래픽은 아이콘인 것을 특징으로 하는 소프트웨어 생성 장치.
  4. 제 3항에 있어서,
    상기 그래픽의 배열을 변경하기 위한 인터페이스를 구비하고,
    상기 생성 수단은, 변경된 상기 그래픽의 배열에 대응한 상기 블록의 배열에 의해 규정되는 데이터에 의거하여, 상기 소프트웨어를 생성하는 것을 특징으로 하는 소프트웨어 생성 장치.
  5. 제 1항 내지 제 4항 중 어느 한 항에 있어서,
    상기 표시 수단은,
    상기 소프트웨어를 소정의 기기에 실행시킨 때에, 상기 소프트웨어에 의해 규정되는 특정한 처리가 완료되기까지의 소요 시간과, 미리 설정된 제한 시간을 비교한 결과를 표시하는 것을 특징으로 하는 소프트웨어 생성 장치.
  6. 제 5항에 있어서,
    상기 기기에, 통신 회선을 통하여, 상기 소프트웨어를 업로드하는 통신 수단을 구비하는 것을 특징으로 하는 소프트웨어 생성 장치.
  7. 제 1항 내지 제 6항 중 어느 한 항에 있어서,
    상기 블록과, 상기 소스 코드의 일부를 구성하는 문자열과의 대응을 나타내는 사전 데이터를 기억하는 기억 수단을 구비하고,
    상기 매칭 수단은, 상기 사전 데이터에 의거하여, 상기 블록을 상기 소스 코드에 매칭시키는 것을 특징으로 하는 소프트웨어 생성 장치.
  8. 소프트웨어의 소스 코드의 일부를 구성하는 문자열로 이루어지고, 미리 규정된 복수의 블록을, 상기 소스 코드에 매칭시키는 공정과,
    상기 소스 코드의 상기 블록이 매칭한 부분을, 매칭한 상기 블록으로 치환함에 의해, 상기 소스 코드를 상기 블록으로 이루어지는 데이터로 변환하는 공정과,
    상기 블록으로 이루어지는 데이터에 의거하여, 상기 소프트웨어를 생성하는 공정을 구비하는 것을 특징으로 하는 소프트웨어 생성 방법.
  9. 제 8항에 있어서,
    상기 데이터를, 상기 블록에 대응한 그래픽의 배열로서 표시하는 공정을 포함하는 것을 특징으로 하는 소프트웨어 생성 방법.
  10. 컴퓨터에,
    소프트웨어의 소스 코드의 일부를 구성하는 문자열로 이루어지고, 미리 규정된 복수의 블록을, 상기 소스 코드에 매칭시키는 순서와,
    상기 소스 코드의 상기 블록이 매칭한 부분을, 매칭한 상기 블록으로 치환함에 의해, 상기 소스 코드를 상기 블록으로 이루어지는 데이터로 변환하는 순서와,
    상기 블록으로 이루어지는 데이터에 의거하여, 상기 소프트웨어를 생성하는 순서를 실행시키는 것을 특징으로 하는 프로그램.
  11. 제 10항에 있어서,
    상기 데이터를, 상기 블록에 대응한 그래픽의 배열로서 표시하는 순서를 더 실행시키는 것을 특징으로 하는 프로그램.
KR1020137008706A 2010-10-04 2011-01-26 소프트웨어 생성 장치, 소프트웨어 생성 방법 및 프로그램 기억매체 KR101565666B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2010225244 2010-10-04
JPJP-P-2010-225244 2010-10-04
PCT/JP2011/051526 WO2012046460A1 (ja) 2010-10-04 2011-01-26 ソフトウエア生成装置、ソフトウエア生成方法及びプログラム

Publications (2)

Publication Number Publication Date
KR20130065706A true KR20130065706A (ko) 2013-06-19
KR101565666B1 KR101565666B1 (ko) 2015-11-03

Family

ID=45927462

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020137008706A KR101565666B1 (ko) 2010-10-04 2011-01-26 소프트웨어 생성 장치, 소프트웨어 생성 방법 및 프로그램 기억매체

Country Status (6)

Country Link
US (1) US20130185695A1 (ko)
EP (1) EP2626783A4 (ko)
JP (1) JPWO2012046460A1 (ko)
KR (1) KR101565666B1 (ko)
CN (1) CN103154886A (ko)
WO (1) WO2012046460A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015178605A1 (ko) * 2014-05-22 2015-11-26 황수진 소프트웨어 코드의 시각적 구현 방법 및 장치
KR20190079294A (ko) * 2017-12-27 2019-07-05 슈어소프트테크주식회사 소스코드 표시장치, 소스코드 표시방법 및 이를 실행하기 위한 프로그램을 기록한 컴퓨터로 판독가능한 기록매체

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016206962A (ja) * 2015-04-23 2016-12-08 株式会社明電舎 ソフトウェア開発支援システム、ソフトウェア開発支援方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BE758981A (fr) * 1969-11-14 1971-05-17 Westinghouse Electric Corp Systeme de controle des erreurs de fonctionnement d'un processus industriel
JPS6379176A (ja) * 1986-09-24 1988-04-09 Central Res Inst Of Electric Power Ind デイスプレイ上の設計画面より入力した設計仕様から部品を組合せてプログラムを自動生成する方法
JP2765969B2 (ja) * 1989-07-31 1998-06-18 株式会社日立製作所 図式データ駆動型プログラム開発支援装置
US6480891B1 (en) * 1999-01-04 2002-11-12 3Com Corporation Embedded code memory size reduction in asynchronous mode transfer devices
JP2003058370A (ja) * 2001-08-10 2003-02-28 Alpha:Kk ソースコード生成システム
EP1552385B1 (en) * 2002-06-12 2008-10-15 Telelogic North America Inc. Providing dynamic model-code associativity
JP2005004411A (ja) * 2003-06-11 2005-01-06 Hitachi Ltd システム開発方法、および、システム開発支援プログラム
ES2687433T3 (es) * 2005-02-03 2018-10-25 Mitsubishi Denki Kabushiki Kaisha Dispositivo y método de soporte de la generación de código de programa, dispositivo y método de ejecución del programa, dispositivo y método de compresión del código de programa, programa para el mismo
US7954059B2 (en) * 2006-07-24 2011-05-31 National Instruments Corporation Automatic conversion of text-based code having function overloading and dynamic types into a graphical program for compiled execution
JP4971096B2 (ja) * 2007-10-12 2012-07-11 株式会社野村総合研究所 コーディング支援装置
US20100138811A1 (en) * 2008-12-02 2010-06-03 Qualcomm Incorporated Dynamic Performance Profiling
JP2010176557A (ja) * 2009-01-30 2010-08-12 Casio Computer Co Ltd アプリケーションソフトウェア生成装置、プログラム及びアプリケーションソフトウェア生成システム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015178605A1 (ko) * 2014-05-22 2015-11-26 황수진 소프트웨어 코드의 시각적 구현 방법 및 장치
KR20150134713A (ko) * 2014-05-22 2015-12-02 황수진 소프트웨어 코드의 시각적 구현 방법 및 장치
US9904524B2 (en) 2014-05-22 2018-02-27 Soo-Jin Hwang Method and device for visually implementing software code
KR20190079294A (ko) * 2017-12-27 2019-07-05 슈어소프트테크주식회사 소스코드 표시장치, 소스코드 표시방법 및 이를 실행하기 위한 프로그램을 기록한 컴퓨터로 판독가능한 기록매체

Also Published As

Publication number Publication date
KR101565666B1 (ko) 2015-11-03
EP2626783A1 (en) 2013-08-14
JPWO2012046460A1 (ja) 2014-02-24
US20130185695A1 (en) 2013-07-18
CN103154886A (zh) 2013-06-12
WO2012046460A1 (ja) 2012-04-12
EP2626783A4 (en) 2015-10-28

Similar Documents

Publication Publication Date Title
US9602301B2 (en) System and method for commissioning wireless building system devices
CN106716274B (zh) 配置通用自动化系统控制器
US9176490B2 (en) Control program generation device, control program generation program, and control program generation method
US8321183B2 (en) Multi-variable control-based optimization to achieve target goal
CN109840206B (zh) 数据测试方法、装置、终端及存储介质
JP6454949B2 (ja) 情報作成方法、記録媒体、情報作成装置、情報作成システム
WO2014196098A1 (ja) レイアウト生成システム、エネルギーマネジメントシステム、端末装置、レイアウト作成方法、および、プログラム
JP5649590B2 (ja) 空気調和システムの管理装置
JP5005010B2 (ja) 設備制御装置
JP2009003788A (ja) 設定支援装置、設定支援方法、設定支援プログラム、及び設備制御システム
US20130231786A1 (en) Engineering device and point information generating method
KR101565666B1 (ko) 소프트웨어 생성 장치, 소프트웨어 생성 방법 및 프로그램 기억매체
US11934163B2 (en) Method and system for retrieving building automation system controller information using near field communication
CN103443721B (zh) Plc设计装置
JPH07311606A (ja) プログラマブルコントローラのプログラミング機器およびプログラマブルコントローラ用機能ユニット
JP2016059989A (ja) ロボット制御装置、ロボット装置、ロボット制御方法、プログラム及び記録媒体
KR101670471B1 (ko) 빌딩 시뮬레이션을 제공하기 위한 방법 및 장치
JPWO2020053928A1 (ja) 空気調和システムおよび空気調和システムのプログラム更新方法
JP7110878B2 (ja) 空気調和機用コントローラ
JP4699957B2 (ja) 換気設備プラン作成システム
JP2005092808A (ja) ラダープログラムマクロ作成装置、ラダープログラムマクロ作成方法、ラダープログラムマクロ作成プログラムおよびコンピュータで読み取り可能な記録媒体
US20080243589A1 (en) Questionnaire-driven system configuration
US20210318343A1 (en) Validation device, validation method and validation program
US20160217232A1 (en) Interactive user interface driven by a simulation engine and knowledge repository and a method of using the same
JP7208441B1 (ja) Fa制御テスト支援プログラム、fa制御テスト支援装置、fa制御テスト支援方法及びfa制御テスト支援システム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20181023

Year of fee payment: 4