KR100272095B1 - System aand method for automic generating the realtime operating system kernel - Google Patents

System aand method for automic generating the realtime operating system kernel Download PDF

Info

Publication number
KR100272095B1
KR100272095B1 KR1019960031524A KR19960031524A KR100272095B1 KR 100272095 B1 KR100272095 B1 KR 100272095B1 KR 1019960031524 A KR1019960031524 A KR 1019960031524A KR 19960031524 A KR19960031524 A KR 19960031524A KR 100272095 B1 KR100272095 B1 KR 100272095B1
Authority
KR
South Korea
Prior art keywords
module
kernel
real
operating system
time operating
Prior art date
Application number
KR1019960031524A
Other languages
Korean (ko)
Other versions
KR980010765A (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 KR1019960031524A priority Critical patent/KR100272095B1/en
Publication of KR980010765A publication Critical patent/KR980010765A/en
Application granted granted Critical
Publication of KR100272095B1 publication Critical patent/KR100272095B1/en

Links

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
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • 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

Abstract

PURPOSE: A system and a method for automatically creating a kernel of a real-time operating system is provided to easily interface real-time operating systems with elements by receiving items requested by a user, and by searching elements relevant to the items requested in an object-oriented database. CONSTITUTION: A module library unit(100) stores each module of a real-time operating system kernel. Each module is composed of programs and data. A user interface unit(110) receives items demanded of a user, and converts the items into a DSL(Definition Specification Language). A DSL interpreter(120) interpreters the items converted into an intermediate pseudo-code. A demanded item analyzer(130) receives the items interpreted by the DSL interpreter(120) and information on module interrelations. A simulator(140) receives simulation information on at least one or more modules from the DSL interpreter(120) and the demanded item analyzer(130). A kernel generator(150) generates a real-time operating system kernel.

Description

실시간 운영체제의 커널 자동생성 시스템 및 방법Kernel auto-generation system and method of real-time operating system

본 발명은 운영체제에 관한 것으로서, 특히 시간의 제약조건을 만족시켜주는 실시간 운영체제의 커널 자동생성 시스템 및 방법에 관한 것이다.The present invention relates to an operating system, and more particularly, to a system and method for kernel automatic generation of a real-time operating system that satisfies time constraints.

일반적으로 실시간 시스템은 적용분야가 다양하기 때문에 하나의 실시간 운영체제를 공통적으로 지원할 수 없는 특성을 지니고 있다. 또한 범용 실시간 운영체제를 사용할 경우 모든 실시간 시스템의 특성에 적합한 운영체제의 서비스를 제공할 수 없어 성능향상을 보장할 수 없는 실정이다. 따라서 특정 실시간 시스템을 개발할 시 그 시스템의 기능에 따라 각각 다른 범용실시간 운영체제를 사용하는 것이 일반화 되어 있다.In general, the real-time system has a feature that can not support a single real-time operating system in common because there are various applications. In addition, when using a general-purpose real-time operating system can not provide a service of the operating system suitable for the characteristics of all real-time system can not guarantee the performance improvement. Therefore, when developing a specific real-time system, it is common to use different general-purpose real-time operating systems according to the function of the system.

이와 같은 경우 서로 다른 실시간 운영체제가 탑재되어 있는 실시간 시스템 간의 인터페이스가 어렵게 되고 이를 위해 또 다른 개발이 필요한 실정이다. 또한 기존 컴퓨터 응용소프트웨어의 자동생성기(CASE Tool/Computer Aided Software Engineering)가 응용 프로그래머들로부터 요구사항을 받아 자동으로 소스코드(source code)를 생성하는 대신 시스템의 처리시간의 제약성을 보장하지 않는다. 이 생성기는 사용자 기능요구 사항에 대해서만 검증시켜 줄뿐이다.. 반면에 실시간 시스템의 소프트웨어는 실시간 처리의 특성상 사용자 기능 요구 사항뿐만 아니라 처리시간의 제약성을 검증해 주어야 한다.In such a case, it is difficult to interface between real-time systems having different real-time operating systems, which requires further development. In addition, CASE Tool / Computer Aided Software Engineering does not guarantee the limitation of the processing time of the system instead of automatically generating the source code by receiving the requirements from the application programmers. This generator only verifies the user functional requirements. On the other hand, the software of the real-time system must verify the processing time constraints as well as the user functional requirements due to the nature of the real-time processing.

그리고 종래 기술의 문제점은 개발된 실시간 운영체제를 관리적 측면에서 새롭게 추가하거나 수정하기가 매우 어렵고 이를 다른 범위에 적용시킬 경우 재사용이 불가능하게 되어 있어 개발 경비 및 시간이 많이 요구된다는 것이다. 종래의 각 실시간 시스템에서는 서로 다른 실시간 운영체제를 사용해야 하는 문제점과 그로 인한 시스템 인터페이스가 서로 상이함으로 실시간 시스템 간의 접속(interconnection)의 어려운 문제점이 있다.The problem with the prior art is that it is very difficult to add or modify the developed real-time operating system in terms of management, and if it is applied to other ranges, it cannot be reused, which requires a lot of development cost and time. Each conventional real-time system has a problem of using a different real-time operating system and the resulting system interface is different from each other, there is a difficult problem of the connection (interconnection) between real-time systems.

본 발명은 상술한 문제점을 해결하기 위해 창출된 것으로서, 실시간 운영체제들과 요소들이 상호 손쉽게 인터페이스를 할 수 있고 수정 및 관리를 효율적으로 할 수 있게 하기 위해, 사용자의 실시간 운영체제의 요구사항을 단일의 표준 사용자 인터페이스를 통하여 입력으로 받아 그에 해당되는 실시간 운영체제의 요소들을 객체지향 데이터베이스에서 검색한 후 중간 실시간 운영체제(intermediate real time operating system) 형태로 관리하고 모든 요구사항들을 검색한 후 그에 해당되는 실시간 운영체제를 생성하는, 실시간 운영체제 커널 자동생성 시스템 및 방법을 제공함에 그 목적이 있다.SUMMARY OF THE INVENTION The present invention was created to solve the above-mentioned problems, and in order to enable real-time operating systems and elements to easily interface with each other and to efficiently modify and manage, the requirements of the user's real-time operating system are a single standard. Receives the input through the user interface and retrieves the corresponding elements of the real-time operating system from the object-oriented database, manages them in the form of an intermediate real time operating system, retrieves all the requirements, and creates the corresponding real-time operating system. The purpose is to provide a real-time operating system kernel automatic generation system and method.

도 1은 본 발명에 따른 실시간 운영체제의 커널 자동생성 시스템의 일실시예의 구성 블럭도를 도시한 것이다.1 is a block diagram illustrating an embodiment of a kernel auto-generation system of a real-time operating system according to the present invention.

도 2는 본 발명의 논리적인(logical) 구성도를 도시한 것이다.2 illustrates a logical diagram of the present invention.

도 3은 도 1을 기초로 본 발명의 동작을 설명하는 흐름도를 도시한 것이다.FIG. 3 shows a flowchart illustrating the operation of the present invention based on FIG. 1.

도 4는 사용자 요구사항의 일예를 도시한 것이다.4 shows an example of user requirements.

상기의 목적을 달성하기 위한 본 발명에 따른, 실시간 운영체제 커널 자동생성 시스템은 실시간 운영체제 커널의 각 모듈들을 저장하고 관리하며, 상기 모듈은 프로그램과 데이터로 구성되며 소정의 제약조건을 포함하는, 모듈 라이브러리부; 실시간 운영체제를 필요로 하는 사용자의 요구사항을 받아 들여, 사용자의 요구사항을 정의하는 표현수단인 요구정의언어(DSL)로 변환하고, 커널생성에 따른 각 처리단계에서의 결과에 대한 보고정보를 출력하는 사용자 인터페이스부; 상기 사용자 인터페이스에서 요구정의 언어로 변환된 사용자의 요구사항을 커널생성시스템 내에서 수행하고 처리할 수 있는 표현수단으로 번역하고, 상기 모듈 라이브러리부에 원하는 모듈을 요구하고 받아들이는 요구정의 언어 번역기; 상기 요구정의 언어 번역기에서 번역된 모듈요구사항과 모듈상호관계에 대한 정보를 받아 모듈들이 상호결합되었을 때 사용자 요구사항을 만족시키는지를 분석 및 검증하고, 이에 대한 결과를 상기 사용자 인터페이스부로 출력하고, 시뮬레이션 정보를 시뮬레이터로 출력하는 요구사항 분석기; 상기 요구정의 언어 번역기와 상기 요구사항 분석기로 부터 적어도 하나 이상의 모듈들에 대한 시뮬레이션 정보를 받고, 시뮬레이션에 필요한 모듈들을 상기 모듈라이브러리부로 부터 가져와서, 상기 요구정의 언어 번역기와 상기 요구사항 분석기에서 번역되고 분석 및 검증된 모듈들이 사용자가 요구한 실시간 운영체제의 수행행위(behavior) 및 수행시간을 만족하는지 분석하고, 만족하지 않으면 이에 대한 메세지를 사용자 인터페이스부로 출력하고, 만족하면 모듈명들과 모듈간의 관계성에 대한 정보를 출력하는 시뮬레이터; 및 상기 시뮬레이터로 부터 출력되는 적어도 하나 이상의 모듈명과 모듈간의 관계성에 대한 정보를 받아들여 실시간 운영체제 커널을 생성하는 커널 생성기를 포함함을 특징으로 한다.The real-time operating system kernel automatic generation system according to the present invention for achieving the above object stores and manages each module of the real-time operating system kernel, the module is composed of a program and data, including a certain constraint, module library part; It accepts the requirements of users who require a real-time operating system, converts them into a request definition language (DSL), which is a means of expressing the requirements of users, and outputs report information on the results of each processing step according to kernel generation. A user interface unit; A request definition language translator for translating the user's requirements converted from the user interface into the request definition language into expression means capable of performing and processing in a kernel generation system, and requesting and accepting a desired module in the module library unit; Receives information about the module requirements and the module interrelations translated by the requirement definition language translator, analyzes and verifies whether the modules satisfy the user requirements when they are combined, and outputs the results to the user interface unit, and simulates them. A requirement analyzer for outputting information to the simulator; Receive simulation information for at least one or more modules from the requirements definition language translator and the requirements analyzer, and import modules required for the simulation from the module library unit, and are translated in the requirements definition language translator and the requirements analyzer; Analyze whether the analyzed and verified modules satisfy the behavior and execution time of the real-time operating system requested by the user, and if not satisfied, output a message to the user interface unit. A simulator for outputting information about the; And a kernel generator for generating a real-time operating system kernel by receiving at least one module name output from the simulator and information on the relationship between the modules.

상기의 목적을 달성하기 위한 본 발명에 따른, 실시간 운영체제 커널 자동생성 방법은 실시간 운영체제 커널의 각 모듈들을 저장하고 관리하며, 상기 모듈은 프로그램과 데이터로 구성되며 소정의 제약조건을 포함하는, 모듈 라이브러리를 생성하는 단계; 실시간 운영체제를 필요로 하는 사용자의 요구사항을 받아 들여, 사용자의 요구사항을 정의하는 표현수단인 요구정의언어(DSL)로 변환하는 단계; 상기 요구정의언어로 변환된 사용자의 요구사항을 커널생성시스템 내에서 수행하고 처리할 수 있는 표현수단으로 번역하고, 상기 모듈 라이브러리에 원하는 모듈을 요구하고 받아들이는 단계: 상기 번역된 모듈요구사항과 모듈상호관계에 대한 정보를 모듈들이 상호결합되었을 때 사용자 요구사항을 만족시키는지를 분석 및 검증하고, 이에 대한 결과 및 시뮬레이션 정보를 출력하는 단계; 시뮬레이션 정보를 받아 시뮬레이션에 필요한 모듈들을 상기 모듈라이브러리로 부터 가져와서, 상기에서 번역되고 분석 및 검증된 모듈들이 사용자가 요구한 실시간 운영체제의 수행행위(behavior) 및 수행시간을 만족하는지 분석하는 단계; 상기 분석단계에서의 조건을 만족하지 않으면 이에 대한 메세지를 출력하고, 만족하면 모듈명들과 모듈간의 관계성에 대한 정보를 출력하는 단계: 및 상기에서 출력되는 적어도 하나 이상의 모듈명과 모듈간의 관계성에 대한 정보를 이용하여 실시간 운영체제 커널을 생성하는 커널 생성단계를 특징으로 한다.The real-time operating system kernel automatic generation method according to the present invention for achieving the above object stores and manages each module of the real-time operating system kernel, the module is composed of a program and data and includes a predetermined constraint, library library Generating a; Receiving a requirement of a user requiring a real-time operating system and converting the request into a request definition language (DSL), which is a means of expressing a requirement of the user; Translating the user's requirements translated into the requirements definition language into a means for executing and processing in a kernel generation system, and requesting and accepting a desired module from the module library: the translated module requirements and modules Analyzing and verifying the information on the interrelationships to satisfy the user requirements when the modules are interconnected, and outputting the results and the simulation information therefor; Receiving the simulation information and importing modules for simulation from the module library, and analyzing whether the modules translated, analyzed, and verified satisfy the behavior and execution time of a real-time operating system requested by a user; Outputting a message for not satisfying the condition in the analyzing step, and outputting information on the relationship between module names and modules if satisfied; and information on the relationship between at least one module name and the module outputted above. Characterized by the kernel generation step for generating a real-time operating system kernel using.

이하에서 첨부된 도면을 참조하여 본 발명을 상세히 설명한다. 도 1은 본 발명에 따른 실시간 운영체제의 커널 자동생성 시스템의 일실시예의 구성 블럭도를 도시한 것이다.Hereinafter, the present invention will be described in detail with reference to the accompanying drawings. 1 is a block diagram illustrating an embodiment of a kernel auto-generation system of a real-time operating system according to the present invention.

모듈 라이브러리부(100)는 실시간 운영체제 커널의 각 모듈들을 저장하고 관리하는 블록으로서, 모듈 라이이버러리(102), 객체지향 데이터베이스 관리자(104), 및 라이브러리 관리자(106)로 구성된다.The module library unit 100 is a block for storing and managing each module of the real-time operating system kernel. The module library unit 100 includes a module library 102, an object-oriented database manager 104, and a library manager 106.

상기 모듈 라이브러리(102)는 실시간 운영체제 커널의 각 모듈들을 저장하고 상기 모듈은 프로그램과 데이터로 구성되며 소정의 제약조건, 예를 들어 시간, 모듈 인터페이스를 나타내는 연관성 또는 하드웨어 종속성등을 포함한다. 상기 데이터베이스 관리자(104)는 상기 모듈라이브러리(102)에 저장되어 있는 실시간 운영체제의 각 기능 모듈, 예를 들어 스케쥴러(scheduler), 프로세서간 통신(IPC), 메모리관리, 인터럽트, 타이머(timer) 등의 알고리즘 또는 소프트웨어 프로그램들을 관리하고 유지시켜 준다. 라이브러리 관리자(106)는 상기 객체지향 데이터베이스 관리자(104)를 통해 모듈라이브러리(102)를 억세스하여 사용자 요구사항에 따라 적절한 알고리즘 및 소프트웨어 프로그램을 구성하여 출력한다.The module library 102 stores each module of the real-time operating system kernel, which module is comprised of programs and data and includes certain constraints, such as time, associations or hardware dependencies indicative of the module interface. The database manager 104 is a function module of a real-time operating system stored in the module library 102, such as a scheduler, interprocessor communication (IPC), memory management, interrupts, timers, etc. Manage and maintain algorithms or software programs. The library manager 106 accesses the module library 102 through the object-oriented database manager 104 to configure and output appropriate algorithms and software programs according to user requirements.

사용자 인터페이스(110)는 실시간 운영체제를 필요로 하는 사용자의 요구사항을 받아 들여 사용자의 요구사항을 정의하는 표현수단인 요구정의언어(DSL)로 변환한다. 그리고 커널생성에 따른 각 처리단계에서의 결과에 대해 보고된 정보 및 모듈정보등을 나타내는 메뉴(menu)를 사용자에게 디스플레이시키는 등 사용자와의 인터페이스를 담당한다.The user interface 110 receives a user's requirement for a real-time operating system and converts it into a request definition language (DSL), which is a representation means for defining the user's requirements. In addition, it is in charge of the interface with the user such as displaying a menu indicating the reported information and the module information on the result of each processing step according to kernel generation.

요구정의 언어 번역기(120)는 상기 사용자 인터페이스(110)에서 요구정의 언어(Definition Specification Language:DSL)로 변환된 사용자의 요구사항을 커널생성시스템 내에서 수행하고 처리할 수 있는 표현수단(Intermediate pseudo-code)으로 번역하고, 상기 모듈 라이브러리부(100)에 원하는 모듈을 요구하고 응답된 모듈을 받아들인다.The request definition language translator 120 is an expression means for performing and processing the user's requirements converted from the user interface 110 into a definition specification language (DSL) in the kernel generation system. code), request the desired module from the module library unit 100, and accept the responded module.

요구사항분석기(130)는 상기 요구정의언어 번역기(120)에서 번역된 모듈요구사항과 모듈 상호관계에 대한 정보를 받아 모듈들이 상호결합되었을 때 사용자 요구사항을 만족시키는지를 분석 및 검증하고 이에 대한 결과를 상기 사용자 인터페이스부(110)로 보고하고, 시뮬레이션 정보를 시뮬레이터(140)로 출력한다.The requirements analyzer 130 receives information about the module requirements and the module interrelationships translated by the requirement definition language translator 120 to analyze and verify whether the modules satisfy the user requirements when they are mutually combined, and the result Report to the user interface unit 110, and outputs the simulation information to the simulator (140).

시뮬레이터(140)는 상기 요구정의 언어번역기(120)와 상기 요구사항 분석기(130)로 부터 적어도 하나 이상의 모듈들에 대한 시뮬레이션 정보를 받고, 시뮬레이션에 필요한 모듈들을 상기 모듈라이브러리부(100)로 부터 가져와서, 상기 요구정의 언어 번역기(120)와 상기 요구사항 분석기(130)에서 번역되고 분석 및 검증된 모듈들이 사용자가 요구한 실시간 운영체제의 수행행위(behavior) 및 수행시간(time safety)을 만족하는지 분석하고, 만족하지 않으면 이에 대한 메세지를 사용자 인터페이스부(110)로 출력하고, 만족하면 모듈이름들과 모듈간의 관계성에 대한 정보를 출력한다.The simulator 140 receives simulation information about at least one module from the requirement definition language translator 120 and the requirement analyzer 130, and takes modules required for the simulation from the module library unit 100. Then, whether the modules translated, analyzed, and verified in the requirements definition language translator 120 and the requirements analyzer 130 satisfy the behavior and time safety of the real-time operating system requested by the user. If not satisfied, a message for this is output to the user interface unit 110, and if satisfied, information on the relationship between the module names and the module is output.

커널생성기(150)는 상기 시뮬레이터(140)로 부터 출력되는 적어도 하나 이상의 모듈이름들과 모듈간의 관계성에 대한 정보를 받아들여 실시간 운영체제 커널을 생성한다.The kernel generator 150 generates a real-time operating system kernel by receiving at least one module name output from the simulator 140 and information on the relationship between the modules.

인테그레이터(160)는 상기 커널생성기(150)에서 생성된 커널 또는 조정기(170)을 응용 프로그램의 타스크들과 컴파일링(compling) 및 링킹(linking)을 한다.The integrator 160 compiles and links the kernel or coordinator 170 generated by the kernel generator 150 with tasks of an application program.

조정기(coordinator,170)는 상기 커널생성기(150)에서 생성된 커널을 실제 사용하는 응용분야의 환경 및 사용자 요구조건에 맞게 조정하고, 상기 조정된 결과(사용자정의 실시간운영체제, 180)를 상기 인테그레이터(160)로 출력한다. 그리고 조정을 위해 요구사항에 수정 정보를 사용자 인터페이스(110)로 출력하기도 한다.The coordinator 170 adjusts the kernel generated by the kernel generator 150 according to the environment and user requirements of the actual application field, and adjusts the adjusted result (user-defined real-time operating system 180). Output to the radar 160. In addition, correction information may be output to the user interface 110 in a requirement for adjustment.

확장모듈부(190)는 하드웨어 종속모듈 및 새로운 소프트웨어 모듈로 이루어지며, 커널을 생성하는 과정에서 새롭게 추가되는 소프트웨어 모듈이나 하드웨어에 종속되는 정보들을 말하며, 이에 대한 정보는 필요에 따라 상기 모듈 라이브러리(102)에 추가되며, 상기 커널생성기(150)와 사용자 정의 실시간 운영체제(180)에 포함되기도 한다.The expansion module unit 190 is composed of a hardware dependent module and a new software module, and refers to information newly added to a software module or hardware depending on a process of generating a kernel. In addition, the kernel generator 150 and the user-defined real-time operating system 180 may be included.

도 2는 본 발명의 논리적인(logical) 구성도를 도시한 것이며, 도 3은 도 1을 기초로 본 발명의 동작을 설명하는 흐름도를 도시한 것으로서, 도 2 및 도 3을 참조하여 본 발명의 동작을 보다 상세히 설명한다.FIG. 2 illustrates a logical configuration diagram of the present invention, and FIG. 3 is a flowchart illustrating the operation of the present invention based on FIG. 1, and with reference to FIGS. 2 and 3. The operation will be described in more detail.

먼저 사용자 요구사항이 입력되기 전에 실시간 운영체제의 구성에 필요한 각 요소들을 클래스(스케쥴러, IPC, 인터럽트, 메모리, 타이머 등)별로 구분하여 객체지향 데이터베이스(102,270)에 각 클래스에 속하는 방법(method)들을 저장한다.(300단계)First, the methods belonging to each class are stored in the object-oriented database 102 and 270 by classifying each element necessary for the configuration of the real-time operating system by class (schedule, IPC, interrupt, memory, timer, etc.) before the user requirement is input. (Step 300)

그리고 도 4에 도시된 바와 같은 사용자 요구사항 즉 실시간 운영체제의 구성에 필요한 각 요소들(200,210)이 사용자 인터페이스(110)로 입력되면, 사용자 인터페이스(110)는 이를 요구정의 언어(DSL)로 변환한다.(310단계) 그리고 나서 이를 처리하기 위해 요구정의 언어번역기(120)에서 중간코드(intermediate pseudo-code, 220)로 생성시키고, 필요한 모듈을 라이브러리부(100)에 요구하여 받아들인다.(320단계)When the user requirements as illustrated in FIG. 4, that is, the elements 200 and 210 necessary for the configuration of the real-time operating system, are input to the user interface 110, the user interface 110 converts them into the requirements definition language (DSL). (Step 310) Then, in order to process this, the request definition language translator 120 generates intermediate code (intermediate pseudo-code, 220), and requests and accepts the necessary module from the library unit 100 (Step 320). )

