2012-01-25 22 views
7

Tôi muốn thực hiện các phép biến đổi Model2Model hai chiều. Cả hai mô hình đều dựa trên EMF/eCore. Thực ra tôi thích rằng một mô hình là một khung nhìn có thể chỉnh sửa được trên một mô hình khác.Chuyển đổi M2M hai hướng bằng Eclipse EMF

Tùy chọn của tôi là gì? Những công cụ và ngôn ngữ biến dạng nào có sẵn và những hạn chế của chúng là gì?

+0

Tôi đã có một anwer từ Ed Willink tại eclipse.modeling.m2m: Tôi nghĩ rằng bạn đang gặp rắc rối. Bạn cần QVTr hoặc QVTc mà hiện tại chỉ có hỗ trợ soạn thảo từ các dự án Eclipse. Tôi biết không có triển khai thực thi QVTc nào. Thực thi QVTr có sẵn với ModelMorf hoặc Medini QVT –

Trả lời

2

M2M là khó nhất. Các công cụ sức mạnh của ngành là rất hiếm, rất nhiều công cụ học thuật. Nếu bạn đã chết đặt trên một ngôn ngữ M2M, nhìn vào ATL mà cũng nên hỗ trợ sinh thái. Nếu không, bạn có thể nhìn vào Xtend, mà đã được thực hiện cho mô hình để văn bản nhưng bạn có thể lạm dụng nó và nó phải được comftable hơn java đồng bằng. Nếu biến đổi thành cái nhìn nghiên cứu tại Scala dựa của bạn ở đây

http://metrikforge.informatik.hu-berlin.de/attachments/download/193/george_wider_scheidgen_ICMT_2012.pdf

2

Hiện có nhiều công cụ chuyển đổi hơn bạn có thể tưởng tượng cho EMF, loại hình này của điên ...

Đối metamodel để metamodel chuyển đổi nơi các mô hình không phải là rất tương tự:

  • ATL có lẽ là phổ biến nhất và hầu hết các "nướng"
  • dự án
  • Epsilon có 0.123..

Nếu metamodels rất giống nhau và bạn chỉ cần tinh chỉnh một số điều sau đó có các công cụ nhắm mục tiêu loại di cư/cập nhật:

  • ATL bây giờ có một refining mode
  • Epsilon có Flock
  • Edapt trông cũng rất thú vị vì nó biến mô hình/mô hình thay đổi cùng nhau. Nó cho phép bạn làm việc trên một cái nhìn cây và đi kèm với một bộ thiết lập sẵn các quy tắc.
  • Henshin cho phép bạn thao tác trên chế độ xem sơ đồ của mô hình
  • EMF Refactor là cách tiếp cận cấp mã hơn, cũng có thể sử dụng quy tắc Henshin bằng cách nào đó.

Bạn luôn có thể thao tác trực tiếp metamodel và mô hình bằng cách sử dụng API Java EMF.

Tôi sẽ thêm, nếu bạn đang thực hiện bất kỳ công việc EMF thực nào, bạn sẽ cần nhận và đọc EMF: Eclipse Modeling Framework. Nó cũng có sẵn trong Safari. Tôi rất khuyên bạn nên Safari, cho $ 39 một tháng bạn nhận được gần như mọi ebook phát triển bạn có thể sử dụng.

0

Vì bạn đã yêu cầu cụ thể về các phép biến đổi mô hình hai hướng, tôi phải nói rằng bạn không có tùy chọn. Để làm cho nó claer, thêm vào câu trả lời bạn có hình thức Ed Willink, không có ngôn ngữ chuyển đổi M2M hiện tại (AFAIK) hỗ trợ chuyển đổi mô hình hai hướng. Làm việc trên động cơ thực thi QVTr và QVTc đang bắt đầu trông có vẻ hứa hẹn nếu bạn vẫn quan tâm đến điều này: QVTd Project.

2

Nếu bạn nhấn mạnh vào việc thực hiện chuyển đổi M2M hai chiều, (gọi là Bx), thì hãy biết rằng có một cộng đồng nghiên cứu đang hoạt động đang cập nhật wiki đó: http://bx-community.wikidot.com. Nếu bạn truy cập vào nó, bạn sẽ thấy rằng họ liệt kê một loạt các công cụ thích hợp cho các biến đổi Bx http://bx-community.wikidot.com/relatedtools.

Tôi đã sử dụng ECHO trong quá khứ, cung cấp khả năng thực thi QVT-R dựa trên bộ giải nén hạn chế KodKod.

Chắc chắn là đáng để thử.

Các vấn đề liên quan