1 |
1
소프트웨어 설계 모델을 기반으로 하는 제어 프로그램에서 유엠엘(UML: Unified Modeling Language)과 전력 소모 분석을 위해 엠에이알티이(MARTE: Modeling and Analysis of Real-Time and Embedded System) 프로파일 중 CPU와 운영체제가 처리하는 명령어(instruction)을 확장하여 내장형 소프트웨어 설계 모델을 생성하는 단계;
상기 소프트웨어 설계 모델을 기반으로 하는 제어 프로그램에서 상기 설계된 내장형 소프트웨어를 엑스엠엘(XML: extensible markup language)로 변환하고, 변환된 XML을 파싱하여 UML 모델 요소를 추출하는 단계; 및
상기 소프트웨어 설계 모델을 기반으로 하는 제어 프로그램에서 상기 추출한 UML 모델 요소에 대응하는 상기 확장된 명령어를 분석하여 식별하고, 기 저장된 각 확장된 명령어별 소모 전력량을 이용하여 내장형 소프트웨어의 소모 전력을 연산하는 단계를 포함하는 것을 특징으로 하는 소모전력 분석방법
|
2 |
2
제1 항에 있어서, 상기 확장된 명령어는,
CPU가 처리하는 기본적인 명령어(Primitive Instruction) 및 운영체제가 처리하는 명령어(System_function Instruction)를 포함하는 기본 타입 프로파일(EAM_Basic Types)과, 상기 기본 타입 프로파일에 매핑되는 UML 모델요소로 이루어진 설정 타입 프로파일(EAM_Fixed Types)로 이루어진 것을 특징으로 하는 소모전력 분석방법
|
3 |
3
제2 항에 있어서, 상기 CPU가 처리하는 기본적인 명령어는,
load, store, add, call, divide, call modulo, mult, compare, conver Type, branch, bitAND, bitNOT, bitOR, bitXOR, bitShiftLeft 또는 bitShiftRight 중 적어도 하나인 것을 특징으로 하는 소모전력 분석방법
|
4 |
4
제2 항에 있어서, 상기 운영체제가 처리하는 명령어는,
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() 중 적어도 하나인 것을 특징으로 하는 소모전력 분석방법
|
5 |
5
제2 항에 있어서, 상기 설정 타입 프로파일(EAM_Fixed Types)은,
synch
{SystemFunctionKind = msgsnd(), msgrcv()}
asynch
{SystemFunctionKind = msgsnd(), msgrcv()}
alt
{PrimitiveInstructionKind = load, compare, branch}
par
{SystemFunctionKind = fork()}
loop
{PrimitiveInstructionKind = load, compare, branch, load, add, store}
opt
{PrimitiveInstructionKind = load, compare, branch}
open
{SystemFunctionKind = file open()}
write
{SystemFunctionKind = file write()}
read
{SystemFunctionKind = file read()}
close
{SystemFunctionKind = file close()}
+
{PrimitiveInstructionKind = add}
-
{PrimitiveInstructionKind = sub}
*
{PrimitiveInstructionKind = mult}
/
{PrimitiveInstructionKind = divide}
%
{PrimitiveInstructionKind = call modulo}
0026#
{PrimitiveInstructionKind = bitAND}
|
{PrimitiveInstructionKind = bitOR}
^
{PrimitiveInstructionKind = bitXOR}
003c#003c#
{PrimitiveInstructionKind = bitShiftLeft}
003e#003e#
{PrimitiveInstructionKind = bitShiftRight}
~
{PrimitiveInstructionKind = bitShiftNOT}
=
{PrimitiveInstructionKind = store}
++
{PrimitiveInstructionKind = compare}
--
{PrimitiveInstructionKind = load, sub, store}
[ ]
{PrimitiveInstructionKind = bitShiftLeft, load}
!
{PrimitiveInstructionKind = compare}
==
{PrimitiveInstructionKind = compare}
!=
{PrimitiveInstructionKind = compare}
003e#
{PrimitiveInstructionKind = compare}
003e#=
{PrimitiveInstructionKind = compare}
003c#
{PrimitiveInstructionKind = compare}
003c#=
{PrimitiveInstructionKind = compare}
0026#0026#
{PrimitiveInstructionKind = compare, branch}
||
{PrimitiveInstructionKind = compare, branch}
로 이루어지되,
UML 모델요소에 대응하는 기본 타입 프로파일(EAM_Basic Types)의 확장된 명령어로 이루어진 것을 특징으로 하는 소모전력 분석방법
|