상기에서 생성된 중간코드는 상기 번역된 모듈요구사항과 모듈상호관계에 대한 정보를 모듈들이 상호결합되었을 때 사용자 요구사항을 만족시키는지를 분석 및 검증하고, 이에 대한 결과 및 시뮬레이션 정보를 출력한다. 즉 요구사항 분석기(130,230)에 의해 실시간으로 할 것인지 안할 것인지의 여부 및 기존 선택된 요소들과의 일관성(consisitency) 관점에서 분석된다. 분석된 결과가 정당하지 않을 경우에는 사용자에게 정당하지 않는 내용을 보고하며, 정당할 경우에는 실시간 운영체제 생성기(Operating System code generator,240)가 라이브러리(106,250)를 통해 데이터베이스 스키마(schema,260,104)를 거쳐 객체지향 데이터 베이스(102,270)에서 해당요소의 프로그램을 접근하여 실시간 운영체제 임시파일에 저장시킨다.(330단계)The generated intermediate code analyzes and verifies the translated module requirements and the information on the module interrelationships to satisfy the user requirements when the modules are mutually coupled, and outputs the result and simulation information. In other words, the requirements analyzer 130 and 230 analyzes whether or not to be performed in real time or in terms of consistency with existing selected elements. If the analyzed result is not justified, the user is not justified, and if it is justified, the real-time operating system generator (240) passes through the database schema (260, 104) through the library (106, 250). The object-oriented database 102, 270 accesses the program of the corresponding element and stores the program in a real-time operating system temporary file (step 330).

