1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Tìm hiểu hỗ trợ của USE về định nghĩa các metamodel và các ràng buộc OCL để đảm bảo tính đúng đắn (wellformedness) của các mô hình

26 10 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 26
Dung lượng 2 MB

Nội dung

Nhóm BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CƠNG NGHỆ -ĐHQGHN KHOA :CNTT BÁO CÁO Mơn học vấn đề đại CNPM Đề Bài: Tìm hiểu hỗ trợ USE định nghĩa metamodel ràng buộc OCL để đảm bảo tính đắn (wellformedness) mơ hình Giáo viên: o Ts Đặng Đức Hạnh o Ts Vũ Diệu Hương Nhóm thực hiện: nhóm 2: o Nghiêm Ngọc Quyết o Nguyễn Minh Tiến LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Nhóm Phân cơng cơng việc:  Nghiêm Ngọc Quyết tìm hiểu Metamodel hỗ trợ USE metamodel  Nguyễn Minh tiến tìm hiểu ràng buộc OCL để đảm bảo tính đắn mơ hình LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Nhóm MỤC LỤC A, ĐẶT VẤN ĐỀ B, NỘI DUNG .4 Chương 1: Tổng Quan Metamodel OCL 1.1Tổng quan Metamodel: .4 1.1.2 Metamodel model: 1.2, Tổng quan OCL- Object Constraint Language: 1.2.1 OCL gì: 1.2.2 Cú pháp OCL: .9 Chương 2: Hỗ trợ USE UML metamodel OCL 12 (lấy UMLcore13 USE làm ví dụ) 12 2.1 UML metamodel: 12 2.2 ràng buộc OCL: 18 2.3 Một số ví dụ ràng buộc OCL Metamodel: 21 Tài liệu tham khảo: 25 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Nhóm A, ĐẶT VẤN ĐỀ UML ngơn ngữ mơ hình hóa thống nhất, biểu diễn đối tượng kí hiệu trực quan Nhưng UML có nhược điểm khơng thể hết khía cạnh hệ thống Vì người ta phải dùng thêm OCL để mô tả ràng buộc cho đối tượng mơ hình UML USE hệ thống đặc tả hệ thống thông tin Nó sử dụng để kiểm tra tính đắn mơ hình UML ràng buộc OCL Để làm điều USE sử dụng cấu trúc UML metamodel ràng buộc OCL để kiểm tra tính đắn mơ hình UML Sau chúng e xin trình bày chủ đề :“Hỗ trợ USE định nghĩa metamodel ràng buộc để đảm bảo tính đắn (wellformedness) mơ hình” Cụ thể chúng em làm UML metamodel(UMLcore1.3) B, NỘI DUNG Chương 1: Tổng Quan Metamodel OCL 1.1Tổng quan Metamodel: 1.1.1, Mơ hình metamodeling tầng: Mơ hình metamodeling dựa ngun lý sử dụng ngơn ngữ mơ hình hóa để mơ tả hệ thống cấp độ khác Nó gồm có tầng:  Tầng metametamodel(M3)  Tầng metamodel (M2)  Tầng model(M1)  Tầng instance(M0) LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Nhóm Hình Mơ hình Modeling Trên đỉnh kiến trúc metamodeling meta-metamodel Nó framework ngôn ngữ tự định nghĩa, trừu tượng để đặc tả, xây dựng quản lý metamodel trung lập với kỹ thuật Nó tảng để xác định ngơn ngữ mơ hình hóa UML chí thân Mục tiêu cấu trúc bốn tầng với meta-metamodel chung nhằm hỗ trợ nhiều metamodel model, nhằm cho phép khả mở rộng, tích hợp quản lý model metamodel chung Mọi metamodel, tiêu chuẩn tùy chỉnh (do người sử dụng định nghĩa), xác định metametamodel đặt tầng M2 Một số UML, ngơn ngữ mơ hình đồ họa cho việc đặc tả hệ thống phần mềm Với UML profile, khái niệm UML (Class, Association, v.v.) mở rộng với khái niệm (stereotype) thích nghi với nhu cầu mơ hình hóa cụ thể Các mơ hình giới thực, biểu diễn khái niệm định nghĩa metamodel tương ứng tầng M2 (ví dụ metamodel UML) nằm tầng M1 Cuối cùng, tầng M0, thứ từ giới thực mơ hình hóa tầng M1 Ví dụ như: MOF Class (tại tầng M3) dùng để định nghĩa khái niệm UML Class (M2), UML Class dùng để xác định khái niệm Person (M1), Tom, Dick Harry (UML Objects) biểu diễn cho thực tế (M0) LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Nhóm 1.1.2 Metamodel model: UML bao gồm UML metamodel UML model UML metamodel giữ chức định nghĩa thành tố cú pháp UML UML model mô tả ký hiệu thành tố lược đồ dựa UML metamodel Model mô tả đặc tả hệ thống mơi trường theo ngữ cảnh Model thường thể kết hợp hình vẽ (drawing) chữ (text) Text ngơn ngữ mơ hình hóa (modeling language) ngơn ngữ tự nhiên (natural language) UML model sử dụng phần tử mơ hình (phần từ cấu trúc, phần tử hành vi, phần tử nhóm gộp, phần tử thích)và qui tắc liên kết phần tử mơ hình lại để mơ hình hóa hệ thống UML model thường miêu tả hệ thống theo hướng đối tượng (object) Hình Định nghĩa Model [Jean Bézivin, Introduction to Model Engineering] Meta Model định nghĩa cú pháp (syntax) ngữ nghĩa (semantic) Model UML metamodel cung cấp nhìn chặt trẽ cú pháp ngữ nghĩa UML Nó giải thích tất khái niệm UML model mơ hình(coi khái niệm class) Ví dụ: Class Attribute, class Operation, class Association…… Hình Định nghĩa Meta Model [Jean Bézivin, Introduction to Model Engineering] LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Nhóm Hình Metamodel UML  Ví dụ UML model UML metamodel tương ứng: Hình 5.UML model LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Nhóm Hình 6.UML metamodel 1.2, Tổng quan OCL- Object Constraint Language: 1.2.1 OCL gì: Trong trình phát triển phần mềm người ta nhận rằng, với hệ thống ký hiệu trực quan UML hết khía cạnh hệ thống phần mềm Chính thế, OCL xây dựng phát triển với mục đích bổ sung cho đặc tả UML trở nên rõ ràng xác Và OCL trở thành chuẩn ngôn ngữ đặc tả cho biểu đồ UML thực tế OCL sử dụng để:  Mô tả bất biến lớp bên mơ hình lớp  Mơ tả tiều điều kiện hậu điều kiện cho phương thức  Đặc tả ràng buộc thuộc tính lớp phương thức LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Nhóm Hình Ví dụ OCL 1.2.2 Cú pháp OCL:  Khai báo ngữ cảnh: OCL ngôn ngữ hình thức, chúng biểu diễn dạng biểu thức.Biểu thức OCL dùng để đặc tả cho UML luôn phải gắn liền với đối tượng mô hình UML Do trước tiến hành biểu diễn biểu thức OCL phải khai báo ngữ cảnh mà biểu thức OCL tham gia Cú pháp khai báo ngữ cảnh : Khai báo ngữ cảnh khóa context tiếp đến tên ngữ cảnh Ví dụ khai báo ngữ cảnh có tên Person: context Person Từ khóa seft Biểu thức OCL đặt ngữ cảnh cụ thể, để thể đối tượng ngữ cảnh sử dụng từ khóa seft  Khai báo bất biến – invariant: LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Nhóm Một ràng buộc bất biến ràng buộc liên kết tới lớp cụ thể ngữ cảnh cụ thể Mục đích ràng buộc bất biến rõ bất biến khía cạnh lớp Một ràng buộc bất biến chứa biểu thức OCL Biểu thức phải cho thể phân loại lớp thời điểm Chỉ thể thực thi phép tốn khơng cần đánh gía biểu thức Cú pháp khai báo bất biến: Khai báo bất biến bắt đầu với từ khóa inv, tiếp đến tên bất biến Ví dụ : context Company khai báo ngữ cảnh có tên Company inv : seft numberOfEmployees > 50 Khai báo bất biến Ý nghĩa : Mọi thể đối tượng Company phải thỏa mãn ràng buộc numberOfEmployees > 50 thời điểm Từ khóa seft tham chiếu tới thể đối tượng Company, sử dụng toán tử “.” để tới thuộc tính numberOfEmployees đối tượng Company  Tiền điều kiện hậu điều kiện – pre & post condition: Tiền điều kiện hậu điều kiện ràng buộc liên kết tới phương thức phân loại lớp Mục đích tiền điều kiện rõ điều kiện phải có trước phương thức thực thi Tiền điều kiện chứa biểu thức OCL (trả kết Boolean) Biểu thức OCL phải đánh giá phương thức bắt đầu thực thi, việc đánh giá áp dụng cho thể thực thi phương thức.Mục đích hậu điều kiện rõ điều kiện phải có sau thực thi phương thức Hậu điều kiện biểu diễn biểu thức OCL (trả kết Boolean) Việc đánh giá biểu thức OCL thời điểm kết thúc thực thi phương thức Bên ràng buộc tiền điều kiện không sử dụng toán tử @pre bên ràng buộc hậu điều kiện sử dụng @pre để tham chiếu tới giá trị tiền điều kiện Cú pháp: context Typename::operationName(para1 : Type1, para2 : Type2, )Return Type pre: Khai báo tiền điều kiện post: Khai báo hậu điều kiện hoặc: context Typename::operationName(para1 : Type1, para2 : Type2, )Return Type pre preconditionName : Khai báo tiền điều kiện post postconditionName: Khai báo hậu điều kiện Ví dụ : LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Nhóm Chương 2: Hỗ trợ USE UML metamodel OCL (lấy UMLcore13 USE làm ví dụ) USE muốn kiểm tra tính đắn mơ hình làm theo bước sau:  Chuyển mơ hình UML dạng metamodel tương ứng  Áp dụng ràng buộc OCL để kiểm tra tính đắn UML metamodel thu đượcSử dụng số thay đổi cú pháp nhỏ cú pháp USE theo luật sau: Nếu association tên thêm tên Nếu tên trùng với từ khóa USE thêm gạch Thêm () gọi phương thức khơng có tham số Thay tất lần xuất tiềm ẩn collect lời gọi rõ ràng Thay tất lần xuất tiềm ẩn collection flattening cách sử dụng operation flatten Thay lần xuất boolen enumeration với kiểu Boolean OCL 2.1 UML metamodel: UMLCore bao gồm thành tố cốt lõi mơ tả bốn mơ hình sườn (Backbone), quan hệ (Relationships), phụ thuộc (Dependencies)và Classifiers Core giới thiệu cú pháp cho mơ hình hóa tĩnh, khơng quan tâm đến q trình vận động tương tác đối tượng giới thực 2.1.1 Mơ hình Backbone (sườn) : Page 12 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Nhóm Backbone chủ yếu định nghĩa thành tố Classifier Classifier thành tố trừu tượng đóng vai trị tổng qt hóa trực tiếp phần lớn thành tố cụ thể khác Ngoài ra, thành tố cụ thể UML định nghĩa Core bao gồm thuộc tính (attribute), phương thức (operation) cách thực phương thức (method), tham số (parameter) ràng buộc (constraint) Để phục vụ cho trình định nghĩa Classifier, UML đưa thành tố trừu tượng có vai trị tổng qt hóa (trực tiếp hay gián tiếp) Classifier Các thành tố có quan hệ với có quan hệ với Classifier mơ tả mơ hình Backbone bao gồm:  Element: thành tố trừu tượng mức cao nhất, tổng quát thành tố UML  ModelElement: thành tố định danh mơ hình tổng qt hóa cấp cao thứ cho thành tố sau Element ModelElement thành tố xác định theo tên Page 13 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Nhóm  Namespace: tập hợp thành tố ModelElement với điều kiện định danh ModelElement Namespace  GeneralizableElement: thành tố tham gia vào quan hệ tổng quát hóa Một GeneralizableElement tổng quát hóa GeneralizableElement khác  Feature: mơ tả đặc tính Classifier chủ yếu tầm vực(visibility) đặc tính Tầm vực xác định đặc tính Classifier tham chiếu đền Classifier khác hay sử dụng Classifier chứa đặc tính  StructuralFeature: thừa kế từ Fearture, StructuralFeature mơ tả đặc tính mặt cấu trúc Classifier, mô tả cấu trúc thay đổi hay cố định qua thuộc tính changeability StructuralFeature StructualFeature có đặc biệt hóa thuộc tính (Attribute)  BehavioralFeature: Được kế thừa từ Feature biểu diễn đặc tính mặt hành vi Classifier đồng thời mơ tả đặc tính hành vi có ảnh hưởng lên trạng thái Classifier hay khơng qua thuộc tính isQuery BehavioralFeature gồm hai đặc biệt hóa phương thức (Operation) Method Attribute (thuộc tính) : Attribute mơ tả giá trị mà Classifier sử dụng để thể trạng thái  Operation (phương thức) : Operation phương thức yêu cầu từ Classifier chứa Operation để tác động lên Classifier Operation có quan hệ kết hợp (association) với tham số (parameter) nghĩa Operation sử dụng tập tham số để khởi đầu cho việc thi hành Một Operation kế thừa từ Operation khác  Method (mô tả phương thức) : Method có quan hệ kết hợp với phương thức (Operation) mô tả cụ thể cách thức thực phương thức bao gồm quy trình thuật tốn Method có tác động đến kết phương thức  Parameter (tham số) : Parameter tham số thay đổi, gởi nhận Một Parameter bao gồm tên, kiểu liệu quan hệ với thành tố khác giao tiếp với Parameter sử dụng mô tả phương thức (Operation), mẫu (Templates) Page 14 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Nhóm  Constraint (ràng buộc) : Constraint điều kiện mặt ngữ nghĩa hay giới hạn cho thành tố, diễn tả dạng văn hay biểu thức logic ngơn ngữ mơ tả ràng buộc Ngồi việc định nghĩa thành tố ràng buộc Constraint, UML định nghĩa ngôn ngữ cho mô tả ràng buộc ngôn ngữ ràng buộc đối tượng (Object Constraint Language) Giữa Classifier có quan hệ tổng quát hóa Do Classifier thành tố trừu tượng nên tất thành tố thừa kế Classifier có tính chất 2.1.2 Mơ hình Relationships (các quan hệ) : Mơ hình Relationships định nghĩa quan hệ thành tố UML bao gồm hai loại quan hệ quan hệ tổng quát hóa (generalization), quan hệ kết hợp (association) Quan hệ tổng quát hóa (generalization) liên hệ hai thành tố đặc biệt tổng quát Định nghĩa quan hệ kết hợp (Association) Classifier tham gia vào mối kết hợp (AssociationEnd)  GeneralizationElement(phần tử tổng quát hóa): kế thừa lớp Classifier Các đối tượng thuộc lớp tham gia vào q trình tổng qt hóa Thành tố đặc biệt Page 15 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Nhóm gọi thành tố (child) thành tố tổng quát thành tố cha (parent) Thành tố tham gia vào quan hệ tổng quát hóa Thành tố cha tham gia vào quan hệ tổng quát hóa  Association: quan hệ kết hợp Classifier với  AssociationEnd: vai trò Classifier mối quan hệ  AssociationClass: lớp kế thừa Class, sinh để làm rõ ý nghĩa quan hệ kết hợp 2.1.3 Mô hình Classifiers (các đặc biệt hóa classifiers) : Mơ hình Classifiers mơ tả đặc biệt hóa Classifier bao gồm thành tố lớp (Class), giao diện (Interface), kiều liệu (DataType), nút (Node) thành phần (Component) Component bao gồm nhiều thành ModelElement  Class: tập hợp đối tượng có thuộc tính, hành động ngữ nghĩa  Interface: tập phương thức (operation) Classifier Mỗi Interface cung cấp dịch vụ Classifier bao gồm nhóm operation có quan hệ với Interface Mỗi Classifier cung cấp nhiều dịch vụ khác qua Interface khác  DataType: mô tả kiểu liệu người sử dụng Page 16 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Nhóm  Node: thành tố đại diện cho tài nguyên vật lý có nhớ khả xử lý tính tốn  Component: phần riêng biệt mức vật lý hệ thống Component đóng gói phương thức xử lý cung cấp tập dịch vụ xử lý qua tập giao diện (interface)khác Mỗi giao diện bao gồm nhiều phương thức khác để phục vụ cho mục đích cụ thể Các phương thức đoạn mã thi hành được, script hay lệnh Một component thường cung cấp nhiều loại dịch vụ khác liên quan đến đối tượng cụ thể 2.1.4 Mơ hình Dependencies (các quan hệ phụ thuộc) :  Dependency: mô tả phụ thuộc chức hai thành phần cho thành phần nhận Thành phần cho đóng vai trị cung cấp dịch vụ cho thành phần nhận Dependency định nghĩa phụ thuộc hai thành tố ModelElement nên tất thành tố cụ thể thừa kế ModelElement có quan hệ phụ thuộc  Binding: định nghĩa quan hệ mẫu (Template) thành phần cho Dependency với thành phần tạo từ Template thành phần nhận Dependency Binding bao gồm đối số phù hợp với tham số Template  Abstraction: mô tả mối liên hệ thành tố mức trừu tượng hóa khác Ví dụ chuyển khái niệm mức phân tích sang mức thiết kế quan hệ Abstraction Page 17 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Nhóm  Permisson: cung cấp quyền hạn cho thành tố không gian thành tố (Namespace) tham chiếu thành tố khác Namespace Thành tố nhận ModelElement thành tố cho bắt buộc Namespace Usage quan hệ thành tố ModelElement có sử dụng phương thức thành tố ModelElement khác 2.2 ràng buộc OCL:  Ngữ cảnh Association:  Vai trò Classifier(AssociationEnd) phải có tên quan hệ liên kết(Association)  Nhiều có AssociationEnd tập hợp  Nếu quan hệ liên kết(Association) có hay nhiều AssociationEnd khơng có AssociationEnd tập hợp thành phần  Các Classifier ứng với AssociationEnd tham gia kết nối phải nằm không gian tên quan hệ liên kết(Association)  Ngữ cảnh AssociationClass:  Tên AssociationEnds không trùng  AssociationClass định nghĩa khác  Ngữ cảnh AssociationEnd:  Classifier tương ứng với AssociationEnd Interface DataType hướng Association tới kết thúc  An Instance may not belong by composition to more than one composite Instance  Ngữ cảnh BehavioralFeature:  Tất tham số phải có tên  Các loại tham số phải nằm không gian tên Classifier  Ngữ cảnh Binding: Page 18 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Nhóm  Đối số ModelElement phải phù hợp, loại với tham số ModelElement tương ứng  A Binding has one client and one supplier  Một ModelElement tham gia vào nhiều Binding vai trò client  Ngữ cảnh Class:  Trong class cụ thể, phương thức phải miêu tả memod miêu tả đầy đủ  Một lớp chứa Classes, Associations, Generalizations, UseCases, Constraints, Dependencies, Collaborations, DataTypes, and Interfaces không gian tên  Ngữ cảnh Classifier:  Khơng có BehavioralFeature loại giống chữ kí Classifier  Khơng có thuộc tính có tên giống Classifier  Khơng có AssociationEnd có tên giống Classifier  Tên thuộc tính khơng thể giống tên AssociationEnd tên ModelElement Classifier  Với Operation đặc tả thực Classifier, Classifier phải có hoạt động phù hợp  All of the generalizations in the range of a powertype have the same discriminator  Phân biệt tên phải khác tên thuộc tính tên AssociationEnd đối diện  Ngữ cảnh Component:  Một thành phần chứa thành phần khác  Một thành phần chứa DataTypes, Interfaces, Classes,Associations, Dependencies, Constraints, Signals, DataValues and Objects  Ngữ cảnh Constraint  Không thể áp dụng Constraint cho  Ngữ cảnh DataType: Page 19 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Nhóm  DataType chứa Operations, tất phải truy vấn  Một DataType chứa ModelElement khác  Ngữ cảnh GeneralizableElement:     Phần tử root thành phần (Generalizations) Phần tử cha phần tử Khơng phép kế thừa vịng trịn Phần tử cha phải bao gồm khơng gian tên GeneralizableElement  Ngữ cảnh Interface: Một Interface chứa Operation Một Interface khơng thể chứa ModelEthement Tất tình (Features) định nghĩa Interface phải public (công khai)  Ngữ cảnh Method:     Nếu Opetation truy vấn sau phải nêu Method Chữ kí Method tương ứng với chữ kí Operation tương ứng với Khả hiển thị Method tương ứng với Opetation tương ứng với Các Operation thực phải tính có kế thừa Classifier giống phương pháp  Ngữ cảnh Namespace:  Nếu yếu tố Association Generalization tên phải khơng gian tên  Tất Association phải có kết hợp tên Classifier tương ứng không gian tên  Ngữ cảnh StructuralFeature:  Các loại kết nối bao gồm không gian tên chủ sở hữu Page 20 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Nhóm  Các loại StructuralFeature phải Class, DataType or Interface 2.3 Một số ví dụ ràng buộc OCL Metamodel: Các loại lỗi thường gặp mơ hình UML:  Lỗi cú pháp :sai tả từ khóa tên hoạt động tiêu chuẩn  Khơng qn:khơng có tối đa hoạt động xác định đa dạng  Gỡ lỗi kiểm tra: union với loại phần tử khơng tương thích 2.3.1Một số ràng buộc Association: Hình 10: Association  Các Association phải có tên Nhìn hình vẽ 10 ta thấy association có tên hồn tồn khác biệt o Cú pháp ràng buộc OCL: inv Association1: self.allConnections()->forAll( r1, r2 | r1.name = r2.name implies r1 = r2 )  Nhiều AssociationEnd tập thành phần o Cú pháp ràng buộc OCL: Page 21 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Nhóm inv Association2: self.allConnections()->select(ae : AssociationEnd | ae.aggregation_ #none)->size size >=3 implies self.allConnections()->forAll(ae : AssociationEnd | ae.aggregation_ = #none) 2.3.2 Một số ràng buộc Generalizations:  Một root khơng thể Generalizations tới : Hình 11 : UML metaclass Như hình root gốc rễ metaclass này, khơng có lớp cha hệ thống phân cấp phần tử UML Đây lớp cha cho tất metaclass kết cấu hạ tầng UML o Cú pháp ràng buộc OCL : inv GeneralizableElement1: self.isRoot implies self.generalization->isEmpty Page 22 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Nhóm  Ràng buộc khơng Genaralizations có Genaralization cha đến phần tử o Cú pháp ràng buộc OCL : inv GeneralizableElement2: self.parent()->forAll(s | not s.isLeaf)  Không phép thừa kế theo vịng trịn Giải sử ta có lớp A,B,C xảy trường hợp lớp A kế thừa lớp B, Lớp B kế thừa lớp C lớp C lại kế thừa lớp A o Cú pháp OCL : inv GeneralizableElement3: not self.allParents()->includes(self) 2.3.3 Một số ràng buộc Interface:  Một Interface chứa operation Trong UML class interface class chứa operation Hình 12 : Biểu đồ class diagram Page 23 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Nhóm Như hình lớp Account lớp có kiểu lớp chứa Operation mà không chứa Attributes o Cú pháp ràng buộc OCL : inv Interface1: self.allFeatures()->forAll(f | f.oclIsKindOf(Operation) ) f.oclIsKindOf(Operation) or f.oclIsKindOf(Reception)) Ngoài interface cịn khơng chứa ModelElement Ở hiểu tất Operations interface class khơng chứa nội dung Ví dụ : Trong class Account hình định nghĩa Operation : public double getBalance(); Nhưng không định nghĩa sau : public double getBalance(){ this.balance = balance; } o Cú pháp ràng buộc OCL : inv Interface2: self.allContents()->isEmpty  Tất Features định nghĩa interface phải dạng public Ví dụ hình : Tất Operation dạng public o Cú pháp ràng buộc OCL : inv Interface3: self.allFeatures()->forAll ( f | f.visibility = #public ) 2.3.4 Một số ràng buộc DataType: Page 24 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Nhóm Hình 14 : DataType DataTypes định nghĩa kiểu liệu dùng riêng UML metamodel, nghĩa thuộc tính thành tố UML metamodel có kiểu liệu DataTypes DataTypes cần thiết cho tham khảo sâu thuộc tính ý nghĩa thuộc tính thành tố UML metamodel có số ràng buộc sau :  Một DataType chứa ModelElement khác o Cú pháp ràng buộc OCL : inv DataType2: self.allContents()->isEmpty  Một DataType chứa Operations, tất phải truy vấn o Cú pháp ràng buộc OCL: inv DataType1: self.allFeatures()->forAll(f | f.oclIsKindOf(Operation) and f.oclAsType(Operation).isQuery) Tài liệu tham khảo:  http://books.google.com.vn/books?id=fBBTCrb3xCAC&pg=PA277&lpg=PA277&d q=Mark+Richters+and+Martin+Gogolla.+A+metamodel+for+OCL.+In+Robert+Fr ance+and+Bernhard+Rumpe,+editors,+Proceedings+of+the+Second+International +Conference+on+the+Unified+Modeling+Languag#v=onepage&q&f=false  http://www.uml-diagrams.org/uml-core.html Page 25 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Nhóm  http://tailieu.vn/xem-tai-lieu/luan-van-chuyen-doi-dac-ta-uml-voi-ocl-sang-dac-taalloy.1233474.html  file UMLcore13.use USE Page 26 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com ... UML metamodel ràng buộc OCL để kiểm tra tính đắn mơ hình UML Sau chúng e xin trình bày chủ đề :? ?Hỗ trợ USE định nghĩa metamodel ràng buộc để đảm bảo tính đắn (wellformedness) mơ hình? ?? Cụ thể chúng...Nhóm Phân cơng cơng việc:  Nghiêm Ngọc Quyết tìm hiểu Metamodel hỗ trợ USE metamodel  Nguyễn Minh tiến tìm hiểu ràng buộc OCL để đảm bảo tính đắn mơ hình LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com... thêm OCL để mô tả ràng buộc cho đối tượng mơ hình UML USE hệ thống đặc tả hệ thống thơng tin Nó sử dụng để kiểm tra tính đắn mơ hình UML ràng buộc OCL Để làm điều USE sử dụng cấu trúc UML metamodel

Ngày đăng: 01/11/2022, 20:08

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w