2016-06-17 6 views
1

UML2 버전 2.0.0 (xmlns:uml="http://www.eclipse.org/uml2/2.0.0/UML")을 기반으로하는 UML 모델이 있습니다. 이클립스에서 나는 UML2 버전 2.5.0과 함께 제공되는 Papyrus에 최신 버전을 설치했다.Eclipse에서 UML2 버전 2.0.0을 기반으로 UML 모델 가져 오기

I 가지고있는 모델 I 하나 Requirement (REQUIREMENT_1)가있는 랩소디에서 발생하는 매우 간단한 모델, 차단 한 Block 하나 Operation (test_req())이다. 아래 그림과 같이 모델에서 test_req() 작업이 REQUIREMENT_1을 확인 : 랩소디 XMI 툴킷을 사용하여 enter image description here

, 나는 XMI 형식으로 모델을 수출하고 파피루스 프로젝트로 일식을 가져올하려합니다. I는 파피루스 프로젝트 스테레오 타입 ( 확인)로 모델을 가져올 때 test_req 간의 종속성에 도포() 및 REQUIREMENT_1 검출되지 : requirement_1 적용되지 enter image description here 그것이 이미지에서 알 수있는 바와 같이

, <<verify>> 스테레오있다.

스테레오 타입이없는 이유를 설명 할 수 있습니까? UML2의 버전이 다르기 때문에 그렇습니까? 이 문제를 어떻게 해결할 수 있습니까?

또한 참조 here 나는 윈드 리버 워크 벤치를 기반으로 이클립스에 sysml 다이어그램에서 코드를 생성하기위한 랩소디 전에 사용했던

+0

어떻게 모든 종속성이있을 수 있습니다 : 나는 확실히 UML2 버전 2.0.0를 사용하기 위해 다음 코드를 추가하여 모델의 기존 관계를 찾아 내 코드를 해결할 수 있어요

? 'test_req()'는'block_2'에있는 연산입니다. –

+0

요구 사항 다이어그램에 test_req()를 추가하고 첫 번째 그림과 같이 test_req와 requirement_1 사이의 종속성을 생성했습니다. – user2888308

+0

당신이 보여주는 것은 SysML 모델이며, Papyrus SysML 옵션 구성 요소를 설치 했습니까? – CharlesRivet

답변

1

주요 문제는 내가 가지고있는 모델이 UML2 버전 2.0.0을 기반으로하고 이클립스에 UML 2.5.0 버전의 최신 버전이 설치되어 있다는 것입니다. 그래서 내 모델을 Papyrus 프로젝트로 가져 오려고하면 2.0.0이 아닌 UML2 버전 2.5.0을 사용하기 때문에 일부 고정 관념은 인식되지 않습니다.

ResourceSet set = new ResourceSetImpl(); 
UMLResourcesUtil.init(set); 
set.getResourceFactoryRegistry().getExtensionToFactoryMap() 
    .put(UMLResource.FILE_EXTENSION, UMLResource.Factory.INSTANCE); 

set.getPackageRegistry().put(UMLPackage.eNS_URI, UMLPackage.eINSTANCE); 

Map<URI, URI> uriMap = set.getURIConverter().getURIMap(); 
URI uri = URI.createURI("jar:file:/home/jars/org.eclipse.uml2.uml.resources_2.0.3.v200707131442.jar!/"); // for example 
uriMap.put(URI.createURI(UMLResource.LIBRARIES_PATHMAP), uri.appendSegment("libraries").appendSegment("")); 
uriMap.put(URI.createURI(UMLResource.METAMODELS_PATHMAP), uri.appendSegment("metamodels").appendSegment("")); 
uriMap.put(URI.createURI(UMLResource.PROFILES_PATHMAP), uri.appendSegment("profiles").appendSegment("")); 
0

내 UML 모델을 게시하고있다. xml 가져 오기/내보내기에 대해서는 잘 모르겠지만 구성을 Eclipse 스타일 &으로 변경했을 때 CPP_CFG 섹션에서 컴파일러 설정을 지정하면 rhapsody가 Eclipse 환경에서 직접 코드를 생성 할 수있었습니다. 어쩌면이게 너에게 잘 될 것이다.