임시파일은 시뮬레이터에 의해 실행된다. 즉 시뮬레이션 정보를 받아 시뮬레이션에 필요한 모듈들을 상기 모듈라이브러리(102)로 부터 가져와서, 상기에서 번역되고 분석 및 검증된 모듈들이 사용자가 요구한 실시간 운영체제의 수행행위(behavior) 및 수행시간을 만족하는지 분석한다.(340단계) 실행후 결과 값이 유효하면 즉 상기 분석단계에서의 조건을 만족하지 않으면 이에 대한 메세지를 사용자 인터페이스(110)로 출력하고 요구사항을 수정한다. 만족하면 시뮬레이터(140)는 모듈명들과 모듈간의 관계성에 대한 정보를 출력하여 실시간운영체제(RTOS) 소스 코드의 생성을 위한 준비 작업을 한다.(350단계)Temporary files are executed by the simulator. That is, by receiving the simulation information, the modules required for the simulation are taken from the module library 102 and analyzed whether the modules translated, analyzed and verified in the above satisfy the behavior and execution time of the real-time operating system required by the user. If the result value is valid after the execution (step 340), that is, if the condition in the analysis step is not satisfied, a message is output to the user interface 110 and the requirements are corrected. If satisfied, the simulator 140 outputs information on the relationship between the module names and the module to prepare for the generation of the RTOS source code (step 350).

