CHƯƠNG 1 : PHÁT TRIỂN PHẦN MỀM HƯỚNG MÔ HÌNH
1.2. Các chuẩn của OMG cho MDA
1.2.1. MOF – Meta Object Facility
MOF là ngôn ngữ dùng để định nghĩa ngơn ngữ mơ hình. Nó cũng cung cấp các khái niệm và công cụ cho ngơn ngữ mơ hình hóa. MOF là cơng nghệ cốt lõi của MDA [51]. Nó là ngơn ngữ định nghĩa UML (và CWM), nghĩa là các UML meta-model của UML được viết bởi MOF. Vì MOF cũng định nghĩa chính nó nên nó cũng được xem như là một mơ hình (meta-meta-model).
Vai trị của MOF là cho chúng ta các khái niệm và công cụ để suy luận về ngơn ngữ mơhình. Sử dụng định nghĩa MOF của một ngơn ngữ mơ hình (meta-model lớp M2), chúng ta có thể định nghĩa chuyển đổi giữa các ngơn ngữ mơ hình. Bởi vì, chuyển đổi được định nghĩa trong thuật ngữ meta-model của ngơn ngữ mơ hình liên quan, chúng có thể được áp dụng cho bất cứ mơ hình nào (tại lớp Ml) được viết bởi một trong những ngơn ngữ đó. Nếu khơng có một ngơn ngữ chuẩn mơ tả các meta- model, chuyển đổi có thể khơng được định nghĩa đúng và phương pháp MDA sẽ rất khó để nhận biết. Như vậy, MOF là cơng nghệ lõi của MDA.
1.2.2. UML – Unified modeling Language
UML là ngơn ngữ mơ hình hố, ngơn ngữ đặc tả và ngơn ngữ xây dựng mơ hình trong q trình phát triển phần mềm, đặc biệt là trong phân tích và thiết kế hệ thống hướng đối tượng [27, 52, 53]. UML là ngơn ngữ hình thức, thống nhất và chuẩn hố mơ hình hệ thống một cách trực quan. Nghĩa là các thành phần trong mô hình được thể hiện bởi các ký hiệu đồ hoạ, biểu đồ và thể hiện đầy đủ mối quan hệ giữa chúng một cách thống nhất và có logic chặt chẽ.
Đại đa số mơ hình đang được phát triển là mơ hình UML, nó chiếm đến 90% thị phần giữa các ngơn ngữ mơ hình trên thế giới và đã trở thành tiêu chuẩn các ngơn ngữ mơ hình hóa [51]. Thực tế cũng đã chứng minh, UML là ngôn ngữ thể hiện miền vấn đề một cách tốt nhất. Ta đã biết meta-model mô tả ngôn ngữ và model được viết bởi ngôn ngữ. Vậy UML meta-model mơ tả chính xác cách mà một mơ hình UML (UML model) được xây dựng.
1.2.3. OCL (Object Constraint Language)
OCL là ngôn ngữ khai báo mô tả các quy tắc áp dụng cho các mơ hình UML được phát triển tại IBM và hiện là một phần của tiêu chuẩn UML. Ban đầu, OCL chỉ là một phần mở rộng ngơn ngữ đặc tả chính thức cho UML. OCL hiện có thể được sử dụng với bất kỳ siêu mơ hình Meta-Object nào (MOF) [54].
OCL được xây dựng và phát triển với mục đích bổ sung cho các đặc tả UML trở nên rõ ràng và chính xác hơn, các biểu thức viết trong OCL thêm các thông tin quan trọng cho các mơ hìnhvà OCL trở thành chuẩn ngơn ngữ đặc tả cho các biểu đồ trong UML trong thực tế [55, 56]. Hiện nay, OCL là một thành phần chính của khuyến nghị tiêu chuẩn OMG cho chuyển đổi mơ hình.
1.2.4. UML Profile
Một UML Profile là sự mở rộng của UML, cung cấp cơ chế mở rộng chung để xây dựng mơ hình UML trong các miền cụ thể như J2EE, .NET… Chúng dựa trên các khuôn mẫu (stereotype) và một tập các giá trị được gán nhãn (tag value)được áp dụng cho các phần tử: Attributes, Methods, Links….
Stereotype, một sự mở rộng cho từ vựng của ngôn ngữ, cho phép chúng ta gắn thêm một ngữ nghĩa mới vào phần tử của mơ hình. Stereotype có thể áp dụng (apply) cho gần như tồn bộ phần tử của mơ hình và thường được biểu diễn dưới dạng một string giữa một cặp dấu << >>. Tuy nhiên, chúng cũng có thể mơ tả bằngmột icon.
Tagged value, một sự mở rộng cho một thuộc tính của một phần tử của mơ hình, là sự địnhnghĩa một thuộc tính mới có thể kết hợp với một phần tử mơ hình. Hầu hết các phần tử của mơ hình đều có các thuộc tính kết hợp với chúng.Một tagged value được biểu diễn trong diagram dưới dạng một string.
1.2.5. CWM (Common Warehouse Metamodel)
CWM (Common Warehouse Metamodel) là một chuẩn của OMG và được áp dụng cho việc trao đổi siêu dữ liệu trong môi trường kho dữ liệu [57]. Bởi vì, kho dữ liệu là cơng nghệ kết hợp thông tin từ nhiều nguồn, nên CWM meta-model được dùng cho nhiều nguồn khác nhau [58]:
- Cơ sở dữ liệu quan hệ - Bản ghi hay cấu trúc
- OLAP (Online Analytical Processing) - XML
- Chuyển đổi (Transformations)
- Hình ảnh thơng tin (Visualization of information) - Khai phá dữ liệu (Data mining)
- Cơ sở dữ liệu đa hướng (Multidimensional databases) - Meta-data cho doanh nghiệp (Business metadata) - Quy trình xử lý kho lưu (Warehouse processes) - Hoạt động kho lưu (Warehouse operation)
CWM meta-model được mơ hình hóa bằng cách sử dụng MOF. Do đó, chúng có thể được sử dụng như nguồn hoặc đích cho chuyển đổi MDA.