KR101766776B1 - Gui 모듈과 실행 엔진이 분리된 운영체제 독립적인 클라우드 수치해석 시스템 및 이의 실행 방법 - Google Patents

Gui 모듈과 실행 엔진이 분리된 운영체제 독립적인 클라우드 수치해석 시스템 및 이의 실행 방법 Download PDF

Info

Publication number
KR101766776B1
KR101766776B1 KR1020160036388A KR20160036388A KR101766776B1 KR 101766776 B1 KR101766776 B1 KR 101766776B1 KR 1020160036388 A KR1020160036388 A KR 1020160036388A KR 20160036388 A KR20160036388 A KR 20160036388A KR 101766776 B1 KR101766776 B1 KR 101766776B1
Authority
KR
South Korea
Prior art keywords
numerical analysis
unit
user interface
module
operating system
Prior art date
Application number
KR1020160036388A
Other languages
English (en)
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 KR1020160036388A priority Critical patent/KR101766776B1/ko
Application granted granted Critical
Publication of KR101766776B1 publication Critical patent/KR101766776B1/ko

Links

Images

Classifications

    • 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
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • 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
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/42Syntactic analysis
    • G06F8/427Parsing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명은 GUI 모듈과 실행 엔진이 분리된 운영체제 독립적인 클라우드 수치해석 시스템 및 이의 실행 방법에 관한 것으로서, 보다 구체적으로는, 미리 설정된 어플리케이션 툴을 위한 코드를 생성하는 코드 생성부(1210)와, 클라이언트 및 프록시 미들웨어와 인터페이스하는 파싱부(1220)와, 상기 어플리케이션 툴에 관련된 구문을 분석하는 렉싱부(1230)를 포함하는 GUI 모듈(100); 및 상기 GUI 모듈(100)과 논리적으로 분리되어, 미리 설정된 수치해석 계산을 처리하기 위한 수치해석 실행 모듈(600)을 포함하되, 상기 GUI 모듈(100)은, 상기 클라이언트로부터 제공된 명령어를, 상기 프록시 미들웨어(400)를 통하여 클라우드 상에서 연결되는 세션 서버(510) 및 인증 서버(520) 중 적어도 하나에 의해 인증받아 상기 어플리케이션 툴에 대하여 파싱하고, 상기 어플리케이션 툴에 의해 계산된 결과를 전달받으며, 상기 어플리케이션 툴은, 상기 수치해석 실행 모듈(600)을 포함하는 것을 그 구성상의 특징으로 한다.
본 발명에서 제안하고 있는 GUI 모듈과 실행 엔진이 분리된 운영체제 독립적인 클라우드 수치해석 시스템 및 이의 실행 방법에 따르면, 운영체제 독립적인 클라우드 수치해석 시스템이, 미리 설정된 어플리케이션 툴을 위한 코드를 생성하는 코드 생성부와, 클라이언트 및 프록시 미들웨어에 인터페이스하는 파싱부와, 어플리케이션 툴에 관련된 구문을 분석하는 렉싱부를 포함하는 GUI 모듈, 및 GUI 모듈과 논리적으로 분리되어 미리 설정된 수치해석 계산을 처리하기 위한 수치해석 실행 모듈을 포함하되, GUI 모듈은, 클라이언트로부터 제공된 명령어를, 프록시 미들웨어를 통하여 클라우드 상에서 연결되는 세션 서버 및 인증 서버 중 적어도 하나에 의해 인증받아 어플리케이션 툴에 대하여 파싱하고 어플리케이션 툴에 의해 계산된 결과를 전달받으며, 이러한 어플리케이션 툴은 수치해석 실행 모듈을 포함함으로써, 수치해석 시스템이 다양한 운영 체제 상에서 실행되어 멀티 플랫폼을 지원하면서도 GUI 모듈과 수치해석 실행 엔진이 분리되어 사용자 클라이언트에 따라 유연한 사용자 인터페이스를 제공할 수 있다.

Description