커널생성기(150)는 상기에서 출력되는 적어도 하나 이상의 모듈명과 모듈간의 관계성에 대한 정보를 이용하여 실시간운영체제(RTOS) 커널을 생성한다.(360단계) 그리고 나서 조정기(170)는 상기 커널생성기(150) 에서 생성된 커널을 실제 사용하는 응용분야의 환경에 맞게 조정하고 상기 조정된 결과를 인테그레이터(160)으로 출력한다. 또한 하드웨어에 종속되는 모듈이나 새롭게 추가한 소프트웨어 모듈(190)에 관한 정보도 상기 커널생성기(150) 또는 상기 조정기(170)에 반영한다. 상기 과정을 거쳐 커널생성단계에서 생성된 커널을 응용 프로그램 타스크와 컴파일 및 링크시킴으로(370단계), 실제의 완성된 코드를 생성하여 실시간 운영체제의 요구사항 처리를 종료시킨다.The kernel generator 150 generates a real-time operating system (RTOS) kernel by using the information on at least one module name and the relationship between the modules output (step 360). The controller 170 then adjusts the kernel generator 150. The kernel generated in the) is adjusted to the environment of an application field actually used, and the adjusted result is output to the integrator 160. In addition, information about a module dependent on hardware or a newly added software module 190 is also reflected in the kernel generator 150 or the controller 170. By compiling and linking the kernel generated in the kernel generation step with the application task through the above process (step 370), the actual completed code is generated to terminate the processing of the requirements of the real-time operating system.

