액셀레오

Acceleo
액셀레오
Acceleo logo
개발자이클립스 재단
안정적 해제
3.7.8 / 2019년 3월 20일; 3년(2019-03-20)[1]
리포지토리
기록 위치자바
플랫폼Linux, MacOS, Microsoft Windows
유형코드 생성기
면허증이클립스 공용 라이선스
웹사이트www.eclipse.org/acceleo

AccelleoEclipse Foundation의 오픈 소스 코드 생성기로, 사람들이 애플리케이션 구축에 모델 중심 접근법을 사용할 수 있도록 한다.모델 대 텍스트 변환을 수행하기 위해 OMG(Object Management Group)의 "MOFM2T" 표준을 구현한 것이다.

역사와 발전

초기 버전

Accelleo 프로젝트는 2006년에 웹사이트 Acceleo.org과 함께 탄생했다.Acceleo 1.0은 GNU 공용 라이선스(GPL)에 따라 라이센스가 부여되었으며 Eclipse 3.0, 3.1 및 EMFUML 1.2를 기반으로 한 여러 모델러와 호환되었다.몇 주 후, Accelero 1.1은[2] Eclipse 3.2 및 UML 1.3과의 호환성을 가져왔다.Accelleo는 Accelleo 1.2의 출시와 함께 Eclipse Foundation의 프로젝트에서 사용하는 Eclipse Public License(EPL)를 채택하기 위해 라이선스를 변경하였다.Accelero 2는[3] Accelero 커뮤니티의 구성원들이 작성한 기사를 포함하고 Accelero 2에 기반한 코드 생성기를 포함하는 Accelero 모듈 저장소를 포함하는 웹사이트 planet.acceleo.org의 론칭 후 2007년 6월 5일에 이용할 수 있었다.

Eclipse Foundation의 입구

2009년 액슬로 3으로 이전하는 동안 이 프로젝트는 이클립스 재단에 받아들여졌다.이 과도기 동안, 암호 생성기를 정의하기 위해 액셀로가 사용하는 언어는 모델에서 텍스트 변환으로 OMG에서 새로운 표준을 사용하기 위해 변경되었다. 이클립스 3.6 헬리오스가 출시되면서 액셀로는 이클립스 재단의 공식 프로젝트로 이클립스 동시 방출 열차에 포함된다.Accelleo는 Eclipse 플러그인이며, 따라서 Eclipse IDE에 통합된다.Accelleo는 EMF와 같은 몇 가지 주요 Eclipse 기술 위에 구축되어 있으며, Accelleo 3의 출시 이후부터 Eclipse의 OSL 구현이 이루어졌다.OCL은 모델에서 탐색하고 모델의 요소에 대한 제약조건을 정의하기 위해 OMG의 표준 언어다.

상표

Acceleo 소스 코드는 오픈 소스지만 Accelleo에 통합된 Accelleo 상표와 로고는 오픈 소스가 아니다.이들은 액셀로를 만든 오베오 회사의 상표였으며 액셀로가 공식 프로젝트로 받아들여지자 이클립스 재단으로 이관되었다.[4]

소스 코드

Accelleo는 대부분[5] 자바에서 개발되고 Eclipse Public License(EPL)에 따라 이용 가능한 Eclipse 프로젝트다.Accelleo 1.x와 2.x의 소스 코드는 OW2 컨소시엄의 웹사이트에서 SVN에서 사용할 수 있다.[6]2009년 Eclipse Foundation에 입성하면서 Acceleo 3의 소스 코드는 SVN에서 Eclipse Foundation의 서버를 기반으로 하는 CVS 기반 저장소로 이전되었다.[7]2011년 Eclipse 3.7 Indigo 출시 이후, Eclipse Foundation의 여러 공식 프로젝트에 의해 시작된 마이그레이션에 따라 Accelleo 프로젝트가 Git로[8] 이전되었으며, 2011년 7월부터 Accelleo 소스 코드를 GitHub에서 사용할 수 있다.[9]

릴리스

  • 첫 번째 안정적 릴리스:Accelleo 1.0.0은 2006년 4월 1일 이후 사용 가능
  • 최신 안정적 릴리스:Accelleo 3.7.8은 2019년[1] 3월 20일 이후 이용 가능