GUI 모듈과 실행 엔진이 분리된 운영체제 독립적인 클라우드 수치해석 시스템 및 이의 실행 방법{OS-INDEPENDENT CLOUD NUMERICAL ANALYSIS SYSTEM WITH EXECUTION ENGINE SEPARATED FROM GRAPHICAL USER INTERFACE EXECUTING METHOD OF THE SAME}
본 발명은 수치해석 시스템 및 이의 실행 방법에 관한 것으로서, 보다 구체적으로는 GUI 모듈과 실행 엔진이 분리된 운영체제 독립적인 클라우드 수치해석 시스템 및 이의 실행 방법에 관한 것이다.
컴퓨터 기술의 발달로, 복잡한 공학적, 과학적 시스템을 분석하기 위한 도구들이 크게 발전하고 있다. 예를 들어, 공학적, 과학적으로 분석 가치가 있는 다양한 복잡계에 대한 수치 해석이나, 자동 제어, 기계 진동, 신호 처리, 전자통신, 회로 해석 등의 분야에서 수학적 지식을 응용하기 위한 다양한 소프트웨어 툴이 개발되고 있다.
한편, 최근에는 다양한 웹 브라우저 및 운영 체제들이 개발되어 사용자 편의를 증대시키고 있다. 예를 들어, 웹 브라우저의 경우, 마이크로소프트 社의 인터넷 익스플로러, 모질라 재단의 파이어폭스, 구글 社의 크롬 등이 널리 사용되고 있다. 또한, 운영 체제의 경우, 스마트폰의 폭발적인 보급에 따라, 안드로이드, 아이오에스 등의 운영 체제들이 사용되고 있으며, 개인용 컴퓨터의 경우, 리눅스, 윈도우즈 등의 운영 체제들이 사용되고 있다.
그럼에도 불구하고, 우리나라에서는 개인용 컴퓨터의 대다수가 윈도우즈 운영 체제를 채택하여 사용되어 왔기 때문에, 대부분의 공학용, 과학용 분석 도구들이 윈도우즈 운영 체제를 기반으로 적용되어 개발되어왔다.
이에 따라, 점차 사용이 증가하고 있는 다양한 운영 체제에서도 공학용, 과학용 분석 도구를 활용하기 위한 니즈를 만족시키는 기술은 아직 개시되지 않은 문제가 있다. 또한, 클라우드 기반으로 다양한 운영 체제의 사용자 단말기에 공학용, 과학용 분석 도구를 제공하는 기술은 여전히 개시되지 않은 한계가 있다.
본 발명은 기존에 제안된 방법들의 상기와 같은 문제점들을 해결하기 위해 제안된 것으로서, 운영체제 독립적인 클라우드 수치해석 시스템이, 미리 설정된 어플리케이션 툴을 위한 코드를 생성하는 코드 생성부와, 클라이언트 및 프록시 미들웨어에 인터페이스하는 파싱부와, 어플리케이션 툴에 관련된 구문을 분석하는 렉싱부를 포함하는 GUI 모듈, 및 GUI 모듈과 논리적으로 분리되어 미리 설정된 수치해석 계산을 처리하기 위한 수치해석 실행 모듈을 포함하되, GUI 모듈은, 클라이언트로부터 제공된 명령어를, 프록시 미들웨어를 통하여 클라우드 상에서 연결되는 세션 서버 및 인증 서버 중 적어도 하나에 의해 인증받아 어플리케이션 툴에 대하여 파싱하고 어플리케이션 툴에 의해 계산된 결과를 전달받으며, 이러한 어플리케이션 툴은 수치해석 실행 모듈을 포함함으로써, 수치해석 시스템이 다양한 운영 체제 상에서 실행되어 멀티 플랫폼을 지원하면서도 GUI 모듈과 수치해석 실행 엔진이 분리되어 사용자 클라이언트에 따라 유연한 사용자 인터페이스를 제공할 수 있는, GUI 모듈과 실행 엔진이 분리된 운영체제 독립적인 클라우드 수치해석 시스템 및 이의 실행 방법을 제공하는 것을 그 목적으로 한다.
상기한 목적들을 달성하기 위한 본 발명의 특징에 따른 GUI 모듈과 실행 엔진이 분리된 운영체제 독립적인 클라우드 수치해석 시스템은,
미리 설정된 어플리케이션 툴을 위한 코드를 생성하는 코드 생성부와, 클라이언트 및 프록시 미들웨어와 인터페이스하는 파싱부와, 상기 어플리케이션 툴에 관련된 구문을 분석하는 렉싱부를 포함하는 GUI 모듈; 및
상기 GUI 모듈과 논리적으로 분리되어, 미리 설정된 수치해석 계산을 처리하기 위한 수치해석 실행 모듈을 포함하되,
상기 GUI 모듈은,
상기 클라이언트로부터 제공된 명령어를, 상기 프록시 미들웨어를 통하여 클라우드 상에서 연결되는 세션 서버 및 인증 서버 중 적어도 하나에 의해 인증받아 상기 어플리케이션 툴에 대하여 파싱하고, 상기 어플리케이션 툴에 의해 계산된 결과를 전달받으며,
상기 어플리케이션 툴은,
상기 수치해석 실행 모듈을 포함하는 것을 그 구성상의 특징으로 한다.
바람직하게는, 상기 GUI 모듈은,
상기 클라이언트로부터 상기 명령어를 제공받아, 상기 명령어에 대한 요청을 인증하고, 표준 라이브러리를 포함한 모델링 라이브러리를 통해 어셈블링하여, 상기 프록시 미들웨어에 제공하는 모델부; 및
상기 프록시 미들웨어로부터 응답을 제공받아, 운영체제 독립적인 공통 모니터 유저 인터페이스부 및 운영체제 종속적인 복수의 모니터 유저 인터페이스부를 통해 어셈블링하여, 상기 클라이언트에 맞추어 상기 응답을 전달하는 모니터부를 포함하여 구성될 수 있다.
더욱 바람직하게는, 상기 운영체제 종속적인 복수의 모니터 유저 인터페이스부는,
윈도우즈 모니터 유저 인터페이스부, 리눅스 모니터 유저 인터페이스부, 안드로이드 모니터 유저 인터페이스부 및 아이오에스 모니터 유저 인터페이스부를 포함하는 군에서 선택된 적어도 하나의 모니터 유저 인터페이스부를 포함하여 구성될 수 있다.
더욱 바람직하게는,
상기 모델부는 제1 JSON 파서를 통해 상기 클라이언트로부터 상기 명령어를 제공받고,
상기 모니터부는 제2 JSON 파서를 통해 상기 프록시 미들웨어로부터 상기 응답을 제공받도록 구성될 수 있다.
바람직하게는, 상기 모니터부는,
공통 CSS부, 공통 HTML 테일, 공통 HTML 바디, 공통 HTML 헤더 및 JSON 인터페이스 매니저의 스택 구조를 포함하여 구성될 수 있다.
바람직하게는, 상기 프록시 미들웨어는,
상기 클라이언트에서 제공되는 사용자의 아이디 및 세션 아이디에 기초하여 상기 명령어를 상기 수치해석 실행 모듈에 파싱하여 상기 명령어의 실행을 요청하고, 상기 수치해석 실행 모듈의 결과를 수신하도록 구성될 수 있다.
바람직하게는,
상기 클라이언트로부터 상기 GUI 모듈에 제공된 명령어는, 복사, 붙여넣기, 드래그, 드롭, 파일 저장 및 웹 스토리지 공간에 저장을 포함하는 군에서 선택된 적어도 하나를 포함하도록 구성될 수 있다.
본 발명에서 제안하고 있는 GUI 모듈과 실행 엔진이 분리된 운영체제 독립적인 클라우드 수치해석 시스템 및 이의 실행 방법에 따르면, 운영체제 독립적인 클라우드 수치해석 시스템이, 미리 설정된 어플리케이션 툴을 위한 코드를 생성하는 코드 생성부와, 클라이언트 및 프록시 미들웨어에 인터페이스하는 파싱부와, 어플리케이션 툴에 관련된 구문을 분석하는 렉싱부를 포함하는 GUI 모듈, 및 GUI 모듈과 논리적으로 분리되어 미리 설정된 수치해석 계산을 처리하기 위한 수치해석 실행 모듈을 포함하되, GUI 모듈은, 클라이언트로부터 제공된 명령어를, 프록시 미들웨어를 통하여 클라우드 상에서 연결되는 세션 서버 및 인증 서버 중 적어도 하나에 의해 인증받아 어플리케이션 툴에 대하여 파싱하고 어플리케이션 툴에 의해 계산된 결과를 전달받으며, 이러한 어플리케이션 툴은 수치해석 실행 모듈을 포함함으로써, 수치해석 시스템이 다양한 운영 체제 상에서 실행되어 멀티 플랫폼을 지원하면서도 GUI 모듈과 수치해석 실행 엔진이 분리되어 사용자 클라이언트에 따라 유연한 사용자 인터페이스를 제공할 수 있다.
도 1은 본 발명의 일실시예에 따른 GUI 모듈과 실행 엔진이 분리된 운영체제 독립적인 클라우드 수치해석 시스템의 구성을 블록 도시한 도면.
도 2는 본 발명의 일실시예에 따른 GUI 모듈과 실행 엔진이 분리된 운영체제 독립적인 클라우드 수치해석 시스템의 GUI 모듈 및 프록시 미들웨어의 구성을 도시한 도면.
도 3은 본 발명의 일실시예에 따른 GUI 모듈과 실행 엔진이 분리된 운영체제 독립적인 클라우드 수치해석 시스템의 사용자 명령어 처리 흐름을 도시한 도면.
도 4는 본 발명의 일실시예에 따른 GUI 모듈과 실행 엔진이 분리된 운영체제 독립적인 클라우드 수치해석 시스템의 모니터부의 스택 구성을 도시한 도면.
이하에서는 첨부된 도면을 참조하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 바람직한 실시예를 상세히 설명한다. 다만, 본 발명의 바람직한 실시예를 상세하게 설명함에 있어, 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다. 또한, 유사한 기능 및 작용을 하는 부분에 대해서는 도면 전체에 걸쳐 동일 또는 유사한 부호를 사용한다.
덧붙여, 명세서 전체에서, 어떤 부분이 다른 부분과 ‘연결’되어 있다고 할 때, 이는 ‘직접적으로 연결’되어 있는 경우뿐만 아니라, 그 중간에 다른 소자를 사이에 두고 ‘간접적으로 연결’되어 있는 경우도 포함한다. 또한, 어떤 구성요소를 ‘포함’한다는 것은, 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있다는 것을 의미한다.
도 1은 본 발명의 일실시예에 따른 GUI 모듈과 실행 엔진이 분리된 운영체제 독립적인 클라우드 수치해석 시스템의 구성을 블록 도시한 도면이다. 도 1에 도시된 바와 같이, 종래의 수치해석 시스템(900)은, Windows 운영 체제에서만 동작하는 MFC 라이브러리를 사용하도록 구성되었다. 즉, 종래의 MFC 라이브러리 기반 실행 엔진(900)은 컴파일러(910)에 대해 다수의 라이브러리들이 연결되었는데, 예를 들어, MFC 함수(931), AddEndCode(932), EndingCodeGnt(933), exprlisTOvarC(934), exprlisTOvarM (935), CodegenM(936) 등이 컴파일러(910)에 연결되도록 구성되었다. 이에 반해, 본 발명의 일실시예에 따른 GUI 모듈과 실행 엔진이 분리된 운영체제 독립적인 클라우드 수치해석 시스템은, Windows 운영 체제에서만 동작하는 MFC 라이브러리를 사용하는 실행 엔진 부분이 예컨대, Linux나 다른 운영 체제 상에서도 사용될 수 있도록 STL C++로 변경될 수 있다. 또한, Cstring이 표준 라이브러리인 std::string으로 변경 및 대체될 수 있으며, MFC Extended DLL이 Win32 DLL로 변환되어, MFC 종속적인 프로그램에서 벗어날 수 있도록 구성될 수 있다. 즉, 운영 체제 독립적인 C++ 라이브러리 프레임워크를 구축하고, 일부 전역 변수 및 함수들을 포함한 기존의 독립적인 함수 및 변수들을 C++ 라이브러리 프레임워크의 형태로 리팩토링(Re-Factoring)할 수 있는데, 이를 통해 객체화 및 추상화 개념을 도입한 라이브러리 프레임워크 형태로 발전시킬 수 있다.
구체적으로, 본 발명의 일실시예에 따른 GUI 모듈과 실행 엔진이 분리된 운영체제 독립적인 클라우드 수치해석 시스템(1000)은, 공학 엔진 프레임워크(1100)에 대해, 컴파일러(1200) 및 실행부(1300)가 연결될 수 있다. 컴파일러(1200) 이하 요소들은 후술할 GUI 모듈(100)에서 구현될 수 있으며, 실행부(1330) 이하 요소들은 후술할 수치해석 실행 모듈(600)에서 구현될 수 있다.
컴파일러(1200)에는, 미리 설정된 어플리케이션 툴을 위한 코드를 생성하는 코드 생성부(1210)와, 클라이언트 및 프록시 미들웨어와 인터페이스하는 파싱부(1220)와, 어플리케이션 툴에 관련된 구문을 분석하는 렉싱부(1230)가 연결될 수 있다. 예를 들어, 코드 생성부(1210)에는 본 발명자들이 개발한 CemTool을 위한 CemCodeGenerator(1211), McodeGenerator(1212) 등이 포함될 수 있다. 비슷하게, 렉싱부(1230)에는 Cem Lexer(1231), M Lexer(1232) 등이 포함될 수 있다. 한편, 실행부(1300)에는 예를 들어, 할당부(1311)를 포함하는 PE(1310)와, PM(1320), 디버거(1330) 등이 포함될 수 있다.
도 2는 본 발명의 일실시예에 따른 GUI 모듈과 실행 엔진이 분리된 운영체제 독립적인 클라우드 수치해석 시스템의 GUI 모듈 및 프록시 미들웨어의 구성을 도시한 도면이다. 도 2에 도시된 바와 같이, GUI 모듈(100)은 모델부(200) 및 모니터부(300)를 포함하여 구성될 수 있다. 모델부(200)는 클라이언트(사용자 단말)로부터 명령어를 제공받아, 명령어에 대한 요청을 인증(220)하고, 표준 라이브러리를 포함한 모델링 라이브러리(230)를 통해 어셈블링(240)하여, 프록시 미들웨어(400)에 제공(410)하도록 구성될 수 있다. 모니터부(300)는 프록시 미들웨어(400)로부터 응답을 제공받아(420), 운영체제 독립적인 공통 모니터 유저 인터페이스부(330) 및 운영체제 종속적인 복수의 모니터 유저 인터페이스부(340)를 통해 어셈블링(320)하여, 클라이언트에 맞추어 응답을 전달하도록 구성될 수 있다.
이때, 모델부(200)는 제1 JSON 파서(210)를 통해 클라이언트로부터 명령어를 제공받도록 구성될 수 있다. 비슷하게, 모니터부(300)는 제2 JSON 파서(310)를 통해 프록시 미들웨어(400)로부터 응답을 제공받도록 구성될 수 있다. 클라이언트로부터 GUI 모듈(100)에 제공된 명령어에는, 예를 들어, 복사(copy), 붙여넣기(paste), 드래그(drag), 드롭(drop), 파일 저장(local file) 및 웹 스토리지(web storage) 공간에 저장 등이 포함될 수 있다.
한편, 운영체제 종속적인 복수의 모니터 유저 인터페이스부(340)는, Windows 모니터 유저 인터페이스부(341), Linux 모니터 유저 인터페이스부(344), Android 모니터 유저 인터페이스부(342) 및 iOS 모니터 유저 인터페이스부(343) 등과 같이, 다양한 운영 체제를 위한 사용자 인터페이스 모듈을 포함할 수 있다. 이러한 운영 체제 독립적/종속적 모니터 유저 인터페이스(330, 340)는 CSS 기반으로 구성될 수 있다.
도 3은 본 발명의 일실시예에 따른 GUI 모듈과 실행 엔진이 분리된 운영체제 독립적인 클라우드 수치해석 시스템의 사용자 명령어 처리 흐름을 도시한 도면이다. 도 3에 도시된 바와 같이, 본 발명의 일실시예에 따른 GUI 모듈과 실행 엔진이 분리된 운영체제 독립적인 클라우드 수치해석 시스템의 사용자 명령어 처리 흐름은, 클라이언트로부터 입력받은 명령문을 GUI 모듈(100)이 받아들여, 클라우드 환경에서 세션(session) 및 권한 관리를 통과하면, 명령문을 파싱(parsing)하고 실행 엔진에서 이를 실행하여 그 결과를 전달하는 흐름을 가질 수 있다.
보다 구체적으로, 먼저, GUI 모듈(100)로부터 클라이언트의 명령어가 요청(S10)될 수 있다. 이때, 프록시 미들웨어(400)는, 사용자 ID가 비어있는지 판단(S20)하여, 사용자 ID가 빈 경우 유일한 게스트 ID를 생성(S21)하도록 구성될 수 있다. 이후, 프록시 미들웨어(400)는, 세션 ID가 비어있는지 판단(S22)하여, 세션 ID가 빈 경우 유일한 세션 ID를 생성(S23)하도록 구성될 수 있다. 만일 세션 ID가 비어있지 않은 경우에는 마지막 세션 정보를 얻어와서(S24) 세션 ID가 만료되었는지 판단(S25)할 수 있다. 세션 ID가 만료된 경우, 다시 유일한 세션 ID를 생성(S23)하며, 생성된 세션 ID는 세션 데이터베이스에 삽입(S26)되도록 구성될 수 있다. 또한, 세션 ID가 만료되지 않은 경우에는 세션 데이터베이스를 갱신(S27)하도록 구성될 수 있다.
사용자 ID 및 세션 ID에 대한 검증은, 클라우드 환경에 연결되는 세션 서버(510) 및 인증 서버(520) 중 적어도 어느 하나에 의해 수행될 수 있다. 예를 들어, 세션 ID의 만료 여부를 판단(S25)하는 경우, 프록시 미들웨어(400)와 세션 서버(510) 및 인증 서버(520) 간의 통신에 의해 세션 인증이 수행될 수 있다.
이와 같이 사용자 ID 및 세션 ID에 대한 인증이 완료된 경우, GUI 모듈(100)로부터 제공받은 클라이언트 명령어를 요청(S28)하여 명령어 요청을 어플리케이션 툴에 포함된 수치해석 모듈(600)에 대해 파싱(S29)할 수 있다. 이때, 클라이언트로부터 제공된 명령어가 복수인 경우, 모든 명령어가 수치해석 모듈(600)에 대해 파싱되도록 구성될 수 있다.
모든 명령어가 파싱된 경우, 프록시 미들웨어(400)는 명령어 요청에 대한 사용 권한이 있는지 여부를 판단(S30)하여, 사용 권한이 있는 명령어의 요청인 경우, 명령어 요청(S31)을 통해 수치해석 모듈(600)로 하여금 명령어를 실행(S51)하게 할 수 있다. 수치해석 모듈(600)에서 실행된 명령어의 실행 결과는, 프록시 미들웨어(400)가 수신(S32)하여 저장(S34)하며, 다시 이를 전달 및 수신(S35, S36)하는 과정을 통해 최종적으로 GUI 모듈(100)에 제공(S37)될 수 있다. 반면, 사용 권한이 없는 명령어 요청이 포함되는 경우에는, 프록시 미들웨어(400) 자체에서, 에러 메시지(S33)를 생성하여 저장(S34)하고, 앞의 과정과 비슷하게, 최종적으로 GUI 모듈(100)에도 제공(S37)할 수 있다.
이와 같이, 본 발명의 일실시예에 따른 GUI 모듈과 실행 엔진이 분리된 운영체제 독립적인 클라우드 수치해석 시스템에서는, GUI 모듈(100)과 수치해석 실행 모듈(600)이 논리적으로 분리되면서, 수치해석 계산의 처리는 수치해석 실행 모듈(600)에서 수행되도록 구성될 수 있다. 이때, GUI 모듈(100)은, 클라이언트로부터 제공된 명령어를, 프록시 미들웨어(400)를 통하여 클라우드 상에서 연결되는 세션 서버(510) 및 인증 서버(520) 중 적어도 하나에 의해 인증받아 수치해석 실행 모듈(600)에 대하여 파싱하고, 수치해석 실행 모듈(600)에 의해 계산된 결과를 전달받도록 구성될 수 있다. 이 경우, 프록시 미들웨어(400)는, 클라이언트에서 제공되는 사용자의 아이디 및 세션 아이디에 기초하여 명령어를 수치해석 실행 모듈(600)에 파싱하여 명령어의 실행을 요청하고, 수치해석 실행 모듈(600)의 결과를 수신하도록 구성될 수 있다.
도 4는 본 발명의 일실시예에 따른 GUI 모듈과 실행 엔진이 분리된 운영체제 독립적인 클라우드 수치해석 시스템의 모니터부의 스택 구성을 도시한 도면이다. 도 4에 도시된 바와 같이, 본 발명의 일실시예에 따른 GUI 모듈과 실행 엔진이 분리된 운영체제 독립적인 클라우드 수치해석 시스템의 모니터부(300)는, 공통 CSS부(331), 공통 HTML 테일(332), 공통 HTML 바디(333), 공통 HTML 헤더(334) 및 JSON 인터페이스 매니저(336)의 스택 구조를 포함하도록 구성될 수 있다. 이 경우, 공통 HTML 헤더(334) 및 JSON 인터페이스 매니저(336) 사이에는 로그인 CSS(335a), 로그인 HTML 생성기(335b), 명령어 CSS(335c), 명령어 HTML 생성기(335d), 로그아웃 CSS(335e), 로그아웃 HTML 생성기(335f) 등이 더 포함될 수 있다.
이와 같은 스택 구성을 통해, 운영 체제 인식 및 화면 크기 정보를 전달받아 유연하게 화면 디자인이 가능하도록 동일한 콘텐츠를 멀티 뷰 형식으로 표현할 수 있으며, 운영 체제와 화면 크기가 다른, 다양한 멀티 플랫폼에서도 동일한 서비스를 제공할 수 있다.
이상 설명한 본 발명은 본 발명이 속한 기술분야에서 통상의 지식을 가진 자에 의하여 다양한 변형이나 응용이 가능하며, 본 발명에 따른 기술적 사상의 범위는 아래의 특허청구범위에 의하여 정해져야 할 것이다.
100: GUI 모듈 200: 모델부
210: 제1 JSON Parser 220: Request Validator
230: Modeling Library 231: Standard Library
232: User Defined Functions 240: Modeling Assembler
300: 모니터부 310: 제2 JSON Parser
320: Monitor Assembler
330: OS Independent Common Monitor UI CSS3
331: Common CSS 332: Common HTML Tail
333: Common HTML Body 334: Common HTML Header
335a: Login CSS 335b: Login HTML Generator
335c: Command CSS 335d: Command HTML Generator
335e: Logout CSS 335f: Logout HTML Generator
336: JSON Interface Manager
340: OS Dependent Common Monitor UI CSS3
341: Windows Monitor UI CSS3 342: Android Monitor UI CSS3
343: iOS Monitor UI CSS3 344: Linux Monitor UI CSS3
350: 맞춤형 Monitor 400: Proxy 미들웨어
410: Request Parser 420: Reponse Parser
510: Sesson Server 520: Authority Server
600: 수치해석 실행 모듈
900: MFC 라이브러리 기반 실행 엔진
910: Compiler 931: MFC Function
932: AddEndCode 933: EndingCodeGnt
934: exprlisTOvarC 935: exprlisTOvarM
936: CodegenM
1000: 운영 체제 독립적 수치해석 시스템
1100: 공학 Engine Framework 1200: Compiler
1210: CodeGenerator 1211: CemCodeGenerator
1212: MCodeGenerator 1220: Parser
1230: Lexer 1231: CemLexer
1232: MLexer 1300: Executer
1310: PE 1311: Assigner
1320: PM 1330: Debugger
S10: Command 요청 S20: User ID Empty 판단
S21: Unique guest ID 생성 S22: Session ID Empty 판단
S23: Unique Session ID 생성 S24: Get Last Session Info
S25: Session ID Expired 판단 S26: Session DB 삽입
S27: Session DB 갱신 S28: Command 요청
S29: Command Parsing Request S30: 사용 권한 있는지 판단
S31: Command 실행 요청 S32: 실행 결과 수신
S33: Error Message S34: 결과 저장
S35: 결과 전달 S36: 결과 수신
S37: 결과 수신 S50: Command Parsing
S51: Command Execute