본 발명에 의하면, 생성된 실시간 운영체제들은 사용자 요구사항에 따라 구성 및 기능요소들이 서로 상이할 수 있지만 단일의 생성기를 통하였기 때문에 요소들간의 인터페이스, 프로그램 및 자료구조들이 표준화되는 효과를 제공받는다. 따라서 각 실시간 운영체제들과 요소들은 상호 손쉽게 인터페이스를 할 수 있고 수정 및 관리가 효율적이다. 아울러 실시간 운영체제의 개발에 따른 시간, 경비 및 개발인력의 소모를 줄일 수 있다.According to the present invention, the generated real-time operating systems may be different from each other according to user requirements, but through a single generator, the interface between the elements, programs and data structures are provided with the effect of standardization. Thus, each real-time operating system and elements can easily interface with each other and are easy to modify and manage. In addition, it can reduce the time, expense and development manpower consumption of real-time operating system development.

그리고 실시간 운영체제의 커널 요소들이 계속적으로 첨가될 수 있어 재사용의 효율성을 향상시킬 수 있으며, 실시간 운영체제 커널의 요소들은 사용자 요구사항에 가장 알맞은 것으로 선택되므로 시스템의 성능향상을 얻을 수 있다.The kernel elements of the real-time operating system can be added continuously to improve the efficiency of reuse. The elements of the real-time operating system kernel are selected as the most suitable for the user requirements, thereby improving the performance of the system.