범례:
이전 버전 최신 안정 릴리즈 다음 릴리스
버전 출시일자 릴리스 로그
1.0 2006년 4월 1일 GPL 라이센스에 따라 사용할 수 있는 Accelleo의 첫 번째 버전, EMF 기반 모델에서 코드 생성.
1.1 2006년 10월 20일 Eclipse 3.2와의 호환성, GMF, ArgoUML, 포세이돈, 움브렐로, Rational Rose와 함께 만든 모델에 대한 지원.[2]
1.2 2007년 1월 5일 Eclipse Public License(EPL), 새 들여쓰기 서비스, 매개 변수화된 시작 프로그램, Ant 호환성으로 전환하십시오.[10]
2.0 2007년 6월 5일 언어 향상, XML 호환성, Eclipse 플러그인으로 생성자 내보내기.[11]
2.1 2007년 7월 12일 Eclipse 3.3, 코드 생성기 디버거와의 호환성.[12]
2.2 2008년 1월 7일 로컬리제이션 지원, 템플릿의 다른 인코딩 지원, 다음 생성기 릴리즈: JI, PHP, Python 및 WISS.[13]
2.3 2008년 7월 25일 Eclipse 3.4와의 호환성, 모델에 정의된 표준 EOperation을 호출하는 기능, 검색 참조.[14]
2.4 2008년 9월 25일 독립형 모듈 또는 RCP 애플리케이션으로 제너레이터 내보내기 가능.[15]
2.5 2008년 12월 3일 제너레이션 프로파일러, 개요에 있는 작업.[16]
2.6 2009년 6월 26일 이클립스 3.5 갈릴레오와의 호환성.[17]
2.7 2010년 4월 6일 프로파일러의 개선, 엔터프라이즈 설계자와의 호환성.[18]
3.0 2010년[19] 6월 15일 MOFM2T를 기반으로 코드 생성기를 정의하는 새로운 언어, OCL 기반 쿼리 지원, 오류 감지를 포함한 실시간 컴파일.[20]
3.1 2011년[19] 6월 7일 제너레이터에 대한 문서화 지원, 경고를 포함한 잠재적 오류 감지, 메이븐 지원, 제너레이터의 바이너리 컴파일.[21]
3.2 2011년[19] 10월 27일 주어진 모델 요소 집합에 대한 Accelleo 식을 평가하기 위한 새로운 "Interpreter" 뷰와 함께 Accelleo의 다음 주요 릴리스.[22]
3.3 2012년[19] 5월 29일 Accelleo의 다음 주요 릴리스.[23]
3.4 2013년[19] 6월 10일 Accelleo의 다음 주요 릴리스.[24]
3.5 2014년[19] 6월 10일 Accelleo의 다음 주요 릴리스.[25]
3.6 2015년[19] 6월 8일 Accelleo의 다음 주요 릴리스.[26]
3.7 2016년[19] 10월 15일 Accelleo의 다음 주요 릴리스.[27]

지원되는 플랫폼

Accelleo는 Java로 작성되며 Eclipse IDE에서 플러그인으로 배치된다.Acceleo는 다음 플랫폼에서 Java 5+ 기반 환경에서 지원된다.

언어

Acceleo 3을 시작으로 Accelleo 코드 생성기를 정의하는 데 사용되는 언어는 MOFM2T 표준의 구현이다.이 코드 생성 언어는 템플릿 기반 접근법을 사용한다.이 접근방식으로, 템플릿은 입력 모델에 의해 제공된 요소로부터 텍스트가 계산되는 전용 부분을 포함하는 텍스트다.이러한 전용 부품은 해당 모델에서 정보를 선택하고 추출하는 데 사용되는 입력 모델의 실체에 명시된 대부분의 시간 표현식이다.Accelleo 내에서, 그러한 표현은 OCL 언어의 Eclipse 구현에 기초한다.

특징들

Acceleo는 EMF 기반 모델에서 코드 생성을 위한 도구를 제공한다.이러한 도구 덕분에 Acceleo는 예를 들어 증분 생성을 허용한다.증분 생성은 사람들에게 코드 조각 하나를 생성한 다음 생성된 코드를 수정하고 마침내 이전의 수정 사항을 잃지 않고 다시 한번 코드를 재생성할 수 있는 능력을 준다.

Acceleo는 또한 다음을 허용한다.

  • UML 1, UML 2와 같은 EMF와 호환되는 모든 종류의 메타모델에서 코드 생성 및 DSL(사용자 정의 메타모델)
  • 사용자 정의 템플릿을 사용한 생성 사용자 지정
  • 텍스트 언어 생성(C, Java, Python 등)

편집자

Acceleo에는 구문 강조 표시, 완료, 실시간 오류 감지 및 리팩토링 기능이 있는 코드 생성 모듈 편집기가 포함되어 있다.

The Acceleo editor

디버거

