Cú pháp trừu tƣợng

Một phần của tài liệu Ngôn ngữ mô hình hóa cho các yêu cầu bảo mật (Trang 40)

Sau khi nghiên cứu miền bảo mật theo mô hình RBAC, chúng tôi đã xác định đƣợc metamodel và các luật ràng buộc trên metamodel. Tiếp theo chúng tôi đã cài đặt thử nghiệm cú pháp trừu tƣợng cho DSML bằng dự án EMF của Eclipse. Các thành phần tạo ra trong dự án EMF gồm: hai mô hình Ecore và genmodel, và mã nguồn của mô hình là EMF.model, EMF.edit, EMF.editor. Dƣới đây là các mô hình, mã nguồn đƣợc tạo ra trong dự án xây dựng DSML cho RBAC.

a) Mô hình ecore

Để xây dựng mô hình Ecore, chúng tôi đã sử dụng mô hình Ecore diagram để xây dựng. Với mô hình Ecore diagram cho phép chúng ta xây dựng Metamodel một cách trực quan bằng các, thao tác kéo thả. Khi tạo ra một mô hình ecore diagram thì sẽ tạo ra một mô hình Ecore tƣơng ứng. Kết quả thu đƣợc hai mô hình ecorediag và ecore của dự án RBAC nhƣ trong hình 3.1.

41

Hình 3.1. Mô hình RBAC.ecorediag

EMF đã cung cấp một công cụ cho phép tạo mô hình ecrore một cách trực qua bằng thao tác kéo thả, đó là công cụ Ecorediagram, khi đó để tạo ra mô hình ecore thay vì phải sử dụng các khái niệm trừu tƣợng của mô hình ecore ngƣời dùng có thể sử dụng các ký hiệu trực quan trong thanh công cụ của Ecorediagram, trong hình trên là các đối tƣợng trong metamodel đã đƣợc xây dựng một cách trực quan trong mô hình RBAC.ecorediag. Khi đó sẽ có một mô hình RBAC.ecore đƣợc tạo ra tƣơng ứng với mô hình RBAC.ecorediag nhƣ hình dƣới đây:

42

Hình 3.2. Mô hình RBAC.ecore

b) Mô hình genmodel

Sau khi xây dựng mô hình Ecore, bƣớc tiếp theo trong dự án EMF tạo ra mô hình genmodel từ mô hình ecore. Mô hình genmodel đƣợc sinh ra từ mô hình ecore đƣợc bổ sung thêm các thông tin cho EMF.model, EMF.edit, EMF.editor, EMF.test. Mô hình RBAC.genmodel nhƣ hình dƣới đây:

43

Hình 3.3. Mô hình RBAC.genmodel

Hình trên cho thấy trong mô hình genmodel các thông tin về các thành phần sinh từ mô hình này, sẽ đƣợc xác định trong các thuộc tính.

c) Mã nguồn của mô hình (EMF.Model)

Mã nguồn của mô hình đƣợc tạo ra từ mô hình genmodel nhờ bộ Generator của dự án EMF. Mã nguồn của metamodel của dự án EMF RBAC gồm có 3 package:

44

khái niệm trong metamodel, và khai báo các enum, interface của Factory, Package. - rbac.impl: Gồm các tệp java của các lớp triển khai các interface đƣợc khai báo trong gói RBAC.

- rbac.util: gồm hai tệp tƣơng ứng với hai lớp RbacAdapterFactory.java và RbacSwitch.java.

Hình 3.4. Mã nguồn của mô hình tự động sinh từ mô hình RBAC.genmodel

d) Các thành phần của EMF.Edit, và EMF.Editor.

Mã nguồn của các thành phần này cũng đƣợc tự động sinh ra từ genmodel nhờ bộ Generator của dự án EMF.

45

Hình 3.5. RBAC.edit và RBAC.Editor được sinh ra từ genmodel

Một phần của tài liệu Ngôn ngữ mô hình hóa cho các yêu cầu bảo mật (Trang 40)

Tải bản đầy đủ (PDF)

(69 trang)