Claims (7)

실시간 운영체제 커널의 각 모듈들을 저장하고, 상기 모듈은 프로그램과 데이터로 구성되며 소정의 제약조건을 포함하는, 모듈 라이브러리부;A module library unit for storing respective modules of a real-time operating system kernel, wherein the module is composed of a program and data and includes predetermined constraints; 실시간 운영체제를 필요로 하는 사용자의 요구사항을 받아 들여, 사용자의 요구사항을 정의하는 표현수단인 요구정의언어(DSL)로 변환하고, 커널생성에 따른 각 처리단계에서의 결과에 대한 보고정보를 출력하는 사용자 인터페이스부;It accepts the requirements of users who require a real-time operating system, converts them into a request definition language (DSL), which is a means of expressing the requirements of users, and outputs report information on the results of each processing step according to kernel generation. A user interface unit; 상기 사용자 인터페이스에서 요구정의 언어로 변환된 사용자의 요구사항을 커널생성시스템 내에서 수행하고 처리할 수 있는 표현수단으로 번역하고, 상기 모듈 라이브러리부에 원하는 모듈을 요구하고 받아들이는 요구정의 언어 번역기;A request definition language translator for translating the user's requirements converted from the user interface into the request definition language into expression means capable of performing and processing in a kernel generation system, and requesting and accepting a desired module in the module library unit; 상기 요구정의 언어 번역기에서 번역된 모듈요구사항과 모듈상호관계에 대한 정보를 받아 모듈들이 상호결합되었을 때 사용자 요구사항을 만족시키는지를 분석 및 검증하고, 이에 대한 결과를 상기 사용자 인터페이스부로 출력하고, 시뮬레이션 정보를 시뮬레이터로 출력하는 요구사항 분석기;Receives information about the module requirements and the module interrelations translated by the requirement definition language translator, analyzes and verifies whether the modules satisfy the user requirements when they are combined, and outputs the results to the user interface unit, and simulates them. A requirement analyzer for outputting information to the simulator; 상기 요구정의 언어 번역기와 상기 요구사항 분석기로 부터 적어도 하나 이상의 모듈들에 대한 시뮬레이션 정보를 받고, 시뮬레이션에 필요한 모듈들을 상기 모듈라이브러리부로 부터 가져와서, 상기 요구정의 언어 번역기와 상기 요구사항 분석기에서 번역되고 분석 및 검증된 모듈들이 사용자가 요구한 실시간 운영체제의 수행행위(behavior) 및 수행시간을 만족하는지 분석하고, 만족하지 않으면 이에 대한 메세지를 사용자 인터페이스부로 출력하고, 만족하면 모듈명들과 모듈간의 관계성에 대한 정보를 출력하는 시뮬레이터; 및Receive simulation information for at least one or more modules from the requirements definition language translator and the requirements analyzer, and import modules required for the simulation from the module library unit, and are translated in the requirements definition language translator and the requirements analyzer; Analyze whether the analyzed and verified modules satisfy the behavior and execution time of the real-time operating system requested by the user, and if not satisfied, output a message to the user interface unit. A simulator for outputting information about the; And 상기 시뮬레이터로 부터 출력되는 적어도 하나 이상의 모듈명과 모듈간의 관계성에 대한 정보를 받아들여 실시간 운영체제 커널을 생성하는 커널 생성기를 포함함을 특징으로 하는 실시간 운영체제의 커널 자동 생성 시스템.And a kernel generator for generating a real-time operating system kernel by receiving information on at least one module name output from the simulator and information on the relationship between the modules. 제1항에 있어서, 상기 모듈라이브러리부는The method of claim 1, wherein the module library unit 실시간 운영체제 커널의 각 모듈들을 저장하고, 상기 모듈은 프로그램과 데이터로 구성되며 소정의 제약조건을 포함하는 모듈 라이브러리;A module library for storing respective modules of a real-time operating system kernel, the module comprising a program and data and including predetermined constraints; 상기 모듈라이브러리에 저장되어 있는 실시간 운영체제의 각 기능 모듈의 알고리즘 또는 소프트웨어 프로그램들을 관리하고 유지시켜 주는 객체지향 데이터베이스 관리자; 및An object-oriented database manager for managing and maintaining algorithms or software programs of each function module of a real-time operating system stored in the module library; And 상기 객체지향 데이터 베이스 관리자를 통해 상기 모듈라이브러리를 억세스하여 사용자 요구사항에 따라 적절한 알고리즘 및 소프트웨어 프로그램을 구성하여 출력하는 라이브러리 관리자를 포함함을 특징으로 하는 실시간 운영체제의 커널 자동생성 시스템.And a library manager configured to access the module library through the object-oriented database manager and to configure and output an appropriate algorithm and software program according to user requirements. 제1항에 있어서,The method of claim 1, 상기 커널 생성기에서 생성된 커널을 응용 프로그램 타스크와 컴파일 및 링크시키는 인테그레이터를 부가로 구비함을 특징으로 하는 실시간 운영체제의 커널 자동생성 시스템.And an integrator for compiling and linking the kernel generated by the kernel generator with an application program task. 제3항에 있어서,The method of claim 3, 상기 커널생성기에서 생성된 커널을 실제 사용하는 응용분야의 환경에 맞게 조정하고 상기 조정된 결과를 상기 인테그레이터로 출력하는 조정기를 부가로 구비함을 특징으로 하는 실시간 운영체제의 커널 자동생성 시스템.And a controller for adjusting the kernel generated by the kernel generator according to the environment of an application field actually used and outputting the adjusted result to the integrator. 제3항 또는 제4항 중 어느 한 항에 있어서,The method according to claim 3 or 4, 하드웨어에 종속되는 모듈 또는 새롭게 추가되는 소프트웨어 모듈을 상기 모듈라이버리부에 추가하고, 상기 커널생성기 및 조정기에 그 정보를 반영시키는 확장모듈부를 부가로 구비함을 특징으로 하는 실시간 운영체제의 커널 자동생성 시스템.A kernel auto-generating system of a real-time operating system, characterized by adding a module dependent on hardware or a newly added software module to the module driver unit, and an extension module unit for reflecting the information to the kernel generator and the controller. . 실시간 운영체제 커널의 각 모듈들을 저장하고 관리하며, 상기 모듈은 프로그램과 데이터로 구성되며 소정의 제약조건을 포함하는, 모듈 라이브러리를 생성하는 단계;Storing and managing respective modules of a real-time operating system kernel, the module comprising a program and data, the module library including predetermined constraints; 실시간 운영체제를 필요로 하는 사용자의 요구사항을 받아 들여, 사용자의 요구사항을 정의하는 표현수단인 요구정의언어(DSL)로 변환하는 단계;Receiving a requirement of a user requiring a real-time operating system and converting the request into a request definition language (DSL), which is a means of expressing a requirement of the user; 상기 요구정의언어로 변환된 사용자의 요구사항을 커널생성시스템 내에서 수행하고 처리할 수 있는 표현수단으로 번역하고, 상기 모듈 라이브러리에 원하는 모듈을 요구하고 받아들이는 단계:Translating the user's requirements translated into the request definition language into a means for executing and processing in a kernel generation system, and requesting and accepting a desired module from the module library: 상기 번역된 모듈요구사항과 모듈상호관계에 대한 정보를 모듈들이 상호결합되었을 때 사용자 요구사항을 만족시키는지를 분석 및 검증하고, 이에 대한 결과 및 시뮬레이션 정보를 출력하는 단계;Analyzing and verifying the translated module requirements and the information on the module interrelationships to satisfy user requirements when the modules are combined with each other, and outputting the results and simulation information therefor; 시뮬레이션 정보를 받아 시뮬레이션에 필요한 모듈들을 상기 모듈라이브러리로 부터 가져와서, 상기에서 번역되고 분석 및 검증된 모듈들이 사용자가 요구한 실시간 운영체제의 수행행위(behavior) 및 수행시간을 만족하는지 분석하는 단계;Receiving the simulation information and importing modules for simulation from the module library, and analyzing whether the modules translated, analyzed, and verified satisfy the behavior and execution time of a real-time operating system requested by a user; 상기 분석단계에서의 조건을 만족하지 않으면 이에 대한 메세지를 출력하고, 만족하면 모듈명들과 모듈간의 관계성에 대한 정보를 출력하는 단계: 및Outputting a message about the condition if the condition in the analyzing step is not satisfied; and outputting information on the relationship between the module names and the module if the condition is satisfied; and 상기에서 출력되는 적어도 하나 이상의 모듈명과 모듈간의 관계성에 대한 정보를 이용하여 실시간 운영체제 커널을 생성하는 커널 생성단계를 특징으로 하는 실시간 운영체제의 커널 자동 생성 방법.And a kernel generation step of generating a real-time operating system kernel using information on at least one module name and information on the relationship between the modules. 제6항에 있어서, 상기 커널 생성단계는The method of claim 6, wherein the kernel generation step 상기 커널생성단계에서 생성된 커널을 응용 프로그램 타스크와 컴파일 및 링크시키는 단계를 부가로 구비함을 특징으로 하는 실시간 운영체제의 커널 자동생성 방법.Compiling a kernel generated in the kernel generation step and the step of compiling and linking with an application program task.
KR1019960031524A 1996-07-30 1996-07-30 System aand method for automic generating the realtime operating system kernel KR100272095B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019960031524A KR100272095B1 (en) 1996-07-30 1996-07-30 System aand method for automic generating the realtime operating system kernel

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019960031524A KR100272095B1 (en) 1996-07-30 1996-07-30 System aand method for automic generating the realtime operating system kernel