Accelleo 디버거는 한 세대의 추이를 주시할 수 있는 가능성을 제공한다.사용자가 중단점이 있는 세대를 일시 중지하고 변수의 상태를 확인한 후 한 세대 동안 단계별로 이동하여 문제를 식별할 수 있도록 한다.

Debugger

프로파일러

프로파일러는 사용자가 생성 중에 실행된 모든 지침, 해당 지침이 실행된 시간 및 각 지침이 실행한 시간을 파악할 수 있도록 한다.프로파일링 데이터는 프로파일러를 사용한 한 세대가 시작된 후 EMF 모델에서 사용할 수 있다.사용자가 생성된 코드 생성기에서 병목 지점을 찾을 수 있는 기능을 제공한다.

Acceleo profiling data

추적성

Acceleo 엔진은 파일 생성에 관련된 모든 요소의 추적가능성 정보를 계산할 수 있다.예를 들어 이 시스템은 특정 텍스트를 생성하는 데 사용된 입력 모델과 관련된 코드 생성기의 부분을 결정할 수 있다.

Traceability in Acceleo

독립 사용

액슬로의 핵심 구성요소인 파서와 발전 엔진도 Eclipse에 배치되지 않고 "독립형"에서 사용할 수 있다.Accelero는 프로그래밍 방식으로 생성을 시작하기 위해 Java 클래스를 생성하여 모든 Java 애플리케이션에서 Accelero 생성기의 통합을 허용한다.이 자바 발사기는 앤트나 메이븐에서도 호출할 수 있다.

호환성.

Accelleo의 최신 릴리즈는 다음과 호환된다.[28]

  • 독립 실행형 Java 6 런타임
  • 이클립스 3.7 인디고
  • 이클립스 3.8 주노
  • 이클립스 4.3 케플러
  • 이클립스 4.4 루나
  • 이클립스 4.5 화성
  • 이클립스 4.6 네온

Acceleo는 모델링 프레임워크 EMF에 기초한다.따라서 그것은 EMF 호환 모델을 생산할 수 있는 모든 도구와 호환된다.

Acceleo는 UML 또는 심지어 사용자 정의 DSL과 같은 모든 종류의 메타모델에서 정의된 EMF 호환 모델을 사용할 수 있다.이 메타모델에서 사용자는 메타모델을 사용하는 모델에서 어떤 종류의 텍스트 언어를 만들 코드 생성기를 정의할 수 있다.

A simple EMF model
단순 EMF 모델
A simple Acceleo module
간단한 Accelleo 모듈
The code generated
생성된 코드

여기서는 다음 요소를 사용한다: EClass, EAttribute 및 EOperation from EMF.간단한 모듈과 이 입력 모델 덕분에 액셀로는 이전 코드를 생성할 수 있다.이 예에서 정의한 모듈은 Java를 생성하기 위해 매개변수로 지정되지만 MOFM2T 표준은 생성된 코드와 독립적이다.생성기가 생성되면 사용자는 다른 모델을 사용하여 모양은 비슷하지만 내용은 다른 코드 조각을 생성할 수 있다.Accelleo는 Java와 Python을 생성하기 위해 여러 코드 생성 예제를 통합한다.

수상

Accelleo가 받은 상
제목 작가 날짜 링크
Best Open Source Eclipse 기반 개발자 툴 2009 이클립스 재단 2009년 3월 1일 (영어) Eclipse Community Awards 수상자 발표
2010년 오픈 이노베이션 어워드 오픈 월드 포럼 2010년 11월 1일 (영어) 오픈 월드 포럼 어워드

커뮤니티 및 커뮤니케이션

Accelleo 커뮤니티는 Eclipse Foundation 웹사이트의 Accelleo 부분에 모여 있다.Accelleo 설명서는[29] Eclipse 도움말 센터와[30] Accelleo 프로젝트의 위키에서 온라인으로 액세스할 수 있다.[31]

컨퍼런스

Accelleo의 개발자들도 MDA나 Eclipse 컨퍼런스에서 실현된 프레젠테이션 덕분에 지역사회와 소통하고 있다.