Claims (8)

  1. 미리 설정된 어플리케이션 툴을 위한 코드를 생성하는 코드 생성부(1210)와, 클라이언트 및 프록시 미들웨어(400)와 인터페이스하는 파싱부(1220)와, 상기 어플리케이션 툴에 관련된 구문을 분석하는 렉싱부(1230)를 포함하는 GUI 모듈(100); 및
    상기 GUI 모듈(100)과 논리적으로 분리되어, 미리 설정된 수치해석 계산을 처리하기 위한 수치해석 실행 모듈(600)을 포함하되,
    상기 GUI 모듈(100)은,
    상기 클라이언트로부터 제공된 명령어를, 상기 프록시 미들웨어(400)를 통하여 클라우드 상에서 연결되는 세션 서버(510) 및 인증 서버(520) 중 적어도 하나에 의해 인증받아 상기 어플리케이션 툴에 대하여 파싱하고, 상기 어플리케이션 툴에 의해 계산된 결과를 전달받으며,
    상기 어플리케이션 툴은,
    상기 수치해석 실행 모듈(600)을 포함하고,
    상기 GUI 모듈(100)은,
    상기 클라이언트로부터 상기 명령어를 제공받아, 상기 명령어에 대한 요청을 인증하고, 표준 라이브러리를 포함한 모델링 라이브러리(230)를 통해 어셈블링하여, 상기 프록시 미들웨어(400)에 제공하는 모델부(200); 및
    상기 프록시 미들웨어(400)로부터 응답을 제공받아, 운영체제 독립적인 공통 모니터 유저 인터페이스부(330) 및 운영체제 종속적인 복수의 모니터 유저 인터페이스부(340)를 통해 어셈블링하여, 상기 클라이언트에 맞추어 상기 응답을 전달하는 모니터부(300)를 포함하며,
    상기 모니터부(300)는,
    공통 CSS부(331), 공통 HTML 테일(332), 공통 HTML 바디(333), 공통 HTML 헤더(334) 및 JSON 인터페이스 매니저(336)의 스택 구조를 포함하는 것을 특징으로 하는, GUI 모듈과 실행 엔진이 분리된 운영체제 독립적인 클라우드 수치해석 시스템.
  2. 삭제
  3. 제1항에 있어서, 상기 운영체제 종속적인 복수의 모니터 유저 인터페이스부(340)는,
    윈도우즈 모니터 유저 인터페이스부(341), 리눅스 모니터 유저 인터페이스부(344), 안드로이드 모니터 유저 인터페이스부(342) 및 아이오에스 모니터 유저 인터페이스부(343)를 포함하는 군에서 선택된 적어도 하나의 모니터 유저 인터페이스부를 포함하는 것을 특징으로 하는, GUI 모듈과 실행 엔진이 분리된 운영체제 독립적인 클라우드 수치해석 시스템.
  4. 제1항에 있어서,
    상기 모델부(200)는 제1 JSON 파서(210)를 통해 상기 클라이언트로부터 상기 명령어를 제공받고,
    상기 모니터부(300)는 제2 JSON 파서(310)를 통해 상기 프록시 미들웨어(400)로부터 상기 응답을 제공받는 것을 특징으로 하는, GUI 모듈과 실행 엔진이 분리된 운영체제 독립적인 클라우드 수치해석 시스템.
  5. 삭제
  6. 제1항에 있어서, 상기 프록시 미들웨어(400)는,
    상기 클라이언트에서 제공되는 사용자의 아이디 및 세션 아이디에 기초하여 상기 명령어를 상기 수치해석 실행 모듈(600)에 파싱하여 상기 명령어의 실행을 요청하고, 상기 수치해석 실행 모듈(600)의 결과를 수신하도록 구성되는 것을 특징으로 하는, GUI 모듈과 실행 엔진이 분리된 운영체제 독립적인 클라우드 수치해석 시스템.
  7. 제1항에 있어서,
    상기 클라이언트로부터 상기 GUI 모듈(100)에 제공된 명령어는, 복사, 붙여넣기, 드래그, 드롭, 파일 저장 및 웹 스토리지 공간에 저장을 포함하는 군에서 선택된 적어도 하나를 포함하는 것을 특징으로 하는, GUI 모듈과 실행 엔진이 분리된 운영체제 독립적인 클라우드 수치해석 시스템.
  8. 삭제