Publications (2)

Publication Number Publication Date
KR980010765A KR980010765A (en) 1998-04-30
KR100272095B1 true KR100272095B1 (en) 2000-12-01

Family

ID=19468155

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960031524A KR100272095B1 (en) 1996-07-30 1996-07-30 System aand method for automic generating the realtime operating system kernel

Country Status (1)

Country Link
KR (1) KR100272095B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101118036B1 (en) 2010-03-31 2012-02-24 (주)솔빛시스템 Simulatior and simulation method capable of interworking with real code using application programming interace transforming wrapper

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3696515B2 (en) * 2000-03-02 2005-09-21 株式会社ソニー・コンピュータエンタテインメント Kernel function realization structure, entertainment device including the same, and peripheral device control method using kernel

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101118036B1 (en) 2010-03-31 2012-02-24 (주)솔빛시스템 Simulatior and simulation method capable of interworking with real code using application programming interace transforming wrapper

Also Published As

Publication number Publication date
KR980010765A (en) 1998-04-30

Similar Documents

Publication Publication Date Title
US6175948B1 (en) Method and apparatus for a waveform compiler
US6877155B1 (en) System and method for generating target language code utilizing an object oriented code generator
US9772830B2 (en) System and method for modeling cloud rules for migration to the cloud
WO2006068845A2 (en) Systems and methods for generating software and hardware builds
US20090288068A1 (en) Domain model concept for developing computer applications
US20120054716A1 (en) Deployment method and device and assistance in deploying components forming an embedded real time system
WO2020015191A1 (en) Business rule releasing and managing method, electronic device and readable storage medium
US7237223B2 (en) Apparatus and method for real-time caution and warning and system health management
KR100272095B1 (en) System aand method for automic generating the realtime operating system kernel
do Nascimento et al. Modes: Embedded systems design methodology and tools based on mde
Gorton et al. Model-driven architecture
CN114416099B (en) Model integration method based on information physical system and related components
US7225435B2 (en) Method and system for eliminating redundant execution sequences that appear in workloads during workload simulation on an e-business application server
i Casas et al. Using specification and description language to define and implement discrete simulation models.
Arbree et al. Virtual Data in CMS Production
EP0706125A1 (en) Object oriented system and method for generating target language code
Posadas et al. Data flow analysis from UML/MARTE models based on binary traces
CN113495720B (en) Website development system and method
KR100901702B1 (en) Apparatus and method for provider verification based on Object Constraint Language
Pham et al. Building parallel time-constrained HLA federates: A case study with the PARSEC parallel simulation language
Dobbing et al. T-SMART—task-safe, minimal Ada realtime toolset
Van Bever et al. Report on workflow analysis for specific LAM applications
Morelli et al. An MDE approach for the design of platform-aware controls in performance-sensitive applications
Sánchez et al. Abeto framework: a Solution for Heterogeneous IP Management
Simonov DSL Designing And Evaluating For Ocean Models

Legal Events

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

Payment date: 20080731

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee