2012-07-26 4 views
2

내 목표는 모델에 대한 메타 모델을 작성하는 것이지만 EMF를 기본으로하는 것보다 한 레벨 높습니다. 메타 모델 (2)은 가능한 모듈 (1)에 대한 가능성과 제한을 정의해야합니다. 그런 다음이 모델의 Java 코드를 생성하려고합니다.EMF를 자체 메타 모델로 사용하는 방법

이 메타 모델 1 모델 0 자바 코드

그래서 모델 (1) DSL의 일종이며, 메타 모델은 그 DSL의 정의입니다.

어떻게하면됩니까? EMF로 가능합니까 아니면 이클립스 모델링 프로젝트의 다른 플러그인이 있습니까?

이 도구와 같은 일부 기능을 검색했지만 여분의 생성기 템플릿을 지정하지 않았습니다.

+0

여기 내 해결책을 찾았습니다. [http://christiandietrich.wordpress.com/2011/07/29/xtend2-code-generators-with-non-xtext-models/](http://christiandietrich.wordpress). com/2011/07/29/xtend2-code-generators-with-non-xtext-models /) – user1127860

답변

0

Xtext (EMF 기반)를 사용하여 (텍스트) DSL을 정의 할 수 있습니다. XText는 메타 모델과 모델 편집기를 생성하므로 사용자가 직접 모델을 정의 할 수 있습니다. 거기에서 Acceleo (템플릿 기반 모델 - 텍스트 생성기)를 사용하여 Java 코드를 생성 할 수 있습니다.

+0

그건 내가 생각하기에 정확하지 않다. 나는 메타 모델을 그래픽으로 디자인하고 싶다. * .ecorediag 파일을 디자인하는 Ecore 도구를 사용하여 EMF를 사용하는 경우와 유사합니다. 핵심은 다른 * .ecorediag에서 * .ecorediag와 같은 것을 만들고 싶다는 것입니다. 따라서 첫 번째 진단은 ecore-metamodel을 기반으로 한 모델과 같은 것이며 두 번째 진단 모델은 첫 번째 메타 모델을 기반으로합니다. 그런 다음 두 번째 메타 모델에서 Java 코드를 생성하려고합니다. (이 메타 모델 후에는 변수의 구체적인 값을 가진 모델 인스턴스에 의해 그렇게 할 수 있지만, 나는 그렇게 할 필요가 없다) – user1127860

0

메타 모델이 필요한지 잘 모르겠지만 기존의 Ecore 메타 모델을 수정하지 않고도 확장 할 수있는 EMF Facet을 확인할 수 있습니다.