KR1020160036388A 2016-03-25 2016-03-25 Gui 모듈과 실행 엔진이 분리된 운영체제 독립적인 클라우드 수치해석 시스템 및 이의 실행 방법 KR101766776B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160036388A KR101766776B1 (ko) 2016-03-25 2016-03-25 Gui 모듈과 실행 엔진이 분리된 운영체제 독립적인 클라우드 수치해석 시스템 및 이의 실행 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160036388A KR101766776B1 (ko) 2016-03-25 2016-03-25 Gui 모듈과 실행 엔진이 분리된 운영체제 독립적인 클라우드 수치해석 시스템 및 이의 실행 방법

Publications (1)

Publication Number Publication Date
KR101766776B1 true KR101766776B1 (ko) 2017-08-30

Family

ID=59760799

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160036388A KR101766776B1 (ko) 2016-03-25 2016-03-25 Gui 모듈과 실행 엔진이 분리된 운영체제 독립적인 클라우드 수치해석 시스템 및 이의 실행 방법

Country Status (1)

Country Link
KR (1) KR101766776B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015014390A1 (en) 2013-07-30 2015-02-05 Dmg Mori Seiki Co., Ltd. Control system for controlling operation of a numerically controlled machine tool, and back-end and front-end control devices for use in such system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015014390A1 (en) 2013-07-30 2015-02-05 Dmg Mori Seiki Co., Ltd. Control system for controlling operation of a numerically controlled machine tool, and back-end and front-end control devices for use in such system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
김광진 외 3명. 클라우드 컴퓨팅기반의 차세대 공학 소프트웨어 개발. ICROS 2014. 2014년 5월.

