다중 주소 공간 기능 사용을 허용하려면 서로 다른 코드 생성 설정이 필요합니다.
이러한 설정은 다음 특성을 통해 제어됩니다.
- C_CG::Configuration::MultipleAddressSpaces
이
부울 특성이 선택으로 설정된 경우, IBM® Rational® Rhapsody®는
다중 주소 공간 기능 사용에 필요한 코드 생성 설정을 사용합니다.
이 특성의 기본값은 선택 취소이므로 이 기능을 사용하려면 값을 변경해야 합니다.
기타 주소 공간으로부터 이벤트를 수신할 수 있으려면
반응 오브젝트가 자신을 식별할 이름을 공개해야 합니다. 이 목적으로 다음 두 특성(클래스 레벨에서 설정됨)이 사용됩니다.
- C_CG::Class::PublishedName 분산 이벤트를 전송하기 위해
반응 오브젝트를 식별하는 데 사용될 이름입니다.
클래스의 반응 인스턴스가 하나만 있는 경우,
오브젝트를 식별하는 데 이 특성 값을 사용합니다.
클래스의 반응 인스턴스가 두 개 이상(각각 명시적으로 이름 지정됨)인 경우,
반응 오브젝트를 식별하는 데 사용되는 이름은
특성 값이 아니라 오브젝트에 제공한 이름입니다.
오브젝트가 명시적으로 이름 지정되지 않은
다중성의 경우, 반응 오브젝트를 식별하는 데 사용되는 이름은 공개된 이름 + 오브젝트의 색인입니다(예를 들어,
PublishedName 특성 값이 truck이면 오브젝트는 truck[0],
truck[1]로 식별됨).
- C_CG::Class::PublishInstance
이
부울 특성은 오브젝트가 분산 이벤트를 수신할 수 있는 반응 인스턴스로 공개하는지 여부를 표시합니다.
또한 다음 특성(구성 레벨에서 설정됨)을 사용하여 주소 공간 간에 이벤트 전송을 위한 API에 설명된 대로
이벤트를 전송할 때 특정 대상 주소 공간을 지정할 수 있습니다.
- C_CG::Configuration::AddressSpaceName
특정 주소 공간의 반응
오브젝트로 이벤트를 전송하려면, 이 특성 값을 접두부로 사용하여(addressSpaceName::publishedNameOfReactiveObject 형식을 사용) 주소 공간을 지정하십시오.
이 특성의 기본값은 관련 요소의 이름입니다.
주소 공간 간에 전송될 이벤트에 인수가 없거나 정수 또는 chars와 같은 인수만
기본 유형으로 갖는 경우, 앞서 언급한 특성만 설정하면 충분합니다. 그러나 전송될 이벤트에 오브젝트가 인수로 포함된 경우,
이벤트 레벨에서 다음 특성도 설정해야 합니다.
- C_CG::Event::SerializationFunction - 사용할 사용자 제공 직렬화 함수의 이름
- C_CG::Event::UnserializationFunction - 사용할 사용자 제공 직렬화 해제 함수의 이름
이러한 두 개의 사용자 제공 함수의 필수 구조에 관한 세부사항은
직렬화 및 직렬화 해제를 위한 함수의 내용을 참조하십시오.