MPS 2018.1의 새로운 기능

SModel 언어 개선

때로는 원시 포인터(예: SNodeReference 또는 SModelReference)를 처리해야 할 경우가 있습니다. 원시 포인터는 생성 및 연산하기가 어려워서 이를 처리할 때 곤혹스러울 수 있습니다. 포인터를 더 쉽게 처리할 수 있도록 SModel 언어에 새로운 유형과 연산이 추가되었습니다.

노드 포인터

새로운 'node-ptr<>' 유형이 추가되어 노드 포인터를 사용한 작업이 더 쉬워졌습니다. 이 포인터는 'resolve' 연산을 통해 실제 노드로 확인될 수 있습니다. "node-ptr/ ... /" 표현식은 이미 사용이 중단된 기존의 "nodePointer/ ... /" 구문을 대체합니다. 표현식의 변환을 처리할 수 있도록 마이그레이션 스크립트가 생성되었습니다.

포인터를 사용해 참조 설정

대상을 참조 링크로 설정할 때 대상 노드에 액세스할 필요가 없습니다. 대상에 대한 포인터로 충분합니다. 참조 링크 액세스 표현식에 적용되는 'set ptr' 연산이 참조 대상을 지정된 포인터로 설정합니다. 노드가 노드 포인터로 지정된 것인지 확인하려면 새로운 'is' 연산을 사용해야 합니다.

smodel 유형에 대한 엄격한 입력 규칙

SModel 유형에 대한 입력 규칙이 더 엄격해졌습니다. SNodeReference 인터페이스 메서드는 더 이상 'node-ptr' 값에 사용할 수 없습니다. 다운캐스트 연산자는 명시적으로 SNodeReference를 얻기 위해 사용되어야 합니다. 또한, 노드 인스턴스에 대한 'pointer' 연산은 이제 일반 SNodeReference 대신 'node-ptr'을 반환합니다.

참조 매크로 내 Node-ptr 표현식

참조 매크로는 node-ptr 표현식을 허용하도록 수정되었습니다. 참조 유형에 따라 참조 매크로에서 반환된 포인터 유형을 확인합니다.

포인터를 지정하는 Node Id

이제 모델 이름과 노드 ID를 사용하여 명명되지 않은 콘셉트 인스턴스에 포인터를 지정하거나 참조를 문자열로 하드코딩할 수 있습니다.

모델 포인터

'model-reference' 유형이 'model-ptr<>'로 리팩터링되었습니다. 이 포인터는 'resolve' 연산을 통해 실제 모델로 확인될 수 있습니다.

새로운 마이그레이션 스크립트

node/.../' 표현식과 같은 이전 SModel 언어 구문, 바람직하지 않은 인용구 또는 다운캐스트를 마이그레이션하는 데 도움이 되도록 몇 가지 마이그레이션 스크립트가 추가되었습니다. 실행하려면 Tools -> Scripts -> Enhancements...로 이동하여 "SModel Language Enhancements (node-ptr<> and model-ptr)"를 선택합니다. 또한, 동일한 창에서 "Use node pointers in reference macro queries" 옵션을 사용해 생성기 매크로의 이전 구문을 처리할 수 있습니다.

SModel 쿼리에 대한 범위 지정 개선

Smodel 쿼리는 이제 작업 범위에 대해 더 직관적으로 동작합니다. 범위가 특정 쿼리에 대한 매개변수로 선언될 경우 해당 쿼리는 이전과 같이 편집 가능한 모델에서뿐만 아니라 읽기 전용 모델을 포함하여 전체 범위에서 실행됩니다.

에디터

하위 트리용 리플렉티브 에디터 표시

이제 하위 트리 전체에 대해 리플렉티브 에디터를 표시할 수 있습니다. 이렇게 하려면 노드를 선택하고 Cmd/Ctrl+Shift+[를 누르거나 컨텍스트 메뉴에서 'Show reflective editor for subtree'(하위 트리용 리플렉티브 에디터 표시)를 선택하세요. 일반 에디터로 돌아가려면 Cmd/Ctrl+], Cmd/Ctrl+Shift+]를 누르거나 'Show regular editor for the Subtree'(하위 트리용 일반 에디터 표시) 옵션을 오른쪽 클릭하세요. 여전히 Cmd/Ctrl+[를 눌러서 또는 컨텍스트 메뉴를 통해서 현재 노드에 대해서만 리플렉티브 에디터를 표시할 수 있습니다.

프로퍼티 및 참조 셀에 대한 변환 메뉴

속성 및 참조 셀을 지원하기 위하여 변환 메뉴 언어가 지속적으로 개선되었습니다. 속성 및 참조 변환 메뉴 부분을 사용하면 이전에 사용된 '인라인 메뉴'보다 속성 및 참조 셀의 메뉴를 더 효과적으로 사용자 지정할 수 있습니다.

두 가지 주된 장점은 다음과 같습니다.

  • 프로퍼티 및 참조 셀뿐만 아니라 모든 셀에 연결할 수 있습니다.
  • 코드 완성뿐만 아니라 컨텍스트 지원, 컨텍스트 메뉴, 사이드-변환 등 다른 위치에도 적용할 수 있습니다.