KR101099491B1 - Power Consumption Analysis Method - Google Patents
Power Consumption Analysis Method Download PDFInfo
- Publication number
- KR101099491B1 KR101099491B1 KR1020090123476A KR20090123476A KR101099491B1 KR 101099491 B1 KR101099491 B1 KR 101099491B1 KR 1020090123476 A KR1020090123476 A KR 1020090123476A KR 20090123476 A KR20090123476 A KR 20090123476A KR 101099491 B1 KR101099491 B1 KR 101099491B1
- Authority
- KR
- South Korea
- Prior art keywords
- primitiveinstructionkind
- power consumption
- compare
- file
- uml
- Prior art date
- Legal status (The legal status 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 status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
- G06F8/24—Object-oriented
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/42—Syntactic analysis
- G06F8/427—Parsing
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2119/00—Details relating to the type or aim of the analysis or the optimisation
- G06F2119/06—Power analysis or power optimisation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Stored Programmes (AREA)
Abstract
본 발명은 전력 분석방법에 관한 것으로서, 구체적으로는 전력 소모에 효율적인 설계 모델을 생성할 수 있도록 하며, 짧은 시간에 전력소모량을 분석할 수 있도록 한 소모전력 분석방법에 관한 것이다. 이와 같은 본 발명은 유엠엘(UML: Unified Modeling Language)과 전력 소모 분석을 위해 엠에이알티이(MARTE: Modeling and Analysis of Real-Time and Embedded System) 프로파일 중 CPU와 운영체제가 처리하는 명령어(instruction)을 확장하여 내장형 소프트웨어 설계 모델을 생성하는 단계; 상기 설계된 내장형 소프트웨어를 엑스엠엘(XML: extensible markup language)로 변환하고, 변환된 XML을 파싱하여 UML 모델 요소를 추출하는 단계; 및 상기 추출한 UML 모델 요소에 대응하는 상기 확장된 명령어를 분석하여 식별하고, 기 저장된 각 확장된 명령어별 소모 전력량을 이용하여 내장형 소프트웨어의 소모 전력을 연산하는 단계를 포함하는 소모전력 분석방법을 제공한다.
전력 분석, 소모 전력, UML, MARTE, 프로파일
The present invention relates to a power analysis method, and more particularly, to a power consumption analysis method for generating a design model that is efficient for power consumption and for analyzing power consumption in a short time. As such, the present invention may be configured to process instructions processed by a CPU and an operating system in a modeling and analysis of real-time and embedded system (MARTE) profile for unified modeling language (UML) and power consumption analysis. Expanding to create an embedded software design model; Converting the designed embedded software into an extensible markup language (XML), and parsing the converted XML to extract UML model elements; And analyzing and identifying the extended instructions corresponding to the extracted UML model elements, and calculating power consumption of embedded software using the stored power consumption of each extended instruction. .
Power Analysis, Power Consumption, UML, MARTE, Profile
Description
본 발명은 전력 분석방법에 관한 것으로서, 구체적으로는 전력 소모에 효율적인 설계 모델을 생성할 수 있도록 하며, 짧은 시간에 전력소모량을 분석할 수 있도록 한 소모전력 분석방법에 관한 것이다.The present invention relates to a power analysis method, and more particularly, to a power consumption analysis method for generating a design model that is efficient for power consumption and for analyzing power consumption in a short time.
종래의 설계 모델 기반의 소모 전력 분석 방법들은 소모 전력을 분석하기 위한 별도의 모델을 개발하고, 이를 분석하기 위한 기반 구조를 함께 정의하여 전력 분석을 수행한다. 그러나, 이러한 방법들은 일반적인 소프트웨어 개발 과정에서 수행하는 활동이외에 추가적인 활동을 필요로 한다.Conventional design model-based power consumption analysis methods develop a separate model for analyzing power consumption, and define a base structure for analyzing the power together to perform power analysis. However, these methods require additional activities beyond those performed during normal software development.
즉, 전력 분석용 모델과 분석을 위한 기반 구조를 구축하기 위한 추가적인 노력이 필요하다. In other words, additional efforts are needed to build a model for power analysis and an infrastructure for analysis.
이에, 종래의 소프트웨어에 대한 전력분석 방법은 별도의 모델과 분석 방법을 통해 수행하기 때문에 분석 결과를 피드백하여 소프트웨어 개발 과정에 적용하기가 용이하지 못하다는 문제점이 있다.Thus, since the power analysis method for the conventional software is performed through a separate model and analysis method, there is a problem that it is not easy to apply the analysis result to the software development process.
본 발명은 상기와 같은 문제점을 감안하여 안출된 것으로, 개발 초기에 소프트웨어에 대한 전력 분석을 수행하여 전력 소모에 효율적인 설계 모델을 만들 수 있도록 도와주며 짧은 시간에 전력 분석을 수행할 수 있도록 한 소모전력 분석방법을 제공함에 그 목적이 있다.The present invention has been devised in view of the above problems, and helps to create a design model that is efficient for power consumption by performing power analysis on software in the early stage of development, and consumes power in a short time. The purpose is to provide analytical methods.
본 발명의 다른 목적은 소프트웨어 설계에 보편적으로 활용되는 UML과 내장형 소프트웨어의 비기능적 요구사항을 설계하고, 분석하기 위한 MARTE 프로파일을 확장하여 내장형 소프트웨어의 소모 전력을 분석할 수 있도록 한 소모전력 분석방법을 제공함에 있다.Another object of the present invention is to extend the MARTE profile for designing and analyzing the non-functional requirements of UML and embedded software that are commonly used in software design, and to analyze the power consumption of embedded software. In providing.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.Technical problems of the present invention are not limited to the technical problems mentioned above, and other technical problems not mentioned will be clearly understood by those skilled in the art from the following description.
상기와 같은 목적을 달성하기 위한 본 발명의 일면에 따른 소모전력 분석방법은, 유엠엘(UML: Unified Modeling Language)과 전력 소모 분석을 위해 엠에이알티이(MARTE: Modeling and Analysis of Real-Time and Embedded System) 프로파일 중 CPU와 운영체제가 처리하는 명령어(instruction)을 확장하여 내장형 소프트웨어 설계 모델을 생성하는 단계; 상기 설계된 내장형 소프트웨어를 엑스엠엘(XML: extensible markup language)로 변환하고, 변환된 XML을 파싱하여 UML 모델 요소를 추출하는 단계; 및 상기 추출한 UML 모델 요소에 대응하는 상기 확장된 명령어를 분석하여 식별하고, 기 저장된 각 확장된 명령어별 소모 전력량을 이용하여 내장형 소프트웨어의 소모 전력을 연산하는 단계를 포함하는 것을 특징으로 한다.Power consumption analysis method according to an aspect of the present invention for achieving the above object, the modeling and analysis of Real-Time and Embedded (MARTE) for power consumption analysis (UML) and UML (Unified Modeling Language) System) Generating an embedded software design model by extending the instructions (instruction) processed by the CPU and the operating system of the profile; Converting the designed embedded software into an extensible markup language (XML), and parsing the converted XML to extract UML model elements; And analyzing and identifying the extended instructions corresponding to the extracted UML model elements, and calculating power consumption of embedded software by using the stored power consumption of each extended instruction.
바람직하게, 상기 확장된 명령어는 CPU가 처리하는 기본적인 명령어(Primitive Instruction) 및 운영체제가 처리하는 명령어(System_function Instruction)를 포함하는 기본 타입 프로파일(EAM_Basic Types)과, 상기 기본 타입 프로파일에 매핑되는 UML 모델요소로 이루어진 설정 타입 프로파일(EAM_Fixed Types)로 이루어진 것을 특징으로 한다.Preferably, the extended instructions include basic type profiles (EAM_Basic Types) including basic instructions processed by the CPU and system_function instructions processed by the operating system, and UML model elements mapped to the basic type profiles. Characterized in that consisting of the configuration type profile (EAM_Fixed Types) consisting of.
바람직하게, 상기 CPU가 처리하는 기본적인 명령어는 load, store, add, call, divide, call modulo, mult, compare, conver Type, branch, bitAND, bitNOT, bitOR, bitXOR, bitShiftLeft 또는 bitShiftRight 중 적어도 하나인 것을 특징으로 한다.Preferably, the basic instructions processed by the CPU are at least one of load, store, add, call, divide, call modulo, mult, compare, conver Type, branch, bitAND, bitNOT, bitOR, bitXOR, bitShiftLeft or bitShiftRight. It is done.
바람직하게, 상기 운영체제가 처리하는 명령어는 fork(), waitpid(), wait(), signal(), msgsnd(), msgrcv(), msgget(), msgctl(), semget(), semctl(), semop(), pipe(), pipe open(), pipe write(), file open(), file close(), file read(), file write(), shmget(), semat(), shmdt() 또는 shmctl() 중 적어도 하나인 것을 특징으로 한다.Preferably, the command processed by the operating system is fork (), waitpid (), wait (), signal (), msgsnd (), msgrcv (), msgget (), msgctl (), semget (), semctl (), semop (), pipe (), pipe open (), pipe write (), file open (), file close (), file read (), file write (), shmget (), semat (), shmdt (), or It is characterized in that at least one of shmctl ().
바람직하게, 상기 설정 타입 프로파일(EAM_Fixed Types)은 Preferably, the configuration type profiles (EAM_Fixed Types) are
로 이루어지되, UML 모델요소에 대응하는 기본 타입 프로파일(EAM_Basic Types)의 확장된 명령어로 이루어진 것을 특징으로 한다.It is made as, characterized in that consisting of the extended command of the basic type profile (EAM_Basic Types) corresponding to the UML model element.
전술한 과제해결 수단에 의해 본 발명은 별도의 전력 분석용 모델을 개발할 필요성이 없으며, 소모 전력 분석 결과를 소프트웨어 설계 모델에 쉽게 적용할 수 있는 효과가 있다. The present invention does not need to develop a separate power analysis model by the above-mentioned problem solving means, there is an effect that can easily apply the power consumption analysis results to the software design model.
또한 내장형 소프트웨어 모델 설계에 많이 사용되는 UML과 MARTE 프로파일을 사용함으로써, 별도의 분석 모델을 사용하지 않고 소모 전력을 분석할 수 있으며, 분석 결과에 대한 피드백을 설계 모델에 그대로 적용할 수 있는 효과가 있다.In addition, by using UML and MARTE profiles, which are frequently used in embedded software model design, power consumption can be analyzed without using separate analysis models, and feedback on analysis results can be applied to design models. .
또한 설계 모델상에서의 전력 소모 분석 결과에 대한 반영은 저전력을 소모하는 내장형 소프트웨어를 개발할 수 있는 기회를 제공할 수 있는 효과가 있다.In addition, the reflection of the power consumption analysis results in the design model has the effect of providing an opportunity to develop low-power embedded software.
하기의 설명에서 본 발명의 소모전력 분석방법의 특정 상세들이 본 발명의 보다 전반적인 이해를 제공하기 위해 나타나 있는데, 이들 특정 상세들 없이 또한 이들의 변형에 의해서도 본 발명이 용이하게 실시될 수 있다는 것은 이 기술분야에서 통상의 지식을 가진 자에게 자명할 것이다.In the following description, specific details of the power consumption analysis method of the present invention are shown to provide a more general understanding of the present invention. It will be apparent to those of ordinary skill in the art.
하기의 설명에서 본 발명은 확장된 MARTE 프로파일을 에너지 분석 모델(Energy Analysis Model: EAM)이라 정의하였다. 여기서 MARTE 프로파일은 UML로 설계된 소프트웨어 모델에 대하여 비기능적 요구사항(성능, 보안등)을 분석할 수 있도록 지원하는 프로파일을 의미한다.In the following description, the present invention defines an extended MARTE profile as an Energy Analysis Model (EAM). Here, the MARTE profile refers to a profile that supports analysis of non-functional requirements (performance, security, etc.) for software models designed with UML.
이하, 본 발명에 따른 바람직한 실시 예를 첨부된 도면을 참조하여 상세히 설명하되, 본 발명에 따른 동작 및 작용을 이해하는데 필요한 부분을 중심으로 설명한다.Hereinafter, preferred embodiments according to the present invention will be described in detail with reference to the accompanying drawings, with reference to the parts necessary for understanding the operation and operation according to the present invention.
도 1은 본 발명의 실시예에 따른 내장형 소프트웨어 소모 전력 분석에 대한 메타모델을 설명하기 위한 예시도이다.1 is an exemplary diagram for explaining a metamodel for embedded software power consumption analysis according to an embodiment of the present invention.
도 1을 참조하면, 기존의 MARTE 프로파일에 내장형 소프트웨어의 소모 전력 분석에 필요한 정보들을 포함시키기 위해 도 1과 같은 내장형 소프트웨어의 소모 전력 분석에 대한 내장형 소프트웨어의 소모 전력 분석에 대한 메타모델을 정의하였다.Referring to FIG. 1, in order to include information required for power consumption analysis of embedded software in an existing MARTE profile, a metamodel for power consumption analysis of embedded software for power consumption analysis of embedded software such as FIG. 1 is defined.
소프트웨어 모델 요소(SW model elements)(100)들은 구현을 통한 명령어(Instruction)(200) 수준의 패턴으로 정의할 수 있다. 명령어는 Load, Add, Store 등과 같은 기본 명령어(Primitive instruction)(201) 집합과 Wait(), fork() 등과 같은 함수 명령어(Sys_function instruction)(202)로 구분된다. 이들 명령어들은 피연산자의 타입에 따라서 소모되는 전력이 차이가 발생하기 때문에 int, char, double 등과 같은 피연산자(Operand)(203) 타입의 정보가 필요한다.
명령어의 집합으로 표현될 수 있는 소프트웨어 모델 요소들은 프로세스 또는 실행 단위로 그룹핑(300)되어 하드웨어 모델 요소(400)에 할당된다.Software model elements, which may be represented as a set of instructions, are grouped 300 into processes or execution units and assigned to
하드웨어 모델 요소들은 하드웨어 정보(401)와 전력 소모에 대한 정보(402)로 구성된다.Hardware model elements consist of
도 1과 같은 메타모델로 표현되는 정보들이 내장형 소프트웨어의 소모 전력 분석에 이용되지만 기존의 UML이나 MARTE 프로파일은 도 1에 표현한 모든 정보들을 표현하지 못한다. 여기서, UML은 Unified Modeling language의 약자로서, 소프트웨어 개발 과정에서 산출되는 산출물들을 명시, 개발, 문서화하기 위한 모델링 언어이다. 즉, 소프트웨어를 설계하기 위한 수단으로서 사용된다.Information represented by the metamodel as shown in FIG. 1 is used for power consumption analysis of embedded software, but the existing UML or MARTE profiles do not represent all the information shown in FIG. UML is an abbreviation of Unified Modeling language and is a modeling language for specifying, developing, and documenting outputs generated during a software development process. That is, it is used as a means for designing software.
다시 말하면, 도 1의 음영으로 표시된 부분은 UML과 MARTE 프로파일을 이용하여 표현할 수 있지만 그렇지 않은 부분은 표현할 수 있는 방법이 없다.In other words, the shaded portion of FIG. 1 can be expressed using UML and MARTE profiles, but there is no way to express the portion not.
따라서, 본 발명은 이러한 부분을 표현할 수 있도록 MARTE 프로파일을 확장하였다. 확장을 위해 도 1로부터 도출된 기존 MARTE에서 표현하지 못하는 요소들에 대해 하기 표1과 같이 정리한다.Therefore, the present invention has extended the MARTE profile to represent this part. For expansion, elements that cannot be expressed in the existing MARTE derived from FIG. 1 are summarized as shown in Table 1 below.
도 2는 본 발명의 실시예에 따라 확장된 MARTE 프로파일(EAM)의 상위 도메인 모델을 설명하기 위한 예시도이다.2 is an exemplary diagram for explaining a higher domain model of an extended MARTE profile (EAM) according to an embodiment of the present invention.
도 2를 참조하면, EAM 프로파일(500)은 MARTE 프로파일에서 다양한 분석 모델을 구축하는데 필요한 개념들을 정의하고 있는 GQAM(Generic Quantitative Analysis Model) 패키지를 확장하여 전력 소모 정보들을 표현할 수 있는 상위 도메인 모델로 정의되었다. 또한 EAM_BasicTypes(600)과 EAM_FixedType(700)은 각각 상기 표 1로부터 도출된 명령어들과 UML 모델 요소에 대한 명령어들의 매핑 정보들을 정의하고 있다.Referring to FIG. 2, the EAM
하기 표 2는 도 2에 있어, EAM_BasicTypes에 정의된 명령어들을 보여주고 있다. Table 2 below shows the commands defined in EAM_BasicTypes in FIG. 2.
정의된 명령어들은 확장성을 위해 하드웨어 플랫폼과의 종속성을 최소화하여 일반화된 형태로 정의되었다. Primitive instruction(기본적인 명령어)은 내장형 시스템 구성에 많이 사용되는 Strong Arm에서 제공하는 명령어를 참조하여 일반화하여 정의하였으며, System_function instruction(운영체제가 처리하는 명령어)은 Embedded Linux에서 제공하는 시스템 함수를 참고하여 일반화하였다. MARTE 프로파일에 포함되어 확장되는 도 2의 EAM_BasicTypes(600)에 대한 세부적인 정의는 도 3과 같다. 도 3의 PrimitiveInstructionKind(601)는 도 3의 Primitive instruction들을 정의하고 있고, SystemFunctionKind(602)는 System_function instruction들을 정의하고 있다. The defined instructions are defined in a generalized form with minimal dependency on the hardware platform for extensibility. Primitive instructions are generalized by referring to the instructions provided by Strong Arm, which are often used for embedded system configuration. System_function instructions are generalized by referring to the system functions provided by Embedded Linux. . A detailed definition of the EAM_BasicTypes 600 of FIG. 2 that is included in the MARTE profile and extended is shown in FIG. 3. PrimitiveInstructionKind 601 of FIG. 3 defines the Primitive instructions of FIG. 3, and SystemFunctionKind 602 defines the System_function instructions.
이러한 PrimitiveInstructionKind(601)의 instruction들을 살펴보면 다음과 같다.Looking at the instructions of such PrimitiveInstructionKind (601) as follows.
load : 메모리 데이터를 프로세서의 레지스터에 로드한다. 즉, 메모리로부터 데이터를 읽어올 때 사용하는 명령어이다.load: Load memory data into the registers of the processor. In other words, this command is used to read data from memory.
store : 프로세서의 레지스터 값을 메모리에 저장한다. load와 반대로 메모리로 데이터를 저장할 때 사용한다. store: Stores the register values of the processor in memory. Used to store data in memory as opposed to load.
add : 두 개의 레지스터에 저장된 값을 더하는 명령어이다.add: Adds the values stored in two registers.
call divide : 두 개의 레지스터에 저장된 값에 대하여 나눗셈 연산을 수행하는 명령어이다.call divide A command that performs a divide operation on the values stored in two registers.
call modulo : 두 개의 레지스터에 저장된 값에 대하여 나눗셈 연산을 수행한 몫의 나머지를 구하는 명령어이다. call modulo: This command finds the remainder of the quotient of the division operation on the values stored in two registers.
mult : 두 개의 레지스터에 저장된 값을 곱하는 명령어이다.mult: This command multiplies the values stored in two registers.
compare : 두 개의 레지스터에 저장된 값에 대하여 값이 동일한 지를 비교하는 명령어이다.compare: Compares the values in two registers for equality.
convertType : 숫자 타입의 데이터 값을 변경해주는 명령어이다. int -> float, int -> double, float -> int, double -> int 등으로 변경해준다.convertType: Command to change the data value of numeric type. Change it to int-> float, int-> double, float-> int, double-> int.
branch : 프로그램의 흐름을 분기시키는 명령어이다.branch: A command to branch the flow of a program.
bitAND : 비트 논리연산자 중 AND의 기능을 수행한다.bitAND: performs the function of AND among bit logic operators.
bitNOT : 비트 논리연산자 중 NOT의 기능을 수행한다.bitNOT: Performs NOT function among bit logic operators.
bitOR : 비트 논리연산자 중 OR의 기능을 수행한다.bitOR: Performs OR function among the bit logic operators.
bitXOR : 비트 논리연산자 중 XOR의 기능을 수행한다.bitXOR: Performs XOR function among bit logic operators.
bitShiftLeft : 왼쪽으로 Bit를 이동시킨다.bitShiftLeft: Move Bit to the left.
bitShiftRight : 오른쪽으로 Bit를 이동시킨다.bitShiftRight: Move Bit to the right.
다음은 SystemFunctionKind(602)의 instruction들을 살펴보면 다음과 같다.Next, the instructions of SystemFunctionKind (602) are as follows.
fork() : 현재 실행되는 프로세스에 대한 복사본 프로세스를 생성하는 시스템 함수이다.fork (): This is a system function that creates a copy process for the currently running process.
waitpid(), wait() : 생성된 자식 프로세스의 종료 상태를 확인하는 시스템 함수이다. waitpid (), wait (): This is a system function that checks the exit status of a created child process.
signal() : 이전에 발생한 signal의 핸들러 포인터를 반환하는 시스템 함수이다.signal (): This is a system function that returns a handler pointer of a previously generated signal.
msgsnd() : 특정 프로세스에 메시지를 전송하는 시스템 함수이다.msgsnd (): A system function that sends a message to a specific process.
msgrcv() : 특정 프로세스가 메시지를 수신하기 위해 호출하는 시스템 함수이다.msgrcv (): System function called by a specific process to receive a message.
msgget() : 특정 메시지의 ID 값을 가져오기 위한 시스템 함수이다.msgget (): This is a system function to get the ID value of a specific message.
msgctl() : 특정 메시지의 작동을 제어하는 시스템 함수이다.msgctl (): A system function that controls the behavior of a particular message.
semget() : 세마포어 값을 가져온다.semget (): Gets a semaphore value.
semctl() : 특정 세마포어에 대해 제어 작용을 수행하는 시스템 함수이다.semctl (): A system function that controls a specific semaphore.
semop() : 특정 세마포어에 대해 연산을 수행하는 시스템 함수이다.semop (): A system function that performs an operation on a specific semaphore.
pipe() : 프로세스 통신을 위해 파일 디스크립터쌍을 갖는 파이프를 생성하는 시스템 함수이다.pipe (): System function that creates a pipe with a pair of file descriptors for process communication.
pipe open() : 파이프를 사용하기 위해 파일 디스크립터를 여는 시스템 함수이다.pipe open () is a system function that opens a file descriptor for a pipe.
pipe write() : 프로세스 통신을 통해 전송되는 데이터를 파이프에 작성하는 시스템 함수이다.pipe write (): A system function that writes data to a pipe that is sent through process communication.
File open() : 파일을 사용하기 위해 파일을 여는 시스템 함수이다.File open () is a system function that opens a file for use.
File close() : 파일 사용이 끝난 후에 파일을 닫는 시스템 함수이다.File close (): This is a system function that closes a file after using it.
File read() : 파일을 읽기 위해 사용되는 시스템 함수이다.File read (): System function used to read a file.
File write() : 파일에 특정 데이터를 쓰기 위해 사용되는 시스템 함수이다.File write (): This is a system function used to write specific data to a file.
shmget() : 현재 시스템에서 사용되는 공유 메모리의 ID 값을 얻어오는 시스템 함수이다.shmget (): This is a system function to get the ID of the shared memory used by the current system.
shmat() : 공유 메모리를 특정 프로세스의 안으로 첨부하는 시스템 함수이다.shmat (): A system function that attaches shared memory into a specific process.
shmdt() : semat()의 반대로써, 특정 프로세스 안에 있는 공유 메모리를 분리하는 시스템 함수이다.shmdt (): The reverse of semat (), a system function that separates shared memory within a particular process.
shmctl() : 공유 메모리에 대한 제어 연산을 수행하는 시스템 함수이다.shmctl (): A system function that performs control operations on shared memory.
도 3의 확장을 통해 UML로 모델링된 소프트웨어 모델 요소들의 내부 행위를 명령어로 표현할 수 있다. 명령어로 표현된 소프트웨어 모델 요소들은 도 4의 매핑 정보(701)를 통해 전력 소모 분석을 수행할 수 있다. 매핑은 UML 모델 요소와 Action Semantic에 대한 명령어들과의 관계를 나타낸다. 즉, UML 모델 요소와 Action Semantic의 행위와 대응되는 명령어들의 집합을 표현한 것이다.3, the internal behavior of software model elements modeled by UML can be expressed by instructions. The software model elements represented by the command may perform power consumption analysis through the
도 4의 매핑 정보(701)는 좌측에 해당하는 UML 모델요소에 대응하는 기본 타입 프로파일(EAM_Basic Types)의 확장된 명령어를 우측에 포함하고 있다. 즉 확장된 EAM 프로파일을 UML 모델요소와 매핑시킴으로써, 소프트웨어 설계단계에서 정확한 소모전력을 계산할 수 있게 된다.The
이러한 기본 타입 프로파일의 UML 모델요소를 설명하면 다음과 같다.The UML model elements of these basic type profiles are described as follows.
synch : 다른 객체(서브 시스템)에 동기 메시지를 보내는 모델 요소이다.synch: A model element that sends a sync message to another object (subsystem).
asynch : 다른 객체(서브 시스템)에 비동기 메시지를 보내는 모델 요소이다.asynch: Model element for sending asynchronous messages to other objects (subsystems).
alt : 특정 조건에 따라 실행 여부를 결정하는 모델 요소이다.alt: Model element that decides execution based on specific condition.
par : 병렬적으로 작업을 수행해야 하는 부분에 사용되는 모델 요소이다.par: Model element used for parts that need to be done in parallel.
loop : 반복적으로 작업을 수행해야 하는 부분에 사용되는 모델 요소이다.loop: This is the model element used for the part that needs to be done repeatedly.
opt : 어떤 작업이후에 추가적으로 수행해야할 작업을 표현하기 위해 사용되는 모델 요소이다.opt: Model element used to express work to be performed after some work.
open : 파일 오픈에 대한 작업을 표현하기 위해 사용되는 모델 요소이다.open: A model element used to represent an operation on opening a file.
write : 파일 쓰기에 대한 작업을 표현하기 위해 사용되는 모델 요소이다.write: Model element used to represent the operation of writing a file.
read : 파일 읽기에 대한 작업을 표현하기 위해 사용되는 모델 요소이다.read: Model element used to express the operation of reading a file.
close : 파일 닫기에 대한 작업을 표현하기 위해 사용되는 모델 요소이다.close: A model element used to express the action of closing a file.
도 5는 본 발명의 실시예에 따른 소모전력 분석방법을 보인 흐름도이다.5 is a flowchart illustrating a power consumption analysis method according to an embodiment of the present invention.
도 5를 참조하면, UML(801)과 전력 소모 분석을 위해 MARTE 프로파일을 확장한 EAM Profile(802)을 이용하여 내장형 소프트웨어 설계 모델(803)을 생성한다(S501). Referring to FIG. 5, an embedded software design model 803 is generated using the UML 801 and the EAM Profile 802 extending the MARTE profile for power consumption analysis (S501).
설계된 소프트웨어 모델을 XML로 변환(804)하고 변환된 XML(eXtensible Markup Language)을 파싱하여 UML 모델 요소를 추출한다(S503). The designed software model is converted into XML (804), and the converted XML (eXtensible Markup Language) is parsed to extract UML model elements (S503).
이후, 추출된 각 UML 모델 요소들에 대응되는 명령어들을 분석하고(S505), 분석결과에 따라 식별하고 기 저장된 각 확장된 명령어별 소모 전력량을 이용하여 내장형 소프트웨어의 소모 전력을 연산한다(S507). Subsequently, the commands corresponding to the extracted UML model elements are analyzed (S505), identified according to the analysis result, and the power consumption of the embedded software is calculated using the stored power consumption of each extended instruction (S507).
즉, 상술한 도 4에 대한 기술내용을 이용하여 UML 모델 요소에 매핑되는 기본 타입 프로파일(EAM_Basic Types)의 확장된 명령어의 기 저장된 소모 전력량을 전체 명령어에 대해 모두 합산하여 설계한 소프트웨어 모델의 전력 소모량을 획득하게 된다.That is, the power consumption of the software model designed by summing all the stored power consumption of the extended instructions of the basic type profile (EAM_Basic Types) mapped to the UML model elements using the above description of FIG. Will be obtained.
한편 본 발명의 상세한 설명에서는 구체적인 실시예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 안되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.Meanwhile, in the detailed description of the present invention, specific embodiments have been described, but various modifications are possible without departing from the scope of the present invention. Therefore, the scope of the present invention should not be limited to the described embodiments, but should be defined not only by the scope of the following claims, but also by the equivalents of the claims.
도 1은 본 발명의 실시예에 따른 내장형 소프트웨어 소모 전력 분석에 대한 메타모델을 설명하기 위한 예시도.1 is an exemplary diagram for explaining a metamodel for embedded software power consumption analysis according to an embodiment of the present invention.
도 2는 본 발명의 실시예에 따라 확장된 MARTE 프로파일(EAM)의 상위 도메인 모델을 설명하기 위한 예시도.2 is an exemplary diagram for explaining a higher domain model of an extended MARTE profile (EAM) according to an embodiment of the present invention.
도 3은 도 2에 있어, EAM_BasicTypes에 대한 세부적인 내용을 설명하기 위한 예시도.FIG. 3 is an exemplary diagram for describing details of EAM_BasicTypes in FIG. 2. FIG.
도 4는 도 2에 있어, EAM_FixedTypes에 대한 세부적인 내용을 설명하기 위한 예시도.FIG. 4 is an exemplary diagram for explaining details of EAM_FixedTypes in FIG. 2. FIG.
도 5는 본 발명의 실시예에 따른 소모전력 분석방법을 보인 흐름도.5 is a flow chart showing a power consumption analysis method according to an embodiment of the present invention.
Claims (5)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020090123476A KR101099491B1 (en) | 2009-12-11 | 2009-12-11 | Power Consumption Analysis Method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020090123476A KR101099491B1 (en) | 2009-12-11 | 2009-12-11 | Power Consumption Analysis Method |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| KR20110066715A KR20110066715A (en) | 2011-06-17 |
| KR101099491B1 true KR101099491B1 (en) | 2011-12-28 |
Family
ID=44399485
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020090123476A Expired - Fee Related KR101099491B1 (en) | 2009-12-11 | 2009-12-11 | Power Consumption Analysis Method |
Country Status (1)
| Country | Link |
|---|---|
| KR (1) | KR101099491B1 (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN103838928B (en) * | 2014-03-10 | 2016-08-17 | 中国北方车辆研究所 | The method for designing of stabilized shaft gearbox universal model based on Matlab |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20070220292A1 (en) | 2006-03-15 | 2007-09-20 | Fujitsu Limited | Estimating software power consumption |
-
2009
- 2009-12-11 KR KR1020090123476A patent/KR101099491B1/en not_active Expired - Fee Related
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20070220292A1 (en) | 2006-03-15 | 2007-09-20 | Fujitsu Limited | Estimating software power consumption |
Non-Patent Citations (2)
| Title |
|---|
| 논문(정보과학회_2009.11) |
| 논문(정보과학회_2010.4) |
Also Published As
| Publication number | Publication date |
|---|---|
| KR20110066715A (en) | 2011-06-17 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6996517B1 (en) | Performance technology infrastructure for modeling the performance of computer systems | |
| CN105022630B (en) | A kind of assembly management system and assembly management method | |
| US7917899B2 (en) | Program development apparatus, method for developing a program, and a computer program product for executing an application for a program development apparatus | |
| US20110126179A1 (en) | Method and System for Dynamic Patching Software Using Source Code | |
| US20130298111A1 (en) | Code converting method, program, and system | |
| US11126408B2 (en) | Incremental code generation method | |
| CN108197027B (en) | Software performance optimization method, storable medium, computer program | |
| CN106843996A (en) | Conditional compilation preprocess method and device | |
| CN102508689A (en) | Data processing system capable of maintaining dependency relationship in advanced language program data flow diagram extraction | |
| CN107463421B (en) | Compiling and executing method and system of static flow model | |
| CN102360306A (en) | Method for extracting and optimizing information of cyclic data flow charts in high-level language codes | |
| CN105335161B (en) | It is a kind of from TASM time abstractions state machine to extension NTA automatic machines conversion method | |
| CN119883272A (en) | Heterogeneous code translation method, device, equipment and medium | |
| CN113934431A (en) | A quantum program compilation method, device and electronic device | |
| KR101099491B1 (en) | Power Consumption Analysis Method | |
| CN113721928A (en) | Binary analysis-based dynamic library clipping method | |
| JP2009075965A (en) | Software development method and software development apparatus | |
| JP2017091070A (en) | Executable code generation program and executable code generation device | |
| JP2005321848A (en) | System simulation execution program and hardware description conversion program | |
| CN112148271A (en) | Method for automatically generating and injecting assembly process codes | |
| JP4938991B2 (en) | Program code generating apparatus, program code generating method, and computer program | |
| CN112799724A (en) | A method and device for analytical calculation of strategy table of stability control device | |
| JP2003015914A (en) | Method and apparatus for creating a test program for evaluating an information processing apparatus, and a program describing processing for the same | |
| JPH08180094A (en) | Architecture simulator | |
| JPH0588912A (en) | Multi-Processor Simulator |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A201 | Request for examination | ||
| PA0109 | Patent application |
St.27 status event code: A-0-1-A10-A12-nap-PA0109 |
|
| PA0201 | Request for examination |
St.27 status event code: A-1-2-D10-D11-exm-PA0201 |
|
| D13-X000 | Search requested |
St.27 status event code: A-1-2-D10-D13-srh-X000 |
|
| D14-X000 | Search report completed |
St.27 status event code: A-1-2-D10-D14-srh-X000 |
|
| E902 | Notification of reason for refusal | ||
| PE0902 | Notice of grounds for rejection |
St.27 status event code: A-1-2-D10-D21-exm-PE0902 |
|
| PG1501 | Laying open of application |
St.27 status event code: A-1-1-Q10-Q12-nap-PG1501 |
|
| P11-X000 | Amendment of application requested |
St.27 status event code: A-2-2-P10-P11-nap-X000 |
|
| P13-X000 | Application amended |
St.27 status event code: A-2-2-P10-P13-nap-X000 |
|
| E701 | Decision to grant or registration of patent right | ||
| PE0701 | Decision of registration |
St.27 status event code: A-1-2-D10-D22-exm-PE0701 |
|
| GRNT | Written decision to grant | ||
| PR0701 | Registration of establishment |
St.27 status event code: A-2-4-F10-F11-exm-PR0701 |
|
| PR1002 | Payment of registration fee |
St.27 status event code: A-2-2-U10-U11-oth-PR1002 Fee payment year number: 1 |
|
| PG1601 | Publication of registration |
St.27 status event code: A-4-4-Q10-Q13-nap-PG1601 |
|
| R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-5-5-R10-R18-oth-X000 |
|
| FPAY | Annual fee payment |
Payment date: 20141204 Year of fee payment: 4 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 4 |
|
| R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-5-5-R10-R18-oth-X000 |
|
| FPAY | Annual fee payment |
Payment date: 20151211 Year of fee payment: 5 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 5 |
|
| LAPS | Lapse due to unpaid annual fee | ||
| PC1903 | Unpaid annual fee |
St.27 status event code: A-4-4-U10-U13-oth-PC1903 Not in force date: 20161222 Payment event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE |
|
| PC1903 | Unpaid annual fee |
St.27 status event code: N-4-6-H10-H13-oth-PC1903 Ip right cessation event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE Not in force date: 20161222 |
|
| P22-X000 | Classification modified |
St.27 status event code: A-4-4-P10-P22-nap-X000 |
|
| R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-5-5-R10-R18-oth-X000 |
|
| P22-X000 | Classification modified |
St.27 status event code: A-4-4-P10-P22-nap-X000 |
|
| P22-X000 | Classification modified |
St.27 status event code: A-4-4-P10-P22-nap-X000 |
|
| P22-X000 | Classification modified |
St.27 status event code: A-4-4-P10-P22-nap-X000 |
|
| PN2301 | Change of applicant |
St.27 status event code: A-5-5-R10-R13-asn-PN2301 St.27 status event code: A-5-5-R10-R11-asn-PN2301 |
|
| R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-5-5-R10-R18-oth-X000 |
|
| R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-5-5-R10-R18-oth-X000 |