QVT
QVTQVT(Query/View/Transformation)는 객체 관리 [1]그룹에 의해 정의된 모델 변환을 위한 표준 언어 세트입니다.
개요
모델 변환은 모델 중심 아키텍처에서 사용되는 핵심 기술입니다.QVT라는 이름에서 알 수 있듯이 OMG 표준은 변환, 뷰 및 쿼리를 함께 포함합니다.모델 쿼리와 모델 뷰는 모델 변환에 대한 적절한 광범위한 정의를 사용할 경우 특별한 종류의 모델 변환으로 볼 수 있습니다. 모델 변환은 모델에서 작동하는 프로그램입니다.
QVT 표준은 3가지 모델 변환 언어를 정의합니다.모두 Meta-Object Facility(MOF) 2.0 메타모델에 준거한 모델에서 동작합니다.변환에는 사용되는 메타모델이 기재되어 있습니다.3개의 QVT 언어 중 하나의 변환은 그 자체로 표준에서 지정된 메타모델 중 하나에 부합하는 모델로 간주할 수 있습니다.QVT 표준은 OCL 2.0 표준을 통합하고 필수 기능으로 확장합니다.
- QVT-Operational은 단방향 변환을 기술하기 위해 설계된 필수 언어입니다.
- QVT-Relations는 단방향 및 양방향 모델 변환 모두를 기술할 수 있도록 설계된 선언형 언어입니다.변환은 모델 집합에서 일관성 관계를 구현합니다.일관성은 체크 온리모드로 변환을 실행하여 확인할 수 있습니다.변환에 따라 모델 세트가 일치하면 True가 반환되고 그렇지 않으면 False가 반환됩니다.동일한 변환을 적용 모드에서 사용하여 모델 집합이 일관되도록 모델 중 하나를 수정할 수 있습니다.QVT-Relation 언어에는 텍스트 구문과 그래픽 구문이 모두 포함되어 있습니다.
- QVT-Core는 단순하고 QVT-Relations에서 번역 대상으로 기능하도록 설계된 선언형 언어입니다.단, QVT-Core는 완전한 구현이 이루어지지 않았으며 실제로 [2]QVT-Relations만큼 표현력이 풍부하지 않습니다.따라서 위의 QVT 아키텍처는 오해를 불러일으킬 수 있습니다.QVT 표준에서 제시된QVT-Relations에서QVT-Core로의 변환은 의미론을 유지하지 않습니다.
마지막으로 QVT-BlackBox는 다른 언어(XSLT 또는 XQuery 등)로 표현된 변환 기능을 호출하는 메커니즘입니다.
QVT는 범위가 넓지만 모델 변환, 뷰 또는 쿼리로 간주된 모든 것을 망라하는 것은 아닙니다.예를 들어 QVT 언어에서는 각 모델이 일부 MOF 2.0 메타모델에 준거해야 하므로 텍스트모델로의 변환은 허용되지 않습니다.모델 간 변환은 OMG에 의해 개별적으로 표준화되고 있습니다(MOFM2T 참조).
역사
2002년 OMG는 모델 주도 아키텍처(MDA) 권장 스위트(UML, MOF, OCL 등)와 호환되는 표준을 모색하기 위해 MOF 쿼리/뷰/변환에 관한 제안서(RFP)를 발행했습니다.
영국의 Laurence Tratt 박사의 초안을 바탕으로 3년 동안 발전하여 공통의 제안을 도출한 다수의 기업과 연구기관에서 몇 가지 답변이 있었습니다.첫 번째 버전은 2005년에 [3]제출되어 승인되었습니다.QVT 버전 1.1은 [1]2011년1월에 출시되었습니다.
실장
QVT-동작:
- Borland Together는 Eclipse Foundation에 기여하여[4] 현재는 Eclipse M2M Operational QVT 프로젝트로 개발된 QVT Operational을 구현하고 있습니다.
- Eclipse M2M Operational [5]QVT: QVT Operational의 Eclipse 오픈 소스 공식 구현.
- MagicDraw에는 Eclipse M2M 프로젝트에서 제공하는 운영 QVT 구현을 사용하는 QVT 플러그인이 있습니다.
- SmartQVT: QVT-Operational 언어의 Eclipse 오픈 소스 구현(Orange Labs).
QVT 코어:
QVT-관계:
- Model Morf: Tata Consultancy Services Ltd.의 독자 툴입니다.QVT-Relation 언어에 완전히 준거.평가판에서는[6] XMI 형식의 모델을 소비 및 생성하는 명령줄 유틸리티를 제공합니다.완전한 저장소 통합 버전은 자체 모델링 [7]프레임워크의 일부로 제공됩니다.
- MediniQVT:[8] 엔진 및 비상업 라이선스 에디터/디버거용 EPL 라이선스를 갖춘 EMF 기반 변환 엔진.QVT-Relations 구문을 사용하지만 의도적으로 OMG [9]표준의 의미에서 벗어납니다.
- Eclipse M2M 프로젝트는 QVT Core와 [5]Relations의 구현을 목표로 하고 있습니다.
- Echo는 [10]알로이 모델 파인더 위에 구축된 모델 수리 및 변환을 위한 오픈 소스 EMF 기반 도구입니다. QVT-Relation 구문을 구현하지만 OMG 규격에서 의도적으로 벗어난 의미론을 사용합니다.
QVT 라이크:
- jQVT:[11] OCL 대신 Xbase를 사용하여 컴파일된 Java용 QVT 엔진입니다.QVT 관계 변환은 먼저 Java 소스 코드로 컴파일되어 런타임에 소스 모델로부터 직접 타깃모델을 생성하며 변환규칙을 다시 해석하지 않습니다.EMF 모델과 플레인 Java 객체를 지원합니다.
- Tefkat : QVT와 유사한 Tefkat 언어의 오픈 소스 구현.오픈 소스
- ATL : M2M Eclipse 프로젝트의 컴포넌트.ATL은 대규모 사용자 커뮤니티와 오픈소스 변환 라이브러리를 갖춘 QVT와 같은 변환 언어 및 엔진입니다.
- 모델 변환 프레임워크(MTF):[12] IBM alphaWorks 프로젝트로, 2007년에 마지막으로 업데이트되었습니다.
「 」를 참조해 주세요.
- 사용 가능한 변환 언어 목록
- MOF 모델-텍스트 변환 언어 - M2T 변환을 표현하기 위한 OMG 변환 언어 규격
- 모델 구동 엔지니어링(MDE)
- 모델 주도 아키텍처(MDA): OMG의 MDE 비전
- 도메인 고유 언어(DSL)
- Meta-Object Facility(MOF): 메타모델을 작성하기 위한 언어
- Object Constraint Language(OCL): 모델 제약(및 쿼리) 언어
- 모델 변환
- 모델 변환 언어
- 메타모델
레퍼런스
- ^ a b Bast, Wim; Murphree, Michael; Lawley, Michael; Duddy, Keith; Belaunde, Mariano; Griffin, Catherine; Sendall, Shane; Vojtisek, Didier; Steel, Jim; Helsen, Simon; Tratt, Laurence; Reddy, Sreedhar; Venkatesh, R.; Blanc, Xavier; Dvorak, Radek; Willink, Ed (January 2011). "Meta Object Facility (MOF) 2.0 Query/View/Transformation (QVT)" (pdf). Object Management Group. Retrieved 9 May 2011.
- ^ Stevens, Perdita (2011). "A simple game-theoretic approach to checkonly QVT Relations". Software and Systems Modeling. Berlin / Heidelberg: Springer. 12: 175–199. doi:10.1007/s10270-011-0198-8.
- ^ Bast, Wim; Murphree, Michael; Lawley, Michael; Duddy, Keith; Belaunde, Mariano; Griffin, Catherine; Sendall, Shane; Vojtisek, Didier; Steel, Jim; Helsen, Simon; Tratt, Laurence; Reddy, Sreedhar; Venkatesh, R.; Blanc, Xavier; Dvorak, Radek; Willink, Ed. "Meta Object Facility (MOF) 2.0 Query/View/Transformation (QVT)" (pdf). Object Management Group. Retrieved 1 Nov 2013.
- ^ [m2m-dev] 볼랜드 QVT 기여 2012년 2월 25일 Wayback Machine에서 아카이브
- ^ a b Eclipse M2M Project. : CS1 유지보수: 타이틀로서의 아카이브 카피(링크). 2011년 5월 9일 취득.
- ^ ModelMorf beta . : CS1 유지 보수: 타이틀로서의 아카이브 카피(링크). 2011년 5월 9일 취득.
- ^ TCS 코드 생성기 프레임워크(이전의 MasterCraft)."Archived copy". Archived from the original on August 9, 2011. Retrieved May 9, 2011.
{{cite web}}
: CS1 maint: 타이틀(링크)로서의 아카이브 카피.2011년 5월 9일 취득. - ^ Medini QVT. : CS1 유지보수: 타이틀로서의 아카이브 카피(링크). 2011년 5월 9일 취득.
- ^ Kiegeland, J.; Eichler, H. (February 2008), "medini QVT workshop", medini QVT workshop (ppt), Enschede, Telematica Instituut: ikv++ technologies ag, retrieved 2015-09-24
- ^ 에코 [1] 2013년 11월 2일 취득.
- ^ jQVT. : CS1 유지 보수: 제목으로 복사(링크)
- ^ 모델 변환 프레임워크http://www.alphaworks.ibm.com/tech/mtf. 2011년 5월 9일 취득.