2010-11-10 48 views
5

Ký hiệu lớp UML là ký hiệu đồ họa tiêu chuẩn để mô tả các lớp và mối quan hệ của chúng.Biểu diễn văn bản cho sơ đồ lớp UML - DSL cho UML

tiêu chuẩn ký hiệu văn bản (DSL) để mô tả giống nhau không? Đừng nói XMI hoặc EMF ;-)

Tôi nghĩ bạn có thể làm điều đó với Corba IDL và sử dụng Giao diện cho các lớp học, nhưng điều này bằng cách nào đó quá nhiều ở phía Corba. Bạn có thể sử dụng Giao diện Java, nhưng đây là quá Java.

Bối cảnh câu hỏi của tôi là viết trình tạo. Tôi nghĩ rằng nó dễ dàng hơn để viết một máy phát điện dựa trên cây cú pháp của một DSL hơn để phân tích một ký pháp đồ họa. Một ký hiệu đồ họa đầu tiên phải được dịch thành một cây cú pháp (giống như bạn sẽ nhận được từ DSL tương ứng). Tôi nghĩ việc dịch ký hiệu đồ họa thành cây cú pháp khó hơn là dịch một DSL (nơi bạn có thể sử dụng ANTLR).

+0

gì bạn mong đợi để thể khác với XMI hoặc EMF? –

+1

@Doc Brown: Chỉ cần đoán, nhưng là con người có thể đọc được có thể sẽ đánh giá cao ... :-) – sfinnie

Trả lời

0

Không có ký pháp chuẩn nào cho kiến ​​thức của tôi nhưng tóm tắt các tùy chọn here.

hth.

7

Kiểm tra điều này complete list of textual notations to describe UML models. Btw, lý do để tạo một trong những công cụ này (cụ thể là TextUML) có thể tìm thấy here.

+0

Tuyệt vời, TextUML chính xác là những gì tôi đang nghĩ đến. Cảm ơn. – weberjn

+0

Bạn có thể muốn chấp nhận câu trả lời của mình sau đó. – Papipo

9

Bạn đã có câu trả lời rồi, nhưng tôi muốn làm rõ. Có ký hiệu tiêu chuẩn, được gọi là HUTN và không ai sử dụng nó.

2

Không phải ngẫu nhiên mà UML tách cú pháp trừu tượng và cụ thể.

Việc tạo mã tạo mã cho ký hiệu người dùng là một ý tưởng tồi. Các công cụ (trình tạo mã) và con người (người lập mô hình) có các nhu cầu hoàn toàn khác biệt, do đó không có cú pháp duy nhất nào có thể phục vụ cả hai đối tượng tốt. Chưa kể bạn mất khả năng áp dụng cùng trình tạo mã cho các mô hình được tạo bằng các ký hiệu khác nhau.

TextUML là một cú pháp cụ thể phù hợp với người lập mô hình. XMI là một ký hiệu tốt hơn nhiều cho các công cụ, và mô hình đối tượng UML2 làm cho nó rất dễ xử lý.

Rafael

http://abstratt.com/blog

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