이름 날짜 위치 발표 제목
MDA 접근 회의 2006년 11월 23일 제네바
SOA/MDA 2006-30-11 룩셈부르크
이클립스콘 2007 2007년 3월 6일 로스앤젤레스
이클립스 서밋 유럽 2008 2008년 10월 10일 루트비히스부르크
이클립스콘 2009 2009년 3월 25일 로스앤젤레스 Eclipse MTL: 코드 생성을[32] 위한 실제 표준 대안
이클립스 서밋 유럽 2009 2009년 8월 28일 루트비히스부르크 Acceleo.org에서 Eclipse 모델링까지
이클립스 콘 2010 2010년 3월 22일 로스앤젤레스 Acceleo 코드 생성:Android 예부터 시작해보자.
이클립스 서밋 유럽 2010 2010년 11월 3일 루트비히스부르크 Eclipse 모델링으로[33] Android 앱 언어 만들기
2011년 톱케이싱 데이즈 2011년 2월 4일 툴루즈 액셀레오[34]
코드 생성 2011 2011년 5월 26일 케임브리지 템플릿 기반 코드 생성기를 알고 있다고 생각했나?[35]

참조

  1. ^ a b (영어) "Eclipse Acceleo 3.7.8". Retrieved 6 July 2019.
  2. ^ a b (영어) "Acceleo 1.1.0 release notes". Retrieved 2011-08-10.
  3. ^ (영어) "Acceleo 1.2.0 release notes". Retrieved 2011-08-10.
  4. ^ (영어) "Eclipse logo guidelines". Archived from the original on 29 June 2011. Retrieved 2011-08-10.
  5. ^ (영어) "Ohloh code analysis". Retrieved 2011-08-10.
  6. ^ (영어) "Acceleo 1 & 2 source code on the OW2 Forge". Retrieved 2011-08-10.
  7. ^ (영어) "Acceleo 3 source code on CVS (read only)". Retrieved 2011-08-10.
  8. ^ (영어) "Acceleo migrates to Git". Retrieved 2011-08-10.
  9. ^ (영어) "Acceleo 3 source code on Github". Retrieved 2011-08-10.
  10. ^ (영어) "Acceleo 1.2.0 release notes". Retrieved 2011-08-10.
  11. ^ (영어) "Acceleo 2.0.0 release notes". Retrieved 2011-08-10.
  12. ^ (영어) "Acceleo 2.1.0 release notes". Retrieved 2011-08-10.
  13. ^ (영어) "Acceleo 2.2.0 release notes". Retrieved 2011-08-10.
  14. ^ (영어) "Acceleo 2.3.0 release notes". Retrieved 2011-08-10.
  15. ^ (영어) "Acceleo 2.4.0 release notes". Retrieved 2011-08-10.
  16. ^ (영어) "Acceleo 2.5.0 release notes". Retrieved 2011-08-10.
  17. ^ (영어) "Acceleo 2.6.0 release notes". Retrieved 2011-08-10.
  18. ^ (영어) "Acceleo 2.7.0 release notes". Retrieved 2011-08-10.
  19. ^ a b c d e f g h (영어) "Acceleo Download". Retrieved 2019-07-06.
  20. ^ (영어) "Acceleo 3.0.0 release notes". Retrieved 2011-08-10.
  21. ^ (영어) "Acceleo 3.1.0 release notes". Retrieved 2011-08-10.
  22. ^ (영어) "Acceleo 3.2.0 release notes". Retrieved 2011-10-27.
  23. ^ (영어) "Acceleo 3.3.0 release notes". Retrieved 2015-03-05.
  24. ^ (영어) "Acceleo 3.4.0 release notes". Retrieved 2015-03-05.
  25. ^ (영어) "Acceleo 3.5.0 release notes". Retrieved 2015-03-05.
  26. ^ (영어) "Acceleo 3.6.0 release notes". 2015-06-10.
  27. ^ (영어) "Acceleo 3.7.0 release notes". 2016-11-16.
  28. ^ (영어) "Acceleo 3.7.0 Release Plan". 2016-11-16.
  29. ^ (영어) "Acceleo documentation". Retrieved 2011-08-10.
  30. ^ (영어) "Acceleo documentation on the Eclipse Help Center". Retrieved 2011-08-10.
  31. ^ (영어) "Acceleo wiki". Retrieved 2011-08-10.
  32. ^ (영어) "EclipseCon 2009 - Eclipse MTL: a Real Standard Alternative for Code Generation". Archived from the original on 2011-07-28. Retrieved 2011-08-10.
  33. ^ (영어) "Eclipse Summit Europe 2010 - Creating a Language for Android Apps with Eclipse Modeling". Archived from the original on 2011-10-01. Retrieved 2011-08-10.
  34. ^ (영어) "Topcased Days 2011 - Acceleo". Archived from the original on 2011-08-19. Retrieved 2011-08-10.
  35. ^ (영어) "Code Generation 2011 - And you thought you knew template based code generator?". Retrieved 2011-08-10.

외부 링크