파일 코드 생성

코드 생성 중에 파일은 동작 코드를 포함하여 전체 프로덕션 코드를 생성합니다. 해당되는 모델링 특성의 관점에서 모델링된 파일은 내재적 싱글톤 오브젝트와 유사합니다.

활성 또는 반응 파일의 경우, IBM® Rational® Rhapsody®는 활성 또는 반응 기능을 사용하는 내재적 공용 오브젝트(싱글톤)를 생성합니다. 싱글톤의 이름은 파일의 이름입니다.

주: 싱글톤 인스턴스는 패키지 소스 파일이 아닌 구현 소스 파일에서 정의됩니다.
상수 수정자를 가진 변수의 경우, Rhapsody는 #define
문을 생성합니다. 예를 들어, 다음과 같습니다.     #define MAX 66

다음 표는 오브젝트 코드 생성과 파일 코드 생성 간의 차이점을 표시합니다.

표 1. 오브젝트 코드 생성과 파일 코드 생성 간의 차이점
모델 요소 파일 코드 오브젝트 코드
데이터 멤버(속성, 연관 또는 오브젝트) 글로벌 변수입니다. 싱글톤 struct의 멤버입니다.
함수 이름. <lang>_CG::Operation::PublicName<lang>_CG::Operation::PrivateName 특성을 사용하여 함수(파일, 오브젝트 및 기타 요소)의 이름 패턴을 구성할 수 있습니다. 함수 이름 패턴은 <Function>입니다. public 함수의 이름 패턴은 <Singleton>_<function>입니다.

private 함수의 패턴은 <Function>입니다.

함수 시그니처 프레임워크 콜백 함수의 시그니처를 준수해야 할 경우(반응 동작의 경우) me 인수가 생성됩니다. 동일합니다.
초기화 변수 및 연관은 정의에서 직접 초기화됩니다. 예를 들면,

int x=5;

오브젝트는 생성된 Init 함수에서 초기화됩니다.

초기화 함수에서 수행됩니다.
유형 이름 가시성에 관계없이 유형의 이름 패턴은 <Type>입니다. public 유형의 이름 패턴은 <Singleton>_type입니다.

private 함수의 이름 패턴은 <Type>입니다.

<lang>_CG::Type::PublicNamePrivateName 특성을 사용하여 이름 패턴을 구성할 수 있습니다.

가시성 public 멤버는 스펙(.h) 파일에 extern으로 선언되며 구현(.c) 파일에 정의됩니다.

예를 들면,

extern int volume;

private 멤버는 구현 파일에 static으로 선언 및 정의됩니다.

예를 들면,

static int volume;

멤버 가시성은 무시됩니다. 가시성은 struct 가시성의 결과입니다.

예를 들어, 다음과 같습니다.

struct Ob_t {
int volume;
};

자동 생성됨
초기화 및 정리 알고리즘 초기화만 초기화 메소드에서 수행됩니다(파트 작성, 링크, 동작 및 애니메이션 초기화).

초기화 및 정리 메소드는 필요한 경우에만 작성됩니다.

초기화 함수 이름은 <file>_Init이고 정리 함수는 <file>_Cleanup입니다.

초기화는 Init 메소드에서 수행됩니다.

InitCleanup 메소드는 기본적으로 생성됩니다.

프레임워크 데이터 멤버 Rational Rhapsody는 프레임워크 멤버만 보유한 지정된 struct<file>이라는 struct의 단일 인스턴스를 생성합니다. struct 이름은 <file>_t입니다.

예를 들면,

struct Motor_t {
RiCReactive ric_reactive;
}

프레임워크 멤버는 오브젝트 struct 선언의 일부로 생성됩니다.
호출 프레임워크 오퍼레이션 파일에 대한 프레임워크 오퍼레이션은 파일을 사용하여 호출됩니다.

예를 들면,

CGEN(Motor, ev());

싱글톤에 대한 프레임워크 오퍼레이션은 싱글톤 인스턴스를 전달하여 호출됩니다.

예를 들면,

CGEN(Motor,ev());

상태 차트 데이터 멤버 상태 차트 데이터 멤버는 생성된 구조의 속성으로 생성됩니다.

예를 들면,

struct F_t {
...
enum F_Enum {
F_RiCNonState=0,
F_ready=1}
F_EnumVar;
int rootState_subState;
int rootState_active;
};

상태 차트 데이터 멤버는 struct의 일부로 생성됩니다.
상태 차트 함수 이름 public 상태 차트 함수는 <file>_ 접두부를 사용하여 생성됩니다.

예를 들면,

myFile_sIN()

동일한 이름 지정 규칙을 기타 오퍼레이션으로 사용하십시오.

<lang>_CG::Operation::PublicNamePrivateName 특성을 사용하여 함수(파일, 오브젝트 및 기타 요소)의 이름 패턴을 구성할 수 있습니다.


피드백