Similar Documents

Publication Publication Date Title
EP3688593B1 (en) Real-time debugging instances in a deployed container platform
US10860779B2 (en) High performant and high fidelity previews for CSS preprocessing frameworks
US9851953B2 (en) Cloud based editor for generation of interpreted artifacts for mobile runtime
CA2915619C (en) Method and apparatus for customized software development kit (sdk) generation
EP3011444B1 (en) Method and apparatus for code virtualization and remote process call generation
US9886244B2 (en) Rich tooling for rest application development
CN106897153B (zh) 调用应用编程接口的方法和系统
CN108228444B (zh) 一种测试方法和装置
US10572575B2 (en) System independent font rendering
CN108319575B (zh) 一种页面组件的校验方法、装置、服务器和存储介质
CN112527252A (zh) 小程序管理方法及装置、小程序平台、电子设备、介质
US10268456B2 (en) Standardized approach to contextual code identification in editors and IDEs
US11500618B2 (en) Software library differential identification and automated uplift
KR101437943B1 (ko) 스마트 플랫폼 장치, 시스템 및 제어 방법
KR101766776B1 (ko) Gui 모듈과 실행 엔진이 분리된 운영체제 독립적인 클라우드 수치해석 시스템 및 이의 실행 방법
US20230367616A1 (en) Data processing method, computer device, and storage medium
CN116225394A (zh) 创建云端开发环境的方法、装置、电子设备及存储介质
CN116028363A (zh) 数据创建方法、装置、电子设备和计算机可读存储介质
KR20210144044A (ko) 모노리틱 아키텍처와 마이크로서비스 아키텍처를 모두 지원하는 개발 프레임워크 제공 시스템, 이를 이용한 애플리케이션 개발 방법 및 이를 위한 컴퓨터 프로그램
Gackenheimer et al. Debugging and Deploying Your Application

Legal Events

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